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.

All blocks are optional.

CLR1 Block

OffsetSizeDescription
0x04Number of colors
0x44 per colorRGBA colors

CLB1 Block

This block contains labels for the CLR1 block.

ATI2 Block

OffsetSizeDescription
0x04Number of attributes
0x48 per attributeAttributes

Attribute

The list index refers to the ALI2 block and is only valid if the type is 9.

OffsetSizeDescription
0x01Type
0x11Padding
0x22List index
0x44Offset

ALB1 Block

This block contains labels for the ATI2 block.

ALI2 Block

OffsetSizeDescription
0x04Number of lists
0x44 per listOffsets to attribute lists
Attribute lists

The block is padded until it has a multiple of 4 bytes.

Attribute List

OffsetSizeDescription
0x04Number of list items
0x44 per list itemOffsets 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.

OffsetSizeDescription
0x02Number of tag groups
0x22Padding
0x44 per groupOffsets 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:

OffsetSizeDescription
0x02Number of tags
0x22 per tagTag indices (in TAG2 block)
Null-terminated tag group name

Version 4:

OffsetSizeDescription
0x02Tag group id
0x22Number of tags
0x42 per tagTag 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

OffsetSizeDescription
0x02Number of tags
0x22Padding
0x44 per tagOffsets to tags

Tag

OffsetSizeDescription
0x02Number of tag parameters
0x22 per parameterTag parameter indices (in TGP2 block)
Null-terminated tag name

Every tag is padded so that its size is a multiple of 4.

TGP2 Block

OffsetSizeDescription
0x02Number of parameters
0x22Padding
0x44 per parameterOffsets to parameters

Tag Parameter

OffsetSizeDescription
0x01Parameter type

If type is not 9:

OffsetSizeDescription
0x1Null terminated parameter name

If type is 9:

OffsetSizeDescription
0x11Padding
0x22Number of strings
0x42 per list itemString indices (in TGL2 block)
Null terminated parameter name

Every tag parameter is padded so that its size is a multiple of 4.

TGL2 Block

OffsetSizeDescription
0x02Number of strings
0x22Padding
0x44 per list itemOffsets to strings
Null-terminated strings

SYL3 Block

OffsetSizeDescription
0x04Number of styles
0x416 per styleStyles

Style

OffsetSizeDescription
0x04Region width
0x44Line num
0x84Font index
0xC4Base 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.

OffsetSizeDescription
0x04Number of filenames
0x44 per filenameOffsets to filename strings
Null-terminated filename strings