.str archive content - .dat files (QuickBMS, The Godfather II)

Doubts, help and support about QuickBMS and other game research tools
venixuc
Posts: 14
Joined: Tue Aug 13, 2019 10:12 pm

.str archive content - .dat files (QuickBMS, The Godfather II)

Post by venixuc »

With QuickBMS and dead_space_3.bms script I was able to extract the content of dac49de4.str file (text archive). The extracted chunks can successfully be reimported into the .str. But, large portion of text is compressed with refpack (dk2) variation inside NAM_1.dat file.

In order to decompress it, I tested every dk2 bms script I could find; the majority of them don't recognize the file signature. The skate3.bms script produces the best results - however it says it can't read 4 bytes from offset 0001FFBC. There is nothing at this offset inside NAM_1.dat; the file ends there.

Since that file is a part of .str archive, I opened the archive with HxD; the required values are 43 4F 48 53 (COHS). If these values are manually added to 0001FFBC, the error message remains - then the script is unable to read 4 bytes from the next offset. Even if the rest of .str archive is added, the error remains.

While I couldn't decompress the NAM_1.dat with QuickBMS, the Game Extractor is able to decompress its content by extracting it as kapR file from the .str. The text is then readable and can be edited. But then I can't compress the kapR content back into NAM_1.dat - the Game Extractor can't edit .str files and I haven't found a working dk2 script.

I need some help with this. Can skate3.bms script be modified for successfull editing of NAM_1.dat?

The last script line before the error is:

Code: Select all

30 get crc long

It looks like this
https://ibb.co/D1JVZYt
I've attached a rar archive with dac49de4.str, NAM_1.dat and kapR.
venixuc
Posts: 14
Joined: Tue Aug 13, 2019 10:12 pm

Re: .str archive content - .dat files (QuickBMS, The Godfather II)

Post by venixuc »

This aluigi's script decompresses and extracts the compresed data inside dac49de4.str:

Code: Select all

comtype dk2
goto 0x34
get SIZE long
goto 0x44
get ZSIZE long
savepos OFFSET
get NAME basename
clog NAME OFFSET ZSIZE SIZE


However, it cannot compress it back.