Game.Bin, Script.Bin and Frontend.Bin use Names.Bin as a library.
All Names.Bin offsets do not count 20 byte header
 Byte - 00 (Indicates to use Names.Bin as Library)
 Bytes - File Indicator
 Bytes - Platform Indicator (Xbox / PC)
 Bytes - Number of Entries
Each Row is 12 Bytes long. Loop until Number of Entries is met.
 Bytes - Definition Name Offset in Names.Bin
 Bytes - »PC File Name offset in Names.Bin »Xbox Enumerator for specific file.
 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
 Bytes - Number of Compressed Chunks (Actual Compressed Chunks is always one less)
 Bytes - Null
Each Row is 8 Bytes long, loop until number of compressed chunks is met.
 Bytes - Offset to Compressed Chunk
 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
 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.
more as we get time…