MSBF (File Format)

From Wexos's Wiki
Revision as of 17:51, 1 May 2024 by Wexos (talk | contribs) (Imported from avsys wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.

MSBF (MessageStudio Binary Flow) is a format used in Super Mario Galaxy 2, and possibly other games. It is unknown how the format works, and what it's used for.

File Format

Header

The file starts with the following header:

Offset Type Description
0x00 Char[8] File magic. Always MsgFlwBn in ASCII.
0x08 UInt16 Byte-order-mark. FE FF for big endian, FF FE for little endian.
0x0A UInt16 Unknown.
0x0C Byte String encoding. UTF8 = 0, UTF16 = 1.
0x0D Byte Possibly a version number. Games on Wii, Nintendo 3DS and Wii U as well as Mario Kart Tour use 3, games on Nintendo Switch and Super Mario Run use 4.
0x0E UInt16 Number of sections.
0x10 UInt16 Unknown.
0x12 UInt32 File size in bytes.
0x16 Byte[10] Unknown. Always 0.

FLW2

The FLW2 section stores flow data.

Offset Type Description
0x00 Char[4] Section magic. Always FLW1 in ASCII.
0x04 UInt32 Section size (starting from 0x10).
0x08 Byte[8] Unknown. Always 0.
0x10 UInt16 Unknown.
0x12 UInt16 Unknown.

FEN1

The FEN1 section stores flow entries.

Offset Type Description
0x00 Char[4] Section magic. Always FEN1 in ASCII.
0x04 UInt32 Section size (starting from 0x10).
0x08 Byte[8] Unknown. Always 0.
0x10 Int32 Number of entries.

FEN1 Entry

Each entry has the following structure:

Offset Type Description
0x00 Int32 Number of sub entries.
0x04 UInt32 Sub entry offset, relative to 0x10 in the FEN1 header. Always set even if the number of entries are 0.

FEN1 Sub Entry

Offset Type Description
0x00 Byte String length (K).
0x01 String String.
0x01 + K UInt32 Unknown. Possibly an index in the FLW2 entries.

REF1

Tools

The following tools can handle MSBF files:

  • (none)