Get Casting units Misc Data
Jump to navigation
Jump to search
Returns r2 = Unit misc data pointer (Unit misc ID* matching ID at 0x80096118) r2 = 0x00 if not found or invalid *Unit misc ID = Unit misc data 0x04 0007a218: 3c03800a lui r3,0x800a 0007a21c: 8c638a54 lw r3,-0x75ac(r3) |r3 = Last Unit misc data pointer 0x80098a54 / 80098a54 0007a220: 00000000 nop | 0007a224: 1060000b beq r3,r0,0x0007a254 #If r3 <> 0x00 /Else branch to end 0007a228: 00001021 addu r2,r0,r0 |r2 = 0x00 0007a22c: 3c048009 lui r4,0x8009 |r4 = 0x80090000 0007a230: 8c846118 lw r4,0x6118(r4) |r4 = Active Unit ID ? 0x80096618 Load Casting units ID? (mimic?), ability CT resolution ( 80096618 ) 0007a234: 90620004 lbu r2,0x0004(r3) @LOOP r2 = Unit Misc ID 0007a238: 00000000 nop | 0007a23c: 10440005 beq r2,r4,0x0007a254 #If Misc unit ID <> Acting unit ID /Else branch returning r2 = Acting unit misc data pointer 0007a240: 00601021 addu r2,r3,r0 |r2 = This iteration Unit misc data pointer 0007a244: 8c630000 lw r3,0x0000(r3) |r3 = pointer to previous unit misc data 0007a248: 00000000 nop | 0007a24c: 1460fff9 bne r3,r0,0x0007a234 Λ Loop while pointer <> 0x00 (= 1st unit) /Else returns r2 = 0x00 0007a250: 00001021 addu r2,r0,r0 |r2 =0x00 0007a254: 03e00008 jr r31 END 0007a258: 00000000 nop
Return locations
0006e5f0: 0006e664: 0006fb60: 000703d4: 00070c28: 00070cbc: 00070fc4: 00071044: 000711c8: 000712fc: 000713b8: 000717f0: 00071848: 00071894: 00071950: 000719a8: 00071b74: 00071cbc: 00071f00: 0007247c: 00072560: 00072af8: 00072b74: 000734fc: 00073648: 000739ec: Action_phase_control 00074008: 00074098: 000740f8: 00074228: 00074318: 00074494: 000744d8: 000745d0: 00074ce8: 00075344: 00075928: 00075ae0: 00076208: 000762d4: 00076444: 00076698: 000769c4: 00076c60: 00076dc0: 00076f44: 000770c8: 00077950: 00077b28: 000780d8: 0007817c: 000783e0: 000784cc: 0007e7c0: 000893b8: 00093774: