Difference between revisions of "Effect code script 1E - check all timing bytes"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 001a2c7c: 00802821 addu r5,r4,r0 001a2c80: 3c04801c lui r4,0x801c 001a2c84: 8c84c0c8 lw r4,-0x3f38(r4) load misc timed data for on hit 001a2c8...")
 
 
Line 10: Line 10:
 
  001a2c98: 00430018 mult r2,r3
 
  001a2c98: 00430018 mult r2,r3
 
  001a2c9c: 94820004 lhu r2,0x0004(r4) load time taken before effect display
 
  001a2c9c: 94820004 lhu r2,0x0004(r4) load time taken before effect display
  001a2ca0: 94830002 lhu r3,0x0002(r4) load ??
+
  001a2ca0: 94830002 lhu r3,0x0002(r4) load how long to focus on target?
 
  001a2ca4: 9484000a lhu r4,0x000a(r4) load effect duration
 
  001a2ca4: 9484000a lhu r4,0x000a(r4) load effect duration
  001a2ca8: 00431021 addu r2,r2,r3 time taken before display + ??
+
  001a2ca8: 00431021 addu r2,r2,r3 time taken before display + target focus time
 
  001a2cac: 00001812 mflo r3 Hit counter*time in between byte
 
  001a2cac: 00001812 mflo r3 Hit counter*time in between byte
  001a2cb0: 00431021 addu r2,r2,r3 + time taken before display + ??
+
  001a2cb0: 00431021 addu r2,r2,r3 + time taken before display + target focus time
 
  001a2cb4: 84a30028 lh r3,0x0028(r5) load timer
 
  001a2cb4: 84a30028 lh r3,0x0028(r5) load timer
  001a2cb8: 00441021 addu r2,r2,r4 add fucking everything
+
  001a2cb8: 00441021 addu r2,r2,r4 hit counter * target switching time + before-effect timer + target focus timer
  001a2cbc: 0062182a slt r3,r3,r2 set if timer < that result
+
  001a2cbc: 0062182a slt r3,r3,r2 if not yet to swap to next target...?
  001a2cc0: 14600008 bne r3,r0,0x001a2ce4 branch if so
+
  001a2cc0: 14600008 bne r3,r0,0x001a2ce4 branch if not target swapping yet? (or not animating effect on next target? (like, camera still sliding))
 
  001a2cc4: 00000000 nop
 
  001a2cc4: 00000000 nop
 +
 +
if animating on next target:
 
  001a2cc8: 84a20006 lh r2,0x0006(r5)
 
  001a2cc8: 84a20006 lh r2,0x0006(r5)
 
  001a2ccc: 8ca30008 lw r3,0x0008(r5)
 
  001a2ccc: 8ca30008 lw r3,0x0008(r5)
 
  001a2cd0: 00000000 nop
 
  001a2cd0: 00000000 nop
 
  001a2cd4: 00431021 addu r2,r2,r3
 
  001a2cd4: 00431021 addu r2,r2,r3
  001a2cd8: 94420002 lhu r2,0x0002(r2) store next byte as counter
+
  001a2cd8: 94420002 lhu r2,0x0002(r2) load arg2
 
  001a2cdc: 08068b3d j 0x001a2cf4
 
  001a2cdc: 08068b3d j 0x001a2cf4
  001a2ce0: a4a20006 sh r2,0x0006(r5)
+
  001a2ce0: a4a20006 sh r2,0x0006(r5) set counter as arg2
 +
 
 +
if not animating on next target
 
  001a2ce4: 94a20006 lhu r2,0x0006(r5)
 
  001a2ce4: 94a20006 lhu r2,0x0006(r5)
 
  001a2ce8: 00000000 nop
 
  001a2ce8: 00000000 nop
  001a2cec: 24420004 addiu r2,r2,0x0004 go to next byte
+
  001a2cec: 24420004 addiu r2,r2,0x0004 increment counter by 4
 
  001a2cf0: a4a20006 sh r2,0x0006(r5)
 
  001a2cf0: a4a20006 sh r2,0x0006(r5)
 
  001a2cf4: 03e00008 jr r31
 
  001a2cf4: 03e00008 jr r31
 
  001a2cf8: 34020001 ori r2,r0,0x0001
 
  001a2cf8: 34020001 ori r2,r0,0x0001
 
</font>
 
</font>

Latest revision as of 04:30, 21 January 2023

001a2c7c: 00802821 addu r5,r4,r0
001a2c80: 3c04801c lui r4,0x801c
001a2c84: 8c84c0c8 lw r4,-0x3f38(r4)		load misc timed data for on hit
001a2c88: 3c02801c lui r2,0x801c
001a2c8c: 9442ad0c lhu r2,-0x52f4(r2)		load hit counter
001a2c90: 94830006 lhu r3,0x0006(r4)		time in between target switching?
001a2c94: 2442ffff addiu r2,r2,0xffff		decrement hit counter
001a2c98: 00430018 mult r2,r3			
001a2c9c: 94820004 lhu r2,0x0004(r4)		load time taken before effect display
001a2ca0: 94830002 lhu r3,0x0002(r4)		load how long to focus on target?
001a2ca4: 9484000a lhu r4,0x000a(r4)		load effect duration
001a2ca8: 00431021 addu r2,r2,r3		time taken before display + target focus time
001a2cac: 00001812 mflo r3			Hit counter*time in between byte
001a2cb0: 00431021 addu r2,r2,r3		+ time taken before display + target focus time
001a2cb4: 84a30028 lh r3,0x0028(r5)		load timer
001a2cb8: 00441021 addu r2,r2,r4		hit counter * target switching time + before-effect timer + target focus timer
001a2cbc: 0062182a slt r3,r3,r2			if not yet to swap to next target...?
001a2cc0: 14600008 bne r3,r0,0x001a2ce4		branch if not target swapping yet? (or not animating effect on next target? (like, camera still sliding))
001a2cc4: 00000000 nop
if animating on next target:
001a2cc8: 84a20006 lh r2,0x0006(r5)
001a2ccc: 8ca30008 lw r3,0x0008(r5)
001a2cd0: 00000000 nop
001a2cd4: 00431021 addu r2,r2,r3
001a2cd8: 94420002 lhu r2,0x0002(r2)		load arg2
001a2cdc: 08068b3d j 0x001a2cf4
001a2ce0: a4a20006 sh r2,0x0006(r5)		set counter as arg2
if not animating on next target
001a2ce4: 94a20006 lhu r2,0x0006(r5)
001a2ce8: 00000000 nop
001a2cec: 24420004 addiu r2,r2,0x0004		increment counter by 4
001a2cf0: a4a20006 sh r2,0x0006(r5)
001a2cf4: 03e00008 jr r31
001a2cf8: 34020001 ori r2,r0,0x0001