Get Current Effect Target ID

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

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