LMS > Overview > Message File (MSBT)
This file is identified by the magic number MsgStdBn. It contains text strings that are looked up by label. This page describes version 3 of the file format.
| Type | Description |
|---|---|
LBL1 | Message labels |
TXT2 | Message strings |
ATR1 | Attributes |
TSY1 | Text style |
LBL1 Block
This block contains labels for the TXT2, ATR1 and TSY1 blocks.
TXT2 Block
This block contains the actual text strings.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 | Number of messages |
| 0x4 | 4 per message | Offsets to message strings |
| Null-terminated message strings |
A message string may contain control tags, which may for example change the style of the text. A control tag always starts with character 0xE, which is followed by:
| Offset | Size | Description |
|---|---|---|
| 0x0 | 2 | Tag group id |
| 0x2 | 2 | Tag index |
| 0x4 | 2 | Size of parameters |
| 0x6 | Parameters |
Character 0xF may mark the end of a region that is affected by a control tag. This marker is optional and rarely seen in official files. If present, the 0xF character is followed by:
| Offset | Size | Description |
|---|---|---|
| 0x0 | 2 | Tag group id |
| 0x2 | 2 | Tag index |
All tags and their parameters are defined in the TGG2 block of the MSBP file.
Predefined Tags
Tag group 0 (called ‘System’) contains predefined tags, while all other tag groups are game-specific. The following tags are defined under tag group 0:
| Tag | Name | Parameters |
|---|---|---|
| 0 | Ruby | rt (string) |
| 1 | Font | face (string) |
| 2 | Size | percent (uint8), size (string) |
| 3 | Color | r (int8), g (int8), b (int8), a (int8), name (string) |
| 4 | PageBreak | None |
| 5 | Reference | mstxt (string), label (string), lang (string) |
ATR1 Block
This block contains attributes for each message. The format of the attributes is game-specific, but may be declared in an MSBP file. Depending on the game, the attributes may contain offsets to strings that are stored behind the attribute table.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 | Number of attributes |
| 0x4 | 4 | Bytes per attribute |
| 0x8 | Attributes | |
| Strings |
TSY1 Block
If the TSY1 block is present, it contains a style index for each message.
| Offset | Size | Description |
|---|---|---|
| 0x0 | 4 per message | Style index in MSBP file |