Set target state for all units panels

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

Expand Range from Ally/Enemy (Nonfunctioning) 17a6dc: 0017a6dc - 0017a7b8

	001810a0: Map Location Calculation
r4 = Caster Data
r5 = Ability Flags 1
0017a6dc: 27bdffc8 addiu r29,r29,-0x0038
0017a6e0: afb10014 sw r17,0x0014(r29)
0017a6e4: 00808821 addu r17,r4,r0					r17 = Caster Data
0017a6e8: afb7002c sw r23,0x002c(r29)
0017a6ec: 30b70080 andi r23,r5,0x0080				r23 = Unknown Flag 1
0017a6f0: afb60028 sw r22,0x0028(r29)
0017a6f4: 30b60040 andi r22,r5,0x0040				r22 = Unknown Flag 2
0017a6f8: afb3001c sw r19,0x001c(r29)
0017a6fc: 00009821 addu r19,r0,r0					r19 = Counter
0017a700: afb40020 sw r20,0x0020(r29)
0017a704: 34140001 ori r20,r0,0x0001				r20 = True
0017a708: afbf0030 sw r31,0x0030(r29)
0017a70c: afb50024 sw r21,0x0024(r29)
0017a710: afb20018 sw r18,0x0018(r29)
0017a714: afb00010 sw r16,0x0010(r29)
0017a718: 92350005 lbu r21,0x0005(r17)				r21 = ENTD flags
0017a71c: 92230001 lbu r3,0x0001(r17)				r3 = Unit ID
0017a720: 340200ff ori r2,r0,0x00ff					r2 = 0x00ff
0017a724: 10620015 beq r3,r2,0x0017a77c				Branch if Unit ID(Caster) doesn't exist (FF)?
0017a728: 02202021 addu r4,r17,r0					r4 = Caster Data
0017a72c: 922201ba lbu r2,0x01ba(r17)				r2 = Modified ENTD Flags
0017a730: 00000000 nop
0017a734: 02a28026 xor r16,r21,r2					r16 = ENTD Flags
0017a738: 0c060428 jal 0x001810a0					Get Unit Tile ID
0017a73c: 02009021 addu r18,r16,r0					r18 = ENTD Flags
0017a740: 00021880 sll r3,r2,0x02					r3 = Caster Tile ID
0017a744: 00621821 addu r3,r3,r2
0017a748: 3c028019 lui r2,0x8019
0017a74c: 24422dd8 addiu r2,r2,0x2dd8				r2 = Tile Grid Data (0x192dd8)
0017a750: 12e00005 beq r23,r0,0x0017a768			If Unknown Flag = False
0017a754: 00621821 addu r3,r3,r2					r3 = Caster Tile Data
0017a758: 32020030 andi r2,r16,0x0030				r2 = Green Team Flag
0017a75c: 14400002 bne r2,r0,0x0017a768				Branch if Green Team
0017a760: 00000000 nop
0017a764: a0740001 sb r20,0x0001(r3)				Caster Tile is Targeted
0017a768: 12c00004 beq r22,r0,0x0017a77c			If Unknown Flag 2 = False
0017a76c: 32420030 andi r2,r18,0x0030				r2 = Green Team Flag
0017a770: 10400002 beq r2,r0,0x0017a77c				Branch if not Green Team
0017a774: 00000000 nop                                         
0017a778: a0740001 sb r20,0x0001(r3)				Caster Tile is Targeted
0017a77c: 26730001 addiu r19,r19,0x0001				Counter++
0017a780: 2a620015 slti r2,r19,0x0015				If Counter < 0x0015
0017a784: 1440ffe5 bne r2,r0,0x0017a71c				Branch Back if True
0017a788: 00000000 nop                                         Should be "addiu r17,r17,0x01c0"
0017a78c: 8fbf0030 lw r31,0x0030(r29)
0017a790: 8fb7002c lw r23,0x002c(r29)
0017a794: 8fb60028 lw r22,0x0028(r29)
0017a798: 8fb50024 lw r21,0x0024(r29)
0017a79c: 8fb40020 lw r20,0x0020(r29)
0017a7a0: 8fb3001c lw r19,0x001c(r29)
0017a7a4: 8fb20018 lw r18,0x0018(r29)
0017a7a8: 8fb10014 lw r17,0x0014(r29)
0017a7ac: 8fb00010 lw r16,0x0010(r29)
0017a7b0: 27bd0038 addiu r29,r29,0x0038
0017a7b4: 03e00008 jr r31
0017a7b8: 00000000 nop

Notes:

Bugs
-Loop does not properly iterate though character data offsets.
-Character data starts at cur_Chardata offset instead of 0x1908cc