Reset Jumping Unit Graphic Triggers

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
#   ROUTINE: RESET JUMPING UNIT GRAPHIC TRIGGERS
#       Resets graphic triggers and related field in misc unit data for jumping units.

8008d1c8: 27bdffe8 addiu r29,r29,-0x0018
8008d1cc: afb00010 sw r16,0x0010(r29)
8008d1d0: 3c10800a lui r16,0x800a
8008d1d4: 8e108a54 lw r16,-0x75ac(r16)              #   miscUnit = *0x80098a54;
8008d1d8: 00000000 nop
8008d1dc: 1200000d beq r16,r0,0x8008d214            #   if (miscUnit == null) return;
8008d1e0: afbf0014 sw r31,0x0014(r29)
                                                    #   do {
8008d1e4: 8e020144 lw r2,0x0144(r16)                #       miscUnit.statusFlags5
8008d1e8: 00000000 nop
8008d1ec: 30420040 andi r2,r2,0x0040                #       miscUnit.statusFlags5 & STATUS_JUMP
8008d1f0: 10400004 beq r2,r0,0x8008d204             #       if (miscUnit.statusFlags5 & STATUS_JUMP) {
8008d1f4: 00000000 nop
8008d1f8: 92040004 lbu r4,0x0004(r16)               #           miscUnit.UnitMiscID
8008d1fc: 0c023463 jal 0x8008d18c                   #           Reset Misc Unit Graphic Trigger (miscUnit.UnitMiscID);
8008d200: 00000000 nop                              #       }
8008d204: 8e100000 lw r16,0x0000(r16)               #       miscUnit = miscUnit.previous;
8008d208: 00000000 nop
8008d20c: 1600fff5 bne r16,r0,0x8008d1e4            #   } while (miscUnit != null);
8008d210: 00000000 nop
8008d214: 8fbf0014 lw r31,0x0014(r29)
8008d218: 8fb00010 lw r16,0x0010(r29)
8008d21c: 27bd0018 addiu r29,r29,0x0018
8008d220: 03e00008 jr r31
8008d224: 00000000 nop