-
Notifications
You must be signed in to change notification settings - Fork 8
MSBT File Format
This file is identified by the magic number MsgStdBn
. It contains text strings that are looked up by label.
Type | Description |
---|---|
LBL1 | Message labels |
TXT2 | Message strings |
ATR1 | Attributes |
TSY1 | Text style |
This block contains labels for the TXT2, ATR1 and TSY1 blocks.
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 |
0x2 | 2 | Tag type |
0x4 | 2 | Size of parameters |
0x6 | Parameters |
Character 0xF marks the end of a region that is affected by a control tag. This character always takes up exactly 6 bytes (including the 0xF character), regardless of the character encoding.
All tags and their parameters are defined in the TGG2 block of the MSBP file.
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 |
1 | Font | face |
2 | Size | percent |
3 | Color |
r , g , b and a
|
4 | PageBreak | None |
This block contains attributes for each message. The format of the attributes is game-specific. 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 |
Offset | Size | Description |
---|---|---|
0x0 | 4 per message | Style index in MSBP file |