Process Unit Movement

From Final Fantasy Hacktics Wiki
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