New Horizons:MSBT functions

From Animal Crossing Mods Wiki

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