NFS-MW BIN

From XentaxWiki
Jump to: navigation, search

BIN


Format Specifications

// ARCHIVE HEADER

uint16 {2}   - null
uint16 {2}   - Unknown
uint32 {4}   - Archive Length [+8]
uint32 {4}   - null
uint32 {4}   - Number Of Nulls (48)
byte {48}    - null
uint16 {2}   - null
uint16 {2}   - Unknown
uint32 {4}   - Directory Length?
uint16 {2}   - Number Of Directories (1)
uint16 {2}   - Unknown


// for each directory
uint32 {4}   - Directory Offset [+80]
uint32 {4}   - Directory Name Length (not including nulls)
byte {28}    - Directory Name (null terminated)
byte {64}    - Filename
uint32 {4}   - Unknown
byte {24}    - null


// DIRECTORIES

// for each directory
uint16 {2}   - Unknown (2)
uint16 {2}   - Unknown
uint32 {4}   - Length of the Next FOR Loop (ie numFiles*8)


// for each file
uint32 {4}   - Hash?
uint32 {4}   - null


uint16 {2}   - Unknown (2)
uint16 {2}   - Unknown
uint32 {4}   - Length of the Next FOR Loop (ie numFiles*24)


// for each file
uint32 {4}   - Hash?
uint32 {4}   - File Offset
uint32 {4}   - File Length
uint32 {4}   - Unknown (263324)
uint32 {4}   - Padding Multiple? (256)
uint32 {4}   - null


// FILE DATA

// for each file
byte {X}     - File Data

MultiEx BMS

ImpType Standard ;
Get VarType Long 0 ;
Get RemainingSize Long 0 ;
Get U1 Long 0 ;
Get RelOff1 Long 0 ;
SavePos COff 0 ;
Math COff += RelOff1 ;
GoTo COff 0 ;
Get VarType Long 0 ;
Get ResInfoSize Long 0 ;
Get VarType Long 0 ;
Get HeaderSize Long 0 ;
SavePos COff 0 ;
Get U2 Long 0 ;
GetDString BINName 28 0 ;
GetDString OriName 64 0 ;
Set FP String . ;
Get OriSize Long 0 ;
Math COff += HeaderSize ;
GoTo COff 0 ;
Get VarType Long 0 ;
Get TableSize Long 0 ;
SavePos COff 0 ;
Math COff += TableSize ;
GoTo COff 0 ;
Get VarType Long 0 ;
Get ResInfoSize Long 0 ;
Set FileNum Long ResInfoSize ;
Math FileNum /= 24 ;
For T = 1 To FileNum ;
Get VarType Long 0 ;
SavePos FOO 0 ;
Get FO Long 0 ;
SavePos FSO 0 ;
Get FS Long 0 ;
Get UCS Long 0 ;
Get U3 Long 0 ;
Get U4 Long 0 ;
Set Name String OriName ;
String Name += FP ;
String Name += T ;
Log Name FO FS FOO FSO ;
Next T ;


Notes and Comments

Many BIN files have the name of the original .tpk file stored, so like MultiEx Commander does, that can be used to recreate the folder structure of the resources in there.


Supported Programs