Conflict: Vietnam (XBOX) STREAM.SWD

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

Hello, I need help to extract the STREAM.SWD archive from Conflict: Vietnam (XBOX) which contains PSF segments.

Any help to extract this please?

https://mega.nz/#!Cp8FyLhI!8eXyVwNF3KnD ... 3nvfiNYSK0

Thanks in advance.

Edit: This issue is solved.

Solution: Download Foobar2000 and install it. Once it's done, look for the vgmstream plugin, install it and make sure it's active. Then, simply drag and drop the STREAM.SWD onto Foobar2000 and it'll split the files which are inside. You'll be able to play them without problem.
Last edited by Mygoshi on Wed May 06, 2020 6:22 pm, edited 3 times in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by aluigi »

That's just a container because there are no information at the end of the file.
Is there an index file?
Worst case scenario we can make a lame PSF dumper.
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

Here are all the files I found in the same directory that have small size: https://mega.nz/#!v4EjhYpR!PtU1HC5MQNRY ... p3nPXKlMvE
Last edited by Mygoshi on Wed Feb 17, 2021 5:20 pm, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by aluigi »

Better to go with a dumper:

Code: Select all

findloc OFFSET binary "PSF"
do
    goto OFFSET
    get DUMMY long
    findloc NEXT_OFFSET binary "PSF" 0 ""
    if NEXT_OFFSET == ""
        get SIZE asize
    else
        math SIZE = NEXT_OFFSET
    endif
    math SIZE -= OFFSET
    log "" OFFSET SIZE
    math OFFSET = NEXT_OFFSET
while NEXT_OFFSET != ""
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

Thank you very much, aluigi! I'm going to try it when I can.
Last edited by Mygoshi on Wed Feb 17, 2021 5:22 pm, edited 2 times in total.
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

It extracted the segments perfectly. Thx again.
Last edited by Mygoshi on Wed Feb 17, 2021 5:22 pm, edited 2 times in total.
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

I found SCH files which could help understanding the SWD format better to write a proper script, avoiding the dumper.

Here they are: (expired)
Last edited by Mygoshi on Wed Feb 17, 2021 5:42 pm, edited 2 times in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by aluigi »

I don't think that the sch files are referred to the swd container, didn't check, just supposing since they are probably just "referring" to the psf files and not indexing them.
Anyway if the dumper works, what else?
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

In fact, the music is sequenced. There are +8000 files extracted, that would be too long to listen to each file and to know which segment is related to a certain music etc. I already did it with a lot of other games, and I think it's a complicated way to reconstruct music. Otherwise, yes, the dumper works, thank you. Is there a possibility to sort the filenames as decimal please? Maybe it would help me to extract them in order.
Last edited by Mygoshi on Sat Jan 12, 2019 1:33 pm, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by aluigi »

8000? wow!
You can use the -N option for decimal filenames.
Maybe the index is located in the game executable, sometimes it happens but honestly I would like to avoid to check this type of stuff.
If you want to try check in the exe and if you need some "constants" to search use the offset of the last PSF file and if you don't find it use its value divided by 0x800.
For example the last psf is at offset 0x34b7c800 so the second number to search for recognizing the index/TOC is 0x000696f9.
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

Thank you for the information. I think the better solution here is to check the other platforms. PC will be the same I think, so I'm gonna check PS2. I'm pretty sure PS2 also uses a big SWD container, but maybe something like an index file is in the directory. We can't know at the moment.
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

Ok, PC version has SoundPC folder that appears directly. No Stream.swd.
Mygoshi
Posts: 654
Joined: Mon Oct 27, 2014 1:49 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by Mygoshi »

Problem solved. PC version has direct PSF and they are supported by the "great_escape.bms" script.
KaosEngineer
Posts: 2
Joined: Thu May 31, 2018 8:33 am

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by KaosEngineer »

aluigi wrote:Better to go with a dumper:

Code: Select all

findloc OFFSET binary "PSF"
do
    goto OFFSET
    get DUMMY long
    findloc NEXT_OFFSET binary "PSF" 0 ""
    if NEXT_OFFSET == ""
        get SIZE asize
    else
        math SIZE = NEXT_OFFSET
    endif
    math SIZE -= OFFSET
    log "" OFFSET SIZE
    math OFFSET = NEXT_OFFSET
while NEXT_OFFSET != ""

What computer language is this in?

has someone implemented such a dumper?

What are PSF files? First time looking into decoding Conflict: Vietname (Xbox) data.

Also, looking for the graphics to edit the displayed names on the 4 game character status bars.
Last edited by KaosEngineer on Thu May 31, 2018 8:43 am, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by aluigi »

It's a script for QuickBMS:
http://quickbms.aluigi.org
KaosEngineer
Posts: 2
Joined: Thu May 31, 2018 8:33 am

Re: Conflict: Vietnam (XBOX) STREAM.SWD

Post by KaosEngineer »

aluigi wrote:It's a script for QuickBMS:
http://quickbms.aluigi.org

I see now. I entered this site on this thread looking for info on Conflict: Vietnam.

Thanks for the quick reply.