ff3:ff3us:doc:asm:codes:battle_animation_script

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ff3:ff3us:doc:asm:codes:battle_animation_script [2022/11/19 01:40]
c-dude Fill in some $80 subcommands that were documented in the battle animation disassembly
ff3:ff3us:doc:asm:codes:battle_animation_script [2023/10/10 03:51] (current)
c-dude Added warning that animation subroutines cannot point to other subroutines
Line 186: Line 186:
 $99 ----ppp-    $FC37 Set Thread Palette to p $99 ----ppp-    $FC37 Set Thread Palette to p
 $9A             $FC40 Set Thread Facing Direction to Match Attacker $9A             $FC40 Set Thread Facing Direction to Match Attacker
-$9B             $F31A +$9B xx          $F31A 
 $9C xx          $F2A2  $9C xx          $F2A2 
 $9D xx          $F2F1  $9D xx          $F2F1 
-$9E             $F2B6 +$9E xx          $F2B6 
 $9F xx          $F7CF Animated Loop start (loop count equal to the number of active threads, xx = 0) (autocrossbow) $9F xx          $F7CF Animated Loop start (loop count equal to the number of active threads, xx = 0) (autocrossbow)
 $A0 xx yy       $FA4B Jump Forward Along Vector (speed xx, code branch yy) $A0 xx yy       $FA4B Jump Forward Along Vector (speed xx, code branch yy)
Line 268: Line 268:
 $BE xx          $EA98 Set Screen Mosaic to xx ($2106) $BE xx          $EA98 Set Screen Mosaic to xx ($2106)
 $BF xxxx        $EA85 Jump to Subroutine $xxxx $BF xxxx        $EA85 Jump to Subroutine $xxxx
 +                      NOTE!  Animations can only handle one layer of subroutine!
 +                      As such, animation subroutines cannot lead to other subroutines,
 +                      meaning you can't use them as easy hooks to amend an existing animation!
 +                      If you're changing an animation and you need more bytes,
 +                      you're going to have to relocate it to another spot in the D0 bank instead.
 $C0             $EA76 Return from Subroutine $C0             $EA76 Return from Subroutine
 $C1 xx yy       $EA05 xx = vector movement speed ???, yy = number of bytes to branch backwards $C1 xx yy       $EA05 xx = vector movement speed ???, yy = number of bytes to branch backwards
Line 301: Line 306:
 $C8 xx          $E7B1 Set attacker modified graphic index $C8 xx          $E7B1 Set attacker modified graphic index
 $C9 xx          $DAE4 Play sound effect xx ($00 means play default for this animation) $C9 xx          $DAE4 Play sound effect xx ($00 means play default for this animation)
-$CA             $E798 +$CA xx          $E798 Set character action speed, xx=00 is normal, xx=01 is double speed
 $CB eddddddd    $E779 Enable/Disable Echo Sprites (4 copies of character sprite) $CB eddddddd    $E779 Enable/Disable Echo Sprites (4 copies of character sprite)
                       e: 1 = enable, 0 = disable                       e: 1 = enable, 0 = disable
Line 343: Line 348:
                                o4321: layers to add/sub                                o4321: layers to add/sub
 $D5 ------vh    $E707 Flip Monster (v = vertical, h = horizontal) $D5 ------vh    $E707 Flip Monster (v = vertical, h = horizontal)
-$D6             $E6CD +$D6 xx yy       $E6CD scroll background to (xx,yy), typically used to shake the screen
 $D7 xx          $E68D Move Fire Dance Sprites $D7 xx          $E68D Move Fire Dance Sprites
 $D8 xx yy zz    $E5F9 x: x speed, y: y speed, z: ??? $D8 xx yy zz    $E5F9 x: x speed, y: y speed, z: ???
Line 355: Line 360:
 $E0 xx yy dd rr $E3A0 Modify Triangle $E0 xx yy dd rr $E3A0 Modify Triangle
 $E1 xx          $E328 show/hide attacker sprite $E1 xx          $E328 show/hide attacker sprite
-$E2             $DD8D  +$E2             $DD8D Part of Monster Steal/Jump, must be used after $E4 and before $E3. Leap forward on $E4 arc. 
-$E3             $DD42  +$E3             $DD42 Part of Monster Steal/Jump, must be used after $E4 and $E2. Leap backward on $E4 arc and restore coordinates. 
-$E4             $E286 +$E4             $E286 Part of Monster Steal/Jump, saves original coordinates and calculates target-to-monster inverse parabola
 $E5 xx yy zz    $E15D yy = number of bytes to branch backwards $E5 xx yy zz    $E15D yy = number of bytes to branch backwards
 $E6 xx yy zz    $E1B3 yy = number of bytes to branch backwards $E6 xx yy zz    $E1B3 yy = number of bytes to branch backwards
-$E7             $E25A +$E7             $E25A calculate vector from attacking character to target
 $E8 rr tt       $DCDF Move rr,tt in polar coordinates (radius,theta) $E8 rr tt       $DCDF Move rr,tt in polar coordinates (radius,theta)
 $E9 xx yy       $DC9B Move randomly (0...xx,0...yy) $E9 xx yy       $DC9B Move randomly (0...xx,0...yy)
Line 373: Line 378:
 $EF rr tt       $DCD9 similar to $E8 $EF rr tt       $DCD9 similar to $E8
 $F0 5 words     $DB6C Jump based on current target index (char1, char2, char3, char4, monster) $F0 5 words     $DB6C Jump based on current target index (char1, char2, char3, char4, monster)
-$F1 xx          $E2C0 +$F1 m------s    $E2C0 Hide or show specified sprite 
 +                      m = affect monster 
 +                      s = show sprite
 $F2             $F980 Set a trajectory from target center to attacker $F2             $F980 Set a trajectory from target center to attacker
 $F3 5 words     $DB64 Jump based on current attacker index (char1, char2, char3, char4, monster) $F3 5 words     $DB64 Jump based on current attacker index (char1, char2, char3, char4, monster)
Line 381: Line 388:
 $F7 xx          $DB50 Wait until vertical scanline position xx $F7 xx          $DB50 Wait until vertical scanline position xx
 $F8 xxxx yyyy   $DB31 Jump to either xxxx or yyyy if magitek mode is enabled $F8 xxxx yyyy   $DB31 Jump to either xxxx or yyyy if magitek mode is enabled
-$F9 xx yy zz    $DAF9 +$F9 xx yy zz    $DAF9 set attacker magitek armor action to xx
 $FA xxxx        $DB23 Jump to $xxxx $FA xxxx        $DB23 Jump to $xxxx
 $FB rgbfffff    $ED4C Set character palettes color subtraction (absolute) $FB rgbfffff    $ED4C Set character palettes color subtraction (absolute)
  • ff3/ff3us/doc/asm/codes/battle_animation_script.1668822053.txt.gz
  • Last modified: 18 months ago
  • by c-dude