.include "macros.inc" .section .ctors, "wa" lbl_ctor: .4byte __sinit_CScriptGunTurret_cpp .section .data .balign 8 .global lbl_803E71D0 lbl_803E71D0: # ROM: 0x3E41D0 .4byte lbl_803D293C .4byte lbl_803D2A44 .4byte lbl_803D2B4C .4byte lbl_803D2CAC .4byte lbl_803D2DB4 .4byte lbl_803D2EBC .4byte 0 .global lbl_803E71EC lbl_803E71EC: # ROM: 0x3E41EC .4byte 0 .4byte 0 .4byte __dt__16CScriptGunTurretFv .4byte Accept__16CScriptGunTurretFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__16CScriptGunTurretFfR13CStateManager .4byte AcceptScriptMsg__16CScriptGunTurretF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__6CActorFb .4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__16CScriptGunTurretCFRC14CFrustumPlanesRC13CStateManager .4byte Render__16CScriptGunTurretCFRC13CStateManager .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__16CScriptGunTurretFR13CStateManager .4byte GetDamageVulnerability__16CScriptGunTurretCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__16CScriptGunTurretCFv .4byte Touch__16CScriptGunTurretFR6CActorR13CStateManager .4byte GetOrbitPosition__16CScriptGunTurretCFRC13CStateManager .4byte GetAimPosition__16CScriptGunTurretCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC13CStateManager .4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef .4byte GetCollisionPrimitive__13CPhysicsActorCFv .4byte GetPrimitiveTransform__13CPhysicsActorCFv .4byte CollidedWith__13CPhysicsActorFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager .4byte GetStepDownHeight__13CPhysicsActorCFv .4byte GetStepUpHeight__13CPhysicsActorCFv .4byte GetWeight__13CPhysicsActorCFv .global lbl_803E7270 lbl_803E7270: # ROM: 0x3E4270 .4byte lbl_802199F0 .4byte lbl_802199F0 .4byte lbl_802199F0 .4byte lbl_802199BC .4byte lbl_802199BC .4byte lbl_802199C4 .4byte lbl_802199CC .4byte lbl_802199D4 .4byte lbl_802199D4 .4byte lbl_802199DC .4byte lbl_802199DC .4byte lbl_802199E4 .4byte lbl_802199EC .global lbl_803E72A4 lbl_803E72A4: # ROM: 0x3E42A4 .4byte lbl_8021A788 .4byte lbl_8021A278 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A294 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A5D4 .4byte lbl_8021A5F4 .4byte lbl_8021A528 .4byte lbl_8021A554 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A5A0 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A2B0 .4byte lbl_8021A4C4 .4byte lbl_8021A614 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A788 .4byte lbl_8021A6D0 .4byte 0 .section .sdata .balign 8 .global lbl_805A80A0 lbl_805A80A0: # ROM: 0x3F5A40 .4byte 0x00000021 .global lbl_805A80A4 lbl_805A80A4: # ROM: 0x3F5A44 .4byte 0x00000013 .global lbl_805A80A8 lbl_805A80A8: # ROM: 0x3F5A48 .4byte 0x00000021 .global lbl_805A80AC lbl_805A80AC: # ROM: 0x3F5A4C .4byte 0x00000029 .global lbl_805A80B0 lbl_805A80B0: # ROM: 0x3F5A50 .4byte 0x00000028 .global lbl_805A80B4 lbl_805A80B4: # ROM: 0x3F5A54 .4byte 0 .global lbl_805A80B8 lbl_805A80B8: # ROM: 0x3F5A58 .float 1.0 .global lbl_805A80BC lbl_805A80BC: # ROM: 0x3F5A5C .4byte 0x00000013 .global lbl_805A80C0 lbl_805A80C0: # ROM: 0x3F5A60 .4byte 0x00000020 .global lbl_805A80C4 lbl_805A80C4: # ROM: 0x3F5A64 .4byte 0x0000002F .global lbl_805A80C8 lbl_805A80C8: # ROM: 0x3F5A68 .4byte 0x00000020 .global lbl_805A80CC lbl_805A80CC: # ROM: 0x3F5A6C .4byte 0x00000021 .global lbl_805A80D0 lbl_805A80D0: # ROM: 0x3F5A70 .4byte 0x00000026 .global lbl_805A80D4 lbl_805A80D4: # ROM: 0x3F5A74 .4byte 0x00000014 .section .sbss, "wa" .balign 8 .global lbl_805A90C0 lbl_805A90C0: .skip 0x4 .global lbl_805A90C4 lbl_805A90C4: .skip 0x4 .global lbl_805A90C8 lbl_805A90C8: .skip 0x4 .global lbl_805A90CC lbl_805A90CC: .skip 0x4 .section .text, "ax" .global HealthInfo__16CScriptGunTurretFR13CStateManager HealthInfo__16CScriptGunTurretFR13CStateManager: /* 80215890 002127F0 38 63 02 64 */ addi r3, r3, 0x264 /* 80215894 002127F4 4E 80 00 20 */ blr .global GetDamageVulnerability__16CScriptGunTurretCFv GetDamageVulnerability__16CScriptGunTurretCFv: /* 80215898 002127F8 38 63 02 6C */ addi r3, r3, 0x26c /* 8021589C 002127FC 4E 80 00 20 */ blr .global PlayerInsideTurretSphere__16CScriptGunTurretFR13CStateManager PlayerInsideTurretSphere__16CScriptGunTurretFR13CStateManager: /* 802158A0 00212800 94 21 FF 80 */ stwu r1, -0x80(r1) /* 802158A4 00212804 7C 08 02 A6 */ mflr r0 /* 802158A8 00212808 90 01 00 84 */ stw r0, 0x84(r1) /* 802158AC 0021280C DB E1 00 70 */ stfd f31, 0x70(r1) /* 802158B0 00212810 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 802158B4 00212814 DB C1 00 60 */ stfd f30, 0x60(r1) /* 802158B8 00212818 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 802158BC 0021281C DB A1 00 50 */ stfd f29, 0x50(r1) /* 802158C0 00212820 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 802158C4 00212824 DB 81 00 40 */ stfd f28, 0x40(r1) /* 802158C8 00212828 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0 /* 802158CC 0021282C 93 E1 00 3C */ stw r31, 0x3c(r1) /* 802158D0 00212830 93 C1 00 38 */ stw r30, 0x38(r1) /* 802158D4 00212834 93 A1 00 34 */ stw r29, 0x34(r1) /* 802158D8 00212838 7C 7D 1B 78 */ mr r29, r3 /* 802158DC 0021283C 7C 9E 23 78 */ mr r30, r4 /* 802158E0 00212840 A0 03 04 A0 */ lhz r0, 0x4a0(r3) /* 802158E4 00212844 7F C3 F3 78 */ mr r3, r30 /* 802158E8 00212848 38 81 00 08 */ addi r4, r1, 8 /* 802158EC 0021284C B0 01 00 08 */ sth r0, 8(r1) /* 802158F0 00212850 4B E3 6C B5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 802158F4 00212854 7C 64 1B 78 */ mr r4, r3 /* 802158F8 00212858 38 61 00 0C */ addi r3, r1, 0xc /* 802158FC 0021285C 4B E9 9A 51 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80215900 00212860 83 E3 00 04 */ lwz r31, 4(r3) /* 80215904 00212864 28 1F 00 00 */ cmplwi r31, 0 /* 80215908 00212868 41 82 00 C0 */ beq lbl_802159C8 /* 8021590C 0021286C 88 1F 00 30 */ lbz r0, 0x30(r31) /* 80215910 00212870 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80215914 00212874 41 82 00 B4 */ beq lbl_802159C8 /* 80215918 00212878 80 9E 08 4C */ lwz r4, 0x84c(r30) /* 8021591C 0021287C 7F C5 F3 78 */ mr r5, r30 /* 80215920 00212880 38 61 00 14 */ addi r3, r1, 0x14 /* 80215924 00212884 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 80215928 00212888 81 84 00 00 */ lwz r12, 0(r4) /* 8021592C 0021288C 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 80215930 00212890 7D 89 03 A6 */ mtctr r12 /* 80215934 00212894 4E 80 04 21 */ bctrl /* 80215938 00212898 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 8021593C 0021289C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80215940 002128A0 C0 9D 00 50 */ lfs f4, 0x50(r29) /* 80215944 002128A4 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80215948 002128A8 EF C0 18 28 */ fsubs f30, f0, f3 /* 8021594C 002128AC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80215950 002128B0 C0 BD 00 40 */ lfs f5, 0x40(r29) /* 80215954 002128B4 EF A1 20 28 */ fsubs f29, f1, f4 /* 80215958 002128B8 C0 21 00 14 */ lfs f1, 0x14(r1) /* 8021595C 002128BC FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80215960 002128C0 EF 81 28 28 */ fsubs f28, f1, f5 /* 80215964 002128C4 40 80 00 64 */ bge lbl_802159C8 /* 80215968 002128C8 C0 5F 00 50 */ lfs f2, 0x50(r31) /* 8021596C 002128CC 38 61 00 20 */ addi r3, r1, 0x20 /* 80215970 002128D0 C0 3F 00 60 */ lfs f1, 0x60(r31) /* 80215974 002128D4 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80215978 002128D8 EC 42 20 28 */ fsubs f2, f2, f4 /* 8021597C 002128DC EC 21 18 28 */ fsubs f1, f1, f3 /* 80215980 002128E0 EC 00 28 28 */ fsubs f0, f0, f5 /* 80215984 002128E4 D0 41 00 24 */ stfs f2, 0x24(r1) /* 80215988 002128E8 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8021598C 002128EC D0 21 00 28 */ stfs f1, 0x28(r1) /* 80215990 002128F0 48 0F EF 29 */ bl Magnitude__9CVector3fCFv /* 80215994 002128F4 FF E0 08 90 */ fmr f31, f1 /* 80215998 002128F8 7F E3 FB 78 */ mr r3, r31 /* 8021599C 002128FC 4B F9 31 E1 */ bl GetSphereRadius__15CCollisionActorCFv /* 802159A0 00212900 EC 1D 07 72 */ fmuls f0, f29, f29 /* 802159A4 00212904 C0 42 B3 60 */ lfs f2, lbl_805AD080@sda21(r2) /* 802159A8 00212908 EC 42 F8 7A */ fmadds f2, f2, f1, f31 /* 802159AC 0021290C EC 3C 07 3A */ fmadds f1, f28, f28, f0 /* 802159B0 00212910 EC 02 00 B2 */ fmuls f0, f2, f2 /* 802159B4 00212914 EC 3E 0F BA */ fmadds f1, f30, f30, f1 /* 802159B8 00212918 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802159BC 0021291C 7C 00 00 26 */ mfcr r0 /* 802159C0 00212920 54 03 0F FE */ srwi r3, r0, 0x1f /* 802159C4 00212924 48 00 00 08 */ b lbl_802159CC lbl_802159C8: /* 802159C8 00212928 38 60 00 00 */ li r3, 0 lbl_802159CC: /* 802159CC 0021292C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 802159D0 00212930 CB E1 00 70 */ lfd f31, 0x70(r1) /* 802159D4 00212934 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0 /* 802159D8 00212938 CB C1 00 60 */ lfd f30, 0x60(r1) /* 802159DC 0021293C E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0 /* 802159E0 00212940 CB A1 00 50 */ lfd f29, 0x50(r1) /* 802159E4 00212944 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0 /* 802159E8 00212948 CB 81 00 40 */ lfd f28, 0x40(r1) /* 802159EC 0021294C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802159F0 00212950 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802159F4 00212954 80 01 00 84 */ lwz r0, 0x84(r1) /* 802159F8 00212958 83 A1 00 34 */ lwz r29, 0x34(r1) /* 802159FC 0021295C 7C 08 03 A6 */ mtlr r0 /* 80215A00 00212960 38 21 00 80 */ addi r1, r1, 0x80 /* 80215A04 00212964 4E 80 00 20 */ blr .global UpdateFrozenState__16CScriptGunTurretFfR13CStateManager UpdateFrozenState__16CScriptGunTurretFfR13CStateManager: /* 80215A08 00212968 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80215A0C 0021296C 7C 08 02 A6 */ mflr r0 /* 80215A10 00212970 90 01 00 24 */ stw r0, 0x24(r1) /* 80215A14 00212974 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80215A18 00212978 7C 7F 1B 78 */ mr r31, r3 /* 80215A1C 0021297C 88 C3 05 60 */ lbz r6, 0x560(r3) /* 80215A20 00212980 54 C0 D7 FF */ rlwinm. r0, r6, 0x1a, 0x1f, 0x1f /* 80215A24 00212984 41 82 00 9C */ beq lbl_80215AC0 /* 80215A28 00212988 C0 5F 05 3C */ lfs f2, 0x53c(r31) /* 80215A2C 0021298C C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80215A30 00212990 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80215A34 00212994 4C 40 13 82 */ cror 2, 0, 2 /* 80215A38 00212998 40 82 00 70 */ bne lbl_80215AA8 /* 80215A3C 0021299C 38 00 00 00 */ li r0, 0 /* 80215A40 002129A0 7C 85 23 78 */ mr r5, r4 /* 80215A44 002129A4 50 06 36 72 */ rlwimi r6, r0, 6, 0x19, 0x19 /* 80215A48 002129A8 38 80 00 1D */ li r4, 0x1d /* 80215A4C 002129AC 98 DF 05 60 */ stb r6, 0x560(r31) /* 80215A50 002129B0 38 C0 FF FF */ li r6, -1 /* 80215A54 002129B4 4B E3 B6 6D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 80215A58 002129B8 81 5F 00 04 */ lwz r10, 4(r31) /* 80215A5C 002129BC 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 80215A60 002129C0 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80215A64 002129C4 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 80215A68 002129C8 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80215A6C 002129CC 38 61 00 08 */ addi r3, r1, 8 /* 80215A70 002129D0 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80215A74 002129D4 38 A1 00 0C */ addi r5, r1, 0xc /* 80215A78 002129D8 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 80215A7C 002129DC 38 E0 00 00 */ li r7, 0 /* 80215A80 002129E0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80215A84 002129E4 39 00 00 00 */ li r8, 0 /* 80215A88 002129E8 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80215A8C 002129EC D0 41 00 14 */ stfs f2, 0x14(r1) /* 80215A90 002129F0 A0 9F 03 54 */ lhz r4, 0x354(r31) /* 80215A94 002129F4 48 0D 48 1D */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 80215A98 002129F8 7F E3 FB 78 */ mr r3, r31 /* 80215A9C 002129FC 38 80 00 00 */ li r4, 0 /* 80215AA0 00212A00 4B E3 D9 4D */ bl SetMuted__6CActorFb /* 80215AA4 00212A04 48 00 00 24 */ b lbl_80215AC8 lbl_80215AA8: /* 80215AA8 00212A08 88 1F 03 10 */ lbz r0, 0x310(r31) /* 80215AAC 00212A0C 28 00 00 00 */ cmplwi r0, 0 /* 80215AB0 00212A10 41 82 00 18 */ beq lbl_80215AC8 /* 80215AB4 00212A14 EC 02 08 28 */ fsubs f0, f2, f1 /* 80215AB8 00212A18 D0 1F 05 3C */ stfs f0, 0x53c(r31) /* 80215ABC 00212A1C 48 00 00 0C */ b lbl_80215AC8 lbl_80215AC0: /* 80215AC0 00212A20 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80215AC4 00212A24 D0 1F 05 3C */ stfs f0, 0x53c(r31) lbl_80215AC8: /* 80215AC8 00212A28 80 01 00 24 */ lwz r0, 0x24(r1) /* 80215ACC 00212A2C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80215AD0 00212A30 7C 08 03 A6 */ mtlr r0 /* 80215AD4 00212A34 38 21 00 20 */ addi r1, r1, 0x20 /* 80215AD8 00212A38 4E 80 00 20 */ blr .global UpdateGunCollisionManager__16CScriptGunTurretFfR13CStateManager UpdateGunCollisionManager__16CScriptGunTurretFfR13CStateManager: /* 80215ADC 00212A3C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80215AE0 00212A40 7C 08 02 A6 */ mflr r0 /* 80215AE4 00212A44 90 01 00 34 */ stw r0, 0x34(r1) /* 80215AE8 00212A48 DB E1 00 28 */ stfd f31, 0x28(r1) /* 80215AEC 00212A4C FF E0 08 90 */ fmr f31, f1 /* 80215AF0 00212A50 93 E1 00 24 */ stw r31, 0x24(r1) /* 80215AF4 00212A54 7C 9F 23 78 */ mr r31, r4 /* 80215AF8 00212A58 38 81 00 08 */ addi r4, r1, 8 /* 80215AFC 00212A5C 93 C1 00 20 */ stw r30, 0x20(r1) /* 80215B00 00212A60 7C 7E 1B 78 */ mr r30, r3 /* 80215B04 00212A64 A0 03 04 A0 */ lhz r0, 0x4a0(r3) /* 80215B08 00212A68 7F E3 FB 78 */ mr r3, r31 /* 80215B0C 00212A6C B0 01 00 08 */ sth r0, 8(r1) /* 80215B10 00212A70 4B E3 6A 65 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80215B14 00212A74 7C 64 1B 78 */ mr r4, r3 /* 80215B18 00212A78 38 61 00 0C */ addi r3, r1, 0xc /* 80215B1C 00212A7C 4B E9 98 31 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80215B20 00212A80 80 63 00 04 */ lwz r3, 4(r3) /* 80215B24 00212A84 28 03 00 00 */ cmplwi r3, 0 /* 80215B28 00212A88 41 82 00 2C */ beq lbl_80215B54 /* 80215B2C 00212A8C 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 80215B30 00212A90 81 83 00 00 */ lwz r12, 0(r3) /* 80215B34 00212A94 80 A4 02 F8 */ lwz r5, 0x2f8(r4) /* 80215B38 00212A98 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80215B3C 00212A9C 20 85 00 01 */ subfic r4, r5, 1 /* 80215B40 00212AA0 38 05 FF FF */ addi r0, r5, -1 /* 80215B44 00212AA4 7C 80 03 78 */ or r0, r4, r0 /* 80215B48 00212AA8 54 04 0F FE */ srwi r4, r0, 0x1f /* 80215B4C 00212AAC 7D 89 03 A6 */ mtctr r12 /* 80215B50 00212AB0 4E 80 04 21 */ bctrl lbl_80215B54: /* 80215B54 00212AB4 FC 20 F8 90 */ fmr f1, f31 /* 80215B58 00212AB8 80 7E 04 9C */ lwz r3, 0x49c(r30) /* 80215B5C 00212ABC 7F E4 FB 78 */ mr r4, r31 /* 80215B60 00212AC0 38 A0 00 00 */ li r5, 0 /* 80215B64 00212AC4 4B F9 18 ED */ bl Update__22CCollisionActorManagerCFfR13CStateManagerQ222CCollisionActorManager14EUpdateOptions /* 80215B68 00212AC8 80 01 00 34 */ lwz r0, 0x34(r1) /* 80215B6C 00212ACC CB E1 00 28 */ lfd f31, 0x28(r1) /* 80215B70 00212AD0 83 E1 00 24 */ lwz r31, 0x24(r1) /* 80215B74 00212AD4 83 C1 00 20 */ lwz r30, 0x20(r1) /* 80215B78 00212AD8 7C 08 03 A6 */ mtlr r0 /* 80215B7C 00212ADC 38 21 00 30 */ addi r1, r1, 0x30 /* 80215B80 00212AE0 4E 80 00 20 */ blr .global SetupCollisionManager__16CScriptGunTurretFR13CStateManager SetupCollisionManager__16CScriptGunTurretFR13CStateManager: /* 80215B84 00212AE4 94 21 FE 10 */ stwu r1, -0x1f0(r1) /* 80215B88 00212AE8 7C 08 02 A6 */ mflr r0 /* 80215B8C 00212AEC 90 01 01 F4 */ stw r0, 0x1f4(r1) /* 80215B90 00212AF0 38 00 00 00 */ li r0, 0 /* 80215B94 00212AF4 BE E1 01 CC */ stmw r23, 0x1cc(r1) /* 80215B98 00212AF8 7C 7B 1B 78 */ mr r27, r3 /* 80215B9C 00212AFC 7C 9C 23 78 */ mr r28, r4 /* 80215BA0 00212B00 38 61 00 90 */ addi r3, r1, 0x90 /* 80215BA4 00212B04 38 80 00 02 */ li r4, 2 /* 80215BA8 00212B08 90 01 00 94 */ stw r0, 0x94(r1) /* 80215BAC 00212B0C 90 01 00 98 */ stw r0, 0x98(r1) /* 80215BB0 00212B10 90 01 00 9C */ stw r0, 0x9c(r1) /* 80215BB4 00212B14 4B F4 0C 05 */ bl "reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi" /* 80215BB8 00212B18 80 BB 00 64 */ lwz r5, 0x64(r27) /* 80215BBC 00212B1C 38 61 00 80 */ addi r3, r1, 0x80 /* 80215BC0 00212B20 80 82 B3 50 */ lwz r4, lbl_805AD070@sda21(r2) /* 80215BC4 00212B24 83 45 00 10 */ lwz r26, 0x10(r5) /* 80215BC8 00212B28 4B DE F0 F1 */ bl string_l__4rstlFPCc /* 80215BCC 00212B2C 7F 44 D3 78 */ mr r4, r26 /* 80215BD0 00212B30 38 61 00 18 */ addi r3, r1, 0x18 /* 80215BD4 00212B34 38 A1 00 80 */ addi r5, r1, 0x80 /* 80215BD8 00212B38 4B E1 8C 61 */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80215BDC 00212B3C 88 01 00 18 */ lbz r0, 0x18(r1) /* 80215BE0 00212B40 38 61 00 80 */ addi r3, r1, 0x80 /* 80215BE4 00212B44 98 1B 05 08 */ stb r0, 0x508(r27) /* 80215BE8 00212B48 48 12 7E F9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80215BEC 00212B4C 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 80215BF0 00212B50 38 61 00 70 */ addi r3, r1, 0x70 /* 80215BF4 00212B54 4B DE F0 C5 */ bl string_l__4rstlFPCc /* 80215BF8 00212B58 7F 44 D3 78 */ mr r4, r26 /* 80215BFC 00212B5C 38 61 00 14 */ addi r3, r1, 0x14 /* 80215C00 00212B60 38 A1 00 70 */ addi r5, r1, 0x70 /* 80215C04 00212B64 4B E1 8C 35 */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80215C08 00212B68 88 01 00 14 */ lbz r0, 0x14(r1) /* 80215C0C 00212B6C 38 61 00 70 */ addi r3, r1, 0x70 /* 80215C10 00212B70 98 01 00 1C */ stb r0, 0x1c(r1) /* 80215C14 00212B74 48 12 7E CD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80215C18 00212B78 80 82 B3 50 */ lwz r4, lbl_805AD070@sda21(r2) /* 80215C1C 00212B7C 38 61 00 60 */ addi r3, r1, 0x60 /* 80215C20 00212B80 4B DE F0 99 */ bl string_l__4rstlFPCc /* 80215C24 00212B84 88 01 00 1C */ lbz r0, 0x1c(r1) /* 80215C28 00212B88 38 61 00 FC */ addi r3, r1, 0xfc /* 80215C2C 00212B8C C0 22 B3 64 */ lfs f1, lbl_805AD084@sda21(r2) /* 80215C30 00212B90 38 81 00 10 */ addi r4, r1, 0x10 /* 80215C34 00212B94 98 01 00 0C */ stb r0, 0xc(r1) /* 80215C38 00212B98 38 A1 00 0C */ addi r5, r1, 0xc /* 80215C3C 00212B9C C0 42 B3 68 */ lfs f2, lbl_805AD088@sda21(r2) /* 80215C40 00212BA0 38 E1 00 60 */ addi r7, r1, 0x60 /* 80215C44 00212BA4 88 1B 05 08 */ lbz r0, 0x508(r27) /* 80215C48 00212BA8 38 C0 00 01 */ li r6, 1 /* 80215C4C 00212BAC C0 62 B3 6C */ lfs f3, lbl_805AD08C@sda21(r2) /* 80215C50 00212BB0 98 01 00 10 */ stb r0, 0x10(r1) /* 80215C54 00212BB4 4B F9 2B 01 */ bl "SphereSubdivideCollision__26CJointCollisionDescriptionF6CSegId6CSegIdffQ226CJointCollisionDescription16EOrientationTypeRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>f" /* 80215C58 00212BB8 80 E1 00 FC */ lwz r7, 0xfc(r1) /* 80215C5C 00212BBC 3B C1 01 B0 */ addi r30, r1, 0x1b0 /* 80215C60 00212BC0 80 C1 01 00 */ lwz r6, 0x100(r1) /* 80215C64 00212BC4 3B 01 01 28 */ addi r24, r1, 0x128 /* 80215C68 00212BC8 88 A1 01 04 */ lbz r5, 0x104(r1) /* 80215C6C 00212BCC 7F C3 F3 78 */ mr r3, r30 /* 80215C70 00212BD0 88 01 01 05 */ lbz r0, 0x105(r1) /* 80215C74 00212BD4 7F 04 C3 78 */ mr r4, r24 /* 80215C78 00212BD8 C0 E1 01 08 */ lfs f7, 0x108(r1) /* 80215C7C 00212BDC C0 C1 01 0C */ lfs f6, 0x10c(r1) /* 80215C80 00212BE0 C0 A1 01 10 */ lfs f5, 0x110(r1) /* 80215C84 00212BE4 C0 81 01 14 */ lfs f4, 0x114(r1) /* 80215C88 00212BE8 C0 61 01 18 */ lfs f3, 0x118(r1) /* 80215C8C 00212BEC C0 41 01 1C */ lfs f2, 0x11c(r1) /* 80215C90 00212BF0 C0 21 01 20 */ lfs f1, 0x120(r1) /* 80215C94 00212BF4 C0 01 01 24 */ lfs f0, 0x124(r1) /* 80215C98 00212BF8 90 E1 01 84 */ stw r7, 0x184(r1) /* 80215C9C 00212BFC 90 C1 01 88 */ stw r6, 0x188(r1) /* 80215CA0 00212C00 98 A1 01 8C */ stb r5, 0x18c(r1) /* 80215CA4 00212C04 98 01 01 8D */ stb r0, 0x18d(r1) /* 80215CA8 00212C08 D0 E1 01 90 */ stfs f7, 0x190(r1) /* 80215CAC 00212C0C D0 C1 01 94 */ stfs f6, 0x194(r1) /* 80215CB0 00212C10 D0 A1 01 98 */ stfs f5, 0x198(r1) /* 80215CB4 00212C14 D0 81 01 9C */ stfs f4, 0x19c(r1) /* 80215CB8 00212C18 D0 61 01 A0 */ stfs f3, 0x1a0(r1) /* 80215CBC 00212C1C D0 41 01 A4 */ stfs f2, 0x1a4(r1) /* 80215CC0 00212C20 D0 21 01 A8 */ stfs f1, 0x1a8(r1) /* 80215CC4 00212C24 D0 01 01 AC */ stfs f0, 0x1ac(r1) /* 80215CC8 00212C28 48 12 84 99 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80215CCC 00212C2C A0 01 01 38 */ lhz r0, 0x138(r1) /* 80215CD0 00212C30 28 18 00 00 */ cmplwi r24, 0 /* 80215CD4 00212C34 C0 01 01 3C */ lfs f0, 0x13c(r1) /* 80215CD8 00212C38 B0 01 01 C0 */ sth r0, 0x1c0(r1) /* 80215CDC 00212C3C D0 01 01 C4 */ stfs f0, 0x1c4(r1) /* 80215CE0 00212C40 41 82 00 0C */ beq lbl_80215CEC /* 80215CE4 00212C44 7F 03 C3 78 */ mr r3, r24 /* 80215CE8 00212C48 48 12 7D F9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80215CEC: /* 80215CEC 00212C4C 38 61 00 60 */ addi r3, r1, 0x60 /* 80215CF0 00212C50 48 12 7D F1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80215CF4 00212C54 38 61 00 90 */ addi r3, r1, 0x90 /* 80215CF8 00212C58 38 81 01 84 */ addi r4, r1, 0x184 /* 80215CFC 00212C5C 4B F4 05 35 */ bl sub_80156230 /* 80215D00 00212C60 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 80215D04 00212C64 38 61 00 50 */ addi r3, r1, 0x50 /* 80215D08 00212C68 4B DE EF B1 */ bl string_l__4rstlFPCc /* 80215D0C 00212C6C 88 01 00 1C */ lbz r0, 0x1c(r1) /* 80215D10 00212C70 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80215D14 00212C74 C0 22 B3 70 */ lfs f1, lbl_805AD090@sda21(r2) /* 80215D18 00212C78 38 81 00 08 */ addi r4, r1, 8 /* 80215D1C 00212C7C 98 01 00 08 */ stb r0, 8(r1) /* 80215D20 00212C80 38 A1 00 50 */ addi r5, r1, 0x50 /* 80215D24 00212C84 C0 42 B3 6C */ lfs f2, lbl_805AD08C@sda21(r2) /* 80215D28 00212C88 4B F9 2A E5 */ bl "SphereCollision__26CJointCollisionDescriptionF6CSegIdfRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>f" /* 80215D2C 00212C8C 80 E1 00 B8 */ lwz r7, 0xb8(r1) /* 80215D30 00212C90 3B E1 01 6C */ addi r31, r1, 0x16c /* 80215D34 00212C94 80 C1 00 BC */ lwz r6, 0xbc(r1) /* 80215D38 00212C98 3B 01 00 E4 */ addi r24, r1, 0xe4 /* 80215D3C 00212C9C 88 A1 00 C0 */ lbz r5, 0xc0(r1) /* 80215D40 00212CA0 7F E3 FB 78 */ mr r3, r31 /* 80215D44 00212CA4 88 01 00 C1 */ lbz r0, 0xc1(r1) /* 80215D48 00212CA8 7F 04 C3 78 */ mr r4, r24 /* 80215D4C 00212CAC C0 E1 00 C4 */ lfs f7, 0xc4(r1) /* 80215D50 00212CB0 C0 C1 00 C8 */ lfs f6, 0xc8(r1) /* 80215D54 00212CB4 C0 A1 00 CC */ lfs f5, 0xcc(r1) /* 80215D58 00212CB8 C0 81 00 D0 */ lfs f4, 0xd0(r1) /* 80215D5C 00212CBC C0 61 00 D4 */ lfs f3, 0xd4(r1) /* 80215D60 00212CC0 C0 41 00 D8 */ lfs f2, 0xd8(r1) /* 80215D64 00212CC4 C0 21 00 DC */ lfs f1, 0xdc(r1) /* 80215D68 00212CC8 C0 01 00 E0 */ lfs f0, 0xe0(r1) /* 80215D6C 00212CCC 90 E1 01 40 */ stw r7, 0x140(r1) /* 80215D70 00212CD0 90 C1 01 44 */ stw r6, 0x144(r1) /* 80215D74 00212CD4 98 A1 01 48 */ stb r5, 0x148(r1) /* 80215D78 00212CD8 98 01 01 49 */ stb r0, 0x149(r1) /* 80215D7C 00212CDC D0 E1 01 4C */ stfs f7, 0x14c(r1) /* 80215D80 00212CE0 D0 C1 01 50 */ stfs f6, 0x150(r1) /* 80215D84 00212CE4 D0 A1 01 54 */ stfs f5, 0x154(r1) /* 80215D88 00212CE8 D0 81 01 58 */ stfs f4, 0x158(r1) /* 80215D8C 00212CEC D0 61 01 5C */ stfs f3, 0x15c(r1) /* 80215D90 00212CF0 D0 41 01 60 */ stfs f2, 0x160(r1) /* 80215D94 00212CF4 D0 21 01 64 */ stfs f1, 0x164(r1) /* 80215D98 00212CF8 D0 01 01 68 */ stfs f0, 0x168(r1) /* 80215D9C 00212CFC 48 12 83 C5 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80215DA0 00212D00 A0 01 00 F4 */ lhz r0, 0xf4(r1) /* 80215DA4 00212D04 28 18 00 00 */ cmplwi r24, 0 /* 80215DA8 00212D08 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 80215DAC 00212D0C B0 01 01 7C */ sth r0, 0x17c(r1) /* 80215DB0 00212D10 D0 01 01 80 */ stfs f0, 0x180(r1) /* 80215DB4 00212D14 41 82 00 0C */ beq lbl_80215DC0 /* 80215DB8 00212D18 7F 03 C3 78 */ mr r3, r24 /* 80215DBC 00212D1C 48 12 7D 25 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80215DC0: /* 80215DC0 00212D20 38 61 00 50 */ addi r3, r1, 0x50 /* 80215DC4 00212D24 48 12 7D 1D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80215DC8 00212D28 38 61 00 90 */ addi r3, r1, 0x90 /* 80215DCC 00212D2C 38 81 01 40 */ addi r4, r1, 0x140 /* 80215DD0 00212D30 4B F4 04 61 */ bl sub_80156230 /* 80215DD4 00212D34 3C 80 80 3D */ lis r4, lbl_803D2FF0@ha /* 80215DD8 00212D38 38 60 00 18 */ li r3, 0x18 /* 80215DDC 00212D3C 38 84 2F F0 */ addi r4, r4, lbl_803D2FF0@l /* 80215DE0 00212D40 38 A0 00 00 */ li r5, 0 /* 80215DE4 00212D44 38 84 00 31 */ addi r4, r4, 0x31 /* 80215DE8 00212D48 48 0F FA 85 */ bl __nw__FUlPCcPCc /* 80215DEC 00212D4C 7C 7A 1B 79 */ or. r26, r3, r3 /* 80215DF0 00212D50 41 82 00 38 */ beq lbl_80215E28 /* 80215DF4 00212D54 81 3B 00 04 */ lwz r9, 4(r27) /* 80215DF8 00212D58 7F 84 E3 78 */ mr r4, r28 /* 80215DFC 00212D5C 38 A1 00 28 */ addi r5, r1, 0x28 /* 80215E00 00212D60 38 C1 00 34 */ addi r6, r1, 0x34 /* 80215E04 00212D64 91 21 00 34 */ stw r9, 0x34(r1) /* 80215E08 00212D68 38 E1 00 90 */ addi r7, r1, 0x90 /* 80215E0C 00212D6C 39 00 00 01 */ li r8, 1 /* 80215E10 00212D70 A0 1B 00 08 */ lhz r0, 8(r27) /* 80215E14 00212D74 91 21 00 30 */ stw r9, 0x30(r1) /* 80215E18 00212D78 B0 01 00 24 */ sth r0, 0x24(r1) /* 80215E1C 00212D7C B0 01 00 28 */ sth r0, 0x28(r1) /* 80215E20 00212D80 4B F9 1B 11 */ bl "__ct__22CCollisionActorManagerFR13CStateManager9TUniqueId7TAreaIdRCQ24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>b" /* 80215E24 00212D84 7C 7A 1B 78 */ mr r26, r3 lbl_80215E28: /* 80215E28 00212D88 80 7B 04 9C */ lwz r3, 0x49c(r27) /* 80215E2C 00212D8C 38 80 00 01 */ li r4, 1 /* 80215E30 00212D90 4B F9 1A AD */ bl sub_801a78dc /* 80215E34 00212D94 93 5B 04 9C */ stw r26, 0x49c(r27) /* 80215E38 00212D98 7F 84 E3 78 */ mr r4, r28 /* 80215E3C 00212D9C 88 1B 00 30 */ lbz r0, 0x30(r27) /* 80215E40 00212DA0 80 7B 04 9C */ lwz r3, 0x49c(r27) /* 80215E44 00212DA4 54 05 CF FE */ rlwinm r5, r0, 0x19, 0x1f, 0x1f /* 80215E48 00212DA8 4B F9 14 B1 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb /* 80215E4C 00212DAC 3B A0 00 00 */ li r29, 0 /* 80215E50 00212DB0 48 00 01 08 */ b lbl_80215F58 lbl_80215E54: /* 80215E54 00212DB4 80 7B 04 9C */ lwz r3, 0x49c(r27) /* 80215E58 00212DB8 7F A4 EB 78 */ mr r4, r29 /* 80215E5C 00212DBC 4B F9 13 DD */ bl GetCollisionDescFromIndex__22CCollisionActorManagerCFUi /* 80215E60 00212DC0 7C 7A 1B 78 */ mr r26, r3 /* 80215E64 00212DC4 7F 83 E3 78 */ mr r3, r28 /* 80215E68 00212DC8 A0 1A 00 3C */ lhz r0, 0x3c(r26) /* 80215E6C 00212DCC 38 81 00 20 */ addi r4, r1, 0x20 /* 80215E70 00212DD0 B0 01 00 2C */ sth r0, 0x2c(r1) /* 80215E74 00212DD4 B0 01 00 20 */ sth r0, 0x20(r1) /* 80215E78 00212DD8 4B E3 66 FD */ bl ObjectById__13CStateManagerF9TUniqueId /* 80215E7C 00212DDC 7C 64 1B 78 */ mr r4, r3 /* 80215E80 00212DE0 38 61 00 38 */ addi r3, r1, 0x38 /* 80215E84 00212DE4 4B E9 94 C9 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80215E88 00212DE8 82 E3 00 04 */ lwz r23, 4(r3) /* 80215E8C 00212DEC 28 17 00 00 */ cmplwi r23, 0 /* 80215E90 00212DF0 41 82 00 C4 */ beq lbl_80215F54 /* 80215E94 00212DF4 7E E3 BB 78 */ mr r3, r23 /* 80215E98 00212DF8 7F 85 E3 78 */ mr r5, r28 /* 80215E9C 00212DFC 38 80 00 12 */ li r4, 0x12 /* 80215EA0 00212E00 4B E3 E4 B1 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80215EA4 00212E04 80 AD 95 0C */ lwz r5, lbl_805A80CC@sda21(r13) /* 80215EA8 00212E08 38 60 00 00 */ li r3, 0 /* 80215EAC 00212E0C 38 80 00 01 */ li r4, 1 /* 80215EB0 00212E10 48 17 40 45 */ bl __shl2i /* 80215EB4 00212E14 80 AD 95 10 */ lwz r5, lbl_805A80D0@sda21(r13) /* 80215EB8 00212E18 7C 98 23 78 */ mr r24, r4 /* 80215EBC 00212E1C 7C 79 1B 78 */ mr r25, r3 /* 80215EC0 00212E20 38 60 00 00 */ li r3, 0 /* 80215EC4 00212E24 38 80 00 01 */ li r4, 1 /* 80215EC8 00212E28 48 17 40 2D */ bl __shl2i /* 80215ECC 00212E2C 80 AD 95 14 */ lwz r5, lbl_805A80D4@sda21(r13) /* 80215ED0 00212E30 7F 18 23 78 */ or r24, r24, r4 /* 80215ED4 00212E34 7F 39 1B 78 */ or r25, r25, r3 /* 80215ED8 00212E38 38 60 00 00 */ li r3, 0 /* 80215EDC 00212E3C 38 80 00 01 */ li r4, 1 /* 80215EE0 00212E40 48 17 40 15 */ bl __shl2i /* 80215EE4 00212E44 80 AD 95 08 */ lwz r5, lbl_805A80C8@sda21(r13) /* 80215EE8 00212E48 7F 18 23 78 */ or r24, r24, r4 /* 80215EEC 00212E4C 7F 39 1B 78 */ or r25, r25, r3 /* 80215EF0 00212E50 38 60 00 00 */ li r3, 0 /* 80215EF4 00212E54 38 80 00 01 */ li r4, 1 /* 80215EF8 00212E58 48 17 3F FD */ bl __shl2i /* 80215EFC 00212E5C 38 00 00 03 */ li r0, 3 /* 80215F00 00212E60 90 81 00 A4 */ stw r4, 0xa4(r1) /* 80215F04 00212E64 38 81 00 A0 */ addi r4, r1, 0xa0 /* 80215F08 00212E68 90 61 00 A0 */ stw r3, 0xa0(r1) /* 80215F0C 00212E6C 7E E3 BB 78 */ mr r3, r23 /* 80215F10 00212E70 93 01 00 AC */ stw r24, 0xac(r1) /* 80215F14 00212E74 93 21 00 A8 */ stw r25, 0xa8(r1) /* 80215F18 00212E78 90 01 00 B0 */ stw r0, 0xb0(r1) /* 80215F1C 00212E7C 4B E3 D9 85 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 80215F20 00212E80 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 80215F24 00212E84 38 61 00 40 */ addi r3, r1, 0x40 /* 80215F28 00212E88 4B DE ED 91 */ bl string_l__4rstlFPCc /* 80215F2C 00212E8C 38 7A 00 2C */ addi r3, r26, 0x2c /* 80215F30 00212E90 38 81 00 40 */ addi r4, r1, 0x40 /* 80215F34 00212E94 4B E3 C6 AD */ bl "find__Q24rstl418red_black_tree,Q24rstl17rmemory_allocator>,Q24rstl83pair,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string,Q24rstl17rmemory_allocat" /* 80215F38 00212E98 7C 7A 1B 78 */ mr r26, r3 /* 80215F3C 00212E9C 38 61 00 40 */ addi r3, r1, 0x40 /* 80215F40 00212EA0 48 12 7B A1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80215F44 00212EA4 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 80215F48 00212EA8 41 82 00 0C */ beq lbl_80215F54 /* 80215F4C 00212EAC A0 01 00 2C */ lhz r0, 0x2c(r1) /* 80215F50 00212EB0 B0 1B 04 A0 */ sth r0, 0x4a0(r27) lbl_80215F54: /* 80215F54 00212EB4 3B BD 00 01 */ addi r29, r29, 1 lbl_80215F58: /* 80215F58 00212EB8 80 7B 04 9C */ lwz r3, 0x49c(r27) /* 80215F5C 00212EBC 4B F9 12 ED */ bl GetNumCollisionActors__22CCollisionActorManagerCFv /* 80215F60 00212EC0 7C 1D 18 40 */ cmplw r29, r3 /* 80215F64 00212EC4 41 80 FE F0 */ blt lbl_80215E54 /* 80215F68 00212EC8 28 1F 00 00 */ cmplwi r31, 0 /* 80215F6C 00212ECC 41 82 00 0C */ beq lbl_80215F78 /* 80215F70 00212ED0 7F E3 FB 78 */ mr r3, r31 /* 80215F74 00212ED4 48 12 7B 6D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80215F78: /* 80215F78 00212ED8 28 1E 00 00 */ cmplwi r30, 0 /* 80215F7C 00212EDC 41 82 00 0C */ beq lbl_80215F88 /* 80215F80 00212EE0 7F C3 F3 78 */ mr r3, r30 /* 80215F84 00212EE4 48 12 7B 5D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80215F88: /* 80215F88 00212EE8 38 61 00 90 */ addi r3, r1, 0x90 /* 80215F8C 00212EEC 38 80 FF FF */ li r4, -1 /* 80215F90 00212EF0 4B F4 03 9D */ bl sub_8015632c /* 80215F94 00212EF4 BA E1 01 CC */ lmw r23, 0x1cc(r1) /* 80215F98 00212EF8 80 01 01 F4 */ lwz r0, 0x1f4(r1) /* 80215F9C 00212EFC 7C 08 03 A6 */ mtlr r0 /* 80215FA0 00212F00 38 21 01 F0 */ addi r1, r1, 0x1f0 /* 80215FA4 00212F04 4E 80 00 20 */ blr .global LineOfSightTest__16CScriptGunTurretCFR13CStateManager LineOfSightTest__16CScriptGunTurretCFR13CStateManager: /* 80215FA8 00212F08 94 21 F6 B0 */ stwu r1, -0x950(r1) /* 80215FAC 00212F0C 7C 08 02 A6 */ mflr r0 /* 80215FB0 00212F10 90 01 09 54 */ stw r0, 0x954(r1) /* 80215FB4 00212F14 DB E1 09 40 */ stfd f31, 0x940(r1) /* 80215FB8 00212F18 F3 E1 09 48 */ psq_st f31, -1720(r1), 0, qr0 /* 80215FBC 00212F1C 93 E1 09 3C */ stw r31, 0x93c(r1) /* 80215FC0 00212F20 93 C1 09 38 */ stw r30, 0x938(r1) /* 80215FC4 00212F24 93 A1 09 34 */ stw r29, 0x934(r1) /* 80215FC8 00212F28 93 81 09 30 */ stw r28, 0x930(r1) /* 80215FCC 00212F2C 7C 7E 1B 78 */ mr r30, r3 /* 80215FD0 00212F30 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80215FD4 00212F34 A0 63 02 5C */ lhz r3, 0x25c(r3) /* 80215FD8 00212F38 7C 9C 23 78 */ mr r28, r4 /* 80215FDC 00212F3C 7C 03 00 40 */ cmplw r3, r0 /* 80215FE0 00212F40 41 82 02 7C */ beq lbl_8021625C /* 80215FE4 00212F44 B0 61 00 08 */ sth r3, 8(r1) /* 80215FE8 00212F48 7F 83 E3 78 */ mr r3, r28 /* 80215FEC 00212F4C 38 81 00 08 */ addi r4, r1, 8 /* 80215FF0 00212F50 4B E3 65 85 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80215FF4 00212F54 7C 64 1B 78 */ mr r4, r3 /* 80215FF8 00212F58 38 61 00 10 */ addi r3, r1, 0x10 /* 80215FFC 00212F5C 4B E9 37 B9 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80216000 00212F60 83 A3 00 04 */ lwz r29, 4(r3) /* 80216004 00212F64 28 1D 00 00 */ cmplwi r29, 0 /* 80216008 00212F68 41 82 02 54 */ beq lbl_8021625C /* 8021600C 00212F6C 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80216010 00212F70 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80216014 00212F74 40 82 00 1C */ bne lbl_80216030 /* 80216018 00212F78 80 1E 05 20 */ lwz r0, 0x520(r30) /* 8021601C 00212F7C 2C 00 00 05 */ cmpwi r0, 5 /* 80216020 00212F80 40 82 00 18 */ bne lbl_80216038 /* 80216024 00212F84 88 1E 04 F0 */ lbz r0, 0x4f0(r30) /* 80216028 00212F88 28 00 00 00 */ cmplwi r0, 0 /* 8021602C 00212F8C 41 82 00 0C */ beq lbl_80216038 lbl_80216030: /* 80216030 00212F90 38 60 00 01 */ li r3, 1 /* 80216034 00212F94 48 00 02 2C */ b lbl_80216260 lbl_80216038: /* 80216038 00212F98 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 8021603C 00212F9C 38 61 00 3C */ addi r3, r1, 0x3c /* 80216040 00212FA0 4B DE EC 79 */ bl string_l__4rstlFPCc /* 80216044 00212FA4 7F A4 EB 78 */ mr r4, r29 /* 80216048 00212FA8 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8021604C 00212FAC 38 A1 00 3C */ addi r5, r1, 0x3c /* 80216050 00212FB0 4B E3 CE B1 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80216054 00212FB4 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80216058 00212FB8 38 81 00 C8 */ addi r4, r1, 0xc8 /* 8021605C 00212FBC 48 0F CB 19 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80216060 00212FC0 38 61 00 3C */ addi r3, r1, 0x3c /* 80216064 00212FC4 48 12 7A 7D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80216068 00212FC8 C0 41 01 04 */ lfs f2, 0x104(r1) /* 8021606C 00212FCC 38 61 00 30 */ addi r3, r1, 0x30 /* 80216070 00212FD0 C0 21 01 14 */ lfs f1, 0x114(r1) /* 80216074 00212FD4 38 9D 00 34 */ addi r4, r29, 0x34 /* 80216078 00212FD8 C0 01 01 24 */ lfs f0, 0x124(r1) /* 8021607C 00212FDC 38 A1 00 24 */ addi r5, r1, 0x24 /* 80216080 00212FE0 D0 41 00 24 */ stfs f2, 0x24(r1) /* 80216084 00212FE4 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80216088 00212FE8 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8021608C 00212FEC 48 0F C9 F5 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 80216090 00212FF0 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80216094 00212FF4 7F 85 E3 78 */ mr r5, r28 /* 80216098 00212FF8 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8021609C 00212FFC 38 61 00 18 */ addi r3, r1, 0x18 /* 802160A0 00213000 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 802160A4 00213004 C0 41 00 38 */ lfs f2, 0x38(r1) /* 802160A8 00213008 EC 81 00 2A */ fadds f4, f1, f0 /* 802160AC 0021300C C0 3D 00 40 */ lfs f1, 0x40(r29) /* 802160B0 00213010 C0 01 00 30 */ lfs f0, 0x30(r1) /* 802160B4 00213014 EC 43 10 2A */ fadds f2, f3, f2 /* 802160B8 00213018 D0 81 00 5C */ stfs f4, 0x5c(r1) /* 802160BC 0021301C EC 01 00 2A */ fadds f0, f1, f0 /* 802160C0 00213020 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 802160C4 00213024 D0 41 00 60 */ stfs f2, 0x60(r1) /* 802160C8 00213028 D0 01 00 58 */ stfs f0, 0x58(r1) /* 802160CC 0021302C 80 9C 08 4C */ lwz r4, 0x84c(r28) /* 802160D0 00213030 81 84 00 00 */ lwz r12, 0(r4) /* 802160D4 00213034 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 802160D8 00213038 7D 89 03 A6 */ mtctr r12 /* 802160DC 0021303C 4E 80 04 21 */ bctrl /* 802160E0 00213040 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 802160E4 00213044 38 61 00 4C */ addi r3, r1, 0x4c /* 802160E8 00213048 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 802160EC 0021304C C0 61 00 20 */ lfs f3, 0x20(r1) /* 802160F0 00213050 C0 41 00 60 */ lfs f2, 0x60(r1) /* 802160F4 00213054 EC 81 00 28 */ fsubs f4, f1, f0 /* 802160F8 00213058 C0 21 00 18 */ lfs f1, 0x18(r1) /* 802160FC 0021305C C0 01 00 58 */ lfs f0, 0x58(r1) /* 80216100 00213060 EC 43 10 28 */ fsubs f2, f3, f2 /* 80216104 00213064 D0 81 00 50 */ stfs f4, 0x50(r1) /* 80216108 00213068 EC 01 00 28 */ fsubs f0, f1, f0 /* 8021610C 0021306C D0 41 00 54 */ stfs f2, 0x54(r1) /* 80216110 00213070 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 80216114 00213074 48 0F E7 A5 */ bl Magnitude__9CVector3fCFv /* 80216118 00213078 FF E0 08 90 */ fmr f31, f1 /* 8021611C 0021307C C0 42 B3 68 */ lfs f2, lbl_805AD088@sda21(r2) /* 80216120 00213080 38 00 00 00 */ li r0, 0 /* 80216124 00213084 C0 61 00 4C */ lfs f3, 0x4c(r1) /* 80216128 00213088 C0 21 00 50 */ lfs f1, 0x50(r1) /* 8021612C 0021308C 38 60 00 00 */ li r3, 0 /* 80216130 00213090 EC 82 F8 24 */ fdivs f4, f2, f31 /* 80216134 00213094 C0 01 00 54 */ lfs f0, 0x54(r1) /* 80216138 00213098 80 AD 95 00 */ lwz r5, lbl_805A80C0@sda21(r13) /* 8021613C 0021309C 38 80 00 01 */ li r4, 1 /* 80216140 002130A0 90 01 01 28 */ stw r0, 0x128(r1) /* 80216144 002130A4 EC 43 01 32 */ fmuls f2, f3, f4 /* 80216148 002130A8 EC 21 01 32 */ fmuls f1, f1, f4 /* 8021614C 002130AC EC 00 01 32 */ fmuls f0, f0, f4 /* 80216150 002130B0 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 80216154 002130B4 D0 21 00 50 */ stfs f1, 0x50(r1) /* 80216158 002130B8 D0 01 00 54 */ stfs f0, 0x54(r1) /* 8021615C 002130BC 48 17 3D 99 */ bl __shl2i /* 80216160 002130C0 80 AD 95 04 */ lwz r5, lbl_805A80C4@sda21(r13) /* 80216164 002130C4 7C 9E 23 78 */ mr r30, r4 /* 80216168 002130C8 7C 7F 1B 78 */ mr r31, r3 /* 8021616C 002130CC 38 60 00 00 */ li r3, 0 /* 80216170 002130D0 38 80 00 01 */ li r4, 1 /* 80216174 002130D4 48 17 3D 81 */ bl __shl2i /* 80216178 002130D8 80 AD 94 FC */ lwz r5, lbl_805A80BC@sda21(r13) /* 8021617C 002130DC 7F DE 23 78 */ or r30, r30, r4 /* 80216180 002130E0 7F FF 1B 78 */ or r31, r31, r3 /* 80216184 002130E4 38 60 00 00 */ li r3, 0 /* 80216188 002130E8 38 80 00 01 */ li r4, 1 /* 8021618C 002130EC 48 17 3D 69 */ bl __shl2i /* 80216190 002130F0 38 00 00 03 */ li r0, 3 /* 80216194 002130F4 FC 20 F8 90 */ fmr f1, f31 /* 80216198 002130F8 90 81 00 84 */ stw r4, 0x84(r1) /* 8021619C 002130FC 7F A8 EB 78 */ mr r8, r29 /* 802161A0 00213100 38 81 01 28 */ addi r4, r1, 0x128 /* 802161A4 00213104 38 A1 00 58 */ addi r5, r1, 0x58 /* 802161A8 00213108 90 61 00 80 */ stw r3, 0x80(r1) /* 802161AC 0021310C 7F 83 E3 78 */ mr r3, r28 /* 802161B0 00213110 38 C1 00 4C */ addi r6, r1, 0x4c /* 802161B4 00213114 90 01 00 78 */ stw r0, 0x78(r1) /* 802161B8 00213118 38 E1 00 80 */ addi r7, r1, 0x80 /* 802161BC 0021311C 93 C1 00 8C */ stw r30, 0x8c(r1) /* 802161C0 00213120 93 E1 00 88 */ stw r31, 0x88(r1) /* 802161C4 00213124 90 01 00 90 */ stw r0, 0x90(r1) /* 802161C8 00213128 4B E3 65 11 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 802161CC 0021312C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 802161D0 00213130 FC 20 F8 90 */ fmr f1, f31 /* 802161D4 00213134 7F 84 E3 78 */ mr r4, r28 /* 802161D8 00213138 38 61 00 98 */ addi r3, r1, 0x98 /* 802161DC 0021313C B0 01 00 0C */ sth r0, 0xc(r1) /* 802161E0 00213140 38 A1 00 0C */ addi r5, r1, 0xc /* 802161E4 00213144 38 C1 00 58 */ addi r6, r1, 0x58 /* 802161E8 00213148 38 E1 00 4C */ addi r7, r1, 0x4c /* 802161EC 0021314C 39 01 00 80 */ addi r8, r1, 0x80 /* 802161F0 00213150 39 21 01 28 */ addi r9, r1, 0x128 /* 802161F4 00213154 4B E3 6D D1 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 802161F8 00213158 80 C1 01 28 */ lwz r6, 0x128(r1) /* 802161FC 0021315C 38 80 00 00 */ li r4, 0 /* 80216200 00213160 88 01 00 B8 */ lbz r0, 0xb8(r1) /* 80216204 00213164 2C 06 00 00 */ cmpwi r6, 0 /* 80216208 00213168 7C 00 00 34 */ cntlzw r0, r0 /* 8021620C 0021316C 54 03 D9 7E */ srwi r3, r0, 5 /* 80216210 00213170 40 81 00 40 */ ble lbl_80216250 /* 80216214 00213174 2C 06 00 08 */ cmpwi r6, 8 /* 80216218 00213178 38 A6 FF F8 */ addi r5, r6, -8 /* 8021621C 0021317C 40 81 00 20 */ ble lbl_8021623C /* 80216220 00213180 38 05 00 07 */ addi r0, r5, 7 /* 80216224 00213184 54 00 E8 FE */ srwi r0, r0, 3 /* 80216228 00213188 7C 09 03 A6 */ mtctr r0 /* 8021622C 0021318C 2C 05 00 00 */ cmpwi r5, 0 /* 80216230 00213190 40 81 00 0C */ ble lbl_8021623C lbl_80216234: /* 80216234 00213194 38 84 00 08 */ addi r4, r4, 8 /* 80216238 00213198 42 00 FF FC */ bdnz lbl_80216234 lbl_8021623C: /* 8021623C 0021319C 7C 04 30 50 */ subf r0, r4, r6 /* 80216240 002131A0 7C 09 03 A6 */ mtctr r0 /* 80216244 002131A4 7C 04 30 00 */ cmpw r4, r6 /* 80216248 002131A8 40 80 00 08 */ bge lbl_80216250 lbl_8021624C: /* 8021624C 002131AC 42 00 00 00 */ bdnz lbl_8021624C lbl_80216250: /* 80216250 002131B0 38 00 00 00 */ li r0, 0 /* 80216254 002131B4 90 01 01 28 */ stw r0, 0x128(r1) /* 80216258 002131B8 48 00 00 08 */ b lbl_80216260 lbl_8021625C: /* 8021625C 002131BC 38 60 00 00 */ li r3, 0 lbl_80216260: /* 80216260 002131C0 E3 E1 09 48 */ psq_l f31, -1720(r1), 0, qr0 /* 80216264 002131C4 80 01 09 54 */ lwz r0, 0x954(r1) /* 80216268 002131C8 CB E1 09 40 */ lfd f31, 0x940(r1) /* 8021626C 002131CC 83 E1 09 3C */ lwz r31, 0x93c(r1) /* 80216270 002131D0 83 C1 09 38 */ lwz r30, 0x938(r1) /* 80216274 002131D4 83 A1 09 34 */ lwz r29, 0x934(r1) /* 80216278 002131D8 83 81 09 30 */ lwz r28, 0x930(r1) /* 8021627C 002131DC 7C 08 03 A6 */ mtlr r0 /* 80216280 002131E0 38 21 09 50 */ addi r1, r1, 0x950 /* 80216284 002131E4 4E 80 00 20 */ blr .global UpdateTargettingSound__16CScriptGunTurretFf UpdateTargettingSound__16CScriptGunTurretFf: /* 80216288 002131E8 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 8021628C 002131EC 7C 08 02 A6 */ mflr r0 /* 80216290 002131F0 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80216294 002131F4 DB E1 00 90 */ stfd f31, 0x90(r1) /* 80216298 002131F8 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 8021629C 002131FC DB C1 00 80 */ stfd f30, 0x80(r1) /* 802162A0 00213200 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 802162A4 00213204 93 E1 00 7C */ stw r31, 0x7c(r1) /* 802162A8 00213208 FF E0 08 90 */ fmr f31, f1 /* 802162AC 0021320C C0 03 05 10 */ lfs f0, 0x510(r3) /* 802162B0 00213210 7C 7F 1B 78 */ mr r31, r3 /* 802162B4 00213214 38 61 00 2C */ addi r3, r1, 0x2c /* 802162B8 00213218 EC 00 F8 2A */ fadds f0, f0, f31 /* 802162BC 0021321C D0 1F 05 10 */ stfs f0, 0x510(r31) /* 802162C0 00213220 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 802162C4 00213224 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 802162C8 00213228 C0 1F 00 58 */ lfs f0, 0x58(r31) /* 802162CC 0021322C D0 21 00 5C */ stfs f1, 0x5c(r1) /* 802162D0 00213230 D0 41 00 60 */ stfs f2, 0x60(r1) /* 802162D4 00213234 D0 01 00 64 */ stfs f0, 0x64(r1) /* 802162D8 00213238 48 0F DF 29 */ bl __ct__9CVector2fFff /* 802162DC 0021323C C0 21 00 2C */ lfs f1, 0x2c(r1) /* 802162E0 00213240 38 61 00 24 */ addi r3, r1, 0x24 /* 802162E4 00213244 C0 01 00 30 */ lfs f0, 0x30(r1) /* 802162E8 00213248 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 802162EC 0021324C D0 01 00 40 */ stfs f0, 0x40(r1) /* 802162F0 00213250 C0 3F 05 14 */ lfs f1, 0x514(r31) /* 802162F4 00213254 C0 5F 05 18 */ lfs f2, 0x518(r31) /* 802162F8 00213258 48 0F DF 09 */ bl __ct__9CVector2fFff /* 802162FC 0021325C C0 21 00 24 */ lfs f1, 0x24(r1) /* 80216300 00213260 38 61 00 34 */ addi r3, r1, 0x34 /* 80216304 00213264 C0 01 00 28 */ lfs f0, 0x28(r1) /* 80216308 00213268 38 81 00 3C */ addi r4, r1, 0x3c /* 8021630C 0021326C D0 21 00 34 */ stfs f1, 0x34(r1) /* 80216310 00213270 D0 01 00 38 */ stfs f0, 0x38(r1) /* 80216314 00213274 48 0F DC B1 */ bl GetAngleDiff__9CVector2fFRC9CVector2fRC9CVector2f /* 80216318 00213278 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021631C 0021327C FF C0 08 90 */ fmr f30, f1 /* 80216320 00213280 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 80216324 00213284 41 82 00 80 */ beq lbl_802163A4 /* 80216328 00213288 C0 02 B3 74 */ lfs f0, lbl_805AD094@sda21(r2) /* 8021632C 0021328C FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80216330 00213290 40 80 00 74 */ bge lbl_802163A4 /* 80216334 00213294 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80216338 00213298 2C 00 00 09 */ cmpwi r0, 9 /* 8021633C 0021329C 41 82 00 0C */ beq lbl_80216348 /* 80216340 002132A0 2C 00 00 0A */ cmpwi r0, 0xa /* 80216344 002132A4 40 82 00 60 */ bne lbl_802163A4 lbl_80216348: /* 80216348 002132A8 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021634C 002132AC 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80216350 002132B0 40 82 00 44 */ bne lbl_80216394 /* 80216354 002132B4 81 5F 00 04 */ lwz r10, 4(r31) /* 80216358 002132B8 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 8021635C 002132BC C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80216360 002132C0 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 80216364 002132C4 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80216368 002132C8 38 61 00 20 */ addi r3, r1, 0x20 /* 8021636C 002132CC C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80216370 002132D0 38 A1 00 50 */ addi r5, r1, 0x50 /* 80216374 002132D4 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 80216378 002132D8 38 E0 00 00 */ li r7, 0 /* 8021637C 002132DC D0 01 00 50 */ stfs f0, 0x50(r1) /* 80216380 002132E0 39 00 00 00 */ li r8, 0 /* 80216384 002132E4 D0 21 00 54 */ stfs f1, 0x54(r1) /* 80216388 002132E8 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8021638C 002132EC A0 9F 03 56 */ lhz r4, 0x356(r31) /* 80216390 002132F0 48 0D 3F 21 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi lbl_80216394: /* 80216394 002132F4 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80216398 002132F8 38 60 00 00 */ li r3, 0 /* 8021639C 002132FC 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 802163A0 00213300 98 1F 05 60 */ stb r0, 0x560(r31) lbl_802163A4: /* 802163A4 00213304 C0 3F 05 10 */ lfs f1, 0x510(r31) /* 802163A8 00213308 C0 02 B3 78 */ lfs f0, lbl_805AD098@sda21(r2) /* 802163AC 0021330C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802163B0 00213310 4C 41 13 82 */ cror 2, 1, 2 /* 802163B4 00213314 40 82 01 74 */ bne lbl_80216528 /* 802163B8 00213318 88 1F 05 60 */ lbz r0, 0x560(r31) /* 802163BC 0021331C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 802163C0 00213320 40 82 01 68 */ bne lbl_80216528 /* 802163C4 00213324 80 1F 05 20 */ lwz r0, 0x520(r31) /* 802163C8 00213328 2C 00 00 09 */ cmpwi r0, 9 /* 802163CC 0021332C 41 82 00 14 */ beq lbl_802163E0 /* 802163D0 00213330 2C 00 00 0A */ cmpwi r0, 0xa /* 802163D4 00213334 41 82 00 0C */ beq lbl_802163E0 /* 802163D8 00213338 2C 00 00 0C */ cmpwi r0, 0xc /* 802163DC 0021333C 40 82 01 1C */ bne lbl_802164F8 lbl_802163E0: /* 802163E0 00213340 FC 20 F8 90 */ fmr f1, f31 /* 802163E4 00213344 7F E3 FB 78 */ mr r3, r31 /* 802163E8 00213348 48 00 18 3D */ bl IsInsignificantRotation__16CScriptGunTurretCFf /* 802163EC 0021334C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802163F0 00213350 40 82 00 64 */ bne lbl_80216454 /* 802163F4 00213354 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 802163F8 00213358 28 00 00 00 */ cmplwi r0, 0 /* 802163FC 0021335C 40 82 00 58 */ bne lbl_80216454 /* 80216400 00213360 81 5F 00 04 */ lwz r10, 4(r31) /* 80216404 00213364 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 80216408 00213368 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8021640C 0021336C 38 C3 66 A0 */ addi r6, r3, sZeroVector__9CVector3f@l /* 80216410 00213370 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80216414 00213374 38 61 00 1C */ addi r3, r1, 0x1c /* 80216418 00213378 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8021641C 0021337C 38 A1 00 44 */ addi r5, r1, 0x44 /* 80216420 00213380 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 80216424 00213384 38 E0 00 00 */ li r7, 0 /* 80216428 00213388 D0 01 00 44 */ stfs f0, 0x44(r1) /* 8021642C 0021338C 39 00 00 01 */ li r8, 1 /* 80216430 00213390 D0 21 00 48 */ stfs f1, 0x48(r1) /* 80216434 00213394 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 80216438 00213398 A0 9F 03 50 */ lhz r4, 0x350(r31) /* 8021643C 0021339C 48 0D 3E 75 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 80216440 002133A0 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80216444 002133A4 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80216448 002133A8 90 1F 05 0C */ stw r0, 0x50c(r31) /* 8021644C 002133AC D0 1F 05 10 */ stfs f0, 0x510(r31) /* 80216450 002133B0 48 00 00 38 */ b lbl_80216488 lbl_80216454: /* 80216454 002133B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80216458 002133B8 41 82 00 30 */ beq lbl_80216488 /* 8021645C 002133BC 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 80216460 002133C0 28 00 00 00 */ cmplwi r0, 0 /* 80216464 002133C4 41 82 00 24 */ beq lbl_80216488 /* 80216468 002133C8 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 8021646C 002133CC 38 61 00 18 */ addi r3, r1, 0x18 /* 80216470 002133D0 90 01 00 18 */ stw r0, 0x18(r1) /* 80216474 002133D4 48 0D 3A 11 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle /* 80216478 002133D8 38 00 00 00 */ li r0, 0 /* 8021647C 002133DC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80216480 002133E0 90 1F 05 0C */ stw r0, 0x50c(r31) /* 80216484 002133E4 D0 1F 05 10 */ stfs f0, 0x510(r31) lbl_80216488: /* 80216488 002133E8 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 8021648C 002133EC 28 00 00 00 */ cmplwi r0, 0 /* 80216490 002133F0 41 82 00 C8 */ beq lbl_80216558 /* 80216494 002133F4 C0 3F 02 FC */ lfs f1, 0x2fc(r31) /* 80216498 002133F8 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021649C 002133FC EC 5F 00 72 */ fmuls f2, f31, f1 /* 802164A0 00213400 C0 22 B3 7C */ lfs f1, lbl_805AD09C@sda21(r2) /* 802164A4 00213404 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802164A8 00213408 40 81 00 08 */ ble lbl_802164B0 /* 802164AC 0021340C EC 1E 10 24 */ fdivs f0, f30, f2 lbl_802164B0: /* 802164B0 00213410 EC 21 00 32 */ fmuls f1, f1, f0 /* 802164B4 00213414 C0 0D 94 F8 */ lfs f0, lbl_805A80B8@sda21(r13) /* 802164B8 00213418 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 802164BC 0021341C D0 21 00 14 */ stfs f1, 0x14(r1) /* 802164C0 00213420 40 80 00 0C */ bge lbl_802164CC /* 802164C4 00213424 38 6D 94 F8 */ addi r3, r13, lbl_805A80B8@sda21 /* 802164C8 00213428 48 00 00 08 */ b lbl_802164D0 lbl_802164CC: /* 802164CC 0021342C 38 61 00 14 */ addi r3, r1, 0x14 lbl_802164D0: /* 802164D0 00213430 C0 03 00 00 */ lfs f0, 0(r3) /* 802164D4 00213434 38 61 00 10 */ addi r3, r1, 0x10 /* 802164D8 00213438 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 802164DC 0021343C FC 00 00 1E */ fctiwz f0, f0 /* 802164E0 00213440 90 01 00 10 */ stw r0, 0x10(r1) /* 802164E4 00213444 D8 01 00 68 */ stfd f0, 0x68(r1) /* 802164E8 00213448 80 81 00 6C */ lwz r4, 0x6c(r1) /* 802164EC 0021344C 38 84 20 00 */ addi r4, r4, 0x2000 /* 802164F0 00213450 48 0D 29 BD */ bl PitchBend__11CSfxManagerF10CSfxHandlei /* 802164F4 00213454 48 00 00 64 */ b lbl_80216558 lbl_802164F8: /* 802164F8 00213458 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 802164FC 0021345C 28 00 00 00 */ cmplwi r0, 0 /* 80216500 00213460 41 82 00 58 */ beq lbl_80216558 /* 80216504 00213464 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 80216508 00213468 38 61 00 0C */ addi r3, r1, 0xc /* 8021650C 0021346C 90 01 00 0C */ stw r0, 0xc(r1) /* 80216510 00213470 48 0D 39 75 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle /* 80216514 00213474 38 00 00 00 */ li r0, 0 /* 80216518 00213478 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021651C 0021347C 90 1F 05 0C */ stw r0, 0x50c(r31) /* 80216520 00213480 D0 1F 05 10 */ stfs f0, 0x510(r31) /* 80216524 00213484 48 00 00 34 */ b lbl_80216558 lbl_80216528: /* 80216528 00213488 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021652C 0021348C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80216530 00213490 41 82 00 28 */ beq lbl_80216558 /* 80216534 00213494 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 80216538 00213498 28 00 00 00 */ cmplwi r0, 0 /* 8021653C 0021349C 41 82 00 1C */ beq lbl_80216558 /* 80216540 002134A0 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 80216544 002134A4 38 61 00 08 */ addi r3, r1, 8 /* 80216548 002134A8 90 01 00 08 */ stw r0, 8(r1) /* 8021654C 002134AC 48 0D 39 39 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle /* 80216550 002134B0 38 00 00 00 */ li r0, 0 /* 80216554 002134B4 90 1F 05 0C */ stw r0, 0x50c(r31) lbl_80216558: /* 80216558 002134B8 C0 5F 00 58 */ lfs f2, 0x58(r31) /* 8021655C 002134BC C0 3F 00 48 */ lfs f1, 0x48(r31) /* 80216560 002134C0 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80216564 002134C4 D0 1F 05 14 */ stfs f0, 0x514(r31) /* 80216568 002134C8 D0 3F 05 18 */ stfs f1, 0x518(r31) /* 8021656C 002134CC D0 5F 05 1C */ stfs f2, 0x51c(r31) /* 80216570 002134D0 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 80216574 002134D4 CB E1 00 90 */ lfd f31, 0x90(r1) /* 80216578 002134D8 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 8021657C 002134DC CB C1 00 80 */ lfd f30, 0x80(r1) /* 80216580 002134E0 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80216584 002134E4 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 80216588 002134E8 7C 08 03 A6 */ mtlr r0 /* 8021658C 002134EC 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80216590 002134F0 4E 80 00 20 */ blr .global UpdateBurstType__16CScriptGunTurretFR13CStateManager UpdateBurstType__16CScriptGunTurretFR13CStateManager: /* 80216594 002134F4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80216598 002134F8 7C 08 02 A6 */ mflr r0 /* 8021659C 002134FC 90 01 00 34 */ stw r0, 0x34(r1) /* 802165A0 00213500 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802165A4 00213504 7C 9F 23 78 */ mr r31, r4 /* 802165A8 00213508 93 C1 00 28 */ stw r30, 0x28(r1) /* 802165AC 0021350C 7C 7E 1B 78 */ mr r30, r3 /* 802165B0 00213510 93 A1 00 24 */ stw r29, 0x24(r1) /* 802165B4 00213514 88 03 05 60 */ lbz r0, 0x560(r3) /* 802165B8 00213518 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 802165BC 0021351C 41 82 00 D4 */ beq lbl_80216690 /* 802165C0 00213520 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 802165C4 00213524 38 00 00 01 */ li r0, 1 /* 802165C8 00213528 80 64 02 F8 */ lwz r3, 0x2f8(r4) /* 802165CC 0021352C 2C 03 00 01 */ cmpwi r3, 1 /* 802165D0 00213530 41 82 00 50 */ beq lbl_80216620 /* 802165D4 00213534 C0 84 00 48 */ lfs f4, 0x48(r4) /* 802165D8 00213538 C0 DE 00 48 */ lfs f6, 0x48(r30) /* 802165DC 0021353C C0 64 00 38 */ lfs f3, 0x38(r4) /* 802165E0 00213540 C0 5E 00 38 */ lfs f2, 0x38(r30) /* 802165E4 00213544 EC 06 01 32 */ fmuls f0, f6, f4 /* 802165E8 00213548 C0 A4 00 58 */ lfs f5, 0x58(r4) /* 802165EC 0021354C C0 FE 00 58 */ lfs f7, 0x58(r30) /* 802165F0 00213550 EC 22 00 FA */ fmadds f1, f2, f3, f0 /* 802165F4 00213554 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802165F8 00213558 D0 61 00 14 */ stfs f3, 0x14(r1) /* 802165FC 0021355C EC 27 09 7A */ fmadds f1, f7, f5, f1 /* 80216600 00213560 D0 81 00 18 */ stfs f4, 0x18(r1) /* 80216604 00213564 D0 A1 00 1C */ stfs f5, 0x1c(r1) /* 80216608 00213568 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021660C 0021356C D0 41 00 08 */ stfs f2, 8(r1) /* 80216610 00213570 D0 C1 00 0C */ stfs f6, 0xc(r1) /* 80216614 00213574 D0 E1 00 10 */ stfs f7, 0x10(r1) /* 80216618 00213578 41 80 00 08 */ blt lbl_80216620 /* 8021661C 0021357C 38 00 00 00 */ li r0, 0 lbl_80216620: /* 80216620 00213580 54 05 06 3E */ clrlwi r5, r0, 0x18 /* 80216624 00213584 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80216628 00213588 7C 85 00 D0 */ neg r4, r5 /* 8021662C 0021358C 38 00 00 03 */ li r0, 3 /* 80216630 00213590 7C 85 2B 78 */ or r5, r4, r5 /* 80216634 00213594 38 80 00 00 */ li r4, 0 /* 80216638 00213598 7C A6 FE 70 */ srawi r6, r5, 0x1f /* 8021663C 0021359C 38 A0 00 03 */ li r5, 3 /* 80216640 002135A0 7C 1D 30 78 */ andc r29, r0, r6 /* 80216644 002135A4 48 0F BF 51 */ bl Range__9CRandom16Fii /* 80216648 002135A8 38 63 00 02 */ addi r3, r3, 2 /* 8021664C 002135AC 2C 03 00 02 */ cmpwi r3, 2 /* 80216650 002135B0 40 81 00 10 */ ble lbl_80216660 /* 80216654 002135B4 80 1E 03 6C */ lwz r0, 0x36c(r30) /* 80216658 002135B8 2C 00 00 03 */ cmpwi r0, 3 /* 8021665C 002135BC 40 80 00 0C */ bge lbl_80216668 lbl_80216660: /* 80216660 002135C0 38 00 00 00 */ li r0, 0 /* 80216664 002135C4 48 00 00 20 */ b lbl_80216684 lbl_80216668: /* 80216668 002135C8 2C 03 00 05 */ cmpwi r3, 5 /* 8021666C 002135CC 41 80 00 14 */ blt lbl_80216680 /* 80216670 002135D0 2C 00 00 03 */ cmpwi r0, 3 /* 80216674 002135D4 40 81 00 0C */ ble lbl_80216680 /* 80216678 002135D8 38 00 00 02 */ li r0, 2 /* 8021667C 002135DC 48 00 00 08 */ b lbl_80216684 lbl_80216680: /* 80216680 002135E0 38 00 00 01 */ li r0, 1 lbl_80216684: /* 80216684 002135E4 7C 00 EA 14 */ add r0, r0, r29 /* 80216688 002135E8 90 1E 03 A4 */ stw r0, 0x3a4(r30) /* 8021668C 002135EC 48 00 00 18 */ b lbl_802166A4 lbl_80216690: /* 80216690 002135F0 80 7E 03 64 */ lwz r3, 0x364(r30) /* 80216694 002135F4 38 03 FF FE */ addi r0, r3, -2 /* 80216698 002135F8 90 1E 03 A4 */ stw r0, 0x3a4(r30) /* 8021669C 002135FC 80 1E 03 68 */ lwz r0, 0x368(r30) /* 802166A0 00213600 90 1E 03 B0 */ stw r0, 0x3b0(r30) lbl_802166A4: /* 802166A4 00213604 7F E4 FB 78 */ mr r4, r31 /* 802166A8 00213608 38 7E 03 A4 */ addi r3, r30, 0x3a4 /* 802166AC 0021360C 4B F9 6D 79 */ bl Start__10CBurstFireFR13CStateManager /* 802166B0 00213610 88 1E 05 60 */ lbz r0, 0x560(r30) /* 802166B4 00213614 38 60 00 00 */ li r3, 0 /* 802166B8 00213618 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 802166BC 0021361C 38 60 00 01 */ li r3, 1 /* 802166C0 00213620 98 1E 05 60 */ stb r0, 0x560(r30) /* 802166C4 00213624 88 1E 05 60 */ lbz r0, 0x560(r30) /* 802166C8 00213628 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 802166CC 0021362C 98 1E 05 60 */ stb r0, 0x560(r30) /* 802166D0 00213630 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802166D4 00213634 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802166D8 00213638 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802166DC 0021363C 80 01 00 34 */ lwz r0, 0x34(r1) /* 802166E0 00213640 7C 08 03 A6 */ mtlr r0 /* 802166E4 00213644 38 21 00 30 */ addi r1, r1, 0x30 /* 802166E8 00213648 4E 80 00 20 */ blr .global UpdateGunParticles__16CScriptGunTurretFfR13CStateManager UpdateGunParticles__16CScriptGunTurretFfR13CStateManager: /* 802166EC 0021364C 94 21 FC 90 */ stwu r1, -0x370(r1) /* 802166F0 00213650 7C 08 02 A6 */ mflr r0 /* 802166F4 00213654 90 01 03 74 */ stw r0, 0x374(r1) /* 802166F8 00213658 DB E1 03 60 */ stfd f31, 0x360(r1) /* 802166FC 0021365C F3 E1 03 68 */ psq_st f31, 872(r1), 0, qr0 /* 80216700 00213660 93 E1 03 5C */ stw r31, 0x35c(r1) /* 80216704 00213664 93 C1 03 58 */ stw r30, 0x358(r1) /* 80216708 00213668 93 A1 03 54 */ stw r29, 0x354(r1) /* 8021670C 0021366C 93 81 03 50 */ stw r28, 0x350(r1) /* 80216710 00213670 7C 7E 1B 78 */ mr r30, r3 /* 80216714 00213674 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80216718 00213678 A0 63 04 98 */ lhz r3, 0x498(r3) /* 8021671C 0021367C FF E0 08 90 */ fmr f31, f1 /* 80216720 00213680 3B E0 00 00 */ li r31, 0 /* 80216724 00213684 7C 03 00 40 */ cmplw r3, r0 /* 80216728 00213688 41 82 00 28 */ beq lbl_80216750 /* 8021672C 0021368C A0 1E 04 98 */ lhz r0, 0x498(r30) /* 80216730 00213690 7C 83 23 78 */ mr r3, r4 /* 80216734 00213694 38 81 00 08 */ addi r4, r1, 8 /* 80216738 00213698 B0 01 00 08 */ sth r0, 8(r1) /* 8021673C 0021369C 4B E3 5E 39 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80216740 002136A0 7C 64 1B 78 */ mr r4, r3 /* 80216744 002136A4 38 61 00 0C */ addi r3, r1, 0xc /* 80216748 002136A8 4B E9 73 3D */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity" /* 8021674C 002136AC 83 E3 00 04 */ lwz r31, 4(r3) lbl_80216750: /* 80216750 002136B0 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80216754 002136B4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80216758 002136B8 40 82 08 50 */ bne lbl_80216FA8 /* 8021675C 002136BC 80 82 B3 58 */ lwz r4, lbl_805AD078@sda21(r2) /* 80216760 002136C0 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80216764 002136C4 4B DE E5 55 */ bl string_l__4rstlFPCc /* 80216768 002136C8 7F C4 F3 78 */ mr r4, r30 /* 8021676C 002136CC 38 61 02 20 */ addi r3, r1, 0x220 /* 80216770 002136D0 38 A1 00 A8 */ addi r5, r1, 0xa8 /* 80216774 002136D4 4B E3 C7 8D */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80216778 002136D8 38 61 02 80 */ addi r3, r1, 0x280 /* 8021677C 002136DC 38 81 02 20 */ addi r4, r1, 0x220 /* 80216780 002136E0 48 0F C3 F5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80216784 002136E4 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80216788 002136E8 48 12 73 59 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8021678C 002136EC C0 41 02 8C */ lfs f2, 0x28c(r1) /* 80216790 002136F0 38 61 00 9C */ addi r3, r1, 0x9c /* 80216794 002136F4 C0 21 02 9C */ lfs f1, 0x29c(r1) /* 80216798 002136F8 38 9E 00 34 */ addi r4, r30, 0x34 /* 8021679C 002136FC C0 01 02 AC */ lfs f0, 0x2ac(r1) /* 802167A0 00213700 38 A1 00 90 */ addi r5, r1, 0x90 /* 802167A4 00213704 D0 41 00 90 */ stfs f2, 0x90(r1) /* 802167A8 00213708 D0 21 00 94 */ stfs f1, 0x94(r1) /* 802167AC 0021370C D0 01 00 98 */ stfs f0, 0x98(r1) /* 802167B0 00213710 48 0F C2 D1 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 802167B4 00213714 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 802167B8 00213718 28 1F 00 00 */ cmplwi r31, 0 /* 802167BC 0021371C C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 802167C0 00213720 C0 7E 00 60 */ lfs f3, 0x60(r30) /* 802167C4 00213724 C0 41 00 A4 */ lfs f2, 0xa4(r1) /* 802167C8 00213728 EC 81 00 2A */ fadds f4, f1, f0 /* 802167CC 0021372C C0 3E 00 40 */ lfs f1, 0x40(r30) /* 802167D0 00213730 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 802167D4 00213734 EC 43 10 2A */ fadds f2, f3, f2 /* 802167D8 00213738 D0 81 00 C8 */ stfs f4, 0xc8(r1) /* 802167DC 0021373C EC 01 00 2A */ fadds f0, f1, f0 /* 802167E0 00213740 D0 41 00 CC */ stfs f2, 0xcc(r1) /* 802167E4 00213744 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 802167E8 00213748 41 82 00 1C */ beq lbl_80216804 /* 802167EC 0021374C 7F E3 FB 78 */ mr r3, r31 /* 802167F0 00213750 38 80 00 01 */ li r4, 1 /* 802167F4 00213754 81 9F 00 00 */ lwz r12, 0(r31) /* 802167F8 00213758 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 802167FC 0021375C 7D 89 03 A6 */ mtctr r12 /* 80216800 00213760 4E 80 04 21 */ bctrl lbl_80216804: /* 80216804 00213764 80 1E 05 20 */ lwz r0, 0x520(r30) /* 80216808 00213768 2C 00 00 06 */ cmpwi r0, 6 /* 8021680C 0021376C 41 82 04 38 */ beq lbl_80216C44 /* 80216810 00213770 40 80 00 1C */ bge lbl_8021682C /* 80216814 00213774 2C 00 00 00 */ cmpwi r0, 0 /* 80216818 00213778 41 82 06 C4 */ beq lbl_80216EDC /* 8021681C 0021377C 41 80 06 C0 */ blt lbl_80216EDC /* 80216820 00213780 2C 00 00 05 */ cmpwi r0, 5 /* 80216824 00213784 40 80 01 A0 */ bge lbl_802169C4 /* 80216828 00213788 48 00 00 18 */ b lbl_80216840 lbl_8021682C: /* 8021682C 0021378C 2C 00 00 0D */ cmpwi r0, 0xd /* 80216830 00213790 40 80 06 AC */ bge lbl_80216EDC /* 80216834 00213794 2C 00 00 09 */ cmpwi r0, 9 /* 80216838 00213798 40 80 04 0C */ bge lbl_80216C44 /* 8021683C 0021379C 48 00 02 C8 */ b lbl_80216B04 lbl_80216840: /* 80216840 002137A0 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216844 002137A4 38 80 00 00 */ li r4, 0 /* 80216848 002137A8 81 83 00 00 */ lwz r12, 0(r3) /* 8021684C 002137AC 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216850 002137B0 7D 89 03 A6 */ mtctr r12 /* 80216854 002137B4 4E 80 04 21 */ bctrl /* 80216858 002137B8 80 7E 04 74 */ lwz r3, 0x474(r30) /* 8021685C 002137BC 38 80 00 01 */ li r4, 1 /* 80216860 002137C0 81 83 00 00 */ lwz r12, 0(r3) /* 80216864 002137C4 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216868 002137C8 7D 89 03 A6 */ mtctr r12 /* 8021686C 002137CC 4E 80 04 21 */ bctrl /* 80216870 002137D0 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216874 002137D4 38 80 00 00 */ li r4, 0 /* 80216878 002137D8 81 83 00 00 */ lwz r12, 0(r3) /* 8021687C 002137DC 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216880 002137E0 7D 89 03 A6 */ mtctr r12 /* 80216884 002137E4 4E 80 04 21 */ bctrl /* 80216888 002137E8 80 7E 04 84 */ lwz r3, 0x484(r30) /* 8021688C 002137EC 38 80 00 00 */ li r4, 0 /* 80216890 002137F0 81 83 00 00 */ lwz r12, 0(r3) /* 80216894 002137F4 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216898 002137F8 7D 89 03 A6 */ mtctr r12 /* 8021689C 002137FC 4E 80 04 21 */ bctrl /* 802168A0 00213800 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 802168A4 00213804 38 80 00 00 */ li r4, 0 /* 802168A8 00213808 81 83 00 00 */ lwz r12, 0(r3) /* 802168AC 0021380C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 802168B0 00213810 7D 89 03 A6 */ mtctr r12 /* 802168B4 00213814 4E 80 04 21 */ bctrl /* 802168B8 00213818 80 7E 04 94 */ lwz r3, 0x494(r30) /* 802168BC 0021381C 38 80 00 00 */ li r4, 0 /* 802168C0 00213820 81 83 00 00 */ lwz r12, 0(r3) /* 802168C4 00213824 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 802168C8 00213828 7D 89 03 A6 */ mtctr r12 /* 802168CC 0021382C 4E 80 04 21 */ bctrl /* 802168D0 00213830 83 BE 04 74 */ lwz r29, 0x474(r30) /* 802168D4 00213834 38 61 01 F0 */ addi r3, r1, 0x1f0 /* 802168D8 00213838 38 9E 00 34 */ addi r4, r30, 0x34 /* 802168DC 0021383C 48 0F C3 65 */ bl GetRotation__12CTransform4fCFv /* 802168E0 00213840 7F A3 EB 78 */ mr r3, r29 /* 802168E4 00213844 38 81 01 F0 */ addi r4, r1, 0x1f0 /* 802168E8 00213848 81 9D 00 00 */ lwz r12, 0(r29) /* 802168EC 0021384C 81 8C 00 14 */ lwz r12, 0x14(r12) /* 802168F0 00213850 7D 89 03 A6 */ mtctr r12 /* 802168F4 00213854 4E 80 04 21 */ bctrl /* 802168F8 00213858 80 7E 04 74 */ lwz r3, 0x474(r30) /* 802168FC 0021385C 38 81 00 C4 */ addi r4, r1, 0xc4 /* 80216900 00213860 81 83 00 00 */ lwz r12, 0(r3) /* 80216904 00213864 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80216908 00213868 7D 89 03 A6 */ mtctr r12 /* 8021690C 0021386C 4E 80 04 21 */ bctrl /* 80216910 00213870 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80216914 00213874 38 81 00 84 */ addi r4, r1, 0x84 /* 80216918 00213878 C0 03 00 00 */ lfs f0, 0(r3) /* 8021691C 0021387C D0 01 00 84 */ stfs f0, 0x84(r1) /* 80216920 00213880 C0 03 00 04 */ lfs f0, 4(r3) /* 80216924 00213884 D0 01 00 88 */ stfs f0, 0x88(r1) /* 80216928 00213888 C0 03 00 08 */ lfs f0, 8(r3) /* 8021692C 0021388C D0 01 00 8C */ stfs f0, 0x8c(r1) /* 80216930 00213890 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216934 00213894 81 83 00 00 */ lwz r12, 0(r3) /* 80216938 00213898 81 8C 00 24 */ lwz r12, 0x24(r12) /* 8021693C 0021389C 7D 89 03 A6 */ mtctr r12 /* 80216940 002138A0 4E 80 04 21 */ bctrl /* 80216944 002138A4 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216948 002138A8 FC 20 F8 90 */ fmr f1, f31 /* 8021694C 002138AC 81 83 00 00 */ lwz r12, 0(r3) /* 80216950 002138B0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80216954 002138B4 7D 89 03 A6 */ mtctr r12 /* 80216958 002138B8 4E 80 04 21 */ bctrl /* 8021695C 002138BC 28 1F 00 00 */ cmplwi r31, 0 /* 80216960 002138C0 41 82 07 9C */ beq lbl_802170FC /* 80216964 002138C4 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216968 002138C8 81 83 00 00 */ lwz r12, 0(r3) /* 8021696C 002138CC 81 8C 00 64 */ lwz r12, 0x64(r12) /* 80216970 002138D0 7D 89 03 A6 */ mtctr r12 /* 80216974 002138D4 4E 80 04 21 */ bctrl /* 80216978 002138D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8021697C 002138DC 41 82 00 2C */ beq lbl_802169A8 /* 80216980 002138E0 80 9E 04 74 */ lwz r4, 0x474(r30) /* 80216984 002138E4 38 61 03 00 */ addi r3, r1, 0x300 /* 80216988 002138E8 81 84 00 00 */ lwz r12, 0(r4) /* 8021698C 002138EC 81 8C 00 68 */ lwz r12, 0x68(r12) /* 80216990 002138F0 7D 89 03 A6 */ mtctr r12 /* 80216994 002138F4 4E 80 04 21 */ bctrl /* 80216998 002138F8 7F E3 FB 78 */ mr r3, r31 /* 8021699C 002138FC 38 81 03 00 */ addi r4, r1, 0x300 /* 802169A0 00213900 4B E9 ED A5 */ bl SetLight__10CGameLightFRC6CLight /* 802169A4 00213904 48 00 07 58 */ b lbl_802170FC lbl_802169A8: /* 802169A8 00213908 7F E3 FB 78 */ mr r3, r31 /* 802169AC 0021390C 38 80 00 00 */ li r4, 0 /* 802169B0 00213910 81 9F 00 00 */ lwz r12, 0(r31) /* 802169B4 00213914 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 802169B8 00213918 7D 89 03 A6 */ mtctr r12 /* 802169BC 0021391C 4E 80 04 21 */ bctrl /* 802169C0 00213920 48 00 07 3C */ b lbl_802170FC lbl_802169C4: /* 802169C4 00213924 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 802169C8 00213928 38 80 00 01 */ li r4, 1 /* 802169CC 0021392C 81 83 00 00 */ lwz r12, 0(r3) /* 802169D0 00213930 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 802169D4 00213934 7D 89 03 A6 */ mtctr r12 /* 802169D8 00213938 4E 80 04 21 */ bctrl /* 802169DC 0021393C 80 7E 04 74 */ lwz r3, 0x474(r30) /* 802169E0 00213940 38 80 00 00 */ li r4, 0 /* 802169E4 00213944 81 83 00 00 */ lwz r12, 0(r3) /* 802169E8 00213948 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 802169EC 0021394C 7D 89 03 A6 */ mtctr r12 /* 802169F0 00213950 4E 80 04 21 */ bctrl /* 802169F4 00213954 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 802169F8 00213958 38 80 00 00 */ li r4, 0 /* 802169FC 0021395C 81 83 00 00 */ lwz r12, 0(r3) /* 80216A00 00213960 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216A04 00213964 7D 89 03 A6 */ mtctr r12 /* 80216A08 00213968 4E 80 04 21 */ bctrl /* 80216A0C 0021396C 80 7E 04 84 */ lwz r3, 0x484(r30) /* 80216A10 00213970 38 80 00 00 */ li r4, 0 /* 80216A14 00213974 81 83 00 00 */ lwz r12, 0(r3) /* 80216A18 00213978 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216A1C 0021397C 7D 89 03 A6 */ mtctr r12 /* 80216A20 00213980 4E 80 04 21 */ bctrl /* 80216A24 00213984 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216A28 00213988 38 80 00 00 */ li r4, 0 /* 80216A2C 0021398C 81 83 00 00 */ lwz r12, 0(r3) /* 80216A30 00213990 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216A34 00213994 7D 89 03 A6 */ mtctr r12 /* 80216A38 00213998 4E 80 04 21 */ bctrl /* 80216A3C 0021399C 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216A40 002139A0 38 80 00 00 */ li r4, 0 /* 80216A44 002139A4 81 83 00 00 */ lwz r12, 0(r3) /* 80216A48 002139A8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216A4C 002139AC 7D 89 03 A6 */ mtctr r12 /* 80216A50 002139B0 4E 80 04 21 */ bctrl /* 80216A54 002139B4 83 BE 04 6C */ lwz r29, 0x46c(r30) /* 80216A58 002139B8 38 61 01 C0 */ addi r3, r1, 0x1c0 /* 80216A5C 002139BC 38 9E 00 34 */ addi r4, r30, 0x34 /* 80216A60 002139C0 48 0F C1 E1 */ bl GetRotation__12CTransform4fCFv /* 80216A64 002139C4 7F A3 EB 78 */ mr r3, r29 /* 80216A68 002139C8 38 81 01 C0 */ addi r4, r1, 0x1c0 /* 80216A6C 002139CC 81 9D 00 00 */ lwz r12, 0(r29) /* 80216A70 002139D0 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80216A74 002139D4 7D 89 03 A6 */ mtctr r12 /* 80216A78 002139D8 4E 80 04 21 */ bctrl /* 80216A7C 002139DC 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216A80 002139E0 38 81 00 C4 */ addi r4, r1, 0xc4 /* 80216A84 002139E4 81 83 00 00 */ lwz r12, 0(r3) /* 80216A88 002139E8 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80216A8C 002139EC 7D 89 03 A6 */ mtctr r12 /* 80216A90 002139F0 4E 80 04 21 */ bctrl /* 80216A94 002139F4 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80216A98 002139F8 38 81 00 78 */ addi r4, r1, 0x78 /* 80216A9C 002139FC C0 03 00 00 */ lfs f0, 0(r3) /* 80216AA0 00213A00 D0 01 00 78 */ stfs f0, 0x78(r1) /* 80216AA4 00213A04 C0 03 00 04 */ lfs f0, 4(r3) /* 80216AA8 00213A08 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 80216AAC 00213A0C C0 03 00 08 */ lfs f0, 8(r3) /* 80216AB0 00213A10 D0 01 00 80 */ stfs f0, 0x80(r1) /* 80216AB4 00213A14 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216AB8 00213A18 81 83 00 00 */ lwz r12, 0(r3) /* 80216ABC 00213A1C 81 8C 00 24 */ lwz r12, 0x24(r12) /* 80216AC0 00213A20 7D 89 03 A6 */ mtctr r12 /* 80216AC4 00213A24 4E 80 04 21 */ bctrl /* 80216AC8 00213A28 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216ACC 00213A2C FC 20 F8 90 */ fmr f1, f31 /* 80216AD0 00213A30 81 83 00 00 */ lwz r12, 0(r3) /* 80216AD4 00213A34 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80216AD8 00213A38 7D 89 03 A6 */ mtctr r12 /* 80216ADC 00213A3C 4E 80 04 21 */ bctrl /* 80216AE0 00213A40 28 1F 00 00 */ cmplwi r31, 0 /* 80216AE4 00213A44 41 82 06 18 */ beq lbl_802170FC /* 80216AE8 00213A48 7F E3 FB 78 */ mr r3, r31 /* 80216AEC 00213A4C 38 80 00 00 */ li r4, 0 /* 80216AF0 00213A50 81 9F 00 00 */ lwz r12, 0(r31) /* 80216AF4 00213A54 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80216AF8 00213A58 7D 89 03 A6 */ mtctr r12 /* 80216AFC 00213A5C 4E 80 04 21 */ bctrl /* 80216B00 00213A60 48 00 05 FC */ b lbl_802170FC lbl_80216B04: /* 80216B04 00213A64 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216B08 00213A68 38 80 00 00 */ li r4, 0 /* 80216B0C 00213A6C 81 83 00 00 */ lwz r12, 0(r3) /* 80216B10 00213A70 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216B14 00213A74 7D 89 03 A6 */ mtctr r12 /* 80216B18 00213A78 4E 80 04 21 */ bctrl /* 80216B1C 00213A7C 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216B20 00213A80 38 80 00 00 */ li r4, 0 /* 80216B24 00213A84 81 83 00 00 */ lwz r12, 0(r3) /* 80216B28 00213A88 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216B2C 00213A8C 7D 89 03 A6 */ mtctr r12 /* 80216B30 00213A90 4E 80 04 21 */ bctrl /* 80216B34 00213A94 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216B38 00213A98 38 80 00 00 */ li r4, 0 /* 80216B3C 00213A9C 81 83 00 00 */ lwz r12, 0(r3) /* 80216B40 00213AA0 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216B44 00213AA4 7D 89 03 A6 */ mtctr r12 /* 80216B48 00213AA8 4E 80 04 21 */ bctrl /* 80216B4C 00213AAC 80 7E 04 84 */ lwz r3, 0x484(r30) /* 80216B50 00213AB0 38 80 00 00 */ li r4, 0 /* 80216B54 00213AB4 81 83 00 00 */ lwz r12, 0(r3) /* 80216B58 00213AB8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216B5C 00213ABC 7D 89 03 A6 */ mtctr r12 /* 80216B60 00213AC0 4E 80 04 21 */ bctrl /* 80216B64 00213AC4 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216B68 00213AC8 38 80 00 00 */ li r4, 0 /* 80216B6C 00213ACC 81 83 00 00 */ lwz r12, 0(r3) /* 80216B70 00213AD0 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216B74 00213AD4 7D 89 03 A6 */ mtctr r12 /* 80216B78 00213AD8 4E 80 04 21 */ bctrl /* 80216B7C 00213ADC 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216B80 00213AE0 38 80 00 01 */ li r4, 1 /* 80216B84 00213AE4 81 83 00 00 */ lwz r12, 0(r3) /* 80216B88 00213AE8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216B8C 00213AEC 7D 89 03 A6 */ mtctr r12 /* 80216B90 00213AF0 4E 80 04 21 */ bctrl /* 80216B94 00213AF4 83 BE 04 94 */ lwz r29, 0x494(r30) /* 80216B98 00213AF8 38 61 01 90 */ addi r3, r1, 0x190 /* 80216B9C 00213AFC 38 9E 00 34 */ addi r4, r30, 0x34 /* 80216BA0 00213B00 48 0F C0 A1 */ bl GetRotation__12CTransform4fCFv /* 80216BA4 00213B04 7F A3 EB 78 */ mr r3, r29 /* 80216BA8 00213B08 38 81 01 90 */ addi r4, r1, 0x190 /* 80216BAC 00213B0C 81 9D 00 00 */ lwz r12, 0(r29) /* 80216BB0 00213B10 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80216BB4 00213B14 7D 89 03 A6 */ mtctr r12 /* 80216BB8 00213B18 4E 80 04 21 */ bctrl /* 80216BBC 00213B1C 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216BC0 00213B20 38 81 00 C4 */ addi r4, r1, 0xc4 /* 80216BC4 00213B24 81 83 00 00 */ lwz r12, 0(r3) /* 80216BC8 00213B28 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80216BCC 00213B2C 7D 89 03 A6 */ mtctr r12 /* 80216BD0 00213B30 4E 80 04 21 */ bctrl /* 80216BD4 00213B34 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80216BD8 00213B38 38 81 00 6C */ addi r4, r1, 0x6c /* 80216BDC 00213B3C C0 03 00 00 */ lfs f0, 0(r3) /* 80216BE0 00213B40 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80216BE4 00213B44 C0 03 00 04 */ lfs f0, 4(r3) /* 80216BE8 00213B48 D0 01 00 70 */ stfs f0, 0x70(r1) /* 80216BEC 00213B4C C0 03 00 08 */ lfs f0, 8(r3) /* 80216BF0 00213B50 D0 01 00 74 */ stfs f0, 0x74(r1) /* 80216BF4 00213B54 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216BF8 00213B58 81 83 00 00 */ lwz r12, 0(r3) /* 80216BFC 00213B5C 81 8C 00 24 */ lwz r12, 0x24(r12) /* 80216C00 00213B60 7D 89 03 A6 */ mtctr r12 /* 80216C04 00213B64 4E 80 04 21 */ bctrl /* 80216C08 00213B68 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216C0C 00213B6C FC 20 F8 90 */ fmr f1, f31 /* 80216C10 00213B70 81 83 00 00 */ lwz r12, 0(r3) /* 80216C14 00213B74 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80216C18 00213B78 7D 89 03 A6 */ mtctr r12 /* 80216C1C 00213B7C 4E 80 04 21 */ bctrl /* 80216C20 00213B80 28 1F 00 00 */ cmplwi r31, 0 /* 80216C24 00213B84 41 82 04 D8 */ beq lbl_802170FC /* 80216C28 00213B88 7F E3 FB 78 */ mr r3, r31 /* 80216C2C 00213B8C 38 80 00 00 */ li r4, 0 /* 80216C30 00213B90 81 9F 00 00 */ lwz r12, 0(r31) /* 80216C34 00213B94 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80216C38 00213B98 7D 89 03 A6 */ mtctr r12 /* 80216C3C 00213B9C 4E 80 04 21 */ bctrl /* 80216C40 00213BA0 48 00 04 BC */ b lbl_802170FC lbl_80216C44: /* 80216C44 00213BA4 2C 00 00 0A */ cmpwi r0, 0xa /* 80216C48 00213BA8 3B A0 00 00 */ li r29, 0 /* 80216C4C 00213BAC 41 82 00 0C */ beq lbl_80216C58 /* 80216C50 00213BB0 2C 00 00 0C */ cmpwi r0, 0xc /* 80216C54 00213BB4 40 82 00 08 */ bne lbl_80216C5C lbl_80216C58: /* 80216C58 00213BB8 3B A0 00 01 */ li r29, 1 lbl_80216C5C: /* 80216C5C 00213BBC 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216C60 00213BC0 38 80 00 00 */ li r4, 0 /* 80216C64 00213BC4 81 83 00 00 */ lwz r12, 0(r3) /* 80216C68 00213BC8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216C6C 00213BCC 7D 89 03 A6 */ mtctr r12 /* 80216C70 00213BD0 4E 80 04 21 */ bctrl /* 80216C74 00213BD4 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216C78 00213BD8 38 80 00 00 */ li r4, 0 /* 80216C7C 00213BDC 81 83 00 00 */ lwz r12, 0(r3) /* 80216C80 00213BE0 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216C84 00213BE4 7D 89 03 A6 */ mtctr r12 /* 80216C88 00213BE8 4E 80 04 21 */ bctrl /* 80216C8C 00213BEC 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216C90 00213BF0 38 80 00 01 */ li r4, 1 /* 80216C94 00213BF4 81 83 00 00 */ lwz r12, 0(r3) /* 80216C98 00213BF8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216C9C 00213BFC 7D 89 03 A6 */ mtctr r12 /* 80216CA0 00213C00 4E 80 04 21 */ bctrl /* 80216CA4 00213C04 80 7E 04 84 */ lwz r3, 0x484(r30) /* 80216CA8 00213C08 38 80 00 00 */ li r4, 0 /* 80216CAC 00213C0C 81 83 00 00 */ lwz r12, 0(r3) /* 80216CB0 00213C10 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216CB4 00213C14 7D 89 03 A6 */ mtctr r12 /* 80216CB8 00213C18 4E 80 04 21 */ bctrl /* 80216CBC 00213C1C 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216CC0 00213C20 7F A4 EB 78 */ mr r4, r29 /* 80216CC4 00213C24 81 83 00 00 */ lwz r12, 0(r3) /* 80216CC8 00213C28 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216CCC 00213C2C 7D 89 03 A6 */ mtctr r12 /* 80216CD0 00213C30 4E 80 04 21 */ bctrl /* 80216CD4 00213C34 83 9E 04 7C */ lwz r28, 0x47c(r30) /* 80216CD8 00213C38 38 61 01 60 */ addi r3, r1, 0x160 /* 80216CDC 00213C3C 38 9E 00 34 */ addi r4, r30, 0x34 /* 80216CE0 00213C40 48 0F BF 61 */ bl GetRotation__12CTransform4fCFv /* 80216CE4 00213C44 7F 83 E3 78 */ mr r3, r28 /* 80216CE8 00213C48 38 81 01 60 */ addi r4, r1, 0x160 /* 80216CEC 00213C4C 81 9C 00 00 */ lwz r12, 0(r28) /* 80216CF0 00213C50 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80216CF4 00213C54 7D 89 03 A6 */ mtctr r12 /* 80216CF8 00213C58 4E 80 04 21 */ bctrl /* 80216CFC 00213C5C 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216D00 00213C60 38 81 00 C4 */ addi r4, r1, 0xc4 /* 80216D04 00213C64 81 83 00 00 */ lwz r12, 0(r3) /* 80216D08 00213C68 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80216D0C 00213C6C 7D 89 03 A6 */ mtctr r12 /* 80216D10 00213C70 4E 80 04 21 */ bctrl /* 80216D14 00213C74 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80216D18 00213C78 38 81 00 60 */ addi r4, r1, 0x60 /* 80216D1C 00213C7C C0 03 00 00 */ lfs f0, 0(r3) /* 80216D20 00213C80 D0 01 00 60 */ stfs f0, 0x60(r1) /* 80216D24 00213C84 C0 03 00 04 */ lfs f0, 4(r3) /* 80216D28 00213C88 D0 01 00 64 */ stfs f0, 0x64(r1) /* 80216D2C 00213C8C C0 03 00 08 */ lfs f0, 8(r3) /* 80216D30 00213C90 D0 01 00 68 */ stfs f0, 0x68(r1) /* 80216D34 00213C94 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216D38 00213C98 81 83 00 00 */ lwz r12, 0(r3) /* 80216D3C 00213C9C 81 8C 00 24 */ lwz r12, 0x24(r12) /* 80216D40 00213CA0 7D 89 03 A6 */ mtctr r12 /* 80216D44 00213CA4 4E 80 04 21 */ bctrl /* 80216D48 00213CA8 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216D4C 00213CAC FC 20 F8 90 */ fmr f1, f31 /* 80216D50 00213CB0 81 83 00 00 */ lwz r12, 0(r3) /* 80216D54 00213CB4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80216D58 00213CB8 7D 89 03 A6 */ mtctr r12 /* 80216D5C 00213CBC 4E 80 04 21 */ bctrl /* 80216D60 00213CC0 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216D64 00213CC4 81 83 00 00 */ lwz r12, 0(r3) /* 80216D68 00213CC8 81 8C 00 64 */ lwz r12, 0x64(r12) /* 80216D6C 00213CCC 7D 89 03 A6 */ mtctr r12 /* 80216D70 00213CD0 4E 80 04 21 */ bctrl /* 80216D74 00213CD4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80216D78 00213CD8 41 82 00 2C */ beq lbl_80216DA4 /* 80216D7C 00213CDC 80 9E 04 7C */ lwz r4, 0x47c(r30) /* 80216D80 00213CE0 38 61 02 B0 */ addi r3, r1, 0x2b0 /* 80216D84 00213CE4 81 84 00 00 */ lwz r12, 0(r4) /* 80216D88 00213CE8 81 8C 00 68 */ lwz r12, 0x68(r12) /* 80216D8C 00213CEC 7D 89 03 A6 */ mtctr r12 /* 80216D90 00213CF0 4E 80 04 21 */ bctrl /* 80216D94 00213CF4 7F E3 FB 78 */ mr r3, r31 /* 80216D98 00213CF8 38 81 02 B0 */ addi r4, r1, 0x2b0 /* 80216D9C 00213CFC 4B E9 E9 A9 */ bl SetLight__10CGameLightFRC6CLight /* 80216DA0 00213D00 48 00 00 1C */ b lbl_80216DBC lbl_80216DA4: /* 80216DA4 00213D04 7F E3 FB 78 */ mr r3, r31 /* 80216DA8 00213D08 38 80 00 00 */ li r4, 0 /* 80216DAC 00213D0C 81 9F 00 00 */ lwz r12, 0(r31) /* 80216DB0 00213D10 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80216DB4 00213D14 7D 89 03 A6 */ mtctr r12 /* 80216DB8 00213D18 4E 80 04 21 */ bctrl lbl_80216DBC: /* 80216DBC 00213D1C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 80216DC0 00213D20 41 82 03 3C */ beq lbl_802170FC /* 80216DC4 00213D24 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 80216DC8 00213D28 38 61 00 50 */ addi r3, r1, 0x50 /* 80216DCC 00213D2C 4B DE DE ED */ bl string_l__4rstlFPCc /* 80216DD0 00213D30 7F C4 F3 78 */ mr r4, r30 /* 80216DD4 00213D34 38 61 01 30 */ addi r3, r1, 0x130 /* 80216DD8 00213D38 38 A1 00 50 */ addi r5, r1, 0x50 /* 80216DDC 00213D3C 4B E3 C1 25 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80216DE0 00213D40 38 61 02 50 */ addi r3, r1, 0x250 /* 80216DE4 00213D44 38 81 01 30 */ addi r4, r1, 0x130 /* 80216DE8 00213D48 48 0F BD 8D */ bl __ct__12CTransform4fFRC12CTransform4f /* 80216DEC 00213D4C 38 61 00 50 */ addi r3, r1, 0x50 /* 80216DF0 00213D50 48 12 6C F1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80216DF4 00213D54 C0 41 02 5C */ lfs f2, 0x25c(r1) /* 80216DF8 00213D58 38 61 00 44 */ addi r3, r1, 0x44 /* 80216DFC 00213D5C C0 21 02 6C */ lfs f1, 0x26c(r1) /* 80216E00 00213D60 38 9E 00 34 */ addi r4, r30, 0x34 /* 80216E04 00213D64 C0 01 02 7C */ lfs f0, 0x27c(r1) /* 80216E08 00213D68 38 A1 00 38 */ addi r5, r1, 0x38 /* 80216E0C 00213D6C D0 41 00 38 */ stfs f2, 0x38(r1) /* 80216E10 00213D70 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 80216E14 00213D74 D0 01 00 40 */ stfs f0, 0x40(r1) /* 80216E18 00213D78 48 0F BC 69 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 80216E1C 00213D7C C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80216E20 00213D80 38 61 01 00 */ addi r3, r1, 0x100 /* 80216E24 00213D84 C0 01 00 48 */ lfs f0, 0x48(r1) /* 80216E28 00213D88 38 9E 00 34 */ addi r4, r30, 0x34 /* 80216E2C 00213D8C C0 7E 00 60 */ lfs f3, 0x60(r30) /* 80216E30 00213D90 C0 41 00 4C */ lfs f2, 0x4c(r1) /* 80216E34 00213D94 EC 81 00 2A */ fadds f4, f1, f0 /* 80216E38 00213D98 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 80216E3C 00213D9C C0 01 00 44 */ lfs f0, 0x44(r1) /* 80216E40 00213DA0 EC 43 10 2A */ fadds f2, f3, f2 /* 80216E44 00213DA4 D0 81 00 BC */ stfs f4, 0xbc(r1) /* 80216E48 00213DA8 EC 01 00 2A */ fadds f0, f1, f0 /* 80216E4C 00213DAC D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 80216E50 00213DB0 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 80216E54 00213DB4 83 9E 04 8C */ lwz r28, 0x48c(r30) /* 80216E58 00213DB8 48 0F BD E9 */ bl GetRotation__12CTransform4fCFv /* 80216E5C 00213DBC 7F 83 E3 78 */ mr r3, r28 /* 80216E60 00213DC0 38 81 01 00 */ addi r4, r1, 0x100 /* 80216E64 00213DC4 81 9C 00 00 */ lwz r12, 0(r28) /* 80216E68 00213DC8 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80216E6C 00213DCC 7D 89 03 A6 */ mtctr r12 /* 80216E70 00213DD0 4E 80 04 21 */ bctrl /* 80216E74 00213DD4 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216E78 00213DD8 38 81 00 B8 */ addi r4, r1, 0xb8 /* 80216E7C 00213DDC 81 83 00 00 */ lwz r12, 0(r3) /* 80216E80 00213DE0 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80216E84 00213DE4 7D 89 03 A6 */ mtctr r12 /* 80216E88 00213DE8 4E 80 04 21 */ bctrl /* 80216E8C 00213DEC 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80216E90 00213DF0 38 81 00 2C */ addi r4, r1, 0x2c /* 80216E94 00213DF4 C0 03 00 00 */ lfs f0, 0(r3) /* 80216E98 00213DF8 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80216E9C 00213DFC C0 03 00 04 */ lfs f0, 4(r3) /* 80216EA0 00213E00 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80216EA4 00213E04 C0 03 00 08 */ lfs f0, 8(r3) /* 80216EA8 00213E08 D0 01 00 34 */ stfs f0, 0x34(r1) /* 80216EAC 00213E0C 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216EB0 00213E10 81 83 00 00 */ lwz r12, 0(r3) /* 80216EB4 00213E14 81 8C 00 24 */ lwz r12, 0x24(r12) /* 80216EB8 00213E18 7D 89 03 A6 */ mtctr r12 /* 80216EBC 00213E1C 4E 80 04 21 */ bctrl /* 80216EC0 00213E20 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216EC4 00213E24 FC 20 F8 90 */ fmr f1, f31 /* 80216EC8 00213E28 81 83 00 00 */ lwz r12, 0(r3) /* 80216ECC 00213E2C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80216ED0 00213E30 7D 89 03 A6 */ mtctr r12 /* 80216ED4 00213E34 4E 80 04 21 */ bctrl /* 80216ED8 00213E38 48 00 02 24 */ b lbl_802170FC lbl_80216EDC: /* 80216EDC 00213E3C 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216EE0 00213E40 38 80 00 00 */ li r4, 0 /* 80216EE4 00213E44 81 83 00 00 */ lwz r12, 0(r3) /* 80216EE8 00213E48 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216EEC 00213E4C 7D 89 03 A6 */ mtctr r12 /* 80216EF0 00213E50 4E 80 04 21 */ bctrl /* 80216EF4 00213E54 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216EF8 00213E58 38 80 00 00 */ li r4, 0 /* 80216EFC 00213E5C 81 83 00 00 */ lwz r12, 0(r3) /* 80216F00 00213E60 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216F04 00213E64 7D 89 03 A6 */ mtctr r12 /* 80216F08 00213E68 4E 80 04 21 */ bctrl /* 80216F0C 00213E6C 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216F10 00213E70 38 80 00 00 */ li r4, 0 /* 80216F14 00213E74 81 83 00 00 */ lwz r12, 0(r3) /* 80216F18 00213E78 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216F1C 00213E7C 7D 89 03 A6 */ mtctr r12 /* 80216F20 00213E80 4E 80 04 21 */ bctrl /* 80216F24 00213E84 80 7E 04 84 */ lwz r3, 0x484(r30) /* 80216F28 00213E88 38 80 00 00 */ li r4, 0 /* 80216F2C 00213E8C 81 83 00 00 */ lwz r12, 0(r3) /* 80216F30 00213E90 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216F34 00213E94 7D 89 03 A6 */ mtctr r12 /* 80216F38 00213E98 4E 80 04 21 */ bctrl /* 80216F3C 00213E9C 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 80216F40 00213EA0 38 80 00 00 */ li r4, 0 /* 80216F44 00213EA4 81 83 00 00 */ lwz r12, 0(r3) /* 80216F48 00213EA8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216F4C 00213EAC 7D 89 03 A6 */ mtctr r12 /* 80216F50 00213EB0 4E 80 04 21 */ bctrl /* 80216F54 00213EB4 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216F58 00213EB8 38 80 00 00 */ li r4, 0 /* 80216F5C 00213EBC 81 83 00 00 */ lwz r12, 0(r3) /* 80216F60 00213EC0 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216F64 00213EC4 7D 89 03 A6 */ mtctr r12 /* 80216F68 00213EC8 4E 80 04 21 */ bctrl /* 80216F6C 00213ECC 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80216F70 00213ED0 FC 20 F8 90 */ fmr f1, f31 /* 80216F74 00213ED4 81 83 00 00 */ lwz r12, 0(r3) /* 80216F78 00213ED8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80216F7C 00213EDC 7D 89 03 A6 */ mtctr r12 /* 80216F80 00213EE0 4E 80 04 21 */ bctrl /* 80216F84 00213EE4 28 1F 00 00 */ cmplwi r31, 0 /* 80216F88 00213EE8 41 82 01 74 */ beq lbl_802170FC /* 80216F8C 00213EEC 7F E3 FB 78 */ mr r3, r31 /* 80216F90 00213EF0 38 80 00 00 */ li r4, 0 /* 80216F94 00213EF4 81 9F 00 00 */ lwz r12, 0(r31) /* 80216F98 00213EF8 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80216F9C 00213EFC 7D 89 03 A6 */ mtctr r12 /* 80216FA0 00213F00 4E 80 04 21 */ bctrl /* 80216FA4 00213F04 48 00 01 58 */ b lbl_802170FC lbl_80216FA8: /* 80216FA8 00213F08 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 80216FAC 00213F0C 38 80 00 00 */ li r4, 0 /* 80216FB0 00213F10 81 83 00 00 */ lwz r12, 0(r3) /* 80216FB4 00213F14 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216FB8 00213F18 7D 89 03 A6 */ mtctr r12 /* 80216FBC 00213F1C 4E 80 04 21 */ bctrl /* 80216FC0 00213F20 80 7E 04 74 */ lwz r3, 0x474(r30) /* 80216FC4 00213F24 38 80 00 00 */ li r4, 0 /* 80216FC8 00213F28 81 83 00 00 */ lwz r12, 0(r3) /* 80216FCC 00213F2C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216FD0 00213F30 7D 89 03 A6 */ mtctr r12 /* 80216FD4 00213F34 4E 80 04 21 */ bctrl /* 80216FD8 00213F38 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 80216FDC 00213F3C 38 80 00 00 */ li r4, 0 /* 80216FE0 00213F40 81 83 00 00 */ lwz r12, 0(r3) /* 80216FE4 00213F44 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80216FE8 00213F48 7D 89 03 A6 */ mtctr r12 /* 80216FEC 00213F4C 4E 80 04 21 */ bctrl /* 80216FF0 00213F50 80 7E 04 84 */ lwz r3, 0x484(r30) /* 80216FF4 00213F54 38 80 00 01 */ li r4, 1 /* 80216FF8 00213F58 81 83 00 00 */ lwz r12, 0(r3) /* 80216FFC 00213F5C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80217000 00213F60 7D 89 03 A6 */ mtctr r12 /* 80217004 00213F64 4E 80 04 21 */ bctrl /* 80217008 00213F68 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 8021700C 00213F6C 38 80 00 00 */ li r4, 0 /* 80217010 00213F70 81 83 00 00 */ lwz r12, 0(r3) /* 80217014 00213F74 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80217018 00213F78 7D 89 03 A6 */ mtctr r12 /* 8021701C 00213F7C 4E 80 04 21 */ bctrl /* 80217020 00213F80 80 7E 04 94 */ lwz r3, 0x494(r30) /* 80217024 00213F84 38 80 00 00 */ li r4, 0 /* 80217028 00213F88 81 83 00 00 */ lwz r12, 0(r3) /* 8021702C 00213F8C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80217030 00213F90 7D 89 03 A6 */ mtctr r12 /* 80217034 00213F94 4E 80 04 21 */ bctrl /* 80217038 00213F98 83 9E 04 84 */ lwz r28, 0x484(r30) /* 8021703C 00213F9C 38 61 00 D0 */ addi r3, r1, 0xd0 /* 80217040 00213FA0 38 9E 00 34 */ addi r4, r30, 0x34 /* 80217044 00213FA4 48 0F BB FD */ bl GetRotation__12CTransform4fCFv /* 80217048 00213FA8 7F 83 E3 78 */ mr r3, r28 /* 8021704C 00213FAC 38 81 00 D0 */ addi r4, r1, 0xd0 /* 80217050 00213FB0 81 9C 00 00 */ lwz r12, 0(r28) /* 80217054 00213FB4 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80217058 00213FB8 7D 89 03 A6 */ mtctr r12 /* 8021705C 00213FBC 4E 80 04 21 */ bctrl /* 80217060 00213FC0 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 80217064 00213FC4 38 81 00 20 */ addi r4, r1, 0x20 /* 80217068 00213FC8 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 8021706C 00213FCC C0 1E 00 40 */ lfs f0, 0x40(r30) /* 80217070 00213FD0 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80217074 00213FD4 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80217078 00213FD8 D0 41 00 28 */ stfs f2, 0x28(r1) /* 8021707C 00213FDC 80 7E 04 84 */ lwz r3, 0x484(r30) /* 80217080 00213FE0 81 83 00 00 */ lwz r12, 0(r3) /* 80217084 00213FE4 81 8C 00 20 */ lwz r12, 0x20(r12) /* 80217088 00213FE8 7D 89 03 A6 */ mtctr r12 /* 8021708C 00213FEC 4E 80 04 21 */ bctrl /* 80217090 00213FF0 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80217094 00213FF4 38 81 00 14 */ addi r4, r1, 0x14 /* 80217098 00213FF8 C0 03 00 00 */ lfs f0, 0(r3) /* 8021709C 00213FFC D0 01 00 14 */ stfs f0, 0x14(r1) /* 802170A0 00214000 C0 03 00 04 */ lfs f0, 4(r3) /* 802170A4 00214004 D0 01 00 18 */ stfs f0, 0x18(r1) /* 802170A8 00214008 C0 03 00 08 */ lfs f0, 8(r3) /* 802170AC 0021400C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802170B0 00214010 80 7E 04 84 */ lwz r3, 0x484(r30) /* 802170B4 00214014 81 83 00 00 */ lwz r12, 0(r3) /* 802170B8 00214018 81 8C 00 24 */ lwz r12, 0x24(r12) /* 802170BC 0021401C 7D 89 03 A6 */ mtctr r12 /* 802170C0 00214020 4E 80 04 21 */ bctrl /* 802170C4 00214024 80 7E 04 84 */ lwz r3, 0x484(r30) /* 802170C8 00214028 FC 20 F8 90 */ fmr f1, f31 /* 802170CC 0021402C 81 83 00 00 */ lwz r12, 0(r3) /* 802170D0 00214030 81 8C 00 0C */ lwz r12, 0xc(r12) /* 802170D4 00214034 7D 89 03 A6 */ mtctr r12 /* 802170D8 00214038 4E 80 04 21 */ bctrl /* 802170DC 0021403C 28 1F 00 00 */ cmplwi r31, 0 /* 802170E0 00214040 41 82 00 1C */ beq lbl_802170FC /* 802170E4 00214044 7F E3 FB 78 */ mr r3, r31 /* 802170E8 00214048 38 80 00 00 */ li r4, 0 /* 802170EC 0021404C 81 9F 00 00 */ lwz r12, 0(r31) /* 802170F0 00214050 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 802170F4 00214054 7D 89 03 A6 */ mtctr r12 /* 802170F8 00214058 4E 80 04 21 */ bctrl lbl_802170FC: /* 802170FC 0021405C E3 E1 03 68 */ psq_l f31, 872(r1), 0, qr0 /* 80217100 00214060 80 01 03 74 */ lwz r0, 0x374(r1) /* 80217104 00214064 CB E1 03 60 */ lfd f31, 0x360(r1) /* 80217108 00214068 83 E1 03 5C */ lwz r31, 0x35c(r1) /* 8021710C 0021406C 83 C1 03 58 */ lwz r30, 0x358(r1) /* 80217110 00214070 83 A1 03 54 */ lwz r29, 0x354(r1) /* 80217114 00214074 83 81 03 50 */ lwz r28, 0x350(r1) /* 80217118 00214078 7C 08 03 A6 */ mtlr r0 /* 8021711C 0021407C 38 21 03 70 */ addi r1, r1, 0x370 /* 80217120 00214080 4E 80 00 20 */ blr .global PlayAdditiveChargingAnimation__16CScriptGunTurretFR13CStateManager PlayAdditiveChargingAnimation__16CScriptGunTurretFR13CStateManager: /* 80217124 00214084 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 80217128 00214088 7C 08 02 A6 */ mflr r0 /* 8021712C 0021408C 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80217130 00214090 93 E1 00 AC */ stw r31, 0xac(r1) /* 80217134 00214094 7C 9F 23 78 */ mr r31, r4 /* 80217138 00214098 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 8021713C 0021409C 7C 7E 1B 78 */ mr r30, r3 /* 80217140 002140A0 80 03 05 20 */ lwz r0, 0x520(r3) /* 80217144 002140A4 2C 00 00 0A */ cmpwi r0, 0xa /* 80217148 002140A8 40 82 01 38 */ bne lbl_80217280 /* 8021714C 002140AC 80 1E 05 5C */ lwz r0, 0x55c(r30) /* 80217150 002140B0 2C 00 FF FF */ cmpwi r0, -1 /* 80217154 002140B4 40 82 01 4C */ bne lbl_802172A0 /* 80217158 002140B8 38 61 00 18 */ addi r3, r1, 0x18 /* 8021715C 002140BC 48 0C BF 21 */ bl NoParameter__12CPASAnimParmFv /* 80217160 002140C0 38 61 00 20 */ addi r3, r1, 0x20 /* 80217164 002140C4 48 0C BF 19 */ bl NoParameter__12CPASAnimParmFv /* 80217168 002140C8 38 61 00 28 */ addi r3, r1, 0x28 /* 8021716C 002140CC 48 0C BF 11 */ bl NoParameter__12CPASAnimParmFv /* 80217170 002140D0 38 61 00 30 */ addi r3, r1, 0x30 /* 80217174 002140D4 48 0C BF 09 */ bl NoParameter__12CPASAnimParmFv /* 80217178 002140D8 38 61 00 38 */ addi r3, r1, 0x38 /* 8021717C 002140DC 48 0C BF 01 */ bl NoParameter__12CPASAnimParmFv /* 80217180 002140E0 38 61 00 40 */ addi r3, r1, 0x40 /* 80217184 002140E4 48 0C BE F9 */ bl NoParameter__12CPASAnimParmFv /* 80217188 002140E8 38 61 00 48 */ addi r3, r1, 0x48 /* 8021718C 002140EC 48 0C BE F1 */ bl NoParameter__12CPASAnimParmFv /* 80217190 002140F0 38 61 00 50 */ addi r3, r1, 0x50 /* 80217194 002140F4 38 80 00 02 */ li r4, 2 /* 80217198 002140F8 48 0C BD ED */ bl FromEnum__12CPASAnimParmFi /* 8021719C 002140FC 38 61 00 20 */ addi r3, r1, 0x20 /* 802171A0 00214100 38 01 00 18 */ addi r0, r1, 0x18 /* 802171A4 00214104 90 61 00 08 */ stw r3, 8(r1) /* 802171A8 00214108 38 61 00 58 */ addi r3, r1, 0x58 /* 802171AC 0021410C 38 A1 00 50 */ addi r5, r1, 0x50 /* 802171B0 00214110 38 C1 00 48 */ addi r6, r1, 0x48 /* 802171B4 00214114 90 01 00 0C */ stw r0, 0xc(r1) /* 802171B8 00214118 38 E1 00 40 */ addi r7, r1, 0x40 /* 802171BC 0021411C 39 01 00 38 */ addi r8, r1, 0x38 /* 802171C0 00214120 39 21 00 30 */ addi r9, r1, 0x30 /* 802171C4 00214124 39 41 00 28 */ addi r10, r1, 0x28 /* 802171C8 00214128 38 80 00 18 */ li r4, 0x18 /* 802171CC 0021412C 4B E6 60 F9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 802171D0 00214130 80 9E 00 64 */ lwz r4, 0x64(r30) /* 802171D4 00214134 38 61 00 10 */ addi r3, r1, 0x10 /* 802171D8 00214138 80 DF 09 00 */ lwz r6, 0x900(r31) /* 802171DC 0021413C 38 A1 00 58 */ addi r5, r1, 0x58 /* 802171E0 00214140 83 E4 00 10 */ lwz r31, 0x10(r4) /* 802171E4 00214144 38 E0 FF FF */ li r7, -1 /* 802171E8 00214148 38 9F 00 3C */ addi r4, r31, 0x3c /* 802171EC 0021414C 48 0C DE 75 */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i /* 802171F0 00214150 C0 21 00 10 */ lfs f1, 0x10(r1) /* 802171F4 00214154 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802171F8 00214158 80 01 00 14 */ lwz r0, 0x14(r1) /* 802171FC 0021415C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217200 00214160 40 81 00 20 */ ble lbl_80217220 /* 80217204 00214164 90 1E 05 5C */ stw r0, 0x55c(r30) /* 80217208 00214168 7F E3 FB 78 */ mr r3, r31 /* 8021720C 0021416C C0 22 B3 68 */ lfs f1, lbl_805AD088@sda21(r2) /* 80217210 00214170 38 A0 00 01 */ li r5, 1 /* 80217214 00214174 80 9E 05 5C */ lwz r4, 0x55c(r30) /* 80217218 00214178 38 C0 00 00 */ li r6, 0 /* 8021721C 0021417C 4B E1 2F B5 */ bl AddAdditiveAnimation__9CAnimDataFUifbb lbl_80217220: /* 80217220 00214180 34 A1 00 5C */ addic. r5, r1, 0x5c /* 80217224 00214184 41 82 00 7C */ beq lbl_802172A0 /* 80217228 00214188 80 C5 00 00 */ lwz r6, 0(r5) /* 8021722C 0021418C 38 60 00 00 */ li r3, 0 /* 80217230 00214190 2C 06 00 00 */ cmpwi r6, 0 /* 80217234 00214194 40 81 00 40 */ ble lbl_80217274 /* 80217238 00214198 2C 06 00 08 */ cmpwi r6, 8 /* 8021723C 0021419C 38 86 FF F8 */ addi r4, r6, -8 /* 80217240 002141A0 40 81 00 20 */ ble lbl_80217260 /* 80217244 002141A4 38 04 00 07 */ addi r0, r4, 7 /* 80217248 002141A8 54 00 E8 FE */ srwi r0, r0, 3 /* 8021724C 002141AC 7C 09 03 A6 */ mtctr r0 /* 80217250 002141B0 2C 04 00 00 */ cmpwi r4, 0 /* 80217254 002141B4 40 81 00 0C */ ble lbl_80217260 lbl_80217258: /* 80217258 002141B8 38 63 00 08 */ addi r3, r3, 8 /* 8021725C 002141BC 42 00 FF FC */ bdnz lbl_80217258 lbl_80217260: /* 80217260 002141C0 7C 03 30 50 */ subf r0, r3, r6 /* 80217264 002141C4 7C 09 03 A6 */ mtctr r0 /* 80217268 002141C8 7C 03 30 00 */ cmpw r3, r6 /* 8021726C 002141CC 40 80 00 08 */ bge lbl_80217274 lbl_80217270: /* 80217270 002141D0 42 00 00 00 */ bdnz lbl_80217270 lbl_80217274: /* 80217274 002141D4 38 00 00 00 */ li r0, 0 /* 80217278 002141D8 90 05 00 00 */ stw r0, 0(r5) /* 8021727C 002141DC 48 00 00 24 */ b lbl_802172A0 lbl_80217280: /* 80217280 002141E0 80 9E 05 5C */ lwz r4, 0x55c(r30) /* 80217284 002141E4 2C 04 FF FF */ cmpwi r4, -1 /* 80217288 002141E8 41 82 00 18 */ beq lbl_802172A0 /* 8021728C 002141EC 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80217290 002141F0 80 63 00 10 */ lwz r3, 0x10(r3) /* 80217294 002141F4 4B E1 2E C5 */ bl DelAdditiveAnimation__9CAnimDataFUi /* 80217298 002141F8 38 00 FF FF */ li r0, -1 /* 8021729C 002141FC 90 1E 05 5C */ stw r0, 0x55c(r30) lbl_802172A0: /* 802172A0 00214200 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 802172A4 00214204 83 E1 00 AC */ lwz r31, 0xac(r1) /* 802172A8 00214208 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 802172AC 0021420C 7C 08 03 A6 */ mtlr r0 /* 802172B0 00214210 38 21 00 B0 */ addi r1, r1, 0xb0 /* 802172B4 00214214 4E 80 00 20 */ blr .global PlayAdditiveFlinchAnimation__16CScriptGunTurretFR13CStateManager PlayAdditiveFlinchAnimation__16CScriptGunTurretFR13CStateManager: /* 802172B8 00214218 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 802172BC 0021421C 7C 08 02 A6 */ mflr r0 /* 802172C0 00214220 90 01 00 B4 */ stw r0, 0xb4(r1) /* 802172C4 00214224 93 E1 00 AC */ stw r31, 0xac(r1) /* 802172C8 00214228 7C 9F 23 78 */ mr r31, r4 /* 802172CC 0021422C 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 802172D0 00214230 7C 7E 1B 78 */ mr r30, r3 /* 802172D4 00214234 38 61 00 18 */ addi r3, r1, 0x18 /* 802172D8 00214238 48 0C BD A5 */ bl NoParameter__12CPASAnimParmFv /* 802172DC 0021423C 38 61 00 20 */ addi r3, r1, 0x20 /* 802172E0 00214240 48 0C BD 9D */ bl NoParameter__12CPASAnimParmFv /* 802172E4 00214244 38 61 00 28 */ addi r3, r1, 0x28 /* 802172E8 00214248 48 0C BD 95 */ bl NoParameter__12CPASAnimParmFv /* 802172EC 0021424C 38 61 00 30 */ addi r3, r1, 0x30 /* 802172F0 00214250 48 0C BD 8D */ bl NoParameter__12CPASAnimParmFv /* 802172F4 00214254 38 61 00 38 */ addi r3, r1, 0x38 /* 802172F8 00214258 48 0C BD 85 */ bl NoParameter__12CPASAnimParmFv /* 802172FC 0021425C 38 61 00 40 */ addi r3, r1, 0x40 /* 80217300 00214260 48 0C BD 7D */ bl NoParameter__12CPASAnimParmFv /* 80217304 00214264 38 61 00 48 */ addi r3, r1, 0x48 /* 80217308 00214268 48 0C BD 75 */ bl NoParameter__12CPASAnimParmFv /* 8021730C 0021426C 38 61 00 50 */ addi r3, r1, 0x50 /* 80217310 00214270 48 0C BD 6D */ bl NoParameter__12CPASAnimParmFv /* 80217314 00214274 38 61 00 20 */ addi r3, r1, 0x20 /* 80217318 00214278 38 01 00 18 */ addi r0, r1, 0x18 /* 8021731C 0021427C 90 61 00 08 */ stw r3, 8(r1) /* 80217320 00214280 38 61 00 58 */ addi r3, r1, 0x58 /* 80217324 00214284 38 A1 00 50 */ addi r5, r1, 0x50 /* 80217328 00214288 38 C1 00 48 */ addi r6, r1, 0x48 /* 8021732C 0021428C 90 01 00 0C */ stw r0, 0xc(r1) /* 80217330 00214290 38 E1 00 40 */ addi r7, r1, 0x40 /* 80217334 00214294 39 01 00 38 */ addi r8, r1, 0x38 /* 80217338 00214298 39 21 00 30 */ addi r9, r1, 0x30 /* 8021733C 0021429C 39 41 00 28 */ addi r10, r1, 0x28 /* 80217340 002142A0 38 80 00 17 */ li r4, 0x17 /* 80217344 002142A4 4B E6 5F 81 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80217348 002142A8 80 9E 00 64 */ lwz r4, 0x64(r30) /* 8021734C 002142AC 38 61 00 10 */ addi r3, r1, 0x10 /* 80217350 002142B0 80 DF 09 00 */ lwz r6, 0x900(r31) /* 80217354 002142B4 38 A1 00 58 */ addi r5, r1, 0x58 /* 80217358 002142B8 80 84 00 10 */ lwz r4, 0x10(r4) /* 8021735C 002142BC 38 E0 FF FF */ li r7, -1 /* 80217360 002142C0 38 84 00 3C */ addi r4, r4, 0x3c /* 80217364 002142C4 48 0C DC FD */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i /* 80217368 002142C8 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8021736C 002142CC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80217370 002142D0 80 81 00 14 */ lwz r4, 0x14(r1) /* 80217374 002142D4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217378 002142D8 40 81 00 1C */ ble lbl_80217394 /* 8021737C 002142DC 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80217380 002142E0 38 A0 00 00 */ li r5, 0 /* 80217384 002142E4 C0 22 B3 68 */ lfs f1, lbl_805AD088@sda21(r2) /* 80217388 002142E8 38 C0 00 01 */ li r6, 1 /* 8021738C 002142EC 80 63 00 10 */ lwz r3, 0x10(r3) /* 80217390 002142F0 4B E1 2E 41 */ bl AddAdditiveAnimation__9CAnimDataFUifbb lbl_80217394: /* 80217394 002142F4 34 A1 00 5C */ addic. r5, r1, 0x5c /* 80217398 002142F8 41 82 00 58 */ beq lbl_802173F0 /* 8021739C 002142FC 80 C5 00 00 */ lwz r6, 0(r5) /* 802173A0 00214300 38 60 00 00 */ li r3, 0 /* 802173A4 00214304 2C 06 00 00 */ cmpwi r6, 0 /* 802173A8 00214308 40 81 00 40 */ ble lbl_802173E8 /* 802173AC 0021430C 2C 06 00 08 */ cmpwi r6, 8 /* 802173B0 00214310 38 86 FF F8 */ addi r4, r6, -8 /* 802173B4 00214314 40 81 00 20 */ ble lbl_802173D4 /* 802173B8 00214318 38 04 00 07 */ addi r0, r4, 7 /* 802173BC 0021431C 54 00 E8 FE */ srwi r0, r0, 3 /* 802173C0 00214320 7C 09 03 A6 */ mtctr r0 /* 802173C4 00214324 2C 04 00 00 */ cmpwi r4, 0 /* 802173C8 00214328 40 81 00 0C */ ble lbl_802173D4 lbl_802173CC: /* 802173CC 0021432C 38 63 00 08 */ addi r3, r3, 8 /* 802173D0 00214330 42 00 FF FC */ bdnz lbl_802173CC lbl_802173D4: /* 802173D4 00214334 7C 03 30 50 */ subf r0, r3, r6 /* 802173D8 00214338 7C 09 03 A6 */ mtctr r0 /* 802173DC 0021433C 7C 03 30 00 */ cmpw r3, r6 /* 802173E0 00214340 40 80 00 08 */ bge lbl_802173E8 lbl_802173E4: /* 802173E4 00214344 42 00 00 00 */ bdnz lbl_802173E4 lbl_802173E8: /* 802173E8 00214348 38 00 00 00 */ li r0, 0 /* 802173EC 0021434C 90 05 00 00 */ stw r0, 0(r5) lbl_802173F0: /* 802173F0 00214350 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 802173F4 00214354 83 E1 00 AC */ lwz r31, 0xac(r1) /* 802173F8 00214358 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 802173FC 0021435C 7C 08 03 A6 */ mtlr r0 /* 80217400 00214360 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80217404 00214364 4E 80 00 20 */ blr .global LaunchProjectile__16CScriptGunTurretFR13CStateManager LaunchProjectile__16CScriptGunTurretFR13CStateManager: /* 80217408 00214368 94 21 FD 70 */ stwu r1, -0x290(r1) /* 8021740C 0021436C 7C 08 02 A6 */ mflr r0 /* 80217410 00214370 90 01 02 94 */ stw r0, 0x294(r1) /* 80217414 00214374 DB E1 02 80 */ stfd f31, 0x280(r1) /* 80217418 00214378 F3 E1 02 88 */ psq_st f31, 648(r1), 0, qr0 /* 8021741C 0021437C DB C1 02 70 */ stfd f30, 0x270(r1) /* 80217420 00214380 F3 C1 02 78 */ psq_st f30, 632(r1), 0, qr0 /* 80217424 00214384 DB A1 02 60 */ stfd f29, 0x260(r1) /* 80217428 00214388 F3 A1 02 68 */ psq_st f29, 616(r1), 0, qr0 /* 8021742C 0021438C 93 E1 02 5C */ stw r31, 0x25c(r1) /* 80217430 00214390 93 C1 02 58 */ stw r30, 0x258(r1) /* 80217434 00214394 93 A1 02 54 */ stw r29, 0x254(r1) /* 80217438 00214398 93 81 02 50 */ stw r28, 0x250(r1) /* 8021743C 0021439C 7C 7E 1B 78 */ mr r30, r3 /* 80217440 002143A0 7C 9F 23 78 */ mr r31, r4 /* 80217444 002143A4 3B BE 03 7C */ addi r29, r30, 0x37c /* 80217448 002143A8 80 03 03 84 */ lwz r0, 0x384(r3) /* 8021744C 002143AC 28 00 00 00 */ cmplwi r0, 0 /* 80217450 002143B0 41 82 00 0C */ beq lbl_8021745C /* 80217454 002143B4 38 60 00 01 */ li r3, 1 /* 80217458 002143B8 48 00 00 3C */ b lbl_80217494 lbl_8021745C: /* 8021745C 002143BC 88 1D 00 04 */ lbz r0, 4(r29) /* 80217460 002143C0 28 00 00 00 */ cmplwi r0, 0 /* 80217464 002143C4 41 82 00 2C */ beq lbl_80217490 /* 80217468 002143C8 80 7D 00 00 */ lwz r3, 0(r29) /* 8021746C 002143CC 80 03 00 10 */ lwz r0, 0x10(r3) /* 80217470 002143D0 28 00 00 00 */ cmplwi r0, 0 /* 80217474 002143D4 41 82 00 1C */ beq lbl_80217490 /* 80217478 002143D8 7F A3 EB 78 */ mr r3, r29 /* 8021747C 002143DC 48 12 99 91 */ bl GetObj__6CTokenFv /* 80217480 002143E0 80 03 00 04 */ lwz r0, 4(r3) /* 80217484 002143E4 38 60 00 01 */ li r3, 1 /* 80217488 002143E8 90 1D 00 08 */ stw r0, 8(r29) /* 8021748C 002143EC 48 00 00 08 */ b lbl_80217494 lbl_80217490: /* 80217490 002143F0 38 60 00 00 */ li r3, 0 lbl_80217494: /* 80217494 002143F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80217498 002143F8 41 82 04 80 */ beq lbl_80217918 /* 8021749C 002143FC A0 1E 00 08 */ lhz r0, 8(r30) /* 802174A0 00214400 7F E3 FB 78 */ mr r3, r31 /* 802174A4 00214404 38 81 00 48 */ addi r4, r1, 0x48 /* 802174A8 00214408 38 A0 00 09 */ li r5, 9 /* 802174AC 0021440C B0 01 00 44 */ sth r0, 0x44(r1) /* 802174B0 00214410 38 C0 00 08 */ li r6, 8 /* 802174B4 00214414 B0 01 00 48 */ sth r0, 0x48(r1) /* 802174B8 00214418 4B E2 E2 79 */ bl CanCreateProjectile__13CStateManagerCF9TUniqueId11EWeaponTypei /* 802174BC 0021441C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802174C0 00214420 41 82 04 58 */ beq lbl_80217918 /* 802174C4 00214424 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 802174C8 00214428 38 61 00 DC */ addi r3, r1, 0xdc /* 802174CC 0021442C 4B DE D7 ED */ bl string_l__4rstlFPCc /* 802174D0 00214430 7F C4 F3 78 */ mr r4, r30 /* 802174D4 00214434 38 61 01 74 */ addi r3, r1, 0x174 /* 802174D8 00214438 38 A1 00 DC */ addi r5, r1, 0xdc /* 802174DC 0021443C 4B E3 BA 25 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 802174E0 00214440 38 61 01 D4 */ addi r3, r1, 0x1d4 /* 802174E4 00214444 38 81 01 74 */ addi r4, r1, 0x174 /* 802174E8 00214448 48 0F B6 8D */ bl __ct__12CTransform4fFRC12CTransform4f /* 802174EC 0021444C 38 61 00 DC */ addi r3, r1, 0xdc /* 802174F0 00214450 48 12 65 F1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 802174F4 00214454 C0 41 01 E0 */ lfs f2, 0x1e0(r1) /* 802174F8 00214458 38 61 00 D0 */ addi r3, r1, 0xd0 /* 802174FC 0021445C C0 21 01 F0 */ lfs f1, 0x1f0(r1) /* 80217500 00214460 38 9E 00 34 */ addi r4, r30, 0x34 /* 80217504 00214464 C0 01 02 00 */ lfs f0, 0x200(r1) /* 80217508 00214468 38 A1 00 C4 */ addi r5, r1, 0xc4 /* 8021750C 0021446C D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 80217510 00214470 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 80217514 00214474 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 80217518 00214478 48 0F B5 69 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8021751C 0021447C C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80217520 00214480 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80217524 00214484 C0 01 00 D4 */ lfs f0, 0xd4(r1) /* 80217528 00214488 38 81 00 EC */ addi r4, r1, 0xec /* 8021752C 0021448C C0 7E 00 60 */ lfs f3, 0x60(r30) /* 80217530 00214490 C0 41 00 D8 */ lfs f2, 0xd8(r1) /* 80217534 00214494 EC 81 00 2A */ fadds f4, f1, f0 /* 80217538 00214498 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 8021753C 0021449C C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 80217540 002144A0 EC 43 10 2A */ fadds f2, f3, f2 /* 80217544 002144A4 D0 81 01 14 */ stfs f4, 0x114(r1) /* 80217548 002144A8 EC 21 00 2A */ fadds f1, f1, f0 /* 8021754C 002144AC D0 41 01 18 */ stfs f2, 0x118(r1) /* 80217550 002144B0 D0 21 01 10 */ stfs f1, 0x110(r1) /* 80217554 002144B4 C0 1E 04 04 */ lfs f0, 0x404(r30) /* 80217558 002144B8 D0 01 01 04 */ stfs f0, 0x104(r1) /* 8021755C 002144BC EC 00 08 28 */ fsubs f0, f0, f1 /* 80217560 002144C0 C0 3E 04 08 */ lfs f1, 0x408(r30) /* 80217564 002144C4 D0 21 01 08 */ stfs f1, 0x108(r1) /* 80217568 002144C8 EC 61 20 28 */ fsubs f3, f1, f4 /* 8021756C 002144CC C0 3E 04 0C */ lfs f1, 0x40c(r30) /* 80217570 002144D0 D0 21 01 0C */ stfs f1, 0x10c(r1) /* 80217574 002144D4 EC 41 10 28 */ fsubs f2, f1, f2 /* 80217578 002144D8 C0 BE 00 58 */ lfs f5, 0x58(r30) /* 8021757C 002144DC C0 9E 00 48 */ lfs f4, 0x48(r30) /* 80217580 002144E0 C0 3E 00 38 */ lfs f1, 0x38(r30) /* 80217584 002144E4 D0 21 00 F8 */ stfs f1, 0xf8(r1) /* 80217588 002144E8 D0 81 00 FC */ stfs f4, 0xfc(r1) /* 8021758C 002144EC D0 A1 01 00 */ stfs f5, 0x100(r1) /* 80217590 002144F0 D0 01 00 EC */ stfs f0, 0xec(r1) /* 80217594 002144F4 D0 61 00 F0 */ stfs f3, 0xf0(r1) /* 80217598 002144F8 D0 41 00 F4 */ stfs f2, 0xf4(r1) /* 8021759C 002144FC 48 0F D0 95 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 802175A0 00214500 C0 02 B3 74 */ lfs f0, lbl_805AD094@sda21(r2) /* 802175A4 00214504 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802175A8 00214508 40 81 00 B8 */ ble lbl_80217660 /* 802175AC 0021450C 38 61 00 EC */ addi r3, r1, 0xec /* 802175B0 00214510 48 0F D1 49 */ bl CanBeNormalized__9CVector3fCFv /* 802175B4 00214514 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802175B8 00214518 41 82 00 74 */ beq lbl_8021762C /* 802175BC 0021451C C0 02 B3 74 */ lfs f0, lbl_805AD094@sda21(r2) /* 802175C0 00214520 38 61 00 AC */ addi r3, r1, 0xac /* 802175C4 00214524 38 81 00 EC */ addi r4, r1, 0xec /* 802175C8 00214528 D0 01 00 54 */ stfs f0, 0x54(r1) /* 802175CC 0021452C 48 0F D2 85 */ bl AsNormalized__9CVector3fCFv /* 802175D0 00214530 38 61 00 B8 */ addi r3, r1, 0xb8 /* 802175D4 00214534 38 81 00 F8 */ addi r4, r1, 0xf8 /* 802175D8 00214538 38 A1 00 AC */ addi r5, r1, 0xac /* 802175DC 0021453C 38 C1 00 54 */ addi r6, r1, 0x54 /* 802175E0 00214540 48 0F D3 75 */ bl Slerp__9CVector3fFRC9CVector3fRC9CVector3fRC9CRelAngle /* 802175E4 00214544 C3 E1 00 B8 */ lfs f31, 0xb8(r1) /* 802175E8 00214548 38 61 00 EC */ addi r3, r1, 0xec /* 802175EC 0021454C C3 C1 00 BC */ lfs f30, 0xbc(r1) /* 802175F0 00214550 C3 A1 00 C0 */ lfs f29, 0xc0(r1) /* 802175F4 00214554 48 0F D2 C5 */ bl Magnitude__9CVector3fCFv /* 802175F8 00214558 EC 81 07 B2 */ fmuls f4, f1, f30 /* 802175FC 0021455C C0 A1 01 14 */ lfs f5, 0x114(r1) /* 80217600 00214560 EC 41 07 72 */ fmuls f2, f1, f29 /* 80217604 00214564 C0 61 01 18 */ lfs f3, 0x118(r1) /* 80217608 00214568 EC 01 07 F2 */ fmuls f0, f1, f31 /* 8021760C 0021456C C0 21 01 10 */ lfs f1, 0x110(r1) /* 80217610 00214570 EC 85 20 2A */ fadds f4, f5, f4 /* 80217614 00214574 EC 43 10 2A */ fadds f2, f3, f2 /* 80217618 00214578 EC 01 00 2A */ fadds f0, f1, f0 /* 8021761C 0021457C D0 81 01 08 */ stfs f4, 0x108(r1) /* 80217620 00214580 D0 01 01 04 */ stfs f0, 0x104(r1) /* 80217624 00214584 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 80217628 00214588 48 00 00 78 */ b lbl_802176A0 lbl_8021762C: /* 8021762C 0021458C C0 21 01 14 */ lfs f1, 0x114(r1) /* 80217630 00214590 C0 01 00 FC */ lfs f0, 0xfc(r1) /* 80217634 00214594 C0 61 01 18 */ lfs f3, 0x118(r1) /* 80217638 00214598 C0 41 01 00 */ lfs f2, 0x100(r1) /* 8021763C 0021459C EC 81 00 2A */ fadds f4, f1, f0 /* 80217640 002145A0 C0 21 01 10 */ lfs f1, 0x110(r1) /* 80217644 002145A4 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 80217648 002145A8 EC 43 10 2A */ fadds f2, f3, f2 /* 8021764C 002145AC D0 81 01 08 */ stfs f4, 0x108(r1) /* 80217650 002145B0 EC 01 00 2A */ fadds f0, f1, f0 /* 80217654 002145B4 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 80217658 002145B8 D0 01 01 04 */ stfs f0, 0x104(r1) /* 8021765C 002145BC 48 00 00 44 */ b lbl_802176A0 lbl_80217660: /* 80217660 002145C0 38 61 00 EC */ addi r3, r1, 0xec /* 80217664 002145C4 48 0F D0 95 */ bl CanBeNormalized__9CVector3fCFv /* 80217668 002145C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8021766C 002145CC 40 82 00 34 */ bne lbl_802176A0 /* 80217670 002145D0 C0 21 01 14 */ lfs f1, 0x114(r1) /* 80217674 002145D4 C0 01 00 FC */ lfs f0, 0xfc(r1) /* 80217678 002145D8 C0 61 01 18 */ lfs f3, 0x118(r1) /* 8021767C 002145DC C0 41 01 00 */ lfs f2, 0x100(r1) /* 80217680 002145E0 EC 81 00 2A */ fadds f4, f1, f0 /* 80217684 002145E4 C0 21 01 10 */ lfs f1, 0x110(r1) /* 80217688 002145E8 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 8021768C 002145EC EC 43 10 2A */ fadds f2, f3, f2 /* 80217690 002145F0 D0 81 01 08 */ stfs f4, 0x108(r1) /* 80217694 002145F4 EC 01 00 2A */ fadds f0, f1, f0 /* 80217698 002145F8 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 8021769C 002145FC D0 01 01 04 */ stfs f0, 0x104(r1) lbl_802176A0: /* 802176A0 00214600 3C 80 80 5A */ lis r4, sUpVector__9CVector3f@ha /* 802176A4 00214604 38 61 01 44 */ addi r3, r1, 0x144 /* 802176A8 00214608 38 C4 66 F4 */ addi r6, r4, sUpVector__9CVector3f@l /* 802176AC 0021460C 38 A1 01 04 */ addi r5, r1, 0x104 /* 802176B0 00214610 38 81 01 10 */ addi r4, r1, 0x110 /* 802176B4 00214614 48 0F C4 5D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 802176B8 00214618 38 61 01 A4 */ addi r3, r1, 0x1a4 /* 802176BC 0021461C 38 81 01 44 */ addi r4, r1, 0x144 /* 802176C0 00214620 48 0F B4 B5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 802176C4 00214624 3C 80 80 3D */ lis r4, lbl_803D2FF0@ha /* 802176C8 00214628 38 60 03 D8 */ li r3, 0x3d8 /* 802176CC 0021462C 38 84 2F F0 */ addi r4, r4, lbl_803D2FF0@l /* 802176D0 00214630 38 A0 00 00 */ li r5, 0 /* 802176D4 00214634 38 84 00 31 */ addi r4, r4, 0x31 /* 802176D8 00214638 48 0F E1 95 */ bl __nw__FUlPCcPCc /* 802176DC 0021463C 7C 7D 1B 79 */ or. r29, r3, r3 /* 802176E0 00214640 41 82 00 B0 */ beq lbl_80217790 /* 802176E4 00214644 A3 9E 03 5A */ lhz r28, 0x35a(r30) /* 802176E8 00214648 7F E4 FB 78 */ mr r4, r31 /* 802176EC 0021464C C0 02 B3 68 */ lfs f0, lbl_805AD088@sda21(r2) /* 802176F0 00214650 38 61 00 30 */ addi r3, r1, 0x30 /* 802176F4 00214654 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 802176F8 00214658 D0 01 00 A0 */ stfs f0, 0xa0(r1) /* 802176FC 0021465C D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 80217700 00214660 D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 80217704 00214664 B0 01 00 40 */ sth r0, 0x40(r1) /* 80217708 00214668 A0 BE 00 08 */ lhz r5, 8(r30) /* 8021770C 0021466C B0 A1 00 3C */ sth r5, 0x3c(r1) /* 80217710 00214670 80 1E 00 04 */ lwz r0, 4(r30) /* 80217714 00214674 B0 A1 00 38 */ sth r5, 0x38(r1) /* 80217718 00214678 90 01 00 4C */ stw r0, 0x4c(r1) /* 8021771C 0021467C 90 01 00 50 */ stw r0, 0x50(r1) /* 80217720 00214680 4B E3 59 BD */ bl AllocateUniqueId__13CStateManagerFv /* 80217724 00214684 A0 01 00 30 */ lhz r0, 0x30(r1) /* 80217728 00214688 38 61 00 50 */ addi r3, r1, 0x50 /* 8021772C 0021468C 38 81 00 3C */ addi r4, r1, 0x3c /* 80217730 00214690 38 C1 00 40 */ addi r6, r1, 0x40 /* 80217734 00214694 B0 01 00 34 */ sth r0, 0x34(r1) /* 80217738 00214698 39 80 00 00 */ li r12, 0 /* 8021773C 0021469C 39 61 00 A0 */ addi r11, r1, 0xa0 /* 80217740 002146A0 38 1E 04 58 */ addi r0, r30, 0x458 /* 80217744 002146A4 90 61 00 08 */ stw r3, 8(r1) /* 80217748 002146A8 7F A3 EB 78 */ mr r3, r29 /* 8021774C 002146AC 38 BE 03 7C */ addi r5, r30, 0x37c /* 80217750 002146B0 38 E1 01 A4 */ addi r7, r1, 0x1a4 /* 80217754 002146B4 90 81 00 0C */ stw r4, 0xc(r1) /* 80217758 002146B8 39 3E 03 88 */ addi r9, r30, 0x388 /* 8021775C 002146BC 39 41 00 34 */ addi r10, r1, 0x34 /* 80217760 002146C0 38 80 00 01 */ li r4, 1 /* 80217764 002146C4 90 C1 00 10 */ stw r6, 0x10(r1) /* 80217768 002146C8 38 C0 00 09 */ li r6, 9 /* 8021776C 002146CC 39 00 00 21 */ li r8, 0x21 /* 80217770 002146D0 91 81 00 14 */ stw r12, 0x14(r1) /* 80217774 002146D4 91 81 00 18 */ stw r12, 0x18(r1) /* 80217778 002146D8 91 61 00 1C */ stw r11, 0x1c(r1) /* 8021777C 002146DC 90 01 00 20 */ stw r0, 0x20(r1) /* 80217780 002146E0 93 81 00 24 */ stw r28, 0x24(r1) /* 80217784 002146E4 91 81 00 28 */ stw r12, 0x28(r1) /* 80217788 002146E8 4B FF DF 11 */ bl "__ct__17CEnergyProjectileFbRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb" /* 8021778C 002146EC 7C 7D 1B 78 */ mr r29, r3 lbl_80217790: /* 80217790 002146F0 28 1D 00 00 */ cmplwi r29, 0 /* 80217794 002146F4 41 82 01 84 */ beq lbl_80217918 /* 80217798 002146F8 7F E3 FB 78 */ mr r3, r31 /* 8021779C 002146FC 7F A4 EB 78 */ mr r4, r29 /* 802177A0 00214700 4B E3 55 55 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence /* 802177A4 00214704 38 61 00 60 */ addi r3, r1, 0x60 /* 802177A8 00214708 48 0C B8 D5 */ bl NoParameter__12CPASAnimParmFv /* 802177AC 0021470C 38 61 00 68 */ addi r3, r1, 0x68 /* 802177B0 00214710 48 0C B8 CD */ bl NoParameter__12CPASAnimParmFv /* 802177B4 00214714 38 61 00 70 */ addi r3, r1, 0x70 /* 802177B8 00214718 48 0C B8 C5 */ bl NoParameter__12CPASAnimParmFv /* 802177BC 0021471C 38 61 00 78 */ addi r3, r1, 0x78 /* 802177C0 00214720 48 0C B8 BD */ bl NoParameter__12CPASAnimParmFv /* 802177C4 00214724 38 61 00 80 */ addi r3, r1, 0x80 /* 802177C8 00214728 48 0C B8 B5 */ bl NoParameter__12CPASAnimParmFv /* 802177CC 0021472C 80 1E 05 20 */ lwz r0, 0x520(r30) /* 802177D0 00214730 3C 60 80 3D */ lis r3, lbl_803D2908@ha /* 802177D4 00214734 38 83 29 08 */ addi r4, r3, lbl_803D2908@l /* 802177D8 00214738 38 61 00 88 */ addi r3, r1, 0x88 /* 802177DC 0021473C 54 00 10 3A */ slwi r0, r0, 2 /* 802177E0 00214740 7C 84 00 2E */ lwzx r4, r4, r0 /* 802177E4 00214744 48 0C B7 A1 */ bl FromEnum__12CPASAnimParmFi /* 802177E8 00214748 C0 22 B3 80 */ lfs f1, lbl_805AD0A0@sda21(r2) /* 802177EC 0021474C 38 61 00 90 */ addi r3, r1, 0x90 /* 802177F0 00214750 48 0C B7 F9 */ bl FromReal32__12CPASAnimParmFf /* 802177F4 00214754 38 61 00 98 */ addi r3, r1, 0x98 /* 802177F8 00214758 38 80 00 01 */ li r4, 1 /* 802177FC 0021475C 48 0C B7 89 */ bl FromEnum__12CPASAnimParmFi /* 80217800 00214760 38 61 00 68 */ addi r3, r1, 0x68 /* 80217804 00214764 38 01 00 60 */ addi r0, r1, 0x60 /* 80217808 00214768 90 61 00 08 */ stw r3, 8(r1) /* 8021780C 0021476C 38 61 02 04 */ addi r3, r1, 0x204 /* 80217810 00214770 38 A1 00 98 */ addi r5, r1, 0x98 /* 80217814 00214774 38 C1 00 90 */ addi r6, r1, 0x90 /* 80217818 00214778 90 01 00 0C */ stw r0, 0xc(r1) /* 8021781C 0021477C 38 E1 00 88 */ addi r7, r1, 0x88 /* 80217820 00214780 39 01 00 80 */ addi r8, r1, 0x80 /* 80217824 00214784 39 21 00 78 */ addi r9, r1, 0x78 /* 80217828 00214788 39 41 00 70 */ addi r10, r1, 0x70 /* 8021782C 0021478C 38 80 00 12 */ li r4, 0x12 /* 80217830 00214790 4B E6 5A 95 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80217834 00214794 80 9E 00 64 */ lwz r4, 0x64(r30) /* 80217838 00214798 38 61 00 58 */ addi r3, r1, 0x58 /* 8021783C 0021479C 38 A1 02 04 */ addi r5, r1, 0x204 /* 80217840 002147A0 38 C0 FF FF */ li r6, -1 /* 80217844 002147A4 80 84 00 10 */ lwz r4, 0x10(r4) /* 80217848 002147A8 38 84 00 3C */ addi r4, r4, 0x3c /* 8021784C 002147AC 48 0C D9 21 */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDatai /* 80217850 002147B0 C0 21 00 58 */ lfs f1, 0x58(r1) /* 80217854 002147B4 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80217858 002147B8 83 81 00 5C */ lwz r28, 0x5c(r1) /* 8021785C 002147BC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217860 002147C0 40 81 00 5C */ ble lbl_802178BC /* 80217864 002147C4 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80217868 002147C8 38 80 00 00 */ li r4, 0 /* 8021786C 002147CC 4B EF DC F5 */ bl EnableLooping__10CModelDataFb /* 80217870 002147D0 C0 02 B3 68 */ lfs f0, lbl_805AD088@sda21(r2) /* 80217874 002147D4 38 00 00 00 */ li r0, 0 /* 80217878 002147D8 38 C0 FF FF */ li r6, -1 /* 8021787C 002147DC 38 60 00 01 */ li r3, 1 /* 80217880 002147E0 93 81 01 1C */ stw r28, 0x11c(r1) /* 80217884 002147E4 38 81 01 1C */ addi r4, r1, 0x11c /* 80217888 002147E8 38 A0 00 00 */ li r5, 0 /* 8021788C 002147EC 90 C1 01 20 */ stw r6, 0x120(r1) /* 80217890 002147F0 D0 01 01 24 */ stfs f0, 0x124(r1) /* 80217894 002147F4 98 61 01 28 */ stb r3, 0x128(r1) /* 80217898 002147F8 90 01 01 2C */ stw r0, 0x12c(r1) /* 8021789C 002147FC 90 01 01 30 */ stw r0, 0x130(r1) /* 802178A0 00214800 98 01 01 34 */ stb r0, 0x134(r1) /* 802178A4 00214804 90 01 01 38 */ stw r0, 0x138(r1) /* 802178A8 00214808 90 01 01 3C */ stw r0, 0x13c(r1) /* 802178AC 0021480C 90 01 01 40 */ stw r0, 0x140(r1) /* 802178B0 00214810 80 7E 00 64 */ lwz r3, 0x64(r30) /* 802178B4 00214814 80 63 00 10 */ lwz r3, 0x10(r3) /* 802178B8 00214818 4B E1 54 C5 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb lbl_802178BC: /* 802178BC 0021481C 34 A1 02 08 */ addic. r5, r1, 0x208 /* 802178C0 00214820 41 82 00 58 */ beq lbl_80217918 /* 802178C4 00214824 80 C5 00 00 */ lwz r6, 0(r5) /* 802178C8 00214828 38 60 00 00 */ li r3, 0 /* 802178CC 0021482C 2C 06 00 00 */ cmpwi r6, 0 /* 802178D0 00214830 40 81 00 40 */ ble lbl_80217910 /* 802178D4 00214834 2C 06 00 08 */ cmpwi r6, 8 /* 802178D8 00214838 38 86 FF F8 */ addi r4, r6, -8 /* 802178DC 0021483C 40 81 00 20 */ ble lbl_802178FC /* 802178E0 00214840 38 04 00 07 */ addi r0, r4, 7 /* 802178E4 00214844 54 00 E8 FE */ srwi r0, r0, 3 /* 802178E8 00214848 7C 09 03 A6 */ mtctr r0 /* 802178EC 0021484C 2C 04 00 00 */ cmpwi r4, 0 /* 802178F0 00214850 40 81 00 0C */ ble lbl_802178FC lbl_802178F4: /* 802178F4 00214854 38 63 00 08 */ addi r3, r3, 8 /* 802178F8 00214858 42 00 FF FC */ bdnz lbl_802178F4 lbl_802178FC: /* 802178FC 0021485C 7C 03 30 50 */ subf r0, r3, r6 /* 80217900 00214860 7C 09 03 A6 */ mtctr r0 /* 80217904 00214864 7C 03 30 00 */ cmpw r3, r6 /* 80217908 00214868 40 80 00 08 */ bge lbl_80217910 lbl_8021790C: /* 8021790C 0021486C 42 00 00 00 */ bdnz lbl_8021790C lbl_80217910: /* 80217910 00214870 38 00 00 00 */ li r0, 0 /* 80217914 00214874 90 05 00 00 */ stw r0, 0(r5) lbl_80217918: /* 80217918 00214878 E3 E1 02 88 */ psq_l f31, 648(r1), 0, qr0 /* 8021791C 0021487C CB E1 02 80 */ lfd f31, 0x280(r1) /* 80217920 00214880 E3 C1 02 78 */ psq_l f30, 632(r1), 0, qr0 /* 80217924 00214884 CB C1 02 70 */ lfd f30, 0x270(r1) /* 80217928 00214888 E3 A1 02 68 */ psq_l f29, 616(r1), 0, qr0 /* 8021792C 0021488C CB A1 02 60 */ lfd f29, 0x260(r1) /* 80217930 00214890 83 E1 02 5C */ lwz r31, 0x25c(r1) /* 80217934 00214894 83 C1 02 58 */ lwz r30, 0x258(r1) /* 80217938 00214898 83 A1 02 54 */ lwz r29, 0x254(r1) /* 8021793C 0021489C 80 01 02 94 */ lwz r0, 0x294(r1) /* 80217940 002148A0 83 81 02 50 */ lwz r28, 0x250(r1) /* 80217944 002148A4 7C 08 03 A6 */ mtlr r0 /* 80217948 002148A8 38 21 02 90 */ addi r1, r1, 0x290 /* 8021794C 002148AC 4E 80 00 20 */ blr .global ShouldFire__16CScriptGunTurretCFR13CStateManager ShouldFire__16CScriptGunTurretCFR13CStateManager: /* 80217950 002148B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80217954 002148B4 7C 08 02 A6 */ mflr r0 /* 80217958 002148B8 90 01 00 14 */ stw r0, 0x14(r1) /* 8021795C 002148BC 80 03 05 20 */ lwz r0, 0x520(r3) /* 80217960 002148C0 2C 00 00 09 */ cmpwi r0, 9 /* 80217964 002148C4 40 82 00 2C */ bne lbl_80217990 /* 80217968 002148C8 C0 23 05 34 */ lfs f1, 0x534(r3) /* 8021796C 002148CC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80217970 002148D0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217974 002148D4 4C 40 13 82 */ cror 2, 0, 2 /* 80217978 002148D8 40 82 00 18 */ bne lbl_80217990 /* 8021797C 002148DC 88 03 03 B8 */ lbz r0, 0x3b8(r3) /* 80217980 002148E0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80217984 002148E4 41 82 00 0C */ beq lbl_80217990 /* 80217988 002148E8 48 00 01 51 */ bl IsPlayerInFiringRange__16CScriptGunTurretCFR13CStateManager /* 8021798C 002148EC 48 00 00 08 */ b lbl_80217994 lbl_80217990: /* 80217990 002148F0 38 60 00 00 */ li r3, 0 lbl_80217994: /* 80217994 002148F4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80217998 002148F8 7C 08 03 A6 */ mtlr r0 /* 8021799C 002148FC 38 21 00 10 */ addi r1, r1, 0x10 /* 802179A0 00214900 4E 80 00 20 */ blr .global InDetectionRange__16CScriptGunTurretCFR13CStateManager InDetectionRange__16CScriptGunTurretCFR13CStateManager: /* 802179A4 00214904 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802179A8 00214908 7C 08 02 A6 */ mflr r0 /* 802179AC 0021490C 90 01 00 34 */ stw r0, 0x34(r1) /* 802179B0 00214910 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802179B4 00214914 7C 9F 23 78 */ mr r31, r4 /* 802179B8 00214918 93 C1 00 28 */ stw r30, 0x28(r1) /* 802179BC 0021491C 7C 7E 1B 78 */ mr r30, r3 /* 802179C0 00214920 3C 60 80 5A */ lis r3, sDownVector__9CVector3f@ha /* 802179C4 00214924 80 84 08 4C */ lwz r4, 0x84c(r4) /* 802179C8 00214928 38 63 67 00 */ addi r3, r3, sDownVector__9CVector3f@l /* 802179CC 0021492C C0 1E 00 50 */ lfs f0, 0x50(r30) /* 802179D0 00214930 C0 24 00 50 */ lfs f1, 0x50(r4) /* 802179D4 00214934 C0 44 00 40 */ lfs f2, 0x40(r4) /* 802179D8 00214938 EC A1 00 28 */ fsubs f5, f1, f0 /* 802179DC 0021493C C0 3E 00 40 */ lfs f1, 0x40(r30) /* 802179E0 00214940 C0 03 00 04 */ lfs f0, 4(r3) /* 802179E4 00214944 EC 62 08 28 */ fsubs f3, f2, f1 /* 802179E8 00214948 C0 84 00 60 */ lfs f4, 0x60(r4) /* 802179EC 0021494C EC 05 00 32 */ fmuls f0, f5, f0 /* 802179F0 00214950 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 802179F4 00214954 C0 23 00 00 */ lfs f1, 0(r3) /* 802179F8 00214958 EC 84 10 28 */ fsubs f4, f4, f2 /* 802179FC 0021495C C0 43 00 08 */ lfs f2, 8(r3) /* 80217A00 00214960 EC 23 00 7A */ fmadds f1, f3, f1, f0 /* 80217A04 00214964 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80217A08 00214968 D0 61 00 14 */ stfs f3, 0x14(r1) /* 80217A0C 0021496C EC 24 08 BA */ fmadds f1, f4, f2, f1 /* 80217A10 00214970 D0 A1 00 18 */ stfs f5, 0x18(r1) /* 80217A14 00214974 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 80217A18 00214978 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217A1C 0021497C 4C 41 13 82 */ cror 2, 1, 2 /* 80217A20 00214980 41 82 00 38 */ beq lbl_80217A58 /* 80217A24 00214984 C0 5E 00 58 */ lfs f2, 0x58(r30) /* 80217A28 00214988 38 61 00 08 */ addi r3, r1, 8 /* 80217A2C 0021498C C0 3E 00 48 */ lfs f1, 0x48(r30) /* 80217A30 00214990 38 81 00 14 */ addi r4, r1, 0x14 /* 80217A34 00214994 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 80217A38 00214998 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80217A3C 0021499C D0 01 00 08 */ stfs f0, 8(r1) /* 80217A40 002149A0 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80217A44 002149A4 48 0F CB ED */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80217A48 002149A8 C0 02 B3 74 */ lfs f0, lbl_805AD094@sda21(r2) /* 80217A4C 002149AC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217A50 002149B0 4C 40 13 82 */ cror 2, 0, 2 /* 80217A54 002149B4 40 82 00 68 */ bne lbl_80217ABC lbl_80217A58: /* 80217A58 002149B8 C0 21 00 14 */ lfs f1, 0x14(r1) /* 80217A5C 002149BC C0 01 00 18 */ lfs f0, 0x18(r1) /* 80217A60 002149C0 EC 41 00 72 */ fmuls f2, f1, f1 /* 80217A64 002149C4 C0 81 00 1C */ lfs f4, 0x1c(r1) /* 80217A68 002149C8 EC 20 00 32 */ fmuls f1, f0, f0 /* 80217A6C 002149CC C0 1E 03 00 */ lfs f0, 0x300(r30) /* 80217A70 002149D0 EC 64 01 32 */ fmuls f3, f4, f4 /* 80217A74 002149D4 EC 00 00 32 */ fmuls f0, f0, f0 /* 80217A78 002149D8 EC 22 08 2A */ fadds f1, f2, f1 /* 80217A7C 002149DC EC 23 08 2A */ fadds f1, f3, f1 /* 80217A80 002149E0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217A84 002149E4 4C 40 13 82 */ cror 2, 0, 2 /* 80217A88 002149E8 40 82 00 34 */ bne lbl_80217ABC /* 80217A8C 002149EC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80217A90 002149F0 C0 3E 03 04 */ lfs f1, 0x304(r30) /* 80217A94 002149F4 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 80217A98 002149F8 41 82 00 14 */ beq lbl_80217AAC /* 80217A9C 002149FC FC 00 22 10 */ fabs f0, f4 /* 80217AA0 00214A00 FC 00 00 18 */ frsp f0, f0 /* 80217AA4 00214A04 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80217AA8 00214A08 40 80 00 14 */ bge lbl_80217ABC lbl_80217AAC: /* 80217AAC 00214A0C 7F C3 F3 78 */ mr r3, r30 /* 80217AB0 00214A10 7F E4 FB 78 */ mr r4, r31 /* 80217AB4 00214A14 4B FF E4 F5 */ bl LineOfSightTest__16CScriptGunTurretCFR13CStateManager /* 80217AB8 00214A18 48 00 00 08 */ b lbl_80217AC0 lbl_80217ABC: /* 80217ABC 00214A1C 38 60 00 00 */ li r3, 0 lbl_80217AC0: /* 80217AC0 00214A20 80 01 00 34 */ lwz r0, 0x34(r1) /* 80217AC4 00214A24 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80217AC8 00214A28 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80217ACC 00214A2C 7C 08 03 A6 */ mtlr r0 /* 80217AD0 00214A30 38 21 00 30 */ addi r1, r1, 0x30 /* 80217AD4 00214A34 4E 80 00 20 */ blr .global IsPlayerInFiringRange__16CScriptGunTurretCFR13CStateManager IsPlayerInFiringRange__16CScriptGunTurretCFR13CStateManager: /* 80217AD8 00214A38 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80217ADC 00214A3C 7C 08 02 A6 */ mflr r0 /* 80217AE0 00214A40 90 01 00 44 */ stw r0, 0x44(r1) /* 80217AE4 00214A44 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80217AE8 00214A48 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80217AEC 00214A4C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80217AF0 00214A50 80 84 08 4C */ lwz r4, 0x84c(r4) /* 80217AF4 00214A54 7C 7F 1B 78 */ mr r31, r3 /* 80217AF8 00214A58 C0 43 00 50 */ lfs f2, 0x50(r3) /* 80217AFC 00214A5C 38 61 00 08 */ addi r3, r1, 8 /* 80217B00 00214A60 C0 64 00 50 */ lfs f3, 0x50(r4) /* 80217B04 00214A64 C0 24 00 40 */ lfs f1, 0x40(r4) /* 80217B08 00214A68 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80217B0C 00214A6C EC 43 10 28 */ fsubs f2, f3, f2 /* 80217B10 00214A70 C0 64 00 60 */ lfs f3, 0x60(r4) /* 80217B14 00214A74 EC 21 00 28 */ fsubs f1, f1, f0 /* 80217B18 00214A78 C0 1F 00 60 */ lfs f0, 0x60(r31) /* 80217B1C 00214A7C D0 41 00 20 */ stfs f2, 0x20(r1) /* 80217B20 00214A80 EC 03 00 28 */ fsubs f0, f3, f0 /* 80217B24 00214A84 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 80217B28 00214A88 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80217B2C 00214A8C 48 0F C6 D5 */ bl __ct__9CVector2fFff /* 80217B30 00214A90 C0 3F 05 54 */ lfs f1, 0x554(r31) /* 80217B34 00214A94 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80217B38 00214A98 C0 62 B3 5C */ lfs f3, lbl_805AD07C@sda21(r2) /* 80217B3C 00214A9C EC 01 00 32 */ fmuls f0, f1, f0 /* 80217B40 00214AA0 C0 5F 05 50 */ lfs f2, 0x550(r31) /* 80217B44 00214AA4 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 80217B48 00214AA8 C0 A1 00 08 */ lfs f5, 8(r1) /* 80217B4C 00214AAC EC 02 00 7A */ fmadds f0, f2, f1, f0 /* 80217B50 00214AB0 C0 5F 05 58 */ lfs f2, 0x558(r31) /* 80217B54 00214AB4 C0 21 00 24 */ lfs f1, 0x24(r1) /* 80217B58 00214AB8 C0 81 00 0C */ lfs f4, 0xc(r1) /* 80217B5C 00214ABC EC 02 00 7A */ fmadds f0, f2, f1, f0 /* 80217B60 00214AC0 D0 A1 00 10 */ stfs f5, 0x10(r1) /* 80217B64 00214AC4 D0 81 00 14 */ stfs f4, 0x14(r1) /* 80217B68 00214AC8 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 80217B6C 00214ACC D0 61 00 18 */ stfs f3, 0x18(r1) /* 80217B70 00214AD0 4C 41 13 82 */ cror 2, 1, 2 /* 80217B74 00214AD4 40 82 00 28 */ bne lbl_80217B9C /* 80217B78 00214AD8 C3 FF 02 F4 */ lfs f31, 0x2f4(r31) /* 80217B7C 00214ADC 38 7F 05 44 */ addi r3, r31, 0x544 /* 80217B80 00214AE0 38 81 00 10 */ addi r4, r1, 0x10 /* 80217B84 00214AE4 48 0F CA AD */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80217B88 00214AE8 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 80217B8C 00214AEC 4C 40 13 82 */ cror 2, 0, 2 /* 80217B90 00214AF0 7C 00 00 26 */ mfcr r0 /* 80217B94 00214AF4 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f /* 80217B98 00214AF8 48 00 00 24 */ b lbl_80217BBC lbl_80217B9C: /* 80217B9C 00214AFC C3 FF 02 F0 */ lfs f31, 0x2f0(r31) /* 80217BA0 00214B00 38 7F 05 44 */ addi r3, r31, 0x544 /* 80217BA4 00214B04 38 81 00 10 */ addi r4, r1, 0x10 /* 80217BA8 00214B08 48 0F CA 89 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80217BAC 00214B0C FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 80217BB0 00214B10 4C 40 13 82 */ cror 2, 0, 2 /* 80217BB4 00214B14 7C 00 00 26 */ mfcr r0 /* 80217BB8 00214B18 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f lbl_80217BBC: /* 80217BBC 00214B1C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80217BC0 00214B20 41 82 00 48 */ beq lbl_80217C08 /* 80217BC4 00214B24 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 80217BC8 00214B28 38 81 00 1C */ addi r4, r1, 0x1c /* 80217BCC 00214B2C 38 63 66 F4 */ addi r3, r3, sUpVector__9CVector3f@l /* 80217BD0 00214B30 48 0F CA 61 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80217BD4 00214B34 C0 42 B3 84 */ lfs f2, lbl_805AD0A4@sda21(r2) /* 80217BD8 00214B38 38 00 00 00 */ li r0, 0 /* 80217BDC 00214B3C C0 02 B3 88 */ lfs f0, lbl_805AD0A8@sda21(r2) /* 80217BE0 00214B40 EC 21 10 28 */ fsubs f1, f1, f2 /* 80217BE4 00214B44 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217BE8 00214B48 4C 41 13 82 */ cror 2, 1, 2 /* 80217BEC 00214B4C 40 82 00 18 */ bne lbl_80217C04 /* 80217BF0 00214B50 C0 1F 02 F8 */ lfs f0, 0x2f8(r31) /* 80217BF4 00214B54 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217BF8 00214B58 4C 40 13 82 */ cror 2, 0, 2 /* 80217BFC 00214B5C 40 82 00 08 */ bne lbl_80217C04 /* 80217C00 00214B60 38 00 00 01 */ li r0, 1 lbl_80217C04: /* 80217C04 00214B64 7C 03 03 78 */ mr r3, r0 lbl_80217C08: /* 80217C08 00214B68 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80217C0C 00214B6C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80217C10 00214B70 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80217C14 00214B74 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80217C18 00214B78 7C 08 03 A6 */ mtlr r0 /* 80217C1C 00214B7C 38 21 00 40 */ addi r1, r1, 0x40 /* 80217C20 00214B80 4E 80 00 20 */ blr .global IsInsignificantRotation__16CScriptGunTurretCFf IsInsignificantRotation__16CScriptGunTurretCFf: /* 80217C24 00214B84 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80217C28 00214B88 7C 08 02 A6 */ mflr r0 /* 80217C2C 00214B8C 90 01 00 54 */ stw r0, 0x54(r1) /* 80217C30 00214B90 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80217C34 00214B94 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80217C38 00214B98 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80217C3C 00214B9C 7C 7F 1B 78 */ mr r31, r3 /* 80217C40 00214BA0 C0 43 00 48 */ lfs f2, 0x48(r3) /* 80217C44 00214BA4 FF E0 08 90 */ fmr f31, f1 /* 80217C48 00214BA8 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 80217C4C 00214BAC C0 1F 00 58 */ lfs f0, 0x58(r31) /* 80217C50 00214BB0 38 61 00 10 */ addi r3, r1, 0x10 /* 80217C54 00214BB4 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80217C58 00214BB8 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80217C5C 00214BBC D0 01 00 30 */ stfs f0, 0x30(r1) /* 80217C60 00214BC0 48 0F C5 A1 */ bl __ct__9CVector2fFff /* 80217C64 00214BC4 C0 21 00 10 */ lfs f1, 0x10(r1) /* 80217C68 00214BC8 38 61 00 08 */ addi r3, r1, 8 /* 80217C6C 00214BCC C0 01 00 14 */ lfs f0, 0x14(r1) /* 80217C70 00214BD0 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80217C74 00214BD4 C0 3F 05 14 */ lfs f1, 0x514(r31) /* 80217C78 00214BD8 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80217C7C 00214BDC C0 5F 05 18 */ lfs f2, 0x518(r31) /* 80217C80 00214BE0 48 0F C5 81 */ bl __ct__9CVector2fFff /* 80217C84 00214BE4 C0 21 00 08 */ lfs f1, 8(r1) /* 80217C88 00214BE8 38 61 00 18 */ addi r3, r1, 0x18 /* 80217C8C 00214BEC C0 01 00 0C */ lfs f0, 0xc(r1) /* 80217C90 00214BF0 38 81 00 20 */ addi r4, r1, 0x20 /* 80217C94 00214BF4 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80217C98 00214BF8 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80217C9C 00214BFC 48 0F C3 29 */ bl GetAngleDiff__9CVector2fFRC9CVector2fRC9CVector2f /* 80217CA0 00214C00 C0 02 B3 8C */ lfs f0, lbl_805AD0AC@sda21(r2) /* 80217CA4 00214C04 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80217CA8 00214C08 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217CAC 00214C0C 7C 00 00 26 */ mfcr r0 /* 80217CB0 00214C10 54 03 0F FE */ srwi r3, r0, 0x1f /* 80217CB4 00214C14 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80217CB8 00214C18 80 01 00 54 */ lwz r0, 0x54(r1) /* 80217CBC 00214C1C CB E1 00 40 */ lfd f31, 0x40(r1) /* 80217CC0 00214C20 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80217CC4 00214C24 7C 08 03 A6 */ mtlr r0 /* 80217CC8 00214C28 38 21 00 50 */ addi r1, r1, 0x50 /* 80217CCC 00214C2C 4E 80 00 20 */ blr .global UpdateHealthInfo__16CScriptGunTurretFR13CStateManager UpdateHealthInfo__16CScriptGunTurretFR13CStateManager: /* 80217CD0 00214C30 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80217CD4 00214C34 7C 08 02 A6 */ mflr r0 /* 80217CD8 00214C38 90 01 00 34 */ stw r0, 0x34(r1) /* 80217CDC 00214C3C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80217CE0 00214C40 7C 7F 1B 78 */ mr r31, r3 /* 80217CE4 00214C44 93 C1 00 28 */ stw r30, 0x28(r1) /* 80217CE8 00214C48 7C 9E 23 78 */ mr r30, r4 /* 80217CEC 00214C4C 80 03 02 58 */ lwz r0, 0x258(r3) /* 80217CF0 00214C50 2C 00 00 01 */ cmpwi r0, 1 /* 80217CF4 00214C54 41 82 00 B0 */ beq lbl_80217DA4 /* 80217CF8 00214C58 40 80 01 24 */ bge lbl_80217E1C /* 80217CFC 00214C5C 2C 00 00 00 */ cmpwi r0, 0 /* 80217D00 00214C60 40 80 00 08 */ bge lbl_80217D08 /* 80217D04 00214C64 48 00 01 18 */ b lbl_80217E1C lbl_80217D08: /* 80217D08 00214C68 A0 9F 02 5C */ lhz r4, 0x25c(r31) /* 80217D0C 00214C6C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80217D10 00214C70 7C 04 00 40 */ cmplw r4, r0 /* 80217D14 00214C74 41 82 00 80 */ beq lbl_80217D94 /* 80217D18 00214C78 A0 1F 02 5C */ lhz r0, 0x25c(r31) /* 80217D1C 00214C7C 7F C3 F3 78 */ mr r3, r30 /* 80217D20 00214C80 38 81 00 10 */ addi r4, r1, 0x10 /* 80217D24 00214C84 B0 01 00 10 */ sth r0, 0x10(r1) /* 80217D28 00214C88 4B E3 48 4D */ bl ObjectById__13CStateManagerF9TUniqueId /* 80217D2C 00214C8C 7C 64 1B 78 */ mr r4, r3 /* 80217D30 00214C90 38 61 00 18 */ addi r3, r1, 0x18 /* 80217D34 00214C94 4B E9 1A 81 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80217D38 00214C98 80 03 00 04 */ lwz r0, 4(r3) /* 80217D3C 00214C9C 28 00 00 00 */ cmplwi r0, 0 /* 80217D40 00214CA0 40 82 00 DC */ bne lbl_80217E1C /* 80217D44 00214CA4 7F E3 FB 78 */ mr r3, r31 /* 80217D48 00214CA8 7F C5 F3 78 */ mr r5, r30 /* 80217D4C 00214CAC 38 80 00 00 */ li r4, 0 /* 80217D50 00214CB0 48 00 1D C9 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80217D54 00214CB4 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80217D58 00214CB8 38 60 00 00 */ li r3, 0 /* 80217D5C 00214CBC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 80217D60 00214CC0 98 1F 05 60 */ stb r0, 0x560(r31) /* 80217D64 00214CC4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80217D68 00214CC8 B0 1F 02 5C */ sth r0, 0x25c(r31) /* 80217D6C 00214CCC 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 80217D70 00214CD0 28 00 00 00 */ cmplwi r0, 0 /* 80217D74 00214CD4 41 82 00 A8 */ beq lbl_80217E1C /* 80217D78 00214CD8 80 1F 05 0C */ lwz r0, 0x50c(r31) /* 80217D7C 00214CDC 38 61 00 14 */ addi r3, r1, 0x14 /* 80217D80 00214CE0 90 01 00 14 */ stw r0, 0x14(r1) /* 80217D84 00214CE4 48 0D 21 01 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle /* 80217D88 00214CE8 38 00 00 00 */ li r0, 0 /* 80217D8C 00214CEC 90 1F 05 0C */ stw r0, 0x50c(r31) /* 80217D90 00214CF0 48 00 00 8C */ b lbl_80217E1C lbl_80217D94: /* 80217D94 00214CF4 7F C5 F3 78 */ mr r5, r30 /* 80217D98 00214CF8 38 80 00 00 */ li r4, 0 /* 80217D9C 00214CFC 48 00 1D 7D */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80217DA0 00214D00 48 00 00 7C */ b lbl_80217E1C lbl_80217DA4: /* 80217DA4 00214D04 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80217DA8 00214D08 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80217DAC 00214D0C 40 82 00 70 */ bne lbl_80217E1C /* 80217DB0 00214D10 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80217DB4 00214D14 2C 00 00 0C */ cmpwi r0, 0xc /* 80217DB8 00214D18 41 82 00 64 */ beq lbl_80217E1C /* 80217DBC 00214D1C 81 83 00 00 */ lwz r12, 0(r3) /* 80217DC0 00214D20 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80217DC4 00214D24 7D 89 03 A6 */ mtctr r12 /* 80217DC8 00214D28 4E 80 04 21 */ bctrl /* 80217DCC 00214D2C C0 23 00 00 */ lfs f1, 0(r3) /* 80217DD0 00214D30 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80217DD4 00214D34 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80217DD8 00214D38 4C 40 13 82 */ cror 2, 0, 2 /* 80217DDC 00214D3C 40 82 00 40 */ bne lbl_80217E1C /* 80217DE0 00214D40 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80217DE4 00214D44 38 60 00 01 */ li r3, 1 /* 80217DE8 00214D48 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 80217DEC 00214D4C 7F E3 FB 78 */ mr r3, r31 /* 80217DF0 00214D50 98 1F 05 60 */ stb r0, 0x560(r31) /* 80217DF4 00214D54 7F C5 F3 78 */ mr r5, r30 /* 80217DF8 00214D58 38 80 00 0E */ li r4, 0xe /* 80217DFC 00214D5C 38 C0 FF FF */ li r6, -1 /* 80217E00 00214D60 4B E3 92 C1 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 80217E04 00214D64 A0 1F 00 08 */ lhz r0, 8(r31) /* 80217E08 00214D68 7F C3 F3 78 */ mr r3, r30 /* 80217E0C 00214D6C 38 81 00 0C */ addi r4, r1, 0xc /* 80217E10 00214D70 B0 01 00 08 */ sth r0, 8(r1) /* 80217E14 00214D74 B0 01 00 0C */ sth r0, 0xc(r1) /* 80217E18 00214D78 4B E3 44 55 */ bl FreeScriptObject__13CStateManagerF9TUniqueId lbl_80217E1C: /* 80217E1C 00214D7C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80217E20 00214D80 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80217E24 00214D84 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80217E28 00214D88 7C 08 03 A6 */ mtlr r0 /* 80217E2C 00214D8C 38 21 00 30 */ addi r1, r1, 0x30 /* 80217E30 00214D90 4E 80 00 20 */ blr .global UpdateExtensionModelState__16CScriptGunTurretFf UpdateExtensionModelState__16CScriptGunTurretFf: /* 80217E34 00214D94 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80217E38 00214D98 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha /* 80217E3C 00214D9C 88 04 04 F0 */ lbz r0, 0x4f0(r4) /* 80217E40 00214DA0 C4 85 66 A0 */ lfsu f4, sZeroVector__9CVector3f@l(r5) /* 80217E44 00214DA4 28 00 00 00 */ cmplwi r0, 0 /* 80217E48 00214DA8 C0 45 00 04 */ lfs f2, 4(r5) /* 80217E4C 00214DAC C0 05 00 08 */ lfs f0, 8(r5) /* 80217E50 00214DB0 41 82 00 F8 */ beq lbl_80217F48 /* 80217E54 00214DB4 C0 02 B3 90 */ lfs f0, lbl_805AD0B0@sda21(r2) /* 80217E58 00214DB8 80 04 05 20 */ lwz r0, 0x520(r4) /* 80217E5C 00214DBC EC 40 00 72 */ fmuls f2, f0, f1 /* 80217E60 00214DC0 2C 00 00 06 */ cmpwi r0, 6 /* 80217E64 00214DC4 41 82 00 84 */ beq lbl_80217EE8 /* 80217E68 00214DC8 40 80 00 18 */ bge lbl_80217E80 /* 80217E6C 00214DCC 2C 00 00 05 */ cmpwi r0, 5 /* 80217E70 00214DD0 40 80 00 4C */ bge lbl_80217EBC /* 80217E74 00214DD4 2C 00 00 03 */ cmpwi r0, 3 /* 80217E78 00214DD8 40 80 00 70 */ bge lbl_80217EE8 /* 80217E7C 00214DDC 48 00 00 40 */ b lbl_80217EBC lbl_80217E80: /* 80217E80 00214DE0 2C 00 00 0C */ cmpwi r0, 0xc /* 80217E84 00214DE4 41 82 00 64 */ beq lbl_80217EE8 /* 80217E88 00214DE8 40 80 00 34 */ bge lbl_80217EBC /* 80217E8C 00214DEC C0 24 04 F8 */ lfs f1, 0x4f8(r4) /* 80217E90 00214DF0 C0 02 B3 4C */ lfs f0, lbl_805AD06C@sda21(r2) /* 80217E94 00214DF4 EC 21 10 2A */ fadds f1, f1, f2 /* 80217E98 00214DF8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80217E9C 00214DFC D0 21 00 0C */ stfs f1, 0xc(r1) /* 80217EA0 00214E00 40 80 00 0C */ bge lbl_80217EAC /* 80217EA4 00214E04 38 A2 B3 4C */ addi r5, r2, lbl_805AD06C@sda21 /* 80217EA8 00214E08 48 00 00 08 */ b lbl_80217EB0 lbl_80217EAC: /* 80217EAC 00214E0C 38 A1 00 0C */ addi r5, r1, 0xc lbl_80217EB0: /* 80217EB0 00214E10 C0 05 00 00 */ lfs f0, 0(r5) /* 80217EB4 00214E14 D0 04 04 F8 */ stfs f0, 0x4f8(r4) /* 80217EB8 00214E18 48 00 00 30 */ b lbl_80217EE8 lbl_80217EBC: /* 80217EBC 00214E1C C0 24 04 F8 */ lfs f1, 0x4f8(r4) /* 80217EC0 00214E20 C0 0D 94 F4 */ lfs f0, lbl_805A80B4@sda21(r13) /* 80217EC4 00214E24 EC 21 10 28 */ fsubs f1, f1, f2 /* 80217EC8 00214E28 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80217ECC 00214E2C D0 21 00 08 */ stfs f1, 8(r1) /* 80217ED0 00214E30 40 80 00 0C */ bge lbl_80217EDC /* 80217ED4 00214E34 38 A1 00 08 */ addi r5, r1, 8 /* 80217ED8 00214E38 48 00 00 08 */ b lbl_80217EE0 lbl_80217EDC: /* 80217EDC 00214E3C 38 AD 94 F4 */ addi r5, r13, lbl_805A80B4@sda21 lbl_80217EE0: /* 80217EE0 00214E40 C0 05 00 00 */ lfs f0, 0(r5) /* 80217EE4 00214E44 D0 04 04 F8 */ stfs f0, 0x4f8(r4) lbl_80217EE8: /* 80217EE8 00214E48 3C A0 80 5A */ lis r5, sDownVector__9CVector3f@ha /* 80217EEC 00214E4C C4 45 67 00 */ lfsu f2, sDownVector__9CVector3f@l(r5) /* 80217EF0 00214E50 C0 64 04 F8 */ lfs f3, 0x4f8(r4) /* 80217EF4 00214E54 C0 25 00 04 */ lfs f1, 4(r5) /* 80217EF8 00214E58 C0 05 00 08 */ lfs f0, 8(r5) /* 80217EFC 00214E5C EC 43 00 B2 */ fmuls f2, f3, f2 /* 80217F00 00214E60 EC 23 00 72 */ fmuls f1, f3, f1 /* 80217F04 00214E64 C0 C4 03 60 */ lfs f6, 0x360(r4) /* 80217F08 00214E68 EC 03 00 32 */ fmuls f0, f3, f0 /* 80217F0C 00214E6C C0 A4 04 FC */ lfs f5, 0x4fc(r4) /* 80217F10 00214E70 EC 86 00 B2 */ fmuls f4, f6, f2 /* 80217F14 00214E74 EC 46 00 72 */ fmuls f2, f6, f1 /* 80217F18 00214E78 C0 64 05 00 */ lfs f3, 0x500(r4) /* 80217F1C 00214E7C EC 06 00 32 */ fmuls f0, f6, f0 /* 80217F20 00214E80 C0 24 05 04 */ lfs f1, 0x504(r4) /* 80217F24 00214E84 EC A5 20 2A */ fadds f5, f5, f4 /* 80217F28 00214E88 EC 63 10 2A */ fadds f3, f3, f2 /* 80217F2C 00214E8C EC 21 00 2A */ fadds f1, f1, f0 /* 80217F30 00214E90 C0 84 00 40 */ lfs f4, 0x40(r4) /* 80217F34 00214E94 C0 44 00 50 */ lfs f2, 0x50(r4) /* 80217F38 00214E98 C0 04 00 60 */ lfs f0, 0x60(r4) /* 80217F3C 00214E9C EC 85 20 28 */ fsubs f4, f5, f4 /* 80217F40 00214EA0 EC 43 10 28 */ fsubs f2, f3, f2 /* 80217F44 00214EA4 EC 01 00 28 */ fsubs f0, f1, f0 lbl_80217F48: /* 80217F48 00214EA8 D0 83 00 00 */ stfs f4, 0(r3) /* 80217F4C 00214EAC D0 43 00 04 */ stfs f2, 4(r3) /* 80217F50 00214EB0 D0 03 00 08 */ stfs f0, 8(r3) /* 80217F54 00214EB4 38 21 00 10 */ addi r1, r1, 0x10 /* 80217F58 00214EB8 4E 80 00 20 */ blr .global UpdateGunOrientation__16CScriptGunTurretFfR13CStateManager UpdateGunOrientation__16CScriptGunTurretFfR13CStateManager: /* 80217F5C 00214EBC 94 21 FB D0 */ stwu r1, -0x430(r1) /* 80217F60 00214EC0 7C 08 02 A6 */ mflr r0 /* 80217F64 00214EC4 90 01 04 34 */ stw r0, 0x434(r1) /* 80217F68 00214EC8 DB E1 04 20 */ stfd f31, 0x420(r1) /* 80217F6C 00214ECC F3 E1 04 28 */ psq_st f31, 1064(r1), 0, qr0 /* 80217F70 00214ED0 DB C1 04 10 */ stfd f30, 0x410(r1) /* 80217F74 00214ED4 F3 C1 04 18 */ psq_st f30, 1048(r1), 0, qr0 /* 80217F78 00214ED8 DB A1 04 00 */ stfd f29, 0x400(r1) /* 80217F7C 00214EDC F3 A1 04 08 */ psq_st f29, 1032(r1), 0, qr0 /* 80217F80 00214EE0 DB 81 03 F0 */ stfd f28, 0x3f0(r1) /* 80217F84 00214EE4 F3 81 03 F8 */ psq_st f28, 1016(r1), 0, qr0 /* 80217F88 00214EE8 93 E1 03 EC */ stw r31, 0x3ec(r1) /* 80217F8C 00214EEC 93 C1 03 E8 */ stw r30, 0x3e8(r1) /* 80217F90 00214EF0 93 A1 03 E4 */ stw r29, 0x3e4(r1) /* 80217F94 00214EF4 7C 7E 1B 78 */ mr r30, r3 /* 80217F98 00214EF8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80217F9C 00214EFC A0 63 02 5C */ lhz r3, 0x25c(r3) /* 80217FA0 00214F00 FF A0 08 90 */ fmr f29, f1 /* 80217FA4 00214F04 7C 9D 23 78 */ mr r29, r4 /* 80217FA8 00214F08 7C 03 00 40 */ cmplw r3, r0 /* 80217FAC 00214F0C 41 82 08 48 */ beq lbl_802187F4 /* 80217FB0 00214F10 A0 1E 02 5C */ lhz r0, 0x25c(r30) /* 80217FB4 00214F14 7F A3 EB 78 */ mr r3, r29 /* 80217FB8 00214F18 38 81 00 08 */ addi r4, r1, 8 /* 80217FBC 00214F1C B0 01 00 08 */ sth r0, 8(r1) /* 80217FC0 00214F20 4B E3 45 B5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80217FC4 00214F24 7C 64 1B 78 */ mr r4, r3 /* 80217FC8 00214F28 38 61 00 40 */ addi r3, r1, 0x40 /* 80217FCC 00214F2C 4B E9 17 E9 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80217FD0 00214F30 83 E3 00 04 */ lwz r31, 4(r3) /* 80217FD4 00214F34 28 1F 00 00 */ cmplwi r31, 0 /* 80217FD8 00214F38 41 82 08 1C */ beq lbl_802187F4 /* 80217FDC 00214F3C 80 82 B3 50 */ lwz r4, lbl_805AD070@sda21(r2) /* 80217FE0 00214F40 38 61 01 90 */ addi r3, r1, 0x190 /* 80217FE4 00214F44 4B DE CC D5 */ bl string_l__4rstlFPCc /* 80217FE8 00214F48 7F C4 F3 78 */ mr r4, r30 /* 80217FEC 00214F4C 38 61 03 1C */ addi r3, r1, 0x31c /* 80217FF0 00214F50 38 A1 01 90 */ addi r5, r1, 0x190 /* 80217FF4 00214F54 4B E3 AF 0D */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80217FF8 00214F58 38 61 03 4C */ addi r3, r1, 0x34c /* 80217FFC 00214F5C 38 9E 00 34 */ addi r4, r30, 0x34 /* 80218000 00214F60 38 A1 03 1C */ addi r5, r1, 0x31c /* 80218004 00214F64 48 0F A9 4D */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80218008 00214F68 38 61 03 AC */ addi r3, r1, 0x3ac /* 8021800C 00214F6C 38 81 03 4C */ addi r4, r1, 0x34c /* 80218010 00214F70 48 0F AB 65 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80218014 00214F74 38 61 01 90 */ addi r3, r1, 0x190 /* 80218018 00214F78 48 12 5A C9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8021801C 00214F7C 80 1E 05 20 */ lwz r0, 0x520(r30) /* 80218020 00214F80 2C 00 00 0B */ cmpwi r0, 0xb /* 80218024 00214F84 41 82 03 04 */ beq lbl_80218328 /* 80218028 00214F88 40 80 00 10 */ bge lbl_80218038 /* 8021802C 00214F8C 2C 00 00 09 */ cmpwi r0, 9 /* 80218030 00214F90 40 80 00 14 */ bge lbl_80218044 /* 80218034 00214F94 48 00 07 8C */ b lbl_802187C0 lbl_80218038: /* 80218038 00214F98 2C 00 00 0D */ cmpwi r0, 0xd /* 8021803C 00214F9C 40 80 07 84 */ bge lbl_802187C0 /* 80218040 00214FA0 48 00 04 4C */ b lbl_8021848C lbl_80218044: /* 80218044 00214FA4 C0 01 03 B0 */ lfs f0, 0x3b0(r1) /* 80218048 00214FA8 C0 61 03 D8 */ lfs f3, 0x3d8(r1) /* 8021804C 00214FAC EC 00 00 32 */ fmuls f0, f0, f0 /* 80218050 00214FB0 C0 81 03 C0 */ lfs f4, 0x3c0(r1) /* 80218054 00214FB4 C0 41 03 B8 */ lfs f2, 0x3b8(r1) /* 80218058 00214FB8 C0 21 03 C8 */ lfs f1, 0x3c8(r1) /* 8021805C 00214FBC EC 84 01 3A */ fmadds f4, f4, f4, f0 /* 80218060 00214FC0 C8 02 B3 98 */ lfd f0, lbl_805AD0B8@sda21(r2) /* 80218064 00214FC4 D0 41 02 38 */ stfs f2, 0x238(r1) /* 80218068 00214FC8 C3 C2 B3 5C */ lfs f30, lbl_805AD07C@sda21(r2) /* 8021806C 00214FCC FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80218070 00214FD0 D0 21 02 3C */ stfs f1, 0x23c(r1) /* 80218074 00214FD4 D0 61 02 40 */ stfs f3, 0x240(r1) /* 80218078 00214FD8 40 81 00 58 */ ble lbl_802180D0 /* 8021807C 00214FDC FC 20 20 34 */ frsqrte f1, f4 /* 80218080 00214FE0 C8 62 B3 A0 */ lfd f3, lbl_805AD0C0@sda21(r2) /* 80218084 00214FE4 C8 42 B3 A8 */ lfd f2, lbl_805AD0C8@sda21(r2) /* 80218088 00214FE8 FC 01 00 72 */ fmul f0, f1, f1 /* 8021808C 00214FEC FC 23 00 72 */ fmul f1, f3, f1 /* 80218090 00214FF0 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 80218094 00214FF4 FC 21 00 32 */ fmul f1, f1, f0 /* 80218098 00214FF8 FC 01 00 72 */ fmul f0, f1, f1 /* 8021809C 00214FFC FC 23 00 72 */ fmul f1, f3, f1 /* 802180A0 00215000 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802180A4 00215004 FC 21 00 32 */ fmul f1, f1, f0 /* 802180A8 00215008 FC 01 00 72 */ fmul f0, f1, f1 /* 802180AC 0021500C FC 23 00 72 */ fmul f1, f3, f1 /* 802180B0 00215010 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802180B4 00215014 FC 21 00 32 */ fmul f1, f1, f0 /* 802180B8 00215018 FC 01 00 72 */ fmul f0, f1, f1 /* 802180BC 0021501C FC 23 00 72 */ fmul f1, f3, f1 /* 802180C0 00215020 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802180C4 00215024 FC 01 00 32 */ fmul f0, f1, f0 /* 802180C8 00215028 FC 04 00 32 */ fmul f0, f4, f0 /* 802180CC 0021502C 48 00 00 2C */ b lbl_802180F8 lbl_802180D0: /* 802180D0 00215030 FC 00 20 00 */ fcmpu cr0, f0, f4 /* 802180D4 00215034 40 82 00 08 */ bne lbl_802180DC /* 802180D8 00215038 48 00 00 20 */ b lbl_802180F8 lbl_802180DC: /* 802180DC 0021503C FC 04 00 00 */ fcmpu cr0, f4, f0 /* 802180E0 00215040 41 82 00 10 */ beq lbl_802180F0 /* 802180E4 00215044 3C 60 80 5B */ lis r3, __float_nan@ha /* 802180E8 00215048 C0 03 8B A0 */ lfs f0, __float_nan@l(r3) /* 802180EC 0021504C 48 00 00 0C */ b lbl_802180F8 lbl_802180F0: /* 802180F0 00215050 3C 60 80 5B */ lis r3, __float_huge@ha /* 802180F4 00215054 C0 03 8B A4 */ lfs f0, __float_huge@l(r3) lbl_802180F8: /* 802180F8 00215058 FC 20 00 18 */ frsp f1, f0 /* 802180FC 0021505C C0 02 B3 B0 */ lfs f0, lbl_805AD0D0@sda21(r2) /* 80218100 00215060 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218104 00215064 40 81 00 18 */ ble lbl_8021811C /* 80218108 00215068 C0 21 03 B0 */ lfs f1, 0x3b0(r1) /* 8021810C 0021506C C0 41 03 C0 */ lfs f2, 0x3c0(r1) /* 80218110 00215070 48 17 CB 5D */ bl atan2 /* 80218114 00215074 FC 00 08 50 */ fneg f0, f1 /* 80218118 00215078 FF C0 00 18 */ frsp f30, f0 lbl_8021811C: /* 8021811C 0021507C 7F E3 FB 78 */ mr r3, r31 /* 80218120 00215080 4B E3 C3 39 */ bl GetPitch__6CActorCFv /* 80218124 00215084 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218128 00215088 FF E0 08 90 */ fmr f31, f1 /* 8021812C 0021508C 7F E3 FB 78 */ mr r3, r31 /* 80218130 00215090 7F A4 EB 78 */ mr r4, r29 /* 80218134 00215094 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 80218138 00215098 4B FF D7 69 */ bl PlayerInsideTurretSphere__16CScriptGunTurretFR13CStateManager /* 8021813C 0021509C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80218140 002150A0 40 82 01 1C */ bne lbl_8021825C /* 80218144 002150A4 C0 3E 04 08 */ lfs f1, 0x408(r30) /* 80218148 002150A8 38 61 02 2C */ addi r3, r1, 0x22c /* 8021814C 002150AC C0 01 02 3C */ lfs f0, 0x23c(r1) /* 80218150 002150B0 C0 7E 04 0C */ lfs f3, 0x40c(r30) /* 80218154 002150B4 C0 41 02 40 */ lfs f2, 0x240(r1) /* 80218158 002150B8 EC 81 00 28 */ fsubs f4, f1, f0 /* 8021815C 002150BC C0 3E 04 04 */ lfs f1, 0x404(r30) /* 80218160 002150C0 C0 01 02 38 */ lfs f0, 0x238(r1) /* 80218164 002150C4 EC 43 10 28 */ fsubs f2, f3, f2 /* 80218168 002150C8 D0 81 02 30 */ stfs f4, 0x230(r1) /* 8021816C 002150CC EC 01 00 28 */ fsubs f0, f1, f0 /* 80218170 002150D0 D0 41 02 34 */ stfs f2, 0x234(r1) /* 80218174 002150D4 D0 01 02 2C */ stfs f0, 0x22c(r1) /* 80218178 002150D8 48 0F C5 81 */ bl CanBeNormalized__9CVector3fCFv /* 8021817C 002150DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80218180 002150E0 41 82 00 24 */ beq lbl_802181A4 /* 80218184 002150E4 3C 80 80 5A */ lis r4, sUpVector__9CVector3f@ha /* 80218188 002150E8 38 61 02 EC */ addi r3, r1, 0x2ec /* 8021818C 002150EC 38 C4 66 F4 */ addi r6, r4, sUpVector__9CVector3f@l /* 80218190 002150F0 38 BE 04 04 */ addi r5, r30, 0x404 /* 80218194 002150F4 38 81 02 38 */ addi r4, r1, 0x238 /* 80218198 002150F8 48 0F B9 79 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8021819C 002150FC 38 81 02 EC */ addi r4, r1, 0x2ec /* 802181A0 00215100 48 00 00 08 */ b lbl_802181A8 lbl_802181A4: /* 802181A4 00215104 38 9E 00 34 */ addi r4, r30, 0x34 lbl_802181A8: /* 802181A8 00215108 38 61 03 7C */ addi r3, r1, 0x37c /* 802181AC 0021510C 48 0F A9 C9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 802181B0 00215110 C0 21 03 90 */ lfs f1, 0x390(r1) /* 802181B4 00215114 C0 01 03 80 */ lfs f0, 0x380(r1) /* 802181B8 00215118 EC 21 00 72 */ fmuls f1, f1, f1 /* 802181BC 0021511C EC 00 00 32 */ fmuls f0, f0, f0 /* 802181C0 00215120 EC 21 00 2A */ fadds f1, f1, f0 /* 802181C4 00215124 48 0F D3 3D */ bl SqrtF__5CMathFf /* 802181C8 00215128 C0 01 03 A0 */ lfs f0, 0x3a0(r1) /* 802181CC 0021512C FC 40 08 90 */ fmr f2, f1 /* 802181D0 00215130 FC 20 00 50 */ fneg f1, f0 /* 802181D4 00215134 48 17 CA 99 */ bl atan2 /* 802181D8 00215138 FC 20 08 50 */ fneg f1, f1 /* 802181DC 0021513C C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802181E0 00215140 FC 60 08 18 */ frsp f3, f1 /* 802181E4 00215144 EC 23 F8 28 */ fsubs f1, f3, f31 /* 802181E8 00215148 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802181EC 0021514C 40 81 00 10 */ ble lbl_802181FC /* 802181F0 00215150 C0 1E 02 FC */ lfs f0, 0x2fc(r30) /* 802181F4 00215154 EC 5D 00 32 */ fmuls f2, f29, f0 /* 802181F8 00215158 48 00 00 10 */ b lbl_80218208 lbl_802181FC: /* 802181FC 0021515C C0 1E 02 FC */ lfs f0, 0x2fc(r30) /* 80218200 00215160 FC 00 00 50 */ fneg f0, f0 /* 80218204 00215164 EC 5D 00 32 */ fmuls f2, f29, f0 lbl_80218208: /* 80218208 00215168 FC 00 12 10 */ fabs f0, f2 /* 8021820C 0021516C FC 20 0A 10 */ fabs f1, f1 /* 80218210 00215170 FC 00 00 18 */ frsp f0, f0 /* 80218214 00215174 FC 20 08 18 */ frsp f1, f1 /* 80218218 00215178 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021821C 0021517C 4C 40 13 82 */ cror 2, 0, 2 /* 80218220 00215180 40 82 00 08 */ bne lbl_80218228 /* 80218224 00215184 48 00 00 08 */ b lbl_8021822C lbl_80218228: /* 80218228 00215188 EC 7F 10 2A */ fadds f3, f31, f2 lbl_8021822C: /* 8021822C 0021518C D0 61 00 3C */ stfs f3, 0x3c(r1) /* 80218230 00215190 C0 1E 02 F8 */ lfs f0, 0x2f8(r30) /* 80218234 00215194 FC 20 00 50 */ fneg f1, f0 /* 80218238 00215198 FC 00 08 18 */ frsp f0, f1 /* 8021823C 0021519C D0 21 00 34 */ stfs f1, 0x34(r1) /* 80218240 002151A0 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80218244 002151A4 40 80 00 0C */ bge lbl_80218250 /* 80218248 002151A8 38 61 00 34 */ addi r3, r1, 0x34 /* 8021824C 002151AC 48 00 00 08 */ b lbl_80218254 lbl_80218250: /* 80218250 002151B0 38 61 00 3C */ addi r3, r1, 0x3c lbl_80218254: /* 80218254 002151B4 C0 03 00 00 */ lfs f0, 0(r3) /* 80218258 002151B8 D0 01 00 3C */ stfs f0, 0x3c(r1) lbl_8021825C: /* 8021825C 002151BC C0 21 00 3C */ lfs f1, 0x3c(r1) /* 80218260 002151C0 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80218264 002151C4 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218268 002151C8 38 81 00 30 */ addi r4, r1, 0x30 /* 8021826C 002151CC D3 C1 00 28 */ stfs f30, 0x28(r1) /* 80218270 002151D0 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80218274 002151D4 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80218278 002151D8 48 0F 8E B9 */ bl YRotation__11CQuaternionFRC9CRelAngle /* 8021827C 002151DC 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80218280 002151E0 38 81 00 2C */ addi r4, r1, 0x2c /* 80218284 002151E4 48 0F 8E E5 */ bl XRotation__11CQuaternionFRC9CRelAngle /* 80218288 002151E8 38 61 00 98 */ addi r3, r1, 0x98 /* 8021828C 002151EC 38 81 00 28 */ addi r4, r1, 0x28 /* 80218290 002151F0 48 0F 8E 69 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 80218294 002151F4 38 61 00 88 */ addi r3, r1, 0x88 /* 80218298 002151F8 38 81 00 98 */ addi r4, r1, 0x98 /* 8021829C 002151FC 38 A1 00 A8 */ addi r5, r1, 0xa8 /* 802182A0 00215200 48 0F 8F 01 */ bl __ml__11CQuaternionCFRC11CQuaternion /* 802182A4 00215204 38 61 01 80 */ addi r3, r1, 0x180 /* 802182A8 00215208 38 81 00 88 */ addi r4, r1, 0x88 /* 802182AC 0021520C 38 A1 00 B8 */ addi r5, r1, 0xb8 /* 802182B0 00215210 48 0F 8E F1 */ bl __ml__11CQuaternionCFRC11CQuaternion /* 802182B4 00215214 C0 61 01 80 */ lfs f3, 0x180(r1) /* 802182B8 00215218 38 61 02 98 */ addi r3, r1, 0x298 /* 802182BC 0021521C C0 41 01 84 */ lfs f2, 0x184(r1) /* 802182C0 00215220 38 81 02 1C */ addi r4, r1, 0x21c /* 802182C4 00215224 C0 21 01 88 */ lfs f1, 0x188(r1) /* 802182C8 00215228 C0 01 01 8C */ lfs f0, 0x18c(r1) /* 802182CC 0021522C D0 61 02 1C */ stfs f3, 0x21c(r1) /* 802182D0 00215230 D0 41 02 20 */ stfs f2, 0x220(r1) /* 802182D4 00215234 D0 21 02 24 */ stfs f1, 0x224(r1) /* 802182D8 00215238 D0 01 02 28 */ stfs f0, 0x228(r1) /* 802182DC 0021523C 48 0F 9D B1 */ bl BuildTransform__11CQuaternionCFv /* 802182E0 00215240 38 61 02 BC */ addi r3, r1, 0x2bc /* 802182E4 00215244 38 81 02 98 */ addi r4, r1, 0x298 /* 802182E8 00215248 38 A1 02 38 */ addi r5, r1, 0x238 /* 802182EC 0021524C 48 0F AF 8D */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f /* 802182F0 00215250 38 7F 00 34 */ addi r3, r31, 0x34 /* 802182F4 00215254 38 81 02 BC */ addi r4, r1, 0x2bc /* 802182F8 00215258 48 0F A8 49 */ bl __as__12CTransform4fFRC12CTransform4f /* 802182FC 0021525C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 80218300 00215260 38 60 00 01 */ li r3, 1 /* 80218304 00215264 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80218308 00215268 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 8021830C 0021526C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 80218310 00215270 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80218314 00215274 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 80218318 00215278 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 8021831C 0021527C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80218320 00215280 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 80218324 00215284 48 00 04 D0 */ b lbl_802187F4 lbl_80218328: /* 80218328 00215288 C0 1E 02 FC */ lfs f0, 0x2fc(r30) /* 8021832C 0021528C 38 61 01 70 */ addi r3, r1, 0x170 /* 80218330 00215290 C0 22 B3 70 */ lfs f1, lbl_805AD090@sda21(r2) /* 80218334 00215294 38 81 01 64 */ addi r4, r1, 0x164 /* 80218338 00215298 EC 1D 00 32 */ fmuls f0, f29, f0 /* 8021833C 0021529C C0 9E 00 58 */ lfs f4, 0x58(r30) /* 80218340 002152A0 C0 7E 00 48 */ lfs f3, 0x48(r30) /* 80218344 002152A4 38 A1 01 58 */ addi r5, r1, 0x158 /* 80218348 002152A8 C0 5E 00 38 */ lfs f2, 0x38(r30) /* 8021834C 002152AC 38 C1 00 24 */ addi r6, r1, 0x24 /* 80218350 002152B0 EF C1 00 32 */ fmuls f30, f1, f0 /* 80218354 002152B4 C0 BF 00 58 */ lfs f5, 0x58(r31) /* 80218358 002152B8 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 8021835C 002152BC C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80218360 002152C0 D3 C1 00 24 */ stfs f30, 0x24(r1) /* 80218364 002152C4 D0 41 01 58 */ stfs f2, 0x158(r1) /* 80218368 002152C8 D0 61 01 5C */ stfs f3, 0x15c(r1) /* 8021836C 002152CC D0 81 01 60 */ stfs f4, 0x160(r1) /* 80218370 002152D0 D0 01 01 64 */ stfs f0, 0x164(r1) /* 80218374 002152D4 D0 21 01 68 */ stfs f1, 0x168(r1) /* 80218378 002152D8 D0 A1 01 6C */ stfs f5, 0x16c(r1) /* 8021837C 002152DC 48 0F 93 19 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80218380 002152E0 C0 61 01 70 */ lfs f3, 0x170(r1) /* 80218384 002152E4 38 A1 02 10 */ addi r5, r1, 0x210 /* 80218388 002152E8 C0 41 01 74 */ lfs f2, 0x174(r1) /* 8021838C 002152EC 38 61 01 4C */ addi r3, r1, 0x14c /* 80218390 002152F0 C0 21 01 78 */ lfs f1, 0x178(r1) /* 80218394 002152F4 38 9F 00 34 */ addi r4, r31, 0x34 /* 80218398 002152F8 C0 01 01 7C */ lfs f0, 0x17c(r1) /* 8021839C 002152FC D0 61 02 0C */ stfs f3, 0x20c(r1) /* 802183A0 00215300 D0 41 02 10 */ stfs f2, 0x210(r1) /* 802183A4 00215304 D0 21 02 14 */ stfs f1, 0x214(r1) /* 802183A8 00215308 D0 01 02 18 */ stfs f0, 0x218(r1) /* 802183AC 0021530C 48 0F A6 79 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 802183B0 00215310 C0 81 02 0C */ lfs f4, 0x20c(r1) /* 802183B4 00215314 FC 20 E8 90 */ fmr f1, f29 /* 802183B8 00215318 C0 61 01 4C */ lfs f3, 0x14c(r1) /* 802183BC 0021531C 7F E3 FB 78 */ mr r3, r31 /* 802183C0 00215320 C0 41 01 50 */ lfs f2, 0x150(r1) /* 802183C4 00215324 38 81 01 FC */ addi r4, r1, 0x1fc /* 802183C8 00215328 C0 01 01 54 */ lfs f0, 0x154(r1) /* 802183CC 0021532C D0 81 01 FC */ stfs f4, 0x1fc(r1) /* 802183D0 00215330 D0 61 02 00 */ stfs f3, 0x200(r1) /* 802183D4 00215334 D0 41 02 04 */ stfs f2, 0x204(r1) /* 802183D8 00215338 D0 01 02 08 */ stfs f0, 0x208(r1) /* 802183DC 0021533C 4B F0 29 81 */ bl RotateInOneFrameOR__13CPhysicsActorFRC11CQuaternionf /* 802183E0 00215340 C0 7E 05 44 */ lfs f3, 0x544(r30) /* 802183E4 00215344 38 61 01 3C */ addi r3, r1, 0x13c /* 802183E8 00215348 C0 9E 05 48 */ lfs f4, 0x548(r30) /* 802183EC 0021534C 38 81 01 30 */ addi r4, r1, 0x130 /* 802183F0 00215350 C0 BE 05 4C */ lfs f5, 0x54c(r30) /* 802183F4 00215354 38 A1 01 24 */ addi r5, r1, 0x124 /* 802183F8 00215358 C0 5E 00 58 */ lfs f2, 0x58(r30) /* 802183FC 0021535C 38 C1 00 20 */ addi r6, r1, 0x20 /* 80218400 00215360 C0 3E 00 48 */ lfs f1, 0x48(r30) /* 80218404 00215364 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 80218408 00215368 D3 C1 00 20 */ stfs f30, 0x20(r1) /* 8021840C 0021536C D0 61 01 24 */ stfs f3, 0x124(r1) /* 80218410 00215370 D0 81 01 28 */ stfs f4, 0x128(r1) /* 80218414 00215374 D0 A1 01 2C */ stfs f5, 0x12c(r1) /* 80218418 00215378 D0 01 01 30 */ stfs f0, 0x130(r1) /* 8021841C 0021537C D0 21 01 34 */ stfs f1, 0x134(r1) /* 80218420 00215380 D0 41 01 38 */ stfs f2, 0x138(r1) /* 80218424 00215384 48 0F 92 71 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80218428 00215388 C0 61 01 3C */ lfs f3, 0x13c(r1) /* 8021842C 0021538C 38 A1 01 F0 */ addi r5, r1, 0x1f0 /* 80218430 00215390 C0 41 01 40 */ lfs f2, 0x140(r1) /* 80218434 00215394 38 61 01 18 */ addi r3, r1, 0x118 /* 80218438 00215398 C0 21 01 44 */ lfs f1, 0x144(r1) /* 8021843C 0021539C 38 9E 00 34 */ addi r4, r30, 0x34 /* 80218440 002153A0 C0 01 01 48 */ lfs f0, 0x148(r1) /* 80218444 002153A4 D0 61 01 EC */ stfs f3, 0x1ec(r1) /* 80218448 002153A8 D0 41 01 F0 */ stfs f2, 0x1f0(r1) /* 8021844C 002153AC D0 21 01 F4 */ stfs f1, 0x1f4(r1) /* 80218450 002153B0 D0 01 01 F8 */ stfs f0, 0x1f8(r1) /* 80218454 002153B4 48 0F A5 D1 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 80218458 002153B8 C0 81 01 EC */ lfs f4, 0x1ec(r1) /* 8021845C 002153BC FC 20 E8 90 */ fmr f1, f29 /* 80218460 002153C0 C0 61 01 18 */ lfs f3, 0x118(r1) /* 80218464 002153C4 7F C3 F3 78 */ mr r3, r30 /* 80218468 002153C8 C0 41 01 1C */ lfs f2, 0x11c(r1) /* 8021846C 002153CC 38 81 01 DC */ addi r4, r1, 0x1dc /* 80218470 002153D0 C0 01 01 20 */ lfs f0, 0x120(r1) /* 80218474 002153D4 D0 81 01 DC */ stfs f4, 0x1dc(r1) /* 80218478 002153D8 D0 61 01 E0 */ stfs f3, 0x1e0(r1) /* 8021847C 002153DC D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 80218480 002153E0 D0 01 01 E8 */ stfs f0, 0x1e8(r1) /* 80218484 002153E4 4B F0 28 D9 */ bl RotateInOneFrameOR__13CPhysicsActorFRC11CQuaternionf /* 80218488 002153E8 48 00 03 6C */ b lbl_802187F4 lbl_8021848C: /* 8021848C 002153EC C0 01 03 B0 */ lfs f0, 0x3b0(r1) /* 80218490 002153F0 C0 61 03 B8 */ lfs f3, 0x3b8(r1) /* 80218494 002153F4 EC 00 00 32 */ fmuls f0, f0, f0 /* 80218498 002153F8 C0 81 03 C0 */ lfs f4, 0x3c0(r1) /* 8021849C 002153FC C0 41 03 C8 */ lfs f2, 0x3c8(r1) /* 802184A0 00215400 C0 21 03 D8 */ lfs f1, 0x3d8(r1) /* 802184A4 00215404 EC 84 01 3A */ fmadds f4, f4, f4, f0 /* 802184A8 00215408 C8 02 B3 98 */ lfd f0, lbl_805AD0B8@sda21(r2) /* 802184AC 0021540C D0 61 01 D0 */ stfs f3, 0x1d0(r1) /* 802184B0 00215410 C3 C2 B3 5C */ lfs f30, lbl_805AD07C@sda21(r2) /* 802184B4 00215414 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 802184B8 00215418 D0 41 01 D4 */ stfs f2, 0x1d4(r1) /* 802184BC 0021541C D0 21 01 D8 */ stfs f1, 0x1d8(r1) /* 802184C0 00215420 40 81 00 58 */ ble lbl_80218518 /* 802184C4 00215424 FC 20 20 34 */ frsqrte f1, f4 /* 802184C8 00215428 C8 62 B3 A0 */ lfd f3, lbl_805AD0C0@sda21(r2) /* 802184CC 0021542C C8 42 B3 A8 */ lfd f2, lbl_805AD0C8@sda21(r2) /* 802184D0 00215430 FC 01 00 72 */ fmul f0, f1, f1 /* 802184D4 00215434 FC 23 00 72 */ fmul f1, f3, f1 /* 802184D8 00215438 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802184DC 0021543C FC 21 00 32 */ fmul f1, f1, f0 /* 802184E0 00215440 FC 01 00 72 */ fmul f0, f1, f1 /* 802184E4 00215444 FC 23 00 72 */ fmul f1, f3, f1 /* 802184E8 00215448 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802184EC 0021544C FC 21 00 32 */ fmul f1, f1, f0 /* 802184F0 00215450 FC 01 00 72 */ fmul f0, f1, f1 /* 802184F4 00215454 FC 23 00 72 */ fmul f1, f3, f1 /* 802184F8 00215458 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802184FC 0021545C FC 21 00 32 */ fmul f1, f1, f0 /* 80218500 00215460 FC 01 00 72 */ fmul f0, f1, f1 /* 80218504 00215464 FC 23 00 72 */ fmul f1, f3, f1 /* 80218508 00215468 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 8021850C 0021546C FC 01 00 32 */ fmul f0, f1, f0 /* 80218510 00215470 FC 04 00 32 */ fmul f0, f4, f0 /* 80218514 00215474 48 00 00 2C */ b lbl_80218540 lbl_80218518: /* 80218518 00215478 FC 00 20 00 */ fcmpu cr0, f0, f4 /* 8021851C 0021547C 40 82 00 08 */ bne lbl_80218524 /* 80218520 00215480 48 00 00 20 */ b lbl_80218540 lbl_80218524: /* 80218524 00215484 FC 04 00 00 */ fcmpu cr0, f4, f0 /* 80218528 00215488 41 82 00 10 */ beq lbl_80218538 /* 8021852C 0021548C 3C 60 80 5B */ lis r3, __float_nan@ha /* 80218530 00215490 C0 03 8B A0 */ lfs f0, __float_nan@l(r3) /* 80218534 00215494 48 00 00 0C */ b lbl_80218540 lbl_80218538: /* 80218538 00215498 3C 60 80 5B */ lis r3, __float_huge@ha /* 8021853C 0021549C C0 03 8B A4 */ lfs f0, __float_huge@l(r3) lbl_80218540: /* 80218540 002154A0 FC 20 00 18 */ frsp f1, f0 /* 80218544 002154A4 C0 02 B3 B0 */ lfs f0, lbl_805AD0D0@sda21(r2) /* 80218548 002154A8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021854C 002154AC 40 81 00 18 */ ble lbl_80218564 /* 80218550 002154B0 C0 21 03 B0 */ lfs f1, 0x3b0(r1) /* 80218554 002154B4 C0 41 03 C0 */ lfs f2, 0x3c0(r1) /* 80218558 002154B8 48 17 C7 15 */ bl atan2 /* 8021855C 002154BC FC 00 08 50 */ fneg f0, f1 /* 80218560 002154C0 FF C0 00 18 */ frsp f30, f0 lbl_80218564: /* 80218564 002154C4 C0 22 B3 60 */ lfs f1, lbl_805AD080@sda21(r2) /* 80218568 002154C8 C0 1E 05 24 */ lfs f0, 0x524(r30) /* 8021856C 002154CC C3 FE 02 FC */ lfs f31, 0x2fc(r30) /* 80218570 002154D0 EC 01 00 32 */ fmuls f0, f1, f0 /* 80218574 002154D4 C3 9E 02 F8 */ lfs f28, 0x2f8(r30) /* 80218578 002154D8 EC 20 07 F2 */ fmuls f1, f0, f31 /* 8021857C 002154DC 48 0F C7 C9 */ bl FastCosR__5CMathFf /* 80218580 002154E0 C0 42 B3 68 */ lfs f2, lbl_805AD088@sda21(r2) /* 80218584 002154E4 7F E3 FB 78 */ mr r3, r31 /* 80218588 002154E8 C0 02 B3 B4 */ lfs f0, lbl_805AD0D4@sda21(r2) /* 8021858C 002154EC EC 22 08 28 */ fsubs f1, f2, f1 /* 80218590 002154F0 EC 00 07 32 */ fmuls f0, f0, f28 /* 80218594 002154F4 EF 80 00 72 */ fmuls f28, f0, f1 /* 80218598 002154F8 4B E3 BE C1 */ bl GetPitch__6CActorCFv /* 8021859C 002154FC EC 5C 08 28 */ fsubs f2, f28, f1 /* 802185A0 00215500 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802185A4 00215504 EF FF 07 72 */ fmuls f31, f31, f29 /* 802185A8 00215508 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802185AC 0021550C 40 81 00 0C */ ble lbl_802185B8 /* 802185B0 00215510 FC 60 F8 90 */ fmr f3, f31 /* 802185B4 00215514 48 00 00 08 */ b lbl_802185BC lbl_802185B8: /* 802185B8 00215518 FC 60 F8 50 */ fneg f3, f31 lbl_802185BC: /* 802185BC 0021551C FC 00 1A 10 */ fabs f0, f3 /* 802185C0 00215520 FC 40 12 10 */ fabs f2, f2 /* 802185C4 00215524 FC 00 00 18 */ frsp f0, f0 /* 802185C8 00215528 FC 40 10 18 */ frsp f2, f2 /* 802185CC 0021552C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802185D0 00215530 4C 40 13 82 */ cror 2, 0, 2 /* 802185D4 00215534 40 82 00 0C */ bne lbl_802185E0 /* 802185D8 00215538 FC 40 E0 90 */ fmr f2, f28 /* 802185DC 0021553C 48 00 00 08 */ b lbl_802185E4 lbl_802185E0: /* 802185E0 00215540 EC 41 18 2A */ fadds f2, f1, f3 lbl_802185E4: /* 802185E4 00215544 D0 41 00 38 */ stfs f2, 0x38(r1) /* 802185E8 00215548 C0 1E 02 F8 */ lfs f0, 0x2f8(r30) /* 802185EC 0021554C FC 20 00 50 */ fneg f1, f0 /* 802185F0 00215550 FC 00 08 18 */ frsp f0, f1 /* 802185F4 00215554 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 802185F8 00215558 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802185FC 0021555C 40 80 00 0C */ bge lbl_80218608 /* 80218600 00215560 38 61 00 1C */ addi r3, r1, 0x1c /* 80218604 00215564 48 00 00 08 */ b lbl_8021860C lbl_80218608: /* 80218608 00215568 38 61 00 38 */ addi r3, r1, 0x38 lbl_8021860C: /* 8021860C 0021556C C0 23 00 00 */ lfs f1, 0(r3) /* 80218610 00215570 38 61 00 78 */ addi r3, r1, 0x78 /* 80218614 00215574 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218618 00215578 38 81 00 18 */ addi r4, r1, 0x18 /* 8021861C 0021557C D0 21 00 38 */ stfs f1, 0x38(r1) /* 80218620 00215580 D3 C1 00 10 */ stfs f30, 0x10(r1) /* 80218624 00215584 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80218628 00215588 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8021862C 0021558C 48 0F 8B 05 */ bl YRotation__11CQuaternionFRC9CRelAngle /* 80218630 00215590 38 61 00 68 */ addi r3, r1, 0x68 /* 80218634 00215594 38 81 00 14 */ addi r4, r1, 0x14 /* 80218638 00215598 48 0F 8B 31 */ bl XRotation__11CQuaternionFRC9CRelAngle /* 8021863C 0021559C 38 61 00 58 */ addi r3, r1, 0x58 /* 80218640 002155A0 38 81 00 10 */ addi r4, r1, 0x10 /* 80218644 002155A4 48 0F 8A B5 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 80218648 002155A8 38 61 00 48 */ addi r3, r1, 0x48 /* 8021864C 002155AC 38 81 00 58 */ addi r4, r1, 0x58 /* 80218650 002155B0 38 A1 00 68 */ addi r5, r1, 0x68 /* 80218654 002155B4 48 0F 8B 4D */ bl __ml__11CQuaternionCFRC11CQuaternion /* 80218658 002155B8 38 61 01 08 */ addi r3, r1, 0x108 /* 8021865C 002155BC 38 81 00 48 */ addi r4, r1, 0x48 /* 80218660 002155C0 38 A1 00 78 */ addi r5, r1, 0x78 /* 80218664 002155C4 48 0F 8B 3D */ bl __ml__11CQuaternionCFRC11CQuaternion /* 80218668 002155C8 C0 61 01 08 */ lfs f3, 0x108(r1) /* 8021866C 002155CC 38 61 02 44 */ addi r3, r1, 0x244 /* 80218670 002155D0 C0 41 01 0C */ lfs f2, 0x10c(r1) /* 80218674 002155D4 38 81 01 C0 */ addi r4, r1, 0x1c0 /* 80218678 002155D8 C0 21 01 10 */ lfs f1, 0x110(r1) /* 8021867C 002155DC C0 01 01 14 */ lfs f0, 0x114(r1) /* 80218680 002155E0 D0 61 01 C0 */ stfs f3, 0x1c0(r1) /* 80218684 002155E4 D0 41 01 C4 */ stfs f2, 0x1c4(r1) /* 80218688 002155E8 D0 21 01 C8 */ stfs f1, 0x1c8(r1) /* 8021868C 002155EC D0 01 01 CC */ stfs f0, 0x1cc(r1) /* 80218690 002155F0 48 0F 99 FD */ bl BuildTransform__11CQuaternionCFv /* 80218694 002155F4 38 61 02 68 */ addi r3, r1, 0x268 /* 80218698 002155F8 38 81 02 44 */ addi r4, r1, 0x244 /* 8021869C 002155FC 38 A1 01 D0 */ addi r5, r1, 0x1d0 /* 802186A0 00215600 48 0F AB D9 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f /* 802186A4 00215604 38 7F 00 34 */ addi r3, r31, 0x34 /* 802186A8 00215608 38 81 02 68 */ addi r4, r1, 0x268 /* 802186AC 0021560C 48 0F A4 95 */ bl __as__12CTransform4fFRC12CTransform4f /* 802186B0 00215610 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 802186B4 00215614 38 60 00 01 */ li r3, 1 /* 802186B8 00215618 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 802186BC 0021561C 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 802186C0 00215620 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 802186C4 00215624 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 802186C8 00215628 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 802186CC 0021562C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 802186D0 00215630 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 802186D4 00215634 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 802186D8 00215638 88 1E 05 60 */ lbz r0, 0x560(r30) /* 802186DC 0021563C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 802186E0 00215640 41 82 00 30 */ beq lbl_80218710 /* 802186E4 00215644 C0 5E 05 58 */ lfs f2, 0x558(r30) /* 802186E8 00215648 38 A1 00 FC */ addi r5, r1, 0xfc /* 802186EC 0021564C C0 3E 05 54 */ lfs f1, 0x554(r30) /* 802186F0 00215650 C0 1E 05 50 */ lfs f0, 0x550(r30) /* 802186F4 00215654 FC 40 10 50 */ fneg f2, f2 /* 802186F8 00215658 FC 20 08 50 */ fneg f1, f1 /* 802186FC 0021565C FC 00 00 50 */ fneg f0, f0 /* 80218700 00215660 D0 41 01 04 */ stfs f2, 0x104(r1) /* 80218704 00215664 D0 01 00 FC */ stfs f0, 0xfc(r1) /* 80218708 00215668 D0 21 01 00 */ stfs f1, 0x100(r1) /* 8021870C 0021566C 48 00 00 08 */ b lbl_80218714 lbl_80218710: /* 80218710 00215670 38 BE 05 50 */ addi r5, r30, 0x550 lbl_80218714: /* 80218714 00215674 C0 65 00 00 */ lfs f3, 0(r5) /* 80218718 00215678 38 61 00 EC */ addi r3, r1, 0xec /* 8021871C 0021567C C0 85 00 04 */ lfs f4, 4(r5) /* 80218720 00215680 38 81 00 E0 */ addi r4, r1, 0xe0 /* 80218724 00215684 C0 A5 00 08 */ lfs f5, 8(r5) /* 80218728 00215688 38 A1 00 D4 */ addi r5, r1, 0xd4 /* 8021872C 0021568C C0 5E 00 58 */ lfs f2, 0x58(r30) /* 80218730 00215690 38 C1 00 0C */ addi r6, r1, 0xc /* 80218734 00215694 C0 3E 00 48 */ lfs f1, 0x48(r30) /* 80218738 00215698 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 8021873C 0021569C D3 E1 00 0C */ stfs f31, 0xc(r1) /* 80218740 002156A0 D0 61 00 D4 */ stfs f3, 0xd4(r1) /* 80218744 002156A4 D0 81 00 D8 */ stfs f4, 0xd8(r1) /* 80218748 002156A8 D0 A1 00 DC */ stfs f5, 0xdc(r1) /* 8021874C 002156AC D0 01 00 E0 */ stfs f0, 0xe0(r1) /* 80218750 002156B0 D0 21 00 E4 */ stfs f1, 0xe4(r1) /* 80218754 002156B4 D0 41 00 E8 */ stfs f2, 0xe8(r1) /* 80218758 002156B8 48 0F 8F 3D */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 8021875C 002156BC C0 61 00 EC */ lfs f3, 0xec(r1) /* 80218760 002156C0 38 A1 01 B4 */ addi r5, r1, 0x1b4 /* 80218764 002156C4 C0 41 00 F0 */ lfs f2, 0xf0(r1) /* 80218768 002156C8 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8021876C 002156CC C0 21 00 F4 */ lfs f1, 0xf4(r1) /* 80218770 002156D0 38 9E 00 34 */ addi r4, r30, 0x34 /* 80218774 002156D4 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 80218778 002156D8 D0 61 01 B0 */ stfs f3, 0x1b0(r1) /* 8021877C 002156DC D0 41 01 B4 */ stfs f2, 0x1b4(r1) /* 80218780 002156E0 D0 21 01 B8 */ stfs f1, 0x1b8(r1) /* 80218784 002156E4 D0 01 01 BC */ stfs f0, 0x1bc(r1) /* 80218788 002156E8 48 0F A2 9D */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 8021878C 002156EC C0 81 01 B0 */ lfs f4, 0x1b0(r1) /* 80218790 002156F0 FC 20 E8 90 */ fmr f1, f29 /* 80218794 002156F4 C0 61 00 C8 */ lfs f3, 0xc8(r1) /* 80218798 002156F8 7F C3 F3 78 */ mr r3, r30 /* 8021879C 002156FC C0 41 00 CC */ lfs f2, 0xcc(r1) /* 802187A0 00215700 38 81 01 A0 */ addi r4, r1, 0x1a0 /* 802187A4 00215704 C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 802187A8 00215708 D0 81 01 A0 */ stfs f4, 0x1a0(r1) /* 802187AC 0021570C D0 61 01 A4 */ stfs f3, 0x1a4(r1) /* 802187B0 00215710 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 802187B4 00215714 D0 01 01 AC */ stfs f0, 0x1ac(r1) /* 802187B8 00215718 4B F0 25 A5 */ bl RotateInOneFrameOR__13CPhysicsActorFRC11CQuaternionf /* 802187BC 0021571C 48 00 00 38 */ b lbl_802187F4 lbl_802187C0: /* 802187C0 00215720 38 7F 00 34 */ addi r3, r31, 0x34 /* 802187C4 00215724 38 81 03 AC */ addi r4, r1, 0x3ac /* 802187C8 00215728 48 0F A3 79 */ bl __as__12CTransform4fFRC12CTransform4f /* 802187CC 0021572C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 802187D0 00215730 38 60 00 01 */ li r3, 1 /* 802187D4 00215734 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 802187D8 00215738 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 802187DC 0021573C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 802187E0 00215740 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 802187E4 00215744 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 802187E8 00215748 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 802187EC 0021574C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 802187F0 00215750 98 1F 00 E4 */ stb r0, 0xe4(r31) lbl_802187F4: /* 802187F4 00215754 E3 E1 04 28 */ psq_l f31, 1064(r1), 0, qr0 /* 802187F8 00215758 CB E1 04 20 */ lfd f31, 0x420(r1) /* 802187FC 0021575C E3 C1 04 18 */ psq_l f30, 1048(r1), 0, qr0 /* 80218800 00215760 CB C1 04 10 */ lfd f30, 0x410(r1) /* 80218804 00215764 E3 A1 04 08 */ psq_l f29, 1032(r1), 0, qr0 /* 80218808 00215768 CB A1 04 00 */ lfd f29, 0x400(r1) /* 8021880C 0021576C E3 81 03 F8 */ psq_l f28, 1016(r1), 0, qr0 /* 80218810 00215770 CB 81 03 F0 */ lfd f28, 0x3f0(r1) /* 80218814 00215774 83 E1 03 EC */ lwz r31, 0x3ec(r1) /* 80218818 00215778 83 C1 03 E8 */ lwz r30, 0x3e8(r1) /* 8021881C 0021577C 80 01 04 34 */ lwz r0, 0x434(r1) /* 80218820 00215780 83 A1 03 E4 */ lwz r29, 0x3e4(r1) /* 80218824 00215784 7C 08 03 A6 */ mtlr r0 /* 80218828 00215788 38 21 04 30 */ addi r1, r1, 0x430 /* 8021882C 0021578C 4E 80 00 20 */ blr .global UpdateTargettingMode__16CScriptGunTurretFfR13CStateManager UpdateTargettingMode__16CScriptGunTurretFfR13CStateManager: /* 80218830 00215790 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80218834 00215794 7C 08 02 A6 */ mflr r0 /* 80218838 00215798 90 01 00 54 */ stw r0, 0x54(r1) /* 8021883C 0021579C DB E1 00 40 */ stfd f31, 0x40(r1) /* 80218840 002157A0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80218844 002157A4 DB C1 00 30 */ stfd f30, 0x30(r1) /* 80218848 002157A8 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 8021884C 002157AC DB A1 00 20 */ stfd f29, 0x20(r1) /* 80218850 002157B0 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0 /* 80218854 002157B4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80218858 002157B8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8021885C 002157BC FF A0 08 90 */ fmr f29, f1 /* 80218860 002157C0 7C 9F 23 78 */ mr r31, r4 /* 80218864 002157C4 7C 7E 1B 78 */ mr r30, r3 /* 80218868 002157C8 80 64 08 70 */ lwz r3, 0x870(r4) /* 8021886C 002157CC 4B DF 20 95 */ bl IsInCinematicCamera__14CCameraManagerCFv /* 80218870 002157D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80218874 002157D4 41 82 00 2C */ beq lbl_802188A0 /* 80218878 002157D8 C3 FE 02 E0 */ lfs f31, 0x2e0(r30) /* 8021887C 002157DC C3 DE 02 DC */ lfs f30, 0x2dc(r30) /* 80218880 002157E0 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80218884 002157E4 48 0F 9C 59 */ bl Float__9CRandom16Fv /* 80218888 002157E8 EC 01 F7 FA */ fmadds f0, f1, f31, f30 /* 8021888C 002157EC C0 22 B3 78 */ lfs f1, lbl_805AD098@sda21(r2) /* 80218890 002157F0 D0 1E 05 34 */ stfs f0, 0x534(r30) /* 80218894 002157F4 C0 1E 05 34 */ lfs f0, 0x534(r30) /* 80218898 002157F8 EC 01 00 32 */ fmuls f0, f1, f0 /* 8021889C 002157FC D0 1E 05 38 */ stfs f0, 0x538(r30) lbl_802188A0: /* 802188A0 00215800 C0 3E 05 34 */ lfs f1, 0x534(r30) /* 802188A4 00215804 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802188A8 00215808 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802188AC 0021580C 40 81 00 7C */ ble lbl_80218928 /* 802188B0 00215810 EC 01 E8 28 */ fsubs f0, f1, f29 /* 802188B4 00215814 D0 1E 05 34 */ stfs f0, 0x534(r30) /* 802188B8 00215818 C0 3E 05 34 */ lfs f1, 0x534(r30) /* 802188BC 0021581C C0 1E 05 38 */ lfs f0, 0x538(r30) /* 802188C0 00215820 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802188C4 00215824 40 80 00 D4 */ bge lbl_80218998 /* 802188C8 00215828 80 1E 05 20 */ lwz r0, 0x520(r30) /* 802188CC 0021582C 2C 00 00 0A */ cmpwi r0, 0xa /* 802188D0 00215830 41 82 00 C8 */ beq lbl_80218998 /* 802188D4 00215834 81 5E 00 04 */ lwz r10, 4(r30) /* 802188D8 00215838 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 802188DC 0021583C C0 5E 00 60 */ lfs f2, 0x60(r30) /* 802188E0 00215840 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 802188E4 00215844 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 802188E8 00215848 38 61 00 08 */ addi r3, r1, 8 /* 802188EC 0021584C C0 1E 00 40 */ lfs f0, 0x40(r30) /* 802188F0 00215850 38 A1 00 0C */ addi r5, r1, 0xc /* 802188F4 00215854 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 802188F8 00215858 38 E0 00 00 */ li r7, 0 /* 802188FC 0021585C D0 01 00 0C */ stfs f0, 0xc(r1) /* 80218900 00215860 39 00 00 00 */ li r8, 0 /* 80218904 00215864 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80218908 00215868 D0 41 00 14 */ stfs f2, 0x14(r1) /* 8021890C 0021586C A0 9E 03 58 */ lhz r4, 0x358(r30) /* 80218910 00215870 48 0D 19 A1 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 80218914 00215874 7F C3 F3 78 */ mr r3, r30 /* 80218918 00215878 7F E5 FB 78 */ mr r5, r31 /* 8021891C 0021587C 38 80 00 0A */ li r4, 0xa /* 80218920 00215880 48 00 11 F9 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80218924 00215884 48 00 00 74 */ b lbl_80218998 lbl_80218928: /* 80218928 00215888 80 1E 05 20 */ lwz r0, 0x520(r30) /* 8021892C 0021588C 2C 00 00 09 */ cmpwi r0, 9 /* 80218930 00215890 41 82 00 14 */ beq lbl_80218944 /* 80218934 00215894 7F C3 F3 78 */ mr r3, r30 /* 80218938 00215898 7F E5 FB 78 */ mr r5, r31 /* 8021893C 0021589C 38 80 00 09 */ li r4, 9 /* 80218940 002158A0 48 00 11 D9 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState lbl_80218944: /* 80218944 002158A4 80 1E 03 BC */ lwz r0, 0x3bc(r30) /* 80218948 002158A8 28 00 00 00 */ cmplwi r0, 0 /* 8021894C 002158AC 40 82 00 3C */ bne lbl_80218988 /* 80218950 002158B0 7F C3 F3 78 */ mr r3, r30 /* 80218954 002158B4 7F E4 FB 78 */ mr r4, r31 /* 80218958 002158B8 4B FF DC 3D */ bl UpdateBurstType__16CScriptGunTurretFR13CStateManager /* 8021895C 002158BC C3 DE 02 E0 */ lfs f30, 0x2e0(r30) /* 80218960 002158C0 C3 FE 02 DC */ lfs f31, 0x2dc(r30) /* 80218964 002158C4 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80218968 002158C8 48 0F 9B 75 */ bl Float__9CRandom16Fv /* 8021896C 002158CC EC 01 FF BA */ fmadds f0, f1, f30, f31 /* 80218970 002158D0 C0 22 B3 78 */ lfs f1, lbl_805AD098@sda21(r2) /* 80218974 002158D4 D0 1E 05 34 */ stfs f0, 0x534(r30) /* 80218978 002158D8 C0 1E 05 34 */ lfs f0, 0x534(r30) /* 8021897C 002158DC EC 01 00 32 */ fmuls f0, f1, f0 /* 80218980 002158E0 D0 1E 05 38 */ stfs f0, 0x538(r30) /* 80218984 002158E4 48 00 00 14 */ b lbl_80218998 lbl_80218988: /* 80218988 002158E8 FC 20 E8 90 */ fmr f1, f29 /* 8021898C 002158EC 7F E4 FB 78 */ mr r4, r31 /* 80218990 002158F0 38 7E 03 A4 */ addi r3, r30, 0x3a4 /* 80218994 002158F4 4B F9 49 C1 */ bl Update__10CBurstFireFR13CStateManagerf lbl_80218998: /* 80218998 002158F8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 8021899C 002158FC CB E1 00 40 */ lfd f31, 0x40(r1) /* 802189A0 00215900 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 802189A4 00215904 CB C1 00 30 */ lfd f30, 0x30(r1) /* 802189A8 00215908 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0 /* 802189AC 0021590C CB A1 00 20 */ lfd f29, 0x20(r1) /* 802189B0 00215910 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802189B4 00215914 80 01 00 54 */ lwz r0, 0x54(r1) /* 802189B8 00215918 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802189BC 0021591C 7C 08 03 A6 */ mtlr r0 /* 802189C0 00215920 38 21 00 50 */ addi r1, r1, 0x50 /* 802189C4 00215924 4E 80 00 20 */ blr .global UpdateTurretAnimation__16CScriptGunTurretFv UpdateTurretAnimation__16CScriptGunTurretFv: /* 802189C8 00215928 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 802189CC 0021592C 7C 08 02 A6 */ mflr r0 /* 802189D0 00215930 90 01 00 D4 */ stw r0, 0xd4(r1) /* 802189D4 00215934 93 E1 00 CC */ stw r31, 0xcc(r1) /* 802189D8 00215938 7C 7F 1B 78 */ mr r31, r3 /* 802189DC 0021593C 38 60 00 00 */ li r3, 0 /* 802189E0 00215940 93 C1 00 C8 */ stw r30, 0xc8(r1) /* 802189E4 00215944 80 9F 00 64 */ lwz r4, 0x64(r31) /* 802189E8 00215948 28 04 00 00 */ cmplwi r4, 0 /* 802189EC 0021594C 41 82 00 14 */ beq lbl_80218A00 /* 802189F0 00215950 80 04 00 10 */ lwz r0, 0x10(r4) /* 802189F4 00215954 28 00 00 00 */ cmplwi r0, 0 /* 802189F8 00215958 41 82 00 08 */ beq lbl_80218A00 /* 802189FC 0021595C 38 60 00 01 */ li r3, 1 lbl_80218A00: /* 80218A00 00215960 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80218A04 00215964 41 82 01 98 */ beq lbl_80218B9C /* 80218A08 00215968 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80218A0C 0021596C 2C 00 00 00 */ cmpwi r0, 0 /* 80218A10 00215970 41 80 01 8C */ blt lbl_80218B9C /* 80218A14 00215974 2C 00 00 0C */ cmpwi r0, 0xc /* 80218A18 00215978 41 81 01 84 */ bgt lbl_80218B9C /* 80218A1C 0021597C 38 61 00 18 */ addi r3, r1, 0x18 /* 80218A20 00215980 48 0C A6 5D */ bl NoParameter__12CPASAnimParmFv /* 80218A24 00215984 38 61 00 20 */ addi r3, r1, 0x20 /* 80218A28 00215988 48 0C A6 55 */ bl NoParameter__12CPASAnimParmFv /* 80218A2C 0021598C 38 61 00 28 */ addi r3, r1, 0x28 /* 80218A30 00215990 48 0C A6 4D */ bl NoParameter__12CPASAnimParmFv /* 80218A34 00215994 38 61 00 30 */ addi r3, r1, 0x30 /* 80218A38 00215998 48 0C A6 45 */ bl NoParameter__12CPASAnimParmFv /* 80218A3C 0021599C 38 61 00 38 */ addi r3, r1, 0x38 /* 80218A40 002159A0 48 0C A6 3D */ bl NoParameter__12CPASAnimParmFv /* 80218A44 002159A4 38 61 00 40 */ addi r3, r1, 0x40 /* 80218A48 002159A8 48 0C A6 35 */ bl NoParameter__12CPASAnimParmFv /* 80218A4C 002159AC 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80218A50 002159B0 3C 60 80 3D */ lis r3, lbl_803D2908@ha /* 80218A54 002159B4 38 83 29 08 */ addi r4, r3, lbl_803D2908@l /* 80218A58 002159B8 38 61 00 48 */ addi r3, r1, 0x48 /* 80218A5C 002159BC 54 00 10 3A */ slwi r0, r0, 2 /* 80218A60 002159C0 7C 84 00 2E */ lwzx r4, r4, r0 /* 80218A64 002159C4 48 0C A5 21 */ bl FromEnum__12CPASAnimParmFi /* 80218A68 002159C8 38 61 00 50 */ addi r3, r1, 0x50 /* 80218A6C 002159CC 38 80 00 00 */ li r4, 0 /* 80218A70 002159D0 48 0C A5 15 */ bl FromEnum__12CPASAnimParmFi /* 80218A74 002159D4 38 61 00 20 */ addi r3, r1, 0x20 /* 80218A78 002159D8 38 01 00 18 */ addi r0, r1, 0x18 /* 80218A7C 002159DC 90 61 00 08 */ stw r3, 8(r1) /* 80218A80 002159E0 38 61 00 80 */ addi r3, r1, 0x80 /* 80218A84 002159E4 38 A1 00 50 */ addi r5, r1, 0x50 /* 80218A88 002159E8 38 C1 00 48 */ addi r6, r1, 0x48 /* 80218A8C 002159EC 90 01 00 0C */ stw r0, 0xc(r1) /* 80218A90 002159F0 38 E1 00 40 */ addi r7, r1, 0x40 /* 80218A94 002159F4 39 01 00 38 */ addi r8, r1, 0x38 /* 80218A98 002159F8 39 21 00 30 */ addi r9, r1, 0x30 /* 80218A9C 002159FC 39 41 00 28 */ addi r10, r1, 0x28 /* 80218AA0 00215A00 38 80 00 05 */ li r4, 5 /* 80218AA4 00215A04 4B E6 48 21 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80218AA8 00215A08 80 9F 00 64 */ lwz r4, 0x64(r31) /* 80218AAC 00215A0C 38 61 00 10 */ addi r3, r1, 0x10 /* 80218AB0 00215A10 38 A1 00 80 */ addi r5, r1, 0x80 /* 80218AB4 00215A14 38 C0 FF FF */ li r6, -1 /* 80218AB8 00215A18 80 84 00 10 */ lwz r4, 0x10(r4) /* 80218ABC 00215A1C 38 84 00 3C */ addi r4, r4, 0x3c /* 80218AC0 00215A20 48 0C C6 AD */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDatai /* 80218AC4 00215A24 C0 21 00 10 */ lfs f1, 0x10(r1) /* 80218AC8 00215A28 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218ACC 00215A2C 83 C1 00 14 */ lwz r30, 0x14(r1) /* 80218AD0 00215A30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218AD4 00215A34 40 81 00 6C */ ble lbl_80218B40 /* 80218AD8 00215A38 80 1F 05 40 */ lwz r0, 0x540(r31) /* 80218ADC 00215A3C 7C 1E 00 00 */ cmpw r30, r0 /* 80218AE0 00215A40 41 82 00 60 */ beq lbl_80218B40 /* 80218AE4 00215A44 C0 02 B3 68 */ lfs f0, lbl_805AD088@sda21(r2) /* 80218AE8 00215A48 38 00 00 00 */ li r0, 0 /* 80218AEC 00215A4C 38 C0 FF FF */ li r6, -1 /* 80218AF0 00215A50 38 60 00 01 */ li r3, 1 /* 80218AF4 00215A54 93 C1 00 58 */ stw r30, 0x58(r1) /* 80218AF8 00215A58 38 81 00 58 */ addi r4, r1, 0x58 /* 80218AFC 00215A5C 38 A0 00 00 */ li r5, 0 /* 80218B00 00215A60 90 C1 00 5C */ stw r6, 0x5c(r1) /* 80218B04 00215A64 D0 01 00 60 */ stfs f0, 0x60(r1) /* 80218B08 00215A68 98 61 00 64 */ stb r3, 0x64(r1) /* 80218B0C 00215A6C 90 01 00 68 */ stw r0, 0x68(r1) /* 80218B10 00215A70 90 01 00 6C */ stw r0, 0x6c(r1) /* 80218B14 00215A74 98 01 00 70 */ stb r0, 0x70(r1) /* 80218B18 00215A78 90 01 00 74 */ stw r0, 0x74(r1) /* 80218B1C 00215A7C 90 01 00 78 */ stw r0, 0x78(r1) /* 80218B20 00215A80 90 01 00 7C */ stw r0, 0x7c(r1) /* 80218B24 00215A84 80 7F 00 64 */ lwz r3, 0x64(r31) /* 80218B28 00215A88 80 63 00 10 */ lwz r3, 0x10(r3) /* 80218B2C 00215A8C 4B E1 42 51 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 80218B30 00215A90 80 7F 00 64 */ lwz r3, 0x64(r31) /* 80218B34 00215A94 38 80 00 01 */ li r4, 1 /* 80218B38 00215A98 4B EF CA 29 */ bl EnableLooping__10CModelDataFb /* 80218B3C 00215A9C 93 DF 05 40 */ stw r30, 0x540(r31) lbl_80218B40: /* 80218B40 00215AA0 34 A1 00 84 */ addic. r5, r1, 0x84 /* 80218B44 00215AA4 41 82 00 58 */ beq lbl_80218B9C /* 80218B48 00215AA8 80 C5 00 00 */ lwz r6, 0(r5) /* 80218B4C 00215AAC 38 60 00 00 */ li r3, 0 /* 80218B50 00215AB0 2C 06 00 00 */ cmpwi r6, 0 /* 80218B54 00215AB4 40 81 00 40 */ ble lbl_80218B94 /* 80218B58 00215AB8 2C 06 00 08 */ cmpwi r6, 8 /* 80218B5C 00215ABC 38 86 FF F8 */ addi r4, r6, -8 /* 80218B60 00215AC0 40 81 00 20 */ ble lbl_80218B80 /* 80218B64 00215AC4 38 04 00 07 */ addi r0, r4, 7 /* 80218B68 00215AC8 54 00 E8 FE */ srwi r0, r0, 3 /* 80218B6C 00215ACC 7C 09 03 A6 */ mtctr r0 /* 80218B70 00215AD0 2C 04 00 00 */ cmpwi r4, 0 /* 80218B74 00215AD4 40 81 00 0C */ ble lbl_80218B80 lbl_80218B78: /* 80218B78 00215AD8 38 63 00 08 */ addi r3, r3, 8 /* 80218B7C 00215ADC 42 00 FF FC */ bdnz lbl_80218B78 lbl_80218B80: /* 80218B80 00215AE0 7C 03 30 50 */ subf r0, r3, r6 /* 80218B84 00215AE4 7C 09 03 A6 */ mtctr r0 /* 80218B88 00215AE8 7C 03 30 00 */ cmpw r3, r6 /* 80218B8C 00215AEC 40 80 00 08 */ bge lbl_80218B94 lbl_80218B90: /* 80218B90 00215AF0 42 00 00 00 */ bdnz lbl_80218B90 lbl_80218B94: /* 80218B94 00215AF4 38 00 00 00 */ li r0, 0 /* 80218B98 00215AF8 90 05 00 00 */ stw r0, 0(r5) lbl_80218B9C: /* 80218B9C 00215AFC 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 80218BA0 00215B00 83 E1 00 CC */ lwz r31, 0xcc(r1) /* 80218BA4 00215B04 83 C1 00 C8 */ lwz r30, 0xc8(r1) /* 80218BA8 00215B08 7C 08 03 A6 */ mtlr r0 /* 80218BAC 00215B0C 38 21 00 D0 */ addi r1, r1, 0xd0 /* 80218BB0 00215B10 4E 80 00 20 */ blr .global ProcessFrenzyState__16CScriptGunTurretFfR13CStateManager ProcessFrenzyState__16CScriptGunTurretFfR13CStateManager: /* 80218BB4 00215B14 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80218BB8 00215B18 7C 08 02 A6 */ mflr r0 /* 80218BBC 00215B1C 90 01 00 54 */ stw r0, 0x54(r1) /* 80218BC0 00215B20 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80218BC4 00215B24 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80218BC8 00215B28 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80218BCC 00215B2C 93 C1 00 38 */ stw r30, 0x38(r1) /* 80218BD0 00215B30 FF E0 08 90 */ fmr f31, f1 /* 80218BD4 00215B34 2C 04 00 01 */ cmpwi r4, 1 /* 80218BD8 00215B38 7C 7E 1B 78 */ mr r30, r3 /* 80218BDC 00215B3C 7C BF 2B 78 */ mr r31, r5 /* 80218BE0 00215B40 41 82 00 74 */ beq lbl_80218C54 /* 80218BE4 00215B44 40 80 02 30 */ bge lbl_80218E14 /* 80218BE8 00215B48 2C 04 00 00 */ cmpwi r4, 0 /* 80218BEC 00215B4C 40 80 00 08 */ bge lbl_80218BF4 /* 80218BF0 00215B50 48 00 02 24 */ b lbl_80218E14 lbl_80218BF4: /* 80218BF4 00215B54 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80218BF8 00215B58 48 0F 98 E5 */ bl Float__9CRandom16Fv /* 80218BFC 00215B5C C0 02 B3 78 */ lfs f0, lbl_805AD098@sda21(r2) /* 80218C00 00215B60 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218C04 00215B64 7C 60 00 26 */ mfcr r3 /* 80218C08 00215B68 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80218C0C 00215B6C 50 60 0F FE */ rlwimi r0, r3, 1, 0x1f, 0x1f /* 80218C10 00215B70 C0 02 B3 B8 */ lfs f0, lbl_805AD0D8@sda21(r2) /* 80218C14 00215B74 98 1E 05 60 */ stb r0, 0x560(r30) /* 80218C18 00215B78 7F C3 F3 78 */ mr r3, r30 /* 80218C1C 00215B7C 7F E6 FB 78 */ mr r6, r31 /* 80218C20 00215B80 38 80 00 28 */ li r4, 0x28 /* 80218C24 00215B84 D0 1E 05 34 */ stfs f0, 0x534(r30) /* 80218C28 00215B88 38 A0 00 29 */ li r5, 0x29 /* 80218C2C 00215B8C 4B E3 B2 A9 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager /* 80218C30 00215B90 A0 1E 00 08 */ lhz r0, 8(r30) /* 80218C34 00215B94 7F E6 FB 78 */ mr r6, r31 /* 80218C38 00215B98 38 81 00 14 */ addi r4, r1, 0x14 /* 80218C3C 00215B9C 38 A0 00 08 */ li r5, 8 /* 80218C40 00215BA0 B0 01 00 14 */ sth r0, 0x14(r1) /* 80218C44 00215BA4 B0 01 00 10 */ sth r0, 0x10(r1) /* 80218C48 00215BA8 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 80218C4C 00215BAC 4B F6 26 09 */ bl SetOrbitRequestForTarget__7CPlayerF9TUniqueId19EPlayerOrbitRequestR13CStateManager /* 80218C50 00215BB0 48 00 01 C4 */ b lbl_80218E14 lbl_80218C54: /* 80218C54 00215BB4 C0 3E 05 24 */ lfs f1, 0x524(r30) /* 80218C58 00215BB8 C0 1E 03 70 */ lfs f0, 0x370(r30) /* 80218C5C 00215BBC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218C60 00215BC0 4C 41 13 82 */ cror 2, 1, 2 /* 80218C64 00215BC4 40 82 00 44 */ bne lbl_80218CA8 /* 80218C68 00215BC8 38 80 00 00 */ li r4, 0 /* 80218C6C 00215BCC 48 00 0E AD */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80218C70 00215BD0 A0 1E 02 5C */ lhz r0, 0x25c(r30) /* 80218C74 00215BD4 7F E3 FB 78 */ mr r3, r31 /* 80218C78 00215BD8 38 81 00 0C */ addi r4, r1, 0xc /* 80218C7C 00215BDC B0 01 00 0C */ sth r0, 0xc(r1) /* 80218C80 00215BE0 4B E3 38 F5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80218C84 00215BE4 7C 64 1B 78 */ mr r4, r3 /* 80218C88 00215BE8 38 61 00 20 */ addi r3, r1, 0x20 /* 80218C8C 00215BEC 4B E9 0B 29 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80218C90 00215BF0 80 63 00 04 */ lwz r3, 4(r3) /* 80218C94 00215BF4 28 03 00 00 */ cmplwi r3, 0 /* 80218C98 00215BF8 41 82 01 7C */ beq lbl_80218E14 /* 80218C9C 00215BFC 38 00 00 00 */ li r0, 0 /* 80218CA0 00215C00 90 03 05 20 */ stw r0, 0x520(r3) /* 80218CA4 00215C04 48 00 01 70 */ b lbl_80218E14 lbl_80218CA8: /* 80218CA8 00215C08 C0 BE 00 58 */ lfs f5, 0x58(r30) /* 80218CAC 00215C0C C0 3E 00 48 */ lfs f1, 0x48(r30) /* 80218CB0 00215C10 C0 9E 00 38 */ lfs f4, 0x38(r30) /* 80218CB4 00215C14 D0 81 00 28 */ stfs f4, 0x28(r1) /* 80218CB8 00215C18 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80218CBC 00215C1C D0 A1 00 30 */ stfs f5, 0x30(r1) /* 80218CC0 00215C20 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80218CC4 00215C24 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80218CC8 00215C28 41 82 00 58 */ beq lbl_80218D20 /* 80218CCC 00215C2C C0 1E 05 54 */ lfs f0, 0x554(r30) /* 80218CD0 00215C30 C0 5E 05 50 */ lfs f2, 0x550(r30) /* 80218CD4 00215C34 EC 20 00 72 */ fmuls f1, f0, f1 /* 80218CD8 00215C38 C0 7E 05 58 */ lfs f3, 0x558(r30) /* 80218CDC 00215C3C C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218CE0 00215C40 EC 22 09 3A */ fmadds f1, f2, f4, f1 /* 80218CE4 00215C44 EC 23 09 7A */ fmadds f1, f3, f5, f1 /* 80218CE8 00215C48 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218CEC 00215C4C 40 80 00 84 */ bge lbl_80218D70 /* 80218CF0 00215C50 38 7E 05 44 */ addi r3, r30, 0x544 /* 80218CF4 00215C54 38 81 00 28 */ addi r4, r1, 0x28 /* 80218CF8 00215C58 48 0F B9 39 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80218CFC 00215C5C C0 02 B3 BC */ lfs f0, lbl_805AD0DC@sda21(r2) /* 80218D00 00215C60 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218D04 00215C64 4C 41 13 82 */ cror 2, 1, 2 /* 80218D08 00215C68 40 82 00 68 */ bne lbl_80218D70 /* 80218D0C 00215C6C 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80218D10 00215C70 38 60 00 00 */ li r3, 0 /* 80218D14 00215C74 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 80218D18 00215C78 98 1E 05 60 */ stb r0, 0x560(r30) /* 80218D1C 00215C7C 48 00 00 54 */ b lbl_80218D70 lbl_80218D20: /* 80218D20 00215C80 C0 1E 05 54 */ lfs f0, 0x554(r30) /* 80218D24 00215C84 C0 5E 05 50 */ lfs f2, 0x550(r30) /* 80218D28 00215C88 EC 20 00 72 */ fmuls f1, f0, f1 /* 80218D2C 00215C8C C0 7E 05 58 */ lfs f3, 0x558(r30) /* 80218D30 00215C90 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218D34 00215C94 EC 22 09 3A */ fmadds f1, f2, f4, f1 /* 80218D38 00215C98 EC 23 09 7A */ fmadds f1, f3, f5, f1 /* 80218D3C 00215C9C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218D40 00215CA0 40 81 00 30 */ ble lbl_80218D70 /* 80218D44 00215CA4 38 7E 05 44 */ addi r3, r30, 0x544 /* 80218D48 00215CA8 38 81 00 28 */ addi r4, r1, 0x28 /* 80218D4C 00215CAC 48 0F B8 E5 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80218D50 00215CB0 C0 02 B3 BC */ lfs f0, lbl_805AD0DC@sda21(r2) /* 80218D54 00215CB4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218D58 00215CB8 4C 41 13 82 */ cror 2, 1, 2 /* 80218D5C 00215CBC 40 82 00 14 */ bne lbl_80218D70 /* 80218D60 00215CC0 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80218D64 00215CC4 38 60 00 01 */ li r3, 1 /* 80218D68 00215CC8 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 80218D6C 00215CCC 98 1E 05 60 */ stb r0, 0x560(r30) lbl_80218D70: /* 80218D70 00215CD0 A0 1E 02 5C */ lhz r0, 0x25c(r30) /* 80218D74 00215CD4 7F E3 FB 78 */ mr r3, r31 /* 80218D78 00215CD8 38 81 00 08 */ addi r4, r1, 8 /* 80218D7C 00215CDC B0 01 00 08 */ sth r0, 8(r1) /* 80218D80 00215CE0 4B E3 37 F5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80218D84 00215CE4 7C 64 1B 78 */ mr r4, r3 /* 80218D88 00215CE8 38 61 00 18 */ addi r3, r1, 0x18 /* 80218D8C 00215CEC 4B E9 0A 29 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80218D90 00215CF0 80 E3 00 04 */ lwz r7, 4(r3) /* 80218D94 00215CF4 28 07 00 00 */ cmplwi r7, 0 /* 80218D98 00215CF8 41 82 00 7C */ beq lbl_80218E14 /* 80218D9C 00215CFC C0 3E 05 34 */ lfs f1, 0x534(r30) /* 80218DA0 00215D00 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218DA4 00215D04 EC 21 F8 28 */ fsubs f1, f1, f31 /* 80218DA8 00215D08 D0 3E 05 34 */ stfs f1, 0x534(r30) /* 80218DAC 00215D0C C0 3E 05 34 */ lfs f1, 0x534(r30) /* 80218DB0 00215D10 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218DB4 00215D14 40 80 00 60 */ bge lbl_80218E14 /* 80218DB8 00215D18 C0 A2 B3 C0 */ lfs f5, lbl_805AD0E0@sda21(r2) /* 80218DBC 00215D1C 7F C3 F3 78 */ mr r3, r30 /* 80218DC0 00215D20 C0 07 00 38 */ lfs f0, 0x38(r7) /* 80218DC4 00215D24 7F E5 FB 78 */ mr r5, r31 /* 80218DC8 00215D28 C0 67 00 48 */ lfs f3, 0x48(r7) /* 80218DCC 00215D2C 38 80 00 0A */ li r4, 0xa /* 80218DD0 00215D30 EC 05 00 32 */ fmuls f0, f5, f0 /* 80218DD4 00215D34 C0 27 00 40 */ lfs f1, 0x40(r7) /* 80218DD8 00215D38 C0 47 00 58 */ lfs f2, 0x58(r7) /* 80218DDC 00215D3C EC 85 00 F2 */ fmuls f4, f5, f3 /* 80218DE0 00215D40 C0 C7 00 50 */ lfs f6, 0x50(r7) /* 80218DE4 00215D44 38 C0 FF FF */ li r6, -1 /* 80218DE8 00215D48 EC 01 00 2A */ fadds f0, f1, f0 /* 80218DEC 00215D4C C0 67 00 60 */ lfs f3, 0x60(r7) /* 80218DF0 00215D50 EC 25 00 B2 */ fmuls f1, f5, f2 /* 80218DF4 00215D54 EC 46 20 2A */ fadds f2, f6, f4 /* 80218DF8 00215D58 D0 1E 04 04 */ stfs f0, 0x404(r30) /* 80218DFC 00215D5C EC 03 08 2A */ fadds f0, f3, f1 /* 80218E00 00215D60 D0 5E 04 08 */ stfs f2, 0x408(r30) /* 80218E04 00215D64 D0 1E 04 0C */ stfs f0, 0x40c(r30) /* 80218E08 00215D68 4B E3 82 B9 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 80218E0C 00215D6C C0 02 B3 B8 */ lfs f0, lbl_805AD0D8@sda21(r2) /* 80218E10 00215D70 D0 1E 05 34 */ stfs f0, 0x534(r30) lbl_80218E14: /* 80218E14 00215D74 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80218E18 00215D78 80 01 00 54 */ lwz r0, 0x54(r1) /* 80218E1C 00215D7C CB E1 00 40 */ lfd f31, 0x40(r1) /* 80218E20 00215D80 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80218E24 00215D84 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80218E28 00215D88 7C 08 03 A6 */ mtlr r0 /* 80218E2C 00215D8C 38 21 00 50 */ addi r1, r1, 0x50 /* 80218E30 00215D90 4E 80 00 20 */ blr .global ProcessExitTargettingState__16CScriptGunTurretFfR13CStateManager ProcessExitTargettingState__16CScriptGunTurretFfR13CStateManager: /* 80218E34 00215D94 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 80218E38 00215D98 7C 08 02 A6 */ mflr r0 /* 80218E3C 00215D9C 2C 04 00 01 */ cmpwi r4, 1 /* 80218E40 00215DA0 90 01 00 E4 */ stw r0, 0xe4(r1) /* 80218E44 00215DA4 93 E1 00 DC */ stw r31, 0xdc(r1) /* 80218E48 00215DA8 93 C1 00 D8 */ stw r30, 0xd8(r1) /* 80218E4C 00215DAC 7C BE 2B 78 */ mr r30, r5 /* 80218E50 00215DB0 93 A1 00 D4 */ stw r29, 0xd4(r1) /* 80218E54 00215DB4 7C 7D 1B 78 */ mr r29, r3 /* 80218E58 00215DB8 41 82 00 08 */ beq lbl_80218E60 /* 80218E5C 00215DBC 48 00 00 D8 */ b lbl_80218F34 lbl_80218E60: /* 80218E60 00215DC0 A0 7D 02 5C */ lhz r3, 0x25c(r29) /* 80218E64 00215DC4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80218E68 00215DC8 7C 03 00 40 */ cmplw r3, r0 /* 80218E6C 00215DCC 41 82 00 C8 */ beq lbl_80218F34 /* 80218E70 00215DD0 A0 1D 02 5C */ lhz r0, 0x25c(r29) /* 80218E74 00215DD4 7F C3 F3 78 */ mr r3, r30 /* 80218E78 00215DD8 38 81 00 08 */ addi r4, r1, 8 /* 80218E7C 00215DDC B0 01 00 08 */ sth r0, 8(r1) /* 80218E80 00215DE0 4B E3 36 F5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80218E84 00215DE4 7C 64 1B 78 */ mr r4, r3 /* 80218E88 00215DE8 38 61 00 0C */ addi r3, r1, 0xc /* 80218E8C 00215DEC 4B E9 09 29 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80218E90 00215DF0 83 E3 00 04 */ lwz r31, 4(r3) /* 80218E94 00215DF4 28 1F 00 00 */ cmplwi r31, 0 /* 80218E98 00215DF8 41 82 00 9C */ beq lbl_80218F34 /* 80218E9C 00215DFC 80 82 B3 50 */ lwz r4, lbl_805AD070@sda21(r2) /* 80218EA0 00215E00 38 61 00 14 */ addi r3, r1, 0x14 /* 80218EA4 00215E04 4B DE BE 15 */ bl string_l__4rstlFPCc /* 80218EA8 00215E08 7F A4 EB 78 */ mr r4, r29 /* 80218EAC 00215E0C 38 61 00 3C */ addi r3, r1, 0x3c /* 80218EB0 00215E10 38 A1 00 14 */ addi r5, r1, 0x14 /* 80218EB4 00215E14 4B E3 A0 4D */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80218EB8 00215E18 38 61 00 6C */ addi r3, r1, 0x6c /* 80218EBC 00215E1C 38 9D 00 34 */ addi r4, r29, 0x34 /* 80218EC0 00215E20 38 A1 00 3C */ addi r5, r1, 0x3c /* 80218EC4 00215E24 48 0F 9A 8D */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80218EC8 00215E28 38 61 00 9C */ addi r3, r1, 0x9c /* 80218ECC 00215E2C 38 81 00 6C */ addi r4, r1, 0x6c /* 80218ED0 00215E30 48 0F 9C A5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80218ED4 00215E34 38 61 00 14 */ addi r3, r1, 0x14 /* 80218ED8 00215E38 48 12 4C 09 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80218EDC 00215E3C C0 5F 00 58 */ lfs f2, 0x58(r31) /* 80218EE0 00215E40 38 61 00 30 */ addi r3, r1, 0x30 /* 80218EE4 00215E44 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 80218EE8 00215E48 38 81 00 24 */ addi r4, r1, 0x24 /* 80218EEC 00215E4C C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80218EF0 00215E50 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80218EF4 00215E54 D0 21 00 34 */ stfs f1, 0x34(r1) /* 80218EF8 00215E58 D0 41 00 38 */ stfs f2, 0x38(r1) /* 80218EFC 00215E5C C0 1D 05 44 */ lfs f0, 0x544(r29) /* 80218F00 00215E60 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80218F04 00215E64 C0 1D 05 48 */ lfs f0, 0x548(r29) /* 80218F08 00215E68 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80218F0C 00215E6C C0 1D 05 4C */ lfs f0, 0x54c(r29) /* 80218F10 00215E70 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80218F14 00215E74 48 0F B7 1D */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80218F18 00215E78 C0 02 B3 C4 */ lfs f0, lbl_805AD0E4@sda21(r2) /* 80218F1C 00215E7C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80218F20 00215E80 40 80 00 14 */ bge lbl_80218F34 /* 80218F24 00215E84 7F A3 EB 78 */ mr r3, r29 /* 80218F28 00215E88 7F C5 F3 78 */ mr r5, r30 /* 80218F2C 00215E8C 38 80 00 06 */ li r4, 6 /* 80218F30 00215E90 48 00 0B E9 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState lbl_80218F34: /* 80218F34 00215E94 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 80218F38 00215E98 83 E1 00 DC */ lwz r31, 0xdc(r1) /* 80218F3C 00215E9C 83 C1 00 D8 */ lwz r30, 0xd8(r1) /* 80218F40 00215EA0 83 A1 00 D4 */ lwz r29, 0xd4(r1) /* 80218F44 00215EA4 7C 08 03 A6 */ mtlr r0 /* 80218F48 00215EA8 38 21 00 E0 */ addi r1, r1, 0xe0 /* 80218F4C 00215EAC 4E 80 00 20 */ blr .global ProcessTargettingState__16CScriptGunTurretFfR13CStateManager ProcessTargettingState__16CScriptGunTurretFfR13CStateManager: /* 80218F50 00215EB0 94 21 FE 30 */ stwu r1, -0x1d0(r1) /* 80218F54 00215EB4 7C 08 02 A6 */ mflr r0 /* 80218F58 00215EB8 90 01 01 D4 */ stw r0, 0x1d4(r1) /* 80218F5C 00215EBC DB E1 01 C0 */ stfd f31, 0x1c0(r1) /* 80218F60 00215EC0 F3 E1 01 C8 */ psq_st f31, 456(r1), 0, qr0 /* 80218F64 00215EC4 DB C1 01 B0 */ stfd f30, 0x1b0(r1) /* 80218F68 00215EC8 F3 C1 01 B8 */ psq_st f30, 440(r1), 0, qr0 /* 80218F6C 00215ECC DB A1 01 A0 */ stfd f29, 0x1a0(r1) /* 80218F70 00215ED0 F3 A1 01 A8 */ psq_st f29, 424(r1), 0, qr0 /* 80218F74 00215ED4 DB 81 01 90 */ stfd f28, 0x190(r1) /* 80218F78 00215ED8 F3 81 01 98 */ psq_st f28, 408(r1), 0, qr0 /* 80218F7C 00215EDC 93 E1 01 8C */ stw r31, 0x18c(r1) /* 80218F80 00215EE0 93 C1 01 88 */ stw r30, 0x188(r1) /* 80218F84 00215EE4 93 A1 01 84 */ stw r29, 0x184(r1) /* 80218F88 00215EE8 93 81 01 80 */ stw r28, 0x180(r1) /* 80218F8C 00215EEC FF E0 08 90 */ fmr f31, f1 /* 80218F90 00215EF0 2C 04 00 01 */ cmpwi r4, 1 /* 80218F94 00215EF4 7C 7F 1B 78 */ mr r31, r3 /* 80218F98 00215EF8 7C BC 2B 78 */ mr r28, r5 /* 80218F9C 00215EFC 41 82 00 2C */ beq lbl_80218FC8 /* 80218FA0 00215F00 40 80 00 10 */ bge lbl_80218FB0 /* 80218FA4 00215F04 2C 04 00 00 */ cmpwi r4, 0 /* 80218FA8 00215F08 40 80 00 14 */ bge lbl_80218FBC /* 80218FAC 00215F0C 48 00 04 40 */ b lbl_802193EC lbl_80218FB0: /* 80218FB0 00215F10 2C 04 00 03 */ cmpwi r4, 3 /* 80218FB4 00215F14 40 80 04 38 */ bge lbl_802193EC /* 80218FB8 00215F18 48 00 04 24 */ b lbl_802193DC lbl_80218FBC: /* 80218FBC 00215F1C C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80218FC0 00215F20 D0 1F 05 2C */ stfs f0, 0x52c(r31) /* 80218FC4 00215F24 48 00 04 28 */ b lbl_802193EC lbl_80218FC8: /* 80218FC8 00215F28 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80218FCC 00215F2C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80218FD0 00215F30 40 82 00 14 */ bne lbl_80218FE4 /* 80218FD4 00215F34 7F 84 E3 78 */ mr r4, r28 /* 80218FD8 00215F38 4B FF E9 CD */ bl InDetectionRange__16CScriptGunTurretCFR13CStateManager /* 80218FDC 00215F3C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80218FE0 00215F40 41 82 03 C8 */ beq lbl_802193A8 lbl_80218FE4: /* 80218FE4 00215F44 FC 20 F8 90 */ fmr f1, f31 /* 80218FE8 00215F48 7F E3 FB 78 */ mr r3, r31 /* 80218FEC 00215F4C 7F 84 E3 78 */ mr r4, r28 /* 80218FF0 00215F50 4B FF F8 41 */ bl UpdateTargettingMode__16CScriptGunTurretFfR13CStateManager /* 80218FF4 00215F54 A0 7F 02 5C */ lhz r3, 0x25c(r31) /* 80218FF8 00215F58 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80218FFC 00215F5C 7C 03 00 40 */ cmplw r3, r0 /* 80219000 00215F60 41 82 02 00 */ beq lbl_80219200 /* 80219004 00215F64 A0 1F 02 5C */ lhz r0, 0x25c(r31) /* 80219008 00215F68 7F 83 E3 78 */ mr r3, r28 /* 8021900C 00215F6C 38 81 00 08 */ addi r4, r1, 8 /* 80219010 00215F70 B0 01 00 08 */ sth r0, 8(r1) /* 80219014 00215F74 4B E3 35 61 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80219018 00215F78 7C 64 1B 78 */ mr r4, r3 /* 8021901C 00215F7C 38 61 00 18 */ addi r3, r1, 0x18 /* 80219020 00215F80 4B E9 07 95 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80219024 00215F84 83 A3 00 04 */ lwz r29, 4(r3) /* 80219028 00215F88 28 1D 00 00 */ cmplwi r29, 0 /* 8021902C 00215F8C 41 82 01 D4 */ beq lbl_80219200 /* 80219030 00215F90 C3 DF 04 04 */ lfs f30, 0x404(r31) /* 80219034 00215F94 7F E3 FB 78 */ mr r3, r31 /* 80219038 00215F98 C3 BF 04 08 */ lfs f29, 0x408(r31) /* 8021903C 00215F9C 7F 84 E3 78 */ mr r4, r28 /* 80219040 00215FA0 C3 9F 04 0C */ lfs f28, 0x40c(r31) /* 80219044 00215FA4 4B FF EA 95 */ bl IsPlayerInFiringRange__16CScriptGunTurretCFR13CStateManager /* 80219048 00215FA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8021904C 00215FAC 41 82 01 14 */ beq lbl_80219160 /* 80219050 00215FB0 80 82 B3 54 */ lwz r4, lbl_805AD074@sda21(r2) /* 80219054 00215FB4 38 61 00 B4 */ addi r3, r1, 0xb4 /* 80219058 00215FB8 4B DE BC 61 */ bl string_l__4rstlFPCc /* 8021905C 00215FBC 7F A4 EB 78 */ mr r4, r29 /* 80219060 00215FC0 38 61 01 20 */ addi r3, r1, 0x120 /* 80219064 00215FC4 38 A1 00 B4 */ addi r5, r1, 0xb4 /* 80219068 00215FC8 4B E3 9E 99 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 8021906C 00215FCC 38 61 01 50 */ addi r3, r1, 0x150 /* 80219070 00215FD0 38 81 01 20 */ addi r4, r1, 0x120 /* 80219074 00215FD4 48 0F 9B 01 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80219078 00215FD8 38 61 00 B4 */ addi r3, r1, 0xb4 /* 8021907C 00215FDC 48 12 4A 65 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80219080 00215FE0 C0 41 01 5C */ lfs f2, 0x15c(r1) /* 80219084 00215FE4 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80219088 00215FE8 C0 21 01 6C */ lfs f1, 0x16c(r1) /* 8021908C 00215FEC 38 9D 00 34 */ addi r4, r29, 0x34 /* 80219090 00215FF0 C0 01 01 7C */ lfs f0, 0x17c(r1) /* 80219094 00215FF4 38 A1 00 9C */ addi r5, r1, 0x9c /* 80219098 00215FF8 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 8021909C 00215FFC D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 802190A0 00216000 D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 802190A4 00216004 48 0F 99 DD */ bl Rotate__12CTransform4fCFRC9CVector3f /* 802190A8 00216008 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 802190AC 0021600C 7F 85 E3 78 */ mr r5, r28 /* 802190B0 00216010 C0 01 00 AC */ lfs f0, 0xac(r1) /* 802190B4 00216014 38 61 00 90 */ addi r3, r1, 0x90 /* 802190B8 00216018 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 802190BC 0021601C C0 41 00 B0 */ lfs f2, 0xb0(r1) /* 802190C0 00216020 EC 81 00 2A */ fadds f4, f1, f0 /* 802190C4 00216024 C0 3D 00 40 */ lfs f1, 0x40(r29) /* 802190C8 00216028 C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 802190CC 0021602C EC 43 10 2A */ fadds f2, f3, f2 /* 802190D0 00216030 D0 81 01 18 */ stfs f4, 0x118(r1) /* 802190D4 00216034 EC 01 00 2A */ fadds f0, f1, f0 /* 802190D8 00216038 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 802190DC 0021603C D0 41 01 1C */ stfs f2, 0x11c(r1) /* 802190E0 00216040 D0 01 01 14 */ stfs f0, 0x114(r1) /* 802190E4 00216044 80 9C 08 4C */ lwz r4, 0x84c(r28) /* 802190E8 00216048 81 84 00 00 */ lwz r12, 0(r4) /* 802190EC 0021604C 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 802190F0 00216050 7D 89 03 A6 */ mtctr r12 /* 802190F4 00216054 4E 80 04 21 */ bctrl /* 802190F8 00216058 C0 01 00 90 */ lfs f0, 0x90(r1) /* 802190FC 0021605C 7F 85 E3 78 */ mr r5, r28 /* 80219100 00216060 38 61 00 78 */ addi r3, r1, 0x78 /* 80219104 00216064 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 80219108 00216068 D0 1F 04 04 */ stfs f0, 0x404(r31) /* 8021910C 0021606C C0 01 00 94 */ lfs f0, 0x94(r1) /* 80219110 00216070 D0 1F 04 08 */ stfs f0, 0x408(r31) /* 80219114 00216074 C0 01 00 98 */ lfs f0, 0x98(r1) /* 80219118 00216078 D0 1F 04 0C */ stfs f0, 0x40c(r31) /* 8021911C 0021607C 80 9C 08 4C */ lwz r4, 0x84c(r28) /* 80219120 00216080 81 84 00 00 */ lwz r12, 0(r4) /* 80219124 00216084 7C 9E 23 78 */ mr r30, r4 /* 80219128 00216088 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8021912C 0021608C 7D 89 03 A6 */ mtctr r12 /* 80219130 00216090 4E 80 04 21 */ bctrl /* 80219134 00216094 FC 20 F8 90 */ fmr f1, f31 /* 80219138 00216098 7F C7 F3 78 */ mr r7, r30 /* 8021913C 0021609C 38 61 00 84 */ addi r3, r1, 0x84 /* 80219140 002160A0 38 9F 03 7C */ addi r4, r31, 0x37c /* 80219144 002160A4 38 A1 01 14 */ addi r5, r1, 0x114 /* 80219148 002160A8 38 C1 00 78 */ addi r6, r1, 0x78 /* 8021914C 002160AC 39 00 00 00 */ li r8, 0 /* 80219150 002160B0 48 00 2D 9D */ bl PredictInterceptPos__15CProjectileInfoFRC9CVector3fRC9CVector3fRC7CPlayerbf /* 80219154 002160B4 C3 C1 00 84 */ lfs f30, 0x84(r1) /* 80219158 002160B8 C3 A1 00 88 */ lfs f29, 0x88(r1) /* 8021915C 002160BC C3 81 00 8C */ lfs f28, 0x8c(r1) lbl_80219160: /* 80219160 002160C0 C0 3F 04 08 */ lfs f1, 0x408(r31) /* 80219164 002160C4 38 61 01 08 */ addi r3, r1, 0x108 /* 80219168 002160C8 C0 1D 00 50 */ lfs f0, 0x50(r29) /* 8021916C 002160CC C0 7F 04 0C */ lfs f3, 0x40c(r31) /* 80219170 002160D0 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80219174 002160D4 EC 81 00 28 */ fsubs f4, f1, f0 /* 80219178 002160D8 C0 3F 04 04 */ lfs f1, 0x404(r31) /* 8021917C 002160DC C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80219180 002160E0 EC 43 10 28 */ fsubs f2, f3, f2 /* 80219184 002160E4 EC 01 00 28 */ fsubs f0, f1, f0 /* 80219188 002160E8 D0 81 01 0C */ stfs f4, 0x10c(r1) /* 8021918C 002160EC D0 41 01 10 */ stfs f2, 0x110(r1) /* 80219190 002160F0 D0 01 01 08 */ stfs f0, 0x108(r1) /* 80219194 002160F4 48 0F B7 25 */ bl Magnitude__9CVector3fCFv /* 80219198 002160F8 C0 42 B3 C8 */ lfs f2, lbl_805AD0E8@sda21(r2) /* 8021919C 002160FC 38 61 00 60 */ addi r3, r1, 0x60 /* 802191A0 00216100 38 9F 03 A4 */ addi r4, r31, 0x3a4 /* 802191A4 00216104 4B F9 3F A1 */ bl GetDistanceCompensatedError__10CBurstFireCFff /* 802191A8 00216108 38 61 00 6C */ addi r3, r1, 0x6c /* 802191AC 0021610C 38 9D 00 34 */ addi r4, r29, 0x34 /* 802191B0 00216110 38 A1 00 60 */ addi r5, r1, 0x60 /* 802191B4 00216114 48 0F 98 CD */ bl Rotate__12CTransform4fCFRC9CVector3f /* 802191B8 00216118 C0 BF 04 04 */ lfs f5, 0x404(r31) /* 802191BC 0021611C C0 DF 04 08 */ lfs f6, 0x408(r31) /* 802191C0 00216120 EC 3E 28 28 */ fsubs f1, f30, f5 /* 802191C4 00216124 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 802191C8 00216128 C0 FF 04 0C */ lfs f7, 0x40c(r31) /* 802191CC 0021612C EC 9D 30 28 */ fsubs f4, f29, f6 /* 802191D0 00216130 C0 41 00 70 */ lfs f2, 0x70(r1) /* 802191D4 00216134 EC 01 00 2A */ fadds f0, f1, f0 /* 802191D8 00216138 EC 7C 38 28 */ fsubs f3, f28, f7 /* 802191DC 0021613C C0 21 00 74 */ lfs f1, 0x74(r1) /* 802191E0 00216140 EC 44 10 2A */ fadds f2, f4, f2 /* 802191E4 00216144 EC 05 00 2A */ fadds f0, f5, f0 /* 802191E8 00216148 EC 23 08 2A */ fadds f1, f3, f1 /* 802191EC 0021614C EC 46 10 2A */ fadds f2, f6, f2 /* 802191F0 00216150 D0 1D 04 04 */ stfs f0, 0x404(r29) /* 802191F4 00216154 EC 07 08 2A */ fadds f0, f7, f1 /* 802191F8 00216158 D0 5D 04 08 */ stfs f2, 0x408(r29) /* 802191FC 0021615C D0 1D 04 0C */ stfs f0, 0x40c(r29) lbl_80219200: /* 80219200 00216160 C0 3F 04 0C */ lfs f1, 0x40c(r31) /* 80219204 00216164 38 61 00 FC */ addi r3, r1, 0xfc /* 80219208 00216168 C0 1F 00 60 */ lfs f0, 0x60(r31) /* 8021920C 0021616C C0 9F 04 08 */ lfs f4, 0x408(r31) /* 80219210 00216170 C0 7F 00 50 */ lfs f3, 0x50(r31) /* 80219214 00216174 EC A1 00 28 */ fsubs f5, f1, f0 /* 80219218 00216178 C0 5F 04 04 */ lfs f2, 0x404(r31) /* 8021921C 0021617C C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80219220 00216180 EC 64 18 28 */ fsubs f3, f4, f3 /* 80219224 00216184 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80219228 00216188 EC 22 08 28 */ fsubs f1, f2, f1 /* 8021922C 0021618C D0 A1 01 04 */ stfs f5, 0x104(r1) /* 80219230 00216190 D0 61 01 00 */ stfs f3, 0x100(r1) /* 80219234 00216194 D0 21 00 FC */ stfs f1, 0xfc(r1) /* 80219238 00216198 D0 01 01 04 */ stfs f0, 0x104(r1) /* 8021923C 0021619C 48 0F B4 BD */ bl CanBeNormalized__9CVector3fCFv /* 80219240 002161A0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219244 002161A4 41 82 01 20 */ beq lbl_80219364 /* 80219248 002161A8 38 61 00 54 */ addi r3, r1, 0x54 /* 8021924C 002161AC 38 81 00 FC */ addi r4, r1, 0xfc /* 80219250 002161B0 48 0F B6 01 */ bl AsNormalized__9CVector3fCFv /* 80219254 002161B4 C0 41 00 54 */ lfs f2, 0x54(r1) /* 80219258 002161B8 38 61 00 F0 */ addi r3, r1, 0xf0 /* 8021925C 002161BC C0 21 00 58 */ lfs f1, 0x58(r1) /* 80219260 002161C0 38 81 00 E4 */ addi r4, r1, 0xe4 /* 80219264 002161C4 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 80219268 002161C8 D0 41 00 F0 */ stfs f2, 0xf0(r1) /* 8021926C 002161CC D0 21 00 F4 */ stfs f1, 0xf4(r1) /* 80219270 002161D0 D0 01 00 F8 */ stfs f0, 0xf8(r1) /* 80219274 002161D4 C0 5F 00 58 */ lfs f2, 0x58(r31) /* 80219278 002161D8 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 8021927C 002161DC C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80219280 002161E0 D0 01 00 E4 */ stfs f0, 0xe4(r1) /* 80219284 002161E4 D0 21 00 E8 */ stfs f1, 0xe8(r1) /* 80219288 002161E8 D0 41 00 EC */ stfs f2, 0xec(r1) /* 8021928C 002161EC 48 0F B3 A5 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f /* 80219290 002161F0 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80219294 002161F4 FC 00 08 18 */ frsp f0, f1 /* 80219298 002161F8 C0 3F 02 FC */ lfs f1, 0x2fc(r31) /* 8021929C 002161FC EC 3F 00 72 */ fmuls f1, f31, f1 /* 802192A0 00216200 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 802192A4 00216204 D0 21 00 14 */ stfs f1, 0x14(r1) /* 802192A8 00216208 40 80 00 0C */ bge lbl_802192B4 /* 802192AC 0021620C 38 61 00 10 */ addi r3, r1, 0x10 /* 802192B0 00216210 48 00 00 08 */ b lbl_802192B8 lbl_802192B4: /* 802192B4 00216214 38 61 00 14 */ addi r3, r1, 0x14 lbl_802192B8: /* 802192B8 00216218 C0 C3 00 00 */ lfs f6, 0(r3) /* 802192BC 0021621C 38 61 00 44 */ addi r3, r1, 0x44 /* 802192C0 00216220 C0 A1 00 F0 */ lfs f5, 0xf0(r1) /* 802192C4 00216224 38 81 00 38 */ addi r4, r1, 0x38 /* 802192C8 00216228 C0 81 00 F4 */ lfs f4, 0xf4(r1) /* 802192CC 0021622C 38 A1 00 2C */ addi r5, r1, 0x2c /* 802192D0 00216230 C0 61 00 F8 */ lfs f3, 0xf8(r1) /* 802192D4 00216234 38 C1 00 0C */ addi r6, r1, 0xc /* 802192D8 00216238 C0 41 00 E4 */ lfs f2, 0xe4(r1) /* 802192DC 0021623C C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 802192E0 00216240 C0 01 00 EC */ lfs f0, 0xec(r1) /* 802192E4 00216244 D0 C1 00 0C */ stfs f6, 0xc(r1) /* 802192E8 00216248 D0 A1 00 2C */ stfs f5, 0x2c(r1) /* 802192EC 0021624C D0 81 00 30 */ stfs f4, 0x30(r1) /* 802192F0 00216250 D0 61 00 34 */ stfs f3, 0x34(r1) /* 802192F4 00216254 D0 41 00 38 */ stfs f2, 0x38(r1) /* 802192F8 00216258 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 802192FC 0021625C D0 01 00 40 */ stfs f0, 0x40(r1) /* 80219300 00216260 48 0F 83 95 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80219304 00216264 C0 61 00 44 */ lfs f3, 0x44(r1) /* 80219308 00216268 38 A1 00 D8 */ addi r5, r1, 0xd8 /* 8021930C 0021626C C0 41 00 48 */ lfs f2, 0x48(r1) /* 80219310 00216270 38 61 00 20 */ addi r3, r1, 0x20 /* 80219314 00216274 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 80219318 00216278 38 9F 00 34 */ addi r4, r31, 0x34 /* 8021931C 0021627C C0 01 00 50 */ lfs f0, 0x50(r1) /* 80219320 00216280 D0 61 00 D4 */ stfs f3, 0xd4(r1) /* 80219324 00216284 D0 41 00 D8 */ stfs f2, 0xd8(r1) /* 80219328 00216288 D0 21 00 DC */ stfs f1, 0xdc(r1) /* 8021932C 0021628C D0 01 00 E0 */ stfs f0, 0xe0(r1) /* 80219330 00216290 48 0F 96 F5 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 80219334 00216294 C0 81 00 D4 */ lfs f4, 0xd4(r1) /* 80219338 00216298 FC 20 F8 90 */ fmr f1, f31 /* 8021933C 0021629C C0 61 00 20 */ lfs f3, 0x20(r1) /* 80219340 002162A0 7F E3 FB 78 */ mr r3, r31 /* 80219344 002162A4 C0 41 00 24 */ lfs f2, 0x24(r1) /* 80219348 002162A8 38 81 00 C4 */ addi r4, r1, 0xc4 /* 8021934C 002162AC C0 01 00 28 */ lfs f0, 0x28(r1) /* 80219350 002162B0 D0 81 00 C4 */ stfs f4, 0xc4(r1) /* 80219354 002162B4 D0 61 00 C8 */ stfs f3, 0xc8(r1) /* 80219358 002162B8 D0 41 00 CC */ stfs f2, 0xcc(r1) /* 8021935C 002162BC D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 80219360 002162C0 4B F0 19 FD */ bl RotateInOneFrameOR__13CPhysicsActorFRC11CQuaternionf lbl_80219364: /* 80219364 002162C4 7F E3 FB 78 */ mr r3, r31 /* 80219368 002162C8 7F 84 E3 78 */ mr r4, r28 /* 8021936C 002162CC 4B FF E5 E5 */ bl ShouldFire__16CScriptGunTurretCFR13CStateManager /* 80219370 002162D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219374 002162D4 41 82 00 28 */ beq lbl_8021939C /* 80219378 002162D8 7F E3 FB 78 */ mr r3, r31 /* 8021937C 002162DC 7F 85 E3 78 */ mr r5, r28 /* 80219380 002162E0 38 80 00 0A */ li r4, 0xa /* 80219384 002162E4 38 C0 FF FF */ li r6, -1 /* 80219388 002162E8 4B E3 7D 39 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 8021938C 002162EC 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80219390 002162F0 38 60 00 01 */ li r3, 1 /* 80219394 002162F4 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80219398 002162F8 98 1F 05 60 */ stb r0, 0x560(r31) lbl_8021939C: /* 8021939C 002162FC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802193A0 00216300 D0 1F 05 2C */ stfs f0, 0x52c(r31) /* 802193A4 00216304 48 00 00 48 */ b lbl_802193EC lbl_802193A8: /* 802193A8 00216308 C0 3F 05 2C */ lfs f1, 0x52c(r31) /* 802193AC 0021630C C0 02 B3 CC */ lfs f0, lbl_805AD0EC@sda21(r2) /* 802193B0 00216310 EC 21 F8 2A */ fadds f1, f1, f31 /* 802193B4 00216314 D0 3F 05 2C */ stfs f1, 0x52c(r31) /* 802193B8 00216318 C0 3F 05 2C */ lfs f1, 0x52c(r31) /* 802193BC 0021631C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802193C0 00216320 4C 41 13 82 */ cror 2, 1, 2 /* 802193C4 00216324 40 82 00 28 */ bne lbl_802193EC /* 802193C8 00216328 7F E3 FB 78 */ mr r3, r31 /* 802193CC 0021632C 7F 85 E3 78 */ mr r5, r28 /* 802193D0 00216330 38 80 00 0B */ li r4, 0xb /* 802193D4 00216334 48 00 07 45 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 802193D8 00216338 48 00 00 14 */ b lbl_802193EC lbl_802193DC: /* 802193DC 0021633C 88 1F 05 60 */ lbz r0, 0x560(r31) /* 802193E0 00216340 38 60 00 01 */ li r3, 1 /* 802193E4 00216344 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 802193E8 00216348 98 1F 05 60 */ stb r0, 0x560(r31) lbl_802193EC: /* 802193EC 0021634C E3 E1 01 C8 */ psq_l f31, 456(r1), 0, qr0 /* 802193F0 00216350 CB E1 01 C0 */ lfd f31, 0x1c0(r1) /* 802193F4 00216354 E3 C1 01 B8 */ psq_l f30, 440(r1), 0, qr0 /* 802193F8 00216358 CB C1 01 B0 */ lfd f30, 0x1b0(r1) /* 802193FC 0021635C E3 A1 01 A8 */ psq_l f29, 424(r1), 0, qr0 /* 80219400 00216360 CB A1 01 A0 */ lfd f29, 0x1a0(r1) /* 80219404 00216364 E3 81 01 98 */ psq_l f28, 408(r1), 0, qr0 /* 80219408 00216368 CB 81 01 90 */ lfd f28, 0x190(r1) /* 8021940C 0021636C 83 E1 01 8C */ lwz r31, 0x18c(r1) /* 80219410 00216370 83 C1 01 88 */ lwz r30, 0x188(r1) /* 80219414 00216374 83 A1 01 84 */ lwz r29, 0x184(r1) /* 80219418 00216378 80 01 01 D4 */ lwz r0, 0x1d4(r1) /* 8021941C 0021637C 83 81 01 80 */ lwz r28, 0x180(r1) /* 80219420 00216380 7C 08 03 A6 */ mtlr r0 /* 80219424 00216384 38 21 01 D0 */ addi r1, r1, 0x1d0 /* 80219428 00216388 4E 80 00 20 */ blr .global ProcessPanningState__16CScriptGunTurretFfR13CStateManager ProcessPanningState__16CScriptGunTurretFfR13CStateManager: /* 8021942C 0021638C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80219430 00216390 7C 08 02 A6 */ mflr r0 /* 80219434 00216394 90 01 00 34 */ stw r0, 0x34(r1) /* 80219438 00216398 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8021943C 0021639C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 80219440 002163A0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80219444 002163A4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80219448 002163A8 FF E0 08 90 */ fmr f31, f1 /* 8021944C 002163AC 2C 04 00 01 */ cmpwi r4, 1 /* 80219450 002163B0 7C 7E 1B 78 */ mr r30, r3 /* 80219454 002163B4 7C BF 2B 78 */ mr r31, r5 /* 80219458 002163B8 41 82 00 20 */ beq lbl_80219478 /* 8021945C 002163BC 40 80 01 40 */ bge lbl_8021959C /* 80219460 002163C0 2C 04 00 00 */ cmpwi r4, 0 /* 80219464 002163C4 40 80 00 08 */ bge lbl_8021946C /* 80219468 002163C8 48 00 01 34 */ b lbl_8021959C lbl_8021946C: /* 8021946C 002163CC C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 80219470 002163D0 D0 1E 05 2C */ stfs f0, 0x52c(r30) /* 80219474 002163D4 48 00 01 28 */ b lbl_8021959C lbl_80219478: /* 80219478 002163D8 7F E4 FB 78 */ mr r4, r31 /* 8021947C 002163DC 4B FF E6 5D */ bl IsPlayerInFiringRange__16CScriptGunTurretCFR13CStateManager /* 80219480 002163E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219484 002163E4 41 82 00 6C */ beq lbl_802194F0 /* 80219488 002163E8 7F C3 F3 78 */ mr r3, r30 /* 8021948C 002163EC 7F E4 FB 78 */ mr r4, r31 /* 80219490 002163F0 4B FF E5 15 */ bl InDetectionRange__16CScriptGunTurretCFR13CStateManager /* 80219494 002163F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219498 002163F8 41 82 00 58 */ beq lbl_802194F0 /* 8021949C 002163FC 7F C3 F3 78 */ mr r3, r30 /* 802194A0 00216400 7F E5 FB 78 */ mr r5, r31 /* 802194A4 00216404 38 80 00 09 */ li r4, 9 /* 802194A8 00216408 48 00 06 71 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 802194AC 0021640C 81 5E 00 04 */ lwz r10, 4(r30) /* 802194B0 00216410 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 802194B4 00216414 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 802194B8 00216418 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 802194BC 0021641C C0 3E 00 50 */ lfs f1, 0x50(r30) /* 802194C0 00216420 38 61 00 08 */ addi r3, r1, 8 /* 802194C4 00216424 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 802194C8 00216428 38 A1 00 0C */ addi r5, r1, 0xc /* 802194CC 0021642C A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 802194D0 00216430 38 E0 00 00 */ li r7, 0 /* 802194D4 00216434 D0 01 00 0C */ stfs f0, 0xc(r1) /* 802194D8 00216438 39 00 00 00 */ li r8, 0 /* 802194DC 0021643C D0 21 00 10 */ stfs f1, 0x10(r1) /* 802194E0 00216440 D0 41 00 14 */ stfs f2, 0x14(r1) /* 802194E4 00216444 A0 9E 03 52 */ lhz r4, 0x352(r30) /* 802194E8 00216448 48 0D 0D C9 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 802194EC 0021644C 48 00 00 B0 */ b lbl_8021959C lbl_802194F0: /* 802194F0 00216450 C0 1E 05 2C */ lfs f0, 0x52c(r30) /* 802194F4 00216454 EC 00 F8 2A */ fadds f0, f0, f31 /* 802194F8 00216458 D0 1E 05 2C */ stfs f0, 0x52c(r30) /* 802194FC 0021645C C0 1E 05 30 */ lfs f0, 0x530(r30) /* 80219500 00216460 EC 00 F8 2A */ fadds f0, f0, f31 /* 80219504 00216464 D0 1E 05 30 */ stfs f0, 0x530(r30) /* 80219508 00216468 C0 3E 05 30 */ lfs f1, 0x530(r30) /* 8021950C 0021646C C0 1E 02 EC */ lfs f0, 0x2ec(r30) /* 80219510 00216470 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80219514 00216474 4C 41 13 82 */ cror 2, 1, 2 /* 80219518 00216478 40 82 00 50 */ bne lbl_80219568 /* 8021951C 0021647C 88 1E 04 F0 */ lbz r0, 0x4f0(r30) /* 80219520 00216480 28 00 00 00 */ cmplwi r0, 0 /* 80219524 00216484 40 82 00 44 */ bne lbl_80219568 /* 80219528 00216488 88 1E 03 74 */ lbz r0, 0x374(r30) /* 8021952C 0021648C 28 00 00 00 */ cmplwi r0, 0 /* 80219530 00216490 40 82 00 38 */ bne lbl_80219568 /* 80219534 00216494 7F C3 F3 78 */ mr r3, r30 /* 80219538 00216498 7F E5 FB 78 */ mr r5, r31 /* 8021953C 0021649C 38 80 00 05 */ li r4, 5 /* 80219540 002164A0 48 00 05 D9 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80219544 002164A4 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80219548 002164A8 38 60 00 00 */ li r3, 0 /* 8021954C 002164AC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80219550 002164B0 98 1E 05 60 */ stb r0, 0x560(r30) /* 80219554 002164B4 54 03 EF FE */ rlwinm r3, r0, 0x1d, 0x1f, 0x1f /* 80219558 002164B8 88 1E 05 60 */ lbz r0, 0x560(r30) /* 8021955C 002164BC 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80219560 002164C0 98 1E 05 60 */ stb r0, 0x560(r30) /* 80219564 002164C4 48 00 00 38 */ b lbl_8021959C lbl_80219568: /* 80219568 002164C8 C0 3E 05 2C */ lfs f1, 0x52c(r30) /* 8021956C 002164CC C0 1E 02 E8 */ lfs f0, 0x2e8(r30) /* 80219570 002164D0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80219574 002164D4 4C 41 13 82 */ cror 2, 1, 2 /* 80219578 002164D8 40 82 00 24 */ bne lbl_8021959C /* 8021957C 002164DC 80 1E 05 20 */ lwz r0, 0x520(r30) /* 80219580 002164E0 7F C3 F3 78 */ mr r3, r30 /* 80219584 002164E4 38 80 00 07 */ li r4, 7 /* 80219588 002164E8 2C 00 00 07 */ cmpwi r0, 7 /* 8021958C 002164EC 40 82 00 08 */ bne lbl_80219594 /* 80219590 002164F0 38 80 00 08 */ li r4, 8 lbl_80219594: /* 80219594 002164F4 7F E5 FB 78 */ mr r5, r31 /* 80219598 002164F8 48 00 05 81 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState lbl_8021959C: /* 8021959C 002164FC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 802195A0 00216500 80 01 00 34 */ lwz r0, 0x34(r1) /* 802195A4 00216504 CB E1 00 20 */ lfd f31, 0x20(r1) /* 802195A8 00216508 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802195AC 0021650C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802195B0 00216510 7C 08 03 A6 */ mtlr r0 /* 802195B4 00216514 38 21 00 30 */ addi r1, r1, 0x30 /* 802195B8 00216518 4E 80 00 20 */ blr .global ProcessReadyState__16CScriptGunTurretFfR13CStateManager ProcessReadyState__16CScriptGunTurretFfR13CStateManager: /* 802195BC 0021651C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802195C0 00216520 7C 08 02 A6 */ mflr r0 /* 802195C4 00216524 2C 04 00 01 */ cmpwi r4, 1 /* 802195C8 00216528 90 01 00 24 */ stw r0, 0x24(r1) /* 802195CC 0021652C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802195D0 00216530 7C BF 2B 78 */ mr r31, r5 /* 802195D4 00216534 93 C1 00 18 */ stw r30, 0x18(r1) /* 802195D8 00216538 7C 7E 1B 78 */ mr r30, r3 /* 802195DC 0021653C 41 82 00 20 */ beq lbl_802195FC /* 802195E0 00216540 40 80 00 CC */ bge lbl_802196AC /* 802195E4 00216544 2C 04 00 00 */ cmpwi r4, 0 /* 802195E8 00216548 40 80 00 08 */ bge lbl_802195F0 /* 802195EC 0021654C 48 00 00 C0 */ b lbl_802196AC lbl_802195F0: /* 802195F0 00216550 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802195F4 00216554 D0 1E 05 2C */ stfs f0, 0x52c(r30) /* 802195F8 00216558 48 00 00 B4 */ b lbl_802196AC lbl_802195FC: /* 802195FC 0021655C C0 1E 05 2C */ lfs f0, 0x52c(r30) /* 80219600 00216560 EC 00 08 2A */ fadds f0, f0, f1 /* 80219604 00216564 D0 1E 05 2C */ stfs f0, 0x52c(r30) /* 80219608 00216568 C0 3E 05 2C */ lfs f1, 0x52c(r30) /* 8021960C 0021656C C0 1E 02 E4 */ lfs f0, 0x2e4(r30) /* 80219610 00216570 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80219614 00216574 4C 41 13 82 */ cror 2, 1, 2 /* 80219618 00216578 40 82 00 94 */ bne lbl_802196AC /* 8021961C 0021657C 7F E4 FB 78 */ mr r4, r31 /* 80219620 00216580 4B FF E4 B9 */ bl IsPlayerInFiringRange__16CScriptGunTurretCFR13CStateManager /* 80219624 00216584 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219628 00216588 41 82 00 6C */ beq lbl_80219694 /* 8021962C 0021658C 7F C3 F3 78 */ mr r3, r30 /* 80219630 00216590 7F E4 FB 78 */ mr r4, r31 /* 80219634 00216594 4B FF E3 71 */ bl InDetectionRange__16CScriptGunTurretCFR13CStateManager /* 80219638 00216598 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8021963C 0021659C 41 82 00 58 */ beq lbl_80219694 /* 80219640 002165A0 7F C3 F3 78 */ mr r3, r30 /* 80219644 002165A4 7F E5 FB 78 */ mr r5, r31 /* 80219648 002165A8 38 80 00 09 */ li r4, 9 /* 8021964C 002165AC 48 00 04 CD */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80219650 002165B0 81 5E 00 04 */ lwz r10, 4(r30) /* 80219654 002165B4 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 80219658 002165B8 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 8021965C 002165BC 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 80219660 002165C0 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80219664 002165C4 38 61 00 08 */ addi r3, r1, 8 /* 80219668 002165C8 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 8021966C 002165CC 38 A1 00 0C */ addi r5, r1, 0xc /* 80219670 002165D0 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 80219674 002165D4 38 E0 00 00 */ li r7, 0 /* 80219678 002165D8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8021967C 002165DC 39 00 00 00 */ li r8, 0 /* 80219680 002165E0 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80219684 002165E4 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80219688 002165E8 A0 9E 03 52 */ lhz r4, 0x352(r30) /* 8021968C 002165EC 48 0D 0C 25 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 80219690 002165F0 48 00 00 1C */ b lbl_802196AC lbl_80219694: /* 80219694 002165F4 7F C3 F3 78 */ mr r3, r30 /* 80219698 002165F8 7F E5 FB 78 */ mr r5, r31 /* 8021969C 002165FC 38 80 00 07 */ li r4, 7 /* 802196A0 00216600 48 00 04 79 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 802196A4 00216604 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 802196A8 00216608 D0 1E 05 30 */ stfs f0, 0x530(r30) lbl_802196AC: /* 802196AC 0021660C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802196B0 00216610 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802196B4 00216614 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802196B8 00216618 7C 08 03 A6 */ mtlr r0 /* 802196BC 0021661C 38 21 00 20 */ addi r1, r1, 0x20 /* 802196C0 00216620 4E 80 00 20 */ blr .global ProcessInactiveState__16CScriptGunTurretFfR13CStateManager ProcessInactiveState__16CScriptGunTurretFfR13CStateManager: /* 802196C4 00216624 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802196C8 00216628 7C 08 02 A6 */ mflr r0 /* 802196CC 0021662C 90 01 00 54 */ stw r0, 0x54(r1) /* 802196D0 00216630 DB E1 00 40 */ stfd f31, 0x40(r1) /* 802196D4 00216634 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 802196D8 00216638 93 E1 00 3C */ stw r31, 0x3c(r1) /* 802196DC 0021663C 93 C1 00 38 */ stw r30, 0x38(r1) /* 802196E0 00216640 93 A1 00 34 */ stw r29, 0x34(r1) /* 802196E4 00216644 93 81 00 30 */ stw r28, 0x30(r1) /* 802196E8 00216648 FF E0 08 90 */ fmr f31, f1 /* 802196EC 0021664C 2C 04 00 01 */ cmpwi r4, 1 /* 802196F0 00216650 7C 7D 1B 78 */ mr r29, r3 /* 802196F4 00216654 7C BE 2B 78 */ mr r30, r5 /* 802196F8 00216658 41 82 00 84 */ beq lbl_8021977C /* 802196FC 0021665C 40 80 00 10 */ bge lbl_8021970C /* 80219700 00216660 2C 04 00 00 */ cmpwi r4, 0 /* 80219704 00216664 40 80 00 14 */ bge lbl_80219718 /* 80219708 00216668 48 00 02 08 */ b lbl_80219910 lbl_8021970C: /* 8021970C 0021666C 2C 04 00 03 */ cmpwi r4, 3 /* 80219710 00216670 40 80 02 00 */ bge lbl_80219910 /* 80219714 00216674 48 00 01 8C */ b lbl_802198A0 lbl_80219718: /* 80219718 00216678 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021971C 0021667C 38 A0 00 00 */ li r5, 0 /* 80219720 00216680 7F C3 F3 78 */ mr r3, r30 /* 80219724 00216684 38 81 00 10 */ addi r4, r1, 0x10 /* 80219728 00216688 D0 1D 05 28 */ stfs f0, 0x528(r29) /* 8021972C 0021668C 88 1D 05 60 */ lbz r0, 0x560(r29) /* 80219730 00216690 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 80219734 00216694 98 1D 05 60 */ stb r0, 0x560(r29) /* 80219738 00216698 A0 1D 02 5C */ lhz r0, 0x25c(r29) /* 8021973C 0021669C B0 01 00 10 */ sth r0, 0x10(r1) /* 80219740 002166A0 4B E3 2E 35 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80219744 002166A4 7C 64 1B 78 */ mr r4, r3 /* 80219748 002166A8 38 61 00 24 */ addi r3, r1, 0x24 /* 8021974C 002166AC 4B E9 00 69 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80219750 002166B0 80 63 00 04 */ lwz r3, 4(r3) /* 80219754 002166B4 28 03 00 00 */ cmplwi r3, 0 /* 80219758 002166B8 41 82 01 B8 */ beq lbl_80219910 /* 8021975C 002166BC 81 83 00 00 */ lwz r12, 0(r3) /* 80219760 002166C0 7F C4 F3 78 */ mr r4, r30 /* 80219764 002166C4 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219768 002166C8 7D 89 03 A6 */ mtctr r12 /* 8021976C 002166CC 4E 80 04 21 */ bctrl /* 80219770 002166D0 C0 03 00 00 */ lfs f0, 0(r3) /* 80219774 002166D4 D0 1D 02 60 */ stfs f0, 0x260(r29) /* 80219778 002166D8 48 00 01 98 */ b lbl_80219910 lbl_8021977C: /* 8021977C 002166DC A0 7D 02 5C */ lhz r3, 0x25c(r29) /* 80219780 002166E0 3B E0 00 00 */ li r31, 0 /* 80219784 002166E4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80219788 002166E8 7C 03 00 40 */ cmplw r3, r0 /* 8021978C 002166EC 41 82 00 58 */ beq lbl_802197E4 /* 80219790 002166F0 A0 1D 02 5C */ lhz r0, 0x25c(r29) /* 80219794 002166F4 7F C3 F3 78 */ mr r3, r30 /* 80219798 002166F8 38 81 00 0C */ addi r4, r1, 0xc /* 8021979C 002166FC B0 01 00 0C */ sth r0, 0xc(r1) /* 802197A0 00216700 4B E3 2D D5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 802197A4 00216704 7C 64 1B 78 */ mr r4, r3 /* 802197A8 00216708 38 61 00 1C */ addi r3, r1, 0x1c /* 802197AC 0021670C 4B E9 00 09 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 802197B0 00216710 80 63 00 04 */ lwz r3, 4(r3) /* 802197B4 00216714 28 03 00 00 */ cmplwi r3, 0 /* 802197B8 00216718 41 82 00 2C */ beq lbl_802197E4 /* 802197BC 0021671C 81 83 00 00 */ lwz r12, 0(r3) /* 802197C0 00216720 7F C4 F3 78 */ mr r4, r30 /* 802197C4 00216724 81 8C 00 34 */ lwz r12, 0x34(r12) /* 802197C8 00216728 7D 89 03 A6 */ mtctr r12 /* 802197CC 0021672C 4E 80 04 21 */ bctrl /* 802197D0 00216730 C0 23 00 00 */ lfs f1, 0(r3) /* 802197D4 00216734 C0 1D 02 60 */ lfs f0, 0x260(r29) /* 802197D8 00216738 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802197DC 0021673C 7C 00 00 26 */ mfcr r0 /* 802197E0 00216740 54 1F 0F FE */ srwi r31, r0, 0x1f lbl_802197E4: /* 802197E4 00216744 88 1D 03 74 */ lbz r0, 0x374(r29) /* 802197E8 00216748 28 00 00 00 */ cmplwi r0, 0 /* 802197EC 0021674C 41 82 00 24 */ beq lbl_80219810 /* 802197F0 00216750 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 802197F4 00216754 3B 80 00 00 */ li r28, 0 /* 802197F8 00216758 40 82 00 10 */ bne lbl_80219808 /* 802197FC 0021675C 88 1D 05 60 */ lbz r0, 0x560(r29) /* 80219800 00216760 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 80219804 00216764 41 82 00 3C */ beq lbl_80219840 lbl_80219808: /* 80219808 00216768 3B 80 00 01 */ li r28, 1 /* 8021980C 0021676C 48 00 00 34 */ b lbl_80219840 lbl_80219810: /* 80219810 00216770 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80219814 00216774 3B 80 00 00 */ li r28, 0 /* 80219818 00216778 40 82 00 24 */ bne lbl_8021983C /* 8021981C 0021677C 88 1D 05 60 */ lbz r0, 0x560(r29) /* 80219820 00216780 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 80219824 00216784 40 82 00 18 */ bne lbl_8021983C /* 80219828 00216788 7F A3 EB 78 */ mr r3, r29 /* 8021982C 0021678C 7F C4 F3 78 */ mr r4, r30 /* 80219830 00216790 4B FF E1 75 */ bl InDetectionRange__16CScriptGunTurretCFR13CStateManager /* 80219834 00216794 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219838 00216798 41 82 00 08 */ beq lbl_80219840 lbl_8021983C: /* 8021983C 0021679C 3B 80 00 01 */ li r28, 1 lbl_80219840: /* 80219840 002167A0 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 80219844 002167A4 41 82 00 40 */ beq lbl_80219884 /* 80219848 002167A8 C0 1D 05 28 */ lfs f0, 0x528(r29) /* 8021984C 002167AC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80219850 002167B0 EC 00 F8 2A */ fadds f0, f0, f31 /* 80219854 002167B4 D0 1D 05 28 */ stfs f0, 0x528(r29) /* 80219858 002167B8 40 82 00 18 */ bne lbl_80219870 /* 8021985C 002167BC C0 3D 05 28 */ lfs f1, 0x528(r29) /* 80219860 002167C0 C0 1D 02 D8 */ lfs f0, 0x2d8(r29) /* 80219864 002167C4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80219868 002167C8 4C 41 13 82 */ cror 2, 1, 2 /* 8021986C 002167CC 40 82 00 A4 */ bne lbl_80219910 lbl_80219870: /* 80219870 002167D0 7F A3 EB 78 */ mr r3, r29 /* 80219874 002167D4 7F C5 F3 78 */ mr r5, r30 /* 80219878 002167D8 38 80 00 06 */ li r4, 6 /* 8021987C 002167DC 48 00 02 9D */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80219880 002167E0 48 00 00 90 */ b lbl_80219910 lbl_80219884: /* 80219884 002167E4 80 7D 04 6C */ lwz r3, 0x46c(r29) /* 80219888 002167E8 38 80 00 01 */ li r4, 1 /* 8021988C 002167EC 81 83 00 00 */ lwz r12, 0(r3) /* 80219890 002167F0 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 80219894 002167F4 7D 89 03 A6 */ mtctr r12 /* 80219898 002167F8 4E 80 04 21 */ bctrl /* 8021989C 002167FC 48 00 00 74 */ b lbl_80219910 lbl_802198A0: /* 802198A0 00216800 88 1D 05 60 */ lbz r0, 0x560(r29) /* 802198A4 00216804 38 60 00 01 */ li r3, 1 /* 802198A8 00216808 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 802198AC 0021680C 38 80 00 00 */ li r4, 0 /* 802198B0 00216810 98 1D 05 60 */ stb r0, 0x560(r29) /* 802198B4 00216814 80 7D 04 6C */ lwz r3, 0x46c(r29) /* 802198B8 00216818 81 83 00 00 */ lwz r12, 0(r3) /* 802198BC 0021681C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 802198C0 00216820 7D 89 03 A6 */ mtctr r12 /* 802198C4 00216824 4E 80 04 21 */ bctrl /* 802198C8 00216828 A0 1D 02 5C */ lhz r0, 0x25c(r29) /* 802198CC 0021682C 7F C3 F3 78 */ mr r3, r30 /* 802198D0 00216830 38 81 00 08 */ addi r4, r1, 8 /* 802198D4 00216834 B0 01 00 08 */ sth r0, 8(r1) /* 802198D8 00216838 4B E3 2C 9D */ bl ObjectById__13CStateManagerF9TUniqueId /* 802198DC 0021683C 7C 64 1B 78 */ mr r4, r3 /* 802198E0 00216840 38 61 00 14 */ addi r3, r1, 0x14 /* 802198E4 00216844 4B E8 FE D1 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 802198E8 00216848 80 63 00 04 */ lwz r3, 4(r3) /* 802198EC 0021684C 28 03 00 00 */ cmplwi r3, 0 /* 802198F0 00216850 41 82 00 20 */ beq lbl_80219910 /* 802198F4 00216854 81 83 00 00 */ lwz r12, 0(r3) /* 802198F8 00216858 7F C4 F3 78 */ mr r4, r30 /* 802198FC 0021685C 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219900 00216860 7D 89 03 A6 */ mtctr r12 /* 80219904 00216864 4E 80 04 21 */ bctrl /* 80219908 00216868 C0 03 00 00 */ lfs f0, 0(r3) /* 8021990C 0021686C D0 1D 02 60 */ stfs f0, 0x260(r29) lbl_80219910: /* 80219910 00216870 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80219914 00216874 80 01 00 54 */ lwz r0, 0x54(r1) /* 80219918 00216878 CB E1 00 40 */ lfd f31, 0x40(r1) /* 8021991C 0021687C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80219920 00216880 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80219924 00216884 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80219928 00216888 83 81 00 30 */ lwz r28, 0x30(r1) /* 8021992C 0021688C 7C 08 03 A6 */ mtlr r0 /* 80219930 00216890 38 21 00 50 */ addi r1, r1, 0x50 /* 80219934 00216894 4E 80 00 20 */ blr .global ProcessDeactivatingState__16CScriptGunTurretFfR13CStateManager ProcessDeactivatingState__16CScriptGunTurretFfR13CStateManager: /* 80219938 00216898 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8021993C 0021689C 7C 08 02 A6 */ mflr r0 /* 80219940 002168A0 2C 04 00 01 */ cmpwi r4, 1 /* 80219944 002168A4 90 01 00 14 */ stw r0, 0x14(r1) /* 80219948 002168A8 41 82 00 08 */ beq lbl_80219950 /* 8021994C 002168AC 48 00 00 30 */ b lbl_8021997C lbl_80219950: /* 80219950 002168B0 C0 23 05 24 */ lfs f1, 0x524(r3) /* 80219954 002168B4 C0 03 02 D4 */ lfs f0, 0x2d4(r3) /* 80219958 002168B8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021995C 002168BC 4C 41 13 82 */ cror 2, 1, 2 /* 80219960 002168C0 40 82 00 1C */ bne lbl_8021997C /* 80219964 002168C4 88 03 05 60 */ lbz r0, 0x560(r3) /* 80219968 002168C8 38 80 00 01 */ li r4, 1 /* 8021996C 002168CC 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80219970 002168D0 41 82 00 08 */ beq lbl_80219978 /* 80219974 002168D4 38 80 00 02 */ li r4, 2 lbl_80219978: /* 80219978 002168D8 48 00 01 A1 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState lbl_8021997C: /* 8021997C 002168DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80219980 002168E0 7C 08 03 A6 */ mtlr r0 /* 80219984 002168E4 38 21 00 10 */ addi r1, r1, 0x10 /* 80219988 002168E8 4E 80 00 20 */ blr .global ProcessCurrentState__16CScriptGunTurretFfR13CStateManager ProcessCurrentState__16CScriptGunTurretFfR13CStateManager: /* 8021998C 002168EC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80219990 002168F0 7C 08 02 A6 */ mflr r0 /* 80219994 002168F4 90 01 00 14 */ stw r0, 0x14(r1) /* 80219998 002168F8 80 03 05 20 */ lwz r0, 0x520(r3) /* 8021999C 002168FC 28 00 00 0C */ cmplwi r0, 0xc /* 802199A0 00216900 41 81 00 50 */ bgt lbl_802199F0 /* 802199A4 00216904 3C C0 80 3E */ lis r6, lbl_803E7270@ha /* 802199A8 00216908 54 00 10 3A */ slwi r0, r0, 2 /* 802199AC 0021690C 38 C6 72 70 */ addi r6, r6, lbl_803E7270@l /* 802199B0 00216910 7C 06 00 2E */ lwzx r0, r6, r0 /* 802199B4 00216914 7C 09 03 A6 */ mtctr r0 /* 802199B8 00216918 4E 80 04 20 */ bctr .global lbl_802199BC lbl_802199BC: /* 802199BC 0021691C 4B FF FF 7D */ bl ProcessDeactivatingState__16CScriptGunTurretFfR13CStateManager /* 802199C0 00216920 48 00 00 30 */ b lbl_802199F0 .global lbl_802199C4 lbl_802199C4: /* 802199C4 00216924 4B FF FD 01 */ bl ProcessInactiveState__16CScriptGunTurretFfR13CStateManager /* 802199C8 00216928 48 00 00 28 */ b lbl_802199F0 .global lbl_802199CC lbl_802199CC: /* 802199CC 0021692C 4B FF FB F1 */ bl ProcessReadyState__16CScriptGunTurretFfR13CStateManager /* 802199D0 00216930 48 00 00 20 */ b lbl_802199F0 .global lbl_802199D4 lbl_802199D4: /* 802199D4 00216934 4B FF FA 59 */ bl ProcessPanningState__16CScriptGunTurretFfR13CStateManager /* 802199D8 00216938 48 00 00 18 */ b lbl_802199F0 .global lbl_802199DC lbl_802199DC: /* 802199DC 0021693C 4B FF F5 75 */ bl ProcessTargettingState__16CScriptGunTurretFfR13CStateManager /* 802199E0 00216940 48 00 00 10 */ b lbl_802199F0 .global lbl_802199E4 lbl_802199E4: /* 802199E4 00216944 4B FF F4 51 */ bl ProcessExitTargettingState__16CScriptGunTurretFfR13CStateManager /* 802199E8 00216948 48 00 00 08 */ b lbl_802199F0 .global lbl_802199EC lbl_802199EC: /* 802199EC 0021694C 4B FF F1 C9 */ bl ProcessFrenzyState__16CScriptGunTurretFfR13CStateManager .global lbl_802199F0 lbl_802199F0: /* 802199F0 00216950 80 01 00 14 */ lwz r0, 0x14(r1) /* 802199F4 00216954 7C 08 03 A6 */ mtlr r0 /* 802199F8 00216958 38 21 00 10 */ addi r1, r1, 0x10 /* 802199FC 0021695C 4E 80 00 20 */ blr .global ProcessGunStateMachine__16CScriptGunTurretFfR13CStateManager ProcessGunStateMachine__16CScriptGunTurretFfR13CStateManager: /* 80219A00 00216960 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80219A04 00216964 7C 08 02 A6 */ mflr r0 /* 80219A08 00216968 90 01 00 44 */ stw r0, 0x44(r1) /* 80219A0C 0021696C DB E1 00 30 */ stfd f31, 0x30(r1) /* 80219A10 00216970 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80219A14 00216974 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80219A18 00216978 93 C1 00 28 */ stw r30, 0x28(r1) /* 80219A1C 0021697C 93 A1 00 24 */ stw r29, 0x24(r1) /* 80219A20 00216980 FF E0 08 90 */ fmr f31, f1 /* 80219A24 00216984 7C 9E 23 78 */ mr r30, r4 /* 80219A28 00216988 7C 7D 1B 78 */ mr r29, r3 /* 80219A2C 0021698C 38 80 00 01 */ li r4, 1 /* 80219A30 00216990 7F C5 F3 78 */ mr r5, r30 /* 80219A34 00216994 4B FF FF 59 */ bl ProcessCurrentState__16CScriptGunTurretFfR13CStateManager /* 80219A38 00216998 C0 1D 05 24 */ lfs f0, 0x524(r29) /* 80219A3C 0021699C 7F A3 EB 78 */ mr r3, r29 /* 80219A40 002169A0 7F C4 F3 78 */ mr r4, r30 /* 80219A44 002169A4 EC 00 F8 2A */ fadds f0, f0, f31 /* 80219A48 002169A8 D0 1D 05 24 */ stfs f0, 0x524(r29) /* 80219A4C 002169AC 4B FF D6 D9 */ bl PlayAdditiveChargingAnimation__16CScriptGunTurretFR13CStateManager /* 80219A50 002169B0 A0 7D 02 5C */ lhz r3, 0x25c(r29) /* 80219A54 002169B4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80219A58 002169B8 7C 03 00 40 */ cmplw r3, r0 /* 80219A5C 002169BC 41 82 00 98 */ beq lbl_80219AF4 /* 80219A60 002169C0 A0 1D 02 5C */ lhz r0, 0x25c(r29) /* 80219A64 002169C4 7F C3 F3 78 */ mr r3, r30 /* 80219A68 002169C8 38 81 00 10 */ addi r4, r1, 0x10 /* 80219A6C 002169CC B0 01 00 10 */ sth r0, 0x10(r1) /* 80219A70 002169D0 4B E3 2B 05 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80219A74 002169D4 7C 64 1B 78 */ mr r4, r3 /* 80219A78 002169D8 38 61 00 14 */ addi r3, r1, 0x14 /* 80219A7C 002169DC 4B E8 FD 39 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 80219A80 002169E0 83 E3 00 04 */ lwz r31, 4(r3) /* 80219A84 002169E4 28 1F 00 00 */ cmplwi r31, 0 /* 80219A88 002169E8 41 82 00 6C */ beq lbl_80219AF4 /* 80219A8C 002169EC 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80219A90 002169F0 2C 00 00 0C */ cmpwi r0, 0xc /* 80219A94 002169F4 41 82 00 10 */ beq lbl_80219AA4 /* 80219A98 002169F8 80 1D 05 20 */ lwz r0, 0x520(r29) /* 80219A9C 002169FC 90 1F 05 20 */ stw r0, 0x520(r31) /* 80219AA0 00216A00 48 00 00 54 */ b lbl_80219AF4 lbl_80219AA4: /* 80219AA4 00216A04 80 1D 05 20 */ lwz r0, 0x520(r29) /* 80219AA8 00216A08 2C 00 00 0C */ cmpwi r0, 0xc /* 80219AAC 00216A0C 41 82 00 48 */ beq lbl_80219AF4 /* 80219AB0 00216A10 7F A3 EB 78 */ mr r3, r29 /* 80219AB4 00216A14 7F C5 F3 78 */ mr r5, r30 /* 80219AB8 00216A18 38 80 00 0C */ li r4, 0xc /* 80219ABC 00216A1C 48 00 00 5D */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 80219AC0 00216A20 7F E3 FB 78 */ mr r3, r31 /* 80219AC4 00216A24 7F C6 F3 78 */ mr r6, r30 /* 80219AC8 00216A28 38 80 00 28 */ li r4, 0x28 /* 80219ACC 00216A2C 38 A0 00 29 */ li r5, 0x29 /* 80219AD0 00216A30 4B E3 A4 05 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager /* 80219AD4 00216A34 A0 1D 00 08 */ lhz r0, 8(r29) /* 80219AD8 00216A38 7F C6 F3 78 */ mr r6, r30 /* 80219ADC 00216A3C 38 81 00 0C */ addi r4, r1, 0xc /* 80219AE0 00216A40 38 A0 00 08 */ li r5, 8 /* 80219AE4 00216A44 B0 01 00 0C */ sth r0, 0xc(r1) /* 80219AE8 00216A48 B0 01 00 08 */ sth r0, 8(r1) /* 80219AEC 00216A4C 80 7E 08 4C */ lwz r3, 0x84c(r30) /* 80219AF0 00216A50 4B F6 17 65 */ bl SetOrbitRequestForTarget__7CPlayerF9TUniqueId19EPlayerOrbitRequestR13CStateManager lbl_80219AF4: /* 80219AF4 00216A54 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80219AF8 00216A58 80 01 00 44 */ lwz r0, 0x44(r1) /* 80219AFC 00216A5C CB E1 00 30 */ lfd f31, 0x30(r1) /* 80219B00 00216A60 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80219B04 00216A64 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80219B08 00216A68 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80219B0C 00216A6C 7C 08 03 A6 */ mtlr r0 /* 80219B10 00216A70 38 21 00 40 */ addi r1, r1, 0x40 /* 80219B14 00216A74 4E 80 00 20 */ blr .global SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState: /* 80219B18 00216A78 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80219B1C 00216A7C 7C 08 02 A6 */ mflr r0 /* 80219B20 00216A80 90 01 00 24 */ stw r0, 0x24(r1) /* 80219B24 00216A84 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80219B28 00216A88 7C BF 2B 78 */ mr r31, r5 /* 80219B2C 00216A8C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80219B30 00216A90 7C 9E 23 79 */ or. r30, r4, r4 /* 80219B34 00216A94 93 A1 00 14 */ stw r29, 0x14(r1) /* 80219B38 00216A98 7C 7D 1B 78 */ mr r29, r3 /* 80219B3C 00216A9C 41 80 00 40 */ blt lbl_80219B7C /* 80219B40 00216AA0 2C 1E 00 0C */ cmpwi r30, 0xc /* 80219B44 00216AA4 41 81 00 38 */ bgt lbl_80219B7C /* 80219B48 00216AA8 80 1D 05 20 */ lwz r0, 0x520(r29) /* 80219B4C 00216AAC 2C 00 FF FF */ cmpwi r0, -1 /* 80219B50 00216AB0 41 82 00 10 */ beq lbl_80219B60 /* 80219B54 00216AB4 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 80219B58 00216AB8 38 80 00 02 */ li r4, 2 /* 80219B5C 00216ABC 4B FF FE 31 */ bl ProcessCurrentState__16CScriptGunTurretFfR13CStateManager lbl_80219B60: /* 80219B60 00216AC0 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 80219B64 00216AC4 7F A3 EB 78 */ mr r3, r29 /* 80219B68 00216AC8 93 DD 05 20 */ stw r30, 0x520(r29) /* 80219B6C 00216ACC 7F E5 FB 78 */ mr r5, r31 /* 80219B70 00216AD0 38 80 00 00 */ li r4, 0 /* 80219B74 00216AD4 D0 3D 05 24 */ stfs f1, 0x524(r29) /* 80219B78 00216AD8 4B FF FE 15 */ bl ProcessCurrentState__16CScriptGunTurretFfR13CStateManager lbl_80219B7C: /* 80219B7C 00216ADC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80219B80 00216AE0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80219B84 00216AE4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80219B88 00216AE8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80219B8C 00216AEC 7C 08 03 A6 */ mtlr r0 /* 80219B90 00216AF0 38 21 00 20 */ addi r1, r1, 0x20 /* 80219B94 00216AF4 4E 80 00 20 */ blr .global GetOrbitPosition__16CScriptGunTurretCFRC13CStateManager GetOrbitPosition__16CScriptGunTurretCFRC13CStateManager: /* 80219B98 00216AF8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80219B9C 00216AFC 7C 08 02 A6 */ mflr r0 /* 80219BA0 00216B00 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 80219BA4 00216B04 90 01 00 14 */ stw r0, 0x14(r1) /* 80219BA8 00216B08 93 E1 00 0C */ stw r31, 0xc(r1) /* 80219BAC 00216B0C 7C 7F 1B 78 */ mr r31, r3 /* 80219BB0 00216B10 81 84 00 00 */ lwz r12, 0(r4) /* 80219BB4 00216B14 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 80219BB8 00216B18 7D 89 03 A6 */ mtctr r12 /* 80219BBC 00216B1C 4E 80 04 21 */ bctrl /* 80219BC0 00216B20 80 01 00 14 */ lwz r0, 0x14(r1) /* 80219BC4 00216B24 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80219BC8 00216B28 7C 08 03 A6 */ mtlr r0 /* 80219BCC 00216B2C 38 21 00 10 */ addi r1, r1, 0x10 /* 80219BD0 00216B30 4E 80 00 20 */ blr .global GetAimPosition__16CScriptGunTurretCFRC13CStateManagerf GetAimPosition__16CScriptGunTurretCFRC13CStateManagerf: /* 80219BD4 00216B34 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80219BD8 00216B38 7C 08 02 A6 */ mflr r0 /* 80219BDC 00216B3C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80219BE0 00216B40 93 E1 00 9C */ stw r31, 0x9c(r1) /* 80219BE4 00216B44 7C 9F 23 78 */ mr r31, r4 /* 80219BE8 00216B48 93 C1 00 98 */ stw r30, 0x98(r1) /* 80219BEC 00216B4C 7C 7E 1B 78 */ mr r30, r3 /* 80219BF0 00216B50 80 04 02 58 */ lwz r0, 0x258(r4) /* 80219BF4 00216B54 2C 00 00 01 */ cmpwi r0, 1 /* 80219BF8 00216B58 40 82 00 90 */ bne lbl_80219C88 /* 80219BFC 00216B5C 80 82 B3 50 */ lwz r4, lbl_805AD070@sda21(r2) /* 80219C00 00216B60 38 61 00 20 */ addi r3, r1, 0x20 /* 80219C04 00216B64 4B DE B0 B5 */ bl string_l__4rstlFPCc /* 80219C08 00216B68 7F E4 FB 78 */ mr r4, r31 /* 80219C0C 00216B6C 38 61 00 30 */ addi r3, r1, 0x30 /* 80219C10 00216B70 38 A1 00 20 */ addi r5, r1, 0x20 /* 80219C14 00216B74 4B E3 92 ED */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80219C18 00216B78 38 61 00 60 */ addi r3, r1, 0x60 /* 80219C1C 00216B7C 38 81 00 30 */ addi r4, r1, 0x30 /* 80219C20 00216B80 48 0F 8F 55 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80219C24 00216B84 38 61 00 20 */ addi r3, r1, 0x20 /* 80219C28 00216B88 48 12 3E B9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80219C2C 00216B8C C0 41 00 6C */ lfs f2, 0x6c(r1) /* 80219C30 00216B90 38 61 00 14 */ addi r3, r1, 0x14 /* 80219C34 00216B94 C0 21 00 7C */ lfs f1, 0x7c(r1) /* 80219C38 00216B98 38 9F 00 34 */ addi r4, r31, 0x34 /* 80219C3C 00216B9C C0 01 00 8C */ lfs f0, 0x8c(r1) /* 80219C40 00216BA0 38 A1 00 08 */ addi r5, r1, 8 /* 80219C44 00216BA4 D0 41 00 08 */ stfs f2, 8(r1) /* 80219C48 00216BA8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80219C4C 00216BAC D0 01 00 10 */ stfs f0, 0x10(r1) /* 80219C50 00216BB0 48 0F 8E 31 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 80219C54 00216BB4 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80219C58 00216BB8 C0 01 00 14 */ lfs f0, 0x14(r1) /* 80219C5C 00216BBC C0 9F 00 50 */ lfs f4, 0x50(r31) /* 80219C60 00216BC0 C0 61 00 18 */ lfs f3, 0x18(r1) /* 80219C64 00216BC4 EC 01 00 2A */ fadds f0, f1, f0 /* 80219C68 00216BC8 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80219C6C 00216BCC C0 21 00 1C */ lfs f1, 0x1c(r1) /* 80219C70 00216BD0 EC 64 18 2A */ fadds f3, f4, f3 /* 80219C74 00216BD4 D0 1E 00 00 */ stfs f0, 0(r30) /* 80219C78 00216BD8 EC 02 08 2A */ fadds f0, f2, f1 /* 80219C7C 00216BDC D0 7E 00 04 */ stfs f3, 4(r30) /* 80219C80 00216BE0 D0 1E 00 08 */ stfs f0, 8(r30) /* 80219C84 00216BE4 48 00 00 1C */ b lbl_80219CA0 lbl_80219C88: /* 80219C88 00216BE8 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80219C8C 00216BEC C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80219C90 00216BF0 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80219C94 00216BF4 D0 1E 00 00 */ stfs f0, 0(r30) /* 80219C98 00216BF8 D0 3E 00 04 */ stfs f1, 4(r30) /* 80219C9C 00216BFC D0 5E 00 08 */ stfs f2, 8(r30) lbl_80219CA0: /* 80219CA0 00216C00 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80219CA4 00216C04 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 80219CA8 00216C08 83 C1 00 98 */ lwz r30, 0x98(r1) /* 80219CAC 00216C0C 7C 08 03 A6 */ mtlr r0 /* 80219CB0 00216C10 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80219CB4 00216C14 4E 80 00 20 */ blr .global Touch__16CScriptGunTurretFR6CActorR13CStateManager Touch__16CScriptGunTurretFR6CActorR13CStateManager: /* 80219CB8 00216C18 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80219CBC 00216C1C 7C 08 02 A6 */ mflr r0 /* 80219CC0 00216C20 90 01 00 54 */ stw r0, 0x54(r1) /* 80219CC4 00216C24 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80219CC8 00216C28 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80219CCC 00216C2C DB C1 00 30 */ stfd f30, 0x30(r1) /* 80219CD0 00216C30 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80219CD4 00216C34 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80219CD8 00216C38 93 C1 00 28 */ stw r30, 0x28(r1) /* 80219CDC 00216C3C 93 A1 00 24 */ stw r29, 0x24(r1) /* 80219CE0 00216C40 7C 7E 1B 78 */ mr r30, r3 /* 80219CE4 00216C44 7C BF 2B 78 */ mr r31, r5 /* 80219CE8 00216C48 80 03 02 58 */ lwz r0, 0x258(r3) /* 80219CEC 00216C4C 2C 00 00 01 */ cmpwi r0, 1 /* 80219CF0 00216C50 40 82 01 08 */ bne lbl_80219DF8 /* 80219CF4 00216C54 38 61 00 08 */ addi r3, r1, 8 /* 80219CF8 00216C58 4B E9 3A 81 */ bl "__ct__29TCastToPtr<15CGameProjectile>FR7CEntity" /* 80219CFC 00216C5C 83 A3 00 04 */ lwz r29, 4(r3) /* 80219D00 00216C60 28 1D 00 00 */ cmplwi r29, 0 /* 80219D04 00216C64 41 82 00 F4 */ beq lbl_80219DF8 /* 80219D08 00216C68 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 80219D0C 00216C6C A0 9D 00 EC */ lhz r4, 0xec(r29) /* 80219D10 00216C70 A0 03 00 08 */ lhz r0, 8(r3) /* 80219D14 00216C74 7C 04 00 40 */ cmplw r4, r0 /* 80219D18 00216C78 40 82 00 E0 */ bne lbl_80219DF8 /* 80219D1C 00216C7C 7F C3 F3 78 */ mr r3, r30 /* 80219D20 00216C80 81 9E 00 00 */ lwz r12, 0(r30) /* 80219D24 00216C84 81 8C 00 38 */ lwz r12, 0x38(r12) /* 80219D28 00216C88 7D 89 03 A6 */ mtctr r12 /* 80219D2C 00216C8C 4E 80 04 21 */ bctrl /* 80219D30 00216C90 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80219D34 00216C94 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80219D38 00216C98 40 82 00 AC */ bne lbl_80219DE4 /* 80219D3C 00216C9C 80 1E 05 20 */ lwz r0, 0x520(r30) /* 80219D40 00216CA0 2C 00 00 0C */ cmpwi r0, 0xc /* 80219D44 00216CA4 41 82 00 A0 */ beq lbl_80219DE4 /* 80219D48 00216CA8 80 1D 00 E8 */ lwz r0, 0xe8(r29) /* 80219D4C 00216CAC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c /* 80219D50 00216CB0 2C 00 00 08 */ cmpwi r0, 8 /* 80219D54 00216CB4 40 82 00 90 */ bne lbl_80219DE4 /* 80219D58 00216CB8 88 01 00 14 */ lbz r0, 0x14(r1) /* 80219D5C 00216CBC 38 A0 00 00 */ li r5, 0 /* 80219D60 00216CC0 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 80219D64 00216CC4 38 C0 00 01 */ li r6, 1 /* 80219D68 00216CC8 98 01 00 14 */ stb r0, 0x14(r1) /* 80219D6C 00216CCC 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 80219D70 00216CD0 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 80219D74 00216CD4 38 81 00 10 */ addi r4, r1, 0x10 /* 80219D78 00216CD8 98 01 00 14 */ stb r0, 0x14(r1) /* 80219D7C 00216CDC 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 80219D80 00216CE0 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a /* 80219D84 00216CE4 38 A0 00 00 */ li r5, 0 /* 80219D88 00216CE8 90 C1 00 10 */ stw r6, 0x10(r1) /* 80219D8C 00216CEC 98 01 00 14 */ stb r0, 0x14(r1) /* 80219D90 00216CF0 4B EE 87 F5 */ bl WeaponHits__20CDamageVulnerabilityCFRC11CWeaponModei /* 80219D94 00216CF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80219D98 00216CF8 41 82 00 4C */ beq lbl_80219DE4 /* 80219D9C 00216CFC 88 1E 05 60 */ lbz r0, 0x560(r30) /* 80219DA0 00216D00 38 60 00 01 */ li r3, 1 /* 80219DA4 00216D04 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 80219DA8 00216D08 7F C3 F3 78 */ mr r3, r30 /* 80219DAC 00216D0C 98 1E 05 60 */ stb r0, 0x560(r30) /* 80219DB0 00216D10 7F E5 FB 78 */ mr r5, r31 /* 80219DB4 00216D14 38 80 00 09 */ li r4, 9 /* 80219DB8 00216D18 38 C0 FF FF */ li r6, -1 /* 80219DBC 00216D1C 4B E3 73 05 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 80219DC0 00216D20 C3 FE 03 0C */ lfs f31, 0x30c(r30) /* 80219DC4 00216D24 C3 DE 03 08 */ lfs f30, 0x308(r30) /* 80219DC8 00216D28 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80219DCC 00216D2C 48 0F 87 11 */ bl Float__9CRandom16Fv /* 80219DD0 00216D30 EC 01 F7 FA */ fmadds f0, f1, f31, f30 /* 80219DD4 00216D34 7F C3 F3 78 */ mr r3, r30 /* 80219DD8 00216D38 38 80 00 01 */ li r4, 1 /* 80219DDC 00216D3C D0 1E 05 3C */ stfs f0, 0x53c(r30) /* 80219DE0 00216D40 4B E3 96 0D */ bl SetMuted__6CActorFb lbl_80219DE4: /* 80219DE4 00216D44 7F C3 F3 78 */ mr r3, r30 /* 80219DE8 00216D48 7F E5 FB 78 */ mr r5, r31 /* 80219DEC 00216D4C 38 80 00 16 */ li r4, 0x16 /* 80219DF0 00216D50 38 C0 FF FF */ li r6, -1 /* 80219DF4 00216D54 4B E3 72 CD */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage lbl_80219DF8: /* 80219DF8 00216D58 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80219DFC 00216D5C CB E1 00 40 */ lfd f31, 0x40(r1) /* 80219E00 00216D60 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 80219E04 00216D64 CB C1 00 30 */ lfd f30, 0x30(r1) /* 80219E08 00216D68 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80219E0C 00216D6C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80219E10 00216D70 80 01 00 54 */ lwz r0, 0x54(r1) /* 80219E14 00216D74 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80219E18 00216D78 7C 08 03 A6 */ mtlr r0 /* 80219E1C 00216D7C 38 21 00 50 */ addi r1, r1, 0x50 /* 80219E20 00216D80 4E 80 00 20 */ blr .global GetTouchBounds__16CScriptGunTurretCFv GetTouchBounds__16CScriptGunTurretCFv: /* 80219E24 00216D84 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80219E28 00216D88 7C 08 02 A6 */ mflr r0 /* 80219E2C 00216D8C 90 01 00 34 */ stw r0, 0x34(r1) /* 80219E30 00216D90 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80219E34 00216D94 7C 7F 1B 78 */ mr r31, r3 /* 80219E38 00216D98 88 04 00 30 */ lbz r0, 0x30(r4) /* 80219E3C 00216D9C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80219E40 00216DA0 41 82 00 78 */ beq lbl_80219EB8 /* 80219E44 00216DA4 80 04 00 68 */ lwz r0, 0x68(r4) /* 80219E48 00216DA8 38 A0 00 00 */ li r5, 0 /* 80219E4C 00216DAC 80 C4 00 6C */ lwz r6, 0x6c(r4) /* 80219E50 00216DB0 3C 60 00 08 */ lis r3, 8 /* 80219E54 00216DB4 7C 00 28 38 */ and r0, r0, r5 /* 80219E58 00216DB8 7C C3 18 38 */ and r3, r6, r3 /* 80219E5C 00216DBC 7C 63 2A 78 */ xor r3, r3, r5 /* 80219E60 00216DC0 7C 00 2A 78 */ xor r0, r0, r5 /* 80219E64 00216DC4 7C 60 03 79 */ or. r0, r3, r0 /* 80219E68 00216DC8 41 82 00 50 */ beq lbl_80219EB8 /* 80219E6C 00216DCC 38 61 00 08 */ addi r3, r1, 8 /* 80219E70 00216DD0 4B F0 0A BD */ bl GetBoundingBox__13CPhysicsActorCFv /* 80219E74 00216DD4 38 00 00 01 */ li r0, 1 /* 80219E78 00216DD8 28 1F 00 00 */ cmplwi r31, 0 /* 80219E7C 00216DDC 98 1F 00 18 */ stb r0, 0x18(r31) /* 80219E80 00216DE0 41 82 00 40 */ beq lbl_80219EC0 /* 80219E84 00216DE4 C0 01 00 08 */ lfs f0, 8(r1) /* 80219E88 00216DE8 D0 1F 00 00 */ stfs f0, 0(r31) /* 80219E8C 00216DEC C0 01 00 0C */ lfs f0, 0xc(r1) /* 80219E90 00216DF0 D0 1F 00 04 */ stfs f0, 4(r31) /* 80219E94 00216DF4 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80219E98 00216DF8 D0 1F 00 08 */ stfs f0, 8(r31) /* 80219E9C 00216DFC C0 01 00 14 */ lfs f0, 0x14(r1) /* 80219EA0 00216E00 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 80219EA4 00216E04 C0 01 00 18 */ lfs f0, 0x18(r1) /* 80219EA8 00216E08 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 80219EAC 00216E0C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80219EB0 00216E10 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 80219EB4 00216E14 48 00 00 0C */ b lbl_80219EC0 lbl_80219EB8: /* 80219EB8 00216E18 38 00 00 00 */ li r0, 0 /* 80219EBC 00216E1C 98 1F 00 18 */ stb r0, 0x18(r31) lbl_80219EC0: /* 80219EC0 00216E20 80 01 00 34 */ lwz r0, 0x34(r1) /* 80219EC4 00216E24 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80219EC8 00216E28 7C 08 03 A6 */ mtlr r0 /* 80219ECC 00216E2C 38 21 00 30 */ addi r1, r1, 0x30 /* 80219ED0 00216E30 4E 80 00 20 */ blr .global AddToRenderer__16CScriptGunTurretCFRC14CFrustumPlanesRC13CStateManager AddToRenderer__16CScriptGunTurretCFRC14CFrustumPlanesRC13CStateManager: /* 80219ED4 00216E34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80219ED8 00216E38 7C 08 02 A6 */ mflr r0 /* 80219EDC 00216E3C 90 01 00 14 */ stw r0, 0x14(r1) /* 80219EE0 00216E40 93 E1 00 0C */ stw r31, 0xc(r1) /* 80219EE4 00216E44 7C 7F 1B 78 */ mr r31, r3 /* 80219EE8 00216E48 4B E3 AC 51 */ bl AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager /* 80219EEC 00216E4C 80 1F 02 58 */ lwz r0, 0x258(r31) /* 80219EF0 00216E50 2C 00 00 01 */ cmpwi r0, 1 /* 80219EF4 00216E54 40 82 00 FC */ bne lbl_80219FF0 /* 80219EF8 00216E58 88 1F 05 60 */ lbz r0, 0x560(r31) /* 80219EFC 00216E5C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80219F00 00216E60 40 82 00 D8 */ bne lbl_80219FD8 /* 80219F04 00216E64 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80219F08 00216E68 2C 00 00 06 */ cmpwi r0, 6 /* 80219F0C 00216E6C 41 82 00 84 */ beq lbl_80219F90 /* 80219F10 00216E70 40 80 00 18 */ bge lbl_80219F28 /* 80219F14 00216E74 2C 00 00 05 */ cmpwi r0, 5 /* 80219F18 00216E78 40 80 00 40 */ bge lbl_80219F58 /* 80219F1C 00216E7C 2C 00 00 01 */ cmpwi r0, 1 /* 80219F20 00216E80 40 80 00 1C */ bge lbl_80219F3C /* 80219F24 00216E84 48 00 00 CC */ b lbl_80219FF0 lbl_80219F28: /* 80219F28 00216E88 2C 00 00 0D */ cmpwi r0, 0xd /* 80219F2C 00216E8C 40 80 00 C4 */ bge lbl_80219FF0 /* 80219F30 00216E90 2C 00 00 09 */ cmpwi r0, 9 /* 80219F34 00216E94 40 80 00 5C */ bge lbl_80219F90 /* 80219F38 00216E98 48 00 00 3C */ b lbl_80219F74 lbl_80219F3C: /* 80219F3C 00216E9C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 80219F40 00216EA0 80 9F 04 74 */ lwz r4, 0x474(r31) /* 80219F44 00216EA4 81 83 00 00 */ lwz r12, 0(r3) /* 80219F48 00216EA8 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219F4C 00216EAC 7D 89 03 A6 */ mtctr r12 /* 80219F50 00216EB0 4E 80 04 21 */ bctrl /* 80219F54 00216EB4 48 00 00 9C */ b lbl_80219FF0 lbl_80219F58: /* 80219F58 00216EB8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 80219F5C 00216EBC 80 9F 04 6C */ lwz r4, 0x46c(r31) /* 80219F60 00216EC0 81 83 00 00 */ lwz r12, 0(r3) /* 80219F64 00216EC4 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219F68 00216EC8 7D 89 03 A6 */ mtctr r12 /* 80219F6C 00216ECC 4E 80 04 21 */ bctrl /* 80219F70 00216ED0 48 00 00 80 */ b lbl_80219FF0 lbl_80219F74: /* 80219F74 00216ED4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 80219F78 00216ED8 80 9F 04 94 */ lwz r4, 0x494(r31) /* 80219F7C 00216EDC 81 83 00 00 */ lwz r12, 0(r3) /* 80219F80 00216EE0 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219F84 00216EE4 7D 89 03 A6 */ mtctr r12 /* 80219F88 00216EE8 4E 80 04 21 */ bctrl /* 80219F8C 00216EEC 48 00 00 64 */ b lbl_80219FF0 lbl_80219F90: /* 80219F90 00216EF0 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 80219F94 00216EF4 80 9F 04 7C */ lwz r4, 0x47c(r31) /* 80219F98 00216EF8 81 83 00 00 */ lwz r12, 0(r3) /* 80219F9C 00216EFC 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219FA0 00216F00 7D 89 03 A6 */ mtctr r12 /* 80219FA4 00216F04 4E 80 04 21 */ bctrl /* 80219FA8 00216F08 80 1F 05 20 */ lwz r0, 0x520(r31) /* 80219FAC 00216F0C 2C 00 00 0A */ cmpwi r0, 0xa /* 80219FB0 00216F10 41 82 00 0C */ beq lbl_80219FBC /* 80219FB4 00216F14 2C 00 00 0C */ cmpwi r0, 0xc /* 80219FB8 00216F18 40 82 00 38 */ bne lbl_80219FF0 lbl_80219FBC: /* 80219FBC 00216F1C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 80219FC0 00216F20 80 9F 04 8C */ lwz r4, 0x48c(r31) /* 80219FC4 00216F24 81 83 00 00 */ lwz r12, 0(r3) /* 80219FC8 00216F28 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219FCC 00216F2C 7D 89 03 A6 */ mtctr r12 /* 80219FD0 00216F30 4E 80 04 21 */ bctrl /* 80219FD4 00216F34 48 00 00 1C */ b lbl_80219FF0 lbl_80219FD8: /* 80219FD8 00216F38 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 80219FDC 00216F3C 80 9F 04 84 */ lwz r4, 0x484(r31) /* 80219FE0 00216F40 81 83 00 00 */ lwz r12, 0(r3) /* 80219FE4 00216F44 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80219FE8 00216F48 7D 89 03 A6 */ mtctr r12 /* 80219FEC 00216F4C 4E 80 04 21 */ bctrl lbl_80219FF0: /* 80219FF0 00216F50 80 01 00 14 */ lwz r0, 0x14(r1) /* 80219FF4 00216F54 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80219FF8 00216F58 7C 08 03 A6 */ mtlr r0 /* 80219FFC 00216F5C 38 21 00 10 */ addi r1, r1, 0x10 /* 8021A000 00216F60 4E 80 00 20 */ blr .global Render__16CScriptGunTurretCFRC13CStateManager Render__16CScriptGunTurretCFRC13CStateManager: /* 8021A004 00216F64 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8021A008 00216F68 7C 08 02 A6 */ mflr r0 /* 8021A00C 00216F6C 90 01 00 54 */ stw r0, 0x54(r1) /* 8021A010 00216F70 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8021A014 00216F74 7C 9F 23 78 */ mr r31, r4 /* 8021A018 00216F78 93 C1 00 48 */ stw r30, 0x48(r1) /* 8021A01C 00216F7C 7C 7E 1B 78 */ mr r30, r3 /* 8021A020 00216F80 4B F0 04 C9 */ bl Render__13CPhysicsActorCFRC13CStateManager /* 8021A024 00216F84 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A028 00216F88 2C 00 00 01 */ cmpwi r0, 1 /* 8021A02C 00216F8C 40 82 00 E0 */ bne lbl_8021A10C /* 8021A030 00216F90 88 1E 05 60 */ lbz r0, 0x560(r30) /* 8021A034 00216F94 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8021A038 00216F98 40 82 00 BC */ bne lbl_8021A0F4 /* 8021A03C 00216F9C 80 1E 05 20 */ lwz r0, 0x520(r30) /* 8021A040 00216FA0 2C 00 00 06 */ cmpwi r0, 6 /* 8021A044 00216FA4 41 82 00 78 */ beq lbl_8021A0BC /* 8021A048 00216FA8 40 80 00 18 */ bge lbl_8021A060 /* 8021A04C 00216FAC 2C 00 00 05 */ cmpwi r0, 5 /* 8021A050 00216FB0 40 80 00 3C */ bge lbl_8021A08C /* 8021A054 00216FB4 2C 00 00 01 */ cmpwi r0, 1 /* 8021A058 00216FB8 40 80 00 1C */ bge lbl_8021A074 /* 8021A05C 00216FBC 48 00 01 7C */ b lbl_8021A1D8 lbl_8021A060: /* 8021A060 00216FC0 2C 00 00 0D */ cmpwi r0, 0xd /* 8021A064 00216FC4 40 80 01 74 */ bge lbl_8021A1D8 /* 8021A068 00216FC8 2C 00 00 09 */ cmpwi r0, 9 /* 8021A06C 00216FCC 40 80 00 50 */ bge lbl_8021A0BC /* 8021A070 00216FD0 48 00 00 34 */ b lbl_8021A0A4 lbl_8021A074: /* 8021A074 00216FD4 80 7E 04 74 */ lwz r3, 0x474(r30) /* 8021A078 00216FD8 81 83 00 00 */ lwz r12, 0(r3) /* 8021A07C 00216FDC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8021A080 00216FE0 7D 89 03 A6 */ mtctr r12 /* 8021A084 00216FE4 4E 80 04 21 */ bctrl /* 8021A088 00216FE8 48 00 01 50 */ b lbl_8021A1D8 lbl_8021A08C: /* 8021A08C 00216FEC 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 8021A090 00216FF0 81 83 00 00 */ lwz r12, 0(r3) /* 8021A094 00216FF4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8021A098 00216FF8 7D 89 03 A6 */ mtctr r12 /* 8021A09C 00216FFC 4E 80 04 21 */ bctrl /* 8021A0A0 00217000 48 00 01 38 */ b lbl_8021A1D8 lbl_8021A0A4: /* 8021A0A4 00217004 80 7E 04 94 */ lwz r3, 0x494(r30) /* 8021A0A8 00217008 81 83 00 00 */ lwz r12, 0(r3) /* 8021A0AC 0021700C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8021A0B0 00217010 7D 89 03 A6 */ mtctr r12 /* 8021A0B4 00217014 4E 80 04 21 */ bctrl /* 8021A0B8 00217018 48 00 01 20 */ b lbl_8021A1D8 lbl_8021A0BC: /* 8021A0BC 0021701C 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 8021A0C0 00217020 81 83 00 00 */ lwz r12, 0(r3) /* 8021A0C4 00217024 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8021A0C8 00217028 7D 89 03 A6 */ mtctr r12 /* 8021A0CC 0021702C 4E 80 04 21 */ bctrl /* 8021A0D0 00217030 80 1E 05 20 */ lwz r0, 0x520(r30) /* 8021A0D4 00217034 2C 00 00 0A */ cmpwi r0, 0xa /* 8021A0D8 00217038 40 82 01 00 */ bne lbl_8021A1D8 /* 8021A0DC 0021703C 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 8021A0E0 00217040 81 83 00 00 */ lwz r12, 0(r3) /* 8021A0E4 00217044 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8021A0E8 00217048 7D 89 03 A6 */ mtctr r12 /* 8021A0EC 0021704C 4E 80 04 21 */ bctrl /* 8021A0F0 00217050 48 00 00 E8 */ b lbl_8021A1D8 lbl_8021A0F4: /* 8021A0F4 00217054 80 7E 04 84 */ lwz r3, 0x484(r30) /* 8021A0F8 00217058 81 83 00 00 */ lwz r12, 0(r3) /* 8021A0FC 0021705C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8021A100 00217060 7D 89 03 A6 */ mtctr r12 /* 8021A104 00217064 4E 80 04 21 */ bctrl /* 8021A108 00217068 48 00 00 D0 */ b lbl_8021A1D8 lbl_8021A10C: /* 8021A10C 0021706C 2C 00 00 00 */ cmpwi r0, 0 /* 8021A110 00217070 40 82 00 C8 */ bne lbl_8021A1D8 /* 8021A114 00217074 88 1E 04 F0 */ lbz r0, 0x4f0(r30) /* 8021A118 00217078 28 00 00 00 */ cmplwi r0, 0 /* 8021A11C 0021707C 41 82 00 BC */ beq lbl_8021A1D8 /* 8021A120 00217080 C0 3E 04 F8 */ lfs f1, 0x4f8(r30) /* 8021A124 00217084 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021A128 00217088 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021A12C 0021708C 40 81 00 AC */ ble lbl_8021A1D8 /* 8021A130 00217090 38 61 00 10 */ addi r3, r1, 0x10 /* 8021A134 00217094 38 9E 00 34 */ addi r4, r30, 0x34 /* 8021A138 00217098 48 0F 8A 3D */ bl __ct__12CTransform4fFRC12CTransform4f /* 8021A13C 0021709C 3C 60 80 5A */ lis r3, sDownVector__9CVector3f@ha /* 8021A140 002170A0 C0 22 B3 68 */ lfs f1, lbl_805AD088@sda21(r2) /* 8021A144 002170A4 38 63 67 00 */ addi r3, r3, sDownVector__9CVector3f@l /* 8021A148 002170A8 38 80 00 00 */ li r4, 0 /* 8021A14C 002170AC C0 C2 B3 78 */ lfs f6, lbl_805AD098@sda21(r2) /* 8021A150 002170B0 38 00 00 03 */ li r0, 3 /* 8021A154 002170B4 C0 A3 00 04 */ lfs f5, 4(r3) /* 8021A158 002170B8 FC 40 08 90 */ fmr f2, f1 /* 8021A15C 002170BC C0 83 00 08 */ lfs f4, 8(r3) /* 8021A160 002170C0 FC 60 08 90 */ fmr f3, f1 /* 8021A164 002170C4 C0 03 00 00 */ lfs f0, 0(r3) /* 8021A168 002170C8 EC E6 01 72 */ fmuls f7, f6, f5 /* 8021A16C 002170CC C1 3E 04 F4 */ lfs f9, 0x4f4(r30) /* 8021A170 002170D0 EC A6 01 32 */ fmuls f5, f6, f4 /* 8021A174 002170D4 C1 1E 05 00 */ lfs f8, 0x500(r30) /* 8021A178 002170D8 EC 06 00 32 */ fmuls f0, f6, f0 /* 8021A17C 002170DC C0 DE 05 04 */ lfs f6, 0x504(r30) /* 8021A180 002170E0 EC E9 01 F2 */ fmuls f7, f9, f7 /* 8021A184 002170E4 C0 9E 04 FC */ lfs f4, 0x4fc(r30) /* 8021A188 002170E8 EC A9 01 72 */ fmuls f5, f9, f5 /* 8021A18C 002170EC 98 81 00 08 */ stb r4, 8(r1) /* 8021A190 002170F0 EC 09 00 32 */ fmuls f0, f9, f0 /* 8021A194 002170F4 38 61 00 0C */ addi r3, r1, 0xc /* 8021A198 002170F8 EC E8 38 2A */ fadds f7, f8, f7 /* 8021A19C 002170FC 98 81 00 09 */ stb r4, 9(r1) /* 8021A1A0 00217100 EC A6 28 2A */ fadds f5, f6, f5 /* 8021A1A4 00217104 B0 01 00 0A */ sth r0, 0xa(r1) /* 8021A1A8 00217108 EC 04 00 2A */ fadds f0, f4, f0 /* 8021A1AC 0021710C FC 80 08 90 */ fmr f4, f1 /* 8021A1B0 00217110 D0 E1 00 2C */ stfs f7, 0x2c(r1) /* 8021A1B4 00217114 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8021A1B8 00217118 D0 A1 00 3C */ stfs f5, 0x3c(r1) /* 8021A1BC 0021711C 48 14 92 31 */ bl __ct__6CColorFffff /* 8021A1C0 00217120 80 DE 00 90 */ lwz r6, 0x90(r30) /* 8021A1C4 00217124 7F E4 FB 78 */ mr r4, r31 /* 8021A1C8 00217128 38 7E 04 A4 */ addi r3, r30, 0x4a4 /* 8021A1CC 0021712C 38 A1 00 10 */ addi r5, r1, 0x10 /* 8021A1D0 00217130 38 E1 00 08 */ addi r7, r1, 8 /* 8021A1D4 00217134 4B EF AB E9 */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags lbl_8021A1D8: /* 8021A1D8 00217138 80 01 00 54 */ lwz r0, 0x54(r1) /* 8021A1DC 0021713C 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8021A1E0 00217140 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8021A1E4 00217144 7C 08 03 A6 */ mtlr r0 /* 8021A1E8 00217148 38 21 00 50 */ addi r1, r1, 0x50 /* 8021A1EC 0021714C 4E 80 00 20 */ blr .global Accept__16CScriptGunTurretFR8IVisitor Accept__16CScriptGunTurretFR8IVisitor: /* 8021A1F0 00217150 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8021A1F4 00217154 7C 08 02 A6 */ mflr r0 /* 8021A1F8 00217158 90 01 00 14 */ stw r0, 0x14(r1) /* 8021A1FC 0021715C 7C 60 1B 78 */ mr r0, r3 /* 8021A200 00217160 7C 83 23 78 */ mr r3, r4 /* 8021A204 00217164 81 84 00 00 */ lwz r12, 0(r4) /* 8021A208 00217168 7C 04 03 78 */ mr r4, r0 /* 8021A20C 0021716C 81 8C 00 90 */ lwz r12, 0x90(r12) /* 8021A210 00217170 7D 89 03 A6 */ mtctr r12 /* 8021A214 00217174 4E 80 04 21 */ bctrl /* 8021A218 00217178 80 01 00 14 */ lwz r0, 0x14(r1) /* 8021A21C 0021717C 7C 08 03 A6 */ mtlr r0 /* 8021A220 00217180 38 21 00 10 */ addi r1, r1, 0x10 /* 8021A224 00217184 4E 80 00 20 */ blr .global AcceptScriptMsg__16CScriptGunTurretF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__16CScriptGunTurretF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 8021A228 00217188 94 21 FE 40 */ stwu r1, -0x1c0(r1) /* 8021A22C 0021718C 7C 08 02 A6 */ mflr r0 /* 8021A230 00217190 90 01 01 C4 */ stw r0, 0x1c4(r1) /* 8021A234 00217194 BF 41 01 A8 */ stmw r26, 0x1a8(r1) /* 8021A238 00217198 7C BC 2B 78 */ mr r28, r5 /* 8021A23C 0021719C 7C 7E 1B 78 */ mr r30, r3 /* 8021A240 002171A0 7C 9D 23 78 */ mr r29, r4 /* 8021A244 002171A4 7C DF 33 78 */ mr r31, r6 /* 8021A248 002171A8 A0 05 00 00 */ lhz r0, 0(r5) /* 8021A24C 002171AC 38 A1 00 38 */ addi r5, r1, 0x38 /* 8021A250 002171B0 B0 01 00 38 */ sth r0, 0x38(r1) /* 8021A254 002171B4 4B E3 93 C1 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 8021A258 002171B8 28 1D 00 29 */ cmplwi r29, 0x29 /* 8021A25C 002171BC 41 81 05 2C */ bgt lbl_8021A788 /* 8021A260 002171C0 3C 60 80 3E */ lis r3, lbl_803E72A4@ha /* 8021A264 002171C4 57 A0 10 3A */ slwi r0, r29, 2 /* 8021A268 002171C8 38 63 72 A4 */ addi r3, r3, lbl_803E72A4@l /* 8021A26C 002171CC 7C 03 00 2E */ lwzx r0, r3, r0 /* 8021A270 002171D0 7C 09 03 A6 */ mtctr r0 /* 8021A274 002171D4 4E 80 04 20 */ bctr .global lbl_8021A278 lbl_8021A278: /* 8021A278 002171D8 80 7E 04 9C */ lwz r3, 0x49c(r30) /* 8021A27C 002171DC 28 03 00 00 */ cmplwi r3, 0 /* 8021A280 002171E0 41 82 05 08 */ beq lbl_8021A788 /* 8021A284 002171E4 7F E4 FB 78 */ mr r4, r31 /* 8021A288 002171E8 38 A0 00 01 */ li r5, 1 /* 8021A28C 002171EC 4B F8 D0 6D */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb /* 8021A290 002171F0 48 00 04 F8 */ b lbl_8021A788 .global lbl_8021A294 lbl_8021A294: /* 8021A294 002171F4 80 7E 04 9C */ lwz r3, 0x49c(r30) /* 8021A298 002171F8 28 03 00 00 */ cmplwi r3, 0 /* 8021A29C 002171FC 41 82 04 EC */ beq lbl_8021A788 /* 8021A2A0 00217200 7F E4 FB 78 */ mr r4, r31 /* 8021A2A4 00217204 38 A0 00 00 */ li r5, 0 /* 8021A2A8 00217208 4B F8 D0 51 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb /* 8021A2AC 0021720C 48 00 04 DC */ b lbl_8021A788 .global lbl_8021A2B0 lbl_8021A2B0: /* 8021A2B0 00217210 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A2B4 00217214 2C 00 00 01 */ cmpwi r0, 1 /* 8021A2B8 00217218 40 82 01 44 */ bne lbl_8021A3FC /* 8021A2BC 0021721C 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 8021A2C0 00217220 81 83 00 00 */ lwz r12, 0(r3) /* 8021A2C4 00217224 81 8C 00 64 */ lwz r12, 0x64(r12) /* 8021A2C8 00217228 7D 89 03 A6 */ mtctr r12 /* 8021A2CC 0021722C 4E 80 04 21 */ bctrl /* 8021A2D0 00217230 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8021A2D4 00217234 41 82 01 28 */ beq lbl_8021A3FC /* 8021A2D8 00217238 7F E4 FB 78 */ mr r4, r31 /* 8021A2DC 0021723C 38 61 00 34 */ addi r3, r1, 0x34 /* 8021A2E0 00217240 4B E3 2D FD */ bl AllocateUniqueId__13CStateManagerFv /* 8021A2E4 00217244 A0 01 00 34 */ lhz r0, 0x34(r1) /* 8021A2E8 00217248 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021A2EC 0021724C 38 63 2F F0 */ addi r3, r3, lbl_803D2FF0@l /* 8021A2F0 00217250 3B 60 00 00 */ li r27, 0 /* 8021A2F4 00217254 B0 1E 04 98 */ sth r0, 0x498(r30) /* 8021A2F8 00217258 38 83 00 31 */ addi r4, r3, 0x31 /* 8021A2FC 0021725C 3B 40 00 00 */ li r26, 0 /* 8021A300 00217260 38 60 01 48 */ li r3, 0x148 /* 8021A304 00217264 38 A0 00 00 */ li r5, 0 /* 8021A308 00217268 48 0F B5 65 */ bl __nw__FUlPCcPCc /* 8021A30C 0021726C 7C 7D 1B 79 */ or. r29, r3, r3 /* 8021A310 00217270 41 82 00 B0 */ beq lbl_8021A3C0 /* 8021A314 00217274 A0 1E 00 08 */ lhz r0, 8(r30) /* 8021A318 00217278 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021A31C 0021727C 83 9E 04 7C */ lwz r28, 0x47c(r30) /* 8021A320 00217280 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021A324 00217284 B0 01 00 2C */ sth r0, 0x2c(r1) /* 8021A328 00217288 38 61 00 8C */ addi r3, r1, 0x8c /* 8021A32C 0021728C 38 84 00 38 */ addi r4, r4, 0x38 /* 8021A330 00217290 B0 01 00 30 */ sth r0, 0x30(r1) /* 8021A334 00217294 4B DE A9 85 */ bl string_l__4rstlFPCc /* 8021A338 00217298 38 61 00 7C */ addi r3, r1, 0x7c /* 8021A33C 0021729C 38 81 00 8C */ addi r4, r1, 0x8c /* 8021A340 002172A0 38 BE 00 10 */ addi r5, r30, 0x10 /* 8021A344 002172A4 3B 60 00 01 */ li r27, 1 /* 8021A348 002172A8 4B DE A9 15 */ bl "__pl__4rstlFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 8021A34C 002172AC 88 1E 00 30 */ lbz r0, 0x30(r30) /* 8021A350 002172B0 7F 84 E3 78 */ mr r4, r28 /* 8021A354 002172B4 80 BE 00 04 */ lwz r5, 4(r30) /* 8021A358 002172B8 38 61 01 50 */ addi r3, r1, 0x150 /* 8021A35C 002172BC 54 1C CF FE */ rlwinm r28, r0, 0x19, 0x1f, 0x1f /* 8021A360 002172C0 3B 40 00 01 */ li r26, 1 /* 8021A364 002172C4 90 A1 00 4C */ stw r5, 0x4c(r1) /* 8021A368 002172C8 A0 1E 04 98 */ lhz r0, 0x498(r30) /* 8021A36C 002172CC 90 A1 00 48 */ stw r5, 0x48(r1) /* 8021A370 002172D0 B0 01 00 28 */ sth r0, 0x28(r1) /* 8021A374 002172D4 81 84 00 00 */ lwz r12, 0(r4) /* 8021A378 002172D8 81 8C 00 68 */ lwz r12, 0x68(r12) /* 8021A37C 002172DC 7D 89 03 A6 */ mtctr r12 /* 8021A380 002172E0 4E 80 04 21 */ bctrl /* 8021A384 002172E4 38 60 00 00 */ li r3, 0 /* 8021A388 002172E8 38 00 00 01 */ li r0, 1 /* 8021A38C 002172EC 90 61 00 08 */ stw r3, 8(r1) /* 8021A390 002172F0 7F A3 EB 78 */ mr r3, r29 /* 8021A394 002172F4 C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 8021A398 002172F8 7F 86 E3 78 */ mr r6, r28 /* 8021A39C 002172FC 90 01 00 0C */ stw r0, 0xc(r1) /* 8021A3A0 00217300 38 81 00 28 */ addi r4, r1, 0x28 /* 8021A3A4 00217304 38 A1 00 4C */ addi r5, r1, 0x4c /* 8021A3A8 00217308 38 E1 00 7C */ addi r7, r1, 0x7c /* 8021A3AC 0021730C 39 1E 00 34 */ addi r8, r30, 0x34 /* 8021A3B0 00217310 39 21 00 30 */ addi r9, r1, 0x30 /* 8021A3B4 00217314 39 41 01 50 */ addi r10, r1, 0x150 /* 8021A3B8 00217318 4B E9 B4 6D */ bl "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif" /* 8021A3BC 0021731C 7C 7D 1B 78 */ mr r29, r3 lbl_8021A3C0: /* 8021A3C0 00217320 7F E3 FB 78 */ mr r3, r31 /* 8021A3C4 00217324 7F A4 EB 78 */ mr r4, r29 /* 8021A3C8 00217328 4B E3 29 2D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence /* 8021A3CC 0021732C 7F 40 07 75 */ extsb. r0, r26 /* 8021A3D0 00217330 41 82 00 0C */ beq lbl_8021A3DC /* 8021A3D4 00217334 38 61 00 7C */ addi r3, r1, 0x7c /* 8021A3D8 00217338 48 12 37 09 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_8021A3DC: /* 8021A3DC 0021733C 7F 60 07 75 */ extsb. r0, r27 /* 8021A3E0 00217340 41 82 00 0C */ beq lbl_8021A3EC /* 8021A3E4 00217344 38 61 00 8C */ addi r3, r1, 0x8c /* 8021A3E8 00217348 48 12 36 F9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_8021A3EC: /* 8021A3EC 0021734C 7F C3 F3 78 */ mr r3, r30 /* 8021A3F0 00217350 7F E4 FB 78 */ mr r4, r31 /* 8021A3F4 00217354 4B FF B7 91 */ bl SetupCollisionManager__16CScriptGunTurretFR13CStateManager /* 8021A3F8 00217358 48 00 03 90 */ b lbl_8021A788 lbl_8021A3FC: /* 8021A3FC 0021735C 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A400 00217360 2C 00 00 00 */ cmpwi r0, 0 /* 8021A404 00217364 40 82 03 84 */ bne lbl_8021A788 /* 8021A408 00217368 80 DE 03 5C */ lwz r6, 0x35c(r30) /* 8021A40C 0021736C 3C 06 00 01 */ addis r0, r6, 1 /* 8021A410 00217370 28 00 FF FF */ cmplwi r0, 0xffff /* 8021A414 00217374 41 82 00 9C */ beq lbl_8021A4B0 /* 8021A418 00217378 80 BE 00 64 */ lwz r5, 0x64(r30) /* 8021A41C 0021737C 38 61 01 04 */ addi r3, r1, 0x104 /* 8021A420 00217380 38 81 00 6C */ addi r4, r1, 0x6c /* 8021A424 00217384 C0 45 00 00 */ lfs f2, 0(r5) /* 8021A428 00217388 C0 25 00 04 */ lfs f1, 4(r5) /* 8021A42C 0021738C C0 05 00 08 */ lfs f0, 8(r5) /* 8021A430 00217390 D0 41 00 60 */ stfs f2, 0x60(r1) /* 8021A434 00217394 D0 21 00 64 */ stfs f1, 0x64(r1) /* 8021A438 00217398 D0 01 00 68 */ stfs f0, 0x68(r1) /* 8021A43C 0021739C 90 C1 00 6C */ stw r6, 0x6c(r1) /* 8021A440 002173A0 D0 41 00 70 */ stfs f2, 0x70(r1) /* 8021A444 002173A4 D0 21 00 74 */ stfs f1, 0x74(r1) /* 8021A448 002173A8 D0 01 00 78 */ stfs f0, 0x78(r1) /* 8021A44C 002173AC 4B EF C9 11 */ bl __ct__10CModelDataFRC10CStaticRes /* 8021A450 002173B0 38 61 00 B4 */ addi r3, r1, 0xb4 /* 8021A454 002173B4 38 81 01 04 */ addi r4, r1, 0x104 /* 8021A458 002173B8 4B EC DE 41 */ bl sub_800e8298 /* 8021A45C 002173BC 38 7E 04 A4 */ addi r3, r30, 0x4a4 /* 8021A460 002173C0 38 81 00 B4 */ addi r4, r1, 0xb4 /* 8021A464 002173C4 4B F0 38 E9 */ bl sub_8011dd4c /* 8021A468 002173C8 88 01 01 00 */ lbz r0, 0x100(r1) /* 8021A46C 002173CC 28 00 00 00 */ cmplwi r0, 0 /* 8021A470 002173D0 41 82 00 10 */ beq lbl_8021A480 /* 8021A474 002173D4 38 61 00 B4 */ addi r3, r1, 0xb4 /* 8021A478 002173D8 38 80 FF FF */ li r4, -1 /* 8021A47C 002173DC 4B EF C5 D1 */ bl __dt__10CModelDataFv lbl_8021A480: /* 8021A480 002173E0 38 00 00 00 */ li r0, 0 /* 8021A484 002173E4 38 61 01 04 */ addi r3, r1, 0x104 /* 8021A488 002173E8 98 01 01 00 */ stb r0, 0x100(r1) /* 8021A48C 002173EC 38 80 FF FF */ li r4, -1 /* 8021A490 002173F0 4B EF C5 BD */ bl __dt__10CModelDataFv /* 8021A494 002173F4 38 61 00 9C */ addi r3, r1, 0x9c /* 8021A498 002173F8 38 9E 04 A4 */ addi r4, r30, 0x4a4 /* 8021A49C 002173FC 4B EF B1 29 */ bl GetBounds__10CModelDataCFv /* 8021A4A0 00217400 C0 21 00 B0 */ lfs f1, 0xb0(r1) /* 8021A4A4 00217404 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 8021A4A8 00217408 EC 01 00 28 */ fsubs f0, f1, f0 /* 8021A4AC 0021740C D0 1E 04 F4 */ stfs f0, 0x4f4(r30) lbl_8021A4B0: /* 8021A4B0 00217410 7F C3 F3 78 */ mr r3, r30 /* 8021A4B4 00217414 7F E5 FB 78 */ mr r5, r31 /* 8021A4B8 00217418 38 80 00 05 */ li r4, 5 /* 8021A4BC 0021741C 4B FF F6 5D */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 8021A4C0 00217420 48 00 02 C8 */ b lbl_8021A788 .global lbl_8021A4C4 lbl_8021A4C4: /* 8021A4C4 00217424 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A4C8 00217428 2C 00 00 01 */ cmpwi r0, 1 /* 8021A4CC 0021742C 40 82 00 28 */ bne lbl_8021A4F4 /* 8021A4D0 00217430 A0 7E 04 98 */ lhz r3, 0x498(r30) /* 8021A4D4 00217434 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8021A4D8 00217438 7C 03 00 40 */ cmplw r3, r0 /* 8021A4DC 0021743C 41 82 00 18 */ beq lbl_8021A4F4 /* 8021A4E0 00217440 A0 1E 04 98 */ lhz r0, 0x498(r30) /* 8021A4E4 00217444 7F E3 FB 78 */ mr r3, r31 /* 8021A4E8 00217448 38 81 00 24 */ addi r4, r1, 0x24 /* 8021A4EC 0021744C B0 01 00 24 */ sth r0, 0x24(r1) /* 8021A4F0 00217450 4B E3 1D 7D */ bl FreeScriptObject__13CStateManagerF9TUniqueId lbl_8021A4F4: /* 8021A4F4 00217454 80 1E 05 0C */ lwz r0, 0x50c(r30) /* 8021A4F8 00217458 28 00 00 00 */ cmplwi r0, 0 /* 8021A4FC 0021745C 41 82 00 14 */ beq lbl_8021A510 /* 8021A500 00217460 80 1E 05 0C */ lwz r0, 0x50c(r30) /* 8021A504 00217464 38 61 00 44 */ addi r3, r1, 0x44 /* 8021A508 00217468 90 01 00 44 */ stw r0, 0x44(r1) /* 8021A50C 0021746C 48 0C F9 79 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle lbl_8021A510: /* 8021A510 00217470 80 7E 04 9C */ lwz r3, 0x49c(r30) /* 8021A514 00217474 28 03 00 00 */ cmplwi r3, 0 /* 8021A518 00217478 41 82 02 70 */ beq lbl_8021A788 /* 8021A51C 0021747C 7F E4 FB 78 */ mr r4, r31 /* 8021A520 00217480 4B F8 CE A5 */ bl Destroy__22CCollisionActorManagerCFR13CStateManager /* 8021A524 00217484 48 00 02 64 */ b lbl_8021A788 .global lbl_8021A528 lbl_8021A528: /* 8021A528 00217488 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A52C 0021748C 2C 00 00 00 */ cmpwi r0, 0 /* 8021A530 00217490 40 82 02 58 */ bne lbl_8021A788 /* 8021A534 00217494 80 1E 05 20 */ lwz r0, 0x520(r30) /* 8021A538 00217498 2C 00 00 05 */ cmpwi r0, 5 /* 8021A53C 0021749C 40 82 02 4C */ bne lbl_8021A788 /* 8021A540 002174A0 88 1E 05 60 */ lbz r0, 0x560(r30) /* 8021A544 002174A4 38 60 00 01 */ li r3, 1 /* 8021A548 002174A8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8021A54C 002174AC 98 1E 05 60 */ stb r0, 0x560(r30) /* 8021A550 002174B0 48 00 02 38 */ b lbl_8021A788 .global lbl_8021A554 lbl_8021A554: /* 8021A554 002174B4 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A558 002174B8 2C 00 00 00 */ cmpwi r0, 0 /* 8021A55C 002174BC 40 82 02 2C */ bne lbl_8021A788 /* 8021A560 002174C0 80 1E 05 20 */ lwz r0, 0x520(r30) /* 8021A564 002174C4 2C 00 00 01 */ cmpwi r0, 1 /* 8021A568 002174C8 41 82 02 20 */ beq lbl_8021A788 /* 8021A56C 002174CC 2C 00 00 02 */ cmpwi r0, 2 /* 8021A570 002174D0 41 82 02 18 */ beq lbl_8021A788 /* 8021A574 002174D4 2C 00 00 03 */ cmpwi r0, 3 /* 8021A578 002174D8 41 82 02 10 */ beq lbl_8021A788 /* 8021A57C 002174DC 88 1E 05 60 */ lbz r0, 0x560(r30) /* 8021A580 002174E0 7F C3 F3 78 */ mr r3, r30 /* 8021A584 002174E4 38 80 00 03 */ li r4, 3 /* 8021A588 002174E8 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8021A58C 002174EC 41 82 00 08 */ beq lbl_8021A594 /* 8021A590 002174F0 38 80 00 04 */ li r4, 4 lbl_8021A594: /* 8021A594 002174F4 7F E5 FB 78 */ mr r5, r31 /* 8021A598 002174F8 4B FF F5 81 */ bl SetTurretState__16CScriptGunTurretFQ216CScriptGunTurret12ETurretState /* 8021A59C 002174FC 48 00 01 EC */ b lbl_8021A788 .global lbl_8021A5A0 lbl_8021A5A0: /* 8021A5A0 00217500 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A5A4 00217504 2C 00 00 01 */ cmpwi r0, 1 /* 8021A5A8 00217508 40 82 00 14 */ bne lbl_8021A5BC /* 8021A5AC 0021750C 7F C3 F3 78 */ mr r3, r30 /* 8021A5B0 00217510 7F E4 FB 78 */ mr r4, r31 /* 8021A5B4 00217514 4B FF CE 55 */ bl LaunchProjectile__16CScriptGunTurretFR13CStateManager /* 8021A5B8 00217518 48 00 01 D0 */ b lbl_8021A788 lbl_8021A5BC: /* 8021A5BC 0021751C 2C 00 00 00 */ cmpwi r0, 0 /* 8021A5C0 00217520 40 82 01 C8 */ bne lbl_8021A788 /* 8021A5C4 00217524 7F C3 F3 78 */ mr r3, r30 /* 8021A5C8 00217528 7F E4 FB 78 */ mr r4, r31 /* 8021A5CC 0021752C 4B FF CC ED */ bl PlayAdditiveFlinchAnimation__16CScriptGunTurretFR13CStateManager /* 8021A5D0 00217530 48 00 01 B8 */ b lbl_8021A788 .global lbl_8021A5D4 lbl_8021A5D4: /* 8021A5D4 00217534 88 1E 05 60 */ lbz r0, 0x560(r30) /* 8021A5D8 00217538 38 60 00 00 */ li r3, 0 /* 8021A5DC 0021753C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8021A5E0 00217540 7F C3 F3 78 */ mr r3, r30 /* 8021A5E4 00217544 98 1E 05 60 */ stb r0, 0x560(r30) /* 8021A5E8 00217548 38 80 00 00 */ li r4, 0 /* 8021A5EC 0021754C 4B E3 8E 01 */ bl SetMuted__6CActorFb /* 8021A5F0 00217550 48 00 01 98 */ b lbl_8021A788 .global lbl_8021A5F4 lbl_8021A5F4: /* 8021A5F4 00217554 88 1E 05 60 */ lbz r0, 0x560(r30) /* 8021A5F8 00217558 38 60 00 01 */ li r3, 1 /* 8021A5FC 0021755C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8021A600 00217560 7F C3 F3 78 */ mr r3, r30 /* 8021A604 00217564 98 1E 05 60 */ stb r0, 0x560(r30) /* 8021A608 00217568 38 80 00 01 */ li r4, 1 /* 8021A60C 0021756C 4B E3 8D E1 */ bl SetMuted__6CActorFb /* 8021A610 00217570 48 00 01 78 */ b lbl_8021A788 .global lbl_8021A614 lbl_8021A614: /* 8021A614 00217574 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A618 00217578 2C 00 00 00 */ cmpwi r0, 0 /* 8021A61C 0021757C 40 82 01 6C */ bne lbl_8021A788 /* 8021A620 00217580 83 9E 00 2C */ lwz r28, 0x2c(r30) /* 8021A624 00217584 48 00 00 90 */ b lbl_8021A6B4 lbl_8021A628: /* 8021A628 00217588 80 1C 00 00 */ lwz r0, 0(r28) /* 8021A62C 0021758C 2C 00 00 12 */ cmpwi r0, 0x12 /* 8021A630 00217590 40 82 00 80 */ bne lbl_8021A6B0 /* 8021A634 00217594 80 1C 00 04 */ lwz r0, 4(r28) /* 8021A638 00217598 2C 00 00 01 */ cmpwi r0, 1 /* 8021A63C 0021759C 40 82 00 74 */ bne lbl_8021A6B0 /* 8021A640 002175A0 80 1C 00 08 */ lwz r0, 8(r28) /* 8021A644 002175A4 7F E4 FB 78 */ mr r4, r31 /* 8021A648 002175A8 38 61 00 20 */ addi r3, r1, 0x20 /* 8021A64C 002175AC 38 A1 00 40 */ addi r5, r1, 0x40 /* 8021A650 002175B0 90 01 00 40 */ stw r0, 0x40(r1) /* 8021A654 002175B4 4B E2 D8 C9 */ bl GetIdForScript__13CStateManagerCF9TEditorId /* 8021A658 002175B8 A0 01 00 20 */ lhz r0, 0x20(r1) /* 8021A65C 002175BC 7F E3 FB 78 */ mr r3, r31 /* 8021A660 002175C0 38 81 00 1C */ addi r4, r1, 0x1c /* 8021A664 002175C4 B0 01 00 3C */ sth r0, 0x3c(r1) /* 8021A668 002175C8 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8021A66C 002175CC 4B E3 1F 09 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8021A670 002175D0 7C 64 1B 78 */ mr r4, r3 /* 8021A674 002175D4 38 61 00 58 */ addi r3, r1, 0x58 /* 8021A678 002175D8 4B E8 F1 3D */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 8021A67C 002175DC 80 63 00 04 */ lwz r3, 4(r3) /* 8021A680 002175E0 28 03 00 00 */ cmplwi r3, 0 /* 8021A684 002175E4 41 82 00 2C */ beq lbl_8021A6B0 /* 8021A688 002175E8 A0 01 00 3C */ lhz r0, 0x3c(r1) /* 8021A68C 002175EC 7F E4 FB 78 */ mr r4, r31 /* 8021A690 002175F0 B0 1E 02 5C */ sth r0, 0x25c(r30) /* 8021A694 002175F4 81 83 00 00 */ lwz r12, 0(r3) /* 8021A698 002175F8 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8021A69C 002175FC 7D 89 03 A6 */ mtctr r12 /* 8021A6A0 00217600 4E 80 04 21 */ bctrl /* 8021A6A4 00217604 C0 03 00 00 */ lfs f0, 0(r3) /* 8021A6A8 00217608 D0 1E 02 60 */ stfs f0, 0x260(r30) /* 8021A6AC 0021760C 48 00 00 DC */ b lbl_8021A788 lbl_8021A6B0: /* 8021A6B0 00217610 3B 9C 00 0C */ addi r28, r28, 0xc lbl_8021A6B4: /* 8021A6B4 00217614 80 1E 00 24 */ lwz r0, 0x24(r30) /* 8021A6B8 00217618 80 7E 00 2C */ lwz r3, 0x2c(r30) /* 8021A6BC 0021761C 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021A6C0 00217620 7C 03 02 14 */ add r0, r3, r0 /* 8021A6C4 00217624 7C 1C 00 40 */ cmplw r28, r0 /* 8021A6C8 00217628 40 82 FF 60 */ bne lbl_8021A628 /* 8021A6CC 0021762C 48 00 00 BC */ b lbl_8021A788 .global lbl_8021A6D0 lbl_8021A6D0: /* 8021A6D0 00217630 80 1E 02 58 */ lwz r0, 0x258(r30) /* 8021A6D4 00217634 2C 00 00 01 */ cmpwi r0, 1 /* 8021A6D8 00217638 40 82 00 B0 */ bne lbl_8021A788 /* 8021A6DC 0021763C 7F C3 F3 78 */ mr r3, r30 /* 8021A6E0 00217640 7F E4 FB 78 */ mr r4, r31 /* 8021A6E4 00217644 81 9E 00 00 */ lwz r12, 0(r30) /* 8021A6E8 00217648 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8021A6EC 0021764C 7D 89 03 A6 */ mtctr r12 /* 8021A6F0 00217650 4E 80 04 21 */ bctrl /* 8021A6F4 00217654 C0 23 00 00 */ lfs f1, 0(r3) /* 8021A6F8 00217658 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021A6FC 0021765C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021A700 00217660 4C 40 13 82 */ cror 2, 0, 2 /* 8021A704 00217664 40 82 00 84 */ bne lbl_8021A788 /* 8021A708 00217668 A0 1C 00 00 */ lhz r0, 0(r28) /* 8021A70C 0021766C 7F E3 FB 78 */ mr r3, r31 /* 8021A710 00217670 38 81 00 18 */ addi r4, r1, 0x18 /* 8021A714 00217674 B0 01 00 18 */ sth r0, 0x18(r1) /* 8021A718 00217678 4B E3 1E 8D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8021A71C 0021767C 7C 64 1B 78 */ mr r4, r3 /* 8021A720 00217680 38 61 00 50 */ addi r3, r1, 0x50 /* 8021A724 00217684 4B E9 2F E9 */ bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity" /* 8021A728 00217688 80 63 00 04 */ lwz r3, 4(r3) /* 8021A72C 0021768C 28 03 00 00 */ cmplwi r3, 0 /* 8021A730 00217690 41 82 00 58 */ beq lbl_8021A788 /* 8021A734 00217694 80 03 00 E8 */ lwz r0, 0xe8(r3) /* 8021A738 00217698 54 00 06 F6 */ rlwinm r0, r0, 0, 0x1b, 0x1b /* 8021A73C 0021769C 2C 00 00 10 */ cmpwi r0, 0x10 /* 8021A740 002176A0 40 82 00 48 */ bne lbl_8021A788 /* 8021A744 002176A4 38 00 00 0C */ li r0, 0xc /* 8021A748 002176A8 7F C3 F3 78 */ mr r3, r30 /* 8021A74C 002176AC 90 1E 05 20 */ stw r0, 0x520(r30) /* 8021A750 002176B0 7F E6 FB 78 */ mr r6, r31 /* 8021A754 002176B4 38 80 00 28 */ li r4, 0x28 /* 8021A758 002176B8 38 A0 00 29 */ li r5, 0x29 /* 8021A75C 002176BC 4B E3 97 79 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager /* 8021A760 002176C0 A0 1E 00 08 */ lhz r0, 8(r30) /* 8021A764 002176C4 7F E6 FB 78 */ mr r6, r31 /* 8021A768 002176C8 38 81 00 14 */ addi r4, r1, 0x14 /* 8021A76C 002176CC 38 A0 00 08 */ li r5, 8 /* 8021A770 002176D0 B0 01 00 14 */ sth r0, 0x14(r1) /* 8021A774 002176D4 B0 01 00 10 */ sth r0, 0x10(r1) /* 8021A778 002176D8 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 8021A77C 002176DC 4B F6 0A D9 */ bl SetOrbitRequestForTarget__7CPlayerF9TUniqueId19EPlayerOrbitRequestR13CStateManager /* 8021A780 002176E0 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021A784 002176E4 D0 1E 05 3C */ stfs f0, 0x53c(r30) .global lbl_8021A788 lbl_8021A788: /* 8021A788 002176E8 BB 41 01 A8 */ lmw r26, 0x1a8(r1) /* 8021A78C 002176EC 80 01 01 C4 */ lwz r0, 0x1c4(r1) /* 8021A790 002176F0 7C 08 03 A6 */ mtlr r0 /* 8021A794 002176F4 38 21 01 C0 */ addi r1, r1, 0x1c0 /* 8021A798 002176F8 4E 80 00 20 */ blr .global Think__16CScriptGunTurretFfR13CStateManager Think__16CScriptGunTurretFfR13CStateManager: /* 8021A79C 002176FC 94 21 FF 10 */ stwu r1, -0xf0(r1) /* 8021A7A0 00217700 7C 08 02 A6 */ mflr r0 /* 8021A7A4 00217704 90 01 00 F4 */ stw r0, 0xf4(r1) /* 8021A7A8 00217708 DB E1 00 E0 */ stfd f31, 0xe0(r1) /* 8021A7AC 0021770C F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0 /* 8021A7B0 00217710 DB C1 00 D0 */ stfd f30, 0xd0(r1) /* 8021A7B4 00217714 F3 C1 00 D8 */ psq_st f30, 216(r1), 0, qr0 /* 8021A7B8 00217718 DB A1 00 C0 */ stfd f29, 0xc0(r1) /* 8021A7BC 0021771C F3 A1 00 C8 */ psq_st f29, 200(r1), 0, qr0 /* 8021A7C0 00217720 DB 81 00 B0 */ stfd f28, 0xb0(r1) /* 8021A7C4 00217724 F3 81 00 B8 */ psq_st f28, 184(r1), 0, qr0 /* 8021A7C8 00217728 93 E1 00 AC */ stw r31, 0xac(r1) /* 8021A7CC 0021772C 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 8021A7D0 00217730 93 A1 00 A4 */ stw r29, 0xa4(r1) /* 8021A7D4 00217734 88 03 00 30 */ lbz r0, 0x30(r3) /* 8021A7D8 00217738 FF E0 08 90 */ fmr f31, f1 /* 8021A7DC 0021773C 7C 7D 1B 78 */ mr r29, r3 /* 8021A7E0 00217740 7C 9E 23 78 */ mr r30, r4 /* 8021A7E4 00217744 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8021A7E8 00217748 41 82 01 CC */ beq lbl_8021A9B4 /* 8021A7EC 0021774C 80 1D 02 58 */ lwz r0, 0x258(r29) /* 8021A7F0 00217750 2C 00 00 01 */ cmpwi r0, 1 /* 8021A7F4 00217754 41 82 01 1C */ beq lbl_8021A910 /* 8021A7F8 00217758 40 80 01 B0 */ bge lbl_8021A9A8 /* 8021A7FC 0021775C 2C 00 00 00 */ cmpwi r0, 0 /* 8021A800 00217760 40 80 00 08 */ bge lbl_8021A808 /* 8021A804 00217764 48 00 01 A4 */ b lbl_8021A9A8 lbl_8021A808: /* 8021A808 00217768 88 1D 05 60 */ lbz r0, 0x560(r29) /* 8021A80C 0021776C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8021A810 00217770 40 82 00 EC */ bne lbl_8021A8FC /* 8021A814 00217774 4B FF F1 ED */ bl ProcessGunStateMachine__16CScriptGunTurretFfR13CStateManager /* 8021A818 00217778 7F A3 EB 78 */ mr r3, r29 /* 8021A81C 0021777C 4B FF E1 AD */ bl UpdateTurretAnimation__16CScriptGunTurretFv /* 8021A820 00217780 FC 20 F8 90 */ fmr f1, f31 /* 8021A824 00217784 7F A3 EB 78 */ mr r3, r29 /* 8021A828 00217788 7F C4 F3 78 */ mr r4, r30 /* 8021A82C 0021778C 4B FF D7 31 */ bl UpdateGunOrientation__16CScriptGunTurretFfR13CStateManager /* 8021A830 00217790 FC 20 F8 90 */ fmr f1, f31 /* 8021A834 00217794 7F A4 EB 78 */ mr r4, r29 /* 8021A838 00217798 38 61 00 20 */ addi r3, r1, 0x20 /* 8021A83C 0021779C 4B FF D5 F9 */ bl UpdateExtensionModelState__16CScriptGunTurretFf /* 8021A840 002177A0 FC 20 F8 90 */ fmr f1, f31 /* 8021A844 002177A4 C3 C1 00 20 */ lfs f30, 0x20(r1) /* 8021A848 002177A8 C3 A1 00 24 */ lfs f29, 0x24(r1) /* 8021A84C 002177AC 7F A4 EB 78 */ mr r4, r29 /* 8021A850 002177B0 C3 81 00 28 */ lfs f28, 0x28(r1) /* 8021A854 002177B4 7F C5 F3 78 */ mr r5, r30 /* 8021A858 002177B8 38 61 00 48 */ addi r3, r1, 0x48 /* 8021A85C 002177BC 38 C0 00 01 */ li r6, 1 /* 8021A860 002177C0 4B E3 AA 3D */ bl UpdateAnimation__6CActorFfR13CStateManagerb /* 8021A864 002177C4 C0 C1 00 48 */ lfs f6, 0x48(r1) /* 8021A868 002177C8 7F A3 EB 78 */ mr r3, r29 /* 8021A86C 002177CC C0 A1 00 4C */ lfs f5, 0x4c(r1) /* 8021A870 002177D0 3B E1 00 8C */ addi r31, r1, 0x8c /* 8021A874 002177D4 C0 81 00 50 */ lfs f4, 0x50(r1) /* 8021A878 002177D8 38 81 00 14 */ addi r4, r1, 0x14 /* 8021A87C 002177DC C0 61 00 54 */ lfs f3, 0x54(r1) /* 8021A880 002177E0 C0 41 00 58 */ lfs f2, 0x58(r1) /* 8021A884 002177E4 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 8021A888 002177E8 C0 01 00 60 */ lfs f0, 0x60(r1) /* 8021A88C 002177EC D0 C1 00 80 */ stfs f6, 0x80(r1) /* 8021A890 002177F0 D0 A1 00 84 */ stfs f5, 0x84(r1) /* 8021A894 002177F4 D0 81 00 88 */ stfs f4, 0x88(r1) /* 8021A898 002177F8 D0 61 00 8C */ stfs f3, 0x8c(r1) /* 8021A89C 002177FC D0 41 00 90 */ stfs f2, 0x90(r1) /* 8021A8A0 00217800 D0 21 00 94 */ stfs f1, 0x94(r1) /* 8021A8A4 00217804 D0 01 00 98 */ stfs f0, 0x98(r1) /* 8021A8A8 00217808 C0 1D 00 50 */ lfs f0, 0x50(r29) /* 8021A8AC 0021780C C0 3D 00 60 */ lfs f1, 0x60(r29) /* 8021A8B0 00217810 EC 60 28 2A */ fadds f3, f0, f5 /* 8021A8B4 00217814 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 8021A8B8 00217818 EC 41 20 2A */ fadds f2, f1, f4 /* 8021A8BC 0021781C EC 20 30 2A */ fadds f1, f0, f6 /* 8021A8C0 00217820 EC 83 E8 2A */ fadds f4, f3, f29 /* 8021A8C4 00217824 D0 61 00 0C */ stfs f3, 0xc(r1) /* 8021A8C8 00217828 EC 62 E0 2A */ fadds f3, f2, f28 /* 8021A8CC 0021782C EC 01 F0 2A */ fadds f0, f1, f30 /* 8021A8D0 00217830 D0 21 00 08 */ stfs f1, 8(r1) /* 8021A8D4 00217834 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8021A8D8 00217838 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8021A8DC 0021783C D0 81 00 18 */ stfs f4, 0x18(r1) /* 8021A8E0 00217840 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 8021A8E4 00217844 4B E3 85 A9 */ bl SetTranslation__6CActorFRC9CVector3f /* 8021A8E8 00217848 FC 20 F8 90 */ fmr f1, f31 /* 8021A8EC 0021784C 7F A3 EB 78 */ mr r3, r29 /* 8021A8F0 00217850 7F E4 FB 78 */ mr r4, r31 /* 8021A8F4 00217854 4B F0 05 21 */ bl RotateToOR__13CPhysicsActorFRC11CQuaternionf /* 8021A8F8 00217858 48 00 00 08 */ b lbl_8021A900 lbl_8021A8FC: /* 8021A8FC 0021785C 4B F0 0A 7D */ bl Stop__13CPhysicsActorFv lbl_8021A900: /* 8021A900 00217860 FC 20 F8 90 */ fmr f1, f31 /* 8021A904 00217864 7F A3 EB 78 */ mr r3, r29 /* 8021A908 00217868 4B FF B9 81 */ bl UpdateTargettingSound__16CScriptGunTurretFf /* 8021A90C 0021786C 48 00 00 9C */ b lbl_8021A9A8 lbl_8021A910: /* 8021A910 00217870 4B FF BD DD */ bl UpdateGunParticles__16CScriptGunTurretFfR13CStateManager /* 8021A914 00217874 FC 20 F8 90 */ fmr f1, f31 /* 8021A918 00217878 7F A4 EB 78 */ mr r4, r29 /* 8021A91C 0021787C 7F C5 F3 78 */ mr r5, r30 /* 8021A920 00217880 38 61 00 2C */ addi r3, r1, 0x2c /* 8021A924 00217884 38 C0 00 01 */ li r6, 1 /* 8021A928 00217888 4B E3 A9 75 */ bl UpdateAnimation__6CActorFfR13CStateManagerb /* 8021A92C 0021788C C0 E1 00 2C */ lfs f7, 0x2c(r1) /* 8021A930 00217890 FC 20 F8 90 */ fmr f1, f31 /* 8021A934 00217894 C0 C1 00 30 */ lfs f6, 0x30(r1) /* 8021A938 00217898 7F A3 EB 78 */ mr r3, r29 /* 8021A93C 0021789C C0 A1 00 34 */ lfs f5, 0x34(r1) /* 8021A940 002178A0 3B E1 00 70 */ addi r31, r1, 0x70 /* 8021A944 002178A4 C0 81 00 38 */ lfs f4, 0x38(r1) /* 8021A948 002178A8 C0 61 00 3C */ lfs f3, 0x3c(r1) /* 8021A94C 002178AC 38 81 00 64 */ addi r4, r1, 0x64 /* 8021A950 002178B0 C0 41 00 40 */ lfs f2, 0x40(r1) /* 8021A954 002178B4 C0 01 00 44 */ lfs f0, 0x44(r1) /* 8021A958 002178B8 D0 E1 00 64 */ stfs f7, 0x64(r1) /* 8021A95C 002178BC D0 C1 00 68 */ stfs f6, 0x68(r1) /* 8021A960 002178C0 D0 A1 00 6C */ stfs f5, 0x6c(r1) /* 8021A964 002178C4 D0 81 00 70 */ stfs f4, 0x70(r1) /* 8021A968 002178C8 D0 61 00 74 */ stfs f3, 0x74(r1) /* 8021A96C 002178CC D0 41 00 78 */ stfs f2, 0x78(r1) /* 8021A970 002178D0 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 8021A974 002178D4 4B F0 05 05 */ bl MoveToOR__13CPhysicsActorFRC9CVector3ff /* 8021A978 002178D8 FC 20 F8 90 */ fmr f1, f31 /* 8021A97C 002178DC 7F A3 EB 78 */ mr r3, r29 /* 8021A980 002178E0 7F E4 FB 78 */ mr r4, r31 /* 8021A984 002178E4 4B F0 04 91 */ bl RotateToOR__13CPhysicsActorFRC11CQuaternionf /* 8021A988 002178E8 FC 20 F8 90 */ fmr f1, f31 /* 8021A98C 002178EC 7F A3 EB 78 */ mr r3, r29 /* 8021A990 002178F0 7F C4 F3 78 */ mr r4, r30 /* 8021A994 002178F4 4B FF B1 49 */ bl UpdateGunCollisionManager__16CScriptGunTurretFfR13CStateManager /* 8021A998 002178F8 FC 20 F8 90 */ fmr f1, f31 /* 8021A99C 002178FC 7F A3 EB 78 */ mr r3, r29 /* 8021A9A0 00217900 7F C4 F3 78 */ mr r4, r30 /* 8021A9A4 00217904 4B FF B0 65 */ bl UpdateFrozenState__16CScriptGunTurretFfR13CStateManager lbl_8021A9A8: /* 8021A9A8 00217908 7F A3 EB 78 */ mr r3, r29 /* 8021A9AC 0021790C 7F C4 F3 78 */ mr r4, r30 /* 8021A9B0 00217910 4B FF D3 21 */ bl UpdateHealthInfo__16CScriptGunTurretFR13CStateManager lbl_8021A9B4: /* 8021A9B4 00217914 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0 /* 8021A9B8 00217918 CB E1 00 E0 */ lfd f31, 0xe0(r1) /* 8021A9BC 0021791C E3 C1 00 D8 */ psq_l f30, 216(r1), 0, qr0 /* 8021A9C0 00217920 CB C1 00 D0 */ lfd f30, 0xd0(r1) /* 8021A9C4 00217924 E3 A1 00 C8 */ psq_l f29, 200(r1), 0, qr0 /* 8021A9C8 00217928 CB A1 00 C0 */ lfd f29, 0xc0(r1) /* 8021A9CC 0021792C E3 81 00 B8 */ psq_l f28, 184(r1), 0, qr0 /* 8021A9D0 00217930 CB 81 00 B0 */ lfd f28, 0xb0(r1) /* 8021A9D4 00217934 83 E1 00 AC */ lwz r31, 0xac(r1) /* 8021A9D8 00217938 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 8021A9DC 0021793C 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 8021A9E0 00217940 83 A1 00 A4 */ lwz r29, 0xa4(r1) /* 8021A9E4 00217944 7C 08 03 A6 */ mtlr r0 /* 8021A9E8 00217948 38 21 00 F0 */ addi r1, r1, 0xf0 /* 8021A9EC 0021794C 4E 80 00 20 */ blr .global __dt__16CScriptGunTurretFv __dt__16CScriptGunTurretFv: /* 8021A9F0 00217950 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8021A9F4 00217954 7C 08 02 A6 */ mflr r0 /* 8021A9F8 00217958 90 01 00 14 */ stw r0, 0x14(r1) /* 8021A9FC 0021795C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8021AA00 00217960 7C 9F 23 78 */ mr r31, r4 /* 8021AA04 00217964 93 C1 00 08 */ stw r30, 8(r1) /* 8021AA08 00217968 7C 7E 1B 79 */ or. r30, r3, r3 /* 8021AA0C 0021796C 41 82 03 04 */ beq lbl_8021AD10 /* 8021AA10 00217970 3C 60 80 3E */ lis r3, lbl_803E71EC@ha /* 8021AA14 00217974 34 1E 04 A4 */ addic. r0, r30, 0x4a4 /* 8021AA18 00217978 38 03 71 EC */ addi r0, r3, lbl_803E71EC@l /* 8021AA1C 0021797C 90 1E 00 00 */ stw r0, 0(r30) /* 8021AA20 00217980 41 82 00 24 */ beq lbl_8021AA44 /* 8021AA24 00217984 88 1E 04 F0 */ lbz r0, 0x4f0(r30) /* 8021AA28 00217988 28 00 00 00 */ cmplwi r0, 0 /* 8021AA2C 0021798C 41 82 00 10 */ beq lbl_8021AA3C /* 8021AA30 00217990 38 7E 04 A4 */ addi r3, r30, 0x4a4 /* 8021AA34 00217994 38 80 FF FF */ li r4, -1 /* 8021AA38 00217998 4B EF C0 15 */ bl __dt__10CModelDataFv lbl_8021AA3C: /* 8021AA3C 0021799C 38 00 00 00 */ li r0, 0 /* 8021AA40 002179A0 98 1E 04 F0 */ stb r0, 0x4f0(r30) lbl_8021AA44: /* 8021AA44 002179A4 34 1E 04 9C */ addic. r0, r30, 0x49c /* 8021AA48 002179A8 41 82 00 10 */ beq lbl_8021AA58 /* 8021AA4C 002179AC 80 7E 04 9C */ lwz r3, 0x49c(r30) /* 8021AA50 002179B0 38 80 00 01 */ li r4, 1 /* 8021AA54 002179B4 4B F8 CE 89 */ bl sub_801a78dc lbl_8021AA58: /* 8021AA58 002179B8 34 1E 04 90 */ addic. r0, r30, 0x490 /* 8021AA5C 002179BC 41 82 00 30 */ beq lbl_8021AA8C /* 8021AA60 002179C0 88 1E 04 90 */ lbz r0, 0x490(r30) /* 8021AA64 002179C4 28 00 00 00 */ cmplwi r0, 0 /* 8021AA68 002179C8 41 82 00 24 */ beq lbl_8021AA8C /* 8021AA6C 002179CC 80 7E 04 94 */ lwz r3, 0x494(r30) /* 8021AA70 002179D0 28 03 00 00 */ cmplwi r3, 0 /* 8021AA74 002179D4 41 82 00 18 */ beq lbl_8021AA8C /* 8021AA78 002179D8 81 83 00 00 */ lwz r12, 0(r3) /* 8021AA7C 002179DC 38 80 00 01 */ li r4, 1 /* 8021AA80 002179E0 81 8C 00 08 */ lwz r12, 8(r12) /* 8021AA84 002179E4 7D 89 03 A6 */ mtctr r12 /* 8021AA88 002179E8 4E 80 04 21 */ bctrl lbl_8021AA8C: /* 8021AA8C 002179EC 34 1E 04 88 */ addic. r0, r30, 0x488 /* 8021AA90 002179F0 41 82 00 30 */ beq lbl_8021AAC0 /* 8021AA94 002179F4 88 1E 04 88 */ lbz r0, 0x488(r30) /* 8021AA98 002179F8 28 00 00 00 */ cmplwi r0, 0 /* 8021AA9C 002179FC 41 82 00 24 */ beq lbl_8021AAC0 /* 8021AAA0 00217A00 80 7E 04 8C */ lwz r3, 0x48c(r30) /* 8021AAA4 00217A04 28 03 00 00 */ cmplwi r3, 0 /* 8021AAA8 00217A08 41 82 00 18 */ beq lbl_8021AAC0 /* 8021AAAC 00217A0C 81 83 00 00 */ lwz r12, 0(r3) /* 8021AAB0 00217A10 38 80 00 01 */ li r4, 1 /* 8021AAB4 00217A14 81 8C 00 08 */ lwz r12, 8(r12) /* 8021AAB8 00217A18 7D 89 03 A6 */ mtctr r12 /* 8021AABC 00217A1C 4E 80 04 21 */ bctrl lbl_8021AAC0: /* 8021AAC0 00217A20 34 1E 04 80 */ addic. r0, r30, 0x480 /* 8021AAC4 00217A24 41 82 00 30 */ beq lbl_8021AAF4 /* 8021AAC8 00217A28 88 1E 04 80 */ lbz r0, 0x480(r30) /* 8021AACC 00217A2C 28 00 00 00 */ cmplwi r0, 0 /* 8021AAD0 00217A30 41 82 00 24 */ beq lbl_8021AAF4 /* 8021AAD4 00217A34 80 7E 04 84 */ lwz r3, 0x484(r30) /* 8021AAD8 00217A38 28 03 00 00 */ cmplwi r3, 0 /* 8021AADC 00217A3C 41 82 00 18 */ beq lbl_8021AAF4 /* 8021AAE0 00217A40 81 83 00 00 */ lwz r12, 0(r3) /* 8021AAE4 00217A44 38 80 00 01 */ li r4, 1 /* 8021AAE8 00217A48 81 8C 00 08 */ lwz r12, 8(r12) /* 8021AAEC 00217A4C 7D 89 03 A6 */ mtctr r12 /* 8021AAF0 00217A50 4E 80 04 21 */ bctrl lbl_8021AAF4: /* 8021AAF4 00217A54 34 1E 04 78 */ addic. r0, r30, 0x478 /* 8021AAF8 00217A58 41 82 00 30 */ beq lbl_8021AB28 /* 8021AAFC 00217A5C 88 1E 04 78 */ lbz r0, 0x478(r30) /* 8021AB00 00217A60 28 00 00 00 */ cmplwi r0, 0 /* 8021AB04 00217A64 41 82 00 24 */ beq lbl_8021AB28 /* 8021AB08 00217A68 80 7E 04 7C */ lwz r3, 0x47c(r30) /* 8021AB0C 00217A6C 28 03 00 00 */ cmplwi r3, 0 /* 8021AB10 00217A70 41 82 00 18 */ beq lbl_8021AB28 /* 8021AB14 00217A74 81 83 00 00 */ lwz r12, 0(r3) /* 8021AB18 00217A78 38 80 00 01 */ li r4, 1 /* 8021AB1C 00217A7C 81 8C 00 08 */ lwz r12, 8(r12) /* 8021AB20 00217A80 7D 89 03 A6 */ mtctr r12 /* 8021AB24 00217A84 4E 80 04 21 */ bctrl lbl_8021AB28: /* 8021AB28 00217A88 34 1E 04 70 */ addic. r0, r30, 0x470 /* 8021AB2C 00217A8C 41 82 00 30 */ beq lbl_8021AB5C /* 8021AB30 00217A90 88 1E 04 70 */ lbz r0, 0x470(r30) /* 8021AB34 00217A94 28 00 00 00 */ cmplwi r0, 0 /* 8021AB38 00217A98 41 82 00 24 */ beq lbl_8021AB5C /* 8021AB3C 00217A9C 80 7E 04 74 */ lwz r3, 0x474(r30) /* 8021AB40 00217AA0 28 03 00 00 */ cmplwi r3, 0 /* 8021AB44 00217AA4 41 82 00 18 */ beq lbl_8021AB5C /* 8021AB48 00217AA8 81 83 00 00 */ lwz r12, 0(r3) /* 8021AB4C 00217AAC 38 80 00 01 */ li r4, 1 /* 8021AB50 00217AB0 81 8C 00 08 */ lwz r12, 8(r12) /* 8021AB54 00217AB4 7D 89 03 A6 */ mtctr r12 /* 8021AB58 00217AB8 4E 80 04 21 */ bctrl lbl_8021AB5C: /* 8021AB5C 00217ABC 34 1E 04 68 */ addic. r0, r30, 0x468 /* 8021AB60 00217AC0 41 82 00 30 */ beq lbl_8021AB90 /* 8021AB64 00217AC4 88 1E 04 68 */ lbz r0, 0x468(r30) /* 8021AB68 00217AC8 28 00 00 00 */ cmplwi r0, 0 /* 8021AB6C 00217ACC 41 82 00 24 */ beq lbl_8021AB90 /* 8021AB70 00217AD0 80 7E 04 6C */ lwz r3, 0x46c(r30) /* 8021AB74 00217AD4 28 03 00 00 */ cmplwi r3, 0 /* 8021AB78 00217AD8 41 82 00 18 */ beq lbl_8021AB90 /* 8021AB7C 00217ADC 81 83 00 00 */ lwz r12, 0(r3) /* 8021AB80 00217AE0 38 80 00 01 */ li r4, 1 /* 8021AB84 00217AE4 81 8C 00 08 */ lwz r12, 8(r12) /* 8021AB88 00217AE8 7D 89 03 A6 */ mtctr r12 /* 8021AB8C 00217AEC 4E 80 04 21 */ bctrl lbl_8021AB90: /* 8021AB90 00217AF0 34 1E 04 58 */ addic. r0, r30, 0x458 /* 8021AB94 00217AF4 41 82 00 30 */ beq lbl_8021ABC4 /* 8021AB98 00217AF8 88 1E 04 64 */ lbz r0, 0x464(r30) /* 8021AB9C 00217AFC 28 00 00 00 */ cmplwi r0, 0 /* 8021ABA0 00217B00 41 82 00 1C */ beq lbl_8021ABBC /* 8021ABA4 00217B04 34 7E 04 58 */ addic. r3, r30, 0x458 /* 8021ABA8 00217B08 41 82 00 14 */ beq lbl_8021ABBC /* 8021ABAC 00217B0C 28 03 00 00 */ cmplwi r3, 0 /* 8021ABB0 00217B10 41 82 00 0C */ beq lbl_8021ABBC /* 8021ABB4 00217B14 38 80 00 00 */ li r4, 0 /* 8021ABB8 00217B18 48 12 62 89 */ bl __dt__6CTokenFv lbl_8021ABBC: /* 8021ABBC 00217B1C 38 00 00 00 */ li r0, 0 /* 8021ABC0 00217B20 98 1E 04 64 */ stb r0, 0x464(r30) lbl_8021ABC4: /* 8021ABC4 00217B24 34 1E 04 4C */ addic. r0, r30, 0x44c /* 8021ABC8 00217B28 41 82 00 18 */ beq lbl_8021ABE0 /* 8021ABCC 00217B2C 34 1E 04 4C */ addic. r0, r30, 0x44c /* 8021ABD0 00217B30 41 82 00 10 */ beq lbl_8021ABE0 /* 8021ABD4 00217B34 38 7E 04 4C */ addi r3, r30, 0x44c /* 8021ABD8 00217B38 38 80 00 00 */ li r4, 0 /* 8021ABDC 00217B3C 48 12 62 65 */ bl __dt__6CTokenFv lbl_8021ABE0: /* 8021ABE0 00217B40 34 1E 04 40 */ addic. r0, r30, 0x440 /* 8021ABE4 00217B44 41 82 00 18 */ beq lbl_8021ABFC /* 8021ABE8 00217B48 34 1E 04 40 */ addic. r0, r30, 0x440 /* 8021ABEC 00217B4C 41 82 00 10 */ beq lbl_8021ABFC /* 8021ABF0 00217B50 38 7E 04 40 */ addi r3, r30, 0x440 /* 8021ABF4 00217B54 38 80 00 00 */ li r4, 0 /* 8021ABF8 00217B58 48 12 62 49 */ bl __dt__6CTokenFv lbl_8021ABFC: /* 8021ABFC 00217B5C 34 1E 04 34 */ addic. r0, r30, 0x434 /* 8021AC00 00217B60 41 82 00 18 */ beq lbl_8021AC18 /* 8021AC04 00217B64 34 1E 04 34 */ addic. r0, r30, 0x434 /* 8021AC08 00217B68 41 82 00 10 */ beq lbl_8021AC18 /* 8021AC0C 00217B6C 38 7E 04 34 */ addi r3, r30, 0x434 /* 8021AC10 00217B70 38 80 00 00 */ li r4, 0 /* 8021AC14 00217B74 48 12 62 2D */ bl __dt__6CTokenFv lbl_8021AC18: /* 8021AC18 00217B78 34 1E 04 28 */ addic. r0, r30, 0x428 /* 8021AC1C 00217B7C 41 82 00 18 */ beq lbl_8021AC34 /* 8021AC20 00217B80 34 1E 04 28 */ addic. r0, r30, 0x428 /* 8021AC24 00217B84 41 82 00 10 */ beq lbl_8021AC34 /* 8021AC28 00217B88 38 7E 04 28 */ addi r3, r30, 0x428 /* 8021AC2C 00217B8C 38 80 00 00 */ li r4, 0 /* 8021AC30 00217B90 48 12 62 11 */ bl __dt__6CTokenFv lbl_8021AC34: /* 8021AC34 00217B94 34 1E 04 1C */ addic. r0, r30, 0x41c /* 8021AC38 00217B98 41 82 00 18 */ beq lbl_8021AC50 /* 8021AC3C 00217B9C 34 1E 04 1C */ addic. r0, r30, 0x41c /* 8021AC40 00217BA0 41 82 00 10 */ beq lbl_8021AC50 /* 8021AC44 00217BA4 38 7E 04 1C */ addi r3, r30, 0x41c /* 8021AC48 00217BA8 38 80 00 00 */ li r4, 0 /* 8021AC4C 00217BAC 48 12 61 F5 */ bl __dt__6CTokenFv lbl_8021AC50: /* 8021AC50 00217BB0 34 1E 04 10 */ addic. r0, r30, 0x410 /* 8021AC54 00217BB4 41 82 00 18 */ beq lbl_8021AC6C /* 8021AC58 00217BB8 34 1E 04 10 */ addic. r0, r30, 0x410 /* 8021AC5C 00217BBC 41 82 00 10 */ beq lbl_8021AC6C /* 8021AC60 00217BC0 38 7E 04 10 */ addi r3, r30, 0x410 /* 8021AC64 00217BC4 38 80 00 00 */ li r4, 0 /* 8021AC68 00217BC8 48 12 61 D9 */ bl __dt__6CTokenFv lbl_8021AC6C: /* 8021AC6C 00217BCC 34 1E 03 A4 */ addic. r0, r30, 0x3a4 /* 8021AC70 00217BD0 41 82 00 60 */ beq lbl_8021ACD0 /* 8021AC74 00217BD4 34 1E 03 C0 */ addic. r0, r30, 0x3c0 /* 8021AC78 00217BD8 41 82 00 58 */ beq lbl_8021ACD0 /* 8021AC7C 00217BDC 80 BE 03 C0 */ lwz r5, 0x3c0(r30) /* 8021AC80 00217BE0 38 60 00 00 */ li r3, 0 /* 8021AC84 00217BE4 2C 05 00 00 */ cmpwi r5, 0 /* 8021AC88 00217BE8 40 81 00 40 */ ble lbl_8021ACC8 /* 8021AC8C 00217BEC 2C 05 00 08 */ cmpwi r5, 8 /* 8021AC90 00217BF0 38 85 FF F8 */ addi r4, r5, -8 /* 8021AC94 00217BF4 40 81 00 20 */ ble lbl_8021ACB4 /* 8021AC98 00217BF8 38 04 00 07 */ addi r0, r4, 7 /* 8021AC9C 00217BFC 54 00 E8 FE */ srwi r0, r0, 3 /* 8021ACA0 00217C00 7C 09 03 A6 */ mtctr r0 /* 8021ACA4 00217C04 2C 04 00 00 */ cmpwi r4, 0 /* 8021ACA8 00217C08 40 81 00 0C */ ble lbl_8021ACB4 lbl_8021ACAC: /* 8021ACAC 00217C0C 38 63 00 08 */ addi r3, r3, 8 /* 8021ACB0 00217C10 42 00 FF FC */ bdnz lbl_8021ACAC lbl_8021ACB4: /* 8021ACB4 00217C14 7C 03 28 50 */ subf r0, r3, r5 /* 8021ACB8 00217C18 7C 09 03 A6 */ mtctr r0 /* 8021ACBC 00217C1C 7C 03 28 00 */ cmpw r3, r5 /* 8021ACC0 00217C20 40 80 00 08 */ bge lbl_8021ACC8 lbl_8021ACC4: /* 8021ACC4 00217C24 42 00 00 00 */ bdnz lbl_8021ACC4 lbl_8021ACC8: /* 8021ACC8 00217C28 38 00 00 00 */ li r0, 0 /* 8021ACCC 00217C2C 90 1E 03 C0 */ stw r0, 0x3c0(r30) lbl_8021ACD0: /* 8021ACD0 00217C30 34 1E 03 7C */ addic. r0, r30, 0x37c /* 8021ACD4 00217C34 41 82 00 20 */ beq lbl_8021ACF4 /* 8021ACD8 00217C38 34 1E 03 7C */ addic. r0, r30, 0x37c /* 8021ACDC 00217C3C 41 82 00 18 */ beq lbl_8021ACF4 /* 8021ACE0 00217C40 34 1E 03 7C */ addic. r0, r30, 0x37c /* 8021ACE4 00217C44 41 82 00 10 */ beq lbl_8021ACF4 /* 8021ACE8 00217C48 38 7E 03 7C */ addi r3, r30, 0x37c /* 8021ACEC 00217C4C 38 80 00 00 */ li r4, 0 /* 8021ACF0 00217C50 48 12 61 51 */ bl __dt__6CTokenFv lbl_8021ACF4: /* 8021ACF4 00217C54 7F C3 F3 78 */ mr r3, r30 /* 8021ACF8 00217C58 38 80 00 00 */ li r4, 0 /* 8021ACFC 00217C5C 4B F0 17 19 */ bl __dt__13CPhysicsActorFv /* 8021AD00 00217C60 7F E0 07 35 */ extsh. r0, r31 /* 8021AD04 00217C64 40 81 00 0C */ ble lbl_8021AD10 /* 8021AD08 00217C68 7F C3 F3 78 */ mr r3, r30 /* 8021AD0C 00217C6C 48 0F AC 25 */ bl Free__7CMemoryFPCv lbl_8021AD10: /* 8021AD10 00217C70 80 01 00 14 */ lwz r0, 0x14(r1) /* 8021AD14 00217C74 7F C3 F3 78 */ mr r3, r30 /* 8021AD18 00217C78 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8021AD1C 00217C7C 83 C1 00 08 */ lwz r30, 8(r1) /* 8021AD20 00217C80 7C 08 03 A6 */ mtlr r0 /* 8021AD24 00217C84 38 21 00 10 */ addi r1, r1, 0x10 /* 8021AD28 00217C88 4E 80 00 20 */ blr .global "__ct__16CScriptGunTurretF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>Q216CScriptGunTurret16ETurretComponentRC11CEntityInfoRC12CTransform4fRC10CModelDataRC6CAABoxRC11CHealthInfoRC20CDamageVulnerabilityRC16CActorParametersRC20CScriptGunTurretData" "__ct__16CScriptGunTurretF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>Q216CScriptGunTurret16ETurretComponentRC11CEntityInfoRC12CTransform4fRC10CModelDataRC6CAABoxRC11CHealthInfoRC20CDamageVulnerabilityRC16CActorParametersRC20CScriptGunTurretData": /* 8021AD2C 00217C8C 94 21 FE 50 */ stwu r1, -0x1b0(r1) /* 8021AD30 00217C90 7C 08 02 A6 */ mflr r0 /* 8021AD34 00217C94 90 01 01 B4 */ stw r0, 0x1b4(r1) /* 8021AD38 00217C98 BE 41 01 78 */ stmw r18, 0x178(r1) /* 8021AD3C 00217C9C 7C 7F 1B 78 */ mr r31, r3 /* 8021AD40 00217CA0 83 01 01 B8 */ lwz r24, 0x1b8(r1) /* 8021AD44 00217CA4 7C 93 23 78 */ mr r19, r4 /* 8021AD48 00217CA8 83 21 01 BC */ lwz r25, 0x1bc(r1) /* 8021AD4C 00217CAC 7C B4 2B 78 */ mr r20, r5 /* 8021AD50 00217CB0 83 41 01 C0 */ lwz r26, 0x1c0(r1) /* 8021AD54 00217CB4 7C DD 33 78 */ mr r29, r6 /* 8021AD58 00217CB8 83 61 01 C4 */ lwz r27, 0x1c4(r1) /* 8021AD5C 00217CBC 7C F5 3B 78 */ mr r21, r7 /* 8021AD60 00217CC0 7D 1E 43 78 */ mr r30, r8 /* 8021AD64 00217CC4 7D 36 4B 78 */ mr r22, r9 /* 8021AD68 00217CC8 7D 57 53 78 */ mr r23, r10 /* 8021AD6C 00217CCC 4B E0 07 C9 */ bl Identity__10CAxisAngleFv /* 8021AD70 00217CD0 7C 72 1B 78 */ mr r18, r3 /* 8021AD74 00217CD4 4B E0 07 C1 */ bl Identity__10CAxisAngleFv /* 8021AD78 00217CD8 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8021AD7C 00217CDC C0 02 B3 6C */ lfs f0, lbl_805AD08C@sda21(r2) /* 8021AD80 00217CE0 3B 84 66 A0 */ addi r28, r4, sZeroVector__9CVector3f@l /* 8021AD84 00217CE4 2C 1D 00 00 */ cmpwi r29, 0 /* 8021AD88 00217CE8 C0 5C 00 00 */ lfs f2, 0(r28) /* 8021AD8C 00217CEC 38 A1 00 E8 */ addi r5, r1, 0xe8 /* 8021AD90 00217CF0 C0 7C 00 04 */ lfs f3, 4(r28) /* 8021AD94 00217CF4 39 4D A5 08 */ addi r10, r13, lbl_805A90C8@sda21 /* 8021AD98 00217CF8 C0 9C 00 08 */ lfs f4, 8(r28) /* 8021AD9C 00217CFC D0 41 00 E8 */ stfs f2, 0xe8(r1) /* 8021ADA0 00217D00 D0 61 00 EC */ stfs f3, 0xec(r1) /* 8021ADA4 00217D04 D0 81 00 F0 */ stfs f4, 0xf0(r1) /* 8021ADA8 00217D08 C0 23 00 00 */ lfs f1, 0(r3) /* 8021ADAC 00217D0C D0 21 00 F4 */ stfs f1, 0xf4(r1) /* 8021ADB0 00217D10 C0 23 00 04 */ lfs f1, 4(r3) /* 8021ADB4 00217D14 D0 21 00 F8 */ stfs f1, 0xf8(r1) /* 8021ADB8 00217D18 C0 23 00 08 */ lfs f1, 8(r3) /* 8021ADBC 00217D1C D0 21 00 FC */ stfs f1, 0xfc(r1) /* 8021ADC0 00217D20 D0 41 01 00 */ stfs f2, 0x100(r1) /* 8021ADC4 00217D24 D0 61 01 04 */ stfs f3, 0x104(r1) /* 8021ADC8 00217D28 D0 81 01 08 */ stfs f4, 0x108(r1) /* 8021ADCC 00217D2C C0 32 00 00 */ lfs f1, 0(r18) /* 8021ADD0 00217D30 D0 21 01 0C */ stfs f1, 0x10c(r1) /* 8021ADD4 00217D34 C0 32 00 04 */ lfs f1, 4(r18) /* 8021ADD8 00217D38 D0 21 01 10 */ stfs f1, 0x110(r1) /* 8021ADDC 00217D3C C0 32 00 08 */ lfs f1, 8(r18) /* 8021ADE0 00217D40 D0 21 01 14 */ stfs f1, 0x114(r1) /* 8021ADE4 00217D44 D0 01 01 18 */ stfs f0, 0x118(r1) /* 8021ADE8 00217D48 40 82 00 08 */ bne lbl_8021ADF0 /* 8021ADEC 00217D4C 39 4D A5 00 */ addi r10, r13, lbl_805A90C0@sda21 lbl_8021ADF0: /* 8021ADF0 00217D50 A0 13 00 00 */ lhz r0, 0(r19) /* 8021ADF4 00217D54 7F E3 FB 78 */ mr r3, r31 /* 8021ADF8 00217D58 C0 22 B3 70 */ lfs f1, lbl_805AD090@sda21(r2) /* 8021ADFC 00217D5C 7E 86 A3 78 */ mr r6, r20 /* 8021AE00 00217D60 B0 01 00 18 */ sth r0, 0x18(r1) /* 8021AE04 00217D64 7E A7 AB 78 */ mr r7, r21 /* 8021AE08 00217D68 C0 42 B3 D0 */ lfs f2, lbl_805AD0F0@sda21(r2) /* 8021AE0C 00217D6C 7F C8 F3 78 */ mr r8, r30 /* 8021AE10 00217D70 92 E1 00 08 */ stw r23, 8(r1) /* 8021AE14 00217D74 7E C9 B3 78 */ mr r9, r22 /* 8021AE18 00217D78 38 81 00 18 */ addi r4, r1, 0x18 /* 8021AE1C 00217D7C 90 A1 00 0C */ stw r5, 0xc(r1) /* 8021AE20 00217D80 38 A0 00 01 */ li r5, 1 /* 8021AE24 00217D84 93 41 00 10 */ stw r26, 0x10(r1) /* 8021AE28 00217D88 4B F0 16 89 */ bl "__ct__13CPhysicsActorF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC6CAABoxRC10SMoverDataRC16CActorParametersff" /* 8021AE2C 00217D8C 3C 60 80 3E */ lis r3, lbl_803E71EC@ha /* 8021AE30 00217D90 C0 02 B3 5C */ lfs f0, lbl_805AD07C@sda21(r2) /* 8021AE34 00217D94 38 03 71 EC */ addi r0, r3, lbl_803E71EC@l /* 8021AE38 00217D98 7F 64 DB 78 */ mr r4, r27 /* 8021AE3C 00217D9C 90 1F 00 00 */ stw r0, 0(r31) /* 8021AE40 00217DA0 38 7F 02 D4 */ addi r3, r31, 0x2d4 /* 8021AE44 00217DA4 93 BF 02 58 */ stw r29, 0x258(r31) /* 8021AE48 00217DA8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8021AE4C 00217DAC B0 1F 02 5C */ sth r0, 0x25c(r31) /* 8021AE50 00217DB0 D0 1F 02 60 */ stfs f0, 0x260(r31) /* 8021AE54 00217DB4 C0 18 00 00 */ lfs f0, 0(r24) /* 8021AE58 00217DB8 D0 1F 02 64 */ stfs f0, 0x264(r31) /* 8021AE5C 00217DBC C0 18 00 04 */ lfs f0, 4(r24) /* 8021AE60 00217DC0 D0 1F 02 68 */ stfs f0, 0x268(r31) /* 8021AE64 00217DC4 80 B9 00 00 */ lwz r5, 0(r25) /* 8021AE68 00217DC8 80 19 00 04 */ lwz r0, 4(r25) /* 8021AE6C 00217DCC 90 BF 02 6C */ stw r5, 0x26c(r31) /* 8021AE70 00217DD0 90 1F 02 70 */ stw r0, 0x270(r31) /* 8021AE74 00217DD4 80 B9 00 08 */ lwz r5, 8(r25) /* 8021AE78 00217DD8 80 19 00 0C */ lwz r0, 0xc(r25) /* 8021AE7C 00217DDC 90 BF 02 74 */ stw r5, 0x274(r31) /* 8021AE80 00217DE0 90 1F 02 78 */ stw r0, 0x278(r31) /* 8021AE84 00217DE4 80 B9 00 10 */ lwz r5, 0x10(r25) /* 8021AE88 00217DE8 80 19 00 14 */ lwz r0, 0x14(r25) /* 8021AE8C 00217DEC 90 BF 02 7C */ stw r5, 0x27c(r31) /* 8021AE90 00217DF0 90 1F 02 80 */ stw r0, 0x280(r31) /* 8021AE94 00217DF4 80 B9 00 18 */ lwz r5, 0x18(r25) /* 8021AE98 00217DF8 80 19 00 1C */ lwz r0, 0x1c(r25) /* 8021AE9C 00217DFC 90 BF 02 84 */ stw r5, 0x284(r31) /* 8021AEA0 00217E00 90 1F 02 88 */ stw r0, 0x288(r31) /* 8021AEA4 00217E04 80 B9 00 20 */ lwz r5, 0x20(r25) /* 8021AEA8 00217E08 80 19 00 24 */ lwz r0, 0x24(r25) /* 8021AEAC 00217E0C 90 BF 02 8C */ stw r5, 0x28c(r31) /* 8021AEB0 00217E10 90 1F 02 90 */ stw r0, 0x290(r31) /* 8021AEB4 00217E14 80 B9 00 28 */ lwz r5, 0x28(r25) /* 8021AEB8 00217E18 80 19 00 2C */ lwz r0, 0x2c(r25) /* 8021AEBC 00217E1C 90 BF 02 94 */ stw r5, 0x294(r31) /* 8021AEC0 00217E20 90 1F 02 98 */ stw r0, 0x298(r31) /* 8021AEC4 00217E24 80 B9 00 30 */ lwz r5, 0x30(r25) /* 8021AEC8 00217E28 80 19 00 34 */ lwz r0, 0x34(r25) /* 8021AECC 00217E2C 90 BF 02 9C */ stw r5, 0x29c(r31) /* 8021AED0 00217E30 90 1F 02 A0 */ stw r0, 0x2a0(r31) /* 8021AED4 00217E34 80 19 00 38 */ lwz r0, 0x38(r25) /* 8021AED8 00217E38 90 1F 02 A4 */ stw r0, 0x2a4(r31) /* 8021AEDC 00217E3C 80 B9 00 3C */ lwz r5, 0x3c(r25) /* 8021AEE0 00217E40 80 19 00 40 */ lwz r0, 0x40(r25) /* 8021AEE4 00217E44 90 BF 02 A8 */ stw r5, 0x2a8(r31) /* 8021AEE8 00217E48 90 1F 02 AC */ stw r0, 0x2ac(r31) /* 8021AEEC 00217E4C 80 B9 00 44 */ lwz r5, 0x44(r25) /* 8021AEF0 00217E50 80 19 00 48 */ lwz r0, 0x48(r25) /* 8021AEF4 00217E54 90 BF 02 B0 */ stw r5, 0x2b0(r31) /* 8021AEF8 00217E58 90 1F 02 B4 */ stw r0, 0x2b4(r31) /* 8021AEFC 00217E5C 80 B9 00 4C */ lwz r5, 0x4c(r25) /* 8021AF00 00217E60 80 19 00 50 */ lwz r0, 0x50(r25) /* 8021AF04 00217E64 90 BF 02 B8 */ stw r5, 0x2b8(r31) /* 8021AF08 00217E68 90 1F 02 BC */ stw r0, 0x2bc(r31) /* 8021AF0C 00217E6C 80 B9 00 54 */ lwz r5, 0x54(r25) /* 8021AF10 00217E70 80 19 00 58 */ lwz r0, 0x58(r25) /* 8021AF14 00217E74 90 BF 02 C0 */ stw r5, 0x2c0(r31) /* 8021AF18 00217E78 90 1F 02 C4 */ stw r0, 0x2c4(r31) /* 8021AF1C 00217E7C 80 19 00 5C */ lwz r0, 0x5c(r25) /* 8021AF20 00217E80 90 1F 02 C8 */ stw r0, 0x2c8(r31) /* 8021AF24 00217E84 80 19 00 60 */ lwz r0, 0x60(r25) /* 8021AF28 00217E88 90 1F 02 CC */ stw r0, 0x2cc(r31) /* 8021AF2C 00217E8C 80 19 00 64 */ lwz r0, 0x64(r25) /* 8021AF30 00217E90 90 1F 02 D0 */ stw r0, 0x2d0(r31) /* 8021AF34 00217E94 48 00 08 5D */ bl __ct__20CScriptGunTurretDataFRC20CScriptGunTurretData /* 8021AF38 00217E98 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8021AF3C 00217E9C 38 7F 03 7C */ addi r3, r31, 0x37c /* 8021AF40 00217EA0 38 BB 00 44 */ addi r5, r27, 0x44 /* 8021AF44 00217EA4 B0 1F 03 78 */ sth r0, 0x378(r31) /* 8021AF48 00217EA8 80 9B 00 40 */ lwz r4, 0x40(r27) /* 8021AF4C 00217EAC 48 00 11 5D */ bl __ct__15CProjectileInfoFUiRC11CDamageInfo /* 8021AF50 00217EB0 3C 80 80 3E */ lis r4, lbl_803E71D0@ha /* 8021AF54 00217EB4 38 7F 03 A4 */ addi r3, r31, 0x3a4 /* 8021AF58 00217EB8 38 84 71 D0 */ addi r4, r4, lbl_803E71D0@l /* 8021AF5C 00217EBC 38 A0 00 01 */ li r5, 1 /* 8021AF60 00217EC0 4B F9 25 A5 */ bl __ct__10CBurstFireFPPC6SBursti /* 8021AF64 00217EC4 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8021AF68 00217EC8 3C 80 50 41 */ lis r4, 0x50415254@ha /* 8021AF6C 00217ECC 38 A3 66 A0 */ addi r5, r3, sZeroVector__9CVector3f@l /* 8021AF70 00217ED0 38 61 00 AC */ addi r3, r1, 0xac /* 8021AF74 00217ED4 C0 05 00 00 */ lfs f0, 0(r5) /* 8021AF78 00217ED8 38 04 52 54 */ addi r0, r4, 0x50415254@l /* 8021AF7C 00217EDC 38 A1 00 B4 */ addi r5, r1, 0xb4 /* 8021AF80 00217EE0 D0 1F 04 04 */ stfs f0, 0x404(r31) /* 8021AF84 00217EE4 C0 1C 00 04 */ lfs f0, 4(r28) /* 8021AF88 00217EE8 D0 1F 04 08 */ stfs f0, 0x408(r31) /* 8021AF8C 00217EEC C0 1C 00 08 */ lfs f0, 8(r28) /* 8021AF90 00217EF0 D0 1F 04 0C */ stfs f0, 0x40c(r31) /* 8021AF94 00217EF4 80 DB 00 60 */ lwz r6, 0x60(r27) /* 8021AF98 00217EF8 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021AF9C 00217EFC 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8021AFA0 00217F00 90 C1 00 B8 */ stw r6, 0xb8(r1) /* 8021AFA4 00217F04 81 84 00 00 */ lwz r12, 0(r4) /* 8021AFA8 00217F08 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021AFAC 00217F0C 7D 89 03 A6 */ mtctr r12 /* 8021AFB0 00217F10 4E 80 04 21 */ bctrl /* 8021AFB4 00217F14 3A 5F 04 10 */ addi r18, r31, 0x410 /* 8021AFB8 00217F18 38 81 00 AC */ addi r4, r1, 0xac /* 8021AFBC 00217F1C 7E 43 93 78 */ mr r3, r18 /* 8021AFC0 00217F20 48 12 5E E9 */ bl __ct__6CTokenFRC6CToken /* 8021AFC4 00217F24 7E 43 93 78 */ mr r3, r18 /* 8021AFC8 00217F28 48 12 5E 45 */ bl GetObj__6CTokenFv /* 8021AFCC 00217F2C 80 03 00 04 */ lwz r0, 4(r3) /* 8021AFD0 00217F30 38 61 00 AC */ addi r3, r1, 0xac /* 8021AFD4 00217F34 38 80 FF FF */ li r4, -1 /* 8021AFD8 00217F38 90 12 00 08 */ stw r0, 8(r18) /* 8021AFDC 00217F3C 48 12 5E 65 */ bl __dt__6CTokenFv /* 8021AFE0 00217F40 80 DB 00 64 */ lwz r6, 0x64(r27) /* 8021AFE4 00217F44 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8021AFE8 00217F48 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8021AFEC 00217F4C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021AFF0 00217F50 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8021AFF4 00217F54 38 61 00 9C */ addi r3, r1, 0x9c /* 8021AFF8 00217F58 38 A1 00 A4 */ addi r5, r1, 0xa4 /* 8021AFFC 00217F5C 90 C1 00 A8 */ stw r6, 0xa8(r1) /* 8021B000 00217F60 81 84 00 00 */ lwz r12, 0(r4) /* 8021B004 00217F64 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021B008 00217F68 7D 89 03 A6 */ mtctr r12 /* 8021B00C 00217F6C 4E 80 04 21 */ bctrl /* 8021B010 00217F70 3A 5F 04 1C */ addi r18, r31, 0x41c /* 8021B014 00217F74 38 81 00 9C */ addi r4, r1, 0x9c /* 8021B018 00217F78 7E 43 93 78 */ mr r3, r18 /* 8021B01C 00217F7C 48 12 5E 8D */ bl __ct__6CTokenFRC6CToken /* 8021B020 00217F80 7E 43 93 78 */ mr r3, r18 /* 8021B024 00217F84 48 12 5D E9 */ bl GetObj__6CTokenFv /* 8021B028 00217F88 80 03 00 04 */ lwz r0, 4(r3) /* 8021B02C 00217F8C 38 61 00 9C */ addi r3, r1, 0x9c /* 8021B030 00217F90 38 80 FF FF */ li r4, -1 /* 8021B034 00217F94 90 12 00 08 */ stw r0, 8(r18) /* 8021B038 00217F98 48 12 5E 09 */ bl __dt__6CTokenFv /* 8021B03C 00217F9C 80 DB 00 68 */ lwz r6, 0x68(r27) /* 8021B040 00217FA0 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8021B044 00217FA4 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8021B048 00217FA8 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021B04C 00217FAC 90 01 00 94 */ stw r0, 0x94(r1) /* 8021B050 00217FB0 38 61 00 8C */ addi r3, r1, 0x8c /* 8021B054 00217FB4 38 A1 00 94 */ addi r5, r1, 0x94 /* 8021B058 00217FB8 90 C1 00 98 */ stw r6, 0x98(r1) /* 8021B05C 00217FBC 81 84 00 00 */ lwz r12, 0(r4) /* 8021B060 00217FC0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021B064 00217FC4 7D 89 03 A6 */ mtctr r12 /* 8021B068 00217FC8 4E 80 04 21 */ bctrl /* 8021B06C 00217FCC 3A 5F 04 28 */ addi r18, r31, 0x428 /* 8021B070 00217FD0 38 81 00 8C */ addi r4, r1, 0x8c /* 8021B074 00217FD4 7E 43 93 78 */ mr r3, r18 /* 8021B078 00217FD8 48 12 5E 31 */ bl __ct__6CTokenFRC6CToken /* 8021B07C 00217FDC 7E 43 93 78 */ mr r3, r18 /* 8021B080 00217FE0 48 12 5D 8D */ bl GetObj__6CTokenFv /* 8021B084 00217FE4 80 03 00 04 */ lwz r0, 4(r3) /* 8021B088 00217FE8 38 61 00 8C */ addi r3, r1, 0x8c /* 8021B08C 00217FEC 38 80 FF FF */ li r4, -1 /* 8021B090 00217FF0 90 12 00 08 */ stw r0, 8(r18) /* 8021B094 00217FF4 48 12 5D AD */ bl __dt__6CTokenFv /* 8021B098 00217FF8 80 DB 00 6C */ lwz r6, 0x6c(r27) /* 8021B09C 00217FFC 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8021B0A0 00218000 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8021B0A4 00218004 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021B0A8 00218008 90 01 00 84 */ stw r0, 0x84(r1) /* 8021B0AC 0021800C 38 61 00 7C */ addi r3, r1, 0x7c /* 8021B0B0 00218010 38 A1 00 84 */ addi r5, r1, 0x84 /* 8021B0B4 00218014 90 C1 00 88 */ stw r6, 0x88(r1) /* 8021B0B8 00218018 81 84 00 00 */ lwz r12, 0(r4) /* 8021B0BC 0021801C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021B0C0 00218020 7D 89 03 A6 */ mtctr r12 /* 8021B0C4 00218024 4E 80 04 21 */ bctrl /* 8021B0C8 00218028 3A 5F 04 34 */ addi r18, r31, 0x434 /* 8021B0CC 0021802C 38 81 00 7C */ addi r4, r1, 0x7c /* 8021B0D0 00218030 7E 43 93 78 */ mr r3, r18 /* 8021B0D4 00218034 48 12 5D D5 */ bl __ct__6CTokenFRC6CToken /* 8021B0D8 00218038 7E 43 93 78 */ mr r3, r18 /* 8021B0DC 0021803C 48 12 5D 31 */ bl GetObj__6CTokenFv /* 8021B0E0 00218040 80 03 00 04 */ lwz r0, 4(r3) /* 8021B0E4 00218044 38 61 00 7C */ addi r3, r1, 0x7c /* 8021B0E8 00218048 38 80 FF FF */ li r4, -1 /* 8021B0EC 0021804C 90 12 00 08 */ stw r0, 8(r18) /* 8021B0F0 00218050 48 12 5D 51 */ bl __dt__6CTokenFv /* 8021B0F4 00218054 80 DB 00 70 */ lwz r6, 0x70(r27) /* 8021B0F8 00218058 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8021B0FC 0021805C 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8021B100 00218060 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021B104 00218064 90 01 00 74 */ stw r0, 0x74(r1) /* 8021B108 00218068 38 61 00 6C */ addi r3, r1, 0x6c /* 8021B10C 0021806C 38 A1 00 74 */ addi r5, r1, 0x74 /* 8021B110 00218070 90 C1 00 78 */ stw r6, 0x78(r1) /* 8021B114 00218074 81 84 00 00 */ lwz r12, 0(r4) /* 8021B118 00218078 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021B11C 0021807C 7D 89 03 A6 */ mtctr r12 /* 8021B120 00218080 4E 80 04 21 */ bctrl /* 8021B124 00218084 3A 5F 04 40 */ addi r18, r31, 0x440 /* 8021B128 00218088 38 81 00 6C */ addi r4, r1, 0x6c /* 8021B12C 0021808C 7E 43 93 78 */ mr r3, r18 /* 8021B130 00218090 48 12 5D 79 */ bl __ct__6CTokenFRC6CToken /* 8021B134 00218094 7E 43 93 78 */ mr r3, r18 /* 8021B138 00218098 48 12 5C D5 */ bl GetObj__6CTokenFv /* 8021B13C 0021809C 80 03 00 04 */ lwz r0, 4(r3) /* 8021B140 002180A0 38 61 00 6C */ addi r3, r1, 0x6c /* 8021B144 002180A4 38 80 FF FF */ li r4, -1 /* 8021B148 002180A8 90 12 00 08 */ stw r0, 8(r18) /* 8021B14C 002180AC 48 12 5C F5 */ bl __dt__6CTokenFv /* 8021B150 002180B0 80 DB 00 74 */ lwz r6, 0x74(r27) /* 8021B154 002180B4 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8021B158 002180B8 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8021B15C 002180BC 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021B160 002180C0 90 01 00 64 */ stw r0, 0x64(r1) /* 8021B164 002180C4 38 61 00 5C */ addi r3, r1, 0x5c /* 8021B168 002180C8 38 A1 00 64 */ addi r5, r1, 0x64 /* 8021B16C 002180CC 90 C1 00 68 */ stw r6, 0x68(r1) /* 8021B170 002180D0 81 84 00 00 */ lwz r12, 0(r4) /* 8021B174 002180D4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021B178 002180D8 7D 89 03 A6 */ mtctr r12 /* 8021B17C 002180DC 4E 80 04 21 */ bctrl /* 8021B180 002180E0 3A 5F 04 4C */ addi r18, r31, 0x44c /* 8021B184 002180E4 38 81 00 5C */ addi r4, r1, 0x5c /* 8021B188 002180E8 7E 43 93 78 */ mr r3, r18 /* 8021B18C 002180EC 48 12 5D 1D */ bl __ct__6CTokenFRC6CToken /* 8021B190 002180F0 7E 43 93 78 */ mr r3, r18 /* 8021B194 002180F4 48 12 5C 79 */ bl GetObj__6CTokenFv /* 8021B198 002180F8 80 03 00 04 */ lwz r0, 4(r3) /* 8021B19C 002180FC 38 61 00 5C */ addi r3, r1, 0x5c /* 8021B1A0 00218100 38 80 FF FF */ li r4, -1 /* 8021B1A4 00218104 90 12 00 08 */ stw r0, 8(r18) /* 8021B1A8 00218108 48 12 5C 99 */ bl __dt__6CTokenFv /* 8021B1AC 0021810C 80 9B 00 78 */ lwz r4, 0x78(r27) /* 8021B1B0 00218110 3A 60 00 00 */ li r19, 0 /* 8021B1B4 00218114 3A 80 00 00 */ li r20, 0 /* 8021B1B8 00218118 3A A0 00 00 */ li r21, 0 /* 8021B1BC 0021811C 3C 04 00 01 */ addis r0, r4, 1 /* 8021B1C0 00218120 3A C0 00 00 */ li r22, 0 /* 8021B1C4 00218124 28 00 FF FF */ cmplwi r0, 0xffff /* 8021B1C8 00218128 41 82 00 90 */ beq lbl_8021B258 /* 8021B1CC 0021812C 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8021B1D0 00218130 90 81 00 58 */ stw r4, 0x58(r1) /* 8021B1D4 00218134 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8021B1D8 00218138 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8021B1DC 0021813C 90 01 00 54 */ stw r0, 0x54(r1) /* 8021B1E0 00218140 38 61 00 4C */ addi r3, r1, 0x4c /* 8021B1E4 00218144 38 A1 00 54 */ addi r5, r1, 0x54 /* 8021B1E8 00218148 81 84 00 00 */ lwz r12, 0(r4) /* 8021B1EC 0021814C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021B1F0 00218150 7D 89 03 A6 */ mtctr r12 /* 8021B1F4 00218154 4E 80 04 21 */ bctrl /* 8021B1F8 00218158 3A 41 00 DC */ addi r18, r1, 0xdc /* 8021B1FC 0021815C 38 81 00 4C */ addi r4, r1, 0x4c /* 8021B200 00218160 7E 43 93 78 */ mr r3, r18 /* 8021B204 00218164 3A 60 00 01 */ li r19, 1 /* 8021B208 00218168 48 12 5C A1 */ bl __ct__6CTokenFRC6CToken /* 8021B20C 0021816C 7E 43 93 78 */ mr r3, r18 /* 8021B210 00218170 48 12 5B FD */ bl GetObj__6CTokenFv /* 8021B214 00218174 80 63 00 04 */ lwz r3, 4(r3) /* 8021B218 00218178 38 00 00 01 */ li r0, 1 /* 8021B21C 0021817C 36 41 00 CC */ addic. r18, r1, 0xcc /* 8021B220 00218180 3A 80 00 01 */ li r20, 1 /* 8021B224 00218184 90 61 00 E4 */ stw r3, 0xe4(r1) /* 8021B228 00218188 98 01 00 D8 */ stb r0, 0xd8(r1) /* 8021B22C 0021818C 41 82 00 20 */ beq lbl_8021B24C /* 8021B230 00218190 7E 43 93 78 */ mr r3, r18 /* 8021B234 00218194 38 81 00 DC */ addi r4, r1, 0xdc /* 8021B238 00218198 48 12 5C 71 */ bl __ct__6CTokenFRC6CToken /* 8021B23C 0021819C 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 8021B240 002181A0 7E 43 93 78 */ mr r3, r18 /* 8021B244 002181A4 90 12 00 08 */ stw r0, 8(r18) /* 8021B248 002181A8 48 12 5B 3D */ bl Lock__6CTokenFv lbl_8021B24C: /* 8021B24C 002181AC 3A 41 00 CC */ addi r18, r1, 0xcc /* 8021B250 002181B0 3A A0 00 01 */ li r21, 1 /* 8021B254 002181B4 48 00 00 14 */ b lbl_8021B268 lbl_8021B258: /* 8021B258 002181B8 38 00 00 00 */ li r0, 0 /* 8021B25C 002181BC 3A 41 00 BC */ addi r18, r1, 0xbc /* 8021B260 002181C0 98 01 00 C8 */ stb r0, 0xc8(r1) /* 8021B264 002181C4 3A C0 00 01 */ li r22, 1 lbl_8021B268: /* 8021B268 002181C8 88 12 00 0C */ lbz r0, 0xc(r18) /* 8021B26C 002181CC 98 1F 04 64 */ stb r0, 0x464(r31) /* 8021B270 002181D0 88 12 00 0C */ lbz r0, 0xc(r18) /* 8021B274 002181D4 28 00 00 00 */ cmplwi r0, 0 /* 8021B278 002181D8 41 82 00 28 */ beq lbl_8021B2A0 /* 8021B27C 002181DC 36 FF 04 58 */ addic. r23, r31, 0x458 /* 8021B280 002181E0 41 82 00 20 */ beq lbl_8021B2A0 /* 8021B284 002181E4 7E E3 BB 78 */ mr r3, r23 /* 8021B288 002181E8 7E 44 93 78 */ mr r4, r18 /* 8021B28C 002181EC 48 12 5C 1D */ bl __ct__6CTokenFRC6CToken /* 8021B290 002181F0 80 12 00 08 */ lwz r0, 8(r18) /* 8021B294 002181F4 7E E3 BB 78 */ mr r3, r23 /* 8021B298 002181F8 90 17 00 08 */ stw r0, 8(r23) /* 8021B29C 002181FC 48 12 5A E9 */ bl Lock__6CTokenFv lbl_8021B2A0: /* 8021B2A0 00218200 7E C0 07 75 */ extsb. r0, r22 /* 8021B2A4 00218204 41 82 00 30 */ beq lbl_8021B2D4 /* 8021B2A8 00218208 88 01 00 C8 */ lbz r0, 0xc8(r1) /* 8021B2AC 0021820C 28 00 00 00 */ cmplwi r0, 0 /* 8021B2B0 00218210 41 82 00 1C */ beq lbl_8021B2CC /* 8021B2B4 00218214 34 61 00 BC */ addic. r3, r1, 0xbc /* 8021B2B8 00218218 41 82 00 14 */ beq lbl_8021B2CC /* 8021B2BC 0021821C 28 03 00 00 */ cmplwi r3, 0 /* 8021B2C0 00218220 41 82 00 0C */ beq lbl_8021B2CC /* 8021B2C4 00218224 38 80 00 00 */ li r4, 0 /* 8021B2C8 00218228 48 12 5B 79 */ bl __dt__6CTokenFv lbl_8021B2CC: /* 8021B2CC 0021822C 38 00 00 00 */ li r0, 0 /* 8021B2D0 00218230 98 01 00 C8 */ stb r0, 0xc8(r1) lbl_8021B2D4: /* 8021B2D4 00218234 7E A0 07 75 */ extsb. r0, r21 /* 8021B2D8 00218238 41 82 00 30 */ beq lbl_8021B308 /* 8021B2DC 0021823C 88 01 00 D8 */ lbz r0, 0xd8(r1) /* 8021B2E0 00218240 28 00 00 00 */ cmplwi r0, 0 /* 8021B2E4 00218244 41 82 00 1C */ beq lbl_8021B300 /* 8021B2E8 00218248 34 61 00 CC */ addic. r3, r1, 0xcc /* 8021B2EC 0021824C 41 82 00 14 */ beq lbl_8021B300 /* 8021B2F0 00218250 28 03 00 00 */ cmplwi r3, 0 /* 8021B2F4 00218254 41 82 00 0C */ beq lbl_8021B300 /* 8021B2F8 00218258 38 80 00 00 */ li r4, 0 /* 8021B2FC 0021825C 48 12 5B 45 */ bl __dt__6CTokenFv lbl_8021B300: /* 8021B300 00218260 38 00 00 00 */ li r0, 0 /* 8021B304 00218264 98 01 00 D8 */ stb r0, 0xd8(r1) lbl_8021B308: /* 8021B308 00218268 7E 80 07 75 */ extsb. r0, r20 /* 8021B30C 0021826C 41 82 00 10 */ beq lbl_8021B31C /* 8021B310 00218270 38 61 00 DC */ addi r3, r1, 0xdc /* 8021B314 00218274 38 80 00 00 */ li r4, 0 /* 8021B318 00218278 48 12 5B 29 */ bl __dt__6CTokenFv lbl_8021B31C: /* 8021B31C 0021827C 7E 60 07 75 */ extsb. r0, r19 /* 8021B320 00218280 41 82 00 10 */ beq lbl_8021B330 /* 8021B324 00218284 38 61 00 4C */ addi r3, r1, 0x4c /* 8021B328 00218288 38 80 FF FF */ li r4, -1 /* 8021B32C 0021828C 48 12 5B 15 */ bl __dt__6CTokenFv lbl_8021B330: /* 8021B330 00218290 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021B334 00218294 3A 60 00 00 */ li r19, 0 /* 8021B338 00218298 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021B33C 0021829C 38 60 03 40 */ li r3, 0x340 /* 8021B340 002182A0 38 84 00 31 */ addi r4, r4, 0x31 /* 8021B344 002182A4 38 A0 00 00 */ li r5, 0 /* 8021B348 002182A8 48 0F A5 25 */ bl __nw__FUlPCcPCc /* 8021B34C 002182AC 7C 72 1B 79 */ or. r18, r3, r3 /* 8021B350 002182B0 41 82 00 2C */ beq lbl_8021B37C /* 8021B354 002182B4 38 61 00 44 */ addi r3, r1, 0x44 /* 8021B358 002182B8 38 9F 04 10 */ addi r4, r31, 0x410 /* 8021B35C 002182BC 48 12 5B 4D */ bl __ct__6CTokenFRC6CToken /* 8021B360 002182C0 7E 43 93 78 */ mr r3, r18 /* 8021B364 002182C4 38 81 00 44 */ addi r4, r1, 0x44 /* 8021B368 002182C8 3A 60 00 01 */ li r19, 1 /* 8021B36C 002182CC 38 A0 00 00 */ li r5, 0 /* 8021B370 002182D0 38 C0 00 01 */ li r6, 1 /* 8021B374 002182D4 48 10 40 6D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8021B378 002182D8 7C 72 1B 78 */ mr r18, r3 lbl_8021B37C: /* 8021B37C 002182DC 7C 72 00 D0 */ neg r3, r18 /* 8021B380 002182E0 7E 60 07 75 */ extsb. r0, r19 /* 8021B384 002182E4 7C 60 93 78 */ or r0, r3, r18 /* 8021B388 002182E8 54 00 0F FE */ srwi r0, r0, 0x1f /* 8021B38C 002182EC 98 1F 04 68 */ stb r0, 0x468(r31) /* 8021B390 002182F0 92 5F 04 6C */ stw r18, 0x46c(r31) /* 8021B394 002182F4 41 82 00 10 */ beq lbl_8021B3A4 /* 8021B398 002182F8 38 61 00 44 */ addi r3, r1, 0x44 /* 8021B39C 002182FC 38 80 00 00 */ li r4, 0 /* 8021B3A0 00218300 48 12 5A A1 */ bl __dt__6CTokenFv lbl_8021B3A4: /* 8021B3A4 00218304 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021B3A8 00218308 3A 60 00 00 */ li r19, 0 /* 8021B3AC 0021830C 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021B3B0 00218310 38 60 03 40 */ li r3, 0x340 /* 8021B3B4 00218314 38 84 00 31 */ addi r4, r4, 0x31 /* 8021B3B8 00218318 38 A0 00 00 */ li r5, 0 /* 8021B3BC 0021831C 48 0F A4 B1 */ bl __nw__FUlPCcPCc /* 8021B3C0 00218320 7C 72 1B 79 */ or. r18, r3, r3 /* 8021B3C4 00218324 41 82 00 2C */ beq lbl_8021B3F0 /* 8021B3C8 00218328 38 61 00 3C */ addi r3, r1, 0x3c /* 8021B3CC 0021832C 38 9F 04 1C */ addi r4, r31, 0x41c /* 8021B3D0 00218330 48 12 5A D9 */ bl __ct__6CTokenFRC6CToken /* 8021B3D4 00218334 7E 43 93 78 */ mr r3, r18 /* 8021B3D8 00218338 38 81 00 3C */ addi r4, r1, 0x3c /* 8021B3DC 0021833C 3A 60 00 01 */ li r19, 1 /* 8021B3E0 00218340 38 A0 00 00 */ li r5, 0 /* 8021B3E4 00218344 38 C0 00 01 */ li r6, 1 /* 8021B3E8 00218348 48 10 3F F9 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8021B3EC 0021834C 7C 72 1B 78 */ mr r18, r3 lbl_8021B3F0: /* 8021B3F0 00218350 7C 72 00 D0 */ neg r3, r18 /* 8021B3F4 00218354 7E 60 07 75 */ extsb. r0, r19 /* 8021B3F8 00218358 7C 60 93 78 */ or r0, r3, r18 /* 8021B3FC 0021835C 54 00 0F FE */ srwi r0, r0, 0x1f /* 8021B400 00218360 98 1F 04 70 */ stb r0, 0x470(r31) /* 8021B404 00218364 92 5F 04 74 */ stw r18, 0x474(r31) /* 8021B408 00218368 41 82 00 10 */ beq lbl_8021B418 /* 8021B40C 0021836C 38 61 00 3C */ addi r3, r1, 0x3c /* 8021B410 00218370 38 80 00 00 */ li r4, 0 /* 8021B414 00218374 48 12 5A 2D */ bl __dt__6CTokenFv lbl_8021B418: /* 8021B418 00218378 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021B41C 0021837C 3A 60 00 00 */ li r19, 0 /* 8021B420 00218380 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021B424 00218384 38 60 03 40 */ li r3, 0x340 /* 8021B428 00218388 38 84 00 31 */ addi r4, r4, 0x31 /* 8021B42C 0021838C 38 A0 00 00 */ li r5, 0 /* 8021B430 00218390 48 0F A4 3D */ bl __nw__FUlPCcPCc /* 8021B434 00218394 7C 72 1B 79 */ or. r18, r3, r3 /* 8021B438 00218398 41 82 00 2C */ beq lbl_8021B464 /* 8021B43C 0021839C 38 61 00 34 */ addi r3, r1, 0x34 /* 8021B440 002183A0 38 9F 04 28 */ addi r4, r31, 0x428 /* 8021B444 002183A4 48 12 5A 65 */ bl __ct__6CTokenFRC6CToken /* 8021B448 002183A8 7E 43 93 78 */ mr r3, r18 /* 8021B44C 002183AC 38 81 00 34 */ addi r4, r1, 0x34 /* 8021B450 002183B0 3A 60 00 01 */ li r19, 1 /* 8021B454 002183B4 38 A0 00 00 */ li r5, 0 /* 8021B458 002183B8 38 C0 00 01 */ li r6, 1 /* 8021B45C 002183BC 48 10 3F 85 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8021B460 002183C0 7C 72 1B 78 */ mr r18, r3 lbl_8021B464: /* 8021B464 002183C4 7C 72 00 D0 */ neg r3, r18 /* 8021B468 002183C8 7E 60 07 75 */ extsb. r0, r19 /* 8021B46C 002183CC 7C 60 93 78 */ or r0, r3, r18 /* 8021B470 002183D0 54 00 0F FE */ srwi r0, r0, 0x1f /* 8021B474 002183D4 98 1F 04 78 */ stb r0, 0x478(r31) /* 8021B478 002183D8 92 5F 04 7C */ stw r18, 0x47c(r31) /* 8021B47C 002183DC 41 82 00 10 */ beq lbl_8021B48C /* 8021B480 002183E0 38 61 00 34 */ addi r3, r1, 0x34 /* 8021B484 002183E4 38 80 00 00 */ li r4, 0 /* 8021B488 002183E8 48 12 59 B9 */ bl __dt__6CTokenFv lbl_8021B48C: /* 8021B48C 002183EC 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021B490 002183F0 3A 60 00 00 */ li r19, 0 /* 8021B494 002183F4 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021B498 002183F8 38 60 03 40 */ li r3, 0x340 /* 8021B49C 002183FC 38 84 00 31 */ addi r4, r4, 0x31 /* 8021B4A0 00218400 38 A0 00 00 */ li r5, 0 /* 8021B4A4 00218404 48 0F A3 C9 */ bl __nw__FUlPCcPCc /* 8021B4A8 00218408 7C 72 1B 79 */ or. r18, r3, r3 /* 8021B4AC 0021840C 41 82 00 2C */ beq lbl_8021B4D8 /* 8021B4B0 00218410 38 61 00 2C */ addi r3, r1, 0x2c /* 8021B4B4 00218414 38 9F 04 34 */ addi r4, r31, 0x434 /* 8021B4B8 00218418 48 12 59 F1 */ bl __ct__6CTokenFRC6CToken /* 8021B4BC 0021841C 7E 43 93 78 */ mr r3, r18 /* 8021B4C0 00218420 38 81 00 2C */ addi r4, r1, 0x2c /* 8021B4C4 00218424 3A 60 00 01 */ li r19, 1 /* 8021B4C8 00218428 38 A0 00 00 */ li r5, 0 /* 8021B4CC 0021842C 38 C0 00 01 */ li r6, 1 /* 8021B4D0 00218430 48 10 3F 11 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8021B4D4 00218434 7C 72 1B 78 */ mr r18, r3 lbl_8021B4D8: /* 8021B4D8 00218438 7C 72 00 D0 */ neg r3, r18 /* 8021B4DC 0021843C 7E 60 07 75 */ extsb. r0, r19 /* 8021B4E0 00218440 7C 60 93 78 */ or r0, r3, r18 /* 8021B4E4 00218444 54 00 0F FE */ srwi r0, r0, 0x1f /* 8021B4E8 00218448 98 1F 04 80 */ stb r0, 0x480(r31) /* 8021B4EC 0021844C 92 5F 04 84 */ stw r18, 0x484(r31) /* 8021B4F0 00218450 41 82 00 10 */ beq lbl_8021B500 /* 8021B4F4 00218454 38 61 00 2C */ addi r3, r1, 0x2c /* 8021B4F8 00218458 38 80 00 00 */ li r4, 0 /* 8021B4FC 0021845C 48 12 59 45 */ bl __dt__6CTokenFv lbl_8021B500: /* 8021B500 00218460 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021B504 00218464 3A 60 00 00 */ li r19, 0 /* 8021B508 00218468 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021B50C 0021846C 38 60 03 40 */ li r3, 0x340 /* 8021B510 00218470 38 84 00 31 */ addi r4, r4, 0x31 /* 8021B514 00218474 38 A0 00 00 */ li r5, 0 /* 8021B518 00218478 48 0F A3 55 */ bl __nw__FUlPCcPCc /* 8021B51C 0021847C 7C 72 1B 79 */ or. r18, r3, r3 /* 8021B520 00218480 41 82 00 2C */ beq lbl_8021B54C /* 8021B524 00218484 38 61 00 24 */ addi r3, r1, 0x24 /* 8021B528 00218488 38 9F 04 40 */ addi r4, r31, 0x440 /* 8021B52C 0021848C 48 12 59 7D */ bl __ct__6CTokenFRC6CToken /* 8021B530 00218490 7E 43 93 78 */ mr r3, r18 /* 8021B534 00218494 38 81 00 24 */ addi r4, r1, 0x24 /* 8021B538 00218498 3A 60 00 01 */ li r19, 1 /* 8021B53C 0021849C 38 A0 00 00 */ li r5, 0 /* 8021B540 002184A0 38 C0 00 01 */ li r6, 1 /* 8021B544 002184A4 48 10 3E 9D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8021B548 002184A8 7C 72 1B 78 */ mr r18, r3 lbl_8021B54C: /* 8021B54C 002184AC 7C 72 00 D0 */ neg r3, r18 /* 8021B550 002184B0 7E 60 07 75 */ extsb. r0, r19 /* 8021B554 002184B4 7C 60 93 78 */ or r0, r3, r18 /* 8021B558 002184B8 54 00 0F FE */ srwi r0, r0, 0x1f /* 8021B55C 002184BC 98 1F 04 88 */ stb r0, 0x488(r31) /* 8021B560 002184C0 92 5F 04 8C */ stw r18, 0x48c(r31) /* 8021B564 002184C4 41 82 00 10 */ beq lbl_8021B574 /* 8021B568 002184C8 38 61 00 24 */ addi r3, r1, 0x24 /* 8021B56C 002184CC 38 80 00 00 */ li r4, 0 /* 8021B570 002184D0 48 12 58 D1 */ bl __dt__6CTokenFv lbl_8021B574: /* 8021B574 002184D4 3C 60 80 3D */ lis r3, lbl_803D2FF0@ha /* 8021B578 002184D8 3A 60 00 00 */ li r19, 0 /* 8021B57C 002184DC 38 83 2F F0 */ addi r4, r3, lbl_803D2FF0@l /* 8021B580 002184E0 38 60 03 40 */ li r3, 0x340 /* 8021B584 002184E4 38 84 00 31 */ addi r4, r4, 0x31 /* 8021B588 002184E8 38 A0 00 00 */ li r5, 0 /* 8021B58C 002184EC 48 0F A2 E1 */ bl __nw__FUlPCcPCc /* 8021B590 002184F0 7C 72 1B 79 */ or. r18, r3, r3 /* 8021B594 002184F4 41 82 00 2C */ beq lbl_8021B5C0 /* 8021B598 002184F8 38 61 00 1C */ addi r3, r1, 0x1c /* 8021B59C 002184FC 38 9F 04 4C */ addi r4, r31, 0x44c /* 8021B5A0 00218500 48 12 59 09 */ bl __ct__6CTokenFRC6CToken /* 8021B5A4 00218504 7E 43 93 78 */ mr r3, r18 /* 8021B5A8 00218508 38 81 00 1C */ addi r4, r1, 0x1c /* 8021B5AC 0021850C 3A 60 00 01 */ li r19, 1 /* 8021B5B0 00218510 38 A0 00 00 */ li r5, 0 /* 8021B5B4 00218514 38 C0 00 01 */ li r6, 1 /* 8021B5B8 00218518 48 10 3E 29 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 8021B5BC 0021851C 7C 72 1B 78 */ mr r18, r3 lbl_8021B5C0: /* 8021B5C0 00218520 7C 72 00 D0 */ neg r3, r18 /* 8021B5C4 00218524 7E 60 07 75 */ extsb. r0, r19 /* 8021B5C8 00218528 7C 60 93 78 */ or r0, r3, r18 /* 8021B5CC 0021852C 54 00 0F FE */ srwi r0, r0, 0x1f /* 8021B5D0 00218530 98 1F 04 90 */ stb r0, 0x490(r31) /* 8021B5D4 00218534 92 5F 04 94 */ stw r18, 0x494(r31) /* 8021B5D8 00218538 41 82 00 10 */ beq lbl_8021B5E8 /* 8021B5DC 0021853C 38 61 00 1C */ addi r3, r1, 0x1c /* 8021B5E0 00218540 38 80 00 00 */ li r4, 0 /* 8021B5E4 00218544 48 12 58 5D */ bl __dt__6CTokenFv lbl_8021B5E8: /* 8021B5E8 00218548 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8021B5EC 0021854C 38 A0 00 00 */ li r5, 0 /* 8021B5F0 00218550 38 7F 04 A4 */ addi r3, r31, 0x4a4 /* 8021B5F4 00218554 38 81 01 1C */ addi r4, r1, 0x11c /* 8021B5F8 00218558 B0 1F 04 98 */ sth r0, 0x498(r31) /* 8021B5FC 0021855C 90 BF 04 9C */ stw r5, 0x49c(r31) /* 8021B600 00218560 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8021B604 00218564 B0 1F 04 A0 */ sth r0, 0x4a0(r31) /* 8021B608 00218568 98 A1 01 68 */ stb r5, 0x168(r1) /* 8021B60C 0021856C 4B EC CC 21 */ bl sub_800e822c /* 8021B610 00218570 88 01 01 68 */ lbz r0, 0x168(r1) /* 8021B614 00218574 28 00 00 00 */ cmplwi r0, 0 /* 8021B618 00218578 41 82 00 10 */ beq lbl_8021B628 /* 8021B61C 0021857C 38 61 01 1C */ addi r3, r1, 0x11c /* 8021B620 00218580 38 80 FF FF */ li r4, -1 /* 8021B624 00218584 4B EF B4 29 */ bl __dt__10CModelDataFv lbl_8021B628: /* 8021B628 00218588 38 A0 00 00 */ li r5, 0 /* 8021B62C 0021858C C0 22 B3 5C */ lfs f1, lbl_805AD07C@sda21(r2) /* 8021B630 00218590 98 A1 01 68 */ stb r5, 0x168(r1) /* 8021B634 00218594 38 60 00 FF */ li r3, 0xff /* 8021B638 00218598 38 00 FF FF */ li r0, -1 /* 8021B63C 0021859C 38 80 00 01 */ li r4, 1 /* 8021B640 002185A0 D0 3F 04 F4 */ stfs f1, 0x4f4(r31) /* 8021B644 002185A4 2C 1D 00 00 */ cmpwi r29, 0 /* 8021B648 002185A8 D0 3F 04 F8 */ stfs f1, 0x4f8(r31) /* 8021B64C 002185AC C0 7E 00 2C */ lfs f3, 0x2c(r30) /* 8021B650 002185B0 C0 5E 00 1C */ lfs f2, 0x1c(r30) /* 8021B654 002185B4 C0 1E 00 0C */ lfs f0, 0xc(r30) /* 8021B658 002185B8 D0 1F 04 FC */ stfs f0, 0x4fc(r31) /* 8021B65C 002185BC D0 5F 05 00 */ stfs f2, 0x500(r31) /* 8021B660 002185C0 D0 7F 05 04 */ stfs f3, 0x504(r31) /* 8021B664 002185C4 98 7F 05 08 */ stb r3, 0x508(r31) /* 8021B668 002185C8 90 BF 05 0C */ stw r5, 0x50c(r31) /* 8021B66C 002185CC D0 3F 05 10 */ stfs f1, 0x510(r31) /* 8021B670 002185D0 C0 7E 00 24 */ lfs f3, 0x24(r30) /* 8021B674 002185D4 C0 5E 00 14 */ lfs f2, 0x14(r30) /* 8021B678 002185D8 C0 1E 00 04 */ lfs f0, 4(r30) /* 8021B67C 002185DC D0 1F 05 14 */ stfs f0, 0x514(r31) /* 8021B680 002185E0 D0 5F 05 18 */ stfs f2, 0x518(r31) /* 8021B684 002185E4 D0 7F 05 1C */ stfs f3, 0x51c(r31) /* 8021B688 002185E8 90 1F 05 20 */ stw r0, 0x520(r31) /* 8021B68C 002185EC D0 3F 05 24 */ stfs f1, 0x524(r31) /* 8021B690 002185F0 D0 3F 05 28 */ stfs f1, 0x528(r31) /* 8021B694 002185F4 D0 3F 05 2C */ stfs f1, 0x52c(r31) /* 8021B698 002185F8 D0 3F 05 30 */ stfs f1, 0x530(r31) /* 8021B69C 002185FC D0 3F 05 34 */ stfs f1, 0x534(r31) /* 8021B6A0 00218600 D0 3F 05 38 */ stfs f1, 0x538(r31) /* 8021B6A4 00218604 D0 3F 05 3C */ stfs f1, 0x53c(r31) /* 8021B6A8 00218608 90 1F 05 40 */ stw r0, 0x540(r31) /* 8021B6AC 0021860C C0 5E 00 24 */ lfs f2, 0x24(r30) /* 8021B6B0 00218610 C0 3E 00 14 */ lfs f1, 0x14(r30) /* 8021B6B4 00218614 C0 1E 00 04 */ lfs f0, 4(r30) /* 8021B6B8 00218618 D0 1F 05 44 */ stfs f0, 0x544(r31) /* 8021B6BC 0021861C D0 3F 05 48 */ stfs f1, 0x548(r31) /* 8021B6C0 00218620 D0 5F 05 4C */ stfs f2, 0x54c(r31) /* 8021B6C4 00218624 C0 5E 00 20 */ lfs f2, 0x20(r30) /* 8021B6C8 00218628 C0 3E 00 10 */ lfs f1, 0x10(r30) /* 8021B6CC 0021862C C0 1E 00 00 */ lfs f0, 0(r30) /* 8021B6D0 00218630 D0 1F 05 50 */ stfs f0, 0x550(r31) /* 8021B6D4 00218634 D0 3F 05 54 */ stfs f1, 0x554(r31) /* 8021B6D8 00218638 D0 5F 05 58 */ stfs f2, 0x558(r31) /* 8021B6DC 0021863C 90 1F 05 5C */ stw r0, 0x55c(r31) /* 8021B6E0 00218640 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B6E4 00218644 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 8021B6E8 00218648 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B6EC 0021864C 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B6F0 00218650 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 8021B6F4 00218654 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B6F8 00218658 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B6FC 0021865C 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a /* 8021B700 00218660 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B704 00218664 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B708 00218668 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 8021B70C 0021866C 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B710 00218670 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B714 00218674 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 8021B718 00218678 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B71C 0021867C 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B720 00218680 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 8021B724 00218684 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B728 00218688 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B72C 0021868C 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8021B730 00218690 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B734 00218694 88 1F 05 60 */ lbz r0, 0x560(r31) /* 8021B738 00218698 50 A0 07 FE */ rlwimi r0, r5, 0, 0x1f, 0x1f /* 8021B73C 0021869C 98 1F 05 60 */ stb r0, 0x560(r31) /* 8021B740 002186A0 40 82 00 30 */ bne lbl_8021B770 /* 8021B744 002186A4 80 7F 00 64 */ lwz r3, 0x64(r31) /* 8021B748 002186A8 28 03 00 00 */ cmplwi r3, 0 /* 8021B74C 002186AC 41 82 00 14 */ beq lbl_8021B760 /* 8021B750 002186B0 80 03 00 10 */ lwz r0, 0x10(r3) /* 8021B754 002186B4 28 00 00 00 */ cmplwi r0, 0 /* 8021B758 002186B8 41 82 00 08 */ beq lbl_8021B760 /* 8021B75C 002186BC 7C 85 23 78 */ mr r5, r4 lbl_8021B760: /* 8021B760 002186C0 54 A0 06 3F */ clrlwi. r0, r5, 0x18 /* 8021B764 002186C4 41 82 00 0C */ beq lbl_8021B770 /* 8021B768 002186C8 38 80 00 01 */ li r4, 1 /* 8021B76C 002186CC 4B EF 9D F5 */ bl EnableLooping__10CModelDataFb lbl_8021B770: /* 8021B770 002186D0 38 7F 03 7C */ addi r3, r31, 0x37c /* 8021B774 002186D4 48 12 56 11 */ bl Lock__6CTokenFv /* 8021B778 002186D8 7F E3 FB 78 */ mr r3, r31 /* 8021B77C 002186DC BA 41 01 78 */ lmw r18, 0x178(r1) /* 8021B780 002186E0 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 8021B784 002186E4 7C 08 03 A6 */ mtlr r0 /* 8021B788 002186E8 38 21 01 B0 */ addi r1, r1, 0x1b0 /* 8021B78C 002186EC 4E 80 00 20 */ blr .global __ct__20CScriptGunTurretDataFRC20CScriptGunTurretData __ct__20CScriptGunTurretDataFRC20CScriptGunTurretData: /* 8021B790 002186F0 C0 04 00 00 */ lfs f0, 0(r4) /* 8021B794 002186F4 D0 03 00 00 */ stfs f0, 0(r3) /* 8021B798 002186F8 C0 04 00 04 */ lfs f0, 4(r4) /* 8021B79C 002186FC D0 03 00 04 */ stfs f0, 4(r3) /* 8021B7A0 00218700 C0 04 00 08 */ lfs f0, 8(r4) /* 8021B7A4 00218704 D0 03 00 08 */ stfs f0, 8(r3) /* 8021B7A8 00218708 C0 04 00 0C */ lfs f0, 0xc(r4) /* 8021B7AC 0021870C D0 03 00 0C */ stfs f0, 0xc(r3) /* 8021B7B0 00218710 C0 04 00 10 */ lfs f0, 0x10(r4) /* 8021B7B4 00218714 D0 03 00 10 */ stfs f0, 0x10(r3) /* 8021B7B8 00218718 C0 04 00 14 */ lfs f0, 0x14(r4) /* 8021B7BC 0021871C D0 03 00 14 */ stfs f0, 0x14(r3) /* 8021B7C0 00218720 C0 04 00 18 */ lfs f0, 0x18(r4) /* 8021B7C4 00218724 D0 03 00 18 */ stfs f0, 0x18(r3) /* 8021B7C8 00218728 C0 04 00 1C */ lfs f0, 0x1c(r4) /* 8021B7CC 0021872C D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8021B7D0 00218730 C0 04 00 20 */ lfs f0, 0x20(r4) /* 8021B7D4 00218734 D0 03 00 20 */ stfs f0, 0x20(r3) /* 8021B7D8 00218738 C0 04 00 24 */ lfs f0, 0x24(r4) /* 8021B7DC 0021873C D0 03 00 24 */ stfs f0, 0x24(r3) /* 8021B7E0 00218740 C0 04 00 28 */ lfs f0, 0x28(r4) /* 8021B7E4 00218744 D0 03 00 28 */ stfs f0, 0x28(r3) /* 8021B7E8 00218748 C0 04 00 2C */ lfs f0, 0x2c(r4) /* 8021B7EC 0021874C D0 03 00 2C */ stfs f0, 0x2c(r3) /* 8021B7F0 00218750 C0 04 00 30 */ lfs f0, 0x30(r4) /* 8021B7F4 00218754 D0 03 00 30 */ stfs f0, 0x30(r3) /* 8021B7F8 00218758 C0 04 00 34 */ lfs f0, 0x34(r4) /* 8021B7FC 0021875C D0 03 00 34 */ stfs f0, 0x34(r3) /* 8021B800 00218760 C0 04 00 38 */ lfs f0, 0x38(r4) /* 8021B804 00218764 D0 03 00 38 */ stfs f0, 0x38(r3) /* 8021B808 00218768 88 04 00 3C */ lbz r0, 0x3c(r4) /* 8021B80C 0021876C 98 03 00 3C */ stb r0, 0x3c(r3) /* 8021B810 00218770 80 04 00 40 */ lwz r0, 0x40(r4) /* 8021B814 00218774 90 03 00 40 */ stw r0, 0x40(r3) /* 8021B818 00218778 80 04 00 44 */ lwz r0, 0x44(r4) /* 8021B81C 0021877C 90 03 00 44 */ stw r0, 0x44(r3) /* 8021B820 00218780 88 04 00 48 */ lbz r0, 0x48(r4) /* 8021B824 00218784 98 03 00 48 */ stb r0, 0x48(r3) /* 8021B828 00218788 C0 04 00 4C */ lfs f0, 0x4c(r4) /* 8021B82C 0021878C D0 03 00 4C */ stfs f0, 0x4c(r3) /* 8021B830 00218790 C0 04 00 50 */ lfs f0, 0x50(r4) /* 8021B834 00218794 D0 03 00 50 */ stfs f0, 0x50(r3) /* 8021B838 00218798 C0 04 00 54 */ lfs f0, 0x54(r4) /* 8021B83C 0021879C D0 03 00 54 */ stfs f0, 0x54(r3) /* 8021B840 002187A0 C0 04 00 58 */ lfs f0, 0x58(r4) /* 8021B844 002187A4 D0 03 00 58 */ stfs f0, 0x58(r3) /* 8021B848 002187A8 88 04 00 5C */ lbz r0, 0x5c(r4) /* 8021B84C 002187AC 98 03 00 5C */ stb r0, 0x5c(r3) /* 8021B850 002187B0 80 04 00 60 */ lwz r0, 0x60(r4) /* 8021B854 002187B4 90 03 00 60 */ stw r0, 0x60(r3) /* 8021B858 002187B8 80 04 00 64 */ lwz r0, 0x64(r4) /* 8021B85C 002187BC 90 03 00 64 */ stw r0, 0x64(r3) /* 8021B860 002187C0 80 04 00 68 */ lwz r0, 0x68(r4) /* 8021B864 002187C4 90 03 00 68 */ stw r0, 0x68(r3) /* 8021B868 002187C8 80 04 00 6C */ lwz r0, 0x6c(r4) /* 8021B86C 002187CC 90 03 00 6C */ stw r0, 0x6c(r3) /* 8021B870 002187D0 80 04 00 70 */ lwz r0, 0x70(r4) /* 8021B874 002187D4 90 03 00 70 */ stw r0, 0x70(r3) /* 8021B878 002187D8 80 04 00 74 */ lwz r0, 0x74(r4) /* 8021B87C 002187DC 90 03 00 74 */ stw r0, 0x74(r3) /* 8021B880 002187E0 80 04 00 78 */ lwz r0, 0x78(r4) /* 8021B884 002187E4 90 03 00 78 */ stw r0, 0x78(r3) /* 8021B888 002187E8 A0 04 00 7C */ lhz r0, 0x7c(r4) /* 8021B88C 002187EC B0 03 00 7C */ sth r0, 0x7c(r3) /* 8021B890 002187F0 A0 04 00 7E */ lhz r0, 0x7e(r4) /* 8021B894 002187F4 B0 03 00 7E */ sth r0, 0x7e(r3) /* 8021B898 002187F8 A0 04 00 80 */ lhz r0, 0x80(r4) /* 8021B89C 002187FC B0 03 00 80 */ sth r0, 0x80(r3) /* 8021B8A0 00218800 A0 04 00 82 */ lhz r0, 0x82(r4) /* 8021B8A4 00218804 B0 03 00 82 */ sth r0, 0x82(r3) /* 8021B8A8 00218808 A0 04 00 84 */ lhz r0, 0x84(r4) /* 8021B8AC 0021880C B0 03 00 84 */ sth r0, 0x84(r3) /* 8021B8B0 00218810 A0 04 00 86 */ lhz r0, 0x86(r4) /* 8021B8B4 00218814 B0 03 00 86 */ sth r0, 0x86(r3) /* 8021B8B8 00218818 80 04 00 88 */ lwz r0, 0x88(r4) /* 8021B8BC 0021881C 90 03 00 88 */ stw r0, 0x88(r3) /* 8021B8C0 00218820 C0 04 00 8C */ lfs f0, 0x8c(r4) /* 8021B8C4 00218824 D0 03 00 8C */ stfs f0, 0x8c(r3) /* 8021B8C8 00218828 80 04 00 90 */ lwz r0, 0x90(r4) /* 8021B8CC 0021882C 90 03 00 90 */ stw r0, 0x90(r3) /* 8021B8D0 00218830 80 04 00 94 */ lwz r0, 0x94(r4) /* 8021B8D4 00218834 90 03 00 94 */ stw r0, 0x94(r3) /* 8021B8D8 00218838 80 04 00 98 */ lwz r0, 0x98(r4) /* 8021B8DC 0021883C 90 03 00 98 */ stw r0, 0x98(r3) /* 8021B8E0 00218840 C0 04 00 9C */ lfs f0, 0x9c(r4) /* 8021B8E4 00218844 D0 03 00 9C */ stfs f0, 0x9c(r3) /* 8021B8E8 00218848 88 04 00 A0 */ lbz r0, 0xa0(r4) /* 8021B8EC 0021884C 98 03 00 A0 */ stb r0, 0xa0(r3) /* 8021B8F0 00218850 4E 80 00 20 */ blr .global __ct__20CScriptGunTurretDataFR12CInputStreami __ct__20CScriptGunTurretDataFR12CInputStreami: /* 8021B8F4 00218854 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8021B8F8 00218858 7C 08 02 A6 */ mflr r0 /* 8021B8FC 0021885C 90 01 00 24 */ stw r0, 0x24(r1) /* 8021B900 00218860 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8021B904 00218864 7C BF 2B 78 */ mr r31, r5 /* 8021B908 00218868 93 C1 00 18 */ stw r30, 0x18(r1) /* 8021B90C 0021886C 7C 9E 23 78 */ mr r30, r4 /* 8021B910 00218870 93 A1 00 14 */ stw r29, 0x14(r1) /* 8021B914 00218874 7C 7D 1B 78 */ mr r29, r3 /* 8021B918 00218878 7F C3 F3 78 */ mr r3, r30 /* 8021B91C 0021887C 48 12 33 0D */ bl ReadFloat__12CInputStreamFv /* 8021B920 00218880 D0 3D 00 00 */ stfs f1, 0(r29) /* 8021B924 00218884 7F C3 F3 78 */ mr r3, r30 /* 8021B928 00218888 48 12 33 01 */ bl ReadFloat__12CInputStreamFv /* 8021B92C 0021888C D0 3D 00 04 */ stfs f1, 4(r29) /* 8021B930 00218890 7F C3 F3 78 */ mr r3, r30 /* 8021B934 00218894 48 12 32 F5 */ bl ReadFloat__12CInputStreamFv /* 8021B938 00218898 D0 3D 00 08 */ stfs f1, 8(r29) /* 8021B93C 0021889C 7F C3 F3 78 */ mr r3, r30 /* 8021B940 002188A0 48 12 32 E9 */ bl ReadFloat__12CInputStreamFv /* 8021B944 002188A4 D0 3D 00 0C */ stfs f1, 0xc(r29) /* 8021B948 002188A8 7F C3 F3 78 */ mr r3, r30 /* 8021B94C 002188AC 48 12 32 DD */ bl ReadFloat__12CInputStreamFv /* 8021B950 002188B0 D0 3D 00 10 */ stfs f1, 0x10(r29) /* 8021B954 002188B4 7F C3 F3 78 */ mr r3, r30 /* 8021B958 002188B8 48 12 32 D1 */ bl ReadFloat__12CInputStreamFv /* 8021B95C 002188BC D0 3D 00 14 */ stfs f1, 0x14(r29) /* 8021B960 002188C0 7F C3 F3 78 */ mr r3, r30 /* 8021B964 002188C4 C0 02 B3 D4 */ lfs f0, lbl_805AD0F4@sda21(r2) /* 8021B968 002188C8 D0 1D 00 18 */ stfs f0, 0x18(r29) /* 8021B96C 002188CC 48 12 32 BD */ bl ReadFloat__12CInputStreamFv /* 8021B970 002188D0 C0 02 B3 C4 */ lfs f0, lbl_805AD0E4@sda21(r2) /* 8021B974 002188D4 7F C3 F3 78 */ mr r3, r30 /* 8021B978 002188D8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8021B97C 002188DC D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 8021B980 002188E0 48 12 32 A9 */ bl ReadFloat__12CInputStreamFv /* 8021B984 002188E4 C0 02 B3 C4 */ lfs f0, lbl_805AD0E4@sda21(r2) /* 8021B988 002188E8 7F C3 F3 78 */ mr r3, r30 /* 8021B98C 002188EC EC 00 00 72 */ fmuls f0, f0, f1 /* 8021B990 002188F0 D0 1D 00 20 */ stfs f0, 0x20(r29) /* 8021B994 002188F4 48 12 32 95 */ bl ReadFloat__12CInputStreamFv /* 8021B998 002188F8 C0 02 B3 C4 */ lfs f0, lbl_805AD0E4@sda21(r2) /* 8021B99C 002188FC 7F C3 F3 78 */ mr r3, r30 /* 8021B9A0 00218900 EC 00 00 72 */ fmuls f0, f0, f1 /* 8021B9A4 00218904 D0 1D 00 24 */ stfs f0, 0x24(r29) /* 8021B9A8 00218908 48 12 32 81 */ bl ReadFloat__12CInputStreamFv /* 8021B9AC 0021890C C0 02 B3 C4 */ lfs f0, lbl_805AD0E4@sda21(r2) /* 8021B9B0 00218910 7F C3 F3 78 */ mr r3, r30 /* 8021B9B4 00218914 EC 00 00 72 */ fmuls f0, f0, f1 /* 8021B9B8 00218918 D0 1D 00 28 */ stfs f0, 0x28(r29) /* 8021B9BC 0021891C 48 12 32 6D */ bl ReadFloat__12CInputStreamFv /* 8021B9C0 00218920 D0 3D 00 2C */ stfs f1, 0x2c(r29) /* 8021B9C4 00218924 7F C3 F3 78 */ mr r3, r30 /* 8021B9C8 00218928 48 12 32 61 */ bl ReadFloat__12CInputStreamFv /* 8021B9CC 0021892C D0 3D 00 30 */ stfs f1, 0x30(r29) /* 8021B9D0 00218930 7F C3 F3 78 */ mr r3, r30 /* 8021B9D4 00218934 48 12 32 55 */ bl ReadFloat__12CInputStreamFv /* 8021B9D8 00218938 D0 3D 00 34 */ stfs f1, 0x34(r29) /* 8021B9DC 0021893C 7F C3 F3 78 */ mr r3, r30 /* 8021B9E0 00218940 48 12 32 49 */ bl ReadFloat__12CInputStreamFv /* 8021B9E4 00218944 2C 1F 00 30 */ cmpwi r31, 0x30 /* 8021B9E8 00218948 D0 3D 00 38 */ stfs f1, 0x38(r29) /* 8021B9EC 0021894C 41 80 00 10 */ blt lbl_8021B9FC /* 8021B9F0 00218950 7F C3 F3 78 */ mr r3, r30 /* 8021B9F4 00218954 48 12 32 E9 */ bl ReadBool__12CInputStreamFv /* 8021B9F8 00218958 48 00 00 08 */ b lbl_8021BA00 lbl_8021B9FC: /* 8021B9FC 0021895C 38 60 00 00 */ li r3, 0 lbl_8021BA00: /* 8021BA00 00218960 98 7D 00 3C */ stb r3, 0x3c(r29) /* 8021BA04 00218964 7F C3 F3 78 */ mr r3, r30 /* 8021BA08 00218968 48 12 32 7D */ bl ReadLong__12CInputStreamFv /* 8021BA0C 0021896C 90 7D 00 40 */ stw r3, 0x40(r29) /* 8021BA10 00218970 7F C4 F3 78 */ mr r4, r30 /* 8021BA14 00218974 38 7D 00 44 */ addi r3, r29, 0x44 /* 8021BA18 00218978 4B EA 7B 49 */ bl __ct__11CDamageInfoFR12CInputStream /* 8021BA1C 0021897C 7F C3 F3 78 */ mr r3, r30 /* 8021BA20 00218980 48 12 32 65 */ bl ReadLong__12CInputStreamFv /* 8021BA24 00218984 90 7D 00 60 */ stw r3, 0x60(r29) /* 8021BA28 00218988 7F C3 F3 78 */ mr r3, r30 /* 8021BA2C 0021898C 48 12 32 59 */ bl ReadLong__12CInputStreamFv /* 8021BA30 00218990 90 7D 00 64 */ stw r3, 0x64(r29) /* 8021BA34 00218994 7F C3 F3 78 */ mr r3, r30 /* 8021BA38 00218998 48 12 32 4D */ bl ReadLong__12CInputStreamFv /* 8021BA3C 0021899C 90 7D 00 68 */ stw r3, 0x68(r29) /* 8021BA40 002189A0 7F C3 F3 78 */ mr r3, r30 /* 8021BA44 002189A4 48 12 32 41 */ bl ReadLong__12CInputStreamFv /* 8021BA48 002189A8 90 7D 00 6C */ stw r3, 0x6c(r29) /* 8021BA4C 002189AC 7F C3 F3 78 */ mr r3, r30 /* 8021BA50 002189B0 48 12 32 35 */ bl ReadLong__12CInputStreamFv /* 8021BA54 002189B4 90 7D 00 70 */ stw r3, 0x70(r29) /* 8021BA58 002189B8 7F C3 F3 78 */ mr r3, r30 /* 8021BA5C 002189BC 48 12 32 29 */ bl ReadLong__12CInputStreamFv /* 8021BA60 002189C0 2C 1F 00 2C */ cmpwi r31, 0x2c /* 8021BA64 002189C4 90 7D 00 74 */ stw r3, 0x74(r29) /* 8021BA68 002189C8 41 80 00 10 */ blt lbl_8021BA78 /* 8021BA6C 002189CC 7F C3 F3 78 */ mr r3, r30 /* 8021BA70 002189D0 48 12 32 15 */ bl ReadLong__12CInputStreamFv /* 8021BA74 002189D4 48 00 00 08 */ b lbl_8021BA7C lbl_8021BA78: /* 8021BA78 002189D8 38 60 FF FF */ li r3, -1 lbl_8021BA7C: /* 8021BA7C 002189DC 90 7D 00 78 */ stw r3, 0x78(r29) /* 8021BA80 002189E0 7F C3 F3 78 */ mr r3, r30 /* 8021BA84 002189E4 48 12 32 01 */ bl ReadLong__12CInputStreamFv /* 8021BA88 002189E8 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021BA8C 002189EC 48 0C CF 25 */ bl TranslateSFXID__11CSfxManagerFUs /* 8021BA90 002189F0 B0 7D 00 7C */ sth r3, 0x7c(r29) /* 8021BA94 002189F4 7F C3 F3 78 */ mr r3, r30 /* 8021BA98 002189F8 48 12 31 ED */ bl ReadLong__12CInputStreamFv /* 8021BA9C 002189FC 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021BAA0 00218A00 48 0C CF 11 */ bl TranslateSFXID__11CSfxManagerFUs /* 8021BAA4 00218A04 B0 7D 00 7E */ sth r3, 0x7e(r29) /* 8021BAA8 00218A08 7F C3 F3 78 */ mr r3, r30 /* 8021BAAC 00218A0C 48 12 31 D9 */ bl ReadLong__12CInputStreamFv /* 8021BAB0 00218A10 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021BAB4 00218A14 48 0C CE FD */ bl TranslateSFXID__11CSfxManagerFUs /* 8021BAB8 00218A18 B0 7D 00 80 */ sth r3, 0x80(r29) /* 8021BABC 00218A1C 7F C3 F3 78 */ mr r3, r30 /* 8021BAC0 00218A20 48 12 31 C5 */ bl ReadLong__12CInputStreamFv /* 8021BAC4 00218A24 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021BAC8 00218A28 48 0C CE E9 */ bl TranslateSFXID__11CSfxManagerFUs /* 8021BACC 00218A2C B0 7D 00 82 */ sth r3, 0x82(r29) /* 8021BAD0 00218A30 7F C3 F3 78 */ mr r3, r30 /* 8021BAD4 00218A34 48 12 31 B1 */ bl ReadLong__12CInputStreamFv /* 8021BAD8 00218A38 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021BADC 00218A3C 48 0C CE D5 */ bl TranslateSFXID__11CSfxManagerFUs /* 8021BAE0 00218A40 2C 1F 00 2D */ cmpwi r31, 0x2d /* 8021BAE4 00218A44 B0 7D 00 84 */ sth r3, 0x84(r29) /* 8021BAE8 00218A48 41 80 00 18 */ blt lbl_8021BB00 /* 8021BAEC 00218A4C 7F C3 F3 78 */ mr r3, r30 /* 8021BAF0 00218A50 48 12 31 95 */ bl ReadLong__12CInputStreamFv /* 8021BAF4 00218A54 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021BAF8 00218A58 48 0C CE B9 */ bl TranslateSFXID__11CSfxManagerFUs /* 8021BAFC 00218A5C 48 00 00 08 */ b lbl_8021BB04 lbl_8021BB00: /* 8021BB00 00218A60 A0 62 C5 FC */ lhz r3, lbl_805AE31C@sda21(r2) lbl_8021BB04: /* 8021BB04 00218A64 B0 7D 00 86 */ sth r3, 0x86(r29) /* 8021BB08 00218A68 7F C3 F3 78 */ mr r3, r30 /* 8021BB0C 00218A6C 48 12 31 79 */ bl ReadLong__12CInputStreamFv /* 8021BB10 00218A70 90 7D 00 88 */ stw r3, 0x88(r29) /* 8021BB14 00218A74 7F C3 F3 78 */ mr r3, r30 /* 8021BB18 00218A78 48 12 31 11 */ bl ReadFloat__12CInputStreamFv /* 8021BB1C 00218A7C D0 3D 00 8C */ stfs f1, 0x8c(r29) /* 8021BB20 00218A80 7F C3 F3 78 */ mr r3, r30 /* 8021BB24 00218A84 48 12 31 61 */ bl ReadLong__12CInputStreamFv /* 8021BB28 00218A88 90 7D 00 90 */ stw r3, 0x90(r29) /* 8021BB2C 00218A8C 7F C3 F3 78 */ mr r3, r30 /* 8021BB30 00218A90 48 12 31 55 */ bl ReadLong__12CInputStreamFv /* 8021BB34 00218A94 90 7D 00 94 */ stw r3, 0x94(r29) /* 8021BB38 00218A98 7F C3 F3 78 */ mr r3, r30 /* 8021BB3C 00218A9C 48 12 31 49 */ bl ReadLong__12CInputStreamFv /* 8021BB40 00218AA0 2C 1F 00 2F */ cmpwi r31, 0x2f /* 8021BB44 00218AA4 90 7D 00 98 */ stw r3, 0x98(r29) /* 8021BB48 00218AA8 41 80 00 10 */ blt lbl_8021BB58 /* 8021BB4C 00218AAC 7F C3 F3 78 */ mr r3, r30 /* 8021BB50 00218AB0 48 12 30 D9 */ bl ReadFloat__12CInputStreamFv /* 8021BB54 00218AB4 48 00 00 08 */ b lbl_8021BB5C lbl_8021BB58: /* 8021BB58 00218AB8 C0 22 B3 D8 */ lfs f1, lbl_805AD0F8@sda21(r2) lbl_8021BB5C: /* 8021BB5C 00218ABC 2C 1F 00 2E */ cmpwi r31, 0x2e /* 8021BB60 00218AC0 D0 3D 00 9C */ stfs f1, 0x9c(r29) /* 8021BB64 00218AC4 41 80 00 10 */ blt lbl_8021BB74 /* 8021BB68 00218AC8 7F C3 F3 78 */ mr r3, r30 /* 8021BB6C 00218ACC 48 12 31 71 */ bl ReadBool__12CInputStreamFv /* 8021BB70 00218AD0 48 00 00 08 */ b lbl_8021BB78 lbl_8021BB74: /* 8021BB74 00218AD4 38 60 00 00 */ li r3, 0 lbl_8021BB78: /* 8021BB78 00218AD8 98 7D 00 A0 */ stb r3, 0xa0(r29) /* 8021BB7C 00218ADC 7F A3 EB 78 */ mr r3, r29 /* 8021BB80 00218AE0 80 01 00 24 */ lwz r0, 0x24(r1) /* 8021BB84 00218AE4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8021BB88 00218AE8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8021BB8C 00218AEC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8021BB90 00218AF0 7C 08 03 A6 */ mtlr r0 /* 8021BB94 00218AF4 38 21 00 20 */ addi r1, r1, 0x20 /* 8021BB98 00218AF8 4E 80 00 20 */ blr .global __sinit_CScriptGunTurret_cpp __sinit_CScriptGunTurret_cpp: /* 8021BB9C 00218AFC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8021BBA0 00218B00 7C 08 02 A6 */ mflr r0 /* 8021BBA4 00218B04 38 60 00 00 */ li r3, 0 /* 8021BBA8 00218B08 38 80 00 01 */ li r4, 1 /* 8021BBAC 00218B0C 90 01 00 14 */ stw r0, 0x14(r1) /* 8021BBB0 00218B10 38 00 00 00 */ li r0, 0 /* 8021BBB4 00218B14 80 AD 94 E0 */ lwz r5, lbl_805A80A0@sda21(r13) /* 8021BBB8 00218B18 90 0D A5 04 */ stw r0, lbl_805A90C4@sda21(r13) /* 8021BBBC 00218B1C 90 0D A5 00 */ stw r0, lbl_805A90C0@sda21(r13) /* 8021BBC0 00218B20 48 16 E3 35 */ bl __shl2i /* 8021BBC4 00218B24 80 AD A5 00 */ lwz r5, lbl_805A90C0@sda21(r13) /* 8021BBC8 00218B28 38 00 00 00 */ li r0, 0 /* 8021BBCC 00218B2C 80 CD A5 04 */ lwz r6, lbl_805A90C4@sda21(r13) /* 8021BBD0 00218B30 7C A3 1B 78 */ or r3, r5, r3 /* 8021BBD4 00218B34 80 AD 94 E4 */ lwz r5, lbl_805A80A4@sda21(r13) /* 8021BBD8 00218B38 7C C4 23 78 */ or r4, r6, r4 /* 8021BBDC 00218B3C 90 6D A5 00 */ stw r3, lbl_805A90C0@sda21(r13) /* 8021BBE0 00218B40 38 60 00 00 */ li r3, 0 /* 8021BBE4 00218B44 90 8D A5 04 */ stw r4, lbl_805A90C4@sda21(r13) /* 8021BBE8 00218B48 38 80 00 01 */ li r4, 1 /* 8021BBEC 00218B4C 90 0D A5 0C */ stw r0, lbl_805A90CC@sda21(r13) /* 8021BBF0 00218B50 90 0D A5 08 */ stw r0, lbl_805A90C8@sda21(r13) /* 8021BBF4 00218B54 48 16 E3 01 */ bl __shl2i /* 8021BBF8 00218B58 80 0D A5 08 */ lwz r0, lbl_805A90C8@sda21(r13) /* 8021BBFC 00218B5C 80 CD A5 0C */ lwz r6, lbl_805A90CC@sda21(r13) /* 8021BC00 00218B60 7C 00 1B 78 */ or r0, r0, r3 /* 8021BC04 00218B64 80 AD 94 E8 */ lwz r5, lbl_805A80A8@sda21(r13) /* 8021BC08 00218B68 7C C4 23 78 */ or r4, r6, r4 /* 8021BC0C 00218B6C 90 0D A5 08 */ stw r0, lbl_805A90C8@sda21(r13) /* 8021BC10 00218B70 38 60 00 00 */ li r3, 0 /* 8021BC14 00218B74 90 8D A5 0C */ stw r4, lbl_805A90CC@sda21(r13) /* 8021BC18 00218B78 38 80 00 01 */ li r4, 1 /* 8021BC1C 00218B7C 48 16 E2 D9 */ bl __shl2i /* 8021BC20 00218B80 80 0D A5 08 */ lwz r0, lbl_805A90C8@sda21(r13) /* 8021BC24 00218B84 80 CD A5 0C */ lwz r6, lbl_805A90CC@sda21(r13) /* 8021BC28 00218B88 7C 00 1B 78 */ or r0, r0, r3 /* 8021BC2C 00218B8C 80 AD 94 EC */ lwz r5, lbl_805A80AC@sda21(r13) /* 8021BC30 00218B90 7C C4 23 78 */ or r4, r6, r4 /* 8021BC34 00218B94 90 0D A5 08 */ stw r0, lbl_805A90C8@sda21(r13) /* 8021BC38 00218B98 38 60 00 00 */ li r3, 0 /* 8021BC3C 00218B9C 90 8D A5 0C */ stw r4, lbl_805A90CC@sda21(r13) /* 8021BC40 00218BA0 38 80 00 01 */ li r4, 1 /* 8021BC44 00218BA4 48 16 E2 B1 */ bl __shl2i /* 8021BC48 00218BA8 80 0D A5 08 */ lwz r0, lbl_805A90C8@sda21(r13) /* 8021BC4C 00218BAC 80 CD A5 0C */ lwz r6, lbl_805A90CC@sda21(r13) /* 8021BC50 00218BB0 7C 00 1B 78 */ or r0, r0, r3 /* 8021BC54 00218BB4 80 AD 94 F0 */ lwz r5, lbl_805A80B0@sda21(r13) /* 8021BC58 00218BB8 7C C4 23 78 */ or r4, r6, r4 /* 8021BC5C 00218BBC 90 0D A5 08 */ stw r0, lbl_805A90C8@sda21(r13) /* 8021BC60 00218BC0 38 60 00 00 */ li r3, 0 /* 8021BC64 00218BC4 90 8D A5 0C */ stw r4, lbl_805A90CC@sda21(r13) /* 8021BC68 00218BC8 38 80 00 01 */ li r4, 1 /* 8021BC6C 00218BCC 48 16 E2 89 */ bl __shl2i /* 8021BC70 00218BD0 80 0D A5 08 */ lwz r0, lbl_805A90C8@sda21(r13) /* 8021BC74 00218BD4 80 AD A5 0C */ lwz r5, lbl_805A90CC@sda21(r13) /* 8021BC78 00218BD8 7C 00 1B 78 */ or r0, r0, r3 /* 8021BC7C 00218BDC 7C A3 23 78 */ or r3, r5, r4 /* 8021BC80 00218BE0 90 0D A5 08 */ stw r0, lbl_805A90C8@sda21(r13) /* 8021BC84 00218BE4 90 6D A5 0C */ stw r3, lbl_805A90CC@sda21(r13) /* 8021BC88 00218BE8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8021BC8C 00218BEC 7C 08 03 A6 */ mtlr r0 /* 8021BC90 00218BF0 38 21 00 10 */ addi r1, r1, 0x10 /* 8021BC94 00218BF4 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805AD068 lbl_805AD068: # ROM: 0x3F9908 .4byte 0x0000002B .global lbl_805AD06C lbl_805AD06C: # ROM: 0x3F990C .float 0.9 .global lbl_805AD070 lbl_805AD070: # ROM: 0x3F9910 .4byte lbl_803D2FF0 .global lbl_805AD074 lbl_805AD074: # ROM: 0x3F9914 .4byte lbl_803D2FF8 .global lbl_805AD078 lbl_805AD078: # ROM: 0x3F9918 .4byte lbl_803D3003 .global lbl_805AD07C lbl_805AD07C: # ROM: 0x3F991C .4byte 0 .global lbl_805AD080 lbl_805AD080: # ROM: 0x3F9920 .float 2.0 .global lbl_805AD084 lbl_805AD084: # ROM: 0x3F9924 .float 0.6 .global lbl_805AD088 lbl_805AD088: # ROM: 0x3F9928 .float 1.0 .global lbl_805AD08C lbl_805AD08C: # ROM: 0x3F992C .4byte 0x447A0000 .global lbl_805AD090 lbl_805AD090: # ROM: 0x3F9930 .float 0.3 .global lbl_805AD094 lbl_805AD094: # ROM: 0x3F9934 .4byte 0x3EB2B8C2 .global lbl_805AD098 lbl_805AD098: # ROM: 0x3F9938 .float 0.5 .global lbl_805AD09C lbl_805AD09C: # ROM: 0x3F993C .4byte 0x46000000 .global lbl_805AD0A0 lbl_805AD0A0: # ROM: 0x3F9940 .float 90.0 .global lbl_805AD0A4 lbl_805AD0A4: # ROM: 0x3F9944 .4byte 0x3FC90FDB .global lbl_805AD0A8 lbl_805AD0A8: # ROM: 0x3F9948 .4byte 0xBEB2B8C2 .global lbl_805AD0AC lbl_805AD0AC: # ROM: 0x3F994C .4byte 0x3D0EFA35 .global lbl_805AD0B0 lbl_805AD0B0: # ROM: 0x3F9950 .float 1.5 .4byte 0 .global lbl_805AD0B8 lbl_805AD0B8: # ROM: 0x3F9958 .4byte 0 .4byte 0 .global lbl_805AD0C0 lbl_805AD0C0: # ROM: 0x3F9960 .4byte 0x3FE00000 .4byte 0 .global lbl_805AD0C8 lbl_805AD0C8: # ROM: 0x3F9968 .4byte 0x40080000 .4byte 0 .global lbl_805AD0D0 lbl_805AD0D0: # ROM: 0x3F9970 .float 0.001 .global lbl_805AD0D4 lbl_805AD0D4: # ROM: 0x3F9974 .4byte 0xBF000000 .global lbl_805AD0D8 lbl_805AD0D8: # ROM: 0x3F9978 .float 0.15 .global lbl_805AD0DC lbl_805AD0DC: # ROM: 0x3F997C .float 0.7853982 .global lbl_805AD0E0 lbl_805AD0E0: # ROM: 0x3F9980 .4byte 0x42C80000 .global lbl_805AD0E4 lbl_805AD0E4: # ROM: 0x3F9984 .float 0.017453292 .global lbl_805AD0E8 lbl_805AD0E8: # ROM: 0x3F9988 .4byte 0x41A00000 .global lbl_805AD0EC lbl_805AD0EC: # ROM: 0x3F998C .4byte 0x41200000 .global lbl_805AD0F0 lbl_805AD0F0: # ROM: 0x3F9990 .float 0.1 .global lbl_805AD0F4 lbl_805AD0F4: # ROM: 0x3F9994 .4byte 0x41F00000 .global lbl_805AD0F8 lbl_805AD0F8: # ROM: 0x3F9998 .4byte 0x40400000 .4byte 0 .section .rodata .balign 8 .global lbl_803D2908 lbl_803D2908: # ROM: 0x3CF908 .4byte 0x00000005 .4byte 0x00000007 .4byte 0x00000009 .4byte 0 .4byte 0x00000001 .4byte 0 .4byte 0x00000001 .4byte 0x00000002 .4byte 0x00000003 .4byte 0x00000001 .4byte 0x00000001 .4byte 0x00000001 .4byte 0x00000001 .global lbl_803D293C lbl_803D293C: # ROM: 0x3CF93C .4byte 0x00000003 .4byte 0x00000001 .4byte 0x00000002 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000003 .4byte 0x00000007 .4byte 0x00000006 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000004 .4byte 0x00000003 .4byte 0x00000005 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000003C .4byte 0x00000010 .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000001E .4byte 0x00000004 .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .global lbl_803D2A44 lbl_803D2A44: # ROM: 0x3CFA44 .4byte 0x0000001E .4byte 0x00000004 .4byte 0x00000005 .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000001E .4byte 0x00000002 .4byte 0x00000003 .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000001E .4byte 0x00000003 .4byte 0x00000004 .4byte 0x00000005 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000005 .4byte 0x00000010 .4byte 0x00000001 .4byte 0x00000002 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000005 .4byte 0x00000008 .4byte 0x00000007 .4byte 0x00000006 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .global lbl_803D2B4C lbl_803D2B4C: # ROM: 0x3CFB4C .4byte 0x00000005 .4byte 0x00000010 .4byte 0x00000001 .4byte 0x00000002 .4byte 0x00000003 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000005 .4byte 0x00000009 .4byte 0x00000008 .4byte 0x00000007 .4byte 0x00000006 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000F .4byte 0x00000002 .4byte 0x00000003 .4byte 0x00000004 .4byte 0x00000005 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000F .4byte 0x00000005 .4byte 0x00000004 .4byte 0x00000003 .4byte 0x00000002 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000F .4byte 0x0000000A .4byte 0x0000000B .4byte 0x00000004 .4byte 0x0000000D .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000F .4byte 0x0000000E .4byte 0x0000000D .4byte 0x00000004 .4byte 0x0000000B .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000001E .4byte 0x00000002 .4byte 0x00000004 .4byte 0x00000004 .4byte 0x00000006 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .global lbl_803D2CAC lbl_803D2CAC: # ROM: 0x3CFCAC .4byte 0x00000014 .4byte 0x00000010 .4byte 0x0000000F .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000014 .4byte 0x00000008 .4byte 0x00000009 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000014 .4byte 0x0000000D .4byte 0x0000000B .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000014 .4byte 0x00000002 .4byte 0x00000006 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000014 .4byte 0x00000003 .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .global lbl_803D2DB4 lbl_803D2DB4: # ROM: 0x3CFDB4 .4byte 0x0000000A .4byte 0x0000000E .4byte 0x00000004 .4byte 0x0000000A .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000A .4byte 0x0000000F .4byte 0x0000000D .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000A .4byte 0x00000009 .4byte 0x0000000B .4byte 0x00000004 .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000023 .4byte 0x0000000F .4byte 0x0000000D .4byte 0x0000000B .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000023 .4byte 0x00000009 .4byte 0x0000000B .4byte 0x0000000D .4byte 0xFFFFFFFF .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .global lbl_803D2EBC lbl_803D2EBC: # ROM: 0x3CFEBC .4byte 0x0000000A .4byte 0x0000000E .4byte 0x0000000D .4byte 0x00000004 .4byte 0x0000000B .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000001E .4byte 0x00000001 .4byte 0x0000000F .4byte 0x0000000D .4byte 0x0000000B .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000014 .4byte 0x00000010 .4byte 0x0000000F .4byte 0x0000000E .4byte 0x0000000D .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000A .4byte 0x00000008 .4byte 0x00000009 .4byte 0x0000000B .4byte 0x00000004 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x0000000A .4byte 0x00000001 .4byte 0x0000000F .4byte 0x0000000D .4byte 0x00000004 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0x00000014 .4byte 0x00000008 .4byte 0x00000009 .4byte 0x0000000A .4byte 0x0000000B .4byte 0 .4byte 0 .4byte 0 .4byte 0 .float 0.15 .4byte 0x3D4CCCCD .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .4byte 0 .global lbl_803D2FF0 lbl_803D2FF0: # ROM: 0x3CFFF0 .asciz "Gun_SDK" .global lbl_803D2FF8 lbl_803D2FF8: # ROM: 0x3CFFF8 .asciz "Blast_LCTR" .global lbl_803D3003 lbl_803D3003: # ROM: 0x3D0003 .byte 0x6C .asciz "ight_LCTR" .byte 0x6C, 0x6F .asciz "ckon_target_LCTR" .byte 0x3F, 0x3F, 0x28 .4byte 0x3F3F2900 .asciz "ParticleLight_" .balign 4