List of Opcodes
The scripting engine used in Explorers of Sky has different opcodes. ExplorerScript translates most of them literally, preserving the same parameters and functionality. However, some opcodes are translated to ExplorerScript constructs, such as if statements.
This article documents the different opcodes, their purpose and parameters. The purpose of unkX parameters is unknown.
Relevant Opcodes
These opcodes can be directly called from ExplorerScript.
0x0 - Null
Does nothing.
No parameters.
0x1 - back_ChangeGround
Sets the Map Background from a Level without changing the chunks from the currently loaded Map Background. Entities such as actors, objects, and performers will not be deleted when this opcode is executed.
This has very few uses in the game—a notable use is how Wigglytuff's Chamber has its door open, as seen via LEVEL_G01P04A and LEVEL_G01P04A2.
# | Type | Name | Description |
---|---|---|---|
1 | Level | level_id | An entry in the Level List. This opcode will pull from the Level's Map Background. |
0x2 - back_SetBackEffect
Performs various effects related to the currently loaded Animation Palettes.
# | Type | Name | Description |
---|---|---|---|
1 | uint | effect |
|
0x3 - back_SetBackScrollOffset
Shifts the background by a certain number of pixels, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a "loop" effect, i.e., it has the appearance of scrolling forever.
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.
# | Type | Name | Description |
---|---|---|---|
1 | sint | offset0 | The number of pixels to shift either:
Which one the game performs for a given Level seems to be hardcoded. |
2 | sint | offset1 | The number of pixels to shift either:
Which one the game performs for a given Level seems to be hardcoded. |
0x4 - back_SetBackScrollSpeed
Continuously scrolls the background at a certain speed, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a "loop" effect, i.e., it has the appearance of scrolling forever.
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.
# | Type | Name | Description |
---|---|---|---|
1 | sint | speed0 | The speed to scroll either:
Which one the game performs for a given Level seems to be hardcoded. |
2 | sint | speed1 | The speed to scroll either:
Which one the game performs for a given Level seems to be hardcoded. |
0x5 - back_SetBanner
Displays broken text using the FONT/banner.bin:FONT/b_pal.bin
font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | sint | chapter_number | The chapter number displayed for the banner. A value of -1 will be "Final Chapter". |
2 | uint | unk1 | Currently unknown. |
0x6 - back_SetBanner2
Displays text using the FONT/banner.bin:FONT/b_pal.bin
font, editable in the Misc. Graphics tab of SkyTemple. This opcode is typically used for chapter introductions, which includes chapter text and a subtitle displayed over a Map Background. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | An entry in the Level List. This opcode will pull from the Level's Map Background. |
2 | uint | unk1 | Currently unknown. Typically, the game uses 0 for this parameter, but it seems to have no effect. |
3 | uint | x | The pixel position the camera will center the Map Background on its X-axis. |
4 | uint | y | The pixel position the camera will center the Map Background on its Y-axis. |
5 | sint | chapter_number | The chapter number displayed for the banner. A value of -1 will be "Final Chapter". |
6 | String | title | The title of the chapter, e.g., "A Storm At Sea" for Chapter 1. |
0x7 - back_SetEffect
Performs various effects related to the current Map Background's layers across a certain number of frames.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames used to play a given effect. |
2 | uint | effect |
|
0x8 - back_SetDungeonBanner
Displays a specific string using the FONT/banner.bin:FONT/b_pal.bin
font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon's back_SetDunegonBanner
string. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | uint | dungeon_id | The ID of a dungeon, as listed in the Dungeons tab of SkyTemple. |
2 | uint | unk1 | Currently unknown. Does not seem to affect much. |
0x9 - back_SetGround
Sets the Map Background from a Level. Upon using this opcode, the variable $GROUND_MAP will be updated to match the ID of the chosen Level. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | Level | level_id | An entry in the Level List. This opcode will pull from the Level's Map Background. |
0xa - back_SetSpecialEpisodeBanner
Displays text using the FONT/banner.bin:FONT/b_pal.bin
font, editable in the Misc. Graphics tab of SkyTemple. This opcode is used for Special Episodes 1-3. This opcode plays a short animation of a green line shooting across the screen, followed by text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | sint | episode_number | The episode number displayed for the banner. A value of -1 will be "Final Chapter". |
2 | String | title | The title of the episode, e.g., "Bidoof's Wish" for Special Episode 1. |
0xb - back_SetSpecialEpisodeBanner2
Displays text using the FONT/banner_c.bin:FONT/b_pal_r.bin
font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 4. This opcode features an elaborate animation featuring hearts and sparkles, along with text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | sint | episode_number | The episode number displayed for the banner. A value of -1 will be "Final Chapter". |
2 | String | title | The title of the episode, e.g., "Bidoof's Wish" for Special Episode 1. |
0xc - back_SetSpecialEpisodeBanner3
Displays text using the FONT/banner.bin:FONT/b_pal.bin
font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 5. This opcode features no animation, but the end result is similar to the opcode back_SetSpecialEpisodeBanner
. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | sint | episode_number | The episode number displayed for the banner. A value of -1 will be "Final Chapter". |
2 | String | title | The title of the episode, e.g., "Bidoof's Wish" for Special Episode 1. |
0xd - back_SetTitleBanner
Displays user-defined text using the FONT/banner.bin:FONT/b_pal.bin
font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.
# | Type | Name | Description |
---|---|---|---|
1 | uint | y | The Y-axis pixel position of the title. |
2 | String | title | The title displayed onscreen. |
0xe - back_SetWeather
Displays a weather effect that overlays the current Map Background.
# | Type | Name | Description |
---|---|---|---|
1 | sint | weather_id | Values of 0 and below mean no weather effect is to be displayed.
|
0xf - back_SetWeatherEffect
Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. Its only known use is in V00P02/m01a04a.ssb, which is a test script used by the developers.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
0x10 - back_SetWeatherScrollOffset
Currently unknown. This opcode is not used in the base game.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
2 | uint | unk1 | Currently unknown. |
0x11 - back_SetWeatherScrollSpeed
Currently unknown. This opcode is not used in the base game.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
2 | uint | unk1 | Currently unknown. |
0x12 - back2_SetBackEffect
The same as back_SetBackEffect
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | effect |
|
0x13 - back2_SetBackScrollOffset
The same as back_SetBackScrollOffset
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | sint | offset0 | The number of pixels to shift either:
Which one the game performs for a given Level seems to be hardcoded. |
2 | sint | offset1 | The number of pixels to shift either:
Which one the game performs for a given Level seems to be hardcoded. |
0x14 - back2_SetBackScrollSpeed
The same as back_SetBackScrollSpeed
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | sint | speed0 | The speed to scroll either:
Which one the game performs for a given Level seems to be hardcoded. |
2 | sint | speed1 | The speed to scroll either:
Which one the game performs for a given Level seems to be hardcoded. |
0x15 - back2_SetData
Currently unknown. This opcode is not used in the base game.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
2 | uint | unk1 | Currently unknown. |
0x16 - back2_SetEffect
The same as back_SetEffect
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames used to play a given effect. |
2 | uint | effect |
|
0x17 - back2_SetGround
Mostly the same as back_SetGround
, but for the Top Screen. This opcode only works if back2_SetMode(4);
is used prior to this opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Level | level_id | An entry in the Level List. This opcode will pull from the Level's Map Background. |
0x18 - back2_SetMode
Determines a hardcoded status of the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | sint | mode_id | A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld's current Top Screen setting.
|
0x19 - back2_SetSpecialActing
Currently unknown.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
2 | uint | unk1 | Currently unknown. |
3 | uint | unk2 | Currently unknown. |
0x1a - back2_SetWeather
The same as back_SetWeather
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | sint | weather_id | Values of 0 and below mean no weather effect is to be displayed.
|
0x1b - back2_SetWeatherEffect
Currently unknown. Potentially has similar functionality as back_SetWeatherEffect
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
0x1c - back2_SetWeatherScrollOffset
Currently unknown. Potentially has similar functionality as back_SetWeatherScrollOffset
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
2 | uint | unk1 | Currently unknown. |
0x1d - back2_SetWeatherScrollSpeed
Currently unknown. Potentially has similar functionality as back_SetWeatherScrollSpeed
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
2 | uint | unk1 | Currently unknown. |
0x1e - bgm_FadeOut
Fades out the BGM that is currently playing over a certain period of time on the first BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames used to fade out and silence a given BGM. |
0x1f - bgm_Play
Instantly plays a BGM on the first BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | Bgm | bgm_id | A music track defined in SOUND/BGM of the ROM. |
0x20 - bgm_PlayFadeIn
Starts playing a BGM over a certain period of time and at a certain volume on the first BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | Bgm | bgm_id | A music track defined in SOUND/BGM of the ROM. |
2 | uint | duration | The number of frames to fade in the BGM. |
3 | uint | volume | The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0. |
0x21 - bgm_Stop
Instantly stops the BGM that is currently playing on the first BGM track.
No parameters.
0x22 - bgm_ChangeVolume
Changes the volume of the BGM that is currently playing on the first BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames to change the BGM's volume. |
2 | uint | volume | The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0. |
0x23 - bgm2_FadeOut
Fades out the BGM that is currently playing over a certain period of time on the second BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames used to fade out and silence a given BGM. |
0x24 - bgm2_Play
Instantly plays a BGM on the second BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | Bgm | bgm_id | A music track defined in SOUND/BGM of the ROM. |
0x25 - bgm2_PlayFadeIn
Starts playing a BGM over a certain period of time and at a certain volume on the second BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | Bgm | bgm_id | A music track defined in SOUND/BGM of the ROM. |
2 | uint | duration | The number of frames to fade in the BGM. |
3 | uint | volume | The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0. |
0x26 - bgm2_Stop
Instantly stops the BGM that is currently playing on the second BGM track.
No parameters.
0x27 - bgm2_ChangeVolume
Changes the volume of the BGM that is currently playing on the second BGM track.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames to change the BGM's volume. |
2 | uint | volume | The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0. |
0x38 - CallCommon
Jumps to the specified Unionall Coroutine, runs its code, and returns to the line of code in which this opcode was used (only if return;
was used in the Coroutine). This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub).
If used in the context of an actor/object/performer, this should not be used in with-statements.
# | Type | Name | Description |
---|---|---|---|
1 | Coroutine | coro_id | One of the 701 possible Unionall Coroutines. |
0x39 - camera_Move2Default
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) without restricting the angles used.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x3a - camera_Move2MyPosition
Moves the camera toward a specific entity's position (i.e., an actor, object, or performer) without restricting the angles used.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x3b - camera_Move2Myself
Moves the camera toward a specific entity (i.e., an actor, object, or performer) without restricting the angles used.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x3c - camera_Move2PositionMark
Moves the camera to one or more Position Marks without restricting the angles used.
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | The number of parameters to read from this opcode. |
2+ | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x3d - camera_Move2PositionMark
Moves the camera to a Position Mark without restricting the angles used.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
2 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x3e - camera_Move3Default
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) in a rapid, strange motion.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
0x3f - camera_Move3MyPosition
Moves the camera toward a specific entity's position (i.e., an actor, object, or performer) in a rapid, strange motion.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
0x40 - camera_Move3Myself
Moves the camera toward a specific entity (i.e., an actor, object, or performer) in a rapid, strange motion.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
0x41 - camera_Move3PositionMark
Moves the camera to one or more Position Marks in a rapid, strange motion.
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | The number of parameters to read from this opcode. |
2+ | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x42 - camera_Move3PositionMark
Moves the camera to a Position Mark without restricting the angles used.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
2 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x43 - camera_MoveDefault
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) while restricting movement by eight angles—as if movement was performed using the D-Pad.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x44 - camera_MoveMyPosition
Moves the camera toward a specific entity's position (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x45 - camera_MoveMyself
Moves the camera toward a specific entity (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x46 - camera_MovePositionMark
Moves the camera to one or more Position Marks while restricting movement by eight angles—as if movement was performed using the D-Pad.
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | The number of parameters to read from this opcode. |
2+ | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x47 - camera_MovePositionMark
Moves the camera to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
2 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x48 - camera_SetDefault
Instantly sets the camera to a Type 1 actor (e.g., ACTOR_PLAYER).
No parameters.
0x49 - camera_SetEffect
Continuously shakes the camera at specified intensities. Entities will be affected by the camera shaking, but not textboxes and portraits. The camera will continue to shake even if it is moved using another opcode.
# | Type | Name | Description |
---|---|---|---|
1 | uint | mode | Values of 0 or 3+ mean the camera will not shake.
|
2 | uint | intensity | The intensity of the shake. Higher values will result in a more intense shake. |
3 | uint | speed | Movement speed. Higher values result in a slower speed. |
0x4a - camera_SetMyPosition
Instantly sets the camera toward a specific entity's position (i.e., an actor, object, or performer).
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
No parameters.
0x4b - camera_SetMyself
Instantly sets the camera to a specific entity (i.e., an actor, object, or performer). Once performed, the camera will now follow the entity wherever it moves.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
No parameters.
0x4c - camera_SetPositionMark
Instantly sets the camera to a Position Mark.
# | Type | Name | Description |
---|---|---|---|
1 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x4d - camera2_Move2Default
The same as camera_Move2Default
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x4e - camera2_Move2MyPosition
The same as camera_Move2MyPosition
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x4f - camera2_Move2Myself
The same as camera_Move2Myself
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x50 - camera2_Move2PositionMark
The same as camera_Move2PositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | The number of parameters to read from this opcode. |
2+ | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x51 - camera2_Move2PositionMark
The same as camera_Move2PositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
2 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x52 - camera2_Move3Default
The same as camera_Move3Default
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
0x53 - camera2_Move3MyPosition
The same as camera_Move3MyPosition
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
0x54 - camera2_Move3Myself
The same as camera_Move3Myself
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
0x55 - camera2_Move3PositionMark
The same as camera_Move3PositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | The number of parameters to read from this opcode. |
2+ | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x56 - camera2_Move3PositionMark
The same as camera_Move3PositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Supposedly movement speed based off of similar opcodes, but does not seem to affect much. |
2 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x57 - camera2_MoveDefault
The same as camera_MoveDefault
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x58 - camera2_MoveMyPosition
The same as camera_MoveMyPosition
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x59 - camera2_MoveMyself
The same as camera_MoveMyself
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
0x5a - camera2_MovePositionMark
The same as camera_MovePositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | The number of parameters to read from this opcode. |
2+ | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x5b - camera2_MovePositionMark
The same as camera_MovePositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | speed | Movement speed. Higher values result in a faster speed. 0 will result in an instant movement.
Values starting at 32770 and above will be slower than a value of 1. |
2 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels. |
0x5c - camera2_SetDefault
The same as camera_SetDefault
, but for the Top Screen.
No parameters.
0x5d - camera2_SetEffect
The same as camera_SetEffect
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | uint | mode | Values of 0 or 3+ mean the camera will not shake.
|
2 | uint | intensity | The intensity of the shake. Higher values will result in a more intense shake. |
3 | uint | speed | Movement speed. Higher values result in a slower speed. |
0x5e - camera2_SetMyPosition
The same as camera_SetMyPosition
, but for the Top Screen.
No parameters.
0x5f - camera2_SetMyself
The same as camera_SetMyself
, but for the Top Screen.
No parameters.
0x60 - camera2_SetPositionMark
The same as camera_SetPositionMark
, but for the Top Screen.
# | Type | Name | Description |
---|---|---|---|
1 | PositionMark | pos_marker | A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.
This parameter may be repeated multiple times. |
0x61 - CancelCut
Reverses the effects of the opcode CancelRecoverCommon
, i.e., disallows the game from reloading Unionall at a Coroutine by pressing the Start button.
No parameters.
0x62 - CancelRecoverCommon
Allows reloading Unionall at a specified Coroutine by pressing the Start button. This can be done in a cutscene and the overworld.
Once the Start button is pressed, the game will stop the current script, fade out the entire screen, and reload Unionall and begin running code at the specified Coroutine.
# | Type | Name | Description |
---|---|---|---|
1 | Coroutine | coro_id | One of the 701 possible Unionall Coroutines. |
0x6a - debug_Assert
Does nothing in the final game.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
0x6b - debug_Print
Does nothing in the final game.
If the script is running using SkyTemple's debugger and the "Script Debug" checkbox is ticked, the specified string will be printed to the Debug Log.
# | Type | Name | Description |
---|---|---|---|
1 | ConstString | txt | A string to be printed to the Debug Log. |
0x6c - debug_PrintFlag
Does nothing in the final game.
If the script is running using SkyTemple's debugger and the "Script Debug" checkbox is ticked, the specified string will be printed to the Debug Log, along with the value of the specified script variable.
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | One of the 115 possible script variables. Indexed variables are not encouraged to use, since the Debug Log will only read from the first index. |
2 | ConstString | txt | A string to be printed to the Debug Log. |
0x6d - debug_PrintScenario
If the script is running using SkyTemple's debugger and the "Script Debug" checkbox is ticked, the specified string will be printed to the Debug Log, along with two indices of the specified script variable.
This opcode's Debug Log implementation currently seems broken, as it prints the first index of the specified variable twice.
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | One of the 115 possible script variables. A two-indexed variable (e.g., $SCENARIO_MAIN) is encouraged to use. |
2 | ConstString | txt | A string to be printed to the Debug Log. |
0x6f - Destroy
Instantly removes an active entity (i.e., an actor, object, or performer) from memory.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
No parameters.
0x71 - EndAnimation
Stops an actor or object's looping animation once it reaches the end of its animation frames.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
No parameters.
0x72 - ExecuteActing
Currently unknown.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | Currently unknown. |
0x73 - ExecuteCommon
Jumps to a Unionall Coroutine, runs its code, and returns to the line in which this opcode was called. This opcode should be called if the specified Coroutine ends with hold;
. Typically, the base game uses this command with Coroutines whose names end with "FUNC_SERIES".
This opcode does not have a parameter for an entity, as it must be used in a with-statement.
# | Type | Name | Description |
---|---|---|---|
1 | Routine | coro_id | One of the 701 possible Unionall Coroutines. |
2 | uint | unk1 | Unknown. |
0x81 - Flash
Currently unknown; it does not seem to affect much. This opcode is not used in the base game.
No parameters.
0x83 - item_GetVariable
Saves the value in a specific item slot (set by item_Set
) to a script variable.
# | Type | Name | Description |
---|---|---|---|
1 | uint | slot | An item slot used by many item_ opcodes.
|
2 | GameVar | var | One of the 115 possible script variables. |
0x84 - item_Set
Sets an item into an item slot, which can be used by other various item_
opcodes.
Items in slot 0 may also be added to the player's bag and storage with hardcoded menus, such as message_Menu(MENU_GIVE_ITEM);
and message_Menu(MENU_GIVE_ITEM2);
, respectively. Additionally, the text tag [s_item:X]
will display the item's name, where X is the item slot number.
# | Type | Name | Description |
---|---|---|---|
1 | uint | slot | An item slot used by many item_ opcodes.
|
2 | uint | item_id | The ID of the item, where all are listed in the Items tab of SkyTemple. |
3 | uint | item_stack | The stack count of an item, if it belongs to a Thrown category. Treasure Boxes will also use this as the item earned when opening the box at Xatu's Appraisal. |
0x85 - item_SetTableData
Sets a random item from predefined tables into an item slot, which can be used by other various item_
opcodes. This opcode is used mainly in Spinda's Cafe, for redeeming a random Recycle Shop prize and for receiving items from Treasure Town NPCs after giving them Sky Gifts.
Items in slot 0 may also be added to the player's bag and storage with hardcoded menus, such as message_Menu(MENU_GIVE_ITEM);
and message_Menu(MENU_GIVE_ITEM2);
, respectively. Additionally, the text tag [s_item:X]
will display the item's name, where X is the item slot number.
# | Type | Name | Description |
---|---|---|---|
1 | uint | slot | An item slot used by many item_ opcodes.
|
2 | uint | table | Some unknown item tables related to Spinda's Cafe. |
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 message_Menu(MENU_GIVE_ITEM);
and message_Menu(MENU_GIVE_ITEM2);
, respectively. Additionally, the text tag [s_item:X]
will display the item's name, where X is the item slot number.
# | Type | Name | Description |
---|---|---|---|
1 | uint | slot | An item slot used by many item_ opcodes.
|
2 | GameVar | var | One of the 115 possible script variables. |
0x88 - JumpCommon
Jumps to the specified Unionall Coroutine and runs its code, without returning to the line in which this opcode was first used. This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub), but is mostly used by the base game in Unionall.
If attempting to execute a Unionall Coroutine from inside an Enter, Acting, or Sub script to play Acting scripts, use supervision_ExecuteCommon
instead.
# | Type | Name | Description |
---|---|---|---|
1 | Coroutine | coro_id | One of the 701 possible Unionall Coroutines. |
0x8a - LoadPosition
Sets various attributes of an entity (i.e., an actor, object, or performer) to the values of all indexed $POSITION_
script variables. These include changing the entity's X and Y coordinates, height, and direction.
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
# | Type | Name | Description |
---|---|---|---|
1 | uint | index | Index used by all $POSITION_ script variables, ranged from 0-2 (inclusive).
|
0x8b - Lock
Suspends the current routine until the opcode Unlock
is called with the same lock_id.
# | Type | Name | Description |
---|---|---|---|
1 | uint | lock_id | The ID of a Lock, ranged from 0-19 (inclusive). |
0x8c - main_EnterAdventure
Performs various functions related to entering a dungeon using the crossroads menu.
# | Type | Name | Description |
---|---|---|---|
1 | sint | mode | Most modes are not known, but:
|
2 | uint | unk1 | Currently unknown. |
0x8d - main_EnterDungeon
Exits ground mode and begins dungeon mode at a specific dungeon.
# | Type | Name | Description |
---|---|---|---|
1 | sint | dungeon_id | The dungeon ID to enter, which are all listed in the Dungeons tab of SkyTemple. A value of -1 actually enters dungeon mode—it is insufficient to use this opcode a single time to enter a specific dungeon. |
2 | uint | duration | The number of frames to fade out the screens. |
0x8e - main_EnterGround
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:
$GROUND_ENTER
: This opcode's level_id_enter parameter.$GROUND_ENTER_LINK
: Set to 0.$GROUND_GETOUT
: The value of$GROUND_ENTER
prior to using this opcode.$GROUND_MAP
: The Level ID used to display the Map Background.$GROUND_PLACE
: The World Map Marker ID that determines where the player appears on the Top Screen when selecting "Map and team" in the overworld.$GROUND_START_MODE
: Set to 3.
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the supervision_ExecuteEnter
opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Level | level_id | An entry in the Level List. Ideally, this opcode would load the specified Level's Enter00 script. |
2 | uint | duration | The number of frames to fade out the screens. |
0x8f - main_EnterGroundMulti
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:
$GROUND_ENTER
: This opcode's level_id_enter parameter.$GROUND_ENTER_LINK
: This opcode's level_id_link parameter.$GROUND_GETOUT
: The value of$GROUND_ENTER
prior to using this opcode.$GROUND_MAP
: The Level ID used to display the Map Background.$GROUND_PLACE
: The World Map Marker ID that determines where the player appears on the Top Screen when selecting "Map and team" in the overworld.$GROUND_START_MODE
: Set to 3.
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the supervision_ExecuteEnter
opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Level | level_id_enter | An entry in the Level List. Ideally, this opcode would load the specified Level's Enter00 script. |
2 | uint | duration | The number of frames to fade out the screens. |
3 | Level | level_id_link | An entry in the Level List. Used to update $GROUND_ENTER_LINK .
|
0x90 - main_EnterRescueUser
Exits ground mode and begins dungeon mode while taking an SOS Mail. Dungeon selection seems to be determined by the SOS Mail chosen via message_Menu(MENU_S_O_S_MAIL_PICKER);
.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames to fade out the screens. |
0x91 - main_EnterTraining
Performs various functions related to entering a dungeon using Marowak Dojo.
# | Type | Name | Description |
---|---|---|---|
1 | uint | mode | Most modes are not known, but:
|
2 | uint | unk1 | Currently unknown. |
0x92 - main_EnterTraining2
Performs various functions related to entering a dungeon using Marowak Dojo's Final Maze.
# | Type | Name | Description |
---|---|---|---|
1 | uint | mode | Most modes are not known, but:
|
2 | uint | unk1 | Currently unknown. |
0x93 - main_SetGround
Updates the following variables' values to be this opcode's level_id parameter:
$GROUND_ENTER
$GROUND_GETOUT
# | Type | Name | Description |
---|---|---|---|
1 | Level | level_id | An entry in the Level List. |
0x94 - me_Play
Instantly plays a special sound effect that can seamlessly interrupt any BGM tracks that are currently playing.
# | Type | Name | Description |
---|---|---|---|
1 | uint | me_id | A sound effect defined in SOUND/ME of the ROM. |
0x95 - me_Stop
Instantly stops the currently-playing special sound effect called with me_Play
.
No parameters.
0x96 - message_Close
Suspends the current routine and allows for closing an active textbox (and portrait, if active) set by one of the following opcodes:
message_ImitationSound
message_Mail
message_Monologue
message_Notice
message_SpecialTalk
message_Talk
By pressing the A Button, B Button, or tapping the textbox via the Touch Screen. Once the textbox is closed, the current routine resumes.
No parameters.
0x97 - message_CloseEnforce
Instantly closes an active textbox (and portrait, if active) once the game finishes displaying a string set by one of the following opcodes:
message_ImitationSound
message_Mail
message_Monologue
message_Notice
message_SpecialTalk
message_Talk
No parameters.
0x98 - message_Explanation
Displays the string defined in the txt parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in FONT/frameX.wte (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need message_Close
to suspend the routine.
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.
# | Type | Name | Description |
---|---|---|---|
1 | String | txt | Text to be displayed on the Touch Screen. |
0x99 - message_FacePositionOffset
Offsets the active portrait in pixels by multiples of 8.
# | Type | Name | Description |
---|---|---|---|
1 | sint | x | The offset to shift the portrait box across the X-axis. |
2 | sint | y | The offset to shift the portrait box across the Y-axis. |
0x9a - message_ImitationSound
Displays the string defined in the txt parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in FONT/frameX.wte (as seen in the Misc. Graphics tab of SkyTemple).
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.
# | Type | Name | Description |
---|---|---|---|
1 | String | txt | Text to be displayed on the Touch Screen. |
0x9b - message_KeyWait
If an active textbox has finished displaying its string and was created by one of the following opcodes:
message_ImitationSound
message_Mail
message_Monologue
message_Notice
message_SpecialTalk
message_Talk
This opcode suspends the current routine until the A Button, B Button or textbox is pressed (via the Touch Screen). Once done so, the textbox will not close, but the current routine will resume.
No parameters.
0x9c - message_Mail
Displays the string defined in the txt parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in FONT/frameX.wte (as seen in the Misc. Graphics tab of SkyTemple).
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.
# | Type | Name | Description |
---|---|---|---|
1 | String | txt | Text to be displayed on the Touch Screen. |
0x9d - message_Menu
Executes various hardcoded "menu" functionalities given a certain ID. Some IDs result in an actual menu, while others simply perform a silent task.
# | Type | Name | Description |
---|---|---|---|
1 | Menu | menu_id | The ID of a menu, the list of which can be seen by typing MENU_ in SkyTemple's Script Engine Debugger.
|
0x9e - message_Monologue
Displays the string defined in the txt parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in FONT/frameX.wte (as seen in the Misc. Graphics tab of SkyTemple).
This opcode supports displaying a portrait. No sound will emit from the text scrolling.
# | Type | Name | Description |
---|---|---|---|
1 | String | txt | Text to be displayed on the Touch Screen. |
0x9f - message_Narration
Fades in the screen and instantly displays the string defined in the txt parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in FONT/frameX.wte (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need message_Close
to suspend the routine. Once the routine is resumed (by pressing the A Button, B Button, or text via the Touch Screen), the screen will fade out, including the string.
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration | The number of frames to fade in/out the Touch Screen. |
2 | String | txt | Text to be displayed on the Touch Screen. |
0xa0 - message_Notice
Instantly displays the string defined in the txt parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in FONT/frameX.wte (as seen in the Misc. Graphics tab of SkyTemple).
This opcode does not support displaying a portrait.
# | Type | Name | Description |
---|---|---|---|
1 | String | txt | Text to be displayed on the Touch Screen. |
0xa1 - message_EmptyActor
Disallows a portrait from appearing alongside a textbox, along with disallowing a name to appear in the textbox if message_Talk
follows this opcode.
No parameters.
0xa2 - message_ResetActor
Disallows a portrait from appearing alongside a textbox, along with setting a speech bubble (the text tag [M:T1]) to the start of next script string if message_Talk
follows this opcode.
No parameters.
0xa3 - message_SetActor
Sets the specified actor's name to the start of the next script string if message_Talk
follows this opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Entity | actor_id | An entry in the Actor List. |
0xa4 - message_SetFace
Sets the specified actor's name to the start of the next script string if message_Talk
follows this opcode. Will also display a portrait of the actor's species at a specified position if message_Talk
or message_Monologue
follow this opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Entity | actor_id | An entry in the Actor List. |
2 | Face | face_id | The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple's Script Engine Debugger. |
3 | FaceMode | face_mode | The position of a portrait, the list of which can be seen by typing FACE_POS_ in SkyTemple's Script Engine Debugger.
|
0xa5 - message_SetFaceEmpty
Displays a portrait of the actor's species at a specified position if message_Talk
or message_Monologue
follow this opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Entity | actor_id | An entry in the Actor List. |
2 | Face | face_id | The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple's Script Engine Debugger. |
3 | FaceMode | face_mode | The position of a portrait, the list of which can be seen by typing FACE_POS_ in SkyTemple's Script Engine Debugger.
|
0xa6 - message_SetFaceOnly
Sets a speech bubble (the text tag [M:T1]) to the start of the next script string if message_Talk
follows this opcode. Will also display a portrait of the actor's species at a specified position if message_Talk
or message_Monologue
follow this opcode.
# | Type | Name | Description |
---|---|---|---|
1 | Entity | actor_id | An entry in the Actor List. |
2 | Face | face_id | The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple's Script Engine Debugger. |
3 | FaceMode | face_mode | The position of a portrait, the list of which can be seen by typing FACE_POS_ in SkyTemple's Script Engine Debugger.
|
0xa7 - message_SetFacePosition
Repositions an actor's portrait.
# | Type | Name | Description |
---|---|---|---|
1 | FaceMode | face_mode | The position of a portrait, the list of which can be seen by typing FACE_POS_ in SkyTemple's Script Engine Debugger.
|
0xa8 - message_SetWaitMode
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xa9 - message_SpecialTalk
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xae - message_Talk
Displays text in the dialog box.
# | Type | Name | Description |
---|---|---|---|
1 | String | txt |
0xaf - Move2Position
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | x | |
3 | uint | y |
0xb0 - Move2PositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xb1 - Move2PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | PositionMark | pos_marker | This parameter may be repeated multiple times |
0xb2 - Move2PositionMark
Moves an actor to the position marker defined by the user. The speed of the movement is defined by the first parameter, with the actor moving faster with higher numbers. Notably, there exists numbers that will cause the actor to move slower than the speed of 1, generally these are around 32000, such as 32896. The actor will not be bound by the grid and can walk diagonally to reach the position defined.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | PositionMark | pos_marker |
0xb3 - Move2PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | sint | x | This parameter may be repeated multiple times |
0xb4 - Move2PositionOffset
Moves an actor to a position that is x and y units away from their current x and y position respectively. The speed of the movement is defined by the first parameter, with the actor moving faster with higher numbers. Notably, there exists numbers that will cause the actor to move slower than the speed of 1, generally these are around 32000, such as 32896. The actor will not be bound by the grid and can walk diagonally to reach the position defined.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0xb5 - Move2PositionOffsetRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0xb6 - Move3Position
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | x | |
3 | uint | y |
0xb7 - Move3PositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xb8 - Move3PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | PositionMark | pos_marker | This parameter may be repeated multiple times |
0xb9 - Move3PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2 | PositionMark | pos_marker |
0xba - Move3PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | sint | x | This parameter may be repeated multiple times |
0xbb - Move3PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0xbc - Move3PositionOffsetRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0xbd - MoveDirection
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xbe - MoveHeight
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xbf - MovePosition
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | x | |
3 | uint | y |
0xc0 - MovePositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xc1 - MovePositionLivesTime
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xc2 - MovePositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | PositionMark | pos_marker | This parameter may be repeated multiple times |
0xc3 - MovePositionMark
Moves an actor to the position marker defined by the user. The speed of the movement is defined by the first parameter, with the actor moving faster with higher numbers. Notably, there exists numbers that will cause the actor to move slower than the speed of 1, generally these are around 32000, such as 32896. The actor is bound by the grid and will move in cardinal directions and diagonally, but only in directions 45 degrees from the cardinal directions.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | PositionMark | pos_marker |
0xc4 - MovePositionMarkTime
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | PositionMark | pos_marker |
0xc5 - MovePositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | sint | x | This parameter may be repeated multiple times |
0xc6 - MovePositionOffset
Moves an actor to a position that is x and y units away from their current x and y position respectively. The speed of the movement is defined by the first parameter, with the actor moving faster with higher numbers. Notably, there exists numbers that will cause the actor to move slower than the speed of 1, generally these are around 32000, such as 32896. The actor is bound by the grid and will move in cardinal directions and diagonally, but only in directions 45 degrees from the cardinal directions.
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0xc7 - MoveSpecial
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xc8 - MoveTurn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xca - PauseEffect
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xcc - ProcessSpecial
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | ProcessSpecial | process_id | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xcd - PursueTurnLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xce - PursueTurnLives2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xcf - ResetAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd0 - ResetFunctionAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd1 - ResetHitAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd2 - ResetOutputAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd3 - ResetReplyAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd4 - ResumeEffect
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd6 - SavePosition
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xd7 - screen_FadeChange
Changes the brightness level of the screen.
# | Type | Name | Description |
---|---|---|---|
1 | bool | wait | If true, the game will wait for the brightness operation to finish before continuing |
2 | uint | frames | Number of frames taken to change the brightness |
3 | uint | start_brightness | Starting brightness level. Default brightness is 256. |
4 | uint | end_brightness | Final brightness level. Default brightness is 256. |
0xd8 - screen_FadeChangeAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xd9 - screen_FadeIn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xda - screen_FadeInAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xdb - screen_FadeOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xdc - screen_FadeOutAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xdd - screen_FlushChange
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 | |
5 | uint | unk4 | |
6 | uint | unk5 | |
7 | uint | unk6 | |
8 | uint | unk7 |
0xde - screen_FlushIn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 | |
5 | uint | unk4 | |
6 | uint | unk5 |
0xdf - screen_FlushOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 | |
5 | uint | unk4 | |
6 | uint | unk5 |
0xe0 - screen_WhiteChange
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xe1 - screen_WhiteChangeAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xe2 - screen_WhiteIn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xe3 - screen_WhiteInAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xe4 - screen_WhiteOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xe5 - screen_WhiteOutAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xe6 - screen2_FadeChange
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xe7 - screen2_FadeChangeAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xe8 - screen2_FadeIn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xe9 - screen2_FadeInAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xea - screen2_FadeOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xeb - screen2_FadeOutAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | unk0 | |
2 | uint | duration |
0xec - screen2_FlushChange
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 | |
5 | uint | unk4 | |
6 | uint | unk5 | |
7 | uint | unk6 | |
8 | uint | unk7 |
0xed - screen2_FlushIn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 | |
5 | uint | unk4 | |
6 | uint | unk5 |
0xee - screen2_FlushOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 | |
5 | uint | unk4 | |
6 | uint | unk5 |
0xef - screen2_WhiteChange
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xf0 - screen2_WhiteChangeAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0xf1 - screen2_WhiteIn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xf2 - screen2_WhiteInAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xf3 - screen2_WhiteOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xf4 - screen2_WhiteOutAll
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xf5 - se_ChangePan
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xf6 - se_ChangeVolume
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xf7 - se_FadeOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xf8 - se_Play
Plays a sound effect.
# | Type | Name | Description |
---|---|---|---|
1 | uint | se_id | Sound effect ID. It's actually encoded as sound_bank_id << 8 + sound_id, but it can also be represented as an integer. |
0xf9 - se_PlayFull
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xfa - se_PlayPan
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xfb - se_PlayVolume
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xfc - se_Stop
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xfd - SetAnimation
Plays a sprite's animation, optionally changing its speed and animation flags.
# | Type | Name | Description |
---|---|---|---|
1 | uint | id | Animation table index. Converted to an animation id for the current sprite using the SetAnimation table. |
0xfe - SetAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0xff - SetBlink
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x100 - SetDirection
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Direction | direction |
0x101 - SetDirectionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x102 - SetEffect
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Effect | effect_id | |
2 | uint | position_marker_id? |
0x103 - SetFunctionAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x104 - SetHeight
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x105 - SetHitAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x106 - SetMoveRange
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | PositionMark | pos_marker | |
5 | uint | unk4 | |
6 | uint | unk5 |
0x107 - SetOutputAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x108 - SetPosition
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | x | |
2 | uint | y |
0x109 - SetPositionInitial
<TO DO: Opcode description>
No parameters.
0x10a - SetPositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x10b - SetPositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | PositionMark | pos_marker |
0x10c - SetPositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | sint | x | |
2 | sint | y |
0x10d - SetPositionOffsetRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | sint | x | |
2 | sint | y |
0x10e - SetReplyAttribute
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x10f - SetupOutputAttributeAndAnimation
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x110 - Slide2Position
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | x | |
3 | uint | y |
0x111 - Slide2PositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x112 - Slide2PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | PositionMark | pos_marker | This parameter may be repeated multiple times |
0x113 - Slide2PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | PositionMark | pos_mark |
0x114 - Slide2PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | sint | x | These two parameters may be repeated multiple times |
3+ | sint | y |
0x115 - Slide2PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0x116 - Slide2PositionOffsetRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0x117 - Slide3Position
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | x | |
3 | uint | y |
0x118 - Slide3PositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x119 - Slide3PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | PositionMark | pos_marker | This parameter may be repeated multiple times |
0x11a - Slide3PositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | PositionMark | pos_marker |
0x11b - Slide3PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2+ | sint | x | These two parameters may be repeated multiple times |
3+ | sint | y |
0x11c - Slide3PositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0x11d - Slide3PositionOffsetRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0x11e - SlideHeight
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x11f - SlidePosition
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | x | |
3 | uint | y |
0x120 - SlidePositionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x121 - SlidePositionLivesTime
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x122 - SlidePositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | PositionMark | pos_marker | This parameter may be repeated multiple times |
0x123 - SlidePositionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | PositionMark | pos_marker |
0x124 - SlidePositionMarkTime
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | PositionMark | pos_marker |
0x125 - SlidePositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | num_parameters | |
2+ | sint | x | This parameter may be repeated multiple times |
0x126 - SlidePositionOffset
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | sint | x | |
3 | sint | y |
0x127 - sound_FadeOut
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x128 - sound_Stop
<TO DO: Opcode description>
No parameters.
0x129 - StopAnimation
<TO DO: Opcode description>
No parameters.
0x12a - supervision_Acting
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | layer_id |
0x12b - supervision_ActingInvisible
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | layer_id |
0x12c - supervision_ExecuteActing
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | ConstString | script_id | |
3 | uint | unk2 |
0x12d - supervision_ExecuteActingSub
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | ConstString | script_id | |
3 | uint | unk2 |
0x12e - supervision_ExecuteCommon
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Routine | coro_id |
0x12f - supervision_ExecuteEnter
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x130 - supervision_ExecuteStation
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | ConstString | script_id | |
3 | uint | unk2 |
0x131 - supervision_ExecuteStationCommon
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | uint | unk1 |
0x132 - supervision_ExecuteStationCommonSub
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | uint | unk1 |
0x133 - supervision_ExecuteStationSub
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | ConstString | script_id | |
3 | uint | unk2 |
0x134 - supervision_ExecuteExport
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | ConstString | const |
0x135 - supervision_ExecuteExportSub
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | ConstString | const |
0x136 - supervision_LoadStation
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Level | level | |
2 | ConstString | script_id |
0x137 - supervision_Remove
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x138 - supervision_RemoveActing
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | layer_id |
0x139 - supervision_RemoveCommon
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x13a - supervision_SpecialActing
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x13b - supervision_Station
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | station_id |
0x13c - supervision_StationCommon
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | station_id |
0x13d - supervision_Suspend
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | sint | unk0 |
0x13e - supervision2_SpecialActing
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x14c - Turn2Direction
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | Direction | direction |
0x14d - Turn2DirectionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | Entity | actor_id |
0x14e - Turn2DirectionLives2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x14f - Turn2DirectionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | PositionMark | pos_marker | |
4 | uint | unk6 | |
5 | uint | unk7 |
0x150 - Turn2DirectionTurn
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x151 - Turn3
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | uint | unk3 |
0x152 - TurnDirection
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Direction | direction |
0x153 - TurnDirectionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x154 - TurnDirectionLives2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x155 - TurnDirectionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | PositionMark | pos_marker |
0x156 - Unlock
Resumes the routine that was suspended when Lock
was called with the specified lock_id.
# | Type | Name | Description |
---|---|---|---|
1 | uint | lock_id | The ID of a Lock, ranged from 0-19 (inclusive). |
0x157 - Wait
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | duration |
0x158 - WaitAnimation
<TO DO: Opcode description>
No parameters.
0x159 - WaitBackEffect
<TO DO: Opcode description>
No parameters.
0x15a - WaitBack2Effect
<TO DO: Opcode description>
No parameters.
0x15b - WaitBgm
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Bgm | bgm_id |
0x15c - WaitBgm2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Bgm | bgm_id |
0x15d - WaitBgmSignal
<TO DO: Opcode description>
No parameters.
0x15e - WaitEffect
<TO DO: Opcode description>
No parameters.
0x15f - WaitEndAnimation
<TO DO: Opcode description>
No parameters.
0x160 - WaitExecuteLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Entity | actor_id |
0x161 - WaitExecuteObject
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Object | object_id |
0x162 - WaitExecutePerformer
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | performer_id |
0x163 - WaitFadeIn
<TO DO: Opcode description>
No parameters.
0x164 - WaitLockLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | lock_id | |
2 | Entity | actor |
0x165 - WaitLockObject
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | lock_id | |
2 | Object | object |
0x166 - WaitLockPerformer
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | lock_id | |
2 | uint | performer |
0x167 - WaitLockSupervision
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x168 - WaitMe
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x169 - WaitMoveCamera
<TO DO: Opcode description>
No parameters.
0x16a - WaitMoveCamera2
<TO DO: Opcode description>
No parameters.
0x16b - WaitRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x16c - WaitScreenFade
<TO DO: Opcode description>
No parameters.
0x16d - WaitScreenFadeAll
<TO DO: Opcode description>
No parameters.
0x16e - WaitScreen2Fade
<TO DO: Opcode description>
No parameters.
0x16f - WaitSe
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | se_id |
0x170 - WaitSpecialActing
<TO DO: Opcode description>
No parameters.
0x171 - WaitSubScreen
<TO DO: Opcode description>
No parameters.
0x172 - WaitSubSpecialActing
<TO DO: Opcode description>
No parameters.
0x173 - worldmap_BlinkMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x174 - worldmap_ChangeLevel
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x175 - worldmap_DeleteArrow
<TO DO: Opcode description>
No parameters.
0x176 - worldmap_MoveCamera
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x177 - worldmap_OffMessage
<TO DO: Opcode description>
No parameters.
0x178 - worldmap_SetArrow
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x179 - worldmap_SetCamera
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x17a - worldmap_SetLevel
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x17b - worldmap_SetMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x17c - worldmap_SetMessage
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | String | txt |
0x17d - worldmap_SetMessagePlace
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x17e - worldmap_SetMode
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
Other Opcodes
These opcodes cannot be directly called from ExplorerScript, since they are represented as higher-level constructs.
0x28 - Branch
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | value | |
3 | Addr | jump_address |
0x29 - BranchBit
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | index | |
3 | Addr | jump_address |
0x2a - BranchDebug
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | bool | param | |
2 | Addr | jump_address |
0x2b - BranchEdit
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | param | |
2 | Addr | jump_address |
0x2c - BranchExecuteSub
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | Addr | jump_address |
0x2d - BranchPerformance
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | index | |
2 | bool | value | |
3 | Addr | jump_address |
0x2e - BranchScenarioNow
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | Addr | jump_address |
0x2f - BranchScenarioNowAfter
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | Addr | jump_address |
0x30 - BranchScenarioNowBefore
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | Addr | jump_address |
0x31 - BranchScenarioAfter
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | Addr | jump_address |
0x32 - BranchScenarioBefore
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | Addr | jump_address |
0x33 - BranchSum
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 | |
4 | Addr | jump_address |
0x34 - BranchValue
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | Operator | operator | |
3 | uint | value | |
4 | Addr | jump_address |
0x35 - BranchVariable
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | Operator | operator | |
3 | GameVar | cmp_var | |
4 | Addr | jump_address |
0x36 - BranchVariation
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | param | |
2 | Addr | jump_address |
0x37 - Call
Jumps to the specified address, runs code, and returns to the line of code in which this opcode was used (only if return;
was used in the routine this opcode calls).
# | Type | Name | Description |
---|---|---|---|
1 | Addr | jump_address | The address to call, e.g., call @label_0; if §label_0; is defined in the script.
|
0x63 - Case
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | value | |
2 | Addr | jump_address |
0x64 - CaseMenu
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | String | choice | |
2 | Addr | jump_address |
0x65 - CaseMenu2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint? | choice? | |
2 | Addr | jump_address |
0x66 - CaseScenario
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Operator | operator | |
2 | uint | value | |
3 | Addr | jump_address |
0x67 - CaseText
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | value | |
2 | String | display |
0x68 - CaseValue
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Operator | operator | |
2 | uint | value | |
3 | Addr | jump_address |
0x69 - CaseVariable
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Operator | operator | |
2 | GameVar | var | |
3 | Addr | jump_address |
0x6e - DefaultText
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | String | txt |
0x70 - End
<TO DO: Opcode description>
No parameters.
0x74 - flag_CalcBit
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | index | |
3 | bool | value |
0x75 - flag_CalcValue
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | CalcOperator | calc_operator | |
3 | uint | value |
0x76 - flag_CalcVariable
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | CalcOperator | calc_operator | |
3 | GameVar | var_to_set_from |
0x77 - flag_Clear
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0x78 - flag_Initial
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0x79 - flag_Set
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | value |
0x7a - flag_ResetDungeonResult
<TO DO: Opcode description>
No parameters.
0x7b - flag_ResetScenario
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0x7c - flag_SetAdventureLog
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x7d - flag_SetDungeonMode
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | dungeon_id | |
2 | DungeonMode | dungen_mode |
0x7e - flag_SetDungeonResult
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0x7f - flag_SetPerformance
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | index | |
2 | bool | value |
0x80 - flag_SetScenario
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | scenario_value | |
3 | uint | level_value |
0x82 - Hold
<TO DO: Opcode description>
No parameters.
0x87 - Jump
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Addr | jump_address |
0x89 - lives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Entity | actor_id |
0xaa - message_SwitchMenu
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 |
0xab - message_SwitchMenu2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 | |
2 | uint | unk1 | |
3 | uint | unk2 |
0xac - message_SwitchMonologue
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0xad - message_SwitchTalk
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0xc9 - object
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Object | object_id |
0xcb - performer
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | performer_id |
0xd5 - Return
<TO DO: Opcode description>
No parameters.
0x13f - Switch
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0x140 - SwitchDirection
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | Direction | direction |
0x141 - SwitchDirectionLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x142 - SwitchDirectionLives2
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x143 - SwitchDirectionMark
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | PositionMark | pos_marker |
0x144 - SwitchDungeonMode
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | dungeon_id |
0x145 - SwitchLives
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | unk0 |
0x146 - SwitchRandom
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | uint | max_value |
0x147 - SwitchScenario
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0x148 - SwitchScenarioLevel
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var |
0x149 - SwitchSector
<TO DO: Opcode description>
No parameters.
0x14a - SwitchValue
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 |
0x14b - SwitchVariable
<TO DO: Opcode description>
# | Type | Name | Description |
---|---|---|---|
1 | GameVar | var | |
2 | uint | unk1 | |
3 | uint | unk2 |