READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

Summoner 2 (PS2) *.VPP

The Original Forum. Game archives, full of resources. How to open them? Get help here.
GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Summoner 2 (PS2) *.VPP

Post by GenericRipper » Wed Aug 07, 2019 9:19 am

Hi fellow rippers (and anyone else who'd like to help me out), may I ask you to look into samples of Volition VPP archives (mirror)? They're from Summoner 2, a PS2 exclusive title, and the newest rfguerrilla.bms can't handle them: QuickBMS reports "divide by zero" on every *.VPP file.
Goodbye and thanks in advance!

PS. I also tried Game Extractor & Novasoft Extractor (both can open Red Faction 1 (PC ver.) VPPs but not these) then gibbed.volition_1.0.0 pack but still nothing.

User avatar
DKDave
veteran
Posts: 112
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Summoner 2 (PS2) *.VPP

Post by DKDave » Wed Aug 07, 2019 5:49 pm

Try this script - it should do the job!


# Summoner PS2 VPP extract

ComType zlib_noerror

Goto 0x3c
Get ENTRIES Long

Goto 0x4C
Get DATA_SIZE1 Long
Get DATA_SIZE2 Long

PutVarChr MEMORY_FILE DATA_SIZE2 0
Log MEMORY_FILE 0 0
CLog MEMORY_FILE 0x1800 DATA_SIZE1 DATA_SIZE2

Set FILE_ENTRIES 0x800
Set FILE_NAMES 0x1000

For A = 1 to ENTRIES

Goto FILE_ENTRIES

Get FNAME_OFF Long
Get OFFSET Long
Get JUNK Long
Get SIZE Long

Math FNAME_OFF + FILE_NAMES
Goto FNAME_OFF
Get FILENAME String

Log FILENAME OFFSET SIZE -1

Math FILE_ENTRIES + 0x1C

Next A
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Re: Summoner 2 (PS2) *.VPP

Post by GenericRipper » Thu Aug 08, 2019 12:06 pm

I don't know, I get this error on both MUSIC.VPP & SOUNDS.VPP and nothing is extracted.
BTW what ver. of quickbms.exe do you use?
Bye!
You do not have the required permissions to view the files attached to this post.

User avatar
DKDave
veteran
Posts: 112
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Summoner 2 (PS2) *.VPP

Post by DKDave » Thu Aug 08, 2019 5:13 pm

Hi.

I have the same version of QuicmBKS as you, but I've just noticed what the issue is. I was only looking at one of the other files (which are compressed), and not the MUSIC file, so I wasn't accounting for uncompressed archives, which store the info slightly differently.

Hopefully this script should work correctly now for all those VPP archives. I couldn't test it properly on MUSIC as I only have a partial file, so please let me know if it still doesn't work.


# Summoner VPP extract

ComType zlib_noerror

Goto 0x3c
Get ENTRIES Long

Goto 0x4C
Get DATA_SIZE1 Long
Get DATA_SIZE2 Long

If DATA_SIZE1 <> 0xFFFFFFFF
PutVarChr MEMORY_FILE DATA_SIZE2 0
Log MEMORY_FILE 0 0
CLog MEMORY_FILE 0x1800 DATA_SIZE1 DATA_SIZE2
Endif

Set FILE_ENTRIES 0x800
Set FILE_NAMES 0x1000
Set OFFSET2 0x1800

For A = 1 to ENTRIES

Goto FILE_ENTRIES

Get FNAME_OFF Long
Get OFFSET Long
Get JUNK Long
Get SIZE Long

Math FNAME_OFF + FILE_NAMES
Goto FNAME_OFF
Get FILENAME String

If DATA_SIZE1 <> 0xFFFFFFFF
Log FILENAME OFFSET SIZE -1
Else
Log FILENAME OFFSET2 SIZE 0
Math OFFSET2 + SIZE
Endif

Math FILE_ENTRIES + 0x1C

Next A
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Re: Summoner 2 (PS2) *.VPP

Post by GenericRipper » Fri Aug 09, 2019 11:36 am

Well it seems to unpack MUSIC.VPP but not SOUNDS.VPP; to be precise it (QuickBMS.exe) extracts some files out of SOUNDS.VPP but they all have names like 0000001b.dat or 00000003.ia_, sometimes the program even makes me type in file names (WTH?!).
Maybe you'd like to try working with complete SOUNDS.VPP? It's 126 МBs but I hope it's not such a bother to download a file of this size these days. Am I right?
So long!

User avatar
DKDave
veteran
Posts: 112
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Summoner 2 (PS2) *.VPP

Post by DKDave » Fri Aug 09, 2019 4:44 pm

Yes, I should be able to use that whole SOUNDS file, no problem. It sounds like they've messed with the format for different types of files, so what works for one doesn't necessarily work for others. But if you can upload the complete file it would be useful.
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Re: Summoner 2 (PS2) *.VPP

Post by GenericRipper » Fri Aug 09, 2019 5:39 pm

Here you can get both untouched archives, I included MUSIC.VPP because I'm not so sure that extraction of it went smoothly either: I can't find correct interleave value for lots of tracks & many of those can't even be played as PS2 ADPCM (can be another codec but it's still rather unlikely).
Thanks in advance & good luck!

User avatar
DKDave
veteran
Posts: 112
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Summoner 2 (PS2) *.VPP

Post by DKDave » Fri Aug 09, 2019 6:28 pm

Thanks. Those full files helped. I think I've cracked it this time. Third time lucky, hopefully. I was making assumptions about the format that were wrong. Compressed and uncompressed archives are treated slightly differently. The uncompressed ones are aligned on an 0x800 byte boundary, which I needed to take account of to get the data extracted from the correct offset.

The extracted MUSIC files (*.vmu) have 12 bytes of data before the PS ADPCM data. I assume this is some information about the file (sample rate, channels). I'm not sure exactly how that info is stored, but the music seems to be stereo, 22,050 Hz, Interleave 0x4000.

The SOUNDS files (*.vse) have no additional data at the start and are PS ADPCM, mono, 22,050 Hz. There are over 4,000 of them so I haven't checked them all.

So, fingers crossed this will work correctly for you now!


# Summoner 2 VPP extract

ComType zlib_noerror

Goto 0x3c
Get ENTRIES Long

Goto 0x44
Get TABLE1_SIZE Long
Get TABLE2_SIZE Long
Set MOD1_VALUE TABLE1_SIZE
Math MOD1_VALUE % 0x800
Set MOD2_VALUE TABLE2_SIZE
Math MOD2_VALUE % 0x800

Goto 0x4C
Get DATA_SIZE1 Long
Get DATA_SIZE2 Long

If DATA_SIZE1 <> 0xFFFFFFFF
PutVarChr MEMORY_FILE DATA_SIZE2 0
Log MEMORY_FILE 0 0
CLog MEMORY_FILE 0x1800 DATA_SIZE1 DATA_SIZE2
Endif

Set FILE_ENTRIES 0x800
Set FILE_NAMES FILE_ENTRIES
Math FILE_NAMES + TABLE1_SIZE

If MOD1_VALUE > 0
XMath FILE_NAMES "FILE_NAMES + 0x800 - MOD1_VALUE"
Endif

Set OFFSET2 FILE_NAMES
Math OFFSET2 + TABLE2_SIZE

If MOD2_VALUE > 0
XMath OFFSET2 "OFFSET2 + 0x800 - MOD2_VALUE"
Endif


For A = 1 to ENTRIES

Goto FILE_ENTRIES

Get FNAME_OFF Long
Get OFFSET Long
Get JUNK Long
Get SIZE Long

Math FNAME_OFF + FILE_NAMES
Goto FNAME_OFF
Get FILENAME String

If DATA_SIZE1 <> 0xFFFFFFFF
Log FILENAME OFFSET SIZE -1
Else
Log FILENAME OFFSET2 SIZE 0
Math OFFSET2 + SIZE
XMath MOD3_VALUE "OFFSET2 % 0x800"

If MOD3_VALUE > 0
XMath OFFSET2 "OFFSET2 + 0x800 - MOD3_VALUE"
Endif
Endif

Math FILE_ENTRIES + 0x1C

Next A
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Re: Summoner 2 (PS2) *.VPP

Post by GenericRipper » Sat Aug 10, 2019 2:28 pm

I can't thank you enough man, all BGMs & CS tracks work now (basically everything from MUSIC.VPP) but unfortunately I'm having some difficulties playing a few *.VSE files (musician_*.VSE or odoni_pet_music*.VSE to name some of those). If you looked into them I'd highly appreciate it!
All the best!

User avatar
DKDave
veteran
Posts: 112
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Summoner 2 (PS2) *.VPP

Post by DKDave » Sat Aug 10, 2019 2:43 pm

No problem!

I've just used my BMS script on the SOUNDS archive. The musician_*.vse files play perfectly for me as mono, 22050 Hz, PS ADPCM. I used GENH to test them and they all worked ok. An example attached of both the .vse and the GENH version I created, so you can compare the original file with what you get from the script (although it should be identical).
You do not have the required permissions to view the files attached to this post.
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Re: Summoner 2 (PS2) *.VPP

Post by GenericRipper » Sun Aug 11, 2019 12:44 pm

Nevermind, I've got it all sorted out and it was just a stupid mistake on my end while I was working with those *.vse files; they play perfectly for me now.
Thanks nonetheless & bye!

41hc1
beginner
Posts: 35
Joined: Fri Jul 19, 2013 10:48 pm
Has thanked: 2 times

Re: Summoner 2 (PS2) *.VPP

Post by 41hc1 » Sun Sep 01, 2019 2:45 am

The Punisher also uses these formats, but this doesn't seem to work for it.
http://www.mediafire.com/file/ebano4qms ... E.zip/file

User avatar
DKDave
veteran
Posts: 112
Joined: Mon May 06, 2019 6:07 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Summoner 2 (PS2) *.VPP

Post by DKDave » Sun Sep 01, 2019 11:25 am

That Punisher VPP archive is a slightly different (and simpler) format, so you'll need a different script. Try this one.

All of the files seem to be mono, 22050 Hz, PSX audio.


# Punisher (PS2) - VPP extract
# By Dave

Goto 0x0008
Get ENTRIES Long
Goto 0x0010
Get FILE_TABLE Long

XMath DATA_START "(ENTRIES * 0x20) + 0x800"
XMath REMAINDER "DATA_START % 0x800"

If REMAINDER > 0
XMath DATA_START "DATA_START + 0x800 - REMAINDER"
Endif

For A = 1 to ENTRIES

Goto FILE_TABLE
GetDString FILENAME 0x18
Get SIZE1 Long
Get SIZE2 Long

Log FILENAME DATA_START SIZE1

Math DATA_START + SIZE1
XMath REMAINDER "DATA_START % 0x800"
If REMAINDER > 0
XMath DATA_START "DATA_START + 0x800 - REMAINDER"
Endif

Math FILE_TABLE + 0x20

Next A
"Each person is born with their fate written into their own genetic code. It's unchangeable, immutable. But that's not all there is to life." - Dr. Naomi Hunter

GenericRipper
advanced
Posts: 46
Joined: Sun Mar 21, 2010 5:41 pm
Has thanked: 43 times
Been thanked: 4 times

Re: Summoner 2 (PS2) *.VPP

Post by GenericRipper » Mon Sep 02, 2019 7:01 pm


41hc1
beginner
Posts: 35
Joined: Fri Jul 19, 2013 10:48 pm
Has thanked: 2 times

Re: Summoner 2 (PS2) *.VPP

Post by 41hc1 » Tue Sep 03, 2019 7:32 am

Thanks, the one by Dave works. The Red Faction one actually doesn't work for Punisher. How can I extract the .vse audio for Punisher?
http://www.mediafire.com/file/5679zwud7 ... e.zip/file

Post Reply