Msbt: Difference between revisions
→EUI Tags: Add ChoiceOne |
m →Five Flags Flags: Section title typo |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 319: | Line 319: | ||
|Ruby (extra data is a u16 display span followed by the ruby text) | |Ruby (extra data is a u16 display span followed by the ruby text) | ||
|- | |- | ||
| 0 | |0 | ||
| 1 | |1 | ||
| Font (extra data is a u16 font type) | |Font (extra data is a u16 font type) | ||
|- | |- | ||
| 0 | |0 | ||
| 2 | |2 | ||
|Font Size (extra data is a u16 font size) | |Font Size (extra data is a u16 font size) | ||
|- | |- | ||
| 0 | |0 | ||
| 3 | |3 | ||
|Font Color (extra data is a u16 color type) | |Font Color (extra data is a u16 color type) | ||
|- | |- | ||
| 0 | |0 | ||
| 4 | |4 | ||
| Page Break (no extra data) | |Page Break (no extra data) | ||
|} | |||
The available colors in BotW are listed in [[#Font Color]]. These colors are generally either hardcoded in the game's executable or defined in a separate MSBP file if present. If defined in a MSBP file, the color type instead acts as an index into the colors in the MSBP file. | |||
===== Font ===== | |||
{| class="wikitable" | |||
!Value | |||
!Font | |||
!Notes | |||
|- | |||
|0 | |||
|Hylian | |||
|Stylized Hylian font (Unofficially known as Hylian Serif) | |||
|- | |||
|4 | |||
|Unknown | |||
| | |||
|- | |||
|65535 | |||
|Normal | |||
|Standard text font | |||
|} | |||
===== Font Color ===== | |||
{| class="wikitable" | |||
!Value | |||
!Color (h) | |||
!Color | |||
|- | |||
|0 | |||
|0xff0a1aff | |||
|Red | |||
|- | |||
|1 | |||
|0x64ff00ff | |||
|Green | |||
|- | |||
|2 | |||
|0x00ffffff | |||
|Cyan | |||
|- | |||
|3 | |||
|0xffffff40 | |||
|Grey (partly transparent white) | |||
|- | |||
|4 | |||
|0x007fffff | |||
|Azure | |||
|- | |||
|5 | |||
|0xff4800ff | |||
|Orange | |||
|- | |||
|6 | |||
|0x7f794aff | |||
|Dull Gold | |||
|- | |||
|65535 | |||
| | |||
|Reset to white or black, depending on background | |||
|} | |} | ||
==== EUI Tags ==== | ==== EUI Tags ==== | ||
| Line 377: | Line 435: | ||
|1 | |1 | ||
|8 | |8 | ||
| | |Three Choices based on flags (See [[#Choices Based on Flags]]) | ||
|- | |- | ||
|1 | |1 | ||
|9 | |9 | ||
| | |Five Flags (See [[#Five Flags]]) | ||
|- | |- | ||
|1 | |1 | ||
| Line 421: | Line 479: | ||
For ChoiceOne, there is no choice at 0x02. Instead, the default option is always 1 and is located at 0x02, and the cancel option is always 0xCD and is located at 0x03. | For ChoiceOne, there is no choice at 0x02. Instead, the default option is always 1 and is located at 0x02, and the cancel option is always 0xCD and is located at 0x03. | ||
===== Choices Based on Flags ===== | |||
{{expand section}} | |||
{| class="wikitable" | |||
!Unofficial Name | |||
!Size | |||
!Data Type | |||
!Description | |||
|- | |||
|ParamSize | |||
|2 | |||
|Unsigned short | |||
|Number of bytes in the parameter, starting after the ParamSize | |||
|- | |||
|VarType | |||
|2 | |||
|Unsigned short | |||
|Type of the variable. Seems to use the same variable types as the Variable tag.{{check}} All flags are of the same type. | |||
|- | |||
|FlagOne | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|ChoiceOne | |||
|2 | |||
|Unsigned short | |||
|First choice | |||
|- | |||
|FlagTwo | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|ChoiceTwo | |||
|2 | |||
|Unsigned short | |||
|Second choice | |||
|- | |||
|FlagThree | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|ChoiceThree | |||
|2 | |||
|Unsigned short | |||
|Third choice | |||
|- | |||
|DefaultIndex | |||
|2 | |||
|Unsigned short | |||
|Index of the choices that the cursor starts on | |||
|- | |||
|CancelIndex | |||
|2 | |||
|Unsigned short | |||
|Index of the choice that is chosen if the player presses B while selecting an option | |||
|} | |||
===== Five Flags ===== | |||
{{expand section}} | |||
{| class="wikitable" | |||
!Unofficial Name | |||
!Size | |||
!Data Type | |||
!Description | |||
|- | |||
|ParamSize | |||
|2 | |||
|Unsigned short | |||
|Number of bytes in the parameter, starting after the ParamSize | |||
|- | |||
|FlagIndexOne | |||
|2 | |||
|Unsigned short | |||
|u16 that seems to correspond to some kind of index. There is always one number each of 0-4, for each flag {{check}} | |||
|- | |||
|FlagOne | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|FlagIndexTwo | |||
|2 | |||
|Unsigned short | |||
|u16 that seems to correspond to some kind of index. There is always one number each of 0-4, for each flag {{check}} | |||
|- | |||
|FlagTwo | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|FlagIndexThree | |||
|2 | |||
|Unsigned short | |||
|u16 that seems to correspond to some kind of index. There is always one number each of 0-4, for each flag {{check}} | |||
|- | |||
|FlagThree | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|FlagIndexFour | |||
|2 | |||
|Unsigned short | |||
|u16 that seems to correspond to some kind of index. There is always one number each of 0-4, for each flag {{check}} | |||
|- | |||
|FlagFour | |||
|? | |||
|C-String | |||
|u16 number of bytes in string, UTF-16 representation of the string (letters equal to number of bytes / 2) | |||
|- | |||
|FlagValueOne | |||
|2 | |||
|Unsigned short | |||
|Unknown{{check}} | |||
|- | |||
|FlagValueTwo | |||
|2 | |||
|Unsigned short | |||
|Unknown{{check}} | |||
|- | |||
|FlagValueThree | |||
|2 | |||
|Unsigned short | |||
|Unknown{{check}} | |||
|- | |||
|FlagValueFour | |||
|2 | |||
|Unsigned short | |||
|Unknown{{check}} | |||
|- | |||
|UnknownArray | |||
|? | |||
|byte[] | |||
|Unknown purpose. Length is the remainder of the ParamSize that has not already been taken up by previous values | |||
|} | |||
==== App Tags ==== | ==== App Tags ==== | ||
| Line 514: | Line 712: | ||
==== Group 3 Tags ==== | ==== Group 3 Tags ==== | ||
{| class="wikitable" | |||
!Group | |||
!Type | |||
!Notes | |||
|- | |||
|3 | |||
|1 | |||
|Sound (Extra data is 2 byte values of unknown purpose) | |||
|} | |||
It is currently unknown if there are other group 3 tags | |||
==== Group 4 Tags ==== | ==== Group 4 Tags ==== | ||
{| class="wikitable" | |||
!Group | |||
!Type | |||
!Notes | |||
|- | |||
|4 | |||
|1 | |||
|Sound (Extra data is 2 byte values: 1 of unknown purpose, and 0xCD) | |||
|- | |||
|4 | |||
|2 | |||
|Animation (Extra data is a C style string denoting the name of an animation for the controlling actor to play) | |||
|} | |||
It is currently unknown if there are other group 4 tags | |||
==== Group 5 Tags ==== | ==== Group 5 Tags ==== | ||