Msbt: Difference between revisions

Jump to navigation Jump to search
imported>Zephenryus
m (→‎Text Commands: Fixed reference to byte to correct reference of short)
imported>Leoetlino
m (add {{check}} templates to mark information that needs checking (such pages are tracked with categories))
Line 3: Line 3:
<code>msbt</code> files are message standard binary files. These files define how text is displayed and interacted with by the player.
<code>msbt</code> files are message standard binary files. These files define how text is displayed and interacted with by the player.
</onlyinclude>
</onlyinclude>
== msbt File Layout ==
== msbt File Layout ==
msbt files are made up of four sections that are aligned to 16-bytes.
msbt files are made up of four sections that are aligned to 16-bytes.
Line 28: Line 27:
| 2
| 2
| Unsigned Short
| Unsigned Short
| Byte-Order Marker
| Byte-Order Mark
|-
|-
| 0x0a
| 0x0a
| 2
| 2
|  
|  
| Unknown (padding?)
| Padding? {{check}}
|-
|-
| 0x0c
| 0x0c
| 2
| 2
| Unsigned Short
| Unsigned Short
| Version? 1.3?
| Version? 1.3? {{check}}
|-
|-
| 0x0e
| 0x0e
| 2
| 2
| Unsigned Short
| Unsigned Short
| Section Count?
| Section Count? {{check}}
|-
|-
| 0x10
| 0x10
| 2
| 2
|  
|  
| Padding?
| Padding? {{check}}
|-
|-
| 0x12
| 0x12
Line 58: Line 57:
| 10
| 10
|  
|  
| Padding?
| Padding? {{check}}
|}
|}


Line 148: Line 147:
Attributes are not fully understood at this time. The attribute seem to indicate which actor should be attributed with the dialog (A good example is in <code>100enemy.msbt</code> where <code>NPC_GodVoice</code> is referenced).
Attributes are not fully understood at this time. The attribute seem to indicate which actor should be attributed with the dialog (A good example is in <code>100enemy.msbt</code> where <code>NPC_GodVoice</code> is referenced).


The attributes seem to correspond to an entry in the text table with the same table index, since the attribute and text tables are usually the same size<ref>Needs validation with more research</ref>.
The attributes seem to correspond to an entry in the text table with the same table index, since the attribute and text tables are usually the same size {{check}}.


=== Attributes Section Header ===
=== Attributes Section Header ===
Line 289: Line 288:


=== Text Commands ===
=== Text Commands ===
{{expand section}}
Some string include interpolation operators or commands within the strings. These commands tell the game to behave in a certain way while displaying the string. Commands include choices, selling items, buying items and interacting with objects.
Some string include interpolation operators or commands within the strings. These commands tell the game to behave in a certain way while displaying the string. Commands include choices, selling items, buying items and interacting with objects.