MSBT (File Format)
MSBT files contains the game's text. The files have been used in many different games on the Wii, 3DS and Wii U. In Mario Kart 8 the file has a main header (MSBT) and two sections with their own headers (NLI1 and TXT2). Each section is padded to the next multiple of 0x10 using a sequence of 0xAB
bytes.
Header
The MSBT file format starts with a header structure.
Offset | Type | Description |
---|---|---|
0x00 | String | File magic. Always MsgStdBn in ASCII. |
0x08 | UInt16 | Byte Order Mark (BOM): 0xFEFF for big endian and 0xFFFE for little endian. |
0x0A | UInt16 | Unknown. Always 0x0000. |
0x0C | UInt16 | Unknown. Always 0x0103. |
0x0E | UInt16 | Number of sections. |
0x10 | UInt16 | Unknown. Always 0x0000. |
0x12 | UInt32 | File size. |
0x16 | Byte[10] | Unknown. Always 0. |
0x20 | End of file header |
NLI1
The NLI1 section starts with a section header.
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. Always NLI1 in ASCII. |
0x04 | UInt32 | Section size (starting from 0x10). |
0x08 | Byte[8] | Unknown. Always 0. |
0x10 | UInt32 | Number of entries. |
0x14 | End of NLI1 header |
After the header comes the entries. Each entry has the following structure:
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Message index. The game uses this value as a key to find the relevant string. |
0x04 | UInt32 | Index into the TXT2 strings. |
TXT2
The TXT2 section starts with a header.
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. Always TXT2 in ASCII. |
0x04 | UInt32 | Section size (starting from 0x10). |
0x08 | Byte[8] | Unknown. Always 0. |
0x10 | UInt32 | Number of entries. |
0x14 | End of TXT2 header |
After the TXT2 header, there are four bytes for each entry, containing the offset to the UTF16 string. This UTF16 string can contain special formatting bytes, which have an 8-byte size and start with 0x0E00
. This is used to give text a specific (usually red) colour, or to display an icon of a button (E.g. the "A" button present on controllers, or the Amiibo scan icon present on the Wii U gamepad).
Tools
The following tool can handle MSBT files: