BMS (File Format)
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)