Compiled Defs (.Bin)

Game.Bin, Script.Bin and Frontend.Bin use Names.Bin as a library.

All Names.Bin offsets do not count 20 byte header

Header

[1] Byte - 00 (Indicates to use Names.Bin as Library)
[4] Bytes - File Indicator
[4] Bytes - Platform Indicator (Xbox / PC)
[4] Bytes - Number of Entries

Names Lookup

Each Row is 12 Bytes long. Loop until Number of Entries is met.

[4] Bytes - Definition Name Offset in Names.Bin
[4] Bytes - »PC File Name offset in Names.Bin »Xbox Enumerator for specific file.
[4] Bytes - Counter Based on Definition Used

*Exceptions For File Name or Enumerator Bytes:
PC If the entry Equals (FF FF FF FF) Name is Defined outside of Names.Bin and does not require parsing.
Xbox If the enumeration equals (00 00 00 00) Then Enumerator is Defined in Names.Bin

Second Table Header


[4] Bytes - Number of Compressed Chunks (Actual Compressed Chunks is always one less)
[4] Bytes - Null

Second Table Lookup (Compressed)


Each Row is 8 Bytes long, loop until number of compressed chunks is met.

[4] Bytes - Offset to Compressed Chunk
[4] Bytes - Last File Number Contained in Chunk (Running Counter)

*Each Offset is based after the second table ends. (Equals (Number of Entries * 12 + 13 byte header) + (Number of Compressed Chunks * 8 + 8 byte header))


Each Compressed Chunk is Zlib Compressed

Decompressed

[2] Bytes - Offset

*If you divide initial Offset by 2 it equals number of files
Each File uses indicator bytes that are defined in the NullDefs (Based on Definition From First Table)

*Additional Notes: PC .Bin Files require Names.Bin to be parsed into each file offset. Files are listed in order in the First Table.

Bin Entries

more as we get time...

 
file_formats/bin.txt · Last modified: 2006/02/23 12:44 by keshire
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki