LMS > Overview > Project File (MSBP)
This file is identified by the magic number MsgPrjBn
. This file defines various metadata for MSBT files.
This page describes file format version 3 and 4.
Type | Description |
---|---|
CLR1 | Colors |
CLB1 | Color labels |
ATI2 | Attributes |
ALB1 | Attribute labels |
ALI2 | Attribute string lists |
TGG2 | Tag groups |
TAG2 | Tags |
TGP2 | Tag parameters |
TGL2 | Tag string list |
SYL3 | Styles |
SLB1 | Style labels |
CTI1 | Project contents |
All blocks are optional.
CLR1 Block
Offset | Size | Description |
---|---|---|
0x0 | 4 | Number of colors |
0x4 | 4 per color | RGBA colors |
CLB1 Block
This block contains labels for the CLR1 block.
ATI2 Block
Offset | Size | Description |
---|---|---|
0x0 | 4 | Number of attributes |
0x4 | 8 per attribute | Attributes |
Attribute
The list index refers to the ALI2 block and is only valid if the type is 9.
Offset | Size | Description |
---|---|---|
0x0 | 1 | Type |
0x1 | 1 | Padding |
0x2 | 2 | List index |
0x4 | 4 | Offset |
ALB1 Block
This block contains labels for the ATI2 block.
ALI2 Block
Offset | Size | Description |
---|---|---|
0x0 | 4 | Number of lists |
0x4 | 4 per list | Offsets to attribute lists |
Attribute lists |
The block is padded until it has a multiple of 4 bytes.
Attribute List
Offset | Size | Description |
---|---|---|
0x0 | 4 | Number of list items |
0x4 | 4 per list item | Offsets to list item names |
Null-terminated list item names |
TGG2 Block
This block defines control tag groups for MSBT files.
Control tags allow developers to apply modifiers (such as bold or cursive) and insert placeholders for other text. Tags are organized into groups.
Offset | Size | Description |
---|---|---|
0x0 | 2 | Number of tag groups |
0x2 | 2 | Padding |
0x4 | 4 per group | Offsets to tag groups |
Tag groups |
Tag Group
Every tag group is identified by an id. In version 3, the id is simply the index of the group. In version 4, it is explicitly stored in the file.
Version 3:
Offset | Size | Description |
---|---|---|
0x0 | 2 | Number of tags |
0x2 | 2 per tag | Tag indices (in TAG2 block) |
Null-terminated tag group name |
Version 4:
Offset | Size | Description |
---|---|---|
0x0 | 2 | Tag group id |
0x2 | 2 | Number of tags |
0x4 | 2 per tag | Tag indices (in TAG2 block) |
Null-terminated tag group name |
Every tag group is padded so that its size is a multiple of 4.
TAG2 Block
Offset | Size | Description |
---|---|---|
0x0 | 2 | Number of tags |
0x2 | 2 | Padding |
0x4 | 4 per tag | Offsets to tags |
Tag
Offset | Size | Description |
---|---|---|
0x0 | 2 | Number of tag parameters |
0x2 | 2 per parameter | Tag parameter indices (in TGP2 block) |
Null-terminated tag name |
Every tag is padded so that its size is a multiple of 4.
TGP2 Block
Offset | Size | Description |
---|---|---|
0x0 | 2 | Number of parameters |
0x2 | 2 | Padding |
0x4 | 4 per parameter | Offsets to parameters |
Tag Parameter
Offset | Size | Description |
---|---|---|
0x0 | 1 | Parameter type |
If type is not 9:
Offset | Size | Description |
---|---|---|
0x1 | Null terminated parameter name |
If type is 9:
Offset | Size | Description |
---|---|---|
0x1 | 1 | Padding |
0x2 | 2 | Number of strings |
0x4 | 2 per list item | String indices (in TGL2 block) |
Null terminated parameter name |
Every tag parameter is padded so that its size is a multiple of 4.
TGL2 Block
Offset | Size | Description |
---|---|---|
0x0 | 2 | Number of strings |
0x2 | 2 | Padding |
0x4 | 4 per list item | Offsets to strings |
Null-terminated strings |
SYL3 Block
Offset | Size | Description |
---|---|---|
0x0 | 4 | Number of styles |
0x4 | 16 per style | Styles |
Style
Offset | Size | Description |
---|---|---|
0x0 | 4 | Region width |
0x4 | 4 | Line num |
0x8 | 4 | Font index |
0xC | 4 | Base color index |
SLB1 Block
This block contains labels for the SYL3 block.
CTI1 Block
This block contains the names of the source files that the MSBT files were generated from. The source files have the .mstxt
extension.
Offset | Size | Description |
---|---|---|
0x0 | 4 | Number of filenames |
0x4 | 4 per filename | Offsets to filename strings |
Null-terminated filename strings |