BMS (File Format)

From Wexos's Wiki
Jump to navigationJump to search

BMS (Binary MeSsage) is a file format used in some Nintendo 3DS games and software such as StreetPass Mii Plaza. It contains message data, and variables that link to other data.

File Format

The file byte order is always little endian.

Header

Offset Type Description
0x00 Int32 Number of entries.
0x04 Int32 Number of strings per entry.

Entry

Followed by the header comes the entries, which contain null-terminated strings aligned by 4. Unicode strings start with Byte Order Mark bytes. Null variables are tagged nil. Each entry is different depending of the file type.

BMSC

BMSC (Binary MeSsage Color) links variables to color data. It contains 5 values per entry:

Index Description
1 Variable name.
2-5 RGBA color.

BMSM

BMSM (Binary MeSsage Message) contains in-game message data. It contains 6 values per entry:

Index Description
1 Variable name.
2 Source variable name.
3 In-game text.
4 Unknown. Probably X scale?
5 Unknown. Probably Y scale?
6 Secondary source variable name.

BMSS

BMSS (Binary MeSsage Source) links variables to different parameters. It contains 13 values per entry:

Index Description
1 Variable name.
2 Unknown. Probably maximum width?
3 Unknown.
4 Font path.
5 Foreground color variable name.
6 Background color variable name.
7 Unknown. Probably X scale?
8 Unknown. Probably Y scale?
9 Unknown. Probably X position?
10 Unknown. Probably Y position?
11 Unknown.
12 Unknown. Either true or false.
13 Unknown.

Tools

The following tools can handle BMS files:

  • (none)