Difference between revisions of "Get Casting units Misc Data"
Jump to navigation
Jump to search
m (Choto moved page 0007a218 - 0007a258 to Get Casting units Misc Data) |
m |
||
Line 1: | Line 1: | ||
− | + | 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 | |
− | 0007a218: 3c03800a lui r3,0x800a | + | 0007a21c: 8c638a54 lw r3,-0x75ac(r3) |{{f/adr|<nowiki>r3 = Last Unit misc data pointer</nowiki>}} {{f/std|<nowiki> 0x80098a54 / 80098a54</nowiki>}} |
− | 0007a21c: 8c638a54 lw r3,-0x75ac(r3) | + | 0007a220: 00000000 nop | |
− | 0007a220: 00000000 nop | + | 0007a224: 1060000b beq r3,r0,0x0007a254 {{f/Cond|<nowiki>If r3 <> 0x00</nowiki>}} /Else branch to end |
− | 0007a224: 1060000b beq r3,r0,0x0007a254 | + | 0007a228: 00001021 addu r2,r0,r0 |{{f/std|<nowiki>r2 = 0x00</nowiki>}} |
− | 0007a228: 00001021 addu r2,r0,r0 | + | 0007a22c: 3c048009 lui r4,0x8009 |{{f/std|<nowiki>r4 = 0x80090000</nowiki>}} |
− | 0007a22c: 3c048009 lui r4,0x8009 | + | 0007a230: 8c846118 lw r4,0x6118(r4) |{{f/adr|<nowiki>r4 = Active Unit ID ?</nowiki>}} {{f/std|<nowiki> 0x80096618 Load Casting units ID? (mimic?), ability CT resolution ( 80096618 )</nowiki>}} |
− | 0007a230: 8c846118 lw r4,0x6118(r4) | + | 0007a234: 90620004 lbu r2,0x0004(r3) {{f/bloop|<nowiki>LOOP</nowiki>}} {{f/load|<nowiki>r2 = Unit Misc ID</nowiki>}} |
− | 0007a234: 90620004 lbu r2,0x0004(r3) | + | 0007a238: 00000000 nop | |
− | 0007a238: 00000000 nop | + | 0007a23c: 10440005 beq r2,r4,0x0007a254 {{f/Cond|<nowiki>If Misc unit ID <> Acting unit ID</nowiki>}} /Else branch returning r2 = Acting unit misc data pointer |
− | 0007a23c: 10440005 beq r2,r4,0x0007a254 | + | 0007a240: 00601021 addu r2,r3,r0 |{{f/std|<nowiki>r2 = This iteration Unit misc data pointer</nowiki>}} |
− | 0007a240: 00601021 addu r2,r3,r0 | + | 0007a244: 8c630000 lw r3,0x0000(r3) |{{f/adr|<nowiki>r3 = pointer to previous unit misc data</nowiki>}} |
− | 0007a244: 8c630000 lw r3,0x0000(r3) | + | 0007a248: 00000000 nop | |
− | 0007a248: 00000000 nop | + | 0007a24c: 1460fff9 bne r3,r0,0x0007a234 {{f/eloop|<nowiki>Loop while pointer <> 0x00 (= 1st unit)</nowiki>}} /Else returns r2 = 0x00 |
− | 0007a24c: 1460fff9 bne r3,r0,0x0007a234 | + | 0007a250: 00001021 addu r2,r0,r0 |{{f/std|<nowiki>r2 =0x00</nowiki>}} |
− | 0007a250: 00001021 addu r2,r0,r0 | + | 0007a254: 03e00008 jr r31 END |
− | 0007a254: 03e00008 jr r31 | + | 0007a258: 00000000 nop |
− | 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: |
Revision as of 14:13, 22 February 2022
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: