Need For Speed: Most Wanted BIN: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse |
imported>Mr.Mouse |
(No difference)
| |
Revision as of 13:02, 1 January 2006
BIN
- Format Type : Archive
- Endian Order : Little Endian
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
- uint32 {4} - Directory Offset [+80]
// DIRECTORIES
- // for each directory
- uint16 {2} - Unknown (2)
- uint16 {2} - Unknown
- uint32 {4} - Length of the Next FOR Loop (ie numFiles*8)
- uint16 {2} - Unknown (2)
- // for each file
- uint32 {4} - Hash?
- uint32 {4} - null
- uint32 {4} - Hash?
- // for each file
- uint16 {2} - Unknown (2)
- uint16 {2} - Unknown
- uint32 {4} - Length of the Next FOR Loop (ie numFiles*24)
- uint16 {2} - Unknown (2)
- // 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
- uint32 {4} - Hash?
- // for each file
// FILE DATA
- // for each file
- byte {X} - File Data
- 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 ;