Process Unit Movement
Jump to navigation
Jump to search
# ROUTINE: PROCESS UNIT MOVEMENT 800707c4: 27bdffe8 addiu r29,r29,-0x0018 800707c8: afb00010 sw r16,0x0010(r29) 800707cc: 00008021 addu r16,r0,r0 # unitMiscID = 0 800707d0: afbf0014 sw r31,0x0014(r29) # do { 800707d4: 0c01e9b9 jal 0x8007a6e4 # unitMisc = Get Unit Misc Data Pointer (unitMiscID); 800707d8: 3204ffff andi r4,r16,0xffff 800707dc: 00402021 addu r4,r2,r0 # unitMisc 800707e0: 10800007 beq r4,r0,0x80070800 800707e4: 26100001 addiu r16,r16,0x0001 # unitMiscID = unitMiscID + 1 # if (unitMisc != null) { 800707e8: 9082009c lbu r2,0x009c(r4) # unitMisc.NumMovementTiles 800707ec: 00000000 nop 800707f0: 10400004 beq r2,r0,0x80070804 # if (unitMisc.NumMovementTiles == 0) break; 800707f4: 2a020010 slti r2,r16,0x0010 800707f8: 0c01b606 jal 0x8006d818 # Process Single Unit Movement (unitMisc); 800707fc: 00000000 nop # } 80070800: 2a020010 slti r2,r16,0x0010 80070804: 1440fff3 bne r2,r0,0x800707d4 # } while (unitMiscID < 16); 80070808: 00000000 nop 8007080c: 8fbf0014 lw r31,0x0014(r29) 80070810: 8fb00010 lw r16,0x0010(r29) 80070814: 27bd0018 addiu r29,r29,0x0018 80070818: 03e00008 jr r31 8007081c: 00000000 nop