Need For Speed: Most Wanted BIN: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse |
imported>Ikskoks m (Ikskoks moved page NFS-MW BIN to Need For Speed: Most Wanted BIN) |
||
| (12 intermediate revisions by 4 users not shown) | |||
| Line 103: | Line 103: | ||
Next T ; | Next T ; | ||
</pre><br><br> | </pre><br><br> | ||
=== 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 === | === Supported Programs === | ||
* [[MultiEx Commander]] | |||
* [[Game Extractor|Game Extractor]]<br> | |||
[[Category:File Format]] | |||
Latest revision as of 22:27, 16 January 2021
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 ;
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.