LMS > Overview > Flow Chart (MSBF)

This file is identified by the magic number MsgFlwBn. The format holds flowcharts.

TypeDescription
FLW3Nodes
FEN1Flowchart Labels
REF1?

FLW3 Block

This section holds all the nodes.

OffsetSizeDescription
0x02Node count
0x22Branch table ID count
0x412Padding
0x1016 per nodeNodes
2 per IDBranch table
String table

Nodes

Actions defined within the FLW3 Section are done via nodes.

OffsetSizeDescription
0x01Node type
0x11Subtype
0x22Reserved
0x42Subtype value
0x610Node specifc data

Node Types

ValueTypeDescription
1MessagePrompts a message from a MSBT.
2BranchBranches into different nodes based on a condition.
3EventPompts an action or event.
4EntryNode that acts as a starting point.
5JumpJumps to a different node.

Subtypes

Implementations of type specifc data vary between game. These types are only valid for Branch and Event nodes.

ValueDescription
0Unknown
1Unknown
2Unknown
3Unknown
4Unknown
5Offset from start of block to string in string table. Specific to Event and Branch nodes.
6Unknown

Message Node

OffsetSizeDescription
0x02Unused
0x22Next node index
0x42MSBT file index
0x62TXT2 message index
0x82Unused

Branch Node

OffsetSizeDescription
0x02Short 1
0x220xFFFF (always as next node index)
0x42Short 3
0x62Branch table case count
0x82Starting index into the branch table

Short data is specifc to the game and subtype of the node.

Event Node

OffsetSizeDescription
0x02Short 1
0x22Next node index
0x42Short 3
0x62Short 4
0x82Short 5

Short data is specifc to the game and subtype of the node.

Entry Node

OffsetSizeDescription
0x02Unused
0x22Next node index
0x42Unused
0x62Unused
0x82Unused

Jump Node

OffsetSizeDescription
0x02Unused
0x22Next node index
0x42Unused
0x62Unused
0x82Unused

0xFFFF marks the end of a flowchart for any node that isn't a branch node.

Branch Table

Nodes that are branch will jump to a specifc case based on a condition.

OffsetSizeDescription
0x0List of node IDs

String Table

OffsetSizeDescription
0x0List of null-terminated strings.

FEN1 Block

This block contains the flowchart labels. The index of a flowchart is the location of its entry node.