WC3 3DO codec, compression, decoding and comparison discussion

Pedro

Admiral
Does anyone have any insight into the 3DO STR files? I'd love to be able to take a look at the mission scripts.
 

AD

Finder of things, Doer of stuff
Does anyone have any insight into the 3DO STR files? I'd love to be able to take a look at the mission scripts.
Yeah I'd love to have an STR unpacker as well. I'm not a code magician, unfortunately. They are definitely an archive of sorts though. I posted a bit about them further up. You can see the whole index of files in the STRs in plain text near the top of the STR. You can see where the mission files are in mission.str for example, as you can see all the objectives and nav info listed in plain text within the mission file chunks too.

The ability for someone to make a STR unpacker might even be detailed in the STRs themselves. This is in gameflow.str:

Code:
Since RefPack is being used to compress the data in the stream, and refpack requires the entire
# data to be in memory for it to be decompressed, this requires that we break the data into chunks
# limited to the bytes specified below.

file_chunk_size            65536
minimum_compression        100
block_size            2048
Gameflow_cdX.STR has a bunch sound effects IFF files, A bunch of game sprites for ship locations and other interfaces items, fonts, etc.
mission.str has mission and sim mission files as SR##MIS#.bin format. The first double digit number is the mission series and the last number is the mission. 00 missions are the sim missions. O1 would be the A series mission so A series mission 3 would be SR01MIS2.bin since 0 is always the first one.

Mission str seems to also have some sound effects, various system info like which galaxy and planet sprites to put in the skybox, as well as the ship object files in IFF format with the textures with TXM extensions.
 

AD

Finder of things, Doer of stuff
Info on refpack: http://wiki.niotso.org/RefPack " RefPack is an LZ77/LZSS compression format made by Frank Barchard of EA Canada for the Gimex library used by many older games by EA "

Header
The RefPack header begins with a 1-byte Flags field, followed by a 1-byte magic number equal to 0xFB:

Byte 1Byte 2
LU01000C11111011
The part I find funny in this wiki entry is the bit where it says near the end : " The original RefPack.cpp written by Frank Barchard was released by WCNews: http://download.wcnews.com/files/do...ommers/mfcapp_src/engine/compress/RefPack.cpp "
 

Pedro

Admiral
Info on refpack: http://wiki.niotso.org/RefPack " RefPack is an LZ77/LZSS compression format made by Frank Barchard of EA Canada for the Gimex library used by many older games by EA "

The part I find funny in this wiki entry is the bit where it says near the end : " The original RefPack.cpp written by Frank Barchard was released by WCNews: http://download.wcnews.com/files/do...ommers/mfcapp_src/engine/compress/RefPack.cpp "
Thanks AD. I already had to pull Refpack over for the PC version (it's one of the two compression types used by the tre files). In that case the header is missing because the compressed and uncompressed sizes are in the TRE file info, it also applies on a file within the TRE rather than a full container.
I mentioned that file to Grim but he thought it might be audio specific given some of the contents (potentially an audio pack within the file?). Still I'll play around with it.
Since refpack is generally used on a single file the directory structure would need figuring out, but I'll try and take a look.
 
Top