BNTX

From ZeldaMods (Breath of the Wild)
Revision as of 09:36, 2 September 2022 by Arch Leaders (talk | contribs) (Document BNTX sub types (except BNTI for now). Credit to KillzXGaming and Syroot for all the data offsets.)
Jump to navigation Jump to search

Header

Header Specification
Offset Size Data Type Description
0x00 4 Bytes BNTX File Signature (Magic). Binary BNTX (42 4E 54 58).
0x04 4 Bytes 4 bytes of padding.
0x08 4 Bytes 4 byte version where each byte is a version increment. (00 40 00 FF - 0.4.0.0
0x0C 2 Bytes Endianess. FFFE (LE) : FEFF (BE)
0x0E 1 Byte Alignment.
0x0F 1 Byte Target Address Size.
0x10 4 UInt32 File Name Offset.
0x14 2 UInt16 Flag.
0x16 2 UInt16 String Pool Offset.
0x18 4 UInt32 Relocation Table Offset.
0x1C 4 UInt32 File Size.
0x20 4 Bytes Target platform. (NX )
0x24 4 Int32 Texture Count.
0x28 8 Int64 Texture Array Offset.
0x30 8 Int64 Texture Data Length.
0x38 8 Int64 String Dictionary Offset.

String Pool (_STR)

Stores a list of Strings.

String Pool Specification
Offset Size Data Type Description
0x00 4 Bytes _STR File Signature (Magic); Binary _STR (5F 53 54 52)
0x04 4 UInt32 End of String Pool (?)
0x08 8 Int64 End of String Pool (?)
0x10 4 UInt32 String Pool Entry Count

String Pool Entry

String Pool Specification
Offset Size Data Type Description
0x00 2 UShort String size.
0x02 size* String String pool entry text.
0x* 1 or 2 Byte End of string padding where the length is 1 if the String size is an odd number, otherwise 2.

String Dictionary (_DIC)

String Dictionary Specification
Offset Size Data Type Description
0x00 4 Bytes _DIC File Signature (Magic); Binary _DIC (5F 44 49 43)
0x04 4 Int32 String Dictionary entry count
0x08 8 Bytes Padding/unknown data

String Dictionary Entry

String Dictionary Entry Specification
Offset Size Data Type Description
0x00 4 UInt32 Reference
0x04 2 UInt16 Left Index
0x06 2 UInt16 Right Index
0x08 8 UInt64 String Pool offset

Binary Texture Info (BNTI)

(Work in progress)

Relocation Table (_RLT)

Relocation Table Specification
Offset Size Data Type Description
0x00 4 Bytes _RLT File Signature (Magic); Binary _RLT (5F 52 4C 54)
0x04 4 UInt32 Position
0x08 4 UInt32 Always 2 0x0C 14 Bytes Padding (?)