Get Unit's Data Pointer

From Final Fantasy Hacktics Wiki
Revision as of 20:57, 8 December 2021 by Orkney (talk | contribs) (Notes return location)
Jump to navigation Jump to search
Parameters : r4 = Unit ID
Returns r2 = unit data pointer ( 0x801908cc + Unit ID * 0x1c0) 
        r2 = 0x00 if Unit ID is invalid
---------------------------------------------------------------------------
00180afc: 2c820015 sltiu r2,r4,0x0015
00180b00: 10400007 beq r2,r0,0x00180b20		Branch if ID >= 0x15
00180b04: 000410c0 sll r2,r4,0x03		ID * 8
00180b08: 00441023 subu r2,r2,r4		ID * 7
00180b0c: 00021180 sll r2,r2,0x06		ID * 448
00180b10: 3c038019 lui r3,0x8019
00180b14: 246308cc addiu r3,r3,0x08cc
00180b18: 080602c9 j 0x00180b24
00180b1c: 00431021 addu r2,r2,r3		r2 = Unit's Data Pointer
00180b20: 00001021 addu r2,r0,r0		r2 = 0
00180b24: 03e00008 jr r31
00180b28: 00000000 nop

Return locations

!!! Warning this 60 returns locations were extracted from TLW (not vanilla) - they mostly might be ok, but some of them may point to a hack.!!!
0008D0A0:
0012D96C:
0012DA6C:
0012DB40:
0012DF58:
00133198:
001331D4:
00133268:
00133348:
00133414:
001334DC:
001336E4:
0013377C:
001337B0:
00133CA8:
00133D84:
00134198:
00134268:
001342EC:
00134300:
00135310:
00136214:
00136BF8:
00139298:
0013BE4C:
0013C58C:
0013E78C:
0013EE8C:
0013F914:
00141734:
0014179C:
00141A9C:
00141B78:
00142554:
0014259C:
0014286C:
00142AB4:
00144064:
00144070:
00144120:
001441AC:
001441B8:
00144440:
00145790:
00145858:
00147A1C:
00147D30:
00147DE0:
00147EB4:
001484B0:
001485C4:
00148910:
00148D70:
00148F20:
00149140:
00149260:
001AF7B4: 001af770_-_001af8b0
001B0290:
001B02A4:
001B0328: