Difference between revisions of "New Horizons:MSBT functions"
From Animal Crossing Mods Wiki
(Added New Horizons Category) |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== MSBT Functions == | |||
The following table contains all used MSBT functions in Animal Crossing: New Horizons. The purpose of some functions is still unknown and therefore the functions lack a proper name. | The following table contains all used MSBT functions in Animal Crossing: New Horizons. The purpose of some functions is still unknown and therefore the functions lack a proper name. | ||
Line 19: | Line 20: | ||
| rowspan="2" |Renders an annotation text over a specified number of characters. Typically used in the Japanese localization. | | rowspan="2" |Renders an annotation text over a specified number of characters. Typically used in the Japanese localization. | ||
|<code>charSpan</code> | |<code>charSpan</code> | ||
|Unsigned | |Unsigned Short | ||
|2 | |2 | ||
|The number of characters over which the annotation is centered | |The number of characters over which the annotation is centered | ||
Line 42: | Line 43: | ||
|Changes the text/font size of the text. | |Changes the text/font size of the text. | ||
|<code>value</code> | |<code>value</code> | ||
|Unsigned | |Unsigned Short | ||
|2 | |2 | ||
|The new font size to use from this point until the next font change or end of message | |The new font size to use from this point until the next font change or end of message | ||
Line 51: | Line 52: | ||
|Changes the color of the text. | |Changes the color of the text. | ||
|<code>id</code> | |<code>id</code> | ||
|Unsigned | |Unsigned Short | ||
|2 | |2 | ||
|The id of the color to use from this point until the next color change or end of message | |The id of the color to use from this point until the next color change or end of message | ||
Line 69: | Line 70: | ||
|Delays text rendering for a set number of frames. | |Delays text rendering for a set number of frames. | ||
|<code>frames</code> | |<code>frames</code> | ||
|Unsigned | |Unsigned Short | ||
|2 | |2 | ||
|The number of frames to delay for | |The number of frames to delay for | ||
Line 226: | Line 227: | ||
|<code>endTag</code> | |<code>endTag</code> | ||
|Indicates the end of a message string. | |Indicates the end of a message string. | ||
| | | colspan="4" | ''(first 4 bytes contain additional data)'' | ||
| | |||
|- | |- | ||
|20 | |20 | ||
Line 270: | Line 268: | ||
| rowspan="2" |x | | rowspan="2" |x | ||
| rowspan="2" |<code>anim</code> | | rowspan="2" |<code>anim</code> | ||
| rowspan="2" |Triggers a NPC animation. <code>x</code> is the ID of the | | rowspan="2" |Triggers a NPC animation. <code>x</code> is the ID of the [[#NPC Animation Table]]. | ||
|<code>id</code> | |<code>id</code> | ||
|Byte | |Byte | ||
|1 | |1 | ||
|ID of the | |ID of the [[#NPC Animation Table]] (not part of the argument byte data) | ||
|- | |- | ||
|<code>target</code> | |<code>target</code> | ||
|Byte | |Byte | ||
|1 | |1 | ||
| | |ID of the [[#Animation Target Table]] | ||
|- | |- | ||
| rowspan="3" |45 | | rowspan="3" |45 | ||
| rowspan="3" |x | | rowspan="3" |x | ||
| rowspan="3" |<code>snpcAnim</code> | | rowspan="3" |<code>snpcAnim</code> | ||
| rowspan="3" |Triggers a NPC animation for special NPCs. <code>x</code> is the ID of the | | rowspan="3" |Triggers a NPC animation for special NPCs. <code>x</code> is the ID of the [[#Special NPC Animation Table]]. | ||
|<code>id</code> | |<code>id</code> | ||
|Byte | |Byte | ||
|1 | |1 | ||
|ID of the | |ID of the [[#Special NPC Animation Table]] (not part of the argument byte data) | ||
|- | |- | ||
|<code>target</code> | |<code>target</code> | ||
|Byte | |Byte | ||
|1 | |1 | ||
| | |ID of the [[#Animation Target Table]] | ||
|- | |- | ||
|<code>targetSpec</code> | |<code>targetSpec</code> | ||
Line 307: | Line 305: | ||
|Byte | |Byte | ||
|1 | |1 | ||
|The index of the gender for the word | |The index of the gender for the word | ||
|- | |- | ||
|<code>indefArticle</code> | |<code>indefArticle</code> | ||
|Byte | |Byte | ||
|1 | |1 | ||
|The index of the indefinite article for the word | |The index of the indefinite article for the word | ||
|- | |- | ||
|<code>defArticle</code> | |<code>defArticle</code> | ||
|Byte | |Byte | ||
|1 | |1 | ||
|The index of the definite article for the word | |The index of the definite article for the word | ||
|- | |- | ||
|50 | |50 | ||
Line 479: | Line 477: | ||
| | | | ||
|- | |- | ||
| rowspan=" | | rowspan="4" |50 | ||
| rowspan=" | | rowspan="4" |17 | ||
| rowspan=" | | rowspan="4" |<code>gender8</code> | ||
| rowspan=" | | rowspan="4" |Contains gender information about the next word. | ||
| colspan="4" |''(first 4 bytes contain additional data)'' | |||
|- | |||
|<code>m</code> | |<code>m</code> | ||
|String | |String | ||
Line 572: | Line 572: | ||
| | | | ||
|- | |- | ||
| rowspan=" | | rowspan="5" |50 | ||
| rowspan=" | | rowspan="5" |24 | ||
| rowspan=" | | rowspan="5" |<code>gender7</code> | ||
| rowspan=" | | rowspan="5" |Contains gender information about the next word (only in <code>EUru</code>). | ||
| colspan="4" |''(first 4 bytes contain additional data)'' | |||
|- | |||
|<code>m</code> | |<code>m</code> | ||
|String | |String | ||
Line 646: | Line 648: | ||
| | | | ||
|- | |- | ||
|60 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|1 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|2 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|3 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|4 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|7 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|8 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|10 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|11 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|12 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|13 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|14 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|15 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|16 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|19 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|20 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|21 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|22 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|23 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|26 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|27 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|28 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|29 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|31 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|60 | |||
|32 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|70 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|80 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|80 | |||
|1 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|80 | |||
|2 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|80 | |||
|3 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|80 | |||
|4 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|85 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|85 | |||
|1 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|85 | |||
|2 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|85 | |||
|3 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|85 | |||
|4 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|90 | |||
|x | |||
|<code>number</code> | |||
|Displays the value of a specified type of number. <code>x</code> is the ID of the [[#Number Table]]. | |||
|<code>value</code> | |||
|Byte | |||
|1 | |||
|ID of the [[#Number Table]] (not part of the argument byte data) | |||
|- | |||
|100 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|100 | |||
|1 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|100 | |||
|2 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|100 | |||
|3 | |||
|<code>planeAnnounce</code> | |||
|''Unknown'' | |||
|<code>value</code> | |||
|Byte | |||
|1 | |||
|ID of the [[#Plane Announce Table]] | |||
|- | |||
|100 | |||
|4 | |||
| - | |||
|''Unknown'' | |||
| | | | ||
| | | | ||
Line 655: | Line 1,026: | ||
| | | | ||
|- | |- | ||
|100 | |||
|5 | |||
| - | |||
|''Unknown'' | |||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|100 | |||
|6 | |||
| - | |||
|''Unknown'' | |||
| | | | ||
| | | | ||
Line 664: | Line 1,044: | ||
| | | | ||
|- | |- | ||
|100 | |||
|7 | |||
| - | |||
|''Unknown'' | |||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|100 | |||
|8 | |||
| - | |||
|''Unknown'' | |||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
|- | |||
|100 | |||
|9 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|100 | |||
|10 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|110 | |||
|x | |||
|<code>string</code> | |||
|Displays the value of a specified string. <code>x</code> is the ID of the [[#String Table]]. | |||
|<code>value</code> | |||
|Byte | |||
|1 | |||
|ID of the [[#String Table]] (not part of the argument byte data) | |||
|- | |||
|115 | |||
|x | |||
|<code>selection</code> | |||
|Displays the value/name of a selected object. <code>x</code> is the ID of the [[#Selection Table]]. | |||
|<code>value</code> | |||
|Byte | |||
|1 | |||
|ID of the [[#Selection Table]] (not part of the argument byte data) | |||
|- | |||
|125 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|1 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|2 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|3 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|4 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|5 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|6 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|7 | |||
|<code>ftrColor</code> | |||
|Color of a (furniture) item. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|8 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|125 | |||
|9 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|130 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|0 | |||
|randomBook | |||
|Displays a random book name pulled from <code>STR_Book</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|1 | |||
|randomDrink | |||
|Displays a random drink name pulled from <code>STR_Drink</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|2 | |||
|randomFlower | |||
|Displays a random flower name pulled from <code>STR_Flower</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|3 | |||
|randomFood | |||
|Displays a random food name pulled from <code>STR_Food</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|4 | |||
|randomMusic | |||
|Displays a random music genre name pulled from <code>STR_Music</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|5 | |||
|randomObj | |||
|Displays a random object name pulled from <code>STR_Obj</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|6 | |||
|randomSports | |||
|Displays a random sports name pulled from <code>STR_Sports</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|7 | |||
|randomSweets | |||
|Displays a random sweets name pulled from <code>STR_Sweets</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|8 | |||
|randomHobby | |||
|Displays a random hobby name pulled from <code>STR_Hobby</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|9 | |||
|randomKKSong | |||
|Displays a random K.K. song title pulled from <code>STR_ItemName_82_Music</code>. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|135 | |||
|13 | |||
|randomMuseum | |||
|Displays a random museum art/critter/fossil name pulled from <code>STR_ItemName_01_Art</code>, <code>STR_ItemName_30_Insect</code>, <code>STR_ItemName_31_Fish</code> or <code>STR_ItemName_34_Fossil</code>. | |||
|<code>type</code> | |||
|Byte | |||
|1 | |||
|ID of the [[#Museum Table]] | |||
|- | |||
|140 | |||
|0 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|3 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|4 | |||
|<code>hhaRank</code> | |||
|Displays the HHA rank (pulls from <code>STR_HHA_Rank</code>). | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|5 | |||
|<code>hhaStyle</code> | |||
|Displays the name of a HHA style (pulls from <code>STR_HHA_Situation</code>). | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|6 | |||
|<code>hhaSet</code> | |||
|Displays the name of a furniture item set (pulls from <code>STR_HHA_Set</code>). | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|7 | |||
|<code>hhaTheme</code> | |||
|Displays the name of a HHA theme (pulls from <code>STR_HHA_Theme</code>). | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|8 | |||
|<code>hhaRoomName</code> | |||
|Displays the name of a room in the player house (pulls from <code>STR_HHA_RoomLocation</code>). | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|9 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|10 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|11 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|12 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|13 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|14 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|15 | |||
|<code>creatorId</code> | |||
|Displays the ID of a custom design creator. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|16 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|17 | |||
|<code>designId</code> | |||
|Displays the ID of a custom design. | |||
| - | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|18 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|19 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|20 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|21 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|22 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|23 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|25 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
|140 | |||
|26 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| rowspan="8" |198 | |||
| rowspan="8" |0 | |||
| rowspan="8" |<code>delayByPersonality</code> | |||
| rowspan="8" |Delays text rendering for a set number of frames depending on the personality of the villager. | |||
|<code>boy_normal</code> | |||
|Unsigned Short | |||
|2 | |||
|Lazy villagers | |||
|- | |||
|<code>boy_active</code> | |||
|Unsigned Short | |||
|2 | |||
|Jock villagers | |||
|- | |||
|<code>boy_pride</code> | |||
|Unsigned Short | |||
|2 | |||
|Smug villagers | |||
|- | |||
|<code>boy_snobby</code> | |||
|Unsigned Short | |||
|2 | |||
|Cranky villagers | |||
|- | |||
|<code>girl_normal</code> | |||
|Unsigned Short | |||
|2 | |||
|Normal villagers | |||
|- | |||
|<code>girl_active</code> | |||
|Unsigned Short | |||
|2 | |||
|Peppy villagers | |||
|- | |||
|<code>girl_pride</code> | |||
|Unsigned Short | |||
|2 | |||
|Snooty villagers | |||
|- | |||
|<code>girl_big_sis</code> | |||
|Unsigned Short | |||
|2 | |||
|Big sister villagers | |||
|- | |||
|199 | |||
|3 | |||
| - | |||
|''Unknown'' | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| colspan="8" |''This table only contains the used functions. Other functions may exist but are not found in current MSBT files.'' | |||
|} | |} | ||
Line 962: | Line 1,856: | ||
|<code>TkkQuestionMark</code> | |<code>TkkQuestionMark</code> | ||
|<code>QuestionMark</code> animation for K.K. | |<code>QuestionMark</code> animation for K.K. | ||
|} | |||
=== Animation Target Table === | |||
{| class="wikitable" | |||
!ID | |||
!Name | |||
!Description | |||
|- | |||
|0 | |||
|<code>actor</code> | |||
|The currently talking/acting NPC | |||
|- | |||
|1 | |||
|<code>player</code> | |||
|The player | |||
|- | |||
|2 | |||
|<code>mainNpc</code> | |||
|The main NPC in a conversation between NPCs | |||
|- | |||
|3 | |||
|<code>subNpc</code> | |||
|The sub NPC in a conversation between NPCs | |||
|} | |||
=== Number Table === | |||
{| class="wikitable" | |||
!ID | |||
!Name | |||
!Description | |||
|- | |||
|2 | |||
|<code>Count</code> | |||
|Some kind of amount/count of things | |||
|- | |||
|8 | |||
|<code>HHAPoints</code> | |||
|HHA points value | |||
|- | |||
|17 | |||
|<code>Bells</code> | |||
|Bells amount value | |||
|- | |||
|20 | |||
|<code>TurnipPrice</code> | |||
|Turnip price value | |||
|- | |||
|22 | |||
|<code>Amount</code> | |||
|? | |||
|- | |||
|26 | |||
|<code>BuyPrice</code> | |||
|Buy price value | |||
|- | |||
|34 | |||
|<code>Year</code> | |||
|Year value | |||
|- | |||
|35 | |||
|<code>Month</code> | |||
|Month value | |||
|- | |||
|36 | |||
|<code>Day</code> | |||
|Day value | |||
|- | |||
|37 | |||
|<code>Hour</code> | |||
|Hour value | |||
|- | |||
|38 | |||
|<code>Minute</code> | |||
|Minute value | |||
|- | |||
| colspan="3" |''This table is not complete.'' | |||
|} | |||
=== Plane Announce Table === | |||
{| class="wikitable" | |||
!ID | |||
!Name | |||
!Description | |||
|- | |||
|0 | |||
|<code>Katsu</code> | |||
| | |||
|- | |||
|1 | |||
|<code>PlaneAnnounceOn</code> | |||
| | |||
|- | |||
|2 | |||
|<code>PlaneAnnounceOff</code> | |||
| | |||
|} | |||
=== String Table === | |||
{| class="wikitable" | |||
!ID | |||
!Name | |||
!Description | |||
|- | |||
|0 | |||
|<code>...</code> | |||
|Appears to pull the message with the label <code>001</code> from <code>STR_FixedForm</code> | |||
|- | |||
|1 | |||
|<code>PlayerName</code> | |||
|The name of the player | |||
|- | |||
|3 | |||
|<code>NickName</code> | |||
|The nickname of the player (pulls from custom table or <code>STR_Nickname</code>) | |||
|- | |||
|5 | |||
|<code>Catchphrase</code> | |||
|The catchphrase of the villager (pulls from custom table or <code>STR_NNpcPhrase</code>) | |||
|- | |||
|8 | |||
|<code>OtherIslandName</code> | |||
|The name of an other island | |||
|- | |||
|9 | |||
|<code>IslandName</code> | |||
|The name of the current island | |||
|- | |||
|10 | |||
|<code>VillagerName</code> | |||
|The name of the villager (pulls from <code>STR_NNpcName</code>) | |||
|- | |||
|15 | |||
|<code>VillagerRace</code> | |||
|The race of the villager (pulls from <code>STR_Race</code>) | |||
|- | |||
| colspan="3" |''This table is not complete.'' | |||
|} | |||
=== Selection Table === | |||
{| class="wikitable" | |||
!ID | |||
!Name | |||
!Description | |||
|- | |||
|0 | |||
|SelectedName | |||
|Any selected name value | |||
|- | |||
|1 | |||
|SelectedVillager | |||
|Name of the selected villager | |||
|- | |||
|2 | |||
|SelectedIslandName | |||
|Selected island name | |||
|- | |||
|3 | |||
|SelectedDesignName | |||
|Name of the selected design | |||
|} | |||
=== Museum Table === | |||
{| class="wikitable" | |||
!ID | |||
!Name | |||
!Description | |||
|- | |||
|0 | |||
|fish | |||
|Fish critters (no sea creatures) | |||
|- | |||
|1 | |||
|insect | |||
|Bug critters | |||
|- | |||
|2 | |||
|fossil | |||
|Fossil items | |||
|- | |||
|3 | |||
|art | |||
|Art items | |||
|} | |} | ||
[[Category:New Horizons]] | [[Category:New Horizons]] |
Revision as of 17:16, 21 September 2021
MSBT Functions
The following table contains all used MSBT functions in Animal Crossing: New Horizons. The purpose of some functions is still unknown and therefore the functions lack a proper name.
String arguments always contain their length as the first byte of the argument data.
Type | Sub-Type | Name | Description | Arguments | |||
---|---|---|---|---|---|---|---|
Name | Data-Type | Size | Description | ||||
0 | 0 | ruby
|
Renders an annotation text over a specified number of characters. Typically used in the Japanese localization. | charSpan
|
Unsigned Short | 2 | The number of characters over which the annotation is centered |
value
|
String | n | The value of the annotation | ||||
0 | 1 | - | Unknown | ||||
0 | 2 | size
|
Changes the text/font size of the text. | value
|
Unsigned Short | 2 | The new font size to use from this point until the next font change or end of message |
0 | 3 | color
|
Changes the color of the text. | id
|
Unsigned Short | 2 | The id of the color to use from this point until the next color change or end of message |
0 | 4 | pageBreak
|
Breaks the current text and causes the dialog to pause/wait for user input before clearing the display and rendering the next parts. | - | |||
10 | 0 | delay
|
Delays text rendering for a set number of frames. | frames
|
Unsigned Short | 2 | The number of frames to delay for |
10 | 1 | delay8
|
Delays text rendering for 8 frames. | - | |||
10 | 2 | delay20
|
Delays text rendering for 20 frames. | - | |||
10 | 3 | delay40
|
Delays text rendering for 40 frames. | - | |||
10 | 4 | - | Unknown | ||||
10 | 5 | - | Unknown | ||||
10 | 6 | - | Unknown | ||||
10 | 7 | - | Unknown | ||||
10 | 8 | - | Unknown | ||||
10 | 9 | - | Unknown | ||||
10 | 10 | - | Unknown | ||||
10 | 11 | - | Unknown | ||||
10 | 12 | - | Unknown | ||||
10 | 13 | - | Unknown | ||||
10 | 14 | - | Unknown | ||||
10 | 15 | setNpcTalkChoices
|
Sets chat/talk choices for NPCs. | chatOption
|
Byte | 1 | Unknown |
cancelOption
|
Byte | 1 | Unknown | ||||
10 | 16 | - | Unknown | ||||
15 | 0 | endTag
|
Indicates the end of a message string. | (first 4 bytes contain additional data) | |||
20 | 0 | - | Unknown | ||||
20 | 1 | - | Unknown | ||||
20 | 2 | - | Unknown | ||||
20 | 3 | - | Unknown | ||||
40 | x | anim
|
Triggers a NPC animation. x is the ID of the #NPC Animation Table.
|
id
|
Byte | 1 | ID of the #NPC Animation Table (not part of the argument byte data) |
target
|
Byte | 1 | ID of the #Animation Target Table | ||||
45 | x | snpcAnim
|
Triggers a NPC animation for special NPCs. x is the ID of the #Special NPC Animation Table.
|
id
|
Byte | 1 | ID of the #Special NPC Animation Table (not part of the argument byte data) |
target
|
Byte | 1 | ID of the #Animation Target Table | ||||
targetSpec
|
String | n | Unknown | ||||
50 | 0 | wordInfo
|
Contains information about the next word (usually item names). The indices for the articles refer to MSBT messages found in the STR_Article file.
|
gender
|
Byte | 1 | The index of the gender for the word |
indefArticle
|
Byte | 1 | The index of the indefinite article for the word | ||||
defArticle
|
Byte | 1 | The index of the definite article for the word | ||||
50 | 1 | - | Unknown | ||||
50 | 2 | wordArticle
|
Inserts the proper article for a subsequent word (usually item names). The data for this is usually encoded into the source MSBT of the word. | - | |||
50 | 3 | capitalizeNextLetter
|
Capitalizes the first letter of the next word (unconfirmed). | - | |||
50 | 4 | capitalizeNextWord
|
Capitalizes the next word. | - | |||
50 | 5 | gender1
|
Contains gender information about the next word. | m
|
String | n | Masculine |
f
|
String | n | Feminine | ||||
50 | 6 | gender2
|
Contains gender information about the next word. | m
|
String | n | Masculine |
f
|
String | n | Feminine | ||||
50 | 7 | gender3
|
Contains gender information about the next word. | m
|
String | n | Masculine |
f
|
String | n | Feminine | ||||
50 | 8 | - | Unknown | ||||
50 | 9 | - | Unknown | ||||
50 | 10 | gender4
|
Contains gender information about the next word. | m
|
String | n | Masculine |
f
|
String | n | Feminine | ||||
50 | 11 | - | Unknown | ||||
50 | 13 | - | Unknown | ||||
50 | 14 | gender5
|
Contains gender information about the next word (only in KRko ).
|
m
|
String | n | Masculine |
f
|
String | n | Feminine | ||||
50 | 15 | - | Unknown | ||||
50 | 16 | - | Unknown | ||||
50 | 17 | gender8
|
Contains gender information about the next word. | (first 4 bytes contain additional data) | |||
m
|
String | n | Masculine | ||||
f
|
String | n | Feminine | ||||
n
|
String | n | Neuter | ||||
50 | 18 | - | Unknown | ||||
50 | 19 | - | Unknown | ||||
50 | 20 | gender6
|
Contains gender information about the next word. | m
|
String | n | Masculine |
f
|
String | n | Feminine | ||||
50 | 21 | - | Unknown | ||||
50 | 22 | wordCase
|
Contains information about the grammatical case of the word (only in EUde , EUnl and EUru ).
|
nom
|
String | n | Nominative |
acc
|
String | n | Accusative | ||||
dat
|
String | n | Dative | ||||
gen
|
String | n | Genitive | ||||
50 | 23 | - | Unknown | ||||
50 | 24 | gender7
|
Contains gender information about the next word (only in EUru ).
|
(first 4 bytes contain additional data) | |||
m
|
String | n | Masculine | ||||
f
|
String | n | Feminine | ||||
n
|
String | n | Neuter | ||||
pl
|
String | n | Plural | ||||
50 | 25 | weatherArea
|
Contains information about the current weather for both hemispheres. | north
|
String | n | Northern hemisphere weather |
south
|
String | n | Southern hemisphere weather | ||||
50 | 26 | - | Unknown | ||||
50 | 27 | - | Unknown | ||||
50 | 28 | - | Unknown | ||||
50 | 29 | - | Unknown | ||||
60 | 0 | - | Unknown | ||||
60 | 1 | - | Unknown | ||||
60 | 2 | - | Unknown | ||||
60 | 3 | - | Unknown | ||||
60 | 4 | - | Unknown | ||||
60 | 7 | - | Unknown | ||||
60 | 8 | - | Unknown | ||||
60 | 10 | - | Unknown | ||||
60 | 11 | - | Unknown | ||||
60 | 12 | - | Unknown | ||||
60 | 13 | - | Unknown | ||||
60 | 14 | - | Unknown | ||||
60 | 15 | - | Unknown | ||||
60 | 16 | - | Unknown | ||||
60 | 19 | - | Unknown | ||||
60 | 20 | - | Unknown | ||||
60 | 21 | - | Unknown | ||||
60 | 22 | - | Unknown | ||||
60 | 23 | - | Unknown | ||||
60 | 26 | - | Unknown | ||||
60 | 27 | - | Unknown | ||||
60 | 28 | - | Unknown | ||||
60 | 29 | - | Unknown | ||||
60 | 31 | - | Unknown | ||||
60 | 32 | - | Unknown | ||||
70 | 0 | - | Unknown | ||||
80 | 0 | - | Unknown | ||||
80 | 1 | - | Unknown | ||||
80 | 2 | - | Unknown | ||||
80 | 3 | - | Unknown | ||||
80 | 4 | - | Unknown | ||||
85 | 0 | - | Unknown | ||||
85 | 1 | - | Unknown | ||||
85 | 2 | - | Unknown | ||||
85 | 3 | - | Unknown | ||||
85 | 4 | - | Unknown | ||||
90 | x | number
|
Displays the value of a specified type of number. x is the ID of the #Number Table.
|
value
|
Byte | 1 | ID of the #Number Table (not part of the argument byte data) |
100 | 0 | - | Unknown | ||||
100 | 1 | - | Unknown | ||||
100 | 2 | - | Unknown | ||||
100 | 3 | planeAnnounce
|
Unknown | value
|
Byte | 1 | ID of the #Plane Announce Table |
100 | 4 | - | Unknown | ||||
100 | 5 | - | Unknown | ||||
100 | 6 | - | Unknown | ||||
100 | 7 | - | Unknown | ||||
100 | 8 | - | Unknown | ||||
100 | 9 | - | Unknown | ||||
100 | 10 | - | Unknown | ||||
110 | x | string
|
Displays the value of a specified string. x is the ID of the #String Table.
|
value
|
Byte | 1 | ID of the #String Table (not part of the argument byte data) |
115 | x | selection
|
Displays the value/name of a selected object. x is the ID of the #Selection Table.
|
value
|
Byte | 1 | ID of the #Selection Table (not part of the argument byte data) |
125 | 0 | - | Unknown | ||||
125 | 1 | - | Unknown | ||||
125 | 2 | - | Unknown | ||||
125 | 3 | - | Unknown | ||||
125 | 4 | - | Unknown | ||||
125 | 5 | - | Unknown | ||||
125 | 6 | - | Unknown | ||||
125 | 7 | ftrColor
|
Color of a (furniture) item. | - | |||
125 | 8 | - | Unknown | ||||
125 | 9 | - | Unknown | ||||
130 | 0 | - | Unknown | ||||
135 | 0 | randomBook | Displays a random book name pulled from STR_Book .
|
- | |||
135 | 1 | randomDrink | Displays a random drink name pulled from STR_Drink .
|
- | |||
135 | 2 | randomFlower | Displays a random flower name pulled from STR_Flower .
|
- | |||
135 | 3 | randomFood | Displays a random food name pulled from STR_Food .
|
- | |||
135 | 4 | randomMusic | Displays a random music genre name pulled from STR_Music .
|
- | |||
135 | 5 | randomObj | Displays a random object name pulled from STR_Obj .
|
- | |||
135 | 6 | randomSports | Displays a random sports name pulled from STR_Sports .
|
- | |||
135 | 7 | randomSweets | Displays a random sweets name pulled from STR_Sweets .
|
- | |||
135 | 8 | randomHobby | Displays a random hobby name pulled from STR_Hobby .
|
- | |||
135 | 9 | randomKKSong | Displays a random K.K. song title pulled from STR_ItemName_82_Music .
|
- | |||
135 | 13 | randomMuseum | Displays a random museum art/critter/fossil name pulled from STR_ItemName_01_Art , STR_ItemName_30_Insect , STR_ItemName_31_Fish or STR_ItemName_34_Fossil .
|
type
|
Byte | 1 | ID of the #Museum Table |
140 | 0 | - | Unknown | ||||
140 | 3 | - | Unknown | ||||
140 | 4 | hhaRank
|
Displays the HHA rank (pulls from STR_HHA_Rank ).
|
- | |||
140 | 5 | hhaStyle
|
Displays the name of a HHA style (pulls from STR_HHA_Situation ).
|
- | |||
140 | 6 | hhaSet
|
Displays the name of a furniture item set (pulls from STR_HHA_Set ).
|
- | |||
140 | 7 | hhaTheme
|
Displays the name of a HHA theme (pulls from STR_HHA_Theme ).
|
- | |||
140 | 8 | hhaRoomName
|
Displays the name of a room in the player house (pulls from STR_HHA_RoomLocation ).
|
- | |||
140 | 9 | - | Unknown | ||||
140 | 10 | - | Unknown | ||||
140 | 11 | - | Unknown | ||||
140 | 12 | - | Unknown | ||||
140 | 13 | - | Unknown | ||||
140 | 14 | - | Unknown | ||||
140 | 15 | creatorId
|
Displays the ID of a custom design creator. | - | |||
140 | 16 | - | Unknown | ||||
140 | 17 | designId
|
Displays the ID of a custom design. | - | |||
140 | 18 | - | Unknown | ||||
140 | 19 | - | Unknown | ||||
140 | 20 | - | Unknown | ||||
140 | 21 | - | Unknown | ||||
140 | 22 | - | Unknown | ||||
140 | 23 | - | Unknown | ||||
140 | 25 | - | Unknown | ||||
140 | 26 | - | Unknown | ||||
198 | 0 | delayByPersonality
|
Delays text rendering for a set number of frames depending on the personality of the villager. | boy_normal
|
Unsigned Short | 2 | Lazy villagers |
boy_active
|
Unsigned Short | 2 | Jock villagers | ||||
boy_pride
|
Unsigned Short | 2 | Smug villagers | ||||
boy_snobby
|
Unsigned Short | 2 | Cranky villagers | ||||
girl_normal
|
Unsigned Short | 2 | Normal villagers | ||||
girl_active
|
Unsigned Short | 2 | Peppy villagers | ||||
girl_pride
|
Unsigned Short | 2 | Snooty villagers | ||||
girl_big_sis
|
Unsigned Short | 2 | Big sister villagers | ||||
199 | 3 | - | Unknown | ||||
This table only contains the used functions. Other functions may exist but are not found in current MSBT files. |
NPC Animation Table
ID | Name | Description |
---|---|---|
0 | EmotEnd
|
|
1 | EmotEnd
|
|
2 | Smiling
|
|
3 | HappyFlower
|
|
4 | Love
|
|
5 | WrySmile
|
|
6 | FaintSmile
|
|
7 | BigSmile
|
|
8 | Angry
|
|
9 | Outraged
|
|
10 | Fuming
|
|
11 | Worried
|
|
12 | Sighing
|
|
13 | Thinking
|
|
14 | SadSpiral
|
|
15 | Frantic
|
|
16 | Crying
|
|
17 | BrokenHeart
|
|
18 | OhGeez
|
|
19 | Confused
|
|
20 | Laughing
|
|
21 | HappyDance
|
|
22 | Clapping
|
|
23 | Dance
|
|
24 | EmotEnd
|
|
25 | Shaki
|
|
26 | Shocked
|
|
27 | Aha
|
|
28 | TakenAback
|
|
29 | Surprised
|
|
30 | IdeaBulb
|
|
31 | Oops
|
|
32 | Cheering
|
|
33 | Greeting
|
|
34 | Greeting
|
|
35 | Apologize
|
|
36 | Hello
|
|
37 | Nodding
|
|
38 | QuestionMark
|
|
39 | Negative
|
|
40 | Assent
|
|
41 | Explain
|
|
42 | ColdChill
|
|
43 | Shaking
|
|
44 | Sneezing
|
|
45 | Hot
|
|
46 | Sleepy
|
|
47 | Sleep
|
|
48 | EmotEnd
|
|
49 | AbsentMindedness
|
|
50 | Blushing
|
|
51 | Scheming
|
|
52 | Hesitate
|
|
53 | SmugFace
|
|
54 | Grin
|
|
55 | ShyBoy
|
|
56 | Restless
|
|
57 | Serious
|
|
58 | Silent
|
|
59 | Pardon
|
|
60 | NpcShuffle
|
|
61 | NpcHoldout
|
Special NPC Animation Table
ID | Name | Description |
---|---|---|
0 | GulCollapsed
|
Collapsed animation for Gulliver and Gullivarrr
|
1 | GstSurprised
|
Surprised animation for Wisp
|
2 | DodWireless
|
Wireless animation for Orville and Wilbur
|
3 | DodRoger
|
Roger animation for Orville and Wilbur
|
4 | TkkEh
|
Eh animation for K.K.
|
5 | TkkNodding
|
Nodding animation for K.K.
|
6 | TkkQuestionMark
|
QuestionMark animation for K.K.
|
Animation Target Table
ID | Name | Description |
---|---|---|
0 | actor
|
The currently talking/acting NPC |
1 | player
|
The player |
2 | mainNpc
|
The main NPC in a conversation between NPCs |
3 | subNpc
|
The sub NPC in a conversation between NPCs |
Number Table
ID | Name | Description |
---|---|---|
2 | Count
|
Some kind of amount/count of things |
8 | HHAPoints
|
HHA points value |
17 | Bells
|
Bells amount value |
20 | TurnipPrice
|
Turnip price value |
22 | Amount
|
? |
26 | BuyPrice
|
Buy price value |
34 | Year
|
Year value |
35 | Month
|
Month value |
36 | Day
|
Day value |
37 | Hour
|
Hour value |
38 | Minute
|
Minute value |
This table is not complete. |
Plane Announce Table
ID | Name | Description |
---|---|---|
0 | Katsu
|
|
1 | PlaneAnnounceOn
|
|
2 | PlaneAnnounceOff
|
String Table
ID | Name | Description |
---|---|---|
0 | ...
|
Appears to pull the message with the label 001 from STR_FixedForm
|
1 | PlayerName
|
The name of the player |
3 | NickName
|
The nickname of the player (pulls from custom table or STR_Nickname )
|
5 | Catchphrase
|
The catchphrase of the villager (pulls from custom table or STR_NNpcPhrase )
|
8 | OtherIslandName
|
The name of an other island |
9 | IslandName
|
The name of the current island |
10 | VillagerName
|
The name of the villager (pulls from STR_NNpcName )
|
15 | VillagerRace
|
The race of the villager (pulls from STR_Race )
|
This table is not complete. |
Selection Table
ID | Name | Description |
---|---|---|
0 | SelectedName | Any selected name value |
1 | SelectedVillager | Name of the selected villager |
2 | SelectedIslandName | Selected island name |
3 | SelectedDesignName | Name of the selected design |
Museum Table
ID | Name | Description |
---|---|---|
0 | fish | Fish critters (no sea creatures) |
1 | insect | Bug critters |
2 | fossil | Fossil items |
3 | art | Art items |