Difference between revisions of "MSBT (File Format)"

From MK8
Jump to navigation Jump to search
(We don't need a list of the games it's used in)
Line 76: Line 76:
  
 
After the TXT2 header, there are four bytes for each entry, containing the offset to the UTF16 string.
 
After the TXT2 header, there are four bytes for each entry, containing the offset to the UTF16 string.
 
== Games ==
 
Wii
 
* Super Mario Galaxy 2
 
* The Legend of Zelda: Skyward Sword
 
DSiWare
 
* Nintendojo
 
Nintendo 3DS
 
* Super Mario 3D Land
 
* New Super Mario Bros. 2
 
* Paper Mario: Sticker Star
 
* Super Mario Maker for Nintendo 3DS
 
* Photos with Mario
 
* Poochy & Yoshi's Woolly World
 
* Super Smash Bros. for Nintendo 3DS
 
* Rhythm Heaven Megamix
 
* The Legend of Zelda: Tri Force Heroes
 
* Mario Kart 7
 
* BOXBOY!
 
* BOXBOXBOY!
 
* BYE-BYE BOXBOY!
 
* Mario vs. Donkey Kong: Tipping Stars
 
* System error strings (Title IDs: EUR - 0004009B00012102, JPN - 0004009B00012202, USA - 0004009B00012302, CHN - 0004009B00012402, KOR - 0004009B00012502, TWN - 0004009B00012602)
 
* Mario & Luigi: Paper Jam
 
* Detective Pikachu
 
* Animal Crossing: New Leaf
 
Wii U
 
* Super Mario Maker
 
* Splatoon
 
* Captain Toad: Treasure Tracker
 
* Yoshi's Woolly World
 
* Paper Mario: Color Splash
 
* Super Smash Bros. for Wii U
 
* The Legend of Zelda: Breath of the Wild
 
* Mario Kart 8
 
* Super Mario 3D World
 
* New Super Mario Bros. U
 
* New Super Luigi U
 
* Tokyo Mirage Sessions #FE
 
Nintendo Switch
 
* Browser
 
Multiplatform
 
* Miitomo
 
  
 
== Tools ==
 
== Tools ==
 
The following tool can handle MSBT files:
 
The following tool can handle MSBT files:
 
 
* [https://github.com/IcySon55/3DLandMSBTeditor/releases/tag/v0.9.7 MSBT Editor Reloaded], by [[User:IcySon55|IcySon55]]
 
* [https://github.com/IcySon55/3DLandMSBTeditor/releases/tag/v0.9.7 MSBT Editor Reloaded], by [[User:IcySon55|IcySon55]]
  
 
[[Category:File Format]]
 
[[Category:File Format]]

Revision as of 19:14, 8 June 2017

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). 0xAB is used as padding.

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. 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 Unknown. Could be a message index.
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.

Tools

The following tool can handle MSBT files: