Need For Speed: Most Wanted BIN: Difference between revisions
Jump to navigation
Jump to search
imported>WATTO No edit summary |
imported>Mr.Mouse |
||
| Line 58: | Line 58: | ||
=== MultiEx BMS === | === MultiEx BMS === | ||
<pre> | |||
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 ; | |||
</pre><br><br> | |||
=== Supported Programs === | === Supported Programs === | ||
* [[Game Extractor|Game Extractor]]<br> | * [[Game Extractor|Game Extractor]]<br> | ||
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 ;