.include "macros.inc" .section .data .global lbl_803DAB90 lbl_803DAB90: # ROM: 0x3D7B90 .4byte 0 .4byte 0 .4byte __dt__11CBallCameraFv .4byte Accept__11CBallCameraFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__11CBallCameraFfR13CStateManager .4byte AcceptScriptMsg__11CBallCameraF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__11CGameCameraFb .4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager .4byte Render__11CBallCameraCFRC13CStateManager .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__6CActorFR13CStateManager .4byte GetDamageVulnerability__6CActorCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__6CActorCFv .4byte Touch__6CActorFR6CActorR13CStateManager .4byte GetOrbitPosition__6CActorCFRC13CStateManager .4byte GetAimPosition__6CActorCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC12CTransform4f .4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventType .4byte ProcessInput__11CBallCameraFRC11CFinalInputR13CStateManager .4byte Reset__11CBallCameraFRC12CTransform4fR13CStateManager .global lbl_803DAC04 lbl_803DAC04: # ROM: 0x3D7C04 .4byte lbl_80082470 .4byte lbl_80082604 .4byte lbl_800822B8 .4byte lbl_80082604 .4byte lbl_800825A8 .4byte lbl_80082450 .4byte lbl_800826CC .4byte lbl_800826CC .4byte lbl_800826CC .global lbl_803DAC28 lbl_803DAC28: # ROM: 0x3D7C28 .4byte 0 .4byte 0 .4byte __dt__15CCameraColliderFv .4byte 0 .section .bss .global lbl_8046C408 lbl_8046C408: .skip 0x18 .section .text, "ax" .global SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager: /* 80081048 0007DFA8 94 21 F1 C0 */ stwu r1, -0xe40(r1) /* 8008104C 0007DFAC 7C 08 02 A6 */ mflr r0 /* 80081050 0007DFB0 90 01 0E 44 */ stw r0, 0xe44(r1) /* 80081054 0007DFB4 DB E1 0E 30 */ stfd f31, 0xe30(r1) /* 80081058 0007DFB8 F3 E1 0E 38 */ psq_st f31, -456(r1), 0, qr0 /* 8008105C 0007DFBC DB C1 0E 20 */ stfd f30, 0xe20(r1) /* 80081060 0007DFC0 F3 C1 0E 28 */ psq_st f30, -472(r1), 0, qr0 /* 80081064 0007DFC4 DB A1 0E 10 */ stfd f29, 0xe10(r1) /* 80081068 0007DFC8 F3 A1 0E 18 */ psq_st f29, -488(r1), 0, qr0 /* 8008106C 0007DFCC DB 81 0E 00 */ stfd f28, 0xe00(r1) /* 80081070 0007DFD0 F3 81 0E 08 */ psq_st f28, -504(r1), 0, qr0 /* 80081074 0007DFD4 DB 61 0D F0 */ stfd f27, 0xdf0(r1) /* 80081078 0007DFD8 F3 61 0D F8 */ psq_st f27, -520(r1), 0, qr0 /* 8008107C 0007DFDC BF 01 0D D0 */ stmw r24, 0xdd0(r1) /* 80081080 0007DFE0 A0 CD A3 8C */ lhz r6, lbl_805A8F4C@sda21(r13) /* 80081084 0007DFE4 38 00 00 00 */ li r0, 0 /* 80081088 0007DFE8 80 ED 85 34 */ lwz r7, lbl_805A70F4@sda21(r13) /* 8008108C 0007DFEC 7C 7B 1B 78 */ mr r27, r3 /* 80081090 0007DFF0 B0 C1 00 08 */ sth r6, 8(r1) /* 80081094 0007DFF4 7C 9C 23 78 */ mr r28, r4 /* 80081098 0007DFF8 7C BD 2B 78 */ mr r29, r5 /* 8008109C 0007DFFC 7C E5 3B 78 */ mr r5, r7 /* 800810A0 0007E000 90 01 05 B8 */ stw r0, 0x5b8(r1) /* 800810A4 0007E004 38 60 00 00 */ li r3, 0 /* 800810A8 0007E008 38 80 00 01 */ li r4, 1 /* 800810AC 0007E00C 90 01 03 74 */ stw r0, 0x374(r1) /* 800810B0 0007E010 90 01 01 30 */ stw r0, 0x130(r1) /* 800810B4 0007E014 48 30 8E 41 */ bl __shl2i /* 800810B8 0007E018 80 AD 85 38 */ lwz r5, lbl_805A70F8@sda21(r13) /* 800810BC 0007E01C 7C 9E 23 78 */ mr r30, r4 /* 800810C0 0007E020 7C 7A 1B 78 */ mr r26, r3 /* 800810C4 0007E024 38 60 00 00 */ li r3, 0 /* 800810C8 0007E028 38 80 00 01 */ li r4, 1 /* 800810CC 0007E02C 48 30 8E 29 */ bl __shl2i /* 800810D0 0007E030 80 AD 85 3C */ lwz r5, lbl_805A70FC@sda21(r13) /* 800810D4 0007E034 7F DE 23 78 */ or r30, r30, r4 /* 800810D8 0007E038 7F 5A 1B 78 */ or r26, r26, r3 /* 800810DC 0007E03C 38 60 00 00 */ li r3, 0 /* 800810E0 0007E040 38 80 00 01 */ li r4, 1 /* 800810E4 0007E044 48 30 8E 11 */ bl __shl2i /* 800810E8 0007E048 80 AD 85 40 */ lwz r5, lbl_805A7100@sda21(r13) /* 800810EC 0007E04C 7F DE 23 78 */ or r30, r30, r4 /* 800810F0 0007E050 7F 5A 1B 78 */ or r26, r26, r3 /* 800810F4 0007E054 38 60 00 00 */ li r3, 0 /* 800810F8 0007E058 38 80 00 01 */ li r4, 1 /* 800810FC 0007E05C 48 30 8D F9 */ bl __shl2i /* 80081100 0007E060 80 AD 85 44 */ lwz r5, lbl_805A7104@sda21(r13) /* 80081104 0007E064 7C 98 23 78 */ mr r24, r4 /* 80081108 0007E068 7C 79 1B 78 */ mr r25, r3 /* 8008110C 0007E06C 38 60 00 00 */ li r3, 0 /* 80081110 0007E070 38 80 00 01 */ li r4, 1 /* 80081114 0007E074 48 30 8D E1 */ bl __shl2i /* 80081118 0007E078 80 AD 85 48 */ lwz r5, lbl_805A7108@sda21(r13) /* 8008111C 0007E07C 7F 18 23 78 */ or r24, r24, r4 /* 80081120 0007E080 7F 39 1B 78 */ or r25, r25, r3 /* 80081124 0007E084 38 60 00 00 */ li r3, 0 /* 80081128 0007E088 38 80 00 01 */ li r4, 1 /* 8008112C 0007E08C 48 30 8D C9 */ bl __shl2i /* 80081130 0007E090 80 AD 85 4C */ lwz r5, lbl_805A710C@sda21(r13) /* 80081134 0007E094 7F 18 23 78 */ or r24, r24, r4 /* 80081138 0007E098 7F 39 1B 78 */ or r25, r25, r3 /* 8008113C 0007E09C 38 60 00 00 */ li r3, 0 /* 80081140 0007E0A0 38 80 00 01 */ li r4, 1 /* 80081144 0007E0A4 48 30 8D B1 */ bl __shl2i /* 80081148 0007E0A8 38 00 00 03 */ li r0, 3 /* 8008114C 0007E0AC 7F 18 23 78 */ or r24, r24, r4 /* 80081150 0007E0B0 7F 39 1B 78 */ or r25, r25, r3 /* 80081154 0007E0B4 90 01 00 B0 */ stw r0, 0xb0(r1) /* 80081158 0007E0B8 C3 A2 89 B0 */ lfs f29, lbl_805AA6D0@sda21(r2) /* 8008115C 0007E0BC 3B E1 03 78 */ addi r31, r1, 0x378 /* 80081160 0007E0C0 93 C1 00 BC */ stw r30, 0xbc(r1) /* 80081164 0007E0C4 3B C1 01 34 */ addi r30, r1, 0x134 /* 80081168 0007E0C8 C3 C2 89 B8 */ lfs f30, lbl_805AA6D8@sda21(r2) /* 8008116C 0007E0CC 93 41 00 B8 */ stw r26, 0xb8(r1) /* 80081170 0007E0D0 C3 E2 89 BC */ lfs f31, lbl_805AA6DC@sda21(r2) /* 80081174 0007E0D4 93 01 00 C4 */ stw r24, 0xc4(r1) /* 80081178 0007E0D8 C3 82 89 B4 */ lfs f28, lbl_805AA6D4@sda21(r2) /* 8008117C 0007E0DC 93 21 00 C0 */ stw r25, 0xc0(r1) /* 80081180 0007E0E0 90 01 00 C8 */ stw r0, 0xc8(r1) /* 80081184 0007E0E4 48 00 03 04 */ b lbl_80081488 lbl_80081188: /* 80081188 0007E0E8 FC 20 E8 90 */ fmr f1, f29 /* 8008118C 0007E0EC C0 42 89 B4 */ lfs f2, lbl_805AA6D4@sda21(r2) /* 80081190 0007E0F0 38 61 00 60 */ addi r3, r1, 0x60 /* 80081194 0007E0F4 38 9B 03 7C */ addi r4, r27, 0x37c /* 80081198 0007E0F8 4B FD AE 39 */ bl GetInterpolatedSplinePointByTime__13CCameraSplineCFff /* 8008119C 0007E0FC C0 41 00 60 */ lfs f2, 0x60(r1) /* 800811A0 0007E100 EC 3E E8 2A */ fadds f1, f30, f29 /* 800811A4 0007E104 C0 61 00 64 */ lfs f3, 0x64(r1) /* 800811A8 0007E108 38 61 00 54 */ addi r3, r1, 0x54 /* 800811AC 0007E10C C0 01 00 68 */ lfs f0, 0x68(r1) /* 800811B0 0007E110 38 9B 03 7C */ addi r4, r27, 0x37c /* 800811B4 0007E114 D0 41 00 90 */ stfs f2, 0x90(r1) /* 800811B8 0007E118 C0 42 89 B4 */ lfs f2, lbl_805AA6D4@sda21(r2) /* 800811BC 0007E11C D0 61 00 94 */ stfs f3, 0x94(r1) /* 800811C0 0007E120 D0 01 00 98 */ stfs f0, 0x98(r1) /* 800811C4 0007E124 4B FD AE 0D */ bl GetInterpolatedSplinePointByTime__13CCameraSplineCFff /* 800811C8 0007E128 C0 A1 00 54 */ lfs f5, 0x54(r1) /* 800811CC 0007E12C 38 61 00 78 */ addi r3, r1, 0x78 /* 800811D0 0007E130 C0 81 00 58 */ lfs f4, 0x58(r1) /* 800811D4 0007E134 C0 61 00 5C */ lfs f3, 0x5c(r1) /* 800811D8 0007E138 C0 41 00 94 */ lfs f2, 0x94(r1) /* 800811DC 0007E13C C0 21 00 98 */ lfs f1, 0x98(r1) /* 800811E0 0007E140 C0 01 00 90 */ lfs f0, 0x90(r1) /* 800811E4 0007E144 EC 44 10 28 */ fsubs f2, f4, f2 /* 800811E8 0007E148 EC 23 08 28 */ fsubs f1, f3, f1 /* 800811EC 0007E14C D0 A1 00 84 */ stfs f5, 0x84(r1) /* 800811F0 0007E150 EC 05 00 28 */ fsubs f0, f5, f0 /* 800811F4 0007E154 D0 81 00 88 */ stfs f4, 0x88(r1) /* 800811F8 0007E158 D0 61 00 8C */ stfs f3, 0x8c(r1) /* 800811FC 0007E15C D0 01 00 78 */ stfs f0, 0x78(r1) /* 80081200 0007E160 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 80081204 0007E164 D0 21 00 80 */ stfs f1, 0x80(r1) /* 80081208 0007E168 48 29 36 B1 */ bl Magnitude__9CVector3fCFv /* 8008120C 0007E16C FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 80081210 0007E170 40 81 01 84 */ ble lbl_80081394 /* 80081214 0007E174 38 61 00 78 */ addi r3, r1, 0x78 /* 80081218 0007E178 48 29 36 A1 */ bl Magnitude__9CVector3fCFv /* 8008121C 0007E17C FF 60 08 90 */ fmr f27, f1 /* 80081220 0007E180 38 61 00 48 */ addi r3, r1, 0x48 /* 80081224 0007E184 38 81 00 78 */ addi r4, r1, 0x78 /* 80081228 0007E188 48 29 36 29 */ bl AsNormalized__9CVector3fCFv /* 8008122C 0007E18C FC 20 D8 90 */ fmr f1, f27 /* 80081230 0007E190 7F A4 EB 78 */ mr r4, r29 /* 80081234 0007E194 38 61 01 00 */ addi r3, r1, 0x100 /* 80081238 0007E198 38 A1 00 08 */ addi r5, r1, 8 /* 8008123C 0007E19C 38 C1 00 90 */ addi r6, r1, 0x90 /* 80081240 0007E1A0 38 E1 00 48 */ addi r7, r1, 0x48 /* 80081244 0007E1A4 39 01 00 B8 */ addi r8, r1, 0xb8 /* 80081248 0007E1A8 39 21 05 B8 */ addi r9, r1, 0x5b8 /* 8008124C 0007E1AC 4B FC BD 79 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80081250 0007E1B0 80 01 03 74 */ lwz r0, 0x374(r1) /* 80081254 0007E1B4 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80081258 0007E1B8 7C 9F 02 15 */ add. r4, r31, r0 /* 8008125C 0007E1BC 41 82 00 5C */ beq lbl_800812B8 /* 80081260 0007E1C0 C0 21 01 00 */ lfs f1, 0x100(r1) /* 80081264 0007E1C4 C0 01 01 04 */ lfs f0, 0x104(r1) /* 80081268 0007E1C8 D0 24 00 00 */ stfs f1, 0(r4) /* 8008126C 0007E1CC C0 21 01 08 */ lfs f1, 0x108(r1) /* 80081270 0007E1D0 D0 04 00 04 */ stfs f0, 4(r4) /* 80081274 0007E1D4 C0 01 01 0C */ lfs f0, 0x10c(r1) /* 80081278 0007E1D8 D0 24 00 08 */ stfs f1, 8(r4) /* 8008127C 0007E1DC C0 21 01 10 */ lfs f1, 0x110(r1) /* 80081280 0007E1E0 D0 04 00 0C */ stfs f0, 0xc(r4) /* 80081284 0007E1E4 C0 01 01 14 */ lfs f0, 0x114(r1) /* 80081288 0007E1E8 D0 24 00 10 */ stfs f1, 0x10(r4) /* 8008128C 0007E1EC C0 21 01 18 */ lfs f1, 0x118(r1) /* 80081290 0007E1F0 D0 04 00 14 */ stfs f0, 0x14(r4) /* 80081294 0007E1F4 C0 01 01 1C */ lfs f0, 0x11c(r1) /* 80081298 0007E1F8 D0 24 00 18 */ stfs f1, 0x18(r4) /* 8008129C 0007E1FC 88 01 01 20 */ lbz r0, 0x120(r1) /* 800812A0 0007E200 D0 04 00 1C */ stfs f0, 0x1c(r4) /* 800812A4 0007E204 80 61 01 2C */ lwz r3, 0x12c(r1) /* 800812A8 0007E208 98 04 00 20 */ stb r0, 0x20(r4) /* 800812AC 0007E20C 80 01 01 28 */ lwz r0, 0x128(r1) /* 800812B0 0007E210 90 64 00 2C */ stw r3, 0x2c(r4) /* 800812B4 0007E214 90 04 00 28 */ stw r0, 0x28(r4) lbl_800812B8: /* 800812B8 0007E218 80 A1 03 74 */ lwz r5, 0x374(r1) /* 800812BC 0007E21C 38 61 00 30 */ addi r3, r1, 0x30 /* 800812C0 0007E220 38 81 00 78 */ addi r4, r1, 0x78 /* 800812C4 0007E224 38 05 00 01 */ addi r0, r5, 1 /* 800812C8 0007E228 90 01 03 74 */ stw r0, 0x374(r1) /* 800812CC 0007E22C 48 29 35 85 */ bl AsNormalized__9CVector3fCFv /* 800812D0 0007E230 C0 41 00 30 */ lfs f2, 0x30(r1) /* 800812D4 0007E234 38 61 00 78 */ addi r3, r1, 0x78 /* 800812D8 0007E238 C0 21 00 34 */ lfs f1, 0x34(r1) /* 800812DC 0007E23C C0 01 00 38 */ lfs f0, 0x38(r1) /* 800812E0 0007E240 FC 40 10 50 */ fneg f2, f2 /* 800812E4 0007E244 FC 20 08 50 */ fneg f1, f1 /* 800812E8 0007E248 FC 00 00 50 */ fneg f0, f0 /* 800812EC 0007E24C D0 41 00 3C */ stfs f2, 0x3c(r1) /* 800812F0 0007E250 D0 21 00 40 */ stfs f1, 0x40(r1) /* 800812F4 0007E254 D0 01 00 44 */ stfs f0, 0x44(r1) /* 800812F8 0007E258 48 29 35 C1 */ bl Magnitude__9CVector3fCFv /* 800812FC 0007E25C 7F A4 EB 78 */ mr r4, r29 /* 80081300 0007E260 38 61 00 D0 */ addi r3, r1, 0xd0 /* 80081304 0007E264 38 A1 00 08 */ addi r5, r1, 8 /* 80081308 0007E268 38 C1 00 84 */ addi r6, r1, 0x84 /* 8008130C 0007E26C 38 E1 00 3C */ addi r7, r1, 0x3c /* 80081310 0007E270 39 01 00 B8 */ addi r8, r1, 0xb8 /* 80081314 0007E274 39 21 05 B8 */ addi r9, r1, 0x5b8 /* 80081318 0007E278 4B FC BC AD */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8008131C 0007E27C 80 01 01 30 */ lwz r0, 0x130(r1) /* 80081320 0007E280 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80081324 0007E284 7C 9E 02 15 */ add. r4, r30, r0 /* 80081328 0007E288 41 82 00 5C */ beq lbl_80081384 /* 8008132C 0007E28C C0 21 00 D0 */ lfs f1, 0xd0(r1) /* 80081330 0007E290 C0 01 00 D4 */ lfs f0, 0xd4(r1) /* 80081334 0007E294 D0 24 00 00 */ stfs f1, 0(r4) /* 80081338 0007E298 C0 21 00 D8 */ lfs f1, 0xd8(r1) /* 8008133C 0007E29C D0 04 00 04 */ stfs f0, 4(r4) /* 80081340 0007E2A0 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 80081344 0007E2A4 D0 24 00 08 */ stfs f1, 8(r4) /* 80081348 0007E2A8 C0 21 00 E0 */ lfs f1, 0xe0(r1) /* 8008134C 0007E2AC D0 04 00 0C */ stfs f0, 0xc(r4) /* 80081350 0007E2B0 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 80081354 0007E2B4 D0 24 00 10 */ stfs f1, 0x10(r4) /* 80081358 0007E2B8 C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 8008135C 0007E2BC D0 04 00 14 */ stfs f0, 0x14(r4) /* 80081360 0007E2C0 C0 01 00 EC */ lfs f0, 0xec(r1) /* 80081364 0007E2C4 D0 24 00 18 */ stfs f1, 0x18(r4) /* 80081368 0007E2C8 88 01 00 F0 */ lbz r0, 0xf0(r1) /* 8008136C 0007E2CC D0 04 00 1C */ stfs f0, 0x1c(r4) /* 80081370 0007E2D0 80 61 00 FC */ lwz r3, 0xfc(r1) /* 80081374 0007E2D4 98 04 00 20 */ stb r0, 0x20(r4) /* 80081378 0007E2D8 80 01 00 F8 */ lwz r0, 0xf8(r1) /* 8008137C 0007E2DC 90 64 00 2C */ stw r3, 0x2c(r4) /* 80081380 0007E2E0 90 04 00 28 */ stw r0, 0x28(r4) lbl_80081384: /* 80081384 0007E2E4 80 61 01 30 */ lwz r3, 0x130(r1) /* 80081388 0007E2E8 38 03 00 01 */ addi r0, r3, 1 /* 8008138C 0007E2EC 90 01 01 30 */ stw r0, 0x130(r1) /* 80081390 0007E2F0 48 00 00 F4 */ b lbl_80081484 lbl_80081394: /* 80081394 0007E2F4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80081398 0007E2F8 38 61 00 18 */ addi r3, r1, 0x18 /* 8008139C 0007E2FC C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 800813A0 0007E300 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 800813A4 0007E304 D0 21 00 18 */ stfs f1, 0x18(r1) /* 800813A8 0007E308 D0 01 00 20 */ stfs f0, 0x20(r1) /* 800813AC 0007E30C 48 29 35 4D */ bl Normalize__9CVector3fFv /* 800813B0 0007E310 80 01 03 74 */ lwz r0, 0x374(r1) /* 800813B4 0007E314 C0 21 00 18 */ lfs f1, 0x18(r1) /* 800813B8 0007E318 1C 00 00 30 */ mulli r0, r0, 0x30 /* 800813BC 0007E31C C0 41 00 1C */ lfs f2, 0x1c(r1) /* 800813C0 0007E320 C0 61 00 20 */ lfs f3, 0x20(r1) /* 800813C4 0007E324 7C 7F 02 15 */ add. r3, r31, r0 /* 800813C8 0007E328 41 82 00 38 */ beq lbl_80081400 /* 800813CC 0007E32C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800813D0 0007E330 38 00 00 00 */ li r0, 0 /* 800813D4 0007E334 D0 03 00 00 */ stfs f0, 0(r3) /* 800813D8 0007E338 D0 03 00 04 */ stfs f0, 4(r3) /* 800813DC 0007E33C D0 03 00 08 */ stfs f0, 8(r3) /* 800813E0 0007E340 D0 03 00 0C */ stfs f0, 0xc(r3) /* 800813E4 0007E344 D0 23 00 10 */ stfs f1, 0x10(r3) /* 800813E8 0007E348 D0 43 00 14 */ stfs f2, 0x14(r3) /* 800813EC 0007E34C D0 63 00 18 */ stfs f3, 0x18(r3) /* 800813F0 0007E350 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 800813F4 0007E354 98 03 00 20 */ stb r0, 0x20(r3) /* 800813F8 0007E358 90 03 00 2C */ stw r0, 0x2c(r3) /* 800813FC 0007E35C 90 03 00 28 */ stw r0, 0x28(r3) lbl_80081400: /* 80081400 0007E360 80 81 03 74 */ lwz r4, 0x374(r1) /* 80081404 0007E364 38 61 00 0C */ addi r3, r1, 0xc /* 80081408 0007E368 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008140C 0007E36C C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80081410 0007E370 38 04 00 01 */ addi r0, r4, 1 /* 80081414 0007E374 90 01 03 74 */ stw r0, 0x374(r1) /* 80081418 0007E378 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8008141C 0007E37C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80081420 0007E380 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80081424 0007E384 48 29 34 D5 */ bl Normalize__9CVector3fFv /* 80081428 0007E388 80 01 01 30 */ lwz r0, 0x130(r1) /* 8008142C 0007E38C C0 21 00 0C */ lfs f1, 0xc(r1) /* 80081430 0007E390 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80081434 0007E394 C0 41 00 10 */ lfs f2, 0x10(r1) /* 80081438 0007E398 C0 61 00 14 */ lfs f3, 0x14(r1) /* 8008143C 0007E39C 7C 7E 02 15 */ add. r3, r30, r0 /* 80081440 0007E3A0 41 82 00 38 */ beq lbl_80081478 /* 80081444 0007E3A4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80081448 0007E3A8 38 00 00 00 */ li r0, 0 /* 8008144C 0007E3AC D0 03 00 00 */ stfs f0, 0(r3) /* 80081450 0007E3B0 D0 03 00 04 */ stfs f0, 4(r3) /* 80081454 0007E3B4 D0 03 00 08 */ stfs f0, 8(r3) /* 80081458 0007E3B8 D0 03 00 0C */ stfs f0, 0xc(r3) /* 8008145C 0007E3BC D0 23 00 10 */ stfs f1, 0x10(r3) /* 80081460 0007E3C0 D0 43 00 14 */ stfs f2, 0x14(r3) /* 80081464 0007E3C4 D0 63 00 18 */ stfs f3, 0x18(r3) /* 80081468 0007E3C8 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8008146C 0007E3CC 98 03 00 20 */ stb r0, 0x20(r3) /* 80081470 0007E3D0 90 03 00 2C */ stw r0, 0x2c(r3) /* 80081474 0007E3D4 90 03 00 28 */ stw r0, 0x28(r3) lbl_80081478: /* 80081478 0007E3D8 80 61 01 30 */ lwz r3, 0x130(r1) /* 8008147C 0007E3DC 38 03 00 01 */ addi r0, r3, 1 /* 80081480 0007E3E0 90 01 01 30 */ stw r0, 0x130(r1) lbl_80081484: /* 80081484 0007E3E4 EF BD F0 2A */ fadds f29, f29, f30 lbl_80081488: /* 80081488 0007E3E8 FC 1D E0 40 */ fcmpo cr0, f29, f28 /* 8008148C 0007E3EC 41 80 FC FC */ blt lbl_80081188 /* 80081490 0007E3F0 83 A1 03 74 */ lwz r29, 0x374(r1) /* 80081494 0007E3F4 7F F8 FB 78 */ mr r24, r31 /* 80081498 0007E3F8 3B 20 00 00 */ li r25, 0 /* 8008149C 0007E3FC 48 00 01 FC */ b lbl_80081698 lbl_800814A0: /* 800814A0 0007E400 88 18 00 20 */ lbz r0, 0x20(r24) /* 800814A4 0007E404 28 00 00 00 */ cmplwi r0, 0 /* 800814A8 0007E408 41 82 01 E4 */ beq lbl_8008168C /* 800814AC 0007E40C C0 38 00 08 */ lfs f1, 8(r24) /* 800814B0 0007E410 38 61 00 6C */ addi r3, r1, 0x6c /* 800814B4 0007E414 C0 1E 00 08 */ lfs f0, 8(r30) /* 800814B8 0007E418 C0 78 00 0C */ lfs f3, 0xc(r24) /* 800814BC 0007E41C C0 5E 00 0C */ lfs f2, 0xc(r30) /* 800814C0 0007E420 EC 81 00 28 */ fsubs f4, f1, f0 /* 800814C4 0007E424 C0 38 00 04 */ lfs f1, 4(r24) /* 800814C8 0007E428 C0 1E 00 04 */ lfs f0, 4(r30) /* 800814CC 0007E42C EC 43 10 28 */ fsubs f2, f3, f2 /* 800814D0 0007E430 D0 81 00 70 */ stfs f4, 0x70(r1) /* 800814D4 0007E434 EC 01 00 28 */ fsubs f0, f1, f0 /* 800814D8 0007E438 D0 41 00 74 */ stfs f2, 0x74(r1) /* 800814DC 0007E43C D0 01 00 6C */ stfs f0, 0x6c(r1) /* 800814E0 0007E440 48 29 33 D9 */ bl Magnitude__9CVector3fCFv /* 800814E4 0007E444 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 800814E8 0007E448 C0 02 89 C0 */ lfs f0, lbl_805AA6E0@sda21(r2) /* 800814EC 0007E44C EC 21 10 28 */ fsubs f1, f1, f2 /* 800814F0 0007E450 FC 20 0A 10 */ fabs f1, f1 /* 800814F4 0007E454 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800814F8 0007E458 40 80 00 68 */ bge lbl_80081560 /* 800814FC 0007E45C 6F 23 80 00 */ xoris r3, r25, 0x8000 /* 80081500 0007E460 3C 00 43 30 */ lis r0, 0x4330 /* 80081504 0007E464 90 61 0D C4 */ stw r3, 0xdc4(r1) /* 80081508 0007E468 38 61 00 24 */ addi r3, r1, 0x24 /* 8008150C 0007E46C C8 22 89 C8 */ lfd f1, lbl_805AA6E8@sda21(r2) /* 80081510 0007E470 38 9B 03 7C */ addi r4, r27, 0x37c /* 80081514 0007E474 90 01 0D C0 */ stw r0, 0xdc0(r1) /* 80081518 0007E478 C0 62 89 B8 */ lfs f3, lbl_805AA6D8@sda21(r2) /* 8008151C 0007E47C C8 01 0D C0 */ lfd f0, 0xdc0(r1) /* 80081520 0007E480 C0 42 89 B4 */ lfs f2, lbl_805AA6D4@sda21(r2) /* 80081524 0007E484 EC 00 08 28 */ fsubs f0, f0, f1 /* 80081528 0007E488 EC 23 00 2A */ fadds f1, f3, f0 /* 8008152C 0007E48C 4B FD AA A5 */ bl GetInterpolatedSplinePointByTime__13CCameraSplineCFff /* 80081530 0007E490 C0 21 00 28 */ lfs f1, 0x28(r1) /* 80081534 0007E494 C0 18 00 08 */ lfs f0, 8(r24) /* 80081538 0007E498 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 8008153C 0007E49C C0 58 00 0C */ lfs f2, 0xc(r24) /* 80081540 0007E4A0 EC 81 00 28 */ fsubs f4, f1, f0 /* 80081544 0007E4A4 C0 21 00 24 */ lfs f1, 0x24(r1) /* 80081548 0007E4A8 C0 18 00 04 */ lfs f0, 4(r24) /* 8008154C 0007E4AC EC 43 10 28 */ fsubs f2, f3, f2 /* 80081550 0007E4B0 D0 81 00 70 */ stfs f4, 0x70(r1) /* 80081554 0007E4B4 EC 01 00 28 */ fsubs f0, f1, f0 /* 80081558 0007E4B8 D0 41 00 74 */ stfs f2, 0x74(r1) /* 8008155C 0007E4BC D0 01 00 6C */ stfs f0, 0x6c(r1) lbl_80081560: /* 80081560 0007E4C0 38 61 00 6C */ addi r3, r1, 0x6c /* 80081564 0007E4C4 48 29 33 55 */ bl Magnitude__9CVector3fCFv /* 80081568 0007E4C8 C0 02 89 C4 */ lfs f0, lbl_805AA6E4@sda21(r2) /* 8008156C 0007E4CC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80081570 0007E4D0 40 81 01 1C */ ble lbl_8008168C /* 80081574 0007E4D4 1C 79 00 30 */ mulli r3, r25, 0x30 /* 80081578 0007E4D8 80 A1 01 30 */ lwz r5, 0x130(r1) /* 8008157C 0007E4DC 38 80 00 00 */ li r4, 0 /* 80081580 0007E4E0 2C 05 00 00 */ cmpwi r5, 0 /* 80081584 0007E4E4 38 03 00 28 */ addi r0, r3, 0x28 /* 80081588 0007E4E8 7C 7F 02 14 */ add r3, r31, r0 /* 8008158C 0007E4EC 80 03 00 00 */ lwz r0, 0(r3) /* 80081590 0007E4F0 80 63 00 04 */ lwz r3, 4(r3) /* 80081594 0007E4F4 90 7C 00 04 */ stw r3, 4(r28) /* 80081598 0007E4F8 90 1C 00 00 */ stw r0, 0(r28) /* 8008159C 0007E4FC 40 81 00 40 */ ble lbl_800815DC /* 800815A0 0007E500 2C 05 00 08 */ cmpwi r5, 8 /* 800815A4 0007E504 38 65 FF F8 */ addi r3, r5, -8 /* 800815A8 0007E508 40 81 00 20 */ ble lbl_800815C8 /* 800815AC 0007E50C 38 03 00 07 */ addi r0, r3, 7 /* 800815B0 0007E510 54 00 E8 FE */ srwi r0, r0, 3 /* 800815B4 0007E514 7C 09 03 A6 */ mtctr r0 /* 800815B8 0007E518 2C 03 00 00 */ cmpwi r3, 0 /* 800815BC 0007E51C 40 81 00 0C */ ble lbl_800815C8 lbl_800815C0: /* 800815C0 0007E520 38 84 00 08 */ addi r4, r4, 8 /* 800815C4 0007E524 42 00 FF FC */ bdnz lbl_800815C0 lbl_800815C8: /* 800815C8 0007E528 7C 04 28 50 */ subf r0, r4, r5 /* 800815CC 0007E52C 7C 09 03 A6 */ mtctr r0 /* 800815D0 0007E530 7C 04 28 00 */ cmpw r4, r5 /* 800815D4 0007E534 40 80 00 08 */ bge lbl_800815DC lbl_800815D8: /* 800815D8 0007E538 42 00 00 00 */ bdnz lbl_800815D8 lbl_800815DC: /* 800815DC 0007E53C 80 A1 03 74 */ lwz r5, 0x374(r1) /* 800815E0 0007E540 38 60 00 00 */ li r3, 0 /* 800815E4 0007E544 90 61 01 30 */ stw r3, 0x130(r1) /* 800815E8 0007E548 2C 05 00 00 */ cmpwi r5, 0 /* 800815EC 0007E54C 40 81 00 40 */ ble lbl_8008162C /* 800815F0 0007E550 2C 05 00 08 */ cmpwi r5, 8 /* 800815F4 0007E554 38 85 FF F8 */ addi r4, r5, -8 /* 800815F8 0007E558 40 81 00 20 */ ble lbl_80081618 /* 800815FC 0007E55C 38 04 00 07 */ addi r0, r4, 7 /* 80081600 0007E560 54 00 E8 FE */ srwi r0, r0, 3 /* 80081604 0007E564 7C 09 03 A6 */ mtctr r0 /* 80081608 0007E568 2C 04 00 00 */ cmpwi r4, 0 /* 8008160C 0007E56C 40 81 00 0C */ ble lbl_80081618 lbl_80081610: /* 80081610 0007E570 38 63 00 08 */ addi r3, r3, 8 /* 80081614 0007E574 42 00 FF FC */ bdnz lbl_80081610 lbl_80081618: /* 80081618 0007E578 7C 03 28 50 */ subf r0, r3, r5 /* 8008161C 0007E57C 7C 09 03 A6 */ mtctr r0 /* 80081620 0007E580 7C 03 28 00 */ cmpw r3, r5 /* 80081624 0007E584 40 80 00 08 */ bge lbl_8008162C lbl_80081628: /* 80081628 0007E588 42 00 00 00 */ bdnz lbl_80081628 lbl_8008162C: /* 8008162C 0007E58C 80 A1 05 B8 */ lwz r5, 0x5b8(r1) /* 80081630 0007E590 38 60 00 00 */ li r3, 0 /* 80081634 0007E594 90 61 03 74 */ stw r3, 0x374(r1) /* 80081638 0007E598 2C 05 00 00 */ cmpwi r5, 0 /* 8008163C 0007E59C 40 81 00 40 */ ble lbl_8008167C /* 80081640 0007E5A0 2C 05 00 08 */ cmpwi r5, 8 /* 80081644 0007E5A4 38 85 FF F8 */ addi r4, r5, -8 /* 80081648 0007E5A8 40 81 00 20 */ ble lbl_80081668 /* 8008164C 0007E5AC 38 04 00 07 */ addi r0, r4, 7 /* 80081650 0007E5B0 54 00 E8 FE */ srwi r0, r0, 3 /* 80081654 0007E5B4 7C 09 03 A6 */ mtctr r0 /* 80081658 0007E5B8 2C 04 00 00 */ cmpwi r4, 0 /* 8008165C 0007E5BC 40 81 00 0C */ ble lbl_80081668 lbl_80081660: /* 80081660 0007E5C0 38 63 00 08 */ addi r3, r3, 8 /* 80081664 0007E5C4 42 00 FF FC */ bdnz lbl_80081660 lbl_80081668: /* 80081668 0007E5C8 7C 03 28 50 */ subf r0, r3, r5 /* 8008166C 0007E5CC 7C 09 03 A6 */ mtctr r0 /* 80081670 0007E5D0 7C 03 28 00 */ cmpw r3, r5 /* 80081674 0007E5D4 40 80 00 08 */ bge lbl_8008167C lbl_80081678: /* 80081678 0007E5D8 42 00 00 00 */ bdnz lbl_80081678 lbl_8008167C: /* 8008167C 0007E5DC 38 00 00 00 */ li r0, 0 /* 80081680 0007E5E0 38 60 00 00 */ li r3, 0 /* 80081684 0007E5E4 90 01 05 B8 */ stw r0, 0x5b8(r1) /* 80081688 0007E5E8 48 00 01 0C */ b lbl_80081794 lbl_8008168C: /* 8008168C 0007E5EC 3B 18 00 30 */ addi r24, r24, 0x30 /* 80081690 0007E5F0 3B DE 00 30 */ addi r30, r30, 0x30 /* 80081694 0007E5F4 3B 39 00 01 */ addi r25, r25, 1 lbl_80081698: /* 80081698 0007E5F8 7C 19 E8 00 */ cmpw r25, r29 /* 8008169C 0007E5FC 41 80 FE 04 */ blt lbl_800814A0 /* 800816A0 0007E600 80 A1 01 30 */ lwz r5, 0x130(r1) /* 800816A4 0007E604 38 60 00 00 */ li r3, 0 /* 800816A8 0007E608 2C 05 00 00 */ cmpwi r5, 0 /* 800816AC 0007E60C 40 81 00 40 */ ble lbl_800816EC /* 800816B0 0007E610 2C 05 00 08 */ cmpwi r5, 8 /* 800816B4 0007E614 38 85 FF F8 */ addi r4, r5, -8 /* 800816B8 0007E618 40 81 00 20 */ ble lbl_800816D8 /* 800816BC 0007E61C 38 04 00 07 */ addi r0, r4, 7 /* 800816C0 0007E620 54 00 E8 FE */ srwi r0, r0, 3 /* 800816C4 0007E624 7C 09 03 A6 */ mtctr r0 /* 800816C8 0007E628 2C 04 00 00 */ cmpwi r4, 0 /* 800816CC 0007E62C 40 81 00 0C */ ble lbl_800816D8 lbl_800816D0: /* 800816D0 0007E630 38 63 00 08 */ addi r3, r3, 8 /* 800816D4 0007E634 42 00 FF FC */ bdnz lbl_800816D0 lbl_800816D8: /* 800816D8 0007E638 7C 03 28 50 */ subf r0, r3, r5 /* 800816DC 0007E63C 7C 09 03 A6 */ mtctr r0 /* 800816E0 0007E640 7C 03 28 00 */ cmpw r3, r5 /* 800816E4 0007E644 40 80 00 08 */ bge lbl_800816EC lbl_800816E8: /* 800816E8 0007E648 42 00 00 00 */ bdnz lbl_800816E8 lbl_800816EC: /* 800816EC 0007E64C 38 60 00 00 */ li r3, 0 /* 800816F0 0007E650 2C 1D 00 00 */ cmpwi r29, 0 /* 800816F4 0007E654 90 61 01 30 */ stw r3, 0x130(r1) /* 800816F8 0007E658 40 81 00 40 */ ble lbl_80081738 /* 800816FC 0007E65C 2C 1D 00 08 */ cmpwi r29, 8 /* 80081700 0007E660 38 9D FF F8 */ addi r4, r29, -8 /* 80081704 0007E664 40 81 00 20 */ ble lbl_80081724 /* 80081708 0007E668 38 04 00 07 */ addi r0, r4, 7 /* 8008170C 0007E66C 54 00 E8 FE */ srwi r0, r0, 3 /* 80081710 0007E670 7C 09 03 A6 */ mtctr r0 /* 80081714 0007E674 2C 04 00 00 */ cmpwi r4, 0 /* 80081718 0007E678 40 81 00 0C */ ble lbl_80081724 lbl_8008171C: /* 8008171C 0007E67C 38 63 00 08 */ addi r3, r3, 8 /* 80081720 0007E680 42 00 FF FC */ bdnz lbl_8008171C lbl_80081724: /* 80081724 0007E684 7C 03 E8 50 */ subf r0, r3, r29 /* 80081728 0007E688 7C 09 03 A6 */ mtctr r0 /* 8008172C 0007E68C 7C 03 E8 00 */ cmpw r3, r29 /* 80081730 0007E690 40 80 00 08 */ bge lbl_80081738 lbl_80081734: /* 80081734 0007E694 42 00 00 00 */ bdnz lbl_80081734 lbl_80081738: /* 80081738 0007E698 80 A1 05 B8 */ lwz r5, 0x5b8(r1) /* 8008173C 0007E69C 38 60 00 00 */ li r3, 0 /* 80081740 0007E6A0 90 61 03 74 */ stw r3, 0x374(r1) /* 80081744 0007E6A4 2C 05 00 00 */ cmpwi r5, 0 /* 80081748 0007E6A8 40 81 00 40 */ ble lbl_80081788 /* 8008174C 0007E6AC 2C 05 00 08 */ cmpwi r5, 8 /* 80081750 0007E6B0 38 85 FF F8 */ addi r4, r5, -8 /* 80081754 0007E6B4 40 81 00 20 */ ble lbl_80081774 /* 80081758 0007E6B8 38 04 00 07 */ addi r0, r4, 7 /* 8008175C 0007E6BC 54 00 E8 FE */ srwi r0, r0, 3 /* 80081760 0007E6C0 7C 09 03 A6 */ mtctr r0 /* 80081764 0007E6C4 2C 04 00 00 */ cmpwi r4, 0 /* 80081768 0007E6C8 40 81 00 0C */ ble lbl_80081774 lbl_8008176C: /* 8008176C 0007E6CC 38 63 00 08 */ addi r3, r3, 8 /* 80081770 0007E6D0 42 00 FF FC */ bdnz lbl_8008176C lbl_80081774: /* 80081774 0007E6D4 7C 03 28 50 */ subf r0, r3, r5 /* 80081778 0007E6D8 7C 09 03 A6 */ mtctr r0 /* 8008177C 0007E6DC 7C 03 28 00 */ cmpw r3, r5 /* 80081780 0007E6E0 40 80 00 08 */ bge lbl_80081788 lbl_80081784: /* 80081784 0007E6E4 42 00 00 00 */ bdnz lbl_80081784 lbl_80081788: /* 80081788 0007E6E8 38 00 00 00 */ li r0, 0 /* 8008178C 0007E6EC 38 60 00 01 */ li r3, 1 /* 80081790 0007E6F0 90 01 05 B8 */ stw r0, 0x5b8(r1) lbl_80081794: /* 80081794 0007E6F4 E3 E1 0E 38 */ psq_l f31, -456(r1), 0, qr0 /* 80081798 0007E6F8 CB E1 0E 30 */ lfd f31, 0xe30(r1) /* 8008179C 0007E6FC E3 C1 0E 28 */ psq_l f30, -472(r1), 0, qr0 /* 800817A0 0007E700 CB C1 0E 20 */ lfd f30, 0xe20(r1) /* 800817A4 0007E704 E3 A1 0E 18 */ psq_l f29, -488(r1), 0, qr0 /* 800817A8 0007E708 CB A1 0E 10 */ lfd f29, 0xe10(r1) /* 800817AC 0007E70C E3 81 0E 08 */ psq_l f28, -504(r1), 0, qr0 /* 800817B0 0007E710 CB 81 0E 00 */ lfd f28, 0xe00(r1) /* 800817B4 0007E714 E3 61 0D F8 */ psq_l f27, -520(r1), 0, qr0 /* 800817B8 0007E718 CB 61 0D F0 */ lfd f27, 0xdf0(r1) /* 800817BC 0007E71C BB 01 0D D0 */ lmw r24, 0xdd0(r1) /* 800817C0 0007E720 80 01 0E 44 */ lwz r0, 0xe44(r1) /* 800817C4 0007E724 7C 08 03 A6 */ mtlr r0 /* 800817C8 0007E728 38 21 0E 40 */ addi r1, r1, 0xe40 /* 800817CC 0007E72C 4E 80 00 20 */ blr .global CheckFailsafeFromMorphBallState__11CBallCameraCFR13CStateManager CheckFailsafeFromMorphBallState__11CBallCameraCFR13CStateManager: /* 800817D0 0007E730 94 21 F4 40 */ stwu r1, -0xbc0(r1) /* 800817D4 0007E734 7C 08 02 A6 */ mflr r0 /* 800817D8 0007E738 90 01 0B C4 */ stw r0, 0xbc4(r1) /* 800817DC 0007E73C DB E1 0B B0 */ stfd f31, 0xbb0(r1) /* 800817E0 0007E740 F3 E1 0B B8 */ psq_st f31, -1096(r1), 0, qr0 /* 800817E4 0007E744 DB C1 0B A0 */ stfd f30, 0xba0(r1) /* 800817E8 0007E748 F3 C1 0B A8 */ psq_st f30, -1112(r1), 0, qr0 /* 800817EC 0007E74C DB A1 0B 90 */ stfd f29, 0xb90(r1) /* 800817F0 0007E750 F3 A1 0B 98 */ psq_st f29, -1128(r1), 0, qr0 /* 800817F4 0007E754 DB 81 0B 80 */ stfd f28, 0xb80(r1) /* 800817F8 0007E758 F3 81 0B 88 */ psq_st f28, -1144(r1), 0, qr0 /* 800817FC 0007E75C DB 61 0B 70 */ stfd f27, 0xb70(r1) /* 80081800 0007E760 F3 61 0B 78 */ psq_st f27, -1160(r1), 0, qr0 /* 80081804 0007E764 BF 61 0B 5C */ stmw r27, 0xb5c(r1) /* 80081808 0007E768 A0 AD A3 8C */ lhz r5, lbl_805A8F4C@sda21(r13) /* 8008180C 0007E76C 38 00 00 00 */ li r0, 0 /* 80081810 0007E770 90 01 03 48 */ stw r0, 0x348(r1) /* 80081814 0007E774 7C 7C 1B 78 */ mr r28, r3 /* 80081818 0007E778 C3 82 89 B0 */ lfs f28, lbl_805AA6D0@sda21(r2) /* 8008181C 0007E77C 7C 9D 23 78 */ mr r29, r4 /* 80081820 0007E780 B0 A1 00 08 */ sth r5, 8(r1) /* 80081824 0007E784 3B E1 02 28 */ addi r31, r1, 0x228 /* 80081828 0007E788 C3 A2 89 D0 */ lfs f29, lbl_805AA6F0@sda21(r2) /* 8008182C 0007E78C 3B C1 01 04 */ addi r30, r1, 0x104 /* 80081830 0007E790 90 01 02 24 */ stw r0, 0x224(r1) /* 80081834 0007E794 C3 C2 89 B8 */ lfs f30, lbl_805AA6D8@sda21(r2) /* 80081838 0007E798 90 01 01 00 */ stw r0, 0x100(r1) /* 8008183C 0007E79C C3 E2 89 BC */ lfs f31, lbl_805AA6DC@sda21(r2) /* 80081840 0007E7A0 48 00 03 10 */ b lbl_80081B50 lbl_80081844: /* 80081844 0007E7A4 EC 3C E8 24 */ fdivs f1, f28, f29 /* 80081848 0007E7A8 80 9C 04 7C */ lwz r4, 0x47c(r28) /* 8008184C 0007E7AC 38 61 00 60 */ addi r3, r1, 0x60 /* 80081850 0007E7B0 38 84 00 90 */ addi r4, r4, 0x90 /* 80081854 0007E7B4 48 1B D5 71 */ bl "GetFailsafeBezierPoint__11CBallCameraFRCQ24rstl18vector<9CVector3f>f" /* 80081858 0007E7B8 EC 1E E0 2A */ fadds f0, f30, f28 /* 8008185C 0007E7BC C0 81 00 60 */ lfs f4, 0x60(r1) /* 80081860 0007E7C0 C0 61 00 64 */ lfs f3, 0x64(r1) /* 80081864 0007E7C4 38 61 00 54 */ addi r3, r1, 0x54 /* 80081868 0007E7C8 C0 41 00 68 */ lfs f2, 0x68(r1) /* 8008186C 0007E7CC EC 20 E8 24 */ fdivs f1, f0, f29 /* 80081870 0007E7D0 D0 81 00 90 */ stfs f4, 0x90(r1) /* 80081874 0007E7D4 D0 61 00 94 */ stfs f3, 0x94(r1) /* 80081878 0007E7D8 D0 41 00 98 */ stfs f2, 0x98(r1) /* 8008187C 0007E7DC 80 9C 04 7C */ lwz r4, 0x47c(r28) /* 80081880 0007E7E0 38 84 00 90 */ addi r4, r4, 0x90 /* 80081884 0007E7E4 48 1B D5 41 */ bl "GetFailsafeBezierPoint__11CBallCameraFRCQ24rstl18vector<9CVector3f>f" /* 80081888 0007E7E8 C0 A1 00 54 */ lfs f5, 0x54(r1) /* 8008188C 0007E7EC 38 61 00 78 */ addi r3, r1, 0x78 /* 80081890 0007E7F0 C0 81 00 58 */ lfs f4, 0x58(r1) /* 80081894 0007E7F4 C0 61 00 5C */ lfs f3, 0x5c(r1) /* 80081898 0007E7F8 C0 41 00 94 */ lfs f2, 0x94(r1) /* 8008189C 0007E7FC C0 21 00 98 */ lfs f1, 0x98(r1) /* 800818A0 0007E800 C0 01 00 90 */ lfs f0, 0x90(r1) /* 800818A4 0007E804 EC 44 10 28 */ fsubs f2, f4, f2 /* 800818A8 0007E808 EC 23 08 28 */ fsubs f1, f3, f1 /* 800818AC 0007E80C D0 A1 00 84 */ stfs f5, 0x84(r1) /* 800818B0 0007E810 EC 05 00 28 */ fsubs f0, f5, f0 /* 800818B4 0007E814 D0 81 00 88 */ stfs f4, 0x88(r1) /* 800818B8 0007E818 D0 61 00 8C */ stfs f3, 0x8c(r1) /* 800818BC 0007E81C D0 01 00 78 */ stfs f0, 0x78(r1) /* 800818C0 0007E820 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 800818C4 0007E824 D0 21 00 80 */ stfs f1, 0x80(r1) /* 800818C8 0007E828 48 29 2F F1 */ bl Magnitude__9CVector3fCFv /* 800818CC 0007E82C FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 800818D0 0007E830 40 81 01 8C */ ble lbl_80081A5C /* 800818D4 0007E834 38 61 00 78 */ addi r3, r1, 0x78 /* 800818D8 0007E838 48 29 2F E1 */ bl Magnitude__9CVector3fCFv /* 800818DC 0007E83C FF 60 08 90 */ fmr f27, f1 /* 800818E0 0007E840 38 61 00 48 */ addi r3, r1, 0x48 /* 800818E4 0007E844 38 81 00 78 */ addi r4, r1, 0x78 /* 800818E8 0007E848 48 29 2F 69 */ bl AsNormalized__9CVector3fCFv /* 800818EC 0007E84C FC 20 D8 90 */ fmr f1, f27 /* 800818F0 0007E850 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 800818F4 0007E854 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 800818F8 0007E858 7F A4 EB 78 */ mr r4, r29 /* 800818FC 0007E85C 38 61 00 D0 */ addi r3, r1, 0xd0 /* 80081900 0007E860 38 A1 00 08 */ addi r5, r1, 8 /* 80081904 0007E864 38 C1 00 90 */ addi r6, r1, 0x90 /* 80081908 0007E868 38 E1 00 48 */ addi r7, r1, 0x48 /* 8008190C 0007E86C 39 21 03 48 */ addi r9, r1, 0x348 /* 80081910 0007E870 4B FC B6 B5 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80081914 0007E874 80 01 02 24 */ lwz r0, 0x224(r1) /* 80081918 0007E878 1C 00 00 30 */ mulli r0, r0, 0x30 /* 8008191C 0007E87C 7C 9F 02 15 */ add. r4, r31, r0 /* 80081920 0007E880 41 82 00 5C */ beq lbl_8008197C /* 80081924 0007E884 C0 21 00 D0 */ lfs f1, 0xd0(r1) /* 80081928 0007E888 C0 01 00 D4 */ lfs f0, 0xd4(r1) /* 8008192C 0007E88C D0 24 00 00 */ stfs f1, 0(r4) /* 80081930 0007E890 C0 21 00 D8 */ lfs f1, 0xd8(r1) /* 80081934 0007E894 D0 04 00 04 */ stfs f0, 4(r4) /* 80081938 0007E898 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 8008193C 0007E89C D0 24 00 08 */ stfs f1, 8(r4) /* 80081940 0007E8A0 C0 21 00 E0 */ lfs f1, 0xe0(r1) /* 80081944 0007E8A4 D0 04 00 0C */ stfs f0, 0xc(r4) /* 80081948 0007E8A8 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 8008194C 0007E8AC D0 24 00 10 */ stfs f1, 0x10(r4) /* 80081950 0007E8B0 C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 80081954 0007E8B4 D0 04 00 14 */ stfs f0, 0x14(r4) /* 80081958 0007E8B8 C0 01 00 EC */ lfs f0, 0xec(r1) /* 8008195C 0007E8BC D0 24 00 18 */ stfs f1, 0x18(r4) /* 80081960 0007E8C0 88 01 00 F0 */ lbz r0, 0xf0(r1) /* 80081964 0007E8C4 D0 04 00 1C */ stfs f0, 0x1c(r4) /* 80081968 0007E8C8 80 61 00 FC */ lwz r3, 0xfc(r1) /* 8008196C 0007E8CC 98 04 00 20 */ stb r0, 0x20(r4) /* 80081970 0007E8D0 80 01 00 F8 */ lwz r0, 0xf8(r1) /* 80081974 0007E8D4 90 64 00 2C */ stw r3, 0x2c(r4) /* 80081978 0007E8D8 90 04 00 28 */ stw r0, 0x28(r4) lbl_8008197C: /* 8008197C 0007E8DC 80 A1 02 24 */ lwz r5, 0x224(r1) /* 80081980 0007E8E0 38 61 00 30 */ addi r3, r1, 0x30 /* 80081984 0007E8E4 38 81 00 78 */ addi r4, r1, 0x78 /* 80081988 0007E8E8 38 05 00 01 */ addi r0, r5, 1 /* 8008198C 0007E8EC 90 01 02 24 */ stw r0, 0x224(r1) /* 80081990 0007E8F0 48 29 2E C1 */ bl AsNormalized__9CVector3fCFv /* 80081994 0007E8F4 C0 41 00 30 */ lfs f2, 0x30(r1) /* 80081998 0007E8F8 38 61 00 78 */ addi r3, r1, 0x78 /* 8008199C 0007E8FC C0 21 00 34 */ lfs f1, 0x34(r1) /* 800819A0 0007E900 C0 01 00 38 */ lfs f0, 0x38(r1) /* 800819A4 0007E904 FC 40 10 50 */ fneg f2, f2 /* 800819A8 0007E908 FC 20 08 50 */ fneg f1, f1 /* 800819AC 0007E90C FC 00 00 50 */ fneg f0, f0 /* 800819B0 0007E910 D0 41 00 3C */ stfs f2, 0x3c(r1) /* 800819B4 0007E914 D0 21 00 40 */ stfs f1, 0x40(r1) /* 800819B8 0007E918 D0 01 00 44 */ stfs f0, 0x44(r1) /* 800819BC 0007E91C 48 29 2E FD */ bl Magnitude__9CVector3fCFv /* 800819C0 0007E920 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 800819C4 0007E924 7F A4 EB 78 */ mr r4, r29 /* 800819C8 0007E928 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 800819CC 0007E92C 38 A1 00 08 */ addi r5, r1, 8 /* 800819D0 0007E930 38 61 00 A0 */ addi r3, r1, 0xa0 /* 800819D4 0007E934 38 C1 00 84 */ addi r6, r1, 0x84 /* 800819D8 0007E938 38 E1 00 3C */ addi r7, r1, 0x3c /* 800819DC 0007E93C 39 21 03 48 */ addi r9, r1, 0x348 /* 800819E0 0007E940 4B FC B5 E5 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 800819E4 0007E944 80 01 01 00 */ lwz r0, 0x100(r1) /* 800819E8 0007E948 1C 00 00 30 */ mulli r0, r0, 0x30 /* 800819EC 0007E94C 7C 9E 02 15 */ add. r4, r30, r0 /* 800819F0 0007E950 41 82 00 5C */ beq lbl_80081A4C /* 800819F4 0007E954 C0 21 00 A0 */ lfs f1, 0xa0(r1) /* 800819F8 0007E958 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 800819FC 0007E95C D0 24 00 00 */ stfs f1, 0(r4) /* 80081A00 0007E960 C0 21 00 A8 */ lfs f1, 0xa8(r1) /* 80081A04 0007E964 D0 04 00 04 */ stfs f0, 4(r4) /* 80081A08 0007E968 C0 01 00 AC */ lfs f0, 0xac(r1) /* 80081A0C 0007E96C D0 24 00 08 */ stfs f1, 8(r4) /* 80081A10 0007E970 C0 21 00 B0 */ lfs f1, 0xb0(r1) /* 80081A14 0007E974 D0 04 00 0C */ stfs f0, 0xc(r4) /* 80081A18 0007E978 C0 01 00 B4 */ lfs f0, 0xb4(r1) /* 80081A1C 0007E97C D0 24 00 10 */ stfs f1, 0x10(r4) /* 80081A20 0007E980 C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 80081A24 0007E984 D0 04 00 14 */ stfs f0, 0x14(r4) /* 80081A28 0007E988 C0 01 00 BC */ lfs f0, 0xbc(r1) /* 80081A2C 0007E98C D0 24 00 18 */ stfs f1, 0x18(r4) /* 80081A30 0007E990 88 01 00 C0 */ lbz r0, 0xc0(r1) /* 80081A34 0007E994 D0 04 00 1C */ stfs f0, 0x1c(r4) /* 80081A38 0007E998 80 61 00 CC */ lwz r3, 0xcc(r1) /* 80081A3C 0007E99C 98 04 00 20 */ stb r0, 0x20(r4) /* 80081A40 0007E9A0 80 01 00 C8 */ lwz r0, 0xc8(r1) /* 80081A44 0007E9A4 90 64 00 2C */ stw r3, 0x2c(r4) /* 80081A48 0007E9A8 90 04 00 28 */ stw r0, 0x28(r4) lbl_80081A4C: /* 80081A4C 0007E9AC 80 61 01 00 */ lwz r3, 0x100(r1) /* 80081A50 0007E9B0 38 03 00 01 */ addi r0, r3, 1 /* 80081A54 0007E9B4 90 01 01 00 */ stw r0, 0x100(r1) /* 80081A58 0007E9B8 48 00 00 F4 */ b lbl_80081B4C lbl_80081A5C: /* 80081A5C 0007E9BC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80081A60 0007E9C0 38 61 00 18 */ addi r3, r1, 0x18 /* 80081A64 0007E9C4 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80081A68 0007E9C8 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80081A6C 0007E9CC D0 21 00 18 */ stfs f1, 0x18(r1) /* 80081A70 0007E9D0 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80081A74 0007E9D4 48 29 2E 85 */ bl Normalize__9CVector3fFv /* 80081A78 0007E9D8 80 01 02 24 */ lwz r0, 0x224(r1) /* 80081A7C 0007E9DC C0 21 00 18 */ lfs f1, 0x18(r1) /* 80081A80 0007E9E0 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80081A84 0007E9E4 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 80081A88 0007E9E8 C0 61 00 20 */ lfs f3, 0x20(r1) /* 80081A8C 0007E9EC 7C 7F 02 15 */ add. r3, r31, r0 /* 80081A90 0007E9F0 41 82 00 38 */ beq lbl_80081AC8 /* 80081A94 0007E9F4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80081A98 0007E9F8 38 00 00 00 */ li r0, 0 /* 80081A9C 0007E9FC D0 03 00 00 */ stfs f0, 0(r3) /* 80081AA0 0007EA00 D0 03 00 04 */ stfs f0, 4(r3) /* 80081AA4 0007EA04 D0 03 00 08 */ stfs f0, 8(r3) /* 80081AA8 0007EA08 D0 03 00 0C */ stfs f0, 0xc(r3) /* 80081AAC 0007EA0C D0 23 00 10 */ stfs f1, 0x10(r3) /* 80081AB0 0007EA10 D0 43 00 14 */ stfs f2, 0x14(r3) /* 80081AB4 0007EA14 D0 63 00 18 */ stfs f3, 0x18(r3) /* 80081AB8 0007EA18 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 80081ABC 0007EA1C 98 03 00 20 */ stb r0, 0x20(r3) /* 80081AC0 0007EA20 90 03 00 2C */ stw r0, 0x2c(r3) /* 80081AC4 0007EA24 90 03 00 28 */ stw r0, 0x28(r3) lbl_80081AC8: /* 80081AC8 0007EA28 80 81 02 24 */ lwz r4, 0x224(r1) /* 80081ACC 0007EA2C 38 61 00 0C */ addi r3, r1, 0xc /* 80081AD0 0007EA30 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80081AD4 0007EA34 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80081AD8 0007EA38 38 04 00 01 */ addi r0, r4, 1 /* 80081ADC 0007EA3C 90 01 02 24 */ stw r0, 0x224(r1) /* 80081AE0 0007EA40 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80081AE4 0007EA44 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80081AE8 0007EA48 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80081AEC 0007EA4C 48 29 2E 0D */ bl Normalize__9CVector3fFv /* 80081AF0 0007EA50 80 01 01 00 */ lwz r0, 0x100(r1) /* 80081AF4 0007EA54 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80081AF8 0007EA58 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80081AFC 0007EA5C C0 41 00 10 */ lfs f2, 0x10(r1) /* 80081B00 0007EA60 C0 61 00 14 */ lfs f3, 0x14(r1) /* 80081B04 0007EA64 7C 7E 02 15 */ add. r3, r30, r0 /* 80081B08 0007EA68 41 82 00 38 */ beq lbl_80081B40 /* 80081B0C 0007EA6C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80081B10 0007EA70 38 00 00 00 */ li r0, 0 /* 80081B14 0007EA74 D0 03 00 00 */ stfs f0, 0(r3) /* 80081B18 0007EA78 D0 03 00 04 */ stfs f0, 4(r3) /* 80081B1C 0007EA7C D0 03 00 08 */ stfs f0, 8(r3) /* 80081B20 0007EA80 D0 03 00 0C */ stfs f0, 0xc(r3) /* 80081B24 0007EA84 D0 23 00 10 */ stfs f1, 0x10(r3) /* 80081B28 0007EA88 D0 43 00 14 */ stfs f2, 0x14(r3) /* 80081B2C 0007EA8C D0 63 00 18 */ stfs f3, 0x18(r3) /* 80081B30 0007EA90 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 80081B34 0007EA94 98 03 00 20 */ stb r0, 0x20(r3) /* 80081B38 0007EA98 90 03 00 2C */ stw r0, 0x2c(r3) /* 80081B3C 0007EA9C 90 03 00 28 */ stw r0, 0x28(r3) lbl_80081B40: /* 80081B40 0007EAA0 80 61 01 00 */ lwz r3, 0x100(r1) /* 80081B44 0007EAA4 38 03 00 01 */ addi r0, r3, 1 /* 80081B48 0007EAA8 90 01 01 00 */ stw r0, 0x100(r1) lbl_80081B4C: /* 80081B4C 0007EAAC EF 9C F0 2A */ fadds f28, f28, f30 lbl_80081B50: /* 80081B50 0007EAB0 FC 1C E8 40 */ fcmpo cr0, f28, f29 /* 80081B54 0007EAB4 41 80 FC F0 */ blt lbl_80081844 /* 80081B58 0007EAB8 83 A1 02 24 */ lwz r29, 0x224(r1) /* 80081B5C 0007EABC 3B 60 00 00 */ li r27, 0 /* 80081B60 0007EAC0 48 00 01 E8 */ b lbl_80081D48 lbl_80081B64: /* 80081B64 0007EAC4 88 1F 00 20 */ lbz r0, 0x20(r31) /* 80081B68 0007EAC8 28 00 00 00 */ cmplwi r0, 0 /* 80081B6C 0007EACC 41 82 01 D0 */ beq lbl_80081D3C /* 80081B70 0007EAD0 C0 3F 00 08 */ lfs f1, 8(r31) /* 80081B74 0007EAD4 38 61 00 6C */ addi r3, r1, 0x6c /* 80081B78 0007EAD8 C0 1E 00 08 */ lfs f0, 8(r30) /* 80081B7C 0007EADC C0 7F 00 0C */ lfs f3, 0xc(r31) /* 80081B80 0007EAE0 C0 5E 00 0C */ lfs f2, 0xc(r30) /* 80081B84 0007EAE4 EC 81 00 28 */ fsubs f4, f1, f0 /* 80081B88 0007EAE8 C0 3F 00 04 */ lfs f1, 4(r31) /* 80081B8C 0007EAEC C0 1E 00 04 */ lfs f0, 4(r30) /* 80081B90 0007EAF0 EC 43 10 28 */ fsubs f2, f3, f2 /* 80081B94 0007EAF4 D0 81 00 70 */ stfs f4, 0x70(r1) /* 80081B98 0007EAF8 EC 01 00 28 */ fsubs f0, f1, f0 /* 80081B9C 0007EAFC D0 41 00 74 */ stfs f2, 0x74(r1) /* 80081BA0 0007EB00 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80081BA4 0007EB04 48 29 2D 15 */ bl Magnitude__9CVector3fCFv /* 80081BA8 0007EB08 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 80081BAC 0007EB0C C0 02 89 C0 */ lfs f0, lbl_805AA6E0@sda21(r2) /* 80081BB0 0007EB10 EC 21 10 28 */ fsubs f1, f1, f2 /* 80081BB4 0007EB14 FC 20 0A 10 */ fabs f1, f1 /* 80081BB8 0007EB18 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80081BBC 0007EB1C 40 80 00 70 */ bge lbl_80081C2C /* 80081BC0 0007EB20 6F 63 80 00 */ xoris r3, r27, 0x8000 /* 80081BC4 0007EB24 3C 00 43 30 */ lis r0, 0x4330 /* 80081BC8 0007EB28 90 61 0B 54 */ stw r3, 0xb54(r1) /* 80081BCC 0007EB2C 38 61 00 24 */ addi r3, r1, 0x24 /* 80081BD0 0007EB30 80 9C 04 7C */ lwz r4, 0x47c(r28) /* 80081BD4 0007EB34 90 01 0B 50 */ stw r0, 0xb50(r1) /* 80081BD8 0007EB38 C8 22 89 C8 */ lfd f1, lbl_805AA6E8@sda21(r2) /* 80081BDC 0007EB3C 38 84 00 90 */ addi r4, r4, 0x90 /* 80081BE0 0007EB40 C8 01 0B 50 */ lfd f0, 0xb50(r1) /* 80081BE4 0007EB44 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80081BE8 0007EB48 EC 20 08 28 */ fsubs f1, f0, f1 /* 80081BEC 0007EB4C C0 02 89 D0 */ lfs f0, lbl_805AA6F0@sda21(r2) /* 80081BF0 0007EB50 EC 22 08 2A */ fadds f1, f2, f1 /* 80081BF4 0007EB54 EC 21 00 24 */ fdivs f1, f1, f0 /* 80081BF8 0007EB58 48 1B D1 CD */ bl "GetFailsafeBezierPoint__11CBallCameraFRCQ24rstl18vector<9CVector3f>f" /* 80081BFC 0007EB5C C0 21 00 28 */ lfs f1, 0x28(r1) /* 80081C00 0007EB60 C0 1F 00 08 */ lfs f0, 8(r31) /* 80081C04 0007EB64 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 80081C08 0007EB68 C0 5F 00 0C */ lfs f2, 0xc(r31) /* 80081C0C 0007EB6C EC 81 00 28 */ fsubs f4, f1, f0 /* 80081C10 0007EB70 C0 21 00 24 */ lfs f1, 0x24(r1) /* 80081C14 0007EB74 C0 1F 00 04 */ lfs f0, 4(r31) /* 80081C18 0007EB78 EC 43 10 28 */ fsubs f2, f3, f2 /* 80081C1C 0007EB7C D0 81 00 70 */ stfs f4, 0x70(r1) /* 80081C20 0007EB80 EC 01 00 28 */ fsubs f0, f1, f0 /* 80081C24 0007EB84 D0 41 00 74 */ stfs f2, 0x74(r1) /* 80081C28 0007EB88 D0 01 00 6C */ stfs f0, 0x6c(r1) lbl_80081C2C: /* 80081C2C 0007EB8C 38 61 00 6C */ addi r3, r1, 0x6c /* 80081C30 0007EB90 48 29 2C 89 */ bl Magnitude__9CVector3fCFv /* 80081C34 0007EB94 C0 02 89 C4 */ lfs f0, lbl_805AA6E4@sda21(r2) /* 80081C38 0007EB98 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80081C3C 0007EB9C 40 81 01 00 */ ble lbl_80081D3C /* 80081C40 0007EBA0 80 A1 01 00 */ lwz r5, 0x100(r1) /* 80081C44 0007EBA4 38 60 00 00 */ li r3, 0 /* 80081C48 0007EBA8 2C 05 00 00 */ cmpwi r5, 0 /* 80081C4C 0007EBAC 40 81 00 40 */ ble lbl_80081C8C /* 80081C50 0007EBB0 2C 05 00 08 */ cmpwi r5, 8 /* 80081C54 0007EBB4 38 85 FF F8 */ addi r4, r5, -8 /* 80081C58 0007EBB8 40 81 00 20 */ ble lbl_80081C78 /* 80081C5C 0007EBBC 38 04 00 07 */ addi r0, r4, 7 /* 80081C60 0007EBC0 54 00 E8 FE */ srwi r0, r0, 3 /* 80081C64 0007EBC4 7C 09 03 A6 */ mtctr r0 /* 80081C68 0007EBC8 2C 04 00 00 */ cmpwi r4, 0 /* 80081C6C 0007EBCC 40 81 00 0C */ ble lbl_80081C78 lbl_80081C70: /* 80081C70 0007EBD0 38 63 00 08 */ addi r3, r3, 8 /* 80081C74 0007EBD4 42 00 FF FC */ bdnz lbl_80081C70 lbl_80081C78: /* 80081C78 0007EBD8 7C 03 28 50 */ subf r0, r3, r5 /* 80081C7C 0007EBDC 7C 09 03 A6 */ mtctr r0 /* 80081C80 0007EBE0 7C 03 28 00 */ cmpw r3, r5 /* 80081C84 0007EBE4 40 80 00 08 */ bge lbl_80081C8C lbl_80081C88: /* 80081C88 0007EBE8 42 00 00 00 */ bdnz lbl_80081C88 lbl_80081C8C: /* 80081C8C 0007EBEC 80 A1 02 24 */ lwz r5, 0x224(r1) /* 80081C90 0007EBF0 38 60 00 00 */ li r3, 0 /* 80081C94 0007EBF4 90 61 01 00 */ stw r3, 0x100(r1) /* 80081C98 0007EBF8 2C 05 00 00 */ cmpwi r5, 0 /* 80081C9C 0007EBFC 40 81 00 40 */ ble lbl_80081CDC /* 80081CA0 0007EC00 2C 05 00 08 */ cmpwi r5, 8 /* 80081CA4 0007EC04 38 85 FF F8 */ addi r4, r5, -8 /* 80081CA8 0007EC08 40 81 00 20 */ ble lbl_80081CC8 /* 80081CAC 0007EC0C 38 04 00 07 */ addi r0, r4, 7 /* 80081CB0 0007EC10 54 00 E8 FE */ srwi r0, r0, 3 /* 80081CB4 0007EC14 7C 09 03 A6 */ mtctr r0 /* 80081CB8 0007EC18 2C 04 00 00 */ cmpwi r4, 0 /* 80081CBC 0007EC1C 40 81 00 0C */ ble lbl_80081CC8 lbl_80081CC0: /* 80081CC0 0007EC20 38 63 00 08 */ addi r3, r3, 8 /* 80081CC4 0007EC24 42 00 FF FC */ bdnz lbl_80081CC0 lbl_80081CC8: /* 80081CC8 0007EC28 7C 03 28 50 */ subf r0, r3, r5 /* 80081CCC 0007EC2C 7C 09 03 A6 */ mtctr r0 /* 80081CD0 0007EC30 7C 03 28 00 */ cmpw r3, r5 /* 80081CD4 0007EC34 40 80 00 08 */ bge lbl_80081CDC lbl_80081CD8: /* 80081CD8 0007EC38 42 00 00 00 */ bdnz lbl_80081CD8 lbl_80081CDC: /* 80081CDC 0007EC3C 80 A1 03 48 */ lwz r5, 0x348(r1) /* 80081CE0 0007EC40 38 60 00 00 */ li r3, 0 /* 80081CE4 0007EC44 90 61 02 24 */ stw r3, 0x224(r1) /* 80081CE8 0007EC48 2C 05 00 00 */ cmpwi r5, 0 /* 80081CEC 0007EC4C 40 81 00 40 */ ble lbl_80081D2C /* 80081CF0 0007EC50 2C 05 00 08 */ cmpwi r5, 8 /* 80081CF4 0007EC54 38 85 FF F8 */ addi r4, r5, -8 /* 80081CF8 0007EC58 40 81 00 20 */ ble lbl_80081D18 /* 80081CFC 0007EC5C 38 04 00 07 */ addi r0, r4, 7 /* 80081D00 0007EC60 54 00 E8 FE */ srwi r0, r0, 3 /* 80081D04 0007EC64 7C 09 03 A6 */ mtctr r0 /* 80081D08 0007EC68 2C 04 00 00 */ cmpwi r4, 0 /* 80081D0C 0007EC6C 40 81 00 0C */ ble lbl_80081D18 lbl_80081D10: /* 80081D10 0007EC70 38 63 00 08 */ addi r3, r3, 8 /* 80081D14 0007EC74 42 00 FF FC */ bdnz lbl_80081D10 lbl_80081D18: /* 80081D18 0007EC78 7C 03 28 50 */ subf r0, r3, r5 /* 80081D1C 0007EC7C 7C 09 03 A6 */ mtctr r0 /* 80081D20 0007EC80 7C 03 28 00 */ cmpw r3, r5 /* 80081D24 0007EC84 40 80 00 08 */ bge lbl_80081D2C lbl_80081D28: /* 80081D28 0007EC88 42 00 00 00 */ bdnz lbl_80081D28 lbl_80081D2C: /* 80081D2C 0007EC8C 38 00 00 00 */ li r0, 0 /* 80081D30 0007EC90 38 60 00 00 */ li r3, 0 /* 80081D34 0007EC94 90 01 03 48 */ stw r0, 0x348(r1) /* 80081D38 0007EC98 48 00 01 0C */ b lbl_80081E44 lbl_80081D3C: /* 80081D3C 0007EC9C 3B FF 00 30 */ addi r31, r31, 0x30 /* 80081D40 0007ECA0 3B DE 00 30 */ addi r30, r30, 0x30 /* 80081D44 0007ECA4 3B 7B 00 01 */ addi r27, r27, 1 lbl_80081D48: /* 80081D48 0007ECA8 7C 1B E8 00 */ cmpw r27, r29 /* 80081D4C 0007ECAC 41 80 FE 18 */ blt lbl_80081B64 /* 80081D50 0007ECB0 80 A1 01 00 */ lwz r5, 0x100(r1) /* 80081D54 0007ECB4 38 60 00 00 */ li r3, 0 /* 80081D58 0007ECB8 2C 05 00 00 */ cmpwi r5, 0 /* 80081D5C 0007ECBC 40 81 00 40 */ ble lbl_80081D9C /* 80081D60 0007ECC0 2C 05 00 08 */ cmpwi r5, 8 /* 80081D64 0007ECC4 38 85 FF F8 */ addi r4, r5, -8 /* 80081D68 0007ECC8 40 81 00 20 */ ble lbl_80081D88 /* 80081D6C 0007ECCC 38 04 00 07 */ addi r0, r4, 7 /* 80081D70 0007ECD0 54 00 E8 FE */ srwi r0, r0, 3 /* 80081D74 0007ECD4 7C 09 03 A6 */ mtctr r0 /* 80081D78 0007ECD8 2C 04 00 00 */ cmpwi r4, 0 /* 80081D7C 0007ECDC 40 81 00 0C */ ble lbl_80081D88 lbl_80081D80: /* 80081D80 0007ECE0 38 63 00 08 */ addi r3, r3, 8 /* 80081D84 0007ECE4 42 00 FF FC */ bdnz lbl_80081D80 lbl_80081D88: /* 80081D88 0007ECE8 7C 03 28 50 */ subf r0, r3, r5 /* 80081D8C 0007ECEC 7C 09 03 A6 */ mtctr r0 /* 80081D90 0007ECF0 7C 03 28 00 */ cmpw r3, r5 /* 80081D94 0007ECF4 40 80 00 08 */ bge lbl_80081D9C lbl_80081D98: /* 80081D98 0007ECF8 42 00 00 00 */ bdnz lbl_80081D98 lbl_80081D9C: /* 80081D9C 0007ECFC 38 60 00 00 */ li r3, 0 /* 80081DA0 0007ED00 2C 1D 00 00 */ cmpwi r29, 0 /* 80081DA4 0007ED04 90 61 01 00 */ stw r3, 0x100(r1) /* 80081DA8 0007ED08 40 81 00 40 */ ble lbl_80081DE8 /* 80081DAC 0007ED0C 2C 1D 00 08 */ cmpwi r29, 8 /* 80081DB0 0007ED10 38 9D FF F8 */ addi r4, r29, -8 /* 80081DB4 0007ED14 40 81 00 20 */ ble lbl_80081DD4 /* 80081DB8 0007ED18 38 04 00 07 */ addi r0, r4, 7 /* 80081DBC 0007ED1C 54 00 E8 FE */ srwi r0, r0, 3 /* 80081DC0 0007ED20 7C 09 03 A6 */ mtctr r0 /* 80081DC4 0007ED24 2C 04 00 00 */ cmpwi r4, 0 /* 80081DC8 0007ED28 40 81 00 0C */ ble lbl_80081DD4 lbl_80081DCC: /* 80081DCC 0007ED2C 38 63 00 08 */ addi r3, r3, 8 /* 80081DD0 0007ED30 42 00 FF FC */ bdnz lbl_80081DCC lbl_80081DD4: /* 80081DD4 0007ED34 7C 03 E8 50 */ subf r0, r3, r29 /* 80081DD8 0007ED38 7C 09 03 A6 */ mtctr r0 /* 80081DDC 0007ED3C 7C 03 E8 00 */ cmpw r3, r29 /* 80081DE0 0007ED40 40 80 00 08 */ bge lbl_80081DE8 lbl_80081DE4: /* 80081DE4 0007ED44 42 00 00 00 */ bdnz lbl_80081DE4 lbl_80081DE8: /* 80081DE8 0007ED48 80 A1 03 48 */ lwz r5, 0x348(r1) /* 80081DEC 0007ED4C 38 60 00 00 */ li r3, 0 /* 80081DF0 0007ED50 90 61 02 24 */ stw r3, 0x224(r1) /* 80081DF4 0007ED54 2C 05 00 00 */ cmpwi r5, 0 /* 80081DF8 0007ED58 40 81 00 40 */ ble lbl_80081E38 /* 80081DFC 0007ED5C 2C 05 00 08 */ cmpwi r5, 8 /* 80081E00 0007ED60 38 85 FF F8 */ addi r4, r5, -8 /* 80081E04 0007ED64 40 81 00 20 */ ble lbl_80081E24 /* 80081E08 0007ED68 38 04 00 07 */ addi r0, r4, 7 /* 80081E0C 0007ED6C 54 00 E8 FE */ srwi r0, r0, 3 /* 80081E10 0007ED70 7C 09 03 A6 */ mtctr r0 /* 80081E14 0007ED74 2C 04 00 00 */ cmpwi r4, 0 /* 80081E18 0007ED78 40 81 00 0C */ ble lbl_80081E24 lbl_80081E1C: /* 80081E1C 0007ED7C 38 63 00 08 */ addi r3, r3, 8 /* 80081E20 0007ED80 42 00 FF FC */ bdnz lbl_80081E1C lbl_80081E24: /* 80081E24 0007ED84 7C 03 28 50 */ subf r0, r3, r5 /* 80081E28 0007ED88 7C 09 03 A6 */ mtctr r0 /* 80081E2C 0007ED8C 7C 03 28 00 */ cmpw r3, r5 /* 80081E30 0007ED90 40 80 00 08 */ bge lbl_80081E38 lbl_80081E34: /* 80081E34 0007ED94 42 00 00 00 */ bdnz lbl_80081E34 lbl_80081E38: /* 80081E38 0007ED98 38 00 00 00 */ li r0, 0 /* 80081E3C 0007ED9C 38 60 00 01 */ li r3, 1 /* 80081E40 0007EDA0 90 01 03 48 */ stw r0, 0x348(r1) lbl_80081E44: /* 80081E44 0007EDA4 E3 E1 0B B8 */ psq_l f31, -1096(r1), 0, qr0 /* 80081E48 0007EDA8 CB E1 0B B0 */ lfd f31, 0xbb0(r1) /* 80081E4C 0007EDAC E3 C1 0B A8 */ psq_l f30, -1112(r1), 0, qr0 /* 80081E50 0007EDB0 CB C1 0B A0 */ lfd f30, 0xba0(r1) /* 80081E54 0007EDB4 E3 A1 0B 98 */ psq_l f29, -1128(r1), 0, qr0 /* 80081E58 0007EDB8 CB A1 0B 90 */ lfd f29, 0xb90(r1) /* 80081E5C 0007EDBC E3 81 0B 88 */ psq_l f28, -1144(r1), 0, qr0 /* 80081E60 0007EDC0 CB 81 0B 80 */ lfd f28, 0xb80(r1) /* 80081E64 0007EDC4 E3 61 0B 78 */ psq_l f27, -1160(r1), 0, qr0 /* 80081E68 0007EDC8 CB 61 0B 70 */ lfd f27, 0xb70(r1) /* 80081E6C 0007EDCC BB 61 0B 5C */ lmw r27, 0xb5c(r1) /* 80081E70 0007EDD0 80 01 0B C4 */ lwz r0, 0xbc4(r1) /* 80081E74 0007EDD4 7C 08 03 A6 */ mtlr r0 /* 80081E78 0007EDD8 38 21 0B C0 */ addi r1, r1, 0xbc0 /* 80081E7C 0007EDDC 4E 80 00 20 */ blr .global ApplyCameraHint__11CBallCameraFR13CStateManager ApplyCameraHint__11CBallCameraFR13CStateManager: /* 80081E80 0007EDE0 94 21 FC D0 */ stwu r1, -0x330(r1) /* 80081E84 0007EDE4 7C 08 02 A6 */ mflr r0 /* 80081E88 0007EDE8 90 01 03 34 */ stw r0, 0x334(r1) /* 80081E8C 0007EDEC DB E1 03 20 */ stfd f31, 0x320(r1) /* 80081E90 0007EDF0 F3 E1 03 28 */ psq_st f31, 808(r1), 0, qr0 /* 80081E94 0007EDF4 DB C1 03 10 */ stfd f30, 0x310(r1) /* 80081E98 0007EDF8 F3 C1 03 18 */ psq_st f30, 792(r1), 0, qr0 /* 80081E9C 0007EDFC 93 E1 03 0C */ stw r31, 0x30c(r1) /* 80081EA0 0007EE00 93 C1 03 08 */ stw r30, 0x308(r1) /* 80081EA4 0007EE04 93 A1 03 04 */ stw r29, 0x304(r1) /* 80081EA8 0007EE08 7C 9E 23 78 */ mr r30, r4 /* 80081EAC 0007EE0C 7C 7D 1B 78 */ mr r29, r3 /* 80081EB0 0007EE10 80 64 08 70 */ lwz r3, 0x870(r4) /* 80081EB4 0007EE14 4B F8 75 1D */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 80081EB8 0007EE18 7C 7F 1B 79 */ or. r31, r3, r3 /* 80081EBC 0007EE1C 41 82 08 38 */ beq lbl_800826F4 /* 80081EC0 0007EE20 7F A3 EB 78 */ mr r3, r29 /* 80081EC4 0007EE24 7F C4 F3 78 */ mr r4, r30 /* 80081EC8 0007EE28 48 00 A8 FD */ bl ResetToTweaks__11CBallCameraFR13CStateManager /* 80081ECC 0007EE2C 80 1F 00 F4 */ lwz r0, 0xf4(r31) /* 80081ED0 0007EE30 90 1D 01 88 */ stw r0, 0x188(r29) /* 80081ED4 0007EE34 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081ED8 0007EE38 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80081EDC 0007EE3C 41 82 00 18 */ beq lbl_80081EF4 /* 80081EE0 0007EE40 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081EE4 0007EE44 38 60 00 01 */ li r3, 1 /* 80081EE8 0007EE48 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 80081EEC 0007EE4C 98 1D 01 8C */ stb r0, 0x18c(r29) /* 80081EF0 0007EE50 48 00 00 14 */ b lbl_80081F04 lbl_80081EF4: /* 80081EF4 0007EE54 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081EF8 0007EE58 38 60 00 00 */ li r3, 0 /* 80081EFC 0007EE5C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 80081F00 0007EE60 98 1D 01 8C */ stb r0, 0x18c(r29) lbl_80081F04: /* 80081F04 0007EE64 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081F08 0007EE68 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80081F0C 0007EE6C 41 82 00 18 */ beq lbl_80081F24 /* 80081F10 0007EE70 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081F14 0007EE74 38 60 00 01 */ li r3, 1 /* 80081F18 0007EE78 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80081F1C 0007EE7C 98 1D 01 8C */ stb r0, 0x18c(r29) /* 80081F20 0007EE80 48 00 00 14 */ b lbl_80081F34 lbl_80081F24: /* 80081F24 0007EE84 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081F28 0007EE88 38 60 00 00 */ li r3, 0 /* 80081F2C 0007EE8C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80081F30 0007EE90 98 1D 01 8C */ stb r0, 0x18c(r29) lbl_80081F34: /* 80081F34 0007EE94 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081F38 0007EE98 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 80081F3C 0007EE9C 41 82 00 18 */ beq lbl_80081F54 /* 80081F40 0007EEA0 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081F44 0007EEA4 38 60 00 01 */ li r3, 1 /* 80081F48 0007EEA8 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80081F4C 0007EEAC 98 1D 01 8C */ stb r0, 0x18c(r29) /* 80081F50 0007EEB0 48 00 00 14 */ b lbl_80081F64 lbl_80081F54: /* 80081F54 0007EEB4 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081F58 0007EEB8 38 60 00 00 */ li r3, 0 /* 80081F5C 0007EEBC 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80081F60 0007EEC0 98 1D 01 8C */ stb r0, 0x18c(r29) lbl_80081F64: /* 80081F64 0007EEC4 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081F68 0007EEC8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80081F6C 0007EECC 41 82 00 18 */ beq lbl_80081F84 /* 80081F70 0007EED0 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081F74 0007EED4 38 60 00 01 */ li r3, 1 /* 80081F78 0007EED8 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80081F7C 0007EEDC 98 1D 01 8C */ stb r0, 0x18c(r29) /* 80081F80 0007EEE0 48 00 00 14 */ b lbl_80081F94 lbl_80081F84: /* 80081F84 0007EEE4 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80081F88 0007EEE8 38 60 00 00 */ li r3, 0 /* 80081F8C 0007EEEC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80081F90 0007EEF0 98 1D 01 8C */ stb r0, 0x18c(r29) lbl_80081F94: /* 80081F94 0007EEF4 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081F98 0007EEF8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 80081F9C 0007EEFC 41 82 00 14 */ beq lbl_80081FB0 /* 80081FA0 0007EF00 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80081FA4 0007EF04 38 60 00 01 */ li r3, 1 /* 80081FA8 0007EF08 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80081FAC 0007EF0C 98 1D 01 8D */ stb r0, 0x18d(r29) lbl_80081FB0: /* 80081FB0 0007EF10 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081FB4 0007EF14 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 /* 80081FB8 0007EF18 41 82 00 18 */ beq lbl_80081FD0 /* 80081FBC 0007EF1C 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80081FC0 0007EF20 38 60 00 01 */ li r3, 1 /* 80081FC4 0007EF24 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80081FC8 0007EF28 98 1D 01 8D */ stb r0, 0x18d(r29) /* 80081FCC 0007EF2C 48 00 00 14 */ b lbl_80081FE0 lbl_80081FD0: /* 80081FD0 0007EF30 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80081FD4 0007EF34 38 60 00 00 */ li r3, 0 /* 80081FD8 0007EF38 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80081FDC 0007EF3C 98 1D 01 8D */ stb r0, 0x18d(r29) lbl_80081FE0: /* 80081FE0 0007EF40 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80081FE4 0007EF44 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10 /* 80081FE8 0007EF48 41 82 00 18 */ beq lbl_80082000 /* 80081FEC 0007EF4C 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80081FF0 0007EF50 38 60 00 01 */ li r3, 1 /* 80081FF4 0007EF54 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 80081FF8 0007EF58 98 1D 01 8D */ stb r0, 0x18d(r29) /* 80081FFC 0007EF5C 48 00 00 14 */ b lbl_80082010 lbl_80082000: /* 80082000 0007EF60 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80082004 0007EF64 38 60 00 00 */ li r3, 0 /* 80082008 0007EF68 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8008200C 0007EF6C 98 1D 01 8D */ stb r0, 0x18d(r29) lbl_80082010: /* 80082010 0007EF70 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082014 0007EF74 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf /* 80082018 0007EF78 41 82 00 18 */ beq lbl_80082030 /* 8008201C 0007EF7C 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80082020 0007EF80 38 60 00 01 */ li r3, 1 /* 80082024 0007EF84 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 80082028 0007EF88 98 1D 01 8D */ stb r0, 0x18d(r29) /* 8008202C 0007EF8C 48 00 00 14 */ b lbl_80082040 lbl_80082030: /* 80082030 0007EF90 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80082034 0007EF94 38 60 00 00 */ li r3, 0 /* 80082038 0007EF98 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8008203C 0007EF9C 98 1D 01 8D */ stb r0, 0x18d(r29) lbl_80082040: /* 80082040 0007EFA0 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082044 0007EFA4 54 00 03 9D */ rlwinm. r0, r0, 0, 0xe, 0xe /* 80082048 0007EFA8 41 82 00 18 */ beq lbl_80082060 /* 8008204C 0007EFAC 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 80082050 0007EFB0 38 60 00 01 */ li r3, 1 /* 80082054 0007EFB4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 80082058 0007EFB8 98 1D 01 8E */ stb r0, 0x18e(r29) /* 8008205C 0007EFBC 48 00 00 14 */ b lbl_80082070 lbl_80082060: /* 80082060 0007EFC0 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 80082064 0007EFC4 38 60 00 00 */ li r3, 0 /* 80082068 0007EFC8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8008206C 0007EFCC 98 1D 01 8E */ stb r0, 0x18e(r29) lbl_80082070: /* 80082070 0007EFD0 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082074 0007EFD4 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc /* 80082078 0007EFD8 41 82 00 18 */ beq lbl_80082090 /* 8008207C 0007EFDC 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 80082080 0007EFE0 38 60 00 01 */ li r3, 1 /* 80082084 0007EFE4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 80082088 0007EFE8 98 1D 01 8E */ stb r0, 0x18e(r29) /* 8008208C 0007EFEC 48 00 00 14 */ b lbl_800820A0 lbl_80082090: /* 80082090 0007EFF0 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 80082094 0007EFF4 38 60 00 00 */ li r3, 0 /* 80082098 0007EFF8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8008209C 0007EFFC 98 1D 01 8E */ stb r0, 0x18e(r29) lbl_800820A0: /* 800820A0 0007F000 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800820A4 0007F004 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc /* 800820A8 0007F008 41 82 00 18 */ beq lbl_800820C0 /* 800820AC 0007F00C 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 800820B0 0007F010 38 60 00 01 */ li r3, 1 /* 800820B4 0007F014 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 800820B8 0007F018 98 1D 01 8E */ stb r0, 0x18e(r29) /* 800820BC 0007F01C 48 00 00 14 */ b lbl_800820D0 lbl_800820C0: /* 800820C0 0007F020 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 800820C4 0007F024 38 60 00 00 */ li r3, 0 /* 800820C8 0007F028 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 800820CC 0007F02C 98 1D 01 8E */ stb r0, 0x18e(r29) lbl_800820D0: /* 800820D0 0007F030 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800820D4 0007F034 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 /* 800820D8 0007F038 41 82 00 0C */ beq lbl_800820E4 /* 800820DC 0007F03C C0 1F 00 F8 */ lfs f0, 0xf8(r31) /* 800820E0 0007F040 D0 1D 01 94 */ stfs f0, 0x194(r29) lbl_800820E4: /* 800820E4 0007F044 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800820E8 0007F048 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 /* 800820EC 0007F04C 41 82 00 0C */ beq lbl_800820F8 /* 800820F0 0007F050 C0 1F 00 FC */ lfs f0, 0xfc(r31) /* 800820F4 0007F054 D0 1D 01 98 */ stfs f0, 0x198(r29) lbl_800820F8: /* 800820F8 0007F058 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800820FC 0007F05C 54 00 01 CF */ rlwinm. r0, r0, 0, 7, 7 /* 80082100 0007F060 41 82 00 0C */ beq lbl_8008210C /* 80082104 0007F064 C0 1F 01 00 */ lfs f0, 0x100(r31) /* 80082108 0007F068 D0 1D 01 9C */ stfs f0, 0x19c(r29) lbl_8008210C: /* 8008210C 0007F06C 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082110 0007F070 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 80082114 0007F074 41 82 00 0C */ beq lbl_80082120 /* 80082118 0007F078 C0 1F 01 40 */ lfs f0, 0x140(r31) /* 8008211C 0007F07C D0 1D 01 A0 */ stfs f0, 0x1a0(r29) lbl_80082120: /* 80082120 0007F080 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082124 0007F084 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 /* 80082128 0007F088 41 82 00 4C */ beq lbl_80082174 /* 8008212C 0007F08C C0 1F 01 04 */ lfs f0, 0x104(r31) /* 80082130 0007F090 C0 3F 01 08 */ lfs f1, 0x108(r31) /* 80082134 0007F094 D0 01 00 AC */ stfs f0, 0xac(r1) /* 80082138 0007F098 C0 1F 01 0C */ lfs f0, 0x10c(r31) /* 8008213C 0007F09C D0 21 00 B0 */ stfs f1, 0xb0(r1) /* 80082140 0007F0A0 80 01 00 AC */ lwz r0, 0xac(r1) /* 80082144 0007F0A4 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 80082148 0007F0A8 80 61 00 B0 */ lwz r3, 0xb0(r1) /* 8008214C 0007F0AC 90 01 00 B8 */ stw r0, 0xb8(r1) /* 80082150 0007F0B0 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80082154 0007F0B4 90 61 00 BC */ stw r3, 0xbc(r1) /* 80082158 0007F0B8 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 8008215C 0007F0BC 90 01 00 C0 */ stw r0, 0xc0(r1) /* 80082160 0007F0C0 C0 21 00 BC */ lfs f1, 0xbc(r1) /* 80082164 0007F0C4 D0 1D 01 B4 */ stfs f0, 0x1b4(r29) /* 80082168 0007F0C8 C0 01 00 C0 */ lfs f0, 0xc0(r1) /* 8008216C 0007F0CC D0 3D 01 B8 */ stfs f1, 0x1b8(r29) /* 80082170 0007F0D0 D0 1D 01 BC */ stfs f0, 0x1bc(r29) lbl_80082174: /* 80082174 0007F0D4 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082178 0007F0D8 54 00 01 4B */ rlwinm. r0, r0, 0, 5, 5 /* 8008217C 0007F0DC 41 82 00 4C */ beq lbl_800821C8 /* 80082180 0007F0E0 C0 1F 01 10 */ lfs f0, 0x110(r31) /* 80082184 0007F0E4 C0 3F 01 14 */ lfs f1, 0x114(r31) /* 80082188 0007F0E8 D0 01 00 94 */ stfs f0, 0x94(r1) /* 8008218C 0007F0EC C0 1F 01 18 */ lfs f0, 0x118(r31) /* 80082190 0007F0F0 D0 21 00 98 */ stfs f1, 0x98(r1) /* 80082194 0007F0F4 80 01 00 94 */ lwz r0, 0x94(r1) /* 80082198 0007F0F8 D0 01 00 9C */ stfs f0, 0x9c(r1) /* 8008219C 0007F0FC 80 61 00 98 */ lwz r3, 0x98(r1) /* 800821A0 0007F100 90 01 00 A0 */ stw r0, 0xa0(r1) /* 800821A4 0007F104 80 01 00 9C */ lwz r0, 0x9c(r1) /* 800821A8 0007F108 90 61 00 A4 */ stw r3, 0xa4(r1) /* 800821AC 0007F10C C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 800821B0 0007F110 90 01 00 A8 */ stw r0, 0xa8(r1) /* 800821B4 0007F114 C0 21 00 A4 */ lfs f1, 0xa4(r1) /* 800821B8 0007F118 D0 1D 04 10 */ stfs f0, 0x410(r29) /* 800821BC 0007F11C C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 800821C0 0007F120 D0 3D 04 14 */ stfs f1, 0x414(r29) /* 800821C4 0007F124 D0 1D 04 18 */ stfs f0, 0x418(r29) lbl_800821C8: /* 800821C8 0007F128 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800821CC 0007F12C 54 00 00 C7 */ rlwinm. r0, r0, 0, 3, 3 /* 800821D0 0007F130 41 82 00 20 */ beq lbl_800821F0 /* 800821D4 0007F134 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 800821D8 0007F138 38 60 00 01 */ li r3, 1 /* 800821DC 0007F13C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 800821E0 0007F140 98 1D 01 8C */ stb r0, 0x18c(r29) /* 800821E4 0007F144 C0 1F 01 2C */ lfs f0, 0x12c(r31) /* 800821E8 0007F148 D0 1D 01 AC */ stfs f0, 0x1ac(r29) /* 800821EC 0007F14C 48 00 00 14 */ b lbl_80082200 lbl_800821F0: /* 800821F0 0007F150 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 800821F4 0007F154 38 60 00 00 */ li r3, 0 /* 800821F8 0007F158 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 800821FC 0007F15C 98 1D 01 8C */ stb r0, 0x18c(r29) lbl_80082200: /* 80082200 0007F160 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082204 0007F164 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 /* 80082208 0007F168 41 82 00 20 */ beq lbl_80082228 /* 8008220C 0007F16C 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80082210 0007F170 38 60 00 01 */ li r3, 1 /* 80082214 0007F174 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 80082218 0007F178 98 1D 01 8C */ stb r0, 0x18c(r29) /* 8008221C 0007F17C C0 1F 01 30 */ lfs f0, 0x130(r31) /* 80082220 0007F180 D0 1D 01 B0 */ stfs f0, 0x1b0(r29) /* 80082224 0007F184 48 00 00 14 */ b lbl_80082238 lbl_80082228: /* 80082228 0007F188 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 8008222C 0007F18C 38 60 00 00 */ li r3, 0 /* 80082230 0007F190 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 80082234 0007F194 98 1D 01 8C */ stb r0, 0x18c(r29) lbl_80082238: /* 80082238 0007F198 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 8008223C 0007F19C 54 00 01 09 */ rlwinm. r0, r0, 0, 4, 4 /* 80082240 0007F1A0 41 82 00 1C */ beq lbl_8008225C /* 80082244 0007F1A4 C0 3D 01 5C */ lfs f1, 0x15c(r29) /* 80082248 0007F1A8 7F A3 EB 78 */ mr r3, r29 /* 8008224C 0007F1AC C0 5F 01 28 */ lfs f2, 0x128(r31) /* 80082250 0007F1B0 C0 62 89 B8 */ lfs f3, lbl_805AA6D8@sda21(r2) /* 80082254 0007F1B4 C0 82 89 B0 */ lfs f4, lbl_805AA6D0@sda21(r2) /* 80082258 0007F1B8 4B FD 8C C1 */ bl SetFovInterpolation__11CGameCameraFffff lbl_8008225C: /* 8008225C 0007F1BC 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082260 0007F1C0 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1 /* 80082264 0007F1C4 41 82 00 0C */ beq lbl_80082270 /* 80082268 0007F1C8 C0 1F 01 34 */ lfs f0, 0x134(r31) /* 8008226C 0007F1CC D0 1D 01 A8 */ stfs f0, 0x1a8(r29) lbl_80082270: /* 80082270 0007F1D0 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082274 0007F1D4 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 /* 80082278 0007F1D8 41 82 00 14 */ beq lbl_8008228C /* 8008227C 0007F1DC 80 7E 08 4C */ lwz r3, 0x84c(r30) /* 80082280 0007F1E0 C0 3F 01 4C */ lfs f1, 0x14c(r31) /* 80082284 0007F1E4 4B F8 F8 21 */ bl SetControlDirectionInterpolation__7CPlayerFf /* 80082288 0007F1E8 48 00 00 0C */ b lbl_80082294 lbl_8008228C: /* 8008228C 0007F1EC 80 7E 08 4C */ lwz r3, 0x84c(r30) /* 80082290 0007F1F0 4B F8 F7 F9 */ bl ResetControlDirectionInterpolation__7CPlayerFv lbl_80082294: /* 80082294 0007F1F4 80 1F 00 F4 */ lwz r0, 0xf4(r31) /* 80082298 0007F1F8 28 00 00 08 */ cmplwi r0, 8 /* 8008229C 0007F1FC 41 81 04 30 */ bgt lbl_800826CC /* 800822A0 0007F200 3C 60 80 3E */ lis r3, lbl_803DAC04@ha /* 800822A4 0007F204 54 00 10 3A */ slwi r0, r0, 2 /* 800822A8 0007F208 38 63 AC 04 */ addi r3, r3, lbl_803DAC04@l /* 800822AC 0007F20C 7C 03 00 2E */ lwzx r0, r3, r0 /* 800822B0 0007F210 7C 09 03 A6 */ mtctr r0 /* 800822B4 0007F214 4E 80 04 20 */ bctr .global lbl_800822B8 lbl_800822B8: /* 800822B8 0007F218 C0 1F 01 1C */ lfs f0, 0x11c(r31) /* 800822BC 0007F21C 7F A3 EB 78 */ mr r3, r29 /* 800822C0 0007F220 C0 3F 01 20 */ lfs f1, 0x120(r31) /* 800822C4 0007F224 7F C4 F3 78 */ mr r4, r30 /* 800822C8 0007F228 D0 01 01 0C */ stfs f0, 0x10c(r1) /* 800822CC 0007F22C C0 1F 01 24 */ lfs f0, 0x124(r31) /* 800822D0 0007F230 D0 21 01 10 */ stfs f1, 0x110(r1) /* 800822D4 0007F234 80 01 01 0C */ lwz r0, 0x10c(r1) /* 800822D8 0007F238 D0 01 01 14 */ stfs f0, 0x114(r1) /* 800822DC 0007F23C 80 A1 01 10 */ lwz r5, 0x110(r1) /* 800822E0 0007F240 90 01 00 88 */ stw r0, 0x88(r1) /* 800822E4 0007F244 80 01 01 14 */ lwz r0, 0x114(r1) /* 800822E8 0007F248 90 A1 00 8C */ stw r5, 0x8c(r1) /* 800822EC 0007F24C C0 01 00 88 */ lfs f0, 0x88(r1) /* 800822F0 0007F250 90 01 00 90 */ stw r0, 0x90(r1) /* 800822F4 0007F254 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 800822F8 0007F258 D0 1D 04 5C */ stfs f0, 0x45c(r29) /* 800822FC 0007F25C C0 01 00 90 */ lfs f0, 0x90(r1) /* 80082300 0007F260 D0 3D 04 60 */ stfs f1, 0x460(r29) /* 80082304 0007F264 D0 1D 04 64 */ stfs f0, 0x464(r29) /* 80082308 0007F268 48 00 A7 89 */ bl ResetPosition__11CBallCameraFR13CStateManager /* 8008230C 0007F26C 80 9E 08 4C */ lwz r4, 0x84c(r30) /* 80082310 0007F270 38 61 00 7C */ addi r3, r1, 0x7c /* 80082314 0007F274 48 20 2A 35 */ bl GetBallPosition__7CPlayerCFv /* 80082318 0007F278 C0 01 00 80 */ lfs f0, 0x80(r1) /* 8008231C 0007F27C C3 C1 01 10 */ lfs f30, 0x110(r1) /* 80082320 0007F280 C0 41 00 84 */ lfs f2, 0x84(r1) /* 80082324 0007F284 EC 60 F0 2A */ fadds f3, f0, f30 /* 80082328 0007F288 C3 E1 01 14 */ lfs f31, 0x114(r1) /* 8008232C 0007F28C C0 01 00 7C */ lfs f0, 0x7c(r1) /* 80082330 0007F290 C0 21 01 0C */ lfs f1, 0x10c(r1) /* 80082334 0007F294 EC 42 F8 2A */ fadds f2, f2, f31 /* 80082338 0007F298 D0 61 01 04 */ stfs f3, 0x104(r1) /* 8008233C 0007F29C EC 00 08 2A */ fadds f0, f0, f1 /* 80082340 0007F2A0 D0 41 01 08 */ stfs f2, 0x108(r1) /* 80082344 0007F2A4 D0 01 01 00 */ stfs f0, 0x100(r1) /* 80082348 0007F2A8 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 8008234C 0007F2AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80082350 0007F2B0 41 82 00 C8 */ beq lbl_80082418 /* 80082354 0007F2B4 FC 40 F0 90 */ fmr f2, f30 /* 80082358 0007F2B8 38 61 00 20 */ addi r3, r1, 0x20 /* 8008235C 0007F2BC 48 29 1E A5 */ bl __ct__9CVector2fFff /* 80082360 0007F2C0 38 61 00 20 */ addi r3, r1, 0x20 /* 80082364 0007F2C4 48 29 1D 91 */ bl Magnitude__9CVector2fCFv /* 80082368 0007F2C8 FC 00 08 90 */ fmr f0, f1 /* 8008236C 0007F2CC C0 21 01 0C */ lfs f1, 0x10c(r1) /* 80082370 0007F2D0 FC 40 F0 90 */ fmr f2, f30 /* 80082374 0007F2D4 38 61 00 18 */ addi r3, r1, 0x18 /* 80082378 0007F2D8 FF C0 00 90 */ fmr f30, f0 /* 8008237C 0007F2DC 48 29 1E 85 */ bl __ct__9CVector2fFff /* 80082380 0007F2E0 C0 41 00 18 */ lfs f2, 0x18(r1) /* 80082384 0007F2E4 38 61 00 70 */ addi r3, r1, 0x70 /* 80082388 0007F2E8 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 8008238C 0007F2EC 38 81 00 64 */ addi r4, r1, 0x64 /* 80082390 0007F2F0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80082394 0007F2F4 D0 41 00 64 */ stfs f2, 0x64(r1) /* 80082398 0007F2F8 D0 21 00 68 */ stfs f1, 0x68(r1) /* 8008239C 0007F2FC D0 01 00 6C */ stfs f0, 0x6c(r1) /* 800823A0 0007F300 48 29 24 B1 */ bl AsNormalized__9CVector3fCFv /* 800823A4 0007F304 C0 61 00 70 */ lfs f3, 0x70(r1) /* 800823A8 0007F308 FC 20 F0 90 */ fmr f1, f30 /* 800823AC 0007F30C C0 01 00 78 */ lfs f0, 0x78(r1) /* 800823B0 0007F310 7F A4 EB 78 */ mr r4, r29 /* 800823B4 0007F314 FC 80 18 50 */ fneg f4, f3 /* 800823B8 0007F318 C0 41 00 74 */ lfs f2, 0x74(r1) /* 800823BC 0007F31C FC 00 00 50 */ fneg f0, f0 /* 800823C0 0007F320 FC 60 10 50 */ fneg f3, f2 /* 800823C4 0007F324 7F C6 F3 78 */ mr r6, r30 /* 800823C8 0007F328 D0 81 00 F4 */ stfs f4, 0xf4(r1) /* 800823CC 0007F32C FC 40 F8 90 */ fmr f2, f31 /* 800823D0 0007F330 38 61 00 58 */ addi r3, r1, 0x58 /* 800823D4 0007F334 D0 61 00 F8 */ stfs f3, 0xf8(r1) /* 800823D8 0007F338 81 21 00 F4 */ lwz r9, 0xf4(r1) /* 800823DC 0007F33C 38 A1 00 4C */ addi r5, r1, 0x4c /* 800823E0 0007F340 D0 01 00 FC */ stfs f0, 0xfc(r1) /* 800823E4 0007F344 81 01 00 F8 */ lwz r8, 0xf8(r1) /* 800823E8 0007F348 38 E0 00 00 */ li r7, 0 /* 800823EC 0007F34C 80 01 00 FC */ lwz r0, 0xfc(r1) /* 800823F0 0007F350 91 21 00 4C */ stw r9, 0x4c(r1) /* 800823F4 0007F354 91 01 00 50 */ stw r8, 0x50(r1) /* 800823F8 0007F358 90 01 00 54 */ stw r0, 0x54(r1) /* 800823FC 0007F35C 48 00 78 B9 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80082400 0007F360 C0 41 00 58 */ lfs f2, 0x58(r1) /* 80082404 0007F364 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 80082408 0007F368 C0 01 00 60 */ lfs f0, 0x60(r1) /* 8008240C 0007F36C D0 41 01 00 */ stfs f2, 0x100(r1) /* 80082410 0007F370 D0 21 01 04 */ stfs f1, 0x104(r1) /* 80082414 0007F374 D0 01 01 08 */ stfs f0, 0x108(r1) lbl_80082418: /* 80082418 0007F378 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 8008241C 0007F37C 38 61 02 08 */ addi r3, r1, 0x208 /* 80082420 0007F380 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 80082424 0007F384 38 BD 01 D8 */ addi r5, r29, 0x1d8 /* 80082428 0007F388 38 81 01 00 */ addi r4, r1, 0x100 /* 8008242C 0007F38C 48 29 16 E5 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80082430 0007F390 38 61 02 C8 */ addi r3, r1, 0x2c8 /* 80082434 0007F394 38 81 02 08 */ addi r4, r1, 0x208 /* 80082438 0007F398 48 29 07 3D */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008243C 0007F39C 7F A3 EB 78 */ mr r3, r29 /* 80082440 0007F3A0 7F C5 F3 78 */ mr r5, r30 /* 80082444 0007F3A4 38 81 02 C8 */ addi r4, r1, 0x2c8 /* 80082448 0007F3A8 48 00 A5 B1 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 8008244C 0007F3AC 48 00 02 80 */ b lbl_800826CC .global lbl_80082450 lbl_80082450: /* 80082450 0007F3B0 7F A3 EB 78 */ mr r3, r29 /* 80082454 0007F3B4 7F C4 F3 78 */ mr r4, r30 /* 80082458 0007F3B8 48 00 A6 39 */ bl ResetPosition__11CBallCameraFR13CStateManager /* 8008245C 0007F3BC 7F A3 EB 78 */ mr r3, r29 /* 80082460 0007F3C0 7F C5 F3 78 */ mr r5, r30 /* 80082464 0007F3C4 38 9F 00 34 */ addi r4, r31, 0x34 /* 80082468 0007F3C8 48 00 A5 91 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 8008246C 0007F3CC 48 00 02 60 */ b lbl_800826CC .global lbl_80082470 lbl_80082470: /* 80082470 0007F3D0 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082474 0007F3D4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 80082478 0007F3D8 41 82 02 54 */ beq lbl_800826CC /* 8008247C 0007F3DC 7F A3 EB 78 */ mr r3, r29 /* 80082480 0007F3E0 7F C4 F3 78 */ mr r4, r30 /* 80082484 0007F3E4 48 00 A6 0D */ bl ResetPosition__11CBallCameraFR13CStateManager /* 80082488 0007F3E8 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 8008248C 0007F3EC 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd /* 80082490 0007F3F0 41 82 00 C8 */ beq lbl_80082558 /* 80082494 0007F3F4 80 9E 08 70 */ lwz r4, 0x870(r30) /* 80082498 0007F3F8 7F C5 F3 78 */ mr r5, r30 /* 8008249C 0007F3FC 38 61 01 D8 */ addi r3, r1, 0x1d8 /* 800824A0 0007F400 4B F8 84 C9 */ bl GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager /* 800824A4 0007F404 80 9E 08 4C */ lwz r4, 0x84c(r30) /* 800824A8 0007F408 38 61 00 E8 */ addi r3, r1, 0xe8 /* 800824AC 0007F40C C0 01 02 04 */ lfs f0, 0x204(r1) /* 800824B0 0007F410 C0 24 00 60 */ lfs f1, 0x60(r4) /* 800824B4 0007F414 C0 64 00 50 */ lfs f3, 0x50(r4) /* 800824B8 0007F418 C0 41 01 F4 */ lfs f2, 0x1f4(r1) /* 800824BC 0007F41C EC 81 00 28 */ fsubs f4, f1, f0 /* 800824C0 0007F420 C0 24 00 40 */ lfs f1, 0x40(r4) /* 800824C4 0007F424 C0 01 01 E4 */ lfs f0, 0x1e4(r1) /* 800824C8 0007F428 EC 43 10 28 */ fsubs f2, f3, f2 /* 800824CC 0007F42C D0 81 00 F0 */ stfs f4, 0xf0(r1) /* 800824D0 0007F430 EC 21 00 28 */ fsubs f1, f1, f0 /* 800824D4 0007F434 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800824D8 0007F438 D0 41 00 EC */ stfs f2, 0xec(r1) /* 800824DC 0007F43C D0 21 00 E8 */ stfs f1, 0xe8(r1) /* 800824E0 0007F440 D0 01 00 F0 */ stfs f0, 0xf0(r1) /* 800824E4 0007F444 48 29 22 15 */ bl CanBeNormalized__9CVector3fCFv /* 800824E8 0007F448 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800824EC 0007F44C 41 82 00 10 */ beq lbl_800824FC /* 800824F0 0007F450 38 61 00 E8 */ addi r3, r1, 0xe8 /* 800824F4 0007F454 48 29 24 05 */ bl Normalize__9CVector3fFv /* 800824F8 0007F458 48 00 00 20 */ b lbl_80082518 lbl_800824FC: /* 800824FC 0007F45C 80 7E 08 4C */ lwz r3, 0x84c(r30) /* 80082500 0007F460 C0 03 05 0C */ lfs f0, 0x50c(r3) /* 80082504 0007F464 D0 01 00 E8 */ stfs f0, 0xe8(r1) /* 80082508 0007F468 C0 03 05 10 */ lfs f0, 0x510(r3) /* 8008250C 0007F46C D0 01 00 EC */ stfs f0, 0xec(r1) /* 80082510 0007F470 C0 03 05 14 */ lfs f0, 0x514(r3) /* 80082514 0007F474 D0 01 00 F0 */ stfs f0, 0xf0(r1) lbl_80082518: /* 80082518 0007F478 80 A1 00 E8 */ lwz r5, 0xe8(r1) /* 8008251C 0007F47C 7F A4 EB 78 */ mr r4, r29 /* 80082520 0007F480 80 E1 00 EC */ lwz r7, 0xec(r1) /* 80082524 0007F484 7F C6 F3 78 */ mr r6, r30 /* 80082528 0007F488 80 01 00 F0 */ lwz r0, 0xf0(r1) /* 8008252C 0007F48C 38 61 01 A8 */ addi r3, r1, 0x1a8 /* 80082530 0007F490 90 A1 00 40 */ stw r5, 0x40(r1) /* 80082534 0007F494 38 A1 00 40 */ addi r5, r1, 0x40 /* 80082538 0007F498 90 E1 00 44 */ stw r7, 0x44(r1) /* 8008253C 0007F49C 90 01 00 48 */ stw r0, 0x48(r1) /* 80082540 0007F4A0 48 00 76 41 */ bl UpdateLookDirection__11CBallCameraFRC9CVector3fR13CStateManager /* 80082544 0007F4A4 7F A3 EB 78 */ mr r3, r29 /* 80082548 0007F4A8 7F C5 F3 78 */ mr r5, r30 /* 8008254C 0007F4AC 38 81 01 A8 */ addi r4, r1, 0x1a8 /* 80082550 0007F4B0 48 00 A4 A9 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 80082554 0007F4B4 48 00 01 78 */ b lbl_800826CC lbl_80082558: /* 80082558 0007F4B8 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8008255C 0007F4BC 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 80082560 0007F4C0 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80082564 0007F4C4 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 80082568 0007F4C8 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8008256C 0007F4CC 38 61 01 78 */ addi r3, r1, 0x178 /* 80082570 0007F4D0 38 81 00 DC */ addi r4, r1, 0xdc /* 80082574 0007F4D4 38 BD 01 D8 */ addi r5, r29, 0x1d8 /* 80082578 0007F4D8 D0 01 00 DC */ stfs f0, 0xdc(r1) /* 8008257C 0007F4DC D0 21 00 E0 */ stfs f1, 0xe0(r1) /* 80082580 0007F4E0 D0 41 00 E4 */ stfs f2, 0xe4(r1) /* 80082584 0007F4E4 48 29 15 8D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80082588 0007F4E8 38 61 02 98 */ addi r3, r1, 0x298 /* 8008258C 0007F4EC 38 81 01 78 */ addi r4, r1, 0x178 /* 80082590 0007F4F0 48 29 05 E5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80082594 0007F4F4 7F A3 EB 78 */ mr r3, r29 /* 80082598 0007F4F8 7F C5 F3 78 */ mr r5, r30 /* 8008259C 0007F4FC 38 81 02 98 */ addi r4, r1, 0x298 /* 800825A0 0007F500 48 00 A4 59 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 800825A4 0007F504 48 00 01 28 */ b lbl_800826CC .global lbl_800825A8 lbl_800825A8: /* 800825A8 0007F508 7F A3 EB 78 */ mr r3, r29 /* 800825AC 0007F50C 7F C4 F3 78 */ mr r4, r30 /* 800825B0 0007F510 48 00 A4 E1 */ bl ResetPosition__11CBallCameraFR13CStateManager /* 800825B4 0007F514 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 800825B8 0007F518 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 800825BC 0007F51C C0 3F 00 50 */ lfs f1, 0x50(r31) /* 800825C0 0007F520 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 800825C4 0007F524 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 800825C8 0007F528 38 61 01 48 */ addi r3, r1, 0x148 /* 800825CC 0007F52C 38 81 00 D0 */ addi r4, r1, 0xd0 /* 800825D0 0007F530 38 BD 01 D8 */ addi r5, r29, 0x1d8 /* 800825D4 0007F534 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 800825D8 0007F538 D0 21 00 D4 */ stfs f1, 0xd4(r1) /* 800825DC 0007F53C D0 41 00 D8 */ stfs f2, 0xd8(r1) /* 800825E0 0007F540 48 29 15 31 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 800825E4 0007F544 38 61 02 68 */ addi r3, r1, 0x268 /* 800825E8 0007F548 38 81 01 48 */ addi r4, r1, 0x148 /* 800825EC 0007F54C 48 29 05 89 */ bl __ct__12CTransform4fFRC12CTransform4f /* 800825F0 0007F550 7F A3 EB 78 */ mr r3, r29 /* 800825F4 0007F554 7F C5 F3 78 */ mr r5, r30 /* 800825F8 0007F558 38 81 02 68 */ addi r4, r1, 0x268 /* 800825FC 0007F55C 48 00 A3 FD */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 80082600 0007F560 48 00 00 CC */ b lbl_800826CC .global lbl_80082604 lbl_80082604: /* 80082604 0007F564 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 80082608 0007F568 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 8008260C 0007F56C 41 82 00 C0 */ beq lbl_800826CC /* 80082610 0007F570 7F A3 EB 78 */ mr r3, r29 /* 80082614 0007F574 7F C4 F3 78 */ mr r4, r30 /* 80082618 0007F578 48 00 A4 79 */ bl ResetPosition__11CBallCameraFR13CStateManager /* 8008261C 0007F57C C0 1D 01 90 */ lfs f0, 0x190(r29) /* 80082620 0007F580 7F A3 EB 78 */ mr r3, r29 /* 80082624 0007F584 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80082628 0007F588 7F C6 F3 78 */ mr r6, r30 /* 8008262C 0007F58C D0 01 00 14 */ stfs f0, 0x14(r1) /* 80082630 0007F590 38 81 00 10 */ addi r4, r1, 0x10 /* 80082634 0007F594 38 A1 00 14 */ addi r5, r1, 0x14 /* 80082638 0007F598 C0 1D 01 A0 */ lfs f0, 0x1a0(r29) /* 8008263C 0007F59C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80082640 0007F5A0 48 00 70 8D */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80082644 0007F5A4 81 1E 08 4C */ lwz r8, 0x84c(r30) /* 80082648 0007F5A8 7F A4 EB 78 */ mr r4, r29 /* 8008264C 0007F5AC C0 21 00 14 */ lfs f1, 0x14(r1) /* 80082650 0007F5B0 7F C6 F3 78 */ mr r6, r30 /* 80082654 0007F5B4 80 E8 05 0C */ lwz r7, 0x50c(r8) /* 80082658 0007F5B8 38 61 00 34 */ addi r3, r1, 0x34 /* 8008265C 0007F5BC 80 08 05 10 */ lwz r0, 0x510(r8) /* 80082660 0007F5C0 38 A1 00 28 */ addi r5, r1, 0x28 /* 80082664 0007F5C4 C0 41 00 10 */ lfs f2, 0x10(r1) /* 80082668 0007F5C8 90 E1 00 28 */ stw r7, 0x28(r1) /* 8008266C 0007F5CC 38 E0 00 00 */ li r7, 0 /* 80082670 0007F5D0 90 01 00 2C */ stw r0, 0x2c(r1) /* 80082674 0007F5D4 80 08 05 14 */ lwz r0, 0x514(r8) /* 80082678 0007F5D8 90 01 00 30 */ stw r0, 0x30(r1) /* 8008267C 0007F5DC 48 00 76 39 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80082680 0007F5E0 C0 41 00 34 */ lfs f2, 0x34(r1) /* 80082684 0007F5E4 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 80082688 0007F5E8 C0 21 00 38 */ lfs f1, 0x38(r1) /* 8008268C 0007F5EC 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 80082690 0007F5F0 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 80082694 0007F5F4 38 61 01 18 */ addi r3, r1, 0x118 /* 80082698 0007F5F8 D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 8008269C 0007F5FC 38 81 00 C4 */ addi r4, r1, 0xc4 /* 800826A0 0007F600 38 BD 01 CC */ addi r5, r29, 0x1cc /* 800826A4 0007F604 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 800826A8 0007F608 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 800826AC 0007F60C 48 29 14 65 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 800826B0 0007F610 38 61 02 38 */ addi r3, r1, 0x238 /* 800826B4 0007F614 38 81 01 18 */ addi r4, r1, 0x118 /* 800826B8 0007F618 48 29 04 BD */ bl __ct__12CTransform4fFRC12CTransform4f /* 800826BC 0007F61C 7F A3 EB 78 */ mr r3, r29 /* 800826C0 0007F620 7F C5 F3 78 */ mr r5, r30 /* 800826C4 0007F624 38 81 02 38 */ addi r4, r1, 0x238 /* 800826C8 0007F628 48 00 A3 31 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager .global lbl_800826CC lbl_800826CC: /* 800826CC 0007F62C 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800826D0 0007F630 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 800826D4 0007F634 41 82 00 20 */ beq lbl_800826F4 /* 800826D8 0007F638 A0 1D 00 08 */ lhz r0, 8(r29) /* 800826DC 0007F63C 7F C4 F3 78 */ mr r4, r30 /* 800826E0 0007F640 38 A1 00 0C */ addi r5, r1, 0xc /* 800826E4 0007F644 B0 01 00 0C */ sth r0, 0xc(r1) /* 800826E8 0007F648 B0 01 00 08 */ sth r0, 8(r1) /* 800826EC 0007F64C 80 7E 08 70 */ lwz r3, 0x870(r30) /* 800826F0 0007F650 4B F8 81 59 */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId lbl_800826F4: /* 800826F4 0007F654 E3 E1 03 28 */ psq_l f31, 808(r1), 0, qr0 /* 800826F8 0007F658 CB E1 03 20 */ lfd f31, 0x320(r1) /* 800826FC 0007F65C E3 C1 03 18 */ psq_l f30, 792(r1), 0, qr0 /* 80082700 0007F660 CB C1 03 10 */ lfd f30, 0x310(r1) /* 80082704 0007F664 83 E1 03 0C */ lwz r31, 0x30c(r1) /* 80082708 0007F668 83 C1 03 08 */ lwz r30, 0x308(r1) /* 8008270C 0007F66C 80 01 03 34 */ lwz r0, 0x334(r1) /* 80082710 0007F670 83 A1 03 04 */ lwz r29, 0x304(r1) /* 80082714 0007F674 7C 08 03 A6 */ mtlr r0 /* 80082718 0007F678 38 21 03 30 */ addi r1, r1, 0x330 /* 8008271C 0007F67C 4E 80 00 20 */ blr .global Accept__11CBallCameraFR8IVisitor Accept__11CBallCameraFR8IVisitor: /* 80082720 0007F680 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80082724 0007F684 7C 08 02 A6 */ mflr r0 /* 80082728 0007F688 90 01 00 14 */ stw r0, 0x14(r1) /* 8008272C 0007F68C 7C 60 1B 78 */ mr r0, r3 /* 80082730 0007F690 7C 83 23 78 */ mr r3, r4 /* 80082734 0007F694 81 84 00 00 */ lwz r12, 0(r4) /* 80082738 0007F698 7C 04 03 78 */ mr r4, r0 /* 8008273C 0007F69C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80082740 0007F6A0 7D 89 03 A6 */ mtctr r12 /* 80082744 0007F6A4 4E 80 04 21 */ bctrl /* 80082748 0007F6A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8008274C 0007F6AC 7C 08 03 A6 */ mtlr r0 /* 80082750 0007F6B0 38 21 00 10 */ addi r1, r1, 0x10 /* 80082754 0007F6B4 4E 80 00 20 */ blr .global AcceptScriptMsg__11CBallCameraF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__11CBallCameraF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 80082758 0007F6B8 94 21 FF 00 */ stwu r1, -0x100(r1) /* 8008275C 0007F6BC 7C 08 02 A6 */ mflr r0 /* 80082760 0007F6C0 90 01 01 04 */ stw r0, 0x104(r1) /* 80082764 0007F6C4 BF 21 00 E4 */ stmw r25, 0xe4(r1) /* 80082768 0007F6C8 7C 7F 1B 78 */ mr r31, r3 /* 8008276C 0007F6CC 7C 99 23 78 */ mr r25, r4 /* 80082770 0007F6D0 7C DE 33 78 */ mr r30, r6 /* 80082774 0007F6D4 A0 05 00 00 */ lhz r0, 0(r5) /* 80082778 0007F6D8 38 A1 00 18 */ addi r5, r1, 0x18 /* 8008277C 0007F6DC B0 01 00 18 */ sth r0, 0x18(r1) /* 80082780 0007F6E0 4B FD 8B C9 */ bl AcceptScriptMsg__11CGameCameraF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 80082784 0007F6E4 2C 19 00 22 */ cmpwi r25, 0x22 /* 80082788 0007F6E8 41 82 03 54 */ beq lbl_80082ADC /* 8008278C 0007F6EC 40 80 03 6C */ bge lbl_80082AF8 /* 80082790 0007F6F0 2C 19 00 21 */ cmpwi r25, 0x21 /* 80082794 0007F6F4 40 80 00 08 */ bge lbl_8008279C /* 80082798 0007F6F8 48 00 03 60 */ b lbl_80082AF8 lbl_8008279C: /* 8008279C 0007F6FC 7F C4 F3 78 */ mr r4, r30 /* 800827A0 0007F700 38 61 00 14 */ addi r3, r1, 0x14 /* 800827A4 0007F704 4B FC A9 39 */ bl AllocateUniqueId__13CStateManagerFv /* 800827A8 0007F708 A0 01 00 14 */ lhz r0, 0x14(r1) /* 800827AC 0007F70C 3C 60 80 3D */ lis r3, lbl_803CD678@ha /* 800827B0 0007F710 38 83 D6 78 */ addi r4, r3, lbl_803CD678@l /* 800827B4 0007F714 38 A0 00 00 */ li r5, 0 /* 800827B8 0007F718 B0 1F 04 6C */ sth r0, 0x46c(r31) /* 800827BC 0007F71C 38 60 03 10 */ li r3, 0x310 /* 800827C0 0007F720 48 29 30 AD */ bl __nw__FUlPCcPCc /* 800827C4 0007F724 7C 7D 1B 79 */ or. r29, r3, r3 /* 800827C8 0007F728 41 82 00 4C */ beq lbl_80082814 /* 800827CC 0007F72C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 800827D0 0007F730 7F E4 FB 78 */ mr r4, r31 /* 800827D4 0007F734 38 61 00 1C */ addi r3, r1, 0x1c /* 800827D8 0007F738 B0 01 00 10 */ sth r0, 0x10(r1) /* 800827DC 0007F73C 4B FC E8 A9 */ bl GetAreaId__7CEntityCFv /* 800827E0 0007F740 80 01 00 1C */ lwz r0, 0x1c(r1) /* 800827E4 0007F744 7F A3 EB 78 */ mr r3, r29 /* 800827E8 0007F748 C0 22 89 C4 */ lfs f1, lbl_805AA6E4@sda21(r2) /* 800827EC 0007F74C 38 81 00 0C */ addi r4, r1, 0xc /* 800827F0 0007F750 90 01 00 20 */ stw r0, 0x20(r1) /* 800827F4 0007F754 38 A1 00 20 */ addi r5, r1, 0x20 /* 800827F8 0007F758 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 800827FC 0007F75C 38 C1 00 10 */ addi r6, r1, 0x10 /* 80082800 0007F760 A0 1F 04 6C */ lhz r0, 0x46c(r31) /* 80082804 0007F764 38 E0 00 01 */ li r7, 1 /* 80082808 0007F768 B0 01 00 0C */ sth r0, 0xc(r1) /* 8008280C 0007F76C 48 12 6C 29 */ bl __ct__15CCollisionActorF9TUniqueId7TAreaId9TUniqueIdbff /* 80082810 0007F770 7C 7D 1B 78 */ mr r29, r3 lbl_80082814: /* 80082814 0007F774 28 1D 00 00 */ cmplwi r29, 0 /* 80082818 0007F778 41 82 02 0C */ beq lbl_80082A24 /* 8008281C 0007F77C 80 AD 85 04 */ lwz r5, lbl_805A70C4@sda21(r13) /* 80082820 0007F780 38 60 00 00 */ li r3, 0 /* 80082824 0007F784 38 80 00 01 */ li r4, 1 /* 80082828 0007F788 48 30 76 CD */ bl __shl2i /* 8008282C 0007F78C 80 AD 85 08 */ lwz r5, lbl_805A70C8@sda21(r13) /* 80082830 0007F790 7C 9B 23 78 */ mr r27, r4 /* 80082834 0007F794 7C 7C 1B 78 */ mr r28, r3 /* 80082838 0007F798 38 60 00 00 */ li r3, 0 /* 8008283C 0007F79C 38 80 00 01 */ li r4, 1 /* 80082840 0007F7A0 48 30 76 B5 */ bl __shl2i /* 80082844 0007F7A4 80 AD 85 0C */ lwz r5, lbl_805A70CC@sda21(r13) /* 80082848 0007F7A8 7C 99 23 78 */ mr r25, r4 /* 8008284C 0007F7AC 7C 7A 1B 78 */ mr r26, r3 /* 80082850 0007F7B0 38 60 00 00 */ li r3, 0 /* 80082854 0007F7B4 38 80 00 01 */ li r4, 1 /* 80082858 0007F7B8 48 30 76 9D */ bl __shl2i /* 8008285C 0007F7BC 7F 39 23 78 */ or r25, r25, r4 /* 80082860 0007F7C0 7F 5A 1B 78 */ or r26, r26, r3 /* 80082864 0007F7C4 38 00 00 03 */ li r0, 3 /* 80082868 0007F7C8 93 61 00 8C */ stw r27, 0x8c(r1) /* 8008286C 0007F7CC 7F A3 EB 78 */ mr r3, r29 /* 80082870 0007F7D0 38 81 00 88 */ addi r4, r1, 0x88 /* 80082874 0007F7D4 90 01 00 68 */ stw r0, 0x68(r1) /* 80082878 0007F7D8 93 81 00 88 */ stw r28, 0x88(r1) /* 8008287C 0007F7DC 93 21 00 94 */ stw r25, 0x94(r1) /* 80082880 0007F7E0 93 41 00 90 */ stw r26, 0x90(r1) /* 80082884 0007F7E4 90 01 00 98 */ stw r0, 0x98(r1) /* 80082888 0007F7E8 4B FD 10 19 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 8008288C 0007F7EC 80 AD 85 10 */ lwz r5, lbl_805A70D0@sda21(r13) /* 80082890 0007F7F0 38 60 00 00 */ li r3, 0 /* 80082894 0007F7F4 38 80 00 01 */ li r4, 1 /* 80082898 0007F7F8 48 30 76 5D */ bl __shl2i /* 8008289C 0007F7FC 80 AD 85 14 */ lwz r5, lbl_805A70D4@sda21(r13) /* 800828A0 0007F800 7C 9A 23 78 */ mr r26, r4 /* 800828A4 0007F804 7C 79 1B 78 */ mr r25, r3 /* 800828A8 0007F808 38 60 00 00 */ li r3, 0 /* 800828AC 0007F80C 38 80 00 01 */ li r4, 1 /* 800828B0 0007F810 48 30 76 45 */ bl __shl2i /* 800828B4 0007F814 80 AD 85 18 */ lwz r5, lbl_805A70D8@sda21(r13) /* 800828B8 0007F818 7F 5A 23 78 */ or r26, r26, r4 /* 800828BC 0007F81C 7F 39 1B 78 */ or r25, r25, r3 /* 800828C0 0007F820 38 60 00 00 */ li r3, 0 /* 800828C4 0007F824 38 80 00 01 */ li r4, 1 /* 800828C8 0007F828 48 30 76 2D */ bl __shl2i /* 800828CC 0007F82C 80 AD 85 1C */ lwz r5, lbl_805A70DC@sda21(r13) /* 800828D0 0007F830 7F 5A 23 78 */ or r26, r26, r4 /* 800828D4 0007F834 7F 39 1B 78 */ or r25, r25, r3 /* 800828D8 0007F838 38 60 00 00 */ li r3, 0 /* 800828DC 0007F83C 38 80 00 01 */ li r4, 1 /* 800828E0 0007F840 48 30 76 15 */ bl __shl2i /* 800828E4 0007F844 7F 5A 23 78 */ or r26, r26, r4 /* 800828E8 0007F848 7F 39 1B 78 */ or r25, r25, r3 /* 800828EC 0007F84C 93 5D 00 6C */ stw r26, 0x6c(r29) /* 800828F0 0007F850 7F A3 EB 78 */ mr r3, r29 /* 800828F4 0007F854 38 81 00 34 */ addi r4, r1, 0x34 /* 800828F8 0007F858 93 3D 00 68 */ stw r25, 0x68(r29) /* 800828FC 0007F85C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80082900 0007F860 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80082904 0007F864 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80082908 0007F868 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8008290C 0007F86C D0 21 00 38 */ stfs f1, 0x38(r1) /* 80082910 0007F870 D0 41 00 3C */ stfs f2, 0x3c(r1) /* 80082914 0007F874 4B FD 05 79 */ bl SetTranslation__6CActorFRC9CVector3f /* 80082918 0007F878 7F C3 F3 78 */ mr r3, r30 /* 8008291C 0007F87C 7F A4 EB 78 */ mr r4, r29 /* 80082920 0007F880 4B FC A3 D5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence /* 80082924 0007F884 88 1D 00 F8 */ lbz r0, 0xf8(r29) /* 80082928 0007F888 38 60 00 00 */ li r3, 0 /* 8008292C 0007F88C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 80082930 0007F890 98 1D 00 F8 */ stb r0, 0xf8(r29) /* 80082934 0007F894 4B F9 8C 01 */ bl Identity__10CAxisAngleFv /* 80082938 0007F898 3C 80 80 5A */ lis r4, lbl_805A6724@ha /* 8008293C 0007F89C C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80082940 0007F8A0 7C 7C 1B 78 */ mr r28, r3 /* 80082944 0007F8A4 38 61 00 24 */ addi r3, r1, 0x24 /* 80082948 0007F8A8 38 84 67 24 */ addi r4, r4, lbl_805A6724@l /* 8008294C 0007F8AC 48 28 E3 F1 */ bl BuildFromAxisAngle__13CNUQuaternionFRC9CVector3ff /* 80082950 0007F8B0 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80082954 0007F8B4 3C 60 80 5A */ lis r3, skZero3f@ha /* 80082958 0007F8B8 C4 A3 66 A0 */ lfsu f5, skZero3f@l(r3) /* 8008295C 0007F8BC D0 01 00 A0 */ stfs f0, 0xa0(r1) /* 80082960 0007F8C0 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80082964 0007F8C4 C1 5F 00 60 */ lfs f10, 0x60(r31) /* 80082968 0007F8C8 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 8008296C 0007F8CC C1 21 00 24 */ lfs f9, 0x24(r1) /* 80082970 0007F8D0 C1 01 00 28 */ lfs f8, 0x28(r1) /* 80082974 0007F8D4 C0 E1 00 2C */ lfs f7, 0x2c(r1) /* 80082978 0007F8D8 C0 C1 00 30 */ lfs f6, 0x30(r1) /* 8008297C 0007F8DC C0 83 00 04 */ lfs f4, 4(r3) /* 80082980 0007F8E0 C0 63 00 08 */ lfs f3, 8(r3) /* 80082984 0007F8E4 C0 5C 00 00 */ lfs f2, 0(r28) /* 80082988 0007F8E8 C0 3C 00 04 */ lfs f1, 4(r28) /* 8008298C 0007F8EC C0 1C 00 08 */ lfs f0, 8(r28) /* 80082990 0007F8F0 80 01 00 A0 */ lwz r0, 0xa0(r1) /* 80082994 0007F8F4 D1 41 00 A8 */ stfs f10, 0xa8(r1) /* 80082998 0007F8F8 80 61 00 A4 */ lwz r3, 0xa4(r1) /* 8008299C 0007F8FC 90 1D 01 F4 */ stw r0, 0x1f4(r29) /* 800829A0 0007F900 80 01 00 A8 */ lwz r0, 0xa8(r1) /* 800829A4 0007F904 90 7D 01 F8 */ stw r3, 0x1f8(r29) /* 800829A8 0007F908 D1 21 00 AC */ stfs f9, 0xac(r1) /* 800829AC 0007F90C 80 61 00 AC */ lwz r3, 0xac(r1) /* 800829B0 0007F910 90 1D 01 FC */ stw r0, 0x1fc(r29) /* 800829B4 0007F914 D1 01 00 B0 */ stfs f8, 0xb0(r1) /* 800829B8 0007F918 80 01 00 B0 */ lwz r0, 0xb0(r1) /* 800829BC 0007F91C 90 7D 02 00 */ stw r3, 0x200(r29) /* 800829C0 0007F920 D0 E1 00 B4 */ stfs f7, 0xb4(r1) /* 800829C4 0007F924 80 61 00 B4 */ lwz r3, 0xb4(r1) /* 800829C8 0007F928 90 1D 02 04 */ stw r0, 0x204(r29) /* 800829CC 0007F92C D0 C1 00 B8 */ stfs f6, 0xb8(r1) /* 800829D0 0007F930 80 01 00 B8 */ lwz r0, 0xb8(r1) /* 800829D4 0007F934 90 7D 02 08 */ stw r3, 0x208(r29) /* 800829D8 0007F938 D0 A1 00 BC */ stfs f5, 0xbc(r1) /* 800829DC 0007F93C 80 61 00 BC */ lwz r3, 0xbc(r1) /* 800829E0 0007F940 90 1D 02 0C */ stw r0, 0x20c(r29) /* 800829E4 0007F944 D0 81 00 C0 */ stfs f4, 0xc0(r1) /* 800829E8 0007F948 80 01 00 C0 */ lwz r0, 0xc0(r1) /* 800829EC 0007F94C 90 7D 02 10 */ stw r3, 0x210(r29) /* 800829F0 0007F950 D0 61 00 C4 */ stfs f3, 0xc4(r1) /* 800829F4 0007F954 80 61 00 C4 */ lwz r3, 0xc4(r1) /* 800829F8 0007F958 90 1D 02 14 */ stw r0, 0x214(r29) /* 800829FC 0007F95C D0 41 00 C8 */ stfs f2, 0xc8(r1) /* 80082A00 0007F960 80 01 00 C8 */ lwz r0, 0xc8(r1) /* 80082A04 0007F964 90 7D 02 18 */ stw r3, 0x218(r29) /* 80082A08 0007F968 D0 21 00 CC */ stfs f1, 0xcc(r1) /* 80082A0C 0007F96C 80 61 00 CC */ lwz r3, 0xcc(r1) /* 80082A10 0007F970 90 1D 02 1C */ stw r0, 0x21c(r29) /* 80082A14 0007F974 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 80082A18 0007F978 80 01 00 D0 */ lwz r0, 0xd0(r1) /* 80082A1C 0007F97C 90 7D 02 20 */ stw r3, 0x220(r29) /* 80082A20 0007F980 90 1D 02 24 */ stw r0, 0x224(r29) lbl_80082A24: /* 80082A24 0007F984 80 AD 85 20 */ lwz r5, lbl_805A70E0@sda21(r13) /* 80082A28 0007F988 38 60 00 00 */ li r3, 0 /* 80082A2C 0007F98C 38 80 00 01 */ li r4, 1 /* 80082A30 0007F990 48 30 74 C5 */ bl __shl2i /* 80082A34 0007F994 80 AD 85 24 */ lwz r5, lbl_805A70E4@sda21(r13) /* 80082A38 0007F998 7C 9A 23 78 */ mr r26, r4 /* 80082A3C 0007F99C 7C 79 1B 78 */ mr r25, r3 /* 80082A40 0007F9A0 38 60 00 00 */ li r3, 0 /* 80082A44 0007F9A4 38 80 00 01 */ li r4, 1 /* 80082A48 0007F9A8 48 30 74 AD */ bl __shl2i /* 80082A4C 0007F9AC 80 AD 85 28 */ lwz r5, lbl_805A70E8@sda21(r13) /* 80082A50 0007F9B0 7F 5A 23 78 */ or r26, r26, r4 /* 80082A54 0007F9B4 7F 39 1B 78 */ or r25, r25, r3 /* 80082A58 0007F9B8 38 60 00 00 */ li r3, 0 /* 80082A5C 0007F9BC 38 80 00 01 */ li r4, 1 /* 80082A60 0007F9C0 48 30 74 95 */ bl __shl2i /* 80082A64 0007F9C4 80 AD 85 2C */ lwz r5, lbl_805A70EC@sda21(r13) /* 80082A68 0007F9C8 7F 5A 23 78 */ or r26, r26, r4 /* 80082A6C 0007F9CC 7F 39 1B 78 */ or r25, r25, r3 /* 80082A70 0007F9D0 38 60 00 00 */ li r3, 0 /* 80082A74 0007F9D4 38 80 00 01 */ li r4, 1 /* 80082A78 0007F9D8 48 30 74 7D */ bl __shl2i /* 80082A7C 0007F9DC 80 AD 85 30 */ lwz r5, lbl_805A70F0@sda21(r13) /* 80082A80 0007F9E0 7F 5A 23 78 */ or r26, r26, r4 /* 80082A84 0007F9E4 7F 39 1B 78 */ or r25, r25, r3 /* 80082A88 0007F9E8 38 60 00 00 */ li r3, 0 /* 80082A8C 0007F9EC 38 80 00 01 */ li r4, 1 /* 80082A90 0007F9F0 48 30 74 65 */ bl __shl2i /* 80082A94 0007F9F4 7F 5A 23 78 */ or r26, r26, r4 /* 80082A98 0007F9F8 7F 39 1B 78 */ or r25, r25, r3 /* 80082A9C 0007F9FC 38 A0 00 03 */ li r5, 3 /* 80082AA0 0007FA00 38 00 00 00 */ li r0, 0 /* 80082AA4 0007FA04 90 A1 00 50 */ stw r5, 0x50(r1) /* 80082AA8 0007FA08 7F E3 FB 78 */ mr r3, r31 /* 80082AAC 0007FA0C 38 81 00 70 */ addi r4, r1, 0x70 /* 80082AB0 0007FA10 90 01 00 74 */ stw r0, 0x74(r1) /* 80082AB4 0007FA14 90 01 00 70 */ stw r0, 0x70(r1) /* 80082AB8 0007FA18 93 41 00 7C */ stw r26, 0x7c(r1) /* 80082ABC 0007FA1C 93 21 00 78 */ stw r25, 0x78(r1) /* 80082AC0 0007FA20 90 A1 00 80 */ stw r5, 0x80(r1) /* 80082AC4 0007FA24 4B FD 0D DD */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 80082AC8 0007FA28 7F E3 FB 78 */ mr r3, r31 /* 80082ACC 0007FA2C 7F C5 F3 78 */ mr r5, r30 /* 80082AD0 0007FA30 38 80 00 13 */ li r4, 0x13 /* 80082AD4 0007FA34 4B FD 14 AD */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80082AD8 0007FA38 48 00 00 20 */ b lbl_80082AF8 lbl_80082ADC: /* 80082ADC 0007FA3C A0 1F 04 6C */ lhz r0, 0x46c(r31) /* 80082AE0 0007FA40 7F C3 F3 78 */ mr r3, r30 /* 80082AE4 0007FA44 38 81 00 08 */ addi r4, r1, 8 /* 80082AE8 0007FA48 B0 01 00 08 */ sth r0, 8(r1) /* 80082AEC 0007FA4C 4B FC 97 81 */ bl FreeScriptObject__13CStateManagerF9TUniqueId /* 80082AF0 0007FA50 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80082AF4 0007FA54 B0 1F 04 6C */ sth r0, 0x46c(r31) lbl_80082AF8: /* 80082AF8 0007FA58 BB 21 00 E4 */ lmw r25, 0xe4(r1) /* 80082AFC 0007FA5C 80 01 01 04 */ lwz r0, 0x104(r1) /* 80082B00 0007FA60 7C 08 03 A6 */ mtlr r0 /* 80082B04 0007FA64 38 21 01 00 */ addi r1, r1, 0x100 /* 80082B08 0007FA68 4E 80 00 20 */ blr .global ProcessInput__11CBallCameraFRC11CFinalInputR13CStateManager ProcessInput__11CBallCameraFRC11CFinalInputR13CStateManager: /* 80082B0C 0007FA6C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80082B10 0007FA70 7C 08 02 A6 */ mflr r0 /* 80082B14 0007FA74 90 01 00 34 */ stw r0, 0x34(r1) /* 80082B18 0007FA78 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80082B1C 0007FA7C 7C BF 2B 78 */ mr r31, r5 /* 80082B20 0007FA80 93 C1 00 28 */ stw r30, 0x28(r1) /* 80082B24 0007FA84 7C 7E 1B 78 */ mr r30, r3 /* 80082B28 0007FA88 93 A1 00 24 */ stw r29, 0x24(r1) /* 80082B2C 0007FA8C 93 81 00 20 */ stw r28, 0x20(r1) /* 80082B30 0007FA90 7C 9C 23 78 */ mr r28, r4 /* 80082B34 0007FA94 80 04 00 04 */ lwz r0, 4(r4) /* 80082B38 0007FA98 2C 00 00 00 */ cmpwi r0, 0 /* 80082B3C 0007FA9C 40 82 01 40 */ bne lbl_80082C7C /* 80082B40 0007FAA0 A0 1E 00 E8 */ lhz r0, 0xe8(r30) /* 80082B44 0007FAA4 7F E3 FB 78 */ mr r3, r31 /* 80082B48 0007FAA8 38 81 00 0C */ addi r4, r1, 0xc /* 80082B4C 0007FAAC B0 01 00 08 */ sth r0, 8(r1) /* 80082B50 0007FAB0 B0 01 00 0C */ sth r0, 0xc(r1) /* 80082B54 0007FAB4 4B FC 9A 51 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80082B58 0007FAB8 7C 64 1B 78 */ mr r4, r3 /* 80082B5C 0007FABC 38 61 00 10 */ addi r3, r1, 0x10 /* 80082B60 0007FAC0 48 02 98 35 */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity" /* 80082B64 0007FAC4 83 A3 00 04 */ lwz r29, 4(r3) /* 80082B68 0007FAC8 28 1D 00 00 */ cmplwi r29, 0 /* 80082B6C 0007FACC 41 82 01 10 */ beq lbl_80082C7C /* 80082B70 0007FAD0 80 1D 02 F8 */ lwz r0, 0x2f8(r29) /* 80082B74 0007FAD4 2C 00 00 01 */ cmpwi r0, 1 /* 80082B78 0007FAD8 40 82 01 04 */ bne lbl_80082C7C /* 80082B7C 0007FADC 80 1E 04 00 */ lwz r0, 0x400(r30) /* 80082B80 0007FAE0 2C 00 00 02 */ cmpwi r0, 2 /* 80082B84 0007FAE4 41 82 00 28 */ beq lbl_80082BAC /* 80082B88 0007FAE8 40 80 00 10 */ bge lbl_80082B98 /* 80082B8C 0007FAEC 2C 00 00 00 */ cmpwi r0, 0 /* 80082B90 0007FAF0 41 82 00 74 */ beq lbl_80082C04 /* 80082B94 0007FAF4 48 00 00 A0 */ b lbl_80082C34 lbl_80082B98: /* 80082B98 0007FAF8 2C 00 00 06 */ cmpwi r0, 6 /* 80082B9C 0007FAFC 40 80 00 98 */ bge lbl_80082C34 /* 80082BA0 0007FB00 2C 00 00 04 */ cmpwi r0, 4 /* 80082BA4 0007FB04 40 80 00 90 */ bge lbl_80082C34 /* 80082BA8 0007FB08 48 00 00 38 */ b lbl_80082BE0 lbl_80082BAC: /* 80082BAC 0007FB0C 7F 84 E3 78 */ mr r4, r28 /* 80082BB0 0007FB10 38 60 00 31 */ li r3, 0x31 /* 80082BB4 0007FB14 4B F8 9C C1 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80082BB8 0007FB18 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80082BBC 0007FB1C 41 82 00 10 */ beq lbl_80082BCC /* 80082BC0 0007FB20 88 1D 03 DC */ lbz r0, 0x3dc(r29) /* 80082BC4 0007FB24 28 00 00 00 */ cmplwi r0, 0 /* 80082BC8 0007FB28 41 82 00 6C */ beq lbl_80082C34 lbl_80082BCC: /* 80082BCC 0007FB2C 7F C3 F3 78 */ mr r3, r30 /* 80082BD0 0007FB30 7F E5 FB 78 */ mr r5, r31 /* 80082BD4 0007FB34 38 80 00 00 */ li r4, 0 /* 80082BD8 0007FB38 48 00 00 C5 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80082BDC 0007FB3C 48 00 00 58 */ b lbl_80082C34 lbl_80082BE0: /* 80082BE0 0007FB40 80 7D 07 68 */ lwz r3, 0x768(r29) /* 80082BE4 0007FB44 88 03 1D E4 */ lbz r0, 0x1de4(r3) /* 80082BE8 0007FB48 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80082BEC 0007FB4C 40 82 00 48 */ bne lbl_80082C34 /* 80082BF0 0007FB50 7F C3 F3 78 */ mr r3, r30 /* 80082BF4 0007FB54 7F E5 FB 78 */ mr r5, r31 /* 80082BF8 0007FB58 38 80 00 00 */ li r4, 0 /* 80082BFC 0007FB5C 48 00 00 A1 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80082C00 0007FB60 48 00 00 34 */ b lbl_80082C34 lbl_80082C04: /* 80082C04 0007FB64 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80082C08 0007FB68 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80082C0C 0007FB6C 41 82 00 28 */ beq lbl_80082C34 /* 80082C10 0007FB70 7F 84 E3 78 */ mr r4, r28 /* 80082C14 0007FB74 38 60 00 31 */ li r3, 0x31 /* 80082C18 0007FB78 4B F8 9B B9 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80082C1C 0007FB7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80082C20 0007FB80 41 82 00 14 */ beq lbl_80082C34 /* 80082C24 0007FB84 7F C3 F3 78 */ mr r3, r30 /* 80082C28 0007FB88 7F E5 FB 78 */ mr r5, r31 /* 80082C2C 0007FB8C 38 80 00 02 */ li r4, 2 /* 80082C30 0007FB90 48 00 00 6D */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager lbl_80082C34: /* 80082C34 0007FB94 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80082C38 0007FB98 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80082C3C 0007FB9C 41 82 00 40 */ beq lbl_80082C7C /* 80082C40 0007FBA0 80 1E 04 00 */ lwz r0, 0x400(r30) /* 80082C44 0007FBA4 2C 00 00 03 */ cmpwi r0, 3 /* 80082C48 0007FBA8 41 82 00 34 */ beq lbl_80082C7C /* 80082C4C 0007FBAC 80 7D 07 68 */ lwz r3, 0x768(r29) /* 80082C50 0007FBB0 88 03 1D E4 */ lbz r0, 0x1de4(r3) /* 80082C54 0007FBB4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80082C58 0007FBB8 40 82 00 14 */ bne lbl_80082C6C /* 80082C5C 0007FBBC C0 23 1D E8 */ lfs f1, 0x1de8(r3) /* 80082C60 0007FBC0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80082C64 0007FBC4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80082C68 0007FBC8 40 81 00 14 */ ble lbl_80082C7C lbl_80082C6C: /* 80082C6C 0007FBCC 7F C3 F3 78 */ mr r3, r30 /* 80082C70 0007FBD0 7F E5 FB 78 */ mr r5, r31 /* 80082C74 0007FBD4 38 80 00 03 */ li r4, 3 /* 80082C78 0007FBD8 48 00 00 25 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager lbl_80082C7C: /* 80082C7C 0007FBDC 80 01 00 34 */ lwz r0, 0x34(r1) /* 80082C80 0007FBE0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80082C84 0007FBE4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80082C88 0007FBE8 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80082C8C 0007FBEC 83 81 00 20 */ lwz r28, 0x20(r1) /* 80082C90 0007FBF0 7C 08 03 A6 */ mtlr r0 /* 80082C94 0007FBF4 38 21 00 30 */ addi r1, r1, 0x30 /* 80082C98 0007FBF8 4E 80 00 20 */ blr .global SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager: /* 80082C9C 0007FBFC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80082CA0 0007FC00 7C 08 02 A6 */ mflr r0 /* 80082CA4 0007FC04 90 01 00 74 */ stw r0, 0x74(r1) /* 80082CA8 0007FC08 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80082CAC 0007FC0C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80082CB0 0007FC10 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80082CB4 0007FC14 93 C1 00 58 */ stw r30, 0x58(r1) /* 80082CB8 0007FC18 93 A1 00 54 */ stw r29, 0x54(r1) /* 80082CBC 0007FC1C 7C 9E 23 78 */ mr r30, r4 /* 80082CC0 0007FC20 7C 7D 1B 78 */ mr r29, r3 /* 80082CC4 0007FC24 2C 1E 00 04 */ cmpwi r30, 4 /* 80082CC8 0007FC28 7C BF 2B 78 */ mr r31, r5 /* 80082CCC 0007FC2C 41 82 00 2C */ beq lbl_80082CF8 /* 80082CD0 0007FC30 40 80 00 1C */ bge lbl_80082CEC /* 80082CD4 0007FC34 2C 1E 00 01 */ cmpwi r30, 1 /* 80082CD8 0007FC38 41 82 01 20 */ beq lbl_80082DF8 /* 80082CDC 0007FC3C 40 80 00 BC */ bge lbl_80082D98 /* 80082CE0 0007FC40 2C 1E 00 00 */ cmpwi r30, 0 /* 80082CE4 0007FC44 40 80 00 B4 */ bge lbl_80082D98 /* 80082CE8 0007FC48 48 00 01 10 */ b lbl_80082DF8 lbl_80082CEC: /* 80082CEC 0007FC4C 2C 1E 00 06 */ cmpwi r30, 6 /* 80082CF0 0007FC50 40 80 01 08 */ bge lbl_80082DF8 /* 80082CF4 0007FC54 48 00 00 B4 */ b lbl_80082DA8 lbl_80082CF8: /* 80082CF8 0007FC58 80 9F 08 70 */ lwz r4, 0x870(r31) /* 80082CFC 0007FC5C 38 61 00 1C */ addi r3, r1, 0x1c /* 80082D00 0007FC60 80 84 00 7C */ lwz r4, 0x7c(r4) /* 80082D04 0007FC64 38 84 00 34 */ addi r4, r4, 0x34 /* 80082D08 0007FC68 48 28 FE 6D */ bl __ct__12CTransform4fFRC12CTransform4f /* 80082D0C 0007FC6C 38 7D 00 34 */ addi r3, r29, 0x34 /* 80082D10 0007FC70 38 81 00 1C */ addi r4, r1, 0x1c /* 80082D14 0007FC74 48 28 FE 2D */ bl __as__12CTransform4fFRC12CTransform4f /* 80082D18 0007FC78 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80082D1C 0007FC7C 38 C0 00 01 */ li r6, 1 /* 80082D20 0007FC80 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b /* 80082D24 0007FC84 7F A3 EB 78 */ mr r3, r29 /* 80082D28 0007FC88 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80082D2C 0007FC8C 7F E5 FB 78 */ mr r5, r31 /* 80082D30 0007FC90 38 81 00 10 */ addi r4, r1, 0x10 /* 80082D34 0007FC94 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80082D38 0007FC98 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c /* 80082D3C 0007FC9C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80082D40 0007FCA0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80082D44 0007FCA4 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d /* 80082D48 0007FCA8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80082D4C 0007FCAC C0 41 00 28 */ lfs f2, 0x28(r1) /* 80082D50 0007FCB0 C0 21 00 38 */ lfs f1, 0x38(r1) /* 80082D54 0007FCB4 C0 01 00 48 */ lfs f0, 0x48(r1) /* 80082D58 0007FCB8 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80082D5C 0007FCBC D0 21 00 14 */ stfs f1, 0x14(r1) /* 80082D60 0007FCC0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80082D64 0007FCC4 48 00 9D B9 */ bl TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager /* 80082D68 0007FCC8 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80082D6C 0007FCCC 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80082D70 0007FCD0 C3 E3 01 5C */ lfs f31, 0x15c(r3) /* 80082D74 0007FCD4 4B F8 93 65 */ bl DefaultThirdPersonFov__14CCameraManagerFv /* 80082D78 0007FCD8 FC 40 08 90 */ fmr f2, f1 /* 80082D7C 0007FCDC C0 62 89 B8 */ lfs f3, lbl_805AA6D8@sda21(r2) /* 80082D80 0007FCE0 FC 20 F8 90 */ fmr f1, f31 /* 80082D84 0007FCE4 C0 82 89 B0 */ lfs f4, lbl_805AA6D0@sda21(r2) /* 80082D88 0007FCE8 7F A3 EB 78 */ mr r3, r29 /* 80082D8C 0007FCEC 4B FD 81 8D */ bl SetFovInterpolation__11CGameCameraFffff /* 80082D90 0007FCF0 38 00 00 00 */ li r0, 0 /* 80082D94 0007FCF4 90 1D 03 6C */ stw r0, 0x36c(r29) lbl_80082D98: /* 80082D98 0007FCF8 7F E3 FB 78 */ mr r3, r31 /* 80082D9C 0007FCFC 38 80 00 00 */ li r4, 0 /* 80082DA0 0007FD00 4B FC 11 B9 */ bl SetGameState__13CStateManagerFQ213CStateManager10EGameState /* 80082DA4 0007FD04 48 00 00 54 */ b lbl_80082DF8 lbl_80082DA8: /* 80082DA8 0007FD08 A0 1D 00 08 */ lhz r0, 8(r29) /* 80082DAC 0007FD0C 7F E4 FB 78 */ mr r4, r31 /* 80082DB0 0007FD10 38 A1 00 0C */ addi r5, r1, 0xc /* 80082DB4 0007FD14 B0 01 00 0C */ sth r0, 0xc(r1) /* 80082DB8 0007FD18 B0 01 00 08 */ sth r0, 8(r1) /* 80082DBC 0007FD1C 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80082DC0 0007FD20 4B F8 7A 89 */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId /* 80082DC4 0007FD24 7F E3 FB 78 */ mr r3, r31 /* 80082DC8 0007FD28 38 80 00 00 */ li r4, 0 /* 80082DCC 0007FD2C 4B FC 11 8D */ bl SetGameState__13CStateManagerFQ213CStateManager10EGameState /* 80082DD0 0007FD30 C3 FD 01 5C */ lfs f31, 0x15c(r29) /* 80082DD4 0007FD34 4B F8 92 FD */ bl DefaultFirstPersonFov__14CCameraManagerFv /* 80082DD8 0007FD38 FC 40 08 90 */ fmr f2, f1 /* 80082DDC 0007FD3C C0 62 89 B8 */ lfs f3, lbl_805AA6D8@sda21(r2) /* 80082DE0 0007FD40 FC 20 F8 90 */ fmr f1, f31 /* 80082DE4 0007FD44 C0 82 89 B0 */ lfs f4, lbl_805AA6D0@sda21(r2) /* 80082DE8 0007FD48 7F A3 EB 78 */ mr r3, r29 /* 80082DEC 0007FD4C 4B FD 81 2D */ bl SetFovInterpolation__11CGameCameraFffff /* 80082DF0 0007FD50 38 00 00 00 */ li r0, 0 /* 80082DF4 0007FD54 90 1D 03 6C */ stw r0, 0x36c(r29) lbl_80082DF8: /* 80082DF8 0007FD58 93 DD 04 00 */ stw r30, 0x400(r29) /* 80082DFC 0007FD5C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 80082E00 0007FD60 80 01 00 74 */ lwz r0, 0x74(r1) /* 80082E04 0007FD64 CB E1 00 60 */ lfd f31, 0x60(r1) /* 80082E08 0007FD68 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80082E0C 0007FD6C 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80082E10 0007FD70 83 A1 00 54 */ lwz r29, 0x54(r1) /* 80082E14 0007FD74 7C 08 03 A6 */ mtlr r0 /* 80082E18 0007FD78 38 21 00 70 */ addi r1, r1, 0x70 /* 80082E1C 0007FD7C 4E 80 00 20 */ blr .global Think__11CBallCameraFfR13CStateManager Think__11CBallCameraFfR13CStateManager: /* 80082E20 0007FD80 94 21 FF 00 */ stwu r1, -0x100(r1) /* 80082E24 0007FD84 7C 08 02 A6 */ mflr r0 /* 80082E28 0007FD88 90 01 01 04 */ stw r0, 0x104(r1) /* 80082E2C 0007FD8C 38 A1 00 10 */ addi r5, r1, 0x10 /* 80082E30 0007FD90 DB E1 00 F8 */ stfd f31, 0xf8(r1) /* 80082E34 0007FD94 FF E0 08 90 */ fmr f31, f1 /* 80082E38 0007FD98 93 E1 00 F4 */ stw r31, 0xf4(r1) /* 80082E3C 0007FD9C 7C 7F 1B 78 */ mr r31, r3 /* 80082E40 0007FDA0 93 C1 00 F0 */ stw r30, 0xf0(r1) /* 80082E44 0007FDA4 93 A1 00 EC */ stw r29, 0xec(r1) /* 80082E48 0007FDA8 7C 9D 23 78 */ mr r29, r4 /* 80082E4C 0007FDAC 7F A3 EB 78 */ mr r3, r29 /* 80082E50 0007FDB0 80 04 08 CC */ lwz r0, 0x8cc(r4) /* 80082E54 0007FDB4 7F E4 FB 78 */ mr r4, r31 /* 80082E58 0007FDB8 90 01 00 14 */ stw r0, 0x14(r1) /* 80082E5C 0007FDBC 90 01 00 10 */ stw r0, 0x10(r1) /* 80082E60 0007FDC0 4B FC 24 19 */ bl SetActorAreaId__13CStateManagerFR6CActor7TAreaId /* 80082E64 0007FDC4 FC 20 F8 90 */ fmr f1, f31 /* 80082E68 0007FDC8 7F E3 FB 78 */ mr r3, r31 /* 80082E6C 0007FDCC 7F A4 EB 78 */ mr r4, r29 /* 80082E70 0007FDD0 48 00 59 B9 */ bl UpdatePlayerMovement__11CBallCameraFfR13CStateManager /* 80082E74 0007FDD4 A0 1F 04 6C */ lhz r0, 0x46c(r31) /* 80082E78 0007FDD8 7F A3 EB 78 */ mr r3, r29 /* 80082E7C 0007FDDC 38 81 00 08 */ addi r4, r1, 8 /* 80082E80 0007FDE0 B0 01 00 08 */ sth r0, 8(r1) /* 80082E84 0007FDE4 4B FC 96 F1 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80082E88 0007FDE8 7C 64 1B 78 */ mr r4, r3 /* 80082E8C 0007FDEC 38 61 00 18 */ addi r3, r1, 0x18 /* 80082E90 0007FDF0 48 02 C4 BD */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80082E94 0007FDF4 83 C3 00 04 */ lwz r30, 4(r3) /* 80082E98 0007FDF8 28 1E 00 00 */ cmplwi r30, 0 /* 80082E9C 0007FDFC 41 82 00 1C */ beq lbl_80082EB8 /* 80082EA0 0007FE00 80 01 00 14 */ lwz r0, 0x14(r1) /* 80082EA4 0007FE04 7F A3 EB 78 */ mr r3, r29 /* 80082EA8 0007FE08 7F C4 F3 78 */ mr r4, r30 /* 80082EAC 0007FE0C 38 A1 00 0C */ addi r5, r1, 0xc /* 80082EB0 0007FE10 90 01 00 0C */ stw r0, 0xc(r1) /* 80082EB4 0007FE14 4B FC 23 C5 */ bl SetActorAreaId__13CStateManagerFR6CActor7TAreaId lbl_80082EB8: /* 80082EB8 0007FE18 80 7D 08 4C */ lwz r3, 0x84c(r29) /* 80082EBC 0007FE1C 80 03 02 F4 */ lwz r0, 0x2f4(r3) /* 80082EC0 0007FE20 2C 00 00 01 */ cmpwi r0, 1 /* 80082EC4 0007FE24 41 82 00 44 */ beq lbl_80082F08 /* 80082EC8 0007FE28 2C 00 00 03 */ cmpwi r0, 3 /* 80082ECC 0007FE2C 41 82 00 3C */ beq lbl_80082F08 /* 80082ED0 0007FE30 2C 00 00 02 */ cmpwi r0, 2 /* 80082ED4 0007FE34 41 82 00 34 */ beq lbl_80082F08 /* 80082ED8 0007FE38 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 80082EDC 0007FE3C 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80082EE0 0007FE40 40 82 00 28 */ bne lbl_80082F08 /* 80082EE4 0007FE44 28 1E 00 00 */ cmplwi r30, 0 /* 80082EE8 0007FE48 41 82 01 EC */ beq lbl_800830D4 /* 80082EEC 0007FE4C 7F C3 F3 78 */ mr r3, r30 /* 80082EF0 0007FE50 38 80 00 00 */ li r4, 0 /* 80082EF4 0007FE54 81 9E 00 00 */ lwz r12, 0(r30) /* 80082EF8 0007FE58 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80082EFC 0007FE5C 7D 89 03 A6 */ mtctr r12 /* 80082F00 0007FE60 4E 80 04 21 */ bctrl /* 80082F04 0007FE64 48 00 01 D0 */ b lbl_800830D4 lbl_80082F08: /* 80082F08 0007FE68 28 1E 00 00 */ cmplwi r30, 0 /* 80082F0C 0007FE6C 41 82 00 1C */ beq lbl_80082F28 /* 80082F10 0007FE70 7F C3 F3 78 */ mr r3, r30 /* 80082F14 0007FE74 38 80 00 01 */ li r4, 1 /* 80082F18 0007FE78 81 9E 00 00 */ lwz r12, 0(r30) /* 80082F1C 0007FE7C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 80082F20 0007FE80 7D 89 03 A6 */ mtctr r12 /* 80082F24 0007FE84 4E 80 04 21 */ bctrl lbl_80082F28: /* 80082F28 0007FE88 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80082F2C 0007FE8C 38 9F 00 34 */ addi r4, r31, 0x34 /* 80082F30 0007FE90 48 28 FC 45 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80082F34 0007FE94 80 7D 08 4C */ lwz r3, 0x84c(r29) /* 80082F38 0007FE98 80 03 09 D0 */ lwz r0, 0x9d0(r3) /* 80082F3C 0007FE9C 2C 00 00 01 */ cmpwi r0, 1 /* 80082F40 0007FEA0 41 82 00 14 */ beq lbl_80082F54 /* 80082F44 0007FEA4 FC 20 F8 90 */ fmr f1, f31 /* 80082F48 0007FEA8 7F E3 FB 78 */ mr r3, r31 /* 80082F4C 0007FEAC 7F A4 EB 78 */ mr r4, r29 /* 80082F50 0007FEB0 48 00 0B 15 */ bl UpdateLookAtPosition__11CBallCameraFfR13CStateManager lbl_80082F54: /* 80082F54 0007FEB4 FC 20 F8 90 */ fmr f1, f31 /* 80082F58 0007FEB8 7F E3 FB 78 */ mr r3, r31 /* 80082F5C 0007FEBC 7F A4 EB 78 */ mr r4, r29 /* 80082F60 0007FEC0 48 00 03 F9 */ bl CheckFailSafe__11CBallCameraFfR13CStateManager /* 80082F64 0007FEC4 7F E3 FB 78 */ mr r3, r31 /* 80082F68 0007FEC8 7F A4 EB 78 */ mr r4, r29 /* 80082F6C 0007FECC 48 00 69 91 */ bl UpdateObjectTooCloseId__11CBallCameraFR13CStateManager /* 80082F70 0007FED0 FC 20 F8 90 */ fmr f1, f31 /* 80082F74 0007FED4 7F E3 FB 78 */ mr r3, r31 /* 80082F78 0007FED8 48 00 1A 59 */ bl UpdateAnglePerSecond__11CBallCameraFf /* 80082F7C 0007FEDC 80 1F 04 00 */ lwz r0, 0x400(r31) /* 80082F80 0007FEE0 2C 00 00 01 */ cmpwi r0, 1 /* 80082F84 0007FEE4 41 82 00 D8 */ beq lbl_8008305C /* 80082F88 0007FEE8 40 80 00 10 */ bge lbl_80082F98 /* 80082F8C 0007FEEC 2C 00 00 00 */ cmpwi r0, 0 /* 80082F90 0007FEF0 40 80 00 18 */ bge lbl_80082FA8 /* 80082F94 0007FEF4 48 00 00 C8 */ b lbl_8008305C lbl_80082F98: /* 80082F98 0007FEF8 2C 00 00 06 */ cmpwi r0, 6 /* 80082F9C 0007FEFC 40 80 00 C0 */ bge lbl_8008305C /* 80082FA0 0007FF00 2C 00 00 04 */ cmpwi r0, 4 /* 80082FA4 0007FF04 40 80 00 A8 */ bge lbl_8008304C lbl_80082FA8: /* 80082FA8 0007FF08 80 1F 01 88 */ lwz r0, 0x188(r31) /* 80082FAC 0007FF0C 2C 00 00 06 */ cmpwi r0, 6 /* 80082FB0 0007FF10 41 82 00 54 */ beq lbl_80083004 /* 80082FB4 0007FF14 40 80 00 1C */ bge lbl_80082FD0 /* 80082FB8 0007FF18 2C 00 00 03 */ cmpwi r0, 3 /* 80082FBC 0007FF1C 41 82 00 A0 */ beq lbl_8008305C /* 80082FC0 0007FF20 40 80 00 30 */ bge lbl_80082FF0 /* 80082FC4 0007FF24 2C 00 00 00 */ cmpwi r0, 0 /* 80082FC8 0007FF28 40 80 00 3C */ bge lbl_80083004 /* 80082FCC 0007FF2C 48 00 00 90 */ b lbl_8008305C lbl_80082FD0: /* 80082FD0 0007FF30 2C 00 00 08 */ cmpwi r0, 8 /* 80082FD4 0007FF34 41 82 00 64 */ beq lbl_80083038 /* 80082FD8 0007FF38 40 80 00 84 */ bge lbl_8008305C /* 80082FDC 0007FF3C FC 20 F8 90 */ fmr f1, f31 /* 80082FE0 0007FF40 7F E3 FB 78 */ mr r3, r31 /* 80082FE4 0007FF44 7F A4 EB 78 */ mr r4, r29 /* 80082FE8 0007FF48 48 00 1C C1 */ bl UpdateUsingPathCameras__11CBallCameraFfR13CStateManager /* 80082FEC 0007FF4C 48 00 00 70 */ b lbl_8008305C lbl_80082FF0: /* 80082FF0 0007FF50 FC 20 F8 90 */ fmr f1, f31 /* 80082FF4 0007FF54 7F E3 FB 78 */ mr r3, r31 /* 80082FF8 0007FF58 7F A4 EB 78 */ mr r4, r29 /* 80082FFC 0007FF5C 48 00 0F FD */ bl UpdateUsingFixedCameras__11CBallCameraFfR13CStateManager /* 80083000 0007FF60 48 00 00 5C */ b lbl_8008305C lbl_80083004: /* 80083004 0007FF64 80 1F 03 6C */ lwz r0, 0x36c(r31) /* 80083008 0007FF68 2C 00 00 00 */ cmpwi r0, 0 /* 8008300C 0007FF6C 41 82 00 18 */ beq lbl_80083024 /* 80083010 0007FF70 FC 20 F8 90 */ fmr f1, f31 /* 80083014 0007FF74 7F E3 FB 78 */ mr r3, r31 /* 80083018 0007FF78 7F A4 EB 78 */ mr r4, r29 /* 8008301C 0007FF7C 48 00 3C B9 */ bl UpdateUsingFreeLook__11CBallCameraFfR13CStateManager /* 80083020 0007FF80 48 00 00 3C */ b lbl_8008305C lbl_80083024: /* 80083024 0007FF84 FC 20 F8 90 */ fmr f1, f31 /* 80083028 0007FF88 7F E3 FB 78 */ mr r3, r31 /* 8008302C 0007FF8C 7F A4 EB 78 */ mr r4, r29 /* 80083030 0007FF90 48 00 28 79 */ bl UpdateUsingColliders__11CBallCameraFfR13CStateManager /* 80083034 0007FF94 48 00 00 28 */ b lbl_8008305C lbl_80083038: /* 80083038 0007FF98 FC 20 F8 90 */ fmr f1, f31 /* 8008303C 0007FF9C 7F E3 FB 78 */ mr r3, r31 /* 80083040 0007FFA0 7F A4 EB 78 */ mr r4, r29 /* 80083044 0007FFA4 48 00 1C F1 */ bl UpdateUsingSpindleCameras__11CBallCameraFfR13CStateManager /* 80083048 0007FFA8 48 00 00 14 */ b lbl_8008305C lbl_8008304C: /* 8008304C 0007FFAC FC 20 F8 90 */ fmr f1, f31 /* 80083050 0007FFB0 7F E3 FB 78 */ mr r3, r31 /* 80083054 0007FFB4 7F A4 EB 78 */ mr r4, r29 /* 80083058 0007FFB8 48 00 1D 69 */ bl UpdateUsingTransitions__11CBallCameraFfR13CStateManager lbl_8008305C: /* 8008305C 0007FFBC FC 20 F8 90 */ fmr f1, f31 /* 80083060 0007FFC0 7F E4 FB 78 */ mr r4, r31 /* 80083064 0007FFC4 38 61 00 50 */ addi r3, r1, 0x50 /* 80083068 0007FFC8 38 A1 00 B0 */ addi r5, r1, 0xb0 /* 8008306C 0007FFCC 38 DF 00 34 */ addi r6, r31, 0x34 /* 80083070 0007FFD0 48 00 60 11 */ bl UpdateCameraPositions__11CBallCameraFfRC12CTransform4fRC12CTransform4f /* 80083074 0007FFD4 38 61 00 80 */ addi r3, r1, 0x80 /* 80083078 0007FFD8 38 81 00 50 */ addi r4, r1, 0x50 /* 8008307C 0007FFDC 48 28 FA F9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80083080 0007FFE0 7F E4 FB 78 */ mr r4, r31 /* 80083084 0007FFE4 38 61 00 20 */ addi r3, r1, 0x20 /* 80083088 0007FFE8 38 A1 00 80 */ addi r5, r1, 0x80 /* 8008308C 0007FFEC 38 C1 00 B0 */ addi r6, r1, 0xb0 /* 80083090 0007FFF0 4B FD 7F 31 */ bl ValidateCameraTransform__11CGameCameraFRC12CTransform4fRC12CTransform4f /* 80083094 0007FFF4 38 61 00 80 */ addi r3, r1, 0x80 /* 80083098 0007FFF8 38 81 00 20 */ addi r4, r1, 0x20 /* 8008309C 0007FFFC 48 28 FA A5 */ bl __as__12CTransform4fFRC12CTransform4f /* 800830A0 00080000 38 7F 00 34 */ addi r3, r31, 0x34 /* 800830A4 00080004 38 81 00 80 */ addi r4, r1, 0x80 /* 800830A8 00080008 48 28 FA 99 */ bl __as__12CTransform4fFRC12CTransform4f /* 800830AC 0008000C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 800830B0 00080010 38 60 00 01 */ li r3, 1 /* 800830B4 00080014 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 800830B8 00080018 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 800830BC 0008001C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 800830C0 00080020 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 800830C4 00080024 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 800830C8 00080028 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 800830CC 0008002C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 800830D0 00080030 98 1F 00 E4 */ stb r0, 0xe4(r31) lbl_800830D4: /* 800830D4 00080034 80 01 01 04 */ lwz r0, 0x104(r1) /* 800830D8 00080038 CB E1 00 F8 */ lfd f31, 0xf8(r1) /* 800830DC 0008003C 83 E1 00 F4 */ lwz r31, 0xf4(r1) /* 800830E0 00080040 83 C1 00 F0 */ lwz r30, 0xf0(r1) /* 800830E4 00080044 83 A1 00 EC */ lwz r29, 0xec(r1) /* 800830E8 00080048 7C 08 03 A6 */ mtlr r0 /* 800830EC 0008004C 38 21 01 00 */ addi r1, r1, 0x100 /* 800830F0 00080050 4E 80 00 20 */ blr .global DoorClosed__11CBallCameraF9TUniqueId DoorClosed__11CBallCameraF9TUniqueId: /* 800830F4 00080054 A0 84 00 00 */ lhz r4, 0(r4) /* 800830F8 00080058 A0 03 03 DC */ lhz r0, 0x3dc(r3) /* 800830FC 0008005C 7C 04 00 40 */ cmplw r4, r0 /* 80083100 00080060 4C 82 00 20 */ bnelr /* 80083104 00080064 88 03 01 8E */ lbz r0, 0x18e(r3) /* 80083108 00080068 38 80 00 01 */ li r4, 1 /* 8008310C 0008006C 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 80083110 00080070 98 03 01 8E */ stb r0, 0x18e(r3) /* 80083114 00080074 4E 80 00 20 */ blr .global DoorClosing__11CBallCameraF9TUniqueId DoorClosing__11CBallCameraF9TUniqueId: /* 80083118 00080078 A0 84 00 00 */ lhz r4, 0(r4) /* 8008311C 0008007C A0 03 03 DC */ lhz r0, 0x3dc(r3) /* 80083120 00080080 7C 04 00 40 */ cmplw r4, r0 /* 80083124 00080084 4C 82 00 20 */ bnelr /* 80083128 00080088 88 03 01 8E */ lbz r0, 0x18e(r3) /* 8008312C 0008008C 38 80 00 01 */ li r4, 1 /* 80083130 00080090 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 80083134 00080094 98 03 01 8E */ stb r0, 0x18e(r3) /* 80083138 00080098 4E 80 00 20 */ blr .global IsBallNearDoor__11CBallCameraCFRC9CVector3fR13CStateManager IsBallNearDoor__11CBallCameraCFRC9CVector3fR13CStateManager: /* 8008313C 0008009C 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 80083140 000800A0 7C 08 02 A6 */ mflr r0 /* 80083144 000800A4 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80083148 000800A8 93 E1 00 AC */ stw r31, 0xac(r1) /* 8008314C 000800AC 7C 9F 23 78 */ mr r31, r4 /* 80083150 000800B0 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 80083154 000800B4 7C 7E 1B 78 */ mr r30, r3 /* 80083158 000800B8 7F E3 FB 78 */ mr r3, r31 /* 8008315C 000800BC 93 A1 00 A4 */ stw r29, 0xa4(r1) /* 80083160 000800C0 80 A4 08 70 */ lwz r5, 0x870(r4) /* 80083164 000800C4 38 81 00 10 */ addi r4, r1, 0x10 /* 80083168 000800C8 80 A5 00 80 */ lwz r5, 0x80(r5) /* 8008316C 000800CC A0 05 03 DC */ lhz r0, 0x3dc(r5) /* 80083170 000800D0 B0 01 00 0C */ sth r0, 0xc(r1) /* 80083174 000800D4 B0 01 00 10 */ sth r0, 0x10(r1) /* 80083178 000800D8 4B FC 94 2D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8008317C 000800DC 7C 64 1B 78 */ mr r4, r3 /* 80083180 000800E0 38 61 00 20 */ addi r3, r1, 0x20 /* 80083184 000800E4 48 02 6F 6D */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 80083188 000800E8 83 A3 00 04 */ lwz r29, 4(r3) /* 8008318C 000800EC 28 1D 00 00 */ cmplwi r29, 0 /* 80083190 000800F0 41 82 00 14 */ beq lbl_800831A4 /* 80083194 000800F4 41 82 00 18 */ beq lbl_800831AC /* 80083198 000800F8 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8008319C 000800FC 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 800831A0 00080100 41 82 00 0C */ beq lbl_800831AC lbl_800831A4: /* 800831A4 00080104 38 60 00 00 */ li r3, 0 /* 800831A8 00080108 48 00 01 94 */ b lbl_8008333C lbl_800831AC: /* 800831AC 0008010C 7F A4 EB 78 */ mr r4, r29 /* 800831B0 00080110 38 61 00 50 */ addi r3, r1, 0x50 /* 800831B4 00080114 81 9D 00 00 */ lwz r12, 0(r29) /* 800831B8 00080118 81 8C 00 40 */ lwz r12, 0x40(r12) /* 800831BC 0008011C 7D 89 03 A6 */ mtctr r12 /* 800831C0 00080120 4E 80 04 21 */ bctrl /* 800831C4 00080124 88 01 00 68 */ lbz r0, 0x68(r1) /* 800831C8 00080128 28 00 00 00 */ cmplwi r0, 0 /* 800831CC 0008012C 98 01 00 9C */ stb r0, 0x9c(r1) /* 800831D0 00080130 41 82 00 3C */ beq lbl_8008320C /* 800831D4 00080134 34 61 00 84 */ addic. r3, r1, 0x84 /* 800831D8 00080138 41 82 00 34 */ beq lbl_8008320C /* 800831DC 0008013C C0 01 00 50 */ lfs f0, 0x50(r1) /* 800831E0 00080140 D0 03 00 00 */ stfs f0, 0(r3) /* 800831E4 00080144 C0 01 00 54 */ lfs f0, 0x54(r1) /* 800831E8 00080148 D0 03 00 04 */ stfs f0, 4(r3) /* 800831EC 0008014C C0 01 00 58 */ lfs f0, 0x58(r1) /* 800831F0 00080150 D0 03 00 08 */ stfs f0, 8(r3) /* 800831F4 00080154 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 800831F8 00080158 D0 03 00 0C */ stfs f0, 0xc(r3) /* 800831FC 0008015C C0 01 00 60 */ lfs f0, 0x60(r1) /* 80083200 00080160 D0 03 00 10 */ stfs f0, 0x10(r3) /* 80083204 00080164 C0 01 00 64 */ lfs f0, 0x64(r1) /* 80083208 00080168 D0 03 00 14 */ stfs f0, 0x14(r3) lbl_8008320C: /* 8008320C 0008016C C0 9E 00 04 */ lfs f4, 4(r30) /* 80083210 00080170 38 00 00 00 */ li r0, 0 /* 80083214 00080174 C0 62 89 C4 */ lfs f3, lbl_805AA6E4@sda21(r2) /* 80083218 00080178 38 61 00 6C */ addi r3, r1, 0x6c /* 8008321C 0008017C C0 5E 00 08 */ lfs f2, 8(r30) /* 80083220 00080180 38 81 00 44 */ addi r4, r1, 0x44 /* 80083224 00080184 C0 1E 00 00 */ lfs f0, 0(r30) /* 80083228 00080188 EC C4 18 28 */ fsubs f6, f4, f3 /* 8008322C 0008018C EC A2 18 28 */ fsubs f5, f2, f3 /* 80083230 00080190 98 01 00 68 */ stb r0, 0x68(r1) /* 80083234 00080194 EC 20 18 28 */ fsubs f1, f0, f3 /* 80083238 00080198 38 A1 00 38 */ addi r5, r1, 0x38 /* 8008323C 0008019C EC 84 18 2A */ fadds f4, f4, f3 /* 80083240 000801A0 EC 42 18 2A */ fadds f2, f2, f3 /* 80083244 000801A4 EC 00 18 2A */ fadds f0, f0, f3 /* 80083248 000801A8 D0 21 00 44 */ stfs f1, 0x44(r1) /* 8008324C 000801AC D0 C1 00 48 */ stfs f6, 0x48(r1) /* 80083250 000801B0 D0 A1 00 4C */ stfs f5, 0x4c(r1) /* 80083254 000801B4 D0 01 00 38 */ stfs f0, 0x38(r1) /* 80083258 000801B8 D0 81 00 3C */ stfs f4, 0x3c(r1) /* 8008325C 000801BC D0 41 00 40 */ stfs f2, 0x40(r1) /* 80083260 000801C0 48 2B 52 A9 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 80083264 000801C4 88 01 00 9C */ lbz r0, 0x9c(r1) /* 80083268 000801C8 28 00 00 00 */ cmplwi r0, 0 /* 8008326C 000801CC 41 82 00 18 */ beq lbl_80083284 /* 80083270 000801D0 38 61 00 84 */ addi r3, r1, 0x84 /* 80083274 000801D4 38 81 00 6C */ addi r4, r1, 0x6c /* 80083278 000801D8 48 2B 49 0D */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox /* 8008327C 000801DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083280 000801E0 40 82 00 14 */ bne lbl_80083294 lbl_80083284: /* 80083284 000801E4 38 00 00 00 */ li r0, 0 /* 80083288 000801E8 38 60 00 00 */ li r3, 0 /* 8008328C 000801EC 98 01 00 9C */ stb r0, 0x9c(r1) /* 80083290 000801F0 48 00 00 AC */ b lbl_8008333C lbl_80083294: /* 80083294 000801F4 A0 1D 02 82 */ lhz r0, 0x282(r29) /* 80083298 000801F8 7F E3 FB 78 */ mr r3, r31 /* 8008329C 000801FC 38 81 00 08 */ addi r4, r1, 8 /* 800832A0 00080200 B0 01 00 14 */ sth r0, 0x14(r1) /* 800832A4 00080204 B0 01 00 08 */ sth r0, 8(r1) /* 800832A8 00080208 4B FC 92 FD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 800832AC 0008020C 7C 64 1B 78 */ mr r4, r3 /* 800832B0 00080210 38 61 00 18 */ addi r3, r1, 0x18 /* 800832B4 00080214 48 02 71 51 */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity" /* 800832B8 00080218 80 83 00 04 */ lwz r4, 4(r3) /* 800832BC 0008021C 28 04 00 00 */ cmplwi r4, 0 /* 800832C0 00080220 40 82 00 14 */ bne lbl_800832D4 /* 800832C4 00080224 38 00 00 00 */ li r0, 0 /* 800832C8 00080228 38 60 00 00 */ li r3, 0 /* 800832CC 0008022C 98 01 00 9C */ stb r0, 0x9c(r1) /* 800832D0 00080230 48 00 00 6C */ b lbl_8008333C lbl_800832D4: /* 800832D4 00080234 7F E5 FB 78 */ mr r5, r31 /* 800832D8 00080238 38 61 00 28 */ addi r3, r1, 0x28 /* 800832DC 0008023C 48 04 06 AD */ bl GetPlane__11CScriptDockCFRC13CStateManager /* 800832E0 00080240 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 800832E4 00080244 C0 1E 00 04 */ lfs f0, 4(r30) /* 800832E8 00080248 C0 41 00 28 */ lfs f2, 0x28(r1) /* 800832EC 0008024C EC 01 00 32 */ fmuls f0, f1, f0 /* 800832F0 00080250 C0 3E 00 00 */ lfs f1, 0(r30) /* 800832F4 00080254 C0 81 00 30 */ lfs f4, 0x30(r1) /* 800832F8 00080258 C0 7E 00 08 */ lfs f3, 8(r30) /* 800832FC 0008025C EC 42 00 7A */ fmadds f2, f2, f1, f0 /* 80083300 00080260 C0 21 00 34 */ lfs f1, 0x34(r1) /* 80083304 00080264 C0 02 89 D4 */ lfs f0, lbl_805AA6F4@sda21(r2) /* 80083308 00080268 EC 44 10 FA */ fmadds f2, f4, f3, f2 /* 8008330C 0008026C EC 22 08 28 */ fsubs f1, f2, f1 /* 80083310 00080270 FC 20 0A 10 */ fabs f1, f1 /* 80083314 00080274 FC 20 08 18 */ frsp f1, f1 /* 80083318 00080278 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008331C 0008027C 40 80 00 14 */ bge lbl_80083330 /* 80083320 00080280 38 00 00 00 */ li r0, 0 /* 80083324 00080284 38 60 00 01 */ li r3, 1 /* 80083328 00080288 98 01 00 9C */ stb r0, 0x9c(r1) /* 8008332C 0008028C 48 00 00 10 */ b lbl_8008333C lbl_80083330: /* 80083330 00080290 38 00 00 00 */ li r0, 0 /* 80083334 00080294 38 60 00 00 */ li r3, 0 /* 80083338 00080298 98 01 00 9C */ stb r0, 0x9c(r1) lbl_8008333C: /* 8008333C 0008029C 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80083340 000802A0 83 E1 00 AC */ lwz r31, 0xac(r1) /* 80083344 000802A4 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 80083348 000802A8 83 A1 00 A4 */ lwz r29, 0xa4(r1) /* 8008334C 000802AC 7C 08 03 A6 */ mtlr r0 /* 80083350 000802B0 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80083354 000802B4 4E 80 00 20 */ blr .global CheckFailSafe__11CBallCameraFfR13CStateManager CheckFailSafe__11CBallCameraFfR13CStateManager: /* 80083358 000802B8 94 21 F6 C0 */ stwu r1, -0x940(r1) /* 8008335C 000802BC 7C 08 02 A6 */ mflr r0 /* 80083360 000802C0 90 01 09 44 */ stw r0, 0x944(r1) /* 80083364 000802C4 DB E1 09 30 */ stfd f31, 0x930(r1) /* 80083368 000802C8 F3 E1 09 38 */ psq_st f31, -1736(r1), 0, qr0 /* 8008336C 000802CC DB C1 09 20 */ stfd f30, 0x920(r1) /* 80083370 000802D0 F3 C1 09 28 */ psq_st f30, -1752(r1), 0, qr0 /* 80083374 000802D4 93 E1 09 1C */ stw r31, 0x91c(r1) /* 80083378 000802D8 93 C1 09 18 */ stw r30, 0x918(r1) /* 8008337C 000802DC 93 A1 09 14 */ stw r29, 0x914(r1) /* 80083380 000802E0 93 81 09 10 */ stw r28, 0x910(r1) /* 80083384 000802E4 7C 9E 23 78 */ mr r30, r4 /* 80083388 000802E8 FF E0 08 90 */ fmr f31, f1 /* 8008338C 000802EC 80 84 08 4C */ lwz r4, 0x84c(r4) /* 80083390 000802F0 7C 7D 1B 78 */ mr r29, r3 /* 80083394 000802F4 38 61 00 6C */ addi r3, r1, 0x6c /* 80083398 000802F8 48 20 19 B1 */ bl GetBallPosition__7CPlayerCFv /* 8008339C 000802FC C0 41 00 6C */ lfs f2, 0x6c(r1) /* 800833A0 00080300 38 61 00 90 */ addi r3, r1, 0x90 /* 800833A4 00080304 C0 21 00 70 */ lfs f1, 0x70(r1) /* 800833A8 00080308 C0 01 00 74 */ lfs f0, 0x74(r1) /* 800833AC 0008030C D0 41 00 9C */ stfs f2, 0x9c(r1) /* 800833B0 00080310 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 800833B4 00080314 D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 800833B8 00080318 88 9D 01 8C */ lbz r4, 0x18c(r29) /* 800833BC 0008031C 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 800833C0 00080320 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 800833C4 00080324 98 1D 01 8D */ stb r0, 0x18d(r29) /* 800833C8 00080328 C0 21 00 A0 */ lfs f1, 0xa0(r1) /* 800833CC 0008032C C0 1D 00 50 */ lfs f0, 0x50(r29) /* 800833D0 00080330 C0 61 00 A4 */ lfs f3, 0xa4(r1) /* 800833D4 00080334 EC 81 00 28 */ fsubs f4, f1, f0 /* 800833D8 00080338 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 800833DC 0008033C C0 1D 00 40 */ lfs f0, 0x40(r29) /* 800833E0 00080340 C0 21 00 9C */ lfs f1, 0x9c(r1) /* 800833E4 00080344 EC 43 10 28 */ fsubs f2, f3, f2 /* 800833E8 00080348 D0 81 00 94 */ stfs f4, 0x94(r1) /* 800833EC 0008034C EC 01 00 28 */ fsubs f0, f1, f0 /* 800833F0 00080350 D0 41 00 98 */ stfs f2, 0x98(r1) /* 800833F4 00080354 D0 01 00 90 */ stfs f0, 0x90(r1) /* 800833F8 00080358 48 29 14 C1 */ bl Magnitude__9CVector3fCFv /* 800833FC 0008035C FF C0 08 90 */ fmr f30, f1 /* 80083400 00080360 38 61 00 90 */ addi r3, r1, 0x90 /* 80083404 00080364 48 29 14 F5 */ bl Normalize__9CVector3fFv /* 80083408 00080368 38 00 00 00 */ li r0, 0 /* 8008340C 0008036C 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80083410 00080370 90 01 01 08 */ stw r0, 0x108(r1) /* 80083414 00080374 38 E3 C4 08 */ addi r7, r3, lbl_8046C408@l /* 80083418 00080378 FC 20 F0 90 */ fmr f1, f30 /* 8008341C 0008037C 7F C3 F3 78 */ mr r3, r30 /* 80083420 00080380 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 80083424 00080384 38 81 01 08 */ addi r4, r1, 0x108 /* 80083428 00080388 C0 5D 00 50 */ lfs f2, 0x50(r29) /* 8008342C 0008038C 38 A1 00 60 */ addi r5, r1, 0x60 /* 80083430 00080390 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80083434 00080394 38 C1 00 90 */ addi r6, r1, 0x90 /* 80083438 00080398 39 00 00 00 */ li r8, 0 /* 8008343C 0008039C D0 01 00 60 */ stfs f0, 0x60(r1) /* 80083440 000803A0 D0 41 00 64 */ stfs f2, 0x64(r1) /* 80083444 000803A4 D0 61 00 68 */ stfs f3, 0x68(r1) /* 80083448 000803A8 4B FC 92 91 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8008344C 000803AC C0 7D 00 60 */ lfs f3, 0x60(r29) /* 80083450 000803B0 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80083454 000803B4 C0 5D 00 50 */ lfs f2, 0x50(r29) /* 80083458 000803B8 FC 20 F0 90 */ fmr f1, f30 /* 8008345C 000803BC C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80083460 000803C0 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 80083464 000803C4 7F C4 F3 78 */ mr r4, r30 /* 80083468 000803C8 38 61 00 A8 */ addi r3, r1, 0xa8 /* 8008346C 000803CC D0 01 00 54 */ stfs f0, 0x54(r1) /* 80083470 000803D0 38 BD 03 68 */ addi r5, r29, 0x368 /* 80083474 000803D4 38 C1 00 54 */ addi r6, r1, 0x54 /* 80083478 000803D8 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8008347C 000803DC 38 E1 00 90 */ addi r7, r1, 0x90 /* 80083480 000803E0 39 21 01 08 */ addi r9, r1, 0x108 /* 80083484 000803E4 D0 61 00 5C */ stfs f3, 0x5c(r1) /* 80083488 000803E8 4B FC 9B 3D */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8008348C 000803EC 8B E1 00 C8 */ lbz r31, 0xc8(r1) /* 80083490 000803F0 C0 E1 00 A8 */ lfs f7, 0xa8(r1) /* 80083494 000803F4 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80083498 000803F8 C0 C1 00 AC */ lfs f6, 0xac(r1) /* 8008349C 000803FC C0 A1 00 B0 */ lfs f5, 0xb0(r1) /* 800834A0 00080400 C0 81 00 B4 */ lfs f4, 0xb4(r1) /* 800834A4 00080404 C0 61 00 B8 */ lfs f3, 0xb8(r1) /* 800834A8 00080408 C0 41 00 BC */ lfs f2, 0xbc(r1) /* 800834AC 0008040C C0 21 00 C0 */ lfs f1, 0xc0(r1) /* 800834B0 00080410 C0 01 00 C4 */ lfs f0, 0xc4(r1) /* 800834B4 00080414 80 01 00 D0 */ lwz r0, 0xd0(r1) /* 800834B8 00080418 80 61 00 D4 */ lwz r3, 0xd4(r1) /* 800834BC 0008041C D0 E1 00 D8 */ stfs f7, 0xd8(r1) /* 800834C0 00080420 D0 C1 00 DC */ stfs f6, 0xdc(r1) /* 800834C4 00080424 D0 A1 00 E0 */ stfs f5, 0xe0(r1) /* 800834C8 00080428 D0 81 00 E4 */ stfs f4, 0xe4(r1) /* 800834CC 0008042C D0 61 00 E8 */ stfs f3, 0xe8(r1) /* 800834D0 00080430 D0 41 00 EC */ stfs f2, 0xec(r1) /* 800834D4 00080434 D0 21 00 F0 */ stfs f1, 0xf0(r1) /* 800834D8 00080438 D0 01 00 F4 */ stfs f0, 0xf4(r1) /* 800834DC 0008043C 9B E1 00 F8 */ stb r31, 0xf8(r1) /* 800834E0 00080440 90 61 01 04 */ stw r3, 0x104(r1) /* 800834E4 00080444 90 01 01 00 */ stw r0, 0x100(r1) /* 800834E8 00080448 41 82 01 C4 */ beq lbl_800836AC /* 800834EC 0008044C 90 7D 03 54 */ stw r3, 0x354(r29) /* 800834F0 00080450 7F C3 F3 78 */ mr r3, r30 /* 800834F4 00080454 90 1D 03 50 */ stw r0, 0x350(r29) /* 800834F8 00080458 C0 41 00 9C */ lfs f2, 0x9c(r1) /* 800834FC 0008045C C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 80083500 00080460 C0 21 00 A4 */ lfs f1, 0xa4(r1) /* 80083504 00080464 D0 41 00 84 */ stfs f2, 0x84(r1) /* 80083508 00080468 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8008350C 0008046C D0 01 00 88 */ stfs f0, 0x88(r1) /* 80083510 00080470 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 80083514 00080474 C0 04 02 7C */ lfs f0, 0x27c(r4) /* 80083518 00080478 EC 01 00 2A */ fadds f0, f1, f0 /* 8008351C 0008047C D0 01 00 8C */ stfs f0, 0x8c(r1) /* 80083520 00080480 80 9E 08 4C */ lwz r4, 0x84c(r30) /* 80083524 00080484 C0 44 00 60 */ lfs f2, 0x60(r4) /* 80083528 00080488 C0 24 00 50 */ lfs f1, 0x50(r4) /* 8008352C 0008048C C0 04 00 40 */ lfs f0, 0x40(r4) /* 80083530 00080490 D0 01 00 78 */ stfs f0, 0x78(r1) /* 80083534 00080494 D0 21 00 7C */ stfs f1, 0x7c(r1) /* 80083538 00080498 D0 41 00 80 */ stfs f2, 0x80(r1) /* 8008353C 0008049C C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80083540 000804A0 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80083544 000804A4 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80083548 000804A8 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8008354C 000804AC D0 21 00 4C */ stfs f1, 0x4c(r1) /* 80083550 000804B0 D0 41 00 50 */ stfs f2, 0x50(r1) /* 80083554 000804B4 4B FC 09 E9 */ bl GetPlayer__13CStateManagerCFv /* 80083558 000804B8 3C 80 80 47 */ lis r4, lbl_8046C408@ha /* 8008355C 000804BC 7C 68 1B 78 */ mr r8, r3 /* 80083560 000804C0 38 E4 C4 08 */ addi r7, r4, lbl_8046C408@l /* 80083564 000804C4 7F C3 F3 78 */ mr r3, r30 /* 80083568 000804C8 38 81 00 48 */ addi r4, r1, 0x48 /* 8008356C 000804CC 38 A1 00 84 */ addi r5, r1, 0x84 /* 80083570 000804D0 38 C1 01 08 */ addi r6, r1, 0x108 /* 80083574 000804D4 4B FC 99 F9 */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 80083578 000804D8 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 8008357C 000804DC 7C 7C 1B 78 */ mr r28, r3 /* 80083580 000804E0 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80083584 000804E4 7F C3 F3 78 */ mr r3, r30 /* 80083588 000804E8 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 8008358C 000804EC D0 01 00 3C */ stfs f0, 0x3c(r1) /* 80083590 000804F0 D0 21 00 40 */ stfs f1, 0x40(r1) /* 80083594 000804F4 D0 41 00 44 */ stfs f2, 0x44(r1) /* 80083598 000804F8 4B FC 09 A5 */ bl GetPlayer__13CStateManagerCFv /* 8008359C 000804FC 3C 80 80 47 */ lis r4, lbl_8046C408@ha /* 800835A0 00080500 7C 68 1B 78 */ mr r8, r3 /* 800835A4 00080504 38 E4 C4 08 */ addi r7, r4, lbl_8046C408@l /* 800835A8 00080508 7F C3 F3 78 */ mr r3, r30 /* 800835AC 0008050C 38 81 00 3C */ addi r4, r1, 0x3c /* 800835B0 00080510 38 A1 00 78 */ addi r5, r1, 0x78 /* 800835B4 00080514 38 C1 01 08 */ addi r6, r1, 0x108 /* 800835B8 00080518 4B FC 99 B5 */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 800835BC 0008051C 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 800835C0 00080520 40 82 01 14 */ bne lbl_800836D4 /* 800835C4 00080524 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800835C8 00080528 40 82 01 0C */ bne lbl_800836D4 /* 800835CC 0008052C 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 800835D0 00080530 38 60 00 00 */ li r3, 0 /* 800835D4 00080534 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 800835D8 00080538 98 1D 01 8C */ stb r0, 0x18c(r29) /* 800835DC 0008053C 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 800835E0 00080540 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 800835E4 00080544 41 82 00 F0 */ beq lbl_800836D4 /* 800835E8 00080548 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 800835EC 0008054C 7F A3 EB 78 */ mr r3, r29 /* 800835F0 00080550 7F C4 F3 78 */ mr r4, r30 /* 800835F4 00080554 D0 1D 03 5C */ stfs f0, 0x35c(r29) /* 800835F8 00080558 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 800835FC 0008055C D0 1D 03 60 */ stfs f0, 0x360(r29) /* 80083600 00080560 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 80083604 00080564 D0 1D 03 64 */ stfs f0, 0x364(r29) /* 80083608 00080568 48 00 50 39 */ bl ShouldResetSpline__11CBallCameraCFR13CStateManager /* 8008360C 0008056C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083610 00080570 41 82 00 C4 */ beq lbl_800836D4 /* 80083614 00080574 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 80083618 00080578 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8008361C 0008057C 40 82 00 B8 */ bne lbl_800836D4 /* 80083620 00080580 80 1D 03 50 */ lwz r0, 0x350(r29) /* 80083624 00080584 38 80 00 00 */ li r4, 0 /* 80083628 00080588 80 BD 03 54 */ lwz r5, 0x354(r29) /* 8008362C 0008058C 3C 60 80 00 */ lis r3, 0x8000 /* 80083630 00080590 7C 00 20 38 */ and r0, r0, r4 /* 80083634 00080594 7C A3 18 38 */ and r3, r5, r3 /* 80083638 00080598 7C 63 22 78 */ xor r3, r3, r4 /* 8008363C 0008059C 7C 00 22 78 */ xor r0, r0, r4 /* 80083640 000805A0 7C 60 03 79 */ or. r0, r3, r0 /* 80083644 000805A4 41 82 00 90 */ beq lbl_800836D4 /* 80083648 000805A8 C0 21 00 A0 */ lfs f1, 0xa0(r1) /* 8008364C 000805AC 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80083650 000805B0 C0 62 89 B0 */ lfs f3, lbl_805AA6D0@sda21(r2) /* 80083654 000805B4 38 E3 C4 08 */ addi r7, r3, lbl_8046C408@l /* 80083658 000805B8 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 8008365C 000805BC 7F C3 F3 78 */ mr r3, r30 /* 80083660 000805C0 EC 81 18 2A */ fadds f4, f1, f3 /* 80083664 000805C4 C0 41 00 A4 */ lfs f2, 0xa4(r1) /* 80083668 000805C8 C0 22 89 D8 */ lfs f1, lbl_805AA6F8@sda21(r2) /* 8008366C 000805CC EC 00 18 2A */ fadds f0, f0, f3 /* 80083670 000805D0 38 81 00 9C */ addi r4, r1, 0x9c /* 80083674 000805D4 38 A1 00 30 */ addi r5, r1, 0x30 /* 80083678 000805D8 EC 22 08 2A */ fadds f1, f2, f1 /* 8008367C 000805DC D0 01 00 30 */ stfs f0, 0x30(r1) /* 80083680 000805E0 38 C1 01 08 */ addi r6, r1, 0x108 /* 80083684 000805E4 39 00 00 00 */ li r8, 0 /* 80083688 000805E8 D0 81 00 34 */ stfs f4, 0x34(r1) /* 8008368C 000805EC D0 21 00 38 */ stfs f1, 0x38(r1) /* 80083690 000805F0 4B FC 98 DD */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 80083694 000805F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083698 000805F8 41 82 00 3C */ beq lbl_800836D4 /* 8008369C 000805FC 7F A3 EB 78 */ mr r3, r29 /* 800836A0 00080600 7F C4 F3 78 */ mr r4, r30 /* 800836A4 00080604 48 00 3D 11 */ bl ResetSpline__11CBallCameraFR13CStateManager /* 800836A8 00080608 48 00 00 2C */ b lbl_800836D4 lbl_800836AC: /* 800836AC 0008060C 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 800836B0 00080610 38 60 00 01 */ li r3, 1 /* 800836B4 00080614 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 800836B8 00080618 38 80 00 01 */ li r4, 1 /* 800836BC 0008061C 98 1D 01 8C */ stb r0, 0x18c(r29) /* 800836C0 00080620 38 60 00 00 */ li r3, 0 /* 800836C4 00080624 80 AD 84 F8 */ lwz r5, lbl_805A70B8@sda21(r13) /* 800836C8 00080628 48 30 68 2D */ bl __shl2i /* 800836CC 0008062C 90 9D 03 54 */ stw r4, 0x354(r29) /* 800836D0 00080630 90 7D 03 50 */ stw r3, 0x350(r29) lbl_800836D4: /* 800836D4 00080634 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 800836D8 00080638 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 800836DC 0008063C 40 82 00 68 */ bne lbl_80083744 /* 800836E0 00080640 C0 1D 03 4C */ lfs f0, 0x34c(r29) /* 800836E4 00080644 7F A3 EB 78 */ mr r3, r29 /* 800836E8 00080648 7F C4 F3 78 */ mr r4, r30 /* 800836EC 0008064C EC 00 F8 2A */ fadds f0, f0, f31 /* 800836F0 00080650 D0 1D 03 4C */ stfs f0, 0x34c(r29) /* 800836F4 00080654 48 00 4F 4D */ bl ShouldResetSpline__11CBallCameraCFR13CStateManager /* 800836F8 00080658 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800836FC 0008065C 41 82 00 50 */ beq lbl_8008374C /* 80083700 00080660 88 1D 01 8E */ lbz r0, 0x18e(r29) /* 80083704 00080664 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80083708 00080668 40 82 00 44 */ bne lbl_8008374C /* 8008370C 0008066C 80 1D 03 50 */ lwz r0, 0x350(r29) /* 80083710 00080670 38 80 00 00 */ li r4, 0 /* 80083714 00080674 80 BD 03 54 */ lwz r5, 0x354(r29) /* 80083718 00080678 38 60 00 20 */ li r3, 0x20 /* 8008371C 0008067C 7C 00 20 38 */ and r0, r0, r4 /* 80083720 00080680 7C A3 18 38 */ and r3, r5, r3 /* 80083724 00080684 7C 63 22 78 */ xor r3, r3, r4 /* 80083728 00080688 7C 00 22 78 */ xor r0, r0, r4 /* 8008372C 0008068C 7C 60 03 79 */ or. r0, r3, r0 /* 80083730 00080690 41 82 00 1C */ beq lbl_8008374C /* 80083734 00080694 7F A3 EB 78 */ mr r3, r29 /* 80083738 00080698 7F C4 F3 78 */ mr r4, r30 /* 8008373C 0008069C 48 00 42 89 */ bl BuildSpline__11CBallCameraFR13CStateManager /* 80083740 000806A0 48 00 00 0C */ b lbl_8008374C lbl_80083744: /* 80083744 000806A4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80083748 000806A8 D0 1D 03 4C */ stfs f0, 0x34c(r29) lbl_8008374C: /* 8008374C 000806AC C0 3D 03 4C */ lfs f1, 0x34c(r29) /* 80083750 000806B0 38 81 00 08 */ addi r4, r1, 8 /* 80083754 000806B4 C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 80083758 000806B8 38 6D 84 FC */ addi r3, r13, lbl_805A70BC@sda21 /* 8008375C 000806BC 38 AD 85 00 */ addi r5, r13, lbl_805A70C0@sda21 /* 80083760 000806C0 EC 01 00 32 */ fmuls f0, f1, f0 /* 80083764 000806C4 D0 01 00 08 */ stfs f0, 8(r1) /* 80083768 000806C8 4B F8 8B 4D */ bl "Clamp__5CMathFRCfRCfRCf" /* 8008376C 000806CC C0 03 00 00 */ lfs f0, 0(r3) /* 80083770 000806D0 D0 1D 03 58 */ stfs f0, 0x358(r29) /* 80083774 000806D4 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 80083778 000806D8 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8008377C 000806DC 41 82 00 54 */ beq lbl_800837D0 /* 80083780 000806E0 C0 3D 03 4C */ lfs f1, 0x34c(r29) /* 80083784 000806E4 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 80083788 000806E8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008378C 000806EC 41 81 00 20 */ bgt lbl_800837AC /* 80083790 000806F0 A0 7D 03 DC */ lhz r3, 0x3dc(r29) /* 80083794 000806F4 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80083798 000806F8 7C 03 00 40 */ cmplw r3, r0 /* 8008379C 000806FC 41 82 00 34 */ beq lbl_800837D0 /* 800837A0 00080700 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 800837A4 00080704 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800837A8 00080708 40 81 00 28 */ ble lbl_800837D0 lbl_800837AC: /* 800837AC 0008070C 88 1D 01 8C */ lbz r0, 0x18c(r29) /* 800837B0 00080710 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 800837B4 00080714 40 82 00 1C */ bne lbl_800837D0 /* 800837B8 00080718 80 1D 03 6C */ lwz r0, 0x36c(r29) /* 800837BC 0008071C 2C 00 00 00 */ cmpwi r0, 0 /* 800837C0 00080720 40 82 00 10 */ bne lbl_800837D0 /* 800837C4 00080724 38 00 00 01 */ li r0, 1 /* 800837C8 00080728 98 1D 03 E4 */ stb r0, 0x3e4(r29) /* 800837CC 0008072C 48 00 00 0C */ b lbl_800837D8 lbl_800837D0: /* 800837D0 00080730 38 00 00 00 */ li r0, 0 /* 800837D4 00080734 98 1D 03 E4 */ stb r0, 0x3e4(r29) lbl_800837D8: /* 800837D8 00080738 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 800837DC 0008073C 38 61 00 24 */ addi r3, r1, 0x24 /* 800837E0 00080740 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 800837E4 00080744 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 800837E8 00080748 C0 41 00 A4 */ lfs f2, 0xa4(r1) /* 800837EC 0008074C EC 81 00 28 */ fsubs f4, f1, f0 /* 800837F0 00080750 C0 3D 00 40 */ lfs f1, 0x40(r29) /* 800837F4 00080754 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 800837F8 00080758 EC 43 10 28 */ fsubs f2, f3, f2 /* 800837FC 0008075C 8B 9D 03 E4 */ lbz r28, 0x3e4(r29) /* 80083800 00080760 EC 01 00 28 */ fsubs f0, f1, f0 /* 80083804 00080764 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 80083808 00080768 D0 41 00 20 */ stfs f2, 0x20(r1) /* 8008380C 0008076C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80083810 00080770 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80083814 00080774 D0 81 00 28 */ stfs f4, 0x28(r1) /* 80083818 00080778 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 8008381C 0008077C 48 29 10 9D */ bl Magnitude__9CVector3fCFv /* 80083820 00080780 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80083824 00080784 C0 42 89 C4 */ lfs f2, lbl_805AA6E4@sda21(r2) /* 80083828 00080788 C0 03 02 7C */ lfs f0, 0x27c(r3) /* 8008382C 0008078C EC 02 00 2A */ fadds f0, f2, f0 /* 80083830 00080790 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80083834 00080794 40 80 00 08 */ bge lbl_8008383C /* 80083838 00080798 3B 80 00 01 */ li r28, 1 lbl_8008383C: /* 8008383C 0008079C 88 9D 01 8E */ lbz r4, 0x18e(r29) /* 80083840 000807A0 54 80 E7 FF */ rlwinm. r0, r4, 0x1c, 0x1f, 0x1f /* 80083844 000807A4 41 82 00 1C */ beq lbl_80083860 /* 80083848 000807A8 38 60 00 00 */ li r3, 0 /* 8008384C 000807AC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80083850 000807B0 50 64 26 F6 */ rlwimi r4, r3, 4, 0x1b, 0x1b /* 80083854 000807B4 98 9D 01 8E */ stb r4, 0x18e(r29) /* 80083858 000807B8 41 82 00 08 */ beq lbl_80083860 /* 8008385C 000807BC 3B 80 00 01 */ li r28, 1 lbl_80083860: /* 80083860 000807C0 88 7D 01 8E */ lbz r3, 0x18e(r29) /* 80083864 000807C4 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f /* 80083868 000807C8 41 82 00 40 */ beq lbl_800838A8 /* 8008386C 000807CC 38 00 00 00 */ li r0, 0 /* 80083870 000807D0 7F C4 F3 78 */ mr r4, r30 /* 80083874 000807D4 50 03 1F 38 */ rlwimi r3, r0, 3, 0x1c, 0x1c /* 80083878 000807D8 98 7D 01 8E */ stb r3, 0x18e(r29) /* 8008387C 000807DC 38 61 00 0C */ addi r3, r1, 0xc /* 80083880 000807E0 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80083884 000807E4 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80083888 000807E8 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 8008388C 000807EC D0 01 00 0C */ stfs f0, 0xc(r1) /* 80083890 000807F0 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80083894 000807F4 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80083898 000807F8 4B FF F8 A5 */ bl IsBallNearDoor__11CBallCameraCFRC9CVector3fR13CStateManager /* 8008389C 000807FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800838A0 00080800 41 82 00 08 */ beq lbl_800838A8 /* 800838A4 00080804 3B 80 00 01 */ li r28, 1 lbl_800838A8: /* 800838A8 00080808 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 800838AC 0008080C 41 82 00 14 */ beq lbl_800838C0 /* 800838B0 00080810 FC 20 F8 90 */ fmr f1, f31 /* 800838B4 00080814 7F A3 EB 78 */ mr r3, r29 /* 800838B8 00080818 7F C4 F3 78 */ mr r4, r30 /* 800838BC 0008081C 48 00 00 89 */ bl ActivateFailSafe__11CBallCameraFfR13CStateManager lbl_800838C0: /* 800838C0 00080820 80 A1 01 08 */ lwz r5, 0x108(r1) /* 800838C4 00080824 38 60 00 00 */ li r3, 0 /* 800838C8 00080828 2C 05 00 00 */ cmpwi r5, 0 /* 800838CC 0008082C 40 81 00 40 */ ble lbl_8008390C /* 800838D0 00080830 2C 05 00 08 */ cmpwi r5, 8 /* 800838D4 00080834 38 85 FF F8 */ addi r4, r5, -8 /* 800838D8 00080838 40 81 00 20 */ ble lbl_800838F8 /* 800838DC 0008083C 38 04 00 07 */ addi r0, r4, 7 /* 800838E0 00080840 54 00 E8 FE */ srwi r0, r0, 3 /* 800838E4 00080844 7C 09 03 A6 */ mtctr r0 /* 800838E8 00080848 2C 04 00 00 */ cmpwi r4, 0 /* 800838EC 0008084C 40 81 00 0C */ ble lbl_800838F8 lbl_800838F0: /* 800838F0 00080850 38 63 00 08 */ addi r3, r3, 8 /* 800838F4 00080854 42 00 FF FC */ bdnz lbl_800838F0 lbl_800838F8: /* 800838F8 00080858 7C 03 28 50 */ subf r0, r3, r5 /* 800838FC 0008085C 7C 09 03 A6 */ mtctr r0 /* 80083900 00080860 7C 03 28 00 */ cmpw r3, r5 /* 80083904 00080864 40 80 00 08 */ bge lbl_8008390C lbl_80083908: /* 80083908 00080868 42 00 00 00 */ bdnz lbl_80083908 lbl_8008390C: /* 8008390C 0008086C 38 00 00 00 */ li r0, 0 /* 80083910 00080870 90 01 01 08 */ stw r0, 0x108(r1) /* 80083914 00080874 E3 E1 09 38 */ psq_l f31, -1736(r1), 0, qr0 /* 80083918 00080878 CB E1 09 30 */ lfd f31, 0x930(r1) /* 8008391C 0008087C E3 C1 09 28 */ psq_l f30, -1752(r1), 0, qr0 /* 80083920 00080880 CB C1 09 20 */ lfd f30, 0x920(r1) /* 80083924 00080884 83 E1 09 1C */ lwz r31, 0x91c(r1) /* 80083928 00080888 83 C1 09 18 */ lwz r30, 0x918(r1) /* 8008392C 0008088C 83 A1 09 14 */ lwz r29, 0x914(r1) /* 80083930 00080890 80 01 09 44 */ lwz r0, 0x944(r1) /* 80083934 00080894 83 81 09 10 */ lwz r28, 0x910(r1) /* 80083938 00080898 7C 08 03 A6 */ mtlr r0 /* 8008393C 0008089C 38 21 09 40 */ addi r1, r1, 0x940 /* 80083940 000808A0 4E 80 00 20 */ blr .global ActivateFailSafe__11CBallCameraFfR13CStateManager ActivateFailSafe__11CBallCameraFfR13CStateManager: /* 80083944 000808A4 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 80083948 000808A8 7C 08 02 A6 */ mflr r0 /* 8008394C 000808AC 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80083950 000808B0 38 A1 00 14 */ addi r5, r1, 0x14 /* 80083954 000808B4 93 E1 00 AC */ stw r31, 0xac(r1) /* 80083958 000808B8 7C 9F 23 78 */ mr r31, r4 /* 8008395C 000808BC 7F E6 FB 78 */ mr r6, r31 /* 80083960 000808C0 38 81 00 10 */ addi r4, r1, 0x10 /* 80083964 000808C4 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 80083968 000808C8 7C 7E 1B 78 */ mr r30, r3 /* 8008396C 000808CC C0 03 01 90 */ lfs f0, 0x190(r3) /* 80083970 000808D0 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80083974 000808D4 C0 03 01 A0 */ lfs f0, 0x1a0(r3) /* 80083978 000808D8 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8008397C 000808DC 48 00 5D 51 */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80083980 000808E0 81 1F 08 4C */ lwz r8, 0x84c(r31) /* 80083984 000808E4 7F C4 F3 78 */ mr r4, r30 /* 80083988 000808E8 C0 21 00 14 */ lfs f1, 0x14(r1) /* 8008398C 000808EC 7F E6 FB 78 */ mr r6, r31 /* 80083990 000808F0 80 E8 05 0C */ lwz r7, 0x50c(r8) /* 80083994 000808F4 38 61 00 24 */ addi r3, r1, 0x24 /* 80083998 000808F8 80 08 05 10 */ lwz r0, 0x510(r8) /* 8008399C 000808FC 38 A1 00 18 */ addi r5, r1, 0x18 /* 800839A0 00080900 C0 41 00 10 */ lfs f2, 0x10(r1) /* 800839A4 00080904 90 E1 00 18 */ stw r7, 0x18(r1) /* 800839A8 00080908 38 E0 00 01 */ li r7, 1 /* 800839AC 0008090C 90 01 00 1C */ stw r0, 0x1c(r1) /* 800839B0 00080910 80 08 05 14 */ lwz r0, 0x514(r8) /* 800839B4 00080914 90 01 00 20 */ stw r0, 0x20(r1) /* 800839B8 00080918 48 00 62 FD */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 800839BC 0008091C C0 41 00 24 */ lfs f2, 0x24(r1) /* 800839C0 00080920 7F C3 F3 78 */ mr r3, r30 /* 800839C4 00080924 C0 21 00 28 */ lfs f1, 0x28(r1) /* 800839C8 00080928 38 81 00 30 */ addi r4, r1, 0x30 /* 800839CC 0008092C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 800839D0 00080930 D0 41 00 30 */ stfs f2, 0x30(r1) /* 800839D4 00080934 D0 21 00 34 */ stfs f1, 0x34(r1) /* 800839D8 00080938 D0 01 00 38 */ stfs f0, 0x38(r1) /* 800839DC 0008093C 4B FC F4 B1 */ bl SetTranslation__6CActorFRC9CVector3f /* 800839E0 00080940 7F C3 F3 78 */ mr r3, r30 /* 800839E4 00080944 7F E4 FB 78 */ mr r4, r31 /* 800839E8 00080948 48 00 90 A9 */ bl ResetPosition__11CBallCameraFR13CStateManager /* 800839EC 0008094C 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 800839F0 00080950 38 61 00 3C */ addi r3, r1, 0x3c /* 800839F4 00080954 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 800839F8 00080958 38 BE 01 D8 */ addi r5, r30, 0x1d8 /* 800839FC 0008095C 38 81 00 30 */ addi r4, r1, 0x30 /* 80083A00 00080960 48 29 01 11 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80083A04 00080964 38 61 00 6C */ addi r3, r1, 0x6c /* 80083A08 00080968 38 81 00 3C */ addi r4, r1, 0x3c /* 80083A0C 0008096C 48 28 F1 69 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80083A10 00080970 7F C3 F3 78 */ mr r3, r30 /* 80083A14 00080974 7F E5 FB 78 */ mr r5, r31 /* 80083A18 00080978 38 81 00 6C */ addi r4, r1, 0x6c /* 80083A1C 0008097C 48 00 8F DD */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 80083A20 00080980 A0 1E 00 08 */ lhz r0, 8(r30) /* 80083A24 00080984 7F E4 FB 78 */ mr r4, r31 /* 80083A28 00080988 38 A1 00 0C */ addi r5, r1, 0xc /* 80083A2C 0008098C B0 01 00 0C */ sth r0, 0xc(r1) /* 80083A30 00080990 B0 01 00 08 */ sth r0, 8(r1) /* 80083A34 00080994 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80083A38 00080998 4B F8 6E 11 */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId /* 80083A3C 0008099C 38 00 00 00 */ li r0, 0 /* 80083A40 000809A0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80083A44 000809A4 98 1E 03 E4 */ stb r0, 0x3e4(r30) /* 80083A48 000809A8 D0 1E 03 4C */ stfs f0, 0x34c(r30) /* 80083A4C 000809AC 83 E1 00 AC */ lwz r31, 0xac(r1) /* 80083A50 000809B0 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 80083A54 000809B4 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80083A58 000809B8 7C 08 03 A6 */ mtlr r0 /* 80083A5C 000809BC 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80083A60 000809C0 4E 80 00 20 */ blr .global UpdateLookAtPosition__11CBallCameraFfR13CStateManager UpdateLookAtPosition__11CBallCameraFfR13CStateManager: /* 80083A64 000809C4 94 21 FE 40 */ stwu r1, -0x1c0(r1) /* 80083A68 000809C8 7C 08 02 A6 */ mflr r0 /* 80083A6C 000809CC 90 01 01 C4 */ stw r0, 0x1c4(r1) /* 80083A70 000809D0 DB E1 01 B0 */ stfd f31, 0x1b0(r1) /* 80083A74 000809D4 F3 E1 01 B8 */ psq_st f31, 440(r1), 0, qr0 /* 80083A78 000809D8 DB C1 01 A0 */ stfd f30, 0x1a0(r1) /* 80083A7C 000809DC F3 C1 01 A8 */ psq_st f30, 424(r1), 0, qr0 /* 80083A80 000809E0 DB A1 01 90 */ stfd f29, 0x190(r1) /* 80083A84 000809E4 F3 A1 01 98 */ psq_st f29, 408(r1), 0, qr0 /* 80083A88 000809E8 DB 81 01 80 */ stfd f28, 0x180(r1) /* 80083A8C 000809EC F3 81 01 88 */ psq_st f28, 392(r1), 0, qr0 /* 80083A90 000809F0 DB 61 01 70 */ stfd f27, 0x170(r1) /* 80083A94 000809F4 F3 61 01 78 */ psq_st f27, 376(r1), 0, qr0 /* 80083A98 000809F8 DB 41 01 60 */ stfd f26, 0x160(r1) /* 80083A9C 000809FC F3 41 01 68 */ psq_st f26, 360(r1), 0, qr0 /* 80083AA0 00080A00 DB 21 01 50 */ stfd f25, 0x150(r1) /* 80083AA4 00080A04 F3 21 01 58 */ psq_st f25, 344(r1), 0, qr0 /* 80083AA8 00080A08 DB 01 01 40 */ stfd f24, 0x140(r1) /* 80083AAC 00080A0C F3 01 01 48 */ psq_st f24, 328(r1), 0, qr0 /* 80083AB0 00080A10 DA E1 01 30 */ stfd f23, 0x130(r1) /* 80083AB4 00080A14 F2 E1 01 38 */ psq_st f23, 312(r1), 0, qr0 /* 80083AB8 00080A18 DA C1 01 20 */ stfd f22, 0x120(r1) /* 80083ABC 00080A1C F2 C1 01 28 */ psq_st f22, 296(r1), 0, qr0 /* 80083AC0 00080A20 DA A1 01 10 */ stfd f21, 0x110(r1) /* 80083AC4 00080A24 F2 A1 01 18 */ psq_st f21, 280(r1), 0, qr0 /* 80083AC8 00080A28 DA 81 01 00 */ stfd f20, 0x100(r1) /* 80083ACC 00080A2C F2 81 01 08 */ psq_st f20, 264(r1), 0, qr0 /* 80083AD0 00080A30 93 E1 00 FC */ stw r31, 0xfc(r1) /* 80083AD4 00080A34 93 C1 00 F8 */ stw r30, 0xf8(r1) /* 80083AD8 00080A38 93 A1 00 F4 */ stw r29, 0xf4(r1) /* 80083ADC 00080A3C 7C 7E 1B 78 */ mr r30, r3 /* 80083AE0 00080A40 7C 9F 23 78 */ mr r31, r4 /* 80083AE4 00080A44 A0 03 00 E8 */ lhz r0, 0xe8(r3) /* 80083AE8 00080A48 FE C0 08 90 */ fmr f22, f1 /* 80083AEC 00080A4C 7F E3 FB 78 */ mr r3, r31 /* 80083AF0 00080A50 38 81 00 0C */ addi r4, r1, 0xc /* 80083AF4 00080A54 B0 01 00 08 */ sth r0, 8(r1) /* 80083AF8 00080A58 B0 01 00 0C */ sth r0, 0xc(r1) /* 80083AFC 00080A5C 4B FC 8A A9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80083B00 00080A60 7C 64 1B 78 */ mr r4, r3 /* 80083B04 00080A64 38 61 00 14 */ addi r3, r1, 0x14 /* 80083B08 00080A68 48 02 88 8D */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity" /* 80083B0C 00080A6C 83 A3 00 04 */ lwz r29, 4(r3) /* 80083B10 00080A70 28 1D 00 00 */ cmplwi r29, 0 /* 80083B14 00080A74 41 82 04 68 */ beq lbl_80083F7C /* 80083B18 00080A78 7F A4 EB 78 */ mr r4, r29 /* 80083B1C 00080A7C 38 61 00 28 */ addi r3, r1, 0x28 /* 80083B20 00080A80 48 20 12 29 */ bl GetBallPosition__7CPlayerCFv /* 80083B24 00080A84 C3 E1 00 28 */ lfs f31, 0x28(r1) /* 80083B28 00080A88 7F A3 EB 78 */ mr r3, r29 /* 80083B2C 00080A8C C3 C1 00 2C */ lfs f30, 0x2c(r1) /* 80083B30 00080A90 C3 A1 00 30 */ lfs f29, 0x30(r1) /* 80083B34 00080A94 4B F9 66 E1 */ bl IsMorphBallTransitioning__7CPlayerCFv /* 80083B38 00080A98 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083B3C 00080A9C 41 82 00 54 */ beq lbl_80083B90 /* 80083B40 00080AA0 D3 FE 01 D8 */ stfs f31, 0x1d8(r30) /* 80083B44 00080AA4 D3 DE 01 DC */ stfs f30, 0x1dc(r30) /* 80083B48 00080AA8 D3 BE 01 E0 */ stfs f29, 0x1e0(r30) /* 80083B4C 00080AAC C0 3E 01 E0 */ lfs f1, 0x1e0(r30) /* 80083B50 00080AB0 C0 1E 01 BC */ lfs f0, 0x1bc(r30) /* 80083B54 00080AB4 EC 01 00 2A */ fadds f0, f1, f0 /* 80083B58 00080AB8 D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083B5C 00080ABC C0 1E 01 D8 */ lfs f0, 0x1d8(r30) /* 80083B60 00080AC0 D0 1E 01 C0 */ stfs f0, 0x1c0(r30) /* 80083B64 00080AC4 C0 1E 01 DC */ lfs f0, 0x1dc(r30) /* 80083B68 00080AC8 D0 1E 01 C4 */ stfs f0, 0x1c4(r30) /* 80083B6C 00080ACC C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083B70 00080AD0 D0 1E 01 C8 */ stfs f0, 0x1c8(r30) /* 80083B74 00080AD4 C0 1E 01 D8 */ lfs f0, 0x1d8(r30) /* 80083B78 00080AD8 D0 1E 01 CC */ stfs f0, 0x1cc(r30) /* 80083B7C 00080ADC C0 1E 01 DC */ lfs f0, 0x1dc(r30) /* 80083B80 00080AE0 D0 1E 01 D0 */ stfs f0, 0x1d0(r30) /* 80083B84 00080AE4 C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083B88 00080AE8 D0 1E 01 D4 */ stfs f0, 0x1d4(r30) /* 80083B8C 00080AEC 48 00 03 F0 */ b lbl_80083F7C lbl_80083B90: /* 80083B90 00080AF0 C0 1D 05 0C */ lfs f0, 0x50c(r29) /* 80083B94 00080AF4 38 61 00 4C */ addi r3, r1, 0x4c /* 80083B98 00080AF8 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 80083B9C 00080AFC C0 1D 05 10 */ lfs f0, 0x510(r29) /* 80083BA0 00080B00 D0 01 00 50 */ stfs f0, 0x50(r1) /* 80083BA4 00080B04 C0 1D 05 14 */ lfs f0, 0x514(r29) /* 80083BA8 00080B08 D0 01 00 54 */ stfs f0, 0x54(r1) /* 80083BAC 00080B0C 48 29 0D 4D */ bl Normalize__9CVector3fFv /* 80083BB0 00080B10 C0 7E 03 08 */ lfs f3, 0x308(r30) /* 80083BB4 00080B14 C0 3E 01 B8 */ lfs f1, 0x1b8(r30) /* 80083BB8 00080B18 C0 1E 01 B4 */ lfs f0, 0x1b4(r30) /* 80083BBC 00080B1C C0 5E 01 BC */ lfs f2, 0x1bc(r30) /* 80083BC0 00080B20 EC 23 00 72 */ fmuls f1, f3, f1 /* 80083BC4 00080B24 EC 03 00 32 */ fmuls f0, f3, f0 /* 80083BC8 00080B28 D0 41 00 48 */ stfs f2, 0x48(r1) /* 80083BCC 00080B2C D0 01 00 40 */ stfs f0, 0x40(r1) /* 80083BD0 00080B30 D0 21 00 44 */ stfs f1, 0x44(r1) /* 80083BD4 00080B34 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80083BD8 00080B38 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80083BDC 00080B3C 41 82 00 40 */ beq lbl_80083C1C /* 80083BE0 00080B40 80 1E 04 00 */ lwz r0, 0x400(r30) /* 80083BE4 00080B44 2C 00 00 02 */ cmpwi r0, 2 /* 80083BE8 00080B48 41 82 00 10 */ beq lbl_80083BF8 /* 80083BEC 00080B4C 80 1E 01 88 */ lwz r0, 0x188(r30) /* 80083BF0 00080B50 2C 00 00 01 */ cmpwi r0, 1 /* 80083BF4 00080B54 40 82 00 28 */ bne lbl_80083C1C lbl_80083BF8: /* 80083BF8 00080B58 C0 7E 03 08 */ lfs f3, 0x308(r30) /* 80083BFC 00080B5C C0 3E 04 14 */ lfs f1, 0x414(r30) /* 80083C00 00080B60 C0 1E 04 10 */ lfs f0, 0x410(r30) /* 80083C04 00080B64 C0 5E 04 18 */ lfs f2, 0x418(r30) /* 80083C08 00080B68 EC 23 00 72 */ fmuls f1, f3, f1 /* 80083C0C 00080B6C EC 03 00 32 */ fmuls f0, f3, f0 /* 80083C10 00080B70 D0 41 00 48 */ stfs f2, 0x48(r1) /* 80083C14 00080B74 D0 01 00 40 */ stfs f0, 0x40(r1) /* 80083C18 00080B78 D0 21 00 44 */ stfs f1, 0x44(r1) lbl_80083C1C: /* 80083C1C 00080B7C 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80083C20 00080B80 4B F8 6C B5 */ bl IsInterpolationCameraActive__14CCameraManagerCFv /* 80083C24 00080B84 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083C28 00080B88 41 82 00 18 */ beq lbl_80083C40 /* 80083C2C 00080B8C C0 3E 01 BC */ lfs f1, 0x1bc(r30) /* 80083C30 00080B90 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80083C34 00080B94 D0 21 00 48 */ stfs f1, 0x48(r1) /* 80083C38 00080B98 D0 01 00 40 */ stfs f0, 0x40(r1) /* 80083C3C 00080B9C D0 01 00 44 */ stfs f0, 0x44(r1) lbl_80083C40: /* 80083C40 00080BA0 7F A4 EB 78 */ mr r4, r29 /* 80083C44 00080BA4 38 61 00 58 */ addi r3, r1, 0x58 /* 80083C48 00080BA8 48 20 1A A1 */ bl CreateTransformFromMovementDirection__7CPlayerCFv /* 80083C4C 00080BAC 38 61 00 88 */ addi r3, r1, 0x88 /* 80083C50 00080BB0 38 81 00 58 */ addi r4, r1, 0x58 /* 80083C54 00080BB4 48 28 EF ED */ bl GetRotation__12CTransform4fCFv /* 80083C58 00080BB8 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80083C5C 00080BBC 38 81 00 88 */ addi r4, r1, 0x88 /* 80083C60 00080BC0 48 28 EF 15 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80083C64 00080BC4 38 7E 02 FC */ addi r3, r30, 0x2fc /* 80083C68 00080BC8 48 29 0A 91 */ bl CanBeNormalized__9CVector3fCFv /* 80083C6C 00080BCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083C70 00080BD0 41 82 00 2C */ beq lbl_80083C9C /* 80083C74 00080BD4 38 61 00 1C */ addi r3, r1, 0x1c /* 80083C78 00080BD8 38 81 00 B8 */ addi r4, r1, 0xb8 /* 80083C7C 00080BDC 38 A1 00 40 */ addi r5, r1, 0x40 /* 80083C80 00080BE0 48 28 EE 69 */ bl __ml__12CTransform4fCFRC9CVector3f /* 80083C84 00080BE4 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 80083C88 00080BE8 C0 21 00 20 */ lfs f1, 0x20(r1) /* 80083C8C 00080BEC C0 01 00 24 */ lfs f0, 0x24(r1) /* 80083C90 00080BF0 D0 41 00 40 */ stfs f2, 0x40(r1) /* 80083C94 00080BF4 D0 21 00 44 */ stfs f1, 0x44(r1) /* 80083C98 00080BF8 D0 01 00 48 */ stfs f0, 0x48(r1) lbl_80083C9C: /* 80083C9C 00080BFC C0 21 00 40 */ lfs f1, 0x40(r1) /* 80083CA0 00080C00 38 61 00 34 */ addi r3, r1, 0x34 /* 80083CA4 00080C04 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80083CA8 00080C08 EF 3F 08 2A */ fadds f25, f31, f1 /* 80083CAC 00080C0C C0 41 00 44 */ lfs f2, 0x44(r1) /* 80083CB0 00080C10 C0 21 00 48 */ lfs f1, 0x48(r1) /* 80083CB4 00080C14 EC 9F 00 2A */ fadds f4, f31, f0 /* 80083CB8 00080C18 C3 9E 01 D8 */ lfs f28, 0x1d8(r30) /* 80083CBC 00080C1C EF 1E 10 2A */ fadds f24, f30, f2 /* 80083CC0 00080C20 C3 7E 01 DC */ lfs f27, 0x1dc(r30) /* 80083CC4 00080C24 EE FD 08 2A */ fadds f23, f29, f1 /* 80083CC8 00080C28 C3 5E 01 E0 */ lfs f26, 0x1e0(r30) /* 80083CCC 00080C2C EC 7E 00 2A */ fadds f3, f30, f0 /* 80083CD0 00080C30 EC 5C C8 28 */ fsubs f2, f28, f25 /* 80083CD4 00080C34 D3 3E 01 C0 */ stfs f25, 0x1c0(r30) /* 80083CD8 00080C38 EC 3B C0 28 */ fsubs f1, f27, f24 /* 80083CDC 00080C3C EC 1A B8 28 */ fsubs f0, f26, f23 /* 80083CE0 00080C40 D3 1E 01 C4 */ stfs f24, 0x1c4(r30) /* 80083CE4 00080C44 D2 FE 01 C8 */ stfs f23, 0x1c8(r30) /* 80083CE8 00080C48 C0 A1 00 48 */ lfs f5, 0x48(r1) /* 80083CEC 00080C4C D0 9E 01 CC */ stfs f4, 0x1cc(r30) /* 80083CF0 00080C50 EC 9D 28 2A */ fadds f4, f29, f5 /* 80083CF4 00080C54 D0 7E 01 D0 */ stfs f3, 0x1d0(r30) /* 80083CF8 00080C58 D0 9E 01 D4 */ stfs f4, 0x1d4(r30) /* 80083CFC 00080C5C D0 41 00 34 */ stfs f2, 0x34(r1) /* 80083D00 00080C60 D0 21 00 38 */ stfs f1, 0x38(r1) /* 80083D04 00080C64 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 80083D08 00080C68 48 29 0B B1 */ bl Magnitude__9CVector3fCFv /* 80083D0C 00080C6C FE A0 08 90 */ fmr f21, f1 /* 80083D10 00080C70 38 61 00 34 */ addi r3, r1, 0x34 /* 80083D14 00080C74 48 29 09 E5 */ bl CanBeNormalized__9CVector3fCFv /* 80083D18 00080C78 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083D1C 00080C7C 41 82 00 0C */ beq lbl_80083D28 /* 80083D20 00080C80 38 61 00 34 */ addi r3, r1, 0x34 /* 80083D24 00080C84 48 29 0B D5 */ bl Normalize__9CVector3fFv lbl_80083D28: /* 80083D28 00080C88 C0 3E 03 0C */ lfs f1, 0x30c(r30) /* 80083D2C 00080C8C 38 81 00 10 */ addi r4, r1, 0x10 /* 80083D30 00080C90 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 80083D34 00080C94 38 6D 84 F0 */ addi r3, r13, lbl_805A70B0@sda21 /* 80083D38 00080C98 C2 82 89 B8 */ lfs f20, lbl_805AA6D8@sda21(r2) /* 80083D3C 00080C9C 38 AD 84 F4 */ addi r5, r13, lbl_805A70B4@sda21 /* 80083D40 00080CA0 EC 01 00 24 */ fdivs f0, f1, f0 /* 80083D44 00080CA4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80083D48 00080CA8 4B F8 85 6D */ bl "Clamp__5CMathFRCfRCfRCf" /* 80083D4C 00080CAC C0 63 00 00 */ lfs f3, 0(r3) /* 80083D50 00080CB0 FC 40 A8 90 */ fmr f2, f21 /* 80083D54 00080CB4 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 80083D58 00080CB8 38 7E 02 3C */ addi r3, r30, 0x23c /* 80083D5C 00080CBC C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80083D60 00080CC0 EE 80 A0 FA */ fmadds f20, f0, f3, f20 /* 80083D64 00080CC4 EC 76 05 32 */ fmuls f3, f22, f20 /* 80083D68 00080CC8 4B FD 9A 8D */ bl ApplyDistanceSpringNoMax__13CCameraSpringFfff /* 80083D6C 00080CCC C0 02 89 E8 */ lfs f0, lbl_805AA708@sda21(r2) /* 80083D70 00080CD0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80083D74 00080CD4 40 81 00 28 */ ble lbl_80083D9C /* 80083D78 00080CD8 C0 61 00 34 */ lfs f3, 0x34(r1) /* 80083D7C 00080CDC C0 41 00 38 */ lfs f2, 0x38(r1) /* 80083D80 00080CE0 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 80083D84 00080CE4 EC 61 00 F2 */ fmuls f3, f1, f3 /* 80083D88 00080CE8 EC 41 00 B2 */ fmuls f2, f1, f2 /* 80083D8C 00080CEC EC 01 00 32 */ fmuls f0, f1, f0 /* 80083D90 00080CF0 EF 39 18 2A */ fadds f25, f25, f3 /* 80083D94 00080CF4 EF 18 10 2A */ fadds f24, f24, f2 /* 80083D98 00080CF8 EE F7 00 2A */ fadds f23, f23, f0 lbl_80083D9C: /* 80083D9C 00080CFC EC 59 E0 28 */ fsubs f2, f25, f28 /* 80083DA0 00080D00 EC 38 D8 28 */ fsubs f1, f24, f27 /* 80083DA4 00080D04 EC 17 D0 28 */ fsubs f0, f23, f26 /* 80083DA8 00080D08 D0 41 00 34 */ stfs f2, 0x34(r1) /* 80083DAC 00080D0C D0 21 00 38 */ stfs f1, 0x38(r1) /* 80083DB0 00080D10 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 80083DB4 00080D14 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80083DB8 00080D18 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80083DBC 00080D1C 41 82 00 24 */ beq lbl_80083DE0 /* 80083DC0 00080D20 D3 FE 01 D8 */ stfs f31, 0x1d8(r30) /* 80083DC4 00080D24 D3 DE 01 DC */ stfs f30, 0x1dc(r30) /* 80083DC8 00080D28 D3 BE 01 E0 */ stfs f29, 0x1e0(r30) /* 80083DCC 00080D2C C0 3E 01 E0 */ lfs f1, 0x1e0(r30) /* 80083DD0 00080D30 C0 1E 01 BC */ lfs f0, 0x1bc(r30) /* 80083DD4 00080D34 EC 01 00 2A */ fadds f0, f1, f0 /* 80083DD8 00080D38 D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083DDC 00080D3C 48 00 00 10 */ b lbl_80083DEC lbl_80083DE0: /* 80083DE0 00080D40 D3 3E 01 D8 */ stfs f25, 0x1d8(r30) /* 80083DE4 00080D44 D3 1E 01 DC */ stfs f24, 0x1dc(r30) /* 80083DE8 00080D48 D2 FE 01 E0 */ stfs f23, 0x1e0(r30) lbl_80083DEC: /* 80083DEC 00080D4C 80 1E 01 88 */ lwz r0, 0x188(r30) /* 80083DF0 00080D50 2C 00 00 05 */ cmpwi r0, 5 /* 80083DF4 00080D54 41 82 00 94 */ beq lbl_80083E88 /* 80083DF8 00080D58 40 80 00 10 */ bge lbl_80083E08 /* 80083DFC 00080D5C 2C 00 00 04 */ cmpwi r0, 4 /* 80083E00 00080D60 40 80 00 54 */ bge lbl_80083E54 /* 80083E04 00080D64 48 00 00 0C */ b lbl_80083E10 lbl_80083E08: /* 80083E08 00080D68 2C 00 00 08 */ cmpwi r0, 8 /* 80083E0C 00080D6C 41 82 00 7C */ beq lbl_80083E88 lbl_80083E10: /* 80083E10 00080D70 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80083E14 00080D74 4B F8 6A C1 */ bl IsInterpolationCameraActive__14CCameraManagerCFv /* 80083E18 00080D78 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80083E1C 00080D7C 41 82 00 9C */ beq lbl_80083EB8 /* 80083E20 00080D80 C0 1E 01 C0 */ lfs f0, 0x1c0(r30) /* 80083E24 00080D84 D0 1E 01 D8 */ stfs f0, 0x1d8(r30) /* 80083E28 00080D88 C0 1E 01 C4 */ lfs f0, 0x1c4(r30) /* 80083E2C 00080D8C D0 1E 01 DC */ stfs f0, 0x1dc(r30) /* 80083E30 00080D90 C0 1E 01 C8 */ lfs f0, 0x1c8(r30) /* 80083E34 00080D94 D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083E38 00080D98 C0 1E 01 C0 */ lfs f0, 0x1c0(r30) /* 80083E3C 00080D9C D0 1E 01 CC */ stfs f0, 0x1cc(r30) /* 80083E40 00080DA0 C0 1E 01 C4 */ lfs f0, 0x1c4(r30) /* 80083E44 00080DA4 D0 1E 01 D0 */ stfs f0, 0x1d0(r30) /* 80083E48 00080DA8 C0 1E 01 C8 */ lfs f0, 0x1c8(r30) /* 80083E4C 00080DAC D0 1E 01 D4 */ stfs f0, 0x1d4(r30) /* 80083E50 00080DB0 48 00 00 68 */ b lbl_80083EB8 lbl_80083E54: /* 80083E54 00080DB4 C0 1E 01 CC */ lfs f0, 0x1cc(r30) /* 80083E58 00080DB8 D0 1E 01 D8 */ stfs f0, 0x1d8(r30) /* 80083E5C 00080DBC C0 1E 01 D0 */ lfs f0, 0x1d0(r30) /* 80083E60 00080DC0 D0 1E 01 DC */ stfs f0, 0x1dc(r30) /* 80083E64 00080DC4 C0 1E 01 D4 */ lfs f0, 0x1d4(r30) /* 80083E68 00080DC8 D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083E6C 00080DCC C0 1E 01 D8 */ lfs f0, 0x1d8(r30) /* 80083E70 00080DD0 D0 1E 01 C0 */ stfs f0, 0x1c0(r30) /* 80083E74 00080DD4 C0 1E 01 DC */ lfs f0, 0x1dc(r30) /* 80083E78 00080DD8 D0 1E 01 C4 */ stfs f0, 0x1c4(r30) /* 80083E7C 00080DDC C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083E80 00080DE0 D0 1E 01 C8 */ stfs f0, 0x1c8(r30) /* 80083E84 00080DE4 48 00 00 34 */ b lbl_80083EB8 lbl_80083E88: /* 80083E88 00080DE8 C0 1E 01 CC */ lfs f0, 0x1cc(r30) /* 80083E8C 00080DEC D0 1E 01 D8 */ stfs f0, 0x1d8(r30) /* 80083E90 00080DF0 C0 1E 01 D0 */ lfs f0, 0x1d0(r30) /* 80083E94 00080DF4 D0 1E 01 DC */ stfs f0, 0x1dc(r30) /* 80083E98 00080DF8 C0 1E 01 D4 */ lfs f0, 0x1d4(r30) /* 80083E9C 00080DFC D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083EA0 00080E00 C0 1E 01 CC */ lfs f0, 0x1cc(r30) /* 80083EA4 00080E04 D0 1E 01 C0 */ stfs f0, 0x1c0(r30) /* 80083EA8 00080E08 C0 1E 01 D0 */ lfs f0, 0x1d0(r30) /* 80083EAC 00080E0C D0 1E 01 C4 */ stfs f0, 0x1c4(r30) /* 80083EB0 00080E10 C0 1E 01 D4 */ lfs f0, 0x1d4(r30) /* 80083EB4 00080E14 D0 1E 01 C8 */ stfs f0, 0x1c8(r30) lbl_80083EB8: /* 80083EB8 00080E18 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80083EBC 00080E1C 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 80083EC0 00080E20 41 82 00 20 */ beq lbl_80083EE0 /* 80083EC4 00080E24 C0 1E 01 BC */ lfs f0, 0x1bc(r30) /* 80083EC8 00080E28 EC 1D 00 2A */ fadds f0, f29, f0 /* 80083ECC 00080E2C D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083ED0 00080E30 C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083ED4 00080E34 D0 1E 01 C8 */ stfs f0, 0x1c8(r30) /* 80083ED8 00080E38 C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083EDC 00080E3C D0 1E 01 D4 */ stfs f0, 0x1d4(r30) lbl_80083EE0: /* 80083EE0 00080E40 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80083EE4 00080E44 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80083EE8 00080E48 41 82 00 94 */ beq lbl_80083F7C /* 80083EEC 00080E4C 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80083EF0 00080E50 7F E4 FB 78 */ mr r4, r31 /* 80083EF4 00080E54 4B F8 54 DD */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 80083EF8 00080E58 28 03 00 00 */ cmplwi r3, 0 /* 80083EFC 00080E5C 41 82 00 80 */ beq lbl_80083F7C /* 80083F00 00080E60 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80083F04 00080E64 7F E4 FB 78 */ mr r4, r31 /* 80083F08 00080E68 4B F8 54 C9 */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 80083F0C 00080E6C C0 A2 89 EC */ lfs f5, lbl_805AA70C@sda21(r2) /* 80083F10 00080E70 C0 03 00 38 */ lfs f0, 0x38(r3) /* 80083F14 00080E74 C0 63 00 48 */ lfs f3, 0x48(r3) /* 80083F18 00080E78 EC 05 00 32 */ fmuls f0, f5, f0 /* 80083F1C 00080E7C C0 3E 00 40 */ lfs f1, 0x40(r30) /* 80083F20 00080E80 C0 43 00 58 */ lfs f2, 0x58(r3) /* 80083F24 00080E84 EC 85 00 F2 */ fmuls f4, f5, f3 /* 80083F28 00080E88 C0 DE 00 50 */ lfs f6, 0x50(r30) /* 80083F2C 00080E8C EC 01 00 2A */ fadds f0, f1, f0 /* 80083F30 00080E90 C0 7E 00 60 */ lfs f3, 0x60(r30) /* 80083F34 00080E94 EC 25 00 B2 */ fmuls f1, f5, f2 /* 80083F38 00080E98 EC 46 20 2A */ fadds f2, f6, f4 /* 80083F3C 00080E9C D0 1E 01 D8 */ stfs f0, 0x1d8(r30) /* 80083F40 00080EA0 EC 03 08 2A */ fadds f0, f3, f1 /* 80083F44 00080EA4 D0 5E 01 DC */ stfs f2, 0x1dc(r30) /* 80083F48 00080EA8 D0 1E 01 E0 */ stfs f0, 0x1e0(r30) /* 80083F4C 00080EAC C0 1E 01 D8 */ lfs f0, 0x1d8(r30) /* 80083F50 00080EB0 D0 1E 01 C0 */ stfs f0, 0x1c0(r30) /* 80083F54 00080EB4 C0 1E 01 DC */ lfs f0, 0x1dc(r30) /* 80083F58 00080EB8 D0 1E 01 C4 */ stfs f0, 0x1c4(r30) /* 80083F5C 00080EBC C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083F60 00080EC0 D0 1E 01 C8 */ stfs f0, 0x1c8(r30) /* 80083F64 00080EC4 C0 1E 01 D8 */ lfs f0, 0x1d8(r30) /* 80083F68 00080EC8 D0 1E 01 CC */ stfs f0, 0x1cc(r30) /* 80083F6C 00080ECC C0 1E 01 DC */ lfs f0, 0x1dc(r30) /* 80083F70 00080ED0 D0 1E 01 D0 */ stfs f0, 0x1d0(r30) /* 80083F74 00080ED4 C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 80083F78 00080ED8 D0 1E 01 D4 */ stfs f0, 0x1d4(r30) lbl_80083F7C: /* 80083F7C 00080EDC E3 E1 01 B8 */ psq_l f31, 440(r1), 0, qr0 /* 80083F80 00080EE0 CB E1 01 B0 */ lfd f31, 0x1b0(r1) /* 80083F84 00080EE4 E3 C1 01 A8 */ psq_l f30, 424(r1), 0, qr0 /* 80083F88 00080EE8 CB C1 01 A0 */ lfd f30, 0x1a0(r1) /* 80083F8C 00080EEC E3 A1 01 98 */ psq_l f29, 408(r1), 0, qr0 /* 80083F90 00080EF0 CB A1 01 90 */ lfd f29, 0x190(r1) /* 80083F94 00080EF4 E3 81 01 88 */ psq_l f28, 392(r1), 0, qr0 /* 80083F98 00080EF8 CB 81 01 80 */ lfd f28, 0x180(r1) /* 80083F9C 00080EFC E3 61 01 78 */ psq_l f27, 376(r1), 0, qr0 /* 80083FA0 00080F00 CB 61 01 70 */ lfd f27, 0x170(r1) /* 80083FA4 00080F04 E3 41 01 68 */ psq_l f26, 360(r1), 0, qr0 /* 80083FA8 00080F08 CB 41 01 60 */ lfd f26, 0x160(r1) /* 80083FAC 00080F0C E3 21 01 58 */ psq_l f25, 344(r1), 0, qr0 /* 80083FB0 00080F10 CB 21 01 50 */ lfd f25, 0x150(r1) /* 80083FB4 00080F14 E3 01 01 48 */ psq_l f24, 328(r1), 0, qr0 /* 80083FB8 00080F18 CB 01 01 40 */ lfd f24, 0x140(r1) /* 80083FBC 00080F1C E2 E1 01 38 */ psq_l f23, 312(r1), 0, qr0 /* 80083FC0 00080F20 CA E1 01 30 */ lfd f23, 0x130(r1) /* 80083FC4 00080F24 E2 C1 01 28 */ psq_l f22, 296(r1), 0, qr0 /* 80083FC8 00080F28 CA C1 01 20 */ lfd f22, 0x120(r1) /* 80083FCC 00080F2C E2 A1 01 18 */ psq_l f21, 280(r1), 0, qr0 /* 80083FD0 00080F30 CA A1 01 10 */ lfd f21, 0x110(r1) /* 80083FD4 00080F34 E2 81 01 08 */ psq_l f20, 264(r1), 0, qr0 /* 80083FD8 00080F38 CA 81 01 00 */ lfd f20, 0x100(r1) /* 80083FDC 00080F3C 83 E1 00 FC */ lwz r31, 0xfc(r1) /* 80083FE0 00080F40 83 C1 00 F8 */ lwz r30, 0xf8(r1) /* 80083FE4 00080F44 80 01 01 C4 */ lwz r0, 0x1c4(r1) /* 80083FE8 00080F48 83 A1 00 F4 */ lwz r29, 0xf4(r1) /* 80083FEC 00080F4C 7C 08 03 A6 */ mtlr r0 /* 80083FF0 00080F50 38 21 01 C0 */ addi r1, r1, 0x1c0 /* 80083FF4 00080F54 4E 80 00 20 */ blr .global UpdateUsingFixedCameras__11CBallCameraFfR13CStateManager UpdateUsingFixedCameras__11CBallCameraFfR13CStateManager: /* 80083FF8 00080F58 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80083FFC 00080F5C 7C 08 02 A6 */ mflr r0 /* 80084000 00080F60 90 01 00 74 */ stw r0, 0x74(r1) /* 80084004 00080F64 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80084008 00080F68 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8008400C 00080F6C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80084010 00080F70 93 C1 00 58 */ stw r30, 0x58(r1) /* 80084014 00080F74 93 A1 00 54 */ stw r29, 0x54(r1) /* 80084018 00080F78 FF E0 08 90 */ fmr f31, f1 /* 8008401C 00080F7C 7C 9E 23 78 */ mr r30, r4 /* 80084020 00080F80 7C 7D 1B 78 */ mr r29, r3 /* 80084024 00080F84 80 64 08 70 */ lwz r3, 0x870(r4) /* 80084028 00080F88 4B F8 53 A9 */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 8008402C 00080F8C 7C 7F 1B 79 */ or. r31, r3, r3 /* 80084030 00080F90 41 82 01 38 */ beq lbl_80084168 /* 80084034 00080F94 80 1D 01 88 */ lwz r0, 0x188(r29) /* 80084038 00080F98 2C 00 00 05 */ cmpwi r0, 5 /* 8008403C 00080F9C 41 82 00 D0 */ beq lbl_8008410C /* 80084040 00080FA0 40 80 01 00 */ bge lbl_80084140 /* 80084044 00080FA4 2C 00 00 04 */ cmpwi r0, 4 /* 80084048 00080FA8 40 80 00 08 */ bge lbl_80084050 /* 8008404C 00080FAC 48 00 00 F4 */ b lbl_80084140 lbl_80084050: /* 80084050 00080FB0 C0 BF 00 60 */ lfs f5, 0x60(r31) /* 80084054 00080FB4 38 61 00 2C */ addi r3, r1, 0x2c /* 80084058 00080FB8 C0 9F 00 50 */ lfs f4, 0x50(r31) /* 8008405C 00080FBC C0 7F 00 40 */ lfs f3, 0x40(r31) /* 80084060 00080FC0 D0 61 00 38 */ stfs f3, 0x38(r1) /* 80084064 00080FC4 D0 81 00 3C */ stfs f4, 0x3c(r1) /* 80084068 00080FC8 D0 A1 00 40 */ stfs f5, 0x40(r1) /* 8008406C 00080FCC C0 5D 01 DC */ lfs f2, 0x1dc(r29) /* 80084070 00080FD0 C0 3D 01 E0 */ lfs f1, 0x1e0(r29) /* 80084074 00080FD4 C0 1D 01 D8 */ lfs f0, 0x1d8(r29) /* 80084078 00080FD8 EC 42 20 28 */ fsubs f2, f2, f4 /* 8008407C 00080FDC EC 21 28 28 */ fsubs f1, f1, f5 /* 80084080 00080FE0 EC 00 18 28 */ fsubs f0, f0, f3 /* 80084084 00080FE4 D0 41 00 30 */ stfs f2, 0x30(r1) /* 80084088 00080FE8 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8008408C 00080FEC D0 21 00 34 */ stfs f1, 0x34(r1) /* 80084090 00080FF0 48 29 06 69 */ bl CanBeNormalized__9CVector3fCFv /* 80084094 00080FF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084098 00080FF8 41 82 00 A8 */ beq lbl_80084140 /* 8008409C 00080FFC 38 61 00 14 */ addi r3, r1, 0x14 /* 800840A0 00081000 38 81 00 2C */ addi r4, r1, 0x2c /* 800840A4 00081004 48 29 07 AD */ bl AsNormalized__9CVector3fCFv /* 800840A8 00081008 7F A4 EB 78 */ mr r4, r29 /* 800840AC 0008100C 7F C6 F3 78 */ mr r6, r30 /* 800840B0 00081010 38 61 00 20 */ addi r3, r1, 0x20 /* 800840B4 00081014 38 A1 00 14 */ addi r5, r1, 0x14 /* 800840B8 00081018 48 00 00 D5 */ bl GetFixedLookTarget__11CBallCameraCFRC9CVector3fR13CStateManager /* 800840BC 0008101C C0 41 00 20 */ lfs f2, 0x20(r1) /* 800840C0 00081020 C0 21 00 24 */ lfs f1, 0x24(r1) /* 800840C4 00081024 C0 01 00 28 */ lfs f0, 0x28(r1) /* 800840C8 00081028 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 800840CC 0008102C D0 21 00 30 */ stfs f1, 0x30(r1) /* 800840D0 00081030 D0 01 00 34 */ stfs f0, 0x34(r1) /* 800840D4 00081034 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 800840D8 00081038 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 800840DC 0008103C 41 82 00 14 */ beq lbl_800840F0 /* 800840E0 00081040 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 800840E4 00081044 38 60 00 01 */ li r3, 1 /* 800840E8 00081048 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 800840EC 0008104C 98 1D 01 8D */ stb r0, 0x18d(r29) lbl_800840F0: /* 800840F0 00081050 FC 20 F8 90 */ fmr f1, f31 /* 800840F4 00081054 7F A3 EB 78 */ mr r3, r29 /* 800840F8 00081058 7F C6 F3 78 */ mr r6, r30 /* 800840FC 0008105C 38 81 00 2C */ addi r4, r1, 0x2c /* 80084100 00081060 38 A1 00 38 */ addi r5, r1, 0x38 /* 80084104 00081064 48 00 49 D9 */ bl UpdateTransform__11CBallCameraFRC9CVector3fRC9CVector3ffR13CStateManager /* 80084108 00081068 48 00 00 38 */ b lbl_80084140 lbl_8008410C: /* 8008410C 0008106C 38 7D 00 34 */ addi r3, r29, 0x34 /* 80084110 00081070 38 9F 00 34 */ addi r4, r31, 0x34 /* 80084114 00081074 48 28 EA 2D */ bl __as__12CTransform4fFRC12CTransform4f /* 80084118 00081078 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8008411C 0008107C 38 60 00 01 */ li r3, 1 /* 80084120 00081080 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80084124 00081084 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80084128 00081088 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8008412C 0008108C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80084130 00081090 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80084134 00081094 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80084138 00081098 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8008413C 0008109C 98 1D 00 E4 */ stb r0, 0xe4(r29) lbl_80084140: /* 80084140 000810A0 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80084144 000810A4 7F A3 EB 78 */ mr r3, r29 /* 80084148 000810A8 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 8008414C 000810AC 7F C5 F3 78 */ mr r5, r30 /* 80084150 000810B0 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80084154 000810B4 38 81 00 08 */ addi r4, r1, 8 /* 80084158 000810B8 D0 01 00 08 */ stfs f0, 8(r1) /* 8008415C 000810BC D0 21 00 0C */ stfs f1, 0xc(r1) /* 80084160 000810C0 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80084164 000810C4 48 00 89 B9 */ bl TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager lbl_80084168: /* 80084168 000810C8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 8008416C 000810CC 80 01 00 74 */ lwz r0, 0x74(r1) /* 80084170 000810D0 CB E1 00 60 */ lfd f31, 0x60(r1) /* 80084174 000810D4 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80084178 000810D8 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8008417C 000810DC 83 A1 00 54 */ lwz r29, 0x54(r1) /* 80084180 000810E0 7C 08 03 A6 */ mtlr r0 /* 80084184 000810E4 38 21 00 70 */ addi r1, r1, 0x70 /* 80084188 000810E8 4E 80 00 20 */ blr .global GetFixedLookTarget__11CBallCameraCFRC9CVector3fR13CStateManager GetFixedLookTarget__11CBallCameraCFRC9CVector3fR13CStateManager: /* 8008418C 000810EC 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 80084190 000810F0 7C 08 02 A6 */ mflr r0 /* 80084194 000810F4 90 01 00 D4 */ stw r0, 0xd4(r1) /* 80084198 000810F8 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 8008419C 000810FC F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 800841A0 00081100 93 E1 00 BC */ stw r31, 0xbc(r1) /* 800841A4 00081104 93 C1 00 B8 */ stw r30, 0xb8(r1) /* 800841A8 00081108 93 A1 00 B4 */ stw r29, 0xb4(r1) /* 800841AC 0008110C 7C 7D 1B 78 */ mr r29, r3 /* 800841B0 00081110 80 66 08 70 */ lwz r3, 0x870(r6) /* 800841B4 00081114 7C 9E 23 78 */ mr r30, r4 /* 800841B8 00081118 7C BF 2B 78 */ mr r31, r5 /* 800841BC 0008111C 7C C4 33 78 */ mr r4, r6 /* 800841C0 00081120 4B F8 52 11 */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 800841C4 00081124 28 03 00 00 */ cmplwi r3, 0 /* 800841C8 00081128 40 82 00 20 */ bne lbl_800841E8 /* 800841CC 0008112C C0 1F 00 00 */ lfs f0, 0(r31) /* 800841D0 00081130 D0 1D 00 00 */ stfs f0, 0(r29) /* 800841D4 00081134 C0 1F 00 04 */ lfs f0, 4(r31) /* 800841D8 00081138 D0 1D 00 04 */ stfs f0, 4(r29) /* 800841DC 0008113C C0 1F 00 08 */ lfs f0, 8(r31) /* 800841E0 00081140 D0 1D 00 08 */ stfs f0, 8(r29) /* 800841E4 00081144 48 00 03 60 */ b lbl_80084544 lbl_800841E8: /* 800841E8 00081148 C0 63 00 58 */ lfs f3, 0x58(r3) /* 800841EC 0008114C C0 43 00 48 */ lfs f2, 0x48(r3) /* 800841F0 00081150 C0 23 00 38 */ lfs f1, 0x38(r3) /* 800841F4 00081154 38 61 00 98 */ addi r3, r1, 0x98 /* 800841F8 00081158 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800841FC 0008115C D0 61 00 94 */ stfs f3, 0x94(r1) /* 80084200 00081160 D0 21 00 98 */ stfs f1, 0x98(r1) /* 80084204 00081164 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 80084208 00081168 D0 61 00 A0 */ stfs f3, 0xa0(r1) /* 8008420C 0008116C D0 21 00 8C */ stfs f1, 0x8c(r1) /* 80084210 00081170 D0 41 00 90 */ stfs f2, 0x90(r1) /* 80084214 00081174 D0 01 00 94 */ stfs f0, 0x94(r1) /* 80084218 00081178 48 29 04 E1 */ bl CanBeNormalized__9CVector3fCFv /* 8008421C 0008117C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084220 00081180 41 82 00 28 */ beq lbl_80084248 /* 80084224 00081184 38 61 00 8C */ addi r3, r1, 0x8c /* 80084228 00081188 48 29 04 D1 */ bl CanBeNormalized__9CVector3fCFv /* 8008422C 0008118C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084230 00081190 41 82 00 18 */ beq lbl_80084248 /* 80084234 00081194 38 61 00 98 */ addi r3, r1, 0x98 /* 80084238 00081198 48 29 06 C1 */ bl Normalize__9CVector3fFv /* 8008423C 0008119C 38 61 00 8C */ addi r3, r1, 0x8c /* 80084240 000811A0 48 29 06 B9 */ bl Normalize__9CVector3fFv /* 80084244 000811A4 48 00 00 24 */ b lbl_80084268 lbl_80084248: /* 80084248 000811A8 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008424C 000811AC C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80084250 000811B0 D0 21 00 98 */ stfs f1, 0x98(r1) /* 80084254 000811B4 D0 01 00 9C */ stfs f0, 0x9c(r1) /* 80084258 000811B8 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 8008425C 000811BC D0 21 00 8C */ stfs f1, 0x8c(r1) /* 80084260 000811C0 D0 01 00 90 */ stfs f0, 0x90(r1) /* 80084264 000811C4 D0 21 00 94 */ stfs f1, 0x94(r1) lbl_80084268: /* 80084268 000811C8 C0 1F 00 08 */ lfs f0, 8(r31) /* 8008426C 000811CC 7F E3 FB 78 */ mr r3, r31 /* 80084270 000811D0 C0 5F 00 00 */ lfs f2, 0(r31) /* 80084274 000811D4 C0 3F 00 04 */ lfs f1, 4(r31) /* 80084278 000811D8 D0 01 00 88 */ stfs f0, 0x88(r1) /* 8008427C 000811DC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80084280 000811E0 D0 41 00 80 */ stfs f2, 0x80(r1) /* 80084284 000811E4 D0 21 00 84 */ stfs f1, 0x84(r1) /* 80084288 000811E8 D0 01 00 88 */ stfs f0, 0x88(r1) /* 8008428C 000811EC 48 29 04 6D */ bl CanBeNormalized__9CVector3fCFv /* 80084290 000811F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084294 000811F4 41 82 00 20 */ beq lbl_800842B4 /* 80084298 000811F8 38 61 00 80 */ addi r3, r1, 0x80 /* 8008429C 000811FC 48 29 04 5D */ bl CanBeNormalized__9CVector3fCFv /* 800842A0 00081200 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800842A4 00081204 41 82 00 10 */ beq lbl_800842B4 /* 800842A8 00081208 38 61 00 80 */ addi r3, r1, 0x80 /* 800842AC 0008120C 48 29 06 4D */ bl Normalize__9CVector3fFv /* 800842B0 00081210 48 00 00 1C */ b lbl_800842CC lbl_800842B4: /* 800842B4 00081214 C0 41 00 8C */ lfs f2, 0x8c(r1) /* 800842B8 00081218 C0 21 00 90 */ lfs f1, 0x90(r1) /* 800842BC 0008121C C0 01 00 94 */ lfs f0, 0x94(r1) /* 800842C0 00081220 D0 41 00 80 */ stfs f2, 0x80(r1) /* 800842C4 00081224 D0 21 00 84 */ stfs f1, 0x84(r1) /* 800842C8 00081228 D0 01 00 88 */ stfs f0, 0x88(r1) lbl_800842CC: /* 800842CC 0008122C C0 3F 00 04 */ lfs f1, 4(r31) /* 800842D0 00081230 C0 01 00 84 */ lfs f0, 0x84(r1) /* 800842D4 00081234 C0 5F 00 00 */ lfs f2, 0(r31) /* 800842D8 00081238 EC 01 00 32 */ fmuls f0, f1, f0 /* 800842DC 0008123C C0 21 00 80 */ lfs f1, 0x80(r1) /* 800842E0 00081240 C0 9F 00 08 */ lfs f4, 8(r31) /* 800842E4 00081244 C0 61 00 88 */ lfs f3, 0x88(r1) /* 800842E8 00081248 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 800842EC 0008124C C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 800842F0 00081250 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 800842F4 00081254 FC 40 0A 10 */ fabs f2, f1 /* 800842F8 00081258 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800842FC 0008125C 40 81 00 14 */ ble lbl_80084310 /* 80084300 00081260 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80084304 00081264 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80084308 00081268 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 8008430C 0008126C EC 22 00 32 */ fmuls f1, f2, f0 lbl_80084310: /* 80084310 00081270 48 31 09 1D */ bl acos /* 80084314 00081274 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80084318 00081278 FF E0 08 18 */ frsp f31, f1 /* 8008431C 0008127C 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 80084320 00081280 41 82 00 78 */ beq lbl_80084398 /* 80084324 00081284 C0 21 00 9C */ lfs f1, 0x9c(r1) /* 80084328 00081288 C0 01 00 90 */ lfs f0, 0x90(r1) /* 8008432C 0008128C C0 41 00 98 */ lfs f2, 0x98(r1) /* 80084330 00081290 EC 01 00 32 */ fmuls f0, f1, f0 /* 80084334 00081294 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 80084338 00081298 C0 81 00 A0 */ lfs f4, 0xa0(r1) /* 8008433C 0008129C C0 61 00 94 */ lfs f3, 0x94(r1) /* 80084340 000812A0 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80084344 000812A4 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80084348 000812A8 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 8008434C 000812AC FC 40 0A 10 */ fabs f2, f1 /* 80084350 000812B0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80084354 000812B4 40 81 00 14 */ ble lbl_80084368 /* 80084358 000812B8 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 8008435C 000812BC C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80084360 000812C0 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 80084364 000812C4 EC 22 00 32 */ fmuls f1, f2, f0 lbl_80084368: /* 80084368 000812C8 48 31 08 C5 */ bl acos /* 8008436C 000812CC FC 20 08 18 */ frsp f1, f1 /* 80084370 000812D0 C0 1E 01 AC */ lfs f0, 0x1ac(r30) /* 80084374 000812D4 EC 9F 08 28 */ fsubs f4, f31, f1 /* 80084378 000812D8 FC 40 22 10 */ fabs f2, f4 /* 8008437C 000812DC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80084380 000812E0 40 81 00 14 */ ble lbl_80084394 /* 80084384 000812E4 C0 62 89 F8 */ lfs f3, lbl_805AA718@sda21(r2) /* 80084388 000812E8 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 8008438C 000812EC FC 44 18 AE */ fsel f2, f4, f2, f3 /* 80084390 000812F0 EC 80 00 B2 */ fmuls f4, f0, f2 lbl_80084394: /* 80084394 000812F4 EF E1 20 2A */ fadds f31, f1, f4 lbl_80084398: /* 80084398 000812F8 C0 3F 00 08 */ lfs f1, 8(r31) /* 8008439C 000812FC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800843A0 00081300 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800843A4 00081304 4C 41 13 82 */ cror 2, 1, 2 /* 800843A8 00081308 40 82 00 08 */ bne lbl_800843B0 /* 800843AC 0008130C FF E0 F8 50 */ fneg f31, f31 lbl_800843B0: /* 800843B0 00081310 C0 21 00 84 */ lfs f1, 0x84(r1) /* 800843B4 00081314 C0 01 00 90 */ lfs f0, 0x90(r1) /* 800843B8 00081318 C0 41 00 80 */ lfs f2, 0x80(r1) /* 800843BC 0008131C EC 01 00 32 */ fmuls f0, f1, f0 /* 800843C0 00081320 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 800843C4 00081324 C0 81 00 88 */ lfs f4, 0x88(r1) /* 800843C8 00081328 C0 61 00 94 */ lfs f3, 0x94(r1) /* 800843CC 0008132C EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 800843D0 00081330 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 800843D4 00081334 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 800843D8 00081338 FC 40 0A 10 */ fabs f2, f1 /* 800843DC 0008133C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800843E0 00081340 40 81 00 14 */ ble lbl_800843F4 /* 800843E4 00081344 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 800843E8 00081348 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 800843EC 0008134C FC 01 00 AE */ fsel f0, f1, f2, f0 /* 800843F0 00081350 EC 22 00 32 */ fmuls f1, f2, f0 lbl_800843F4: /* 800843F4 00081354 48 31 08 39 */ bl acos /* 800843F8 00081358 FC 40 08 18 */ frsp f2, f1 /* 800843FC 0008135C 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80084400 00081360 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 80084404 00081364 FC 80 10 90 */ fmr f4, f2 /* 80084408 00081368 41 82 00 28 */ beq lbl_80084430 /* 8008440C 0008136C FC 20 12 10 */ fabs f1, f2 /* 80084410 00081370 C0 1E 01 B0 */ lfs f0, 0x1b0(r30) /* 80084414 00081374 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084418 00081378 40 81 00 14 */ ble lbl_8008442C /* 8008441C 0008137C C0 62 89 F8 */ lfs f3, lbl_805AA718@sda21(r2) /* 80084420 00081380 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80084424 00081384 FC 22 18 6E */ fsel f1, f2, f1, f3 /* 80084428 00081388 EC 40 00 72 */ fmuls f2, f0, f1 lbl_8008442C: /* 8008442C 0008138C FC 80 10 90 */ fmr f4, f2 lbl_80084430: /* 80084430 00081390 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 80084434 00081394 C0 01 00 84 */ lfs f0, 0x84(r1) /* 80084438 00081398 C0 61 00 80 */ lfs f3, 0x80(r1) /* 8008443C 0008139C EC 21 00 32 */ fmuls f1, f1, f0 /* 80084440 000813A0 C0 41 00 90 */ lfs f2, 0x90(r1) /* 80084444 000813A4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80084448 000813A8 EC 23 08 B8 */ fmsubs f1, f3, f2, f1 /* 8008444C 000813AC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084450 000813B0 4C 41 13 82 */ cror 2, 1, 2 /* 80084454 000813B4 40 82 00 08 */ bne lbl_8008445C /* 80084458 000813B8 FC 80 20 50 */ fneg f4, f4 lbl_8008445C: /* 8008445C 000813BC D0 81 00 0C */ stfs f4, 0xc(r1) /* 80084460 000813C0 38 61 00 38 */ addi r3, r1, 0x38 /* 80084464 000813C4 38 81 00 0C */ addi r4, r1, 0xc /* 80084468 000813C8 48 28 CC 91 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008446C 000813CC C0 61 00 38 */ lfs f3, 0x38(r1) /* 80084470 000813D0 38 61 00 2C */ addi r3, r1, 0x2c /* 80084474 000813D4 C0 41 00 3C */ lfs f2, 0x3c(r1) /* 80084478 000813D8 38 81 00 70 */ addi r4, r1, 0x70 /* 8008447C 000813DC C0 21 00 40 */ lfs f1, 0x40(r1) /* 80084480 000813E0 38 A1 00 8C */ addi r5, r1, 0x8c /* 80084484 000813E4 C0 01 00 44 */ lfs f0, 0x44(r1) /* 80084488 000813E8 D0 61 00 70 */ stfs f3, 0x70(r1) /* 8008448C 000813EC D0 41 00 74 */ stfs f2, 0x74(r1) /* 80084490 000813F0 D0 21 00 78 */ stfs f1, 0x78(r1) /* 80084494 000813F4 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 80084498 000813F8 48 28 CD CD */ bl Transform__11CQuaternionCFRC9CVector3f /* 8008449C 000813FC C0 81 00 2C */ lfs f4, 0x2c(r1) /* 800844A0 00081400 38 61 00 58 */ addi r3, r1, 0x58 /* 800844A4 00081404 C0 61 00 30 */ lfs f3, 0x30(r1) /* 800844A8 00081408 FC 20 20 50 */ fneg f1, f4 /* 800844AC 0008140C C0 41 00 34 */ lfs f2, 0x34(r1) /* 800844B0 00081410 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800844B4 00081414 D0 81 00 64 */ stfs f4, 0x64(r1) /* 800844B8 00081418 D0 61 00 68 */ stfs f3, 0x68(r1) /* 800844BC 0008141C D0 41 00 6C */ stfs f2, 0x6c(r1) /* 800844C0 00081420 D0 61 00 58 */ stfs f3, 0x58(r1) /* 800844C4 00081424 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 800844C8 00081428 D0 01 00 60 */ stfs f0, 0x60(r1) /* 800844CC 0008142C 48 29 04 2D */ bl Normalize__9CVector3fFv /* 800844D0 00081430 FC 00 F8 50 */ fneg f0, f31 /* 800844D4 00081434 38 61 00 1C */ addi r3, r1, 0x1c /* 800844D8 00081438 38 81 00 58 */ addi r4, r1, 0x58 /* 800844DC 0008143C 38 A1 00 08 */ addi r5, r1, 8 /* 800844E0 00081440 D0 01 00 08 */ stfs f0, 8(r1) /* 800844E4 00081444 48 28 CE 11 */ bl AxisAngle__11CQuaternionFRC13CUnitVector3fRC9CRelAngle /* 800844E8 00081448 C0 61 00 1C */ lfs f3, 0x1c(r1) /* 800844EC 0008144C 38 61 00 10 */ addi r3, r1, 0x10 /* 800844F0 00081450 C0 41 00 20 */ lfs f2, 0x20(r1) /* 800844F4 00081454 38 81 00 48 */ addi r4, r1, 0x48 /* 800844F8 00081458 C0 21 00 24 */ lfs f1, 0x24(r1) /* 800844FC 0008145C 38 A1 00 64 */ addi r5, r1, 0x64 /* 80084500 00081460 C0 01 00 28 */ lfs f0, 0x28(r1) /* 80084504 00081464 D0 61 00 48 */ stfs f3, 0x48(r1) /* 80084508 00081468 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8008450C 0008146C D0 21 00 50 */ stfs f1, 0x50(r1) /* 80084510 00081470 D0 01 00 54 */ stfs f0, 0x54(r1) /* 80084514 00081474 48 28 CD 51 */ bl Transform__11CQuaternionCFRC9CVector3f /* 80084518 00081478 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8008451C 0008147C C0 21 00 14 */ lfs f1, 0x14(r1) /* 80084520 00081480 C0 01 00 18 */ lfs f0, 0x18(r1) /* 80084524 00081484 D0 41 00 64 */ stfs f2, 0x64(r1) /* 80084528 00081488 D0 21 00 68 */ stfs f1, 0x68(r1) /* 8008452C 0008148C D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80084530 00081490 D0 5D 00 00 */ stfs f2, 0(r29) /* 80084534 00081494 C0 01 00 68 */ lfs f0, 0x68(r1) /* 80084538 00081498 D0 1D 00 04 */ stfs f0, 4(r29) /* 8008453C 0008149C C0 01 00 6C */ lfs f0, 0x6c(r1) /* 80084540 000814A0 D0 1D 00 08 */ stfs f0, 8(r29) lbl_80084544: /* 80084544 000814A4 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 80084548 000814A8 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 8008454C 000814AC CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 80084550 000814B0 83 E1 00 BC */ lwz r31, 0xbc(r1) /* 80084554 000814B4 83 C1 00 B8 */ lwz r30, 0xb8(r1) /* 80084558 000814B8 83 A1 00 B4 */ lwz r29, 0xb4(r1) /* 8008455C 000814BC 7C 08 03 A6 */ mtlr r0 /* 80084560 000814C0 38 21 00 D0 */ addi r1, r1, 0xd0 /* 80084564 000814C4 4E 80 00 20 */ blr .global MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager: /* 80084568 000814C8 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 8008456C 000814CC 7C 08 02 A6 */ mflr r0 /* 80084570 000814D0 90 01 00 C4 */ stw r0, 0xc4(r1) /* 80084574 000814D4 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 80084578 000814D8 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 8008457C 000814DC BF 61 00 9C */ stmw r27, 0x9c(r1) /* 80084580 000814E0 7C 9D 23 78 */ mr r29, r4 /* 80084584 000814E4 FF E0 08 90 */ fmr f31, f1 /* 80084588 000814E8 A0 04 04 6C */ lhz r0, 0x46c(r4) /* 8008458C 000814EC 7C DE 33 78 */ mr r30, r6 /* 80084590 000814F0 7C 7C 1B 78 */ mr r28, r3 /* 80084594 000814F4 7C BB 2B 78 */ mr r27, r5 /* 80084598 000814F8 B0 01 00 08 */ sth r0, 8(r1) /* 8008459C 000814FC 7F C3 F3 78 */ mr r3, r30 /* 800845A0 00081500 38 81 00 08 */ addi r4, r1, 8 /* 800845A4 00081504 4B FC 7F D1 */ bl ObjectById__13CStateManagerF9TUniqueId /* 800845A8 00081508 7C 64 1B 78 */ mr r4, r3 /* 800845AC 0008150C 38 61 00 0C */ addi r3, r1, 0xc /* 800845B0 00081510 48 02 81 35 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity" /* 800845B4 00081514 83 E3 00 04 */ lwz r31, 4(r3) /* 800845B8 00081518 28 1F 00 00 */ cmplwi r31, 0 /* 800845BC 0008151C 41 82 02 D8 */ beq lbl_80084894 /* 800845C0 00081520 C0 3B 00 04 */ lfs f1, 4(r27) /* 800845C4 00081524 38 61 00 80 */ addi r3, r1, 0x80 /* 800845C8 00081528 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 800845CC 0008152C C0 7B 00 08 */ lfs f3, 8(r27) /* 800845D0 00081530 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 800845D4 00081534 EC 81 00 28 */ fsubs f4, f1, f0 /* 800845D8 00081538 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 800845DC 0008153C C0 3B 00 00 */ lfs f1, 0(r27) /* 800845E0 00081540 EC 43 10 28 */ fsubs f2, f3, f2 /* 800845E4 00081544 D0 81 00 84 */ stfs f4, 0x84(r1) /* 800845E8 00081548 EC 01 00 28 */ fsubs f0, f1, f0 /* 800845EC 0008154C D0 41 00 88 */ stfs f2, 0x88(r1) /* 800845F0 00081550 D0 01 00 80 */ stfs f0, 0x80(r1) /* 800845F4 00081554 48 29 01 05 */ bl CanBeNormalized__9CVector3fCFv /* 800845F8 00081558 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800845FC 0008155C 41 82 00 18 */ beq lbl_80084614 /* 80084600 00081560 38 61 00 80 */ addi r3, r1, 0x80 /* 80084604 00081564 48 29 02 B5 */ bl Magnitude__9CVector3fCFv /* 80084608 00081568 C0 02 89 FC */ lfs f0, lbl_805AA71C@sda21(r2) /* 8008460C 0008156C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084610 00081570 40 80 00 28 */ bge lbl_80084638 lbl_80084614: /* 80084614 00081574 7F E3 FB 78 */ mr r3, r31 /* 80084618 00081578 48 09 6D 61 */ bl Stop__13CPhysicsActorFv /* 8008461C 0008157C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80084620 00081580 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80084624 00081584 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80084628 00081588 D0 1C 00 00 */ stfs f0, 0(r28) /* 8008462C 0008158C D0 3C 00 04 */ stfs f1, 4(r28) /* 80084630 00081590 D0 5C 00 08 */ stfs f2, 8(r28) /* 80084634 00081594 48 00 02 78 */ b lbl_800848AC lbl_80084638: /* 80084638 00081598 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008463C 0008159C FC 20 F8 90 */ fmr f1, f31 /* 80084640 000815A0 C0 5F 01 38 */ lfs f2, 0x138(r31) /* 80084644 000815A4 7F A4 EB 78 */ mr r4, r29 /* 80084648 000815A8 EC A0 F8 24 */ fdivs f5, f0, f31 /* 8008464C 000815AC C0 01 00 84 */ lfs f0, 0x84(r1) /* 80084650 000815B0 D0 41 00 74 */ stfs f2, 0x74(r1) /* 80084654 000815B4 C0 41 00 88 */ lfs f2, 0x88(r1) /* 80084658 000815B8 38 61 00 38 */ addi r3, r1, 0x38 /* 8008465C 000815BC C0 7F 01 3C */ lfs f3, 0x13c(r31) /* 80084660 000815C0 D0 61 00 78 */ stfs f3, 0x78(r1) /* 80084664 000815C4 EC 85 00 32 */ fmuls f4, f5, f0 /* 80084668 000815C8 C0 01 00 80 */ lfs f0, 0x80(r1) /* 8008466C 000815CC EC 65 00 B2 */ fmuls f3, f5, f2 /* 80084670 000815D0 C0 5F 01 40 */ lfs f2, 0x140(r31) /* 80084674 000815D4 38 A1 00 2C */ addi r5, r1, 0x2c /* 80084678 000815D8 EC 05 00 32 */ fmuls f0, f5, f0 /* 8008467C 000815DC D0 41 00 7C */ stfs f2, 0x7c(r1) /* 80084680 000815E0 38 C1 00 20 */ addi r6, r1, 0x20 /* 80084684 000815E4 81 01 00 74 */ lwz r8, 0x74(r1) /* 80084688 000815E8 C0 DF 00 60 */ lfs f6, 0x60(r31) /* 8008468C 000815EC C0 BF 00 50 */ lfs f5, 0x50(r31) /* 80084690 000815F0 C0 5F 00 40 */ lfs f2, 0x40(r31) /* 80084694 000815F4 80 E1 00 78 */ lwz r7, 0x78(r1) /* 80084698 000815F8 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8008469C 000815FC 80 01 00 7C */ lwz r0, 0x7c(r1) /* 800846A0 00081600 D0 81 00 60 */ stfs f4, 0x60(r1) /* 800846A4 00081604 81 61 00 5C */ lwz r11, 0x5c(r1) /* 800846A8 00081608 D0 61 00 64 */ stfs f3, 0x64(r1) /* 800846AC 0008160C 81 41 00 60 */ lwz r10, 0x60(r1) /* 800846B0 00081610 81 21 00 64 */ lwz r9, 0x64(r1) /* 800846B4 00081614 D0 41 00 68 */ stfs f2, 0x68(r1) /* 800846B8 00081618 D0 A1 00 6C */ stfs f5, 0x6c(r1) /* 800846BC 0008161C D0 C1 00 70 */ stfs f6, 0x70(r1) /* 800846C0 00081620 91 61 00 20 */ stw r11, 0x20(r1) /* 800846C4 00081624 91 41 00 24 */ stw r10, 0x24(r1) /* 800846C8 00081628 91 21 00 28 */ stw r9, 0x28(r1) /* 800846CC 0008162C 91 01 00 2C */ stw r8, 0x2c(r1) /* 800846D0 00081630 90 E1 00 30 */ stw r7, 0x30(r1) /* 800846D4 00081634 90 01 00 34 */ stw r0, 0x34(r1) /* 800846D8 00081638 48 00 03 65 */ bl ComputeVelocity__11CBallCameraCFRC9CVector3fRC9CVector3f /* 800846DC 0008163C C0 41 00 38 */ lfs f2, 0x38(r1) /* 800846E0 00081640 7F E3 FB 78 */ mr r3, r31 /* 800846E4 00081644 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 800846E8 00081648 38 81 00 5C */ addi r4, r1, 0x5c /* 800846EC 0008164C C0 01 00 40 */ lfs f0, 0x40(r1) /* 800846F0 00081650 D0 41 00 5C */ stfs f2, 0x5c(r1) /* 800846F4 00081654 D0 21 00 60 */ stfs f1, 0x60(r1) /* 800846F8 00081658 D0 01 00 64 */ stfs f0, 0x64(r1) /* 800846FC 0008165C 48 09 65 A5 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 80084700 00081660 88 1F 00 F8 */ lbz r0, 0xf8(r31) /* 80084704 00081664 38 60 00 01 */ li r3, 1 /* 80084708 00081668 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8008470C 0008166C 7F E3 FB 78 */ mr r3, r31 /* 80084710 00081670 98 1F 00 F8 */ stb r0, 0xf8(r31) /* 80084714 00081674 7F C5 F3 78 */ mr r5, r30 /* 80084718 00081678 38 80 00 13 */ li r4, 0x13 /* 8008471C 0008167C 4B FC FC 35 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80084720 00081680 FC 20 F8 90 */ fmr f1, f31 /* 80084724 00081684 7F C3 F3 78 */ mr r3, r30 /* 80084728 00081688 7F E4 FB 78 */ mr r4, r31 /* 8008472C 0008168C 38 A0 00 00 */ li r5, 0 /* 80084730 00081690 48 0F D6 09 */ bl "Move__14CGameCollisionFR13CStateManagerR13CPhysicsActorfPCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80084734 00081694 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80084738 00081698 38 61 00 50 */ addi r3, r1, 0x50 /* 8008473C 0008169C C0 1B 00 04 */ lfs f0, 4(r27) /* 80084740 000816A0 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 80084744 000816A4 C0 5B 00 08 */ lfs f2, 8(r27) /* 80084748 000816A8 EC 81 00 28 */ fsubs f4, f1, f0 /* 8008474C 000816AC C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80084750 000816B0 C0 1B 00 00 */ lfs f0, 0(r27) /* 80084754 000816B4 EC 43 10 28 */ fsubs f2, f3, f2 /* 80084758 000816B8 D0 81 00 54 */ stfs f4, 0x54(r1) /* 8008475C 000816BC EC 01 00 28 */ fsubs f0, f1, f0 /* 80084760 000816C0 D0 41 00 58 */ stfs f2, 0x58(r1) /* 80084764 000816C4 D0 01 00 50 */ stfs f0, 0x50(r1) /* 80084768 000816C8 48 28 FF 91 */ bl CanBeNormalized__9CVector3fCFv /* 8008476C 000816CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084770 000816D0 41 82 00 D8 */ beq lbl_80084848 /* 80084774 000816D4 38 61 00 50 */ addi r3, r1, 0x50 /* 80084778 000816D8 48 29 01 41 */ bl Magnitude__9CVector3fCFv /* 8008477C 000816DC C0 02 89 BC */ lfs f0, lbl_805AA6DC@sda21(r2) /* 80084780 000816E0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084784 000816E4 40 81 00 C4 */ ble lbl_80084848 /* 80084788 000816E8 7F E3 FB 78 */ mr r3, r31 /* 8008478C 000816EC 38 81 00 68 */ addi r4, r1, 0x68 /* 80084790 000816F0 4B FC E6 FD */ bl SetTranslation__6CActorFRC9CVector3f /* 80084794 000816F4 FC 40 F8 90 */ fmr f2, f31 /* 80084798 000816F8 C0 22 8A 00 */ lfs f1, lbl_805AA720@sda21(r2) /* 8008479C 000816FC 7F A4 EB 78 */ mr r4, r29 /* 800847A0 00081700 38 61 00 14 */ addi r3, r1, 0x14 /* 800847A4 00081704 38 A1 00 74 */ addi r5, r1, 0x74 /* 800847A8 00081708 38 C1 00 5C */ addi r6, r1, 0x5c /* 800847AC 0008170C 48 00 03 8D */ bl TweenVelocity__11CBallCameraFRC9CVector3fRC9CVector3fff /* 800847B0 00081710 C0 41 00 14 */ lfs f2, 0x14(r1) /* 800847B4 00081714 7F E3 FB 78 */ mr r3, r31 /* 800847B8 00081718 C0 21 00 18 */ lfs f1, 0x18(r1) /* 800847BC 0008171C 38 81 00 44 */ addi r4, r1, 0x44 /* 800847C0 00081720 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 800847C4 00081724 D0 41 00 44 */ stfs f2, 0x44(r1) /* 800847C8 00081728 D0 21 00 48 */ stfs f1, 0x48(r1) /* 800847CC 0008172C D0 01 00 4C */ stfs f0, 0x4c(r1) /* 800847D0 00081730 48 09 64 D1 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 800847D4 00081734 FC 20 F8 90 */ fmr f1, f31 /* 800847D8 00081738 7F C3 F3 78 */ mr r3, r30 /* 800847DC 0008173C 7F E4 FB 78 */ mr r4, r31 /* 800847E0 00081740 38 A0 00 00 */ li r5, 0 /* 800847E4 00081744 48 0F D5 55 */ bl "Move__14CGameCollisionFR13CStateManagerR13CPhysicsActorfPCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 800847E8 00081748 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 800847EC 0008174C 38 61 00 50 */ addi r3, r1, 0x50 /* 800847F0 00081750 C0 1B 00 04 */ lfs f0, 4(r27) /* 800847F4 00081754 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 800847F8 00081758 C0 5B 00 08 */ lfs f2, 8(r27) /* 800847FC 0008175C EC 81 00 28 */ fsubs f4, f1, f0 /* 80084800 00081760 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80084804 00081764 C0 1B 00 00 */ lfs f0, 0(r27) /* 80084808 00081768 EC 43 10 28 */ fsubs f2, f3, f2 /* 8008480C 0008176C D0 81 00 54 */ stfs f4, 0x54(r1) /* 80084810 00081770 EC 01 00 28 */ fsubs f0, f1, f0 /* 80084814 00081774 D0 41 00 58 */ stfs f2, 0x58(r1) /* 80084818 00081778 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8008481C 0008177C 48 29 00 9D */ bl Magnitude__9CVector3fCFv /* 80084820 00081780 C0 02 89 BC */ lfs f0, lbl_805AA6DC@sda21(r2) /* 80084824 00081784 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084828 00081788 40 81 00 14 */ ble lbl_8008483C /* 8008482C 0008178C 80 7D 04 78 */ lwz r3, 0x478(r29) /* 80084830 00081790 38 03 00 01 */ addi r0, r3, 1 /* 80084834 00081794 90 1D 04 78 */ stw r0, 0x478(r29) /* 80084838 00081798 48 00 00 20 */ b lbl_80084858 lbl_8008483C: /* 8008483C 0008179C 38 00 00 00 */ li r0, 0 /* 80084840 000817A0 90 1D 04 78 */ stw r0, 0x478(r29) /* 80084844 000817A4 48 00 00 14 */ b lbl_80084858 lbl_80084848: /* 80084848 000817A8 7F E3 FB 78 */ mr r3, r31 /* 8008484C 000817AC 48 09 6B 2D */ bl Stop__13CPhysicsActorFv /* 80084850 000817B0 38 00 00 00 */ li r0, 0 /* 80084854 000817B4 90 1D 04 78 */ stw r0, 0x478(r29) lbl_80084858: /* 80084858 000817B8 88 1F 00 F8 */ lbz r0, 0xf8(r31) /* 8008485C 000817BC 38 60 00 00 */ li r3, 0 /* 80084860 000817C0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 80084864 000817C4 7F E3 FB 78 */ mr r3, r31 /* 80084868 000817C8 98 1F 00 F8 */ stb r0, 0xf8(r31) /* 8008486C 000817CC 7F C5 F3 78 */ mr r5, r30 /* 80084870 000817D0 38 80 00 13 */ li r4, 0x13 /* 80084874 000817D4 4B FC F7 0D */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80084878 000817D8 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8008487C 000817DC C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80084880 000817E0 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80084884 000817E4 D0 1C 00 00 */ stfs f0, 0(r28) /* 80084888 000817E8 D0 3C 00 04 */ stfs f1, 4(r28) /* 8008488C 000817EC D0 5C 00 08 */ stfs f2, 8(r28) /* 80084890 000817F0 48 00 00 1C */ b lbl_800848AC lbl_80084894: /* 80084894 000817F4 C0 1B 00 00 */ lfs f0, 0(r27) /* 80084898 000817F8 D0 1C 00 00 */ stfs f0, 0(r28) /* 8008489C 000817FC C0 1B 00 04 */ lfs f0, 4(r27) /* 800848A0 00081800 D0 1C 00 04 */ stfs f0, 4(r28) /* 800848A4 00081804 C0 1B 00 08 */ lfs f0, 8(r27) /* 800848A8 00081808 D0 1C 00 08 */ stfs f0, 8(r28) lbl_800848AC: /* 800848AC 0008180C E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 800848B0 00081810 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 800848B4 00081814 BB 61 00 9C */ lmw r27, 0x9c(r1) /* 800848B8 00081818 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 800848BC 0008181C 7C 08 03 A6 */ mtlr r0 /* 800848C0 00081820 38 21 00 C0 */ addi r1, r1, 0xc0 /* 800848C4 00081824 4E 80 00 20 */ blr .global ClampElevationToWater__11CBallCameraCFRC9CVector3fR13CStateManager ClampElevationToWater__11CBallCameraCFRC9CVector3fR13CStateManager: /* 800848C8 00081828 94 21 FF 90 */ stwu r1, -0x70(r1) /* 800848CC 0008182C 7C 08 02 A6 */ mflr r0 /* 800848D0 00081830 90 01 00 74 */ stw r0, 0x74(r1) /* 800848D4 00081834 DB E1 00 60 */ stfd f31, 0x60(r1) /* 800848D8 00081838 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 800848DC 0008183C DB C1 00 50 */ stfd f30, 0x50(r1) /* 800848E0 00081840 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 800848E4 00081844 DB A1 00 40 */ stfd f29, 0x40(r1) /* 800848E8 00081848 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 800848EC 0008184C 93 E1 00 3C */ stw r31, 0x3c(r1) /* 800848F0 00081850 93 C1 00 38 */ stw r30, 0x38(r1) /* 800848F4 00081854 80 E6 08 4C */ lwz r7, 0x84c(r6) /* 800848F8 00081858 7C 7E 1B 78 */ mr r30, r3 /* 800848FC 0008185C 7C BF 2B 78 */ mr r31, r5 /* 80084900 00081860 7C C3 33 78 */ mr r3, r6 /* 80084904 00081864 A0 07 00 C4 */ lhz r0, 0xc4(r7) /* 80084908 00081868 38 81 00 0C */ addi r4, r1, 0xc /* 8008490C 0008186C B0 01 00 08 */ sth r0, 8(r1) /* 80084910 00081870 B0 01 00 0C */ sth r0, 0xc(r1) /* 80084914 00081874 4B FC 7C 91 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80084918 00081878 7C 64 1B 78 */ mr r4, r3 /* 8008491C 0008187C 38 61 00 10 */ addi r3, r1, 0x10 /* 80084920 00081880 48 02 1F 41 */ bl "__ct__26TCastToPtr<12CScriptWater>FP7CEntity" /* 80084924 00081884 80 83 00 04 */ lwz r4, 4(r3) /* 80084928 00081888 C3 FF 00 00 */ lfs f31, 0(r31) /* 8008492C 0008188C 28 04 00 00 */ cmplwi r4, 0 /* 80084930 00081890 C3 DF 00 04 */ lfs f30, 4(r31) /* 80084934 00081894 C3 BF 00 08 */ lfs f29, 8(r31) /* 80084938 00081898 41 82 00 5C */ beq lbl_80084994 /* 8008493C 0008189C 38 61 00 18 */ addi r3, r1, 0x18 /* 80084940 000818A0 4B FF 1D 8D */ bl GetTriggerBoundsWR__14CScriptTriggerCFv /* 80084944 000818A4 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 80084948 000818A8 C0 5F 00 08 */ lfs f2, 8(r31) /* 8008494C 000818AC FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80084950 000818B0 EC 62 08 28 */ fsubs f3, f2, f1 /* 80084954 000818B4 4C 41 13 82 */ cror 2, 1, 2 /* 80084958 000818B8 40 82 00 1C */ bne lbl_80084974 /* 8008495C 000818BC C0 02 8A 04 */ lfs f0, lbl_805AA724@sda21(r2) /* 80084960 000818C0 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80084964 000818C4 4C 40 13 82 */ cror 2, 0, 2 /* 80084968 000818C8 40 82 00 0C */ bne lbl_80084974 /* 8008496C 000818CC EF A0 08 2A */ fadds f29, f0, f1 /* 80084970 000818D0 48 00 00 24 */ b lbl_80084994 lbl_80084974: /* 80084974 000818D4 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80084978 000818D8 40 80 00 1C */ bge lbl_80084994 /* 8008497C 000818DC C0 02 8A 08 */ lfs f0, lbl_805AA728@sda21(r2) /* 80084980 000818E0 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80084984 000818E4 4C 41 13 82 */ cror 2, 1, 2 /* 80084988 000818E8 40 82 00 0C */ bne lbl_80084994 /* 8008498C 000818EC C0 02 8A 0C */ lfs f0, lbl_805AA72C@sda21(r2) /* 80084990 000818F0 EF A1 00 28 */ fsubs f29, f1, f0 lbl_80084994: /* 80084994 000818F4 D3 FE 00 00 */ stfs f31, 0(r30) /* 80084998 000818F8 D3 DE 00 04 */ stfs f30, 4(r30) /* 8008499C 000818FC D3 BE 00 08 */ stfs f29, 8(r30) /* 800849A0 00081900 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 800849A4 00081904 CB E1 00 60 */ lfd f31, 0x60(r1) /* 800849A8 00081908 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 800849AC 0008190C CB C1 00 50 */ lfd f30, 0x50(r1) /* 800849B0 00081910 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 800849B4 00081914 CB A1 00 40 */ lfd f29, 0x40(r1) /* 800849B8 00081918 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 800849BC 0008191C 80 01 00 74 */ lwz r0, 0x74(r1) /* 800849C0 00081920 83 C1 00 38 */ lwz r30, 0x38(r1) /* 800849C4 00081924 7C 08 03 A6 */ mtlr r0 /* 800849C8 00081928 38 21 00 70 */ addi r1, r1, 0x70 /* 800849CC 0008192C 4E 80 00 20 */ blr .global UpdateAnglePerSecond__11CBallCameraFf UpdateAnglePerSecond__11CBallCameraFf: /* 800849D0 00081930 C0 63 01 A8 */ lfs f3, 0x1a8(r3) /* 800849D4 00081934 C0 43 01 A4 */ lfs f2, 0x1a4(r3) /* 800849D8 00081938 C0 02 8A 10 */ lfs f0, lbl_805AA730@sda21(r2) /* 800849DC 0008193C EC 83 10 28 */ fsubs f4, f3, f2 /* 800849E0 00081940 FC 40 22 10 */ fabs f2, f4 /* 800849E4 00081944 FC 40 10 18 */ frsp f2, f2 /* 800849E8 00081948 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800849EC 0008194C 4C 41 13 82 */ cror 2, 1, 2 /* 800849F0 00081950 40 82 00 44 */ bne lbl_80084A34 /* 800849F4 00081954 C0 42 8A 14 */ lfs f2, lbl_805AA734@sda21(r2) /* 800849F8 00081958 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 800849FC 0008195C EC 64 10 24 */ fdivs f3, f4, f2 /* 80084A00 00081960 FC 40 1A 10 */ fabs f2, f3 /* 80084A04 00081964 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80084A08 00081968 40 81 00 14 */ ble lbl_80084A1C /* 80084A0C 0008196C C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80084A10 00081970 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80084A14 00081974 FC 03 00 AE */ fsel f0, f3, f2, f0 /* 80084A18 00081978 EC 62 00 32 */ fmuls f3, f2, f0 lbl_80084A1C: /* 80084A1C 0008197C C0 42 8A 18 */ lfs f2, lbl_805AA738@sda21(r2) /* 80084A20 00081980 C0 03 01 A4 */ lfs f0, 0x1a4(r3) /* 80084A24 00081984 EC 22 00 72 */ fmuls f1, f2, f1 /* 80084A28 00081988 EC 03 00 7A */ fmadds f0, f3, f1, f0 /* 80084A2C 0008198C D0 03 01 A4 */ stfs f0, 0x1a4(r3) /* 80084A30 00081990 4E 80 00 20 */ blr lbl_80084A34: /* 80084A34 00081994 D0 63 01 A4 */ stfs f3, 0x1a4(r3) /* 80084A38 00081998 4E 80 00 20 */ blr .global ComputeVelocity__11CBallCameraCFRC9CVector3fRC9CVector3f ComputeVelocity__11CBallCameraCFRC9CVector3fRC9CVector3f: /* 80084A3C 0008199C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80084A40 000819A0 7C 08 02 A6 */ mflr r0 /* 80084A44 000819A4 90 01 00 44 */ stw r0, 0x44(r1) /* 80084A48 000819A8 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80084A4C 000819AC F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80084A50 000819B0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80084A54 000819B4 93 C1 00 28 */ stw r30, 0x28(r1) /* 80084A58 000819B8 C0 46 00 00 */ lfs f2, 0(r6) /* 80084A5C 000819BC 7C 7E 1B 78 */ mr r30, r3 /* 80084A60 000819C0 C0 26 00 04 */ lfs f1, 4(r6) /* 80084A64 000819C4 7C 9F 23 78 */ mr r31, r4 /* 80084A68 000819C8 C0 06 00 08 */ lfs f0, 8(r6) /* 80084A6C 000819CC 38 61 00 14 */ addi r3, r1, 0x14 /* 80084A70 000819D0 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80084A74 000819D4 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80084A78 000819D8 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80084A7C 000819DC 48 28 FE 3D */ bl Magnitude__9CVector3fCFv /* 80084A80 000819E0 C0 5F 04 70 */ lfs f2, 0x470(r31) /* 80084A84 000819E4 FF E0 08 90 */ fmr f31, f1 /* 80084A88 000819E8 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80084A8C 000819EC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80084A90 000819F0 40 81 00 70 */ ble lbl_80084B00 /* 80084A94 000819F4 38 61 00 14 */ addi r3, r1, 0x14 /* 80084A98 000819F8 48 28 FC 61 */ bl CanBeNormalized__9CVector3fCFv /* 80084A9C 000819FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084AA0 00081A00 41 82 00 60 */ beq lbl_80084B00 /* 80084AA4 00081A04 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 80084AA8 00081A08 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80084AAC 00081A0C 40 82 00 54 */ bne lbl_80084B00 /* 80084AB0 00081A10 FC 20 FA 10 */ fabs f1, f31 /* 80084AB4 00081A14 C0 1F 04 74 */ lfs f0, 0x474(r31) /* 80084AB8 00081A18 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084ABC 00081A1C 40 81 00 14 */ ble lbl_80084AD0 /* 80084AC0 00081A20 C0 42 89 F8 */ lfs f2, lbl_805AA718@sda21(r2) /* 80084AC4 00081A24 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80084AC8 00081A28 FC 3F 10 6E */ fsel f1, f31, f1, f2 /* 80084ACC 00081A2C EF E0 00 72 */ fmuls f31, f0, f1 lbl_80084AD0: /* 80084AD0 00081A30 38 61 00 08 */ addi r3, r1, 8 /* 80084AD4 00081A34 38 81 00 14 */ addi r4, r1, 0x14 /* 80084AD8 00081A38 48 28 FD 79 */ bl AsNormalized__9CVector3fCFv /* 80084ADC 00081A3C C0 41 00 10 */ lfs f2, 0x10(r1) /* 80084AE0 00081A40 C0 21 00 08 */ lfs f1, 8(r1) /* 80084AE4 00081A44 C0 01 00 0C */ lfs f0, 0xc(r1) /* 80084AE8 00081A48 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80084AEC 00081A4C EC 3F 00 72 */ fmuls f1, f31, f1 /* 80084AF0 00081A50 EC 1F 00 32 */ fmuls f0, f31, f0 /* 80084AF4 00081A54 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80084AF8 00081A58 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80084AFC 00081A5C D0 01 00 18 */ stfs f0, 0x18(r1) lbl_80084B00: /* 80084B00 00081A60 C0 01 00 14 */ lfs f0, 0x14(r1) /* 80084B04 00081A64 D0 1E 00 00 */ stfs f0, 0(r30) /* 80084B08 00081A68 C0 01 00 18 */ lfs f0, 0x18(r1) /* 80084B0C 00081A6C D0 1E 00 04 */ stfs f0, 4(r30) /* 80084B10 00081A70 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80084B14 00081A74 D0 1E 00 08 */ stfs f0, 8(r30) /* 80084B18 00081A78 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80084B1C 00081A7C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80084B20 00081A80 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80084B24 00081A84 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80084B28 00081A88 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80084B2C 00081A8C 7C 08 03 A6 */ mtlr r0 /* 80084B30 00081A90 38 21 00 40 */ addi r1, r1, 0x40 /* 80084B34 00081A94 4E 80 00 20 */ blr .global TweenVelocity__11CBallCameraFRC9CVector3fRC9CVector3fff TweenVelocity__11CBallCameraFRC9CVector3fRC9CVector3fff: /* 80084B38 00081A98 94 21 FF 70 */ stwu r1, -0x90(r1) /* 80084B3C 00081A9C 7C 08 02 A6 */ mflr r0 /* 80084B40 00081AA0 90 01 00 94 */ stw r0, 0x94(r1) /* 80084B44 00081AA4 DB E1 00 80 */ stfd f31, 0x80(r1) /* 80084B48 00081AA8 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 80084B4C 00081AAC DB C1 00 70 */ stfd f30, 0x70(r1) /* 80084B50 00081AB0 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 80084B54 00081AB4 DB A1 00 60 */ stfd f29, 0x60(r1) /* 80084B58 00081AB8 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 80084B5C 00081ABC DB 81 00 50 */ stfd f28, 0x50(r1) /* 80084B60 00081AC0 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0 /* 80084B64 00081AC4 DB 61 00 40 */ stfd f27, 0x40(r1) /* 80084B68 00081AC8 F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0 /* 80084B6C 00081ACC DB 41 00 30 */ stfd f26, 0x30(r1) /* 80084B70 00081AD0 F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0 /* 80084B74 00081AD4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80084B78 00081AD8 93 C1 00 28 */ stw r30, 0x28(r1) /* 80084B7C 00081ADC 7C DF 33 78 */ mr r31, r6 /* 80084B80 00081AE0 7C 7E 1B 78 */ mr r30, r3 /* 80084B84 00081AE4 C3 C5 00 00 */ lfs f30, 0(r5) /* 80084B88 00081AE8 FF 40 08 90 */ fmr f26, f1 /* 80084B8C 00081AEC C0 06 00 00 */ lfs f0, 0(r6) /* 80084B90 00081AF0 FF 60 10 90 */ fmr f27, f2 /* 80084B94 00081AF4 C3 A5 00 04 */ lfs f29, 4(r5) /* 80084B98 00081AF8 38 61 00 14 */ addi r3, r1, 0x14 /* 80084B9C 00081AFC C0 46 00 04 */ lfs f2, 4(r6) /* 80084BA0 00081B00 EC 00 F0 28 */ fsubs f0, f0, f30 /* 80084BA4 00081B04 C3 85 00 08 */ lfs f28, 8(r5) /* 80084BA8 00081B08 C0 26 00 08 */ lfs f1, 8(r6) /* 80084BAC 00081B0C EC 42 E8 28 */ fsubs f2, f2, f29 /* 80084BB0 00081B10 EC 21 E0 28 */ fsubs f1, f1, f28 /* 80084BB4 00081B14 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80084BB8 00081B18 D0 41 00 18 */ stfs f2, 0x18(r1) /* 80084BBC 00081B1C D0 21 00 1C */ stfs f1, 0x1c(r1) /* 80084BC0 00081B20 48 28 FB 39 */ bl CanBeNormalized__9CVector3fCFv /* 80084BC4 00081B24 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084BC8 00081B28 41 82 00 80 */ beq lbl_80084C48 /* 80084BCC 00081B2C 38 61 00 14 */ addi r3, r1, 0x14 /* 80084BD0 00081B30 48 28 FC E9 */ bl Magnitude__9CVector3fCFv /* 80084BD4 00081B34 EC 5A 06 F2 */ fmuls f2, f26, f27 /* 80084BD8 00081B38 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80084BDC 00081B3C EF E1 10 24 */ fdivs f31, f1, f2 /* 80084BE0 00081B40 FC 20 FA 10 */ fabs f1, f31 /* 80084BE4 00081B44 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80084BE8 00081B48 40 81 00 14 */ ble lbl_80084BFC /* 80084BEC 00081B4C C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80084BF0 00081B50 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80084BF4 00081B54 FC 1F 00 6E */ fsel f0, f31, f1, f0 /* 80084BF8 00081B58 EF E1 00 32 */ fmuls f31, f1, f0 lbl_80084BFC: /* 80084BFC 00081B5C 38 61 00 08 */ addi r3, r1, 8 /* 80084C00 00081B60 38 81 00 14 */ addi r4, r1, 0x14 /* 80084C04 00081B64 48 28 FC 4D */ bl AsNormalized__9CVector3fCFv /* 80084C08 00081B68 C0 41 00 08 */ lfs f2, 8(r1) /* 80084C0C 00081B6C C0 21 00 0C */ lfs f1, 0xc(r1) /* 80084C10 00081B70 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80084C14 00081B74 EC 5A 00 B2 */ fmuls f2, f26, f2 /* 80084C18 00081B78 EC 3A 00 72 */ fmuls f1, f26, f1 /* 80084C1C 00081B7C EC 1A 00 32 */ fmuls f0, f26, f0 /* 80084C20 00081B80 EC 5B 00 B2 */ fmuls f2, f27, f2 /* 80084C24 00081B84 EC 3B 00 72 */ fmuls f1, f27, f1 /* 80084C28 00081B88 EC 1B 00 32 */ fmuls f0, f27, f0 /* 80084C2C 00081B8C EC 5F 00 B2 */ fmuls f2, f31, f2 /* 80084C30 00081B90 EC 3F 00 72 */ fmuls f1, f31, f1 /* 80084C34 00081B94 EC 1F 00 32 */ fmuls f0, f31, f0 /* 80084C38 00081B98 EC 5E 10 2A */ fadds f2, f30, f2 /* 80084C3C 00081B9C EC 3D 08 2A */ fadds f1, f29, f1 /* 80084C40 00081BA0 EC 1C 00 2A */ fadds f0, f28, f0 /* 80084C44 00081BA4 48 00 00 10 */ b lbl_80084C54 lbl_80084C48: /* 80084C48 00081BA8 C0 5F 00 00 */ lfs f2, 0(r31) /* 80084C4C 00081BAC C0 3F 00 04 */ lfs f1, 4(r31) /* 80084C50 00081BB0 C0 1F 00 08 */ lfs f0, 8(r31) lbl_80084C54: /* 80084C54 00081BB4 D0 5E 00 00 */ stfs f2, 0(r30) /* 80084C58 00081BB8 D0 3E 00 04 */ stfs f1, 4(r30) /* 80084C5C 00081BBC D0 1E 00 08 */ stfs f0, 8(r30) /* 80084C60 00081BC0 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 80084C64 00081BC4 CB E1 00 80 */ lfd f31, 0x80(r1) /* 80084C68 00081BC8 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 80084C6C 00081BCC CB C1 00 70 */ lfd f30, 0x70(r1) /* 80084C70 00081BD0 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 80084C74 00081BD4 CB A1 00 60 */ lfd f29, 0x60(r1) /* 80084C78 00081BD8 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0 /* 80084C7C 00081BDC CB 81 00 50 */ lfd f28, 0x50(r1) /* 80084C80 00081BE0 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0 /* 80084C84 00081BE4 CB 61 00 40 */ lfd f27, 0x40(r1) /* 80084C88 00081BE8 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0 /* 80084C8C 00081BEC CB 41 00 30 */ lfd f26, 0x30(r1) /* 80084C90 00081BF0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80084C94 00081BF4 80 01 00 94 */ lwz r0, 0x94(r1) /* 80084C98 00081BF8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80084C9C 00081BFC 7C 08 03 A6 */ mtlr r0 /* 80084CA0 00081C00 38 21 00 90 */ addi r1, r1, 0x90 /* 80084CA4 00081C04 4E 80 00 20 */ blr .global UpdateUsingPathCameras__11CBallCameraFfR13CStateManager UpdateUsingPathCameras__11CBallCameraFfR13CStateManager: /* 80084CA8 00081C08 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80084CAC 00081C0C 7C 08 02 A6 */ mflr r0 /* 80084CB0 00081C10 90 01 00 24 */ stw r0, 0x24(r1) /* 80084CB4 00081C14 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80084CB8 00081C18 7C 9F 23 78 */ mr r31, r4 /* 80084CBC 00081C1C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80084CC0 00081C20 7C 7E 1B 78 */ mr r30, r3 /* 80084CC4 00081C24 38 61 00 08 */ addi r3, r1, 8 /* 80084CC8 00081C28 80 84 08 70 */ lwz r4, 0x870(r4) /* 80084CCC 00081C2C 4B F8 45 F1 */ bl GetPathCameraId__14CCameraManagerCFv /* 80084CD0 00081C30 A0 01 00 08 */ lhz r0, 8(r1) /* 80084CD4 00081C34 7F E3 FB 78 */ mr r3, r31 /* 80084CD8 00081C38 38 81 00 0C */ addi r4, r1, 0xc /* 80084CDC 00081C3C B0 01 00 0C */ sth r0, 0xc(r1) /* 80084CE0 00081C40 4B FC 78 95 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80084CE4 00081C44 7C 64 1B 78 */ mr r4, r3 /* 80084CE8 00081C48 38 61 00 10 */ addi r3, r1, 0x10 /* 80084CEC 00081C4C 48 02 80 E9 */ bl "__ct__25TCastToPtr<11CPathCamera>FP7CEntity" /* 80084CF0 00081C50 80 83 00 04 */ lwz r4, 4(r3) /* 80084CF4 00081C54 28 04 00 00 */ cmplwi r4, 0 /* 80084CF8 00081C58 41 82 00 24 */ beq lbl_80084D1C /* 80084CFC 00081C5C 7F C3 F3 78 */ mr r3, r30 /* 80084D00 00081C60 7F E5 FB 78 */ mr r5, r31 /* 80084D04 00081C64 38 84 00 34 */ addi r4, r4, 0x34 /* 80084D08 00081C68 48 00 7C F1 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 80084D0C 00081C6C 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80084D10 00081C70 38 60 00 01 */ li r3, 1 /* 80084D14 00081C74 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80084D18 00081C78 98 1E 01 8D */ stb r0, 0x18d(r30) lbl_80084D1C: /* 80084D1C 00081C7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80084D20 00081C80 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80084D24 00081C84 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80084D28 00081C88 7C 08 03 A6 */ mtlr r0 /* 80084D2C 00081C8C 38 21 00 20 */ addi r1, r1, 0x20 /* 80084D30 00081C90 4E 80 00 20 */ blr .global UpdateUsingSpindleCameras__11CBallCameraFfR13CStateManager UpdateUsingSpindleCameras__11CBallCameraFfR13CStateManager: /* 80084D34 00081C94 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80084D38 00081C98 7C 08 02 A6 */ mflr r0 /* 80084D3C 00081C9C 90 01 00 24 */ stw r0, 0x24(r1) /* 80084D40 00081CA0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80084D44 00081CA4 7C 9F 23 78 */ mr r31, r4 /* 80084D48 00081CA8 93 C1 00 18 */ stw r30, 0x18(r1) /* 80084D4C 00081CAC 7C 7E 1B 78 */ mr r30, r3 /* 80084D50 00081CB0 38 61 00 08 */ addi r3, r1, 8 /* 80084D54 00081CB4 80 84 08 70 */ lwz r4, 0x870(r4) /* 80084D58 00081CB8 4B F8 44 AD */ bl GetSpindleCameraId__14CCameraManagerCFv /* 80084D5C 00081CBC A0 01 00 08 */ lhz r0, 8(r1) /* 80084D60 00081CC0 7F E3 FB 78 */ mr r3, r31 /* 80084D64 00081CC4 38 81 00 0C */ addi r4, r1, 0xc /* 80084D68 00081CC8 B0 01 00 0C */ sth r0, 0xc(r1) /* 80084D6C 00081CCC 4B FC 78 09 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80084D70 00081CD0 7C 64 1B 78 */ mr r4, r3 /* 80084D74 00081CD4 38 61 00 10 */ addi r3, r1, 0x10 /* 80084D78 00081CD8 48 02 11 AD */ bl "__ct__34TCastToPtr<20CScriptSpindleCamera>FP7CEntity" /* 80084D7C 00081CDC 80 83 00 04 */ lwz r4, 4(r3) /* 80084D80 00081CE0 28 04 00 00 */ cmplwi r4, 0 /* 80084D84 00081CE4 41 82 00 24 */ beq lbl_80084DA8 /* 80084D88 00081CE8 7F C3 F3 78 */ mr r3, r30 /* 80084D8C 00081CEC 7F E5 FB 78 */ mr r5, r31 /* 80084D90 00081CF0 38 84 00 34 */ addi r4, r4, 0x34 /* 80084D94 00081CF4 48 00 7C 65 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 80084D98 00081CF8 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80084D9C 00081CFC 38 60 00 01 */ li r3, 1 /* 80084DA0 00081D00 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80084DA4 00081D04 98 1E 01 8D */ stb r0, 0x18d(r30) lbl_80084DA8: /* 80084DA8 00081D08 80 01 00 24 */ lwz r0, 0x24(r1) /* 80084DAC 00081D0C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80084DB0 00081D10 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80084DB4 00081D14 7C 08 03 A6 */ mtlr r0 /* 80084DB8 00081D18 38 21 00 20 */ addi r1, r1, 0x20 /* 80084DBC 00081D1C 4E 80 00 20 */ blr .global UpdateUsingTransitions__11CBallCameraFfR13CStateManager UpdateUsingTransitions__11CBallCameraFfR13CStateManager: /* 80084DC0 00081D20 94 21 FC 60 */ stwu r1, -0x3a0(r1) /* 80084DC4 00081D24 7C 08 02 A6 */ mflr r0 /* 80084DC8 00081D28 90 01 03 A4 */ stw r0, 0x3a4(r1) /* 80084DCC 00081D2C DB E1 03 90 */ stfd f31, 0x390(r1) /* 80084DD0 00081D30 F3 E1 03 98 */ psq_st f31, 920(r1), 0, qr0 /* 80084DD4 00081D34 DB C1 03 80 */ stfd f30, 0x380(r1) /* 80084DD8 00081D38 F3 C1 03 88 */ psq_st f30, 904(r1), 0, qr0 /* 80084DDC 00081D3C DB A1 03 70 */ stfd f29, 0x370(r1) /* 80084DE0 00081D40 F3 A1 03 78 */ psq_st f29, 888(r1), 0, qr0 /* 80084DE4 00081D44 DB 81 03 60 */ stfd f28, 0x360(r1) /* 80084DE8 00081D48 F3 81 03 68 */ psq_st f28, 872(r1), 0, qr0 /* 80084DEC 00081D4C DB 61 03 50 */ stfd f27, 0x350(r1) /* 80084DF0 00081D50 F3 61 03 58 */ psq_st f27, 856(r1), 0, qr0 /* 80084DF4 00081D54 DB 41 03 40 */ stfd f26, 0x340(r1) /* 80084DF8 00081D58 F3 41 03 48 */ psq_st f26, 840(r1), 0, qr0 /* 80084DFC 00081D5C DB 21 03 30 */ stfd f25, 0x330(r1) /* 80084E00 00081D60 F3 21 03 38 */ psq_st f25, 824(r1), 0, qr0 /* 80084E04 00081D64 DB 01 03 20 */ stfd f24, 0x320(r1) /* 80084E08 00081D68 F3 01 03 28 */ psq_st f24, 808(r1), 0, qr0 /* 80084E0C 00081D6C DA E1 03 10 */ stfd f23, 0x310(r1) /* 80084E10 00081D70 F2 E1 03 18 */ psq_st f23, 792(r1), 0, qr0 /* 80084E14 00081D74 DA C1 03 00 */ stfd f22, 0x300(r1) /* 80084E18 00081D78 F2 C1 03 08 */ psq_st f22, 776(r1), 0, qr0 /* 80084E1C 00081D7C 93 E1 02 FC */ stw r31, 0x2fc(r1) /* 80084E20 00081D80 93 C1 02 F8 */ stw r30, 0x2f8(r1) /* 80084E24 00081D84 93 A1 02 F4 */ stw r29, 0x2f4(r1) /* 80084E28 00081D88 93 81 02 F0 */ stw r28, 0x2f0(r1) /* 80084E2C 00081D8C 7C 7D 1B 78 */ mr r29, r3 /* 80084E30 00081D90 FF E0 08 90 */ fmr f31, f1 /* 80084E34 00081D94 80 03 04 00 */ lwz r0, 0x400(r3) /* 80084E38 00081D98 7C 9E 23 78 */ mr r30, r4 /* 80084E3C 00081D9C 2C 00 00 05 */ cmpwi r0, 5 /* 80084E40 00081DA0 40 82 00 0C */ bne lbl_80084E4C /* 80084E44 00081DA4 48 1B 98 85 */ bl UpdateTransitionFromBallCamera__11CBallCameraFR13CStateManager /* 80084E48 00081DA8 48 00 09 F0 */ b lbl_80085838 lbl_80084E4C: /* 80084E4C 00081DAC 88 1D 01 8D */ lbz r0, 0x18d(r29) /* 80084E50 00081DB0 38 60 00 00 */ li r3, 0 /* 80084E54 00081DB4 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80084E58 00081DB8 38 61 01 10 */ addi r3, r1, 0x110 /* 80084E5C 00081DBC 98 1D 01 8D */ stb r0, 0x18d(r29) /* 80084E60 00081DC0 83 FE 08 4C */ lwz r31, 0x84c(r30) /* 80084E64 00081DC4 7F E4 FB 78 */ mr r4, r31 /* 80084E68 00081DC8 48 1F FE E1 */ bl GetBallPosition__7CPlayerCFv /* 80084E6C 00081DCC C3 61 01 10 */ lfs f27, 0x110(r1) /* 80084E70 00081DD0 7F E4 FB 78 */ mr r4, r31 /* 80084E74 00081DD4 C3 41 01 14 */ lfs f26, 0x114(r1) /* 80084E78 00081DD8 38 61 01 04 */ addi r3, r1, 0x104 /* 80084E7C 00081DDC C2 C1 01 18 */ lfs f22, 0x118(r1) /* 80084E80 00081DE0 48 1F FE FD */ bl GetEyePosition__7CPlayerCFv /* 80084E84 00081DE4 C0 1D 01 BC */ lfs f0, 0x1bc(r29) /* 80084E88 00081DE8 38 9D 00 34 */ addi r4, r29, 0x34 /* 80084E8C 00081DEC C3 21 01 04 */ lfs f25, 0x104(r1) /* 80084E90 00081DF0 38 61 02 B8 */ addi r3, r1, 0x2b8 /* 80084E94 00081DF4 EE D6 00 2A */ fadds f22, f22, f0 /* 80084E98 00081DF8 C3 01 01 08 */ lfs f24, 0x108(r1) /* 80084E9C 00081DFC C2 E1 01 0C */ lfs f23, 0x10c(r1) /* 80084EA0 00081E00 C3 9D 00 58 */ lfs f28, 0x58(r29) /* 80084EA4 00081E04 C3 BD 00 48 */ lfs f29, 0x48(r29) /* 80084EA8 00081E08 C3 DD 00 38 */ lfs f30, 0x38(r29) /* 80084EAC 00081E0C 48 28 DC C9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80084EB0 00081E10 80 1D 04 00 */ lwz r0, 0x400(r29) /* 80084EB4 00081E14 2C 00 00 05 */ cmpwi r0, 5 /* 80084EB8 00081E18 41 82 04 80 */ beq lbl_80085338 /* 80084EBC 00081E1C 40 80 09 5C */ bge lbl_80085818 /* 80084EC0 00081E20 2C 00 00 04 */ cmpwi r0, 4 /* 80084EC4 00081E24 40 80 00 08 */ bge lbl_80084ECC /* 80084EC8 00081E28 48 00 09 50 */ b lbl_80085818 lbl_80084ECC: /* 80084ECC 00081E2C C0 1D 01 94 */ lfs f0, 0x194(r29) /* 80084ED0 00081E30 FC 20 F8 90 */ fmr f1, f31 /* 80084ED4 00081E34 7F A3 EB 78 */ mr r3, r29 /* 80084ED8 00081E38 7F C6 F3 78 */ mr r6, r30 /* 80084EDC 00081E3C D0 01 00 28 */ stfs f0, 0x28(r1) /* 80084EE0 00081E40 38 81 00 24 */ addi r4, r1, 0x24 /* 80084EE4 00081E44 38 A1 00 28 */ addi r5, r1, 0x28 /* 80084EE8 00081E48 C0 1D 01 A0 */ lfs f0, 0x1a0(r29) /* 80084EEC 00081E4C D0 01 00 24 */ stfs f0, 0x24(r1) /* 80084EF0 00081E50 48 00 47 DD */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80084EF4 00081E54 C0 1D 01 94 */ lfs f0, 0x194(r29) /* 80084EF8 00081E58 7F C4 F3 78 */ mr r4, r30 /* 80084EFC 00081E5C 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80084F00 00081E60 3B 80 00 00 */ li r28, 0 /* 80084F04 00081E64 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80084F08 00081E68 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80084F0C 00081E6C C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80084F10 00081E70 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80084F14 00081E74 D0 01 00 F8 */ stfs f0, 0xf8(r1) /* 80084F18 00081E78 D0 21 00 FC */ stfs f1, 0xfc(r1) /* 80084F1C 00081E7C D0 41 01 00 */ stfs f2, 0x100(r1) /* 80084F20 00081E80 4B FF E2 1D */ bl IsBallNearDoor__11CBallCameraCFRC9CVector3fR13CStateManager /* 80084F24 00081E84 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80084F28 00081E88 40 82 00 10 */ bne lbl_80084F38 /* 80084F2C 00081E8C 80 1D 04 78 */ lwz r0, 0x478(r29) /* 80084F30 00081E90 2C 00 00 02 */ cmpwi r0, 2 /* 80084F34 00081E94 40 81 00 08 */ ble lbl_80084F3C lbl_80084F38: /* 80084F38 00081E98 3B 80 00 01 */ li r28, 1 lbl_80084F3C: /* 80084F3C 00081E9C 81 3E 08 4C */ lwz r9, 0x84c(r30) /* 80084F40 00081EA0 7F A4 EB 78 */ mr r4, r29 /* 80084F44 00081EA4 C0 21 00 28 */ lfs f1, 0x28(r1) /* 80084F48 00081EA8 7F C6 F3 78 */ mr r6, r30 /* 80084F4C 00081EAC 81 09 05 0C */ lwz r8, 0x50c(r9) /* 80084F50 00081EB0 38 61 00 EC */ addi r3, r1, 0xec /* 80084F54 00081EB4 80 09 05 10 */ lwz r0, 0x510(r9) /* 80084F58 00081EB8 38 A1 00 E0 */ addi r5, r1, 0xe0 /* 80084F5C 00081EBC C0 41 00 24 */ lfs f2, 0x24(r1) /* 80084F60 00081EC0 57 87 06 3E */ clrlwi r7, r28, 0x18 /* 80084F64 00081EC4 91 01 00 E0 */ stw r8, 0xe0(r1) /* 80084F68 00081EC8 90 01 00 E4 */ stw r0, 0xe4(r1) /* 80084F6C 00081ECC 80 09 05 14 */ lwz r0, 0x514(r9) /* 80084F70 00081ED0 90 01 00 E8 */ stw r0, 0xe8(r1) /* 80084F74 00081ED4 48 00 4D 41 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80084F78 00081ED8 C0 41 00 EC */ lfs f2, 0xec(r1) /* 80084F7C 00081EDC C0 21 00 F0 */ lfs f1, 0xf0(r1) /* 80084F80 00081EE0 C0 01 00 F4 */ lfs f0, 0xf4(r1) /* 80084F84 00081EE4 EF 62 C8 28 */ fsubs f27, f2, f25 /* 80084F88 00081EE8 C0 62 89 B0 */ lfs f3, lbl_805AA6D0@sda21(r2) /* 80084F8C 00081EEC EF 41 C0 28 */ fsubs f26, f1, f24 /* 80084F90 00081EF0 C0 3F 05 78 */ lfs f1, 0x578(r31) /* 80084F94 00081EF4 EE C0 B8 28 */ fsubs f22, f0, f23 /* 80084F98 00081EF8 FC 03 08 00 */ fcmpu cr0, f3, f1 /* 80084F9C 00081EFC 40 82 00 08 */ bne lbl_80084FA4 /* 80084FA0 00081F00 48 00 00 24 */ b lbl_80084FC4 lbl_80084FA4: /* 80084FA4 00081F04 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 80084FA8 00081F08 38 81 00 0C */ addi r4, r1, 0xc /* 80084FAC 00081F0C 38 6D 84 58 */ addi r3, r13, lbl_805A7018@sda21 /* 80084FB0 00081F10 38 AD 84 5C */ addi r5, r13, lbl_805A701C@sda21 /* 80084FB4 00081F14 EC 00 08 24 */ fdivs f0, f0, f1 /* 80084FB8 00081F18 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80084FBC 00081F1C 4B F8 72 F9 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80084FC0 00081F20 C0 63 00 00 */ lfs f3, 0(r3) lbl_80084FC4: /* 80084FC4 00081F24 EC 43 06 F2 */ fmuls f2, f3, f27 /* 80084FC8 00081F28 7F C3 F3 78 */ mr r3, r30 /* 80084FCC 00081F2C EC 23 06 B2 */ fmuls f1, f3, f26 /* 80084FD0 00081F30 38 81 00 08 */ addi r4, r1, 8 /* 80084FD4 00081F34 EC 03 05 B2 */ fmuls f0, f3, f22 /* 80084FD8 00081F38 EC 59 10 2A */ fadds f2, f25, f2 /* 80084FDC 00081F3C EC 38 08 2A */ fadds f1, f24, f1 /* 80084FE0 00081F40 EC 17 00 2A */ fadds f0, f23, f0 /* 80084FE4 00081F44 D0 41 01 8C */ stfs f2, 0x18c(r1) /* 80084FE8 00081F48 D0 21 01 90 */ stfs f1, 0x190(r1) /* 80084FEC 00081F4C D0 01 01 94 */ stfs f0, 0x194(r1) /* 80084FF0 00081F50 A0 1D 04 6C */ lhz r0, 0x46c(r29) /* 80084FF4 00081F54 B0 01 00 08 */ sth r0, 8(r1) /* 80084FF8 00081F58 4B FC 75 7D */ bl ObjectById__13CStateManagerF9TUniqueId /* 80084FFC 00081F5C 7C 64 1B 78 */ mr r4, r3 /* 80085000 00081F60 38 61 00 2C */ addi r3, r1, 0x2c /* 80085004 00081F64 48 02 76 E1 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity" /* 80085008 00081F68 80 63 00 04 */ lwz r3, 4(r3) /* 8008500C 00081F6C 28 03 00 00 */ cmplwi r3, 0 /* 80085010 00081F70 41 82 02 C0 */ beq lbl_800852D0 /* 80085014 00081F74 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80085018 00081F78 38 81 00 D4 */ addi r4, r1, 0xd4 /* 8008501C 00081F7C C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80085020 00081F80 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80085024 00081F84 D0 01 00 D4 */ stfs f0, 0xd4(r1) /* 80085028 00081F88 D0 21 00 D8 */ stfs f1, 0xd8(r1) /* 8008502C 00081F8C D0 41 00 DC */ stfs f2, 0xdc(r1) /* 80085030 00081F90 4B FC DE 5D */ bl SetTranslation__6CActorFRC9CVector3f /* 80085034 00081F94 80 A1 01 8C */ lwz r5, 0x18c(r1) /* 80085038 00081F98 7F A4 EB 78 */ mr r4, r29 /* 8008503C 00081F9C 80 E1 01 90 */ lwz r7, 0x190(r1) /* 80085040 00081FA0 7F C6 F3 78 */ mr r6, r30 /* 80085044 00081FA4 80 01 01 94 */ lwz r0, 0x194(r1) /* 80085048 00081FA8 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8008504C 00081FAC 90 A1 00 BC */ stw r5, 0xbc(r1) /* 80085050 00081FB0 38 A1 00 BC */ addi r5, r1, 0xbc /* 80085054 00081FB4 90 E1 00 C0 */ stw r7, 0xc0(r1) /* 80085058 00081FB8 90 01 00 C4 */ stw r0, 0xc4(r1) /* 8008505C 00081FBC 4B FF F8 6D */ bl ClampElevationToWater__11CBallCameraCFRC9CVector3fR13CStateManager /* 80085060 00081FC0 C0 61 00 C8 */ lfs f3, 0xc8(r1) /* 80085064 00081FC4 FC 20 F8 90 */ fmr f1, f31 /* 80085068 00081FC8 C0 41 00 CC */ lfs f2, 0xcc(r1) /* 8008506C 00081FCC 7F A4 EB 78 */ mr r4, r29 /* 80085070 00081FD0 C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 80085074 00081FD4 7F C6 F3 78 */ mr r6, r30 /* 80085078 00081FD8 D0 61 01 8C */ stfs f3, 0x18c(r1) /* 8008507C 00081FDC 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80085080 00081FE0 38 A1 01 8C */ addi r5, r1, 0x18c /* 80085084 00081FE4 D0 41 01 90 */ stfs f2, 0x190(r1) /* 80085088 00081FE8 D0 01 01 94 */ stfs f0, 0x194(r1) /* 8008508C 00081FEC 4B FF F4 DD */ bl MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager /* 80085090 00081FF0 C0 A1 00 B0 */ lfs f5, 0xb0(r1) /* 80085094 00081FF4 38 61 01 80 */ addi r3, r1, 0x180 /* 80085098 00081FF8 C0 81 00 B4 */ lfs f4, 0xb4(r1) /* 8008509C 00081FFC C0 61 00 B8 */ lfs f3, 0xb8(r1) /* 800850A0 00082000 D0 A1 01 8C */ stfs f5, 0x18c(r1) /* 800850A4 00082004 D0 81 01 90 */ stfs f4, 0x190(r1) /* 800850A8 00082008 D0 61 01 94 */ stfs f3, 0x194(r1) /* 800850AC 0008200C C0 5F 00 58 */ lfs f2, 0x58(r31) /* 800850B0 00082010 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 800850B4 00082014 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 800850B8 00082018 D0 01 01 80 */ stfs f0, 0x180(r1) /* 800850BC 0008201C D0 21 01 84 */ stfs f1, 0x184(r1) /* 800850C0 00082020 D0 41 01 88 */ stfs f2, 0x188(r1) /* 800850C4 00082024 C0 5D 01 DC */ lfs f2, 0x1dc(r29) /* 800850C8 00082028 C0 3D 01 E0 */ lfs f1, 0x1e0(r29) /* 800850CC 0008202C C0 1D 01 D8 */ lfs f0, 0x1d8(r29) /* 800850D0 00082030 EC 42 20 28 */ fsubs f2, f2, f4 /* 800850D4 00082034 EC 21 18 28 */ fsubs f1, f1, f3 /* 800850D8 00082038 EC 00 28 28 */ fsubs f0, f0, f5 /* 800850DC 0008203C D0 41 01 84 */ stfs f2, 0x184(r1) /* 800850E0 00082040 D0 01 01 80 */ stfs f0, 0x180(r1) /* 800850E4 00082044 D0 21 01 88 */ stfs f1, 0x188(r1) /* 800850E8 00082048 48 28 F6 11 */ bl CanBeNormalized__9CVector3fCFv /* 800850EC 0008204C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800850F0 00082050 41 82 01 E0 */ beq lbl_800852D0 /* 800850F4 00082054 38 61 01 80 */ addi r3, r1, 0x180 /* 800850F8 00082058 48 28 F8 01 */ bl Normalize__9CVector3fFv /* 800850FC 0008205C C0 01 01 84 */ lfs f0, 0x184(r1) /* 80085100 00082060 C0 41 01 80 */ lfs f2, 0x180(r1) /* 80085104 00082064 EC 3D 00 32 */ fmuls f1, f29, f0 /* 80085108 00082068 C0 61 01 88 */ lfs f3, 0x188(r1) /* 8008510C 0008206C C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80085110 00082070 EC 3E 08 BA */ fmadds f1, f30, f2, f1 /* 80085114 00082074 EC 5C 08 FA */ fmadds f2, f28, f3, f1 /* 80085118 00082078 FC 20 12 10 */ fabs f1, f2 /* 8008511C 0008207C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80085120 00082080 40 81 00 14 */ ble lbl_80085134 /* 80085124 00082084 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80085128 00082088 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 8008512C 0008208C FC 02 00 6E */ fsel f0, f2, f1, f0 /* 80085130 00082090 EC 41 00 32 */ fmuls f2, f1, f0 lbl_80085134: /* 80085134 00082094 FC 00 12 10 */ fabs f0, f2 /* 80085138 00082098 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 8008513C 0008209C C0 3F 05 78 */ lfs f1, 0x578(r31) /* 80085140 000820A0 FC 02 08 00 */ fcmpu cr0, f2, f1 /* 80085144 000820A4 FE C0 00 18 */ frsp f22, f0 /* 80085148 000820A8 40 82 00 08 */ bne lbl_80085150 /* 8008514C 000820AC 48 00 00 24 */ b lbl_80085170 lbl_80085150: /* 80085150 000820B0 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 80085154 000820B4 38 81 00 1C */ addi r4, r1, 0x1c /* 80085158 000820B8 38 6D 84 58 */ addi r3, r13, lbl_805A7018@sda21 /* 8008515C 000820BC 38 AD 84 5C */ addi r5, r13, lbl_805A701C@sda21 /* 80085160 000820C0 EC 00 08 24 */ fdivs f0, f0, f1 /* 80085164 000820C4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80085168 000820C8 4B F8 71 4D */ bl "Clamp__5CMathFRCfRCfRCf" /* 8008516C 000820CC C0 43 00 00 */ lfs f2, 0(r3) lbl_80085170: /* 80085170 000820D0 C0 22 89 DC */ lfs f1, lbl_805AA6FC@sda21(r2) /* 80085174 000820D4 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80085178 000820D8 EE E1 00 B2 */ fmuls f23, f1, f2 /* 8008517C 000820DC FC 20 BA 10 */ fabs f1, f23 /* 80085180 000820E0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80085184 000820E4 40 81 00 14 */ ble lbl_80085198 /* 80085188 000820E8 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 8008518C 000820EC C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80085190 000820F0 FC 17 00 6E */ fsel f0, f23, f1, f0 /* 80085194 000820F4 EE E1 00 32 */ fmuls f23, f1, f0 lbl_80085198: /* 80085198 000820F8 FC 20 B0 90 */ fmr f1, f22 /* 8008519C 000820FC 48 30 FA 91 */ bl acos /* 800851A0 00082100 FC 20 08 18 */ frsp f1, f1 /* 800851A4 00082104 C0 02 8A 1C */ lfs f0, lbl_805AA73C@sda21(r2) /* 800851A8 00082108 FC 16 00 40 */ fcmpo cr0, f22, f0 /* 800851AC 0008210C EC 17 00 72 */ fmuls f0, f23, f1 /* 800851B0 00082110 D0 01 00 20 */ stfs f0, 0x20(r1) /* 800851B4 00082114 40 80 00 CC */ bge lbl_80085280 /* 800851B8 00082118 C0 41 02 BC */ lfs f2, 0x2bc(r1) /* 800851BC 0008211C 38 61 00 7C */ addi r3, r1, 0x7c /* 800851C0 00082120 C0 21 02 CC */ lfs f1, 0x2cc(r1) /* 800851C4 00082124 38 81 01 80 */ addi r4, r1, 0x180 /* 800851C8 00082128 C0 01 02 DC */ lfs f0, 0x2dc(r1) /* 800851CC 0008212C D0 41 00 88 */ stfs f2, 0x88(r1) /* 800851D0 00082130 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 800851D4 00082134 D0 01 00 90 */ stfs f0, 0x90(r1) /* 800851D8 00082138 48 28 EB F9 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 800851DC 0008213C 7C 7F 1B 78 */ mr r31, r3 /* 800851E0 00082140 38 61 00 94 */ addi r3, r1, 0x94 /* 800851E4 00082144 38 81 00 88 */ addi r4, r1, 0x88 /* 800851E8 00082148 48 28 EB E9 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 800851EC 0008214C 7C 64 1B 78 */ mr r4, r3 /* 800851F0 00082150 7F E5 FB 78 */ mr r5, r31 /* 800851F4 00082154 38 61 00 A0 */ addi r3, r1, 0xa0 /* 800851F8 00082158 38 C1 00 20 */ addi r6, r1, 0x20 /* 800851FC 0008215C 48 28 C4 99 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80085200 00082160 C0 61 00 A0 */ lfs f3, 0xa0(r1) /* 80085204 00082164 38 61 02 28 */ addi r3, r1, 0x228 /* 80085208 00082168 C0 41 00 A4 */ lfs f2, 0xa4(r1) /* 8008520C 0008216C 38 81 02 B8 */ addi r4, r1, 0x2b8 /* 80085210 00082170 C0 21 00 A8 */ lfs f1, 0xa8(r1) /* 80085214 00082174 C0 01 00 AC */ lfs f0, 0xac(r1) /* 80085218 00082178 D0 61 01 70 */ stfs f3, 0x170(r1) /* 8008521C 0008217C D0 41 01 74 */ stfs f2, 0x174(r1) /* 80085220 00082180 D0 21 01 78 */ stfs f1, 0x178(r1) /* 80085224 00082184 D0 01 01 7C */ stfs f0, 0x17c(r1) /* 80085228 00082188 48 28 DA 19 */ bl GetRotation__12CTransform4fCFv /* 8008522C 0008218C 38 61 02 58 */ addi r3, r1, 0x258 /* 80085230 00082190 38 81 01 70 */ addi r4, r1, 0x170 /* 80085234 00082194 48 28 CD 85 */ bl BuildTransform4f__11CQuaternionCFv /* 80085238 00082198 38 61 02 88 */ addi r3, r1, 0x288 /* 8008523C 0008219C 38 81 02 58 */ addi r4, r1, 0x258 /* 80085240 000821A0 38 A1 02 28 */ addi r5, r1, 0x228 /* 80085244 000821A4 48 28 D7 0D */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80085248 000821A8 38 7D 00 34 */ addi r3, r29, 0x34 /* 8008524C 000821AC 38 81 02 88 */ addi r4, r1, 0x288 /* 80085250 000821B0 48 28 D8 F1 */ bl __as__12CTransform4fFRC12CTransform4f /* 80085254 000821B4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085258 000821B8 38 60 00 01 */ li r3, 1 /* 8008525C 000821BC 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80085260 000821C0 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085264 000821C4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085268 000821C8 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8008526C 000821CC 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085270 000821D0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085274 000821D4 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80085278 000821D8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8008527C 000821DC 48 00 00 54 */ b lbl_800852D0 lbl_80085280: /* 80085280 000821E0 3C 60 80 5A */ lis r3, skZero3f@ha /* 80085284 000821E4 3C A0 80 5A */ lis r5, lbl_805A66F4@ha /* 80085288 000821E8 38 83 66 A0 */ addi r4, r3, skZero3f@l /* 8008528C 000821EC 38 C5 66 F4 */ addi r6, r5, lbl_805A66F4@l /* 80085290 000821F0 38 61 01 F8 */ addi r3, r1, 0x1f8 /* 80085294 000821F4 38 A1 01 80 */ addi r5, r1, 0x180 /* 80085298 000821F8 48 28 E8 79 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8008529C 000821FC 38 7D 00 34 */ addi r3, r29, 0x34 /* 800852A0 00082200 38 81 01 F8 */ addi r4, r1, 0x1f8 /* 800852A4 00082204 48 28 D8 9D */ bl __as__12CTransform4fFRC12CTransform4f /* 800852A8 00082208 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800852AC 0008220C 38 60 00 01 */ li r3, 1 /* 800852B0 00082210 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 800852B4 00082214 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800852B8 00082218 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800852BC 0008221C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 800852C0 00082220 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800852C4 00082224 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800852C8 00082228 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 800852CC 0008222C 98 1D 00 E4 */ stb r0, 0xe4(r29) lbl_800852D0: /* 800852D0 00082230 7F A4 EB 78 */ mr r4, r29 /* 800852D4 00082234 38 61 01 C8 */ addi r3, r1, 0x1c8 /* 800852D8 00082238 38 BD 00 34 */ addi r5, r29, 0x34 /* 800852DC 0008223C 38 C1 02 B8 */ addi r6, r1, 0x2b8 /* 800852E0 00082240 4B FD 5C E1 */ bl ValidateCameraTransform__11CGameCameraFRC12CTransform4fRC12CTransform4f /* 800852E4 00082244 38 7D 00 34 */ addi r3, r29, 0x34 /* 800852E8 00082248 38 81 01 C8 */ addi r4, r1, 0x1c8 /* 800852EC 0008224C 48 28 D8 55 */ bl __as__12CTransform4fFRC12CTransform4f /* 800852F0 00082250 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800852F4 00082254 38 A0 00 01 */ li r5, 1 /* 800852F8 00082258 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 800852FC 0008225C 7F A3 EB 78 */ mr r3, r29 /* 80085300 00082260 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085304 00082264 38 81 01 8C */ addi r4, r1, 0x18c /* 80085308 00082268 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8008530C 0008226C 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 80085310 00082270 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085314 00082274 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085318 00082278 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 8008531C 0008227C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085320 00082280 4B FC DB 6D */ bl SetTranslation__6CActorFRC9CVector3f /* 80085324 00082284 7F A3 EB 78 */ mr r3, r29 /* 80085328 00082288 7F C5 F3 78 */ mr r5, r30 /* 8008532C 0008228C 38 81 01 8C */ addi r4, r1, 0x18c /* 80085330 00082290 48 00 77 ED */ bl TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager /* 80085334 00082294 48 00 04 E4 */ b lbl_80085818 lbl_80085338: /* 80085338 00082298 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 8008533C 0008229C C0 3F 05 78 */ lfs f1, 0x578(r31) /* 80085340 000822A0 FC 02 08 00 */ fcmpu cr0, f2, f1 /* 80085344 000822A4 40 82 00 08 */ bne lbl_8008534C /* 80085348 000822A8 48 00 00 24 */ b lbl_8008536C lbl_8008534C: /* 8008534C 000822AC C0 1F 05 74 */ lfs f0, 0x574(r31) /* 80085350 000822B0 38 81 00 10 */ addi r4, r1, 0x10 /* 80085354 000822B4 38 6D 84 58 */ addi r3, r13, lbl_805A7018@sda21 /* 80085358 000822B8 38 AD 84 5C */ addi r5, r13, lbl_805A701C@sda21 /* 8008535C 000822BC EC 00 08 24 */ fdivs f0, f0, f1 /* 80085360 000822C0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80085364 000822C4 4B F8 6F 51 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80085368 000822C8 C0 43 00 00 */ lfs f2, 0(r3) lbl_8008536C: /* 8008536C 000822CC C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80085370 000822D0 C0 02 89 C0 */ lfs f0, lbl_805AA6E0@sda21(r2) /* 80085374 000822D4 EC 22 08 28 */ fsubs f1, f2, f1 /* 80085378 000822D8 FC 20 0A 10 */ fabs f1, f1 /* 8008537C 000822DC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80085380 000822E0 40 80 00 54 */ bge lbl_800853D4 /* 80085384 000822E4 38 7D 00 34 */ addi r3, r29, 0x34 /* 80085388 000822E8 38 9F 00 34 */ addi r4, r31, 0x34 /* 8008538C 000822EC 48 28 D7 B5 */ bl __as__12CTransform4fFRC12CTransform4f /* 80085390 000822F0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085394 000822F4 38 A0 00 01 */ li r5, 1 /* 80085398 000822F8 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 8008539C 000822FC 7F E4 FB 78 */ mr r4, r31 /* 800853A0 00082300 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800853A4 00082304 38 61 00 70 */ addi r3, r1, 0x70 /* 800853A8 00082308 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800853AC 0008230C 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 800853B0 00082310 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800853B4 00082314 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800853B8 00082318 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 800853BC 0008231C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800853C0 00082320 48 1F F9 BD */ bl GetEyePosition__7CPlayerCFv /* 800853C4 00082324 7F A3 EB 78 */ mr r3, r29 /* 800853C8 00082328 38 81 00 70 */ addi r4, r1, 0x70 /* 800853CC 0008232C 4B FC DA C1 */ bl SetTranslation__6CActorFRC9CVector3f /* 800853D0 00082330 48 00 04 68 */ b lbl_80085838 lbl_800853D4: /* 800853D4 00082334 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 800853D8 00082338 C0 3F 05 78 */ lfs f1, 0x578(r31) /* 800853DC 0008233C FC 02 08 00 */ fcmpu cr0, f2, f1 /* 800853E0 00082340 40 82 00 08 */ bne lbl_800853E8 /* 800853E4 00082344 48 00 00 24 */ b lbl_80085408 lbl_800853E8: /* 800853E8 00082348 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 800853EC 0008234C 38 81 00 18 */ addi r4, r1, 0x18 /* 800853F0 00082350 38 6D 84 58 */ addi r3, r13, lbl_805A7018@sda21 /* 800853F4 00082354 38 AD 84 5C */ addi r5, r13, lbl_805A701C@sda21 /* 800853F8 00082358 EC 00 08 24 */ fdivs f0, f0, f1 /* 800853FC 0008235C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80085400 00082360 4B F8 6E B5 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80085404 00082364 C0 43 00 00 */ lfs f2, 0(r3) lbl_80085408: /* 80085408 00082368 C0 22 8A 20 */ lfs f1, lbl_805AA740@sda21(r2) /* 8008540C 0008236C C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80085410 00082370 EF 82 08 24 */ fdivs f28, f2, f1 /* 80085414 00082374 FC 20 E2 10 */ fabs f1, f28 /* 80085418 00082378 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008541C 0008237C 40 81 00 14 */ ble lbl_80085430 /* 80085420 00082380 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80085424 00082384 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80085428 00082388 FC 1C 00 6E */ fsel f0, f28, f1, f0 /* 8008542C 0008238C EF 81 00 32 */ fmuls f28, f1, f0 lbl_80085430: /* 80085430 00082390 C0 DD 00 60 */ lfs f6, 0x60(r29) /* 80085434 00082394 38 61 01 58 */ addi r3, r1, 0x158 /* 80085438 00082398 C0 BD 00 50 */ lfs f5, 0x50(r29) /* 8008543C 0008239C C0 5D 00 40 */ lfs f2, 0x40(r29) /* 80085440 000823A0 EC 66 B8 28 */ fsubs f3, f6, f23 /* 80085444 000823A4 EC 85 C0 28 */ fsubs f4, f5, f24 /* 80085448 000823A8 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008544C 000823AC EC 22 C8 28 */ fsubs f1, f2, f25 /* 80085450 000823B0 D0 41 01 64 */ stfs f2, 0x164(r1) /* 80085454 000823B4 D0 61 01 60 */ stfs f3, 0x160(r1) /* 80085458 000823B8 D0 A1 01 68 */ stfs f5, 0x168(r1) /* 8008545C 000823BC D0 C1 01 6C */ stfs f6, 0x16c(r1) /* 80085460 000823C0 D0 21 01 58 */ stfs f1, 0x158(r1) /* 80085464 000823C4 D0 81 01 5C */ stfs f4, 0x15c(r1) /* 80085468 000823C8 D0 01 01 60 */ stfs f0, 0x160(r1) /* 8008546C 000823CC 48 28 F2 8D */ bl CanBeNormalized__9CVector3fCFv /* 80085470 000823D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085474 000823D4 41 82 03 5C */ beq lbl_800857D0 /* 80085478 000823D8 38 61 01 58 */ addi r3, r1, 0x158 /* 8008547C 000823DC 48 28 F4 3D */ bl Magnitude__9CVector3fCFv /* 80085480 000823E0 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 80085484 000823E4 FF A0 08 90 */ fmr f29, f1 /* 80085488 000823E8 C0 7F 05 78 */ lfs f3, 0x578(r31) /* 8008548C 000823EC FC 02 18 00 */ fcmpu cr0, f2, f3 /* 80085490 000823F0 40 82 00 08 */ bne lbl_80085498 /* 80085494 000823F4 48 00 00 24 */ b lbl_800854B8 lbl_80085498: /* 80085498 000823F8 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 8008549C 000823FC 38 81 00 14 */ addi r4, r1, 0x14 /* 800854A0 00082400 38 6D 84 58 */ addi r3, r13, lbl_805A7018@sda21 /* 800854A4 00082404 38 AD 84 5C */ addi r5, r13, lbl_805A701C@sda21 /* 800854A8 00082408 EC 00 18 24 */ fdivs f0, f0, f3 /* 800854AC 0008240C D0 01 00 14 */ stfs f0, 0x14(r1) /* 800854B0 00082410 4B F8 6E 05 */ bl "Clamp__5CMathFRCfRCfRCf" /* 800854B4 00082414 C0 43 00 00 */ lfs f2, 0(r3) lbl_800854B8: /* 800854B8 00082418 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 800854BC 0008241C C0 3D 01 90 */ lfs f1, 0x190(r29) /* 800854C0 00082420 EC 00 10 28 */ fsubs f0, f0, f2 /* 800854C4 00082424 EC 01 00 32 */ fmuls f0, f1, f0 /* 800854C8 00082428 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 800854CC 0008242C 40 81 00 08 */ ble lbl_800854D4 /* 800854D0 00082430 FF A0 00 90 */ fmr f29, f0 lbl_800854D4: /* 800854D4 00082434 C0 3D 00 60 */ lfs f1, 0x60(r29) /* 800854D8 00082438 38 61 01 4C */ addi r3, r1, 0x14c /* 800854DC 0008243C C0 1F 00 60 */ lfs f0, 0x60(r31) /* 800854E0 00082440 C0 9D 00 50 */ lfs f4, 0x50(r29) /* 800854E4 00082444 C0 7F 00 50 */ lfs f3, 0x50(r31) /* 800854E8 00082448 EC A1 00 28 */ fsubs f5, f1, f0 /* 800854EC 0008244C C0 5D 00 40 */ lfs f2, 0x40(r29) /* 800854F0 00082450 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 800854F4 00082454 EC 64 18 28 */ fsubs f3, f4, f3 /* 800854F8 00082458 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800854FC 0008245C EC 22 08 28 */ fsubs f1, f2, f1 /* 80085500 00082460 D0 A1 01 54 */ stfs f5, 0x154(r1) /* 80085504 00082464 C3 C2 8A 14 */ lfs f30, lbl_805AA734@sda21(r2) /* 80085508 00082468 D0 61 01 50 */ stfs f3, 0x150(r1) /* 8008550C 0008246C D0 21 01 4C */ stfs f1, 0x14c(r1) /* 80085510 00082470 D0 01 01 54 */ stfs f0, 0x154(r1) /* 80085514 00082474 C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 80085518 00082478 D0 01 01 40 */ stfs f0, 0x140(r1) /* 8008551C 0008247C C0 1F 05 10 */ lfs f0, 0x510(r31) /* 80085520 00082480 D0 01 01 44 */ stfs f0, 0x144(r1) /* 80085524 00082484 C0 1F 05 14 */ lfs f0, 0x514(r31) /* 80085528 00082488 D0 01 01 48 */ stfs f0, 0x148(r1) /* 8008552C 0008248C 48 28 F1 CD */ bl CanBeNormalized__9CVector3fCFv /* 80085530 00082490 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085534 00082494 41 82 00 10 */ beq lbl_80085544 /* 80085538 00082498 38 61 01 4C */ addi r3, r1, 0x14c /* 8008553C 0008249C 48 28 F3 BD */ bl Normalize__9CVector3fFv /* 80085540 000824A0 48 00 00 28 */ b lbl_80085568 lbl_80085544: /* 80085544 000824A4 C0 41 01 48 */ lfs f2, 0x148(r1) /* 80085548 000824A8 C0 21 01 44 */ lfs f1, 0x144(r1) /* 8008554C 000824AC C0 01 01 40 */ lfs f0, 0x140(r1) /* 80085550 000824B0 FC 40 10 50 */ fneg f2, f2 /* 80085554 000824B4 FC 20 08 50 */ fneg f1, f1 /* 80085558 000824B8 FC 00 00 50 */ fneg f0, f0 /* 8008555C 000824BC D0 41 01 54 */ stfs f2, 0x154(r1) /* 80085560 000824C0 D0 01 01 4C */ stfs f0, 0x14c(r1) /* 80085564 000824C4 D0 21 01 50 */ stfs f1, 0x150(r1) lbl_80085568: /* 80085568 000824C8 38 61 01 40 */ addi r3, r1, 0x140 /* 8008556C 000824CC 48 28 F1 8D */ bl CanBeNormalized__9CVector3fCFv /* 80085570 000824D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085574 000824D4 41 82 00 74 */ beq lbl_800855E8 /* 80085578 000824D8 38 61 01 40 */ addi r3, r1, 0x140 /* 8008557C 000824DC 48 28 F3 7D */ bl Normalize__9CVector3fFv /* 80085580 000824E0 C0 01 01 44 */ lfs f0, 0x144(r1) /* 80085584 000824E4 C0 41 01 40 */ lfs f2, 0x140(r1) /* 80085588 000824E8 FC 00 00 50 */ fneg f0, f0 /* 8008558C 000824EC C0 21 01 50 */ lfs f1, 0x150(r1) /* 80085590 000824F0 C0 81 01 48 */ lfs f4, 0x148(r1) /* 80085594 000824F4 FC 40 10 50 */ fneg f2, f2 /* 80085598 000824F8 C0 61 01 4C */ lfs f3, 0x14c(r1) /* 8008559C 000824FC EC 21 00 32 */ fmuls f1, f1, f0 /* 800855A0 00082500 FC 80 20 50 */ fneg f4, f4 /* 800855A4 00082504 C0 A1 01 54 */ lfs f5, 0x154(r1) /* 800855A8 00082508 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 800855AC 0008250C EC 23 08 BA */ fmadds f1, f3, f2, f1 /* 800855B0 00082510 EC 25 09 3A */ fmadds f1, f5, f4, f1 /* 800855B4 00082514 FC 40 0A 10 */ fabs f2, f1 /* 800855B8 00082518 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800855BC 0008251C 40 81 00 14 */ ble lbl_800855D0 /* 800855C0 00082520 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 800855C4 00082524 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 800855C8 00082528 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 800855CC 0008252C EC 22 00 32 */ fmuls f1, f2, f0 lbl_800855D0: /* 800855D0 00082530 48 30 F6 5D */ bl acos /* 800855D4 00082534 FC 00 08 18 */ frsp f0, f1 /* 800855D8 00082538 FC 00 02 10 */ fabs f0, f0 /* 800855DC 0008253C FC 00 00 18 */ frsp f0, f0 /* 800855E0 00082540 EC 00 07 32 */ fmuls f0, f0, f28 /* 800855E4 00082544 EF C0 F8 24 */ fdivs f30, f0, f31 lbl_800855E8: /* 800855E8 00082548 FC 20 F0 90 */ fmr f1, f30 /* 800855EC 0008254C C0 42 8A 24 */ lfs f2, lbl_805AA744@sda21(r2) /* 800855F0 00082550 FC 60 F8 90 */ fmr f3, f31 /* 800855F4 00082554 7F A4 EB 78 */ mr r4, r29 /* 800855F8 00082558 7F E5 FB 78 */ mr r5, r31 /* 800855FC 0008255C 7F C6 F3 78 */ mr r6, r30 /* 80085600 00082560 38 61 00 64 */ addi r3, r1, 0x64 /* 80085604 00082564 48 00 3D 71 */ bl ConstrainYawAngle__11CBallCameraCFRC7CPlayerfffR13CStateManager /* 80085608 00082568 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 8008560C 0008256C 38 61 01 34 */ addi r3, r1, 0x134 /* 80085610 00082570 C0 41 00 64 */ lfs f2, 0x64(r1) /* 80085614 00082574 C0 21 00 68 */ lfs f1, 0x68(r1) /* 80085618 00082578 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 8008561C 0008257C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80085620 00082580 D0 41 01 34 */ stfs f2, 0x134(r1) /* 80085624 00082584 D0 21 01 38 */ stfs f1, 0x138(r1) /* 80085628 00082588 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 8008562C 0008258C 48 28 F2 CD */ bl Normalize__9CVector3fFv /* 80085630 00082590 C0 01 01 3C */ lfs f0, 0x13c(r1) /* 80085634 00082594 7F A4 EB 78 */ mr r4, r29 /* 80085638 00082598 C0 DD 00 60 */ lfs f6, 0x60(r29) /* 8008563C 0008259C 7F C6 F3 78 */ mr r6, r30 /* 80085640 000825A0 EC 5D 00 32 */ fmuls f2, f29, f0 /* 80085644 000825A4 C0 61 01 38 */ lfs f3, 0x138(r1) /* 80085648 000825A8 C0 21 01 34 */ lfs f1, 0x134(r1) /* 8008564C 000825AC EC 06 B8 28 */ fsubs f0, f6, f23 /* 80085650 000825B0 EC 7D 00 F2 */ fmuls f3, f29, f3 /* 80085654 000825B4 C0 BD 00 50 */ lfs f5, 0x50(r29) /* 80085658 000825B8 EC 3D 00 72 */ fmuls f1, f29, f1 /* 8008565C 000825BC C0 9D 00 40 */ lfs f4, 0x40(r29) /* 80085660 000825C0 EC 57 10 2A */ fadds f2, f23, f2 /* 80085664 000825C4 D0 A1 00 5C */ stfs f5, 0x5c(r1) /* 80085668 000825C8 EC 78 18 2A */ fadds f3, f24, f3 /* 8008566C 000825CC 38 61 00 4C */ addi r3, r1, 0x4c /* 80085670 000825D0 EC 39 08 2A */ fadds f1, f25, f1 /* 80085674 000825D4 D0 41 01 6C */ stfs f2, 0x16c(r1) /* 80085678 000825D8 EC 00 BF 3A */ fmadds f0, f0, f28, f23 /* 8008567C 000825DC 38 A1 00 40 */ addi r5, r1, 0x40 /* 80085680 000825E0 D0 61 01 68 */ stfs f3, 0x168(r1) /* 80085684 000825E4 D0 21 01 64 */ stfs f1, 0x164(r1) /* 80085688 000825E8 80 E1 01 68 */ lwz r7, 0x168(r1) /* 8008568C 000825EC D0 01 01 6C */ stfs f0, 0x16c(r1) /* 80085690 000825F0 81 01 01 64 */ lwz r8, 0x164(r1) /* 80085694 000825F4 80 01 01 6C */ lwz r0, 0x16c(r1) /* 80085698 000825F8 D0 81 00 58 */ stfs f4, 0x58(r1) /* 8008569C 000825FC D0 C1 00 60 */ stfs f6, 0x60(r1) /* 800856A0 00082600 91 01 00 40 */ stw r8, 0x40(r1) /* 800856A4 00082604 90 E1 00 44 */ stw r7, 0x44(r1) /* 800856A8 00082608 90 01 00 48 */ stw r0, 0x48(r1) /* 800856AC 0008260C 4B FF F2 1D */ bl ClampElevationToWater__11CBallCameraCFRC9CVector3fR13CStateManager /* 800856B0 00082610 C0 61 00 4C */ lfs f3, 0x4c(r1) /* 800856B4 00082614 FC 20 F8 90 */ fmr f1, f31 /* 800856B8 00082618 C0 41 00 50 */ lfs f2, 0x50(r1) /* 800856BC 0008261C 7F A4 EB 78 */ mr r4, r29 /* 800856C0 00082620 C0 01 00 54 */ lfs f0, 0x54(r1) /* 800856C4 00082624 7F C6 F3 78 */ mr r6, r30 /* 800856C8 00082628 D0 61 01 64 */ stfs f3, 0x164(r1) /* 800856CC 0008262C 38 61 00 34 */ addi r3, r1, 0x34 /* 800856D0 00082630 38 A1 01 64 */ addi r5, r1, 0x164 /* 800856D4 00082634 D0 41 01 68 */ stfs f2, 0x168(r1) /* 800856D8 00082638 D0 01 01 6C */ stfs f0, 0x16c(r1) /* 800856DC 0008263C 4B FF EE 8D */ bl MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager /* 800856E0 00082640 EC 17 B0 28 */ fsubs f0, f23, f22 /* 800856E4 00082644 C0 A1 00 34 */ lfs f5, 0x34(r1) /* 800856E8 00082648 C0 81 00 38 */ lfs f4, 0x38(r1) /* 800856EC 0008264C 38 61 01 1C */ addi r3, r1, 0x11c /* 800856F0 00082650 C0 61 00 3C */ lfs f3, 0x3c(r1) /* 800856F4 00082654 EC 3B 28 28 */ fsubs f1, f27, f5 /* 800856F8 00082658 EC 5C B0 3A */ fmadds f2, f28, f0, f22 /* 800856FC 0008265C D2 C1 01 30 */ stfs f22, 0x130(r1) /* 80085700 00082660 EC DA 20 28 */ fsubs f6, f26, f4 /* 80085704 00082664 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80085708 00082668 D0 A1 01 64 */ stfs f5, 0x164(r1) /* 8008570C 0008266C EC A2 18 28 */ fsubs f5, f2, f3 /* 80085710 00082670 D0 81 01 68 */ stfs f4, 0x168(r1) /* 80085714 00082674 D0 A1 01 24 */ stfs f5, 0x124(r1) /* 80085718 00082678 D0 61 01 6C */ stfs f3, 0x16c(r1) /* 8008571C 0008267C D3 61 01 28 */ stfs f27, 0x128(r1) /* 80085720 00082680 D3 41 01 2C */ stfs f26, 0x12c(r1) /* 80085724 00082684 D0 41 01 30 */ stfs f2, 0x130(r1) /* 80085728 00082688 D0 21 01 1C */ stfs f1, 0x11c(r1) /* 8008572C 0008268C D0 C1 01 20 */ stfs f6, 0x120(r1) /* 80085730 00082690 D0 01 01 24 */ stfs f0, 0x124(r1) /* 80085734 00082694 48 28 EF C5 */ bl CanBeNormalized__9CVector3fCFv /* 80085738 00082698 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008573C 0008269C 41 82 00 54 */ beq lbl_80085790 /* 80085740 000826A0 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 80085744 000826A4 38 61 01 98 */ addi r3, r1, 0x198 /* 80085748 000826A8 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 8008574C 000826AC 38 A1 01 28 */ addi r5, r1, 0x128 /* 80085750 000826B0 38 81 01 64 */ addi r4, r1, 0x164 /* 80085754 000826B4 48 28 E3 BD */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80085758 000826B8 38 7D 00 34 */ addi r3, r29, 0x34 /* 8008575C 000826BC 38 81 01 98 */ addi r4, r1, 0x198 /* 80085760 000826C0 48 28 D3 E1 */ bl __as__12CTransform4fFRC12CTransform4f /* 80085764 000826C4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085768 000826C8 38 60 00 01 */ li r3, 1 /* 8008576C 000826CC 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80085770 000826D0 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085774 000826D4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085778 000826D8 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8008577C 000826DC 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085780 000826E0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085784 000826E4 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80085788 000826E8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8008578C 000826EC 48 00 00 80 */ b lbl_8008580C lbl_80085790: /* 80085790 000826F0 80 9E 08 70 */ lwz r4, 0x870(r30) /* 80085794 000826F4 38 7D 00 34 */ addi r3, r29, 0x34 /* 80085798 000826F8 80 84 00 7C */ lwz r4, 0x7c(r4) /* 8008579C 000826FC 38 84 00 34 */ addi r4, r4, 0x34 /* 800857A0 00082700 48 28 D3 A1 */ bl __as__12CTransform4fFRC12CTransform4f /* 800857A4 00082704 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800857A8 00082708 38 60 00 01 */ li r3, 1 /* 800857AC 0008270C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 800857B0 00082710 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800857B4 00082714 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800857B8 00082718 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 800857BC 0008271C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800857C0 00082720 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800857C4 00082724 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 800857C8 00082728 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800857CC 0008272C 48 00 00 40 */ b lbl_8008580C lbl_800857D0: /* 800857D0 00082730 80 9E 08 70 */ lwz r4, 0x870(r30) /* 800857D4 00082734 38 7D 00 34 */ addi r3, r29, 0x34 /* 800857D8 00082738 80 84 00 7C */ lwz r4, 0x7c(r4) /* 800857DC 0008273C 38 84 00 34 */ addi r4, r4, 0x34 /* 800857E0 00082740 48 28 D3 61 */ bl __as__12CTransform4fFRC12CTransform4f /* 800857E4 00082744 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800857E8 00082748 38 60 00 01 */ li r3, 1 /* 800857EC 0008274C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 800857F0 00082750 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 800857F4 00082754 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 800857F8 00082758 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 800857FC 0008275C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80085800 00082760 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80085804 00082764 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80085808 00082768 98 1D 00 E4 */ stb r0, 0xe4(r29) lbl_8008580C: /* 8008580C 0008276C 7F A3 EB 78 */ mr r3, r29 /* 80085810 00082770 38 81 01 64 */ addi r4, r1, 0x164 /* 80085814 00082774 4B FC D6 79 */ bl SetTranslation__6CActorFRC9CVector3f lbl_80085818: /* 80085818 00082778 80 7E 08 70 */ lwz r3, 0x870(r30) /* 8008581C 0008277C 7F C5 F3 78 */ mr r5, r30 /* 80085820 00082780 38 9D 00 34 */ addi r4, r29, 0x34 /* 80085824 00082784 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80085828 00082788 81 83 00 00 */ lwz r12, 0(r3) /* 8008582C 0008278C 81 8C 00 70 */ lwz r12, 0x70(r12) /* 80085830 00082790 7D 89 03 A6 */ mtctr r12 /* 80085834 00082794 4E 80 04 21 */ bctrl lbl_80085838: /* 80085838 00082798 E3 E1 03 98 */ psq_l f31, 920(r1), 0, qr0 /* 8008583C 0008279C CB E1 03 90 */ lfd f31, 0x390(r1) /* 80085840 000827A0 E3 C1 03 88 */ psq_l f30, 904(r1), 0, qr0 /* 80085844 000827A4 CB C1 03 80 */ lfd f30, 0x380(r1) /* 80085848 000827A8 E3 A1 03 78 */ psq_l f29, 888(r1), 0, qr0 /* 8008584C 000827AC CB A1 03 70 */ lfd f29, 0x370(r1) /* 80085850 000827B0 E3 81 03 68 */ psq_l f28, 872(r1), 0, qr0 /* 80085854 000827B4 CB 81 03 60 */ lfd f28, 0x360(r1) /* 80085858 000827B8 E3 61 03 58 */ psq_l f27, 856(r1), 0, qr0 /* 8008585C 000827BC CB 61 03 50 */ lfd f27, 0x350(r1) /* 80085860 000827C0 E3 41 03 48 */ psq_l f26, 840(r1), 0, qr0 /* 80085864 000827C4 CB 41 03 40 */ lfd f26, 0x340(r1) /* 80085868 000827C8 E3 21 03 38 */ psq_l f25, 824(r1), 0, qr0 /* 8008586C 000827CC CB 21 03 30 */ lfd f25, 0x330(r1) /* 80085870 000827D0 E3 01 03 28 */ psq_l f24, 808(r1), 0, qr0 /* 80085874 000827D4 CB 01 03 20 */ lfd f24, 0x320(r1) /* 80085878 000827D8 E2 E1 03 18 */ psq_l f23, 792(r1), 0, qr0 /* 8008587C 000827DC CA E1 03 10 */ lfd f23, 0x310(r1) /* 80085880 000827E0 E2 C1 03 08 */ psq_l f22, 776(r1), 0, qr0 /* 80085884 000827E4 CA C1 03 00 */ lfd f22, 0x300(r1) /* 80085888 000827E8 83 E1 02 FC */ lwz r31, 0x2fc(r1) /* 8008588C 000827EC 83 C1 02 F8 */ lwz r30, 0x2f8(r1) /* 80085890 000827F0 83 A1 02 F4 */ lwz r29, 0x2f4(r1) /* 80085894 000827F4 80 01 03 A4 */ lwz r0, 0x3a4(r1) /* 80085898 000827F8 83 81 02 F0 */ lwz r28, 0x2f0(r1) /* 8008589C 000827FC 7C 08 03 A6 */ mtlr r0 /* 800858A0 00082800 38 21 03 A0 */ addi r1, r1, 0x3a0 /* 800858A4 00082804 4E 80 00 20 */ blr .global UpdateUsingColliders__11CBallCameraFfR13CStateManager UpdateUsingColliders__11CBallCameraFfR13CStateManager: /* 800858A8 00082808 94 21 F3 80 */ stwu r1, -0xc80(r1) /* 800858AC 0008280C 7C 08 02 A6 */ mflr r0 /* 800858B0 00082810 90 01 0C 84 */ stw r0, 0xc84(r1) /* 800858B4 00082814 DB E1 0C 70 */ stfd f31, 0xc70(r1) /* 800858B8 00082818 F3 E1 0C 78 */ psq_st f31, -904(r1), 0, qr0 /* 800858BC 0008281C DB C1 0C 60 */ stfd f30, 0xc60(r1) /* 800858C0 00082820 F3 C1 0C 68 */ psq_st f30, -920(r1), 0, qr0 /* 800858C4 00082824 DB A1 0C 50 */ stfd f29, 0xc50(r1) /* 800858C8 00082828 F3 A1 0C 58 */ psq_st f29, -936(r1), 0, qr0 /* 800858CC 0008282C DB 81 0C 40 */ stfd f28, 0xc40(r1) /* 800858D0 00082830 F3 81 0C 48 */ psq_st f28, -952(r1), 0, qr0 /* 800858D4 00082834 DB 61 0C 30 */ stfd f27, 0xc30(r1) /* 800858D8 00082838 F3 61 0C 38 */ psq_st f27, -968(r1), 0, qr0 /* 800858DC 0008283C DB 41 0C 20 */ stfd f26, 0xc20(r1) /* 800858E0 00082840 F3 41 0C 28 */ psq_st f26, -984(r1), 0, qr0 /* 800858E4 00082844 DB 21 0C 10 */ stfd f25, 0xc10(r1) /* 800858E8 00082848 F3 21 0C 18 */ psq_st f25, -1000(r1), 0, qr0 /* 800858EC 0008284C DB 01 0C 00 */ stfd f24, 0xc00(r1) /* 800858F0 00082850 F3 01 0C 08 */ psq_st f24, -1016(r1), 0, qr0 /* 800858F4 00082854 BF 61 0B EC */ stmw r27, 0xbec(r1) /* 800858F8 00082858 7C 9E 23 78 */ mr r30, r4 /* 800858FC 0008285C FF E0 08 90 */ fmr f31, f1 /* 80085900 00082860 80 84 08 4C */ lwz r4, 0x84c(r4) /* 80085904 00082864 7C 7F 1B 78 */ mr r31, r3 /* 80085908 00082868 80 04 09 D0 */ lwz r0, 0x9d0(r4) /* 8008590C 0008286C 2C 00 00 01 */ cmpwi r0, 1 /* 80085910 00082870 41 82 13 70 */ beq lbl_80086C80 /* 80085914 00082874 38 61 01 60 */ addi r3, r1, 0x160 /* 80085918 00082878 48 1F F4 31 */ bl GetBallPosition__7CPlayerCFv /* 8008591C 0008287C C0 E1 01 60 */ lfs f7, 0x160(r1) /* 80085920 00082880 C0 C1 01 64 */ lfs f6, 0x164(r1) /* 80085924 00082884 C0 A1 01 68 */ lfs f5, 0x168(r1) /* 80085928 00082888 D0 E1 02 2C */ stfs f7, 0x22c(r1) /* 8008592C 0008288C D0 C1 02 30 */ stfs f6, 0x230(r1) /* 80085930 00082890 D0 A1 02 34 */ stfs f5, 0x234(r1) /* 80085934 00082894 83 BE 08 4C */ lwz r29, 0x84c(r30) /* 80085938 00082898 80 1D 09 D0 */ lwz r0, 0x9d0(r29) /* 8008593C 0008289C 2C 00 00 02 */ cmpwi r0, 2 /* 80085940 000828A0 40 82 00 A4 */ bne lbl_800859E4 /* 80085944 000828A4 C0 1F 01 DC */ lfs f0, 0x1dc(r31) /* 80085948 000828A8 C0 9F 00 50 */ lfs f4, 0x50(r31) /* 8008594C 000828AC C0 7F 01 E0 */ lfs f3, 0x1e0(r31) /* 80085950 000828B0 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80085954 000828B4 ED 00 20 28 */ fsubs f8, f0, f4 /* 80085958 000828B8 C0 1F 01 D8 */ lfs f0, 0x1d8(r31) /* 8008595C 000828BC C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80085960 000828C0 EC 63 10 28 */ fsubs f3, f3, f2 /* 80085964 000828C4 EC 00 08 28 */ fsubs f0, f0, f1 /* 80085968 000828C8 D1 01 02 24 */ stfs f8, 0x224(r1) /* 8008596C 000828CC D0 61 02 28 */ stfs f3, 0x228(r1) /* 80085970 000828D0 D0 01 02 20 */ stfs f0, 0x220(r1) /* 80085974 000828D4 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 80085978 000828D8 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8008597C 000828DC 41 82 00 1C */ beq lbl_80085998 /* 80085980 000828E0 EC 66 20 28 */ fsubs f3, f6, f4 /* 80085984 000828E4 EC 45 10 28 */ fsubs f2, f5, f2 /* 80085988 000828E8 EC 07 08 28 */ fsubs f0, f7, f1 /* 8008598C 000828EC D0 61 02 24 */ stfs f3, 0x224(r1) /* 80085990 000828F0 D0 01 02 20 */ stfs f0, 0x220(r1) /* 80085994 000828F4 D0 41 02 28 */ stfs f2, 0x228(r1) lbl_80085998: /* 80085998 000828F8 38 61 02 20 */ addi r3, r1, 0x220 /* 8008599C 000828FC 48 28 ED 5D */ bl CanBeNormalized__9CVector3fCFv /* 800859A0 00082900 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800859A4 00082904 41 82 12 DC */ beq lbl_80086C80 /* 800859A8 00082908 38 61 02 20 */ addi r3, r1, 0x220 /* 800859AC 0008290C 48 28 EF 4D */ bl Normalize__9CVector3fFv /* 800859B0 00082910 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 800859B4 00082914 FC 20 F8 90 */ fmr f1, f31 /* 800859B8 00082918 C0 5F 00 50 */ lfs f2, 0x50(r31) /* 800859BC 0008291C 7F E3 FB 78 */ mr r3, r31 /* 800859C0 00082920 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 800859C4 00082924 7F C6 F3 78 */ mr r6, r30 /* 800859C8 00082928 38 81 02 20 */ addi r4, r1, 0x220 /* 800859CC 0008292C D0 01 01 54 */ stfs f0, 0x154(r1) /* 800859D0 00082930 38 A1 01 54 */ addi r5, r1, 0x154 /* 800859D4 00082934 D0 41 01 58 */ stfs f2, 0x158(r1) /* 800859D8 00082938 D0 61 01 5C */ stfs f3, 0x15c(r1) /* 800859DC 0008293C 48 00 31 01 */ bl UpdateTransform__11CBallCameraFRC9CVector3fRC9CVector3ffR13CStateManager /* 800859E0 00082940 48 00 12 A0 */ b lbl_80086C80 lbl_800859E4: /* 800859E4 00082944 80 1D 02 F8 */ lwz r0, 0x2f8(r29) /* 800859E8 00082948 2C 00 00 00 */ cmpwi r0, 0 /* 800859EC 0008294C 40 82 00 10 */ bne lbl_800859FC /* 800859F0 00082950 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 800859F4 00082954 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 800859F8 00082958 41 82 12 88 */ beq lbl_80086C80 lbl_800859FC: /* 800859FC 0008295C 38 61 03 A0 */ addi r3, r1, 0x3a0 /* 80085A00 00082960 38 9F 00 34 */ addi r4, r31, 0x34 /* 80085A04 00082964 48 28 D1 71 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80085A08 00082968 C3 DF 00 60 */ lfs f30, 0x60(r31) /* 80085A0C 0008296C 7F E3 FB 78 */ mr r3, r31 /* 80085A10 00082970 C3 BF 00 50 */ lfs f29, 0x50(r31) /* 80085A14 00082974 38 9F 02 64 */ addi r4, r31, 0x264 /* 80085A18 00082978 C3 9F 00 40 */ lfs f28, 0x40(r31) /* 80085A1C 0008297C 48 00 59 F5 */ bl "CountObscuredColliders__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>" /* 80085A20 00082980 90 7F 02 C4 */ stw r3, 0x2c4(r31) /* 80085A24 00082984 7F E3 FB 78 */ mr r3, r31 /* 80085A28 00082988 38 9F 02 74 */ addi r4, r31, 0x274 /* 80085A2C 0008298C 48 00 59 E5 */ bl "CountObscuredColliders__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>" /* 80085A30 00082990 90 7F 02 C8 */ stw r3, 0x2c8(r31) /* 80085A34 00082994 7F E3 FB 78 */ mr r3, r31 /* 80085A38 00082998 38 9F 02 84 */ addi r4, r31, 0x284 /* 80085A3C 0008299C 48 00 59 D5 */ bl "CountObscuredColliders__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>" /* 80085A40 000829A0 90 7F 02 CC */ stw r3, 0x2cc(r31) /* 80085A44 000829A4 38 61 02 14 */ addi r3, r1, 0x214 /* 80085A48 000829A8 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80085A4C 000829AC C0 7F 00 60 */ lfs f3, 0x60(r31) /* 80085A50 000829B0 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80085A54 000829B4 FF 20 00 90 */ fmr f25, f0 /* 80085A58 000829B8 C0 9F 00 50 */ lfs f4, 0x50(r31) /* 80085A5C 000829BC C0 5F 00 40 */ lfs f2, 0x40(r31) /* 80085A60 000829C0 EC A3 08 28 */ fsubs f5, f3, f1 /* 80085A64 000829C4 C0 61 02 30 */ lfs f3, 0x230(r1) /* 80085A68 000829C8 C0 21 02 2C */ lfs f1, 0x22c(r1) /* 80085A6C 000829CC EC 64 18 28 */ fsubs f3, f4, f3 /* 80085A70 000829D0 D0 A1 02 1C */ stfs f5, 0x21c(r1) /* 80085A74 000829D4 EC 22 08 28 */ fsubs f1, f2, f1 /* 80085A78 000829D8 D0 01 02 08 */ stfs f0, 0x208(r1) /* 80085A7C 000829DC D0 21 02 14 */ stfs f1, 0x214(r1) /* 80085A80 000829E0 D0 61 02 18 */ stfs f3, 0x218(r1) /* 80085A84 000829E4 D0 01 02 0C */ stfs f0, 0x20c(r1) /* 80085A88 000829E8 D0 A1 02 10 */ stfs f5, 0x210(r1) /* 80085A8C 000829EC D0 01 02 1C */ stfs f0, 0x21c(r1) /* 80085A90 000829F0 48 28 EC 69 */ bl CanBeNormalized__9CVector3fCFv /* 80085A94 000829F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085A98 000829F8 41 82 00 14 */ beq lbl_80085AAC /* 80085A9C 000829FC 38 61 02 14 */ addi r3, r1, 0x214 /* 80085AA0 00082A00 48 28 EE 19 */ bl Magnitude__9CVector3fCFv /* 80085AA4 00082A04 FF 20 08 90 */ fmr f25, f1 /* 80085AA8 00082A08 48 00 00 28 */ b lbl_80085AD0 lbl_80085AAC: /* 80085AAC 00082A0C C0 5D 05 14 */ lfs f2, 0x514(r29) /* 80085AB0 00082A10 C0 3D 05 10 */ lfs f1, 0x510(r29) /* 80085AB4 00082A14 C0 1D 05 0C */ lfs f0, 0x50c(r29) /* 80085AB8 00082A18 FC 40 10 50 */ fneg f2, f2 /* 80085ABC 00082A1C FC 20 08 50 */ fneg f1, f1 /* 80085AC0 00082A20 FC 00 00 50 */ fneg f0, f0 /* 80085AC4 00082A24 D0 41 02 1C */ stfs f2, 0x21c(r1) /* 80085AC8 00082A28 D0 01 02 14 */ stfs f0, 0x214(r1) /* 80085ACC 00082A2C D0 21 02 18 */ stfs f1, 0x218(r1) lbl_80085AD0: /* 80085AD0 00082A30 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80085AD4 00082A34 3C 60 80 5A */ lis r3, skIdentity4f@ha /* 80085AD8 00082A38 C0 01 02 0C */ lfs f0, 0x20c(r1) /* 80085ADC 00082A3C 38 83 66 70 */ addi r4, r3, skIdentity4f@l /* 80085AE0 00082A40 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 80085AE4 00082A44 38 61 03 70 */ addi r3, r1, 0x370 /* 80085AE8 00082A48 EC 81 00 28 */ fsubs f4, f1, f0 /* 80085AEC 00082A4C C0 41 02 10 */ lfs f2, 0x210(r1) /* 80085AF0 00082A50 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80085AF4 00082A54 C0 01 02 08 */ lfs f0, 0x208(r1) /* 80085AF8 00082A58 EC 43 10 28 */ fsubs f2, f3, f2 /* 80085AFC 00082A5C D0 81 02 0C */ stfs f4, 0x20c(r1) /* 80085B00 00082A60 EC 01 00 28 */ fsubs f0, f1, f0 /* 80085B04 00082A64 D0 41 02 10 */ stfs f2, 0x210(r1) /* 80085B08 00082A68 D0 01 02 08 */ stfs f0, 0x208(r1) /* 80085B0C 00082A6C 48 28 D0 69 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80085B10 00082A70 C0 21 02 0C */ lfs f1, 0x20c(r1) /* 80085B14 00082A74 38 61 01 48 */ addi r3, r1, 0x148 /* 80085B18 00082A78 C0 01 02 30 */ lfs f0, 0x230(r1) /* 80085B1C 00082A7C C0 41 02 10 */ lfs f2, 0x210(r1) /* 80085B20 00082A80 EC 61 00 28 */ fsubs f3, f1, f0 /* 80085B24 00082A84 C0 01 02 34 */ lfs f0, 0x234(r1) /* 80085B28 00082A88 C0 21 02 08 */ lfs f1, 0x208(r1) /* 80085B2C 00082A8C EC 42 00 28 */ fsubs f2, f2, f0 /* 80085B30 00082A90 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 80085B34 00082A94 D0 61 01 40 */ stfs f3, 0x140(r1) /* 80085B38 00082A98 EC 01 00 28 */ fsubs f0, f1, f0 /* 80085B3C 00082A9C D0 41 01 44 */ stfs f2, 0x144(r1) /* 80085B40 00082AA0 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 80085B44 00082AA4 D0 01 01 48 */ stfs f0, 0x148(r1) /* 80085B48 00082AA8 D0 61 01 4C */ stfs f3, 0x14c(r1) /* 80085B4C 00082AAC D0 41 01 50 */ stfs f2, 0x150(r1) /* 80085B50 00082AB0 48 28 EB A9 */ bl CanBeNormalized__9CVector3fCFv /* 80085B54 00082AB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085B58 00082AB8 41 82 00 28 */ beq lbl_80085B80 /* 80085B5C 00082ABC 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 80085B60 00082AC0 38 61 02 E0 */ addi r3, r1, 0x2e0 /* 80085B64 00082AC4 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 80085B68 00082AC8 38 A1 02 08 */ addi r5, r1, 0x208 /* 80085B6C 00082ACC 38 81 02 2C */ addi r4, r1, 0x22c /* 80085B70 00082AD0 48 28 DF A1 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80085B74 00082AD4 38 61 03 70 */ addi r3, r1, 0x370 /* 80085B78 00082AD8 38 81 02 E0 */ addi r4, r1, 0x2e0 /* 80085B7C 00082ADC 48 28 CF C5 */ bl __as__12CTransform4fFRC12CTransform4f lbl_80085B80: /* 80085B80 00082AE0 C0 62 89 E4 */ lfs f3, lbl_805AA704@sda21(r2) /* 80085B84 00082AE4 FC 40 C8 90 */ fmr f2, f25 /* 80085B88 00082AE8 C0 1F 03 08 */ lfs f0, 0x308(r31) /* 80085B8C 00082AEC 38 7F 02 14 */ addi r3, r31, 0x214 /* 80085B90 00082AF0 C0 3F 01 90 */ lfs f1, 0x190(r31) /* 80085B94 00082AF4 EC 03 00 2A */ fadds f0, f3, f0 /* 80085B98 00082AF8 EC 7F 00 32 */ fmuls f3, f31, f0 /* 80085B9C 00082AFC 4B FD 7C 9D */ bl ApplyDistanceSpring__13CCameraSpringFfff /* 80085BA0 00082B00 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80085BA4 00082B04 38 61 01 FC */ addi r3, r1, 0x1fc /* 80085BA8 00082B08 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80085BAC 00082B0C C0 1F 00 60 */ lfs f0, 0x60(r31) /* 80085BB0 00082B10 C0 61 02 30 */ lfs f3, 0x230(r1) /* 80085BB4 00082B14 C0 5F 00 50 */ lfs f2, 0x50(r31) /* 80085BB8 00082B18 EC 81 00 28 */ fsubs f4, f1, f0 /* 80085BBC 00082B1C C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80085BC0 00082B20 C0 21 02 2C */ lfs f1, 0x22c(r1) /* 80085BC4 00082B24 EC 43 10 28 */ fsubs f2, f3, f2 /* 80085BC8 00082B28 D0 81 02 04 */ stfs f4, 0x204(r1) /* 80085BCC 00082B2C EC 21 00 28 */ fsubs f1, f1, f0 /* 80085BD0 00082B30 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80085BD4 00082B34 D0 41 02 00 */ stfs f2, 0x200(r1) /* 80085BD8 00082B38 D0 21 01 FC */ stfs f1, 0x1fc(r1) /* 80085BDC 00082B3C D0 01 02 04 */ stfs f0, 0x204(r1) /* 80085BE0 00082B40 48 28 EB 19 */ bl CanBeNormalized__9CVector3fCFv /* 80085BE4 00082B44 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085BE8 00082B48 41 82 00 C0 */ beq lbl_80085CA8 /* 80085BEC 00082B4C 38 61 01 FC */ addi r3, r1, 0x1fc /* 80085BF0 00082B50 48 28 ED 09 */ bl Normalize__9CVector3fFv /* 80085BF4 00082B54 C0 21 02 00 */ lfs f1, 0x200(r1) /* 80085BF8 00082B58 C0 1D 05 10 */ lfs f0, 0x510(r29) /* 80085BFC 00082B5C C0 41 01 FC */ lfs f2, 0x1fc(r1) /* 80085C00 00082B60 EC 01 00 32 */ fmuls f0, f1, f0 /* 80085C04 00082B64 C0 3D 05 0C */ lfs f1, 0x50c(r29) /* 80085C08 00082B68 C0 81 02 04 */ lfs f4, 0x204(r1) /* 80085C0C 00082B6C C0 7D 05 14 */ lfs f3, 0x514(r29) /* 80085C10 00082B70 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80085C14 00082B74 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80085C18 00082B78 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 80085C1C 00082B7C FC 40 0A 10 */ fabs f2, f1 /* 80085C20 00082B80 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80085C24 00082B84 40 81 00 14 */ ble lbl_80085C38 /* 80085C28 00082B88 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80085C2C 00082B8C C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80085C30 00082B90 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 80085C34 00082B94 EC 22 00 32 */ fmuls f1, f2, f0 lbl_80085C38: /* 80085C38 00082B98 48 30 EF F5 */ bl acos /* 80085C3C 00082B9C FC 20 08 18 */ frsp f1, f1 /* 80085C40 00082BA0 C0 02 8A 28 */ lfs f0, lbl_805AA748@sda21(r2) /* 80085C44 00082BA4 FC 20 0A 10 */ fabs f1, f1 /* 80085C48 00082BA8 FC 20 08 18 */ frsp f1, f1 /* 80085C4C 00082BAC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80085C50 00082BB0 40 81 00 58 */ ble lbl_80085CA8 /* 80085C54 00082BB4 C0 1D 01 38 */ lfs f0, 0x138(r29) /* 80085C58 00082BB8 38 61 01 F0 */ addi r3, r1, 0x1f0 /* 80085C5C 00082BBC D0 01 01 F0 */ stfs f0, 0x1f0(r1) /* 80085C60 00082BC0 C0 1D 01 3C */ lfs f0, 0x13c(r29) /* 80085C64 00082BC4 D0 01 01 F4 */ stfs f0, 0x1f4(r1) /* 80085C68 00082BC8 C0 1D 01 40 */ lfs f0, 0x140(r29) /* 80085C6C 00082BCC D0 01 01 F8 */ stfs f0, 0x1f8(r1) /* 80085C70 00082BD0 48 28 EA 89 */ bl CanBeNormalized__9CVector3fCFv /* 80085C74 00082BD4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085C78 00082BD8 41 82 00 30 */ beq lbl_80085CA8 /* 80085C7C 00082BDC C0 BF 01 90 */ lfs f5, 0x190(r31) /* 80085C80 00082BE0 FC 40 C8 90 */ fmr f2, f25 /* 80085C84 00082BE4 C0 3F 01 9C */ lfs f1, 0x19c(r31) /* 80085C88 00082BE8 38 7F 02 14 */ addi r3, r31, 0x214 /* 80085C8C 00082BEC C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 80085C90 00082BF0 EC 21 28 28 */ fsubs f1, f1, f5 /* 80085C94 00082BF4 C0 9F 03 08 */ lfs f4, 0x308(r31) /* 80085C98 00082BF8 EC 60 07 F2 */ fmuls f3, f0, f31 /* 80085C9C 00082BFC EC 24 28 7A */ fmadds f1, f4, f1, f5 /* 80085CA0 00082C00 4B FD 7B 99 */ bl ApplyDistanceSpring__13CCameraSpringFfff /* 80085CA4 00082C04 D0 21 00 2C */ stfs f1, 0x2c(r1) lbl_80085CA8: /* 80085CA8 00082C08 7F E4 FB 78 */ mr r4, r31 /* 80085CAC 00082C0C 7F C6 F3 78 */ mr r6, r30 /* 80085CB0 00082C10 38 61 02 38 */ addi r3, r1, 0x238 /* 80085CB4 00082C14 38 BF 02 84 */ addi r5, r31, 0x284 /* 80085CB8 00082C18 48 00 56 65 */ bl "CalculateCollidersBoundingBox__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RC13CStateManager" /* 80085CBC 00082C1C 80 C1 02 38 */ lwz r6, 0x238(r1) /* 80085CC0 00082C20 38 00 00 00 */ li r0, 0 /* 80085CC4 00082C24 80 A1 02 3C */ lwz r5, 0x23c(r1) /* 80085CC8 00082C28 7F C3 F3 78 */ mr r3, r30 /* 80085CCC 00082C2C 38 81 00 1C */ addi r4, r1, 0x1c /* 80085CD0 00082C30 90 DF 03 34 */ stw r6, 0x334(r31) /* 80085CD4 00082C34 90 BF 03 38 */ stw r5, 0x338(r31) /* 80085CD8 00082C38 80 A1 02 40 */ lwz r5, 0x240(r1) /* 80085CDC 00082C3C 90 BF 03 3C */ stw r5, 0x33c(r31) /* 80085CE0 00082C40 80 C1 02 44 */ lwz r6, 0x244(r1) /* 80085CE4 00082C44 80 A1 02 48 */ lwz r5, 0x248(r1) /* 80085CE8 00082C48 90 DF 03 40 */ stw r6, 0x340(r31) /* 80085CEC 00082C4C 90 BF 03 44 */ stw r5, 0x344(r31) /* 80085CF0 00082C50 80 A1 02 4C */ lwz r5, 0x24c(r1) /* 80085CF4 00082C54 90 BF 03 48 */ stw r5, 0x348(r31) /* 80085CF8 00082C58 90 01 03 D0 */ stw r0, 0x3d0(r1) /* 80085CFC 00082C5C A0 1F 04 6C */ lhz r0, 0x46c(r31) /* 80085D00 00082C60 B0 01 00 1C */ sth r0, 0x1c(r1) /* 80085D04 00082C64 4B FC 68 A1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80085D08 00082C68 7C 64 1B 78 */ mr r4, r3 /* 80085D0C 00082C6C 38 61 00 48 */ addi r3, r1, 0x48 /* 80085D10 00082C70 48 02 9F 81 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 80085D14 00082C74 3C 80 80 47 */ lis r4, lbl_8046C408@ha /* 80085D18 00082C78 80 E3 00 04 */ lwz r7, 4(r3) /* 80085D1C 00082C7C 38 C4 C4 08 */ addi r6, r4, lbl_8046C408@l /* 80085D20 00082C80 7F C3 F3 78 */ mr r3, r30 /* 80085D24 00082C84 38 81 03 D0 */ addi r4, r1, 0x3d0 /* 80085D28 00082C88 38 BF 03 34 */ addi r5, r31, 0x334 /* 80085D2C 00082C8C 4B FC 69 F5 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 80085D30 00082C90 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 80085D34 00082C94 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80085D38 00082C98 40 82 01 1C */ bne lbl_80085E54 /* 80085D3C 00082C9C A0 7F 03 68 */ lhz r3, 0x368(r31) /* 80085D40 00082CA0 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80085D44 00082CA4 7C 03 00 40 */ cmplw r3, r0 /* 80085D48 00082CA8 40 82 01 0C */ bne lbl_80085E54 /* 80085D4C 00082CAC C0 3F 03 4C */ lfs f1, 0x34c(r31) /* 80085D50 00082CB0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80085D54 00082CB4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80085D58 00082CB8 41 81 00 58 */ bgt lbl_80085DB0 /* 80085D5C 00082CBC 80 BF 03 50 */ lwz r5, 0x350(r31) /* 80085D60 00082CC0 38 80 00 00 */ li r4, 0 /* 80085D64 00082CC4 80 DF 03 54 */ lwz r6, 0x354(r31) /* 80085D68 00082CC8 3C 60 80 00 */ lis r3, 0x8000 /* 80085D6C 00082CCC 7C A0 20 38 */ and r0, r5, r4 /* 80085D70 00082CD0 7C C3 18 38 */ and r3, r6, r3 /* 80085D74 00082CD4 7C 63 22 78 */ xor r3, r3, r4 /* 80085D78 00082CD8 7C 00 22 78 */ xor r0, r0, r4 /* 80085D7C 00082CDC 7C 60 03 79 */ or. r0, r3, r0 /* 80085D80 00082CE0 41 82 00 08 */ beq lbl_80085D88 /* 80085D84 00082CE4 38 80 00 01 */ li r4, 1 lbl_80085D88: /* 80085D88 00082CE8 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 80085D8C 00082CEC 40 82 00 24 */ bne lbl_80085DB0 /* 80085D90 00082CF0 3C 00 40 00 */ lis r0, 0x4000 /* 80085D94 00082CF4 38 80 00 00 */ li r4, 0 /* 80085D98 00082CF8 7C C3 00 38 */ and r3, r6, r0 /* 80085D9C 00082CFC 7C A0 20 38 */ and r0, r5, r4 /* 80085DA0 00082D00 7C 63 22 78 */ xor r3, r3, r4 /* 80085DA4 00082D04 7C 00 22 78 */ xor r0, r0, r4 /* 80085DA8 00082D08 7C 60 03 79 */ or. r0, r3, r0 /* 80085DAC 00082D0C 41 82 01 40 */ beq lbl_80085EEC lbl_80085DB0: /* 80085DB0 00082D10 C0 22 89 E0 */ lfs f1, lbl_805AA700@sda21(r2) /* 80085DB4 00082D14 C0 1F 03 2C */ lfs f0, 0x32c(r31) /* 80085DB8 00082D18 EC 01 07 FA */ fmadds f0, f1, f31, f0 /* 80085DBC 00082D1C D0 1F 03 2C */ stfs f0, 0x32c(r31) /* 80085DC0 00082D20 C0 1F 03 2C */ lfs f0, 0x32c(r31) /* 80085DC4 00082D24 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80085DC8 00082D28 40 80 00 08 */ bge lbl_80085DD0 /* 80085DCC 00082D2C D0 3F 03 2C */ stfs f1, 0x32c(r31) lbl_80085DD0: /* 80085DD0 00082D30 C0 3F 03 2C */ lfs f1, 0x32c(r31) /* 80085DD4 00082D34 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 80085DD8 00082D38 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80085DDC 00082D3C 40 81 00 08 */ ble lbl_80085DE4 /* 80085DE0 00082D40 D0 1F 03 2C */ stfs f0, 0x32c(r31) lbl_80085DE4: /* 80085DE4 00082D44 C0 42 8A 2C */ lfs f2, lbl_805AA74C@sda21(r2) /* 80085DE8 00082D48 7F E3 FB 78 */ mr r3, r31 /* 80085DEC 00082D4C C0 3F 03 2C */ lfs f1, 0x32c(r31) /* 80085DF0 00082D50 38 9F 02 64 */ addi r4, r31, 0x264 /* 80085DF4 00082D54 C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 80085DF8 00082D58 EC 22 00 72 */ fmuls f1, f2, f1 /* 80085DFC 00082D5C C0 62 8A 30 */ lfs f3, lbl_805AA750@sda21(r2) /* 80085E00 00082D60 EC 41 00 32 */ fmuls f2, f1, f0 /* 80085E04 00082D64 48 00 60 C5 */ bl "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" /* 80085E08 00082D68 C0 42 8A 34 */ lfs f2, lbl_805AA754@sda21(r2) /* 80085E0C 00082D6C 7F E3 FB 78 */ mr r3, r31 /* 80085E10 00082D70 C0 3F 03 2C */ lfs f1, 0x32c(r31) /* 80085E14 00082D74 38 9F 02 74 */ addi r4, r31, 0x274 /* 80085E18 00082D78 C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 80085E1C 00082D7C EC 22 00 72 */ fmuls f1, f2, f1 /* 80085E20 00082D80 C0 62 8A 30 */ lfs f3, lbl_805AA750@sda21(r2) /* 80085E24 00082D84 EC 41 00 32 */ fmuls f2, f1, f0 /* 80085E28 00082D88 48 00 60 A1 */ bl "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" /* 80085E2C 00082D8C C0 42 8A 38 */ lfs f2, lbl_805AA758@sda21(r2) /* 80085E30 00082D90 7F E3 FB 78 */ mr r3, r31 /* 80085E34 00082D94 C0 3F 03 2C */ lfs f1, 0x32c(r31) /* 80085E38 00082D98 38 9F 02 84 */ addi r4, r31, 0x284 /* 80085E3C 00082D9C C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 80085E40 00082DA0 EC 22 00 72 */ fmuls f1, f2, f1 /* 80085E44 00082DA4 C0 62 8A 30 */ lfs f3, lbl_805AA750@sda21(r2) /* 80085E48 00082DA8 EC 41 00 32 */ fmuls f2, f1, f0 /* 80085E4C 00082DAC 48 00 60 7D */ bl "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" /* 80085E50 00082DB0 48 00 00 9C */ b lbl_80085EEC lbl_80085E54: /* 80085E54 00082DB4 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 80085E58 00082DB8 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80085E5C 00082DBC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80085E60 00082DC0 41 82 00 14 */ beq lbl_80085E74 /* 80085E64 00082DC4 C0 1D 04 F8 */ lfs f0, 0x4f8(r29) /* 80085E68 00082DC8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80085E6C 00082DCC 40 80 00 08 */ bge lbl_80085E74 /* 80085E70 00082DD0 C0 22 8A 04 */ lfs f1, lbl_805AA724@sda21(r2) lbl_80085E74: /* 80085E74 00082DD4 C0 5F 03 2C */ lfs f2, 0x32c(r31) /* 80085E78 00082DD8 7F E3 FB 78 */ mr r3, r31 /* 80085E7C 00082DDC C0 82 89 E0 */ lfs f4, lbl_805AA700@sda21(r2) /* 80085E80 00082DE0 38 9F 02 64 */ addi r4, r31, 0x264 /* 80085E84 00082DE4 EC 01 10 28 */ fsubs f0, f1, f2 /* 80085E88 00082DE8 C0 22 8A 2C */ lfs f1, lbl_805AA74C@sda21(r2) /* 80085E8C 00082DEC C0 62 8A 30 */ lfs f3, lbl_805AA750@sda21(r2) /* 80085E90 00082DF0 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80085E94 00082DF4 EC 04 10 3A */ fmadds f0, f4, f0, f2 /* 80085E98 00082DF8 D0 1F 03 2C */ stfs f0, 0x32c(r31) /* 80085E9C 00082DFC C0 1F 03 2C */ lfs f0, 0x32c(r31) /* 80085EA0 00082E00 EC 21 00 32 */ fmuls f1, f1, f0 /* 80085EA4 00082E04 FC 40 08 90 */ fmr f2, f1 /* 80085EA8 00082E08 48 00 60 21 */ bl "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" /* 80085EAC 00082E0C C0 22 8A 34 */ lfs f1, lbl_805AA754@sda21(r2) /* 80085EB0 00082E10 7F E3 FB 78 */ mr r3, r31 /* 80085EB4 00082E14 C0 1F 03 2C */ lfs f0, 0x32c(r31) /* 80085EB8 00082E18 38 9F 02 74 */ addi r4, r31, 0x274 /* 80085EBC 00082E1C C0 62 8A 30 */ lfs f3, lbl_805AA750@sda21(r2) /* 80085EC0 00082E20 EC 21 00 32 */ fmuls f1, f1, f0 /* 80085EC4 00082E24 FC 40 08 90 */ fmr f2, f1 /* 80085EC8 00082E28 48 00 60 01 */ bl "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" /* 80085ECC 00082E2C C0 22 8A 38 */ lfs f1, lbl_805AA758@sda21(r2) /* 80085ED0 00082E30 7F E3 FB 78 */ mr r3, r31 /* 80085ED4 00082E34 C0 1F 03 2C */ lfs f0, 0x32c(r31) /* 80085ED8 00082E38 38 9F 02 84 */ addi r4, r31, 0x284 /* 80085EDC 00082E3C C0 62 8A 30 */ lfs f3, lbl_805AA750@sda21(r2) /* 80085EE0 00082E40 EC 21 00 32 */ fmuls f1, f1, f0 /* 80085EE4 00082E44 FC 40 08 90 */ fmr f2, f1 /* 80085EE8 00082E48 48 00 5F E1 */ bl "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" lbl_80085EEC: /* 80085EEC 00082E4C C0 1F 01 A0 */ lfs f0, 0x1a0(r31) /* 80085EF0 00082E50 FC 20 F8 90 */ fmr f1, f31 /* 80085EF4 00082E54 7F E3 FB 78 */ mr r3, r31 /* 80085EF8 00082E58 7F C6 F3 78 */ mr r6, r30 /* 80085EFC 00082E5C D0 01 00 28 */ stfs f0, 0x28(r1) /* 80085F00 00082E60 38 81 00 28 */ addi r4, r1, 0x28 /* 80085F04 00082E64 38 A1 00 2C */ addi r5, r1, 0x2c /* 80085F08 00082E68 3B 60 00 01 */ li r27, 1 /* 80085F0C 00082E6C 48 00 37 C1 */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80085F10 00082E70 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085F14 00082E74 41 82 00 08 */ beq lbl_80085F1C /* 80085F18 00082E78 3B 60 00 00 */ li r27, 0 lbl_80085F1C: /* 80085F1C 00082E7C C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 80085F20 00082E80 38 61 01 30 */ addi r3, r1, 0x130 /* 80085F24 00082E84 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 80085F28 00082E88 38 81 03 70 */ addi r4, r1, 0x370 /* 80085F2C 00082E8C C0 01 00 28 */ lfs f0, 0x28(r1) /* 80085F30 00082E90 38 A1 01 E4 */ addi r5, r1, 0x1e4 /* 80085F34 00082E94 D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 80085F38 00082E98 D0 21 01 E8 */ stfs f1, 0x1e8(r1) /* 80085F3C 00082E9C D0 01 01 EC */ stfs f0, 0x1ec(r1) /* 80085F40 00082EA0 48 28 CB 41 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 80085F44 00082EA4 C0 41 01 30 */ lfs f2, 0x130(r1) /* 80085F48 00082EA8 7F C3 F3 78 */ mr r3, r30 /* 80085F4C 00082EAC C0 21 01 34 */ lfs f1, 0x134(r1) /* 80085F50 00082EB0 38 81 00 18 */ addi r4, r1, 0x18 /* 80085F54 00082EB4 C0 01 01 38 */ lfs f0, 0x138(r1) /* 80085F58 00082EB8 D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 80085F5C 00082EBC D0 21 01 E8 */ stfs f1, 0x1e8(r1) /* 80085F60 00082EC0 D0 01 01 EC */ stfs f0, 0x1ec(r1) /* 80085F64 00082EC4 A0 1F 03 DC */ lhz r0, 0x3dc(r31) /* 80085F68 00082EC8 B0 01 00 18 */ sth r0, 0x18(r1) /* 80085F6C 00082ECC 4B FC 66 39 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80085F70 00082ED0 7C 64 1B 78 */ mr r4, r3 /* 80085F74 00082ED4 38 61 00 40 */ addi r3, r1, 0x40 /* 80085F78 00082ED8 48 02 41 79 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 80085F7C 00082EDC 80 63 00 04 */ lwz r3, 4(r3) /* 80085F80 00082EE0 28 03 00 00 */ cmplwi r3, 0 /* 80085F84 00082EE4 41 82 00 14 */ beq lbl_80085F98 /* 80085F88 00082EE8 41 82 02 58 */ beq lbl_800861E0 /* 80085F8C 00082EEC 88 03 02 A8 */ lbz r0, 0x2a8(r3) /* 80085F90 00082EF0 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80085F94 00082EF4 40 82 02 4C */ bne lbl_800861E0 lbl_80085F98: /* 80085F98 00082EF8 80 1F 04 00 */ lwz r0, 0x400(r31) /* 80085F9C 00082EFC 2C 00 00 03 */ cmpwi r0, 3 /* 80085FA0 00082F00 40 82 01 10 */ bne lbl_800860B0 /* 80085FA4 00082F04 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80085FA8 00082F08 38 61 01 D8 */ addi r3, r1, 0x1d8 /* 80085FAC 00082F0C C0 01 02 30 */ lfs f0, 0x230(r1) /* 80085FB0 00082F10 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 80085FB4 00082F14 C0 41 02 34 */ lfs f2, 0x234(r1) /* 80085FB8 00082F18 EC 81 00 28 */ fsubs f4, f1, f0 /* 80085FBC 00082F1C C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80085FC0 00082F20 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 80085FC4 00082F24 EC 43 10 28 */ fsubs f2, f3, f2 /* 80085FC8 00082F28 D0 81 01 DC */ stfs f4, 0x1dc(r1) /* 80085FCC 00082F2C EC 01 00 28 */ fsubs f0, f1, f0 /* 80085FD0 00082F30 D0 41 01 E0 */ stfs f2, 0x1e0(r1) /* 80085FD4 00082F34 D0 01 01 D8 */ stfs f0, 0x1d8(r1) /* 80085FD8 00082F38 48 28 E7 21 */ bl CanBeNormalized__9CVector3fCFv /* 80085FDC 00082F3C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80085FE0 00082F40 41 82 00 10 */ beq lbl_80085FF0 /* 80085FE4 00082F44 38 61 01 D8 */ addi r3, r1, 0x1d8 /* 80085FE8 00082F48 48 28 E9 11 */ bl Normalize__9CVector3fFv /* 80085FEC 00082F4C 48 00 00 1C */ b lbl_80086008 lbl_80085FF0: /* 80085FF0 00082F50 C0 5F 00 58 */ lfs f2, 0x58(r31) /* 80085FF4 00082F54 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 80085FF8 00082F58 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80085FFC 00082F5C D0 01 01 D8 */ stfs f0, 0x1d8(r1) /* 80086000 00082F60 D0 21 01 DC */ stfs f1, 0x1dc(r1) /* 80086004 00082F64 D0 41 01 E0 */ stfs f2, 0x1e0(r1) lbl_80086008: /* 80086008 00082F68 C0 3F 04 30 */ lfs f1, 0x430(r31) /* 8008600C 00082F6C C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80086010 00082F70 EC 39 08 28 */ fsubs f1, f25, f1 /* 80086014 00082F74 FC 20 0A 10 */ fabs f1, f1 /* 80086018 00082F78 FC 20 08 18 */ frsp f1, f1 /* 8008601C 00082F7C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086020 00082F80 40 80 00 40 */ bge lbl_80086060 /* 80086024 00082F84 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 80086028 00082F88 FC 60 F8 90 */ fmr f3, f31 /* 8008602C 00082F8C 7F E4 FB 78 */ mr r4, r31 /* 80086030 00082F90 7F A5 EB 78 */ mr r5, r29 /* 80086034 00082F94 C0 23 01 AC */ lfs f1, 0x1ac(r3) /* 80086038 00082F98 7F C6 F3 78 */ mr r6, r30 /* 8008603C 00082F9C C0 43 01 B0 */ lfs f2, 0x1b0(r3) /* 80086040 00082FA0 38 61 01 24 */ addi r3, r1, 0x124 /* 80086044 00082FA4 48 00 33 31 */ bl ConstrainYawAngle__11CBallCameraCFRC7CPlayerfffR13CStateManager /* 80086048 00082FA8 C0 41 01 24 */ lfs f2, 0x124(r1) /* 8008604C 00082FAC C0 21 01 28 */ lfs f1, 0x128(r1) /* 80086050 00082FB0 C0 01 01 2C */ lfs f0, 0x12c(r1) /* 80086054 00082FB4 D0 41 01 D8 */ stfs f2, 0x1d8(r1) /* 80086058 00082FB8 D0 21 01 DC */ stfs f1, 0x1dc(r1) /* 8008605C 00082FBC D0 01 01 E0 */ stfs f0, 0x1e0(r1) lbl_80086060: /* 80086060 00082FC0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086064 00082FC4 38 61 01 D8 */ addi r3, r1, 0x1d8 /* 80086068 00082FC8 D0 01 01 E0 */ stfs f0, 0x1e0(r1) /* 8008606C 00082FCC 48 28 E8 8D */ bl Normalize__9CVector3fFv /* 80086070 00082FD0 C0 81 00 2C */ lfs f4, 0x2c(r1) /* 80086074 00082FD4 3B 60 00 00 */ li r27, 0 /* 80086078 00082FD8 C0 01 01 E0 */ lfs f0, 0x1e0(r1) /* 8008607C 00082FDC C0 61 01 D8 */ lfs f3, 0x1d8(r1) /* 80086080 00082FE0 EC 20 01 32 */ fmuls f1, f0, f4 /* 80086084 00082FE4 C0 41 01 DC */ lfs f2, 0x1dc(r1) /* 80086088 00082FE8 EC 63 01 32 */ fmuls f3, f3, f4 /* 8008608C 00082FEC C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80086090 00082FF0 EC 42 01 32 */ fmuls f2, f2, f4 /* 80086094 00082FF4 D0 21 01 E0 */ stfs f1, 0x1e0(r1) /* 80086098 00082FF8 D0 61 01 D8 */ stfs f3, 0x1d8(r1) /* 8008609C 00082FFC D0 41 01 DC */ stfs f2, 0x1dc(r1) /* 800860A0 00083000 D0 01 01 E0 */ stfs f0, 0x1e0(r1) /* 800860A4 00083004 D0 61 01 E4 */ stfs f3, 0x1e4(r1) /* 800860A8 00083008 D0 41 01 E8 */ stfs f2, 0x1e8(r1) /* 800860AC 0008300C D0 01 01 EC */ stfs f0, 0x1ec(r1) lbl_800860B0: /* 800860B0 00083010 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 800860B4 00083014 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 800860B8 00083018 41 82 01 28 */ beq lbl_800861E0 /* 800860BC 0008301C 80 1F 04 00 */ lwz r0, 0x400(r31) /* 800860C0 00083020 2C 00 00 02 */ cmpwi r0, 2 /* 800860C4 00083024 41 82 00 10 */ beq lbl_800860D4 /* 800860C8 00083028 80 1F 01 88 */ lwz r0, 0x188(r31) /* 800860CC 0008302C 2C 00 00 01 */ cmpwi r0, 1 /* 800860D0 00083030 40 82 01 10 */ bne lbl_800861E0 lbl_800860D4: /* 800860D4 00083034 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 800860D8 00083038 38 61 01 CC */ addi r3, r1, 0x1cc /* 800860DC 0008303C C0 01 02 30 */ lfs f0, 0x230(r1) /* 800860E0 00083040 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 800860E4 00083044 C0 41 02 34 */ lfs f2, 0x234(r1) /* 800860E8 00083048 EC 81 00 28 */ fsubs f4, f1, f0 /* 800860EC 0008304C C0 3F 00 40 */ lfs f1, 0x40(r31) /* 800860F0 00083050 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 800860F4 00083054 EC 43 10 28 */ fsubs f2, f3, f2 /* 800860F8 00083058 D0 81 01 D0 */ stfs f4, 0x1d0(r1) /* 800860FC 0008305C EC 01 00 28 */ fsubs f0, f1, f0 /* 80086100 00083060 D0 41 01 D4 */ stfs f2, 0x1d4(r1) /* 80086104 00083064 D0 01 01 CC */ stfs f0, 0x1cc(r1) /* 80086108 00083068 48 28 E5 F1 */ bl CanBeNormalized__9CVector3fCFv /* 8008610C 0008306C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80086110 00083070 41 82 00 10 */ beq lbl_80086120 /* 80086114 00083074 38 61 01 CC */ addi r3, r1, 0x1cc /* 80086118 00083078 48 28 E7 E1 */ bl Normalize__9CVector3fFv /* 8008611C 0008307C 48 00 00 1C */ b lbl_80086138 lbl_80086120: /* 80086120 00083080 C0 5F 00 58 */ lfs f2, 0x58(r31) /* 80086124 00083084 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 80086128 00083088 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 8008612C 0008308C D0 01 01 CC */ stfs f0, 0x1cc(r1) /* 80086130 00083090 D0 21 01 D0 */ stfs f1, 0x1d0(r1) /* 80086134 00083094 D0 41 01 D4 */ stfs f2, 0x1d4(r1) lbl_80086138: /* 80086138 00083098 C0 3F 04 04 */ lfs f1, 0x404(r31) /* 8008613C 0008309C C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 80086140 000830A0 EC 39 08 28 */ fsubs f1, f25, f1 /* 80086144 000830A4 FC 20 0A 10 */ fabs f1, f1 /* 80086148 000830A8 FC 20 08 18 */ frsp f1, f1 /* 8008614C 000830AC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086150 000830B0 40 80 00 40 */ bge lbl_80086190 /* 80086154 000830B4 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 80086158 000830B8 FC 60 F8 90 */ fmr f3, f31 /* 8008615C 000830BC 7F E4 FB 78 */ mr r4, r31 /* 80086160 000830C0 7F A5 EB 78 */ mr r5, r29 /* 80086164 000830C4 C0 23 01 80 */ lfs f1, 0x180(r3) /* 80086168 000830C8 7F C6 F3 78 */ mr r6, r30 /* 8008616C 000830CC C0 43 01 84 */ lfs f2, 0x184(r3) /* 80086170 000830D0 38 61 01 18 */ addi r3, r1, 0x118 /* 80086174 000830D4 48 00 32 01 */ bl ConstrainYawAngle__11CBallCameraCFRC7CPlayerfffR13CStateManager /* 80086178 000830D8 C0 41 01 18 */ lfs f2, 0x118(r1) /* 8008617C 000830DC C0 21 01 1C */ lfs f1, 0x11c(r1) /* 80086180 000830E0 C0 01 01 20 */ lfs f0, 0x120(r1) /* 80086184 000830E4 D0 41 01 CC */ stfs f2, 0x1cc(r1) /* 80086188 000830E8 D0 21 01 D0 */ stfs f1, 0x1d0(r1) /* 8008618C 000830EC D0 01 01 D4 */ stfs f0, 0x1d4(r1) lbl_80086190: /* 80086190 000830F0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086194 000830F4 38 61 01 CC */ addi r3, r1, 0x1cc /* 80086198 000830F8 D0 01 01 D4 */ stfs f0, 0x1d4(r1) /* 8008619C 000830FC 48 28 E7 5D */ bl Normalize__9CVector3fFv /* 800861A0 00083100 C0 81 00 2C */ lfs f4, 0x2c(r1) /* 800861A4 00083104 3B 60 00 00 */ li r27, 0 /* 800861A8 00083108 C0 01 01 D4 */ lfs f0, 0x1d4(r1) /* 800861AC 0008310C C0 61 01 CC */ lfs f3, 0x1cc(r1) /* 800861B0 00083110 EC 20 01 32 */ fmuls f1, f0, f4 /* 800861B4 00083114 C0 41 01 D0 */ lfs f2, 0x1d0(r1) /* 800861B8 00083118 EC 63 01 32 */ fmuls f3, f3, f4 /* 800861BC 0008311C C0 02 8A 3C */ lfs f0, lbl_805AA75C@sda21(r2) /* 800861C0 00083120 EC 42 01 32 */ fmuls f2, f2, f4 /* 800861C4 00083124 D0 21 01 D4 */ stfs f1, 0x1d4(r1) /* 800861C8 00083128 D0 61 01 CC */ stfs f3, 0x1cc(r1) /* 800861CC 0008312C D0 41 01 D0 */ stfs f2, 0x1d0(r1) /* 800861D0 00083130 D0 01 01 D4 */ stfs f0, 0x1d4(r1) /* 800861D4 00083134 D0 61 01 E4 */ stfs f3, 0x1e4(r1) /* 800861D8 00083138 D0 41 01 E8 */ stfs f2, 0x1e8(r1) /* 800861DC 0008313C D0 01 01 EC */ stfs f0, 0x1ec(r1) lbl_800861E0: /* 800861E0 00083140 80 1F 01 88 */ lwz r0, 0x188(r31) /* 800861E4 00083144 2C 00 00 02 */ cmpwi r0, 2 /* 800861E8 00083148 41 82 00 08 */ beq lbl_800861F0 /* 800861EC 0008314C 48 00 00 EC */ b lbl_800862D8 lbl_800861F0: /* 800861F0 00083150 C0 5F 04 5C */ lfs f2, 0x45c(r31) /* 800861F4 00083154 D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 800861F8 00083158 C0 3F 04 60 */ lfs f1, 0x460(r31) /* 800861FC 0008315C D0 21 01 E8 */ stfs f1, 0x1e8(r1) /* 80086200 00083160 C0 1F 04 64 */ lfs f0, 0x464(r31) /* 80086204 00083164 D0 01 01 EC */ stfs f0, 0x1ec(r1) /* 80086208 00083168 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008620C 0008316C 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80086210 00083170 41 82 00 C4 */ beq lbl_800862D4 /* 80086214 00083174 D0 41 01 C0 */ stfs f2, 0x1c0(r1) /* 80086218 00083178 38 61 01 C0 */ addi r3, r1, 0x1c0 /* 8008621C 0008317C D0 21 01 C4 */ stfs f1, 0x1c4(r1) /* 80086220 00083180 D0 01 01 C8 */ stfs f0, 0x1c8(r1) /* 80086224 00083184 48 28 E4 D5 */ bl CanBeNormalized__9CVector3fCFv /* 80086228 00083188 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008622C 0008318C 41 82 00 10 */ beq lbl_8008623C /* 80086230 00083190 38 61 01 C0 */ addi r3, r1, 0x1c0 /* 80086234 00083194 48 28 E6 C5 */ bl Normalize__9CVector3fFv /* 80086238 00083198 48 00 00 28 */ b lbl_80086260 lbl_8008623C: /* 8008623C 0008319C C0 5D 05 14 */ lfs f2, 0x514(r29) /* 80086240 000831A0 C0 3D 05 10 */ lfs f1, 0x510(r29) /* 80086244 000831A4 C0 1D 05 0C */ lfs f0, 0x50c(r29) /* 80086248 000831A8 FC 40 10 50 */ fneg f2, f2 /* 8008624C 000831AC FC 20 08 50 */ fneg f1, f1 /* 80086250 000831B0 FC 00 00 50 */ fneg f0, f0 /* 80086254 000831B4 D0 41 01 C8 */ stfs f2, 0x1c8(r1) /* 80086258 000831B8 D0 01 01 C0 */ stfs f0, 0x1c0(r1) /* 8008625C 000831BC D0 21 01 C4 */ stfs f1, 0x1c4(r1) lbl_80086260: /* 80086260 000831C0 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80086264 000831C4 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80086268 000831C8 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 8008626C 000831CC C0 21 00 2C */ lfs f1, 0x2c(r1) /* 80086270 000831D0 B0 01 00 20 */ sth r0, 0x20(r1) /* 80086274 000831D4 7F C4 F3 78 */ mr r4, r30 /* 80086278 000831D8 38 61 02 B0 */ addi r3, r1, 0x2b0 /* 8008627C 000831DC 38 A1 00 20 */ addi r5, r1, 0x20 /* 80086280 000831E0 38 C1 02 2C */ addi r6, r1, 0x22c /* 80086284 000831E4 38 E1 01 C0 */ addi r7, r1, 0x1c0 /* 80086288 000831E8 39 21 03 D0 */ addi r9, r1, 0x3d0 /* 8008628C 000831EC 4B FC 6D 39 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80086290 000831F0 88 01 02 D0 */ lbz r0, 0x2d0(r1) /* 80086294 000831F4 C0 81 02 B0 */ lfs f4, 0x2b0(r1) /* 80086298 000831F8 28 00 00 00 */ cmplwi r0, 0 /* 8008629C 000831FC 41 82 00 38 */ beq lbl_800862D4 /* 800862A0 00083200 C0 41 01 C4 */ lfs f2, 0x1c4(r1) /* 800862A4 00083204 C0 21 01 C8 */ lfs f1, 0x1c8(r1) /* 800862A8 00083208 C0 01 01 C0 */ lfs f0, 0x1c0(r1) /* 800862AC 0008320C EC 44 00 B2 */ fmuls f2, f4, f2 /* 800862B0 00083210 C0 62 8A 20 */ lfs f3, lbl_805AA740@sda21(r2) /* 800862B4 00083214 EC 24 00 72 */ fmuls f1, f4, f1 /* 800862B8 00083218 EC 04 00 32 */ fmuls f0, f4, f0 /* 800862BC 0008321C EC 43 00 B2 */ fmuls f2, f3, f2 /* 800862C0 00083220 EC 23 00 72 */ fmuls f1, f3, f1 /* 800862C4 00083224 EC 03 00 32 */ fmuls f0, f3, f0 /* 800862C8 00083228 D0 41 01 E8 */ stfs f2, 0x1e8(r1) /* 800862CC 0008322C D0 01 01 E4 */ stfs f0, 0x1e4(r1) /* 800862D0 00083230 D0 21 01 EC */ stfs f1, 0x1ec(r1) lbl_800862D4: /* 800862D4 00083234 3B 60 00 00 */ li r27, 0 lbl_800862D8: /* 800862D8 00083238 38 61 01 E4 */ addi r3, r1, 0x1e4 /* 800862DC 0008323C 48 28 E5 DD */ bl Magnitude__9CVector3fCFv /* 800862E0 00083240 C0 41 02 2C */ lfs f2, 0x22c(r1) /* 800862E4 00083244 7F C6 F3 78 */ mr r6, r30 /* 800862E8 00083248 C0 01 01 E4 */ lfs f0, 0x1e4(r1) /* 800862EC 0008324C 38 61 02 2C */ addi r3, r1, 0x22c /* 800862F0 00083250 C0 61 02 30 */ lfs f3, 0x230(r1) /* 800862F4 00083254 38 81 01 0C */ addi r4, r1, 0x10c /* 800862F8 00083258 EC 82 00 2A */ fadds f4, f2, f0 /* 800862FC 0008325C C0 41 01 E8 */ lfs f2, 0x1e8(r1) /* 80086300 00083260 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086304 00083264 38 A1 00 24 */ addi r5, r1, 0x24 /* 80086308 00083268 EC 63 10 2A */ fadds f3, f3, f2 /* 8008630C 0008326C D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80086310 00083270 C0 41 02 34 */ lfs f2, 0x234(r1) /* 80086314 00083274 C0 21 01 EC */ lfs f1, 0x1ec(r1) /* 80086318 00083278 D0 81 01 B4 */ stfs f4, 0x1b4(r1) /* 8008631C 0008327C EC 42 08 2A */ fadds f2, f2, f1 /* 80086320 00083280 C0 22 89 C4 */ lfs f1, lbl_805AA6E4@sda21(r2) /* 80086324 00083284 D0 61 01 B8 */ stfs f3, 0x1b8(r1) /* 80086328 00083288 D0 41 01 BC */ stfs f2, 0x1bc(r1) /* 8008632C 0008328C D0 01 00 24 */ stfs f0, 0x24(r1) /* 80086330 00083290 D0 81 01 0C */ stfs f4, 0x10c(r1) /* 80086334 00083294 D0 61 01 10 */ stfs f3, 0x110(r1) /* 80086338 00083298 D0 41 01 14 */ stfs f2, 0x114(r1) /* 8008633C 0008329C 48 00 46 C1 */ bl DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager /* 80086340 000832A0 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80086344 000832A4 7C 00 00 34 */ cntlzw r0, r0 /* 80086348 000832A8 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f /* 8008634C 000832AC 40 82 00 AC */ bne lbl_800863F8 /* 80086350 000832B0 C3 21 00 24 */ lfs f25, 0x24(r1) /* 80086354 000832B4 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80086358 000832B8 FC 19 00 40 */ fcmpo cr0, f25, f0 /* 8008635C 000832BC 4C 41 13 82 */ cror 2, 1, 2 /* 80086360 000832C0 40 82 00 5C */ bne lbl_800863BC /* 80086364 000832C4 38 61 01 00 */ addi r3, r1, 0x100 /* 80086368 000832C8 38 81 01 E4 */ addi r4, r1, 0x1e4 /* 8008636C 000832CC 48 28 E4 E5 */ bl AsNormalized__9CVector3fCFv /* 80086370 000832D0 C0 41 01 08 */ lfs f2, 0x108(r1) /* 80086374 000832D4 C0 21 01 00 */ lfs f1, 0x100(r1) /* 80086378 000832D8 C0 01 01 04 */ lfs f0, 0x104(r1) /* 8008637C 000832DC EC B9 00 B2 */ fmuls f5, f25, f2 /* 80086380 000832E0 EC 99 00 72 */ fmuls f4, f25, f1 /* 80086384 000832E4 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80086388 000832E8 EC 79 00 32 */ fmuls f3, f25, f0 /* 8008638C 000832EC C0 41 02 30 */ lfs f2, 0x230(r1) /* 80086390 000832F0 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 80086394 000832F4 EC 21 28 2A */ fadds f1, f1, f5 /* 80086398 000832F8 EC 42 18 2A */ fadds f2, f2, f3 /* 8008639C 000832FC D0 81 01 E4 */ stfs f4, 0x1e4(r1) /* 800863A0 00083300 EC 00 20 2A */ fadds f0, f0, f4 /* 800863A4 00083304 D0 61 01 E8 */ stfs f3, 0x1e8(r1) /* 800863A8 00083308 D0 A1 01 EC */ stfs f5, 0x1ec(r1) /* 800863AC 0008330C D0 01 01 B4 */ stfs f0, 0x1b4(r1) /* 800863B0 00083310 D0 41 01 B8 */ stfs f2, 0x1b8(r1) /* 800863B4 00083314 D0 21 01 BC */ stfs f1, 0x1bc(r1) /* 800863B8 00083318 48 00 00 40 */ b lbl_800863F8 lbl_800863BC: /* 800863BC 0008331C C0 9F 00 50 */ lfs f4, 0x50(r31) /* 800863C0 00083320 C0 01 02 30 */ lfs f0, 0x230(r1) /* 800863C4 00083324 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 800863C8 00083328 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 800863CC 0008332C EC A4 00 28 */ fsubs f5, f4, f0 /* 800863D0 00083330 C0 41 02 34 */ lfs f2, 0x234(r1) /* 800863D4 00083334 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 800863D8 00083338 EC 43 10 28 */ fsubs f2, f3, f2 /* 800863DC 0008333C D0 A1 01 E8 */ stfs f5, 0x1e8(r1) /* 800863E0 00083340 EC 01 00 28 */ fsubs f0, f1, f0 /* 800863E4 00083344 D0 21 01 B4 */ stfs f1, 0x1b4(r1) /* 800863E8 00083348 D0 01 01 E4 */ stfs f0, 0x1e4(r1) /* 800863EC 0008334C D0 41 01 EC */ stfs f2, 0x1ec(r1) /* 800863F0 00083350 D0 81 01 B8 */ stfs f4, 0x1b8(r1) /* 800863F4 00083354 D0 61 01 BC */ stfs f3, 0x1bc(r1) lbl_800863F8: /* 800863F8 00083358 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 800863FC 0008335C 38 61 02 80 */ addi r3, r1, 0x280 /* 80086400 00083360 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 80086404 00083364 38 BF 01 D8 */ addi r5, r31, 0x1d8 /* 80086408 00083368 38 81 01 B4 */ addi r4, r1, 0x1b4 /* 8008640C 0008336C 48 28 D7 05 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80086410 00083370 38 61 03 40 */ addi r3, r1, 0x340 /* 80086414 00083374 38 81 02 80 */ addi r4, r1, 0x280 /* 80086418 00083378 48 28 C7 5D */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008641C 0008337C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80086420 00083380 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 80086424 00083384 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80086428 00083388 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 8008642C 0008338C C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80086430 00083390 38 61 02 50 */ addi r3, r1, 0x250 /* 80086434 00083394 38 81 00 F4 */ addi r4, r1, 0xf4 /* 80086438 00083398 38 BF 01 D8 */ addi r5, r31, 0x1d8 /* 8008643C 0008339C D0 01 00 F4 */ stfs f0, 0xf4(r1) /* 80086440 000833A0 D0 21 00 F8 */ stfs f1, 0xf8(r1) /* 80086444 000833A4 D0 41 00 FC */ stfs f2, 0xfc(r1) /* 80086448 000833A8 48 28 D6 C9 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8008644C 000833AC 38 61 03 10 */ addi r3, r1, 0x310 /* 80086450 000833B0 38 81 02 50 */ addi r4, r1, 0x250 /* 80086454 000833B4 48 28 C7 21 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80086458 000833B8 38 7F 01 E4 */ addi r3, r31, 0x1e4 /* 8008645C 000833BC 38 81 03 40 */ addi r4, r1, 0x340 /* 80086460 000833C0 48 28 C6 E1 */ bl __as__12CTransform4fFRC12CTransform4f /* 80086464 000833C4 38 61 03 40 */ addi r3, r1, 0x340 /* 80086468 000833C8 38 81 03 10 */ addi r4, r1, 0x310 /* 8008646C 000833CC 48 28 C6 D5 */ bl __as__12CTransform4fFRC12CTransform4f /* 80086470 000833D0 3C 60 80 5A */ lis r3, skZero3f@ha /* 80086474 000833D4 3B 83 66 A0 */ addi r28, r3, skZero3f@l /* 80086478 000833D8 C0 5C 00 00 */ lfs f2, 0(r28) /* 8008647C 000833DC C0 3C 00 04 */ lfs f1, 4(r28) /* 80086480 000833E0 C0 1C 00 08 */ lfs f0, 8(r28) /* 80086484 000833E4 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 80086488 000833E8 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 8008648C 000833EC D0 01 01 B0 */ stfs f0, 0x1b0(r1) /* 80086490 000833F0 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 80086494 000833F4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80086498 000833F8 40 82 00 10 */ bne lbl_800864A8 /* 8008649C 000833FC 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 800864A0 00083400 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 800864A4 00083404 40 82 00 3C */ bne lbl_800864E0 lbl_800864A8: /* 800864A8 00083408 FC 20 F8 90 */ fmr f1, f31 /* 800864AC 0008340C 7F E4 FB 78 */ mr r4, r31 /* 800864B0 00083410 7F C7 F3 78 */ mr r7, r30 /* 800864B4 00083414 38 61 00 E8 */ addi r3, r1, 0xe8 /* 800864B8 00083418 38 A1 03 40 */ addi r5, r1, 0x340 /* 800864BC 0008341C 38 C1 03 D0 */ addi r6, r1, 0x3d0 /* 800864C0 00083420 48 00 4D 8D */ bl "AvoidGeometryFull__11CBallCameraFRC12CTransform4fRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 800864C4 00083424 C0 41 00 E8 */ lfs f2, 0xe8(r1) /* 800864C8 00083428 C0 21 00 EC */ lfs f1, 0xec(r1) /* 800864CC 0008342C C0 01 00 F0 */ lfs f0, 0xf0(r1) /* 800864D0 00083430 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 800864D4 00083434 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 800864D8 00083438 D0 01 01 B0 */ stfs f0, 0x1b0(r1) /* 800864DC 0008343C 48 00 00 38 */ b lbl_80086514 lbl_800864E0: /* 800864E0 00083440 FC 20 F8 90 */ fmr f1, f31 /* 800864E4 00083444 7F E4 FB 78 */ mr r4, r31 /* 800864E8 00083448 7F C7 F3 78 */ mr r7, r30 /* 800864EC 0008344C 38 61 00 DC */ addi r3, r1, 0xdc /* 800864F0 00083450 38 A1 03 40 */ addi r5, r1, 0x340 /* 800864F4 00083454 38 C1 03 D0 */ addi r6, r1, 0x3d0 /* 800864F8 00083458 48 00 4C 21 */ bl "AvoidGeometry__11CBallCameraFRC12CTransform4fRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 800864FC 0008345C C0 41 00 DC */ lfs f2, 0xdc(r1) /* 80086500 00083460 C0 21 00 E0 */ lfs f1, 0xe0(r1) /* 80086504 00083464 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 80086508 00083468 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 8008650C 0008346C D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 80086510 00083470 D0 01 01 B0 */ stfs f0, 0x1b0(r1) lbl_80086514: /* 80086514 00083474 C0 5F 00 50 */ lfs f2, 0x50(r31) /* 80086518 00083478 38 61 00 50 */ addi r3, r1, 0x50 /* 8008651C 0008347C C0 01 02 30 */ lfs f0, 0x230(r1) /* 80086520 00083480 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80086524 00083484 EC 82 00 28 */ fsubs f4, f2, f0 /* 80086528 00083488 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 8008652C 0008348C C0 7F 00 60 */ lfs f3, 0x60(r31) /* 80086530 00083490 EC 01 00 28 */ fsubs f0, f1, f0 /* 80086534 00083494 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80086538 00083498 FC 40 20 18 */ frsp f2, f4 /* 8008653C 0008349C EC 63 08 28 */ fsubs f3, f3, f1 /* 80086540 000834A0 D0 81 00 C8 */ stfs f4, 0xc8(r1) /* 80086544 000834A4 FC 20 00 18 */ frsp f1, f0 /* 80086548 000834A8 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 8008654C 000834AC D0 61 00 CC */ stfs f3, 0xcc(r1) /* 80086550 000834B0 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 80086554 000834B4 D0 81 00 D4 */ stfs f4, 0xd4(r1) /* 80086558 000834B8 D0 61 00 D8 */ stfs f3, 0xd8(r1) /* 8008655C 000834BC 48 28 DC A5 */ bl __ct__9CVector2fFff /* 80086560 000834C0 C0 41 00 50 */ lfs f2, 0x50(r1) /* 80086564 000834C4 38 61 01 9C */ addi r3, r1, 0x19c /* 80086568 000834C8 C0 21 00 54 */ lfs f1, 0x54(r1) /* 8008656C 000834CC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086570 000834D0 D0 41 01 9C */ stfs f2, 0x19c(r1) /* 80086574 000834D4 D0 21 01 A0 */ stfs f1, 0x1a0(r1) /* 80086578 000834D8 D0 01 01 A4 */ stfs f0, 0x1a4(r1) /* 8008657C 000834DC 48 28 E3 3D */ bl Magnitude__9CVector3fCFv /* 80086580 000834E0 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 80086584 000834E4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086588 000834E8 40 80 00 F8 */ bge lbl_80086680 /* 8008658C 000834EC 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 80086590 000834F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80086594 000834F4 41 82 00 58 */ beq lbl_800865EC /* 80086598 000834F8 80 1F 04 78 */ lwz r0, 0x478(r31) /* 8008659C 000834FC 2C 00 00 02 */ cmpwi r0, 2 /* 800865A0 00083500 40 81 00 4C */ ble lbl_800865EC /* 800865A4 00083504 6C 03 80 00 */ xoris r3, r0, 0x8000 /* 800865A8 00083508 3C 00 43 30 */ lis r0, 0x4330 /* 800865AC 0008350C 90 61 0B DC */ stw r3, 0xbdc(r1) /* 800865B0 00083510 C8 22 89 C8 */ lfd f1, lbl_805AA6E8@sda21(r2) /* 800865B4 00083514 90 01 0B D8 */ stw r0, 0xbd8(r1) /* 800865B8 00083518 C0 82 89 B8 */ lfs f4, lbl_805AA6D8@sda21(r2) /* 800865BC 0008351C C8 01 0B D8 */ lfd f0, 0xbd8(r1) /* 800865C0 00083520 C0 41 01 A8 */ lfs f2, 0x1a8(r1) /* 800865C4 00083524 EC 60 08 28 */ fsubs f3, f0, f1 /* 800865C8 00083528 C0 21 01 AC */ lfs f1, 0x1ac(r1) /* 800865CC 0008352C C0 01 01 B0 */ lfs f0, 0x1b0(r1) /* 800865D0 00083530 EC 64 18 24 */ fdivs f3, f4, f3 /* 800865D4 00083534 EC 42 00 F2 */ fmuls f2, f2, f3 /* 800865D8 00083538 EC 21 00 F2 */ fmuls f1, f1, f3 /* 800865DC 0008353C EC 00 00 F2 */ fmuls f0, f0, f3 /* 800865E0 00083540 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 800865E4 00083544 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 800865E8 00083548 D0 01 01 B0 */ stfs f0, 0x1b0(r1) lbl_800865EC: /* 800865EC 0008354C C0 81 00 24 */ lfs f4, 0x24(r1) /* 800865F0 00083550 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 800865F4 00083554 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 800865F8 00083558 40 80 00 60 */ bge lbl_80086658 /* 800865FC 0008355C C0 41 01 A8 */ lfs f2, 0x1a8(r1) /* 80086600 00083560 C0 62 8A 04 */ lfs f3, lbl_805AA724@sda21(r2) /* 80086604 00083564 C0 21 01 AC */ lfs f1, 0x1ac(r1) /* 80086608 00083568 C0 01 01 B0 */ lfs f0, 0x1b0(r1) /* 8008660C 0008356C EC 42 00 F2 */ fmuls f2, f2, f3 /* 80086610 00083570 EC 21 00 F2 */ fmuls f1, f1, f3 /* 80086614 00083574 EC 00 00 F2 */ fmuls f0, f0, f3 /* 80086618 00083578 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 8008661C 0008357C D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 80086620 00083580 D0 01 01 B0 */ stfs f0, 0x1b0(r1) /* 80086624 00083584 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 80086628 00083588 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8008662C 0008358C 41 82 00 2C */ beq lbl_80086658 /* 80086630 00083590 80 1F 04 78 */ lwz r0, 0x478(r31) /* 80086634 00083594 2C 00 00 00 */ cmpwi r0, 0 /* 80086638 00083598 40 81 00 20 */ ble lbl_80086658 /* 8008663C 0008359C C0 7F 03 08 */ lfs f3, 0x308(r31) /* 80086640 000835A0 EC 42 00 F2 */ fmuls f2, f2, f3 /* 80086644 000835A4 EC 21 00 F2 */ fmuls f1, f1, f3 /* 80086648 000835A8 EC 00 00 F2 */ fmuls f0, f0, f3 /* 8008664C 000835AC D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 80086650 000835B0 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 80086654 000835B4 D0 01 01 B0 */ stfs f0, 0x1b0(r1) lbl_80086658: /* 80086658 000835B8 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008665C 000835BC FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80086660 000835C0 40 80 00 20 */ bge lbl_80086680 /* 80086664 000835C4 3C 60 80 5A */ lis r3, skZero3f@ha /* 80086668 000835C8 C0 3C 00 04 */ lfs f1, 4(r28) /* 8008666C 000835CC C0 1C 00 08 */ lfs f0, 8(r28) /* 80086670 000835D0 C0 43 66 A0 */ lfs f2, skZero3f@l(r3) /* 80086674 000835D4 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 80086678 000835D8 D0 41 01 A8 */ stfs f2, 0x1a8(r1) /* 8008667C 000835DC D0 01 01 B0 */ stfs f0, 0x1b0(r1) lbl_80086680: /* 80086680 000835E0 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80086684 000835E4 38 81 03 40 */ addi r4, r1, 0x340 /* 80086688 000835E8 38 A1 01 A8 */ addi r5, r1, 0x1a8 /* 8008668C 000835EC 48 28 C3 F5 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 80086690 000835F0 C0 61 00 BC */ lfs f3, 0xbc(r1) /* 80086694 000835F4 38 61 01 90 */ addi r3, r1, 0x190 /* 80086698 000835F8 C0 21 01 B8 */ lfs f1, 0x1b8(r1) /* 8008669C 000835FC C0 41 00 C0 */ lfs f2, 0xc0(r1) /* 800866A0 00083600 C0 01 01 BC */ lfs f0, 0x1bc(r1) /* 800866A4 00083604 EC A3 08 2A */ fadds f5, f3, f1 /* 800866A8 00083608 C0 81 02 30 */ lfs f4, 0x230(r1) /* 800866AC 0008360C C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 800866B0 00083610 EC 62 00 2A */ fadds f3, f2, f0 /* 800866B4 00083614 C0 01 01 B4 */ lfs f0, 0x1b4(r1) /* 800866B8 00083618 EC 85 20 28 */ fsubs f4, f5, f4 /* 800866BC 0008361C C0 41 02 34 */ lfs f2, 0x234(r1) /* 800866C0 00083620 EC 21 00 2A */ fadds f1, f1, f0 /* 800866C4 00083624 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 800866C8 00083628 EC 43 10 28 */ fsubs f2, f3, f2 /* 800866CC 0008362C D0 81 01 94 */ stfs f4, 0x194(r1) /* 800866D0 00083630 EC 01 00 28 */ fsubs f0, f1, f0 /* 800866D4 00083634 D0 41 01 98 */ stfs f2, 0x198(r1) /* 800866D8 00083638 D0 01 01 90 */ stfs f0, 0x190(r1) /* 800866DC 0008363C 48 28 E0 1D */ bl CanBeNormalized__9CVector3fCFv /* 800866E0 00083640 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800866E4 00083644 41 82 00 0C */ beq lbl_800866F0 /* 800866E8 00083648 38 61 01 90 */ addi r3, r1, 0x190 /* 800866EC 0008364C 48 28 E2 0D */ bl Normalize__9CVector3fFv lbl_800866F0: /* 800866F0 00083650 C0 C1 00 2C */ lfs f6, 0x2c(r1) /* 800866F4 00083654 C0 41 01 90 */ lfs f2, 0x190(r1) /* 800866F8 00083658 C0 21 01 94 */ lfs f1, 0x194(r1) /* 800866FC 0008365C C0 01 01 98 */ lfs f0, 0x198(r1) /* 80086700 00083660 EC 86 00 B2 */ fmuls f4, f6, f2 /* 80086704 00083664 C0 A1 02 2C */ lfs f5, 0x22c(r1) /* 80086708 00083668 EC 46 00 72 */ fmuls f2, f6, f1 /* 8008670C 0008366C C0 61 02 30 */ lfs f3, 0x230(r1) /* 80086710 00083670 EC 06 00 32 */ fmuls f0, f6, f0 /* 80086714 00083674 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80086718 00083678 80 1F 01 88 */ lwz r0, 0x188(r31) /* 8008671C 0008367C EF 65 20 2A */ fadds f27, f5, f4 /* 80086720 00083680 EF 43 10 2A */ fadds f26, f3, f2 /* 80086724 00083684 2C 00 00 06 */ cmpwi r0, 6 /* 80086728 00083688 EF 21 00 2A */ fadds f25, f1, f0 /* 8008672C 0008368C 40 82 00 48 */ bne lbl_80086774 /* 80086730 00083690 80 9E 08 70 */ lwz r4, 0x870(r30) /* 80086734 00083694 38 61 00 10 */ addi r3, r1, 0x10 /* 80086738 00083698 4B F8 2B 85 */ bl GetPathCameraId__14CCameraManagerCFv /* 8008673C 0008369C A0 01 00 10 */ lhz r0, 0x10(r1) /* 80086740 000836A0 7F C3 F3 78 */ mr r3, r30 /* 80086744 000836A4 38 81 00 14 */ addi r4, r1, 0x14 /* 80086748 000836A8 B0 01 00 14 */ sth r0, 0x14(r1) /* 8008674C 000836AC 4B FC 5E 59 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80086750 000836B0 7C 64 1B 78 */ mr r4, r3 /* 80086754 000836B4 38 61 00 38 */ addi r3, r1, 0x38 /* 80086758 000836B8 48 02 66 7D */ bl "__ct__25TCastToPtr<11CPathCamera>FP7CEntity" /* 8008675C 000836BC 80 63 00 04 */ lwz r3, 4(r3) /* 80086760 000836C0 28 03 00 00 */ cmplwi r3, 0 /* 80086764 000836C4 41 82 00 10 */ beq lbl_80086774 /* 80086768 000836C8 C3 63 00 40 */ lfs f27, 0x40(r3) /* 8008676C 000836CC C3 43 00 50 */ lfs f26, 0x50(r3) /* 80086770 000836D0 C3 23 00 60 */ lfs f25, 0x60(r3) lbl_80086774: /* 80086774 000836D4 C0 5F 02 98 */ lfs f2, 0x298(r31) /* 80086778 000836D8 38 61 01 90 */ addi r3, r1, 0x190 /* 8008677C 000836DC C0 3F 02 9C */ lfs f1, 0x29c(r31) /* 80086780 000836E0 C0 1F 02 94 */ lfs f0, 0x294(r31) /* 80086784 000836E4 EC 42 D0 28 */ fsubs f2, f2, f26 /* 80086788 000836E8 EC 21 C8 28 */ fsubs f1, f1, f25 /* 8008678C 000836EC EC 00 D8 28 */ fsubs f0, f0, f27 /* 80086790 000836F0 D0 41 01 94 */ stfs f2, 0x194(r1) /* 80086794 000836F4 D0 01 01 90 */ stfs f0, 0x190(r1) /* 80086798 000836F8 D0 21 01 98 */ stfs f1, 0x198(r1) /* 8008679C 000836FC 48 28 E1 1D */ bl Magnitude__9CVector3fCFv /* 800867A0 00083700 FF 00 08 90 */ fmr f24, f1 /* 800867A4 00083704 38 61 01 90 */ addi r3, r1, 0x190 /* 800867A8 00083708 48 28 DF 51 */ bl CanBeNormalized__9CVector3fCFv /* 800867AC 0008370C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800867B0 00083710 41 82 00 0C */ beq lbl_800867BC /* 800867B4 00083714 38 61 01 90 */ addi r3, r1, 0x190 /* 800867B8 00083718 48 28 E1 41 */ bl Normalize__9CVector3fFv lbl_800867BC: /* 800867BC 0008371C FC 40 C0 90 */ fmr f2, f24 /* 800867C0 00083720 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 800867C4 00083724 FC 60 F8 90 */ fmr f3, f31 /* 800867C8 00083728 38 7F 02 28 */ addi r3, r31, 0x228 /* 800867CC 0008372C 4B FD 70 6D */ bl ApplyDistanceSpring__13CCameraSpringFfff /* 800867D0 00083730 C0 01 01 90 */ lfs f0, 0x190(r1) /* 800867D4 00083734 38 61 01 84 */ addi r3, r1, 0x184 /* 800867D8 00083738 C0 61 01 94 */ lfs f3, 0x194(r1) /* 800867DC 0008373C EC 01 00 32 */ fmuls f0, f1, f0 /* 800867E0 00083740 C0 41 01 98 */ lfs f2, 0x198(r1) /* 800867E4 00083744 EC 61 00 F2 */ fmuls f3, f1, f3 /* 800867E8 00083748 EC 21 00 B2 */ fmuls f1, f1, f2 /* 800867EC 0008374C EC 1B 00 2A */ fadds f0, f27, f0 /* 800867F0 00083750 EC 5A 18 2A */ fadds f2, f26, f3 /* 800867F4 00083754 EC 39 08 2A */ fadds f1, f25, f1 /* 800867F8 00083758 D0 1F 02 94 */ stfs f0, 0x294(r31) /* 800867FC 0008375C D0 5F 02 98 */ stfs f2, 0x298(r31) /* 80086800 00083760 D0 3F 02 9C */ stfs f1, 0x29c(r31) /* 80086804 00083764 C0 5F 02 98 */ lfs f2, 0x298(r31) /* 80086808 00083768 C0 3F 02 9C */ lfs f1, 0x29c(r31) /* 8008680C 0008376C C0 1F 02 94 */ lfs f0, 0x294(r31) /* 80086810 00083770 EC 5D 10 28 */ fsubs f2, f29, f2 /* 80086814 00083774 EC 3E 08 28 */ fsubs f1, f30, f1 /* 80086818 00083778 EC 1C 00 28 */ fsubs f0, f28, f0 /* 8008681C 0008377C D0 41 01 88 */ stfs f2, 0x188(r1) /* 80086820 00083780 D0 01 01 84 */ stfs f0, 0x184(r1) /* 80086824 00083784 D0 21 01 8C */ stfs f1, 0x18c(r1) /* 80086828 00083788 48 28 E0 91 */ bl Magnitude__9CVector3fCFv /* 8008682C 0008378C FF 00 08 90 */ fmr f24, f1 /* 80086830 00083790 38 61 01 84 */ addi r3, r1, 0x184 /* 80086834 00083794 48 28 DE C5 */ bl CanBeNormalized__9CVector3fCFv /* 80086838 00083798 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008683C 0008379C 41 82 00 0C */ beq lbl_80086848 /* 80086840 000837A0 38 61 01 84 */ addi r3, r1, 0x184 /* 80086844 000837A4 48 28 E0 B5 */ bl Normalize__9CVector3fFv lbl_80086848: /* 80086848 000837A8 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 8008684C 000837AC C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80086850 000837B0 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80086854 000837B4 41 82 00 08 */ beq lbl_8008685C /* 80086858 000837B8 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) lbl_8008685C: /* 8008685C 000837BC FC 40 C0 90 */ fmr f2, f24 /* 80086860 000837C0 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80086864 000837C4 EC 7F 00 32 */ fmuls f3, f31, f0 /* 80086868 000837C8 38 7F 02 50 */ addi r3, r31, 0x250 /* 8008686C 000837CC 4B FD 6F CD */ bl ApplyDistanceSpring__13CCameraSpringFfff /* 80086870 000837D0 80 1F 04 00 */ lwz r0, 0x400(r31) /* 80086874 000837D4 2C 00 00 03 */ cmpwi r0, 3 /* 80086878 000837D8 40 82 00 1C */ bne lbl_80086894 /* 8008687C 000837DC FC 40 C0 90 */ fmr f2, f24 /* 80086880 000837E0 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80086884 000837E4 FC 60 F8 90 */ fmr f3, f31 /* 80086888 000837E8 38 7F 04 48 */ addi r3, r31, 0x448 /* 8008688C 000837EC 4B FD 6F AD */ bl ApplyDistanceSpring__13CCameraSpringFfff /* 80086890 000837F0 48 00 00 3C */ b lbl_800868CC lbl_80086894: /* 80086894 000837F4 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 80086898 000837F8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8008689C 000837FC 41 82 00 30 */ beq lbl_800868CC /* 800868A0 00083800 80 1F 04 00 */ lwz r0, 0x400(r31) /* 800868A4 00083804 2C 00 00 02 */ cmpwi r0, 2 /* 800868A8 00083808 41 82 00 10 */ beq lbl_800868B8 /* 800868AC 0008380C 80 1F 01 88 */ lwz r0, 0x188(r31) /* 800868B0 00083810 2C 00 00 01 */ cmpwi r0, 1 /* 800868B4 00083814 40 82 00 18 */ bne lbl_800868CC lbl_800868B8: /* 800868B8 00083818 FC 40 C0 90 */ fmr f2, f24 /* 800868BC 0008381C C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 800868C0 00083820 FC 60 F8 90 */ fmr f3, f31 /* 800868C4 00083824 38 7F 04 1C */ addi r3, r31, 0x41c /* 800868C8 00083828 4B FD 6F 71 */ bl ApplyDistanceSpring__13CCameraSpringFfff lbl_800868CC: /* 800868CC 0008382C C0 61 01 88 */ lfs f3, 0x188(r1) /* 800868D0 00083830 C0 41 01 8C */ lfs f2, 0x18c(r1) /* 800868D4 00083834 C0 01 01 84 */ lfs f0, 0x184(r1) /* 800868D8 00083838 EC 81 00 F2 */ fmuls f4, f1, f3 /* 800868DC 0008383C C0 BF 02 98 */ lfs f5, 0x298(r31) /* 800868E0 00083840 EC 41 00 B2 */ fmuls f2, f1, f2 /* 800868E4 00083844 C0 7F 02 9C */ lfs f3, 0x29c(r31) /* 800868E8 00083848 EC 01 00 32 */ fmuls f0, f1, f0 /* 800868EC 0008384C C0 3F 02 94 */ lfs f1, 0x294(r31) /* 800868F0 00083850 EC 85 20 2A */ fadds f4, f5, f4 /* 800868F4 00083854 EC 63 10 2A */ fadds f3, f3, f2 /* 800868F8 00083858 EC 41 00 2A */ fadds f2, f1, f0 /* 800868FC 0008385C D0 81 01 7C */ stfs f4, 0x17c(r1) /* 80086900 00083860 D0 41 01 78 */ stfs f2, 0x178(r1) /* 80086904 00083864 D0 61 01 80 */ stfs f3, 0x180(r1) /* 80086908 00083868 80 7D 07 68 */ lwz r3, 0x768(r29) /* 8008690C 0008386C 80 03 18 7C */ lwz r0, 0x187c(r3) /* 80086910 00083870 2C 00 00 01 */ cmpwi r0, 1 /* 80086914 00083874 41 82 00 68 */ beq lbl_8008697C /* 80086918 00083878 88 1F 01 8E */ lbz r0, 0x18e(r31) /* 8008691C 0008387C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80086920 00083880 40 82 00 5C */ bne lbl_8008697C /* 80086924 00083884 C0 3D 01 40 */ lfs f1, 0x140(r29) /* 80086928 00083888 C0 02 8A 40 */ lfs f0, lbl_805AA760@sda21(r2) /* 8008692C 0008388C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086930 00083890 40 81 00 4C */ ble lbl_8008697C /* 80086934 00083894 EC 63 F0 28 */ fsubs f3, f3, f30 /* 80086938 00083898 C0 02 89 BC */ lfs f0, lbl_805AA6DC@sda21(r2) /* 8008693C 0008389C EC 22 E0 28 */ fsubs f1, f2, f28 /* 80086940 000838A0 EC A0 07 F2 */ fmuls f5, f0, f31 /* 80086944 000838A4 FC 40 1A 10 */ fabs f2, f3 /* 80086948 000838A8 EC 04 E8 28 */ fsubs f0, f4, f29 /* 8008694C 000838AC FC 02 28 40 */ fcmpo cr0, f2, f5 /* 80086950 000838B0 40 81 00 14 */ ble lbl_80086964 /* 80086954 000838B4 C0 82 89 F8 */ lfs f4, lbl_805AA718@sda21(r2) /* 80086958 000838B8 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 8008695C 000838BC FC 43 20 AE */ fsel f2, f3, f2, f4 /* 80086960 000838C0 EC 65 00 B2 */ fmuls f3, f5, f2 lbl_80086964: /* 80086964 000838C4 EC 5C 08 2A */ fadds f2, f28, f1 /* 80086968 000838C8 EC 3D 00 2A */ fadds f1, f29, f0 /* 8008696C 000838CC EC 1E 18 2A */ fadds f0, f30, f3 /* 80086970 000838D0 D0 41 01 78 */ stfs f2, 0x178(r1) /* 80086974 000838D4 D0 21 01 7C */ stfs f1, 0x17c(r1) /* 80086978 000838D8 D0 01 01 80 */ stfs f0, 0x180(r1) lbl_8008697C: /* 8008697C 000838DC 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 80086980 000838E0 41 82 00 54 */ beq lbl_800869D4 /* 80086984 000838E4 80 1F 04 00 */ lwz r0, 0x400(r31) /* 80086988 000838E8 2C 00 00 04 */ cmpwi r0, 4 /* 8008698C 000838EC 41 82 00 48 */ beq lbl_800869D4 /* 80086990 000838F0 80 A1 01 78 */ lwz r5, 0x178(r1) /* 80086994 000838F4 FC 20 F8 90 */ fmr f1, f31 /* 80086998 000838F8 80 C1 01 7C */ lwz r6, 0x17c(r1) /* 8008699C 000838FC 7F E4 FB 78 */ mr r4, r31 /* 800869A0 00083900 80 01 01 80 */ lwz r0, 0x180(r1) /* 800869A4 00083904 38 61 00 AC */ addi r3, r1, 0xac /* 800869A8 00083908 90 A1 00 A0 */ stw r5, 0xa0(r1) /* 800869AC 0008390C 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 800869B0 00083910 90 C1 00 A4 */ stw r6, 0xa4(r1) /* 800869B4 00083914 90 01 00 A8 */ stw r0, 0xa8(r1) /* 800869B8 00083918 48 00 1D 21 */ bl InterpolateCameraElevation__11CBallCameraCFRC9CVector3ff /* 800869BC 0008391C C0 41 00 AC */ lfs f2, 0xac(r1) /* 800869C0 00083920 C0 21 00 B0 */ lfs f1, 0xb0(r1) /* 800869C4 00083924 C0 01 00 B4 */ lfs f0, 0xb4(r1) /* 800869C8 00083928 D0 41 01 78 */ stfs f2, 0x178(r1) /* 800869CC 0008392C D0 21 01 7C */ stfs f1, 0x17c(r1) /* 800869D0 00083930 D0 01 01 80 */ stfs f0, 0x180(r1) lbl_800869D4: /* 800869D4 00083934 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 800869D8 00083938 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 800869DC 0008393C 41 82 00 14 */ beq lbl_800869F0 /* 800869E0 00083940 C0 21 00 28 */ lfs f1, 0x28(r1) /* 800869E4 00083944 C0 01 02 34 */ lfs f0, 0x234(r1) /* 800869E8 00083948 EC 01 00 2A */ fadds f0, f1, f0 /* 800869EC 0008394C D0 01 01 80 */ stfs f0, 0x180(r1) lbl_800869F0: /* 800869F0 00083950 38 61 01 9C */ addi r3, r1, 0x19c /* 800869F4 00083954 48 28 DE C5 */ bl Magnitude__9CVector3fCFv /* 800869F8 00083958 C0 42 89 E0 */ lfs f2, lbl_805AA700@sda21(r2) /* 800869FC 0008395C FC 01 10 40 */ fcmpo cr0, f1, f2 /* 80086A00 00083960 40 80 00 24 */ bge lbl_80086A24 /* 80086A04 00083964 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80086A08 00083968 C0 01 01 80 */ lfs f0, 0x180(r1) /* 80086A0C 0008396C EC 22 08 2A */ fadds f1, f2, f1 /* 80086A10 00083970 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80086A14 00083974 40 80 00 08 */ bge lbl_80086A1C /* 80086A18 00083978 D0 21 01 80 */ stfs f1, 0x180(r1) lbl_80086A1C: /* 80086A1C 0008397C 38 7F 02 14 */ addi r3, r31, 0x214 /* 80086A20 00083980 4B FD 6D 91 */ bl Reset__13CCameraSpringFv lbl_80086A24: /* 80086A24 00083984 80 A1 01 78 */ lwz r5, 0x178(r1) /* 80086A28 00083988 7F E4 FB 78 */ mr r4, r31 /* 80086A2C 0008398C 80 E1 01 7C */ lwz r7, 0x17c(r1) /* 80086A30 00083990 7F C6 F3 78 */ mr r6, r30 /* 80086A34 00083994 80 01 01 80 */ lwz r0, 0x180(r1) /* 80086A38 00083998 38 61 00 94 */ addi r3, r1, 0x94 /* 80086A3C 0008399C 90 A1 00 88 */ stw r5, 0x88(r1) /* 80086A40 000839A0 38 A1 00 88 */ addi r5, r1, 0x88 /* 80086A44 000839A4 90 E1 00 8C */ stw r7, 0x8c(r1) /* 80086A48 000839A8 90 01 00 90 */ stw r0, 0x90(r1) /* 80086A4C 000839AC 4B FF DE 7D */ bl ClampElevationToWater__11CBallCameraCFRC9CVector3fR13CStateManager /* 80086A50 000839B0 C0 41 00 94 */ lfs f2, 0x94(r1) /* 80086A54 000839B4 38 61 01 9C */ addi r3, r1, 0x19c /* 80086A58 000839B8 C0 21 00 98 */ lfs f1, 0x98(r1) /* 80086A5C 000839BC C0 01 00 9C */ lfs f0, 0x9c(r1) /* 80086A60 000839C0 D0 41 01 78 */ stfs f2, 0x178(r1) /* 80086A64 000839C4 D0 21 01 7C */ stfs f1, 0x17c(r1) /* 80086A68 000839C8 D0 01 01 80 */ stfs f0, 0x180(r1) /* 80086A6C 000839CC 48 28 DE 4D */ bl Magnitude__9CVector3fCFv /* 80086A70 000839D0 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 80086A74 000839D4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086A78 000839D8 40 80 00 8C */ bge lbl_80086B04 /* 80086A7C 000839DC A0 BF 03 DC */ lhz r5, 0x3dc(r31) /* 80086A80 000839E0 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80086A84 000839E4 7C 05 00 40 */ cmplw r5, r0 /* 80086A88 000839E8 41 82 00 7C */ beq lbl_80086B04 /* 80086A8C 000839EC C0 3F 03 E0 */ lfs f1, 0x3e0(r31) /* 80086A90 000839F0 C0 02 8A 44 */ lfs f0, lbl_805AA764@sda21(r2) /* 80086A94 000839F4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086A98 000839F8 40 80 00 6C */ bge lbl_80086B04 /* 80086A9C 000839FC B0 A1 00 08 */ sth r5, 8(r1) /* 80086AA0 00083A00 7F C3 F3 78 */ mr r3, r30 /* 80086AA4 00083A04 38 81 00 0C */ addi r4, r1, 0xc /* 80086AA8 00083A08 B0 A1 00 0C */ sth r5, 0xc(r1) /* 80086AAC 00083A0C 4B FC 5A F9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80086AB0 00083A10 7C 64 1B 78 */ mr r4, r3 /* 80086AB4 00083A14 38 61 00 30 */ addi r3, r1, 0x30 /* 80086AB8 00083A18 48 02 36 39 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 80086ABC 00083A1C 80 63 00 04 */ lwz r3, 4(r3) /* 80086AC0 00083A20 28 03 00 00 */ cmplwi r3, 0 /* 80086AC4 00083A24 41 82 00 40 */ beq lbl_80086B04 /* 80086AC8 00083A28 88 03 02 A8 */ lbz r0, 0x2a8(r3) /* 80086ACC 00083A2C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80086AD0 00083A30 40 82 00 34 */ bne lbl_80086B04 /* 80086AD4 00083A34 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80086AD8 00083A38 D0 01 01 78 */ stfs f0, 0x178(r1) /* 80086ADC 00083A3C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80086AE0 00083A40 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80086AE4 00083A44 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 80086AE8 00083A48 D0 21 00 80 */ stfs f1, 0x80(r1) /* 80086AEC 00083A4C D0 41 00 84 */ stfs f2, 0x84(r1) /* 80086AF0 00083A50 D0 21 01 7C */ stfs f1, 0x17c(r1) /* 80086AF4 00083A54 D0 01 00 70 */ stfs f0, 0x70(r1) /* 80086AF8 00083A58 D0 21 00 74 */ stfs f1, 0x74(r1) /* 80086AFC 00083A5C D0 41 00 78 */ stfs f2, 0x78(r1) /* 80086B00 00083A60 D0 41 01 80 */ stfs f2, 0x180(r1) lbl_80086B04: /* 80086B04 00083A64 FC 20 F8 90 */ fmr f1, f31 /* 80086B08 00083A68 C3 21 01 80 */ lfs f25, 0x180(r1) /* 80086B0C 00083A6C 7F E4 FB 78 */ mr r4, r31 /* 80086B10 00083A70 7F C6 F3 78 */ mr r6, r30 /* 80086B14 00083A74 38 61 00 64 */ addi r3, r1, 0x64 /* 80086B18 00083A78 38 A1 01 78 */ addi r5, r1, 0x178 /* 80086B1C 00083A7C 4B FF DA 4D */ bl MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager /* 80086B20 00083A80 C0 41 00 64 */ lfs f2, 0x64(r1) /* 80086B24 00083A84 C0 21 00 68 */ lfs f1, 0x68(r1) /* 80086B28 00083A88 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 80086B2C 00083A8C D0 41 01 78 */ stfs f2, 0x178(r1) /* 80086B30 00083A90 D0 21 01 7C */ stfs f1, 0x17c(r1) /* 80086B34 00083A94 D0 01 01 80 */ stfs f0, 0x180(r1) /* 80086B38 00083A98 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 80086B3C 00083A9C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80086B40 00083AA0 41 82 00 44 */ beq lbl_80086B84 /* 80086B44 00083AA4 80 1F 04 78 */ lwz r0, 0x478(r31) /* 80086B48 00083AA8 2C 00 00 00 */ cmpwi r0, 0 /* 80086B4C 00083AAC 40 81 00 38 */ ble lbl_80086B84 /* 80086B50 00083AB0 FC 20 F8 90 */ fmr f1, f31 /* 80086B54 00083AB4 D3 21 01 80 */ stfs f25, 0x180(r1) /* 80086B58 00083AB8 7F E4 FB 78 */ mr r4, r31 /* 80086B5C 00083ABC 7F C6 F3 78 */ mr r6, r30 /* 80086B60 00083AC0 38 61 00 58 */ addi r3, r1, 0x58 /* 80086B64 00083AC4 38 A1 01 78 */ addi r5, r1, 0x178 /* 80086B68 00083AC8 4B FF DA 01 */ bl MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager /* 80086B6C 00083ACC C0 41 00 58 */ lfs f2, 0x58(r1) /* 80086B70 00083AD0 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 80086B74 00083AD4 C0 01 00 60 */ lfs f0, 0x60(r1) /* 80086B78 00083AD8 D0 41 01 78 */ stfs f2, 0x178(r1) /* 80086B7C 00083ADC D0 21 01 7C */ stfs f1, 0x17c(r1) /* 80086B80 00083AE0 D0 01 01 80 */ stfs f0, 0x180(r1) lbl_80086B84: /* 80086B84 00083AE4 C0 1F 01 D8 */ lfs f0, 0x1d8(r31) /* 80086B88 00083AE8 C0 61 01 78 */ lfs f3, 0x178(r1) /* 80086B8C 00083AEC C0 3F 01 DC */ lfs f1, 0x1dc(r31) /* 80086B90 00083AF0 C0 81 01 7C */ lfs f4, 0x17c(r1) /* 80086B94 00083AF4 EC 40 18 28 */ fsubs f2, f0, f3 /* 80086B98 00083AF8 C0 1F 01 E0 */ lfs f0, 0x1e0(r31) /* 80086B9C 00083AFC C0 A1 01 80 */ lfs f5, 0x180(r1) /* 80086BA0 00083B00 EC 21 20 28 */ fsubs f1, f1, f4 /* 80086BA4 00083B04 D0 41 01 6C */ stfs f2, 0x16c(r1) /* 80086BA8 00083B08 EC 00 28 28 */ fsubs f0, f0, f5 /* 80086BAC 00083B0C D0 21 01 70 */ stfs f1, 0x170(r1) /* 80086BB0 00083B10 D0 01 01 74 */ stfs f0, 0x174(r1) /* 80086BB4 00083B14 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 80086BB8 00083B18 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80086BBC 00083B1C 41 82 00 28 */ beq lbl_80086BE4 /* 80086BC0 00083B20 C0 41 02 30 */ lfs f2, 0x230(r1) /* 80086BC4 00083B24 C0 21 02 34 */ lfs f1, 0x234(r1) /* 80086BC8 00083B28 C0 01 02 2C */ lfs f0, 0x22c(r1) /* 80086BCC 00083B2C EC 42 20 28 */ fsubs f2, f2, f4 /* 80086BD0 00083B30 EC 21 28 28 */ fsubs f1, f1, f5 /* 80086BD4 00083B34 EC 00 18 28 */ fsubs f0, f0, f3 /* 80086BD8 00083B38 D0 41 01 70 */ stfs f2, 0x170(r1) /* 80086BDC 00083B3C D0 01 01 6C */ stfs f0, 0x16c(r1) /* 80086BE0 00083B40 D0 21 01 74 */ stfs f1, 0x174(r1) lbl_80086BE4: /* 80086BE4 00083B44 38 61 01 6C */ addi r3, r1, 0x16c /* 80086BE8 00083B48 48 28 DB 11 */ bl CanBeNormalized__9CVector3fCFv /* 80086BEC 00083B4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80086BF0 00083B50 41 82 00 24 */ beq lbl_80086C14 /* 80086BF4 00083B54 38 61 01 6C */ addi r3, r1, 0x16c /* 80086BF8 00083B58 48 28 DD 01 */ bl Normalize__9CVector3fFv /* 80086BFC 00083B5C FC 20 F8 90 */ fmr f1, f31 /* 80086C00 00083B60 7F E3 FB 78 */ mr r3, r31 /* 80086C04 00083B64 7F C6 F3 78 */ mr r6, r30 /* 80086C08 00083B68 38 81 01 6C */ addi r4, r1, 0x16c /* 80086C0C 00083B6C 38 A1 01 78 */ addi r5, r1, 0x178 /* 80086C10 00083B70 48 00 1E CD */ bl UpdateTransform__11CBallCameraFRC9CVector3fRC9CVector3ffR13CStateManager lbl_80086C14: /* 80086C14 00083B74 C0 3F 04 70 */ lfs f1, 0x470(r31) /* 80086C18 00083B78 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086C1C 00083B7C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086C20 00083B80 40 81 00 0C */ ble lbl_80086C2C /* 80086C24 00083B84 EC 01 F8 28 */ fsubs f0, f1, f31 /* 80086C28 00083B88 D0 1F 04 70 */ stfs f0, 0x470(r31) lbl_80086C2C: /* 80086C2C 00083B8C 80 A1 03 D0 */ lwz r5, 0x3d0(r1) /* 80086C30 00083B90 38 60 00 00 */ li r3, 0 /* 80086C34 00083B94 2C 05 00 00 */ cmpwi r5, 0 /* 80086C38 00083B98 40 81 00 40 */ ble lbl_80086C78 /* 80086C3C 00083B9C 2C 05 00 08 */ cmpwi r5, 8 /* 80086C40 00083BA0 38 85 FF F8 */ addi r4, r5, -8 /* 80086C44 00083BA4 40 81 00 20 */ ble lbl_80086C64 /* 80086C48 00083BA8 38 04 00 07 */ addi r0, r4, 7 /* 80086C4C 00083BAC 54 00 E8 FE */ srwi r0, r0, 3 /* 80086C50 00083BB0 7C 09 03 A6 */ mtctr r0 /* 80086C54 00083BB4 2C 04 00 00 */ cmpwi r4, 0 /* 80086C58 00083BB8 40 81 00 0C */ ble lbl_80086C64 lbl_80086C5C: /* 80086C5C 00083BBC 38 63 00 08 */ addi r3, r3, 8 /* 80086C60 00083BC0 42 00 FF FC */ bdnz lbl_80086C5C lbl_80086C64: /* 80086C64 00083BC4 7C 03 28 50 */ subf r0, r3, r5 /* 80086C68 00083BC8 7C 09 03 A6 */ mtctr r0 /* 80086C6C 00083BCC 7C 03 28 00 */ cmpw r3, r5 /* 80086C70 00083BD0 40 80 00 08 */ bge lbl_80086C78 lbl_80086C74: /* 80086C74 00083BD4 42 00 00 00 */ bdnz lbl_80086C74 lbl_80086C78: /* 80086C78 00083BD8 38 00 00 00 */ li r0, 0 /* 80086C7C 00083BDC 90 01 03 D0 */ stw r0, 0x3d0(r1) lbl_80086C80: /* 80086C80 00083BE0 E3 E1 0C 78 */ psq_l f31, -904(r1), 0, qr0 /* 80086C84 00083BE4 CB E1 0C 70 */ lfd f31, 0xc70(r1) /* 80086C88 00083BE8 E3 C1 0C 68 */ psq_l f30, -920(r1), 0, qr0 /* 80086C8C 00083BEC CB C1 0C 60 */ lfd f30, 0xc60(r1) /* 80086C90 00083BF0 E3 A1 0C 58 */ psq_l f29, -936(r1), 0, qr0 /* 80086C94 00083BF4 CB A1 0C 50 */ lfd f29, 0xc50(r1) /* 80086C98 00083BF8 E3 81 0C 48 */ psq_l f28, -952(r1), 0, qr0 /* 80086C9C 00083BFC CB 81 0C 40 */ lfd f28, 0xc40(r1) /* 80086CA0 00083C00 E3 61 0C 38 */ psq_l f27, -968(r1), 0, qr0 /* 80086CA4 00083C04 CB 61 0C 30 */ lfd f27, 0xc30(r1) /* 80086CA8 00083C08 E3 41 0C 28 */ psq_l f26, -984(r1), 0, qr0 /* 80086CAC 00083C0C CB 41 0C 20 */ lfd f26, 0xc20(r1) /* 80086CB0 00083C10 E3 21 0C 18 */ psq_l f25, -1000(r1), 0, qr0 /* 80086CB4 00083C14 CB 21 0C 10 */ lfd f25, 0xc10(r1) /* 80086CB8 00083C18 E3 01 0C 08 */ psq_l f24, -1016(r1), 0, qr0 /* 80086CBC 00083C1C CB 01 0C 00 */ lfd f24, 0xc00(r1) /* 80086CC0 00083C20 BB 61 0B EC */ lmw r27, 0xbec(r1) /* 80086CC4 00083C24 80 01 0C 84 */ lwz r0, 0xc84(r1) /* 80086CC8 00083C28 7C 08 03 A6 */ mtlr r0 /* 80086CCC 00083C2C 38 21 0C 80 */ addi r1, r1, 0xc80 /* 80086CD0 00083C30 4E 80 00 20 */ blr .global UpdateUsingFreeLook__11CBallCameraFfR13CStateManager UpdateUsingFreeLook__11CBallCameraFfR13CStateManager: /* 80086CD4 00083C34 94 21 FD C0 */ stwu r1, -0x240(r1) /* 80086CD8 00083C38 7C 08 02 A6 */ mflr r0 /* 80086CDC 00083C3C 90 01 02 44 */ stw r0, 0x244(r1) /* 80086CE0 00083C40 DB E1 02 30 */ stfd f31, 0x230(r1) /* 80086CE4 00083C44 F3 E1 02 38 */ psq_st f31, 568(r1), 0, qr0 /* 80086CE8 00083C48 DB C1 02 20 */ stfd f30, 0x220(r1) /* 80086CEC 00083C4C F3 C1 02 28 */ psq_st f30, 552(r1), 0, qr0 /* 80086CF0 00083C50 DB A1 02 10 */ stfd f29, 0x210(r1) /* 80086CF4 00083C54 F3 A1 02 18 */ psq_st f29, 536(r1), 0, qr0 /* 80086CF8 00083C58 DB 81 02 00 */ stfd f28, 0x200(r1) /* 80086CFC 00083C5C F3 81 02 08 */ psq_st f28, 520(r1), 0, qr0 /* 80086D00 00083C60 DB 61 01 F0 */ stfd f27, 0x1f0(r1) /* 80086D04 00083C64 F3 61 01 F8 */ psq_st f27, 504(r1), 0, qr0 /* 80086D08 00083C68 DB 41 01 E0 */ stfd f26, 0x1e0(r1) /* 80086D0C 00083C6C F3 41 01 E8 */ psq_st f26, 488(r1), 0, qr0 /* 80086D10 00083C70 93 E1 01 DC */ stw r31, 0x1dc(r1) /* 80086D14 00083C74 93 C1 01 D8 */ stw r30, 0x1d8(r1) /* 80086D18 00083C78 93 A1 01 D4 */ stw r29, 0x1d4(r1) /* 80086D1C 00083C7C 7C 7E 1B 78 */ mr r30, r3 /* 80086D20 00083C80 FF 80 08 90 */ fmr f28, f1 /* 80086D24 00083C84 80 03 04 00 */ lwz r0, 0x400(r3) /* 80086D28 00083C88 7C 9F 23 78 */ mr r31, r4 /* 80086D2C 00083C8C 2C 00 00 04 */ cmpwi r0, 4 /* 80086D30 00083C90 41 82 00 0C */ beq lbl_80086D3C /* 80086D34 00083C94 2C 00 00 05 */ cmpwi r0, 5 /* 80086D38 00083C98 40 82 00 10 */ bne lbl_80086D48 lbl_80086D3C: /* 80086D3C 00083C9C 38 00 00 00 */ li r0, 0 /* 80086D40 00083CA0 90 1E 03 6C */ stw r0, 0x36c(r30) /* 80086D44 00083CA4 48 00 06 24 */ b lbl_80087368 lbl_80086D48: /* 80086D48 00083CA8 80 1E 03 6C */ lwz r0, 0x36c(r30) /* 80086D4C 00083CAC 2C 00 00 01 */ cmpwi r0, 1 /* 80086D50 00083CB0 40 82 00 28 */ bne lbl_80086D78 /* 80086D54 00083CB4 80 1E 01 88 */ lwz r0, 0x188(r30) /* 80086D58 00083CB8 2C 00 00 09 */ cmpwi r0, 9 /* 80086D5C 00083CBC 40 80 00 1C */ bge lbl_80086D78 /* 80086D60 00083CC0 2C 00 00 04 */ cmpwi r0, 4 /* 80086D64 00083CC4 40 80 00 08 */ bge lbl_80086D6C /* 80086D68 00083CC8 48 00 00 10 */ b lbl_80086D78 lbl_80086D6C: /* 80086D6C 00083CCC 38 00 00 00 */ li r0, 0 /* 80086D70 00083CD0 90 1E 03 6C */ stw r0, 0x36c(r30) /* 80086D74 00083CD4 48 00 05 F4 */ b lbl_80087368 lbl_80086D78: /* 80086D78 00083CD8 C0 1E 01 90 */ lfs f0, 0x190(r30) /* 80086D7C 00083CDC 7F C3 F3 78 */ mr r3, r30 /* 80086D80 00083CE0 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80086D84 00083CE4 7F E6 FB 78 */ mr r6, r31 /* 80086D88 00083CE8 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80086D8C 00083CEC 38 81 00 14 */ addi r4, r1, 0x14 /* 80086D90 00083CF0 38 A1 00 18 */ addi r5, r1, 0x18 /* 80086D94 00083CF4 C0 1E 01 A0 */ lfs f0, 0x1a0(r30) /* 80086D98 00083CF8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80086D9C 00083CFC 48 00 29 31 */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80086DA0 00083D00 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 80086DA4 00083D04 38 61 00 EC */ addi r3, r1, 0xec /* 80086DA8 00083D08 48 1F DF A1 */ bl GetBallPosition__7CPlayerCFv /* 80086DAC 00083D0C C3 E1 00 EC */ lfs f31, 0xec(r1) /* 80086DB0 00083D10 38 61 00 E0 */ addi r3, r1, 0xe0 /* 80086DB4 00083D14 C3 C1 00 F0 */ lfs f30, 0xf0(r1) /* 80086DB8 00083D18 38 9E 03 7C */ addi r4, r30, 0x37c /* 80086DBC 00083D1C C3 A1 00 F4 */ lfs f29, 0xf4(r1) /* 80086DC0 00083D20 38 A0 00 02 */ li r5, 2 /* 80086DC4 00083D24 4B FD 62 C1 */ bl GetKnotPosition__11CBallCameraCFi /* 80086DC8 00083D28 C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 80086DCC 00083D2C 38 61 01 40 */ addi r3, r1, 0x140 /* 80086DD0 00083D30 C0 01 00 E0 */ lfs f0, 0xe0(r1) /* 80086DD4 00083D34 EC 7D 08 28 */ fsubs f3, f29, f1 /* 80086DD8 00083D38 C0 21 00 E4 */ lfs f1, 0xe4(r1) /* 80086DDC 00083D3C EC 5F 00 28 */ fsubs f2, f31, f0 /* 80086DE0 00083D40 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086DE4 00083D44 EC 3E 08 28 */ fsubs f1, f30, f1 /* 80086DE8 00083D48 D0 61 01 48 */ stfs f3, 0x148(r1) /* 80086DEC 00083D4C D0 41 01 40 */ stfs f2, 0x140(r1) /* 80086DF0 00083D50 D0 21 01 44 */ stfs f1, 0x144(r1) /* 80086DF4 00083D54 D0 01 01 48 */ stfs f0, 0x148(r1) /* 80086DF8 00083D58 48 28 D9 01 */ bl CanBeNormalized__9CVector3fCFv /* 80086DFC 00083D5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80086E00 00083D60 41 82 00 10 */ beq lbl_80086E10 /* 80086E04 00083D64 38 61 01 40 */ addi r3, r1, 0x140 /* 80086E08 00083D68 48 28 DA F1 */ bl Normalize__9CVector3fFv /* 80086E0C 00083D6C 48 00 00 20 */ b lbl_80086E2C lbl_80086E10: /* 80086E10 00083D70 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 80086E14 00083D74 C0 03 05 0C */ lfs f0, 0x50c(r3) /* 80086E18 00083D78 D0 01 01 40 */ stfs f0, 0x140(r1) /* 80086E1C 00083D7C C0 03 05 10 */ lfs f0, 0x510(r3) /* 80086E20 00083D80 D0 01 01 44 */ stfs f0, 0x144(r1) /* 80086E24 00083D84 C0 03 05 14 */ lfs f0, 0x514(r3) /* 80086E28 00083D88 D0 01 01 48 */ stfs f0, 0x148(r1) lbl_80086E2C: /* 80086E2C 00083D8C 38 61 00 D4 */ addi r3, r1, 0xd4 /* 80086E30 00083D90 38 9E 03 7C */ addi r4, r30, 0x37c /* 80086E34 00083D94 38 A0 00 03 */ li r5, 3 /* 80086E38 00083D98 4B FD 62 4D */ bl GetKnotPosition__11CBallCameraCFi /* 80086E3C 00083D9C C0 21 00 D4 */ lfs f1, 0xd4(r1) /* 80086E40 00083DA0 7F C4 F3 78 */ mr r4, r30 /* 80086E44 00083DA4 C0 41 00 D8 */ lfs f2, 0xd8(r1) /* 80086E48 00083DA8 7F E6 FB 78 */ mr r6, r31 /* 80086E4C 00083DAC C0 01 00 DC */ lfs f0, 0xdc(r1) /* 80086E50 00083DB0 38 61 00 C8 */ addi r3, r1, 0xc8 /* 80086E54 00083DB4 81 21 01 40 */ lwz r9, 0x140(r1) /* 80086E58 00083DB8 38 A1 00 BC */ addi r5, r1, 0xbc /* 80086E5C 00083DBC 81 01 01 44 */ lwz r8, 0x144(r1) /* 80086E60 00083DC0 38 E0 00 00 */ li r7, 0 /* 80086E64 00083DC4 80 01 01 48 */ lwz r0, 0x148(r1) /* 80086E68 00083DC8 D0 21 01 34 */ stfs f1, 0x134(r1) /* 80086E6C 00083DCC C0 21 00 18 */ lfs f1, 0x18(r1) /* 80086E70 00083DD0 D0 41 01 38 */ stfs f2, 0x138(r1) /* 80086E74 00083DD4 C0 41 00 14 */ lfs f2, 0x14(r1) /* 80086E78 00083DD8 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 80086E7C 00083DDC 91 21 00 BC */ stw r9, 0xbc(r1) /* 80086E80 00083DE0 91 01 00 C0 */ stw r8, 0xc0(r1) /* 80086E84 00083DE4 90 01 00 C4 */ stw r0, 0xc4(r1) /* 80086E88 00083DE8 48 00 2E 2D */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80086E8C 00083DEC C0 41 00 C8 */ lfs f2, 0xc8(r1) /* 80086E90 00083DF0 C0 21 00 CC */ lfs f1, 0xcc(r1) /* 80086E94 00083DF4 C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 80086E98 00083DF8 D0 41 01 28 */ stfs f2, 0x128(r1) /* 80086E9C 00083DFC D0 21 01 2C */ stfs f1, 0x12c(r1) /* 80086EA0 00083E00 D0 01 01 30 */ stfs f0, 0x130(r1) /* 80086EA4 00083E04 88 1E 03 70 */ lbz r0, 0x370(r30) /* 80086EA8 00083E08 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80086EAC 00083E0C 41 82 00 2C */ beq lbl_80086ED8 /* 80086EB0 00083E10 80 E1 01 28 */ lwz r7, 0x128(r1) /* 80086EB4 00083E14 38 7E 03 7C */ addi r3, r30, 0x37c /* 80086EB8 00083E18 80 C1 01 2C */ lwz r6, 0x12c(r1) /* 80086EBC 00083E1C 38 A1 00 B0 */ addi r5, r1, 0xb0 /* 80086EC0 00083E20 80 01 01 30 */ lwz r0, 0x130(r1) /* 80086EC4 00083E24 38 80 00 03 */ li r4, 3 /* 80086EC8 00083E28 90 E1 00 B0 */ stw r7, 0xb0(r1) /* 80086ECC 00083E2C 90 C1 00 B4 */ stw r6, 0xb4(r1) /* 80086ED0 00083E30 90 01 00 B8 */ stw r0, 0xb8(r1) /* 80086ED4 00083E34 4B FD 61 7D */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f lbl_80086ED8: /* 80086ED8 00083E38 C0 1E 03 74 */ lfs f0, 0x374(r30) /* 80086EDC 00083E3C 38 81 00 10 */ addi r4, r1, 0x10 /* 80086EE0 00083E40 38 6D 84 E0 */ addi r3, r13, lbl_805A70A0@sda21 /* 80086EE4 00083E44 38 AD 84 E4 */ addi r5, r13, lbl_805A70A4@sda21 /* 80086EE8 00083E48 EC 00 E0 28 */ fsubs f0, f0, f28 /* 80086EEC 00083E4C D0 1E 03 74 */ stfs f0, 0x374(r30) /* 80086EF0 00083E50 C0 3E 03 74 */ lfs f1, 0x374(r30) /* 80086EF4 00083E54 C0 1E 03 78 */ lfs f0, 0x378(r30) /* 80086EF8 00083E58 EC 01 00 24 */ fdivs f0, f1, f0 /* 80086EFC 00083E5C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80086F00 00083E60 4B F8 53 B5 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80086F04 00083E64 80 1E 03 6C */ lwz r0, 0x36c(r30) /* 80086F08 00083E68 C0 23 00 00 */ lfs f1, 0(r3) /* 80086F0C 00083E6C C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80086F10 00083E70 2C 00 00 01 */ cmpwi r0, 1 /* 80086F14 00083E74 EF 40 08 28 */ fsubs f26, f0, f1 /* 80086F18 00083E78 40 82 00 80 */ bne lbl_80086F98 /* 80086F1C 00083E7C 38 00 00 00 */ li r0, 0 /* 80086F20 00083E80 7F C3 F3 78 */ mr r3, r30 /* 80086F24 00083E84 90 01 00 34 */ stw r0, 0x34(r1) /* 80086F28 00083E88 7F E5 FB 78 */ mr r5, r31 /* 80086F2C 00083E8C 38 81 00 30 */ addi r4, r1, 0x30 /* 80086F30 00083E90 90 01 00 30 */ stw r0, 0x30(r1) /* 80086F34 00083E94 4B FF A1 15 */ bl SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager /* 80086F38 00083E98 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80086F3C 00083E9C 40 82 00 5C */ bne lbl_80086F98 /* 80086F40 00083EA0 80 E1 01 34 */ lwz r7, 0x134(r1) /* 80086F44 00083EA4 38 7E 03 7C */ addi r3, r30, 0x37c /* 80086F48 00083EA8 80 C1 01 38 */ lwz r6, 0x138(r1) /* 80086F4C 00083EAC 38 A1 00 A4 */ addi r5, r1, 0xa4 /* 80086F50 00083EB0 80 01 01 3C */ lwz r0, 0x13c(r1) /* 80086F54 00083EB4 38 80 00 03 */ li r4, 3 /* 80086F58 00083EB8 90 E1 00 A4 */ stw r7, 0xa4(r1) /* 80086F5C 00083EBC 90 C1 00 A8 */ stw r6, 0xa8(r1) /* 80086F60 00083EC0 90 01 00 AC */ stw r0, 0xac(r1) /* 80086F64 00083EC4 4B FD 60 ED */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f /* 80086F68 00083EC8 80 01 00 30 */ lwz r0, 0x30(r1) /* 80086F6C 00083ECC 38 80 00 00 */ li r4, 0 /* 80086F70 00083ED0 80 A1 00 34 */ lwz r5, 0x34(r1) /* 80086F74 00083ED4 3C 60 80 00 */ lis r3, 0x8000 /* 80086F78 00083ED8 7C 00 20 38 */ and r0, r0, r4 /* 80086F7C 00083EDC 7C A3 18 38 */ and r3, r5, r3 /* 80086F80 00083EE0 7C 63 22 78 */ xor r3, r3, r4 /* 80086F84 00083EE4 7C 00 22 78 */ xor r0, r0, r4 /* 80086F88 00083EE8 7C 60 03 79 */ or. r0, r3, r0 /* 80086F8C 00083EEC 41 82 00 0C */ beq lbl_80086F98 /* 80086F90 00083EF0 90 9E 03 6C */ stw r4, 0x36c(r30) /* 80086F94 00083EF4 48 00 03 D4 */ b lbl_80087368 lbl_80086F98: /* 80086F98 00083EF8 C0 3E 03 74 */ lfs f1, 0x374(r30) /* 80086F9C 00083EFC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80086FA0 00083F00 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80086FA4 00083F04 4C 40 13 82 */ cror 2, 0, 2 /* 80086FA8 00083F08 41 82 00 1C */ beq lbl_80086FC4 /* 80086FAC 00083F0C C0 02 8A 48 */ lfs f0, lbl_805AA768@sda21(r2) /* 80086FB0 00083F10 FC 1A 00 40 */ fcmpo cr0, f26, f0 /* 80086FB4 00083F14 40 81 01 E4 */ ble lbl_80087198 /* 80086FB8 00083F18 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80086FBC 00083F1C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80086FC0 00083F20 41 82 01 D8 */ beq lbl_80087198 lbl_80086FC4: /* 80086FC4 00083F24 80 1E 03 6C */ lwz r0, 0x36c(r30) /* 80086FC8 00083F28 2C 00 00 02 */ cmpwi r0, 2 /* 80086FCC 00083F2C 40 82 01 C4 */ bne lbl_80087190 /* 80086FD0 00083F30 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80086FD4 00083F34 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80086FD8 00083F38 40 82 01 B8 */ bne lbl_80087190 /* 80086FDC 00083F3C 38 00 00 00 */ li r0, 0 /* 80086FE0 00083F40 7F C3 F3 78 */ mr r3, r30 /* 80086FE4 00083F44 90 01 00 2C */ stw r0, 0x2c(r1) /* 80086FE8 00083F48 7F E5 FB 78 */ mr r5, r31 /* 80086FEC 00083F4C 38 81 00 28 */ addi r4, r1, 0x28 /* 80086FF0 00083F50 90 01 00 28 */ stw r0, 0x28(r1) /* 80086FF4 00083F54 4B FF A0 55 */ bl SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager /* 80086FF8 00083F58 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80086FFC 00083F5C 40 82 00 10 */ bne lbl_8008700C /* 80087000 00083F60 38 00 00 00 */ li r0, 0 /* 80087004 00083F64 90 1E 03 6C */ stw r0, 0x36c(r30) /* 80087008 00083F68 48 00 01 90 */ b lbl_80087198 lbl_8008700C: /* 8008700C 00083F6C 38 61 00 98 */ addi r3, r1, 0x98 /* 80087010 00083F70 38 9E 03 7C */ addi r4, r30, 0x37c /* 80087014 00083F74 38 A0 00 02 */ li r5, 2 /* 80087018 00083F78 4B FD 60 6D */ bl GetKnotPosition__11CBallCameraCFi /* 8008701C 00083F7C C0 41 00 98 */ lfs f2, 0x98(r1) /* 80087020 00083F80 38 61 00 8C */ addi r3, r1, 0x8c /* 80087024 00083F84 C0 21 00 9C */ lfs f1, 0x9c(r1) /* 80087028 00083F88 38 9E 03 7C */ addi r4, r30, 0x37c /* 8008702C 00083F8C C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 80087030 00083F90 38 A0 00 01 */ li r5, 1 /* 80087034 00083F94 D0 41 01 1C */ stfs f2, 0x11c(r1) /* 80087038 00083F98 D0 21 01 20 */ stfs f1, 0x120(r1) /* 8008703C 00083F9C D0 01 01 24 */ stfs f0, 0x124(r1) /* 80087040 00083FA0 4B FD 60 45 */ bl GetKnotPosition__11CBallCameraCFi /* 80087044 00083FA4 C0 41 00 8C */ lfs f2, 0x8c(r1) /* 80087048 00083FA8 7F C3 F3 78 */ mr r3, r30 /* 8008704C 00083FAC C0 21 00 90 */ lfs f1, 0x90(r1) /* 80087050 00083FB0 7F E4 FB 78 */ mr r4, r31 /* 80087054 00083FB4 C0 01 00 94 */ lfs f0, 0x94(r1) /* 80087058 00083FB8 D0 41 01 10 */ stfs f2, 0x110(r1) /* 8008705C 00083FBC D0 21 01 14 */ stfs f1, 0x114(r1) /* 80087060 00083FC0 D0 01 01 18 */ stfs f0, 0x118(r1) /* 80087064 00083FC4 48 00 09 61 */ bl BuildSpline__11CBallCameraFR13CStateManager /* 80087068 00083FC8 38 61 00 74 */ addi r3, r1, 0x74 /* 8008706C 00083FCC 38 9E 03 7C */ addi r4, r30, 0x37c /* 80087070 00083FD0 38 A0 00 01 */ li r5, 1 /* 80087074 00083FD4 4B FD 60 11 */ bl GetKnotPosition__11CBallCameraCFi /* 80087078 00083FD8 80 E1 00 74 */ lwz r7, 0x74(r1) /* 8008707C 00083FDC 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087080 00083FE0 80 C1 00 78 */ lwz r6, 0x78(r1) /* 80087084 00083FE4 38 A1 00 80 */ addi r5, r1, 0x80 /* 80087088 00083FE8 80 01 00 7C */ lwz r0, 0x7c(r1) /* 8008708C 00083FEC 38 80 00 03 */ li r4, 3 /* 80087090 00083FF0 90 E1 00 80 */ stw r7, 0x80(r1) /* 80087094 00083FF4 90 C1 00 84 */ stw r6, 0x84(r1) /* 80087098 00083FF8 90 01 00 88 */ stw r0, 0x88(r1) /* 8008709C 00083FFC 4B FD 5F B5 */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f /* 800870A0 00084000 38 61 00 5C */ addi r3, r1, 0x5c /* 800870A4 00084004 38 9E 03 7C */ addi r4, r30, 0x37c /* 800870A8 00084008 38 A0 00 00 */ li r5, 0 /* 800870AC 0008400C 4B FD 5F D9 */ bl GetKnotPosition__11CBallCameraCFi /* 800870B0 00084010 80 E1 00 5C */ lwz r7, 0x5c(r1) /* 800870B4 00084014 38 7E 03 7C */ addi r3, r30, 0x37c /* 800870B8 00084018 80 C1 00 60 */ lwz r6, 0x60(r1) /* 800870BC 0008401C 38 A1 00 68 */ addi r5, r1, 0x68 /* 800870C0 00084020 80 01 00 64 */ lwz r0, 0x64(r1) /* 800870C4 00084024 38 80 00 02 */ li r4, 2 /* 800870C8 00084028 90 E1 00 68 */ stw r7, 0x68(r1) /* 800870CC 0008402C 90 C1 00 6C */ stw r6, 0x6c(r1) /* 800870D0 00084030 90 01 00 70 */ stw r0, 0x70(r1) /* 800870D4 00084034 4B FD 5F 7D */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f /* 800870D8 00084038 80 E1 01 1C */ lwz r7, 0x11c(r1) /* 800870DC 0008403C 38 7E 03 7C */ addi r3, r30, 0x37c /* 800870E0 00084040 80 C1 01 20 */ lwz r6, 0x120(r1) /* 800870E4 00084044 38 A1 00 50 */ addi r5, r1, 0x50 /* 800870E8 00084048 80 01 01 24 */ lwz r0, 0x124(r1) /* 800870EC 0008404C 38 80 00 01 */ li r4, 1 /* 800870F0 00084050 90 E1 00 50 */ stw r7, 0x50(r1) /* 800870F4 00084054 90 C1 00 54 */ stw r6, 0x54(r1) /* 800870F8 00084058 90 01 00 58 */ stw r0, 0x58(r1) /* 800870FC 0008405C 4B FD 5F 55 */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f /* 80087100 00084060 80 E1 01 10 */ lwz r7, 0x110(r1) /* 80087104 00084064 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087108 00084068 80 C1 01 14 */ lwz r6, 0x114(r1) /* 8008710C 0008406C 38 A1 00 44 */ addi r5, r1, 0x44 /* 80087110 00084070 80 01 01 18 */ lwz r0, 0x118(r1) /* 80087114 00084074 38 80 00 00 */ li r4, 0 /* 80087118 00084078 90 E1 00 44 */ stw r7, 0x44(r1) /* 8008711C 0008407C 90 C1 00 48 */ stw r6, 0x48(r1) /* 80087120 00084080 90 01 00 4C */ stw r0, 0x4c(r1) /* 80087124 00084084 4B FD 5F 2D */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f /* 80087128 00084088 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008712C 0008408C 4B FD 51 91 */ bl CalculateSplineLength__13CCameraSplineFv /* 80087130 00084090 D0 3E 03 C0 */ stfs f1, 0x3c0(r30) /* 80087134 00084094 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087138 00084098 38 80 00 02 */ li r4, 2 /* 8008713C 0008409C C3 7E 03 C0 */ lfs f27, 0x3c0(r30) /* 80087140 000840A0 C3 5E 03 78 */ lfs f26, 0x378(r30) /* 80087144 000840A4 4B FD 5F 95 */ bl GetKnotT__13CCameraSplineCFi /* 80087148 000840A8 EC 01 D8 24 */ fdivs f0, f1, f27 /* 8008714C 000840AC 38 81 00 0C */ addi r4, r1, 0xc /* 80087150 000840B0 38 6D 84 E8 */ addi r3, r13, lbl_805A70A8@sda21 /* 80087154 000840B4 38 AD 84 EC */ addi r5, r13, lbl_805A70AC@sda21 /* 80087158 000840B8 EC 1A D0 3C */ fnmsubs f0, f26, f0, f26 /* 8008715C 000840BC D0 1E 03 74 */ stfs f0, 0x374(r30) /* 80087160 000840C0 C0 1E 03 74 */ lfs f0, 0x374(r30) /* 80087164 000840C4 EC 00 E0 28 */ fsubs f0, f0, f28 /* 80087168 000840C8 D0 1E 03 74 */ stfs f0, 0x374(r30) /* 8008716C 000840CC C0 3E 03 74 */ lfs f1, 0x374(r30) /* 80087170 000840D0 C0 1E 03 78 */ lfs f0, 0x378(r30) /* 80087174 000840D4 EC 01 00 24 */ fdivs f0, f1, f0 /* 80087178 000840D8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8008717C 000840DC 4B F8 51 39 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80087180 000840E0 C0 23 00 00 */ lfs f1, 0(r3) /* 80087184 000840E4 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80087188 000840E8 EF 40 08 28 */ fsubs f26, f0, f1 /* 8008718C 000840EC 48 00 00 0C */ b lbl_80087198 lbl_80087190: /* 80087190 000840F0 38 00 00 00 */ li r0, 0 /* 80087194 000840F4 90 1E 03 6C */ stw r0, 0x36c(r30) lbl_80087198: /* 80087198 000840F8 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008719C 000840FC 4B FD 51 21 */ bl CalculateSplineLength__13CCameraSplineFv /* 800871A0 00084100 D0 3E 03 C0 */ stfs f1, 0x3c0(r30) /* 800871A4 00084104 38 61 01 98 */ addi r3, r1, 0x198 /* 800871A8 00084108 38 9E 03 7C */ addi r4, r30, 0x37c /* 800871AC 0008410C C0 1E 03 C0 */ lfs f0, 0x3c0(r30) /* 800871B0 00084110 EC 3A 00 32 */ fmuls f1, f26, f0 /* 800871B4 00084114 4B FD 48 CD */ bl GetInterpolatedSplinePointByLength__13CCameraSplineCFf /* 800871B8 00084118 C0 41 01 C4 */ lfs f2, 0x1c4(r1) /* 800871BC 0008411C 7F E3 FB 78 */ mr r3, r31 /* 800871C0 00084120 C0 21 01 B4 */ lfs f1, 0x1b4(r1) /* 800871C4 00084124 38 81 00 08 */ addi r4, r1, 8 /* 800871C8 00084128 C0 01 01 A4 */ lfs f0, 0x1a4(r1) /* 800871CC 0008412C D0 21 01 08 */ stfs f1, 0x108(r1) /* 800871D0 00084130 D0 01 01 04 */ stfs f0, 0x104(r1) /* 800871D4 00084134 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 800871D8 00084138 A0 1E 04 6C */ lhz r0, 0x46c(r30) /* 800871DC 0008413C B0 01 00 08 */ sth r0, 8(r1) /* 800871E0 00084140 4B FC 53 95 */ bl ObjectById__13CStateManagerF9TUniqueId /* 800871E4 00084144 7C 64 1B 78 */ mr r4, r3 /* 800871E8 00084148 38 61 00 1C */ addi r3, r1, 0x1c /* 800871EC 0008414C 48 02 54 F9 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity" /* 800871F0 00084150 83 A3 00 04 */ lwz r29, 4(r3) /* 800871F4 00084154 28 1D 00 00 */ cmplwi r29, 0 /* 800871F8 00084158 41 82 00 B0 */ beq lbl_800872A8 /* 800871FC 0008415C 7F A3 EB 78 */ mr r3, r29 /* 80087200 00084160 4B FC C6 BD */ bl GetMaterialFilter__6CActorCFv /* 80087204 00084164 81 43 00 00 */ lwz r10, 0(r3) /* 80087208 00084168 38 A0 00 03 */ li r5, 3 /* 8008720C 0008416C 80 C3 00 04 */ lwz r6, 4(r3) /* 80087210 00084170 3C 00 40 00 */ lis r0, 0x4000 /* 80087214 00084174 90 A1 01 60 */ stw r5, 0x160(r1) /* 80087218 00084178 38 81 01 68 */ addi r4, r1, 0x168 /* 8008721C 0008417C 7C C0 03 78 */ or r0, r6, r0 /* 80087220 00084180 90 C1 01 84 */ stw r6, 0x184(r1) /* 80087224 00084184 91 41 01 80 */ stw r10, 0x180(r1) /* 80087228 00084188 81 03 00 08 */ lwz r8, 8(r3) /* 8008722C 0008418C 81 23 00 0C */ lwz r9, 0xc(r3) /* 80087230 00084190 91 21 01 8C */ stw r9, 0x18c(r1) /* 80087234 00084194 91 01 01 88 */ stw r8, 0x188(r1) /* 80087238 00084198 80 C3 00 10 */ lwz r6, 0x10(r3) /* 8008723C 0008419C 7F A3 EB 78 */ mr r3, r29 /* 80087240 000841A0 90 C1 01 90 */ stw r6, 0x190(r1) /* 80087244 000841A4 80 DE 03 C8 */ lwz r6, 0x3c8(r30) /* 80087248 000841A8 80 FE 03 CC */ lwz r7, 0x3cc(r30) /* 8008724C 000841AC 7D 06 33 78 */ or r6, r8, r6 /* 80087250 000841B0 7D 27 3B 78 */ or r7, r9, r7 /* 80087254 000841B4 90 01 01 6C */ stw r0, 0x16c(r1) /* 80087258 000841B8 91 41 01 68 */ stw r10, 0x168(r1) /* 8008725C 000841BC 90 E1 01 74 */ stw r7, 0x174(r1) /* 80087260 000841C0 90 C1 01 70 */ stw r6, 0x170(r1) /* 80087264 000841C4 90 A1 01 78 */ stw r5, 0x178(r1) /* 80087268 000841C8 4B FC C6 39 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 8008726C 000841CC FC 20 E0 90 */ fmr f1, f28 /* 80087270 000841D0 7F C4 F3 78 */ mr r4, r30 /* 80087274 000841D4 7F E6 FB 78 */ mr r6, r31 /* 80087278 000841D8 38 61 00 38 */ addi r3, r1, 0x38 /* 8008727C 000841DC 38 A1 01 04 */ addi r5, r1, 0x104 /* 80087280 000841E0 4B FF D2 E9 */ bl MoveCollisionActor__11CBallCameraFRC9CVector3ffR13CStateManager /* 80087284 000841E4 C0 41 00 38 */ lfs f2, 0x38(r1) /* 80087288 000841E8 7F A3 EB 78 */ mr r3, r29 /* 8008728C 000841EC C0 21 00 3C */ lfs f1, 0x3c(r1) /* 80087290 000841F0 38 81 01 80 */ addi r4, r1, 0x180 /* 80087294 000841F4 C0 01 00 40 */ lfs f0, 0x40(r1) /* 80087298 000841F8 D0 41 01 28 */ stfs f2, 0x128(r1) /* 8008729C 000841FC D0 21 01 2C */ stfs f1, 0x12c(r1) /* 800872A0 00084200 D0 01 01 30 */ stfs f0, 0x130(r1) /* 800872A4 00084204 4B FC C5 FD */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter lbl_800872A8: /* 800872A8 00084208 C0 1E 01 D8 */ lfs f0, 0x1d8(r30) /* 800872AC 0008420C C0 61 01 28 */ lfs f3, 0x128(r1) /* 800872B0 00084210 C0 3E 01 DC */ lfs f1, 0x1dc(r30) /* 800872B4 00084214 C0 81 01 2C */ lfs f4, 0x12c(r1) /* 800872B8 00084218 EC 40 18 28 */ fsubs f2, f0, f3 /* 800872BC 0008421C C0 1E 01 E0 */ lfs f0, 0x1e0(r30) /* 800872C0 00084220 C0 A1 01 30 */ lfs f5, 0x130(r1) /* 800872C4 00084224 EC 21 20 28 */ fsubs f1, f1, f4 /* 800872C8 00084228 D0 41 00 F8 */ stfs f2, 0xf8(r1) /* 800872CC 0008422C EC 00 28 28 */ fsubs f0, f0, f5 /* 800872D0 00084230 D0 21 00 FC */ stfs f1, 0xfc(r1) /* 800872D4 00084234 D0 01 01 00 */ stfs f0, 0x100(r1) /* 800872D8 00084238 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 800872DC 0008423C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 800872E0 00084240 41 82 00 1C */ beq lbl_800872FC /* 800872E4 00084244 EC 5F 18 28 */ fsubs f2, f31, f3 /* 800872E8 00084248 EC 3E 20 28 */ fsubs f1, f30, f4 /* 800872EC 0008424C EC 1D 28 28 */ fsubs f0, f29, f5 /* 800872F0 00084250 D0 41 00 F8 */ stfs f2, 0xf8(r1) /* 800872F4 00084254 D0 21 00 FC */ stfs f1, 0xfc(r1) /* 800872F8 00084258 D0 01 01 00 */ stfs f0, 0x100(r1) lbl_800872FC: /* 800872FC 0008425C 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80087300 00084260 48 28 D3 F9 */ bl CanBeNormalized__9CVector3fCFv /* 80087304 00084264 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80087308 00084268 41 82 00 24 */ beq lbl_8008732C /* 8008730C 0008426C 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80087310 00084270 48 28 D5 E9 */ bl Normalize__9CVector3fFv /* 80087314 00084274 FC 20 E0 90 */ fmr f1, f28 /* 80087318 00084278 7F C3 F3 78 */ mr r3, r30 /* 8008731C 0008427C 7F E6 FB 78 */ mr r6, r31 /* 80087320 00084280 38 81 00 F8 */ addi r4, r1, 0xf8 /* 80087324 00084284 38 A1 01 28 */ addi r5, r1, 0x128 /* 80087328 00084288 48 00 17 B5 */ bl UpdateTransform__11CBallCameraFRC9CVector3fRC9CVector3ffR13CStateManager lbl_8008732C: /* 8008732C 0008428C 7F C3 F3 78 */ mr r3, r30 /* 80087330 00084290 7F E5 FB 78 */ mr r5, r31 /* 80087334 00084294 38 81 01 28 */ addi r4, r1, 0x128 /* 80087338 00084298 48 00 57 E5 */ bl TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager /* 8008733C 0008429C 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 80087340 000842A0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80087344 000842A4 41 82 00 24 */ beq lbl_80087368 /* 80087348 000842A8 C0 5E 03 74 */ lfs f2, 0x374(r30) /* 8008734C 000842AC C0 3E 03 78 */ lfs f1, 0x378(r30) /* 80087350 000842B0 C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 80087354 000842B4 EC 22 08 24 */ fdivs f1, f2, f1 /* 80087358 000842B8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008735C 000842BC 40 80 00 0C */ bge lbl_80087368 /* 80087360 000842C0 38 00 00 00 */ li r0, 0 /* 80087364 000842C4 90 1E 03 6C */ stw r0, 0x36c(r30) lbl_80087368: /* 80087368 000842C8 E3 E1 02 38 */ psq_l f31, 568(r1), 0, qr0 /* 8008736C 000842CC CB E1 02 30 */ lfd f31, 0x230(r1) /* 80087370 000842D0 E3 C1 02 28 */ psq_l f30, 552(r1), 0, qr0 /* 80087374 000842D4 CB C1 02 20 */ lfd f30, 0x220(r1) /* 80087378 000842D8 E3 A1 02 18 */ psq_l f29, 536(r1), 0, qr0 /* 8008737C 000842DC CB A1 02 10 */ lfd f29, 0x210(r1) /* 80087380 000842E0 E3 81 02 08 */ psq_l f28, 520(r1), 0, qr0 /* 80087384 000842E4 CB 81 02 00 */ lfd f28, 0x200(r1) /* 80087388 000842E8 E3 61 01 F8 */ psq_l f27, 504(r1), 0, qr0 /* 8008738C 000842EC CB 61 01 F0 */ lfd f27, 0x1f0(r1) /* 80087390 000842F0 E3 41 01 E8 */ psq_l f26, 488(r1), 0, qr0 /* 80087394 000842F4 CB 41 01 E0 */ lfd f26, 0x1e0(r1) /* 80087398 000842F8 83 E1 01 DC */ lwz r31, 0x1dc(r1) /* 8008739C 000842FC 83 C1 01 D8 */ lwz r30, 0x1d8(r1) /* 800873A0 00084300 80 01 02 44 */ lwz r0, 0x244(r1) /* 800873A4 00084304 83 A1 01 D4 */ lwz r29, 0x1d4(r1) /* 800873A8 00084308 7C 08 03 A6 */ mtlr r0 /* 800873AC 0008430C 38 21 02 40 */ addi r1, r1, 0x240 /* 800873B0 00084310 4E 80 00 20 */ blr .global ResetSpline__11CBallCameraFR13CStateManager ResetSpline__11CBallCameraFR13CStateManager: /* 800873B4 00084314 94 21 F6 20 */ stwu r1, -0x9e0(r1) /* 800873B8 00084318 7C 08 02 A6 */ mflr r0 /* 800873BC 0008431C 90 01 09 E4 */ stw r0, 0x9e4(r1) /* 800873C0 00084320 DB E1 09 D0 */ stfd f31, 0x9d0(r1) /* 800873C4 00084324 F3 E1 09 D8 */ psq_st f31, -1576(r1), 0, qr0 /* 800873C8 00084328 DB C1 09 C0 */ stfd f30, 0x9c0(r1) /* 800873CC 0008432C F3 C1 09 C8 */ psq_st f30, -1592(r1), 0, qr0 /* 800873D0 00084330 DB A1 09 B0 */ stfd f29, 0x9b0(r1) /* 800873D4 00084334 F3 A1 09 B8 */ psq_st f29, -1608(r1), 0, qr0 /* 800873D8 00084338 DB 81 09 A0 */ stfd f28, 0x9a0(r1) /* 800873DC 0008433C F3 81 09 A8 */ psq_st f28, -1624(r1), 0, qr0 /* 800873E0 00084340 93 E1 09 9C */ stw r31, 0x99c(r1) /* 800873E4 00084344 93 C1 09 98 */ stw r30, 0x998(r1) /* 800873E8 00084348 93 A1 09 94 */ stw r29, 0x994(r1) /* 800873EC 0008434C 93 81 09 90 */ stw r28, 0x990(r1) /* 800873F0 00084350 7C 9F 23 78 */ mr r31, r4 /* 800873F4 00084354 7C 7E 1B 78 */ mr r30, r3 /* 800873F8 00084358 80 84 08 4C */ lwz r4, 0x84c(r4) /* 800873FC 0008435C 38 61 00 EC */ addi r3, r1, 0xec /* 80087400 00084360 48 1F D9 49 */ bl GetBallPosition__7CPlayerCFv /* 80087404 00084364 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 80087408 00084368 39 40 00 00 */ li r10, 0 /* 8008740C 0008436C C0 21 00 EC */ lfs f1, 0xec(r1) /* 80087410 00084370 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80087414 00084374 C0 81 00 F0 */ lfs f4, 0xf0(r1) /* 80087418 00084378 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 8008741C 0008437C C0 61 00 F4 */ lfs f3, 0xf4(r1) /* 80087420 00084380 7F E4 FB 78 */ mr r4, r31 /* 80087424 00084384 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80087428 00084388 38 61 01 50 */ addi r3, r1, 0x150 /* 8008742C 0008438C C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80087430 00084390 38 A1 00 08 */ addi r5, r1, 8 /* 80087434 00084394 D0 21 01 40 */ stfs f1, 0x140(r1) /* 80087438 00084398 38 C1 01 40 */ addi r6, r1, 0x140 /* 8008743C 0008439C C0 22 8A 4C */ lfs f1, lbl_805AA76C@sda21(r2) /* 80087440 000843A0 38 E1 01 34 */ addi r7, r1, 0x134 /* 80087444 000843A4 D0 81 01 44 */ stfs f4, 0x144(r1) /* 80087448 000843A8 39 21 01 80 */ addi r9, r1, 0x180 /* 8008744C 000843AC D0 61 01 48 */ stfs f3, 0x148(r1) /* 80087450 000843B0 91 41 01 80 */ stw r10, 0x180(r1) /* 80087454 000843B4 B0 01 00 08 */ sth r0, 8(r1) /* 80087458 000843B8 D0 41 01 34 */ stfs f2, 0x134(r1) /* 8008745C 000843BC D0 41 01 38 */ stfs f2, 0x138(r1) /* 80087460 000843C0 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 80087464 000843C4 4B FC 5B 61 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80087468 000843C8 88 01 01 70 */ lbz r0, 0x170(r1) /* 8008746C 000843CC C0 21 01 50 */ lfs f1, 0x150(r1) /* 80087470 000843D0 28 00 00 00 */ cmplwi r0, 0 /* 80087474 000843D4 41 82 00 28 */ beq lbl_8008749C /* 80087478 000843D8 C0 02 8A 4C */ lfs f0, lbl_805AA76C@sda21(r2) /* 8008747C 000843DC 38 81 00 0C */ addi r4, r1, 0xc /* 80087480 000843E0 38 6D 84 D0 */ addi r3, r13, lbl_805A7090@sda21 /* 80087484 000843E4 38 AD 84 D4 */ addi r5, r13, lbl_805A7094@sda21 /* 80087488 000843E8 EC 01 00 24 */ fdivs f0, f1, f0 /* 8008748C 000843EC D0 01 00 0C */ stfs f0, 0xc(r1) /* 80087490 000843F0 4B F8 4E 25 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80087494 000843F4 C3 83 00 00 */ lfs f28, 0(r3) /* 80087498 000843F8 48 00 00 08 */ b lbl_800874A0 lbl_8008749C: /* 8008749C 000843FC C3 82 89 B8 */ lfs f28, lbl_805AA6D8@sda21(r2) lbl_800874A0: /* 800874A0 00084400 38 C0 00 01 */ li r6, 1 /* 800874A4 00084404 38 A0 00 00 */ li r5, 0 /* 800874A8 00084408 90 DE 03 6C */ stw r6, 0x36c(r30) /* 800874AC 0008440C 38 7E 03 7C */ addi r3, r30, 0x37c /* 800874B0 00084410 38 80 00 04 */ li r4, 4 /* 800874B4 00084414 88 1E 03 70 */ lbz r0, 0x370(r30) /* 800874B8 00084418 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18 /* 800874BC 0008441C 98 1E 03 70 */ stb r0, 0x370(r30) /* 800874C0 00084420 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 800874C4 00084424 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 800874C8 00084428 98 1E 03 D0 */ stb r0, 0x3d0(r30) /* 800874CC 0008442C 4B FD 59 7D */ bl Reset__13CCameraSplineFi /* 800874D0 00084430 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 800874D4 00084434 38 7E 03 7C */ addi r3, r30, 0x37c /* 800874D8 00084438 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 800874DC 0008443C 38 81 00 E0 */ addi r4, r1, 0xe0 /* 800874E0 00084440 D0 21 00 BC */ stfs f1, 0xbc(r1) /* 800874E4 00084444 38 A1 00 C8 */ addi r5, r1, 0xc8 /* 800874E8 00084448 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 800874EC 0008444C 80 E1 00 BC */ lwz r7, 0xbc(r1) /* 800874F0 00084450 D0 21 00 C4 */ stfs f1, 0xc4(r1) /* 800874F4 00084454 80 C1 00 C0 */ lwz r6, 0xc0(r1) /* 800874F8 00084458 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 800874FC 0008445C 90 E1 00 C8 */ stw r7, 0xc8(r1) /* 80087500 00084460 90 C1 00 CC */ stw r6, 0xcc(r1) /* 80087504 00084464 90 01 00 D0 */ stw r0, 0xd0(r1) /* 80087508 00084468 C0 5E 00 40 */ lfs f2, 0x40(r30) /* 8008750C 0008446C C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80087510 00084470 C0 1E 00 60 */ lfs f0, 0x60(r30) /* 80087514 00084474 D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 80087518 00084478 D0 21 00 D8 */ stfs f1, 0xd8(r1) /* 8008751C 0008447C 80 E1 00 D4 */ lwz r7, 0xd4(r1) /* 80087520 00084480 D0 01 00 DC */ stfs f0, 0xdc(r1) /* 80087524 00084484 80 C1 00 D8 */ lwz r6, 0xd8(r1) /* 80087528 00084488 80 01 00 DC */ lwz r0, 0xdc(r1) /* 8008752C 0008448C 90 E1 00 E0 */ stw r7, 0xe0(r1) /* 80087530 00084490 90 C1 00 E4 */ stw r6, 0xe4(r1) /* 80087534 00084494 90 01 00 E8 */ stw r0, 0xe8(r1) /* 80087538 00084498 4B FD 5A 19 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 8008753C 0008449C C0 1E 01 90 */ lfs f0, 0x190(r30) /* 80087540 000844A0 7F C3 F3 78 */ mr r3, r30 /* 80087544 000844A4 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087548 000844A8 7F E6 FB 78 */ mr r6, r31 /* 8008754C 000844AC D0 01 00 14 */ stfs f0, 0x14(r1) /* 80087550 000844B0 38 81 00 10 */ addi r4, r1, 0x10 /* 80087554 000844B4 38 A1 00 14 */ addi r5, r1, 0x14 /* 80087558 000844B8 C0 1E 01 A0 */ lfs f0, 0x1a0(r30) /* 8008755C 000844BC D0 01 00 10 */ stfs f0, 0x10(r1) /* 80087560 000844C0 48 00 21 6D */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80087564 000844C4 C0 1E 03 64 */ lfs f0, 0x364(r30) /* 80087568 000844C8 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008756C 000844CC C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087570 000844D0 38 81 00 A4 */ addi r4, r1, 0xa4 /* 80087574 000844D4 C0 7E 03 5C */ lfs f3, 0x35c(r30) /* 80087578 000844D8 38 A1 00 98 */ addi r5, r1, 0x98 /* 8008757C 000844DC C0 5E 03 60 */ lfs f2, 0x360(r30) /* 80087580 000844E0 C0 9E 00 60 */ lfs f4, 0x60(r30) /* 80087584 000844E4 D0 01 01 30 */ stfs f0, 0x130(r1) /* 80087588 000844E8 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008758C 000844EC D0 61 01 28 */ stfs f3, 0x128(r1) /* 80087590 000844F0 C0 7E 00 50 */ lfs f3, 0x50(r30) /* 80087594 000844F4 D0 41 01 2C */ stfs f2, 0x12c(r1) /* 80087598 000844F8 C0 5E 00 40 */ lfs f2, 0x40(r30) /* 8008759C 000844FC D0 81 01 30 */ stfs f4, 0x130(r1) /* 800875A0 00084500 80 E1 01 28 */ lwz r7, 0x128(r1) /* 800875A4 00084504 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 800875A8 00084508 80 C1 01 2C */ lwz r6, 0x12c(r1) /* 800875AC 0008450C D0 01 00 90 */ stfs f0, 0x90(r1) /* 800875B0 00084510 81 41 00 8C */ lwz r10, 0x8c(r1) /* 800875B4 00084514 D0 21 00 94 */ stfs f1, 0x94(r1) /* 800875B8 00084518 81 21 00 90 */ lwz r9, 0x90(r1) /* 800875BC 0008451C 81 01 00 94 */ lwz r8, 0x94(r1) /* 800875C0 00084520 80 01 01 30 */ lwz r0, 0x130(r1) /* 800875C4 00084524 D0 41 00 B0 */ stfs f2, 0xb0(r1) /* 800875C8 00084528 D0 61 00 B4 */ stfs f3, 0xb4(r1) /* 800875CC 0008452C D0 81 00 B8 */ stfs f4, 0xb8(r1) /* 800875D0 00084530 91 41 00 98 */ stw r10, 0x98(r1) /* 800875D4 00084534 91 21 00 9C */ stw r9, 0x9c(r1) /* 800875D8 00084538 91 01 00 A0 */ stw r8, 0xa0(r1) /* 800875DC 0008453C 90 E1 00 A4 */ stw r7, 0xa4(r1) /* 800875E0 00084540 90 C1 00 A8 */ stw r6, 0xa8(r1) /* 800875E4 00084544 90 01 00 AC */ stw r0, 0xac(r1) /* 800875E8 00084548 4B FD 59 69 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 800875EC 0008454C C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 800875F0 00084550 38 7E 03 7C */ addi r3, r30, 0x37c /* 800875F4 00084554 C0 5E 03 5C */ lfs f2, 0x35c(r30) /* 800875F8 00084558 38 81 00 80 */ addi r4, r1, 0x80 /* 800875FC 0008455C C0 3E 00 40 */ lfs f1, 0x40(r30) /* 80087600 00084560 EC C0 E0 2A */ fadds f6, f0, f28 /* 80087604 00084564 C0 7E 03 60 */ lfs f3, 0x360(r30) /* 80087608 00084568 38 A1 00 74 */ addi r5, r1, 0x74 /* 8008760C 0008456C C0 1E 00 50 */ lfs f0, 0x50(r30) /* 80087610 00084570 EC A2 08 28 */ fsubs f5, f2, f1 /* 80087614 00084574 C0 5E 03 64 */ lfs f2, 0x364(r30) /* 80087618 00084578 C0 3E 00 60 */ lfs f1, 0x60(r30) /* 8008761C 0008457C EC 83 00 28 */ fsubs f4, f3, f0 /* 80087620 00084580 EC A6 01 72 */ fmuls f5, f6, f5 /* 80087624 00084584 C0 01 01 28 */ lfs f0, 0x128(r1) /* 80087628 00084588 EC 62 08 28 */ fsubs f3, f2, f1 /* 8008762C 0008458C C3 E1 01 2C */ lfs f31, 0x12c(r1) /* 80087630 00084590 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087634 00084594 EC 86 01 32 */ fmuls f4, f6, f4 /* 80087638 00084598 EC 40 28 2A */ fadds f2, f0, f5 /* 8008763C 0008459C C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80087640 000845A0 D0 21 00 68 */ stfs f1, 0x68(r1) /* 80087644 000845A4 EC 66 00 F2 */ fmuls f3, f6, f3 /* 80087648 000845A8 C3 C1 01 30 */ lfs f30, 0x130(r1) /* 8008764C 000845AC EC 9F 20 2A */ fadds f4, f31, f4 /* 80087650 000845B0 EC 7E 18 2A */ fadds f3, f30, f3 /* 80087654 000845B4 D0 41 01 1C */ stfs f2, 0x11c(r1) /* 80087658 000845B8 81 41 00 68 */ lwz r10, 0x68(r1) /* 8008765C 000845BC D0 81 01 20 */ stfs f4, 0x120(r1) /* 80087660 000845C0 80 E1 01 1C */ lwz r7, 0x11c(r1) /* 80087664 000845C4 D0 61 01 24 */ stfs f3, 0x124(r1) /* 80087668 000845C8 80 C1 01 20 */ lwz r6, 0x120(r1) /* 8008766C 000845CC D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80087670 000845D0 80 01 01 24 */ lwz r0, 0x124(r1) /* 80087674 000845D4 D0 21 00 70 */ stfs f1, 0x70(r1) /* 80087678 000845D8 81 21 00 6C */ lwz r9, 0x6c(r1) /* 8008767C 000845DC 81 01 00 70 */ lwz r8, 0x70(r1) /* 80087680 000845E0 91 41 00 74 */ stw r10, 0x74(r1) /* 80087684 000845E4 91 21 00 78 */ stw r9, 0x78(r1) /* 80087688 000845E8 91 01 00 7C */ stw r8, 0x7c(r1) /* 8008768C 000845EC 90 E1 00 80 */ stw r7, 0x80(r1) /* 80087690 000845F0 90 C1 00 84 */ stw r6, 0x84(r1) /* 80087694 000845F4 90 01 00 88 */ stw r0, 0x88(r1) /* 80087698 000845F8 4B FD 58 B9 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 8008769C 000845FC C0 01 01 48 */ lfs f0, 0x148(r1) /* 800876A0 00084600 38 61 01 10 */ addi r3, r1, 0x110 /* 800876A4 00084604 C3 A1 01 24 */ lfs f29, 0x124(r1) /* 800876A8 00084608 C0 61 01 44 */ lfs f3, 0x144(r1) /* 800876AC 0008460C EC 80 E8 28 */ fsubs f4, f0, f29 /* 800876B0 00084610 C0 41 01 20 */ lfs f2, 0x120(r1) /* 800876B4 00084614 C0 21 01 40 */ lfs f1, 0x140(r1) /* 800876B8 00084618 C0 01 01 1C */ lfs f0, 0x11c(r1) /* 800876BC 0008461C EC 43 10 28 */ fsubs f2, f3, f2 /* 800876C0 00084620 D0 81 01 18 */ stfs f4, 0x118(r1) /* 800876C4 00084624 EC 21 00 28 */ fsubs f1, f1, f0 /* 800876C8 00084628 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800876CC 0008462C D0 41 01 14 */ stfs f2, 0x114(r1) /* 800876D0 00084630 D0 21 01 10 */ stfs f1, 0x110(r1) /* 800876D4 00084634 D0 01 01 18 */ stfs f0, 0x118(r1) /* 800876D8 00084638 48 28 D0 21 */ bl CanBeNormalized__9CVector3fCFv /* 800876DC 0008463C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800876E0 00084640 41 82 00 10 */ beq lbl_800876F0 /* 800876E4 00084644 38 61 01 10 */ addi r3, r1, 0x110 /* 800876E8 00084648 48 28 D2 11 */ bl Normalize__9CVector3fFv /* 800876EC 0008464C 48 00 00 20 */ b lbl_8008770C lbl_800876F0: /* 800876F0 00084650 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 800876F4 00084654 C0 03 05 0C */ lfs f0, 0x50c(r3) /* 800876F8 00084658 D0 01 01 10 */ stfs f0, 0x110(r1) /* 800876FC 0008465C C0 03 05 10 */ lfs f0, 0x510(r3) /* 80087700 00084660 D0 01 01 14 */ stfs f0, 0x114(r1) /* 80087704 00084664 C0 03 05 14 */ lfs f0, 0x514(r3) /* 80087708 00084668 D0 01 01 18 */ stfs f0, 0x118(r1) lbl_8008770C: /* 8008770C 0008466C 80 61 01 10 */ lwz r3, 0x110(r1) /* 80087710 00084670 7F C4 F3 78 */ mr r4, r30 /* 80087714 00084674 80 E1 01 14 */ lwz r7, 0x114(r1) /* 80087718 00084678 7F E6 FB 78 */ mr r6, r31 /* 8008771C 0008467C 80 01 01 18 */ lwz r0, 0x118(r1) /* 80087720 00084680 38 A1 00 50 */ addi r5, r1, 0x50 /* 80087724 00084684 90 61 00 50 */ stw r3, 0x50(r1) /* 80087728 00084688 38 61 00 5C */ addi r3, r1, 0x5c /* 8008772C 0008468C C0 21 00 14 */ lfs f1, 0x14(r1) /* 80087730 00084690 90 E1 00 54 */ stw r7, 0x54(r1) /* 80087734 00084694 38 E0 00 00 */ li r7, 0 /* 80087738 00084698 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8008773C 0008469C 90 01 00 58 */ stw r0, 0x58(r1) /* 80087740 000846A0 48 00 25 75 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80087744 000846A4 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087748 000846A8 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008774C 000846AC C0 81 00 5C */ lfs f4, 0x5c(r1) /* 80087750 000846B0 38 81 00 44 */ addi r4, r1, 0x44 /* 80087754 000846B4 C0 61 00 60 */ lfs f3, 0x60(r1) /* 80087758 000846B8 38 A1 00 38 */ addi r5, r1, 0x38 /* 8008775C 000846BC C0 41 00 64 */ lfs f2, 0x64(r1) /* 80087760 000846C0 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80087764 000846C4 D0 81 01 04 */ stfs f4, 0x104(r1) /* 80087768 000846C8 D0 61 01 08 */ stfs f3, 0x108(r1) /* 8008776C 000846CC 80 E1 01 04 */ lwz r7, 0x104(r1) /* 80087770 000846D0 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 80087774 000846D4 80 C1 01 08 */ lwz r6, 0x108(r1) /* 80087778 000846D8 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 8008777C 000846DC 80 01 01 0C */ lwz r0, 0x10c(r1) /* 80087780 000846E0 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80087784 000846E4 81 41 00 2C */ lwz r10, 0x2c(r1) /* 80087788 000846E8 D0 21 00 34 */ stfs f1, 0x34(r1) /* 8008778C 000846EC 81 21 00 30 */ lwz r9, 0x30(r1) /* 80087790 000846F0 81 01 00 34 */ lwz r8, 0x34(r1) /* 80087794 000846F4 91 41 00 38 */ stw r10, 0x38(r1) /* 80087798 000846F8 91 21 00 3C */ stw r9, 0x3c(r1) /* 8008779C 000846FC 91 01 00 40 */ stw r8, 0x40(r1) /* 800877A0 00084700 90 E1 00 44 */ stw r7, 0x44(r1) /* 800877A4 00084704 90 C1 00 48 */ stw r6, 0x48(r1) /* 800877A8 00084708 90 01 00 4C */ stw r0, 0x4c(r1) /* 800877AC 0008470C 4B FD 57 A5 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 800877B0 00084710 38 7E 03 7C */ addi r3, r30, 0x37c /* 800877B4 00084714 4B FD 4B 09 */ bl CalculateSplineLength__13CCameraSplineFv /* 800877B8 00084718 D0 3E 03 C0 */ stfs f1, 0x3c0(r30) /* 800877BC 0008471C 38 A0 00 00 */ li r5, 0 /* 800877C0 00084720 38 60 00 00 */ li r3, 0 /* 800877C4 00084724 38 80 00 01 */ li r4, 1 /* 800877C8 00084728 90 A1 00 1C */ stw r5, 0x1c(r1) /* 800877CC 0008472C 90 A1 00 18 */ stw r5, 0x18(r1) /* 800877D0 00084730 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 800877D4 00084734 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 800877D8 00084738 98 1E 03 D0 */ stb r0, 0x3d0(r30) /* 800877DC 0008473C 80 AD 84 D8 */ lwz r5, lbl_805A7098@sda21(r13) /* 800877E0 00084740 48 30 27 15 */ bl __shl2i /* 800877E4 00084744 80 AD 84 DC */ lwz r5, lbl_805A709C@sda21(r13) /* 800877E8 00084748 7C 9C 23 78 */ mr r28, r4 /* 800877EC 0008474C 7C 7D 1B 78 */ mr r29, r3 /* 800877F0 00084750 38 60 00 00 */ li r3, 0 /* 800877F4 00084754 38 80 00 01 */ li r4, 1 /* 800877F8 00084758 48 30 26 FD */ bl __shl2i /* 800877FC 0008475C 7F 9C 23 78 */ or r28, r28, r4 /* 80087800 00084760 7F BD 1B 78 */ or r29, r29, r3 /* 80087804 00084764 93 9E 03 CC */ stw r28, 0x3cc(r30) /* 80087808 00084768 7F C3 F3 78 */ mr r3, r30 /* 8008780C 0008476C 7F E5 FB 78 */ mr r5, r31 /* 80087810 00084770 38 81 00 18 */ addi r4, r1, 0x18 /* 80087814 00084774 93 BE 03 C8 */ stw r29, 0x3c8(r30) /* 80087818 00084778 4B FF 98 31 */ bl SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager /* 8008781C 0008477C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80087820 00084780 40 82 00 F8 */ bne lbl_80087918 /* 80087824 00084784 80 A1 00 18 */ lwz r5, 0x18(r1) /* 80087828 00084788 38 80 00 00 */ li r4, 0 /* 8008782C 0008478C 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 80087830 00084790 3C 60 80 00 */ lis r3, 0x8000 /* 80087834 00084794 7C A0 20 38 */ and r0, r5, r4 /* 80087838 00084798 7C C3 18 38 */ and r3, r6, r3 /* 8008783C 0008479C 7C 63 22 78 */ xor r3, r3, r4 /* 80087840 000847A0 7C 00 22 78 */ xor r0, r0, r4 /* 80087844 000847A4 7C 60 03 79 */ or. r0, r3, r0 /* 80087848 000847A8 41 82 00 08 */ beq lbl_80087850 /* 8008784C 000847AC 38 80 00 01 */ li r4, 1 lbl_80087850: /* 80087850 000847B0 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 80087854 000847B4 40 82 00 24 */ bne lbl_80087878 /* 80087858 000847B8 3C 00 40 00 */ lis r0, 0x4000 /* 8008785C 000847BC 38 80 00 00 */ li r4, 0 /* 80087860 000847C0 7C C3 00 38 */ and r3, r6, r0 /* 80087864 000847C4 7C A0 20 38 */ and r0, r5, r4 /* 80087868 000847C8 7C 63 22 78 */ xor r3, r3, r4 /* 8008786C 000847CC 7C 00 22 78 */ xor r0, r0, r4 /* 80087870 000847D0 7C 60 03 79 */ or. r0, r3, r0 /* 80087874 000847D4 41 82 00 A4 */ beq lbl_80087918 lbl_80087878: /* 80087878 000847D8 D3 C1 01 00 */ stfs f30, 0x100(r1) /* 8008787C 000847DC 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087880 000847E0 C0 01 01 28 */ lfs f0, 0x128(r1) /* 80087884 000847E4 38 A1 00 20 */ addi r5, r1, 0x20 /* 80087888 000847E8 D3 E1 00 FC */ stfs f31, 0xfc(r1) /* 8008788C 000847EC 38 80 00 02 */ li r4, 2 /* 80087890 000847F0 D0 01 00 F8 */ stfs f0, 0xf8(r1) /* 80087894 000847F4 80 C1 00 FC */ lwz r6, 0xfc(r1) /* 80087898 000847F8 D3 A1 01 00 */ stfs f29, 0x100(r1) /* 8008789C 000847FC 80 E1 00 F8 */ lwz r7, 0xf8(r1) /* 800878A0 00084800 80 01 01 00 */ lwz r0, 0x100(r1) /* 800878A4 00084804 90 E1 00 20 */ stw r7, 0x20(r1) /* 800878A8 00084808 90 C1 00 24 */ stw r6, 0x24(r1) /* 800878AC 0008480C 90 01 00 28 */ stw r0, 0x28(r1) /* 800878B0 00084810 4B FD 57 A1 */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f /* 800878B4 00084814 38 7E 03 7C */ addi r3, r30, 0x37c /* 800878B8 00084818 4B FD 4A 05 */ bl CalculateSplineLength__13CCameraSplineFv /* 800878BC 0008481C D0 3E 03 C0 */ stfs f1, 0x3c0(r30) /* 800878C0 00084820 7F C3 F3 78 */ mr r3, r30 /* 800878C4 00084824 7F E5 FB 78 */ mr r5, r31 /* 800878C8 00084828 38 81 00 18 */ addi r4, r1, 0x18 /* 800878CC 0008482C 4B FF 97 7D */ bl SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager /* 800878D0 00084830 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800878D4 00084834 40 82 00 44 */ bne lbl_80087918 /* 800878D8 00084838 80 01 00 18 */ lwz r0, 0x18(r1) /* 800878DC 0008483C 38 80 00 00 */ li r4, 0 /* 800878E0 00084840 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 800878E4 00084844 3C 60 80 00 */ lis r3, 0x8000 /* 800878E8 00084848 7C 00 20 38 */ and r0, r0, r4 /* 800878EC 0008484C 7C A3 18 38 */ and r3, r5, r3 /* 800878F0 00084850 7C 63 22 78 */ xor r3, r3, r4 /* 800878F4 00084854 7C 00 22 78 */ xor r0, r0, r4 /* 800878F8 00084858 7C 60 03 79 */ or. r0, r3, r0 /* 800878FC 0008485C 41 82 00 1C */ beq lbl_80087918 /* 80087900 00084860 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 80087904 00084864 38 60 00 01 */ li r3, 1 /* 80087908 00084868 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8008790C 0008486C 98 1E 03 D0 */ stb r0, 0x3d0(r30) /* 80087910 00084870 90 9E 03 CC */ stw r4, 0x3cc(r30) /* 80087914 00084874 90 9E 03 C8 */ stw r4, 0x3c8(r30) lbl_80087918: /* 80087918 00084878 C0 42 89 DC */ lfs f2, lbl_805AA6FC@sda21(r2) /* 8008791C 0008487C 38 60 00 00 */ li r3, 0 /* 80087920 00084880 C0 22 89 E0 */ lfs f1, lbl_805AA700@sda21(r2) /* 80087924 00084884 C0 02 8A 50 */ lfs f0, lbl_805AA770@sda21(r2) /* 80087928 00084888 EC 22 0F 3A */ fmadds f1, f2, f28, f1 /* 8008792C 0008488C D0 3E 03 74 */ stfs f1, 0x374(r30) /* 80087930 00084890 D0 1E 03 78 */ stfs f0, 0x378(r30) /* 80087934 00084894 80 A1 01 80 */ lwz r5, 0x180(r1) /* 80087938 00084898 2C 05 00 00 */ cmpwi r5, 0 /* 8008793C 0008489C 40 81 00 40 */ ble lbl_8008797C /* 80087940 000848A0 2C 05 00 08 */ cmpwi r5, 8 /* 80087944 000848A4 38 85 FF F8 */ addi r4, r5, -8 /* 80087948 000848A8 40 81 00 20 */ ble lbl_80087968 /* 8008794C 000848AC 38 04 00 07 */ addi r0, r4, 7 /* 80087950 000848B0 54 00 E8 FE */ srwi r0, r0, 3 /* 80087954 000848B4 7C 09 03 A6 */ mtctr r0 /* 80087958 000848B8 2C 04 00 00 */ cmpwi r4, 0 /* 8008795C 000848BC 40 81 00 0C */ ble lbl_80087968 lbl_80087960: /* 80087960 000848C0 38 63 00 08 */ addi r3, r3, 8 /* 80087964 000848C4 42 00 FF FC */ bdnz lbl_80087960 lbl_80087968: /* 80087968 000848C8 7C 03 28 50 */ subf r0, r3, r5 /* 8008796C 000848CC 7C 09 03 A6 */ mtctr r0 /* 80087970 000848D0 7C 03 28 00 */ cmpw r3, r5 /* 80087974 000848D4 40 80 00 08 */ bge lbl_8008797C lbl_80087978: /* 80087978 000848D8 42 00 00 00 */ bdnz lbl_80087978 lbl_8008797C: /* 8008797C 000848DC 38 00 00 00 */ li r0, 0 /* 80087980 000848E0 90 01 01 80 */ stw r0, 0x180(r1) /* 80087984 000848E4 E3 E1 09 D8 */ psq_l f31, -1576(r1), 0, qr0 /* 80087988 000848E8 CB E1 09 D0 */ lfd f31, 0x9d0(r1) /* 8008798C 000848EC E3 C1 09 C8 */ psq_l f30, -1592(r1), 0, qr0 /* 80087990 000848F0 CB C1 09 C0 */ lfd f30, 0x9c0(r1) /* 80087994 000848F4 E3 A1 09 B8 */ psq_l f29, -1608(r1), 0, qr0 /* 80087998 000848F8 CB A1 09 B0 */ lfd f29, 0x9b0(r1) /* 8008799C 000848FC E3 81 09 A8 */ psq_l f28, -1624(r1), 0, qr0 /* 800879A0 00084900 CB 81 09 A0 */ lfd f28, 0x9a0(r1) /* 800879A4 00084904 83 E1 09 9C */ lwz r31, 0x99c(r1) /* 800879A8 00084908 83 C1 09 98 */ lwz r30, 0x998(r1) /* 800879AC 0008490C 83 A1 09 94 */ lwz r29, 0x994(r1) /* 800879B0 00084910 80 01 09 E4 */ lwz r0, 0x9e4(r1) /* 800879B4 00084914 83 81 09 90 */ lwz r28, 0x990(r1) /* 800879B8 00084918 7C 08 03 A6 */ mtlr r0 /* 800879BC 0008491C 38 21 09 E0 */ addi r1, r1, 0x9e0 /* 800879C0 00084920 4E 80 00 20 */ blr .global BuildSpline__11CBallCameraFR13CStateManager BuildSpline__11CBallCameraFR13CStateManager: /* 800879C4 00084924 94 21 F3 F0 */ stwu r1, -0xc10(r1) /* 800879C8 00084928 7C 08 02 A6 */ mflr r0 /* 800879CC 0008492C 90 01 0C 14 */ stw r0, 0xc14(r1) /* 800879D0 00084930 DB E1 0C 00 */ stfd f31, 0xc00(r1) /* 800879D4 00084934 F3 E1 0C 08 */ psq_st f31, -1016(r1), 0, qr0 /* 800879D8 00084938 DB C1 0B F0 */ stfd f30, 0xbf0(r1) /* 800879DC 0008493C F3 C1 0B F8 */ psq_st f30, -1032(r1), 0, qr0 /* 800879E0 00084940 DB A1 0B E0 */ stfd f29, 0xbe0(r1) /* 800879E4 00084944 F3 A1 0B E8 */ psq_st f29, -1048(r1), 0, qr0 /* 800879E8 00084948 93 E1 0B DC */ stw r31, 0xbdc(r1) /* 800879EC 0008494C 93 C1 0B D8 */ stw r30, 0xbd8(r1) /* 800879F0 00084950 7C 9F 23 78 */ mr r31, r4 /* 800879F4 00084954 7C 7E 1B 78 */ mr r30, r3 /* 800879F8 00084958 80 84 08 4C */ lwz r4, 0x84c(r4) /* 800879FC 0008495C 38 61 02 34 */ addi r3, r1, 0x234 /* 80087A00 00084960 48 1F D3 49 */ bl GetBallPosition__7CPlayerCFv /* 80087A04 00084964 C3 C1 02 34 */ lfs f30, 0x234(r1) /* 80087A08 00084968 38 00 00 02 */ li r0, 2 /* 80087A0C 0008496C C3 A1 02 38 */ lfs f29, 0x238(r1) /* 80087A10 00084970 38 A0 00 00 */ li r5, 0 /* 80087A14 00084974 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087A18 00084978 38 80 00 04 */ li r4, 4 /* 80087A1C 0008497C 90 1E 03 6C */ stw r0, 0x36c(r30) /* 80087A20 00084980 88 1E 03 70 */ lbz r0, 0x370(r30) /* 80087A24 00084984 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 80087A28 00084988 98 1E 03 70 */ stb r0, 0x370(r30) /* 80087A2C 0008498C 4B FD 54 1D */ bl Reset__13CCameraSplineFi /* 80087A30 00084990 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087A34 00084994 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087A38 00084998 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80087A3C 0008499C 38 81 02 28 */ addi r4, r1, 0x228 /* 80087A40 000849A0 D0 21 02 04 */ stfs f1, 0x204(r1) /* 80087A44 000849A4 38 A1 02 10 */ addi r5, r1, 0x210 /* 80087A48 000849A8 D0 01 02 08 */ stfs f0, 0x208(r1) /* 80087A4C 000849AC 80 E1 02 04 */ lwz r7, 0x204(r1) /* 80087A50 000849B0 D0 21 02 0C */ stfs f1, 0x20c(r1) /* 80087A54 000849B4 80 C1 02 08 */ lwz r6, 0x208(r1) /* 80087A58 000849B8 80 01 02 0C */ lwz r0, 0x20c(r1) /* 80087A5C 000849BC 90 E1 02 10 */ stw r7, 0x210(r1) /* 80087A60 000849C0 90 C1 02 14 */ stw r6, 0x214(r1) /* 80087A64 000849C4 90 01 02 18 */ stw r0, 0x218(r1) /* 80087A68 000849C8 C0 5E 00 40 */ lfs f2, 0x40(r30) /* 80087A6C 000849CC C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80087A70 000849D0 C0 1E 00 60 */ lfs f0, 0x60(r30) /* 80087A74 000849D4 D0 41 02 1C */ stfs f2, 0x21c(r1) /* 80087A78 000849D8 D0 21 02 20 */ stfs f1, 0x220(r1) /* 80087A7C 000849DC 80 E1 02 1C */ lwz r7, 0x21c(r1) /* 80087A80 000849E0 D0 01 02 24 */ stfs f0, 0x224(r1) /* 80087A84 000849E4 80 C1 02 20 */ lwz r6, 0x220(r1) /* 80087A88 000849E8 80 01 02 24 */ lwz r0, 0x224(r1) /* 80087A8C 000849EC 90 E1 02 28 */ stw r7, 0x228(r1) /* 80087A90 000849F0 90 C1 02 2C */ stw r6, 0x22c(r1) /* 80087A94 000849F4 90 01 02 30 */ stw r0, 0x230(r1) /* 80087A98 000849F8 4B FD 54 B9 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 80087A9C 000849FC C0 1E 01 90 */ lfs f0, 0x190(r30) /* 80087AA0 00084A00 7F C3 F3 78 */ mr r3, r30 /* 80087AA4 00084A04 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087AA8 00084A08 7F E6 FB 78 */ mr r6, r31 /* 80087AAC 00084A0C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80087AB0 00084A10 38 81 00 14 */ addi r4, r1, 0x14 /* 80087AB4 00084A14 38 A1 00 18 */ addi r5, r1, 0x18 /* 80087AB8 00084A18 C0 1E 01 A0 */ lfs f0, 0x1a0(r30) /* 80087ABC 00084A1C D0 01 00 14 */ stfs f0, 0x14(r1) /* 80087AC0 00084A20 48 00 1C 0D */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80087AC4 00084A24 C0 BE 00 50 */ lfs f5, 0x50(r30) /* 80087AC8 00084A28 38 61 01 E8 */ addi r3, r1, 0x1e8 /* 80087ACC 00084A2C C0 DE 00 40 */ lfs f6, 0x40(r30) /* 80087AD0 00084A30 38 81 00 10 */ addi r4, r1, 0x10 /* 80087AD4 00084A34 EC 5D 28 28 */ fsubs f2, f29, f5 /* 80087AD8 00084A38 C3 BE 00 60 */ lfs f29, 0x60(r30) /* 80087ADC 00084A3C C0 82 89 DC */ lfs f4, lbl_805AA6FC@sda21(r2) /* 80087AE0 00084A40 EC 7E 30 28 */ fsubs f3, f30, f6 /* 80087AE4 00084A44 EC 3D E8 28 */ fsubs f1, f29, f29 /* 80087AE8 00084A48 C0 02 8A 54 */ lfs f0, lbl_805AA774@sda21(r2) /* 80087AEC 00084A4C EC 64 00 F2 */ fmuls f3, f4, f3 /* 80087AF0 00084A50 D0 C1 01 F8 */ stfs f6, 0x1f8(r1) /* 80087AF4 00084A54 EC 44 00 B2 */ fmuls f2, f4, f2 /* 80087AF8 00084A58 D0 A1 01 FC */ stfs f5, 0x1fc(r1) /* 80087AFC 00084A5C EF C6 18 2A */ fadds f30, f6, f3 /* 80087B00 00084A60 EF E5 10 2A */ fadds f31, f5, f2 /* 80087B04 00084A64 D3 A1 02 00 */ stfs f29, 0x200(r1) /* 80087B08 00084A68 EC 46 F0 28 */ fsubs f2, f6, f30 /* 80087B0C 00084A6C D0 21 02 A0 */ stfs f1, 0x2a0(r1) /* 80087B10 00084A70 EC 25 F8 28 */ fsubs f1, f5, f31 /* 80087B14 00084A74 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80087B18 00084A78 D0 41 02 98 */ stfs f2, 0x298(r1) /* 80087B1C 00084A7C D0 21 02 9C */ stfs f1, 0x29c(r1) /* 80087B20 00084A80 48 28 95 D9 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 80087B24 00084A84 C0 01 01 E8 */ lfs f0, 0x1e8(r1) /* 80087B28 00084A88 C0 61 01 EC */ lfs f3, 0x1ec(r1) /* 80087B2C 00084A8C C0 41 01 F0 */ lfs f2, 0x1f0(r1) /* 80087B30 00084A90 C0 21 01 F4 */ lfs f1, 0x1f4(r1) /* 80087B34 00084A94 D0 01 02 88 */ stfs f0, 0x288(r1) /* 80087B38 00084A98 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80087B3C 00084A9C D0 61 02 8C */ stfs f3, 0x28c(r1) /* 80087B40 00084AA0 D0 41 02 90 */ stfs f2, 0x290(r1) /* 80087B44 00084AA4 D0 21 02 94 */ stfs f1, 0x294(r1) /* 80087B48 00084AA8 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 80087B4C 00084AAC C0 9E 00 38 */ lfs f4, 0x38(r30) /* 80087B50 00084AB0 C0 E3 05 10 */ lfs f7, 0x510(r3) /* 80087B54 00084AB4 C0 DE 00 58 */ lfs f6, 0x58(r30) /* 80087B58 00084AB8 C0 BE 00 48 */ lfs f5, 0x48(r30) /* 80087B5C 00084ABC EC 24 01 F2 */ fmuls f1, f4, f7 /* 80087B60 00084AC0 C0 43 05 0C */ lfs f2, 0x50c(r3) /* 80087B64 00084AC4 C1 03 05 14 */ lfs f8, 0x514(r3) /* 80087B68 00084AC8 EC 22 09 78 */ fmsubs f1, f2, f5, f1 /* 80087B6C 00084ACC D0 81 01 D0 */ stfs f4, 0x1d0(r1) /* 80087B70 00084AD0 EC 65 02 32 */ fmuls f3, f5, f8 /* 80087B74 00084AD4 EC 46 00 B2 */ fmuls f2, f6, f2 /* 80087B78 00084AD8 D0 A1 01 D4 */ stfs f5, 0x1d4(r1) /* 80087B7C 00084ADC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80087B80 00084AE0 EC 67 19 B8 */ fmsubs f3, f7, f6, f3 /* 80087B84 00084AE4 D0 C1 01 D8 */ stfs f6, 0x1d8(r1) /* 80087B88 00084AE8 EC 08 11 38 */ fmsubs f0, f8, f4, f2 /* 80087B8C 00084AEC D0 21 01 E4 */ stfs f1, 0x1e4(r1) /* 80087B90 00084AF0 D0 61 01 DC */ stfs f3, 0x1dc(r1) /* 80087B94 00084AF4 D0 01 01 E0 */ stfs f0, 0x1e0(r1) /* 80087B98 00084AF8 4C 41 13 82 */ cror 2, 1, 2 /* 80087B9C 00084AFC 40 82 00 38 */ bne lbl_80087BD4 /* 80087BA0 00084B00 C0 02 8A 58 */ lfs f0, lbl_805AA778@sda21(r2) /* 80087BA4 00084B04 38 61 01 C0 */ addi r3, r1, 0x1c0 /* 80087BA8 00084B08 38 81 00 0C */ addi r4, r1, 0xc /* 80087BAC 00084B0C D0 01 00 0C */ stfs f0, 0xc(r1) /* 80087BB0 00084B10 48 28 95 49 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 80087BB4 00084B14 C0 01 01 C0 */ lfs f0, 0x1c0(r1) /* 80087BB8 00084B18 80 81 01 C4 */ lwz r4, 0x1c4(r1) /* 80087BBC 00084B1C 80 61 01 C8 */ lwz r3, 0x1c8(r1) /* 80087BC0 00084B20 80 01 01 CC */ lwz r0, 0x1cc(r1) /* 80087BC4 00084B24 D0 01 02 88 */ stfs f0, 0x288(r1) /* 80087BC8 00084B28 90 81 02 8C */ stw r4, 0x28c(r1) /* 80087BCC 00084B2C 90 61 02 90 */ stw r3, 0x290(r1) /* 80087BD0 00084B30 90 01 02 94 */ stw r0, 0x294(r1) lbl_80087BD4: /* 80087BD4 00084B34 38 61 01 B4 */ addi r3, r1, 0x1b4 /* 80087BD8 00084B38 38 81 02 88 */ addi r4, r1, 0x288 /* 80087BDC 00084B3C 38 A1 02 98 */ addi r5, r1, 0x298 /* 80087BE0 00084B40 48 28 96 85 */ bl Transform__11CQuaternionCFRC9CVector3f /* 80087BE4 00084B44 C0 61 01 B4 */ lfs f3, 0x1b4(r1) /* 80087BE8 00084B48 38 00 00 00 */ li r0, 0 /* 80087BEC 00084B4C C0 41 01 B8 */ lfs f2, 0x1b8(r1) /* 80087BF0 00084B50 38 61 01 90 */ addi r3, r1, 0x190 /* 80087BF4 00084B54 C0 21 01 BC */ lfs f1, 0x1bc(r1) /* 80087BF8 00084B58 EC 1E 18 2A */ fadds f0, f30, f3 /* 80087BFC 00084B5C EC 9F 10 2A */ fadds f4, f31, f2 /* 80087C00 00084B60 D0 61 02 98 */ stfs f3, 0x298(r1) /* 80087C04 00084B64 EC 7D 08 2A */ fadds f3, f29, f1 /* 80087C08 00084B68 A0 AD A3 8C */ lhz r5, lbl_805A8F4C@sda21(r13) /* 80087C0C 00084B6C D0 41 02 9C */ stfs f2, 0x29c(r1) /* 80087C10 00084B70 38 81 02 98 */ addi r4, r1, 0x298 /* 80087C14 00084B74 D0 21 02 A0 */ stfs f1, 0x2a0(r1) /* 80087C18 00084B78 D0 01 02 7C */ stfs f0, 0x27c(r1) /* 80087C1C 00084B7C D0 81 02 80 */ stfs f4, 0x280(r1) /* 80087C20 00084B80 D0 61 02 84 */ stfs f3, 0x284(r1) /* 80087C24 00084B84 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 80087C28 00084B88 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80087C2C 00084B8C C0 1E 00 40 */ lfs f0, 0x40(r30) /* 80087C30 00084B90 D0 21 01 AC */ stfs f1, 0x1ac(r1) /* 80087C34 00084B94 D0 01 01 A8 */ stfs f0, 0x1a8(r1) /* 80087C38 00084B98 D0 41 01 B0 */ stfs f2, 0x1b0(r1) /* 80087C3C 00084B9C D0 41 02 84 */ stfs f2, 0x284(r1) /* 80087C40 00084BA0 B0 A1 00 08 */ sth r5, 8(r1) /* 80087C44 00084BA4 90 01 03 C8 */ stw r0, 0x3c8(r1) /* 80087C48 00084BA8 48 28 CC 09 */ bl AsNormalized__9CVector3fCFv /* 80087C4C 00084BAC C0 41 01 90 */ lfs f2, 0x190(r1) /* 80087C50 00084BB0 38 61 02 98 */ addi r3, r1, 0x298 /* 80087C54 00084BB4 C0 21 01 94 */ lfs f1, 0x194(r1) /* 80087C58 00084BB8 C0 01 01 98 */ lfs f0, 0x198(r1) /* 80087C5C 00084BBC FC 40 10 50 */ fneg f2, f2 /* 80087C60 00084BC0 FC 20 08 50 */ fneg f1, f1 /* 80087C64 00084BC4 FC 00 00 50 */ fneg f0, f0 /* 80087C68 00084BC8 D0 41 01 9C */ stfs f2, 0x19c(r1) /* 80087C6C 00084BCC D0 21 01 A0 */ stfs f1, 0x1a0(r1) /* 80087C70 00084BD0 D0 01 01 A4 */ stfs f0, 0x1a4(r1) /* 80087C74 00084BD4 48 28 CC 45 */ bl Magnitude__9CVector3fCFv /* 80087C78 00084BD8 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80087C7C 00084BDC 7F E4 FB 78 */ mr r4, r31 /* 80087C80 00084BE0 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 80087C84 00084BE4 38 A1 00 08 */ addi r5, r1, 8 /* 80087C88 00084BE8 38 61 03 68 */ addi r3, r1, 0x368 /* 80087C8C 00084BEC 38 C1 02 7C */ addi r6, r1, 0x27c /* 80087C90 00084BF0 38 E1 01 9C */ addi r7, r1, 0x19c /* 80087C94 00084BF4 39 21 03 C8 */ addi r9, r1, 0x3c8 /* 80087C98 00084BF8 4B FC 53 2D */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80087C9C 00084BFC 88 81 03 88 */ lbz r4, 0x388(r1) /* 80087CA0 00084C00 C0 E1 03 68 */ lfs f7, 0x368(r1) /* 80087CA4 00084C04 C0 C1 03 6C */ lfs f6, 0x36c(r1) /* 80087CA8 00084C08 28 04 00 00 */ cmplwi r4, 0 /* 80087CAC 00084C0C C0 A1 03 70 */ lfs f5, 0x370(r1) /* 80087CB0 00084C10 C0 81 03 74 */ lfs f4, 0x374(r1) /* 80087CB4 00084C14 C0 61 03 78 */ lfs f3, 0x378(r1) /* 80087CB8 00084C18 C0 41 03 7C */ lfs f2, 0x37c(r1) /* 80087CBC 00084C1C C0 21 03 80 */ lfs f1, 0x380(r1) /* 80087CC0 00084C20 C0 01 03 84 */ lfs f0, 0x384(r1) /* 80087CC4 00084C24 80 01 03 90 */ lwz r0, 0x390(r1) /* 80087CC8 00084C28 80 61 03 94 */ lwz r3, 0x394(r1) /* 80087CCC 00084C2C D0 E1 03 98 */ stfs f7, 0x398(r1) /* 80087CD0 00084C30 D0 C1 03 9C */ stfs f6, 0x39c(r1) /* 80087CD4 00084C34 D0 A1 03 A0 */ stfs f5, 0x3a0(r1) /* 80087CD8 00084C38 D0 81 03 A4 */ stfs f4, 0x3a4(r1) /* 80087CDC 00084C3C D0 61 03 A8 */ stfs f3, 0x3a8(r1) /* 80087CE0 00084C40 D0 41 03 AC */ stfs f2, 0x3ac(r1) /* 80087CE4 00084C44 D0 21 03 B0 */ stfs f1, 0x3b0(r1) /* 80087CE8 00084C48 D0 01 03 B4 */ stfs f0, 0x3b4(r1) /* 80087CEC 00084C4C 98 81 03 B8 */ stb r4, 0x3b8(r1) /* 80087CF0 00084C50 90 61 03 C4 */ stw r3, 0x3c4(r1) /* 80087CF4 00084C54 90 01 03 C0 */ stw r0, 0x3c0(r1) /* 80087CF8 00084C58 41 82 00 54 */ beq lbl_80087D4C /* 80087CFC 00084C5C 38 61 01 84 */ addi r3, r1, 0x184 /* 80087D00 00084C60 38 81 02 98 */ addi r4, r1, 0x298 /* 80087D04 00084C64 48 28 CB 4D */ bl AsNormalized__9CVector3fCFv /* 80087D08 00084C68 C0 A2 8A 5C */ lfs f5, lbl_805AA77C@sda21(r2) /* 80087D0C 00084C6C C0 41 01 88 */ lfs f2, 0x188(r1) /* 80087D10 00084C70 C0 21 01 8C */ lfs f1, 0x18c(r1) /* 80087D14 00084C74 C0 01 01 84 */ lfs f0, 0x184(r1) /* 80087D18 00084C78 EC 85 00 B2 */ fmuls f4, f5, f2 /* 80087D1C 00084C7C C0 C1 03 A0 */ lfs f6, 0x3a0(r1) /* 80087D20 00084C80 EC 45 00 72 */ fmuls f2, f5, f1 /* 80087D24 00084C84 C0 61 03 A4 */ lfs f3, 0x3a4(r1) /* 80087D28 00084C88 EC 05 00 32 */ fmuls f0, f5, f0 /* 80087D2C 00084C8C C0 21 03 9C */ lfs f1, 0x39c(r1) /* 80087D30 00084C90 EC 86 20 2A */ fadds f4, f6, f4 /* 80087D34 00084C94 EC 43 10 2A */ fadds f2, f3, f2 /* 80087D38 00084C98 EC 01 00 2A */ fadds f0, f1, f0 /* 80087D3C 00084C9C D0 81 02 80 */ stfs f4, 0x280(r1) /* 80087D40 00084CA0 D0 01 02 7C */ stfs f0, 0x27c(r1) /* 80087D44 00084CA4 D0 41 02 84 */ stfs f2, 0x284(r1) /* 80087D48 00084CA8 48 00 00 28 */ b lbl_80087D70 lbl_80087D4C: /* 80087D4C 00084CAC C0 41 02 9C */ lfs f2, 0x29c(r1) /* 80087D50 00084CB0 C0 21 02 A0 */ lfs f1, 0x2a0(r1) /* 80087D54 00084CB4 C0 01 02 98 */ lfs f0, 0x298(r1) /* 80087D58 00084CB8 EC 5F 10 2A */ fadds f2, f31, f2 /* 80087D5C 00084CBC EC 3D 08 2A */ fadds f1, f29, f1 /* 80087D60 00084CC0 EC 1E 00 2A */ fadds f0, f30, f0 /* 80087D64 00084CC4 D0 41 02 80 */ stfs f2, 0x280(r1) /* 80087D68 00084CC8 D0 01 02 7C */ stfs f0, 0x27c(r1) /* 80087D6C 00084CCC D0 21 02 84 */ stfs f1, 0x284(r1) lbl_80087D70: /* 80087D70 00084CD0 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087D74 00084CD4 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087D78 00084CD8 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80087D7C 00084CDC 38 81 01 78 */ addi r4, r1, 0x178 /* 80087D80 00084CE0 D0 21 01 60 */ stfs f1, 0x160(r1) /* 80087D84 00084CE4 38 A1 01 6C */ addi r5, r1, 0x16c /* 80087D88 00084CE8 80 E1 02 7C */ lwz r7, 0x27c(r1) /* 80087D8C 00084CEC D0 01 01 64 */ stfs f0, 0x164(r1) /* 80087D90 00084CF0 81 41 01 60 */ lwz r10, 0x160(r1) /* 80087D94 00084CF4 D0 21 01 68 */ stfs f1, 0x168(r1) /* 80087D98 00084CF8 81 21 01 64 */ lwz r9, 0x164(r1) /* 80087D9C 00084CFC 81 01 01 68 */ lwz r8, 0x168(r1) /* 80087DA0 00084D00 80 C1 02 80 */ lwz r6, 0x280(r1) /* 80087DA4 00084D04 80 01 02 84 */ lwz r0, 0x284(r1) /* 80087DA8 00084D08 91 41 01 6C */ stw r10, 0x16c(r1) /* 80087DAC 00084D0C 91 21 01 70 */ stw r9, 0x170(r1) /* 80087DB0 00084D10 91 01 01 74 */ stw r8, 0x174(r1) /* 80087DB4 00084D14 90 E1 01 78 */ stw r7, 0x178(r1) /* 80087DB8 00084D18 90 C1 01 7C */ stw r6, 0x17c(r1) /* 80087DBC 00084D1C 90 01 01 80 */ stw r0, 0x180(r1) /* 80087DC0 00084D20 4B FD 51 91 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 80087DC4 00084D24 80 BF 08 4C */ lwz r5, 0x84c(r31) /* 80087DC8 00084D28 7F C4 F3 78 */ mr r4, r30 /* 80087DCC 00084D2C C0 21 00 18 */ lfs f1, 0x18(r1) /* 80087DD0 00084D30 7F E6 FB 78 */ mr r6, r31 /* 80087DD4 00084D34 C0 45 05 0C */ lfs f2, 0x50c(r5) /* 80087DD8 00084D38 38 61 01 54 */ addi r3, r1, 0x154 /* 80087DDC 00084D3C C0 65 05 10 */ lfs f3, 0x510(r5) /* 80087DE0 00084D40 38 E0 00 00 */ li r7, 0 /* 80087DE4 00084D44 C0 05 05 14 */ lfs f0, 0x514(r5) /* 80087DE8 00084D48 38 A1 01 48 */ addi r5, r1, 0x148 /* 80087DEC 00084D4C D0 41 02 70 */ stfs f2, 0x270(r1) /* 80087DF0 00084D50 C0 41 00 14 */ lfs f2, 0x14(r1) /* 80087DF4 00084D54 D0 61 02 74 */ stfs f3, 0x274(r1) /* 80087DF8 00084D58 81 21 02 70 */ lwz r9, 0x270(r1) /* 80087DFC 00084D5C D0 01 02 78 */ stfs f0, 0x278(r1) /* 80087E00 00084D60 81 01 02 74 */ lwz r8, 0x274(r1) /* 80087E04 00084D64 80 01 02 78 */ lwz r0, 0x278(r1) /* 80087E08 00084D68 91 21 01 48 */ stw r9, 0x148(r1) /* 80087E0C 00084D6C 91 01 01 4C */ stw r8, 0x14c(r1) /* 80087E10 00084D70 90 01 01 50 */ stw r0, 0x150(r1) /* 80087E14 00084D74 48 00 1E A1 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80087E18 00084D78 38 61 01 3C */ addi r3, r1, 0x13c /* 80087E1C 00084D7C 38 81 02 88 */ addi r4, r1, 0x288 /* 80087E20 00084D80 38 A1 02 98 */ addi r5, r1, 0x298 /* 80087E24 00084D84 48 28 94 41 */ bl Transform__11CQuaternionCFRC9CVector3f /* 80087E28 00084D88 C0 61 01 3C */ lfs f3, 0x13c(r1) /* 80087E2C 00084D8C 38 61 01 18 */ addi r3, r1, 0x118 /* 80087E30 00084D90 C0 41 01 40 */ lfs f2, 0x140(r1) /* 80087E34 00084D94 38 81 02 98 */ addi r4, r1, 0x298 /* 80087E38 00084D98 C0 21 01 44 */ lfs f1, 0x144(r1) /* 80087E3C 00084D9C EC 1E 18 2A */ fadds f0, f30, f3 /* 80087E40 00084DA0 EC 9F 10 2A */ fadds f4, f31, f2 /* 80087E44 00084DA4 D0 61 02 98 */ stfs f3, 0x298(r1) /* 80087E48 00084DA8 EC 7D 08 2A */ fadds f3, f29, f1 /* 80087E4C 00084DAC D0 41 02 9C */ stfs f2, 0x29c(r1) /* 80087E50 00084DB0 D0 21 02 A0 */ stfs f1, 0x2a0(r1) /* 80087E54 00084DB4 D0 01 02 64 */ stfs f0, 0x264(r1) /* 80087E58 00084DB8 D0 81 02 68 */ stfs f4, 0x268(r1) /* 80087E5C 00084DBC D0 61 02 6C */ stfs f3, 0x26c(r1) /* 80087E60 00084DC0 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 80087E64 00084DC4 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80087E68 00084DC8 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 80087E6C 00084DCC D0 21 01 34 */ stfs f1, 0x134(r1) /* 80087E70 00084DD0 D0 01 01 30 */ stfs f0, 0x130(r1) /* 80087E74 00084DD4 D0 41 01 38 */ stfs f2, 0x138(r1) /* 80087E78 00084DD8 D0 41 02 6C */ stfs f2, 0x26c(r1) /* 80087E7C 00084DDC 48 28 C9 D5 */ bl AsNormalized__9CVector3fCFv /* 80087E80 00084DE0 C0 41 01 18 */ lfs f2, 0x118(r1) /* 80087E84 00084DE4 38 61 02 98 */ addi r3, r1, 0x298 /* 80087E88 00084DE8 C0 21 01 1C */ lfs f1, 0x11c(r1) /* 80087E8C 00084DEC C0 01 01 20 */ lfs f0, 0x120(r1) /* 80087E90 00084DF0 FC 40 10 50 */ fneg f2, f2 /* 80087E94 00084DF4 FC 20 08 50 */ fneg f1, f1 /* 80087E98 00084DF8 FC 00 00 50 */ fneg f0, f0 /* 80087E9C 00084DFC D0 41 01 24 */ stfs f2, 0x124(r1) /* 80087EA0 00084E00 D0 21 01 28 */ stfs f1, 0x128(r1) /* 80087EA4 00084E04 D0 01 01 2C */ stfs f0, 0x12c(r1) /* 80087EA8 00084E08 48 28 CA 11 */ bl Magnitude__9CVector3fCFv /* 80087EAC 00084E0C 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80087EB0 00084E10 7F E4 FB 78 */ mr r4, r31 /* 80087EB4 00084E14 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 80087EB8 00084E18 38 A1 00 08 */ addi r5, r1, 8 /* 80087EBC 00084E1C 38 61 03 38 */ addi r3, r1, 0x338 /* 80087EC0 00084E20 38 C1 02 64 */ addi r6, r1, 0x264 /* 80087EC4 00084E24 38 E1 01 24 */ addi r7, r1, 0x124 /* 80087EC8 00084E28 39 21 03 C8 */ addi r9, r1, 0x3c8 /* 80087ECC 00084E2C 4B FC 50 F9 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80087ED0 00084E30 88 01 03 58 */ lbz r0, 0x358(r1) /* 80087ED4 00084E34 C0 A1 03 38 */ lfs f5, 0x338(r1) /* 80087ED8 00084E38 80 A1 03 3C */ lwz r5, 0x33c(r1) /* 80087EDC 00084E3C 28 00 00 00 */ cmplwi r0, 0 /* 80087EE0 00084E40 80 81 03 40 */ lwz r4, 0x340(r1) /* 80087EE4 00084E44 80 61 03 44 */ lwz r3, 0x344(r1) /* 80087EE8 00084E48 C0 81 03 48 */ lfs f4, 0x348(r1) /* 80087EEC 00084E4C C0 61 03 4C */ lfs f3, 0x34c(r1) /* 80087EF0 00084E50 C0 41 03 50 */ lfs f2, 0x350(r1) /* 80087EF4 00084E54 C0 21 03 54 */ lfs f1, 0x354(r1) /* 80087EF8 00084E58 C8 01 03 60 */ lfd f0, 0x360(r1) /* 80087EFC 00084E5C D0 A1 03 98 */ stfs f5, 0x398(r1) /* 80087F00 00084E60 90 A1 03 9C */ stw r5, 0x39c(r1) /* 80087F04 00084E64 90 81 03 A0 */ stw r4, 0x3a0(r1) /* 80087F08 00084E68 90 61 03 A4 */ stw r3, 0x3a4(r1) /* 80087F0C 00084E6C D0 81 03 A8 */ stfs f4, 0x3a8(r1) /* 80087F10 00084E70 D0 61 03 AC */ stfs f3, 0x3ac(r1) /* 80087F14 00084E74 D0 41 03 B0 */ stfs f2, 0x3b0(r1) /* 80087F18 00084E78 D0 21 03 B4 */ stfs f1, 0x3b4(r1) /* 80087F1C 00084E7C 98 01 03 B8 */ stb r0, 0x3b8(r1) /* 80087F20 00084E80 D8 01 03 C0 */ stfd f0, 0x3c0(r1) /* 80087F24 00084E84 41 82 00 54 */ beq lbl_80087F78 /* 80087F28 00084E88 38 61 01 0C */ addi r3, r1, 0x10c /* 80087F2C 00084E8C 38 81 02 98 */ addi r4, r1, 0x298 /* 80087F30 00084E90 48 28 C9 21 */ bl AsNormalized__9CVector3fCFv /* 80087F34 00084E94 C0 A2 89 E0 */ lfs f5, lbl_805AA700@sda21(r2) /* 80087F38 00084E98 C0 41 01 10 */ lfs f2, 0x110(r1) /* 80087F3C 00084E9C C0 21 01 14 */ lfs f1, 0x114(r1) /* 80087F40 00084EA0 C0 01 01 0C */ lfs f0, 0x10c(r1) /* 80087F44 00084EA4 EC 85 00 B2 */ fmuls f4, f5, f2 /* 80087F48 00084EA8 C0 C1 03 A0 */ lfs f6, 0x3a0(r1) /* 80087F4C 00084EAC EC 45 00 72 */ fmuls f2, f5, f1 /* 80087F50 00084EB0 C0 61 03 A4 */ lfs f3, 0x3a4(r1) /* 80087F54 00084EB4 EC 05 00 32 */ fmuls f0, f5, f0 /* 80087F58 00084EB8 C0 21 03 9C */ lfs f1, 0x39c(r1) /* 80087F5C 00084EBC EC 86 20 2A */ fadds f4, f6, f4 /* 80087F60 00084EC0 EC 43 10 2A */ fadds f2, f3, f2 /* 80087F64 00084EC4 EC 01 00 2A */ fadds f0, f1, f0 /* 80087F68 00084EC8 D0 81 02 68 */ stfs f4, 0x268(r1) /* 80087F6C 00084ECC D0 01 02 64 */ stfs f0, 0x264(r1) /* 80087F70 00084ED0 D0 41 02 6C */ stfs f2, 0x26c(r1) /* 80087F74 00084ED4 48 00 00 28 */ b lbl_80087F9C lbl_80087F78: /* 80087F78 00084ED8 C0 41 02 9C */ lfs f2, 0x29c(r1) /* 80087F7C 00084EDC C0 21 02 A0 */ lfs f1, 0x2a0(r1) /* 80087F80 00084EE0 C0 01 02 98 */ lfs f0, 0x298(r1) /* 80087F84 00084EE4 EC 5F 10 2A */ fadds f2, f31, f2 /* 80087F88 00084EE8 EC 3D 08 2A */ fadds f1, f29, f1 /* 80087F8C 00084EEC EC 1E 00 2A */ fadds f0, f30, f0 /* 80087F90 00084EF0 D0 41 02 68 */ stfs f2, 0x268(r1) /* 80087F94 00084EF4 D0 01 02 64 */ stfs f0, 0x264(r1) /* 80087F98 00084EF8 D0 21 02 6C */ stfs f1, 0x26c(r1) lbl_80087F9C: /* 80087F9C 00084EFC C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80087FA0 00084F00 38 7E 03 7C */ addi r3, r30, 0x37c /* 80087FA4 00084F04 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80087FA8 00084F08 38 81 01 00 */ addi r4, r1, 0x100 /* 80087FAC 00084F0C D0 21 00 E8 */ stfs f1, 0xe8(r1) /* 80087FB0 00084F10 38 A1 00 F4 */ addi r5, r1, 0xf4 /* 80087FB4 00084F14 80 E1 02 64 */ lwz r7, 0x264(r1) /* 80087FB8 00084F18 D0 01 00 EC */ stfs f0, 0xec(r1) /* 80087FBC 00084F1C 81 41 00 E8 */ lwz r10, 0xe8(r1) /* 80087FC0 00084F20 D0 21 00 F0 */ stfs f1, 0xf0(r1) /* 80087FC4 00084F24 81 21 00 EC */ lwz r9, 0xec(r1) /* 80087FC8 00084F28 81 01 00 F0 */ lwz r8, 0xf0(r1) /* 80087FCC 00084F2C 80 C1 02 68 */ lwz r6, 0x268(r1) /* 80087FD0 00084F30 80 01 02 6C */ lwz r0, 0x26c(r1) /* 80087FD4 00084F34 91 41 00 F4 */ stw r10, 0xf4(r1) /* 80087FD8 00084F38 91 21 00 F8 */ stw r9, 0xf8(r1) /* 80087FDC 00084F3C 91 01 00 FC */ stw r8, 0xfc(r1) /* 80087FE0 00084F40 90 E1 01 00 */ stw r7, 0x100(r1) /* 80087FE4 00084F44 90 C1 01 04 */ stw r6, 0x104(r1) /* 80087FE8 00084F48 90 01 01 08 */ stw r0, 0x108(r1) /* 80087FEC 00084F4C 4B FD 4F 65 */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 80087FF0 00084F50 38 61 00 DC */ addi r3, r1, 0xdc /* 80087FF4 00084F54 38 81 02 88 */ addi r4, r1, 0x288 /* 80087FF8 00084F58 38 A1 02 98 */ addi r5, r1, 0x298 /* 80087FFC 00084F5C 48 28 92 69 */ bl Transform__11CQuaternionCFRC9CVector3f /* 80088000 00084F60 C0 61 00 DC */ lfs f3, 0xdc(r1) /* 80088004 00084F64 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80088008 00084F68 C0 41 00 E0 */ lfs f2, 0xe0(r1) /* 8008800C 00084F6C 38 81 02 98 */ addi r4, r1, 0x298 /* 80088010 00084F70 C0 21 00 E4 */ lfs f1, 0xe4(r1) /* 80088014 00084F74 EC 1E 18 2A */ fadds f0, f30, f3 /* 80088018 00084F78 EC 9F 10 2A */ fadds f4, f31, f2 /* 8008801C 00084F7C D0 61 02 98 */ stfs f3, 0x298(r1) /* 80088020 00084F80 EC 7D 08 2A */ fadds f3, f29, f1 /* 80088024 00084F84 D0 41 02 9C */ stfs f2, 0x29c(r1) /* 80088028 00084F88 D0 21 02 A0 */ stfs f1, 0x2a0(r1) /* 8008802C 00084F8C D0 01 02 58 */ stfs f0, 0x258(r1) /* 80088030 00084F90 D0 81 02 5C */ stfs f4, 0x25c(r1) /* 80088034 00084F94 D0 61 02 60 */ stfs f3, 0x260(r1) /* 80088038 00084F98 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 8008803C 00084F9C C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80088040 00084FA0 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 80088044 00084FA4 D0 21 00 D4 */ stfs f1, 0xd4(r1) /* 80088048 00084FA8 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 8008804C 00084FAC D0 41 00 D8 */ stfs f2, 0xd8(r1) /* 80088050 00084FB0 D0 41 02 60 */ stfs f2, 0x260(r1) /* 80088054 00084FB4 48 28 C7 FD */ bl AsNormalized__9CVector3fCFv /* 80088058 00084FB8 C0 41 00 B8 */ lfs f2, 0xb8(r1) /* 8008805C 00084FBC 38 61 02 98 */ addi r3, r1, 0x298 /* 80088060 00084FC0 C0 21 00 BC */ lfs f1, 0xbc(r1) /* 80088064 00084FC4 C0 01 00 C0 */ lfs f0, 0xc0(r1) /* 80088068 00084FC8 FC 40 10 50 */ fneg f2, f2 /* 8008806C 00084FCC FC 20 08 50 */ fneg f1, f1 /* 80088070 00084FD0 FC 00 00 50 */ fneg f0, f0 /* 80088074 00084FD4 D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 80088078 00084FD8 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 8008807C 00084FDC D0 01 00 CC */ stfs f0, 0xcc(r1) /* 80088080 00084FE0 48 28 C8 39 */ bl Magnitude__9CVector3fCFv /* 80088084 00084FE4 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80088088 00084FE8 7F E4 FB 78 */ mr r4, r31 /* 8008808C 00084FEC 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 80088090 00084FF0 38 A1 00 08 */ addi r5, r1, 8 /* 80088094 00084FF4 38 61 03 08 */ addi r3, r1, 0x308 /* 80088098 00084FF8 38 C1 02 58 */ addi r6, r1, 0x258 /* 8008809C 00084FFC 38 E1 00 C4 */ addi r7, r1, 0xc4 /* 800880A0 00085000 39 21 03 C8 */ addi r9, r1, 0x3c8 /* 800880A4 00085004 4B FC 4F 21 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 800880A8 00085008 88 01 03 28 */ lbz r0, 0x328(r1) /* 800880AC 0008500C C0 A1 03 08 */ lfs f5, 0x308(r1) /* 800880B0 00085010 80 A1 03 0C */ lwz r5, 0x30c(r1) /* 800880B4 00085014 28 00 00 00 */ cmplwi r0, 0 /* 800880B8 00085018 80 81 03 10 */ lwz r4, 0x310(r1) /* 800880BC 0008501C 80 61 03 14 */ lwz r3, 0x314(r1) /* 800880C0 00085020 C0 81 03 18 */ lfs f4, 0x318(r1) /* 800880C4 00085024 C0 61 03 1C */ lfs f3, 0x31c(r1) /* 800880C8 00085028 C0 41 03 20 */ lfs f2, 0x320(r1) /* 800880CC 0008502C C0 21 03 24 */ lfs f1, 0x324(r1) /* 800880D0 00085030 C8 01 03 30 */ lfd f0, 0x330(r1) /* 800880D4 00085034 D0 A1 03 98 */ stfs f5, 0x398(r1) /* 800880D8 00085038 90 A1 03 9C */ stw r5, 0x39c(r1) /* 800880DC 0008503C 90 81 03 A0 */ stw r4, 0x3a0(r1) /* 800880E0 00085040 90 61 03 A4 */ stw r3, 0x3a4(r1) /* 800880E4 00085044 D0 81 03 A8 */ stfs f4, 0x3a8(r1) /* 800880E8 00085048 D0 61 03 AC */ stfs f3, 0x3ac(r1) /* 800880EC 0008504C D0 41 03 B0 */ stfs f2, 0x3b0(r1) /* 800880F0 00085050 D0 21 03 B4 */ stfs f1, 0x3b4(r1) /* 800880F4 00085054 98 01 03 B8 */ stb r0, 0x3b8(r1) /* 800880F8 00085058 D8 01 03 C0 */ stfd f0, 0x3c0(r1) /* 800880FC 0008505C 41 82 00 54 */ beq lbl_80088150 /* 80088100 00085060 38 61 00 AC */ addi r3, r1, 0xac /* 80088104 00085064 38 81 02 98 */ addi r4, r1, 0x298 /* 80088108 00085068 48 28 C7 49 */ bl AsNormalized__9CVector3fCFv /* 8008810C 0008506C C0 A2 89 E0 */ lfs f5, lbl_805AA700@sda21(r2) /* 80088110 00085070 C0 41 00 B0 */ lfs f2, 0xb0(r1) /* 80088114 00085074 C0 21 00 B4 */ lfs f1, 0xb4(r1) /* 80088118 00085078 C0 01 00 AC */ lfs f0, 0xac(r1) /* 8008811C 0008507C EC 85 00 B2 */ fmuls f4, f5, f2 /* 80088120 00085080 C0 C1 03 A0 */ lfs f6, 0x3a0(r1) /* 80088124 00085084 EC 45 00 72 */ fmuls f2, f5, f1 /* 80088128 00085088 C0 61 03 A4 */ lfs f3, 0x3a4(r1) /* 8008812C 0008508C EC 05 00 32 */ fmuls f0, f5, f0 /* 80088130 00085090 C0 21 03 9C */ lfs f1, 0x39c(r1) /* 80088134 00085094 EC 86 20 2A */ fadds f4, f6, f4 /* 80088138 00085098 EC 43 10 2A */ fadds f2, f3, f2 /* 8008813C 0008509C EC 01 00 2A */ fadds f0, f1, f0 /* 80088140 000850A0 D0 81 02 5C */ stfs f4, 0x25c(r1) /* 80088144 000850A4 D0 01 02 58 */ stfs f0, 0x258(r1) /* 80088148 000850A8 D0 41 02 60 */ stfs f2, 0x260(r1) /* 8008814C 000850AC 48 00 00 28 */ b lbl_80088174 lbl_80088150: /* 80088150 000850B0 C0 41 02 9C */ lfs f2, 0x29c(r1) /* 80088154 000850B4 C0 21 02 A0 */ lfs f1, 0x2a0(r1) /* 80088158 000850B8 C0 01 02 98 */ lfs f0, 0x298(r1) /* 8008815C 000850BC EC 5F 10 2A */ fadds f2, f31, f2 /* 80088160 000850C0 EC 3D 08 2A */ fadds f1, f29, f1 /* 80088164 000850C4 EC 1E 00 2A */ fadds f0, f30, f0 /* 80088168 000850C8 D0 41 02 5C */ stfs f2, 0x25c(r1) /* 8008816C 000850CC D0 01 02 58 */ stfs f0, 0x258(r1) /* 80088170 000850D0 D0 21 02 60 */ stfs f1, 0x260(r1) lbl_80088174: /* 80088174 000850D4 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80088178 000850D8 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008817C 000850DC C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80088180 000850E0 38 81 00 A0 */ addi r4, r1, 0xa0 /* 80088184 000850E4 D0 21 00 88 */ stfs f1, 0x88(r1) /* 80088188 000850E8 38 A1 00 94 */ addi r5, r1, 0x94 /* 8008818C 000850EC 80 E1 02 58 */ lwz r7, 0x258(r1) /* 80088190 000850F0 D0 01 00 8C */ stfs f0, 0x8c(r1) /* 80088194 000850F4 81 41 00 88 */ lwz r10, 0x88(r1) /* 80088198 000850F8 D0 21 00 90 */ stfs f1, 0x90(r1) /* 8008819C 000850FC 81 21 00 8C */ lwz r9, 0x8c(r1) /* 800881A0 00085100 81 01 00 90 */ lwz r8, 0x90(r1) /* 800881A4 00085104 80 C1 02 5C */ lwz r6, 0x25c(r1) /* 800881A8 00085108 80 01 02 60 */ lwz r0, 0x260(r1) /* 800881AC 0008510C 91 41 00 94 */ stw r10, 0x94(r1) /* 800881B0 00085110 91 21 00 98 */ stw r9, 0x98(r1) /* 800881B4 00085114 91 01 00 9C */ stw r8, 0x9c(r1) /* 800881B8 00085118 90 E1 00 A0 */ stw r7, 0xa0(r1) /* 800881BC 0008511C 90 C1 00 A4 */ stw r6, 0xa4(r1) /* 800881C0 00085120 90 01 00 A8 */ stw r0, 0xa8(r1) /* 800881C4 00085124 4B FD 4D 8D */ bl AddKnot__13CCameraSplineFRC9CVector3fRC9CVector3f /* 800881C8 00085128 38 00 00 00 */ li r0, 0 /* 800881CC 0008512C 7F C3 F3 78 */ mr r3, r30 /* 800881D0 00085130 90 01 00 24 */ stw r0, 0x24(r1) /* 800881D4 00085134 7F E5 FB 78 */ mr r5, r31 /* 800881D8 00085138 38 81 00 20 */ addi r4, r1, 0x20 /* 800881DC 0008513C 90 01 00 20 */ stw r0, 0x20(r1) /* 800881E0 00085140 4B FF 8E 69 */ bl SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager /* 800881E4 00085144 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800881E8 00085148 40 82 03 B4 */ bne lbl_8008859C /* 800881EC 0008514C 80 01 00 20 */ lwz r0, 0x20(r1) /* 800881F0 00085150 38 80 00 00 */ li r4, 0 /* 800881F4 00085154 80 A1 00 24 */ lwz r5, 0x24(r1) /* 800881F8 00085158 3C 60 40 00 */ lis r3, 0x4000 /* 800881FC 0008515C 7C 00 20 38 */ and r0, r0, r4 /* 80088200 00085160 7C A3 18 38 */ and r3, r5, r3 /* 80088204 00085164 7C 63 22 78 */ xor r3, r3, r4 /* 80088208 00085168 7C 00 22 78 */ xor r0, r0, r4 /* 8008820C 0008516C 7C 60 03 79 */ or. r0, r3, r0 /* 80088210 00085170 41 82 03 8C */ beq lbl_8008859C /* 80088214 00085174 C0 41 02 80 */ lfs f2, 0x280(r1) /* 80088218 00085178 38 61 00 70 */ addi r3, r1, 0x70 /* 8008821C 0008517C C0 21 02 84 */ lfs f1, 0x284(r1) /* 80088220 00085180 38 81 02 98 */ addi r4, r1, 0x298 /* 80088224 00085184 C0 01 02 7C */ lfs f0, 0x27c(r1) /* 80088228 00085188 EC 42 F8 28 */ fsubs f2, f2, f31 /* 8008822C 0008518C EC 21 E8 28 */ fsubs f1, f1, f29 /* 80088230 00085190 EC 00 F0 28 */ fsubs f0, f0, f30 /* 80088234 00085194 D0 41 02 9C */ stfs f2, 0x29c(r1) /* 80088238 00085198 D0 01 02 98 */ stfs f0, 0x298(r1) /* 8008823C 0008519C D0 21 02 A0 */ stfs f1, 0x2a0(r1) /* 80088240 000851A0 48 28 C6 11 */ bl AsNormalized__9CVector3fCFv /* 80088244 000851A4 C0 41 00 70 */ lfs f2, 0x70(r1) /* 80088248 000851A8 38 61 02 98 */ addi r3, r1, 0x298 /* 8008824C 000851AC C0 21 00 74 */ lfs f1, 0x74(r1) /* 80088250 000851B0 C0 01 00 78 */ lfs f0, 0x78(r1) /* 80088254 000851B4 FC 40 10 50 */ fneg f2, f2 /* 80088258 000851B8 FC 20 08 50 */ fneg f1, f1 /* 8008825C 000851BC FC 00 00 50 */ fneg f0, f0 /* 80088260 000851C0 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 80088264 000851C4 D0 21 00 80 */ stfs f1, 0x80(r1) /* 80088268 000851C8 D0 01 00 84 */ stfs f0, 0x84(r1) /* 8008826C 000851CC 48 28 C6 4D */ bl Magnitude__9CVector3fCFv /* 80088270 000851D0 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80088274 000851D4 7F E4 FB 78 */ mr r4, r31 /* 80088278 000851D8 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 8008827C 000851DC 38 A1 00 08 */ addi r5, r1, 8 /* 80088280 000851E0 38 61 02 D8 */ addi r3, r1, 0x2d8 /* 80088284 000851E4 38 C1 02 7C */ addi r6, r1, 0x27c /* 80088288 000851E8 38 E1 00 7C */ addi r7, r1, 0x7c /* 8008828C 000851EC 39 21 03 C8 */ addi r9, r1, 0x3c8 /* 80088290 000851F0 4B FC 4D 35 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80088294 000851F4 88 01 02 F8 */ lbz r0, 0x2f8(r1) /* 80088298 000851F8 C0 A1 02 D8 */ lfs f5, 0x2d8(r1) /* 8008829C 000851FC 80 A1 02 DC */ lwz r5, 0x2dc(r1) /* 800882A0 00085200 28 00 00 00 */ cmplwi r0, 0 /* 800882A4 00085204 80 81 02 E0 */ lwz r4, 0x2e0(r1) /* 800882A8 00085208 80 61 02 E4 */ lwz r3, 0x2e4(r1) /* 800882AC 0008520C C0 81 02 E8 */ lfs f4, 0x2e8(r1) /* 800882B0 00085210 C0 61 02 EC */ lfs f3, 0x2ec(r1) /* 800882B4 00085214 C0 41 02 F0 */ lfs f2, 0x2f0(r1) /* 800882B8 00085218 C0 21 02 F4 */ lfs f1, 0x2f4(r1) /* 800882BC 0008521C C8 01 03 00 */ lfd f0, 0x300(r1) /* 800882C0 00085220 D0 A1 03 98 */ stfs f5, 0x398(r1) /* 800882C4 00085224 90 A1 03 9C */ stw r5, 0x39c(r1) /* 800882C8 00085228 90 81 03 A0 */ stw r4, 0x3a0(r1) /* 800882CC 0008522C 90 61 03 A4 */ stw r3, 0x3a4(r1) /* 800882D0 00085230 D0 81 03 A8 */ stfs f4, 0x3a8(r1) /* 800882D4 00085234 D0 61 03 AC */ stfs f3, 0x3ac(r1) /* 800882D8 00085238 D0 41 03 B0 */ stfs f2, 0x3b0(r1) /* 800882DC 0008523C D0 21 03 B4 */ stfs f1, 0x3b4(r1) /* 800882E0 00085240 98 01 03 B8 */ stb r0, 0x3b8(r1) /* 800882E4 00085244 D8 01 03 C0 */ stfd f0, 0x3c0(r1) /* 800882E8 00085248 41 82 00 B0 */ beq lbl_80088398 /* 800882EC 0008524C 80 01 03 C0 */ lwz r0, 0x3c0(r1) /* 800882F0 00085250 38 80 00 00 */ li r4, 0 /* 800882F4 00085254 80 A1 03 C4 */ lwz r5, 0x3c4(r1) /* 800882F8 00085258 38 60 00 20 */ li r3, 0x20 /* 800882FC 0008525C 7C 00 20 38 */ and r0, r0, r4 /* 80088300 00085260 7C A3 18 38 */ and r3, r5, r3 /* 80088304 00085264 7C 63 22 78 */ xor r3, r3, r4 /* 80088308 00085268 7C 00 22 78 */ xor r0, r0, r4 /* 8008830C 0008526C 7C 60 03 79 */ or. r0, r3, r0 /* 80088310 00085270 40 82 00 88 */ bne lbl_80088398 /* 80088314 00085274 38 61 00 64 */ addi r3, r1, 0x64 /* 80088318 00085278 38 81 02 98 */ addi r4, r1, 0x298 /* 8008831C 0008527C 48 28 C5 35 */ bl AsNormalized__9CVector3fCFv /* 80088320 00085280 C0 62 89 C4 */ lfs f3, lbl_805AA6E4@sda21(r2) /* 80088324 00085284 38 7E 03 7C */ addi r3, r30, 0x37c /* 80088328 00085288 C0 41 00 64 */ lfs f2, 0x64(r1) /* 8008832C 0008528C 38 A1 00 58 */ addi r5, r1, 0x58 /* 80088330 00085290 C0 21 00 68 */ lfs f1, 0x68(r1) /* 80088334 00085294 38 80 00 01 */ li r4, 1 /* 80088338 00085298 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 8008833C 0008529C EC 43 00 B2 */ fmuls f2, f3, f2 /* 80088340 000852A0 C0 A2 8A 60 */ lfs f5, lbl_805AA780@sda21(r2) /* 80088344 000852A4 EC 23 00 72 */ fmuls f1, f3, f1 /* 80088348 000852A8 EC 03 00 32 */ fmuls f0, f3, f0 /* 8008834C 000852AC C0 C1 03 9C */ lfs f6, 0x39c(r1) /* 80088350 000852B0 EC 85 00 B2 */ fmuls f4, f5, f2 /* 80088354 000852B4 EC 45 00 72 */ fmuls f2, f5, f1 /* 80088358 000852B8 C0 61 03 A0 */ lfs f3, 0x3a0(r1) /* 8008835C 000852BC EC 05 00 32 */ fmuls f0, f5, f0 /* 80088360 000852C0 C0 21 03 A4 */ lfs f1, 0x3a4(r1) /* 80088364 000852C4 EC 86 20 28 */ fsubs f4, f6, f4 /* 80088368 000852C8 EC 43 10 28 */ fsubs f2, f3, f2 /* 8008836C 000852CC EC 01 00 28 */ fsubs f0, f1, f0 /* 80088370 000852D0 D0 81 02 4C */ stfs f4, 0x24c(r1) /* 80088374 000852D4 D0 41 02 50 */ stfs f2, 0x250(r1) /* 80088378 000852D8 80 E1 02 4C */ lwz r7, 0x24c(r1) /* 8008837C 000852DC D0 01 02 54 */ stfs f0, 0x254(r1) /* 80088380 000852E0 80 C1 02 50 */ lwz r6, 0x250(r1) /* 80088384 000852E4 80 01 02 54 */ lwz r0, 0x254(r1) /* 80088388 000852E8 90 E1 00 58 */ stw r7, 0x58(r1) /* 8008838C 000852EC 90 C1 00 5C */ stw r6, 0x5c(r1) /* 80088390 000852F0 90 01 00 60 */ stw r0, 0x60(r1) /* 80088394 000852F4 4B FD 4C BD */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f lbl_80088398: /* 80088398 000852F8 C0 41 02 68 */ lfs f2, 0x268(r1) /* 8008839C 000852FC 38 61 00 40 */ addi r3, r1, 0x40 /* 800883A0 00085300 C0 21 02 6C */ lfs f1, 0x26c(r1) /* 800883A4 00085304 38 81 02 98 */ addi r4, r1, 0x298 /* 800883A8 00085308 C0 01 02 64 */ lfs f0, 0x264(r1) /* 800883AC 0008530C EC 42 F8 28 */ fsubs f2, f2, f31 /* 800883B0 00085310 EC 21 E8 28 */ fsubs f1, f1, f29 /* 800883B4 00085314 EC 00 F0 28 */ fsubs f0, f0, f30 /* 800883B8 00085318 D0 41 02 9C */ stfs f2, 0x29c(r1) /* 800883BC 0008531C D0 01 02 98 */ stfs f0, 0x298(r1) /* 800883C0 00085320 D0 21 02 A0 */ stfs f1, 0x2a0(r1) /* 800883C4 00085324 48 28 C4 8D */ bl AsNormalized__9CVector3fCFv /* 800883C8 00085328 C0 41 00 40 */ lfs f2, 0x40(r1) /* 800883CC 0008532C 38 61 02 98 */ addi r3, r1, 0x298 /* 800883D0 00085330 C0 21 00 44 */ lfs f1, 0x44(r1) /* 800883D4 00085334 C0 01 00 48 */ lfs f0, 0x48(r1) /* 800883D8 00085338 FC 40 10 50 */ fneg f2, f2 /* 800883DC 0008533C FC 20 08 50 */ fneg f1, f1 /* 800883E0 00085340 FC 00 00 50 */ fneg f0, f0 /* 800883E4 00085344 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 800883E8 00085348 D0 21 00 50 */ stfs f1, 0x50(r1) /* 800883EC 0008534C D0 01 00 54 */ stfs f0, 0x54(r1) /* 800883F0 00085350 48 28 C4 C9 */ bl Magnitude__9CVector3fCFv /* 800883F4 00085354 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 800883F8 00085358 7F E4 FB 78 */ mr r4, r31 /* 800883FC 0008535C 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 80088400 00085360 38 A1 00 08 */ addi r5, r1, 8 /* 80088404 00085364 38 61 02 A8 */ addi r3, r1, 0x2a8 /* 80088408 00085368 38 C1 02 64 */ addi r6, r1, 0x264 /* 8008840C 0008536C 38 E1 00 4C */ addi r7, r1, 0x4c /* 80088410 00085370 39 21 03 C8 */ addi r9, r1, 0x3c8 /* 80088414 00085374 4B FC 4B B1 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 80088418 00085378 88 01 02 C8 */ lbz r0, 0x2c8(r1) /* 8008841C 0008537C C0 A1 02 A8 */ lfs f5, 0x2a8(r1) /* 80088420 00085380 80 A1 02 AC */ lwz r5, 0x2ac(r1) /* 80088424 00085384 28 00 00 00 */ cmplwi r0, 0 /* 80088428 00085388 80 81 02 B0 */ lwz r4, 0x2b0(r1) /* 8008842C 0008538C 80 61 02 B4 */ lwz r3, 0x2b4(r1) /* 80088430 00085390 C0 81 02 B8 */ lfs f4, 0x2b8(r1) /* 80088434 00085394 C0 61 02 BC */ lfs f3, 0x2bc(r1) /* 80088438 00085398 C0 41 02 C0 */ lfs f2, 0x2c0(r1) /* 8008843C 0008539C C0 21 02 C4 */ lfs f1, 0x2c4(r1) /* 80088440 000853A0 C8 01 02 D0 */ lfd f0, 0x2d0(r1) /* 80088444 000853A4 D0 A1 03 98 */ stfs f5, 0x398(r1) /* 80088448 000853A8 90 A1 03 9C */ stw r5, 0x39c(r1) /* 8008844C 000853AC 90 81 03 A0 */ stw r4, 0x3a0(r1) /* 80088450 000853B0 90 61 03 A4 */ stw r3, 0x3a4(r1) /* 80088454 000853B4 D0 81 03 A8 */ stfs f4, 0x3a8(r1) /* 80088458 000853B8 D0 61 03 AC */ stfs f3, 0x3ac(r1) /* 8008845C 000853BC D0 41 03 B0 */ stfs f2, 0x3b0(r1) /* 80088460 000853C0 D0 21 03 B4 */ stfs f1, 0x3b4(r1) /* 80088464 000853C4 98 01 03 B8 */ stb r0, 0x3b8(r1) /* 80088468 000853C8 D8 01 03 C0 */ stfd f0, 0x3c0(r1) /* 8008846C 000853CC 41 82 00 B0 */ beq lbl_8008851C /* 80088470 000853D0 80 01 03 C0 */ lwz r0, 0x3c0(r1) /* 80088474 000853D4 38 80 00 00 */ li r4, 0 /* 80088478 000853D8 80 A1 03 C4 */ lwz r5, 0x3c4(r1) /* 8008847C 000853DC 38 60 00 20 */ li r3, 0x20 /* 80088480 000853E0 7C 00 20 38 */ and r0, r0, r4 /* 80088484 000853E4 7C A3 18 38 */ and r3, r5, r3 /* 80088488 000853E8 7C 63 22 78 */ xor r3, r3, r4 /* 8008848C 000853EC 7C 00 22 78 */ xor r0, r0, r4 /* 80088490 000853F0 7C 60 03 79 */ or. r0, r3, r0 /* 80088494 000853F4 40 82 00 88 */ bne lbl_8008851C /* 80088498 000853F8 38 61 00 34 */ addi r3, r1, 0x34 /* 8008849C 000853FC 38 81 02 98 */ addi r4, r1, 0x298 /* 800884A0 00085400 48 28 C3 B1 */ bl AsNormalized__9CVector3fCFv /* 800884A4 00085404 C0 62 89 C4 */ lfs f3, lbl_805AA6E4@sda21(r2) /* 800884A8 00085408 38 7E 03 7C */ addi r3, r30, 0x37c /* 800884AC 0008540C C0 41 00 34 */ lfs f2, 0x34(r1) /* 800884B0 00085410 38 A1 00 28 */ addi r5, r1, 0x28 /* 800884B4 00085414 C0 21 00 38 */ lfs f1, 0x38(r1) /* 800884B8 00085418 38 80 00 02 */ li r4, 2 /* 800884BC 0008541C C0 01 00 3C */ lfs f0, 0x3c(r1) /* 800884C0 00085420 EC 43 00 B2 */ fmuls f2, f3, f2 /* 800884C4 00085424 C0 A2 8A 60 */ lfs f5, lbl_805AA780@sda21(r2) /* 800884C8 00085428 EC 23 00 72 */ fmuls f1, f3, f1 /* 800884CC 0008542C EC 03 00 32 */ fmuls f0, f3, f0 /* 800884D0 00085430 C0 C1 03 9C */ lfs f6, 0x39c(r1) /* 800884D4 00085434 EC 85 00 B2 */ fmuls f4, f5, f2 /* 800884D8 00085438 EC 45 00 72 */ fmuls f2, f5, f1 /* 800884DC 0008543C C0 61 03 A0 */ lfs f3, 0x3a0(r1) /* 800884E0 00085440 EC 05 00 32 */ fmuls f0, f5, f0 /* 800884E4 00085444 C0 21 03 A4 */ lfs f1, 0x3a4(r1) /* 800884E8 00085448 EC 86 20 28 */ fsubs f4, f6, f4 /* 800884EC 0008544C EC 43 10 28 */ fsubs f2, f3, f2 /* 800884F0 00085450 EC 01 00 28 */ fsubs f0, f1, f0 /* 800884F4 00085454 D0 81 02 40 */ stfs f4, 0x240(r1) /* 800884F8 00085458 D0 41 02 44 */ stfs f2, 0x244(r1) /* 800884FC 0008545C 80 E1 02 40 */ lwz r7, 0x240(r1) /* 80088500 00085460 D0 01 02 48 */ stfs f0, 0x248(r1) /* 80088504 00085464 80 C1 02 44 */ lwz r6, 0x244(r1) /* 80088508 00085468 80 01 02 48 */ lwz r0, 0x248(r1) /* 8008850C 0008546C 90 E1 00 28 */ stw r7, 0x28(r1) /* 80088510 00085470 90 C1 00 2C */ stw r6, 0x2c(r1) /* 80088514 00085474 90 01 00 30 */ stw r0, 0x30(r1) /* 80088518 00085478 4B FD 4B 39 */ bl SetKnotPosition__13CCameraSplineFiRC9CVector3f lbl_8008851C: /* 8008851C 0008547C 38 7E 03 7C */ addi r3, r30, 0x37c /* 80088520 00085480 4B FD 3D 9D */ bl CalculateSplineLength__13CCameraSplineFv /* 80088524 00085484 D0 3E 03 C0 */ stfs f1, 0x3c0(r30) /* 80088528 00085488 7F C3 F3 78 */ mr r3, r30 /* 8008852C 0008548C 7F E5 FB 78 */ mr r5, r31 /* 80088530 00085490 38 81 00 20 */ addi r4, r1, 0x20 /* 80088534 00085494 4B FF 8B 15 */ bl SplineIntersectTest__11CBallCameraCFR13CMaterialListR13CStateManager /* 80088538 00085498 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008853C 0008549C 40 82 00 60 */ bne lbl_8008859C /* 80088540 000854A0 38 60 00 00 */ li r3, 0 /* 80088544 000854A4 90 7E 03 6C */ stw r3, 0x36c(r30) /* 80088548 000854A8 80 A1 03 C8 */ lwz r5, 0x3c8(r1) /* 8008854C 000854AC 2C 05 00 00 */ cmpwi r5, 0 /* 80088550 000854B0 40 81 00 40 */ ble lbl_80088590 /* 80088554 000854B4 2C 05 00 08 */ cmpwi r5, 8 /* 80088558 000854B8 38 85 FF F8 */ addi r4, r5, -8 /* 8008855C 000854BC 40 81 00 20 */ ble lbl_8008857C /* 80088560 000854C0 38 04 00 07 */ addi r0, r4, 7 /* 80088564 000854C4 54 00 E8 FE */ srwi r0, r0, 3 /* 80088568 000854C8 7C 09 03 A6 */ mtctr r0 /* 8008856C 000854CC 2C 04 00 00 */ cmpwi r4, 0 /* 80088570 000854D0 40 81 00 0C */ ble lbl_8008857C lbl_80088574: /* 80088574 000854D4 38 63 00 08 */ addi r3, r3, 8 /* 80088578 000854D8 42 00 FF FC */ bdnz lbl_80088574 lbl_8008857C: /* 8008857C 000854DC 7C 03 28 50 */ subf r0, r3, r5 /* 80088580 000854E0 7C 09 03 A6 */ mtctr r0 /* 80088584 000854E4 7C 03 28 00 */ cmpw r3, r5 /* 80088588 000854E8 40 80 00 08 */ bge lbl_80088590 lbl_8008858C: /* 8008858C 000854EC 42 00 00 00 */ bdnz lbl_8008858C lbl_80088590: /* 80088590 000854F0 38 00 00 00 */ li r0, 0 /* 80088594 000854F4 90 01 03 C8 */ stw r0, 0x3c8(r1) /* 80088598 000854F8 48 00 00 78 */ b lbl_80088610 lbl_8008859C: /* 8008859C 000854FC C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 800885A0 00085500 38 7E 03 7C */ addi r3, r30, 0x37c /* 800885A4 00085504 D0 1E 03 74 */ stfs f0, 0x374(r30) /* 800885A8 00085508 D0 1E 03 78 */ stfs f0, 0x378(r30) /* 800885AC 0008550C 4B FD 3D 11 */ bl CalculateSplineLength__13CCameraSplineFv /* 800885B0 00085510 D0 3E 03 C0 */ stfs f1, 0x3c0(r30) /* 800885B4 00085514 38 60 00 00 */ li r3, 0 /* 800885B8 00085518 90 7E 03 CC */ stw r3, 0x3cc(r30) /* 800885BC 0008551C 90 7E 03 C8 */ stw r3, 0x3c8(r30) /* 800885C0 00085520 80 A1 03 C8 */ lwz r5, 0x3c8(r1) /* 800885C4 00085524 2C 05 00 00 */ cmpwi r5, 0 /* 800885C8 00085528 40 81 00 40 */ ble lbl_80088608 /* 800885CC 0008552C 2C 05 00 08 */ cmpwi r5, 8 /* 800885D0 00085530 38 85 FF F8 */ addi r4, r5, -8 /* 800885D4 00085534 40 81 00 20 */ ble lbl_800885F4 /* 800885D8 00085538 38 04 00 07 */ addi r0, r4, 7 /* 800885DC 0008553C 54 00 E8 FE */ srwi r0, r0, 3 /* 800885E0 00085540 7C 09 03 A6 */ mtctr r0 /* 800885E4 00085544 2C 04 00 00 */ cmpwi r4, 0 /* 800885E8 00085548 40 81 00 0C */ ble lbl_800885F4 lbl_800885EC: /* 800885EC 0008554C 38 63 00 08 */ addi r3, r3, 8 /* 800885F0 00085550 42 00 FF FC */ bdnz lbl_800885EC lbl_800885F4: /* 800885F4 00085554 7C 03 28 50 */ subf r0, r3, r5 /* 800885F8 00085558 7C 09 03 A6 */ mtctr r0 /* 800885FC 0008555C 7C 03 28 00 */ cmpw r3, r5 /* 80088600 00085560 40 80 00 08 */ bge lbl_80088608 lbl_80088604: /* 80088604 00085564 42 00 00 00 */ bdnz lbl_80088604 lbl_80088608: /* 80088608 00085568 38 00 00 00 */ li r0, 0 /* 8008860C 0008556C 90 01 03 C8 */ stw r0, 0x3c8(r1) lbl_80088610: /* 80088610 00085570 E3 E1 0C 08 */ psq_l f31, -1016(r1), 0, qr0 /* 80088614 00085574 CB E1 0C 00 */ lfd f31, 0xc00(r1) /* 80088618 00085578 E3 C1 0B F8 */ psq_l f30, -1032(r1), 0, qr0 /* 8008861C 0008557C CB C1 0B F0 */ lfd f30, 0xbf0(r1) /* 80088620 00085580 E3 A1 0B E8 */ psq_l f29, -1048(r1), 0, qr0 /* 80088624 00085584 CB A1 0B E0 */ lfd f29, 0xbe0(r1) /* 80088628 00085588 83 E1 0B DC */ lwz r31, 0xbdc(r1) /* 8008862C 0008558C 80 01 0C 14 */ lwz r0, 0xc14(r1) /* 80088630 00085590 83 C1 0B D8 */ lwz r30, 0xbd8(r1) /* 80088634 00085594 7C 08 03 A6 */ mtlr r0 /* 80088638 00085598 38 21 0C 10 */ addi r1, r1, 0xc10 /* 8008863C 0008559C 4E 80 00 20 */ blr .global ShouldResetSpline__11CBallCameraCFR13CStateManager ShouldResetSpline__11CBallCameraCFR13CStateManager: /* 80088640 000855A0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80088644 000855A4 7C 08 02 A6 */ mflr r0 /* 80088648 000855A8 90 01 00 24 */ stw r0, 0x24(r1) /* 8008864C 000855AC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80088650 000855B0 3B E0 00 00 */ li r31, 0 /* 80088654 000855B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80088658 000855B8 7C 9E 23 78 */ mr r30, r4 /* 8008865C 000855BC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80088660 000855C0 7C 7D 1B 78 */ mr r29, r3 /* 80088664 000855C4 80 03 04 00 */ lwz r0, 0x400(r3) /* 80088668 000855C8 2C 00 00 04 */ cmpwi r0, 4 /* 8008866C 000855CC 41 82 00 4C */ beq lbl_800886B8 /* 80088670 000855D0 80 7E 08 70 */ lwz r3, 0x870(r30) /* 80088674 000855D4 4B F8 22 61 */ bl IsInterpolationCameraActive__14CCameraManagerCFv /* 80088678 000855D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008867C 000855DC 40 82 00 3C */ bne lbl_800886B8 /* 80088680 000855E0 80 7E 08 4C */ lwz r3, 0x84c(r30) /* 80088684 000855E4 80 63 07 68 */ lwz r3, 0x768(r3) /* 80088688 000855E8 80 03 18 7C */ lwz r0, 0x187c(r3) /* 8008868C 000855EC 2C 00 00 01 */ cmpwi r0, 1 /* 80088690 000855F0 41 82 00 28 */ beq lbl_800886B8 /* 80088694 000855F4 80 1D 03 6C */ lwz r0, 0x36c(r29) /* 80088698 000855F8 2C 00 00 00 */ cmpwi r0, 0 /* 8008869C 000855FC 40 82 00 1C */ bne lbl_800886B8 /* 800886A0 00085600 80 1D 01 88 */ lwz r0, 0x188(r29) /* 800886A4 00085604 2C 00 00 09 */ cmpwi r0, 9 /* 800886A8 00085608 40 80 00 0C */ bge lbl_800886B4 /* 800886AC 0008560C 2C 00 00 04 */ cmpwi r0, 4 /* 800886B0 00085610 40 80 00 08 */ bge lbl_800886B8 lbl_800886B4: /* 800886B4 00085614 3B E0 00 01 */ li r31, 1 lbl_800886B8: /* 800886B8 00085618 80 01 00 24 */ lwz r0, 0x24(r1) /* 800886BC 0008561C 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 800886C0 00085620 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800886C4 00085624 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800886C8 00085628 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800886CC 0008562C 7C 08 03 A6 */ mtlr r0 /* 800886D0 00085630 38 21 00 20 */ addi r1, r1, 0x20 /* 800886D4 00085634 4E 80 00 20 */ blr .global InterpolateCameraElevation__11CBallCameraCFRC9CVector3ff InterpolateCameraElevation__11CBallCameraCFRC9CVector3ff: /* 800886D8 00085638 94 21 FF A0 */ stwu r1, -0x60(r1) /* 800886DC 0008563C 7C 08 02 A6 */ mflr r0 /* 800886E0 00085640 90 01 00 64 */ stw r0, 0x64(r1) /* 800886E4 00085644 DB E1 00 50 */ stfd f31, 0x50(r1) /* 800886E8 00085648 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 800886EC 0008564C DB C1 00 40 */ stfd f30, 0x40(r1) /* 800886F0 00085650 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 800886F4 00085654 DB A1 00 30 */ stfd f29, 0x30(r1) /* 800886F8 00085658 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0 /* 800886FC 0008565C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80088700 00085660 93 C1 00 28 */ stw r30, 0x28(r1) /* 80088704 00085664 7C 9F 23 78 */ mr r31, r4 /* 80088708 00085668 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008870C 0008566C C0 44 01 A0 */ lfs f2, 0x1a0(r4) /* 80088710 00085670 7C 7E 1B 78 */ mr r30, r3 /* 80088714 00085674 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80088718 00085678 40 80 00 20 */ bge lbl_80088738 /* 8008871C 0008567C C0 05 00 00 */ lfs f0, 0(r5) /* 80088720 00085680 D0 1E 00 00 */ stfs f0, 0(r30) /* 80088724 00085684 C0 05 00 04 */ lfs f0, 4(r5) /* 80088728 00085688 D0 1E 00 04 */ stfs f0, 4(r30) /* 8008872C 0008568C C0 05 00 08 */ lfs f0, 8(r5) /* 80088730 00085690 D0 1E 00 08 */ stfs f0, 8(r30) /* 80088734 00085694 48 00 00 C4 */ b lbl_800887F8 lbl_80088738: /* 80088738 00085698 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008873C 0008569C C3 E5 00 00 */ lfs f31, 0(r5) /* 80088740 000856A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80088744 000856A4 C3 C5 00 04 */ lfs f30, 4(r5) /* 80088748 000856A8 C3 A5 00 08 */ lfs f29, 8(r5) /* 8008874C 000856AC 40 82 00 60 */ bne lbl_800887AC /* 80088750 000856B0 80 1F 03 50 */ lwz r0, 0x350(r31) /* 80088754 000856B4 38 80 00 00 */ li r4, 0 /* 80088758 000856B8 80 BF 03 54 */ lwz r5, 0x354(r31) /* 8008875C 000856BC 3C 60 80 00 */ lis r3, 0x8000 /* 80088760 000856C0 7C 00 20 38 */ and r0, r0, r4 /* 80088764 000856C4 7C A3 18 38 */ and r3, r5, r3 /* 80088768 000856C8 7C 63 22 78 */ xor r3, r3, r4 /* 8008876C 000856CC 7C 00 22 78 */ xor r0, r0, r4 /* 80088770 000856D0 7C 60 03 79 */ or. r0, r3, r0 /* 80088774 000856D4 41 82 00 38 */ beq lbl_800887AC /* 80088778 000856D8 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008877C 000856DC D0 1F 03 D4 */ stfs f0, 0x3d4(r31) /* 80088780 000856E0 C3 BF 00 60 */ lfs f29, 0x60(r31) /* 80088784 000856E4 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 80088788 000856E8 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8008878C 000856EC D0 01 00 18 */ stfs f0, 0x18(r1) /* 80088790 000856F0 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80088794 000856F4 D3 A1 00 1C */ stfs f29, 0x1c(r1) /* 80088798 000856F8 D0 21 00 08 */ stfs f1, 8(r1) /* 8008879C 000856FC D0 01 00 0C */ stfs f0, 0xc(r1) /* 800887A0 00085700 D3 A1 00 10 */ stfs f29, 0x10(r1) /* 800887A4 00085704 D3 BF 03 D8 */ stfs f29, 0x3d8(r31) /* 800887A8 00085708 48 00 00 44 */ b lbl_800887EC lbl_800887AC: /* 800887AC 0008570C C0 5F 03 D4 */ lfs f2, 0x3d4(r31) /* 800887B0 00085710 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800887B4 00085714 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800887B8 00085718 40 81 00 34 */ ble lbl_800887EC /* 800887BC 0008571C EC 02 08 28 */ fsubs f0, f2, f1 /* 800887C0 00085720 38 9F 03 D4 */ addi r4, r31, 0x3d4 /* 800887C4 00085724 38 6D 84 C8 */ addi r3, r13, lbl_805A7088@sda21 /* 800887C8 00085728 38 AD 84 CC */ addi r5, r13, lbl_805A708C@sda21 /* 800887CC 0008572C D0 1F 03 D4 */ stfs f0, 0x3d4(r31) /* 800887D0 00085730 4B F8 3A E5 */ bl "Clamp__5CMathFRCfRCfRCf" /* 800887D4 00085734 C0 5F 03 D8 */ lfs f2, 0x3d8(r31) /* 800887D8 00085738 C0 63 00 00 */ lfs f3, 0(r3) /* 800887DC 0008573C C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 800887E0 00085740 EC 3D 10 28 */ fsubs f1, f29, f2 /* 800887E4 00085744 EC 00 18 28 */ fsubs f0, f0, f3 /* 800887E8 00085748 EF A1 10 3A */ fmadds f29, f1, f0, f2 lbl_800887EC: /* 800887EC 0008574C D3 FE 00 00 */ stfs f31, 0(r30) /* 800887F0 00085750 D3 DE 00 04 */ stfs f30, 4(r30) /* 800887F4 00085754 D3 BE 00 08 */ stfs f29, 8(r30) lbl_800887F8: /* 800887F8 00085758 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 800887FC 0008575C CB E1 00 50 */ lfd f31, 0x50(r1) /* 80088800 00085760 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 80088804 00085764 CB C1 00 40 */ lfd f30, 0x40(r1) /* 80088808 00085768 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0 /* 8008880C 0008576C CB A1 00 30 */ lfd f29, 0x30(r1) /* 80088810 00085770 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80088814 00085774 80 01 00 64 */ lwz r0, 0x64(r1) /* 80088818 00085778 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8008881C 0008577C 7C 08 03 A6 */ mtlr r0 /* 80088820 00085780 38 21 00 60 */ addi r1, r1, 0x60 /* 80088824 00085784 4E 80 00 20 */ blr .global UpdatePlayerMovement__11CBallCameraFfR13CStateManager UpdatePlayerMovement__11CBallCameraFfR13CStateManager: /* 80088828 00085788 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8008882C 0008578C 7C 08 02 A6 */ mflr r0 /* 80088830 00085790 90 01 00 74 */ stw r0, 0x74(r1) /* 80088834 00085794 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80088838 00085798 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8008883C 0008579C DB C1 00 50 */ stfd f30, 0x50(r1) /* 80088840 000857A0 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 80088844 000857A4 DB A1 00 40 */ stfd f29, 0x40(r1) /* 80088848 000857A8 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 8008884C 000857AC DB 81 00 30 */ stfd f28, 0x30(r1) /* 80088850 000857B0 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0 /* 80088854 000857B4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80088858 000857B8 93 C1 00 28 */ stw r30, 0x28(r1) /* 8008885C 000857BC FF 80 08 90 */ fmr f28, f1 /* 80088860 000857C0 83 E4 08 4C */ lwz r31, 0x84c(r4) /* 80088864 000857C4 7C 7E 1B 78 */ mr r30, r3 /* 80088868 000857C8 7F E3 FB 78 */ mr r3, r31 /* 8008886C 000857CC 48 1F D0 11 */ bl GetActualBallMaxVelocity__7CPlayerCFf /* 80088870 000857D0 FC 00 0A 10 */ fabs f0, f1 /* 80088874 000857D4 7F E4 FB 78 */ mr r4, r31 /* 80088878 000857D8 38 61 00 08 */ addi r3, r1, 8 /* 8008887C 000857DC FC 00 00 18 */ frsp f0, f0 /* 80088880 000857E0 D0 1E 02 EC */ stfs f0, 0x2ec(r30) /* 80088884 000857E4 48 1F C4 C5 */ bl GetBallPosition__7CPlayerCFv /* 80088888 000857E8 C3 A1 00 08 */ lfs f29, 8(r1) /* 8008888C 000857EC 38 7E 02 FC */ addi r3, r30, 0x2fc /* 80088890 000857F0 C0 1E 02 DC */ lfs f0, 0x2dc(r30) /* 80088894 000857F4 C3 E1 00 0C */ lfs f31, 0xc(r1) /* 80088898 000857F8 C0 7E 02 E0 */ lfs f3, 0x2e0(r30) /* 8008889C 000857FC EC 3D 00 28 */ fsubs f1, f29, f0 /* 800888A0 00085800 C3 C1 00 10 */ lfs f30, 0x10(r1) /* 800888A4 00085804 C0 5E 02 E4 */ lfs f2, 0x2e4(r30) /* 800888A8 00085808 EC 7F 18 28 */ fsubs f3, f31, f3 /* 800888AC 0008580C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800888B0 00085810 D0 3E 02 F0 */ stfs f1, 0x2f0(r30) /* 800888B4 00085814 EC 3E 10 28 */ fsubs f1, f30, f2 /* 800888B8 00085818 D0 7E 02 F4 */ stfs f3, 0x2f4(r30) /* 800888BC 0008581C D0 3E 02 F8 */ stfs f1, 0x2f8(r30) /* 800888C0 00085820 C0 3E 02 F0 */ lfs f1, 0x2f0(r30) /* 800888C4 00085824 D0 3E 02 FC */ stfs f1, 0x2fc(r30) /* 800888C8 00085828 C0 3E 02 F4 */ lfs f1, 0x2f4(r30) /* 800888CC 0008582C D0 3E 03 00 */ stfs f1, 0x300(r30) /* 800888D0 00085830 C0 3E 02 F8 */ lfs f1, 0x2f8(r30) /* 800888D4 00085834 D0 3E 03 04 */ stfs f1, 0x304(r30) /* 800888D8 00085838 D0 1E 03 04 */ stfs f0, 0x304(r30) /* 800888DC 0008583C 48 28 BE 1D */ bl CanBeNormalized__9CVector3fCFv /* 800888E0 00085840 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800888E4 00085844 41 82 00 18 */ beq lbl_800888FC /* 800888E8 00085848 38 7E 02 FC */ addi r3, r30, 0x2fc /* 800888EC 0008584C 48 28 BF CD */ bl Magnitude__9CVector3fCFv /* 800888F0 00085850 EC 01 E0 24 */ fdivs f0, f1, f28 /* 800888F4 00085854 D0 1E 02 E8 */ stfs f0, 0x2e8(r30) /* 800888F8 00085858 48 00 00 0C */ b lbl_80088904 lbl_800888FC: /* 800888FC 0008585C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80088900 00085860 D0 1E 02 E8 */ stfs f0, 0x2e8(r30) lbl_80088904: /* 80088904 00085864 D3 BE 02 DC */ stfs f29, 0x2dc(r30) /* 80088908 00085868 38 80 00 00 */ li r4, 0 /* 8008890C 0008586C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80088910 00085870 38 61 00 14 */ addi r3, r1, 0x14 /* 80088914 00085874 D3 FE 02 E0 */ stfs f31, 0x2e0(r30) /* 80088918 00085878 D3 DE 02 E4 */ stfs f30, 0x2e4(r30) /* 8008891C 0008587C 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80088920 00085880 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 80088924 00085884 98 1E 01 8D */ stb r0, 0x18d(r30) /* 80088928 00085888 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 8008892C 0008588C C0 7E 00 50 */ lfs f3, 0x50(r30) /* 80088930 00085890 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 80088934 00085894 EC 5E 10 28 */ fsubs f2, f30, f2 /* 80088938 00085898 EC 7F 18 28 */ fsubs f3, f31, f3 /* 8008893C 0008589C EC 3D 08 28 */ fsubs f1, f29, f1 /* 80088940 000858A0 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80088944 000858A4 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80088948 000858A8 D0 61 00 18 */ stfs f3, 0x18(r1) /* 8008894C 000858AC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80088950 000858B0 48 28 BD A9 */ bl CanBeNormalized__9CVector3fCFv /* 80088954 000858B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80088958 000858B8 41 82 00 7C */ beq lbl_800889D4 /* 8008895C 000858BC 38 61 00 14 */ addi r3, r1, 0x14 /* 80088960 000858C0 48 28 BF 99 */ bl Normalize__9CVector3fFv /* 80088964 000858C4 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80088968 000858C8 C0 1F 05 10 */ lfs f0, 0x510(r31) /* 8008896C 000858CC C0 41 00 14 */ lfs f2, 0x14(r1) /* 80088970 000858D0 EC 01 00 32 */ fmuls f0, f1, f0 /* 80088974 000858D4 C0 3F 05 0C */ lfs f1, 0x50c(r31) /* 80088978 000858D8 C0 81 00 1C */ lfs f4, 0x1c(r1) /* 8008897C 000858DC C0 7F 05 14 */ lfs f3, 0x514(r31) /* 80088980 000858E0 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80088984 000858E4 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80088988 000858E8 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 8008898C 000858EC FC 40 0A 10 */ fabs f2, f1 /* 80088990 000858F0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80088994 000858F4 40 81 00 14 */ ble lbl_800889A8 /* 80088998 000858F8 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 8008899C 000858FC C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 800889A0 00085900 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 800889A4 00085904 EC 22 00 32 */ fmuls f1, f2, f0 lbl_800889A8: /* 800889A8 00085908 48 30 C2 85 */ bl acos /* 800889AC 0008590C FC 20 08 18 */ frsp f1, f1 /* 800889B0 00085910 C0 02 8A 68 */ lfs f0, lbl_805AA788@sda21(r2) /* 800889B4 00085914 FC 20 0A 10 */ fabs f1, f1 /* 800889B8 00085918 FC 20 08 18 */ frsp f1, f1 /* 800889BC 0008591C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800889C0 00085920 40 81 00 14 */ ble lbl_800889D4 /* 800889C4 00085924 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 800889C8 00085928 38 60 00 01 */ li r3, 1 /* 800889CC 0008592C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 800889D0 00085930 98 1E 01 8D */ stb r0, 0x18d(r30) lbl_800889D4: /* 800889D4 00085934 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 800889D8 00085938 C0 42 8A 6C */ lfs f2, lbl_805AA78C@sda21(r2) /* 800889DC 0008593C D0 3E 03 08 */ stfs f1, 0x308(r30) /* 800889E0 00085940 C0 1E 02 E8 */ lfs f0, 0x2e8(r30) /* 800889E4 00085944 EC 60 10 28 */ fsubs f3, f0, f2 /* 800889E8 00085948 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 800889EC 0008594C 40 81 00 54 */ ble lbl_80088A40 /* 800889F0 00085950 C0 1E 02 EC */ lfs f0, 0x2ec(r30) /* 800889F4 00085954 C0 22 8A 74 */ lfs f1, lbl_805AA794@sda21(r2) /* 800889F8 00085958 EC 00 10 28 */ fsubs f0, f0, f2 /* 800889FC 0008595C C0 42 8A 70 */ lfs f2, lbl_805AA790@sda21(r2) /* 80088A00 00085960 EC 03 00 24 */ fdivs f0, f3, f0 /* 80088A04 00085964 EC 01 00 32 */ fmuls f0, f1, f0 /* 80088A08 00085968 EC 22 00 32 */ fmuls f1, f2, f0 /* 80088A0C 0008596C 48 30 C0 D1 */ bl sin /* 80088A10 00085970 FC 20 08 18 */ frsp f1, f1 /* 80088A14 00085974 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80088A18 00085978 FC 20 0A 10 */ fabs f1, f1 /* 80088A1C 0008597C FC 40 08 18 */ frsp f2, f1 /* 80088A20 00085980 FC 20 12 10 */ fabs f1, f2 /* 80088A24 00085984 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80088A28 00085988 40 81 00 14 */ ble lbl_80088A3C /* 80088A2C 0008598C C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80088A30 00085990 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80088A34 00085994 FC 02 00 6E */ fsel f0, f2, f1, f0 /* 80088A38 00085998 EC 41 00 32 */ fmuls f2, f1, f0 lbl_80088A3C: /* 80088A3C 0008599C D0 5E 03 08 */ stfs f2, 0x308(r30) lbl_80088A40: /* 80088A40 000859A0 C0 7E 01 94 */ lfs f3, 0x194(r30) /* 80088A44 000859A4 C0 1E 01 98 */ lfs f0, 0x198(r30) /* 80088A48 000859A8 C0 5E 03 08 */ lfs f2, 0x308(r30) /* 80088A4C 000859AC EC 20 18 28 */ fsubs f1, f0, f3 /* 80088A50 000859B0 C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 80088A54 000859B4 EC 22 18 7A */ fmadds f1, f2, f1, f3 /* 80088A58 000859B8 D0 3E 01 90 */ stfs f1, 0x190(r30) /* 80088A5C 000859BC C0 3E 03 08 */ lfs f1, 0x308(r30) /* 80088A60 000859C0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80088A64 000859C4 40 81 00 20 */ ble lbl_80088A84 /* 80088A68 000859C8 80 1F 02 58 */ lwz r0, 0x258(r31) /* 80088A6C 000859CC 2C 00 00 00 */ cmpwi r0, 0 /* 80088A70 000859D0 40 82 00 14 */ bne lbl_80088A84 /* 80088A74 000859D4 C0 1E 03 0C */ lfs f0, 0x30c(r30) /* 80088A78 000859D8 EC 1C 00 7A */ fmadds f0, f28, f1, f0 /* 80088A7C 000859DC D0 1E 03 0C */ stfs f0, 0x30c(r30) /* 80088A80 000859E0 48 00 00 0C */ b lbl_80088A8C lbl_80088A84: /* 80088A84 000859E4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80088A88 000859E8 D0 1E 03 0C */ stfs f0, 0x30c(r30) lbl_80088A8C: /* 80088A8C 000859EC 38 9E 03 0C */ addi r4, r30, 0x30c /* 80088A90 000859F0 38 6D 84 C4 */ addi r3, r13, lbl_805A7084@sda21 /* 80088A94 000859F4 38 A2 8A 64 */ addi r5, r2, lbl_805AA784@sda21 /* 80088A98 000859F8 4B F8 38 1D */ bl "Clamp__5CMathFRCfRCfRCf" /* 80088A9C 000859FC C0 03 00 00 */ lfs f0, 0(r3) /* 80088AA0 00085A00 D0 1E 03 0C */ stfs f0, 0x30c(r30) /* 80088AA4 00085A04 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 80088AA8 00085A08 CB E1 00 60 */ lfd f31, 0x60(r1) /* 80088AAC 00085A0C E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 80088AB0 00085A10 CB C1 00 50 */ lfd f30, 0x50(r1) /* 80088AB4 00085A14 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 80088AB8 00085A18 CB A1 00 40 */ lfd f29, 0x40(r1) /* 80088ABC 00085A1C E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0 /* 80088AC0 00085A20 CB 81 00 30 */ lfd f28, 0x30(r1) /* 80088AC4 00085A24 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80088AC8 00085A28 80 01 00 74 */ lwz r0, 0x74(r1) /* 80088ACC 00085A2C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80088AD0 00085A30 7C 08 03 A6 */ mtlr r0 /* 80088AD4 00085A34 38 21 00 70 */ addi r1, r1, 0x70 /* 80088AD8 00085A38 4E 80 00 20 */ blr .global UpdateTransform__11CBallCameraFRC9CVector3fRC9CVector3ffR13CStateManager UpdateTransform__11CBallCameraFRC9CVector3fRC9CVector3ffR13CStateManager: /* 80088ADC 00085A3C 94 21 FD 40 */ stwu r1, -0x2c0(r1) /* 80088AE0 00085A40 7C 08 02 A6 */ mflr r0 /* 80088AE4 00085A44 90 01 02 C4 */ stw r0, 0x2c4(r1) /* 80088AE8 00085A48 DB E1 02 B0 */ stfd f31, 0x2b0(r1) /* 80088AEC 00085A4C F3 E1 02 B8 */ psq_st f31, 696(r1), 0, qr0 /* 80088AF0 00085A50 DB C1 02 A0 */ stfd f30, 0x2a0(r1) /* 80088AF4 00085A54 F3 C1 02 A8 */ psq_st f30, 680(r1), 0, qr0 /* 80088AF8 00085A58 DB A1 02 90 */ stfd f29, 0x290(r1) /* 80088AFC 00085A5C F3 A1 02 98 */ psq_st f29, 664(r1), 0, qr0 /* 80088B00 00085A60 DB 81 02 80 */ stfd f28, 0x280(r1) /* 80088B04 00085A64 F3 81 02 88 */ psq_st f28, 648(r1), 0, qr0 /* 80088B08 00085A68 93 E1 02 7C */ stw r31, 0x27c(r1) /* 80088B0C 00085A6C 93 C1 02 78 */ stw r30, 0x278(r1) /* 80088B10 00085A70 93 A1 02 74 */ stw r29, 0x274(r1) /* 80088B14 00085A74 93 81 02 70 */ stw r28, 0x270(r1) /* 80088B18 00085A78 FF C0 08 90 */ fmr f30, f1 /* 80088B1C 00085A7C 7C 7E 1B 78 */ mr r30, r3 /* 80088B20 00085A80 7C 9C 23 78 */ mr r28, r4 /* 80088B24 00085A84 7C BF 2B 78 */ mr r31, r5 /* 80088B28 00085A88 7C DD 33 78 */ mr r29, r6 /* 80088B2C 00085A8C 38 61 02 40 */ addi r3, r1, 0x240 /* 80088B30 00085A90 38 9E 00 34 */ addi r4, r30, 0x34 /* 80088B34 00085A94 48 28 A0 41 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80088B38 00085A98 C0 5C 00 00 */ lfs f2, 0(r28) /* 80088B3C 00085A9C C0 3C 00 04 */ lfs f1, 4(r28) /* 80088B40 00085AA0 C0 1C 00 08 */ lfs f0, 8(r28) /* 80088B44 00085AA4 D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 80088B48 00085AA8 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 80088B4C 00085AAC D0 01 00 BC */ stfs f0, 0xbc(r1) /* 80088B50 00085AB0 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80088B54 00085AB4 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80088B58 00085AB8 41 82 00 3C */ beq lbl_80088B94 /* 80088B5C 00085ABC 80 7D 08 70 */ lwz r3, 0x870(r29) /* 80088B60 00085AC0 7F A4 EB 78 */ mr r4, r29 /* 80088B64 00085AC4 4B F8 08 6D */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 80088B68 00085AC8 28 03 00 00 */ cmplwi r3, 0 /* 80088B6C 00085ACC 41 82 00 28 */ beq lbl_80088B94 /* 80088B70 00085AD0 80 7D 08 70 */ lwz r3, 0x870(r29) /* 80088B74 00085AD4 7F A4 EB 78 */ mr r4, r29 /* 80088B78 00085AD8 4B F8 08 59 */ bl GetCameraHint__14CCameraManagerCFR13CStateManager /* 80088B7C 00085ADC C0 43 00 58 */ lfs f2, 0x58(r3) /* 80088B80 00085AE0 C0 23 00 48 */ lfs f1, 0x48(r3) /* 80088B84 00085AE4 C0 03 00 38 */ lfs f0, 0x38(r3) /* 80088B88 00085AE8 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 80088B8C 00085AEC D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 80088B90 00085AF0 D0 41 00 BC */ stfs f2, 0xbc(r1) lbl_80088B94: /* 80088B94 00085AF4 C0 01 00 BC */ lfs f0, 0xbc(r1) /* 80088B98 00085AF8 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80088B9C 00085AFC C0 41 00 B4 */ lfs f2, 0xb4(r1) /* 80088BA0 00085B00 C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 80088BA4 00085B04 D0 01 00 B0 */ stfs f0, 0xb0(r1) /* 80088BA8 00085B08 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80088BAC 00085B0C D0 41 00 A8 */ stfs f2, 0xa8(r1) /* 80088BB0 00085B10 D0 21 00 AC */ stfs f1, 0xac(r1) /* 80088BB4 00085B14 D0 01 00 B0 */ stfs f0, 0xb0(r1) /* 80088BB8 00085B18 48 28 BB 41 */ bl CanBeNormalized__9CVector3fCFv /* 80088BBC 00085B1C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80088BC0 00085B20 40 82 00 14 */ bne lbl_80088BD4 /* 80088BC4 00085B24 7F C3 F3 78 */ mr r3, r30 /* 80088BC8 00085B28 7F E4 FB 78 */ mr r4, r31 /* 80088BCC 00085B2C 4B FC A2 C1 */ bl SetTranslation__6CActorFRC9CVector3f /* 80088BD0 00085B30 48 00 04 70 */ b lbl_80089040 lbl_80088BD4: /* 80088BD4 00085B34 C0 5E 00 58 */ lfs f2, 0x58(r30) /* 80088BD8 00085B38 38 61 00 9C */ addi r3, r1, 0x9c /* 80088BDC 00085B3C C0 3E 00 48 */ lfs f1, 0x48(r30) /* 80088BE0 00085B40 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 80088BE4 00085B44 D0 01 00 9C */ stfs f0, 0x9c(r1) /* 80088BE8 00085B48 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 80088BEC 00085B4C D0 41 00 A4 */ stfs f2, 0xa4(r1) /* 80088BF0 00085B50 48 28 BB 09 */ bl CanBeNormalized__9CVector3fCFv /* 80088BF4 00085B54 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80088BF8 00085B58 41 82 00 10 */ beq lbl_80088C08 /* 80088BFC 00085B5C 38 61 00 9C */ addi r3, r1, 0x9c /* 80088C00 00085B60 48 28 BC F9 */ bl Normalize__9CVector3fFv /* 80088C04 00085B64 48 00 00 84 */ b lbl_80088C88 lbl_80088C08: /* 80088C08 00085B68 C0 3F 00 04 */ lfs f1, 4(r31) /* 80088C0C 00085B6C 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 80088C10 00085B70 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 80088C14 00085B74 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 80088C18 00085B78 C0 7F 00 08 */ lfs f3, 8(r31) /* 80088C1C 00085B7C 7F E4 FB 78 */ mr r4, r31 /* 80088C20 00085B80 EC 81 00 2A */ fadds f4, f1, f0 /* 80088C24 00085B84 C0 41 00 BC */ lfs f2, 0xbc(r1) /* 80088C28 00085B88 C0 3F 00 00 */ lfs f1, 0(r31) /* 80088C2C 00085B8C 38 61 02 10 */ addi r3, r1, 0x210 /* 80088C30 00085B90 C0 01 00 B4 */ lfs f0, 0xb4(r1) /* 80088C34 00085B94 EC 43 10 2A */ fadds f2, f3, f2 /* 80088C38 00085B98 EC 01 00 2A */ fadds f0, f1, f0 /* 80088C3C 00085B9C D0 81 00 74 */ stfs f4, 0x74(r1) /* 80088C40 00085BA0 38 A1 00 70 */ addi r5, r1, 0x70 /* 80088C44 00085BA4 D0 41 00 78 */ stfs f2, 0x78(r1) /* 80088C48 00085BA8 D0 01 00 70 */ stfs f0, 0x70(r1) /* 80088C4C 00085BAC 48 28 AE C5 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80088C50 00085BB0 38 7E 00 34 */ addi r3, r30, 0x34 /* 80088C54 00085BB4 38 81 02 10 */ addi r4, r1, 0x210 /* 80088C58 00085BB8 48 28 9E E9 */ bl __as__12CTransform4fFRC12CTransform4f /* 80088C5C 00085BBC 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088C60 00085BC0 38 60 00 01 */ li r3, 1 /* 80088C64 00085BC4 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80088C68 00085BC8 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088C6C 00085BCC 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088C70 00085BD0 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80088C74 00085BD4 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088C78 00085BD8 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088C7C 00085BDC 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80088C80 00085BE0 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088C84 00085BE4 48 00 03 BC */ b lbl_80089040 lbl_80088C88: /* 80088C88 00085BE8 C0 21 00 A0 */ lfs f1, 0xa0(r1) /* 80088C8C 00085BEC C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 80088C90 00085BF0 C0 41 00 9C */ lfs f2, 0x9c(r1) /* 80088C94 00085BF4 EC 01 00 32 */ fmuls f0, f1, f0 /* 80088C98 00085BF8 C0 21 00 B4 */ lfs f1, 0xb4(r1) /* 80088C9C 00085BFC C0 81 00 A4 */ lfs f4, 0xa4(r1) /* 80088CA0 00085C00 C0 61 00 BC */ lfs f3, 0xbc(r1) /* 80088CA4 00085C04 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80088CA8 00085C08 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80088CAC 00085C0C EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 80088CB0 00085C10 FC 40 0A 10 */ fabs f2, f1 /* 80088CB4 00085C14 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80088CB8 00085C18 40 81 00 14 */ ble lbl_80088CCC /* 80088CBC 00085C1C C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80088CC0 00085C20 C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80088CC4 00085C24 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 80088CC8 00085C28 EC 22 00 32 */ fmuls f1, f2, f0 lbl_80088CCC: /* 80088CCC 00085C2C FC 40 0A 10 */ fabs f2, f1 /* 80088CD0 00085C30 C0 02 8A 78 */ lfs f0, lbl_805AA798@sda21(r2) /* 80088CD4 00085C34 FC 40 10 18 */ frsp f2, f2 /* 80088CD8 00085C38 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80088CDC 00085C3C 4C 41 13 82 */ cror 2, 1, 2 /* 80088CE0 00085C40 40 82 00 84 */ bne lbl_80088D64 /* 80088CE4 00085C44 C0 3F 00 04 */ lfs f1, 4(r31) /* 80088CE8 00085C48 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 80088CEC 00085C4C C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 80088CF0 00085C50 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 80088CF4 00085C54 C0 7F 00 08 */ lfs f3, 8(r31) /* 80088CF8 00085C58 7F E4 FB 78 */ mr r4, r31 /* 80088CFC 00085C5C EC 81 00 2A */ fadds f4, f1, f0 /* 80088D00 00085C60 C0 41 00 BC */ lfs f2, 0xbc(r1) /* 80088D04 00085C64 C0 3F 00 00 */ lfs f1, 0(r31) /* 80088D08 00085C68 38 61 01 E0 */ addi r3, r1, 0x1e0 /* 80088D0C 00085C6C C0 01 00 B4 */ lfs f0, 0xb4(r1) /* 80088D10 00085C70 EC 43 10 2A */ fadds f2, f3, f2 /* 80088D14 00085C74 EC 01 00 2A */ fadds f0, f1, f0 /* 80088D18 00085C78 D0 81 00 68 */ stfs f4, 0x68(r1) /* 80088D1C 00085C7C 38 A1 00 64 */ addi r5, r1, 0x64 /* 80088D20 00085C80 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 80088D24 00085C84 D0 01 00 64 */ stfs f0, 0x64(r1) /* 80088D28 00085C88 48 28 AD E9 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80088D2C 00085C8C 38 7E 00 34 */ addi r3, r30, 0x34 /* 80088D30 00085C90 38 81 01 E0 */ addi r4, r1, 0x1e0 /* 80088D34 00085C94 48 28 9E 0D */ bl __as__12CTransform4fFRC12CTransform4f /* 80088D38 00085C98 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088D3C 00085C9C 38 60 00 01 */ li r3, 1 /* 80088D40 00085CA0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80088D44 00085CA4 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088D48 00085CA8 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088D4C 00085CAC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80088D50 00085CB0 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088D54 00085CB4 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088D58 00085CB8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80088D5C 00085CBC 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088D60 00085CC0 48 00 02 D4 */ b lbl_80089034 lbl_80088D64: /* 80088D64 00085CC4 48 30 BE C9 */ bl acos /* 80088D68 00085CC8 C0 02 8A 7C */ lfs f0, lbl_805AA79C@sda21(r2) /* 80088D6C 00085CCC FC 20 08 18 */ frsp f1, f1 /* 80088D70 00085CD0 38 81 00 0C */ addi r4, r1, 0xc /* 80088D74 00085CD4 38 6D 84 BC */ addi r3, r13, lbl_805A707C@sda21 /* 80088D78 00085CD8 EC 00 07 B2 */ fmuls f0, f0, f30 /* 80088D7C 00085CDC 38 AD 84 C0 */ addi r5, r13, lbl_805A7080@sda21 /* 80088D80 00085CE0 EC 01 00 24 */ fdivs f0, f1, f0 /* 80088D84 00085CE4 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80088D88 00085CE8 4B F8 35 2D */ bl "Clamp__5CMathFRCfRCfRCf" /* 80088D8C 00085CEC 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 80088D90 00085CF0 C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 80088D94 00085CF4 38 84 66 F4 */ addi r4, r4, lbl_805A66F4@l /* 80088D98 00085CF8 C0 61 00 B4 */ lfs f3, 0xb4(r1) /* 80088D9C 00085CFC C0 04 00 04 */ lfs f0, 4(r4) /* 80088DA0 00085D00 C0 44 00 00 */ lfs f2, 0(r4) /* 80088DA4 00085D04 EC 01 00 32 */ fmuls f0, f1, f0 /* 80088DA8 00085D08 C0 A1 00 BC */ lfs f5, 0xbc(r1) /* 80088DAC 00085D0C C0 84 00 08 */ lfs f4, 8(r4) /* 80088DB0 00085D10 C3 E3 00 00 */ lfs f31, 0(r3) /* 80088DB4 00085D14 EC 23 00 BA */ fmadds f1, f3, f2, f0 /* 80088DB8 00085D18 C0 5E 01 A4 */ lfs f2, 0x1a4(r30) /* 80088DBC 00085D1C C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80088DC0 00085D20 EC 42 07 F2 */ fmuls f2, f2, f31 /* 80088DC4 00085D24 EC 65 09 3A */ fmadds f3, f5, f4, f1 /* 80088DC8 00085D28 EC 3E 00 B2 */ fmuls f1, f30, f2 /* 80088DCC 00085D2C FC 40 1A 10 */ fabs f2, f3 /* 80088DD0 00085D30 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80088DD4 00085D34 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80088DD8 00085D38 40 81 00 14 */ ble lbl_80088DEC /* 80088DDC 00085D3C C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80088DE0 00085D40 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80088DE4 00085D44 FC 03 00 6E */ fsel f0, f3, f1, f0 /* 80088DE8 00085D48 EC 61 00 32 */ fmuls f3, f1, f0 lbl_80088DEC: /* 80088DEC 00085D4C FC 40 1A 10 */ fabs f2, f3 /* 80088DF0 00085D50 C0 22 8A 80 */ lfs f1, lbl_805AA7A0@sda21(r2) /* 80088DF4 00085D54 80 1E 03 6C */ lwz r0, 0x36c(r30) /* 80088DF8 00085D58 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80088DFC 00085D5C EC 21 07 B2 */ fmuls f1, f1, f30 /* 80088E00 00085D60 FF A0 10 18 */ frsp f29, f2 /* 80088E04 00085D64 2C 00 00 01 */ cmpwi r0, 1 /* 80088E08 00085D68 EC 00 E8 28 */ fsubs f0, f0, f29 /* 80088E0C 00085D6C EF 81 00 32 */ fmuls f28, f1, f0 /* 80088E10 00085D70 40 82 00 1C */ bne lbl_80088E2C /* 80088E14 00085D74 C0 22 8A 84 */ lfs f1, lbl_805AA7A4@sda21(r2) /* 80088E18 00085D78 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80088E1C 00085D7C EF 81 07 B2 */ fmuls f28, f1, f30 /* 80088E20 00085D80 FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 80088E24 00085D84 40 81 00 08 */ ble lbl_80088E2C /* 80088E28 00085D88 D3 81 00 10 */ stfs f28, 0x10(r1) lbl_80088E2C: /* 80088E2C 00085D8C C0 01 00 10 */ lfs f0, 0x10(r1) /* 80088E30 00085D90 FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 80088E34 00085D94 40 81 00 24 */ ble lbl_80088E58 /* 80088E38 00085D98 80 7D 08 4C */ lwz r3, 0x84c(r29) /* 80088E3C 00085D9C 4B F9 13 D9 */ bl IsMorphBallTransitioning__7CPlayerCFv /* 80088E40 00085DA0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80088E44 00085DA4 40 82 00 14 */ bne lbl_80088E58 /* 80088E48 00085DA8 C0 02 8A 88 */ lfs f0, lbl_805AA7A8@sda21(r2) /* 80088E4C 00085DAC FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 80088E50 00085DB0 40 81 00 08 */ ble lbl_80088E58 /* 80088E54 00085DB4 D3 81 00 10 */ stfs f28, 0x10(r1) lbl_80088E58: /* 80088E58 00085DB8 80 1E 04 00 */ lwz r0, 0x400(r30) /* 80088E5C 00085DBC 2C 00 00 03 */ cmpwi r0, 3 /* 80088E60 00085DC0 41 82 00 34 */ beq lbl_80088E94 /* 80088E64 00085DC4 40 80 00 40 */ bge lbl_80088EA4 /* 80088E68 00085DC8 2C 00 00 02 */ cmpwi r0, 2 /* 80088E6C 00085DCC 40 80 00 08 */ bge lbl_80088E74 /* 80088E70 00085DD0 48 00 00 34 */ b lbl_80088EA4 lbl_80088E74: /* 80088E74 00085DD4 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 80088E78 00085DD8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80088E7C 00085DDC 41 82 00 28 */ beq lbl_80088EA4 /* 80088E80 00085DE0 C0 1E 04 0C */ lfs f0, 0x40c(r30) /* 80088E84 00085DE4 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80088E88 00085DE8 EC 1E 00 32 */ fmuls f0, f30, f0 /* 80088E8C 00085DEC D0 01 00 10 */ stfs f0, 0x10(r1) /* 80088E90 00085DF0 48 00 00 14 */ b lbl_80088EA4 lbl_80088E94: /* 80088E94 00085DF4 C0 1E 04 38 */ lfs f0, 0x438(r30) /* 80088E98 00085DF8 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80088E9C 00085DFC EC 1E 00 32 */ fmuls f0, f30, f0 /* 80088EA0 00085E00 D0 01 00 10 */ stfs f0, 0x10(r1) lbl_80088EA4: /* 80088EA4 00085E04 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80088EA8 00085E08 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80088EAC 00085E0C 40 82 00 14 */ bne lbl_80088EC0 /* 80088EB0 00085E10 80 7D 08 70 */ lwz r3, 0x870(r29) /* 80088EB4 00085E14 4B F8 1A 21 */ bl IsInterpolationCameraActive__14CCameraManagerCFv /* 80088EB8 00085E18 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80088EBC 00085E1C 41 82 00 CC */ beq lbl_80088F88 lbl_80088EC0: /* 80088EC0 00085E20 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 80088EC4 00085E24 38 60 00 00 */ li r3, 0 /* 80088EC8 00085E28 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 80088ECC 00085E2C C0 02 8A 8C */ lfs f0, lbl_805AA7AC@sda21(r2) /* 80088ED0 00085E30 98 1E 01 8D */ stb r0, 0x18d(r30) /* 80088ED4 00085E34 38 61 00 3C */ addi r3, r1, 0x3c /* 80088ED8 00085E38 38 81 00 B4 */ addi r4, r1, 0xb4 /* 80088EDC 00085E3C D0 01 00 08 */ stfs f0, 8(r1) /* 80088EE0 00085E40 48 28 AE F1 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80088EE4 00085E44 7C 7D 1B 78 */ mr r29, r3 /* 80088EE8 00085E48 38 61 00 48 */ addi r3, r1, 0x48 /* 80088EEC 00085E4C 38 81 00 9C */ addi r4, r1, 0x9c /* 80088EF0 00085E50 48 28 AE E1 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80088EF4 00085E54 7C 64 1B 78 */ mr r4, r3 /* 80088EF8 00085E58 7F A5 EB 78 */ mr r5, r29 /* 80088EFC 00085E5C 38 61 00 54 */ addi r3, r1, 0x54 /* 80088F00 00085E60 38 C1 00 08 */ addi r6, r1, 8 /* 80088F04 00085E64 48 28 87 91 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80088F08 00085E68 C0 61 00 54 */ lfs f3, 0x54(r1) /* 80088F0C 00085E6C 38 61 01 50 */ addi r3, r1, 0x150 /* 80088F10 00085E70 C0 41 00 58 */ lfs f2, 0x58(r1) /* 80088F14 00085E74 38 9E 00 34 */ addi r4, r30, 0x34 /* 80088F18 00085E78 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 80088F1C 00085E7C C0 01 00 60 */ lfs f0, 0x60(r1) /* 80088F20 00085E80 D0 61 00 8C */ stfs f3, 0x8c(r1) /* 80088F24 00085E84 D0 41 00 90 */ stfs f2, 0x90(r1) /* 80088F28 00085E88 D0 21 00 94 */ stfs f1, 0x94(r1) /* 80088F2C 00085E8C D0 01 00 98 */ stfs f0, 0x98(r1) /* 80088F30 00085E90 48 28 9D 11 */ bl GetRotation__12CTransform4fCFv /* 80088F34 00085E94 38 61 01 80 */ addi r3, r1, 0x180 /* 80088F38 00085E98 38 81 00 8C */ addi r4, r1, 0x8c /* 80088F3C 00085E9C 48 28 90 7D */ bl BuildTransform4f__11CQuaternionCFv /* 80088F40 00085EA0 38 61 01 B0 */ addi r3, r1, 0x1b0 /* 80088F44 00085EA4 38 81 01 80 */ addi r4, r1, 0x180 /* 80088F48 00085EA8 38 A1 01 50 */ addi r5, r1, 0x150 /* 80088F4C 00085EAC 48 28 9A 05 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80088F50 00085EB0 38 7E 00 34 */ addi r3, r30, 0x34 /* 80088F54 00085EB4 38 81 01 B0 */ addi r4, r1, 0x1b0 /* 80088F58 00085EB8 48 28 9B E9 */ bl __as__12CTransform4fFRC12CTransform4f /* 80088F5C 00085EBC 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088F60 00085EC0 38 60 00 01 */ li r3, 1 /* 80088F64 00085EC4 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80088F68 00085EC8 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088F6C 00085ECC 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088F70 00085ED0 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80088F74 00085ED4 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088F78 00085ED8 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80088F7C 00085EDC 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80088F80 00085EE0 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80088F84 00085EE4 48 00 00 B0 */ b lbl_80089034 lbl_80088F88: /* 80088F88 00085EE8 38 61 00 14 */ addi r3, r1, 0x14 /* 80088F8C 00085EEC 38 81 00 B4 */ addi r4, r1, 0xb4 /* 80088F90 00085EF0 48 28 AE 41 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80088F94 00085EF4 7C 7D 1B 78 */ mr r29, r3 /* 80088F98 00085EF8 38 61 00 20 */ addi r3, r1, 0x20 /* 80088F9C 00085EFC 38 81 00 9C */ addi r4, r1, 0x9c /* 80088FA0 00085F00 48 28 AE 31 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80088FA4 00085F04 7C 64 1B 78 */ mr r4, r3 /* 80088FA8 00085F08 7F A5 EB 78 */ mr r5, r29 /* 80088FAC 00085F0C 38 61 00 2C */ addi r3, r1, 0x2c /* 80088FB0 00085F10 38 C1 00 10 */ addi r6, r1, 0x10 /* 80088FB4 00085F14 48 28 86 E1 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80088FB8 00085F18 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 80088FBC 00085F1C 38 61 00 C0 */ addi r3, r1, 0xc0 /* 80088FC0 00085F20 C0 41 00 30 */ lfs f2, 0x30(r1) /* 80088FC4 00085F24 38 9E 00 34 */ addi r4, r30, 0x34 /* 80088FC8 00085F28 C0 21 00 34 */ lfs f1, 0x34(r1) /* 80088FCC 00085F2C C0 01 00 38 */ lfs f0, 0x38(r1) /* 80088FD0 00085F30 D0 61 00 7C */ stfs f3, 0x7c(r1) /* 80088FD4 00085F34 D0 41 00 80 */ stfs f2, 0x80(r1) /* 80088FD8 00085F38 D0 21 00 84 */ stfs f1, 0x84(r1) /* 80088FDC 00085F3C D0 01 00 88 */ stfs f0, 0x88(r1) /* 80088FE0 00085F40 48 28 9C 61 */ bl GetRotation__12CTransform4fCFv /* 80088FE4 00085F44 38 61 00 F0 */ addi r3, r1, 0xf0 /* 80088FE8 00085F48 38 81 00 7C */ addi r4, r1, 0x7c /* 80088FEC 00085F4C 48 28 8F CD */ bl BuildTransform4f__11CQuaternionCFv /* 80088FF0 00085F50 38 61 01 20 */ addi r3, r1, 0x120 /* 80088FF4 00085F54 38 81 00 F0 */ addi r4, r1, 0xf0 /* 80088FF8 00085F58 38 A1 00 C0 */ addi r5, r1, 0xc0 /* 80088FFC 00085F5C 48 28 99 55 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 80089000 00085F60 38 7E 00 34 */ addi r3, r30, 0x34 /* 80089004 00085F64 38 81 01 20 */ addi r4, r1, 0x120 /* 80089008 00085F68 48 28 9B 39 */ bl __as__12CTransform4fFRC12CTransform4f /* 8008900C 00085F6C 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80089010 00085F70 38 60 00 01 */ li r3, 1 /* 80089014 00085F74 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80089018 00085F78 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 8008901C 00085F7C 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 80089020 00085F80 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80089024 00085F84 98 1E 00 E4 */ stb r0, 0xe4(r30) /* 80089028 00085F88 88 1E 00 E4 */ lbz r0, 0xe4(r30) /* 8008902C 00085F8C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80089030 00085F90 98 1E 00 E4 */ stb r0, 0xe4(r30) lbl_80089034: /* 80089034 00085F94 7F C3 F3 78 */ mr r3, r30 /* 80089038 00085F98 7F E4 FB 78 */ mr r4, r31 /* 8008903C 00085F9C 4B FC 9E 51 */ bl SetTranslation__6CActorFRC9CVector3f lbl_80089040: /* 80089040 00085FA0 E3 E1 02 B8 */ psq_l f31, 696(r1), 0, qr0 /* 80089044 00085FA4 CB E1 02 B0 */ lfd f31, 0x2b0(r1) /* 80089048 00085FA8 E3 C1 02 A8 */ psq_l f30, 680(r1), 0, qr0 /* 8008904C 00085FAC CB C1 02 A0 */ lfd f30, 0x2a0(r1) /* 80089050 00085FB0 E3 A1 02 98 */ psq_l f29, 664(r1), 0, qr0 /* 80089054 00085FB4 CB A1 02 90 */ lfd f29, 0x290(r1) /* 80089058 00085FB8 E3 81 02 88 */ psq_l f28, 648(r1), 0, qr0 /* 8008905C 00085FBC CB 81 02 80 */ lfd f28, 0x280(r1) /* 80089060 00085FC0 83 E1 02 7C */ lwz r31, 0x27c(r1) /* 80089064 00085FC4 83 C1 02 78 */ lwz r30, 0x278(r1) /* 80089068 00085FC8 83 A1 02 74 */ lwz r29, 0x274(r1) /* 8008906C 00085FCC 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 80089070 00085FD0 83 81 02 70 */ lwz r28, 0x270(r1) /* 80089074 00085FD4 7C 08 03 A6 */ mtlr r0 /* 80089078 00085FD8 38 21 02 C0 */ addi r1, r1, 0x2c0 .global sub_8008907c sub_8008907c: /* 8008907C 00085FDC 4E 80 00 20 */ blr .global UpdateCameraPositions__11CBallCameraFfRC12CTransform4fRC12CTransform4f UpdateCameraPositions__11CBallCameraFfRC12CTransform4fRC12CTransform4f: /* 80089080 00085FE0 94 21 FE 50 */ stwu r1, -0x1b0(r1) /* 80089084 00085FE4 7C 08 02 A6 */ mflr r0 /* 80089088 00085FE8 90 01 01 B4 */ stw r0, 0x1b4(r1) /* 8008908C 00085FEC DB E1 01 A0 */ stfd f31, 0x1a0(r1) /* 80089090 00085FF0 F3 E1 01 A8 */ psq_st f31, 424(r1), 0, qr0 /* 80089094 00085FF4 93 E1 01 9C */ stw r31, 0x19c(r1) /* 80089098 00085FF8 93 C1 01 98 */ stw r30, 0x198(r1) /* 8008909C 00085FFC 93 A1 01 94 */ stw r29, 0x194(r1) /* 800890A0 00086000 93 81 01 90 */ stw r28, 0x190(r1) /* 800890A4 00086004 FF E0 08 90 */ fmr f31, f1 /* 800890A8 00086008 7C DE 33 78 */ mr r30, r6 /* 800890AC 0008600C 7C 7C 1B 78 */ mr r28, r3 /* 800890B0 00086010 7C BD 2B 78 */ mr r29, r5 /* 800890B4 00086014 7F C4 F3 78 */ mr r4, r30 /* 800890B8 00086018 38 61 01 58 */ addi r3, r1, 0x158 /* 800890BC 0008601C 48 28 9A B9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 800890C0 00086020 C0 7D 00 24 */ lfs f3, 0x24(r29) /* 800890C4 00086024 C0 3D 00 14 */ lfs f1, 0x14(r29) /* 800890C8 00086028 FC 80 1A 10 */ fabs f4, f3 /* 800890CC 0008602C C0 1D 00 04 */ lfs f0, 4(r29) /* 800890D0 00086030 C0 42 8A 20 */ lfs f2, lbl_805AA740@sda21(r2) /* 800890D4 00086034 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 800890D8 00086038 FC 00 20 18 */ frsp f0, f4 /* 800890DC 0008603C D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 800890E0 00086040 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 800890E4 00086044 D0 61 00 CC */ stfs f3, 0xcc(r1) /* 800890E8 00086048 40 81 02 58 */ ble lbl_80089340 /* 800890EC 0008604C C0 7E 00 24 */ lfs f3, 0x24(r30) /* 800890F0 00086050 C0 1E 00 14 */ lfs f0, 0x14(r30) /* 800890F4 00086054 FC 80 1A 10 */ fabs f4, f3 /* 800890F8 00086058 C0 3E 00 04 */ lfs f1, 4(r30) /* 800890FC 0008605C D0 01 00 BC */ stfs f0, 0xbc(r1) /* 80089100 00086060 FC 00 20 18 */ frsp f0, f4 /* 80089104 00086064 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 80089108 00086068 D0 61 00 C0 */ stfs f3, 0xc0(r1) /* 8008910C 0008606C FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80089110 00086070 40 81 02 30 */ ble lbl_80089340 /* 80089114 00086074 C0 DD 00 10 */ lfs f6, 0x10(r29) /* 80089118 00086078 C0 9E 00 10 */ lfs f4, 0x10(r30) /* 8008911C 0008607C C0 5D 00 00 */ lfs f2, 0(r29) /* 80089120 00086080 EC 06 01 32 */ fmuls f0, f6, f4 /* 80089124 00086084 C0 7E 00 00 */ lfs f3, 0(r30) /* 80089128 00086088 C0 FD 00 20 */ lfs f7, 0x20(r29) /* 8008912C 0008608C C0 BE 00 20 */ lfs f5, 0x20(r30) /* 80089130 00086090 EC 22 00 FA */ fmadds f1, f2, f3, f0 /* 80089134 00086094 C0 02 8A 88 */ lfs f0, lbl_805AA7A8@sda21(r2) /* 80089138 00086098 D0 41 00 AC */ stfs f2, 0xac(r1) /* 8008913C 0008609C EC 27 09 7A */ fmadds f1, f7, f5, f1 /* 80089140 000860A0 D0 C1 00 B0 */ stfs f6, 0xb0(r1) /* 80089144 000860A4 D0 E1 00 B4 */ stfs f7, 0xb4(r1) /* 80089148 000860A8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008914C 000860AC 41 81 01 F4 */ bgt lbl_80089340 /* 80089150 000860B0 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 80089154 000860B4 38 61 00 78 */ addi r3, r1, 0x78 /* 80089158 000860B8 C0 22 8A 70 */ lfs f1, lbl_805AA790@sda21(r2) /* 8008915C 000860BC 38 81 00 6C */ addi r4, r1, 0x6c /* 80089160 000860C0 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80089164 000860C4 D0 61 00 6C */ stfs f3, 0x6c(r1) /* 80089168 000860C8 D0 81 00 70 */ stfs f4, 0x70(r1) /* 8008916C 000860CC EC 01 00 32 */ fmuls f0, f1, f0 /* 80089170 000860D0 D0 A1 00 74 */ stfs f5, 0x74(r1) /* 80089174 000860D4 D0 01 00 08 */ stfs f0, 8(r1) /* 80089178 000860D8 D0 41 00 84 */ stfs f2, 0x84(r1) /* 8008917C 000860DC D0 C1 00 88 */ stfs f6, 0x88(r1) /* 80089180 000860E0 D0 E1 00 8C */ stfs f7, 0x8c(r1) /* 80089184 000860E4 48 28 AC 4D */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80089188 000860E8 7C 7F 1B 78 */ mr r31, r3 /* 8008918C 000860EC 38 61 00 90 */ addi r3, r1, 0x90 /* 80089190 000860F0 38 81 00 84 */ addi r4, r1, 0x84 /* 80089194 000860F4 48 28 AC 3D */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80089198 000860F8 7C 64 1B 78 */ mr r4, r3 /* 8008919C 000860FC 7F E5 FB 78 */ mr r5, r31 /* 800891A0 00086100 38 61 00 9C */ addi r3, r1, 0x9c /* 800891A4 00086104 38 C1 00 08 */ addi r6, r1, 8 /* 800891A8 00086108 48 28 7E 79 */ bl ClampedRotateTo__11CQuaternionFRC10UnitVectorRC10UnitVectorRC9CRelAngle /* 800891AC 0008610C C0 81 00 9C */ lfs f4, 0x9c(r1) /* 800891B0 00086110 38 61 01 28 */ addi r3, r1, 0x128 /* 800891B4 00086114 C0 61 00 A0 */ lfs f3, 0xa0(r1) /* 800891B8 00086118 38 81 00 E8 */ addi r4, r1, 0xe8 /* 800891BC 0008611C C0 41 00 A4 */ lfs f2, 0xa4(r1) /* 800891C0 00086120 C0 21 00 A8 */ lfs f1, 0xa8(r1) /* 800891C4 00086124 C0 DD 00 20 */ lfs f6, 0x20(r29) /* 800891C8 00086128 C0 BD 00 10 */ lfs f5, 0x10(r29) /* 800891CC 0008612C C0 1D 00 00 */ lfs f0, 0(r29) /* 800891D0 00086130 D0 81 00 E8 */ stfs f4, 0xe8(r1) /* 800891D4 00086134 D0 61 00 EC */ stfs f3, 0xec(r1) /* 800891D8 00086138 D0 41 00 F0 */ stfs f2, 0xf0(r1) /* 800891DC 0008613C D0 21 00 F4 */ stfs f1, 0xf4(r1) /* 800891E0 00086140 D0 01 00 54 */ stfs f0, 0x54(r1) /* 800891E4 00086144 D0 A1 00 58 */ stfs f5, 0x58(r1) /* 800891E8 00086148 D0 C1 00 5C */ stfs f6, 0x5c(r1) /* 800891EC 0008614C 48 28 8D CD */ bl BuildTransform4f__11CQuaternionCFv /* 800891F0 00086150 38 61 00 60 */ addi r3, r1, 0x60 /* 800891F4 00086154 38 81 01 28 */ addi r4, r1, 0x128 /* 800891F8 00086158 38 A1 00 54 */ addi r5, r1, 0x54 /* 800891FC 0008615C 48 28 98 ED */ bl __ml__12CTransform4fCFRC9CVector3f /* 80089200 00086160 C0 E1 00 64 */ lfs f7, 0x64(r1) /* 80089204 00086164 C0 7E 00 14 */ lfs f3, 0x14(r30) /* 80089208 00086168 C1 01 00 60 */ lfs f8, 0x60(r1) /* 8008920C 0008616C EC 07 00 F2 */ fmuls f0, f7, f3 /* 80089210 00086170 C0 9E 00 04 */ lfs f4, 4(r30) /* 80089214 00086174 C0 C1 00 68 */ lfs f6, 0x68(r1) /* 80089218 00086178 C0 BE 00 24 */ lfs f5, 0x24(r30) /* 8008921C 0008617C EC 28 01 3A */ fmadds f1, f8, f4, f0 /* 80089220 00086180 C0 02 8A 88 */ lfs f0, lbl_805AA7A8@sda21(r2) /* 80089224 00086184 D1 01 00 DC */ stfs f8, 0xdc(r1) /* 80089228 00086188 EC 26 09 7A */ fmadds f1, f6, f5, f1 /* 8008922C 0008618C D0 E1 00 E0 */ stfs f7, 0xe0(r1) /* 80089230 00086190 D0 C1 00 E4 */ stfs f6, 0xe4(r1) /* 80089234 00086194 FC 20 0A 10 */ fabs f1, f1 /* 80089238 00086198 FC 20 08 18 */ frsp f1, f1 /* 8008923C 0008619C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80089240 000861A0 41 81 01 00 */ bgt lbl_80089340 /* 80089244 000861A4 EC 47 01 72 */ fmuls f2, f7, f5 /* 80089248 000861A8 38 61 00 48 */ addi r3, r1, 0x48 /* 8008924C 000861AC EC 26 01 32 */ fmuls f1, f6, f4 /* 80089250 000861B0 38 81 00 3C */ addi r4, r1, 0x3c /* 80089254 000861B4 EC 08 00 F2 */ fmuls f0, f8, f3 /* 80089258 000861B8 EC 43 11 B8 */ fmsubs f2, f3, f6, f2 /* 8008925C 000861BC EC 25 0A 38 */ fmsubs f1, f5, f8, f1 /* 80089260 000861C0 EC 04 01 F8 */ fmsubs f0, f4, f7, f0 /* 80089264 000861C4 D0 41 00 3C */ stfs f2, 0x3c(r1) /* 80089268 000861C8 D0 21 00 40 */ stfs f1, 0x40(r1) /* 8008926C 000861CC D0 01 00 44 */ stfs f0, 0x44(r1) /* 80089270 000861D0 48 28 B5 E1 */ bl AsNormalized__9CVector3fCFv /* 80089274 000861D4 C0 61 00 48 */ lfs f3, 0x48(r1) /* 80089278 000861D8 38 61 00 30 */ addi r3, r1, 0x30 /* 8008927C 000861DC C0 41 00 4C */ lfs f2, 0x4c(r1) /* 80089280 000861E0 38 81 00 24 */ addi r4, r1, 0x24 /* 80089284 000861E4 C0 21 00 50 */ lfs f1, 0x50(r1) /* 80089288 000861E8 C0 BE 00 24 */ lfs f5, 0x24(r30) /* 8008928C 000861EC C0 9E 00 14 */ lfs f4, 0x14(r30) /* 80089290 000861F0 C0 1E 00 04 */ lfs f0, 4(r30) /* 80089294 000861F4 D0 61 00 D0 */ stfs f3, 0xd0(r1) /* 80089298 000861F8 D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 8008929C 000861FC D0 21 00 D8 */ stfs f1, 0xd8(r1) /* 800892A0 00086200 D0 01 00 24 */ stfs f0, 0x24(r1) /* 800892A4 00086204 D0 81 00 28 */ stfs f4, 0x28(r1) /* 800892A8 00086208 D0 A1 00 2C */ stfs f5, 0x2c(r1) /* 800892AC 0008620C 48 28 B5 A5 */ bl AsNormalized__9CVector3fCFv /* 800892B0 00086210 C0 41 00 D4 */ lfs f2, 0xd4(r1) /* 800892B4 00086214 38 61 00 F8 */ addi r3, r1, 0xf8 /* 800892B8 00086218 C1 21 00 30 */ lfs f9, 0x30(r1) /* 800892BC 0008621C 38 81 00 DC */ addi r4, r1, 0xdc /* 800892C0 00086220 C0 81 00 D8 */ lfs f4, 0xd8(r1) /* 800892C4 00086224 38 A1 00 18 */ addi r5, r1, 0x18 /* 800892C8 00086228 C0 61 00 34 */ lfs f3, 0x34(r1) /* 800892CC 0008622C EC 09 00 B2 */ fmuls f0, f9, f2 /* 800892D0 00086230 C0 C1 00 D0 */ lfs f6, 0xd0(r1) /* 800892D4 00086234 38 C1 00 D0 */ addi r6, r1, 0xd0 /* 800892D8 00086238 C0 A1 00 38 */ lfs f5, 0x38(r1) /* 800892DC 0008623C EC 23 01 32 */ fmuls f1, f3, f4 /* 800892E0 00086240 ED 06 00 F8 */ fmsubs f8, f6, f3, f0 /* 800892E4 00086244 EC 05 01 B2 */ fmuls f0, f5, f6 /* 800892E8 00086248 C0 FE 00 2C */ lfs f7, 0x2c(r30) /* 800892EC 0008624C EC 62 09 78 */ fmsubs f3, f2, f5, f1 /* 800892F0 00086250 C0 DE 00 1C */ lfs f6, 0x1c(r30) /* 800892F4 00086254 C0 3E 00 0C */ lfs f1, 0xc(r30) /* 800892F8 00086258 EC 44 02 78 */ fmsubs f2, f4, f9, f0 /* 800892FC 0008625C C0 BE 00 24 */ lfs f5, 0x24(r30) /* 80089300 00086260 38 E1 00 0C */ addi r7, r1, 0xc /* 80089304 00086264 C0 9E 00 14 */ lfs f4, 0x14(r30) /* 80089308 00086268 C0 1E 00 04 */ lfs f0, 4(r30) /* 8008930C 0008626C D0 61 00 DC */ stfs f3, 0xdc(r1) /* 80089310 00086270 D0 41 00 E0 */ stfs f2, 0xe0(r1) /* 80089314 00086274 D1 01 00 E4 */ stfs f8, 0xe4(r1) /* 80089318 00086278 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8008931C 0008627C D0 C1 00 10 */ stfs f6, 0x10(r1) /* 80089320 00086280 D0 E1 00 14 */ stfs f7, 0x14(r1) /* 80089324 00086284 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80089328 00086288 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 8008932C 0008628C D0 A1 00 20 */ stfs f5, 0x20(r1) /* 80089330 00086290 48 28 9B 2D */ bl __ct__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f_0 /* 80089334 00086294 38 61 01 58 */ addi r3, r1, 0x158 /* 80089338 00086298 38 81 00 F8 */ addi r4, r1, 0xf8 /* 8008933C 0008629C 48 28 98 05 */ bl __as__12CTransform4fFRC12CTransform4f lbl_80089340: /* 80089340 000862A0 7F 83 E3 78 */ mr r3, r28 /* 80089344 000862A4 38 81 01 58 */ addi r4, r1, 0x158 /* 80089348 000862A8 48 28 98 2D */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008934C 000862AC E3 E1 01 A8 */ psq_l f31, 424(r1), 0, qr0 /* 80089350 000862B0 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 80089354 000862B4 CB E1 01 A0 */ lfd f31, 0x1a0(r1) /* 80089358 000862B8 83 E1 01 9C */ lwz r31, 0x19c(r1) /* 8008935C 000862BC 83 C1 01 98 */ lwz r30, 0x198(r1) /* 80089360 000862C0 83 A1 01 94 */ lwz r29, 0x194(r1) /* 80089364 000862C4 83 81 01 90 */ lwz r28, 0x190(r1) /* 80089368 000862C8 7C 08 03 A6 */ mtlr r0 /* 8008936C 000862CC 38 21 01 B0 */ addi r1, r1, 0x1b0 /* 80089370 000862D0 4E 80 00 20 */ blr .global ConstrainYawAngle__11CBallCameraCFRC7CPlayerfffR13CStateManager ConstrainYawAngle__11CBallCameraCFRC7CPlayerfffR13CStateManager: /* 80089374 000862D4 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 80089378 000862D8 7C 08 02 A6 */ mflr r0 /* 8008937C 000862DC 90 01 00 D4 */ stw r0, 0xd4(r1) /* 80089380 000862E0 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 80089384 000862E4 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 80089388 000862E8 DB C1 00 B0 */ stfd f30, 0xb0(r1) /* 8008938C 000862EC F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0 /* 80089390 000862F0 DB A1 00 A0 */ stfd f29, 0xa0(r1) /* 80089394 000862F4 F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0 /* 80089398 000862F8 DB 81 00 90 */ stfd f28, 0x90(r1) /* 8008939C 000862FC F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0 /* 800893A0 00086300 93 E1 00 8C */ stw r31, 0x8c(r1) /* 800893A4 00086304 93 C1 00 88 */ stw r30, 0x88(r1) /* 800893A8 00086308 93 A1 00 84 */ stw r29, 0x84(r1) /* 800893AC 0008630C C0 84 00 60 */ lfs f4, 0x60(r4) /* 800893B0 00086310 FF A0 08 90 */ fmr f29, f1 /* 800893B4 00086314 C0 05 00 60 */ lfs f0, 0x60(r5) /* 800893B8 00086318 FF C0 10 90 */ fmr f30, f2 /* 800893BC 0008631C FF E0 18 90 */ fmr f31, f3 /* 800893C0 00086320 C0 A4 00 50 */ lfs f5, 0x50(r4) /* 800893C4 00086324 EC 64 00 28 */ fsubs f3, f4, f0 /* 800893C8 00086328 C0 45 00 50 */ lfs f2, 0x50(r5) /* 800893CC 0008632C 7C BF 2B 78 */ mr r31, r5 /* 800893D0 00086330 C0 24 00 40 */ lfs f1, 0x40(r4) /* 800893D4 00086334 EC 85 10 28 */ fsubs f4, f5, f2 /* 800893D8 00086338 C0 05 00 40 */ lfs f0, 0x40(r5) /* 800893DC 0008633C 80 05 02 F8 */ lwz r0, 0x2f8(r5) /* 800893E0 00086340 7C 9E 23 78 */ mr r30, r4 /* 800893E4 00086344 EC 41 00 28 */ fsubs f2, f1, f0 /* 800893E8 00086348 C0 C5 00 58 */ lfs f6, 0x58(r5) /* 800893EC 0008634C C0 A5 00 48 */ lfs f5, 0x48(r5) /* 800893F0 00086350 2C 00 00 01 */ cmpwi r0, 1 /* 800893F4 00086354 C0 05 00 38 */ lfs f0, 0x38(r5) /* 800893F8 00086358 7C 7D 1B 78 */ mr r29, r3 /* 800893FC 0008635C D0 61 00 74 */ stfs f3, 0x74(r1) /* 80089400 00086360 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80089404 00086364 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 80089408 00086368 D0 81 00 70 */ stfs f4, 0x70(r1) /* 8008940C 0008636C D0 21 00 74 */ stfs f1, 0x74(r1) /* 80089410 00086370 D0 01 00 60 */ stfs f0, 0x60(r1) /* 80089414 00086374 D0 A1 00 64 */ stfs f5, 0x64(r1) /* 80089418 00086378 D0 C1 00 68 */ stfs f6, 0x68(r1) /* 8008941C 0008637C 40 82 00 84 */ bne lbl_800894A0 /* 80089420 00086380 C0 5F 05 0C */ lfs f2, 0x50c(r31) /* 80089424 00086384 7C C3 33 78 */ mr r3, r6 /* 80089428 00086388 C0 3F 05 10 */ lfs f1, 0x510(r31) /* 8008942C 0008638C 38 81 00 08 */ addi r4, r1, 8 /* 80089430 00086390 C0 1F 05 14 */ lfs f0, 0x514(r31) /* 80089434 00086394 D0 41 00 60 */ stfs f2, 0x60(r1) /* 80089438 00086398 D0 21 00 64 */ stfs f1, 0x64(r1) /* 8008943C 0008639C D0 01 00 68 */ stfs f0, 0x68(r1) /* 80089440 000863A0 A0 1E 03 DC */ lhz r0, 0x3dc(r30) /* 80089444 000863A4 B0 01 00 08 */ sth r0, 8(r1) /* 80089448 000863A8 4B FC 31 5D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8008944C 000863AC 7C 64 1B 78 */ mr r4, r3 /* 80089450 000863B0 38 61 00 14 */ addi r3, r1, 0x14 /* 80089454 000863B4 48 02 0C 9D */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 80089458 000863B8 80 63 00 04 */ lwz r3, 4(r3) /* 8008945C 000863BC 28 03 00 00 */ cmplwi r3, 0 /* 80089460 000863C0 41 82 00 14 */ beq lbl_80089474 /* 80089464 000863C4 41 82 00 3C */ beq lbl_800894A0 /* 80089468 000863C8 88 03 02 A8 */ lbz r0, 0x2a8(r3) /* 8008946C 000863CC 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80089470 000863D0 40 82 00 30 */ bne lbl_800894A0 lbl_80089474: /* 80089474 000863D4 80 1E 04 00 */ lwz r0, 0x400(r30) /* 80089478 000863D8 2C 00 00 03 */ cmpwi r0, 3 /* 8008947C 000863DC 41 82 00 0C */ beq lbl_80089488 /* 80089480 000863E0 2C 00 00 02 */ cmpwi r0, 2 /* 80089484 000863E4 40 82 00 1C */ bne lbl_800894A0 lbl_80089488: /* 80089488 000863E8 C0 5F 05 18 */ lfs f2, 0x518(r31) /* 8008948C 000863EC C0 3F 05 1C */ lfs f1, 0x51c(r31) /* 80089490 000863F0 C0 1F 05 20 */ lfs f0, 0x520(r31) /* 80089494 000863F4 D0 41 00 60 */ stfs f2, 0x60(r1) /* 80089498 000863F8 D0 21 00 64 */ stfs f1, 0x64(r1) /* 8008949C 000863FC D0 01 00 68 */ stfs f0, 0x68(r1) lbl_800894A0: /* 800894A0 00086400 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 800894A4 00086404 2C 00 00 03 */ cmpwi r0, 3 /* 800894A8 00086408 40 82 00 1C */ bne lbl_800894C4 /* 800894AC 0008640C C0 5F 05 18 */ lfs f2, 0x518(r31) /* 800894B0 00086410 C0 3F 05 1C */ lfs f1, 0x51c(r31) /* 800894B4 00086414 C0 1F 05 20 */ lfs f0, 0x520(r31) /* 800894B8 00086418 D0 41 00 60 */ stfs f2, 0x60(r1) /* 800894BC 0008641C D0 21 00 64 */ stfs f1, 0x64(r1) /* 800894C0 00086420 D0 01 00 68 */ stfs f0, 0x68(r1) lbl_800894C4: /* 800894C4 00086424 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 800894C8 00086428 38 61 00 60 */ addi r3, r1, 0x60 /* 800894CC 0008642C D0 01 00 68 */ stfs f0, 0x68(r1) /* 800894D0 00086430 48 28 B2 29 */ bl CanBeNormalized__9CVector3fCFv /* 800894D4 00086434 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800894D8 00086438 41 82 00 10 */ beq lbl_800894E8 /* 800894DC 0008643C 38 61 00 60 */ addi r3, r1, 0x60 /* 800894E0 00086440 48 28 B4 19 */ bl Normalize__9CVector3fFv /* 800894E4 00086444 48 00 00 28 */ b lbl_8008950C lbl_800894E8: /* 800894E8 00086448 C0 41 00 74 */ lfs f2, 0x74(r1) /* 800894EC 0008644C C0 21 00 70 */ lfs f1, 0x70(r1) /* 800894F0 00086450 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 800894F4 00086454 FC 40 10 50 */ fneg f2, f2 /* 800894F8 00086458 FC 20 08 50 */ fneg f1, f1 /* 800894FC 0008645C FC 00 00 50 */ fneg f0, f0 /* 80089500 00086460 D0 41 00 68 */ stfs f2, 0x68(r1) /* 80089504 00086464 D0 01 00 60 */ stfs f0, 0x60(r1) /* 80089508 00086468 D0 21 00 64 */ stfs f1, 0x64(r1) lbl_8008950C: /* 8008950C 0008646C 38 61 00 6C */ addi r3, r1, 0x6c /* 80089510 00086470 48 28 B1 E9 */ bl CanBeNormalized__9CVector3fCFv /* 80089514 00086474 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80089518 00086478 41 82 00 10 */ beq lbl_80089528 /* 8008951C 0008647C 38 61 00 6C */ addi r3, r1, 0x6c /* 80089520 00086480 48 28 B3 D9 */ bl Normalize__9CVector3fFv /* 80089524 00086484 48 00 00 2C */ b lbl_80089550 lbl_80089528: /* 80089528 00086488 C0 01 00 60 */ lfs f0, 0x60(r1) /* 8008952C 0008648C C0 21 00 64 */ lfs f1, 0x64(r1) /* 80089530 00086490 FC 00 00 50 */ fneg f0, f0 /* 80089534 00086494 C0 41 00 68 */ lfs f2, 0x68(r1) /* 80089538 00086498 FC 20 08 50 */ fneg f1, f1 /* 8008953C 0008649C FC 40 10 50 */ fneg f2, f2 /* 80089540 000864A0 D0 1D 00 00 */ stfs f0, 0(r29) /* 80089544 000864A4 D0 3D 00 04 */ stfs f1, 4(r29) /* 80089548 000864A8 D0 5D 00 08 */ stfs f2, 8(r29) /* 8008954C 000864AC 48 00 01 44 */ b lbl_80089690 lbl_80089550: /* 80089550 000864B0 C0 01 00 64 */ lfs f0, 0x64(r1) /* 80089554 000864B4 C0 41 00 60 */ lfs f2, 0x60(r1) /* 80089558 000864B8 FC 00 00 50 */ fneg f0, f0 /* 8008955C 000864BC C0 21 00 70 */ lfs f1, 0x70(r1) /* 80089560 000864C0 C0 81 00 68 */ lfs f4, 0x68(r1) /* 80089564 000864C4 FC 40 10 50 */ fneg f2, f2 /* 80089568 000864C8 C0 61 00 6C */ lfs f3, 0x6c(r1) /* 8008956C 000864CC EC 21 00 32 */ fmuls f1, f1, f0 /* 80089570 000864D0 FC 80 20 50 */ fneg f4, f4 /* 80089574 000864D4 C0 A1 00 74 */ lfs f5, 0x74(r1) /* 80089578 000864D8 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 8008957C 000864DC EC 23 08 BA */ fmadds f1, f3, f2, f1 /* 80089580 000864E0 EF 85 09 3A */ fmadds f28, f5, f4, f1 /* 80089584 000864E4 FC 20 E2 10 */ fabs f1, f28 /* 80089588 000864E8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008958C 000864EC 40 81 00 14 */ ble lbl_800895A0 /* 80089590 000864F0 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80089594 000864F4 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 80089598 000864F8 FC 1C 00 6E */ fsel f0, f28, f1, f0 /* 8008959C 000864FC EF 81 00 32 */ fmuls f28, f1, f0 lbl_800895A0: /* 800895A0 00086500 FC 20 E0 90 */ fmr f1, f28 /* 800895A4 00086504 48 30 B6 89 */ bl acos /* 800895A8 00086508 C0 02 8A 1C */ lfs f0, lbl_805AA73C@sda21(r2) /* 800895AC 0008650C FC 20 08 18 */ frsp f1, f1 /* 800895B0 00086510 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 800895B4 00086514 4C 41 13 82 */ cror 2, 1, 2 /* 800895B8 00086518 40 82 00 2C */ bne lbl_800895E4 /* 800895BC 0008651C C0 01 00 60 */ lfs f0, 0x60(r1) /* 800895C0 00086520 C0 21 00 64 */ lfs f1, 0x64(r1) /* 800895C4 00086524 FC 00 00 50 */ fneg f0, f0 /* 800895C8 00086528 C0 41 00 68 */ lfs f2, 0x68(r1) /* 800895CC 0008652C FC 20 08 50 */ fneg f1, f1 /* 800895D0 00086530 FC 40 10 50 */ fneg f2, f2 /* 800895D4 00086534 D0 1D 00 00 */ stfs f0, 0(r29) /* 800895D8 00086538 D0 3D 00 04 */ stfs f1, 4(r29) /* 800895DC 0008653C D0 5D 00 08 */ stfs f2, 8(r29) /* 800895E0 00086540 48 00 00 B0 */ b lbl_80089690 lbl_800895E4: /* 800895E4 00086544 EC 01 F0 24 */ fdivs f0, f1, f30 /* 800895E8 00086548 38 81 00 10 */ addi r4, r1, 0x10 /* 800895EC 0008654C 38 6D 84 B4 */ addi r3, r13, lbl_805A7074@sda21 /* 800895F0 00086550 38 AD 84 B8 */ addi r5, r13, lbl_805A7078@sda21 /* 800895F4 00086554 D0 01 00 10 */ stfs f0, 0x10(r1) /* 800895F8 00086558 4B F8 2C BD */ bl "Clamp__5CMathFRCfRCfRCf" /* 800895FC 0008655C EC 7D 07 F2 */ fmuls f3, f29, f31 /* 80089600 00086560 C0 83 00 00 */ lfs f4, 0(r3) /* 80089604 00086564 C0 41 00 60 */ lfs f2, 0x60(r1) /* 80089608 00086568 38 61 00 28 */ addi r3, r1, 0x28 /* 8008960C 0008656C C0 21 00 64 */ lfs f1, 0x64(r1) /* 80089610 00086570 38 81 00 1C */ addi r4, r1, 0x1c /* 80089614 00086574 C0 01 00 68 */ lfs f0, 0x68(r1) /* 80089618 00086578 EC 63 01 32 */ fmuls f3, f3, f4 /* 8008961C 0008657C FC 40 10 50 */ fneg f2, f2 /* 80089620 00086580 FC 20 08 50 */ fneg f1, f1 /* 80089624 00086584 FC 00 00 50 */ fneg f0, f0 /* 80089628 00086588 D0 61 00 0C */ stfs f3, 0xc(r1) /* 8008962C 0008658C D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80089630 00086590 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80089634 00086594 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80089638 00086598 48 28 A7 99 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 8008963C 0008659C 7C 7F 1B 78 */ mr r31, r3 /* 80089640 000865A0 38 61 00 34 */ addi r3, r1, 0x34 /* 80089644 000865A4 38 81 00 6C */ addi r4, r1, 0x6c /* 80089648 000865A8 48 28 A7 89 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 8008964C 000865AC 7C 64 1B 78 */ mr r4, r3 /* 80089650 000865B0 7F E5 FB 78 */ mr r5, r31 /* 80089654 000865B4 38 61 00 40 */ addi r3, r1, 0x40 /* 80089658 000865B8 38 C1 00 0C */ addi r6, r1, 0xc /* 8008965C 000865BC 48 28 80 39 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 80089660 000865C0 C0 61 00 40 */ lfs f3, 0x40(r1) /* 80089664 000865C4 7F A3 EB 78 */ mr r3, r29 /* 80089668 000865C8 C0 41 00 44 */ lfs f2, 0x44(r1) /* 8008966C 000865CC 38 81 00 50 */ addi r4, r1, 0x50 /* 80089670 000865D0 C0 21 00 48 */ lfs f1, 0x48(r1) /* 80089674 000865D4 38 A1 00 6C */ addi r5, r1, 0x6c /* 80089678 000865D8 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 8008967C 000865DC D0 61 00 50 */ stfs f3, 0x50(r1) /* 80089680 000865E0 D0 41 00 54 */ stfs f2, 0x54(r1) /* 80089684 000865E4 D0 21 00 58 */ stfs f1, 0x58(r1) /* 80089688 000865E8 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8008968C 000865EC 48 28 7B D9 */ bl Transform__11CQuaternionCFRC9CVector3f lbl_80089690: /* 80089690 000865F0 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 80089694 000865F4 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 80089698 000865F8 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0 /* 8008969C 000865FC CB C1 00 B0 */ lfd f30, 0xb0(r1) /* 800896A0 00086600 E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0 /* 800896A4 00086604 CB A1 00 A0 */ lfd f29, 0xa0(r1) /* 800896A8 00086608 E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0 /* 800896AC 0008660C CB 81 00 90 */ lfd f28, 0x90(r1) /* 800896B0 00086610 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 800896B4 00086614 83 C1 00 88 */ lwz r30, 0x88(r1) /* 800896B8 00086618 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 800896BC 0008661C 83 A1 00 84 */ lwz r29, 0x84(r1) /* 800896C0 00086620 7C 08 03 A6 */ mtlr r0 /* 800896C4 00086624 38 21 00 D0 */ addi r1, r1, 0xd0 /* 800896C8 00086628 4E 80 00 20 */ blr .global ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager: /* 800896CC 0008662C 94 21 FF 70 */ stwu r1, -0x90(r1) /* 800896D0 00086630 7C 08 02 A6 */ mflr r0 /* 800896D4 00086634 90 01 00 94 */ stw r0, 0x94(r1) /* 800896D8 00086638 DB E1 00 80 */ stfd f31, 0x80(r1) /* 800896DC 0008663C F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 800896E0 00086640 DB C1 00 70 */ stfd f30, 0x70(r1) /* 800896E4 00086644 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 800896E8 00086648 DB A1 00 60 */ stfd f29, 0x60(r1) /* 800896EC 0008664C F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 800896F0 00086650 DB 81 00 50 */ stfd f28, 0x50(r1) /* 800896F4 00086654 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0 /* 800896F8 00086658 BF 61 00 3C */ stmw r27, 0x3c(r1) /* 800896FC 0008665C 7C DE 33 78 */ mr r30, r6 /* 80089700 00086660 7C 7B 1B 78 */ mr r27, r3 /* 80089704 00086664 FF A0 08 90 */ fmr f29, f1 /* 80089708 00086668 83 E6 08 4C */ lwz r31, 0x84c(r6) /* 8008970C 0008666C 7C 9C 23 78 */ mr r28, r4 /* 80089710 00086670 7C BD 2B 78 */ mr r29, r5 /* 80089714 00086674 7F E4 FB 78 */ mr r4, r31 /* 80089718 00086678 38 61 00 1C */ addi r3, r1, 0x1c /* 8008971C 0008667C 48 1F B6 2D */ bl GetBallPosition__7CPlayerCFv /* 80089720 00086680 C0 3B 00 50 */ lfs f1, 0x50(r27) /* 80089724 00086684 38 61 00 28 */ addi r3, r1, 0x28 /* 80089728 00086688 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8008972C 0008668C C0 7B 00 60 */ lfs f3, 0x60(r27) /* 80089730 00086690 C0 41 00 24 */ lfs f2, 0x24(r1) /* 80089734 00086694 EC 81 00 28 */ fsubs f4, f1, f0 /* 80089738 00086698 C0 3B 00 40 */ lfs f1, 0x40(r27) /* 8008973C 0008669C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80089740 000866A0 EC 43 10 28 */ fsubs f2, f3, f2 /* 80089744 000866A4 D0 81 00 2C */ stfs f4, 0x2c(r1) /* 80089748 000866A8 EC 01 00 28 */ fsubs f0, f1, f0 /* 8008974C 000866AC C3 E2 89 B0 */ lfs f31, lbl_805AA6D0@sda21(r2) /* 80089750 000866B0 D0 41 00 30 */ stfs f2, 0x30(r1) /* 80089754 000866B4 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80089758 000866B8 48 28 AF A1 */ bl CanBeNormalized__9CVector3fCFv /* 8008975C 000866BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80089760 000866C0 41 82 00 24 */ beq lbl_80089784 /* 80089764 000866C4 C0 21 00 28 */ lfs f1, 0x28(r1) /* 80089768 000866C8 38 61 00 14 */ addi r3, r1, 0x14 /* 8008976C 000866CC C0 41 00 2C */ lfs f2, 0x2c(r1) /* 80089770 000866D0 48 28 AA 91 */ bl __ct__9CVector2fFff /* 80089774 000866D4 38 61 00 14 */ addi r3, r1, 0x14 /* 80089778 000866D8 48 28 A9 7D */ bl Magnitude__9CVector2fCFv /* 8008977C 000866DC FF E0 08 90 */ fmr f31, f1 /* 80089780 000866E0 48 00 00 28 */ b lbl_800897A8 lbl_80089784: /* 80089784 000866E4 C0 5F 05 14 */ lfs f2, 0x514(r31) /* 80089788 000866E8 C0 3F 05 10 */ lfs f1, 0x510(r31) /* 8008978C 000866EC C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 80089790 000866F0 FC 40 10 50 */ fneg f2, f2 /* 80089794 000866F4 FC 20 08 50 */ fneg f1, f1 /* 80089798 000866F8 FC 00 00 50 */ fneg f0, f0 /* 8008979C 000866FC D0 41 00 30 */ stfs f2, 0x30(r1) /* 800897A0 00086700 D0 01 00 28 */ stfs f0, 0x28(r1) /* 800897A4 00086704 D0 21 00 2C */ stfs f1, 0x2c(r1) lbl_800897A8: /* 800897A8 00086708 A0 1B 03 DC */ lhz r0, 0x3dc(r27) /* 800897AC 0008670C 7F C3 F3 78 */ mr r3, r30 /* 800897B0 00086710 38 81 00 08 */ addi r4, r1, 8 /* 800897B4 00086714 B0 01 00 08 */ sth r0, 8(r1) /* 800897B8 00086718 4B FC 2D ED */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 800897BC 0008671C 7C 64 1B 78 */ mr r4, r3 /* 800897C0 00086720 38 61 00 0C */ addi r3, r1, 0xc /* 800897C4 00086724 48 02 09 2D */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 800897C8 00086728 80 63 00 04 */ lwz r3, 4(r3) /* 800897CC 0008672C 3B E0 00 00 */ li r31, 0 /* 800897D0 00086730 C0 5D 00 00 */ lfs f2, 0(r29) /* 800897D4 00086734 C3 C2 89 B8 */ lfs f30, lbl_805AA6D8@sda21(r2) /* 800897D8 00086738 28 03 00 00 */ cmplwi r3, 0 /* 800897DC 0008673C FC 20 10 90 */ fmr f1, f2 /* 800897E0 00086740 C3 9C 00 00 */ lfs f28, 0(r28) /* 800897E4 00086744 FC 00 F0 90 */ fmr f0, f30 /* 800897E8 00086748 41 82 00 B8 */ beq lbl_800898A0 /* 800897EC 0008674C 88 03 02 A8 */ lbz r0, 0x2a8(r3) /* 800897F0 00086750 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 800897F4 00086754 40 82 00 AC */ bne lbl_800898A0 /* 800897F8 00086758 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 800897FC 0008675C C0 3B 03 E0 */ lfs f1, 0x3e0(r27) /* 80089800 00086760 EC 60 00 B2 */ fmuls f3, f0, f2 /* 80089804 00086764 C8 02 89 F0 */ lfd f0, lbl_805AA710@sda21(r2) /* 80089808 00086768 EC 21 18 24 */ fdivs f1, f1, f3 /* 8008980C 0008676C FC 20 0A 10 */ fabs f1, f1 /* 80089810 00086770 FC 40 08 18 */ frsp f2, f1 /* 80089814 00086774 FC 20 12 10 */ fabs f1, f2 /* 80089818 00086778 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008981C 0008677C 40 81 00 10 */ ble lbl_8008982C /* 80089820 00086780 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 80089824 00086784 FC 02 07 AE */ fsel f0, f2, f30, f0 /* 80089828 00086788 EC 5E 00 32 */ fmuls f2, f30, f0 lbl_8008982C: /* 8008982C 0008678C C0 1B 03 E0 */ lfs f0, 0x3e0(r27) /* 80089830 00086790 FF C0 10 90 */ fmr f30, f2 /* 80089834 00086794 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 80089838 00086798 40 80 00 08 */ bge lbl_80089840 /* 8008983C 0008679C 3B E0 00 01 */ li r31, 1 lbl_80089840: /* 80089840 000867A0 88 03 02 A8 */ lbz r0, 0x2a8(r3) /* 80089844 000867A4 54 03 DF FF */ rlwinm. r3, r0, 0x1b, 0x1f, 0x1f /* 80089848 000867A8 41 82 00 18 */ beq lbl_80089860 /* 8008984C 000867AC C0 3B 04 68 */ lfs f1, 0x468(r27) /* 80089850 000867B0 C0 1D 00 00 */ lfs f0, 0(r29) /* 80089854 000867B4 EC 00 08 28 */ fsubs f0, f0, f1 /* 80089858 000867B8 EC 22 08 3A */ fmadds f1, f2, f0, f1 /* 8008985C 000867BC 48 00 00 14 */ b lbl_80089870 lbl_80089860: /* 80089860 000867C0 C0 1D 00 00 */ lfs f0, 0(r29) /* 80089864 000867C4 C0 22 8A 44 */ lfs f1, lbl_805AA764@sda21(r2) /* 80089868 000867C8 EC 00 08 28 */ fsubs f0, f0, f1 /* 8008986C 000867CC EC 22 08 3A */ fmadds f1, f2, f0, f1 lbl_80089870: /* 80089870 000867D0 88 1B 01 8D */ lbz r0, 0x18d(r27) /* 80089874 000867D4 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80089878 000867D8 41 82 00 14 */ beq lbl_8008988C /* 8008987C 000867DC C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 80089880 000867E0 C0 1B 03 08 */ lfs f0, 0x308(r27) /* 80089884 000867E4 EC 02 00 2A */ fadds f0, f2, f0 /* 80089888 000867E8 EC 21 00 32 */ fmuls f1, f1, f0 lbl_8008988C: /* 8008988C 000867EC 28 03 00 00 */ cmplwi r3, 0 /* 80089890 000867F0 C3 82 8A 48 */ lfs f28, lbl_805AA768@sda21(r2) /* 80089894 000867F4 40 82 00 08 */ bne lbl_8008989C /* 80089898 000867F8 C3 82 8A 5C */ lfs f28, lbl_805AA77C@sda21(r2) lbl_8008989C: /* 8008989C 000867FC C0 02 8A 6C */ lfs f0, lbl_805AA78C@sda21(r2) lbl_800898A0: /* 800898A0 00086800 FC 40 F8 90 */ fmr f2, f31 /* 800898A4 00086804 38 7B 02 14 */ addi r3, r27, 0x214 /* 800898A8 00086808 EC 7D 00 32 */ fmuls f3, f29, f0 /* 800898AC 0008680C 4B FD 3F 8D */ bl ApplyDistanceSpring__13CCameraSpringFfff /* 800898B0 00086810 D0 3D 00 00 */ stfs f1, 0(r29) /* 800898B4 00086814 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 800898B8 00086818 C0 1C 00 00 */ lfs f0, 0(r28) /* 800898BC 0008681C EC 00 E0 28 */ fsubs f0, f0, f28 /* 800898C0 00086820 EC 00 E7 BA */ fmadds f0, f0, f30, f28 /* 800898C4 00086824 D0 1C 00 00 */ stfs f0, 0(r28) /* 800898C8 00086828 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 800898CC 0008682C CB E1 00 80 */ lfd f31, 0x80(r1) /* 800898D0 00086830 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 800898D4 00086834 CB C1 00 70 */ lfd f30, 0x70(r1) /* 800898D8 00086838 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 800898DC 0008683C CB A1 00 60 */ lfd f29, 0x60(r1) /* 800898E0 00086840 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0 /* 800898E4 00086844 CB 81 00 50 */ lfd f28, 0x50(r1) /* 800898E8 00086848 BB 61 00 3C */ lmw r27, 0x3c(r1) /* 800898EC 0008684C 80 01 00 94 */ lwz r0, 0x94(r1) /* 800898F0 00086850 7C 08 03 A6 */ mtlr r0 /* 800898F4 00086854 38 21 00 90 */ addi r1, r1, 0x90 /* 800898F8 00086858 4E 80 00 20 */ blr .global UpdateObjectTooCloseId__11CBallCameraFR13CStateManager UpdateObjectTooCloseId__11CBallCameraFR13CStateManager: /* 800898FC 0008685C 94 21 DF 10 */ stwu r1, -0x20f0(r1) /* 80089900 00086860 7C 08 02 A6 */ mflr r0 /* 80089904 00086864 90 01 20 F4 */ stw r0, 0x20f4(r1) /* 80089908 00086868 38 00 20 E8 */ li r0, 0x20e8 /* 8008990C 0008686C DB E1 20 E0 */ stfd f31, 0x20e0(r1) /* 80089910 00086870 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0 /* 80089914 00086874 38 00 20 D8 */ li r0, 0x20d8 /* 80089918 00086878 DB C1 20 D0 */ stfd f30, 0x20d0(r1) /* 8008991C 0008687C 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0 /* 80089920 00086880 38 00 20 C8 */ li r0, 0x20c8 /* 80089924 00086884 DB A1 20 C0 */ stfd f29, 0x20c0(r1) /* 80089928 00086888 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0 /* 8008992C 0008688C 38 00 20 B8 */ li r0, 0x20b8 /* 80089930 00086890 DB 81 20 B0 */ stfd f28, 0x20b0(r1) /* 80089934 00086894 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0 /* 80089938 00086898 38 00 20 A8 */ li r0, 0x20a8 /* 8008993C 0008689C DB 61 20 A0 */ stfd f27, 0x20a0(r1) /* 80089940 000868A0 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 80089944 000868A4 38 00 20 98 */ li r0, 0x2098 /* 80089948 000868A8 DB 41 20 90 */ stfd f26, 0x2090(r1) /* 8008994C 000868AC 13 41 00 0E */ psq_stx f26, r1, r0, 0, qr0 /* 80089950 000868B0 93 E1 20 8C */ stw r31, 0x208c(r1) /* 80089954 000868B4 93 C1 20 88 */ stw r30, 0x2088(r1) /* 80089958 000868B8 93 A1 20 84 */ stw r29, 0x2084(r1) /* 8008995C 000868BC 93 81 20 80 */ stw r28, 0x2080(r1) /* 80089960 000868C0 C0 02 8A 90 */ lfs f0, lbl_805AA7B0@sda21(r2) /* 80089964 000868C4 7C 7E 1B 78 */ mr r30, r3 /* 80089968 000868C8 7C 9F 23 78 */ mr r31, r4 /* 8008996C 000868CC 38 61 00 48 */ addi r3, r1, 0x48 /* 80089970 000868D0 D0 1E 03 E0 */ stfs f0, 0x3e0(r30) /* 80089974 000868D4 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 80089978 000868D8 B0 1E 03 DC */ sth r0, 0x3dc(r30) /* 8008997C 000868DC 80 84 08 4C */ lwz r4, 0x84c(r4) /* 80089980 000868E0 48 1F B3 C9 */ bl GetBallPosition__7CPlayerCFv /* 80089984 000868E4 80 BF 08 48 */ lwz r5, 0x848(r31) /* 80089988 000868E8 3C 60 80 3E */ lis r3, lbl_803D96D8@ha /* 8008998C 000868EC C3 9E 00 40 */ lfs f28, 0x40(r30) /* 80089990 000868F0 38 03 96 D8 */ addi r0, r3, lbl_803D96D8@l /* 80089994 000868F4 C3 7E 00 50 */ lfs f27, 0x50(r30) /* 80089998 000868F8 38 81 00 70 */ addi r4, r1, 0x70 /* 8008999C 000868FC C3 5E 00 60 */ lfs f26, 0x60(r30) /* 800899A0 00086900 38 65 00 04 */ addi r3, r5, 4 /* 800899A4 00086904 C3 E1 00 48 */ lfs f31, 0x48(r1) /* 800899A8 00086908 38 C1 20 70 */ addi r6, r1, 0x2070 /* 800899AC 0008690C 90 01 00 6C */ stw r0, 0x6c(r1) /* 800899B0 00086910 C3 C1 00 4C */ lfs f30, 0x4c(r1) /* 800899B4 00086914 C3 A1 00 50 */ lfs f29, 0x50(r1) lbl_800899B8: /* 800899B8 00086918 80 03 00 00 */ lwz r0, 0(r3) /* 800899BC 0008691C 90 04 00 00 */ stw r0, 0(r4) /* 800899C0 00086920 A8 03 00 04 */ lha r0, 4(r3) /* 800899C4 00086924 B0 04 00 04 */ sth r0, 4(r4) /* 800899C8 00086928 A8 03 00 06 */ lha r0, 6(r3) /* 800899CC 0008692C 38 63 00 08 */ addi r3, r3, 8 /* 800899D0 00086930 B0 04 00 06 */ sth r0, 6(r4) /* 800899D4 00086934 38 84 00 08 */ addi r4, r4, 8 /* 800899D8 00086938 7C 04 30 40 */ cmplw r4, r6 /* 800899DC 0008693C 41 80 FF DC */ blt lbl_800899B8 /* 800899E0 00086940 80 05 20 04 */ lwz r0, 0x2004(r5) /* 800899E4 00086944 90 01 20 70 */ stw r0, 0x2070(r1) /* 800899E8 00086948 A8 05 20 08 */ lha r0, 0x2008(r5) /* 800899EC 0008694C B0 01 20 74 */ sth r0, 0x2074(r1) /* 800899F0 00086950 7C 1D 03 78 */ mr r29, r0 /* 800899F4 00086954 A8 05 20 0A */ lha r0, 0x200a(r5) /* 800899F8 00086958 B0 01 20 76 */ sth r0, 0x2076(r1) /* 800899FC 0008695C 48 00 01 14 */ b lbl_80089B10 lbl_80089A00: /* 80089A00 00086960 7F A4 EB 78 */ mr r4, r29 /* 80089A04 00086964 38 61 00 6C */ addi r3, r1, 0x6c /* 80089A08 00086968 4B F8 63 0D */ bl __vc__11CObjectListFi /* 80089A0C 0008696C 7C 64 1B 78 */ mr r4, r3 /* 80089A10 00086970 38 61 00 10 */ addi r3, r1, 0x10 /* 80089A14 00086974 48 02 06 DD */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 80089A18 00086978 83 83 00 04 */ lwz r28, 4(r3) /* 80089A1C 0008697C 28 1C 00 00 */ cmplwi r28, 0 /* 80089A20 00086980 41 82 00 D0 */ beq lbl_80089AF0 /* 80089A24 00086984 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 80089A28 00086988 80 9C 00 04 */ lwz r4, 4(r28) /* 80089A2C 0008698C 80 03 00 04 */ lwz r0, 4(r3) /* 80089A30 00086990 7C 04 00 00 */ cmpw r4, r0 /* 80089A34 00086994 40 82 00 BC */ bne lbl_80089AF0 /* 80089A38 00086998 7F 84 E3 78 */ mr r4, r28 /* 80089A3C 0008699C 38 61 00 54 */ addi r3, r1, 0x54 /* 80089A40 000869A0 48 09 0E ED */ bl GetBoundingBox__13CPhysicsActorCFv /* 80089A44 000869A4 C0 5C 00 50 */ lfs f2, 0x50(r28) /* 80089A48 000869A8 38 61 00 3C */ addi r3, r1, 0x3c /* 80089A4C 000869AC C0 3C 00 60 */ lfs f1, 0x60(r28) /* 80089A50 000869B0 C0 1C 00 40 */ lfs f0, 0x40(r28) /* 80089A54 000869B4 EC 42 D8 28 */ fsubs f2, f2, f27 /* 80089A58 000869B8 EC 21 D0 28 */ fsubs f1, f1, f26 /* 80089A5C 000869BC EC 00 E0 28 */ fsubs f0, f0, f28 /* 80089A60 000869C0 D0 41 00 34 */ stfs f2, 0x34(r1) /* 80089A64 000869C4 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80089A68 000869C8 D0 21 00 38 */ stfs f1, 0x38(r1) /* 80089A6C 000869CC D0 01 00 3C */ stfs f0, 0x3c(r1) /* 80089A70 000869D0 D0 41 00 40 */ stfs f2, 0x40(r1) /* 80089A74 000869D4 D0 21 00 44 */ stfs f1, 0x44(r1) /* 80089A78 000869D8 48 28 AE 41 */ bl Magnitude__9CVector3fCFv /* 80089A7C 000869DC C0 7C 00 50 */ lfs f3, 0x50(r28) /* 80089A80 000869E0 38 61 00 24 */ addi r3, r1, 0x24 /* 80089A84 000869E4 C0 5C 00 60 */ lfs f2, 0x60(r28) /* 80089A88 000869E8 C0 1C 00 40 */ lfs f0, 0x40(r28) /* 80089A8C 000869EC EC 63 F0 28 */ fsubs f3, f3, f30 /* 80089A90 000869F0 EC 42 E8 28 */ fsubs f2, f2, f29 /* 80089A94 000869F4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80089A98 000869F8 EC 00 F8 28 */ fsubs f0, f0, f31 /* 80089A9C 000869FC D0 61 00 1C */ stfs f3, 0x1c(r1) /* 80089AA0 00086A00 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80089AA4 00086A04 D0 41 00 20 */ stfs f2, 0x20(r1) /* 80089AA8 00086A08 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80089AAC 00086A0C D0 61 00 28 */ stfs f3, 0x28(r1) /* 80089AB0 00086A10 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80089AB4 00086A14 48 28 AE 05 */ bl Magnitude__9CVector3fCFv /* 80089AB8 00086A18 D0 21 00 08 */ stfs f1, 8(r1) /* 80089ABC 00086A1C 38 61 00 0C */ addi r3, r1, 0xc /* 80089AC0 00086A20 38 81 00 08 */ addi r4, r1, 8 /* 80089AC4 00086A24 4B FF 43 1D */ bl "Min__5CMathFRCfRCf" /* 80089AC8 00086A28 C0 23 00 00 */ lfs f1, 0(r3) /* 80089ACC 00086A2C C0 02 8A 94 */ lfs f0, lbl_805AA7B4@sda21(r2) /* 80089AD0 00086A30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80089AD4 00086A34 40 80 00 1C */ bge lbl_80089AF0 /* 80089AD8 00086A38 C0 1E 03 E0 */ lfs f0, 0x3e0(r30) /* 80089ADC 00086A3C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80089AE0 00086A40 40 80 00 10 */ bge lbl_80089AF0 /* 80089AE4 00086A44 A0 1C 00 08 */ lhz r0, 8(r28) /* 80089AE8 00086A48 B0 1E 03 DC */ sth r0, 0x3dc(r30) /* 80089AEC 00086A4C D0 3E 03 E0 */ stfs f1, 0x3e0(r30) lbl_80089AF0: /* 80089AF0 00086A50 2C 1D FF FF */ cmpwi r29, -1 /* 80089AF4 00086A54 41 82 00 18 */ beq lbl_80089B0C /* 80089AF8 00086A58 57 A4 18 38 */ slwi r4, r29, 3 /* 80089AFC 00086A5C 38 61 00 6C */ addi r3, r1, 0x6c /* 80089B00 00086A60 38 04 00 08 */ addi r0, r4, 8 /* 80089B04 00086A64 7F A3 02 AE */ lhax r29, r3, r0 /* 80089B08 00086A68 48 00 00 08 */ b lbl_80089B10 lbl_80089B0C: /* 80089B0C 00086A6C 3B A0 FF FF */ li r29, -1 lbl_80089B10: /* 80089B10 00086A70 2C 1D FF FF */ cmpwi r29, -1 /* 80089B14 00086A74 40 82 FE EC */ bne lbl_80089A00 /* 80089B18 00086A78 38 00 20 E8 */ li r0, 0x20e8 /* 80089B1C 00086A7C 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0 /* 80089B20 00086A80 CB E1 20 E0 */ lfd f31, 0x20e0(r1) /* 80089B24 00086A84 38 00 20 D8 */ li r0, 0x20d8 /* 80089B28 00086A88 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0 /* 80089B2C 00086A8C CB C1 20 D0 */ lfd f30, 0x20d0(r1) /* 80089B30 00086A90 38 00 20 C8 */ li r0, 0x20c8 /* 80089B34 00086A94 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0 /* 80089B38 00086A98 CB A1 20 C0 */ lfd f29, 0x20c0(r1) /* 80089B3C 00086A9C 38 00 20 B8 */ li r0, 0x20b8 /* 80089B40 00086AA0 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0 /* 80089B44 00086AA4 CB 81 20 B0 */ lfd f28, 0x20b0(r1) /* 80089B48 00086AA8 38 00 20 A8 */ li r0, 0x20a8 /* 80089B4C 00086AAC 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0 /* 80089B50 00086AB0 CB 61 20 A0 */ lfd f27, 0x20a0(r1) /* 80089B54 00086AB4 38 00 20 98 */ li r0, 0x2098 /* 80089B58 00086AB8 13 41 00 0C */ psq_lx f26, r1, r0, 0, qr0 /* 80089B5C 00086ABC CB 41 20 90 */ lfd f26, 0x2090(r1) /* 80089B60 00086AC0 83 E1 20 8C */ lwz r31, 0x208c(r1) /* 80089B64 00086AC4 83 C1 20 88 */ lwz r30, 0x2088(r1) /* 80089B68 00086AC8 83 A1 20 84 */ lwz r29, 0x2084(r1) /* 80089B6C 00086ACC 80 01 20 F4 */ lwz r0, 0x20f4(r1) /* 80089B70 00086AD0 83 81 20 80 */ lwz r28, 0x2080(r1) /* 80089B74 00086AD4 7C 08 03 A6 */ mtlr r0 /* 80089B78 00086AD8 38 21 20 F0 */ addi r1, r1, 0x20f0 /* 80089B7C 00086ADC 4E 80 00 20 */ blr .global UpdateLookDirection__11CBallCameraFRC9CVector3fR13CStateManager UpdateLookDirection__11CBallCameraFRC9CVector3fR13CStateManager: /* 80089B80 00086AE0 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 80089B84 00086AE4 7C 08 02 A6 */ mflr r0 /* 80089B88 00086AE8 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80089B8C 00086AEC 93 E1 00 AC */ stw r31, 0xac(r1) /* 80089B90 00086AF0 7C DF 33 78 */ mr r31, r6 /* 80089B94 00086AF4 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 80089B98 00086AF8 7C 9E 23 78 */ mr r30, r4 /* 80089B9C 00086AFC 93 A1 00 A4 */ stw r29, 0xa4(r1) /* 80089BA0 00086B00 7C 7D 1B 78 */ mr r29, r3 /* 80089BA4 00086B04 7C A3 2B 78 */ mr r3, r5 /* 80089BA8 00086B08 C0 45 00 00 */ lfs f2, 0(r5) /* 80089BAC 00086B0C C0 25 00 04 */ lfs f1, 4(r5) /* 80089BB0 00086B10 C0 05 00 08 */ lfs f0, 8(r5) /* 80089BB4 00086B14 D0 41 00 34 */ stfs f2, 0x34(r1) /* 80089BB8 00086B18 D0 21 00 38 */ stfs f1, 0x38(r1) /* 80089BBC 00086B1C D0 01 00 3C */ stfs f0, 0x3c(r1) /* 80089BC0 00086B20 48 28 AB 39 */ bl CanBeNormalized__9CVector3fCFv /* 80089BC4 00086B24 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80089BC8 00086B28 40 82 00 18 */ bne lbl_80089BE0 /* 80089BCC 00086B2C C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80089BD0 00086B30 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80089BD4 00086B34 D0 21 00 34 */ stfs f1, 0x34(r1) /* 80089BD8 00086B38 D0 01 00 38 */ stfs f0, 0x38(r1) /* 80089BDC 00086B3C D0 21 00 3C */ stfs f1, 0x3c(r1) lbl_80089BE0: /* 80089BE0 00086B40 C0 1E 01 90 */ lfs f0, 0x190(r30) /* 80089BE4 00086B44 7F C3 F3 78 */ mr r3, r30 /* 80089BE8 00086B48 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80089BEC 00086B4C 7F E6 FB 78 */ mr r6, r31 /* 80089BF0 00086B50 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80089BF4 00086B54 38 81 00 08 */ addi r4, r1, 8 /* 80089BF8 00086B58 38 A1 00 0C */ addi r5, r1, 0xc /* 80089BFC 00086B5C C0 1E 01 A0 */ lfs f0, 0x1a0(r30) /* 80089C00 00086B60 D0 01 00 08 */ stfs f0, 8(r1) /* 80089C04 00086B64 4B FF FA C9 */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80089C08 00086B68 80 61 00 34 */ lwz r3, 0x34(r1) /* 80089C0C 00086B6C 7F C4 F3 78 */ mr r4, r30 /* 80089C10 00086B70 80 E1 00 38 */ lwz r7, 0x38(r1) /* 80089C14 00086B74 7F E6 FB 78 */ mr r6, r31 /* 80089C18 00086B78 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80089C1C 00086B7C 38 A1 00 10 */ addi r5, r1, 0x10 /* 80089C20 00086B80 90 61 00 10 */ stw r3, 0x10(r1) /* 80089C24 00086B84 38 61 00 1C */ addi r3, r1, 0x1c /* 80089C28 00086B88 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80089C2C 00086B8C 90 E1 00 14 */ stw r7, 0x14(r1) /* 80089C30 00086B90 38 E0 00 00 */ li r7, 0 /* 80089C34 00086B94 C0 41 00 08 */ lfs f2, 8(r1) /* 80089C38 00086B98 90 01 00 18 */ stw r0, 0x18(r1) /* 80089C3C 00086B9C 48 00 00 79 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 80089C40 00086BA0 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 80089C44 00086BA4 7F C3 F3 78 */ mr r3, r30 /* 80089C48 00086BA8 C0 41 00 20 */ lfs f2, 0x20(r1) /* 80089C4C 00086BAC 7F E4 FB 78 */ mr r4, r31 /* 80089C50 00086BB0 C0 01 00 24 */ lfs f0, 0x24(r1) /* 80089C54 00086BB4 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80089C58 00086BB8 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80089C5C 00086BBC D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80089C60 00086BC0 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80089C64 00086BC4 4B FF 9E 01 */ bl UpdateLookAtPosition__11CBallCameraFfR13CStateManager /* 80089C68 00086BC8 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 80089C6C 00086BCC 38 61 00 40 */ addi r3, r1, 0x40 /* 80089C70 00086BD0 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 80089C74 00086BD4 38 BE 01 D8 */ addi r5, r30, 0x1d8 /* 80089C78 00086BD8 38 81 00 28 */ addi r4, r1, 0x28 /* 80089C7C 00086BDC 48 28 9E 95 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80089C80 00086BE0 38 61 00 70 */ addi r3, r1, 0x70 /* 80089C84 00086BE4 38 81 00 40 */ addi r4, r1, 0x40 /* 80089C88 00086BE8 48 28 8E ED */ bl __ct__12CTransform4fFRC12CTransform4f /* 80089C8C 00086BEC 7F A3 EB 78 */ mr r3, r29 /* 80089C90 00086BF0 38 81 00 70 */ addi r4, r1, 0x70 /* 80089C94 00086BF4 48 28 8E E1 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80089C98 00086BF8 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80089C9C 00086BFC 83 E1 00 AC */ lwz r31, 0xac(r1) /* 80089CA0 00086C00 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 80089CA4 00086C04 83 A1 00 A4 */ lwz r29, 0xa4(r1) /* 80089CA8 00086C08 7C 08 03 A6 */ mtlr r0 /* 80089CAC 00086C0C 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80089CB0 00086C10 4E 80 00 20 */ blr .global FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb: /* 80089CB4 00086C14 94 21 EA 10 */ stwu r1, -0x15f0(r1) /* 80089CB8 00086C18 7C 08 02 A6 */ mflr r0 /* 80089CBC 00086C1C 90 01 15 F4 */ stw r0, 0x15f4(r1) /* 80089CC0 00086C20 38 00 15 E8 */ li r0, 0x15e8 /* 80089CC4 00086C24 DB E1 15 E0 */ stfd f31, 0x15e0(r1) /* 80089CC8 00086C28 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0 /* 80089CCC 00086C2C 38 00 15 D8 */ li r0, 0x15d8 /* 80089CD0 00086C30 DB C1 15 D0 */ stfd f30, 0x15d0(r1) /* 80089CD4 00086C34 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0 /* 80089CD8 00086C38 38 00 15 C8 */ li r0, 0x15c8 /* 80089CDC 00086C3C DB A1 15 C0 */ stfd f29, 0x15c0(r1) /* 80089CE0 00086C40 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0 /* 80089CE4 00086C44 38 00 15 B8 */ li r0, 0x15b8 /* 80089CE8 00086C48 DB 81 15 B0 */ stfd f28, 0x15b0(r1) /* 80089CEC 00086C4C 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0 /* 80089CF0 00086C50 38 00 15 A8 */ li r0, 0x15a8 /* 80089CF4 00086C54 DB 61 15 A0 */ stfd f27, 0x15a0(r1) /* 80089CF8 00086C58 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 80089CFC 00086C5C 38 00 15 98 */ li r0, 0x1598 /* 80089D00 00086C60 DB 41 15 90 */ stfd f26, 0x1590(r1) /* 80089D04 00086C64 13 41 00 0E */ psq_stx f26, r1, r0, 0, qr0 /* 80089D08 00086C68 38 00 15 88 */ li r0, 0x1588 /* 80089D0C 00086C6C DB 21 15 80 */ stfd f25, 0x1580(r1) /* 80089D10 00086C70 13 21 00 0E */ psq_stx f25, r1, r0, 0, qr0 /* 80089D14 00086C74 38 00 15 78 */ li r0, 0x1578 /* 80089D18 00086C78 DB 01 15 70 */ stfd f24, 0x1570(r1) /* 80089D1C 00086C7C 13 01 00 0E */ psq_stx f24, r1, r0, 0, qr0 /* 80089D20 00086C80 38 00 15 68 */ li r0, 0x1568 /* 80089D24 00086C84 DA E1 15 60 */ stfd f23, 0x1560(r1) /* 80089D28 00086C88 12 E1 00 0E */ psq_stx f23, r1, r0, 0, qr0 /* 80089D2C 00086C8C BF 21 15 44 */ stmw r25, 0x1544(r1) /* 80089D30 00086C90 7C 9D 23 78 */ mr r29, r4 /* 80089D34 00086C94 FF 40 08 90 */ fmr f26, f1 /* 80089D38 00086C98 A0 04 00 E8 */ lhz r0, 0xe8(r4) /* 80089D3C 00086C9C FE E0 10 90 */ fmr f23, f2 /* 80089D40 00086CA0 7C DF 33 78 */ mr r31, r6 /* 80089D44 00086CA4 7C 7E 1B 78 */ mr r30, r3 /* 80089D48 00086CA8 B0 01 00 10 */ sth r0, 0x10(r1) /* 80089D4C 00086CAC 7C B9 2B 78 */ mr r25, r5 /* 80089D50 00086CB0 7C FB 3B 78 */ mr r27, r7 /* 80089D54 00086CB4 B0 01 00 14 */ sth r0, 0x14(r1) /* 80089D58 00086CB8 7F E3 FB 78 */ mr r3, r31 /* 80089D5C 00086CBC 38 81 00 14 */ addi r4, r1, 0x14 /* 80089D60 00086CC0 4B FC 28 45 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80089D64 00086CC4 7C 64 1B 78 */ mr r4, r3 /* 80089D68 00086CC8 38 61 00 44 */ addi r3, r1, 0x44 /* 80089D6C 00086CCC 48 02 26 29 */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity" /* 80089D70 00086CD0 83 43 00 04 */ lwz r26, 4(r3) /* 80089D74 00086CD4 28 1A 00 00 */ cmplwi r26, 0 /* 80089D78 00086CD8 40 82 00 18 */ bne lbl_80089D90 /* 80089D7C 00086CDC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80089D80 00086CE0 D0 1E 00 00 */ stfs f0, 0(r30) /* 80089D84 00086CE4 D0 1E 00 04 */ stfs f0, 4(r30) /* 80089D88 00086CE8 D0 1E 00 08 */ stfs f0, 8(r30) /* 80089D8C 00086CEC 48 00 0B F0 */ b lbl_8008A97C lbl_80089D90: /* 80089D90 00086CF0 C0 59 00 00 */ lfs f2, 0(r25) /* 80089D94 00086CF4 7F 23 CB 78 */ mr r3, r25 /* 80089D98 00086CF8 C0 39 00 04 */ lfs f1, 4(r25) /* 80089D9C 00086CFC C0 19 00 08 */ lfs f0, 8(r25) /* 80089DA0 00086D00 D0 41 02 20 */ stfs f2, 0x220(r1) /* 80089DA4 00086D04 D0 21 02 24 */ stfs f1, 0x224(r1) /* 80089DA8 00086D08 D0 01 02 28 */ stfs f0, 0x228(r1) /* 80089DAC 00086D0C 48 28 A9 4D */ bl CanBeNormalized__9CVector3fCFv /* 80089DB0 00086D10 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80089DB4 00086D14 40 82 00 18 */ bne lbl_80089DCC /* 80089DB8 00086D18 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80089DBC 00086D1C C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 80089DC0 00086D20 D0 21 02 20 */ stfs f1, 0x220(r1) /* 80089DC4 00086D24 D0 01 02 24 */ stfs f0, 0x224(r1) /* 80089DC8 00086D28 D0 21 02 28 */ stfs f1, 0x228(r1) lbl_80089DCC: /* 80089DCC 00086D2C 3C 60 80 5A */ lis r3, skZero3f@ha /* 80089DD0 00086D30 3C A0 80 5A */ lis r5, lbl_805A66F4@ha /* 80089DD4 00086D34 38 83 66 A0 */ addi r4, r3, skZero3f@l /* 80089DD8 00086D38 38 C5 66 F4 */ addi r6, r5, lbl_805A66F4@l /* 80089DDC 00086D3C 38 61 03 AC */ addi r3, r1, 0x3ac /* 80089DE0 00086D40 38 A1 02 20 */ addi r5, r1, 0x220 /* 80089DE4 00086D44 48 28 9D 2D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80089DE8 00086D48 38 61 04 FC */ addi r3, r1, 0x4fc /* 80089DEC 00086D4C 38 81 03 AC */ addi r4, r1, 0x3ac /* 80089DF0 00086D50 48 28 8D 85 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80089DF4 00086D54 7F 44 D3 78 */ mr r4, r26 /* 80089DF8 00086D58 38 61 01 A8 */ addi r3, r1, 0x1a8 /* 80089DFC 00086D5C 48 1F AF 4D */ bl GetBallPosition__7CPlayerCFv /* 80089E00 00086D60 C0 21 01 A8 */ lfs f1, 0x1a8(r1) /* 80089E04 00086D64 7F A3 EB 78 */ mr r3, r29 /* 80089E08 00086D68 C0 41 01 AC */ lfs f2, 0x1ac(r1) /* 80089E0C 00086D6C 7F E6 FB 78 */ mr r6, r31 /* 80089E10 00086D70 C0 01 01 B0 */ lfs f0, 0x1b0(r1) /* 80089E14 00086D74 38 81 00 2C */ addi r4, r1, 0x2c /* 80089E18 00086D78 D0 21 02 14 */ stfs f1, 0x214(r1) /* 80089E1C 00086D7C 38 A1 00 30 */ addi r5, r1, 0x30 /* 80089E20 00086D80 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 80089E24 00086D84 D0 41 02 18 */ stfs f2, 0x218(r1) /* 80089E28 00086D88 D0 01 02 1C */ stfs f0, 0x21c(r1) /* 80089E2C 00086D8C D3 41 00 30 */ stfs f26, 0x30(r1) /* 80089E30 00086D90 D2 E1 00 2C */ stfs f23, 0x2c(r1) /* 80089E34 00086D94 4B FF F8 99 */ bl ConstrainElevationAndDistance__11CBallCameraFRfRffR13CStateManager /* 80089E38 00086D98 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 80089E3C 00086D9C 38 61 01 9C */ addi r3, r1, 0x19c /* 80089E40 00086DA0 48 1F AF 3D */ bl GetEyePosition__7CPlayerCFv /* 80089E44 00086DA4 C0 41 01 9C */ lfs f2, 0x19c(r1) /* 80089E48 00086DA8 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 80089E4C 00086DAC C0 21 01 A0 */ lfs f1, 0x1a0(r1) /* 80089E50 00086DB0 38 C3 C4 08 */ addi r6, r3, lbl_8046C408@l /* 80089E54 00086DB4 C0 01 01 A4 */ lfs f0, 0x1a4(r1) /* 80089E58 00086DB8 7F E3 FB 78 */ mr r3, r31 /* 80089E5C 00086DBC D0 41 02 08 */ stfs f2, 0x208(r1) /* 80089E60 00086DC0 38 81 02 14 */ addi r4, r1, 0x214 /* 80089E64 00086DC4 38 A1 02 08 */ addi r5, r1, 0x208 /* 80089E68 00086DC8 38 E0 00 00 */ li r7, 0 /* 80089E6C 00086DCC D0 21 02 0C */ stfs f1, 0x20c(r1) /* 80089E70 00086DD0 D0 01 02 10 */ stfs f0, 0x210(r1) /* 80089E74 00086DD4 4B FC 2F C9 */ bl RayCollideWorld__13CStateManagerFRC9CVector3fRC9CVector3fRC15CMaterialFilterPC6CActor /* 80089E78 00086DD8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80089E7C 00086DDC 40 82 00 1C */ bne lbl_80089E98 /* 80089E80 00086DE0 C0 41 02 14 */ lfs f2, 0x214(r1) /* 80089E84 00086DE4 C0 21 02 18 */ lfs f1, 0x218(r1) /* 80089E88 00086DE8 C0 01 02 1C */ lfs f0, 0x21c(r1) /* 80089E8C 00086DEC D0 41 02 08 */ stfs f2, 0x208(r1) /* 80089E90 00086DF0 D0 21 02 0C */ stfs f1, 0x20c(r1) /* 80089E94 00086DF4 D0 01 02 10 */ stfs f0, 0x210(r1) lbl_80089E98: /* 80089E98 00086DF8 C0 21 02 10 */ lfs f1, 0x210(r1) /* 80089E9C 00086DFC 38 61 03 7C */ addi r3, r1, 0x37c /* 80089EA0 00086E00 C0 01 02 1C */ lfs f0, 0x21c(r1) /* 80089EA4 00086E04 38 81 04 FC */ addi r4, r1, 0x4fc /* 80089EA8 00086E08 C0 61 00 30 */ lfs f3, 0x30(r1) /* 80089EAC 00086E0C C0 41 00 2C */ lfs f2, 0x2c(r1) /* 80089EB0 00086E10 EC 01 00 28 */ fsubs f0, f1, f0 /* 80089EB4 00086E14 FC 20 18 50 */ fneg f1, f3 /* 80089EB8 00086E18 C0 62 89 B0 */ lfs f3, lbl_805AA6D0@sda21(r2) /* 80089EBC 00086E1C D0 41 02 04 */ stfs f2, 0x204(r1) /* 80089EC0 00086E20 EC 02 00 28 */ fsubs f0, f2, f0 /* 80089EC4 00086E24 D0 61 01 FC */ stfs f3, 0x1fc(r1) /* 80089EC8 00086E28 D0 21 02 00 */ stfs f1, 0x200(r1) /* 80089ECC 00086E2C D0 01 02 04 */ stfs f0, 0x204(r1) /* 80089ED0 00086E30 48 28 8D 71 */ bl GetRotation__12CTransform4fCFv /* 80089ED4 00086E34 38 61 01 90 */ addi r3, r1, 0x190 /* 80089ED8 00086E38 38 81 03 7C */ addi r4, r1, 0x37c /* 80089EDC 00086E3C 38 A1 01 FC */ addi r5, r1, 0x1fc /* 80089EE0 00086E40 48 28 8C 09 */ bl __ml__12CTransform4fCFRC9CVector3f /* 80089EE4 00086E44 C0 21 02 10 */ lfs f1, 0x210(r1) /* 80089EE8 00086E48 FF A0 D0 90 */ fmr f29, f26 /* 80089EEC 00086E4C C0 01 02 1C */ lfs f0, 0x21c(r1) /* 80089EF0 00086E50 38 61 01 FC */ addi r3, r1, 0x1fc /* 80089EF4 00086E54 C0 61 01 90 */ lfs f3, 0x190(r1) /* 80089EF8 00086E58 EC 01 00 28 */ fsubs f0, f1, f0 /* 80089EFC 00086E5C C3 81 00 2C */ lfs f28, 0x2c(r1) /* 80089F00 00086E60 C0 41 01 94 */ lfs f2, 0x194(r1) /* 80089F04 00086E64 C0 21 01 98 */ lfs f1, 0x198(r1) /* 80089F08 00086E68 EF 9C 00 28 */ fsubs f28, f28, f0 /* 80089F0C 00086E6C D0 61 01 FC */ stfs f3, 0x1fc(r1) /* 80089F10 00086E70 C3 C2 89 B0 */ lfs f30, lbl_805AA6D0@sda21(r2) /* 80089F14 00086E74 D0 41 02 00 */ stfs f2, 0x200(r1) /* 80089F18 00086E78 C3 61 00 30 */ lfs f27, 0x30(r1) /* 80089F1C 00086E7C D0 21 02 04 */ stfs f1, 0x204(r1) /* 80089F20 00086E80 48 28 A9 99 */ bl Magnitude__9CVector3fCFv /* 80089F24 00086E84 C0 81 02 0C */ lfs f4, 0x20c(r1) /* 80089F28 00086E88 7F E6 FB 78 */ mr r6, r31 /* 80089F2C 00086E8C C0 61 02 00 */ lfs f3, 0x200(r1) /* 80089F30 00086E90 38 61 02 08 */ addi r3, r1, 0x208 /* 80089F34 00086E94 C0 41 02 10 */ lfs f2, 0x210(r1) /* 80089F38 00086E98 38 81 01 84 */ addi r4, r1, 0x184 /* 80089F3C 00086E9C C0 01 02 04 */ lfs f0, 0x204(r1) /* 80089F40 00086EA0 EC 84 18 2A */ fadds f4, f4, f3 /* 80089F44 00086EA4 C0 62 8A 98 */ lfs f3, lbl_805AA7B8@sda21(r2) /* 80089F48 00086EA8 38 A1 00 28 */ addi r5, r1, 0x28 /* 80089F4C 00086EAC EC 42 00 2A */ fadds f2, f2, f0 /* 80089F50 00086EB0 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80089F54 00086EB4 C0 21 02 08 */ lfs f1, 0x208(r1) /* 80089F58 00086EB8 C0 01 01 FC */ lfs f0, 0x1fc(r1) /* 80089F5C 00086EBC D0 61 00 24 */ stfs f3, 0x24(r1) /* 80089F60 00086EC0 EC 01 00 2A */ fadds f0, f1, f0 /* 80089F64 00086EC4 C0 22 89 C4 */ lfs f1, lbl_805AA6E4@sda21(r2) /* 80089F68 00086EC8 D0 81 01 88 */ stfs f4, 0x188(r1) /* 80089F6C 00086ECC D0 01 01 84 */ stfs f0, 0x184(r1) /* 80089F70 00086ED0 D0 41 01 8C */ stfs f2, 0x18c(r1) /* 80089F74 00086ED4 48 00 0A 89 */ bl DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager /* 80089F78 00086ED8 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80089F7C 00086EDC 3B 80 00 00 */ li r28, 0 /* 80089F80 00086EE0 7C 03 00 34 */ cntlzw r3, r0 /* 80089F84 00086EE4 54 60 DE 3F */ rlwinm. r0, r3, 0x1b, 0x18, 0x1f /* 80089F88 00086EE8 54 7A D9 7E */ srwi r26, r3, 5 /* 80089F8C 00086EEC 40 82 03 54 */ bne lbl_8008A2E0 /* 80089F90 00086EF0 C0 21 00 28 */ lfs f1, 0x28(r1) /* 80089F94 00086EF4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 80089F98 00086EF8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80089F9C 00086EFC 4C 40 13 82 */ cror 2, 0, 2 /* 80089FA0 00086F00 40 82 03 40 */ bne lbl_8008A2E0 /* 80089FA4 00086F04 C0 21 02 14 */ lfs f1, 0x214(r1) /* 80089FA8 00086F08 38 00 00 00 */ li r0, 0 /* 80089FAC 00086F0C C0 A1 02 18 */ lfs f5, 0x218(r1) /* 80089FB0 00086F10 7F E3 FB 78 */ mr r3, r31 /* 80089FB4 00086F14 C0 C1 02 1C */ lfs f6, 0x21c(r1) /* 80089FB8 00086F18 EC 81 D0 28 */ fsubs f4, f1, f26 /* 80089FBC 00086F1C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80089FC0 00086F20 EC 65 D0 28 */ fsubs f3, f5, f26 /* 80089FC4 00086F24 EC 5A 08 2A */ fadds f2, f26, f1 /* 80089FC8 00086F28 D0 C1 02 4C */ stfs f6, 0x24c(r1) /* 80089FCC 00086F2C EC 3A 28 2A */ fadds f1, f26, f5 /* 80089FD0 00086F30 EC 00 30 2A */ fadds f0, f0, f6 /* 80089FD4 00086F34 D0 81 02 44 */ stfs f4, 0x244(r1) /* 80089FD8 00086F38 38 81 00 0C */ addi r4, r1, 0xc /* 80089FDC 00086F3C D0 61 02 48 */ stfs f3, 0x248(r1) /* 80089FE0 00086F40 D0 41 02 50 */ stfs f2, 0x250(r1) /* 80089FE4 00086F44 D0 21 02 54 */ stfs f1, 0x254(r1) /* 80089FE8 00086F48 D0 01 02 58 */ stfs f0, 0x258(r1) /* 80089FEC 00086F4C 90 01 0D 30 */ stw r0, 0xd30(r1) /* 80089FF0 00086F50 A0 1D 04 6C */ lhz r0, 0x46c(r29) /* 80089FF4 00086F54 B0 01 00 0C */ sth r0, 0xc(r1) /* 80089FF8 00086F58 4B FC 25 AD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80089FFC 00086F5C 7C 64 1B 78 */ mr r4, r3 /* 8008A000 00086F60 38 61 00 3C */ addi r3, r1, 0x3c /* 8008A004 00086F64 48 02 5C 8D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8008A008 00086F68 3C 80 80 47 */ lis r4, lbl_8046C408@ha /* 8008A00C 00086F6C 80 E3 00 04 */ lwz r7, 4(r3) /* 8008A010 00086F70 38 C4 C4 08 */ addi r6, r4, lbl_8046C408@l /* 8008A014 00086F74 7F E3 FB 78 */ mr r3, r31 /* 8008A018 00086F78 38 81 0D 30 */ addi r4, r1, 0xd30 /* 8008A01C 00086F7C 38 A1 02 44 */ addi r5, r1, 0x244 /* 8008A020 00086F80 4B FC 27 01 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 8008A024 00086F84 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008A028 00086F88 38 61 01 74 */ addi r3, r1, 0x174 /* 8008A02C 00086F8C 38 81 00 20 */ addi r4, r1, 0x20 /* 8008A030 00086F90 FC 00 00 50 */ fneg f0, f0 /* 8008A034 00086F94 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8008A038 00086F98 48 28 70 C1 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008A03C 00086F9C 38 61 03 4C */ addi r3, r1, 0x34c /* 8008A040 00086FA0 38 81 01 74 */ addi r4, r1, 0x174 /* 8008A044 00086FA4 48 28 7F 75 */ bl BuildTransform4f__11CQuaternionCFv /* 8008A048 00086FA8 38 61 04 CC */ addi r3, r1, 0x4cc /* 8008A04C 00086FAC 38 81 03 4C */ addi r4, r1, 0x34c /* 8008A050 00086FB0 48 28 8B 25 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008A054 00086FB4 38 61 01 64 */ addi r3, r1, 0x164 /* 8008A058 00086FB8 38 81 00 24 */ addi r4, r1, 0x24 /* 8008A05C 00086FBC 48 28 70 9D */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008A060 00086FC0 38 61 03 1C */ addi r3, r1, 0x31c /* 8008A064 00086FC4 38 81 01 64 */ addi r4, r1, 0x164 /* 8008A068 00086FC8 48 28 7F 51 */ bl BuildTransform4f__11CQuaternionCFv /* 8008A06C 00086FCC 38 61 04 9C */ addi r3, r1, 0x49c /* 8008A070 00086FD0 38 81 03 1C */ addi r4, r1, 0x31c /* 8008A074 00086FD4 48 28 8B 01 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008A078 00086FD8 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 8008A07C 00086FDC CB 42 89 C8 */ lfd f26, lbl_805AA6E8@sda21(r2) /* 8008A080 00086FE0 C3 22 8A 9C */ lfs f25, lbl_805AA7BC@sda21(r2) /* 8008A084 00086FE4 3B 63 C4 08 */ addi r27, r3, lbl_8046C408@l /* 8008A088 00086FE8 C3 02 8A A0 */ lfs f24, lbl_805AA7C0@sda21(r2) /* 8008A08C 00086FEC 3F 40 43 30 */ lis r26, 0x4330 /* 8008A090 00086FF0 C2 E2 89 C4 */ lfs f23, lbl_805AA6E4@sda21(r2) /* 8008A094 00086FF4 48 00 01 E0 */ b lbl_8008A274 lbl_8008A098: /* 8008A098 00086FF8 38 61 01 FC */ addi r3, r1, 0x1fc /* 8008A09C 00086FFC 48 28 A8 5D */ bl Normalize__9CVector3fFv /* 8008A0A0 00087000 C0 43 00 04 */ lfs f2, 4(r3) /* 8008A0A4 00087004 38 81 04 CC */ addi r4, r1, 0x4cc /* 8008A0A8 00087008 C0 23 00 08 */ lfs f1, 8(r3) /* 8008A0AC 0008700C 38 A1 01 FC */ addi r5, r1, 0x1fc /* 8008A0B0 00087010 C0 03 00 00 */ lfs f0, 0(r3) /* 8008A0B4 00087014 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 8008A0B8 00087018 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8008A0BC 0008701C 38 61 01 58 */ addi r3, r1, 0x158 /* 8008A0C0 00087020 EC 1F 00 32 */ fmuls f0, f31, f0 /* 8008A0C4 00087024 D0 41 02 00 */ stfs f2, 0x200(r1) /* 8008A0C8 00087028 D0 01 01 FC */ stfs f0, 0x1fc(r1) /* 8008A0CC 0008702C D0 21 02 04 */ stfs f1, 0x204(r1) /* 8008A0D0 00087030 48 28 89 B1 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008A0D4 00087034 C0 41 01 58 */ lfs f2, 0x158(r1) /* 8008A0D8 00087038 38 61 01 4C */ addi r3, r1, 0x14c /* 8008A0DC 0008703C C0 21 01 5C */ lfs f1, 0x15c(r1) /* 8008A0E0 00087040 38 81 04 9C */ addi r4, r1, 0x49c /* 8008A0E4 00087044 C0 01 01 60 */ lfs f0, 0x160(r1) /* 8008A0E8 00087048 38 A1 01 FC */ addi r5, r1, 0x1fc /* 8008A0EC 0008704C D0 41 01 F0 */ stfs f2, 0x1f0(r1) /* 8008A0F0 00087050 D0 21 01 F4 */ stfs f1, 0x1f4(r1) /* 8008A0F4 00087054 D0 01 01 F8 */ stfs f0, 0x1f8(r1) /* 8008A0F8 00087058 48 28 89 89 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008A0FC 0008705C C0 41 01 4C */ lfs f2, 0x14c(r1) /* 8008A100 00087060 3B 20 00 00 */ li r25, 0 /* 8008A104 00087064 C0 21 01 50 */ lfs f1, 0x150(r1) /* 8008A108 00087068 C0 01 01 54 */ lfs f0, 0x154(r1) /* 8008A10C 0008706C D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 8008A110 00087070 D0 21 01 E8 */ stfs f1, 0x1e8(r1) /* 8008A114 00087074 D0 01 01 EC */ stfs f0, 0x1ec(r1) /* 8008A118 00087078 48 00 01 28 */ b lbl_8008A240 lbl_8008A11C: /* 8008A11C 0008707C C0 21 02 0C */ lfs f1, 0x20c(r1) /* 8008A120 00087080 7F E3 FB 78 */ mr r3, r31 /* 8008A124 00087084 C0 01 01 F4 */ lfs f0, 0x1f4(r1) /* 8008A128 00087088 7F 67 DB 78 */ mr r7, r27 /* 8008A12C 0008708C C0 61 02 10 */ lfs f3, 0x210(r1) /* 8008A130 00087090 38 81 02 08 */ addi r4, r1, 0x208 /* 8008A134 00087094 C0 41 01 F8 */ lfs f2, 0x1f8(r1) /* 8008A138 00087098 EC 81 00 2A */ fadds f4, f1, f0 /* 8008A13C 0008709C C0 21 02 08 */ lfs f1, 0x208(r1) /* 8008A140 000870A0 38 A1 01 40 */ addi r5, r1, 0x140 /* 8008A144 000870A4 C0 01 01 F0 */ lfs f0, 0x1f0(r1) /* 8008A148 000870A8 EC 43 10 2A */ fadds f2, f3, f2 /* 8008A14C 000870AC D0 81 01 44 */ stfs f4, 0x144(r1) /* 8008A150 000870B0 EC 01 00 2A */ fadds f0, f1, f0 /* 8008A154 000870B4 38 C1 0D 30 */ addi r6, r1, 0xd30 /* 8008A158 000870B8 D0 41 01 48 */ stfs f2, 0x148(r1) /* 8008A15C 000870BC 39 00 00 00 */ li r8, 0 /* 8008A160 000870C0 D0 01 01 40 */ stfs f0, 0x140(r1) /* 8008A164 000870C4 4B FC 2E 09 */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 8008A168 000870C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008A16C 000870CC 41 82 00 18 */ beq lbl_8008A184 /* 8008A170 000870D0 C3 C1 01 F0 */ lfs f30, 0x1f0(r1) /* 8008A174 000870D4 3B 80 00 01 */ li r28, 1 /* 8008A178 000870D8 C3 A1 01 F4 */ lfs f29, 0x1f4(r1) /* 8008A17C 000870DC C3 81 01 F8 */ lfs f28, 0x1f8(r1) /* 8008A180 000870E0 48 00 00 E8 */ b lbl_8008A268 lbl_8008A184: /* 8008A184 000870E4 C0 21 02 0C */ lfs f1, 0x20c(r1) /* 8008A188 000870E8 7F E3 FB 78 */ mr r3, r31 /* 8008A18C 000870EC C0 01 01 E8 */ lfs f0, 0x1e8(r1) /* 8008A190 000870F0 7F 67 DB 78 */ mr r7, r27 /* 8008A194 000870F4 C0 61 02 10 */ lfs f3, 0x210(r1) /* 8008A198 000870F8 38 81 02 08 */ addi r4, r1, 0x208 /* 8008A19C 000870FC C0 41 01 EC */ lfs f2, 0x1ec(r1) /* 8008A1A0 00087100 EC 81 00 2A */ fadds f4, f1, f0 /* 8008A1A4 00087104 C0 21 02 08 */ lfs f1, 0x208(r1) /* 8008A1A8 00087108 38 A1 01 34 */ addi r5, r1, 0x134 /* 8008A1AC 0008710C C0 01 01 E4 */ lfs f0, 0x1e4(r1) /* 8008A1B0 00087110 EC 43 10 2A */ fadds f2, f3, f2 /* 8008A1B4 00087114 D0 81 01 38 */ stfs f4, 0x138(r1) /* 8008A1B8 00087118 EC 01 00 2A */ fadds f0, f1, f0 /* 8008A1BC 0008711C 38 C1 0D 30 */ addi r6, r1, 0xd30 /* 8008A1C0 00087120 D0 41 01 3C */ stfs f2, 0x13c(r1) /* 8008A1C4 00087124 39 00 00 00 */ li r8, 0 /* 8008A1C8 00087128 D0 01 01 34 */ stfs f0, 0x134(r1) /* 8008A1CC 0008712C 4B FC 2D A1 */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 8008A1D0 00087130 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008A1D4 00087134 41 82 00 18 */ beq lbl_8008A1EC /* 8008A1D8 00087138 C3 C1 01 E4 */ lfs f30, 0x1e4(r1) /* 8008A1DC 0008713C 3B 80 00 01 */ li r28, 1 /* 8008A1E0 00087140 C3 A1 01 E8 */ lfs f29, 0x1e8(r1) /* 8008A1E4 00087144 C3 81 01 EC */ lfs f28, 0x1ec(r1) /* 8008A1E8 00087148 48 00 00 80 */ b lbl_8008A268 lbl_8008A1EC: /* 8008A1EC 0008714C 38 61 01 28 */ addi r3, r1, 0x128 /* 8008A1F0 00087150 38 81 04 CC */ addi r4, r1, 0x4cc /* 8008A1F4 00087154 38 A1 01 F0 */ addi r5, r1, 0x1f0 /* 8008A1F8 00087158 48 28 88 F1 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008A1FC 0008715C C0 41 01 28 */ lfs f2, 0x128(r1) /* 8008A200 00087160 38 61 01 1C */ addi r3, r1, 0x11c /* 8008A204 00087164 C0 21 01 2C */ lfs f1, 0x12c(r1) /* 8008A208 00087168 38 81 04 9C */ addi r4, r1, 0x49c /* 8008A20C 0008716C C0 01 01 30 */ lfs f0, 0x130(r1) /* 8008A210 00087170 38 A1 01 E4 */ addi r5, r1, 0x1e4 /* 8008A214 00087174 D0 41 01 F0 */ stfs f2, 0x1f0(r1) /* 8008A218 00087178 D0 21 01 F4 */ stfs f1, 0x1f4(r1) /* 8008A21C 0008717C D0 01 01 F8 */ stfs f0, 0x1f8(r1) /* 8008A220 00087180 48 28 88 C9 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008A224 00087184 C0 41 01 1C */ lfs f2, 0x11c(r1) /* 8008A228 00087188 3B 39 00 01 */ addi r25, r25, 1 /* 8008A22C 0008718C C0 21 01 20 */ lfs f1, 0x120(r1) /* 8008A230 00087190 C0 01 01 24 */ lfs f0, 0x124(r1) /* 8008A234 00087194 D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 8008A238 00087198 D0 21 01 E8 */ stfs f1, 0x1e8(r1) /* 8008A23C 0008719C D0 01 01 EC */ stfs f0, 0x1ec(r1) lbl_8008A240: /* 8008A240 000871A0 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008A244 000871A4 6F 20 80 00 */ xoris r0, r25, 0x8000 /* 8008A248 000871A8 90 01 15 3C */ stw r0, 0x153c(r1) /* 8008A24C 000871AC EC 18 00 32 */ fmuls f0, f24, f0 /* 8008A250 000871B0 93 41 15 38 */ stw r26, 0x1538(r1) /* 8008A254 000871B4 EC 19 00 24 */ fdivs f0, f25, f0 /* 8008A258 000871B8 C8 21 15 38 */ lfd f1, 0x1538(r1) /* 8008A25C 000871BC EC 21 D0 28 */ fsubs f1, f1, f26 /* 8008A260 000871C0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008A264 000871C4 41 80 FE B8 */ blt lbl_8008A11C lbl_8008A268: /* 8008A268 000871C8 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8008A26C 000871CC EC 00 B8 28 */ fsubs f0, f0, f23 /* 8008A270 000871D0 D0 01 00 28 */ stfs f0, 0x28(r1) lbl_8008A274: /* 8008A274 000871D4 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 8008A278 000871D8 40 82 00 10 */ bne lbl_8008A288 /* 8008A27C 000871DC C3 E1 00 28 */ lfs f31, 0x28(r1) /* 8008A280 000871E0 FC 1F D8 40 */ fcmpo cr0, f31, f27 /* 8008A284 000871E4 41 81 FE 14 */ bgt lbl_8008A098 lbl_8008A288: /* 8008A288 000871E8 80 A1 0D 30 */ lwz r5, 0xd30(r1) /* 8008A28C 000871EC 38 60 00 00 */ li r3, 0 /* 8008A290 000871F0 2C 05 00 00 */ cmpwi r5, 0 /* 8008A294 000871F4 40 81 00 40 */ ble lbl_8008A2D4 /* 8008A298 000871F8 2C 05 00 08 */ cmpwi r5, 8 /* 8008A29C 000871FC 38 85 FF F8 */ addi r4, r5, -8 /* 8008A2A0 00087200 40 81 00 20 */ ble lbl_8008A2C0 /* 8008A2A4 00087204 38 04 00 07 */ addi r0, r4, 7 /* 8008A2A8 00087208 54 00 E8 FE */ srwi r0, r0, 3 /* 8008A2AC 0008720C 7C 09 03 A6 */ mtctr r0 /* 8008A2B0 00087210 2C 04 00 00 */ cmpwi r4, 0 /* 8008A2B4 00087214 40 81 00 0C */ ble lbl_8008A2C0 lbl_8008A2B8: /* 8008A2B8 00087218 38 63 00 08 */ addi r3, r3, 8 /* 8008A2BC 0008721C 42 00 FF FC */ bdnz lbl_8008A2B8 lbl_8008A2C0: /* 8008A2C0 00087220 7C 03 28 50 */ subf r0, r3, r5 /* 8008A2C4 00087224 7C 09 03 A6 */ mtctr r0 /* 8008A2C8 00087228 7C 03 28 00 */ cmpw r3, r5 /* 8008A2CC 0008722C 40 80 00 08 */ bge lbl_8008A2D4 lbl_8008A2D0: /* 8008A2D0 00087230 42 00 00 00 */ bdnz lbl_8008A2D0 lbl_8008A2D4: /* 8008A2D4 00087234 38 00 00 00 */ li r0, 0 /* 8008A2D8 00087238 90 01 0D 30 */ stw r0, 0xd30(r1) /* 8008A2DC 0008723C 48 00 06 58 */ b lbl_8008A934 lbl_8008A2E0: /* 8008A2E0 00087240 C0 21 00 28 */ lfs f1, 0x28(r1) /* 8008A2E4 00087244 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008A2E8 00087248 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008A2EC 0008724C 40 80 00 38 */ bge lbl_8008A324 /* 8008A2F0 00087250 38 61 01 FC */ addi r3, r1, 0x1fc /* 8008A2F4 00087254 48 28 A6 05 */ bl Normalize__9CVector3fFv /* 8008A2F8 00087258 C0 62 89 E0 */ lfs f3, lbl_805AA700@sda21(r2) /* 8008A2FC 0008725C C0 43 00 04 */ lfs f2, 4(r3) /* 8008A300 00087260 C0 23 00 08 */ lfs f1, 8(r3) /* 8008A304 00087264 C0 03 00 00 */ lfs f0, 0(r3) /* 8008A308 00087268 EC 43 00 B2 */ fmuls f2, f3, f2 /* 8008A30C 0008726C EC 23 00 72 */ fmuls f1, f3, f1 /* 8008A310 00087270 EC 03 00 32 */ fmuls f0, f3, f0 /* 8008A314 00087274 D0 61 00 28 */ stfs f3, 0x28(r1) /* 8008A318 00087278 D0 41 02 00 */ stfs f2, 0x200(r1) /* 8008A31C 0008727C D0 01 01 FC */ stfs f0, 0x1fc(r1) /* 8008A320 00087280 D0 21 02 04 */ stfs f1, 0x204(r1) lbl_8008A324: /* 8008A324 00087284 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008A328 00087288 38 61 01 0C */ addi r3, r1, 0x10c /* 8008A32C 0008728C 38 81 00 1C */ addi r4, r1, 0x1c /* 8008A330 00087290 FC 00 00 50 */ fneg f0, f0 /* 8008A334 00087294 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8008A338 00087298 48 28 6D C1 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008A33C 0008729C 38 61 02 EC */ addi r3, r1, 0x2ec /* 8008A340 000872A0 38 81 01 0C */ addi r4, r1, 0x10c /* 8008A344 000872A4 48 28 7C 75 */ bl BuildTransform4f__11CQuaternionCFv /* 8008A348 000872A8 38 61 04 6C */ addi r3, r1, 0x46c /* 8008A34C 000872AC 38 81 02 EC */ addi r4, r1, 0x2ec /* 8008A350 000872B0 48 28 88 25 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008A354 000872B4 38 61 01 00 */ addi r3, r1, 0x100 /* 8008A358 000872B8 38 81 04 6C */ addi r4, r1, 0x46c /* 8008A35C 000872BC 38 A1 01 FC */ addi r5, r1, 0x1fc /* 8008A360 000872C0 48 28 87 21 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008A364 000872C4 C0 41 01 00 */ lfs f2, 0x100(r1) /* 8008A368 000872C8 38 61 00 F0 */ addi r3, r1, 0xf0 /* 8008A36C 000872CC C0 21 01 04 */ lfs f1, 0x104(r1) /* 8008A370 000872D0 38 81 00 24 */ addi r4, r1, 0x24 /* 8008A374 000872D4 C0 01 01 08 */ lfs f0, 0x108(r1) /* 8008A378 000872D8 D0 41 01 D8 */ stfs f2, 0x1d8(r1) /* 8008A37C 000872DC D0 21 01 DC */ stfs f1, 0x1dc(r1) /* 8008A380 000872E0 D0 01 01 E0 */ stfs f0, 0x1e0(r1) /* 8008A384 000872E4 48 28 6D 75 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008A388 000872E8 38 61 02 BC */ addi r3, r1, 0x2bc /* 8008A38C 000872EC 38 81 00 F0 */ addi r4, r1, 0xf0 /* 8008A390 000872F0 48 28 7C 29 */ bl BuildTransform4f__11CQuaternionCFv /* 8008A394 000872F4 38 61 04 3C */ addi r3, r1, 0x43c /* 8008A398 000872F8 38 81 02 BC */ addi r4, r1, 0x2bc /* 8008A39C 000872FC 48 28 87 D9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008A3A0 00087300 38 61 00 E4 */ addi r3, r1, 0xe4 /* 8008A3A4 00087304 38 81 04 3C */ addi r4, r1, 0x43c /* 8008A3A8 00087308 38 A1 01 FC */ addi r5, r1, 0x1fc /* 8008A3AC 0008730C 48 28 86 D5 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008A3B0 00087310 C0 41 00 E4 */ lfs f2, 0xe4(r1) /* 8008A3B4 00087314 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 8008A3B8 00087318 C0 21 00 E8 */ lfs f1, 0xe8(r1) /* 8008A3BC 0008731C C0 01 00 EC */ lfs f0, 0xec(r1) /* 8008A3C0 00087320 D0 41 01 CC */ stfs f2, 0x1cc(r1) /* 8008A3C4 00087324 D0 21 01 D0 */ stfs f1, 0x1d0(r1) /* 8008A3C8 00087328 D0 01 01 D4 */ stfs f0, 0x1d4(r1) /* 8008A3CC 0008732C 40 82 00 2C */ bne lbl_8008A3F8 /* 8008A3D0 00087330 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 8008A3D4 00087334 40 82 00 50 */ bne lbl_8008A424 /* 8008A3D8 00087338 C0 21 00 28 */ lfs f1, 0x28(r1) /* 8008A3DC 0008733C C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008A3E0 00087340 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008A3E4 00087344 41 81 00 14 */ bgt lbl_8008A3F8 /* 8008A3E8 00087348 C0 3D 02 E8 */ lfs f1, 0x2e8(r29) /* 8008A3EC 0008734C C0 02 8A 60 */ lfs f0, lbl_805AA780@sda21(r2) /* 8008A3F0 00087350 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008A3F4 00087354 40 81 00 30 */ ble lbl_8008A424 lbl_8008A3F8: /* 8008A3F8 00087358 C2 E1 00 28 */ lfs f23, 0x28(r1) /* 8008A3FC 0008735C 38 61 01 FC */ addi r3, r1, 0x1fc /* 8008A400 00087360 48 28 A4 F9 */ bl Normalize__9CVector3fFv /* 8008A404 00087364 C0 43 00 00 */ lfs f2, 0(r3) /* 8008A408 00087368 3B 80 00 01 */ li r28, 1 /* 8008A40C 0008736C C0 23 00 04 */ lfs f1, 4(r3) /* 8008A410 00087370 C0 03 00 08 */ lfs f0, 8(r3) /* 8008A414 00087374 EF D7 00 B2 */ fmuls f30, f23, f2 /* 8008A418 00087378 EF B7 00 72 */ fmuls f29, f23, f1 /* 8008A41C 0008737C EF 97 00 32 */ fmuls f28, f23, f0 /* 8008A420 00087380 48 00 05 14 */ b lbl_8008A934 lbl_8008A424: /* 8008A424 00087384 C3 E2 89 E0 */ lfs f31, lbl_805AA700@sda21(r2) /* 8008A428 00087388 3B 20 00 00 */ li r25, 0 /* 8008A42C 0008738C CA E2 89 C8 */ lfd f23, lbl_805AA6E8@sda21(r2) /* 8008A430 00087390 3F 40 43 30 */ lis r26, 0x4330 /* 8008A434 00087394 C3 22 8A 9C */ lfs f25, lbl_805AA7BC@sda21(r2) /* 8008A438 00087398 C3 02 8A A0 */ lfs f24, lbl_805AA7C0@sda21(r2) /* 8008A43C 0008739C 48 00 01 90 */ b lbl_8008A5CC lbl_8008A440: /* 8008A440 000873A0 38 61 01 D8 */ addi r3, r1, 0x1d8 /* 8008A444 000873A4 48 28 A4 75 */ bl Magnitude__9CVector3fCFv /* 8008A448 000873A8 C0 41 02 0C */ lfs f2, 0x20c(r1) /* 8008A44C 000873AC 7F E6 FB 78 */ mr r6, r31 /* 8008A450 000873B0 C0 01 01 DC */ lfs f0, 0x1dc(r1) /* 8008A454 000873B4 38 61 02 08 */ addi r3, r1, 0x208 /* 8008A458 000873B8 C0 81 02 10 */ lfs f4, 0x210(r1) /* 8008A45C 000873BC 38 81 00 D8 */ addi r4, r1, 0xd8 /* 8008A460 000873C0 C0 61 01 E0 */ lfs f3, 0x1e0(r1) /* 8008A464 000873C4 EC A2 00 2A */ fadds f5, f2, f0 /* 8008A468 000873C8 C0 41 02 08 */ lfs f2, 0x208(r1) /* 8008A46C 000873CC 38 A1 00 28 */ addi r5, r1, 0x28 /* 8008A470 000873D0 C0 01 01 D8 */ lfs f0, 0x1d8(r1) /* 8008A474 000873D4 EC 64 18 2A */ fadds f3, f4, f3 /* 8008A478 000873D8 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8008A47C 000873DC EC 02 00 2A */ fadds f0, f2, f0 /* 8008A480 000873E0 C0 22 89 C4 */ lfs f1, lbl_805AA6E4@sda21(r2) /* 8008A484 000873E4 D0 A1 00 DC */ stfs f5, 0xdc(r1) /* 8008A488 000873E8 D0 01 00 D8 */ stfs f0, 0xd8(r1) /* 8008A48C 000873EC D0 61 00 E0 */ stfs f3, 0xe0(r1) /* 8008A490 000873F0 48 00 05 6D */ bl DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager /* 8008A494 000873F4 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8008A498 000873F8 7C 00 00 34 */ cntlzw r0, r0 /* 8008A49C 000873FC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f /* 8008A4A0 00087400 40 82 00 10 */ bne lbl_8008A4B0 /* 8008A4A4 00087404 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8008A4A8 00087408 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8008A4AC 0008740C 40 81 00 30 */ ble lbl_8008A4DC lbl_8008A4B0: /* 8008A4B0 00087410 C2 E1 00 28 */ lfs f23, 0x28(r1) /* 8008A4B4 00087414 38 61 01 D8 */ addi r3, r1, 0x1d8 /* 8008A4B8 00087418 48 28 A4 41 */ bl Normalize__9CVector3fFv /* 8008A4BC 0008741C C0 43 00 00 */ lfs f2, 0(r3) /* 8008A4C0 00087420 3B 80 00 01 */ li r28, 1 /* 8008A4C4 00087424 C0 23 00 04 */ lfs f1, 4(r3) /* 8008A4C8 00087428 C0 03 00 08 */ lfs f0, 8(r3) /* 8008A4CC 0008742C EF D7 00 B2 */ fmuls f30, f23, f2 /* 8008A4D0 00087430 EF B7 00 72 */ fmuls f29, f23, f1 /* 8008A4D4 00087434 EF 97 00 32 */ fmuls f28, f23, f0 /* 8008A4D8 00087438 48 00 01 1C */ b lbl_8008A5F4 lbl_8008A4DC: /* 8008A4DC 0008743C 38 61 01 CC */ addi r3, r1, 0x1cc /* 8008A4E0 00087440 48 28 A3 D9 */ bl Magnitude__9CVector3fCFv /* 8008A4E4 00087444 C0 41 02 0C */ lfs f2, 0x20c(r1) /* 8008A4E8 00087448 7F E6 FB 78 */ mr r6, r31 /* 8008A4EC 0008744C C0 01 01 D0 */ lfs f0, 0x1d0(r1) /* 8008A4F0 00087450 38 61 02 08 */ addi r3, r1, 0x208 /* 8008A4F4 00087454 C0 81 02 10 */ lfs f4, 0x210(r1) /* 8008A4F8 00087458 38 81 00 CC */ addi r4, r1, 0xcc /* 8008A4FC 0008745C C0 61 01 D4 */ lfs f3, 0x1d4(r1) /* 8008A500 00087460 EC A2 00 2A */ fadds f5, f2, f0 /* 8008A504 00087464 C0 41 02 08 */ lfs f2, 0x208(r1) /* 8008A508 00087468 38 A1 00 28 */ addi r5, r1, 0x28 /* 8008A50C 0008746C C0 01 01 CC */ lfs f0, 0x1cc(r1) /* 8008A510 00087470 EC 64 18 2A */ fadds f3, f4, f3 /* 8008A514 00087474 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8008A518 00087478 EC 02 00 2A */ fadds f0, f2, f0 /* 8008A51C 0008747C C0 22 89 C4 */ lfs f1, lbl_805AA6E4@sda21(r2) /* 8008A520 00087480 D0 A1 00 D0 */ stfs f5, 0xd0(r1) /* 8008A524 00087484 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 8008A528 00087488 D0 61 00 D4 */ stfs f3, 0xd4(r1) /* 8008A52C 0008748C 48 00 04 D1 */ bl DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager /* 8008A530 00087490 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8008A534 00087494 7C 00 00 34 */ cntlzw r0, r0 /* 8008A538 00087498 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f /* 8008A53C 0008749C 40 82 00 10 */ bne lbl_8008A54C /* 8008A540 000874A0 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8008A544 000874A4 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8008A548 000874A8 40 81 00 30 */ ble lbl_8008A578 lbl_8008A54C: /* 8008A54C 000874AC C2 E1 00 28 */ lfs f23, 0x28(r1) /* 8008A550 000874B0 38 61 01 CC */ addi r3, r1, 0x1cc /* 8008A554 000874B4 48 28 A3 A5 */ bl Normalize__9CVector3fFv /* 8008A558 000874B8 C0 43 00 00 */ lfs f2, 0(r3) /* 8008A55C 000874BC 3B 80 00 01 */ li r28, 1 /* 8008A560 000874C0 C0 23 00 04 */ lfs f1, 4(r3) /* 8008A564 000874C4 C0 03 00 08 */ lfs f0, 8(r3) /* 8008A568 000874C8 EF D7 00 B2 */ fmuls f30, f23, f2 /* 8008A56C 000874CC EF B7 00 72 */ fmuls f29, f23, f1 /* 8008A570 000874D0 EF 97 00 32 */ fmuls f28, f23, f0 /* 8008A574 000874D4 48 00 00 80 */ b lbl_8008A5F4 lbl_8008A578: /* 8008A578 000874D8 38 61 00 C0 */ addi r3, r1, 0xc0 /* 8008A57C 000874DC 38 81 04 6C */ addi r4, r1, 0x46c /* 8008A580 000874E0 38 A1 01 D8 */ addi r5, r1, 0x1d8 /* 8008A584 000874E4 48 28 85 65 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008A588 000874E8 C0 41 00 C0 */ lfs f2, 0xc0(r1) /* 8008A58C 000874EC 38 61 00 B4 */ addi r3, r1, 0xb4 /* 8008A590 000874F0 C0 21 00 C4 */ lfs f1, 0xc4(r1) /* 8008A594 000874F4 38 81 04 3C */ addi r4, r1, 0x43c /* 8008A598 000874F8 C0 01 00 C8 */ lfs f0, 0xc8(r1) /* 8008A59C 000874FC 38 A1 01 CC */ addi r5, r1, 0x1cc /* 8008A5A0 00087500 D0 41 01 D8 */ stfs f2, 0x1d8(r1) /* 8008A5A4 00087504 D0 21 01 DC */ stfs f1, 0x1dc(r1) /* 8008A5A8 00087508 D0 01 01 E0 */ stfs f0, 0x1e0(r1) /* 8008A5AC 0008750C 48 28 85 3D */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008A5B0 00087510 C0 41 00 B4 */ lfs f2, 0xb4(r1) /* 8008A5B4 00087514 3B 39 00 01 */ addi r25, r25, 1 /* 8008A5B8 00087518 C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 8008A5BC 0008751C C0 01 00 BC */ lfs f0, 0xbc(r1) /* 8008A5C0 00087520 D0 41 01 CC */ stfs f2, 0x1cc(r1) /* 8008A5C4 00087524 D0 21 01 D0 */ stfs f1, 0x1d0(r1) /* 8008A5C8 00087528 D0 01 01 D4 */ stfs f0, 0x1d4(r1) lbl_8008A5CC: /* 8008A5CC 0008752C C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008A5D0 00087530 6F 20 80 00 */ xoris r0, r25, 0x8000 /* 8008A5D4 00087534 90 01 15 3C */ stw r0, 0x153c(r1) /* 8008A5D8 00087538 EC 18 00 32 */ fmuls f0, f24, f0 /* 8008A5DC 0008753C 93 41 15 38 */ stw r26, 0x1538(r1) /* 8008A5E0 00087540 EC 19 00 24 */ fdivs f0, f25, f0 /* 8008A5E4 00087544 C8 21 15 38 */ lfd f1, 0x1538(r1) /* 8008A5E8 00087548 EC 21 B8 28 */ fsubs f1, f1, f23 /* 8008A5EC 0008754C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008A5F0 00087550 41 80 FE 50 */ blt lbl_8008A440 lbl_8008A5F4: /* 8008A5F4 00087554 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 8008A5F8 00087558 40 82 03 3C */ bne lbl_8008A934 /* 8008A5FC 0008755C C0 21 02 14 */ lfs f1, 0x214(r1) /* 8008A600 00087560 38 00 00 00 */ li r0, 0 /* 8008A604 00087564 C0 A1 02 18 */ lfs f5, 0x218(r1) /* 8008A608 00087568 7F E3 FB 78 */ mr r3, r31 /* 8008A60C 0008756C C0 C1 02 1C */ lfs f6, 0x21c(r1) /* 8008A610 00087570 EC 81 D0 28 */ fsubs f4, f1, f26 /* 8008A614 00087574 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8008A618 00087578 EC 65 D0 28 */ fsubs f3, f5, f26 /* 8008A61C 0008757C EC 5A 08 2A */ fadds f2, f26, f1 /* 8008A620 00087580 D0 C1 02 34 */ stfs f6, 0x234(r1) /* 8008A624 00087584 EC 3A 28 2A */ fadds f1, f26, f5 /* 8008A628 00087588 EC 00 30 2A */ fadds f0, f0, f6 /* 8008A62C 0008758C D0 81 02 2C */ stfs f4, 0x22c(r1) /* 8008A630 00087590 38 81 00 08 */ addi r4, r1, 8 /* 8008A634 00087594 D0 61 02 30 */ stfs f3, 0x230(r1) /* 8008A638 00087598 D0 41 02 38 */ stfs f2, 0x238(r1) /* 8008A63C 0008759C D0 21 02 3C */ stfs f1, 0x23c(r1) /* 8008A640 000875A0 D0 01 02 40 */ stfs f0, 0x240(r1) /* 8008A644 000875A4 90 01 05 2C */ stw r0, 0x52c(r1) /* 8008A648 000875A8 A0 1D 04 6C */ lhz r0, 0x46c(r29) /* 8008A64C 000875AC B0 01 00 08 */ sth r0, 8(r1) /* 8008A650 000875B0 4B FC 1F 55 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8008A654 000875B4 7C 64 1B 78 */ mr r4, r3 /* 8008A658 000875B8 38 61 00 34 */ addi r3, r1, 0x34 /* 8008A65C 000875BC 48 02 56 35 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8008A660 000875C0 3C 80 80 47 */ lis r4, lbl_8046C408@ha /* 8008A664 000875C4 80 E3 00 04 */ lwz r7, 4(r3) /* 8008A668 000875C8 38 C4 C4 08 */ addi r6, r4, lbl_8046C408@l /* 8008A66C 000875CC 7F E3 FB 78 */ mr r3, r31 /* 8008A670 000875D0 38 81 05 2C */ addi r4, r1, 0x52c /* 8008A674 000875D4 38 A1 02 2C */ addi r5, r1, 0x22c /* 8008A678 000875D8 4B FC 20 A9 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 8008A67C 000875DC C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008A680 000875E0 38 61 00 A4 */ addi r3, r1, 0xa4 /* 8008A684 000875E4 38 81 00 18 */ addi r4, r1, 0x18 /* 8008A688 000875E8 FC 00 00 50 */ fneg f0, f0 /* 8008A68C 000875EC D0 01 00 18 */ stfs f0, 0x18(r1) /* 8008A690 000875F0 48 28 6A 69 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008A694 000875F4 38 61 02 8C */ addi r3, r1, 0x28c /* 8008A698 000875F8 38 81 00 A4 */ addi r4, r1, 0xa4 /* 8008A69C 000875FC 48 28 79 1D */ bl BuildTransform4f__11CQuaternionCFv /* 8008A6A0 00087600 38 61 04 0C */ addi r3, r1, 0x40c /* 8008A6A4 00087604 38 81 02 8C */ addi r4, r1, 0x28c /* 8008A6A8 00087608 48 28 84 CD */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008A6AC 0008760C 38 61 00 94 */ addi r3, r1, 0x94 /* 8008A6B0 00087610 38 81 00 24 */ addi r4, r1, 0x24 /* 8008A6B4 00087614 48 28 6A 45 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 8008A6B8 00087618 38 61 02 5C */ addi r3, r1, 0x25c /* 8008A6BC 0008761C 38 81 00 94 */ addi r4, r1, 0x94 /* 8008A6C0 00087620 48 28 78 F9 */ bl BuildTransform4f__11CQuaternionCFv /* 8008A6C4 00087624 38 61 03 DC */ addi r3, r1, 0x3dc /* 8008A6C8 00087628 38 81 02 5C */ addi r4, r1, 0x25c /* 8008A6CC 0008762C 48 28 84 A9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008A6D0 00087630 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 8008A6D4 00087634 CB 02 89 C8 */ lfd f24, lbl_805AA6E8@sda21(r2) /* 8008A6D8 00087638 C3 22 8A 9C */ lfs f25, lbl_805AA7BC@sda21(r2) /* 8008A6DC 0008763C 3B 43 C4 08 */ addi r26, r3, lbl_8046C408@l /* 8008A6E0 00087640 C3 E2 8A A0 */ lfs f31, lbl_805AA7C0@sda21(r2) /* 8008A6E4 00087644 3F 60 43 30 */ lis r27, 0x4330 /* 8008A6E8 00087648 C3 42 89 C4 */ lfs f26, lbl_805AA6E4@sda21(r2) /* 8008A6EC 0008764C 48 00 01 E0 */ b lbl_8008A8CC lbl_8008A6F0: /* 8008A6F0 00087650 38 61 01 FC */ addi r3, r1, 0x1fc /* 8008A6F4 00087654 48 28 A2 05 */ bl Normalize__9CVector3fFv /* 8008A6F8 00087658 C0 43 00 04 */ lfs f2, 4(r3) /* 8008A6FC 0008765C 38 81 04 0C */ addi r4, r1, 0x40c /* 8008A700 00087660 C0 23 00 08 */ lfs f1, 8(r3) /* 8008A704 00087664 38 A1 01 FC */ addi r5, r1, 0x1fc /* 8008A708 00087668 C0 03 00 00 */ lfs f0, 0(r3) /* 8008A70C 0008766C EC 57 00 B2 */ fmuls f2, f23, f2 /* 8008A710 00087670 EC 37 00 72 */ fmuls f1, f23, f1 /* 8008A714 00087674 38 61 00 88 */ addi r3, r1, 0x88 /* 8008A718 00087678 EC 17 00 32 */ fmuls f0, f23, f0 /* 8008A71C 0008767C D0 41 02 00 */ stfs f2, 0x200(r1) /* 8008A720 00087680 D0 01 01 FC */ stfs f0, 0x1fc(r1) /* 8008A724 00087684 D0 21 02 04 */ stfs f1, 0x204(r1) /* 8008A728 00087688 48 28 83 59 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008A72C 0008768C C0 41 00 88 */ lfs f2, 0x88(r1) /* 8008A730 00087690 38 61 00 7C */ addi r3, r1, 0x7c /* 8008A734 00087694 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 8008A738 00087698 38 81 03 DC */ addi r4, r1, 0x3dc /* 8008A73C 0008769C C0 01 00 90 */ lfs f0, 0x90(r1) /* 8008A740 000876A0 38 A1 01 FC */ addi r5, r1, 0x1fc /* 8008A744 000876A4 D0 41 01 C0 */ stfs f2, 0x1c0(r1) /* 8008A748 000876A8 D0 21 01 C4 */ stfs f1, 0x1c4(r1) /* 8008A74C 000876AC D0 01 01 C8 */ stfs f0, 0x1c8(r1) /* 8008A750 000876B0 48 28 83 31 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008A754 000876B4 C0 41 00 7C */ lfs f2, 0x7c(r1) /* 8008A758 000876B8 3B 20 00 00 */ li r25, 0 /* 8008A75C 000876BC C0 21 00 80 */ lfs f1, 0x80(r1) /* 8008A760 000876C0 C0 01 00 84 */ lfs f0, 0x84(r1) /* 8008A764 000876C4 D0 41 01 B4 */ stfs f2, 0x1b4(r1) /* 8008A768 000876C8 D0 21 01 B8 */ stfs f1, 0x1b8(r1) /* 8008A76C 000876CC D0 01 01 BC */ stfs f0, 0x1bc(r1) /* 8008A770 000876D0 48 00 01 28 */ b lbl_8008A898 lbl_8008A774: /* 8008A774 000876D4 C0 21 02 0C */ lfs f1, 0x20c(r1) /* 8008A778 000876D8 7F E3 FB 78 */ mr r3, r31 /* 8008A77C 000876DC C0 01 01 C4 */ lfs f0, 0x1c4(r1) /* 8008A780 000876E0 7F 47 D3 78 */ mr r7, r26 /* 8008A784 000876E4 C0 61 02 10 */ lfs f3, 0x210(r1) /* 8008A788 000876E8 38 81 02 08 */ addi r4, r1, 0x208 /* 8008A78C 000876EC C0 41 01 C8 */ lfs f2, 0x1c8(r1) /* 8008A790 000876F0 EC 81 00 2A */ fadds f4, f1, f0 /* 8008A794 000876F4 C0 21 02 08 */ lfs f1, 0x208(r1) /* 8008A798 000876F8 38 A1 00 70 */ addi r5, r1, 0x70 /* 8008A79C 000876FC C0 01 01 C0 */ lfs f0, 0x1c0(r1) /* 8008A7A0 00087700 EC 43 10 2A */ fadds f2, f3, f2 /* 8008A7A4 00087704 D0 81 00 74 */ stfs f4, 0x74(r1) /* 8008A7A8 00087708 EC 01 00 2A */ fadds f0, f1, f0 /* 8008A7AC 0008770C 38 C1 05 2C */ addi r6, r1, 0x52c /* 8008A7B0 00087710 D0 41 00 78 */ stfs f2, 0x78(r1) /* 8008A7B4 00087714 39 00 00 00 */ li r8, 0 /* 8008A7B8 00087718 D0 01 00 70 */ stfs f0, 0x70(r1) /* 8008A7BC 0008771C 4B FC 27 B1 */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 8008A7C0 00087720 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008A7C4 00087724 41 82 00 18 */ beq lbl_8008A7DC /* 8008A7C8 00087728 C3 C1 01 C0 */ lfs f30, 0x1c0(r1) /* 8008A7CC 0008772C 3B 80 00 01 */ li r28, 1 /* 8008A7D0 00087730 C3 A1 01 C4 */ lfs f29, 0x1c4(r1) /* 8008A7D4 00087734 C3 81 01 C8 */ lfs f28, 0x1c8(r1) /* 8008A7D8 00087738 48 00 00 E8 */ b lbl_8008A8C0 lbl_8008A7DC: /* 8008A7DC 0008773C C0 21 02 0C */ lfs f1, 0x20c(r1) /* 8008A7E0 00087740 7F E3 FB 78 */ mr r3, r31 /* 8008A7E4 00087744 C0 01 01 B8 */ lfs f0, 0x1b8(r1) /* 8008A7E8 00087748 7F 47 D3 78 */ mr r7, r26 /* 8008A7EC 0008774C C0 61 02 10 */ lfs f3, 0x210(r1) /* 8008A7F0 00087750 38 81 02 08 */ addi r4, r1, 0x208 /* 8008A7F4 00087754 C0 41 01 BC */ lfs f2, 0x1bc(r1) /* 8008A7F8 00087758 EC 81 00 2A */ fadds f4, f1, f0 /* 8008A7FC 0008775C C0 21 02 08 */ lfs f1, 0x208(r1) /* 8008A800 00087760 38 A1 00 64 */ addi r5, r1, 0x64 /* 8008A804 00087764 C0 01 01 B4 */ lfs f0, 0x1b4(r1) /* 8008A808 00087768 EC 43 10 2A */ fadds f2, f3, f2 /* 8008A80C 0008776C D0 81 00 68 */ stfs f4, 0x68(r1) /* 8008A810 00087770 EC 01 00 2A */ fadds f0, f1, f0 /* 8008A814 00087774 38 C1 05 2C */ addi r6, r1, 0x52c /* 8008A818 00087778 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8008A81C 0008777C 39 00 00 00 */ li r8, 0 /* 8008A820 00087780 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8008A824 00087784 4B FC 27 49 */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 8008A828 00087788 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008A82C 0008778C 41 82 00 18 */ beq lbl_8008A844 /* 8008A830 00087790 C3 C1 01 B4 */ lfs f30, 0x1b4(r1) /* 8008A834 00087794 3B 80 00 01 */ li r28, 1 /* 8008A838 00087798 C3 A1 01 B8 */ lfs f29, 0x1b8(r1) /* 8008A83C 0008779C C3 81 01 BC */ lfs f28, 0x1bc(r1) /* 8008A840 000877A0 48 00 00 80 */ b lbl_8008A8C0 lbl_8008A844: /* 8008A844 000877A4 38 61 00 58 */ addi r3, r1, 0x58 /* 8008A848 000877A8 38 81 04 0C */ addi r4, r1, 0x40c /* 8008A84C 000877AC 38 A1 01 C0 */ addi r5, r1, 0x1c0 /* 8008A850 000877B0 48 28 82 99 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008A854 000877B4 C0 41 00 58 */ lfs f2, 0x58(r1) /* 8008A858 000877B8 38 61 00 4C */ addi r3, r1, 0x4c /* 8008A85C 000877BC C0 21 00 5C */ lfs f1, 0x5c(r1) /* 8008A860 000877C0 38 81 03 DC */ addi r4, r1, 0x3dc /* 8008A864 000877C4 C0 01 00 60 */ lfs f0, 0x60(r1) /* 8008A868 000877C8 38 A1 01 B4 */ addi r5, r1, 0x1b4 /* 8008A86C 000877CC D0 41 01 C0 */ stfs f2, 0x1c0(r1) /* 8008A870 000877D0 D0 21 01 C4 */ stfs f1, 0x1c4(r1) /* 8008A874 000877D4 D0 01 01 C8 */ stfs f0, 0x1c8(r1) /* 8008A878 000877D8 48 28 82 71 */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008A87C 000877DC C0 41 00 4C */ lfs f2, 0x4c(r1) /* 8008A880 000877E0 3B 39 00 01 */ addi r25, r25, 1 /* 8008A884 000877E4 C0 21 00 50 */ lfs f1, 0x50(r1) /* 8008A888 000877E8 C0 01 00 54 */ lfs f0, 0x54(r1) /* 8008A88C 000877EC D0 41 01 B4 */ stfs f2, 0x1b4(r1) /* 8008A890 000877F0 D0 21 01 B8 */ stfs f1, 0x1b8(r1) /* 8008A894 000877F4 D0 01 01 BC */ stfs f0, 0x1bc(r1) lbl_8008A898: /* 8008A898 000877F8 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008A89C 000877FC 6F 20 80 00 */ xoris r0, r25, 0x8000 /* 8008A8A0 00087800 90 01 15 3C */ stw r0, 0x153c(r1) /* 8008A8A4 00087804 EC 1F 00 32 */ fmuls f0, f31, f0 /* 8008A8A8 00087808 93 61 15 38 */ stw r27, 0x1538(r1) /* 8008A8AC 0008780C EC 19 00 24 */ fdivs f0, f25, f0 /* 8008A8B0 00087810 C8 21 15 38 */ lfd f1, 0x1538(r1) /* 8008A8B4 00087814 EC 21 C0 28 */ fsubs f1, f1, f24 /* 8008A8B8 00087818 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008A8BC 0008781C 41 80 FE B8 */ blt lbl_8008A774 lbl_8008A8C0: /* 8008A8C0 00087820 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8008A8C4 00087824 EC 00 D0 28 */ fsubs f0, f0, f26 /* 8008A8C8 00087828 D0 01 00 28 */ stfs f0, 0x28(r1) lbl_8008A8CC: /* 8008A8CC 0008782C 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 8008A8D0 00087830 40 82 00 10 */ bne lbl_8008A8E0 /* 8008A8D4 00087834 C2 E1 00 28 */ lfs f23, 0x28(r1) /* 8008A8D8 00087838 FC 17 D8 40 */ fcmpo cr0, f23, f27 /* 8008A8DC 0008783C 41 81 FE 14 */ bgt lbl_8008A6F0 lbl_8008A8E0: /* 8008A8E0 00087840 80 A1 05 2C */ lwz r5, 0x52c(r1) /* 8008A8E4 00087844 38 60 00 00 */ li r3, 0 /* 8008A8E8 00087848 2C 05 00 00 */ cmpwi r5, 0 /* 8008A8EC 0008784C 40 81 00 40 */ ble lbl_8008A92C /* 8008A8F0 00087850 2C 05 00 08 */ cmpwi r5, 8 /* 8008A8F4 00087854 38 85 FF F8 */ addi r4, r5, -8 /* 8008A8F8 00087858 40 81 00 20 */ ble lbl_8008A918 /* 8008A8FC 0008785C 38 04 00 07 */ addi r0, r4, 7 /* 8008A900 00087860 54 00 E8 FE */ srwi r0, r0, 3 /* 8008A904 00087864 7C 09 03 A6 */ mtctr r0 /* 8008A908 00087868 2C 04 00 00 */ cmpwi r4, 0 /* 8008A90C 0008786C 40 81 00 0C */ ble lbl_8008A918 lbl_8008A910: /* 8008A910 00087870 38 63 00 08 */ addi r3, r3, 8 /* 8008A914 00087874 42 00 FF FC */ bdnz lbl_8008A910 lbl_8008A918: /* 8008A918 00087878 7C 03 28 50 */ subf r0, r3, r5 /* 8008A91C 0008787C 7C 09 03 A6 */ mtctr r0 /* 8008A920 00087880 7C 03 28 00 */ cmpw r3, r5 /* 8008A924 00087884 40 80 00 08 */ bge lbl_8008A92C lbl_8008A928: /* 8008A928 00087888 42 00 00 00 */ bdnz lbl_8008A928 lbl_8008A92C: /* 8008A92C 0008788C 38 00 00 00 */ li r0, 0 /* 8008A930 00087890 90 01 05 2C */ stw r0, 0x52c(r1) lbl_8008A934: /* 8008A934 00087894 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 8008A938 00087898 40 82 00 20 */ bne lbl_8008A958 /* 8008A93C 0008789C C0 5D 00 60 */ lfs f2, 0x60(r29) /* 8008A940 000878A0 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 8008A944 000878A4 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 8008A948 000878A8 D0 1E 00 00 */ stfs f0, 0(r30) /* 8008A94C 000878AC D0 3E 00 04 */ stfs f1, 4(r30) /* 8008A950 000878B0 D0 5E 00 08 */ stfs f2, 8(r30) /* 8008A954 000878B4 48 00 00 28 */ b lbl_8008A97C lbl_8008A958: /* 8008A958 000878B8 C0 01 02 08 */ lfs f0, 0x208(r1) /* 8008A95C 000878BC C0 41 02 0C */ lfs f2, 0x20c(r1) /* 8008A960 000878C0 EC 00 F0 2A */ fadds f0, f0, f30 /* 8008A964 000878C4 C0 21 02 10 */ lfs f1, 0x210(r1) /* 8008A968 000878C8 EC 42 E8 2A */ fadds f2, f2, f29 /* 8008A96C 000878CC EC 21 E0 2A */ fadds f1, f1, f28 /* 8008A970 000878D0 D0 1E 00 00 */ stfs f0, 0(r30) /* 8008A974 000878D4 D0 5E 00 04 */ stfs f2, 4(r30) /* 8008A978 000878D8 D0 3E 00 08 */ stfs f1, 8(r30) lbl_8008A97C: /* 8008A97C 000878DC 38 00 15 E8 */ li r0, 0x15e8 /* 8008A980 000878E0 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0 /* 8008A984 000878E4 CB E1 15 E0 */ lfd f31, 0x15e0(r1) /* 8008A988 000878E8 38 00 15 D8 */ li r0, 0x15d8 /* 8008A98C 000878EC 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0 /* 8008A990 000878F0 CB C1 15 D0 */ lfd f30, 0x15d0(r1) /* 8008A994 000878F4 38 00 15 C8 */ li r0, 0x15c8 /* 8008A998 000878F8 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0 /* 8008A99C 000878FC CB A1 15 C0 */ lfd f29, 0x15c0(r1) /* 8008A9A0 00087900 38 00 15 B8 */ li r0, 0x15b8 /* 8008A9A4 00087904 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0 /* 8008A9A8 00087908 CB 81 15 B0 */ lfd f28, 0x15b0(r1) /* 8008A9AC 0008790C 38 00 15 A8 */ li r0, 0x15a8 /* 8008A9B0 00087910 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0 /* 8008A9B4 00087914 CB 61 15 A0 */ lfd f27, 0x15a0(r1) /* 8008A9B8 00087918 38 00 15 98 */ li r0, 0x1598 /* 8008A9BC 0008791C 13 41 00 0C */ psq_lx f26, r1, r0, 0, qr0 /* 8008A9C0 00087920 CB 41 15 90 */ lfd f26, 0x1590(r1) /* 8008A9C4 00087924 38 00 15 88 */ li r0, 0x1588 /* 8008A9C8 00087928 13 21 00 0C */ psq_lx f25, r1, r0, 0, qr0 /* 8008A9CC 0008792C CB 21 15 80 */ lfd f25, 0x1580(r1) /* 8008A9D0 00087930 38 00 15 78 */ li r0, 0x1578 /* 8008A9D4 00087934 13 01 00 0C */ psq_lx f24, r1, r0, 0, qr0 /* 8008A9D8 00087938 CB 01 15 70 */ lfd f24, 0x1570(r1) /* 8008A9DC 0008793C 38 00 15 68 */ li r0, 0x1568 /* 8008A9E0 00087940 12 E1 00 0C */ psq_lx f23, r1, r0, 0, qr0 /* 8008A9E4 00087944 CA E1 15 60 */ lfd f23, 0x1560(r1) /* 8008A9E8 00087948 BB 21 15 44 */ lmw r25, 0x1544(r1) /* 8008A9EC 0008794C 80 01 15 F4 */ lwz r0, 0x15f4(r1) /* 8008A9F0 00087950 7C 08 03 A6 */ mtlr r0 /* 8008A9F4 00087954 38 21 15 F0 */ addi r1, r1, 0x15f0 /* 8008A9F8 00087958 4E 80 00 20 */ blr .global DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager DetectCollision__11CBallCameraFRC9CVector3fRC9CVector3ffRfR13CStateManager: /* 8008A9FC 0008795C 94 21 DA 70 */ stwu r1, -0x2590(r1) /* 8008AA00 00087960 7C 08 02 A6 */ mflr r0 /* 8008AA04 00087964 90 01 25 94 */ stw r0, 0x2594(r1) /* 8008AA08 00087968 38 00 25 88 */ li r0, 0x2588 /* 8008AA0C 0008796C DB E1 25 80 */ stfd f31, 0x2580(r1) /* 8008AA10 00087970 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0 /* 8008AA14 00087974 38 00 25 78 */ li r0, 0x2578 /* 8008AA18 00087978 DB C1 25 70 */ stfd f30, 0x2570(r1) /* 8008AA1C 0008797C 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0 /* 8008AA20 00087980 38 00 25 68 */ li r0, 0x2568 /* 8008AA24 00087984 DB A1 25 60 */ stfd f29, 0x2560(r1) /* 8008AA28 00087988 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0 /* 8008AA2C 0008798C 38 00 25 58 */ li r0, 0x2558 /* 8008AA30 00087990 DB 81 25 50 */ stfd f28, 0x2550(r1) /* 8008AA34 00087994 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0 /* 8008AA38 00087998 38 00 25 48 */ li r0, 0x2548 /* 8008AA3C 0008799C DB 61 25 40 */ stfd f27, 0x2540(r1) /* 8008AA40 000879A0 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 8008AA44 000879A4 BF 21 25 24 */ stmw r25, 0x2524(r1) /* 8008AA48 000879A8 7C 7B 1B 78 */ mr r27, r3 /* 8008AA4C 000879AC 7C 99 23 78 */ mr r25, r4 /* 8008AA50 000879B0 C0 84 00 04 */ lfs f4, 4(r4) /* 8008AA54 000879B4 FF A0 08 90 */ fmr f29, f1 /* 8008AA58 000879B8 C0 03 00 04 */ lfs f0, 4(r3) /* 8008AA5C 000879BC 7C BC 2B 78 */ mr r28, r5 /* 8008AA60 000879C0 C0 64 00 08 */ lfs f3, 8(r4) /* 8008AA64 000879C4 7C DD 33 78 */ mr r29, r6 /* 8008AA68 000879C8 C0 43 00 08 */ lfs f2, 8(r3) /* 8008AA6C 000879CC EC 84 00 28 */ fsubs f4, f4, f0 /* 8008AA70 000879D0 C0 24 00 00 */ lfs f1, 0(r4) /* 8008AA74 000879D4 C0 03 00 00 */ lfs f0, 0(r3) /* 8008AA78 000879D8 EC 43 10 28 */ fsubs f2, f3, f2 /* 8008AA7C 000879DC 38 61 00 60 */ addi r3, r1, 0x60 /* 8008AA80 000879E0 EC 01 00 28 */ fsubs f0, f1, f0 /* 8008AA84 000879E4 D0 81 00 64 */ stfs f4, 0x64(r1) /* 8008AA88 000879E8 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8008AA8C 000879EC D0 41 00 68 */ stfs f2, 0x68(r1) /* 8008AA90 000879F0 48 28 9E 29 */ bl Magnitude__9CVector3fCFv /* 8008AA94 000879F4 FF E0 08 90 */ fmr f31, f1 /* 8008AA98 000879F8 C0 22 89 B8 */ lfs f1, lbl_805AA6D8@sda21(r2) /* 8008AA9C 000879FC C0 02 8A A4 */ lfs f0, lbl_805AA7C4@sda21(r2) /* 8008AAA0 00087A00 3B C0 00 01 */ li r30, 1 /* 8008AAA4 00087A04 C0 61 00 60 */ lfs f3, 0x60(r1) /* 8008AAA8 00087A08 EC 81 F8 24 */ fdivs f4, f1, f31 /* 8008AAAC 00087A0C C0 41 00 64 */ lfs f2, 0x64(r1) /* 8008AAB0 00087A10 C0 21 00 68 */ lfs f1, 0x68(r1) /* 8008AAB4 00087A14 EC 64 00 F2 */ fmuls f3, f4, f3 /* 8008AAB8 00087A18 EC 44 00 B2 */ fmuls f2, f4, f2 /* 8008AABC 00087A1C EC 24 00 72 */ fmuls f1, f4, f1 /* 8008AAC0 00087A20 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8008AAC4 00087A24 D0 61 00 54 */ stfs f3, 0x54(r1) /* 8008AAC8 00087A28 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8008AACC 00087A2C D0 21 00 5C */ stfs f1, 0x5c(r1) /* 8008AAD0 00087A30 40 81 05 EC */ ble lbl_8008B0BC /* 8008AAD4 00087A34 3C 60 80 5A */ lis r3, lbl_805A6754@ha /* 8008AAD8 00087A38 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008AADC 00087A3C 38 A3 67 54 */ addi r5, r3, lbl_805A6754@l /* 8008AAE0 00087A40 7F 64 DB 78 */ mr r4, r27 /* 8008AAE4 00087A44 C0 A5 00 00 */ lfs f5, 0(r5) /* 8008AAE8 00087A48 EF C0 07 72 */ fmuls f30, f0, f29 /* 8008AAEC 00087A4C C0 85 00 04 */ lfs f4, 4(r5) /* 8008AAF0 00087A50 38 61 00 F8 */ addi r3, r1, 0xf8 /* 8008AAF4 00087A54 C0 65 00 08 */ lfs f3, 8(r5) /* 8008AAF8 00087A58 C0 45 00 0C */ lfs f2, 0xc(r5) /* 8008AAFC 00087A5C C0 25 00 10 */ lfs f1, 0x10(r5) /* 8008AB00 00087A60 C0 05 00 14 */ lfs f0, 0x14(r5) /* 8008AB04 00087A64 D0 A1 00 F8 */ stfs f5, 0xf8(r1) /* 8008AB08 00087A68 D0 81 00 FC */ stfs f4, 0xfc(r1) /* 8008AB0C 00087A6C D0 61 01 00 */ stfs f3, 0x100(r1) /* 8008AB10 00087A70 D0 41 01 04 */ stfs f2, 0x104(r1) /* 8008AB14 00087A74 D0 21 01 08 */ stfs f1, 0x108(r1) /* 8008AB18 00087A78 D0 01 01 0C */ stfs f0, 0x10c(r1) /* 8008AB1C 00087A7C 48 2A CF ED */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 8008AB20 00087A80 7F 24 CB 78 */ mr r4, r25 /* 8008AB24 00087A84 38 61 00 F8 */ addi r3, r1, 0xf8 /* 8008AB28 00087A88 48 2A CF E1 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 8008AB2C 00087A8C C0 41 01 08 */ lfs f2, 0x108(r1) /* 8008AB30 00087A90 38 61 00 E0 */ addi r3, r1, 0xe0 /* 8008AB34 00087A94 C0 21 01 0C */ lfs f1, 0x10c(r1) /* 8008AB38 00087A98 38 81 00 48 */ addi r4, r1, 0x48 /* 8008AB3C 00087A9C C0 01 01 04 */ lfs f0, 0x104(r1) /* 8008AB40 00087AA0 EC A2 F0 2A */ fadds f5, f2, f30 /* 8008AB44 00087AA4 C0 41 00 FC */ lfs f2, 0xfc(r1) /* 8008AB48 00087AA8 EC 81 F0 2A */ fadds f4, f1, f30 /* 8008AB4C 00087AAC C0 21 01 00 */ lfs f1, 0x100(r1) /* 8008AB50 00087AB0 EC 60 F0 2A */ fadds f3, f0, f30 /* 8008AB54 00087AB4 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 8008AB58 00087AB8 EC 42 F0 28 */ fsubs f2, f2, f30 /* 8008AB5C 00087ABC D0 A1 00 40 */ stfs f5, 0x40(r1) /* 8008AB60 00087AC0 EC 21 F0 28 */ fsubs f1, f1, f30 /* 8008AB64 00087AC4 38 A1 00 3C */ addi r5, r1, 0x3c /* 8008AB68 00087AC8 EC 00 F0 28 */ fsubs f0, f0, f30 /* 8008AB6C 00087ACC D0 61 00 3C */ stfs f3, 0x3c(r1) /* 8008AB70 00087AD0 D0 81 00 44 */ stfs f4, 0x44(r1) /* 8008AB74 00087AD4 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8008AB78 00087AD8 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8008AB7C 00087ADC D0 21 00 50 */ stfs f1, 0x50(r1) /* 8008AB80 00087AE0 48 2A D9 89 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 8008AB84 00087AE4 80 A1 00 E0 */ lwz r5, 0xe0(r1) /* 8008AB88 00087AE8 38 00 00 00 */ li r0, 0 /* 8008AB8C 00087AEC 81 61 00 E4 */ lwz r11, 0xe4(r1) /* 8008AB90 00087AF0 7F A3 EB 78 */ mr r3, r29 /* 8008AB94 00087AF4 81 41 00 E8 */ lwz r10, 0xe8(r1) /* 8008AB98 00087AF8 38 81 1D 14 */ addi r4, r1, 0x1d14 /* 8008AB9C 00087AFC 81 21 00 EC */ lwz r9, 0xec(r1) /* 8008ABA0 00087B00 38 C1 00 F8 */ addi r6, r1, 0xf8 /* 8008ABA4 00087B04 81 01 00 F0 */ lwz r8, 0xf0(r1) /* 8008ABA8 00087B08 80 E1 00 F4 */ lwz r7, 0xf4(r1) /* 8008ABAC 00087B0C 90 A1 00 F8 */ stw r5, 0xf8(r1) /* 8008ABB0 00087B10 80 BD 08 4C */ lwz r5, 0x84c(r29) /* 8008ABB4 00087B14 91 61 00 FC */ stw r11, 0xfc(r1) /* 8008ABB8 00087B18 91 41 01 00 */ stw r10, 0x100(r1) /* 8008ABBC 00087B1C 91 21 01 04 */ stw r9, 0x104(r1) /* 8008ABC0 00087B20 91 01 01 08 */ stw r8, 0x108(r1) /* 8008ABC4 00087B24 90 E1 01 0C */ stw r7, 0x10c(r1) /* 8008ABC8 00087B28 90 01 1D 14 */ stw r0, 0x1d14(r1) /* 8008ABCC 00087B2C 4B FC 1B 31 */ bl "BuildColliderList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CActorRC6CAABox" /* 8008ABD0 00087B30 38 61 01 D0 */ addi r3, r1, 0x1d0 /* 8008ABD4 00087B34 38 81 00 F8 */ addi r4, r1, 0xf8 /* 8008ABD8 00087B38 48 21 8E B9 */ bl __ct__19CAreaCollisionCacheFRC6CAABox /* 8008ABDC 00087B3C 7F A3 EB 78 */ mr r3, r29 /* 8008ABE0 00087B40 38 81 01 D0 */ addi r4, r1, 0x1d0 /* 8008ABE4 00087B44 48 0F 9A E1 */ bl BuildAreaCollisionCache__14CGameCollisionFRC13CStateManagerR19CAreaCollisionCache /* 8008ABE8 00087B48 88 01 1D 10 */ lbz r0, 0x1d10(r1) /* 8008ABEC 00087B4C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8008ABF0 00087B50 41 82 00 08 */ beq lbl_8008ABF8 /* 8008ABF4 00087B54 3B C0 00 00 */ li r30, 0 lbl_8008ABF8: /* 8008ABF8 00087B58 38 00 00 00 */ li r0, 0 /* 8008ABFC 00087B5C 80 AD 84 84 */ lwz r5, lbl_805A7044@sda21(r13) /* 8008AC00 00087B60 90 01 00 24 */ stw r0, 0x24(r1) /* 8008AC04 00087B64 38 60 00 00 */ li r3, 0 /* 8008AC08 00087B68 38 80 00 01 */ li r4, 1 /* 8008AC0C 00087B6C 90 01 00 20 */ stw r0, 0x20(r1) /* 8008AC10 00087B70 48 2F F2 E5 */ bl __shl2i /* 8008AC14 00087B74 80 01 00 20 */ lwz r0, 0x20(r1) /* 8008AC18 00087B78 3C A0 80 5A */ lis r5, skZero3f@ha /* 8008AC1C 00087B7C 80 C1 00 24 */ lwz r6, 0x24(r1) /* 8008AC20 00087B80 3B E5 66 A0 */ addi r31, r5, skZero3f@l /* 8008AC24 00087B84 7C 00 1B 78 */ or r0, r0, r3 /* 8008AC28 00087B88 C3 DF 00 00 */ lfs f30, 0(r31) /* 8008AC2C 00087B8C 7C C4 23 78 */ or r4, r6, r4 /* 8008AC30 00087B90 90 01 00 20 */ stw r0, 0x20(r1) /* 8008AC34 00087B94 C3 9F 00 04 */ lfs f28, 4(r31) /* 8008AC38 00087B98 38 61 00 C0 */ addi r3, r1, 0xc0 /* 8008AC3C 00087B9C 90 81 00 24 */ stw r4, 0x24(r1) /* 8008AC40 00087BA0 38 81 00 20 */ addi r4, r1, 0x20 /* 8008AC44 00087BA4 C3 7F 00 08 */ lfs f27, 8(r31) /* 8008AC48 00087BA8 48 24 4C 6D */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList /* 8008AC4C 00087BAC 3C 60 80 3F */ lis r3, lbl_803ECAF8@ha /* 8008AC50 00087BB0 80 AD 84 8C */ lwz r5, lbl_805A704C@sda21(r13) /* 8008AC54 00087BB4 38 03 CA F8 */ addi r0, r3, lbl_803ECAF8@l /* 8008AC58 00087BB8 D3 C1 00 D0 */ stfs f30, 0xd0(r1) /* 8008AC5C 00087BBC 38 60 00 00 */ li r3, 0 /* 8008AC60 00087BC0 38 80 00 01 */ li r4, 1 /* 8008AC64 00087BC4 90 01 00 C0 */ stw r0, 0xc0(r1) /* 8008AC68 00087BC8 D3 81 00 D4 */ stfs f28, 0xd4(r1) /* 8008AC6C 00087BCC D3 61 00 D8 */ stfs f27, 0xd8(r1) /* 8008AC70 00087BD0 D3 A1 00 DC */ stfs f29, 0xdc(r1) /* 8008AC74 00087BD4 48 2F F2 81 */ bl __shl2i /* 8008AC78 00087BD8 80 AD 84 90 */ lwz r5, lbl_805A7050@sda21(r13) /* 8008AC7C 00087BDC 7C 99 23 78 */ mr r25, r4 /* 8008AC80 00087BE0 7C 7A 1B 78 */ mr r26, r3 /* 8008AC84 00087BE4 38 60 00 00 */ li r3, 0 /* 8008AC88 00087BE8 38 80 00 01 */ li r4, 1 /* 8008AC8C 00087BEC 48 2F F2 69 */ bl __shl2i /* 8008AC90 00087BF0 80 AD 84 94 */ lwz r5, lbl_805A7054@sda21(r13) /* 8008AC94 00087BF4 7F 39 23 78 */ or r25, r25, r4 /* 8008AC98 00087BF8 7F 5A 1B 78 */ or r26, r26, r3 /* 8008AC9C 00087BFC 38 60 00 00 */ li r3, 0 /* 8008ACA0 00087C00 38 80 00 01 */ li r4, 1 /* 8008ACA4 00087C04 48 2F F2 51 */ bl __shl2i /* 8008ACA8 00087C08 80 AD 84 98 */ lwz r5, lbl_805A7058@sda21(r13) /* 8008ACAC 00087C0C 7F 39 23 78 */ or r25, r25, r4 /* 8008ACB0 00087C10 7F 5A 1B 78 */ or r26, r26, r3 /* 8008ACB4 00087C14 38 60 00 00 */ li r3, 0 /* 8008ACB8 00087C18 38 80 00 01 */ li r4, 1 /* 8008ACBC 00087C1C 48 2F F2 39 */ bl __shl2i /* 8008ACC0 00087C20 80 AD 84 88 */ lwz r5, lbl_805A7048@sda21(r13) /* 8008ACC4 00087C24 7F 39 23 78 */ or r25, r25, r4 /* 8008ACC8 00087C28 7F 5A 1B 78 */ or r26, r26, r3 /* 8008ACCC 00087C2C 38 60 00 00 */ li r3, 0 /* 8008ACD0 00087C30 38 80 00 01 */ li r4, 1 /* 8008ACD4 00087C34 48 2F F2 21 */ bl __shl2i /* 8008ACD8 00087C38 38 00 00 03 */ li r0, 3 /* 8008ACDC 00087C3C 90 81 00 AC */ stw r4, 0xac(r1) /* 8008ACE0 00087C40 7F 64 DB 78 */ mr r4, r27 /* 8008ACE4 00087C44 90 61 00 A8 */ stw r3, 0xa8(r1) /* 8008ACE8 00087C48 38 61 01 40 */ addi r3, r1, 0x140 /* 8008ACEC 00087C4C 93 21 00 B4 */ stw r25, 0xb4(r1) /* 8008ACF0 00087C50 93 41 00 B0 */ stw r26, 0xb0(r1) /* 8008ACF4 00087C54 90 01 00 B8 */ stw r0, 0xb8(r1) /* 8008ACF8 00087C58 48 28 84 49 */ bl Translate__12CTransform4fFRC9CVector3f /* 8008ACFC 00087C5C 7F A3 EB 78 */ mr r3, r29 /* 8008AD00 00087C60 38 81 01 D0 */ addi r4, r1, 0x1d0 /* 8008AD04 00087C64 38 A1 00 C0 */ addi r5, r1, 0xc0 /* 8008AD08 00087C68 38 C1 01 40 */ addi r6, r1, 0x140 /* 8008AD0C 00087C6C 38 E1 00 A8 */ addi r7, r1, 0xa8 /* 8008AD10 00087C70 39 01 1D 14 */ addi r8, r1, 0x1d14 /* 8008AD14 00087C74 48 0F 98 51 */ bl "DetectCollisionBoolean_Cached__14CGameCollisionFRC13CStateManagerR19CAreaCollisionCacheRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8008AD18 00087C78 3C 80 80 3F */ lis r4, lbl_803ECAF8@ha /* 8008AD1C 00087C7C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008AD20 00087C80 38 84 CA F8 */ addi r4, r4, lbl_803ECAF8@l /* 8008AD24 00087C84 3C 60 80 3E */ lis r3, lbl_803D97E4@ha /* 8008AD28 00087C88 90 81 00 C0 */ stw r4, 0xc0(r1) /* 8008AD2C 00087C8C 38 63 97 E4 */ addi r3, r3, lbl_803D97E4@l /* 8008AD30 00087C90 90 61 00 C0 */ stw r3, 0xc0(r1) /* 8008AD34 00087C94 41 82 01 00 */ beq lbl_8008AE34 /* 8008AD38 00087C98 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 8008AD3C 00087C9C 34 E1 01 E8 */ addic. r7, r1, 0x1e8 /* 8008AD40 00087CA0 D0 1C 00 00 */ stfs f0, 0(r28) /* 8008AD44 00087CA4 41 82 00 94 */ beq lbl_8008ADD8 /* 8008AD48 00087CA8 38 C7 00 04 */ addi r6, r7, 4 /* 8008AD4C 00087CAC 38 60 00 00 */ li r3, 0 /* 8008AD50 00087CB0 48 00 00 74 */ b lbl_8008ADC4 lbl_8008AD54: /* 8008AD54 00087CB4 28 06 00 00 */ cmplwi r6, 0 /* 8008AD58 00087CB8 41 82 00 64 */ beq lbl_8008ADBC /* 8008AD5C 00087CBC 34 06 00 04 */ addic. r0, r6, 4 /* 8008AD60 00087CC0 41 82 00 5C */ beq lbl_8008ADBC /* 8008AD64 00087CC4 81 06 00 04 */ lwz r8, 4(r6) /* 8008AD68 00087CC8 38 80 00 00 */ li r4, 0 /* 8008AD6C 00087CCC 2C 08 00 00 */ cmpwi r8, 0 /* 8008AD70 00087CD0 40 81 00 44 */ ble lbl_8008ADB4 /* 8008AD74 00087CD4 2C 08 00 08 */ cmpwi r8, 8 /* 8008AD78 00087CD8 38 A8 FF F8 */ addi r5, r8, -8 /* 8008AD7C 00087CDC 40 81 00 20 */ ble lbl_8008AD9C /* 8008AD80 00087CE0 38 05 00 07 */ addi r0, r5, 7 /* 8008AD84 00087CE4 54 00 E8 FE */ srwi r0, r0, 3 /* 8008AD88 00087CE8 7C 09 03 A6 */ mtctr r0 /* 8008AD8C 00087CEC 2C 05 00 00 */ cmpwi r5, 0 /* 8008AD90 00087CF0 40 81 00 0C */ ble lbl_8008AD9C lbl_8008AD94: /* 8008AD94 00087CF4 38 84 00 08 */ addi r4, r4, 8 /* 8008AD98 00087CF8 42 00 FF FC */ bdnz lbl_8008AD94 lbl_8008AD9C: /* 8008AD9C 00087CFC 7C 04 40 50 */ subf r0, r4, r8 /* 8008ADA0 00087D00 7C 09 03 A6 */ mtctr r0 /* 8008ADA4 00087D04 7C 04 40 00 */ cmpw r4, r8 /* 8008ADA8 00087D08 40 80 00 0C */ bge lbl_8008ADB4 lbl_8008ADAC: /* 8008ADAC 00087D0C 38 84 00 01 */ addi r4, r4, 1 /* 8008ADB0 00087D10 42 00 FF FC */ bdnz lbl_8008ADAC lbl_8008ADB4: /* 8008ADB4 00087D14 38 00 00 00 */ li r0, 0 /* 8008ADB8 00087D18 90 06 00 04 */ stw r0, 4(r6) lbl_8008ADBC: /* 8008ADBC 00087D1C 38 C6 09 0C */ addi r6, r6, 0x90c /* 8008ADC0 00087D20 38 63 00 01 */ addi r3, r3, 1 lbl_8008ADC4: /* 8008ADC4 00087D24 80 07 00 00 */ lwz r0, 0(r7) /* 8008ADC8 00087D28 7C 03 00 00 */ cmpw r3, r0 /* 8008ADCC 00087D2C 41 80 FF 88 */ blt lbl_8008AD54 /* 8008ADD0 00087D30 38 00 00 00 */ li r0, 0 /* 8008ADD4 00087D34 90 07 00 00 */ stw r0, 0(r7) lbl_8008ADD8: /* 8008ADD8 00087D38 80 A1 1D 14 */ lwz r5, 0x1d14(r1) /* 8008ADDC 00087D3C 38 60 00 00 */ li r3, 0 /* 8008ADE0 00087D40 2C 05 00 00 */ cmpwi r5, 0 /* 8008ADE4 00087D44 40 81 00 40 */ ble lbl_8008AE24 /* 8008ADE8 00087D48 2C 05 00 08 */ cmpwi r5, 8 /* 8008ADEC 00087D4C 38 85 FF F8 */ addi r4, r5, -8 /* 8008ADF0 00087D50 40 81 00 20 */ ble lbl_8008AE10 /* 8008ADF4 00087D54 38 04 00 07 */ addi r0, r4, 7 /* 8008ADF8 00087D58 54 00 E8 FE */ srwi r0, r0, 3 /* 8008ADFC 00087D5C 7C 09 03 A6 */ mtctr r0 /* 8008AE00 00087D60 2C 04 00 00 */ cmpwi r4, 0 /* 8008AE04 00087D64 40 81 00 0C */ ble lbl_8008AE10 lbl_8008AE08: /* 8008AE08 00087D68 38 63 00 08 */ addi r3, r3, 8 /* 8008AE0C 00087D6C 42 00 FF FC */ bdnz lbl_8008AE08 lbl_8008AE10: /* 8008AE10 00087D70 7C 03 28 50 */ subf r0, r3, r5 /* 8008AE14 00087D74 7C 09 03 A6 */ mtctr r0 /* 8008AE18 00087D78 7C 03 28 00 */ cmpw r3, r5 /* 8008AE1C 00087D7C 40 80 00 08 */ bge lbl_8008AE24 lbl_8008AE20: /* 8008AE20 00087D80 42 00 00 00 */ bdnz lbl_8008AE20 lbl_8008AE24: /* 8008AE24 00087D84 38 00 00 00 */ li r0, 0 /* 8008AE28 00087D88 38 60 00 01 */ li r3, 1 /* 8008AE2C 00087D8C 90 01 1D 14 */ stw r0, 0x1d14(r1) /* 8008AE30 00087D90 48 00 02 98 */ b lbl_8008B0C8 lbl_8008AE34: /* 8008AE34 00087D94 57 C0 06 3F */ clrlwi. r0, r30, 0x18 /* 8008AE38 00087D98 41 82 01 98 */ beq lbl_8008AFD0 /* 8008AE3C 00087D9C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8008AE40 00087DA0 38 61 01 70 */ addi r3, r1, 0x170 /* 8008AE44 00087DA4 38 80 00 00 */ li r4, 0 /* 8008AE48 00087DA8 B0 01 00 10 */ sth r0, 0x10(r1) /* 8008AE4C 00087DAC 48 24 33 3D */ bl __ct__14CCollisionInfoFQ214CCollisionInfo8EInvalid /* 8008AE50 00087DB0 38 00 00 00 */ li r0, 0 /* 8008AE54 00087DB4 80 AD 84 9C */ lwz r5, lbl_805A705C@sda21(r13) /* 8008AE58 00087DB8 DB E1 00 28 */ stfd f31, 0x28(r1) /* 8008AE5C 00087DBC 38 60 00 00 */ li r3, 0 /* 8008AE60 00087DC0 38 80 00 01 */ li r4, 1 /* 8008AE64 00087DC4 90 01 00 1C */ stw r0, 0x1c(r1) /* 8008AE68 00087DC8 90 01 00 18 */ stw r0, 0x18(r1) /* 8008AE6C 00087DCC 48 2F F0 89 */ bl __shl2i /* 8008AE70 00087DD0 80 01 00 18 */ lwz r0, 0x18(r1) /* 8008AE74 00087DD4 3C A0 80 5A */ lis r5, skZero3f@ha /* 8008AE78 00087DD8 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 8008AE7C 00087DDC 7C 00 1B 78 */ or r0, r0, r3 /* 8008AE80 00087DE0 C3 65 66 A0 */ lfs f27, skZero3f@l(r5) /* 8008AE84 00087DE4 7C C4 23 78 */ or r4, r6, r4 /* 8008AE88 00087DE8 90 01 00 18 */ stw r0, 0x18(r1) /* 8008AE8C 00087DEC C3 9F 00 04 */ lfs f28, 4(r31) /* 8008AE90 00087DF0 38 61 00 88 */ addi r3, r1, 0x88 /* 8008AE94 00087DF4 90 81 00 1C */ stw r4, 0x1c(r1) /* 8008AE98 00087DF8 38 81 00 18 */ addi r4, r1, 0x18 /* 8008AE9C 00087DFC C3 DF 00 08 */ lfs f30, 8(r31) /* 8008AEA0 00087E00 48 24 4A 15 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList /* 8008AEA4 00087E04 80 E1 00 54 */ lwz r7, 0x54(r1) /* 8008AEA8 00087E08 3C 60 80 3F */ lis r3, lbl_803ECAF8@ha /* 8008AEAC 00087E0C 39 03 CA F8 */ addi r8, r3, lbl_803ECAF8@l /* 8008AEB0 00087E10 80 C1 00 58 */ lwz r6, 0x58(r1) /* 8008AEB4 00087E14 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8008AEB8 00087E18 38 60 00 00 */ li r3, 0 /* 8008AEBC 00087E1C 80 AD 84 A4 */ lwz r5, lbl_805A7064@sda21(r13) /* 8008AEC0 00087E20 38 80 00 01 */ li r4, 1 /* 8008AEC4 00087E24 91 01 00 88 */ stw r8, 0x88(r1) /* 8008AEC8 00087E28 D3 61 00 98 */ stfs f27, 0x98(r1) /* 8008AECC 00087E2C D3 81 00 9C */ stfs f28, 0x9c(r1) /* 8008AED0 00087E30 D3 C1 00 A0 */ stfs f30, 0xa0(r1) /* 8008AED4 00087E34 D3 A1 00 A4 */ stfs f29, 0xa4(r1) /* 8008AED8 00087E38 90 E1 00 30 */ stw r7, 0x30(r1) /* 8008AEDC 00087E3C 90 C1 00 34 */ stw r6, 0x34(r1) /* 8008AEE0 00087E40 90 01 00 38 */ stw r0, 0x38(r1) /* 8008AEE4 00087E44 48 2F F0 11 */ bl __shl2i /* 8008AEE8 00087E48 80 AD 84 A8 */ lwz r5, lbl_805A7068@sda21(r13) /* 8008AEEC 00087E4C 7C 9A 23 78 */ mr r26, r4 /* 8008AEF0 00087E50 7C 79 1B 78 */ mr r25, r3 /* 8008AEF4 00087E54 38 60 00 00 */ li r3, 0 /* 8008AEF8 00087E58 38 80 00 01 */ li r4, 1 /* 8008AEFC 00087E5C 48 2F EF F9 */ bl __shl2i /* 8008AF00 00087E60 80 AD 84 AC */ lwz r5, lbl_805A706C@sda21(r13) /* 8008AF04 00087E64 7F 5A 23 78 */ or r26, r26, r4 /* 8008AF08 00087E68 7F 39 1B 78 */ or r25, r25, r3 /* 8008AF0C 00087E6C 38 60 00 00 */ li r3, 0 /* 8008AF10 00087E70 38 80 00 01 */ li r4, 1 /* 8008AF14 00087E74 48 2F EF E1 */ bl __shl2i /* 8008AF18 00087E78 80 AD 84 B0 */ lwz r5, lbl_805A7070@sda21(r13) /* 8008AF1C 00087E7C 7F 5A 23 78 */ or r26, r26, r4 /* 8008AF20 00087E80 7F 39 1B 78 */ or r25, r25, r3 /* 8008AF24 00087E84 38 60 00 00 */ li r3, 0 /* 8008AF28 00087E88 38 80 00 01 */ li r4, 1 /* 8008AF2C 00087E8C 48 2F EF C9 */ bl __shl2i /* 8008AF30 00087E90 80 AD 84 A0 */ lwz r5, lbl_805A7060@sda21(r13) /* 8008AF34 00087E94 7F 5A 23 78 */ or r26, r26, r4 /* 8008AF38 00087E98 7F 39 1B 78 */ or r25, r25, r3 /* 8008AF3C 00087E9C 38 60 00 00 */ li r3, 0 /* 8008AF40 00087EA0 38 80 00 01 */ li r4, 1 /* 8008AF44 00087EA4 48 2F EF B1 */ bl __shl2i /* 8008AF48 00087EA8 38 00 00 03 */ li r0, 3 /* 8008AF4C 00087EAC 90 81 00 74 */ stw r4, 0x74(r1) /* 8008AF50 00087EB0 7F 64 DB 78 */ mr r4, r27 /* 8008AF54 00087EB4 90 61 00 70 */ stw r3, 0x70(r1) /* 8008AF58 00087EB8 38 61 01 10 */ addi r3, r1, 0x110 /* 8008AF5C 00087EBC 93 41 00 7C */ stw r26, 0x7c(r1) /* 8008AF60 00087EC0 93 21 00 78 */ stw r25, 0x78(r1) /* 8008AF64 00087EC4 90 01 00 80 */ stw r0, 0x80(r1) /* 8008AF68 00087EC8 48 28 81 D9 */ bl Translate__12CTransform4fFRC9CVector3f /* 8008AF6C 00087ECC 38 61 01 70 */ addi r3, r1, 0x170 /* 8008AF70 00087ED0 38 01 00 28 */ addi r0, r1, 0x28 /* 8008AF74 00087ED4 90 61 00 08 */ stw r3, 8(r1) /* 8008AF78 00087ED8 7F A3 EB 78 */ mr r3, r29 /* 8008AF7C 00087EDC 38 81 01 D0 */ addi r4, r1, 0x1d0 /* 8008AF80 00087EE0 38 A1 00 88 */ addi r5, r1, 0x88 /* 8008AF84 00087EE4 90 01 00 0C */ stw r0, 0xc(r1) /* 8008AF88 00087EE8 38 C1 01 10 */ addi r6, r1, 0x110 /* 8008AF8C 00087EEC 38 E1 00 70 */ addi r7, r1, 0x70 /* 8008AF90 00087EF0 39 01 1D 14 */ addi r8, r1, 0x1d14 /* 8008AF94 00087EF4 39 21 00 30 */ addi r9, r1, 0x30 /* 8008AF98 00087EF8 39 41 00 10 */ addi r10, r1, 0x10 /* 8008AF9C 00087EFC 48 0F 93 51 */ bl "DetectCollision_Cached_Moving__14CGameCollisionFRC13CStateManagerR19CAreaCollisionCacheRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>9CVector3fR9TUniqueIdR14CCollisionInfoRd" /* 8008AFA0 00087F00 3C 80 80 3F */ lis r4, lbl_803ECAF8@ha /* 8008AFA4 00087F04 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008AFA8 00087F08 38 84 CA F8 */ addi r4, r4, lbl_803ECAF8@l /* 8008AFAC 00087F0C 3C 60 80 3E */ lis r3, lbl_803D97E4@ha /* 8008AFB0 00087F10 90 81 00 88 */ stw r4, 0x88(r1) /* 8008AFB4 00087F14 38 63 97 E4 */ addi r3, r3, lbl_803D97E4@l /* 8008AFB8 00087F18 90 61 00 88 */ stw r3, 0x88(r1) /* 8008AFBC 00087F1C 41 82 00 14 */ beq lbl_8008AFD0 /* 8008AFC0 00087F20 C8 01 00 28 */ lfd f0, 0x28(r1) /* 8008AFC4 00087F24 3B C0 00 00 */ li r30, 0 /* 8008AFC8 00087F28 FC 00 00 18 */ frsp f0, f0 /* 8008AFCC 00087F2C D0 1C 00 00 */ stfs f0, 0(r28) lbl_8008AFD0: /* 8008AFD0 00087F30 34 E1 01 E8 */ addic. r7, r1, 0x1e8 /* 8008AFD4 00087F34 41 82 00 94 */ beq lbl_8008B068 /* 8008AFD8 00087F38 38 C7 00 04 */ addi r6, r7, 4 /* 8008AFDC 00087F3C 38 60 00 00 */ li r3, 0 /* 8008AFE0 00087F40 48 00 00 74 */ b lbl_8008B054 lbl_8008AFE4: /* 8008AFE4 00087F44 28 06 00 00 */ cmplwi r6, 0 /* 8008AFE8 00087F48 41 82 00 64 */ beq lbl_8008B04C /* 8008AFEC 00087F4C 34 06 00 04 */ addic. r0, r6, 4 /* 8008AFF0 00087F50 41 82 00 5C */ beq lbl_8008B04C /* 8008AFF4 00087F54 81 06 00 04 */ lwz r8, 4(r6) /* 8008AFF8 00087F58 38 80 00 00 */ li r4, 0 /* 8008AFFC 00087F5C 2C 08 00 00 */ cmpwi r8, 0 /* 8008B000 00087F60 40 81 00 44 */ ble lbl_8008B044 /* 8008B004 00087F64 2C 08 00 08 */ cmpwi r8, 8 /* 8008B008 00087F68 38 A8 FF F8 */ addi r5, r8, -8 /* 8008B00C 00087F6C 40 81 00 20 */ ble lbl_8008B02C /* 8008B010 00087F70 38 05 00 07 */ addi r0, r5, 7 /* 8008B014 00087F74 54 00 E8 FE */ srwi r0, r0, 3 /* 8008B018 00087F78 7C 09 03 A6 */ mtctr r0 /* 8008B01C 00087F7C 2C 05 00 00 */ cmpwi r5, 0 /* 8008B020 00087F80 40 81 00 0C */ ble lbl_8008B02C lbl_8008B024: /* 8008B024 00087F84 38 84 00 08 */ addi r4, r4, 8 /* 8008B028 00087F88 42 00 FF FC */ bdnz lbl_8008B024 lbl_8008B02C: /* 8008B02C 00087F8C 7C 04 40 50 */ subf r0, r4, r8 /* 8008B030 00087F90 7C 09 03 A6 */ mtctr r0 /* 8008B034 00087F94 7C 04 40 00 */ cmpw r4, r8 /* 8008B038 00087F98 40 80 00 0C */ bge lbl_8008B044 lbl_8008B03C: /* 8008B03C 00087F9C 38 84 00 01 */ addi r4, r4, 1 /* 8008B040 00087FA0 42 00 FF FC */ bdnz lbl_8008B03C lbl_8008B044: /* 8008B044 00087FA4 38 00 00 00 */ li r0, 0 /* 8008B048 00087FA8 90 06 00 04 */ stw r0, 4(r6) lbl_8008B04C: /* 8008B04C 00087FAC 38 C6 09 0C */ addi r6, r6, 0x90c /* 8008B050 00087FB0 38 63 00 01 */ addi r3, r3, 1 lbl_8008B054: /* 8008B054 00087FB4 80 07 00 00 */ lwz r0, 0(r7) /* 8008B058 00087FB8 7C 03 00 00 */ cmpw r3, r0 /* 8008B05C 00087FBC 41 80 FF 88 */ blt lbl_8008AFE4 /* 8008B060 00087FC0 38 00 00 00 */ li r0, 0 /* 8008B064 00087FC4 90 07 00 00 */ stw r0, 0(r7) lbl_8008B068: /* 8008B068 00087FC8 80 A1 1D 14 */ lwz r5, 0x1d14(r1) /* 8008B06C 00087FCC 38 60 00 00 */ li r3, 0 /* 8008B070 00087FD0 2C 05 00 00 */ cmpwi r5, 0 /* 8008B074 00087FD4 40 81 00 40 */ ble lbl_8008B0B4 /* 8008B078 00087FD8 2C 05 00 08 */ cmpwi r5, 8 /* 8008B07C 00087FDC 38 85 FF F8 */ addi r4, r5, -8 /* 8008B080 00087FE0 40 81 00 20 */ ble lbl_8008B0A0 /* 8008B084 00087FE4 38 04 00 07 */ addi r0, r4, 7 /* 8008B088 00087FE8 54 00 E8 FE */ srwi r0, r0, 3 /* 8008B08C 00087FEC 7C 09 03 A6 */ mtctr r0 /* 8008B090 00087FF0 2C 04 00 00 */ cmpwi r4, 0 /* 8008B094 00087FF4 40 81 00 0C */ ble lbl_8008B0A0 lbl_8008B098: /* 8008B098 00087FF8 38 63 00 08 */ addi r3, r3, 8 /* 8008B09C 00087FFC 42 00 FF FC */ bdnz lbl_8008B098 lbl_8008B0A0: /* 8008B0A0 00088000 7C 03 28 50 */ subf r0, r3, r5 /* 8008B0A4 00088004 7C 09 03 A6 */ mtctr r0 /* 8008B0A8 00088008 7C 03 28 00 */ cmpw r3, r5 /* 8008B0AC 0008800C 40 80 00 08 */ bge lbl_8008B0B4 lbl_8008B0B0: /* 8008B0B0 00088010 42 00 00 00 */ bdnz lbl_8008B0B0 lbl_8008B0B4: /* 8008B0B4 00088014 38 00 00 00 */ li r0, 0 /* 8008B0B8 00088018 90 01 1D 14 */ stw r0, 0x1d14(r1) lbl_8008B0BC: /* 8008B0BC 0008801C 57 C0 06 3E */ clrlwi r0, r30, 0x18 /* 8008B0C0 00088020 7C 00 00 34 */ cntlzw r0, r0 /* 8008B0C4 00088024 54 03 D9 7E */ srwi r3, r0, 5 lbl_8008B0C8: /* 8008B0C8 00088028 38 00 25 88 */ li r0, 0x2588 /* 8008B0CC 0008802C 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0 /* 8008B0D0 00088030 CB E1 25 80 */ lfd f31, 0x2580(r1) /* 8008B0D4 00088034 38 00 25 78 */ li r0, 0x2578 /* 8008B0D8 00088038 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0 /* 8008B0DC 0008803C CB C1 25 70 */ lfd f30, 0x2570(r1) /* 8008B0E0 00088040 38 00 25 68 */ li r0, 0x2568 /* 8008B0E4 00088044 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0 /* 8008B0E8 00088048 CB A1 25 60 */ lfd f29, 0x2560(r1) /* 8008B0EC 0008804C 38 00 25 58 */ li r0, 0x2558 /* 8008B0F0 00088050 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0 /* 8008B0F4 00088054 CB 81 25 50 */ lfd f28, 0x2550(r1) /* 8008B0F8 00088058 38 00 25 48 */ li r0, 0x2548 /* 8008B0FC 0008805C 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0 /* 8008B100 00088060 CB 61 25 40 */ lfd f27, 0x2540(r1) /* 8008B104 00088064 BB 21 25 24 */ lmw r25, 0x2524(r1) /* 8008B108 00088068 80 01 25 94 */ lwz r0, 0x2594(r1) /* 8008B10C 0008806C 7C 08 03 A6 */ mtlr r0 /* 8008B110 00088070 38 21 25 90 */ addi r1, r1, 0x2590 /* 8008B114 00088074 4E 80 00 20 */ blr .global "AvoidGeometry__11CBallCameraFRC12CTransform4fRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" "AvoidGeometry__11CBallCameraFRC12CTransform4fRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager": /* 8008B118 00088078 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8008B11C 0008807C 7C 08 02 A6 */ mflr r0 /* 8008B120 00088080 90 01 00 14 */ stw r0, 0x14(r1) /* 8008B124 00088084 93 E1 00 0C */ stw r31, 0xc(r1) /* 8008B128 00088088 7C 9F 23 78 */ mr r31, r4 /* 8008B12C 0008808C 93 C1 00 08 */ stw r30, 8(r1) /* 8008B130 00088090 7C 7E 1B 78 */ mr r30, r3 /* 8008B134 00088094 80 04 03 28 */ lwz r0, 0x328(r4) /* 8008B138 00088098 2C 00 00 02 */ cmpwi r0, 2 /* 8008B13C 0008809C 41 82 00 7C */ beq lbl_8008B1B8 /* 8008B140 000880A0 40 80 00 14 */ bge lbl_8008B154 /* 8008B144 000880A4 2C 00 00 00 */ cmpwi r0, 0 /* 8008B148 000880A8 41 82 00 18 */ beq lbl_8008B160 /* 8008B14C 000880AC 40 80 00 40 */ bge lbl_8008B18C /* 8008B150 000880B0 48 00 00 BC */ b lbl_8008B20C lbl_8008B154: /* 8008B154 000880B4 2C 00 00 04 */ cmpwi r0, 4 /* 8008B158 000880B8 40 80 00 B4 */ bge lbl_8008B20C /* 8008B15C 000880BC 48 00 00 88 */ b lbl_8008B1E4 lbl_8008B160: /* 8008B160 000880C0 FC 40 08 90 */ fmr f2, f1 /* 8008B164 000880C4 C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B168 000880C8 7F E3 FB 78 */ mr r3, r31 /* 8008B16C 000880CC 7C A4 2B 78 */ mr r4, r5 /* 8008B170 000880D0 7C C8 33 78 */ mr r8, r6 /* 8008B174 000880D4 7C E9 3B 78 */ mr r9, r7 /* 8008B178 000880D8 38 BF 02 64 */ addi r5, r31, 0x264 /* 8008B17C 000880DC 38 DF 02 D0 */ addi r6, r31, 0x2d0 /* 8008B180 000880E0 38 E0 00 01 */ li r7, 1 /* 8008B184 000880E4 48 00 07 49 */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 8008B188 000880E8 48 00 00 84 */ b lbl_8008B20C lbl_8008B18C: /* 8008B18C 000880EC FC 40 08 90 */ fmr f2, f1 /* 8008B190 000880F0 C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B194 000880F4 7F E3 FB 78 */ mr r3, r31 /* 8008B198 000880F8 7C A4 2B 78 */ mr r4, r5 /* 8008B19C 000880FC 7C C8 33 78 */ mr r8, r6 /* 8008B1A0 00088100 7C E9 3B 78 */ mr r9, r7 /* 8008B1A4 00088104 38 BF 02 74 */ addi r5, r31, 0x274 /* 8008B1A8 00088108 38 DF 02 D4 */ addi r6, r31, 0x2d4 /* 8008B1AC 0008810C 38 E0 00 03 */ li r7, 3 /* 8008B1B0 00088110 48 00 07 1D */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 8008B1B4 00088114 48 00 00 58 */ b lbl_8008B20C lbl_8008B1B8: /* 8008B1B8 00088118 FC 40 08 90 */ fmr f2, f1 /* 8008B1BC 0008811C C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B1C0 00088120 7F E3 FB 78 */ mr r3, r31 /* 8008B1C4 00088124 7C A4 2B 78 */ mr r4, r5 /* 8008B1C8 00088128 7C C8 33 78 */ mr r8, r6 /* 8008B1CC 0008812C 7C E9 3B 78 */ mr r9, r7 /* 8008B1D0 00088130 38 BF 02 84 */ addi r5, r31, 0x284 /* 8008B1D4 00088134 38 DF 02 D8 */ addi r6, r31, 0x2d8 /* 8008B1D8 00088138 38 E0 00 04 */ li r7, 4 /* 8008B1DC 0008813C 48 00 06 F1 */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 8008B1E0 00088140 48 00 00 2C */ b lbl_8008B20C lbl_8008B1E4: /* 8008B1E4 00088144 FC 40 08 90 */ fmr f2, f1 /* 8008B1E8 00088148 C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B1EC 0008814C 7F E3 FB 78 */ mr r3, r31 /* 8008B1F0 00088150 7C A4 2B 78 */ mr r4, r5 /* 8008B1F4 00088154 7C C8 33 78 */ mr r8, r6 /* 8008B1F8 00088158 7C E9 3B 78 */ mr r9, r7 /* 8008B1FC 0008815C 38 BF 02 84 */ addi r5, r31, 0x284 /* 8008B200 00088160 38 DF 02 D8 */ addi r6, r31, 0x2d8 /* 8008B204 00088164 38 E0 00 04 */ li r7, 4 /* 8008B208 00088168 48 00 06 C5 */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" lbl_8008B20C: /* 8008B20C 0008816C 80 7F 03 28 */ lwz r3, 0x328(r31) /* 8008B210 00088170 38 03 00 01 */ addi r0, r3, 1 /* 8008B214 00088174 2C 00 00 04 */ cmpwi r0, 4 /* 8008B218 00088178 90 1F 03 28 */ stw r0, 0x328(r31) /* 8008B21C 0008817C 41 80 00 0C */ blt lbl_8008B228 /* 8008B220 00088180 38 00 00 00 */ li r0, 0 /* 8008B224 00088184 90 1F 03 28 */ stw r0, 0x328(r31) lbl_8008B228: /* 8008B228 00088188 7F C3 F3 78 */ mr r3, r30 /* 8008B22C 0008818C 7F E4 FB 78 */ mr r4, r31 /* 8008B230 00088190 48 00 02 1D */ bl ApplyColliders__11CBallCameraFv /* 8008B234 00088194 80 01 00 14 */ lwz r0, 0x14(r1) /* 8008B238 00088198 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8008B23C 0008819C 83 C1 00 08 */ lwz r30, 8(r1) /* 8008B240 000881A0 7C 08 03 A6 */ mtlr r0 /* 8008B244 000881A4 38 21 00 10 */ addi r1, r1, 0x10 /* 8008B248 000881A8 4E 80 00 20 */ blr .global "AvoidGeometryFull__11CBallCameraFRC12CTransform4fRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" "AvoidGeometryFull__11CBallCameraFRC12CTransform4fRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager": /* 8008B24C 000881AC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8008B250 000881B0 7C 08 02 A6 */ mflr r0 /* 8008B254 000881B4 90 01 00 34 */ stw r0, 0x34(r1) /* 8008B258 000881B8 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8008B25C 000881BC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8008B260 000881C0 BF 61 00 0C */ stmw r27, 0xc(r1) /* 8008B264 000881C4 FF E0 08 90 */ fmr f31, f1 /* 8008B268 000881C8 7C DE 33 78 */ mr r30, r6 /* 8008B26C 000881CC 7C 9C 23 78 */ mr r28, r4 /* 8008B270 000881D0 7C BD 2B 78 */ mr r29, r5 /* 8008B274 000881D4 7C FF 3B 78 */ mr r31, r7 /* 8008B278 000881D8 7C 7B 1B 78 */ mr r27, r3 /* 8008B27C 000881DC FC 40 F8 90 */ fmr f2, f31 /* 8008B280 000881E0 80 E4 02 68 */ lwz r7, 0x268(r4) /* 8008B284 000881E4 C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B288 000881E8 7F 83 E3 78 */ mr r3, r28 /* 8008B28C 000881EC 7F A4 EB 78 */ mr r4, r29 /* 8008B290 000881F0 7F C8 F3 78 */ mr r8, r30 /* 8008B294 000881F4 7F E9 FB 78 */ mr r9, r31 /* 8008B298 000881F8 38 BC 02 64 */ addi r5, r28, 0x264 /* 8008B29C 000881FC 38 DC 02 D0 */ addi r6, r28, 0x2d0 /* 8008B2A0 00088200 48 00 06 2D */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 8008B2A4 00088204 FC 40 F8 90 */ fmr f2, f31 /* 8008B2A8 00088208 80 FC 02 78 */ lwz r7, 0x278(r28) /* 8008B2AC 0008820C C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B2B0 00088210 7F 83 E3 78 */ mr r3, r28 /* 8008B2B4 00088214 7F A4 EB 78 */ mr r4, r29 /* 8008B2B8 00088218 7F C8 F3 78 */ mr r8, r30 /* 8008B2BC 0008821C 7F E9 FB 78 */ mr r9, r31 /* 8008B2C0 00088220 38 BC 02 74 */ addi r5, r28, 0x274 /* 8008B2C4 00088224 38 DC 02 D4 */ addi r6, r28, 0x2d4 /* 8008B2C8 00088228 48 00 06 05 */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 8008B2CC 0008822C FC 40 F8 90 */ fmr f2, f31 /* 8008B2D0 00088230 80 FC 02 88 */ lwz r7, 0x288(r28) /* 8008B2D4 00088234 C0 22 8A 6C */ lfs f1, lbl_805AA78C@sda21(r2) /* 8008B2D8 00088238 7F 83 E3 78 */ mr r3, r28 /* 8008B2DC 0008823C 7F A4 EB 78 */ mr r4, r29 /* 8008B2E0 00088240 7F C8 F3 78 */ mr r8, r30 /* 8008B2E4 00088244 7F E9 FB 78 */ mr r9, r31 /* 8008B2E8 00088248 38 BC 02 84 */ addi r5, r28, 0x284 /* 8008B2EC 0008824C 38 DC 02 D8 */ addi r6, r28, 0x2d8 /* 8008B2F0 00088250 48 00 05 DD */ bl "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" /* 8008B2F4 00088254 7F 63 DB 78 */ mr r3, r27 /* 8008B2F8 00088258 7F 84 E3 78 */ mr r4, r28 /* 8008B2FC 0008825C 48 00 01 51 */ bl ApplyColliders__11CBallCameraFv /* 8008B300 00088260 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8008B304 00088264 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8008B308 00088268 BB 61 00 0C */ lmw r27, 0xc(r1) /* 8008B30C 0008826C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8008B310 00088270 7C 08 03 A6 */ mtlr r0 /* 8008B314 00088274 38 21 00 30 */ addi r1, r1, 0x30 /* 8008B318 00088278 4E 80 00 20 */ blr .global "CalculateCollidersBoundingBox__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RC13CStateManager" "CalculateCollidersBoundingBox__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RC13CStateManager": /* 8008B31C 0008827C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8008B320 00088280 7C 08 02 A6 */ mflr r0 /* 8008B324 00088284 3C 80 80 5A */ lis r4, lbl_805A6754@ha /* 8008B328 00088288 90 01 00 54 */ stw r0, 0x54(r1) /* 8008B32C 0008828C BF 61 00 3C */ stmw r27, 0x3c(r1) /* 8008B330 00088290 7C 7B 1B 78 */ mr r27, r3 /* 8008B334 00088294 38 64 67 54 */ addi r3, r4, lbl_805A6754@l /* 8008B338 00088298 7C BC 2B 78 */ mr r28, r5 /* 8008B33C 0008829C 7C DD 33 78 */ mr r29, r6 /* 8008B340 000882A0 3B C0 00 00 */ li r30, 0 /* 8008B344 000882A4 3B E0 00 00 */ li r31, 0 /* 8008B348 000882A8 C0 A3 00 00 */ lfs f5, 0(r3) /* 8008B34C 000882AC C0 83 00 04 */ lfs f4, 4(r3) /* 8008B350 000882B0 C0 63 00 08 */ lfs f3, 8(r3) /* 8008B354 000882B4 C0 43 00 0C */ lfs f2, 0xc(r3) /* 8008B358 000882B8 C0 23 00 10 */ lfs f1, 0x10(r3) /* 8008B35C 000882BC C0 03 00 14 */ lfs f0, 0x14(r3) /* 8008B360 000882C0 D0 A1 00 14 */ stfs f5, 0x14(r1) /* 8008B364 000882C4 D0 81 00 18 */ stfs f4, 0x18(r1) /* 8008B368 000882C8 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 8008B36C 000882CC D0 41 00 20 */ stfs f2, 0x20(r1) /* 8008B370 000882D0 D0 21 00 24 */ stfs f1, 0x24(r1) /* 8008B374 000882D4 D0 01 00 28 */ stfs f0, 0x28(r1) /* 8008B378 000882D8 48 00 00 20 */ b lbl_8008B398 lbl_8008B37C: /* 8008B37C 000882DC 80 1C 00 0C */ lwz r0, 0xc(r28) /* 8008B380 000882E0 38 9F 00 2C */ addi r4, r31, 0x2c /* 8008B384 000882E4 38 61 00 14 */ addi r3, r1, 0x14 /* 8008B388 000882E8 7C 80 22 14 */ add r4, r0, r4 /* 8008B38C 000882EC 48 2A C7 7D */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 8008B390 000882F0 3B FF 00 54 */ addi r31, r31, 0x54 /* 8008B394 000882F4 3B DE 00 01 */ addi r30, r30, 1 lbl_8008B398: /* 8008B398 000882F8 80 1C 00 04 */ lwz r0, 4(r28) /* 8008B39C 000882FC 7C 1E 00 00 */ cmpw r30, r0 /* 8008B3A0 00088300 41 80 FF DC */ blt lbl_8008B37C /* 8008B3A4 00088304 80 BD 08 4C */ lwz r5, 0x84c(r29) /* 8008B3A8 00088308 38 61 00 14 */ addi r3, r1, 0x14 /* 8008B3AC 0008830C 38 81 00 08 */ addi r4, r1, 8 /* 8008B3B0 00088310 C0 45 00 60 */ lfs f2, 0x60(r5) /* 8008B3B4 00088314 C0 25 00 50 */ lfs f1, 0x50(r5) /* 8008B3B8 00088318 C0 05 00 40 */ lfs f0, 0x40(r5) /* 8008B3BC 0008831C D0 01 00 08 */ stfs f0, 8(r1) /* 8008B3C0 00088320 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8008B3C4 00088324 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8008B3C8 00088328 48 2A C7 41 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 8008B3CC 0008832C C0 01 00 14 */ lfs f0, 0x14(r1) /* 8008B3D0 00088330 D0 1B 00 00 */ stfs f0, 0(r27) /* 8008B3D4 00088334 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8008B3D8 00088338 D0 1B 00 04 */ stfs f0, 4(r27) /* 8008B3DC 0008833C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8008B3E0 00088340 D0 1B 00 08 */ stfs f0, 8(r27) /* 8008B3E4 00088344 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8008B3E8 00088348 D0 1B 00 0C */ stfs f0, 0xc(r27) /* 8008B3EC 0008834C C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008B3F0 00088350 D0 1B 00 10 */ stfs f0, 0x10(r27) /* 8008B3F4 00088354 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8008B3F8 00088358 D0 1B 00 14 */ stfs f0, 0x14(r27) /* 8008B3FC 0008835C BB 61 00 3C */ lmw r27, 0x3c(r1) /* 8008B400 00088360 80 01 00 54 */ lwz r0, 0x54(r1) /* 8008B404 00088364 7C 08 03 A6 */ mtlr r0 /* 8008B408 00088368 38 21 00 50 */ addi r1, r1, 0x50 /* 8008B40C 0008836C 4E 80 00 20 */ blr .global "CountObscuredColliders__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>" "CountObscuredColliders__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>": /* 8008B410 00088370 80 04 00 04 */ lwz r0, 4(r4) /* 8008B414 00088374 38 60 00 00 */ li r3, 0 /* 8008B418 00088378 38 C0 00 00 */ li r6, 0 /* 8008B41C 0008837C 7C 09 03 A6 */ mtctr r0 /* 8008B420 00088380 2C 00 00 00 */ cmpwi r0, 0 /* 8008B424 00088384 4C 81 00 20 */ blelr lbl_8008B428: /* 8008B428 00088388 80 A4 00 0C */ lwz r5, 0xc(r4) /* 8008B42C 0008838C 38 06 00 4C */ addi r0, r6, 0x4c /* 8008B430 00088390 7C 05 00 2E */ lwzx r0, r5, r0 /* 8008B434 00088394 2C 00 00 02 */ cmpwi r0, 2 /* 8008B438 00088398 41 80 00 08 */ blt lbl_8008B440 /* 8008B43C 0008839C 38 63 00 01 */ addi r3, r3, 1 lbl_8008B440: /* 8008B440 000883A0 38 C6 00 54 */ addi r6, r6, 0x54 /* 8008B444 000883A4 42 00 FF E4 */ bdnz lbl_8008B428 .global sub_8008b448 sub_8008b448: /* 8008B448 000883A8 4E 80 00 20 */ blr .global ApplyColliders__11CBallCameraFv ApplyColliders__11CBallCameraFv: /* 8008B44C 000883AC 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 8008B450 000883B0 7C 08 02 A6 */ mflr r0 /* 8008B454 000883B4 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8008B458 000883B8 DB E1 00 90 */ stfd f31, 0x90(r1) /* 8008B45C 000883BC F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 8008B460 000883C0 DB C1 00 80 */ stfd f30, 0x80(r1) /* 8008B464 000883C4 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 8008B468 000883C8 DB A1 00 70 */ stfd f29, 0x70(r1) /* 8008B46C 000883CC F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 8008B470 000883D0 DB 81 00 60 */ stfd f28, 0x60(r1) /* 8008B474 000883D4 F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0 /* 8008B478 000883D8 DB 61 00 50 */ stfd f27, 0x50(r1) /* 8008B47C 000883DC F3 61 00 58 */ psq_st f27, 88(r1), 0, qr0 /* 8008B480 000883E0 DB 41 00 40 */ stfd f26, 0x40(r1) /* 8008B484 000883E4 F3 41 00 48 */ psq_st f26, 72(r1), 0, qr0 /* 8008B488 000883E8 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8008B48C 000883EC 93 C1 00 38 */ stw r30, 0x38(r1) /* 8008B490 000883F0 7C 9F 23 78 */ mr r31, r4 /* 8008B494 000883F4 7C 7E 1B 78 */ mr r30, r3 /* 8008B498 000883F8 80 C4 02 C4 */ lwz r6, 0x2c4(r4) /* 8008B49C 000883FC 38 61 00 24 */ addi r3, r1, 0x24 /* 8008B4A0 00088400 38 BF 02 64 */ addi r5, r31, 0x264 /* 8008B4A4 00088404 48 00 02 B9 */ bl "CalculateCollidersCentroid__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>i" /* 8008B4A8 00088408 C3 C1 00 24 */ lfs f30, 0x24(r1) /* 8008B4AC 0008840C 7F E4 FB 78 */ mr r4, r31 /* 8008B4B0 00088410 C3 E1 00 28 */ lfs f31, 0x28(r1) /* 8008B4B4 00088414 38 61 00 18 */ addi r3, r1, 0x18 /* 8008B4B8 00088418 C3 A1 00 2C */ lfs f29, 0x2c(r1) /* 8008B4BC 0008841C 38 BF 02 74 */ addi r5, r31, 0x274 /* 8008B4C0 00088420 80 DF 02 C8 */ lwz r6, 0x2c8(r31) /* 8008B4C4 00088424 48 00 02 99 */ bl "CalculateCollidersCentroid__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>i" /* 8008B4C8 00088428 C3 81 00 18 */ lfs f28, 0x18(r1) /* 8008B4CC 0008842C 7F E4 FB 78 */ mr r4, r31 /* 8008B4D0 00088430 C3 61 00 1C */ lfs f27, 0x1c(r1) /* 8008B4D4 00088434 38 61 00 0C */ addi r3, r1, 0xc /* 8008B4D8 00088438 C3 41 00 20 */ lfs f26, 0x20(r1) /* 8008B4DC 0008843C 38 BF 02 84 */ addi r5, r31, 0x284 /* 8008B4E0 00088440 80 DF 02 CC */ lwz r6, 0x2cc(r31) /* 8008B4E4 00088444 48 00 02 79 */ bl "CalculateCollidersCentroid__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>i" /* 8008B4E8 00088448 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008B4EC 0008844C C0 61 00 0C */ lfs f3, 0xc(r1) /* 8008B4F0 00088450 FC 00 F8 00 */ fcmpu cr0, f0, f31 /* 8008B4F4 00088454 C0 81 00 10 */ lfs f4, 0x10(r1) /* 8008B4F8 00088458 C0 A1 00 14 */ lfs f5, 0x14(r1) /* 8008B4FC 0008845C 40 82 00 14 */ bne lbl_8008B510 /* 8008B500 00088460 D3 DF 02 A0 */ stfs f30, 0x2a0(r31) /* 8008B504 00088464 D3 FF 02 A4 */ stfs f31, 0x2a4(r31) /* 8008B508 00088468 D3 BF 02 A8 */ stfs f29, 0x2a8(r31) /* 8008B50C 0008846C 48 00 00 20 */ b lbl_8008B52C lbl_8008B510: /* 8008B510 00088470 3C 60 80 5A */ lis r3, skZero3f@ha /* 8008B514 00088474 C4 03 66 A0 */ lfsu f0, skZero3f@l(r3) /* 8008B518 00088478 D0 1F 02 A0 */ stfs f0, 0x2a0(r31) /* 8008B51C 0008847C C0 03 00 04 */ lfs f0, 4(r3) /* 8008B520 00088480 D0 1F 02 A4 */ stfs f0, 0x2a4(r31) /* 8008B524 00088484 C0 03 00 08 */ lfs f0, 8(r3) /* 8008B528 00088488 D0 1F 02 A8 */ stfs f0, 0x2a8(r31) lbl_8008B52C: /* 8008B52C 0008848C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008B530 00088490 C3 FF 02 A0 */ lfs f31, 0x2a0(r31) /* 8008B534 00088494 FC 00 D8 00 */ fcmpu cr0, f0, f27 /* 8008B538 00088498 C3 DF 02 A8 */ lfs f30, 0x2a8(r31) /* 8008B53C 0008849C 40 82 00 14 */ bne lbl_8008B550 /* 8008B540 000884A0 D3 9F 02 AC */ stfs f28, 0x2ac(r31) /* 8008B544 000884A4 D3 7F 02 B0 */ stfs f27, 0x2b0(r31) /* 8008B548 000884A8 D3 5F 02 B4 */ stfs f26, 0x2b4(r31) /* 8008B54C 000884AC 48 00 00 20 */ b lbl_8008B56C lbl_8008B550: /* 8008B550 000884B0 3C 60 80 5A */ lis r3, skZero3f@ha /* 8008B554 000884B4 C4 03 66 A0 */ lfsu f0, skZero3f@l(r3) /* 8008B558 000884B8 D0 1F 02 AC */ stfs f0, 0x2ac(r31) /* 8008B55C 000884BC C0 03 00 04 */ lfs f0, 4(r3) /* 8008B560 000884C0 D0 1F 02 B0 */ stfs f0, 0x2b0(r31) /* 8008B564 000884C4 C0 03 00 08 */ lfs f0, 8(r3) /* 8008B568 000884C8 D0 1F 02 B4 */ stfs f0, 0x2b4(r31) lbl_8008B56C: /* 8008B56C 000884CC C0 5F 02 AC */ lfs f2, 0x2ac(r31) /* 8008B570 000884D0 C0 3F 02 B4 */ lfs f1, 0x2b4(r31) /* 8008B574 000884D4 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008B578 000884D8 EF FF 10 2A */ fadds f31, f31, f2 /* 8008B57C 000884DC EF DE 08 2A */ fadds f30, f30, f1 /* 8008B580 000884E0 FC 00 20 00 */ fcmpu cr0, f0, f4 /* 8008B584 000884E4 40 82 00 14 */ bne lbl_8008B598 /* 8008B588 000884E8 D0 7F 02 B8 */ stfs f3, 0x2b8(r31) /* 8008B58C 000884EC D0 9F 02 BC */ stfs f4, 0x2bc(r31) /* 8008B590 000884F0 D0 BF 02 C0 */ stfs f5, 0x2c0(r31) /* 8008B594 000884F4 48 00 00 20 */ b lbl_8008B5B4 lbl_8008B598: /* 8008B598 000884F8 3C 60 80 5A */ lis r3, skZero3f@ha /* 8008B59C 000884FC C4 03 66 A0 */ lfsu f0, skZero3f@l(r3) /* 8008B5A0 00088500 D0 1F 02 B8 */ stfs f0, 0x2b8(r31) /* 8008B5A4 00088504 C0 03 00 04 */ lfs f0, 4(r3) /* 8008B5A8 00088508 D0 1F 02 BC */ stfs f0, 0x2bc(r31) /* 8008B5AC 0008850C C0 03 00 08 */ lfs f0, 8(r3) /* 8008B5B0 00088510 D0 1F 02 C0 */ stfs f0, 0x2c0(r31) lbl_8008B5B4: /* 8008B5B4 00088514 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008B5B8 00088518 C0 3F 02 B8 */ lfs f1, 0x2b8(r31) /* 8008B5BC 0008851C C0 1F 02 C0 */ lfs f0, 0x2c0(r31) /* 8008B5C0 00088520 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8008B5C4 00088524 EF FF 08 2A */ fadds f31, f31, f1 /* 8008B5C8 00088528 EF DE 00 2A */ fadds f30, f30, f0 /* 8008B5CC 0008852C 41 82 00 0C */ beq lbl_8008B5D8 /* 8008B5D0 00088530 C0 02 8A 5C */ lfs f0, lbl_805AA77C@sda21(r2) /* 8008B5D4 00088534 EF FF 00 24 */ fdivs f31, f31, f0 lbl_8008B5D8: /* 8008B5D8 00088538 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 8008B5DC 0008853C 28 00 00 00 */ cmplwi r0, 0 /* 8008B5E0 00088540 EF DE 00 24 */ fdivs f30, f30, f0 /* 8008B5E4 00088544 40 82 00 B0 */ bne lbl_8008B694 /* 8008B5E8 00088548 A0 7F 03 68 */ lhz r3, 0x368(r31) /* 8008B5EC 0008854C A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8008B5F0 00088550 7C 03 00 40 */ cmplw r3, r0 /* 8008B5F4 00088554 40 82 00 A0 */ bne lbl_8008B694 /* 8008B5F8 00088558 80 BF 03 50 */ lwz r5, 0x350(r31) /* 8008B5FC 0008855C 38 80 00 00 */ li r4, 0 /* 8008B600 00088560 80 DF 03 54 */ lwz r6, 0x354(r31) /* 8008B604 00088564 3C 60 80 00 */ lis r3, 0x8000 /* 8008B608 00088568 7C A0 20 38 */ and r0, r5, r4 /* 8008B60C 0008856C C3 42 8A 5C */ lfs f26, lbl_805AA77C@sda21(r2) /* 8008B610 00088570 7C C3 18 38 */ and r3, r6, r3 /* 8008B614 00088574 C3 62 89 B8 */ lfs f27, lbl_805AA6D8@sda21(r2) /* 8008B618 00088578 7C 63 22 78 */ xor r3, r3, r4 /* 8008B61C 0008857C 7C 00 22 78 */ xor r0, r0, r4 /* 8008B620 00088580 7C 60 03 79 */ or. r0, r3, r0 /* 8008B624 00088584 41 82 00 08 */ beq lbl_8008B62C /* 8008B628 00088588 38 80 00 01 */ li r4, 1 lbl_8008B62C: /* 8008B62C 0008858C 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 8008B630 00088590 41 82 00 10 */ beq lbl_8008B640 /* 8008B634 00088594 C0 22 89 E0 */ lfs f1, lbl_805AA700@sda21(r2) /* 8008B638 00088598 C0 1F 03 58 */ lfs f0, 0x358(r31) /* 8008B63C 0008859C EF 61 D8 3A */ fmadds f27, f1, f0, f27 lbl_8008B640: /* 8008B640 000885A0 3C 00 40 00 */ lis r0, 0x4000 /* 8008B644 000885A4 38 80 00 00 */ li r4, 0 /* 8008B648 000885A8 7C C3 00 38 */ and r3, r6, r0 /* 8008B64C 000885AC 7C A0 20 38 */ and r0, r5, r4 /* 8008B650 000885B0 7C 63 22 78 */ xor r3, r3, r4 /* 8008B654 000885B4 7C 00 22 78 */ xor r0, r0, r4 /* 8008B658 000885B8 7C 60 03 79 */ or. r0, r3, r0 /* 8008B65C 000885BC 41 82 00 30 */ beq lbl_8008B68C /* 8008B660 000885C0 C0 3F 03 58 */ lfs f1, 0x358(r31) /* 8008B664 000885C4 38 81 00 08 */ addi r4, r1, 8 /* 8008B668 000885C8 C0 02 8A 04 */ lfs f0, lbl_805AA724@sda21(r2) /* 8008B66C 000885CC 38 6D 84 7C */ addi r3, r13, lbl_805A703C@sda21 /* 8008B670 000885D0 38 AD 84 80 */ addi r5, r13, lbl_805A7040@sda21 /* 8008B674 000885D4 EC 01 00 28 */ fsubs f0, f1, f0 /* 8008B678 000885D8 D0 01 00 08 */ stfs f0, 8(r1) /* 8008B67C 000885DC 4B F8 0C 39 */ bl "Clamp__5CMathFRCfRCfRCf" /* 8008B680 000885E0 C0 23 00 00 */ lfs f1, 0(r3) /* 8008B684 000885E4 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 8008B688 000885E8 EF 40 D0 7A */ fmadds f26, f0, f1, f26 lbl_8008B68C: /* 8008B68C 000885EC EF FF 06 B2 */ fmuls f31, f31, f26 /* 8008B690 000885F0 EF DE 06 F2 */ fmuls f30, f30, f27 lbl_8008B694: /* 8008B694 000885F4 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008B698 000885F8 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8008B69C 000885FC 40 82 00 24 */ bne lbl_8008B6C0 /* 8008B6A0 00088600 3C 60 80 5A */ lis r3, skZero3f@ha /* 8008B6A4 00088604 C4 03 66 A0 */ lfsu f0, skZero3f@l(r3) /* 8008B6A8 00088608 D0 1E 00 00 */ stfs f0, 0(r30) /* 8008B6AC 0008860C C0 03 00 04 */ lfs f0, 4(r3) /* 8008B6B0 00088610 D0 1E 00 04 */ stfs f0, 4(r30) /* 8008B6B4 00088614 C0 03 00 08 */ lfs f0, 8(r3) /* 8008B6B8 00088618 D0 1E 00 08 */ stfs f0, 8(r30) /* 8008B6BC 0008861C 48 00 00 58 */ b lbl_8008B714 lbl_8008B6C0: /* 8008B6C0 00088620 FC 20 FA 10 */ fabs f1, f31 /* 8008B6C4 00088624 C0 02 8A A8 */ lfs f0, lbl_805AA7C8@sda21(r2) /* 8008B6C8 00088628 FC 20 08 18 */ frsp f1, f1 /* 8008B6CC 0008862C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008B6D0 00088630 40 80 00 08 */ bge lbl_8008B6D8 /* 8008B6D4 00088634 C3 E2 89 B0 */ lfs f31, lbl_805AA6D0@sda21(r2) lbl_8008B6D8: /* 8008B6D8 00088638 FC 20 F2 10 */ fabs f1, f30 /* 8008B6DC 0008863C C0 02 8A A8 */ lfs f0, lbl_805AA7C8@sda21(r2) /* 8008B6E0 00088640 FC 20 08 18 */ frsp f1, f1 /* 8008B6E4 00088644 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008B6E8 00088648 40 80 00 08 */ bge lbl_8008B6F0 /* 8008B6EC 0008864C C3 C2 89 B0 */ lfs f30, lbl_805AA6D0@sda21(r2) lbl_8008B6F0: /* 8008B6F0 00088650 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008B6F4 00088654 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8008B6F8 00088658 41 82 00 0C */ beq lbl_8008B704 /* 8008B6FC 0008865C C0 02 89 DC */ lfs f0, lbl_805AA6FC@sda21(r2) /* 8008B700 00088660 EF DE 00 32 */ fmuls f30, f30, f0 lbl_8008B704: /* 8008B704 00088664 D3 FE 00 00 */ stfs f31, 0(r30) /* 8008B708 00088668 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008B70C 0008866C D0 1E 00 04 */ stfs f0, 4(r30) /* 8008B710 00088670 D3 DE 00 08 */ stfs f30, 8(r30) lbl_8008B714: /* 8008B714 00088674 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 8008B718 00088678 CB E1 00 90 */ lfd f31, 0x90(r1) /* 8008B71C 0008867C E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 8008B720 00088680 CB C1 00 80 */ lfd f30, 0x80(r1) /* 8008B724 00088684 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 8008B728 00088688 CB A1 00 70 */ lfd f29, 0x70(r1) /* 8008B72C 0008868C E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0 /* 8008B730 00088690 CB 81 00 60 */ lfd f28, 0x60(r1) /* 8008B734 00088694 E3 61 00 58 */ psq_l f27, 88(r1), 0, qr0 /* 8008B738 00088698 CB 61 00 50 */ lfd f27, 0x50(r1) /* 8008B73C 0008869C E3 41 00 48 */ psq_l f26, 72(r1), 0, qr0 /* 8008B740 000886A0 CB 41 00 40 */ lfd f26, 0x40(r1) /* 8008B744 000886A4 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8008B748 000886A8 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8008B74C 000886AC 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8008B750 000886B0 7C 08 03 A6 */ mtlr r0 /* 8008B754 000886B4 38 21 00 A0 */ addi r1, r1, 0xa0 /* 8008B758 000886B8 4E 80 00 20 */ blr .global "CalculateCollidersCentroid__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>i" "CalculateCollidersCentroid__11CBallCameraCFRCQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>i": /* 8008B75C 000886BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8008B760 000886C0 81 25 00 04 */ lwz r9, 4(r5) /* 8008B764 000886C4 2C 09 00 03 */ cmpwi r9, 3 /* 8008B768 000886C8 40 80 00 1C */ bge lbl_8008B784 /* 8008B76C 000886CC C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008B770 000886D0 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008B774 000886D4 D0 23 00 00 */ stfs f1, 0(r3) /* 8008B778 000886D8 D0 03 00 04 */ stfs f0, 4(r3) /* 8008B77C 000886DC D0 23 00 08 */ stfs f1, 8(r3) /* 8008B780 000886E0 48 00 01 44 */ b lbl_8008B8C4 lbl_8008B784: /* 8008B784 000886E4 C0 C2 89 B0 */ lfs f6, lbl_805AA6D0@sda21(r2) /* 8008B788 000886E8 38 09 FF FF */ addi r0, r9, -1 /* 8008B78C 000886EC 39 40 00 00 */ li r10, 0 /* 8008B790 000886F0 39 60 00 00 */ li r11, 0 /* 8008B794 000886F4 FC E0 30 90 */ fmr f7, f6 /* 8008B798 000886F8 38 C0 00 00 */ li r6, 0 /* 8008B79C 000886FC FD 00 30 90 */ fmr f8, f6 /* 8008B7A0 00088700 7D 29 03 A6 */ mtctr r9 /* 8008B7A4 00088704 2C 09 00 00 */ cmpwi r9, 0 /* 8008B7A8 00088708 40 81 00 84 */ ble lbl_8008B82C lbl_8008B7AC: /* 8008B7AC 0008870C 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008B7B0 00088710 80 E5 00 0C */ lwz r7, 0xc(r5) /* 8008B7B4 00088714 7D 07 02 14 */ add r8, r7, r0 /* 8008B7B8 00088718 80 08 00 4C */ lwz r0, 0x4c(r8) /* 8008B7BC 0008871C 2C 00 00 02 */ cmpwi r0, 2 /* 8008B7C0 00088720 40 80 00 58 */ bge lbl_8008B818 /* 8008B7C4 00088724 7C E7 32 14 */ add r7, r7, r6 /* 8008B7C8 00088728 80 07 00 4C */ lwz r0, 0x4c(r7) /* 8008B7CC 0008872C 2C 00 00 02 */ cmpwi r0, 2 /* 8008B7D0 00088730 40 80 00 48 */ bge lbl_8008B818 /* 8008B7D4 00088734 C0 A8 00 50 */ lfs f5, 0x50(r8) /* 8008B7D8 00088738 C0 28 00 10 */ lfs f1, 0x10(r8) /* 8008B7DC 0008873C C0 07 00 08 */ lfs f0, 8(r7) /* 8008B7E0 00088740 C0 48 00 08 */ lfs f2, 8(r8) /* 8008B7E4 00088744 EC 65 00 72 */ fmuls f3, f5, f1 /* 8008B7E8 00088748 EC 25 00 32 */ fmuls f1, f5, f0 /* 8008B7EC 0008874C C0 07 00 10 */ lfs f0, 0x10(r7) /* 8008B7F0 00088750 EC 85 00 B2 */ fmuls f4, f5, f2 /* 8008B7F4 00088754 EC A5 00 32 */ fmuls f5, f5, f0 /* 8008B7F8 00088758 EC 41 00 F2 */ fmuls f2, f1, f3 /* 8008B7FC 0008875C EC 21 20 2A */ fadds f1, f1, f4 /* 8008B800 00088760 EC 05 18 2A */ fadds f0, f5, f3 /* 8008B804 00088764 EC 44 11 78 */ fmsubs f2, f4, f5, f2 /* 8008B808 00088768 EC C6 10 2A */ fadds f6, f6, f2 /* 8008B80C 0008876C EC E2 38 7A */ fmadds f7, f2, f1, f7 /* 8008B810 00088770 ED 02 40 3A */ fmadds f8, f2, f0, f8 /* 8008B814 00088774 48 00 00 08 */ b lbl_8008B81C lbl_8008B818: /* 8008B818 00088778 39 4A 00 01 */ addi r10, r10, 1 lbl_8008B81C: /* 8008B81C 0008877C 7D 60 5B 78 */ mr r0, r11 /* 8008B820 00088780 38 C6 00 54 */ addi r6, r6, 0x54 /* 8008B824 00088784 39 6B 00 01 */ addi r11, r11, 1 /* 8008B828 00088788 42 00 FF 84 */ bdnz lbl_8008B7AC lbl_8008B82C: /* 8008B82C 0008878C 3C A0 43 30 */ lis r5, 0x4330 /* 8008B830 00088790 6D 46 80 00 */ xoris r6, r10, 0x8000 /* 8008B834 00088794 6D 20 80 00 */ xoris r0, r9, 0x8000 /* 8008B838 00088798 90 C1 00 0C */ stw r6, 0xc(r1) /* 8008B83C 0008879C C8 62 89 C8 */ lfd f3, lbl_805AA6E8@sda21(r2) /* 8008B840 000887A0 90 A1 00 08 */ stw r5, 8(r1) /* 8008B844 000887A4 C0 04 03 30 */ lfs f0, 0x330(r4) /* 8008B848 000887A8 C8 21 00 08 */ lfd f1, 8(r1) /* 8008B84C 000887AC 90 01 00 14 */ stw r0, 0x14(r1) /* 8008B850 000887B0 EC 41 18 28 */ fsubs f2, f1, f3 /* 8008B854 000887B4 90 A1 00 10 */ stw r5, 0x10(r1) /* 8008B858 000887B8 C8 21 00 10 */ lfd f1, 0x10(r1) /* 8008B85C 000887BC EC 21 18 28 */ fsubs f1, f1, f3 /* 8008B860 000887C0 EC 22 08 24 */ fdivs f1, f2, f1 /* 8008B864 000887C4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8008B868 000887C8 4C 40 13 82 */ cror 2, 0, 2 /* 8008B86C 000887CC 40 82 00 1C */ bne lbl_8008B888 /* 8008B870 000887D0 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008B874 000887D4 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008B878 000887D8 D0 23 00 00 */ stfs f1, 0(r3) /* 8008B87C 000887DC D0 03 00 04 */ stfs f0, 4(r3) /* 8008B880 000887E0 D0 23 00 08 */ stfs f1, 8(r3) /* 8008B884 000887E4 48 00 00 40 */ b lbl_8008B8C4 lbl_8008B888: /* 8008B888 000887E8 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008B88C 000887EC FC 01 30 00 */ fcmpu cr0, f1, f6 /* 8008B890 000887F0 41 82 00 24 */ beq lbl_8008B8B4 /* 8008B894 000887F4 C0 02 89 E4 */ lfs f0, lbl_805AA704@sda21(r2) /* 8008B898 000887F8 EC 40 01 B2 */ fmuls f2, f0, f6 /* 8008B89C 000887FC EC 07 10 24 */ fdivs f0, f7, f2 /* 8008B8A0 00088800 D0 03 00 00 */ stfs f0, 0(r3) /* 8008B8A4 00088804 EC 08 10 24 */ fdivs f0, f8, f2 /* 8008B8A8 00088808 D0 23 00 04 */ stfs f1, 4(r3) /* 8008B8AC 0008880C D0 03 00 08 */ stfs f0, 8(r3) /* 8008B8B0 00088810 48 00 00 14 */ b lbl_8008B8C4 lbl_8008B8B4: /* 8008B8B4 00088814 D0 23 00 00 */ stfs f1, 0(r3) /* 8008B8B8 00088818 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008B8BC 0008881C D0 03 00 04 */ stfs f0, 4(r3) /* 8008B8C0 00088820 D0 23 00 08 */ stfs f1, 8(r3) lbl_8008B8C4: /* 8008B8C4 00088824 38 21 00 20 */ addi r1, r1, 0x20 /* 8008B8C8 00088828 4E 80 00 20 */ blr .global "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager" "UpdateColliders__11CBallCameraFRC12CTransform4fRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>RiifRCQ24rstl32reserved_vector<9TUniqueId,1024>fR13CStateManager": /* 8008B8CC 0008882C 94 21 FD B0 */ stwu r1, -0x250(r1) /* 8008B8D0 00088830 7C 08 02 A6 */ mflr r0 /* 8008B8D4 00088834 90 01 02 54 */ stw r0, 0x254(r1) /* 8008B8D8 00088838 DB E1 02 40 */ stfd f31, 0x240(r1) /* 8008B8DC 0008883C F3 E1 02 48 */ psq_st f31, 584(r1), 0, qr0 /* 8008B8E0 00088840 DB C1 02 30 */ stfd f30, 0x230(r1) /* 8008B8E4 00088844 F3 C1 02 38 */ psq_st f30, 568(r1), 0, qr0 /* 8008B8E8 00088848 DB A1 02 20 */ stfd f29, 0x220(r1) /* 8008B8EC 0008884C F3 A1 02 28 */ psq_st f29, 552(r1), 0, qr0 /* 8008B8F0 00088850 DB 81 02 10 */ stfd f28, 0x210(r1) /* 8008B8F4 00088854 F3 81 02 18 */ psq_st f28, 536(r1), 0, qr0 /* 8008B8F8 00088858 DB 61 02 00 */ stfd f27, 0x200(r1) /* 8008B8FC 0008885C F3 61 02 08 */ psq_st f27, 520(r1), 0, qr0 /* 8008B900 00088860 DB 41 01 F0 */ stfd f26, 0x1f0(r1) /* 8008B904 00088864 F3 41 01 F8 */ psq_st f26, 504(r1), 0, qr0 /* 8008B908 00088868 DB 21 01 E0 */ stfd f25, 0x1e0(r1) /* 8008B90C 0008886C F3 21 01 E8 */ psq_st f25, 488(r1), 0, qr0 /* 8008B910 00088870 DB 01 01 D0 */ stfd f24, 0x1d0(r1) /* 8008B914 00088874 F3 01 01 D8 */ psq_st f24, 472(r1), 0, qr0 /* 8008B918 00088878 BF 01 01 B0 */ stmw r24, 0x1b0(r1) /* 8008B91C 0008887C 7C B9 2B 78 */ mr r25, r5 /* 8008B920 00088880 7C DA 33 78 */ mr r26, r6 /* 8008B924 00088884 80 A6 00 00 */ lwz r5, 0(r6) /* 8008B928 00088888 FF 40 08 90 */ fmr f26, f1 /* 8008B92C 0008888C 80 19 00 04 */ lwz r0, 4(r25) /* 8008B930 00088890 7C 78 1B 78 */ mr r24, r3 /* 8008B934 00088894 7C FB 3B 78 */ mr r27, r7 /* 8008B938 00088898 7D 1C 43 78 */ mr r28, r8 /* 8008B93C 0008889C 7C 05 00 00 */ cmpw r5, r0 /* 8008B940 000888A0 7D 3D 4B 78 */ mr r29, r9 /* 8008B944 000888A4 40 80 05 30 */ bge lbl_8008BE74 /* 8008B948 000888A8 80 ED A1 18 */ lwz r7, gpTweakPlayer@sda21(r13) /* 8008B94C 000888AC 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 8008B950 000888B0 80 AD A1 1C */ lwz r5, gpTweakBall@sda21(r13) /* 8008B954 000888B4 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 8008B958 000888B8 81 1D 08 4C */ lwz r8, 0x84c(r29) /* 8008B95C 000888BC 38 61 01 50 */ addi r3, r1, 0x150 /* 8008B960 000888C0 C0 45 00 7C */ lfs f2, 0x7c(r5) /* 8008B964 000888C4 38 B8 03 1C */ addi r5, r24, 0x31c /* 8008B968 000888C8 C0 27 02 7C */ lfs f1, 0x27c(r7) /* 8008B96C 000888CC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008B970 000888D0 D0 18 03 10 */ stfs f0, 0x310(r24) /* 8008B974 000888D4 D0 58 03 14 */ stfs f2, 0x314(r24) /* 8008B978 000888D8 D0 38 03 18 */ stfs f1, 0x318(r24) /* 8008B97C 000888DC C0 38 03 14 */ lfs f1, 0x314(r24) /* 8008B980 000888E0 C0 18 03 08 */ lfs f0, 0x308(r24) /* 8008B984 000888E4 EC 01 00 32 */ fmuls f0, f1, f0 /* 8008B988 000888E8 D0 18 03 14 */ stfs f0, 0x314(r24) /* 8008B98C 000888EC C0 78 03 14 */ lfs f3, 0x314(r24) /* 8008B990 000888F0 C0 08 05 0C */ lfs f0, 0x50c(r8) /* 8008B994 000888F4 C0 48 05 10 */ lfs f2, 0x510(r8) /* 8008B998 000888F8 C0 28 05 14 */ lfs f1, 0x514(r8) /* 8008B99C 000888FC EC 03 00 32 */ fmuls f0, f3, f0 /* 8008B9A0 00088900 EC 43 00 B2 */ fmuls f2, f3, f2 /* 8008B9A4 00088904 EC 23 00 72 */ fmuls f1, f3, f1 /* 8008B9A8 00088908 D0 18 03 1C */ stfs f0, 0x31c(r24) /* 8008B9AC 0008890C D0 58 03 20 */ stfs f2, 0x320(r24) /* 8008B9B0 00088910 D0 38 03 24 */ stfs f1, 0x324(r24) /* 8008B9B4 00088914 C0 18 03 18 */ lfs f0, 0x318(r24) /* 8008B9B8 00088918 D0 18 03 24 */ stfs f0, 0x324(r24) /* 8008B9BC 0008891C C0 38 03 1C */ lfs f1, 0x31c(r24) /* 8008B9C0 00088920 C0 08 00 40 */ lfs f0, 0x40(r8) /* 8008B9C4 00088924 C0 48 00 60 */ lfs f2, 0x60(r8) /* 8008B9C8 00088928 EC 01 00 2A */ fadds f0, f1, f0 /* 8008B9CC 0008892C C0 28 00 50 */ lfs f1, 0x50(r8) /* 8008B9D0 00088930 D0 18 03 1C */ stfs f0, 0x31c(r24) /* 8008B9D4 00088934 C0 18 03 20 */ lfs f0, 0x320(r24) /* 8008B9D8 00088938 EC 00 08 2A */ fadds f0, f0, f1 /* 8008B9DC 0008893C D0 18 03 20 */ stfs f0, 0x320(r24) /* 8008B9E0 00088940 C0 18 03 24 */ lfs f0, 0x324(r24) /* 8008B9E4 00088944 EC 00 10 2A */ fadds f0, f0, f2 /* 8008B9E8 00088948 D0 18 03 24 */ stfs f0, 0x324(r24) /* 8008B9EC 0008894C C0 44 00 2C */ lfs f2, 0x2c(r4) /* 8008B9F0 00088950 C0 24 00 1C */ lfs f1, 0x1c(r4) /* 8008B9F4 00088954 C0 04 00 0C */ lfs f0, 0xc(r4) /* 8008B9F8 00088958 38 81 00 84 */ addi r4, r1, 0x84 /* 8008B9FC 0008895C D0 21 00 88 */ stfs f1, 0x88(r1) /* 8008BA00 00088960 D0 01 00 84 */ stfs f0, 0x84(r1) /* 8008BA04 00088964 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 8008BA08 00088968 48 28 81 09 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8008BA0C 0008896C 38 61 01 80 */ addi r3, r1, 0x180 /* 8008BA10 00088970 38 81 01 50 */ addi r4, r1, 0x150 /* 8008BA14 00088974 48 28 71 61 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008BA18 00088978 C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008BA1C 0008897C 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 8008BA20 00088980 C3 61 01 AC */ lfs f27, 0x1ac(r1) /* 8008BA24 00088984 3B E3 C4 08 */ addi r31, r3, lbl_8046C408@l /* 8008BA28 00088988 EF 40 D0 24 */ fdivs f26, f0, f26 /* 8008BA2C 0008898C C3 81 01 9C */ lfs f28, 0x19c(r1) /* 8008BA30 00088990 C3 A1 01 8C */ lfs f29, 0x18c(r1) /* 8008BA34 00088994 3B C0 00 00 */ li r30, 0 /* 8008BA38 00088998 C3 C2 89 BC */ lfs f30, lbl_805AA6DC@sda21(r2) /* 8008BA3C 0008899C 48 00 04 30 */ b lbl_8008BE6C lbl_8008BA40: /* 8008BA40 000889A0 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BA44 000889A4 38 61 00 78 */ addi r3, r1, 0x78 /* 8008BA48 000889A8 80 F9 00 0C */ lwz r7, 0xc(r25) /* 8008BA4C 000889AC 38 81 01 80 */ addi r4, r1, 0x180 /* 8008BA50 000889B0 1C C0 00 54 */ mulli r6, r0, 0x54 /* 8008BA54 000889B4 C3 01 01 AC */ lfs f24, 0x1ac(r1) /* 8008BA58 000889B8 C3 21 01 9C */ lfs f25, 0x19c(r1) /* 8008BA5C 000889BC 38 A1 00 B4 */ addi r5, r1, 0xb4 /* 8008BA60 000889C0 C3 E1 01 8C */ lfs f31, 0x18c(r1) /* 8008BA64 000889C4 38 C6 00 14 */ addi r6, r6, 0x14 /* 8008BA68 000889C8 7C C7 32 14 */ add r6, r7, r6 /* 8008BA6C 000889CC C0 26 00 04 */ lfs f1, 4(r6) /* 8008BA70 000889D0 C0 46 00 08 */ lfs f2, 8(r6) /* 8008BA74 000889D4 C0 06 00 00 */ lfs f0, 0(r6) /* 8008BA78 000889D8 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 8008BA7C 000889DC D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 8008BA80 000889E0 D0 41 00 BC */ stfs f2, 0xbc(r1) /* 8008BA84 000889E4 48 28 6F FD */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8008BA88 000889E8 C0 41 00 7C */ lfs f2, 0x7c(r1) /* 8008BA8C 000889EC 38 61 00 6C */ addi r3, r1, 0x6c /* 8008BA90 000889F0 C0 21 00 80 */ lfs f1, 0x80(r1) /* 8008BA94 000889F4 C0 01 00 78 */ lfs f0, 0x78(r1) /* 8008BA98 000889F8 EC A2 C8 2A */ fadds f5, f2, f25 /* 8008BA9C 000889FC EC 81 C0 2A */ fadds f4, f1, f24 /* 8008BAA0 00088A00 EC 60 F8 2A */ fadds f3, f0, f31 /* 8008BAA4 00088A04 D0 A1 00 AC */ stfs f5, 0xac(r1) /* 8008BAA8 00088A08 D0 61 00 A8 */ stfs f3, 0xa8(r1) /* 8008BAAC 00088A0C D0 81 00 B0 */ stfs f4, 0xb0(r1) /* 8008BAB0 00088A10 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BAB4 00088A14 80 B9 00 0C */ lwz r5, 0xc(r25) /* 8008BAB8 00088A18 1C 80 00 54 */ mulli r4, r0, 0x54 /* 8008BABC 00088A1C 38 84 00 2C */ addi r4, r4, 0x2c /* 8008BAC0 00088A20 7C 85 22 14 */ add r4, r5, r4 /* 8008BAC4 00088A24 C0 44 00 04 */ lfs f2, 4(r4) /* 8008BAC8 00088A28 C0 24 00 08 */ lfs f1, 8(r4) /* 8008BACC 00088A2C C0 04 00 00 */ lfs f0, 0(r4) /* 8008BAD0 00088A30 EC 42 28 28 */ fsubs f2, f2, f5 /* 8008BAD4 00088A34 EC 21 20 28 */ fsubs f1, f1, f4 /* 8008BAD8 00088A38 EC 00 18 28 */ fsubs f0, f0, f3 /* 8008BADC 00088A3C D0 41 00 64 */ stfs f2, 0x64(r1) /* 8008BAE0 00088A40 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8008BAE4 00088A44 D0 21 00 68 */ stfs f1, 0x68(r1) /* 8008BAE8 00088A48 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 8008BAEC 00088A4C D0 41 00 70 */ stfs f2, 0x70(r1) /* 8008BAF0 00088A50 D0 21 00 74 */ stfs f1, 0x74(r1) /* 8008BAF4 00088A54 48 28 8D C5 */ bl Magnitude__9CVector3fCFv /* 8008BAF8 00088A58 FC 01 F0 40 */ fcmpo cr0, f1, f30 /* 8008BAFC 00088A5C 40 80 00 50 */ bge lbl_8008BB4C /* 8008BB00 00088A60 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BB04 00088A64 80 99 00 0C */ lwz r4, 0xc(r25) /* 8008BB08 00088A68 1C 60 00 54 */ mulli r3, r0, 0x54 /* 8008BB0C 00088A6C 38 A3 00 08 */ addi r5, r3, 8 /* 8008BB10 00088A70 7C A4 2A 14 */ add r5, r4, r5 /* 8008BB14 00088A74 38 63 00 2C */ addi r3, r3, 0x2c /* 8008BB18 00088A78 C0 05 00 00 */ lfs f0, 0(r5) /* 8008BB1C 00088A7C 7C 64 1A 14 */ add r3, r4, r3 /* 8008BB20 00088A80 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 8008BB24 00088A84 C0 05 00 04 */ lfs f0, 4(r5) /* 8008BB28 00088A88 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 8008BB2C 00088A8C C0 05 00 08 */ lfs f0, 8(r5) /* 8008BB30 00088A90 D0 01 00 BC */ stfs f0, 0xbc(r1) /* 8008BB34 00088A94 C0 03 00 00 */ lfs f0, 0(r3) /* 8008BB38 00088A98 D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 8008BB3C 00088A9C C0 03 00 04 */ lfs f0, 4(r3) /* 8008BB40 00088AA0 D0 01 00 AC */ stfs f0, 0xac(r1) /* 8008BB44 00088AA4 C0 03 00 08 */ lfs f0, 8(r3) /* 8008BB48 00088AA8 D0 01 00 B0 */ stfs f0, 0xb0(r1) lbl_8008BB4C: /* 8008BB4C 00088AAC C0 41 00 AC */ lfs f2, 0xac(r1) /* 8008BB50 00088AB0 38 61 00 9C */ addi r3, r1, 0x9c /* 8008BB54 00088AB4 C0 21 00 B0 */ lfs f1, 0xb0(r1) /* 8008BB58 00088AB8 C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 8008BB5C 00088ABC EC 42 E0 28 */ fsubs f2, f2, f28 /* 8008BB60 00088AC0 EC 21 D8 28 */ fsubs f1, f1, f27 /* 8008BB64 00088AC4 EC 00 E8 28 */ fsubs f0, f0, f29 /* 8008BB68 00088AC8 D0 41 00 A0 */ stfs f2, 0xa0(r1) /* 8008BB6C 00088ACC D0 01 00 9C */ stfs f0, 0x9c(r1) /* 8008BB70 00088AD0 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 8008BB74 00088AD4 48 28 8D 45 */ bl Magnitude__9CVector3fCFv /* 8008BB78 00088AD8 FF E0 08 90 */ fmr f31, f1 /* 8008BB7C 00088ADC 38 61 00 9C */ addi r3, r1, 0x9c /* 8008BB80 00088AE0 48 28 8B 79 */ bl CanBeNormalized__9CVector3fCFv /* 8008BB84 00088AE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008BB88 00088AE8 41 82 01 30 */ beq lbl_8008BCB8 /* 8008BB8C 00088AEC 38 61 00 9C */ addi r3, r1, 0x9c /* 8008BB90 00088AF0 48 28 8D 69 */ bl Normalize__9CVector3fFv /* 8008BB94 00088AF4 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8008BB98 00088AF8 3C 60 80 47 */ lis r3, lbl_8046C408@ha /* 8008BB9C 00088AFC 39 03 C4 08 */ addi r8, r3, lbl_8046C408@l /* 8008BBA0 00088B00 C0 61 01 8C */ lfs f3, 0x18c(r1) /* 8008BBA4 00088B04 B0 01 00 08 */ sth r0, 8(r1) /* 8008BBA8 00088B08 7F A4 EB 78 */ mr r4, r29 /* 8008BBAC 00088B0C C0 41 01 9C */ lfs f2, 0x19c(r1) /* 8008BBB0 00088B10 7F 89 E3 78 */ mr r9, r28 /* 8008BBB4 00088B14 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BBB8 00088B18 38 61 01 20 */ addi r3, r1, 0x120 /* 8008BBBC 00088B1C 81 59 00 0C */ lwz r10, 0xc(r25) /* 8008BBC0 00088B20 38 A1 00 08 */ addi r5, r1, 8 /* 8008BBC4 00088B24 1C E0 00 54 */ mulli r7, r0, 0x54 /* 8008BBC8 00088B28 C0 01 01 AC */ lfs f0, 0x1ac(r1) /* 8008BBCC 00088B2C 38 C1 00 54 */ addi r6, r1, 0x54 /* 8008BBD0 00088B30 38 07 00 04 */ addi r0, r7, 4 /* 8008BBD4 00088B34 7C 2A 04 2E */ lfsx f1, r10, r0 /* 8008BBD8 00088B38 38 E1 00 9C */ addi r7, r1, 0x9c /* 8008BBDC 00088B3C EC 3F 08 2A */ fadds f1, f31, f1 /* 8008BBE0 00088B40 D0 61 00 54 */ stfs f3, 0x54(r1) /* 8008BBE4 00088B44 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8008BBE8 00088B48 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8008BBEC 00088B4C 4B FC 13 D9 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8008BBF0 00088B50 88 01 01 40 */ lbz r0, 0x140(r1) /* 8008BBF4 00088B54 C0 C1 01 20 */ lfs f6, 0x120(r1) /* 8008BBF8 00088B58 28 00 00 00 */ cmplwi r0, 0 /* 8008BBFC 00088B5C 41 82 00 BC */ beq lbl_8008BCB8 /* 8008BC00 00088B60 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BC04 00088B64 38 61 00 C0 */ addi r3, r1, 0xc0 /* 8008BC08 00088B68 80 D9 00 0C */ lwz r6, 0xc(r25) /* 8008BC0C 00088B6C 38 81 01 80 */ addi r4, r1, 0x180 /* 8008BC10 00088B70 1C A0 00 54 */ mulli r5, r0, 0x54 /* 8008BC14 00088B74 C0 81 00 A0 */ lfs f4, 0xa0(r1) /* 8008BC18 00088B78 C0 21 00 A4 */ lfs f1, 0xa4(r1) /* 8008BC1C 00088B7C C0 01 00 9C */ lfs f0, 0x9c(r1) /* 8008BC20 00088B80 38 05 00 04 */ addi r0, r5, 4 /* 8008BC24 00088B84 C0 A1 01 9C */ lfs f5, 0x19c(r1) /* 8008BC28 00088B88 7C 46 04 2E */ lfsx f2, r6, r0 /* 8008BC2C 00088B8C C0 61 01 AC */ lfs f3, 0x1ac(r1) /* 8008BC30 00088B90 EC C6 10 28 */ fsubs f6, f6, f2 /* 8008BC34 00088B94 C0 41 01 8C */ lfs f2, 0x18c(r1) /* 8008BC38 00088B98 EC 86 01 32 */ fmuls f4, f6, f4 /* 8008BC3C 00088B9C EC 26 00 72 */ fmuls f1, f6, f1 /* 8008BC40 00088BA0 EC 06 00 32 */ fmuls f0, f6, f0 /* 8008BC44 00088BA4 EC C5 20 2A */ fadds f6, f5, f4 /* 8008BC48 00088BA8 EC 83 08 2A */ fadds f4, f3, f1 /* 8008BC4C 00088BAC EC 22 00 2A */ fadds f1, f2, f0 /* 8008BC50 00088BB0 EC A6 28 28 */ fsubs f5, f6, f5 /* 8008BC54 00088BB4 D0 C1 00 AC */ stfs f6, 0xac(r1) /* 8008BC58 00088BB8 EC 64 18 28 */ fsubs f3, f4, f3 /* 8008BC5C 00088BBC EC 01 10 28 */ fsubs f0, f1, f2 /* 8008BC60 00088BC0 D0 21 00 A8 */ stfs f1, 0xa8(r1) /* 8008BC64 00088BC4 D0 81 00 B0 */ stfs f4, 0xb0(r1) /* 8008BC68 00088BC8 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8008BC6C 00088BCC D0 A1 00 34 */ stfs f5, 0x34(r1) /* 8008BC70 00088BD0 D0 61 00 38 */ stfs f3, 0x38(r1) /* 8008BC74 00088BD4 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 8008BC78 00088BD8 D0 A1 00 40 */ stfs f5, 0x40(r1) /* 8008BC7C 00088BDC D0 61 00 44 */ stfs f3, 0x44(r1) /* 8008BC80 00088BE0 48 28 6F C1 */ bl GetRotation__12CTransform4fCFv /* 8008BC84 00088BE4 38 61 00 F0 */ addi r3, r1, 0xf0 /* 8008BC88 00088BE8 38 81 00 C0 */ addi r4, r1, 0xc0 /* 8008BC8C 00088BEC 48 28 6A 55 */ bl GetInverse__12CTransform4fCFv /* 8008BC90 00088BF0 38 61 00 48 */ addi r3, r1, 0x48 /* 8008BC94 00088BF4 38 81 00 F0 */ addi r4, r1, 0xf0 /* 8008BC98 00088BF8 38 A1 00 3C */ addi r5, r1, 0x3c /* 8008BC9C 00088BFC 48 28 6E 4D */ bl __ml__12CTransform4fCFRC9CVector3f /* 8008BCA0 00088C00 C0 41 00 48 */ lfs f2, 0x48(r1) /* 8008BCA4 00088C04 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 8008BCA8 00088C08 C0 01 00 50 */ lfs f0, 0x50(r1) /* 8008BCAC 00088C0C D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 8008BCB0 00088C10 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 8008BCB4 00088C14 D0 01 00 BC */ stfs f0, 0xbc(r1) lbl_8008BCB8: /* 8008BCB8 00088C18 80 81 00 A8 */ lwz r4, 0xa8(r1) /* 8008BCBC 00088C1C 7F A3 EB 78 */ mr r3, r29 /* 8008BCC0 00088C20 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BCC4 00088C24 7F 86 E3 78 */ mr r6, r28 /* 8008BCC8 00088C28 90 81 00 24 */ stw r4, 0x24(r1) /* 8008BCCC 00088C2C 7F E7 FB 78 */ mr r7, r31 /* 8008BCD0 00088C30 80 A1 00 AC */ lwz r5, 0xac(r1) /* 8008BCD4 00088C34 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008BCD8 00088C38 81 19 00 0C */ lwz r8, 0xc(r25) /* 8008BCDC 00088C3C 38 81 00 A8 */ addi r4, r1, 0xa8 /* 8008BCE0 00088C40 90 A1 00 28 */ stw r5, 0x28(r1) /* 8008BCE4 00088C44 38 A1 00 90 */ addi r5, r1, 0x90 /* 8008BCE8 00088C48 81 21 00 B0 */ lwz r9, 0xb0(r1) /* 8008BCEC 00088C4C C0 01 00 24 */ lfs f0, 0x24(r1) /* 8008BCF0 00088C50 7D 48 02 14 */ add r10, r8, r0 /* 8008BCF4 00088C54 91 21 00 2C */ stw r9, 0x2c(r1) /* 8008BCF8 00088C58 39 00 00 00 */ li r8, 0 /* 8008BCFC 00088C5C C0 21 00 28 */ lfs f1, 0x28(r1) /* 8008BD00 00088C60 D0 0A 00 2C */ stfs f0, 0x2c(r10) /* 8008BD04 00088C64 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8008BD08 00088C68 D0 2A 00 30 */ stfs f1, 0x30(r10) /* 8008BD0C 00088C6C D0 0A 00 34 */ stfs f0, 0x34(r10) /* 8008BD10 00088C70 81 21 00 B4 */ lwz r9, 0xb4(r1) /* 8008BD14 00088C74 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BD18 00088C78 91 21 00 18 */ stw r9, 0x18(r1) /* 8008BD1C 00088C7C 81 41 00 B8 */ lwz r10, 0xb8(r1) /* 8008BD20 00088C80 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008BD24 00088C84 81 39 00 0C */ lwz r9, 0xc(r25) /* 8008BD28 00088C88 91 41 00 1C */ stw r10, 0x1c(r1) /* 8008BD2C 00088C8C 81 41 00 BC */ lwz r10, 0xbc(r1) /* 8008BD30 00088C90 7D 29 02 14 */ add r9, r9, r0 /* 8008BD34 00088C94 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8008BD38 00088C98 91 41 00 20 */ stw r10, 0x20(r1) /* 8008BD3C 00088C9C C0 21 00 1C */ lfs f1, 0x1c(r1) /* 8008BD40 00088CA0 D0 09 00 08 */ stfs f0, 8(r9) /* 8008BD44 00088CA4 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8008BD48 00088CA8 D0 29 00 0C */ stfs f1, 0xc(r9) /* 8008BD4C 00088CAC D0 09 00 10 */ stfs f0, 0x10(r9) /* 8008BD50 00088CB0 C0 41 00 9C */ lfs f2, 0x9c(r1) /* 8008BD54 00088CB4 C0 21 00 A0 */ lfs f1, 0xa0(r1) /* 8008BD58 00088CB8 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 8008BD5C 00088CBC EC 5F 00 B2 */ fmuls f2, f31, f2 /* 8008BD60 00088CC0 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8008BD64 00088CC4 EC 1F 00 32 */ fmuls f0, f31, f0 /* 8008BD68 00088CC8 EC 7A 00 B2 */ fmuls f3, f26, f2 /* 8008BD6C 00088CCC EC 5A 00 72 */ fmuls f2, f26, f1 /* 8008BD70 00088CD0 EC 3A 00 32 */ fmuls f1, f26, f0 /* 8008BD74 00088CD4 D0 61 00 90 */ stfs f3, 0x90(r1) /* 8008BD78 00088CD8 D0 41 00 94 */ stfs f2, 0x94(r1) /* 8008BD7C 00088CDC D0 21 00 98 */ stfs f1, 0x98(r1) /* 8008BD80 00088CE0 C0 18 03 08 */ lfs f0, 0x308(r24) /* 8008BD84 00088CE4 EC 63 00 32 */ fmuls f3, f3, f0 /* 8008BD88 00088CE8 EC 42 00 32 */ fmuls f2, f2, f0 /* 8008BD8C 00088CEC EC 21 00 32 */ fmuls f1, f1, f0 /* 8008BD90 00088CF0 D0 61 00 90 */ stfs f3, 0x90(r1) /* 8008BD94 00088CF4 D0 41 00 94 */ stfs f2, 0x94(r1) /* 8008BD98 00088CF8 D0 21 00 98 */ stfs f1, 0x98(r1) /* 8008BD9C 00088CFC C0 18 03 1C */ lfs f0, 0x31c(r24) /* 8008BDA0 00088D00 EC 03 00 2A */ fadds f0, f3, f0 /* 8008BDA4 00088D04 D0 01 00 90 */ stfs f0, 0x90(r1) /* 8008BDA8 00088D08 C0 18 03 20 */ lfs f0, 0x320(r24) /* 8008BDAC 00088D0C 80 01 00 90 */ lwz r0, 0x90(r1) /* 8008BDB0 00088D10 EC 02 00 2A */ fadds f0, f2, f0 /* 8008BDB4 00088D14 90 01 00 0C */ stw r0, 0xc(r1) /* 8008BDB8 00088D18 D0 01 00 94 */ stfs f0, 0x94(r1) /* 8008BDBC 00088D1C C0 41 00 0C */ lfs f2, 0xc(r1) /* 8008BDC0 00088D20 C0 18 03 24 */ lfs f0, 0x324(r24) /* 8008BDC4 00088D24 80 01 00 94 */ lwz r0, 0x94(r1) /* 8008BDC8 00088D28 EC 01 00 2A */ fadds f0, f1, f0 /* 8008BDCC 00088D2C 90 01 00 10 */ stw r0, 0x10(r1) /* 8008BDD0 00088D30 D0 01 00 98 */ stfs f0, 0x98(r1) /* 8008BDD4 00088D34 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8008BDD8 00088D38 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BDDC 00088D3C 81 41 00 98 */ lwz r10, 0x98(r1) /* 8008BDE0 00088D40 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008BDE4 00088D44 81 39 00 0C */ lwz r9, 0xc(r25) /* 8008BDE8 00088D48 91 41 00 14 */ stw r10, 0x14(r1) /* 8008BDEC 00088D4C 7D 29 02 14 */ add r9, r9, r0 /* 8008BDF0 00088D50 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8008BDF4 00088D54 D0 49 00 20 */ stfs f2, 0x20(r9) /* 8008BDF8 00088D58 D0 29 00 24 */ stfs f1, 0x24(r9) /* 8008BDFC 00088D5C D0 09 00 28 */ stfs f0, 0x28(r9) /* 8008BE00 00088D60 4B FC 11 6D */ bl "RayCollideWorld__13CStateManagerRC9CVector3fRC9CVector3fRCQ24rstl49reserved_vector<9TUniqueId,1024>RC15CMaterialFilterPC6CActor" /* 8008BE04 00088D64 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008BE08 00088D68 41 82 00 20 */ beq lbl_8008BE28 /* 8008BE0C 00088D6C 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BE10 00088D70 38 A0 00 00 */ li r5, 0 /* 8008BE14 00088D74 80 99 00 0C */ lwz r4, 0xc(r25) /* 8008BE18 00088D78 1C 60 00 54 */ mulli r3, r0, 0x54 /* 8008BE1C 00088D7C 38 03 00 4C */ addi r0, r3, 0x4c /* 8008BE20 00088D80 7C A4 01 2E */ stwx r5, r4, r0 /* 8008BE24 00088D84 48 00 00 20 */ b lbl_8008BE44 lbl_8008BE28: /* 8008BE28 00088D88 80 1A 00 00 */ lwz r0, 0(r26) /* 8008BE2C 00088D8C 80 79 00 0C */ lwz r3, 0xc(r25) /* 8008BE30 00088D90 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008BE34 00088D94 7C 83 02 14 */ add r4, r3, r0 /* 8008BE38 00088D98 80 64 00 4C */ lwz r3, 0x4c(r4) /* 8008BE3C 00088D9C 38 03 00 01 */ addi r0, r3, 1 /* 8008BE40 00088DA0 90 04 00 4C */ stw r0, 0x4c(r4) lbl_8008BE44: /* 8008BE44 00088DA4 80 7A 00 00 */ lwz r3, 0(r26) /* 8008BE48 00088DA8 38 03 00 01 */ addi r0, r3, 1 /* 8008BE4C 00088DAC 90 1A 00 00 */ stw r0, 0(r26) /* 8008BE50 00088DB0 80 7A 00 00 */ lwz r3, 0(r26) /* 8008BE54 00088DB4 80 19 00 04 */ lwz r0, 4(r25) /* 8008BE58 00088DB8 7C 03 00 00 */ cmpw r3, r0 /* 8008BE5C 00088DBC 40 82 00 0C */ bne lbl_8008BE68 /* 8008BE60 00088DC0 38 00 00 00 */ li r0, 0 /* 8008BE64 00088DC4 90 1A 00 00 */ stw r0, 0(r26) lbl_8008BE68: /* 8008BE68 00088DC8 3B DE 00 01 */ addi r30, r30, 1 lbl_8008BE6C: /* 8008BE6C 00088DCC 7C 1E D8 00 */ cmpw r30, r27 /* 8008BE70 00088DD0 41 80 FB D0 */ blt lbl_8008BA40 lbl_8008BE74: /* 8008BE74 00088DD4 E3 E1 02 48 */ psq_l f31, 584(r1), 0, qr0 /* 8008BE78 00088DD8 CB E1 02 40 */ lfd f31, 0x240(r1) /* 8008BE7C 00088DDC E3 C1 02 38 */ psq_l f30, 568(r1), 0, qr0 /* 8008BE80 00088DE0 CB C1 02 30 */ lfd f30, 0x230(r1) /* 8008BE84 00088DE4 E3 A1 02 28 */ psq_l f29, 552(r1), 0, qr0 /* 8008BE88 00088DE8 CB A1 02 20 */ lfd f29, 0x220(r1) /* 8008BE8C 00088DEC E3 81 02 18 */ psq_l f28, 536(r1), 0, qr0 /* 8008BE90 00088DF0 CB 81 02 10 */ lfd f28, 0x210(r1) /* 8008BE94 00088DF4 E3 61 02 08 */ psq_l f27, 520(r1), 0, qr0 /* 8008BE98 00088DF8 CB 61 02 00 */ lfd f27, 0x200(r1) /* 8008BE9C 00088DFC E3 41 01 F8 */ psq_l f26, 504(r1), 0, qr0 /* 8008BEA0 00088E00 CB 41 01 F0 */ lfd f26, 0x1f0(r1) /* 8008BEA4 00088E04 E3 21 01 E8 */ psq_l f25, 488(r1), 0, qr0 /* 8008BEA8 00088E08 CB 21 01 E0 */ lfd f25, 0x1e0(r1) /* 8008BEAC 00088E0C E3 01 01 D8 */ psq_l f24, 472(r1), 0, qr0 /* 8008BEB0 00088E10 CB 01 01 D0 */ lfd f24, 0x1d0(r1) /* 8008BEB4 00088E14 BB 01 01 B0 */ lmw r24, 0x1b0(r1) /* 8008BEB8 00088E18 80 01 02 54 */ lwz r0, 0x254(r1) /* 8008BEBC 00088E1C 7C 08 03 A6 */ mtlr r0 /* 8008BEC0 00088E20 38 21 02 50 */ addi r1, r1, 0x250 /* 8008BEC4 00088E24 4E 80 00 20 */ blr .global "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff" "UpdateCollidersDistances__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fff": /* 8008BEC8 00088E28 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 8008BECC 00088E2C 7C 08 02 A6 */ mflr r0 /* 8008BED0 00088E30 90 01 00 D4 */ stw r0, 0xd4(r1) /* 8008BED4 00088E34 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 8008BED8 00088E38 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 8008BEDC 00088E3C DB C1 00 B0 */ stfd f30, 0xb0(r1) /* 8008BEE0 00088E40 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0 /* 8008BEE4 00088E44 DB A1 00 A0 */ stfd f29, 0xa0(r1) /* 8008BEE8 00088E48 F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0 /* 8008BEEC 00088E4C DB 81 00 90 */ stfd f28, 0x90(r1) /* 8008BEF0 00088E50 F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0 /* 8008BEF4 00088E54 DB 61 00 80 */ stfd f27, 0x80(r1) /* 8008BEF8 00088E58 F3 61 00 88 */ psq_st f27, 136(r1), 0, qr0 /* 8008BEFC 00088E5C DB 41 00 70 */ stfd f26, 0x70(r1) /* 8008BF00 00088E60 F3 41 00 78 */ psq_st f26, 120(r1), 0, qr0 /* 8008BF04 00088E64 DB 21 00 60 */ stfd f25, 0x60(r1) /* 8008BF08 00088E68 F3 21 00 68 */ psq_st f25, 104(r1), 0, qr0 /* 8008BF0C 00088E6C DB 01 00 50 */ stfd f24, 0x50(r1) /* 8008BF10 00088E70 F3 01 00 58 */ psq_st f24, 88(r1), 0, qr0 /* 8008BF14 00088E74 DA E1 00 40 */ stfd f23, 0x40(r1) /* 8008BF18 00088E78 F2 E1 00 48 */ psq_st f23, 72(r1), 0, qr0 /* 8008BF1C 00088E7C 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8008BF20 00088E80 93 C1 00 38 */ stw r30, 0x38(r1) /* 8008BF24 00088E84 93 A1 00 34 */ stw r29, 0x34(r1) /* 8008BF28 00088E88 93 81 00 30 */ stw r28, 0x30(r1) /* 8008BF2C 00088E8C FF A0 08 90 */ fmr f29, f1 /* 8008BF30 00088E90 C3 02 8A AC */ lfs f24, lbl_805AA7CC@sda21(r2) /* 8008BF34 00088E94 FF C0 10 90 */ fmr f30, f2 /* 8008BF38 00088E98 CB 22 89 F0 */ lfd f25, lbl_805AA710@sda21(r2) /* 8008BF3C 00088E9C FF E0 18 90 */ fmr f31, f3 /* 8008BF40 00088EA0 C3 42 89 B0 */ lfs f26, lbl_805AA6D0@sda21(r2) /* 8008BF44 00088EA4 C3 62 8A 8C */ lfs f27, lbl_805AA7AC@sda21(r2) /* 8008BF48 00088EA8 7C 9C 23 78 */ mr r28, r4 /* 8008BF4C 00088EAC CB 82 89 C8 */ lfd f28, lbl_805AA6E8@sda21(r2) /* 8008BF50 00088EB0 3B A0 00 00 */ li r29, 0 /* 8008BF54 00088EB4 3B C0 00 00 */ li r30, 0 /* 8008BF58 00088EB8 3F E0 43 30 */ lis r31, 0x4330 /* 8008BF5C 00088EBC 48 00 00 BC */ b lbl_8008C018 lbl_8008BF60: /* 8008BF60 00088EC0 FC 20 F8 90 */ fmr f1, f31 /* 8008BF64 00088EC4 48 30 84 8D */ bl cos /* 8008BF68 00088EC8 FC 00 08 18 */ frsp f0, f1 /* 8008BF6C 00088ECC FC 1F C0 40 */ fcmpo cr0, f31, f24 /* 8008BF70 00088ED0 EE FE 00 32 */ fmuls f23, f30, f0 /* 8008BF74 00088ED4 40 81 00 0C */ ble lbl_8008BF80 /* 8008BF78 00088ED8 C0 02 8A 04 */ lfs f0, lbl_805AA724@sda21(r2) /* 8008BF7C 00088EDC EE F7 00 32 */ fmuls f23, f23, f0 lbl_8008BF80: /* 8008BF80 00088EE0 FC 20 F8 90 */ fmr f1, f31 /* 8008BF84 00088EE4 48 30 8B 59 */ bl sin /* 8008BF88 00088EE8 FC 20 08 18 */ frsp f1, f1 /* 8008BF8C 00088EEC FC 00 0A 10 */ fabs f0, f1 /* 8008BF90 00088EF0 FC 00 C8 40 */ fcmpo cr0, f0, f25 /* 8008BF94 00088EF4 40 81 00 14 */ ble lbl_8008BFA8 /* 8008BF98 00088EF8 C0 02 89 F8 */ lfs f0, lbl_805AA718@sda21(r2) /* 8008BF9C 00088EFC C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 8008BFA0 00088F00 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 8008BFA4 00088F04 EC 22 00 32 */ fmuls f1, f2, f0 lbl_8008BFA8: /* 8008BFA8 00088F08 EC 1D 00 72 */ fmuls f0, f29, f1 /* 8008BFAC 00088F0C D3 41 00 18 */ stfs f26, 0x18(r1) /* 8008BFB0 00088F10 80 1C 00 0C */ lwz r0, 0xc(r28) /* 8008BFB4 00088F14 3B BD 00 01 */ addi r29, r29, 1 /* 8008BFB8 00088F18 80 61 00 18 */ lwz r3, 0x18(r1) /* 8008BFBC 00088F1C D0 01 00 14 */ stfs f0, 0x14(r1) /* 8008BFC0 00088F20 7C A0 F2 14 */ add r5, r0, r30 /* 8008BFC4 00088F24 3B DE 00 54 */ addi r30, r30, 0x54 /* 8008BFC8 00088F28 80 81 00 14 */ lwz r4, 0x14(r1) /* 8008BFCC 00088F2C D2 E1 00 1C */ stfs f23, 0x1c(r1) /* 8008BFD0 00088F30 90 81 00 08 */ stw r4, 8(r1) /* 8008BFD4 00088F34 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8008BFD8 00088F38 90 61 00 0C */ stw r3, 0xc(r1) /* 8008BFDC 00088F3C C0 01 00 08 */ lfs f0, 8(r1) /* 8008BFE0 00088F40 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8008BFE4 00088F44 D0 05 00 14 */ stfs f0, 0x14(r5) /* 8008BFE8 00088F48 90 01 00 10 */ stw r0, 0x10(r1) /* 8008BFEC 00088F4C C0 01 00 10 */ lfs f0, 0x10(r1) /* 8008BFF0 00088F50 D0 25 00 18 */ stfs f1, 0x18(r5) /* 8008BFF4 00088F54 D0 05 00 1C */ stfs f0, 0x1c(r5) /* 8008BFF8 00088F58 80 1C 00 04 */ lwz r0, 4(r28) /* 8008BFFC 00088F5C 93 E1 00 20 */ stw r31, 0x20(r1) /* 8008C000 00088F60 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8008C004 00088F64 90 01 00 24 */ stw r0, 0x24(r1) /* 8008C008 00088F68 C8 01 00 20 */ lfd f0, 0x20(r1) /* 8008C00C 00088F6C EC 00 E0 28 */ fsubs f0, f0, f28 /* 8008C010 00088F70 EC 1B 00 24 */ fdivs f0, f27, f0 /* 8008C014 00088F74 EF FF 00 2A */ fadds f31, f31, f0 lbl_8008C018: /* 8008C018 00088F78 80 1C 00 04 */ lwz r0, 4(r28) /* 8008C01C 00088F7C 7C 1D 00 00 */ cmpw r29, r0 /* 8008C020 00088F80 41 80 FF 40 */ blt lbl_8008BF60 /* 8008C024 00088F84 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 8008C028 00088F88 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 8008C02C 00088F8C E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0 /* 8008C030 00088F90 CB C1 00 B0 */ lfd f30, 0xb0(r1) /* 8008C034 00088F94 E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0 /* 8008C038 00088F98 CB A1 00 A0 */ lfd f29, 0xa0(r1) /* 8008C03C 00088F9C E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0 /* 8008C040 00088FA0 CB 81 00 90 */ lfd f28, 0x90(r1) /* 8008C044 00088FA4 E3 61 00 88 */ psq_l f27, 136(r1), 0, qr0 /* 8008C048 00088FA8 CB 61 00 80 */ lfd f27, 0x80(r1) /* 8008C04C 00088FAC E3 41 00 78 */ psq_l f26, 120(r1), 0, qr0 /* 8008C050 00088FB0 CB 41 00 70 */ lfd f26, 0x70(r1) /* 8008C054 00088FB4 E3 21 00 68 */ psq_l f25, 104(r1), 0, qr0 /* 8008C058 00088FB8 CB 21 00 60 */ lfd f25, 0x60(r1) /* 8008C05C 00088FBC E3 01 00 58 */ psq_l f24, 88(r1), 0, qr0 /* 8008C060 00088FC0 CB 01 00 50 */ lfd f24, 0x50(r1) /* 8008C064 00088FC4 E2 E1 00 48 */ psq_l f23, 72(r1), 0, qr0 /* 8008C068 00088FC8 CA E1 00 40 */ lfd f23, 0x40(r1) /* 8008C06C 00088FCC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8008C070 00088FD0 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8008C074 00088FD4 83 A1 00 34 */ lwz r29, 0x34(r1) /* 8008C078 00088FD8 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 8008C07C 00088FDC 83 81 00 30 */ lwz r28, 0x30(r1) /* 8008C080 00088FE0 7C 08 03 A6 */ mtlr r0 /* 8008C084 00088FE4 38 21 00 D0 */ addi r1, r1, 0xd0 /* 8008C088 00088FE8 4E 80 00 20 */ blr .global Reset__11CBallCameraFRC12CTransform4fR13CStateManager Reset__11CBallCameraFRC12CTransform4fR13CStateManager: /* 8008C08C 00088FEC 94 21 FE F0 */ stwu r1, -0x110(r1) /* 8008C090 00088FF0 7C 08 02 A6 */ mflr r0 /* 8008C094 00088FF4 90 01 01 14 */ stw r0, 0x114(r1) /* 8008C098 00088FF8 93 E1 01 0C */ stw r31, 0x10c(r1) /* 8008C09C 00088FFC 7C BF 2B 78 */ mr r31, r5 /* 8008C0A0 00089000 93 C1 01 08 */ stw r30, 0x108(r1) /* 8008C0A4 00089004 7C 7E 1B 78 */ mr r30, r3 /* 8008C0A8 00089008 38 7E 02 14 */ addi r3, r30, 0x214 /* 8008C0AC 0008900C 93 A1 01 04 */ stw r29, 0x104(r1) /* 8008C0B0 00089010 93 81 01 00 */ stw r28, 0x100(r1) /* 8008C0B4 00089014 7C 9C 23 78 */ mr r28, r4 /* 8008C0B8 00089018 4B FD 16 F9 */ bl Reset__13CCameraSpringFv /* 8008C0BC 0008901C 38 7E 02 28 */ addi r3, r30, 0x228 /* 8008C0C0 00089020 4B FD 16 F1 */ bl Reset__13CCameraSpringFv /* 8008C0C4 00089024 38 7E 02 3C */ addi r3, r30, 0x23c /* 8008C0C8 00089028 4B FD 16 E9 */ bl Reset__13CCameraSpringFv /* 8008C0CC 0008902C 38 7E 02 50 */ addi r3, r30, 0x250 /* 8008C0D0 00089030 4B FD 16 E1 */ bl Reset__13CCameraSpringFv /* 8008C0D4 00089034 38 7E 04 1C */ addi r3, r30, 0x41c /* 8008C0D8 00089038 4B FD 16 D9 */ bl Reset__13CCameraSpringFv /* 8008C0DC 0008903C 38 7E 04 48 */ addi r3, r30, 0x448 /* 8008C0E0 00089040 4B FD 16 D1 */ bl Reset__13CCameraSpringFv /* 8008C0E4 00089044 C0 5C 00 04 */ lfs f2, 4(r28) /* 8008C0E8 00089048 7F C4 F3 78 */ mr r4, r30 /* 8008C0EC 0008904C C0 3C 00 14 */ lfs f1, 0x14(r28) /* 8008C0F0 00089050 7F E6 FB 78 */ mr r6, r31 /* 8008C0F4 00089054 C0 1C 00 24 */ lfs f0, 0x24(r28) /* 8008C0F8 00089058 38 61 00 44 */ addi r3, r1, 0x44 /* 8008C0FC 0008905C D0 41 00 2C */ stfs f2, 0x2c(r1) /* 8008C100 00089060 38 A1 00 38 */ addi r5, r1, 0x38 /* 8008C104 00089064 38 E0 00 00 */ li r7, 0 /* 8008C108 00089068 D0 21 00 30 */ stfs f1, 0x30(r1) /* 8008C10C 0008906C 81 21 00 2C */ lwz r9, 0x2c(r1) /* 8008C110 00089070 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8008C114 00089074 81 01 00 30 */ lwz r8, 0x30(r1) /* 8008C118 00089078 80 01 00 34 */ lwz r0, 0x34(r1) /* 8008C11C 0008907C 91 21 00 38 */ stw r9, 0x38(r1) /* 8008C120 00089080 91 01 00 3C */ stw r8, 0x3c(r1) /* 8008C124 00089084 90 01 00 40 */ stw r0, 0x40(r1) /* 8008C128 00089088 C0 3E 01 90 */ lfs f1, 0x190(r30) /* 8008C12C 0008908C C0 5E 01 A0 */ lfs f2, 0x1a0(r30) /* 8008C130 00089090 4B FF DB 85 */ bl FindDesiredPosition__11CBallCameraFffRC9CVector3fR13CStateManagerb /* 8008C134 00089094 C0 41 00 44 */ lfs f2, 0x44(r1) /* 8008C138 00089098 7F E3 FB 78 */ mr r3, r31 /* 8008C13C 0008909C C0 21 00 48 */ lfs f1, 0x48(r1) /* 8008C140 000890A0 38 81 00 14 */ addi r4, r1, 0x14 /* 8008C144 000890A4 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 8008C148 000890A8 D0 41 00 5C */ stfs f2, 0x5c(r1) /* 8008C14C 000890AC D0 21 00 60 */ stfs f1, 0x60(r1) /* 8008C150 000890B0 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8008C154 000890B4 A0 1E 00 E8 */ lhz r0, 0xe8(r30) /* 8008C158 000890B8 B0 01 00 10 */ sth r0, 0x10(r1) /* 8008C15C 000890BC B0 01 00 14 */ sth r0, 0x14(r1) /* 8008C160 000890C0 4B FC 04 45 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8008C164 000890C4 7C 64 1B 78 */ mr r4, r3 /* 8008C168 000890C8 38 61 00 18 */ addi r3, r1, 0x18 /* 8008C16C 000890CC 48 02 02 29 */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity" /* 8008C170 000890D0 83 83 00 04 */ lwz r28, 4(r3) /* 8008C174 000890D4 28 1C 00 00 */ cmplwi r28, 0 /* 8008C178 000890D8 41 82 02 74 */ beq lbl_8008C3EC /* 8008C17C 000890DC 7F C3 F3 78 */ mr r3, r30 /* 8008C180 000890E0 7F E4 FB 78 */ mr r4, r31 /* 8008C184 000890E4 48 00 09 0D */ bl ResetPosition__11CBallCameraFR13CStateManager /* 8008C188 000890E8 C0 3E 01 B4 */ lfs f1, 0x1b4(r30) /* 8008C18C 000890EC 38 61 00 50 */ addi r3, r1, 0x50 /* 8008C190 000890F0 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008C194 000890F4 D0 3E 03 10 */ stfs f1, 0x310(r30) /* 8008C198 000890F8 C0 3E 01 B8 */ lfs f1, 0x1b8(r30) /* 8008C19C 000890FC D0 3E 03 14 */ stfs f1, 0x314(r30) /* 8008C1A0 00089100 C0 3E 01 BC */ lfs f1, 0x1bc(r30) /* 8008C1A4 00089104 D0 3E 03 18 */ stfs f1, 0x318(r30) /* 8008C1A8 00089108 C0 3E 01 D8 */ lfs f1, 0x1d8(r30) /* 8008C1AC 0008910C D0 3E 03 1C */ stfs f1, 0x31c(r30) /* 8008C1B0 00089110 C0 3E 01 DC */ lfs f1, 0x1dc(r30) /* 8008C1B4 00089114 D0 3E 03 20 */ stfs f1, 0x320(r30) /* 8008C1B8 00089118 C0 3E 01 E0 */ lfs f1, 0x1e0(r30) /* 8008C1BC 0008911C D0 3E 03 24 */ stfs f1, 0x324(r30) /* 8008C1C0 00089120 C0 5E 01 E0 */ lfs f2, 0x1e0(r30) /* 8008C1C4 00089124 C0 21 00 64 */ lfs f1, 0x64(r1) /* 8008C1C8 00089128 C0 9E 01 DC */ lfs f4, 0x1dc(r30) /* 8008C1CC 0008912C C0 61 00 60 */ lfs f3, 0x60(r1) /* 8008C1D0 00089130 EC A2 08 28 */ fsubs f5, f2, f1 /* 8008C1D4 00089134 C0 5E 01 D8 */ lfs f2, 0x1d8(r30) /* 8008C1D8 00089138 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 8008C1DC 0008913C EC 64 18 28 */ fsubs f3, f4, f3 /* 8008C1E0 00089140 D0 A1 00 58 */ stfs f5, 0x58(r1) /* 8008C1E4 00089144 EC 22 08 28 */ fsubs f1, f2, f1 /* 8008C1E8 00089148 D0 61 00 54 */ stfs f3, 0x54(r1) /* 8008C1EC 0008914C D0 21 00 50 */ stfs f1, 0x50(r1) /* 8008C1F0 00089150 D0 01 00 58 */ stfs f0, 0x58(r1) /* 8008C1F4 00089154 48 28 85 05 */ bl CanBeNormalized__9CVector3fCFv /* 8008C1F8 00089158 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8008C1FC 0008915C 41 82 00 30 */ beq lbl_8008C22C /* 8008C200 00089160 3C 80 80 5A */ lis r4, lbl_805A66F4@ha /* 8008C204 00089164 38 61 00 98 */ addi r3, r1, 0x98 /* 8008C208 00089168 38 C4 66 F4 */ addi r6, r4, lbl_805A66F4@l /* 8008C20C 0008916C 38 BE 01 D8 */ addi r5, r30, 0x1d8 /* 8008C210 00089170 38 81 00 5C */ addi r4, r1, 0x5c /* 8008C214 00089174 48 28 78 FD */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8008C218 00089178 7F C3 F3 78 */ mr r3, r30 /* 8008C21C 0008917C 7F E5 FB 78 */ mr r5, r31 /* 8008C220 00089180 38 81 00 98 */ addi r4, r1, 0x98 /* 8008C224 00089184 48 00 07 D5 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 8008C228 00089188 48 00 00 60 */ b lbl_8008C288 lbl_8008C22C: /* 8008C22C 0008918C 7F 84 E3 78 */ mr r4, r28 /* 8008C230 00089190 38 61 00 68 */ addi r3, r1, 0x68 /* 8008C234 00089194 48 1F 94 B5 */ bl CreateTransformFromMovementDirection__7CPlayerCFv /* 8008C238 00089198 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8008C23C 0008919C 38 81 00 68 */ addi r4, r1, 0x68 /* 8008C240 000891A0 48 28 69 35 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008C244 000891A4 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 8008C248 000891A8 7F C3 F3 78 */ mr r3, r30 /* 8008C24C 000891AC C0 21 00 60 */ lfs f1, 0x60(r1) /* 8008C250 000891B0 7F E5 FB 78 */ mr r5, r31 /* 8008C254 000891B4 C0 01 00 64 */ lfs f0, 0x64(r1) /* 8008C258 000891B8 38 81 00 C8 */ addi r4, r1, 0xc8 /* 8008C25C 000891BC D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 8008C260 000891C0 D0 21 00 E4 */ stfs f1, 0xe4(r1) /* 8008C264 000891C4 D0 01 00 F4 */ stfs f0, 0xf4(r1) /* 8008C268 000891C8 48 00 07 91 */ bl TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager /* 8008C26C 000891CC A0 1E 00 08 */ lhz r0, 8(r30) /* 8008C270 000891D0 7F E4 FB 78 */ mr r4, r31 /* 8008C274 000891D4 38 A1 00 0C */ addi r5, r1, 0xc /* 8008C278 000891D8 B0 01 00 0C */ sth r0, 0xc(r1) /* 8008C27C 000891DC B0 01 00 08 */ sth r0, 8(r1) /* 8008C280 000891E0 80 7F 08 70 */ lwz r3, 0x870(r31) /* 8008C284 000891E4 4B F7 E5 C5 */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId lbl_8008C288: /* 8008C288 000891E8 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008C28C 000891EC 3C 60 80 5A */ lis r3, skZero3f@ha /* 8008C290 000891F0 3B A3 66 A0 */ addi r29, r3, skZero3f@l /* 8008C294 000891F4 38 A0 00 00 */ li r5, 0 /* 8008C298 000891F8 D0 3E 02 E8 */ stfs f1, 0x2e8(r30) /* 8008C29C 000891FC 7F 84 E3 78 */ mr r4, r28 /* 8008C2A0 00089200 38 61 00 20 */ addi r3, r1, 0x20 /* 8008C2A4 00089204 D0 3E 02 EC */ stfs f1, 0x2ec(r30) /* 8008C2A8 00089208 C0 1E 01 94 */ lfs f0, 0x194(r30) /* 8008C2AC 0008920C D0 1E 01 90 */ stfs f0, 0x190(r30) /* 8008C2B0 00089210 C0 1D 00 00 */ lfs f0, 0(r29) /* 8008C2B4 00089214 D0 1E 02 FC */ stfs f0, 0x2fc(r30) /* 8008C2B8 00089218 C0 1D 00 04 */ lfs f0, 4(r29) /* 8008C2BC 0008921C D0 1E 03 00 */ stfs f0, 0x300(r30) /* 8008C2C0 00089220 C0 1D 00 08 */ lfs f0, 8(r29) /* 8008C2C4 00089224 D0 1E 03 04 */ stfs f0, 0x304(r30) /* 8008C2C8 00089228 C0 1D 00 00 */ lfs f0, 0(r29) /* 8008C2CC 0008922C D0 1E 02 F0 */ stfs f0, 0x2f0(r30) /* 8008C2D0 00089230 C0 1D 00 04 */ lfs f0, 4(r29) /* 8008C2D4 00089234 D0 1E 02 F4 */ stfs f0, 0x2f4(r30) /* 8008C2D8 00089238 C0 1D 00 08 */ lfs f0, 8(r29) /* 8008C2DC 0008923C D0 1E 02 F8 */ stfs f0, 0x2f8(r30) /* 8008C2E0 00089240 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008C2E4 00089244 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 8008C2E8 00089248 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008C2EC 0008924C D0 3E 03 08 */ stfs f1, 0x308(r30) /* 8008C2F0 00089250 48 1F 8A 59 */ bl GetBallPosition__7CPlayerCFv /* 8008C2F4 00089254 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8008C2F8 00089258 3C 60 80 5A */ lis r3, skZero3f@ha /* 8008C2FC 0008925C 38 C3 66 A0 */ addi r6, r3, skZero3f@l /* 8008C300 00089260 38 00 00 00 */ li r0, 0 /* 8008C304 00089264 D0 1E 02 DC */ stfs f0, 0x2dc(r30) /* 8008C308 00089268 38 A0 00 01 */ li r5, 1 /* 8008C30C 0008926C C0 02 89 B8 */ lfs f0, lbl_805AA6D8@sda21(r2) /* 8008C310 00089270 7F C3 F3 78 */ mr r3, r30 /* 8008C314 00089274 C0 41 00 24 */ lfs f2, 0x24(r1) /* 8008C318 00089278 7F E4 FB 78 */ mr r4, r31 /* 8008C31C 0008927C C0 22 89 BC */ lfs f1, lbl_805AA6DC@sda21(r2) /* 8008C320 00089280 D0 5E 02 E0 */ stfs f2, 0x2e0(r30) /* 8008C324 00089284 C0 41 00 28 */ lfs f2, 0x28(r1) /* 8008C328 00089288 D0 5E 02 E4 */ stfs f2, 0x2e4(r30) /* 8008C32C 0008928C C0 9E 00 60 */ lfs f4, 0x60(r30) /* 8008C330 00089290 C0 7E 00 50 */ lfs f3, 0x50(r30) /* 8008C334 00089294 C0 5E 00 40 */ lfs f2, 0x40(r30) /* 8008C338 00089298 D0 5E 02 94 */ stfs f2, 0x294(r30) /* 8008C33C 0008929C D0 7E 02 98 */ stfs f3, 0x298(r30) /* 8008C340 000892A0 D0 9E 02 9C */ stfs f4, 0x29c(r30) /* 8008C344 000892A4 C0 46 00 00 */ lfs f2, 0(r6) /* 8008C348 000892A8 D0 5E 02 A0 */ stfs f2, 0x2a0(r30) /* 8008C34C 000892AC C0 5D 00 04 */ lfs f2, 4(r29) /* 8008C350 000892B0 D0 5E 02 A4 */ stfs f2, 0x2a4(r30) /* 8008C354 000892B4 C0 5D 00 08 */ lfs f2, 8(r29) /* 8008C358 000892B8 D0 5E 02 A8 */ stfs f2, 0x2a8(r30) /* 8008C35C 000892BC C0 46 00 00 */ lfs f2, 0(r6) /* 8008C360 000892C0 D0 5E 02 AC */ stfs f2, 0x2ac(r30) /* 8008C364 000892C4 C0 5D 00 04 */ lfs f2, 4(r29) /* 8008C368 000892C8 D0 5E 02 B0 */ stfs f2, 0x2b0(r30) /* 8008C36C 000892CC C0 5D 00 08 */ lfs f2, 8(r29) /* 8008C370 000892D0 D0 5E 02 B4 */ stfs f2, 0x2b4(r30) /* 8008C374 000892D4 C0 46 00 00 */ lfs f2, 0(r6) /* 8008C378 000892D8 D0 5E 02 B8 */ stfs f2, 0x2b8(r30) /* 8008C37C 000892DC C0 5D 00 04 */ lfs f2, 4(r29) /* 8008C380 000892E0 D0 5E 02 BC */ stfs f2, 0x2bc(r30) /* 8008C384 000892E4 C0 5D 00 08 */ lfs f2, 8(r29) /* 8008C388 000892E8 D0 5E 02 C0 */ stfs f2, 0x2c0(r30) /* 8008C38C 000892EC 90 1E 02 C4 */ stw r0, 0x2c4(r30) /* 8008C390 000892F0 90 1E 02 C8 */ stw r0, 0x2c8(r30) /* 8008C394 000892F4 90 1E 02 CC */ stw r0, 0x2cc(r30) /* 8008C398 000892F8 90 1E 02 D0 */ stw r0, 0x2d0(r30) /* 8008C39C 000892FC 90 1E 02 D4 */ stw r0, 0x2d4(r30) /* 8008C3A0 00089300 90 1E 02 D8 */ stw r0, 0x2d8(r30) /* 8008C3A4 00089304 D0 1E 03 2C */ stfs f0, 0x32c(r30) /* 8008C3A8 00089308 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008C3AC 0008930C 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 8008C3B0 00089310 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008C3B4 00089314 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008C3B8 00089318 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 8008C3BC 0008931C 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008C3C0 00089320 81 9E 00 00 */ lwz r12, 0(r30) /* 8008C3C4 00089324 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8008C3C8 00089328 7D 89 03 A6 */ mtctr r12 /* 8008C3CC 0008932C 4E 80 04 21 */ bctrl /* 8008C3D0 00089330 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008C3D4 00089334 38 60 00 00 */ li r3, 0 /* 8008C3D8 00089338 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8008C3DC 0008933C 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008C3E0 00089340 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008C3E4 00089344 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8008C3E8 00089348 98 1E 01 8D */ stb r0, 0x18d(r30) lbl_8008C3EC: /* 8008C3EC 0008934C 80 01 01 14 */ lwz r0, 0x114(r1) /* 8008C3F0 00089350 83 E1 01 0C */ lwz r31, 0x10c(r1) /* 8008C3F4 00089354 83 C1 01 08 */ lwz r30, 0x108(r1) /* 8008C3F8 00089358 83 A1 01 04 */ lwz r29, 0x104(r1) /* 8008C3FC 0008935C 83 81 01 00 */ lwz r28, 0x100(r1) /* 8008C400 00089360 7C 08 03 A6 */ mtlr r0 /* 8008C404 00089364 38 21 01 10 */ addi r1, r1, 0x110 /* 8008C408 00089368 4E 80 00 20 */ blr .global Render__11CBallCameraCFRC13CStateManager Render__11CBallCameraCFRC13CStateManager: /* 8008C40C 0008936C 4E 80 00 20 */ blr .global "SetupColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fffifff" "SetupColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fffifff": /* 8008C410 00089370 94 21 FE 80 */ stwu r1, -0x180(r1) /* 8008C414 00089374 7C 08 02 A6 */ mflr r0 /* 8008C418 00089378 90 01 01 84 */ stw r0, 0x184(r1) /* 8008C41C 0008937C DB E1 01 70 */ stfd f31, 0x170(r1) /* 8008C420 00089380 F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0 /* 8008C424 00089384 DB C1 01 60 */ stfd f30, 0x160(r1) /* 8008C428 00089388 F3 C1 01 68 */ psq_st f30, 360(r1), 0, qr0 /* 8008C42C 0008938C DB A1 01 50 */ stfd f29, 0x150(r1) /* 8008C430 00089390 F3 A1 01 58 */ psq_st f29, 344(r1), 0, qr0 /* 8008C434 00089394 DB 81 01 40 */ stfd f28, 0x140(r1) /* 8008C438 00089398 F3 81 01 48 */ psq_st f28, 328(r1), 0, qr0 /* 8008C43C 0008939C DB 61 01 30 */ stfd f27, 0x130(r1) /* 8008C440 000893A0 F3 61 01 38 */ psq_st f27, 312(r1), 0, qr0 /* 8008C444 000893A4 DB 41 01 20 */ stfd f26, 0x120(r1) /* 8008C448 000893A8 F3 41 01 28 */ psq_st f26, 296(r1), 0, qr0 /* 8008C44C 000893AC DB 21 01 10 */ stfd f25, 0x110(r1) /* 8008C450 000893B0 F3 21 01 18 */ psq_st f25, 280(r1), 0, qr0 /* 8008C454 000893B4 DB 01 01 00 */ stfd f24, 0x100(r1) /* 8008C458 000893B8 F3 01 01 08 */ psq_st f24, 264(r1), 0, qr0 /* 8008C45C 000893BC DA E1 00 F0 */ stfd f23, 0xf0(r1) /* 8008C460 000893C0 F2 E1 00 F8 */ psq_st f23, 248(r1), 0, qr0 /* 8008C464 000893C4 DA C1 00 E0 */ stfd f22, 0xe0(r1) /* 8008C468 000893C8 F2 C1 00 E8 */ psq_st f22, 232(r1), 0, qr0 /* 8008C46C 000893CC DA A1 00 D0 */ stfd f21, 0xd0(r1) /* 8008C470 000893D0 F2 A1 00 D8 */ psq_st f21, 216(r1), 0, qr0 /* 8008C474 000893D4 DA 81 00 C0 */ stfd f20, 0xc0(r1) /* 8008C478 000893D8 F2 81 00 C8 */ psq_st f20, 200(r1), 0, qr0 /* 8008C47C 000893DC DA 61 00 B0 */ stfd f19, 0xb0(r1) /* 8008C480 000893E0 F2 61 00 B8 */ psq_st f19, 184(r1), 0, qr0 /* 8008C484 000893E4 BF 61 00 9C */ stmw r27, 0x9c(r1) /* 8008C488 000893E8 FF 40 08 90 */ fmr f26, f1 /* 8008C48C 000893EC 7C 9B 23 78 */ mr r27, r4 /* 8008C490 000893F0 7C BC 2B 78 */ mr r28, r5 /* 8008C494 000893F4 FF 60 10 90 */ fmr f27, f2 /* 8008C498 000893F8 FF 80 18 90 */ fmr f28, f3 /* 8008C49C 000893FC 7F 63 DB 78 */ mr r3, r27 /* 8008C4A0 00089400 FF A0 20 90 */ fmr f29, f4 /* 8008C4A4 00089404 7F 84 E3 78 */ mr r4, r28 /* 8008C4A8 00089408 FF C0 28 90 */ fmr f30, f5 /* 8008C4AC 0008940C FF E0 30 90 */ fmr f31, f6 /* 8008C4B0 00089410 48 00 13 9D */ bl "reserve__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>Fi" /* 8008C4B4 00089414 C2 82 8A AC */ lfs f20, lbl_805AA7CC@sda21(r2) /* 8008C4B8 00089418 6F 9E 80 00 */ xoris r30, r28, 0x8000 /* 8008C4BC 0008941C C2 A2 89 B0 */ lfs f21, lbl_805AA6D0@sda21(r2) /* 8008C4C0 00089420 3B A0 00 00 */ li r29, 0 /* 8008C4C4 00089424 C2 C2 89 E0 */ lfs f22, lbl_805AA700@sda21(r2) /* 8008C4C8 00089428 3F E0 43 30 */ lis r31, 0x4330 /* 8008C4CC 0008942C C2 E2 89 B8 */ lfs f23, lbl_805AA6D8@sda21(r2) /* 8008C4D0 00089430 C3 02 8A 8C */ lfs f24, lbl_805AA7AC@sda21(r2) /* 8008C4D4 00089434 CB 22 89 C8 */ lfd f25, lbl_805AA6E8@sda21(r2) /* 8008C4D8 00089438 48 00 00 CC */ b lbl_8008C5A4 lbl_8008C4DC: /* 8008C4DC 0008943C FC 20 F8 90 */ fmr f1, f31 /* 8008C4E0 00089440 48 30 7F 11 */ bl cos /* 8008C4E4 00089444 FC 00 08 18 */ frsp f0, f1 /* 8008C4E8 00089448 FC 1F A0 40 */ fcmpo cr0, f31, f20 /* 8008C4EC 0008944C EE 7B 00 32 */ fmuls f19, f27, f0 /* 8008C4F0 00089450 40 81 00 0C */ ble lbl_8008C4FC /* 8008C4F4 00089454 C0 02 8A 04 */ lfs f0, lbl_805AA724@sda21(r2) /* 8008C4F8 00089458 EE 73 00 32 */ fmuls f19, f19, f0 lbl_8008C4FC: /* 8008C4FC 0008945C FC 20 F8 90 */ fmr f1, f31 /* 8008C500 00089460 48 30 85 DD */ bl sin /* 8008C504 00089464 FC 00 08 18 */ frsp f0, f1 /* 8008C508 00089468 D2 A1 00 18 */ stfs f21, 0x18(r1) /* 8008C50C 0008946C FC 20 E8 90 */ fmr f1, f29 /* 8008C510 00089470 D2 61 00 1C */ stfs f19, 0x1c(r1) /* 8008C514 00089474 EC 1A 00 32 */ fmuls f0, f26, f0 /* 8008C518 00089478 D3 A1 00 20 */ stfs f29, 0x20(r1) /* 8008C51C 0008947C D0 01 00 14 */ stfs f0, 0x14(r1) /* 8008C520 00089480 48 28 8F E1 */ bl SqrtF__5CMathFf /* 8008C524 00089484 EC 16 00 72 */ fmuls f0, f22, f1 /* 8008C528 00089488 80 E1 00 14 */ lwz r7, 0x14(r1) /* 8008C52C 0008948C 80 C1 00 18 */ lwz r6, 0x18(r1) /* 8008C530 00089490 FC 20 E0 90 */ fmr f1, f28 /* 8008C534 00089494 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8008C538 00089498 FC 40 B8 90 */ fmr f2, f23 /* 8008C53C 0008949C D0 01 00 24 */ stfs f0, 0x24(r1) /* 8008C540 000894A0 38 61 00 34 */ addi r3, r1, 0x34 /* 8008C544 000894A4 38 81 00 08 */ addi r4, r1, 8 /* 8008C548 000894A8 38 A1 00 20 */ addi r5, r1, 0x20 /* 8008C54C 000894AC D3 C1 00 28 */ stfs f30, 0x28(r1) /* 8008C550 000894B0 D2 E1 00 2C */ stfs f23, 0x2c(r1) /* 8008C554 000894B4 D2 A1 00 30 */ stfs f21, 0x30(r1) /* 8008C558 000894B8 90 E1 00 08 */ stw r7, 8(r1) /* 8008C55C 000894BC 90 C1 00 0C */ stw r6, 0xc(r1) /* 8008C560 000894C0 90 01 00 10 */ stw r0, 0x10(r1) /* 8008C564 000894C4 48 00 12 41 */ bl __ct__15CCameraColliderFf9CVector3fRC13CCameraSpringf /* 8008C568 000894C8 7F 63 DB 78 */ mr r3, r27 /* 8008C56C 000894CC 38 81 00 34 */ addi r4, r1, 0x34 /* 8008C570 000894D0 48 00 00 B9 */ bl "push_back__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>FRC15CCameraCollider" /* 8008C574 000894D4 34 01 00 34 */ addic. r0, r1, 0x34 /* 8008C578 000894D8 41 82 00 10 */ beq lbl_8008C588 /* 8008C57C 000894DC 3C 60 80 3E */ lis r3, lbl_803DAC28@ha /* 8008C580 000894E0 38 03 AC 28 */ addi r0, r3, lbl_803DAC28@l /* 8008C584 000894E4 90 01 00 34 */ stw r0, 0x34(r1) lbl_8008C588: /* 8008C588 000894E8 93 C1 00 8C */ stw r30, 0x8c(r1) /* 8008C58C 000894EC 3B BD 00 01 */ addi r29, r29, 1 /* 8008C590 000894F0 93 E1 00 88 */ stw r31, 0x88(r1) /* 8008C594 000894F4 C8 01 00 88 */ lfd f0, 0x88(r1) /* 8008C598 000894F8 EC 00 C8 28 */ fsubs f0, f0, f25 /* 8008C59C 000894FC EC 18 00 24 */ fdivs f0, f24, f0 /* 8008C5A0 00089500 EF FF 00 2A */ fadds f31, f31, f0 lbl_8008C5A4: /* 8008C5A4 00089504 7C 1D E0 00 */ cmpw r29, r28 /* 8008C5A8 00089508 41 80 FF 34 */ blt lbl_8008C4DC /* 8008C5AC 0008950C E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0 /* 8008C5B0 00089510 CB E1 01 70 */ lfd f31, 0x170(r1) /* 8008C5B4 00089514 E3 C1 01 68 */ psq_l f30, 360(r1), 0, qr0 /* 8008C5B8 00089518 CB C1 01 60 */ lfd f30, 0x160(r1) /* 8008C5BC 0008951C E3 A1 01 58 */ psq_l f29, 344(r1), 0, qr0 /* 8008C5C0 00089520 CB A1 01 50 */ lfd f29, 0x150(r1) /* 8008C5C4 00089524 E3 81 01 48 */ psq_l f28, 328(r1), 0, qr0 /* 8008C5C8 00089528 CB 81 01 40 */ lfd f28, 0x140(r1) /* 8008C5CC 0008952C E3 61 01 38 */ psq_l f27, 312(r1), 0, qr0 /* 8008C5D0 00089530 CB 61 01 30 */ lfd f27, 0x130(r1) /* 8008C5D4 00089534 E3 41 01 28 */ psq_l f26, 296(r1), 0, qr0 /* 8008C5D8 00089538 CB 41 01 20 */ lfd f26, 0x120(r1) /* 8008C5DC 0008953C E3 21 01 18 */ psq_l f25, 280(r1), 0, qr0 /* 8008C5E0 00089540 CB 21 01 10 */ lfd f25, 0x110(r1) /* 8008C5E4 00089544 E3 01 01 08 */ psq_l f24, 264(r1), 0, qr0 /* 8008C5E8 00089548 CB 01 01 00 */ lfd f24, 0x100(r1) /* 8008C5EC 0008954C E2 E1 00 F8 */ psq_l f23, 248(r1), 0, qr0 /* 8008C5F0 00089550 CA E1 00 F0 */ lfd f23, 0xf0(r1) /* 8008C5F4 00089554 E2 C1 00 E8 */ psq_l f22, 232(r1), 0, qr0 /* 8008C5F8 00089558 CA C1 00 E0 */ lfd f22, 0xe0(r1) /* 8008C5FC 0008955C E2 A1 00 D8 */ psq_l f21, 216(r1), 0, qr0 /* 8008C600 00089560 CA A1 00 D0 */ lfd f21, 0xd0(r1) /* 8008C604 00089564 E2 81 00 C8 */ psq_l f20, 200(r1), 0, qr0 /* 8008C608 00089568 CA 81 00 C0 */ lfd f20, 0xc0(r1) /* 8008C60C 0008956C E2 61 00 B8 */ psq_l f19, 184(r1), 0, qr0 /* 8008C610 00089570 CA 61 00 B0 */ lfd f19, 0xb0(r1) /* 8008C614 00089574 BB 61 00 9C */ lmw r27, 0x9c(r1) /* 8008C618 00089578 80 01 01 84 */ lwz r0, 0x184(r1) /* 8008C61C 0008957C 7C 08 03 A6 */ mtlr r0 /* 8008C620 00089580 38 21 01 80 */ addi r1, r1, 0x180 /* 8008C624 00089584 4E 80 00 20 */ blr .global "push_back__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>FRC15CCameraCollider" "push_back__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>FRC15CCameraCollider": /* 8008C628 00089588 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8008C62C 0008958C 7C 08 02 A6 */ mflr r0 /* 8008C630 00089590 90 01 00 14 */ stw r0, 0x14(r1) /* 8008C634 00089594 93 E1 00 0C */ stw r31, 0xc(r1) /* 8008C638 00089598 7C 9F 23 78 */ mr r31, r4 /* 8008C63C 0008959C 93 C1 00 08 */ stw r30, 8(r1) /* 8008C640 000895A0 7C 7E 1B 78 */ mr r30, r3 /* 8008C644 000895A4 80 03 00 04 */ lwz r0, 4(r3) /* 8008C648 000895A8 80 A3 00 08 */ lwz r5, 8(r3) /* 8008C64C 000895AC 7C 00 28 00 */ cmpw r0, r5 /* 8008C650 000895B0 41 80 00 18 */ blt lbl_8008C668 /* 8008C654 000895B4 2C 05 00 00 */ cmpwi r5, 0 /* 8008C658 000895B8 38 80 00 04 */ li r4, 4 /* 8008C65C 000895BC 41 82 00 08 */ beq lbl_8008C664 /* 8008C660 000895C0 54 A4 08 3C */ slwi r4, r5, 1 lbl_8008C664: /* 8008C664 000895C4 48 00 11 E9 */ bl "reserve__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>Fi" lbl_8008C668: /* 8008C668 000895C8 80 1E 00 04 */ lwz r0, 4(r30) /* 8008C66C 000895CC 7F E4 FB 78 */ mr r4, r31 /* 8008C670 000895D0 80 7E 00 0C */ lwz r3, 0xc(r30) /* 8008C674 000895D4 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008C678 000895D8 7C 63 02 14 */ add r3, r3, r0 /* 8008C67C 000895DC 48 00 00 29 */ bl "construct<15CCameraCollider>__4rstlFPvRC15CCameraCollider" /* 8008C680 000895E0 80 7E 00 04 */ lwz r3, 4(r30) /* 8008C684 000895E4 38 03 00 01 */ addi r0, r3, 1 /* 8008C688 000895E8 90 1E 00 04 */ stw r0, 4(r30) /* 8008C68C 000895EC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8008C690 000895F0 83 C1 00 08 */ lwz r30, 8(r1) /* 8008C694 000895F4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8008C698 000895F8 7C 08 03 A6 */ mtlr r0 /* 8008C69C 000895FC 38 21 00 10 */ addi r1, r1, 0x10 /* 8008C6A0 00089600 4E 80 00 20 */ blr .global "construct<15CCameraCollider>__4rstlFPvRC15CCameraCollider" "construct<15CCameraCollider>__4rstlFPvRC15CCameraCollider": /* 8008C6A4 00089604 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8008C6A8 00089608 7C 08 02 A6 */ mflr r0 /* 8008C6AC 0008960C 28 03 00 00 */ cmplwi r3, 0 /* 8008C6B0 00089610 90 01 00 14 */ stw r0, 0x14(r1) /* 8008C6B4 00089614 41 82 00 08 */ beq lbl_8008C6BC /* 8008C6B8 00089618 48 00 00 15 */ bl __ct__15CCameraColliderFRC15CCameraCollider lbl_8008C6BC: /* 8008C6BC 0008961C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8008C6C0 00089620 7C 08 03 A6 */ mtlr r0 /* 8008C6C4 00089624 38 21 00 10 */ addi r1, r1, 0x10 /* 8008C6C8 00089628 4E 80 00 20 */ blr .global __ct__15CCameraColliderFRC15CCameraCollider __ct__15CCameraColliderFRC15CCameraCollider: /* 8008C6CC 0008962C 3C A0 80 3E */ lis r5, lbl_803DAC28@ha /* 8008C6D0 00089630 38 05 AC 28 */ addi r0, r5, lbl_803DAC28@l /* 8008C6D4 00089634 90 03 00 00 */ stw r0, 0(r3) /* 8008C6D8 00089638 C0 04 00 04 */ lfs f0, 4(r4) /* 8008C6DC 0008963C D0 03 00 04 */ stfs f0, 4(r3) /* 8008C6E0 00089640 C0 04 00 08 */ lfs f0, 8(r4) /* 8008C6E4 00089644 D0 03 00 08 */ stfs f0, 8(r3) /* 8008C6E8 00089648 C0 04 00 0C */ lfs f0, 0xc(r4) /* 8008C6EC 0008964C D0 03 00 0C */ stfs f0, 0xc(r3) /* 8008C6F0 00089650 C0 04 00 10 */ lfs f0, 0x10(r4) /* 8008C6F4 00089654 D0 03 00 10 */ stfs f0, 0x10(r3) /* 8008C6F8 00089658 C0 04 00 14 */ lfs f0, 0x14(r4) /* 8008C6FC 0008965C D0 03 00 14 */ stfs f0, 0x14(r3) /* 8008C700 00089660 C0 04 00 18 */ lfs f0, 0x18(r4) /* 8008C704 00089664 D0 03 00 18 */ stfs f0, 0x18(r3) /* 8008C708 00089668 C0 04 00 1C */ lfs f0, 0x1c(r4) /* 8008C70C 0008966C D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8008C710 00089670 C0 04 00 20 */ lfs f0, 0x20(r4) /* 8008C714 00089674 D0 03 00 20 */ stfs f0, 0x20(r3) /* 8008C718 00089678 C0 04 00 24 */ lfs f0, 0x24(r4) /* 8008C71C 0008967C D0 03 00 24 */ stfs f0, 0x24(r3) /* 8008C720 00089680 C0 04 00 28 */ lfs f0, 0x28(r4) /* 8008C724 00089684 D0 03 00 28 */ stfs f0, 0x28(r3) /* 8008C728 00089688 C0 04 00 2C */ lfs f0, 0x2c(r4) /* 8008C72C 0008968C D0 03 00 2C */ stfs f0, 0x2c(r3) /* 8008C730 00089690 C0 04 00 30 */ lfs f0, 0x30(r4) /* 8008C734 00089694 D0 03 00 30 */ stfs f0, 0x30(r3) /* 8008C738 00089698 C0 04 00 34 */ lfs f0, 0x34(r4) /* 8008C73C 0008969C D0 03 00 34 */ stfs f0, 0x34(r3) /* 8008C740 000896A0 C0 04 00 38 */ lfs f0, 0x38(r4) /* 8008C744 000896A4 D0 03 00 38 */ stfs f0, 0x38(r3) /* 8008C748 000896A8 C0 04 00 3C */ lfs f0, 0x3c(r4) /* 8008C74C 000896AC D0 03 00 3C */ stfs f0, 0x3c(r3) /* 8008C750 000896B0 C0 04 00 40 */ lfs f0, 0x40(r4) /* 8008C754 000896B4 D0 03 00 40 */ stfs f0, 0x40(r3) /* 8008C758 000896B8 C0 04 00 44 */ lfs f0, 0x44(r4) /* 8008C75C 000896BC D0 03 00 44 */ stfs f0, 0x44(r3) /* 8008C760 000896C0 C0 04 00 48 */ lfs f0, 0x48(r4) /* 8008C764 000896C4 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8008C768 000896C8 80 04 00 4C */ lwz r0, 0x4c(r4) /* 8008C76C 000896CC 90 03 00 4C */ stw r0, 0x4c(r3) /* 8008C770 000896D0 C0 04 00 50 */ lfs f0, 0x50(r4) /* 8008C774 000896D4 D0 03 00 50 */ stfs f0, 0x50(r3) /* 8008C778 000896D8 4E 80 00 20 */ blr .global __dt__15CCameraColliderFv __dt__15CCameraColliderFv: /* 8008C77C 000896DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8008C780 000896E0 7C 08 02 A6 */ mflr r0 /* 8008C784 000896E4 90 01 00 14 */ stw r0, 0x14(r1) /* 8008C788 000896E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8008C78C 000896EC 7C 7F 1B 79 */ or. r31, r3, r3 /* 8008C790 000896F0 41 82 00 1C */ beq lbl_8008C7AC /* 8008C794 000896F4 3C A0 80 3E */ lis r5, lbl_803DAC28@ha /* 8008C798 000896F8 7C 80 07 35 */ extsh. r0, r4 /* 8008C79C 000896FC 38 05 AC 28 */ addi r0, r5, lbl_803DAC28@l /* 8008C7A0 00089700 90 1F 00 00 */ stw r0, 0(r31) /* 8008C7A4 00089704 40 81 00 08 */ ble lbl_8008C7AC /* 8008C7A8 00089708 48 28 91 89 */ bl Free__7CMemoryFPCv lbl_8008C7AC: /* 8008C7AC 0008970C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8008C7B0 00089710 7F E3 FB 78 */ mr r3, r31 /* 8008C7B4 00089714 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8008C7B8 00089718 7C 08 03 A6 */ mtlr r0 /* 8008C7BC 0008971C 38 21 00 10 */ addi r1, r1, 0x10 /* 8008C7C0 00089720 4E 80 00 20 */ blr .global ResetToTweaks__11CBallCameraFR13CStateManager ResetToTweaks__11CBallCameraFR13CStateManager: /* 8008C7C4 00089724 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8008C7C8 00089728 7C 08 02 A6 */ mflr r0 /* 8008C7CC 0008972C 90 01 00 64 */ stw r0, 0x64(r1) /* 8008C7D0 00089730 DB E1 00 50 */ stfd f31, 0x50(r1) /* 8008C7D4 00089734 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 8008C7D8 00089738 DB C1 00 40 */ stfd f30, 0x40(r1) /* 8008C7DC 0008973C F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 8008C7E0 00089740 DB A1 00 30 */ stfd f29, 0x30(r1) /* 8008C7E4 00089744 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0 /* 8008C7E8 00089748 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8008C7EC 0008974C 7C 7F 1B 78 */ mr r31, r3 /* 8008C7F0 00089750 38 80 00 00 */ li r4, 0 /* 8008C7F4 00089754 90 83 01 88 */ stw r4, 0x188(r3) /* 8008C7F8 00089758 38 60 00 01 */ li r3, 1 /* 8008C7FC 0008975C 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008C800 00089760 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8008C804 00089764 98 1F 01 8C */ stb r0, 0x18c(r31) /* 8008C808 00089768 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008C80C 0008976C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 8008C810 00089770 98 1F 01 8C */ stb r0, 0x18c(r31) /* 8008C814 00089774 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008C818 00089778 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8008C81C 0008977C 98 1F 01 8C */ stb r0, 0x18c(r31) /* 8008C820 00089780 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008C824 00089784 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8008C828 00089788 98 1F 01 8C */ stb r0, 0x18c(r31) /* 8008C82C 0008978C 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008C830 00089790 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 8008C834 00089794 98 1F 01 8C */ stb r0, 0x18c(r31) /* 8008C838 00089798 88 1F 01 8C */ lbz r0, 0x18c(r31) /* 8008C83C 0008979C 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8008C840 000897A0 98 1F 01 8C */ stb r0, 0x18c(r31) /* 8008C844 000897A4 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008C848 000897A8 C0 03 00 84 */ lfs f0, 0x84(r3) /* 8008C84C 000897AC D0 1F 01 94 */ stfs f0, 0x194(r31) /* 8008C850 000897B0 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008C854 000897B4 C0 03 00 88 */ lfs f0, 0x88(r3) /* 8008C858 000897B8 D0 1F 01 98 */ stfs f0, 0x198(r31) /* 8008C85C 000897BC 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008C860 000897C0 C0 03 00 8C */ lfs f0, 0x8c(r3) /* 8008C864 000897C4 D0 1F 01 9C */ stfs f0, 0x19c(r31) /* 8008C868 000897C8 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008C86C 000897CC C3 A3 00 94 */ lfs f29, 0x94(r3) /* 8008C870 000897D0 C3 E3 00 9C */ lfs f31, 0x9c(r3) /* 8008C874 000897D4 FC 20 E8 90 */ fmr f1, f29 /* 8008C878 000897D8 C3 C3 00 98 */ lfs f30, 0x98(r3) /* 8008C87C 000897DC 48 28 8C 85 */ bl SqrtF__5CMathFf /* 8008C880 000897E0 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008C884 000897E4 D3 BF 02 14 */ stfs f29, 0x214(r31) /* 8008C888 000897E8 EC 20 00 72 */ fmuls f1, f0, f1 /* 8008C88C 000897EC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008C890 000897F0 D0 3F 02 18 */ stfs f1, 0x218(r31) /* 8008C894 000897F4 D3 DF 02 1C */ stfs f30, 0x21c(r31) /* 8008C898 000897F8 D3 FF 02 20 */ stfs f31, 0x220(r31) /* 8008C89C 000897FC D0 1F 02 24 */ stfs f0, 0x224(r31) /* 8008C8A0 00089800 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008C8A4 00089804 C3 E3 00 AC */ lfs f31, 0xac(r3) /* 8008C8A8 00089808 C3 A3 00 B4 */ lfs f29, 0xb4(r3) /* 8008C8AC 0008980C FC 20 F8 90 */ fmr f1, f31 /* 8008C8B0 00089810 C3 C3 00 B0 */ lfs f30, 0xb0(r3) /* 8008C8B4 00089814 48 28 8C 4D */ bl SqrtF__5CMathFf /* 8008C8B8 00089818 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008C8BC 0008981C D3 FF 02 50 */ stfs f31, 0x250(r31) /* 8008C8C0 00089820 EC 60 00 72 */ fmuls f3, f0, f1 /* 8008C8C4 00089824 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 8008C8C8 00089828 C0 22 8A 3C */ lfs f1, lbl_805AA75C@sda21(r2) /* 8008C8CC 0008982C C0 02 8A AC */ lfs f0, lbl_805AA7CC@sda21(r2) /* 8008C8D0 00089830 D0 7F 02 54 */ stfs f3, 0x254(r31) /* 8008C8D4 00089834 D3 DF 02 58 */ stfs f30, 0x258(r31) /* 8008C8D8 00089838 D3 BF 02 5C */ stfs f29, 0x25c(r31) /* 8008C8DC 0008983C D0 5F 02 60 */ stfs f2, 0x260(r31) /* 8008C8E0 00089840 80 8D A1 1C */ lwz r4, gpTweakBall@sda21(r13) /* 8008C8E4 00089844 80 04 00 78 */ lwz r0, 0x78(r4) /* 8008C8E8 00089848 80 64 00 7C */ lwz r3, 0x7c(r4) /* 8008C8EC 0008984C 90 01 00 14 */ stw r0, 0x14(r1) /* 8008C8F0 00089850 80 04 00 80 */ lwz r0, 0x80(r4) /* 8008C8F4 00089854 90 61 00 18 */ stw r3, 0x18(r1) /* 8008C8F8 00089858 C0 41 00 14 */ lfs f2, 0x14(r1) /* 8008C8FC 0008985C 90 01 00 1C */ stw r0, 0x1c(r1) /* 8008C900 00089860 C0 61 00 18 */ lfs f3, 0x18(r1) /* 8008C904 00089864 D0 5F 01 B4 */ stfs f2, 0x1b4(r31) /* 8008C908 00089868 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 8008C90C 0008986C D0 7F 01 B8 */ stfs f3, 0x1b8(r31) /* 8008C910 00089870 D0 5F 01 BC */ stfs f2, 0x1bc(r31) /* 8008C914 00089874 80 8D A1 1C */ lwz r4, gpTweakBall@sda21(r13) /* 8008C918 00089878 80 04 01 8C */ lwz r0, 0x18c(r4) /* 8008C91C 0008987C 80 64 01 90 */ lwz r3, 0x190(r4) /* 8008C920 00089880 90 01 00 08 */ stw r0, 8(r1) /* 8008C924 00089884 80 04 01 94 */ lwz r0, 0x194(r4) /* 8008C928 00089888 90 61 00 0C */ stw r3, 0xc(r1) /* 8008C92C 0008988C C0 41 00 08 */ lfs f2, 8(r1) /* 8008C930 00089890 90 01 00 10 */ stw r0, 0x10(r1) /* 8008C934 00089894 C0 61 00 0C */ lfs f3, 0xc(r1) /* 8008C938 00089898 D0 5F 04 10 */ stfs f2, 0x410(r31) /* 8008C93C 0008989C C0 41 00 10 */ lfs f2, 0x10(r1) /* 8008C940 000898A0 D0 7F 04 14 */ stfs f3, 0x414(r31) /* 8008C944 000898A4 D0 5F 04 18 */ stfs f2, 0x418(r31) /* 8008C948 000898A8 D0 3F 01 A0 */ stfs f1, 0x1a0(r31) /* 8008C94C 000898AC D0 1F 01 AC */ stfs f0, 0x1ac(r31) /* 8008C950 000898B0 D0 1F 01 B0 */ stfs f0, 0x1b0(r31) /* 8008C954 000898B4 C3 BF 01 5C */ lfs f29, 0x15c(r31) /* 8008C958 000898B8 4B F7 F7 81 */ bl DefaultThirdPersonFov__14CCameraManagerFv /* 8008C95C 000898BC FC 40 08 90 */ fmr f2, f1 /* 8008C960 000898C0 C0 62 89 B8 */ lfs f3, lbl_805AA6D8@sda21(r2) /* 8008C964 000898C4 FC 20 E8 90 */ fmr f1, f29 /* 8008C968 000898C8 C0 82 89 B0 */ lfs f4, lbl_805AA6D0@sda21(r2) /* 8008C96C 000898CC 7F E3 FB 78 */ mr r3, r31 /* 8008C970 000898D0 4B FC E5 A9 */ bl SetFovInterpolation__11CGameCameraFffff /* 8008C974 000898D4 80 8D A1 1C */ lwz r4, gpTweakBall@sda21(r13) /* 8008C978 000898D8 38 60 00 00 */ li r3, 0 /* 8008C97C 000898DC C0 04 00 74 */ lfs f0, 0x74(r4) /* 8008C980 000898E0 D0 1F 01 A8 */ stfs f0, 0x1a8(r31) /* 8008C984 000898E4 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 8008C988 000898E8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8008C98C 000898EC 98 1F 01 8D */ stb r0, 0x18d(r31) /* 8008C990 000898F0 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 8008C994 000898F4 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8008C998 000898F8 98 1F 01 8D */ stb r0, 0x18d(r31) /* 8008C99C 000898FC 88 1F 01 8D */ lbz r0, 0x18d(r31) /* 8008C9A0 00089900 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8008C9A4 00089904 98 1F 01 8D */ stb r0, 0x18d(r31) /* 8008C9A8 00089908 88 1F 01 8E */ lbz r0, 0x18e(r31) /* 8008C9AC 0008990C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8008C9B0 00089910 98 1F 01 8E */ stb r0, 0x18e(r31) /* 8008C9B4 00089914 88 1F 01 8E */ lbz r0, 0x18e(r31) /* 8008C9B8 00089918 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8008C9BC 0008991C 98 1F 01 8E */ stb r0, 0x18e(r31) /* 8008C9C0 00089920 88 1F 01 8E */ lbz r0, 0x18e(r31) /* 8008C9C4 00089924 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 8008C9C8 00089928 98 1F 01 8E */ stb r0, 0x18e(r31) /* 8008C9CC 0008992C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 8008C9D0 00089930 CB E1 00 50 */ lfd f31, 0x50(r1) /* 8008C9D4 00089934 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 8008C9D8 00089938 CB C1 00 40 */ lfd f30, 0x40(r1) /* 8008C9DC 0008993C E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0 /* 8008C9E0 00089940 CB A1 00 30 */ lfd f29, 0x30(r1) /* 8008C9E4 00089944 80 01 00 64 */ lwz r0, 0x64(r1) /* 8008C9E8 00089948 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8008C9EC 0008994C 7C 08 03 A6 */ mtlr r0 /* 8008C9F0 00089950 38 21 00 60 */ addi r1, r1, 0x60 /* 8008C9F4 00089954 4E 80 00 20 */ blr .global TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager TeleportCamera__11CBallCameraFRC12CTransform4fR13CStateManager: /* 8008C9F8 00089958 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8008C9FC 0008995C 7C 08 02 A6 */ mflr r0 /* 8008CA00 00089960 90 01 00 34 */ stw r0, 0x34(r1) /* 8008CA04 00089964 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8008CA08 00089968 7C BF 2B 78 */ mr r31, r5 /* 8008CA0C 0008996C 93 C1 00 28 */ stw r30, 0x28(r1) /* 8008CA10 00089970 7C 9E 23 78 */ mr r30, r4 /* 8008CA14 00089974 93 A1 00 24 */ stw r29, 0x24(r1) /* 8008CA18 00089978 7C 7D 1B 78 */ mr r29, r3 /* 8008CA1C 0008997C 38 7D 00 34 */ addi r3, r29, 0x34 /* 8008CA20 00089980 48 28 61 21 */ bl __as__12CTransform4fFRC12CTransform4f /* 8008CA24 00089984 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8008CA28 00089988 38 C0 00 01 */ li r6, 1 /* 8008CA2C 0008998C 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b /* 8008CA30 00089990 7F A3 EB 78 */ mr r3, r29 /* 8008CA34 00089994 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8008CA38 00089998 7F E5 FB 78 */ mr r5, r31 /* 8008CA3C 0008999C 38 81 00 08 */ addi r4, r1, 8 /* 8008CA40 000899A0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8008CA44 000899A4 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c /* 8008CA48 000899A8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8008CA4C 000899AC 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8008CA50 000899B0 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d /* 8008CA54 000899B4 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8008CA58 000899B8 C0 5E 00 2C */ lfs f2, 0x2c(r30) /* 8008CA5C 000899BC C0 3E 00 1C */ lfs f1, 0x1c(r30) /* 8008CA60 000899C0 C0 1E 00 0C */ lfs f0, 0xc(r30) /* 8008CA64 000899C4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8008CA68 000899C8 D0 01 00 08 */ stfs f0, 8(r1) /* 8008CA6C 000899CC D0 41 00 10 */ stfs f2, 0x10(r1) /* 8008CA70 000899D0 48 00 00 AD */ bl TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager /* 8008CA74 000899D4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8008CA78 000899D8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8008CA7C 000899DC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8008CA80 000899E0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8008CA84 000899E4 7C 08 03 A6 */ mtlr r0 /* 8008CA88 000899E8 38 21 00 30 */ addi r1, r1, 0x30 /* 8008CA8C 000899EC 4E 80 00 20 */ blr .global ResetPosition__11CBallCameraFR13CStateManager ResetPosition__11CBallCameraFR13CStateManager: /* 8008CA90 000899F0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8008CA94 000899F4 7C 08 02 A6 */ mflr r0 /* 8008CA98 000899F8 90 01 00 24 */ stw r0, 0x24(r1) /* 8008CA9C 000899FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8008CAA0 00089A00 7C 7F 1B 78 */ mr r31, r3 /* 8008CAA4 00089A04 38 61 00 08 */ addi r3, r1, 8 /* 8008CAA8 00089A08 80 84 08 4C */ lwz r4, 0x84c(r4) /* 8008CAAC 00089A0C 48 1F 82 9D */ bl GetBallPosition__7CPlayerCFv /* 8008CAB0 00089A10 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8008CAB4 00089A14 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8008CAB8 00089A18 C0 01 00 08 */ lfs f0, 8(r1) /* 8008CABC 00089A1C D0 1F 01 D8 */ stfs f0, 0x1d8(r31) /* 8008CAC0 00089A20 D0 3F 01 DC */ stfs f1, 0x1dc(r31) /* 8008CAC4 00089A24 D0 5F 01 E0 */ stfs f2, 0x1e0(r31) /* 8008CAC8 00089A28 C0 3F 01 E0 */ lfs f1, 0x1e0(r31) /* 8008CACC 00089A2C C0 1F 01 BC */ lfs f0, 0x1bc(r31) /* 8008CAD0 00089A30 EC 01 00 2A */ fadds f0, f1, f0 /* 8008CAD4 00089A34 D0 1F 01 E0 */ stfs f0, 0x1e0(r31) /* 8008CAD8 00089A38 C0 1F 01 D8 */ lfs f0, 0x1d8(r31) /* 8008CADC 00089A3C D0 1F 01 C0 */ stfs f0, 0x1c0(r31) /* 8008CAE0 00089A40 C0 1F 01 DC */ lfs f0, 0x1dc(r31) /* 8008CAE4 00089A44 D0 1F 01 C4 */ stfs f0, 0x1c4(r31) /* 8008CAE8 00089A48 C0 1F 01 E0 */ lfs f0, 0x1e0(r31) /* 8008CAEC 00089A4C D0 1F 01 C8 */ stfs f0, 0x1c8(r31) /* 8008CAF0 00089A50 C0 1F 01 D8 */ lfs f0, 0x1d8(r31) /* 8008CAF4 00089A54 D0 1F 01 CC */ stfs f0, 0x1cc(r31) /* 8008CAF8 00089A58 C0 1F 01 DC */ lfs f0, 0x1dc(r31) /* 8008CAFC 00089A5C D0 1F 01 D0 */ stfs f0, 0x1d0(r31) /* 8008CB00 00089A60 C0 1F 01 E0 */ lfs f0, 0x1e0(r31) /* 8008CB04 00089A64 D0 1F 01 D4 */ stfs f0, 0x1d4(r31) /* 8008CB08 00089A68 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8008CB0C 00089A6C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8008CB10 00089A70 7C 08 03 A6 */ mtlr r0 /* 8008CB14 00089A74 38 21 00 20 */ addi r1, r1, 0x20 /* 8008CB18 00089A78 4E 80 00 20 */ blr .global TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager: /* 8008CB1C 00089A7C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8008CB20 00089A80 7C 08 02 A6 */ mflr r0 /* 8008CB24 00089A84 90 01 00 54 */ stw r0, 0x54(r1) /* 8008CB28 00089A88 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8008CB2C 00089A8C 7C BF 2B 78 */ mr r31, r5 /* 8008CB30 00089A90 38 A1 00 2C */ addi r5, r1, 0x2c /* 8008CB34 00089A94 93 C1 00 48 */ stw r30, 0x48(r1) /* 8008CB38 00089A98 7C 9E 23 78 */ mr r30, r4 /* 8008CB3C 00089A9C 93 A1 00 44 */ stw r29, 0x44(r1) /* 8008CB40 00089AA0 7C 7D 1B 78 */ mr r29, r3 /* 8008CB44 00089AA4 C0 04 00 00 */ lfs f0, 0(r4) /* 8008CB48 00089AA8 38 9D 02 64 */ addi r4, r29, 0x264 /* 8008CB4C 00089AAC D0 03 02 94 */ stfs f0, 0x294(r3) /* 8008CB50 00089AB0 C0 1E 00 04 */ lfs f0, 4(r30) /* 8008CB54 00089AB4 D0 03 02 98 */ stfs f0, 0x298(r3) /* 8008CB58 00089AB8 C0 1E 00 08 */ lfs f0, 8(r30) /* 8008CB5C 00089ABC D0 03 02 9C */ stfs f0, 0x29c(r3) /* 8008CB60 00089AC0 80 FE 00 00 */ lwz r7, 0(r30) /* 8008CB64 00089AC4 80 DE 00 04 */ lwz r6, 4(r30) /* 8008CB68 00089AC8 80 1E 00 08 */ lwz r0, 8(r30) /* 8008CB6C 00089ACC 90 E1 00 2C */ stw r7, 0x2c(r1) /* 8008CB70 00089AD0 90 C1 00 30 */ stw r6, 0x30(r1) /* 8008CB74 00089AD4 90 01 00 34 */ stw r0, 0x34(r1) /* 8008CB78 00089AD8 48 00 00 A5 */ bl "TeleportColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>9CVector3f" /* 8008CB7C 00089ADC 80 FE 00 00 */ lwz r7, 0(r30) /* 8008CB80 00089AE0 7F A3 EB 78 */ mr r3, r29 /* 8008CB84 00089AE4 80 DE 00 04 */ lwz r6, 4(r30) /* 8008CB88 00089AE8 38 9D 02 74 */ addi r4, r29, 0x274 /* 8008CB8C 00089AEC 80 1E 00 08 */ lwz r0, 8(r30) /* 8008CB90 00089AF0 38 A1 00 20 */ addi r5, r1, 0x20 /* 8008CB94 00089AF4 90 E1 00 20 */ stw r7, 0x20(r1) /* 8008CB98 00089AF8 90 C1 00 24 */ stw r6, 0x24(r1) /* 8008CB9C 00089AFC 90 01 00 28 */ stw r0, 0x28(r1) /* 8008CBA0 00089B00 48 00 00 7D */ bl "TeleportColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>9CVector3f" /* 8008CBA4 00089B04 80 FE 00 00 */ lwz r7, 0(r30) /* 8008CBA8 00089B08 7F A3 EB 78 */ mr r3, r29 /* 8008CBAC 00089B0C 80 DE 00 04 */ lwz r6, 4(r30) /* 8008CBB0 00089B10 38 9D 02 84 */ addi r4, r29, 0x284 /* 8008CBB4 00089B14 80 1E 00 08 */ lwz r0, 8(r30) /* 8008CBB8 00089B18 38 A1 00 14 */ addi r5, r1, 0x14 /* 8008CBBC 00089B1C 90 E1 00 14 */ stw r7, 0x14(r1) /* 8008CBC0 00089B20 90 C1 00 18 */ stw r6, 0x18(r1) /* 8008CBC4 00089B24 90 01 00 1C */ stw r0, 0x1c(r1) /* 8008CBC8 00089B28 48 00 00 55 */ bl "TeleportColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>9CVector3f" /* 8008CBCC 00089B2C A0 1D 04 6C */ lhz r0, 0x46c(r29) /* 8008CBD0 00089B30 7F E3 FB 78 */ mr r3, r31 /* 8008CBD4 00089B34 38 81 00 08 */ addi r4, r1, 8 /* 8008CBD8 00089B38 B0 01 00 08 */ sth r0, 8(r1) /* 8008CBDC 00089B3C 4B FB F9 99 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8008CBE0 00089B40 7C 64 1B 78 */ mr r4, r3 /* 8008CBE4 00089B44 38 61 00 0C */ addi r3, r1, 0xc /* 8008CBE8 00089B48 48 02 27 65 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8008CBEC 00089B4C 80 63 00 04 */ lwz r3, 4(r3) /* 8008CBF0 00089B50 28 03 00 00 */ cmplwi r3, 0 /* 8008CBF4 00089B54 41 82 00 0C */ beq lbl_8008CC00 /* 8008CBF8 00089B58 7F C4 F3 78 */ mr r4, r30 /* 8008CBFC 00089B5C 4B FC 62 91 */ bl SetTranslation__6CActorFRC9CVector3f lbl_8008CC00: /* 8008CC00 00089B60 80 01 00 54 */ lwz r0, 0x54(r1) /* 8008CC04 00089B64 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8008CC08 00089B68 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8008CC0C 00089B6C 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8008CC10 00089B70 7C 08 03 A6 */ mtlr r0 /* 8008CC14 00089B74 38 21 00 50 */ addi r1, r1, 0x50 /* 8008CC18 00089B78 4E 80 00 20 */ blr .global "TeleportColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>9CVector3f" "TeleportColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>9CVector3f": /* 8008CC1C 00089B7C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8008CC20 00089B80 39 00 00 00 */ li r8, 0 /* 8008CC24 00089B84 38 E0 00 00 */ li r7, 0 /* 8008CC28 00089B88 48 00 00 B4 */ b lbl_8008CCDC lbl_8008CC2C: /* 8008CC2C 00089B8C 80 05 00 00 */ lwz r0, 0(r5) /* 8008CC30 00089B90 39 08 00 01 */ addi r8, r8, 1 /* 8008CC34 00089B94 80 65 00 04 */ lwz r3, 4(r5) /* 8008CC38 00089B98 90 01 00 20 */ stw r0, 0x20(r1) /* 8008CC3C 00089B9C 80 04 00 0C */ lwz r0, 0xc(r4) /* 8008CC40 00089BA0 90 61 00 24 */ stw r3, 0x24(r1) /* 8008CC44 00089BA4 80 65 00 08 */ lwz r3, 8(r5) /* 8008CC48 00089BA8 7C C0 3A 14 */ add r6, r0, r7 /* 8008CC4C 00089BAC C0 01 00 20 */ lfs f0, 0x20(r1) /* 8008CC50 00089BB0 90 61 00 28 */ stw r3, 0x28(r1) /* 8008CC54 00089BB4 C0 21 00 24 */ lfs f1, 0x24(r1) /* 8008CC58 00089BB8 D0 06 00 2C */ stfs f0, 0x2c(r6) /* 8008CC5C 00089BBC C0 01 00 28 */ lfs f0, 0x28(r1) /* 8008CC60 00089BC0 D0 26 00 30 */ stfs f1, 0x30(r6) /* 8008CC64 00089BC4 D0 06 00 34 */ stfs f0, 0x34(r6) /* 8008CC68 00089BC8 80 05 00 00 */ lwz r0, 0(r5) /* 8008CC6C 00089BCC 80 65 00 04 */ lwz r3, 4(r5) /* 8008CC70 00089BD0 90 01 00 14 */ stw r0, 0x14(r1) /* 8008CC74 00089BD4 80 04 00 0C */ lwz r0, 0xc(r4) /* 8008CC78 00089BD8 90 61 00 18 */ stw r3, 0x18(r1) /* 8008CC7C 00089BDC 80 65 00 08 */ lwz r3, 8(r5) /* 8008CC80 00089BE0 7C C0 3A 14 */ add r6, r0, r7 /* 8008CC84 00089BE4 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8008CC88 00089BE8 90 61 00 1C */ stw r3, 0x1c(r1) /* 8008CC8C 00089BEC C0 21 00 18 */ lfs f1, 0x18(r1) /* 8008CC90 00089BF0 D0 06 00 14 */ stfs f0, 0x14(r6) /* 8008CC94 00089BF4 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8008CC98 00089BF8 D0 26 00 18 */ stfs f1, 0x18(r6) /* 8008CC9C 00089BFC D0 06 00 1C */ stfs f0, 0x1c(r6) /* 8008CCA0 00089C00 80 05 00 00 */ lwz r0, 0(r5) /* 8008CCA4 00089C04 80 65 00 04 */ lwz r3, 4(r5) /* 8008CCA8 00089C08 90 01 00 08 */ stw r0, 8(r1) /* 8008CCAC 00089C0C 80 04 00 0C */ lwz r0, 0xc(r4) /* 8008CCB0 00089C10 90 61 00 0C */ stw r3, 0xc(r1) /* 8008CCB4 00089C14 80 65 00 08 */ lwz r3, 8(r5) /* 8008CCB8 00089C18 7C C0 3A 14 */ add r6, r0, r7 /* 8008CCBC 00089C1C C0 01 00 08 */ lfs f0, 8(r1) /* 8008CCC0 00089C20 38 E7 00 54 */ addi r7, r7, 0x54 /* 8008CCC4 00089C24 90 61 00 10 */ stw r3, 0x10(r1) /* 8008CCC8 00089C28 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8008CCCC 00089C2C D0 06 00 20 */ stfs f0, 0x20(r6) /* 8008CCD0 00089C30 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8008CCD4 00089C34 D0 26 00 24 */ stfs f1, 0x24(r6) /* 8008CCD8 00089C38 D0 06 00 28 */ stfs f0, 0x28(r6) lbl_8008CCDC: /* 8008CCDC 00089C3C 80 04 00 04 */ lwz r0, 4(r4) /* 8008CCE0 00089C40 7C 08 00 00 */ cmpw r8, r0 /* 8008CCE4 00089C44 41 80 FF 48 */ blt lbl_8008CC2C /* 8008CCE8 00089C48 38 21 00 30 */ addi r1, r1, 0x30 /* 8008CCEC 00089C4C 4E 80 00 20 */ blr .global __dt__11CBallCameraFv __dt__11CBallCameraFv: /* 8008CCF0 00089C50 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8008CCF4 00089C54 7C 08 02 A6 */ mflr r0 /* 8008CCF8 00089C58 90 01 00 54 */ stw r0, 0x54(r1) /* 8008CCFC 00089C5C 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8008CD00 00089C60 7C 9F 23 78 */ mr r31, r4 /* 8008CD04 00089C64 93 C1 00 48 */ stw r30, 0x48(r1) /* 8008CD08 00089C68 7C 7E 1B 79 */ or. r30, r3, r3 /* 8008CD0C 00089C6C 93 A1 00 44 */ stw r29, 0x44(r1) /* 8008CD10 00089C70 93 81 00 40 */ stw r28, 0x40(r1) /* 8008CD14 00089C74 41 82 01 74 */ beq lbl_8008CE88 /* 8008CD18 00089C78 3C 60 80 3E */ lis r3, lbl_803DAB90@ha /* 8008CD1C 00089C7C 34 1E 04 80 */ addic. r0, r30, 0x480 /* 8008CD20 00089C80 38 03 AB 90 */ addi r0, r3, lbl_803DAB90@l /* 8008CD24 00089C84 90 1E 00 00 */ stw r0, 0(r30) /* 8008CD28 00089C88 41 82 00 0C */ beq lbl_8008CD34 /* 8008CD2C 00089C8C 80 7E 04 80 */ lwz r3, 0x480(r30) /* 8008CD30 00089C90 48 28 8C 01 */ bl Free__7CMemoryFPCv lbl_8008CD34: /* 8008CD34 00089C94 38 7E 04 7C */ addi r3, r30, 0x47c /* 8008CD38 00089C98 38 80 FF FF */ li r4, -1 /* 8008CD3C 00089C9C 48 00 01 71 */ bl __dt__Q211CBallCamera14SFailsafeStateFv /* 8008CD40 00089CA0 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008CD44 00089CA4 38 80 FF FF */ li r4, -1 /* 8008CD48 00089CA8 4B FD 08 A1 */ bl __dt__13CCameraSplineFv /* 8008CD4C 00089CAC 34 1E 02 84 */ addic. r0, r30, 0x284 /* 8008CD50 00089CB0 41 82 00 5C */ beq lbl_8008CDAC /* 8008CD54 00089CB4 80 1E 02 88 */ lwz r0, 0x288(r30) /* 8008CD58 00089CB8 83 9E 02 90 */ lwz r28, 0x290(r30) /* 8008CD5C 00089CBC 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008CD60 00089CC0 93 81 00 2C */ stw r28, 0x2c(r1) /* 8008CD64 00089CC4 7F BC 02 14 */ add r29, r28, r0 /* 8008CD68 00089CC8 93 81 00 28 */ stw r28, 0x28(r1) /* 8008CD6C 00089CCC 93 A1 00 34 */ stw r29, 0x34(r1) /* 8008CD70 00089CD0 93 A1 00 30 */ stw r29, 0x30(r1) /* 8008CD74 00089CD4 48 00 00 20 */ b lbl_8008CD94 lbl_8008CD78: /* 8008CD78 00089CD8 7F 83 E3 78 */ mr r3, r28 /* 8008CD7C 00089CDC 38 80 FF FF */ li r4, -1 /* 8008CD80 00089CE0 81 9C 00 00 */ lwz r12, 0(r28) /* 8008CD84 00089CE4 81 8C 00 08 */ lwz r12, 8(r12) /* 8008CD88 00089CE8 7D 89 03 A6 */ mtctr r12 /* 8008CD8C 00089CEC 4E 80 04 21 */ bctrl /* 8008CD90 00089CF0 3B 9C 00 54 */ addi r28, r28, 0x54 lbl_8008CD94: /* 8008CD94 00089CF4 7C 1C E8 40 */ cmplw r28, r29 /* 8008CD98 00089CF8 40 82 FF E0 */ bne lbl_8008CD78 /* 8008CD9C 00089CFC 80 7E 02 90 */ lwz r3, 0x290(r30) /* 8008CDA0 00089D00 28 03 00 00 */ cmplwi r3, 0 /* 8008CDA4 00089D04 41 82 00 08 */ beq lbl_8008CDAC /* 8008CDA8 00089D08 48 28 8B 89 */ bl Free__7CMemoryFPCv lbl_8008CDAC: /* 8008CDAC 00089D0C 34 1E 02 74 */ addic. r0, r30, 0x274 /* 8008CDB0 00089D10 41 82 00 5C */ beq lbl_8008CE0C /* 8008CDB4 00089D14 80 1E 02 78 */ lwz r0, 0x278(r30) /* 8008CDB8 00089D18 83 9E 02 80 */ lwz r28, 0x280(r30) /* 8008CDBC 00089D1C 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008CDC0 00089D20 93 81 00 1C */ stw r28, 0x1c(r1) /* 8008CDC4 00089D24 7F BC 02 14 */ add r29, r28, r0 /* 8008CDC8 00089D28 93 81 00 18 */ stw r28, 0x18(r1) /* 8008CDCC 00089D2C 93 A1 00 24 */ stw r29, 0x24(r1) /* 8008CDD0 00089D30 93 A1 00 20 */ stw r29, 0x20(r1) /* 8008CDD4 00089D34 48 00 00 20 */ b lbl_8008CDF4 lbl_8008CDD8: /* 8008CDD8 00089D38 7F 83 E3 78 */ mr r3, r28 /* 8008CDDC 00089D3C 38 80 FF FF */ li r4, -1 /* 8008CDE0 00089D40 81 9C 00 00 */ lwz r12, 0(r28) /* 8008CDE4 00089D44 81 8C 00 08 */ lwz r12, 8(r12) /* 8008CDE8 00089D48 7D 89 03 A6 */ mtctr r12 /* 8008CDEC 00089D4C 4E 80 04 21 */ bctrl /* 8008CDF0 00089D50 3B 9C 00 54 */ addi r28, r28, 0x54 lbl_8008CDF4: /* 8008CDF4 00089D54 7C 1C E8 40 */ cmplw r28, r29 /* 8008CDF8 00089D58 40 82 FF E0 */ bne lbl_8008CDD8 /* 8008CDFC 00089D5C 80 7E 02 80 */ lwz r3, 0x280(r30) /* 8008CE00 00089D60 28 03 00 00 */ cmplwi r3, 0 /* 8008CE04 00089D64 41 82 00 08 */ beq lbl_8008CE0C /* 8008CE08 00089D68 48 28 8B 29 */ bl Free__7CMemoryFPCv lbl_8008CE0C: /* 8008CE0C 00089D6C 34 1E 02 64 */ addic. r0, r30, 0x264 /* 8008CE10 00089D70 41 82 00 5C */ beq lbl_8008CE6C /* 8008CE14 00089D74 80 1E 02 68 */ lwz r0, 0x268(r30) /* 8008CE18 00089D78 83 9E 02 70 */ lwz r28, 0x270(r30) /* 8008CE1C 00089D7C 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008CE20 00089D80 93 81 00 0C */ stw r28, 0xc(r1) /* 8008CE24 00089D84 7F BC 02 14 */ add r29, r28, r0 /* 8008CE28 00089D88 93 81 00 08 */ stw r28, 8(r1) /* 8008CE2C 00089D8C 93 A1 00 14 */ stw r29, 0x14(r1) /* 8008CE30 00089D90 93 A1 00 10 */ stw r29, 0x10(r1) /* 8008CE34 00089D94 48 00 00 20 */ b lbl_8008CE54 lbl_8008CE38: /* 8008CE38 00089D98 7F 83 E3 78 */ mr r3, r28 /* 8008CE3C 00089D9C 38 80 FF FF */ li r4, -1 /* 8008CE40 00089DA0 81 9C 00 00 */ lwz r12, 0(r28) /* 8008CE44 00089DA4 81 8C 00 08 */ lwz r12, 8(r12) /* 8008CE48 00089DA8 7D 89 03 A6 */ mtctr r12 /* 8008CE4C 00089DAC 4E 80 04 21 */ bctrl /* 8008CE50 00089DB0 3B 9C 00 54 */ addi r28, r28, 0x54 lbl_8008CE54: /* 8008CE54 00089DB4 7C 1C E8 40 */ cmplw r28, r29 /* 8008CE58 00089DB8 40 82 FF E0 */ bne lbl_8008CE38 /* 8008CE5C 00089DBC 80 7E 02 70 */ lwz r3, 0x270(r30) /* 8008CE60 00089DC0 28 03 00 00 */ cmplwi r3, 0 /* 8008CE64 00089DC4 41 82 00 08 */ beq lbl_8008CE6C /* 8008CE68 00089DC8 48 28 8A C9 */ bl Free__7CMemoryFPCv lbl_8008CE6C: /* 8008CE6C 00089DCC 7F C3 F3 78 */ mr r3, r30 /* 8008CE70 00089DD0 38 80 00 00 */ li r4, 0 /* 8008CE74 00089DD4 4B FD 0B E9 */ bl __dt__11CGameCameraFv /* 8008CE78 00089DD8 7F E0 07 35 */ extsh. r0, r31 /* 8008CE7C 00089DDC 40 81 00 0C */ ble lbl_8008CE88 /* 8008CE80 00089DE0 7F C3 F3 78 */ mr r3, r30 /* 8008CE84 00089DE4 48 28 8A AD */ bl Free__7CMemoryFPCv lbl_8008CE88: /* 8008CE88 00089DE8 80 01 00 54 */ lwz r0, 0x54(r1) /* 8008CE8C 00089DEC 7F C3 F3 78 */ mr r3, r30 /* 8008CE90 00089DF0 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8008CE94 00089DF4 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8008CE98 00089DF8 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8008CE9C 00089DFC 83 81 00 40 */ lwz r28, 0x40(r1) /* 8008CEA0 00089E00 7C 08 03 A6 */ mtlr r0 /* 8008CEA4 00089E04 38 21 00 50 */ addi r1, r1, 0x50 /* 8008CEA8 00089E08 4E 80 00 20 */ blr .global __dt__Q211CBallCamera14SFailsafeStateFv __dt__Q211CBallCamera14SFailsafeStateFv: /* 8008CEAC 00089E0C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8008CEB0 00089E10 7C 08 02 A6 */ mflr r0 /* 8008CEB4 00089E14 90 01 00 34 */ stw r0, 0x34(r1) /* 8008CEB8 00089E18 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8008CEBC 00089E1C 93 C1 00 28 */ stw r30, 0x28(r1) /* 8008CEC0 00089E20 7C 9E 23 78 */ mr r30, r4 /* 8008CEC4 00089E24 93 A1 00 24 */ stw r29, 0x24(r1) /* 8008CEC8 00089E28 7C 7D 1B 79 */ or. r29, r3, r3 /* 8008CECC 00089E2C 41 82 00 70 */ beq lbl_8008CF3C /* 8008CED0 00089E30 83 FD 00 00 */ lwz r31, 0(r29) /* 8008CED4 00089E34 28 1F 00 00 */ cmplwi r31, 0 /* 8008CED8 00089E38 41 82 00 54 */ beq lbl_8008CF2C /* 8008CEDC 00089E3C 34 1F 00 90 */ addic. r0, r31, 0x90 /* 8008CEE0 00089E40 41 82 00 44 */ beq lbl_8008CF24 /* 8008CEE4 00089E44 80 1F 00 94 */ lwz r0, 0x94(r31) /* 8008CEE8 00089E48 80 7F 00 9C */ lwz r3, 0x9c(r31) /* 8008CEEC 00089E4C 1C 00 00 0C */ mulli r0, r0, 0xc /* 8008CEF0 00089E50 90 61 00 0C */ stw r3, 0xc(r1) /* 8008CEF4 00089E54 7C 64 1B 78 */ mr r4, r3 /* 8008CEF8 00089E58 7C 03 02 14 */ add r0, r3, r0 /* 8008CEFC 00089E5C 90 61 00 08 */ stw r3, 8(r1) /* 8008CF00 00089E60 90 01 00 14 */ stw r0, 0x14(r1) /* 8008CF04 00089E64 90 01 00 10 */ stw r0, 0x10(r1) /* 8008CF08 00089E68 48 00 00 08 */ b lbl_8008CF10 lbl_8008CF0C: /* 8008CF0C 00089E6C 38 84 00 0C */ addi r4, r4, 0xc lbl_8008CF10: /* 8008CF10 00089E70 7C 04 00 40 */ cmplw r4, r0 /* 8008CF14 00089E74 40 82 FF F8 */ bne lbl_8008CF0C /* 8008CF18 00089E78 28 03 00 00 */ cmplwi r3, 0 /* 8008CF1C 00089E7C 41 82 00 08 */ beq lbl_8008CF24 /* 8008CF20 00089E80 48 28 8A 11 */ bl Free__7CMemoryFPCv lbl_8008CF24: /* 8008CF24 00089E84 7F E3 FB 78 */ mr r3, r31 /* 8008CF28 00089E88 48 28 8A 09 */ bl Free__7CMemoryFPCv lbl_8008CF2C: /* 8008CF2C 00089E8C 7F C0 07 35 */ extsh. r0, r30 /* 8008CF30 00089E90 40 81 00 0C */ ble lbl_8008CF3C /* 8008CF34 00089E94 7F A3 EB 78 */ mr r3, r29 /* 8008CF38 00089E98 48 28 89 F9 */ bl Free__7CMemoryFPCv lbl_8008CF3C: /* 8008CF3C 00089E9C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8008CF40 00089EA0 7F A3 EB 78 */ mr r3, r29 /* 8008CF44 00089EA4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8008CF48 00089EA8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8008CF4C 00089EAC 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8008CF50 00089EB0 7C 08 03 A6 */ mtlr r0 /* 8008CF54 00089EB4 38 21 00 30 */ addi r1, r1, 0x30 /* 8008CF58 00089EB8 4E 80 00 20 */ blr .global __ct__11CBallCameraF9TUniqueId9TUniqueIdRC12CTransform4fffff __ct__11CBallCameraF9TUniqueId9TUniqueIdRC12CTransform4fffff: /* 8008CF5C 00089EBC 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8008CF60 00089EC0 7C 08 02 A6 */ mflr r0 /* 8008CF64 00089EC4 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8008CF68 00089EC8 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 8008CF6C 00089ECC F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 8008CF70 00089ED0 DB C1 00 90 */ stfd f30, 0x90(r1) /* 8008CF74 00089ED4 F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 8008CF78 00089ED8 DB A1 00 80 */ stfd f29, 0x80(r1) /* 8008CF7C 00089EDC F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 8008CF80 00089EE0 DB 81 00 70 */ stfd f28, 0x70(r1) /* 8008CF84 00089EE4 F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0 /* 8008CF88 00089EE8 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8008CF8C 00089EEC 93 C1 00 68 */ stw r30, 0x68(r1) /* 8008CF90 00089EF0 93 A1 00 64 */ stw r29, 0x64(r1) /* 8008CF94 00089EF4 93 81 00 60 */ stw r28, 0x60(r1) /* 8008CF98 00089EF8 3C E0 80 3D */ lis r7, lbl_803CD678@ha /* 8008CF9C 00089EFC FF 80 08 90 */ fmr f28, f1 /* 8008CFA0 00089F00 FF A0 10 90 */ fmr f29, f2 /* 8008CFA4 00089F04 38 E7 D6 78 */ addi r7, r7, lbl_803CD678@l /* 8008CFA8 00089F08 7C 7E 1B 78 */ mr r30, r3 /* 8008CFAC 00089F0C 7C 9C 23 78 */ mr r28, r4 /* 8008CFB0 00089F10 FF E0 18 90 */ fmr f31, f3 /* 8008CFB4 00089F14 FF C0 20 90 */ fmr f30, f4 /* 8008CFB8 00089F18 7C BD 2B 78 */ mr r29, r5 /* 8008CFBC 00089F1C 7C DF 33 78 */ mr r31, r6 /* 8008CFC0 00089F20 38 61 00 30 */ addi r3, r1, 0x30 /* 8008CFC4 00089F24 38 87 00 07 */ addi r4, r7, 7 /* 8008CFC8 00089F28 4B F7 7C F1 */ bl string_l__4rstlFPCc /* 8008CFCC 00089F2C 80 8D A3 88 */ lwz r4, lbl_805A8F48@sda21(r13) /* 8008CFD0 00089F30 3C 60 80 57 */ lis r3, lbl_8056D410@ha /* 8008CFD4 00089F34 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13) /* 8008CFD8 00089F38 38 A3 D4 10 */ addi r5, r3, lbl_8056D410@l /* 8008CFDC 00089F3C 90 81 00 28 */ stw r4, 0x28(r1) /* 8008CFE0 00089F40 38 61 00 40 */ addi r3, r1, 0x40 /* 8008CFE4 00089F44 38 81 00 2C */ addi r4, r1, 0x2c /* 8008CFE8 00089F48 38 C1 00 28 */ addi r6, r1, 0x28 /* 8008CFEC 00089F4C 90 01 00 2C */ stw r0, 0x2c(r1) /* 8008CFF0 00089F50 4B FC 44 95 */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId" /* 8008CFF4 00089F54 A0 7D 00 00 */ lhz r3, 0(r29) /* 8008CFF8 00089F58 FC 20 E0 90 */ fmr f1, f28 /* 8008CFFC 00089F5C A0 1C 00 00 */ lhz r0, 0(r28) /* 8008D000 00089F60 FC 40 E8 90 */ fmr f2, f29 /* 8008D004 00089F64 B0 61 00 10 */ sth r3, 0x10(r1) /* 8008D008 00089F68 FC 60 F8 90 */ fmr f3, f31 /* 8008D00C 00089F6C FC 80 F0 90 */ fmr f4, f30 /* 8008D010 00089F70 B0 01 00 14 */ sth r0, 0x14(r1) /* 8008D014 00089F74 38 00 00 00 */ li r0, 0 /* 8008D018 00089F78 7F C3 F3 78 */ mr r3, r30 /* 8008D01C 00089F7C 7F E8 FB 78 */ mr r8, r31 /* 8008D020 00089F80 90 01 00 08 */ stw r0, 8(r1) /* 8008D024 00089F84 38 81 00 14 */ addi r4, r1, 0x14 /* 8008D028 00089F88 38 C1 00 30 */ addi r6, r1, 0x30 /* 8008D02C 00089F8C 38 E1 00 40 */ addi r7, r1, 0x40 /* 8008D030 00089F90 39 21 00 10 */ addi r9, r1, 0x10 /* 8008D034 00089F94 38 A0 00 01 */ li r5, 1 /* 8008D038 00089F98 39 40 00 00 */ li r10, 0 /* 8008D03C 00089F9C 4B FD 0A 81 */ bl "__ct__11CGameCameraF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fffff9TUniqueIdbi" /* 8008D040 00089FA0 80 01 00 48 */ lwz r0, 0x48(r1) /* 8008D044 00089FA4 80 61 00 50 */ lwz r3, 0x50(r1) /* 8008D048 00089FA8 1C 00 00 0C */ mulli r0, r0, 0xc /* 8008D04C 00089FAC 90 61 00 1C */ stw r3, 0x1c(r1) /* 8008D050 00089FB0 7C 64 1B 78 */ mr r4, r3 /* 8008D054 00089FB4 7C 03 02 14 */ add r0, r3, r0 /* 8008D058 00089FB8 90 61 00 18 */ stw r3, 0x18(r1) /* 8008D05C 00089FBC 90 01 00 24 */ stw r0, 0x24(r1) /* 8008D060 00089FC0 90 01 00 20 */ stw r0, 0x20(r1) /* 8008D064 00089FC4 48 00 00 08 */ b lbl_8008D06C lbl_8008D068: /* 8008D068 00089FC8 38 84 00 0C */ addi r4, r4, 0xc lbl_8008D06C: /* 8008D06C 00089FCC 7C 04 00 40 */ cmplw r4, r0 /* 8008D070 00089FD0 40 82 FF F8 */ bne lbl_8008D068 /* 8008D074 00089FD4 28 03 00 00 */ cmplwi r3, 0 /* 8008D078 00089FD8 41 82 00 08 */ beq lbl_8008D080 /* 8008D07C 00089FDC 48 28 88 B5 */ bl Free__7CMemoryFPCv lbl_8008D080: /* 8008D080 00089FE0 38 61 00 30 */ addi r3, r1, 0x30 /* 8008D084 00089FE4 48 2B 0A 5D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8008D088 00089FE8 3C 60 80 3E */ lis r3, lbl_803DAB90@ha /* 8008D08C 00089FEC 38 80 00 00 */ li r4, 0 /* 8008D090 00089FF0 38 03 AB 90 */ addi r0, r3, lbl_803DAB90@l /* 8008D094 00089FF4 38 60 00 01 */ li r3, 1 /* 8008D098 00089FF8 90 1E 00 00 */ stw r0, 0(r30) /* 8008D09C 00089FFC 90 9E 01 88 */ stw r4, 0x188(r30) /* 8008D0A0 0008A000 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0A4 0008A004 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8008D0A8 0008A008 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0AC 0008A00C 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0B0 0008A010 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8008D0B4 0008A014 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0B8 0008A018 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0BC 0008A01C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 8008D0C0 0008A020 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0C4 0008A024 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0C8 0008A028 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8008D0CC 0008A02C 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0D0 0008A030 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0D4 0008A034 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8008D0D8 0008A038 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0DC 0008A03C 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0E0 0008A040 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 8008D0E4 0008A044 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0E8 0008A048 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0EC 0008A04C 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8008D0F0 0008A050 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D0F4 0008A054 88 1E 01 8C */ lbz r0, 0x18c(r30) /* 8008D0F8 0008A058 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8008D0FC 0008A05C 98 1E 01 8C */ stb r0, 0x18c(r30) /* 8008D100 0008A060 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D104 0008A064 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8008D108 0008A068 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D10C 0008A06C 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D110 0008A070 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 8008D114 0008A074 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D118 0008A078 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D11C 0008A07C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 8008D120 0008A080 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D124 0008A084 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D128 0008A088 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 8008D12C 0008A08C 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D130 0008A090 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D134 0008A094 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 8008D138 0008A098 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D13C 0008A09C 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D140 0008A0A0 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 8008D144 0008A0A4 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D148 0008A0A8 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D14C 0008A0AC 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8008D150 0008A0B0 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D154 0008A0B4 88 1E 01 8D */ lbz r0, 0x18d(r30) /* 8008D158 0008A0B8 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f /* 8008D15C 0008A0BC 98 1E 01 8D */ stb r0, 0x18d(r30) /* 8008D160 0008A0C0 88 1E 01 8E */ lbz r0, 0x18e(r30) /* 8008D164 0008A0C4 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 8008D168 0008A0C8 98 1E 01 8E */ stb r0, 0x18e(r30) /* 8008D16C 0008A0CC 88 1E 01 8E */ lbz r0, 0x18e(r30) /* 8008D170 0008A0D0 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 8008D174 0008A0D4 98 1E 01 8E */ stb r0, 0x18e(r30) /* 8008D178 0008A0D8 88 1E 01 8E */ lbz r0, 0x18e(r30) /* 8008D17C 0008A0DC 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 8008D180 0008A0E0 98 1E 01 8E */ stb r0, 0x18e(r30) /* 8008D184 0008A0E4 88 1E 01 8E */ lbz r0, 0x18e(r30) /* 8008D188 0008A0E8 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 8008D18C 0008A0EC 98 1E 01 8E */ stb r0, 0x18e(r30) /* 8008D190 0008A0F0 88 1E 01 8E */ lbz r0, 0x18e(r30) /* 8008D194 0008A0F4 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 8008D198 0008A0F8 98 1E 01 8E */ stb r0, 0x18e(r30) /* 8008D19C 0008A0FC 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D1A0 0008A100 C0 03 00 84 */ lfs f0, 0x84(r3) /* 8008D1A4 0008A104 D0 1E 01 90 */ stfs f0, 0x190(r30) /* 8008D1A8 0008A108 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D1AC 0008A10C C0 03 00 84 */ lfs f0, 0x84(r3) /* 8008D1B0 0008A110 D0 1E 01 94 */ stfs f0, 0x194(r30) /* 8008D1B4 0008A114 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D1B8 0008A118 C0 03 00 88 */ lfs f0, 0x88(r3) /* 8008D1BC 0008A11C D0 1E 01 98 */ stfs f0, 0x198(r30) /* 8008D1C0 0008A120 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D1C4 0008A124 C0 03 00 8C */ lfs f0, 0x8c(r3) /* 8008D1C8 0008A128 D0 1E 01 9C */ stfs f0, 0x19c(r30) /* 8008D1CC 0008A12C C0 22 8A 3C */ lfs f1, lbl_805AA75C@sda21(r2) /* 8008D1D0 0008A130 3C A0 80 5A */ lis r5, skZero3f@ha /* 8008D1D4 0008A134 3C 60 80 5A */ lis r3, skIdentity4f@ha /* 8008D1D8 0008A138 C0 02 8A B0 */ lfs f0, lbl_805AA7D0@sda21(r2) /* 8008D1DC 0008A13C D0 3E 01 A0 */ stfs f1, 0x1a0(r30) /* 8008D1E0 0008A140 3B E5 66 A0 */ addi r31, r5, skZero3f@l /* 8008D1E4 0008A144 38 83 66 70 */ addi r4, r3, skIdentity4f@l /* 8008D1E8 0008A148 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008D1EC 0008A14C 80 AD A1 1C */ lwz r5, gpTweakBall@sda21(r13) /* 8008D1F0 0008A150 38 7E 01 E4 */ addi r3, r30, 0x1e4 /* 8008D1F4 0008A154 C0 45 00 74 */ lfs f2, 0x74(r5) /* 8008D1F8 0008A158 D0 5E 01 A4 */ stfs f2, 0x1a4(r30) /* 8008D1FC 0008A15C 80 AD A1 1C */ lwz r5, gpTweakBall@sda21(r13) /* 8008D200 0008A160 C0 45 00 74 */ lfs f2, 0x74(r5) /* 8008D204 0008A164 D0 5E 01 A8 */ stfs f2, 0x1a8(r30) /* 8008D208 0008A168 D0 1E 01 AC */ stfs f0, 0x1ac(r30) /* 8008D20C 0008A16C D0 1E 01 B0 */ stfs f0, 0x1b0(r30) /* 8008D210 0008A170 80 AD A1 1C */ lwz r5, gpTweakBall@sda21(r13) /* 8008D214 0008A174 C0 05 00 78 */ lfs f0, 0x78(r5) /* 8008D218 0008A178 D0 1E 01 B4 */ stfs f0, 0x1b4(r30) /* 8008D21C 0008A17C C0 05 00 7C */ lfs f0, 0x7c(r5) /* 8008D220 0008A180 D0 1E 01 B8 */ stfs f0, 0x1b8(r30) /* 8008D224 0008A184 C0 05 00 80 */ lfs f0, 0x80(r5) /* 8008D228 0008A188 D0 1E 01 BC */ stfs f0, 0x1bc(r30) /* 8008D22C 0008A18C D0 3E 01 C0 */ stfs f1, 0x1c0(r30) /* 8008D230 0008A190 D0 3E 01 C4 */ stfs f1, 0x1c4(r30) /* 8008D234 0008A194 D0 3E 01 C8 */ stfs f1, 0x1c8(r30) /* 8008D238 0008A198 C0 1F 00 00 */ lfs f0, 0(r31) /* 8008D23C 0008A19C D0 1E 01 CC */ stfs f0, 0x1cc(r30) /* 8008D240 0008A1A0 C0 1F 00 04 */ lfs f0, 4(r31) /* 8008D244 0008A1A4 D0 1E 01 D0 */ stfs f0, 0x1d0(r30) /* 8008D248 0008A1A8 C0 1F 00 08 */ lfs f0, 8(r31) /* 8008D24C 0008A1AC D0 1E 01 D4 */ stfs f0, 0x1d4(r30) /* 8008D250 0008A1B0 D0 3E 01 D8 */ stfs f1, 0x1d8(r30) /* 8008D254 0008A1B4 D0 3E 01 DC */ stfs f1, 0x1dc(r30) /* 8008D258 0008A1B8 D0 3E 01 E0 */ stfs f1, 0x1e0(r30) /* 8008D25C 0008A1BC 48 28 59 19 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8008D260 0008A1C0 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D264 0008A1C4 C0 23 00 94 */ lfs f1, 0x94(r3) /* 8008D268 0008A1C8 C3 E3 00 9C */ lfs f31, 0x9c(r3) /* 8008D26C 0008A1CC C3 C3 00 98 */ lfs f30, 0x98(r3) /* 8008D270 0008A1D0 D0 3E 02 14 */ stfs f1, 0x214(r30) /* 8008D274 0008A1D4 48 28 82 8D */ bl SqrtF__5CMathFf /* 8008D278 0008A1D8 C0 42 89 E0 */ lfs f2, lbl_805AA700@sda21(r2) /* 8008D27C 0008A1DC C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008D280 0008A1E0 EC 22 00 72 */ fmuls f1, f2, f1 /* 8008D284 0008A1E4 D0 3E 02 18 */ stfs f1, 0x218(r30) /* 8008D288 0008A1E8 D3 DE 02 1C */ stfs f30, 0x21c(r30) /* 8008D28C 0008A1EC D3 FE 02 20 */ stfs f31, 0x220(r30) /* 8008D290 0008A1F0 D0 1E 02 24 */ stfs f0, 0x224(r30) /* 8008D294 0008A1F4 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D298 0008A1F8 C0 23 00 A0 */ lfs f1, 0xa0(r3) /* 8008D29C 0008A1FC C3 C3 00 A8 */ lfs f30, 0xa8(r3) /* 8008D2A0 0008A200 C3 E3 00 A4 */ lfs f31, 0xa4(r3) /* 8008D2A4 0008A204 D0 3E 02 28 */ stfs f1, 0x228(r30) /* 8008D2A8 0008A208 48 28 82 59 */ bl SqrtF__5CMathFf /* 8008D2AC 0008A20C C0 42 89 E0 */ lfs f2, lbl_805AA700@sda21(r2) /* 8008D2B0 0008A210 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008D2B4 0008A214 EC 22 00 72 */ fmuls f1, f2, f1 /* 8008D2B8 0008A218 D0 3E 02 2C */ stfs f1, 0x22c(r30) /* 8008D2BC 0008A21C D3 FE 02 30 */ stfs f31, 0x230(r30) /* 8008D2C0 0008A220 D3 DE 02 34 */ stfs f30, 0x234(r30) /* 8008D2C4 0008A224 D0 1E 02 38 */ stfs f0, 0x238(r30) /* 8008D2C8 0008A228 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D2CC 0008A22C C0 23 00 B8 */ lfs f1, 0xb8(r3) /* 8008D2D0 0008A230 C3 C3 00 C0 */ lfs f30, 0xc0(r3) /* 8008D2D4 0008A234 C3 E3 00 BC */ lfs f31, 0xbc(r3) /* 8008D2D8 0008A238 D0 3E 02 3C */ stfs f1, 0x23c(r30) /* 8008D2DC 0008A23C 48 28 82 25 */ bl SqrtF__5CMathFf /* 8008D2E0 0008A240 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008D2E4 0008A244 C0 42 8A B4 */ lfs f2, lbl_805AA7D4@sda21(r2) /* 8008D2E8 0008A248 EC 60 00 72 */ fmuls f3, f0, f1 /* 8008D2EC 0008A24C C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008D2F0 0008A250 EC 22 07 B2 */ fmuls f1, f2, f30 /* 8008D2F4 0008A254 D0 7E 02 40 */ stfs f3, 0x240(r30) /* 8008D2F8 0008A258 D3 FE 02 44 */ stfs f31, 0x244(r30) /* 8008D2FC 0008A25C D0 3E 02 48 */ stfs f1, 0x248(r30) /* 8008D300 0008A260 D0 1E 02 4C */ stfs f0, 0x24c(r30) /* 8008D304 0008A264 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D308 0008A268 C0 23 00 AC */ lfs f1, 0xac(r3) /* 8008D30C 0008A26C C3 C3 00 B4 */ lfs f30, 0xb4(r3) /* 8008D310 0008A270 C3 E3 00 B0 */ lfs f31, 0xb0(r3) /* 8008D314 0008A274 D0 3E 02 50 */ stfs f1, 0x250(r30) /* 8008D318 0008A278 48 28 81 E9 */ bl SqrtF__5CMathFf /* 8008D31C 0008A27C C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008D320 0008A280 3C 80 80 5A */ lis r4, skZero3f@ha /* 8008D324 0008A284 38 C4 66 A0 */ addi r6, r4, skZero3f@l /* 8008D328 0008A288 3C 60 80 5A */ lis r3, lbl_805A6784@ha /* 8008D32C 0008A28C EC 20 00 72 */ fmuls f1, f0, f1 /* 8008D330 0008A290 38 A3 67 84 */ addi r5, r3, lbl_805A6784@l /* 8008D334 0008A294 C0 62 89 B0 */ lfs f3, lbl_805AA6D0@sda21(r2) /* 8008D338 0008A298 38 00 00 00 */ li r0, 0 /* 8008D33C 0008A29C C0 42 89 B8 */ lfs f2, lbl_805AA6D8@sda21(r2) /* 8008D340 0008A2A0 38 60 00 00 */ li r3, 0 /* 8008D344 0008A2A4 D0 3E 02 54 */ stfs f1, 0x254(r30) /* 8008D348 0008A2A8 38 80 00 01 */ li r4, 1 /* 8008D34C 0008A2AC C0 02 8A B8 */ lfs f0, lbl_805AA7D8@sda21(r2) /* 8008D350 0008A2B0 D3 FE 02 58 */ stfs f31, 0x258(r30) /* 8008D354 0008A2B4 D3 DE 02 5C */ stfs f30, 0x25c(r30) /* 8008D358 0008A2B8 D0 7E 02 60 */ stfs f3, 0x260(r30) /* 8008D35C 0008A2BC 90 1E 02 68 */ stw r0, 0x268(r30) /* 8008D360 0008A2C0 90 1E 02 6C */ stw r0, 0x26c(r30) /* 8008D364 0008A2C4 90 1E 02 70 */ stw r0, 0x270(r30) /* 8008D368 0008A2C8 90 1E 02 78 */ stw r0, 0x278(r30) /* 8008D36C 0008A2CC 90 1E 02 7C */ stw r0, 0x27c(r30) /* 8008D370 0008A2D0 90 1E 02 80 */ stw r0, 0x280(r30) /* 8008D374 0008A2D4 90 1E 02 88 */ stw r0, 0x288(r30) /* 8008D378 0008A2D8 90 1E 02 8C */ stw r0, 0x28c(r30) /* 8008D37C 0008A2DC 90 1E 02 90 */ stw r0, 0x290(r30) /* 8008D380 0008A2E0 D0 7E 02 94 */ stfs f3, 0x294(r30) /* 8008D384 0008A2E4 D0 7E 02 98 */ stfs f3, 0x298(r30) /* 8008D388 0008A2E8 D0 7E 02 9C */ stfs f3, 0x29c(r30) /* 8008D38C 0008A2EC D0 7E 02 A0 */ stfs f3, 0x2a0(r30) /* 8008D390 0008A2F0 D0 7E 02 A4 */ stfs f3, 0x2a4(r30) /* 8008D394 0008A2F4 D0 5E 02 A8 */ stfs f2, 0x2a8(r30) /* 8008D398 0008A2F8 D0 7E 02 AC */ stfs f3, 0x2ac(r30) /* 8008D39C 0008A2FC D0 7E 02 B0 */ stfs f3, 0x2b0(r30) /* 8008D3A0 0008A300 D0 5E 02 B4 */ stfs f2, 0x2b4(r30) /* 8008D3A4 0008A304 D0 7E 02 B8 */ stfs f3, 0x2b8(r30) /* 8008D3A8 0008A308 D0 7E 02 BC */ stfs f3, 0x2bc(r30) /* 8008D3AC 0008A30C D0 5E 02 C0 */ stfs f2, 0x2c0(r30) /* 8008D3B0 0008A310 90 1E 02 C4 */ stw r0, 0x2c4(r30) /* 8008D3B4 0008A314 90 1E 02 C8 */ stw r0, 0x2c8(r30) /* 8008D3B8 0008A318 90 1E 02 CC */ stw r0, 0x2cc(r30) /* 8008D3BC 0008A31C 90 1E 02 D0 */ stw r0, 0x2d0(r30) /* 8008D3C0 0008A320 90 1E 02 D4 */ stw r0, 0x2d4(r30) /* 8008D3C4 0008A324 90 1E 02 D8 */ stw r0, 0x2d8(r30) /* 8008D3C8 0008A328 D0 7E 02 DC */ stfs f3, 0x2dc(r30) /* 8008D3CC 0008A32C D0 7E 02 E0 */ stfs f3, 0x2e0(r30) /* 8008D3D0 0008A330 D0 7E 02 E4 */ stfs f3, 0x2e4(r30) /* 8008D3D4 0008A334 D0 7E 02 E8 */ stfs f3, 0x2e8(r30) /* 8008D3D8 0008A338 D0 7E 02 EC */ stfs f3, 0x2ec(r30) /* 8008D3DC 0008A33C C0 26 00 00 */ lfs f1, 0(r6) /* 8008D3E0 0008A340 D0 3E 02 F0 */ stfs f1, 0x2f0(r30) /* 8008D3E4 0008A344 C0 3F 00 04 */ lfs f1, 4(r31) /* 8008D3E8 0008A348 D0 3E 02 F4 */ stfs f1, 0x2f4(r30) /* 8008D3EC 0008A34C C0 3F 00 08 */ lfs f1, 8(r31) /* 8008D3F0 0008A350 D0 3E 02 F8 */ stfs f1, 0x2f8(r30) /* 8008D3F4 0008A354 C0 26 00 00 */ lfs f1, 0(r6) /* 8008D3F8 0008A358 D0 3E 02 FC */ stfs f1, 0x2fc(r30) /* 8008D3FC 0008A35C C0 3F 00 04 */ lfs f1, 4(r31) /* 8008D400 0008A360 D0 3E 03 00 */ stfs f1, 0x300(r30) /* 8008D404 0008A364 C0 3F 00 08 */ lfs f1, 8(r31) /* 8008D408 0008A368 D0 3E 03 04 */ stfs f1, 0x304(r30) /* 8008D40C 0008A36C D0 7E 03 08 */ stfs f3, 0x308(r30) /* 8008D410 0008A370 D0 7E 03 0C */ stfs f3, 0x30c(r30) /* 8008D414 0008A374 D0 7E 03 10 */ stfs f3, 0x310(r30) /* 8008D418 0008A378 D0 7E 03 14 */ stfs f3, 0x314(r30) /* 8008D41C 0008A37C D0 7E 03 18 */ stfs f3, 0x318(r30) /* 8008D420 0008A380 D0 7E 03 1C */ stfs f3, 0x31c(r30) /* 8008D424 0008A384 D0 7E 03 20 */ stfs f3, 0x320(r30) /* 8008D428 0008A388 D0 7E 03 24 */ stfs f3, 0x324(r30) /* 8008D42C 0008A38C 90 1E 03 28 */ stw r0, 0x328(r30) /* 8008D430 0008A390 D0 5E 03 2C */ stfs f2, 0x32c(r30) /* 8008D434 0008A394 D0 1E 03 30 */ stfs f0, 0x330(r30) /* 8008D438 0008A398 C0 05 00 00 */ lfs f0, 0(r5) /* 8008D43C 0008A39C D0 1E 03 34 */ stfs f0, 0x334(r30) /* 8008D440 0008A3A0 C0 05 00 04 */ lfs f0, 4(r5) /* 8008D444 0008A3A4 D0 1E 03 38 */ stfs f0, 0x338(r30) /* 8008D448 0008A3A8 C0 05 00 08 */ lfs f0, 8(r5) /* 8008D44C 0008A3AC D0 1E 03 3C */ stfs f0, 0x33c(r30) /* 8008D450 0008A3B0 C0 05 00 0C */ lfs f0, 0xc(r5) /* 8008D454 0008A3B4 D0 1E 03 40 */ stfs f0, 0x340(r30) /* 8008D458 0008A3B8 C0 05 00 10 */ lfs f0, 0x10(r5) /* 8008D45C 0008A3BC D0 1E 03 44 */ stfs f0, 0x344(r30) /* 8008D460 0008A3C0 C0 05 00 14 */ lfs f0, 0x14(r5) /* 8008D464 0008A3C4 D0 1E 03 48 */ stfs f0, 0x348(r30) /* 8008D468 0008A3C8 D0 7E 03 4C */ stfs f3, 0x34c(r30) /* 8008D46C 0008A3CC 90 1E 03 54 */ stw r0, 0x354(r30) /* 8008D470 0008A3D0 90 1E 03 50 */ stw r0, 0x350(r30) /* 8008D474 0008A3D4 80 AD 84 74 */ lwz r5, lbl_805A7034@sda21(r13) /* 8008D478 0008A3D8 48 2F CA 7D */ bl __shl2i /* 8008D47C 0008A3DC 80 1E 03 54 */ lwz r0, 0x354(r30) /* 8008D480 0008A3E0 3C A0 80 5A */ lis r5, skZero3f@ha /* 8008D484 0008A3E4 80 FE 03 50 */ lwz r7, 0x350(r30) /* 8008D488 0008A3E8 38 C5 66 A0 */ addi r6, r5, skZero3f@l /* 8008D48C 0008A3EC 7C 00 23 78 */ or r0, r0, r4 /* 8008D490 0008A3F0 C0 22 89 B0 */ lfs f1, lbl_805AA6D0@sda21(r2) /* 8008D494 0008A3F4 90 1E 03 54 */ stw r0, 0x354(r30) /* 8008D498 0008A3F8 7C E0 1B 78 */ or r0, r7, r3 /* 8008D49C 0008A3FC 38 A0 00 00 */ li r5, 0 /* 8008D4A0 0008A400 38 7E 03 7C */ addi r3, r30, 0x37c /* 8008D4A4 0008A404 90 1E 03 50 */ stw r0, 0x350(r30) /* 8008D4A8 0008A408 38 80 00 00 */ li r4, 0 /* 8008D4AC 0008A40C D0 3E 03 58 */ stfs f1, 0x358(r30) /* 8008D4B0 0008A410 C0 06 00 00 */ lfs f0, 0(r6) /* 8008D4B4 0008A414 D0 1E 03 5C */ stfs f0, 0x35c(r30) /* 8008D4B8 0008A418 C0 1F 00 04 */ lfs f0, 4(r31) /* 8008D4BC 0008A41C D0 1E 03 60 */ stfs f0, 0x360(r30) /* 8008D4C0 0008A420 C0 1F 00 08 */ lfs f0, 8(r31) /* 8008D4C4 0008A424 D0 1E 03 64 */ stfs f0, 0x364(r30) /* 8008D4C8 0008A428 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8008D4CC 0008A42C B0 1E 03 68 */ sth r0, 0x368(r30) /* 8008D4D0 0008A430 90 BE 03 6C */ stw r5, 0x36c(r30) /* 8008D4D4 0008A434 88 1E 03 70 */ lbz r0, 0x370(r30) /* 8008D4D8 0008A438 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 8008D4DC 0008A43C 98 1E 03 70 */ stb r0, 0x370(r30) /* 8008D4E0 0008A440 D0 3E 03 74 */ stfs f1, 0x374(r30) /* 8008D4E4 0008A444 4B FD 02 7D */ bl __ct__13CCameraSplineFb /* 8008D4E8 0008A448 38 00 00 00 */ li r0, 0 /* 8008D4EC 0008A44C 38 60 00 00 */ li r3, 0 /* 8008D4F0 0008A450 90 1E 03 CC */ stw r0, 0x3cc(r30) /* 8008D4F4 0008A454 38 80 00 01 */ li r4, 1 /* 8008D4F8 0008A458 90 1E 03 C8 */ stw r0, 0x3c8(r30) /* 8008D4FC 0008A45C 80 AD 84 78 */ lwz r5, lbl_805A7038@sda21(r13) /* 8008D500 0008A460 48 2F C9 F5 */ bl __shl2i /* 8008D504 0008A464 80 1E 03 CC */ lwz r0, 0x3cc(r30) /* 8008D508 0008A468 38 A0 00 00 */ li r5, 0 /* 8008D50C 0008A46C 80 DE 03 C8 */ lwz r6, 0x3c8(r30) /* 8008D510 0008A470 7C 00 23 78 */ or r0, r0, r4 /* 8008D514 0008A474 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 8008D518 0008A478 90 1E 03 CC */ stw r0, 0x3cc(r30) /* 8008D51C 0008A47C 7C C0 1B 78 */ or r0, r6, r3 /* 8008D520 0008A480 C0 22 8A BC */ lfs f1, lbl_805AA7DC@sda21(r2) /* 8008D524 0008A484 90 1E 03 C8 */ stw r0, 0x3c8(r30) /* 8008D528 0008A488 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008D52C 0008A48C 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 8008D530 0008A490 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 8008D534 0008A494 98 1E 03 D0 */ stb r0, 0x3d0(r30) /* 8008D538 0008A498 D0 5E 03 D4 */ stfs f2, 0x3d4(r30) /* 8008D53C 0008A49C D0 5E 03 D8 */ stfs f2, 0x3d8(r30) /* 8008D540 0008A4A0 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13) /* 8008D544 0008A4A4 B0 1E 03 DC */ sth r0, 0x3dc(r30) /* 8008D548 0008A4A8 D0 3E 03 E0 */ stfs f1, 0x3e0(r30) /* 8008D54C 0008A4AC 98 BE 03 E4 */ stb r5, 0x3e4(r30) /* 8008D550 0008A4B0 D0 5E 03 E8 */ stfs f2, 0x3e8(r30) /* 8008D554 0008A4B4 D0 5E 03 EC */ stfs f2, 0x3ec(r30) /* 8008D558 0008A4B8 D0 5E 03 F0 */ stfs f2, 0x3f0(r30) /* 8008D55C 0008A4BC D0 1E 03 F4 */ stfs f0, 0x3f4(r30) /* 8008D560 0008A4C0 D0 5E 03 F8 */ stfs f2, 0x3f8(r30) /* 8008D564 0008A4C4 D0 5E 03 FC */ stfs f2, 0x3fc(r30) /* 8008D568 0008A4C8 90 BE 04 00 */ stw r5, 0x400(r30) /* 8008D56C 0008A4CC 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D570 0008A4D0 C0 03 01 78 */ lfs f0, 0x178(r3) /* 8008D574 0008A4D4 D0 1E 04 04 */ stfs f0, 0x404(r30) /* 8008D578 0008A4D8 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D57C 0008A4DC C0 03 01 80 */ lfs f0, 0x180(r3) /* 8008D580 0008A4E0 D0 1E 04 08 */ stfs f0, 0x408(r30) /* 8008D584 0008A4E4 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D588 0008A4E8 C0 03 01 88 */ lfs f0, 0x188(r3) /* 8008D58C 0008A4EC D0 1E 04 0C */ stfs f0, 0x40c(r30) /* 8008D590 0008A4F0 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D594 0008A4F4 C0 03 01 8C */ lfs f0, 0x18c(r3) /* 8008D598 0008A4F8 D0 1E 04 10 */ stfs f0, 0x410(r30) /* 8008D59C 0008A4FC C0 03 01 90 */ lfs f0, 0x190(r3) /* 8008D5A0 0008A500 D0 1E 04 14 */ stfs f0, 0x414(r30) /* 8008D5A4 0008A504 C0 03 01 94 */ lfs f0, 0x194(r3) /* 8008D5A8 0008A508 D0 1E 04 18 */ stfs f0, 0x418(r30) /* 8008D5AC 0008A50C 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D5B0 0008A510 C0 23 01 98 */ lfs f1, 0x198(r3) /* 8008D5B4 0008A514 C3 C3 01 A0 */ lfs f30, 0x1a0(r3) /* 8008D5B8 0008A518 C3 E3 01 9C */ lfs f31, 0x19c(r3) /* 8008D5BC 0008A51C D0 3E 04 1C */ stfs f1, 0x41c(r30) /* 8008D5C0 0008A520 48 28 7F 41 */ bl SqrtF__5CMathFf /* 8008D5C4 0008A524 C0 42 89 E0 */ lfs f2, lbl_805AA700@sda21(r2) /* 8008D5C8 0008A528 C0 02 89 B0 */ lfs f0, lbl_805AA6D0@sda21(r2) /* 8008D5CC 0008A52C EC 22 00 72 */ fmuls f1, f2, f1 /* 8008D5D0 0008A530 D0 3E 04 20 */ stfs f1, 0x420(r30) /* 8008D5D4 0008A534 D3 FE 04 24 */ stfs f31, 0x424(r30) /* 8008D5D8 0008A538 D3 DE 04 28 */ stfs f30, 0x428(r30) /* 8008D5DC 0008A53C D0 1E 04 2C */ stfs f0, 0x42c(r30) /* 8008D5E0 0008A540 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D5E4 0008A544 C0 03 01 A4 */ lfs f0, 0x1a4(r3) /* 8008D5E8 0008A548 D0 1E 04 30 */ stfs f0, 0x430(r30) /* 8008D5EC 0008A54C 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D5F0 0008A550 C0 03 01 AC */ lfs f0, 0x1ac(r3) /* 8008D5F4 0008A554 D0 1E 04 34 */ stfs f0, 0x434(r30) /* 8008D5F8 0008A558 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D5FC 0008A55C C0 03 01 B4 */ lfs f0, 0x1b4(r3) /* 8008D600 0008A560 D0 1E 04 38 */ stfs f0, 0x438(r30) /* 8008D604 0008A564 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D608 0008A568 C0 03 01 B8 */ lfs f0, 0x1b8(r3) /* 8008D60C 0008A56C D0 1E 04 3C */ stfs f0, 0x43c(r30) /* 8008D610 0008A570 C0 03 01 BC */ lfs f0, 0x1bc(r3) /* 8008D614 0008A574 D0 1E 04 40 */ stfs f0, 0x440(r30) /* 8008D618 0008A578 C0 03 01 C0 */ lfs f0, 0x1c0(r3) /* 8008D61C 0008A57C D0 1E 04 44 */ stfs f0, 0x444(r30) /* 8008D620 0008A580 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 8008D624 0008A584 C0 23 01 C4 */ lfs f1, 0x1c4(r3) /* 8008D628 0008A588 C3 C3 01 CC */ lfs f30, 0x1cc(r3) /* 8008D62C 0008A58C C3 E3 01 C8 */ lfs f31, 0x1c8(r3) /* 8008D630 0008A590 D0 3E 04 48 */ stfs f1, 0x448(r30) /* 8008D634 0008A594 48 28 7E CD */ bl SqrtF__5CMathFf /* 8008D638 0008A598 C0 02 89 E0 */ lfs f0, lbl_805AA700@sda21(r2) /* 8008D63C 0008A59C 3C A0 80 5A */ lis r5, skZero3f@ha /* 8008D640 0008A5A0 38 C5 66 A0 */ addi r6, r5, skZero3f@l /* 8008D644 0008A5A4 3C 60 80 3D */ lis r3, lbl_803CD678@ha /* 8008D648 0008A5A8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8008D64C 0008A5AC 38 83 D6 78 */ addi r4, r3, lbl_803CD678@l /* 8008D650 0008A5B0 C0 42 89 B0 */ lfs f2, lbl_805AA6D0@sda21(r2) /* 8008D654 0008A5B4 38 00 00 00 */ li r0, 0 /* 8008D658 0008A5B8 38 60 00 A0 */ li r3, 0xa0 /* 8008D65C 0008A5BC 38 A0 00 00 */ li r5, 0 /* 8008D660 0008A5C0 D0 1E 04 4C */ stfs f0, 0x44c(r30) /* 8008D664 0008A5C4 D3 FE 04 50 */ stfs f31, 0x450(r30) /* 8008D668 0008A5C8 D3 DE 04 54 */ stfs f30, 0x454(r30) /* 8008D66C 0008A5CC D0 5E 04 58 */ stfs f2, 0x458(r30) /* 8008D670 0008A5D0 C0 06 00 00 */ lfs f0, 0(r6) /* 8008D674 0008A5D4 D0 1E 04 5C */ stfs f0, 0x45c(r30) /* 8008D678 0008A5D8 C0 1F 00 04 */ lfs f0, 4(r31) /* 8008D67C 0008A5DC D0 1E 04 60 */ stfs f0, 0x460(r30) /* 8008D680 0008A5E0 C0 1F 00 08 */ lfs f0, 8(r31) /* 8008D684 0008A5E4 D0 1E 04 64 */ stfs f0, 0x464(r30) /* 8008D688 0008A5E8 80 CD A1 1C */ lwz r6, gpTweakBall@sda21(r13) /* 8008D68C 0008A5EC C0 06 01 70 */ lfs f0, 0x170(r6) /* 8008D690 0008A5F0 D0 1E 04 68 */ stfs f0, 0x468(r30) /* 8008D694 0008A5F4 A0 CD A3 8C */ lhz r6, lbl_805A8F4C@sda21(r13) /* 8008D698 0008A5F8 B0 DE 04 6C */ sth r6, 0x46c(r30) /* 8008D69C 0008A5FC D0 5E 04 70 */ stfs f2, 0x470(r30) /* 8008D6A0 0008A600 D0 5E 04 74 */ stfs f2, 0x474(r30) /* 8008D6A4 0008A604 90 1E 04 78 */ stw r0, 0x478(r30) /* 8008D6A8 0008A608 48 28 81 C5 */ bl __nw__FUlPCcPCc /* 8008D6AC 0008A60C 7C 60 1B 79 */ or. r0, r3, r3 /* 8008D6B0 0008A610 41 82 00 0C */ beq lbl_8008D6BC /* 8008D6B4 0008A614 48 1B 0F 55 */ bl __ct__Q211CBallCamera14SFailsafeStateFv /* 8008D6B8 0008A618 7C 60 1B 78 */ mr r0, r3 lbl_8008D6BC: /* 8008D6BC 0008A61C 3C 60 80 3D */ lis r3, lbl_803CD678@ha /* 8008D6C0 0008A620 90 1E 04 7C */ stw r0, 0x47c(r30) /* 8008D6C4 0008A624 38 83 D6 78 */ addi r4, r3, lbl_803CD678@l /* 8008D6C8 0008A628 38 A0 00 00 */ li r5, 0 /* 8008D6CC 0008A62C 38 60 00 01 */ li r3, 1 /* 8008D6D0 0008A630 48 28 81 9D */ bl __nw__FUlPCcPCc /* 8008D6D4 0008A634 7C 60 1B 79 */ or. r0, r3, r3 /* 8008D6D8 0008A638 41 82 00 0C */ beq lbl_8008D6E4 /* 8008D6DC 0008A63C 48 1B 0F 29 */ bl nullsub_19 /* 8008D6E0 0008A640 7C 60 1B 78 */ mr r0, r3 lbl_8008D6E4: /* 8008D6E4 0008A644 C0 22 8A 2C */ lfs f1, lbl_805AA74C@sda21(r2) /* 8008D6E8 0008A648 7F C3 F3 78 */ mr r3, r30 /* 8008D6EC 0008A64C 90 1E 04 80 */ stw r0, 0x480(r30) /* 8008D6F0 0008A650 38 9E 02 64 */ addi r4, r30, 0x264 /* 8008D6F4 0008A654 FC 40 08 90 */ fmr f2, f1 /* 8008D6F8 0008A658 C0 62 89 BC */ lfs f3, lbl_805AA6DC@sda21(r2) /* 8008D6FC 0008A65C C0 82 89 E0 */ lfs f4, lbl_805AA700@sda21(r2) /* 8008D700 0008A660 38 A0 00 03 */ li r5, 3 /* 8008D704 0008A664 C0 A2 89 DC */ lfs f5, lbl_805AA6FC@sda21(r2) /* 8008D708 0008A668 C0 C2 8A 30 */ lfs f6, lbl_805AA750@sda21(r2) /* 8008D70C 0008A66C 4B FF ED 05 */ bl "SetupColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fffifff" /* 8008D710 0008A670 C0 22 8A 34 */ lfs f1, lbl_805AA754@sda21(r2) /* 8008D714 0008A674 7F C3 F3 78 */ mr r3, r30 /* 8008D718 0008A678 C0 62 89 BC */ lfs f3, lbl_805AA6DC@sda21(r2) /* 8008D71C 0008A67C 38 9E 02 74 */ addi r4, r30, 0x274 /* 8008D720 0008A680 FC 40 08 90 */ fmr f2, f1 /* 8008D724 0008A684 C0 82 89 E0 */ lfs f4, lbl_805AA700@sda21(r2) /* 8008D728 0008A688 C0 A2 89 DC */ lfs f5, lbl_805AA6FC@sda21(r2) /* 8008D72C 0008A68C 38 A0 00 06 */ li r5, 6 /* 8008D730 0008A690 C0 C2 8A 30 */ lfs f6, lbl_805AA750@sda21(r2) /* 8008D734 0008A694 4B FF EC DD */ bl "SetupColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fffifff" /* 8008D738 0008A698 C0 22 8A 38 */ lfs f1, lbl_805AA758@sda21(r2) /* 8008D73C 0008A69C 7F C3 F3 78 */ mr r3, r30 /* 8008D740 0008A6A0 C0 62 89 BC */ lfs f3, lbl_805AA6DC@sda21(r2) /* 8008D744 0008A6A4 38 9E 02 84 */ addi r4, r30, 0x284 /* 8008D748 0008A6A8 FC 40 08 90 */ fmr f2, f1 /* 8008D74C 0008A6AC C0 82 89 E0 */ lfs f4, lbl_805AA700@sda21(r2) /* 8008D750 0008A6B0 C0 A2 89 DC */ lfs f5, lbl_805AA6FC@sda21(r2) /* 8008D754 0008A6B4 38 A0 00 0C */ li r5, 0xc /* 8008D758 0008A6B8 C0 C2 8A 30 */ lfs f6, lbl_805AA750@sda21(r2) /* 8008D75C 0008A6BC 4B FF EC B5 */ bl "SetupColliders__11CBallCameraFRQ24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>fffifff" /* 8008D760 0008A6C0 7F C3 F3 78 */ mr r3, r30 /* 8008D764 0008A6C4 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 8008D768 0008A6C8 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 8008D76C 0008A6CC E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 8008D770 0008A6D0 CB C1 00 90 */ lfd f30, 0x90(r1) /* 8008D774 0008A6D4 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 8008D778 0008A6D8 CB A1 00 80 */ lfd f29, 0x80(r1) /* 8008D77C 0008A6DC E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0 /* 8008D780 0008A6E0 CB 81 00 70 */ lfd f28, 0x70(r1) /* 8008D784 0008A6E4 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8008D788 0008A6E8 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8008D78C 0008A6EC 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8008D790 0008A6F0 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8008D794 0008A6F4 83 81 00 60 */ lwz r28, 0x60(r1) /* 8008D798 0008A6F8 7C 08 03 A6 */ mtlr r0 /* 8008D79C 0008A6FC 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8008D7A0 0008A700 4E 80 00 20 */ blr .global __ct__15CCameraColliderFf9CVector3fRC13CCameraSpringf __ct__15CCameraColliderFf9CVector3fRC13CCameraSpringf: /* 8008D7A4 0008A704 3C C0 80 3E */ lis r6, lbl_803DAC28@ha /* 8008D7A8 0008A708 38 00 00 00 */ li r0, 0 /* 8008D7AC 0008A70C 38 C6 AC 28 */ addi r6, r6, lbl_803DAC28@l /* 8008D7B0 0008A710 90 C3 00 00 */ stw r6, 0(r3) /* 8008D7B4 0008A714 D0 23 00 04 */ stfs f1, 4(r3) /* 8008D7B8 0008A718 C0 04 00 00 */ lfs f0, 0(r4) /* 8008D7BC 0008A71C D0 03 00 08 */ stfs f0, 8(r3) /* 8008D7C0 0008A720 C0 04 00 04 */ lfs f0, 4(r4) /* 8008D7C4 0008A724 D0 03 00 0C */ stfs f0, 0xc(r3) /* 8008D7C8 0008A728 C0 04 00 08 */ lfs f0, 8(r4) /* 8008D7CC 0008A72C D0 03 00 10 */ stfs f0, 0x10(r3) /* 8008D7D0 0008A730 C0 04 00 00 */ lfs f0, 0(r4) /* 8008D7D4 0008A734 D0 03 00 14 */ stfs f0, 0x14(r3) /* 8008D7D8 0008A738 C0 04 00 04 */ lfs f0, 4(r4) /* 8008D7DC 0008A73C D0 03 00 18 */ stfs f0, 0x18(r3) /* 8008D7E0 0008A740 C0 04 00 08 */ lfs f0, 8(r4) /* 8008D7E4 0008A744 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8008D7E8 0008A748 C0 04 00 00 */ lfs f0, 0(r4) /* 8008D7EC 0008A74C D0 03 00 20 */ stfs f0, 0x20(r3) /* 8008D7F0 0008A750 C0 04 00 04 */ lfs f0, 4(r4) /* 8008D7F4 0008A754 D0 03 00 24 */ stfs f0, 0x24(r3) /* 8008D7F8 0008A758 C0 04 00 08 */ lfs f0, 8(r4) /* 8008D7FC 0008A75C D0 03 00 28 */ stfs f0, 0x28(r3) /* 8008D800 0008A760 C0 04 00 00 */ lfs f0, 0(r4) /* 8008D804 0008A764 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 8008D808 0008A768 C0 04 00 04 */ lfs f0, 4(r4) /* 8008D80C 0008A76C D0 03 00 30 */ stfs f0, 0x30(r3) /* 8008D810 0008A770 C0 04 00 08 */ lfs f0, 8(r4) /* 8008D814 0008A774 D0 03 00 34 */ stfs f0, 0x34(r3) /* 8008D818 0008A778 C0 05 00 00 */ lfs f0, 0(r5) /* 8008D81C 0008A77C D0 03 00 38 */ stfs f0, 0x38(r3) /* 8008D820 0008A780 C0 05 00 04 */ lfs f0, 4(r5) /* 8008D824 0008A784 D0 03 00 3C */ stfs f0, 0x3c(r3) /* 8008D828 0008A788 C0 05 00 08 */ lfs f0, 8(r5) /* 8008D82C 0008A78C D0 03 00 40 */ stfs f0, 0x40(r3) /* 8008D830 0008A790 C0 05 00 0C */ lfs f0, 0xc(r5) /* 8008D834 0008A794 D0 03 00 44 */ stfs f0, 0x44(r3) /* 8008D838 0008A798 C0 05 00 10 */ lfs f0, 0x10(r5) /* 8008D83C 0008A79C D0 03 00 48 */ stfs f0, 0x48(r3) /* 8008D840 0008A7A0 90 03 00 4C */ stw r0, 0x4c(r3) /* 8008D844 0008A7A4 D0 43 00 50 */ stfs f2, 0x50(r3) /* 8008D848 0008A7A8 4E 80 00 20 */ blr .global "reserve__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>Fi" "reserve__Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>Fi": /* 8008D84C 0008A7AC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8008D850 0008A7B0 7C 08 02 A6 */ mflr r0 /* 8008D854 0008A7B4 90 01 00 34 */ stw r0, 0x34(r1) /* 8008D858 0008A7B8 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 8008D85C 0008A7BC 7C 9F 23 78 */ mr r31, r4 /* 8008D860 0008A7C0 7C 7E 1B 78 */ mr r30, r3 /* 8008D864 0008A7C4 80 03 00 08 */ lwz r0, 8(r3) /* 8008D868 0008A7C8 7C 1F 00 00 */ cmpw r31, r0 /* 8008D86C 0008A7CC 40 81 00 B0 */ ble lbl_8008D91C /* 8008D870 0008A7D0 1C 7F 00 54 */ mulli r3, r31, 0x54 /* 8008D874 0008A7D4 2C 03 00 00 */ cmpwi r3, 0 /* 8008D878 0008A7D8 40 82 00 0C */ bne lbl_8008D884 /* 8008D87C 0008A7DC 3B A0 00 00 */ li r29, 0 /* 8008D880 0008A7E0 48 00 00 18 */ b lbl_8008D898 lbl_8008D884: /* 8008D884 0008A7E4 3C 80 80 3D */ lis r4, lbl_803CD678@ha /* 8008D888 0008A7E8 38 A0 00 00 */ li r5, 0 /* 8008D88C 0008A7EC 38 84 D6 78 */ addi r4, r4, lbl_803CD678@l /* 8008D890 0008A7F0 48 28 7F 89 */ bl __nwa__FUlPCcPCc /* 8008D894 0008A7F4 7C 7D 1B 78 */ mr r29, r3 lbl_8008D898: /* 8008D898 0008A7F8 80 1E 00 04 */ lwz r0, 4(r30) /* 8008D89C 0008A7FC 7F A5 EB 78 */ mr r5, r29 /* 8008D8A0 0008A800 80 DE 00 0C */ lwz r6, 0xc(r30) /* 8008D8A4 0008A804 38 61 00 14 */ addi r3, r1, 0x14 /* 8008D8A8 0008A808 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008D8AC 0008A80C 38 81 00 0C */ addi r4, r1, 0xc /* 8008D8B0 0008A810 7C C6 02 14 */ add r6, r6, r0 /* 8008D8B4 0008A814 90 C1 00 0C */ stw r6, 0xc(r1) /* 8008D8B8 0008A818 80 1E 00 0C */ lwz r0, 0xc(r30) /* 8008D8BC 0008A81C 90 C1 00 08 */ stw r6, 8(r1) /* 8008D8C0 0008A820 90 01 00 10 */ stw r0, 0x10(r1) /* 8008D8C4 0008A824 90 01 00 14 */ stw r0, 0x14(r1) /* 8008D8C8 0008A828 48 00 00 69 */ bl "uninitialized_copy,Q24rstl17rmemory_allocator>,P15CCameraCollider>__4rstlFQ24rstl124pointer_iterator<15CCameraCollider,Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl124pointer_iterator<15CCameraCollider,Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>P15CCameraCollider" /* 8008D8CC 0008A82C 80 1E 00 04 */ lwz r0, 4(r30) /* 8008D8D0 0008A830 83 7E 00 0C */ lwz r27, 0xc(r30) /* 8008D8D4 0008A834 1C 00 00 54 */ mulli r0, r0, 0x54 /* 8008D8D8 0008A838 7F 9B 02 14 */ add r28, r27, r0 /* 8008D8DC 0008A83C 48 00 00 20 */ b lbl_8008D8FC lbl_8008D8E0: /* 8008D8E0 0008A840 7F 63 DB 78 */ mr r3, r27 /* 8008D8E4 0008A844 38 80 FF FF */ li r4, -1 /* 8008D8E8 0008A848 81 9B 00 00 */ lwz r12, 0(r27) /* 8008D8EC 0008A84C 81 8C 00 08 */ lwz r12, 8(r12) /* 8008D8F0 0008A850 7D 89 03 A6 */ mtctr r12 /* 8008D8F4 0008A854 4E 80 04 21 */ bctrl /* 8008D8F8 0008A858 3B 7B 00 54 */ addi r27, r27, 0x54 lbl_8008D8FC: /* 8008D8FC 0008A85C 7C 1B E0 40 */ cmplw r27, r28 /* 8008D900 0008A860 40 82 FF E0 */ bne lbl_8008D8E0 /* 8008D904 0008A864 80 7E 00 0C */ lwz r3, 0xc(r30) /* 8008D908 0008A868 28 03 00 00 */ cmplwi r3, 0 /* 8008D90C 0008A86C 41 82 00 08 */ beq lbl_8008D914 /* 8008D910 0008A870 48 28 80 21 */ bl Free__7CMemoryFPCv lbl_8008D914: /* 8008D914 0008A874 93 BE 00 0C */ stw r29, 0xc(r30) /* 8008D918 0008A878 93 FE 00 08 */ stw r31, 8(r30) lbl_8008D91C: /* 8008D91C 0008A87C BB 61 00 1C */ lmw r27, 0x1c(r1) /* 8008D920 0008A880 80 01 00 34 */ lwz r0, 0x34(r1) /* 8008D924 0008A884 7C 08 03 A6 */ mtlr r0 /* 8008D928 0008A888 38 21 00 30 */ addi r1, r1, 0x30 /* 8008D92C 0008A88C 4E 80 00 20 */ blr .global "uninitialized_copy,Q24rstl17rmemory_allocator>,P15CCameraCollider>__4rstlFQ24rstl124pointer_iterator<15CCameraCollider,Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl124pointer_iterator<15CCameraCollider,Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>P15CCameraCollider" "uninitialized_copy,Q24rstl17rmemory_allocator>,P15CCameraCollider>__4rstlFQ24rstl124pointer_iterator<15CCameraCollider,Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl124pointer_iterator<15CCameraCollider,Q24rstl52vector<15CCameraCollider,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>P15CCameraCollider": /* 8008D930 0008A890 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8008D934 0008A894 7C 08 02 A6 */ mflr r0 /* 8008D938 0008A898 90 01 00 24 */ stw r0, 0x24(r1) /* 8008D93C 0008A89C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8008D940 0008A8A0 93 C1 00 18 */ stw r30, 0x18(r1) /* 8008D944 0008A8A4 7C BE 2B 78 */ mr r30, r5 /* 8008D948 0008A8A8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8008D94C 0008A8AC 7C 9D 23 78 */ mr r29, r4 /* 8008D950 0008A8B0 83 E3 00 00 */ lwz r31, 0(r3) /* 8008D954 0008A8B4 48 00 00 18 */ b lbl_8008D96C lbl_8008D958: /* 8008D958 0008A8B8 7F C3 F3 78 */ mr r3, r30 /* 8008D95C 0008A8BC 7F E4 FB 78 */ mr r4, r31 /* 8008D960 0008A8C0 4B FF ED 45 */ bl "construct<15CCameraCollider>__4rstlFPvRC15CCameraCollider" /* 8008D964 0008A8C4 3B DE 00 54 */ addi r30, r30, 0x54 /* 8008D968 0008A8C8 3B FF 00 54 */ addi r31, r31, 0x54 lbl_8008D96C: /* 8008D96C 0008A8CC 80 1D 00 00 */ lwz r0, 0(r29) /* 8008D970 0008A8D0 7C 1F 00 40 */ cmplw r31, r0 /* 8008D974 0008A8D4 40 82 FF E4 */ bne lbl_8008D958 /* 8008D978 0008A8D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8008D97C 0008A8DC 7F C3 F3 78 */ mr r3, r30 /* 8008D980 0008A8E0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8008D984 0008A8E4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8008D988 0008A8E8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8008D98C 0008A8EC 7C 08 03 A6 */ mtlr r0 /* 8008D990 0008A8F0 38 21 00 20 */ addi r1, r1, 0x20 /* 8008D994 0008A8F4 4E 80 00 20 */ blr .global __sinit_CBallCamera_cpp __sinit_CBallCamera_cpp: /* 8008D998 0008A8F8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8008D99C 0008A8FC 7C 08 02 A6 */ mflr r0 /* 8008D9A0 0008A900 38 60 00 00 */ li r3, 0 /* 8008D9A4 0008A904 38 80 00 01 */ li r4, 1 /* 8008D9A8 0008A908 90 01 00 34 */ stw r0, 0x34(r1) /* 8008D9AC 0008A90C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8008D9B0 0008A910 93 C1 00 28 */ stw r30, 0x28(r1) /* 8008D9B4 0008A914 80 AD 84 60 */ lwz r5, lbl_805A7020@sda21(r13) /* 8008D9B8 0008A918 48 2F C5 3D */ bl __shl2i /* 8008D9BC 0008A91C 90 8D A2 8C */ stw r4, lbl_805A8E4C@sda21(r13) /* 8008D9C0 0008A920 38 80 00 01 */ li r4, 1 /* 8008D9C4 0008A924 80 AD 84 64 */ lwz r5, lbl_805A7024@sda21(r13) /* 8008D9C8 0008A928 90 6D A2 88 */ stw r3, lbl_805A8E48@sda21(r13) /* 8008D9CC 0008A92C 38 60 00 00 */ li r3, 0 /* 8008D9D0 0008A930 48 2F C5 25 */ bl __shl2i /* 8008D9D4 0008A934 80 AD 84 68 */ lwz r5, lbl_805A7028@sda21(r13) /* 8008D9D8 0008A938 7C 9E 23 78 */ mr r30, r4 /* 8008D9DC 0008A93C 7C 7F 1B 78 */ mr r31, r3 /* 8008D9E0 0008A940 38 60 00 00 */ li r3, 0 /* 8008D9E4 0008A944 38 80 00 01 */ li r4, 1 /* 8008D9E8 0008A948 48 2F C5 0D */ bl __shl2i /* 8008D9EC 0008A94C 80 AD 84 6C */ lwz r5, lbl_805A702C@sda21(r13) /* 8008D9F0 0008A950 7F DE 23 78 */ or r30, r30, r4 /* 8008D9F4 0008A954 7F FF 1B 78 */ or r31, r31, r3 /* 8008D9F8 0008A958 38 60 00 00 */ li r3, 0 /* 8008D9FC 0008A95C 38 80 00 01 */ li r4, 1 /* 8008DA00 0008A960 48 2F C4 F5 */ bl __shl2i /* 8008DA04 0008A964 80 AD 84 70 */ lwz r5, lbl_805A7030@sda21(r13) /* 8008DA08 0008A968 7F DE 23 78 */ or r30, r30, r4 /* 8008DA0C 0008A96C 7F FF 1B 78 */ or r31, r31, r3 /* 8008DA10 0008A970 38 60 00 00 */ li r3, 0 /* 8008DA14 0008A974 38 80 00 01 */ li r4, 1 /* 8008DA18 0008A978 48 2F C4 DD */ bl __shl2i /* 8008DA1C 0008A97C 3C A0 80 47 */ lis r5, lbl_8046C408@ha /* 8008DA20 0008A980 80 0D A2 88 */ lwz r0, lbl_805A8E48@sda21(r13) /* 8008DA24 0008A984 7F DE 23 78 */ or r30, r30, r4 /* 8008DA28 0008A988 7F FF 1B 78 */ or r31, r31, r3 /* 8008DA2C 0008A98C 38 65 C4 08 */ addi r3, r5, lbl_8046C408@l /* 8008DA30 0008A990 38 A0 00 03 */ li r5, 3 /* 8008DA34 0008A994 80 8D A2 8C */ lwz r4, lbl_805A8E4C@sda21(r13) /* 8008DA38 0008A998 93 CD A2 94 */ stw r30, lbl_805A8E54@sda21(r13) /* 8008DA3C 0008A99C 93 ED A2 90 */ stw r31, lbl_805A8E50@sda21(r13) /* 8008DA40 0008A9A0 90 A1 00 18 */ stw r5, 0x18(r1) /* 8008DA44 0008A9A4 90 83 00 04 */ stw r4, 4(r3) /* 8008DA48 0008A9A8 90 03 00 00 */ stw r0, 0(r3) /* 8008DA4C 0008A9AC 93 C3 00 0C */ stw r30, 0xc(r3) /* 8008DA50 0008A9B0 93 E3 00 08 */ stw r31, 8(r3) /* 8008DA54 0008A9B4 90 A3 00 10 */ stw r5, 0x10(r3) /* 8008DA58 0008A9B8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8008DA5C 0008A9BC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8008DA60 0008A9C0 80 01 00 34 */ lwz r0, 0x34(r1) /* 8008DA64 0008A9C4 7C 08 03 A6 */ mtlr r0 /* 8008DA68 0008A9C8 38 21 00 30 */ addi r1, r1, 0x30 /* 8008DA6C 0008A9CC 4E 80 00 20 */ blr