Difference between revisions of "Get Current Effect Target ID"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(added link to duplicate routine)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<font face='Courier New'>
+
Duplicate routine: [[Shift_Current_Effect_Target_ID]]
 
 
  001ad828: 27bdffe8 addiu r29,r29,0xffe8
 
  001ad828: 27bdffe8 addiu r29,r29,0xffe8
 
  001ad82c: afb00010 sw r16,0x0010(r29)
 
  001ad82c: afb00010 sw r16,0x0010(r29)
Line 72: Line 71:
 
  001ad93c: 03e00008 jr r31
 
  001ad93c: 03e00008 jr r31
 
  001ad940: 00000000 nop
 
  001ad940: 00000000 nop
</font>
 

Latest revision as of 18:19, 26 April 2025

Duplicate routine: Shift_Current_Effect_Target_ID

001ad828: 27bdffe8 addiu r29,r29,0xffe8
001ad82c: afb00010 sw r16,0x0010(r29)
001ad830: 3c10801c lui r16,0x801c
001ad834: 92109134 lbu r16,-0x6ecc(r16)		Load current effect target
001ad838: 00000000 nop
001ad83c: 320200ff andi r2,r16,0x00ff
001ad840: 10400037 beq r2,r0,0x001ad920		Branch if no target for effect
001ad844: afbf0014 sw r31,0x0014(r29)
001ad848: 00022080 sll r4,r2,0x02			
001ad84c: 00822021 addu r4,r4,r2			
001ad850: 00042080 sll r4,r4,0x02			
001ad854: 00822021 addu r4,r4,r2			
001ad858: 00042080 sll r4,r4,0x02			effect target ID * 0x54
001ad85c: 3c01801c lui r1,0x801c
001ad860: 00240821 addu r1,r1,r4			0x801c0000 + EffTar * 0x54
001ad864: 90228b9c lbu r2,-0x7464(r1)			Load previous effect target ID
001ad868: 3c01801c lui r1,0x801c
001ad86c: a4229134 sh r2,-0x6ecc(r1)			Store new effect target ID
001ad870: 3c03801c lui r3,0x801c
001ad874: 94639134 lhu r3,-0x6ecc(r3)			Load again
001ad878: 00000000 nop
001ad87c: 00031080 sll r2,r3,0x02			
001ad880: 00431021 addu r2,r2,r3			
001ad884: 00021080 sll r2,r2,0x02			
001ad888: 00431021 addu r2,r2,r3			
001ad88c: 00021080 sll r2,r2,0x02			ETID * 0x54
001ad890: 3c01801c lui r1,0x801c
001ad894: 00220821 addu r1,r1,r2
001ad898: a0208b9d sb r0,-0x7463(r1)			Store previous effect target's next effect target as 0 (properly processed?)
001ad89c: 3c02801c lui r2,0x801c
001ad8a0: 90429130 lbu r2,-0x6ed0(r2)			Load previous effect target
001ad8a4: 3406001f ori r6,r0,0x001f			r6 = 0x1f
001ad8a8: 3c01801c lui r1,0x801c
001ad8ac: 00240821 addu r1,r1,r4		
001ad8b0: a0208b9d sb r0,-0x7463(r1)			store current effect target's Current effect target ID to 0 (marks it done?)
001ad8b4: 3c01801c lui r1,0x801c
001ad8b8: 00240821 addu r1,r1,r4
001ad8bc: a0228b9c sb r2,-0x7464(r1)			store current effect target's previous effect target ID to previous effect target (marks it as to be done?)
001ad8c0: 3c02801c lui r2,0x801c
001ad8c4: 24428beb addiu r2,r2,0x8beb			0x801b8beb (5 before topmost 0x54 repeating pointer)
001ad8c8: 3c03801c lui r3,0x801c
001ad8cc: 94639130 lhu r3,-0x6ed0(r3)			load previous ETID
001ad8d0: 00822821 addu r5,r4,r2			0x801b8beb + Current ETID * 0x54
001ad8d4: 00031080 sll r2,r3,0x02		
001ad8d8: 00431021 addu r2,r2,r3
001ad8dc: 00021080 sll r2,r2,0x02
001ad8e0: 00431021 addu r2,r2,r3
001ad8e4: 00021080 sll r2,r2,0x02			previous ETID * 0x54
001ad8e8: 3c01801c lui r1,0x801c
001ad8ec: 00220821 addu r1,r1,r2
001ad8f0: a0308b9d sb r16,-0x7463(r1)			store original ETID to previous ETID's current ETID
001ad8f4: 3c01801c lui r1,0x801c
001ad8f8: a4309130 sh r16,-0x6ed0(r1)			store current ETID to previous ETID
001ad8fc: 3c01801c lui r1,0x801c
001ad900: 00240821 addu r1,r1,r4			0x801b8ba8 + current ETID * 0x54 (clear 4 before topmost)
001ad904: a4208ba8 sh r0,-0x7458(r1)			Clears some targetting data?
001ad908: a0a00000 sb r0,0x0000(r5)			clear 0x50 -> 0x30 current ETID data
001ad90c: 24c6ffff addiu r6,r6,0xffff			r6 - 1
001ad910: 04c1fffd bgez r6,0x001ad908			repeat 0x1f times
001ad914: 24a5ffff addiu r5,r5,0xffff			r5 - 1
001ad918: 0806b64c j 0x001ad930
001ad91c: 02001021 addu r2,r16,r0			return: Current ETID
001ad920: 34040001 ori r4,r0,0x0001			error code 166
001ad924: 0c01127e jal 0x000449f8              	000449f8 - 00044a04  jr r31. dummied error check?
001ad928: 34050066 ori r5,r0,0x0066			error code 166
001ad92c: 02001021 addu r2,r16,r0
001ad930: 8fbf0014 lw r31,0x0014(r29)
001ad934: 8fb00010 lw r16,0x0010(r29)
001ad938: 27bd0018 addiu r29,r29,0x0018
001ad93c: 03e00008 jr r31
001ad940: 00000000 nop