000745ac - 000746a8
Jump to navigation
Jump to search
000745ac: 27bdffe0 addiu r29,r29,0xffe0 000745b0: afbf001c sw r31,0x001c(r29) 000745b4: 0c01bbbc jal 0x0006eef0 000745b8: afb00018 sw r16,0x0018(r29) 000745bc: 3402001b ori r2,r0,0x001b 000745c0: 3c018009 lui r1,0x8009 000745c4: ac2260e4 sw r2,0x60e4(r1) 000745c8: 0c01e886 jal 0x0007a218 000745cc: 00000000 nop 000745d0: 3c048009 lui r4,0x8009 000745d4: 8c8461b4 lw r4,0x61b4(r4) 000745d8: 3c058009 lui r5,0x8009 000745dc: 8ca561bc lw r5,0x61bc(r5) 000745e0: 3c068009 lui r6,0x8009 000745e4: 8cc661b8 lw r6,0x61b8(r6) 000745e8: 0c01e8ae jal 0x0007a2b8 Check if unit is on panel 000745ec: 00408021 addu r16,r2,r0 unit misc. data pointer 000745f0: 00402021 addu r4,r2,r0 misc data of unit on panel 000745f4: 8e030174 lw r3,0x0174(r16) load result from Set Target Tiles -> see Decide what to do based on skillset/ability selections 000745f8: 34020001 ori r2,r0,0x0001 000745fc: 10620012 beq r3,r2,0x00074648 branch if can't follow target 00074600: 28620002 slti r2,r3,0x0002 00074604: 10400005 beq r2,r0,0x0007461c branch if not -1, 0, 1 00074608: 00000000 nop 0007460c: 10600008 beq r3,r0,0x00074630 branch if can follow target 00074610: 00000000 nop 00074614: 0801d19e j 0x00074678 else go here, set r4 = 4, r5 = 0 00074618: 34040004 ori r4,r0,0x0004
0007461c: 34020002 ori r2,r0,0x0002 00074620: 1062000f beq r3,r2,0x00074660 branch if auto target 00074624: 00000000 nop 00074628: 0801d19e j 0x00074678 else, r4 = 4, r5 = 0 0007462c: 34040004 ori r4,r0,0x0004
can follow target
00074630: 10800003 beq r4,r0,0x00074640 branch if no misc. unit data 00074634: 34040004 ori r4,r0,0x0004 00074638: 0801d19f j 0x0007467c r4 = 4, r5 = 1 (can follow, target on tile exists) 0007463c: 34050001 ori r5,r0,0x0001 00074640: 0801d19f j 0x0007467c r4 = 4, r5 = 2 (can follow, no target on tile) 00074644: 34050002 ori r5,r0,0x0002
can't follow target
00074648: 10800003 beq r4,r0,0x00074658 branch if no misc. unit data 0007464c: 34040004 ori r4,r0,0x0004 00074650: 0801d19f j 0x0007467c r4 = 4, r5 = 4 (can't follow, target on tile exists) 00074654: 34050004 ori r5,r0,0x0004 00074658: 0801d19f j 0x0007467c r4 = 4, r5 = 2 (can't follow, no target on tile) 0007465c: 34050002 ori r5,r0,0x0002
auto target
00074660: 10800003 beq r4,r0,0x00074670 branch if no misc. unit data 00074664: 34040004 ori r4,r0,0x0004 00074668: 0801d19f j 0x0007467c r4 = 4, r5 = 3 0007466c: 34050003 ori r5,r0,0x0003 00074670: 0801d19f j 0x0007467c r4 = 4, r5 = 3 00074674: 34050002 ori r5,r0,0x0002
otherwise
00074678: 00002821 addu r5,r0,r0
all return
0007467c: 00003821 addu r7,r0,r0 00074680: 8e020134 lw r2,0x0134(r16) 00074684: 9203013d lbu r3,0x013d(r16) ENTD flags from Unit data 00074688: 9046018a lbu r6,0x018a(r2) 0007468c: 30630008 andi r3,r3,0x0008 check control bit 00074690: 0c05066e jal 0x001419b8 System function setup routine do Routine at 141b0c (r5, casUnitID, 0, isControlled) 00074694: afa30010 sw r3,0x0010(r29) 00074698: 8fbf001c lw r31,0x001c(r29) 0007469c: 8fb00018 lw r16,0x0018(r29) 000746a0: 27bd0020 addiu r29,r29,0x0020 000746a4: 03e00008 jr r31 000746a8: 00000000 nop
Return Locations
00076d50: 00076c50 - 00076d80