Get Unit's Data Pointer
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: