Difference between revisions of "FF7/Field/Script/Opcodes/C0 JUMP"

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Jump to navigation Jump to search
my_wiki>Synergy Blades
m (#2)
my_wiki>Synergy Blades
m (Z -> I)
Line 10: Line 10:
 
! width="80" | ''X''
 
! width="80" | ''X''
 
! width="80" | ''Y''
 
! width="80" | ''Y''
! width="80" | ''Z''
+
! width="80" | ''I''
 
! width="80" | ''H''
 
! width="80" | ''H''
 
|}
 
|}
Line 18: Line 18:
 
* '''const Bit[4]''' ''B1'': Bank to retrieve X-coordinate, or zero if specifying ''X'' as a literal value.
 
* '''const Bit[4]''' ''B1'': Bank to retrieve X-coordinate, or zero if specifying ''X'' as a literal value.
 
* '''const Bit[4]''' ''B2'': Bank to retrieve Y-coordinate, or zero if specifying ''Y'' as a literal value.
 
* '''const Bit[4]''' ''B2'': Bank to retrieve Y-coordinate, or zero if specifying ''Y'' as a literal value.
* '''const Bit[4]''' ''B3'': Bank to retrieve Z-coordinate, or zero if specifying ''Z'' as a literal value.
+
* '''const Bit[4]''' ''B3'': Bank to retrieve triangle ID, or zero if specifying ''Z'' as a literal value.
 
* '''const Bit[4]''' ''B4'': Bank to retrieve jump height, or zero if specifying ''H'' as a literal value.
 
* '''const Bit[4]''' ''B4'': Bank to retrieve jump height, or zero if specifying ''H'' as a literal value.
 
* '''const Short''' ''X'': X-coordinate of the target to jump to, or lower byte specifying address if ''B1'' is non-zero.
 
* '''const Short''' ''X'': X-coordinate of the target to jump to, or lower byte specifying address if ''B1'' is non-zero.
 
* '''const Short''' ''Y'': Y-coordinate of the target to jump to, or lower byte specifying address if ''B2'' is non-zero.
 
* '''const Short''' ''Y'': Y-coordinate of the target to jump to, or lower byte specifying address if ''B2'' is non-zero.
* '''const Short''' ''Z'': Z-coordinate of the target to jump to, or lower byte specifying address if ''B3'' is non-zero.
+
* '''const Short''' ''I'': Triangle ID of the target to jump to, or lower byte specifying address if ''B3'' is non-zero.
 
* '''const UShort''' ''H'': Height of the jump. Must be non-zero if a literal value. Alternatively, lower byte specifies address if ''B4'' is non-zero.
 
* '''const UShort''' ''H'': Height of the jump. Must be non-zero if a literal value. Alternatively, lower byte specifies address if ''B4'' is non-zero.
  
 
==== Description ====
 
==== Description ====
  
Causes the character to jump to the specified point, with the jump curve peaking at a height which is increased by using a larger value for the '''H''' argument. In addition, the larger the number, the longer the jump will take to complete. A "normal" value is around 0x15, 0x01 is fast and instantaneous; the argument must not be zero or the game will crash. Whilst this is an unsigned two-byte number, a large value (beyond around 0x60) will not only cause a vast jump height, but also cause the screen to scroll erratically (the larger the number, the more erratic).
+
Causes the character to jump to the specified point and triangle ID, with the jump curve peaking at a height which is increased by using a larger value for the '''H''' argument. In addition, the larger the number, the longer the jump will take to complete. A "normal" value is around 0x15, 0x01 is fast and instantaneous; the argument must not be zero or the game will crash. Whilst this is an unsigned two-byte number, a large value (beyond around 0x60) will not only cause a vast jump height, but also cause the screen to scroll erratically (the larger the number, the more erratic).
  
 
Neither animation nor sound is specified in this opcode. An animation is played by using an animation opcode such as  [[FF7/Field/Script/Opcodes/A2 DFANM|DFANM]], and a [[FF7/Field/Script/Opcodes/F1 SOUND|SOUND]] played, before the jump.
 
Neither animation nor sound is specified in this opcode. An animation is played by using an animation opcode such as  [[FF7/Field/Script/Opcodes/A2 DFANM|DFANM]], and a [[FF7/Field/Script/Opcodes/F1 SOUND|SOUND]] played, before the jump.

Revision as of 15:26, 22 March 2007

  • Opcode: 0xC0
  • Short name: JUMP
  • Long name: Jump

Memory layout

0xC2 B1 / B2 B3 / B4 X Y I H

Arguments

  • const Bit[4] B1: Bank to retrieve X-coordinate, or zero if specifying X as a literal value.
  • const Bit[4] B2: Bank to retrieve Y-coordinate, or zero if specifying Y as a literal value.
  • const Bit[4] B3: Bank to retrieve triangle ID, or zero if specifying Z as a literal value.
  • const Bit[4] B4: Bank to retrieve jump height, or zero if specifying H as a literal value.
  • const Short X: X-coordinate of the target to jump to, or lower byte specifying address if B1 is non-zero.
  • const Short Y: Y-coordinate of the target to jump to, or lower byte specifying address if B2 is non-zero.
  • const Short I: Triangle ID of the target to jump to, or lower byte specifying address if B3 is non-zero.
  • const UShort H: Height of the jump. Must be non-zero if a literal value. Alternatively, lower byte specifies address if B4 is non-zero.

Description

Causes the character to jump to the specified point and triangle ID, with the jump curve peaking at a height which is increased by using a larger value for the H argument. In addition, the larger the number, the longer the jump will take to complete. A "normal" value is around 0x15, 0x01 is fast and instantaneous; the argument must not be zero or the game will crash. Whilst this is an unsigned two-byte number, a large value (beyond around 0x60) will not only cause a vast jump height, but also cause the screen to scroll erratically (the larger the number, the more erratic).

Neither animation nor sound is specified in this opcode. An animation is played by using an animation opcode such as DFANM, and a SOUND played, before the jump.