You can use this MultiEx Commander script to extract the compressed chunks or files that are mentiones in a table at the beginning of the bin files. However, sometimes a larger file is separated into multiple chunks of originally 65536 in size. I have not bothered yet to see if this is id-able somewhere.
Anyway, the tex_vehicle.bin file you posted is also different, it is a collection of dds file data , without headers and compressed using zlib. Yet, the table only references small chunks that contain image information of the original dds file, such as height and width and which DDS type, but the image data is not referenced in a table, the compressed files are simply saved after everything else in sequence.
Here's an example of a reconstructed first texture in there:
uncompressed_dds_1.jpg
Here's the mexscript:
Code: Select all
IDString 0 bnd2 ;
ComType ZLib1 ;
Get U1 Long 0 ;
Get U2 Long 0 ;
Get TableOffset Long 0 ;
Get Chunks Long 0 ;
Get TableOffset2 Long 0 ;
Get FileOffset Long 0 ;
Get ArchiveSize Long 0 ;
Get ArchiveSize2 Long 0 ;
Set FN String "uncompressed_chunk_";
Set EXT String ".zlb" ;
Set USize Long 65536 ;
For T = 1 To Chunks ;
GoTo TableOffset 0 ;
Get U3 Long 0 ;
Math TableOffset += 28 ;
GoTo TableOffset 0 ;
SavePos FSO 0 ;
Get FS Long 0 ;
Math TableOffset += 12 ;
GoTo TableOffset 0 ;
SavePos FOO 0 ;
Get FO Long 0 ;
Math FO += FileOffset ;
Set Name String FN ;
String Name += T ;
String Name += EXT ;
CLog Name FO FS FOO FSO USize 0 ;
Math TableOffset += 24 ;
Next T ;
And the bin.bms file to use in MultiEx Commander.
You do not have the required permissions to view the files attached to this post.