Hot Shots Golf 3 (PS2) - Compressed .xb file

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Hot Shots Golf 3 (PS2) - Compressed .xb file

Post by BloodRaynare »

Long short story, someone at PS2 subreddit asked for help to rip the "Hole out" jingle sfx out from this game. So I volunteered to help, however I kinda stumped too as I have no idea what the compression algorithm these files uses. From looking the files in hex editor, it might be zlib at first glance, as indicated at the start of the file, but tools like offzip fails to recognize it.

Here's the link if someone wants to take a shot at it.

https://www.mediafire.com/file/id9hjd26 ... D.rar/file
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: Hot Shots Golf 3 (PS2) - Compressed .xb file

Post by AlphaTwentyThree »

Some other compression method. Haven't been able to find out where the compressed data starts, the decompressed size is saved inside the header. This is the data we have to work with:

Code: Select all

idstring "xe"
get VER short
get UNK1 long
get UNK2 long
grz UNK3 long
get ZSIZE long
get UNK4 long
get UNK5 long
get OFF long # always 0x44?
get UNK7 long # always 0x34?
get UNK8 threebyte
savepos MYOFF
math OFF -= 1
goto OFF
get NAMEL byte
goto MYOFF
getDstrig NAME NAMEL

Now we need to figure out the starting offset and the compression method.
Eventually UNK7 is some other data after the header, so the compression would start at 0x44 + 0x34 = 0x78?