List of Opcodes: Difference between revisions
Happylappy (talk | contribs) message_SwitchMenu bare minimum |
Happylappy (talk | contribs) m World Map Mode documentation |
||
| (17 intermediate revisions by 5 users not shown) | |||
| Line 382: | Line 382: | ||
|} | |} | ||
=== 0xf - back_SetWeatherEffect === | === 0xf - back_SetWeatherEffect === | ||
Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. | Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. Value 3 was previously used in S02P01A/m00a01a.ssb in Time/Darkness, for its iteration of the personality test. In Sky, its only use is in V00P02/m01a04a.ssb, which is a leftover test script used by the developers to test the visuals of the Time/Darkness iteration of the aura test. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 397: | Line 397: | ||
|Currently unknown. | |Currently unknown. | ||
|} | |} | ||
=== 0x10 - back_SetWeatherScrollOffset === | === 0x10 - back_SetWeatherScrollOffset === | ||
Currently unknown. This opcode is not used in the base game. | Currently unknown. This opcode is not used in the base game. | ||
| Line 927: | Line 928: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 946: | Line 947: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 965: | Line 966: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,004: | Line 1,005: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 1,121: | Line 1,122: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,140: | Line 1,141: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,159: | Line 1,160: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,198: | Line 1,199: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 1,281: | Line 1,282: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,298: | Line 1,299: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,315: | Line 1,316: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,354: | Line 1,355: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 1,467: | Line 1,468: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,484: | Line 1,485: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,501: | Line 1,502: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|} | |} | ||
| Line 1,540: | Line 1,541: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 1,835: | Line 1,836: | ||
|2 | |2 | ||
|uint | |uint | ||
| | |table_ID | ||
|Some | |Some item tables related to Spinda's Cafe. | ||
|} | |} | ||
The table IDs themselves are as follows. Values above 15 are currently unknown and untested. | |||
{| class="wikitable" | |||
!# | |||
!Description | |||
!# | |||
!Description | |||
|- | |||
|0 | |||
|Sky Gift Item Pool | |||
|8 | |||
|Silver Ticket Win Pool | |||
|- | |||
|1 | |||
|Numel "Give" Item Pool | |||
|9 | |||
|Silver Ticket Big Win Pool | |||
|- | |||
|2 | |||
|Numel "Recieve" Item Pool | |||
|10 | |||
|Gold Ticket Loss Pool | |||
|- | |||
|3 | |||
|Happiny Lost Item Pool | |||
|11 | |||
|Gold Ticket Win Pool | |||
|- | |||
|4 | |||
|Prize Ticket Loss Pool | |||
|12 | |||
|Gold Ticket Big Win Pool | |||
|- | |||
|5 | |||
|Prize Ticket Win Pool | |||
|13 | |||
|Prism Ticket Loss Pool | |||
|- | |||
|6 | |||
|Prize Ticket Big Win Pool | |||
|14 | |||
|Prism Ticket Win Pool | |||
|- | |||
|7 | |||
|Silver Ticket Loss Pool | |||
|15 | |||
|Prism Ticket Big Win Pool | |||
|} | |||
=== 0x86 - item_SetVariable === | === 0x86 - item_SetVariable === | ||
Saves the value of a script variable to an item slot. Items in slot 0 may also be added to the player's bag and storage with hardcoded menus, such as <code>message_Menu(MENU_GIVE_ITEM);</code> and <code>message_Menu(MENU_GIVE_ITEM2);</code>, respectively. Additionally, the text tag <code>[s_item:X]</code> will display the item's name, where X is the item slot number. | Saves the value of a script variable to an item slot. Items in slot 0 may also be added to the player's bag and storage with hardcoded menus, such as <code>message_Menu(MENU_GIVE_ITEM);</code> and <code>message_Menu(MENU_GIVE_ITEM2);</code>, respectively. Additionally, the text tag <code>[s_item:X]</code> will display the item's name, where X is the item slot number. | ||
| Line 2,503: | Line 2,552: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,532: | Line 2,581: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,581: | Line 2,630: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,629: | Line 2,678: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,658: | Line 2,707: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,687: | Line 2,736: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,716: | Line 2,765: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,764: | Line 2,813: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,812: | Line 2,861: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,841: | Line 2,890: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,870: | Line 2,919: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
|- | |- | ||
|2 | |2 | ||
| Line 2,898: | Line 2,947: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
|- | |- | ||
|2 | |2 | ||
| Line 2,921: | Line 2,970: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,950: | Line 2,999: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 2,974: | Line 3,023: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 3,027: | Line 3,076: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 3,051: | Line 3,100: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 3,104: | Line 3,153: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 3,172: | Line 3,221: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
| Line 4,695: | Line 4,744: | ||
|} | |} | ||
=== 0x102 - SetEffect === | === 0x102 - SetEffect === | ||
Plays back an [[List of Effect Animations|effect animation]] assigned to an actor or performer. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 4,708: | Line 4,757: | ||
|Effect | |Effect | ||
|effect_id | |effect_id | ||
| | |The ID of a given effect. | ||
|- | |- | ||
|2 | |2 | ||
|uint | |uint | ||
|position_marker_id? | |position_marker_id? | ||
| | |Set to one of the following character sprite offsets: | ||
0: Head<br>1: Right Hand<br>2: Left Hand<br>3: Center<br>4: No offset (bottom of sprite) | |||
|} | |} | ||
=== 0x103 - SetFunctionAttribute === | === 0x103 - SetFunctionAttribute === | ||
<TO DO: Opcode description> | <TO DO: Opcode description> | ||
| Line 4,790: | Line 4,841: | ||
|} | |} | ||
=== 0x107 - SetOutputAttribute === | === 0x107 - SetOutputAttribute === | ||
Sets certain bits of an entity's (i.e., an actor, object, or performer) "output" attribute to 1. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters | |+Parameters | ||
| Line 4,802: | Line 4,852: | ||
|1 | |1 | ||
|bitfield | |bitfield | ||
| | |output_bitfield | ||
| | | | ||
# Underlay below entities. | |||
# Overlay above entities. | |||
# Overlay above the current Map Background's Layer 2. | |||
# Overlay above the game's canvas system, which includes the textbox, portrait, and some <code>screen_</code> commands that do not end in <code>All</code>. | |||
# Flicker. | |||
# Transparency. | |||
# Invisibility. | |||
# Displays shadow. | |||
|} | |} | ||
=== 0x108 - SetPosition === | === 0x108 - SetPosition === | ||
| Line 4,960: | Line 5,018: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
|2 | |2 | ||
| Line 4,987: | Line 5,045: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
|2 | |2 | ||
| Line 5,036: | Line 5,094: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed. | |Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
|2 | |2 | ||
| Line 5,422: | Line 5,480: | ||
|uint | |uint | ||
|speed | |speed | ||
|Movement speed. Higher values result in a faster speed | |Movement speed. Higher values result in a faster speed. | ||
Values starting at 32770 and above will be slower than a value of 1. | Values starting at 32770 and above will be slower than a value of 1. | ||
|- | |- | ||
| Line 5,576: | Line 5,634: | ||
|Level | |Level | ||
|level | |level | ||
| | |Map LEVEL the script should be located in. | ||
|- | |- | ||
|2 | |2 | ||
|ConstString | |ConstString | ||
|script_id | |script_id | ||
| | |Name of the script itself, only the first 8 characters are read. | ||
|- | |- | ||
|3 | |3 | ||
|uint | |uint | ||
| | |script_sector | ||
| | |The "sector" of the script, and the value <code>switch(sector())</code> will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not. | ||
|} | |} | ||
=== 0x12d - supervision_ExecuteActingSub === | === 0x12d - supervision_ExecuteActingSub === | ||
Loads a specified Acting script from the specified level from within Unionall | Loads a specified Acting script from the specified level from within Unionall. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 5,603: | Line 5,661: | ||
|Level | |Level | ||
|level | |level | ||
| | |Map LEVEL the script should be located in. | ||
|- | |- | ||
|2 | |2 | ||
|ConstString | |ConstString | ||
|script_id | |script_id | ||
| | |Name of the script itself, only the first 8 characters are read. | ||
|- | |- | ||
|3 | |3 | ||
|uint | |uint | ||
| | |script_sector | ||
| | |The "sector" of the script, and the value <code>switch(sector())</code> will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not. | ||
|} | |} | ||
| Line 6,549: | Line 6,607: | ||
=== 0x174 - worldmap_ChangeLevel === | === 0x174 - worldmap_ChangeLevel === | ||
Causes the clouds parting animation on the world map, presumably hardcoded by vanilla use-case. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 6,561: | Line 6,619: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |world_map_level | ||
| | |Level to transition the world map state to. | ||
|} | |} | ||
=== 0x175 - worldmap_DeleteArrow === | === 0x175 - worldmap_DeleteArrow === | ||
| Line 6,583: | Line 6,641: | ||
|uint | |uint | ||
|world_map_marker_id | |world_map_marker_id | ||
| | |The world map id to move the camera to. | ||
|} | |} | ||
| Line 6,609: | Line 6,667: | ||
=== 0x179 - worldmap_SetCamera === | === 0x179 - worldmap_SetCamera === | ||
Centers the world map camera on a specific world map marker. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 6,621: | Line 6,679: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |world_map_marker_id | ||
| | |The world map id to set the camera to. | ||
|} | |} | ||
=== 0x17a - worldmap_SetLevel === | === 0x17a - worldmap_SetLevel === | ||
Sets the current world map state. Additionally updates $WORLD_MAP_LEVEL | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 6,637: | Line 6,695: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |world_map_level | ||
| | |Level to assign the world map state to. | ||
|} | |} | ||
=== 0x17b - worldmap_SetMark === | === 0x17b - worldmap_SetMark === | ||
Enables a yellow dot for the specified world map marker. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 6,653: | Line 6,711: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |world_map_marker_id | ||
| | |The world map id to enable the yellow dot for. | ||
|} | |} | ||
=== 0x17c - worldmap_SetMessage === | === 0x17c - worldmap_SetMessage === | ||
<TO DO: Opcode description> | <TO DO: Opcode description> | ||
Seemingly unused in vanilla. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 6,690: | Line 6,750: | ||
=== 0x17e - worldmap_SetMode === | === 0x17e - worldmap_SetMode === | ||
Sets the "mode" of the world map, to align with a particular purpose. | |||
Mode 1 seems to be for handling travel to a dungeon or area. | |||
Mode 2 is only used by debug scripts. | |||
Mode 3 is for handling moving clouds. | |||
Mode 4 is for cutscene use, or for showing where things are on a map. | |||
All other modes are unused. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 6,702: | Line 6,772: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |world_map_mode | ||
| | | | ||
|} | |} | ||
| Line 7,099: | Line 7,169: | ||
|} | |} | ||
=== 0x36 - BranchVariation === | === 0x36 - BranchVariation === | ||
Used for demo cutscenes. | |||
Jumps to the specified address if the first parameter is 0. On the demo version of the game, jumps if the first parameter is 3. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 7,112: | Line 7,184: | ||
|uint | |uint | ||
|param | |param | ||
| | |Unknown. Always 3. | ||
|- | |- | ||
|2 | |2 | ||
|uint | |uint | ||
|jump_address | |jump_address | ||
| | |Address to jump to. | ||
|} | |} | ||
=== 0x37 - Call === | === 0x37 - Call === | ||
| Line 7,612: | Line 7,684: | ||
|} | |} | ||
=== 0xaa - message_SwitchMenu === | === 0xaa - message_SwitchMenu === | ||
Enclose within a switch case, and generates a dialogue prompt with the options present in subsequent "case menu():" | Enclose within a switch case, and generates a dialogue prompt with the options present in subsequent "case menu("text"):" | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 7,624: | Line 7,696: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |cancel | ||
| | |If player can use the B button to back out of a menu. 0 for false, 1 for true. | ||
|- | |- | ||
|2 | |2 | ||
|uint | |uint | ||
| | |init | ||
| | |Entry number to start the cursor at, starting at 1 | ||
|} | |} | ||
=== 0xab - message_SwitchMenu2 === | === 0xab - message_SwitchMenu2 === | ||
Same as message_SwitchMenu, but it also takes an argument for a bitfield, and will only display dialogue options for which the corresponding bit is enabled. | Same as message_SwitchMenu, but it also takes an argument for a bitfield, and will only display dialogue options for which the corresponding bit is enabled (set to 1). | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 7,645: | Line 7,717: | ||
|1 | |1 | ||
|uint | |uint | ||
| | |cancel | ||
| | |If player can use the B button to back out of a menu. 0 for false, 1 for true. | ||
|- | |- | ||
|2 | |2 | ||
|uint | |uint | ||
| | |init | ||
| | |Entry number to start the cursor at, starting at 1 | ||
|- | |- | ||
|3 | |3 | ||
| Line 7,659: | Line 7,731: | ||
|} | |} | ||
=== 0xac - message_SwitchMonologue === | === 0xac - message_SwitchMonologue === | ||
< | Structured similarly to a switch statement. Typically uses <code>$HERO_TALK_KIND</code> as an argument, and uses multiple cases to display certain dialogue strings. | ||
<code>case 4:</code> used when the player is male or genderless | |||
<code>case 5:</code> used when the player is female | |||
<code>default:</code> used when <code>$HERO_TALK_KIND</code>'s Talk Group has a value other than 4 or 5 | |||
This opcode supports displaying a portrait. No sound effect is used when text is scrolling. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 7,672: | Line 7,752: | ||
|GameVar | |GameVar | ||
|var | |var | ||
| | |<code>$x_TALK_KIND</code>, contains Talk Group number | ||
|} | |} | ||
=== 0xad - message_SwitchTalk === | === 0xad - message_SwitchTalk === | ||
< | Same as _SwitchMonologue, but typically uses <code>$PARTNER_TALK_KIND</code> as an argument, and the cases used vary. | ||
Of the vanilla game partner options: | |||
<code>case 1:</code> used if Squirtle, Tododile, Chimchar, Meowth, or Munchlax | |||
<code>case 2:</code> used for all other male partners | |||
<code>case 3:</code> used for all female partners | |||
<code>default:</code> used when <code>$PARTNER_TALK_KIND</code>'s Talk Group has a value other than 1, 2, or 3 | |||
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text. | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 7,688: | Line 7,780: | ||
|GameVar | |GameVar | ||
|var | |var | ||
| | |<code>$x_TALK_KIND</code>, contains Talk Group number | ||
|} | |} | ||
=== 0xc9 - object === | === 0xc9 - object === | ||