If you have a minute to look at the format and see if there is anything you can do to get the files out of there intact, I would be very grateful

Here is a couple samples: https://mega.nz/#!K0gEjQzQ!DjvdfpVugiwJ ... yT-LqkMJXM
Many Thanks,
/GHFear
aluigi wrote:http://aluigi.org/bms/skate3_xsf.bms
aluigi wrote:Regarding the beginning and ending point I'm sure that it's all correct because the 0x80 bytes before the file are the header which is just 0x14 bytes plus all zeroes.
Coverage is 99% so it's all correct.
The extracted files have a 0x50 bytes header followed by 0x89 "RW4xb2" that seems to be a known texture format if you search it on Google.
I don't think there is any compression because there are various 32bit fields visible in these files, if they were compressed they would be a mess and in any case there is no decompressed size as far as I can see.
aluigi wrote:Script 0.2
aluigi wrote:It worked with cSim* but yes you are right.
Script 0.3, please note that the names of the output files differ than those of the previous scripts (in case you want to use it with the previous output folder)
aluigi wrote:RefPack algorithm (in quickbms it's used as dk2 or ea).
It's easy to recognize because the first 2 bytes are 0x10 0xfb.
Code: Select all
comtype dk2_compress
get SIZE asize
clog "new_file" 0 SIZE SIZE
Code: Select all
// New generation FSH/QFS decompressor/compressor
// Version 1.22 - copyright (c) Denis Auroux 1998-2002
// auroux@math.polytechnique.fr
aluigi wrote:For compression I use qfs_compress_data from src\included\qfs.c:Code: Select all
// New generation FSH/QFS decompressor/compressor
// Version 1.22 - copyright (c) Denis Auroux 1998-2002
// auroux@math.polytechnique.fr
GHFear wrote:Edit2: The file name is at offset 1AC in the header of each file and is always 0x12 hex or 18 dec long.
aluigi wrote:GHFear wrote:Edit2: The file name is at offset 1AC in the header of each file and is always 0x12 hex or 18 dec long.
I don't see any name in the sample you uploaded.
At offset 0x1ac there are only the bytes 00 02 00 e8
Code: Select all
# SKATE 3 RX2 RENAMER (script 0.1)
endian big
goto 1
idstring "RW4xb2"
get SIZE asize
goto 0x1AC
get NAME string
log NAME 0 SIZE
GHFear wrote:All I need to know now is how too append two string together.![]()
aluigi wrote:GHFear wrote:All I need to know now is how too append two string together.![]()
string NAME + ".rx2"