List of Opcodes: Difference between revisions

Adex (talk | contribs)
m Moooooooore opcooooooodes, up to 0xC6
Tags: Reverted Visual edit
Adex (talk | contribs)
m The opcodes never end (up to 0xDF)
Tags: Reverted Visual edit
Line 209: Line 209:
|}
|}
=== 0x8 - back_SetDungeonBanner ===
=== 0x8 - back_SetDungeonBanner ===
Displays a specific string using the <code>FONT/banner.bin:FONT/b_pal.bin</code> font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon's <code>back_SetDunegonBanner</code> string. This opcode will delete any actors, objects, and performers that are currently loaded.
Displays a specific string using the <code>FONT/banner.bin:FONT/b_pal.bin</code> font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon's <code>back_SetDungeonBanner</code> string. This opcode will delete any actors, objects, and performers that are currently loaded.


{| class="wikitable"
{| class="wikitable"
Line 230: Line 230:
|}
|}
=== 0x9 - back_SetGround ===
=== 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.
Sets the Map Background from a Level. Upon using this opcode, the variable <code>$GROUND_MAP</code> will be updated to match the ID of the chosen Level. This opcode will delete any actors, objects, and performers that are currently loaded.


{| class="wikitable"
{| class="wikitable"
Line 327: Line 327:
|String
|String
|title
|title
|The title displayed onscreen.
|The title displayed on the Touch Screen.
|}
|}
=== 0xe - back_SetWeather ===
=== 0xe - back_SetWeather ===
Line 580: Line 580:
|1
|1
|sint
|sint
|mode_id
|mode
|A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld's current Top Screen setting.
|A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld's current Top Screen setting.


Line 779: Line 779:
|uint
|uint
|duration
|duration
|The number of frames to change the BGM's volume.
|The number of frames used to change the BGM's volume.
|-
|-
|2
|2
Line 836: Line 836:
|uint
|uint
|duration
|duration
|The number of frames to fade in the BGM.
|The number of frames used to fade in the BGM.
|-
|-
|3
|3
Line 1,674: Line 1,674:
|GameVar
|GameVar
|var
|var
|One of the 115 possible script variables. A two-indexed variable (e.g., $SCENARIO_MAIN) is encouraged to use.
|One of the 115 possible script variables. A two-indexed variable (e.g., <code>$SCENARIO_MAIN</code>) is encouraged to use.
|-
|-
|2
|2
Line 1,925: Line 1,925:
|uint
|uint
|duration
|duration
|The number of frames to fade out the screens.
|The number of frames used to fade out the screens.
|}
|}
=== 0x8e - main_EnterGround ===
=== 0x8e - main_EnterGround ===
Line 1,955: Line 1,955:
|uint
|uint
|duration
|duration
|The number of frames to fade out the screens.
|The number of frames used to fade out the screens.
|}
|}
=== 0x8f - main_EnterGroundMulti ===
=== 0x8f - main_EnterGroundMulti ===
Line 1,985: Line 1,985:
|uint
|uint
|duration
|duration
|The number of frames to fade out the screens.
|The number of frames used to fade out the screens.
|-
|-
|3
|3
Line 2,006: Line 2,006:
|uint
|uint
|duration
|duration
|The number of frames to fade out the screens.
|The number of frames used to fade out the screens.
|}
|}
=== 0x91 - main_EnterTraining ===
=== 0x91 - main_EnterTraining ===
Line 2,255: Line 2,255:
|uint
|uint
|duration
|duration
|The number of frames to fade in/out the Touch Screen.
|The number of frames used to fade in/out the Touch Screen.
|-
|-
|2
|2
Line 2,488: Line 2,488:
Moves an entity (i.e., an actor, object, or performer) to an actor without restricting the angles used.
Moves an entity (i.e., an actor, object, or performer) to an actor 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.
This opcode must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 2,671: Line 2,671:
Moves an entity (i.e., an actor, object, or performer) to an actor in a rapid, strange motion.
Moves an entity (i.e., an actor, object, or performer) to an actor 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.
This opcode must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 2,905: Line 2,905:
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad.
Moves an entity (i.e., an actor, object, or performer) to an actor 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.
This opcode must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 2,929: Line 2,929:
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the actor or after a certain number of frames have passed—whichever comes first.
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the actor or after a certain number of frames have passed—whichever comes first.


This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.
This opcode must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 2,953: Line 2,953:
|uint
|uint
|duration
|duration
|The number of frames to move the entity.
|The number of frames used to move the entity.
|}
|}
=== 0xc2 - MovePositionMark ===
=== 0xc2 - MovePositionMark ===
Line 3,030: Line 3,030:
|uint
|uint
|duration
|duration
|The number of frames to move the entity.
|The number of frames used to move the entity.
|}
|}
=== 0xc5 - MovePositionOffset ===
=== 0xc5 - MovePositionOffset ===
Line 3,086: Line 3,086:
|}
|}
=== 0xc7 - MoveSpecial ===
=== 0xc7 - MoveSpecial ===
<TO DO: Opcode description>
Currently unknown. Seems to move an entity (i.e., an actor, object, or performer) based on some hardcoded behaviors.
 
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,098: Line 3,100:
|1
|1
|uint
|uint
|unk0
|mode
|
|Determines the kind of action.
 
# Spin and move in a circular motion.
# Spin and move in a circular motion.
# Currently unknown.
# Currently unknown.
# Currently unknown. Seems to be the most commonly-used value, as a part of the Unionall Coroutine CORO_LIVES_REPLY_NOMRAL.
|-
|-
|2
|2
|uint
|uint
|unk1
|unk1
|
|Currently unknown. Seems to affect how far the entity will move?
|-
|-
|3
|3
|uint
|uint
|unk2
|unk2
|
|Currently unknown.
|}
|}
=== 0xc8 - MoveTurn ===
=== 0xc8 - MoveTurn ===
<TO DO: Opcode description>
Moves an entity (i.e., an actor, object, or performer) based on a certain pattern. Unlike other <code>Move</code> opcodes, this opcode will make the entity interact with the currently loaded Map Background's collision (i.e., the entity stops when hitting a wall).
 
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,124: Line 3,134:
|1
|1
|uint
|uint
|unk0
|distance
|
|How far the entity will move. Higher values result in greater distance being covered.
|-
|-
|2
|2
|uint
|uint
|unk1
|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.
 
This parameter also seems to affect the distance traveled.
|-
|-
|3
|3
|uint
|uint
|unk2
|pattern
|
|A hardcoded pattern to move in.
 
# Moves in a circle clockwise.
# Moves in a circle counterclockwise.
# Moves in a square clockwise.
# Moves in a square counterclockwise.
# Zig-zags back and forth.
 
Values 6 and above seem to be variations of random movement.
|}
|}
=== 0xca - PauseEffect ===
=== 0xca - PauseEffect ===
<TO DO: Opcode description>
Instantly pauses the current graphical effect of an entity (i.e., an actor, object, or performer). The effect will freeze mid-frame.
 
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,149: Line 3,172:
|-
|-
|1
|1
|uint
|Effect
|unk0
|effect_id
|
|A graphical effect to display relative to an entity.
|}
|}
=== 0xcc - ProcessSpecial ===
=== 0xcc - ProcessSpecial ===
<TO DO: Opcode description>
Executes one of the game's Special Processes. The return value of a Special Process can be checked by encasing this opcode in a <code>switch</code> statement. A negative return value is not acceptable and will cause the game to suspend indefinitely.
 
This opcode cannot be used in targeted routines.


{| class="wikitable"
{| class="wikitable"
Line 3,167: Line 3,192:
|ProcessSpecial
|ProcessSpecial
|process_id
|process_id
|
|One of the game's Special Processes.
|-
|-
|2
|2
|uint
|sint
|unk1
|process_param1
|
|The first parameter used by the Special Process.
|-
|-
|3
|3
|uint
|sint
|unk2
|process_param2
|
|The first parameter used by the Special Process.
|}
|}
=== 0xcd - PursueTurnLives ===
=== 0xcd - PursueTurnLives ===
<TO DO: Opcode description>
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.
 
This opcode must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,192: Line 3,219:
|1
|1
|uint
|uint
|unk0
|duration
|
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.
|-
|-
|2
|2
|uint
|uint
|unk1
|speed
|
|Turning speed. Higher values result in a slower speed.
|-
|-
|3
|3
|uint
|Entity
|unk2
|actor_id
|
|The actor to turn toward.
|-
|-
|4
|4
|uint
|uint
|unk3
|rotation
|
|
# Clockwise.
# Counterclockwise.
A value of 10 will make the entity choose the nearest rotation.
|}
|}
=== 0xce - PursueTurnLives2 ===
=== 0xce - PursueTurnLives2 ===
<TO DO: Opcode description>
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.
 
This opcode must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,223: Line 3,256:
|1
|1
|uint
|uint
|unk0
|duration
|
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.
|-
|-
|2
|2
|uint
|uint
|unk1
|speed
|
|Turning speed. Higher values result in a slower speed.
|-
|-
|3
|3
|uint
|Entity
|unk2
|actor_id
|
|The actor to turn toward.
|-
|-
|4
|4
|uint
|uint
|unk3
|rotation
|
|
# Clockwise.
# Counterclockwise.
A value of 10 will make the entity choose the nearest rotation.
|}
|}
=== 0xcf - ResetAttribute ===
=== 0xcf - ResetAttribute ===
<TO DO: Opcode description>
Currently unknown. Seems to get ignored when parsed in the scripting engine.


{| class="wikitable"
{| class="wikitable"
Line 3,255: Line 3,292:
|uint
|uint
|unk0
|unk0
|
|Currently unknown.
|}
|}
=== 0xd0 - ResetFunctionAttribute ===
=== 0xd0 - ResetFunctionAttribute ===
<TO DO: Opcode description>
Sets certain bits of an entity's (i.e., an actor, object, or performer) "function" attribute to 0.


{| class="wikitable"
{| class="wikitable"
Line 3,270: Line 3,307:
|1
|1
|uint
|uint
|unk0
|function_bitfield
|
|Most bits' purposes are unknown. Bit 1 appears to be the bit used for allowing an entity to follow a Type 1 actor, like the actor ACTOR_ATTENDANT1 in the overworld.
|}
|}
=== 0xd1 - ResetHitAttribute ===
=== 0xd1 - ResetHitAttribute ===
<TO DO: Opcode description>
Sets certain bits of an entity's (i.e., an actor, object, or performer) "hit" attribute to 0.


{| class="wikitable"
{| class="wikitable"
Line 3,286: Line 3,323:
|1
|1
|uint
|uint
|unk0
|hit_bitfield
|
|Most bits' purposes are unknown.
 
* 2: Entity collision.
* 6: Talk Script upon collision.
* 7: Talk Script upon pressing the A Button near the entity.
|}
|}
=== 0xd2 - ResetOutputAttribute ===
=== 0xd2 - ResetOutputAttribute ===
<TO DO: Opcode description>
Sets certain bits of an entity's (i.e., an actor, object, or performer) "output" attribute to 0.


{| class="wikitable"
{| class="wikitable"
Line 3,302: Line 3,343:
|1
|1
|uint
|uint
|unk0
|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.
|}
|}
=== 0xd3 - ResetReplyAttribute ===
=== 0xd3 - ResetReplyAttribute ===
<TO DO: Opcode description>
Sets certain bits of an entity's (i.e., an actor, object, or performer) "reply" attribute to 0.


{| class="wikitable"
{| class="wikitable"
Line 3,318: Line 3,367:
|1
|1
|uint
|uint
|unk0
|reply_bitfield
|
|Most bits' purposes are unknown.
 
* 1: Talk Script upon collision.
* 2: Talk Script upon pressing the A Button near the entity.
* 6: Underlay below entities.
* 7: Overlay above entities.
|}
|}
=== 0xd4 - ResumeEffect ===
=== 0xd4 - ResumeEffect ===
<TO DO: Opcode description>
Resumes the current graphical effect of an entity (i.e., an actor, object, or performer) that has been paused with <code>PauseEffect</code> prior to using this opcode.
 
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,333: Line 3,389:
|-
|-
|1
|1
|uint
|Effect
|unk0
|effect_id
|
|A graphical effect to display relative to an entity.
|}
|}
=== 0xd6 - SavePosition ===
=== 0xd6 - SavePosition ===
<TO DO: Opcode description>
Saves various attributes of an entity (i.e., an actor, object, or performer) to the following script variables:
 
* <code>$POSITION_X</code>: The pixel position of the entity on the X-axis multiplied by 256.
* <code>$POSITION_Y</code>: The pixel position of the entity on the Y-axis multiplied by 256.
* <code>$POSITION_HEIGHT</code>: The pixel height (i.e., displacement of the entity from their shadow) of the entity multiplied by 256.
* <code>$POSITION_DIRECTION</code>: The direction the entity is facing.
 
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.


{| class="wikitable"
{| class="wikitable"
Line 3,350: Line 3,413:
|1
|1
|uint
|uint
|unk0
|index
|
|Index used by all <code>$POSITION_</code> script variables, ranged from 0-2 (inclusive).
|}
|}
=== 0xd7 - screen_FadeChange ===
=== 0xd7 - screen_FadeChange ===
Changes the brightness level of the screen.
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:
 
* Entities who have had their 4th "output" bit set to 1 (e.g., by using <code>SetOutputAttribute(16);</code> with them).
* Portraits.
* Textboxes.


{| class="wikitable"
{| class="wikitable"
Line 3,366: Line 3,433:
|1
|1
|bool
|bool
|wait
|suspension_flag
|If true, the game will wait for the brightness operation to finish before continuing
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and 1 is true.
|-
|-
|2
|2
|uint
|uint
|frames
|duration
|Number of frames taken to change the brightness
|The number of frames used to change the Touch Screen's brightness.
|-
|-
|3
|3
|uint
|uint
|start_brightness
|start_brightness
|Starting brightness level. Default brightness is 256.
|The brightness level the opcode will begin at.
 
* The minimum brightness is 0, which results in a black screen.
* The default brightness is 256.
* The maximum brightness is 512, which results in a white screen.
|-
|-
|4
|4
|uint
|uint
|end_brightness
|end_brightness
|Final brightness level. Default brightness is 256.
|The brightness level the opcode will end at.
 
* The minimum brightness is 0, which results in a black screen.
* The default brightness is 256.
* The maximum brightness is 512, which results in a white screen.
|}
|}
=== 0xd8 - screen_FadeChangeAll ===
=== 0xd8 - screen_FadeChangeAll ===
<TO DO: Opcode description>
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.


{| class="wikitable"
{| class="wikitable"
Line 3,396: Line 3,471:
|-
|-
|1
|1
|uint
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|unk1
|duration
|
|The number of frames used to change the Touch Screen's brightness.
|-
|-
|3
|3
|uint
|uint
|unk2
|start_brightness
|
|The brightness level the opcode will begin at.
 
* The minimum brightness is 0, which results in a black screen.
* The default brightness is 256.
* The maximum brightness is 512, which results in a white screen.
|-
|-
|4
|4
|uint
|uint
|unk3
|end_brightness
|
|The brightness level the opcode will end at.
 
* The minimum brightness is 0, which results in a black screen.
* The default brightness is 256.
* The maximum brightness is 512, which results in a white screen.
|}
|}
=== 0xd9 - screen_FadeIn ===
=== 0xd9 - screen_FadeIn ===
<TO DO: Opcode description>
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will not affect:
 
* Entities who have had their 4th "output" bit set to 1 (e.g., by using <code>SetOutputAttribute(16);</code> with them).
* Portraits.
* Textboxes.


{| class="wikitable"
{| class="wikitable"
Line 3,428: Line 3,515:
|1
|1
|bool
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|duration
|duration
|
|The number of frames used to change the Touch Screen's brightness.
|}
|}
=== 0xda - screen_FadeInAll ===
=== 0xda - screen_FadeInAll ===
<TO DO: Opcode description>
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Touch Screen.


{| class="wikitable"
{| class="wikitable"
Line 3,449: Line 3,536:
|1
|1
|bool
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|duration
|duration
|
|The number of frames used to change the Touch Screen's brightness.
|}
|}
=== 0xdb - screen_FadeOut ===
=== 0xdb - screen_FadeOut ===
<TO DO: Opcode description>
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will not affect:
 
* Entities who have had their 4th "output" bit set to 1 (e.g., by using <code>SetOutputAttribute(16);</code> with them).
* Portraits.
* Textboxes.


{| class="wikitable"
{| class="wikitable"
Line 3,470: Line 3,561:
|1
|1
|bool
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|duration
|duration
|
|The number of frames used to change the Touch Screen's brightness.
|}
|}
=== 0xdc - screen_FadeOutAll ===
=== 0xdc - screen_FadeOutAll ===
<TO DO: Opcode description>
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.


{| class="wikitable"
{| class="wikitable"
Line 3,491: Line 3,582:
|1
|1
|bool
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|duration
|duration
|
|The number of frames used to change the Touch Screen's brightness.
|}
|}
=== 0xdd - screen_FlushChange ===
=== 0xdd - screen_FlushChange ===
<TO DO: Opcode description>
Currently unknown. This opcode is not used in the base game.
 
{| class="wikitable"
{| class="wikitable"
|+Parameters
|+Parameters
|-
!#
!#
!Type
!Type
Line 3,513: Line 3,602:
|uint
|uint
|unk0
|unk0
|
|Currently unknown.
|-
|-
|2
|2
|uint
|uint
|unk1
|unk1
|
|Currently unknown.
|-
|-
|3
|3
|uint
|uint
|unk2
|unk2
|
|Currently unknown.
|-
|-
|4
|4
|uint
|uint
|unk3
|unk3
|
|Currently unknown.
|-
|-
|5
|5
|uint
|uint
|unk4
|unk4
|
|Currently unknown.
|-
|-
|6
|6
|uint
|uint
|unk5
|unk5
|
|Currently unknown.
|-
|-
|7
|7
|uint
|uint
|unk6
|unk6
|
|Currently unknown.
|-
|-
|8
|8
|uint
|uint
|unk7
|unk7
|
|Currently unknown.
|}
|}
=== 0xde - screen_FlushIn ===
=== 0xde - screen_FlushIn ===
<TO DO: Opcode description>
Changes the color of the screen from a specific state (given by the opcode's parameters, which affect the Touch Screen instantly) to its default state across a certain number of frames. This opcode will affect everything on the Touch Screen.


{| class="wikitable"
{| class="wikitable"
Line 3,562: Line 3,652:
|-
|-
|1
|1
|uint
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|unk1
|duration
|
|The number of frames used to change the Touch Screen's color.
|-
|-
|3
|3
|uint
|uint
|unk2
|mode
|
|
# Completely darkens the Touch Screen.
# Completely turns the Touch Screen to a certain color.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with a certain color.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.
|-
|-
|4
|4
|uint
|uint
|unk3
|r
|
|Unused if ''mode'' is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.
|-
|-
|5
|5
|uint
|uint
|unk4
|g
|
|Unused if ''mode'' is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.
|-
|-
|6
|6
|uint
|uint
|unk5
|b
|
|Unused if ''mode'' is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.
|}
|}
=== 0xdf - screen_FlushOut ===
=== 0xdf - screen_FlushOut ===
<TO DO: Opcode description>
Changes the color of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.


{| class="wikitable"
{| class="wikitable"
Line 3,603: Line 3,704:
|-
|-
|1
|1
|uint
|bool
|unk0
|suspension_flag
|
|Determines whether the script will suspend until this opcode's operation is complete. 0 is false and anything else is true.
|-
|-
|2
|2
|uint
|uint
|unk1
|duration
|
|The number of frames used to change the Touch Screen's color.
|-
|-
|3
|3
|uint
|uint
|unk2
|mode
|
|
# Completely darkens the Touch Screen.
# Completely turns the Touch Screen to a certain color.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with a certain color.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.
# Instantly darkens the Touch Screen?
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.
|-
|-
|4
|4
|uint
|uint
|unk3
|r
|
|Unused if ''mode'' is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.
|-
|-
|5
|5
|uint
|uint
|unk4
|g
|
|Unused if ''mode'' is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.
|-
|-
|6
|6
|uint
|uint
|unk5
|b
|
|Unused if ''mode'' is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.
|}
|}
=== 0xe0 - screen_WhiteChange ===
=== 0xe0 - screen_WhiteChange ===