? 0x6bbfc

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
#   ROUTINE: ? 0x6bbfc
#       Parameters:
#           r4 = (miscUnit) Unit misc data pointer

8006bbfc: 27bdffe0 addiu r29,r29,-0x0020
8006bc00: afb00018 sw r16,0x0018(r29)
8006bc04: 00808021 addu r16,r4,r0               #   miscUnit
8006bc08: afbf001c sw r31,0x001c(r29)
8006bc0c: 8e040134 lw r4,0x0134(r16)            #   miscUnit.battleData
8006bc10: 00000000 nop
8006bc14: 10800025 beq r4,r0,0x8006bcac         #   if (miscUnit.battleData != null) {
8006bc18: 00000000 nop
8006bc1c: 86020070 lh r2,0x0070(r16)            #       facing? = miscUnit.CurrentFacing?
8006bc20: 9084018a lbu r4,0x018a(r4)            #       miscUnit.battleData.UnitID
8006bc24: 9205007c lbu r5,0x007c(r16)           #       miscUnit.X
8006bc28: 9206007d lbu r6,0x007d(r16)           #       miscUnit.Y
8006bc2c: 9207007e lbu r7,0x007e(r16)           #       miscUnit.HigherElevation
8006bc30: 04410002 bgez r2,0x8006bc3c           #       if (facing? < 0) {
8006bc34: 00000000 nop
8006bc38: 244203ff addiu r2,r2,0x03ff           #           facing? = facing? + 0x3ff
                                                #       }
8006bc3c: 00021282 srl r2,r2,0x0a               #       facing? >> 10
8006bc40: 304200ff andi r2,r2,0x00ff            #       (facing? >> 10) & 0xff
8006bc44: 0c05ff77 jal 0x8017fddc               #       ? 0x17fddc (miscUnit.battleData.UnitID, miscUnit.X, miscUnit.Y, miscUnit.HigherElevation, ((facing? >> 10) & 0xff));
8006bc48: afa20010 sw r2,0x0010(r29)            #       (facing? >> 10) & 0xff
8006bc4c: 92020130 lbu r2,0x0130(r16)           #       miscUnit.MountRiderValue
8006bc50: 00000000 nop
8006bc54: 10400015 beq r2,r0,0x8006bcac         #       if (miscUnit.MountRiderValue != 0) {
8006bc58: 00000000 nop
8006bc5c: 92040004 lbu r4,0x0004(r16)           #           miscUnit.UnitMiscID
8006bc60: 0c01e9b9 jal 0x8007a6e4               #           otherMiscUnit = Get Unit Misc Data Pointer (miscUnit.UnitMiscID);       // Isn't this the same pointer??
8006bc64: 00000000 nop
8006bc68: 8e030134 lw r3,0x0134(r16)            #           miscUnit.battleData
8006bc6c: 00000000 nop
8006bc70: 1060000e beq r3,r0,0x8006bcac         #           if (miscUnit.battleData != 0) {
8006bc74: 00000000 nop
8006bc78: 8c420134 lw r2,0x0134(r2)             #               otherMiscUnit.battleData
8006bc7c: 86030070 lh r3,0x0070(r16)            #               facing? = miscUnit.CurrentFacing?
8006bc80: 9205007c lbu r5,0x007c(r16)           #               miscUnit.X
8006bc84: 9206007d lbu r6,0x007d(r16)           #               miscUnit.Y
8006bc88: 9207007e lbu r7,0x007e(r16)           #               miscUnit.HigherElevation
8006bc8c: 9044018a lbu r4,0x018a(r2)            #               otherMiscUnit.battleData.UnitID
8006bc90: 04610003 bgez r3,0x8006bca0           
8006bc94: 00031282 srl r2,r3,0x0a               #               facing? >> 10 
                                                #               if (facing? < 0) {
8006bc98: 246303ff addiu r3,r3,0x03ff           #                   facing? = facing? + 0x3ff
8006bc9c: 00031282 srl r2,r3,0x0a               #                   facing? >> 10
                                                #               }
8006bca0: 304200ff andi r2,r2,0x00ff            #               (facing? >> 10) & 0xff
8006bca4: 0c05ff77 jal 0x8017fddc               #               ? 0x17fddc (otherMiscUnit.battleData.UnitID, miscUnit.X, miscUnit.Y, miscUnit.HigherElevation, ((facing? >> 10) & 0xff));
8006bca8: afa20010 sw r2,0x0010(r29)            #               (facing? >> 10) & 0xff
                                                #           }
                                                #       }
                                                #   }
8006bcac: 0c0206c3 jal 0x80081b0c               #   ? 0x81b0c (miscUnit);
8006bcb0: 02002021 addu r4,r16,r0               #   miscUnit
8006bcb4: 0c01f4fd jal 0x8007d3f4               #   ? 0x7d3f4 (miscUnit);
8006bcb8: 02002021 addu r4,r16,r0               #   miscUnit
8006bcbc: 0c01a0f9 jal 0x800683e4               #   ? 0x683e4 (miscUnit);
8006bcc0: 02002021 addu r4,r16,r0               #   miscUnit
8006bcc4: a200009c sb r0,0x009c(r16)            #   miscUnit.NumMovementTiles = 0
8006bcc8: 0c020bbb jal 0x80082eec               #   ? 0x82eec (miscUnit);
8006bccc: 02002021 addu r4,r16,r0               #   miscUnit
8006bcd0: 8fbf001c lw r31,0x001c(r29)
8006bcd4: 8fb00018 lw r16,0x0018(r29)
8006bcd8: 27bd0020 addiu r29,r29,0x0020
8006bcdc: 03e00008 jr r31
8006bce0: 00000000 nop