.include "macros.inc" .section .ctors, "wa" lbl_ctor: .4byte __sinit_CPlayerOrbit_cpp .section .sdata .balign 8 .global lbl_805A7A08 lbl_805A7A08: # ROM: 0x3F53A8 .4byte 0x00000013 .global lbl_805A7A0C lbl_805A7A0C: # ROM: 0x3F53AC .4byte 0x00000012 .global lbl_805A7A10 lbl_805A7A10: # ROM: 0x3F53B0 .4byte 0x0000001B .global lbl_805A7A14 lbl_805A7A14: # ROM: 0x3F53B4 .4byte 0x00000020 .global lbl_805A7A18 lbl_805A7A18: # ROM: 0x3F53B8 .4byte 0x00000013 .global lbl_805A7A1C lbl_805A7A1C: # ROM: 0x3F53BC .4byte 0x0000002A .global lbl_805A7A20 lbl_805A7A20: # ROM: 0x3F53C0 .4byte 0x00000012 .global lbl_805A7A24 lbl_805A7A24: # ROM: 0x3F53C4 .4byte 0x0000001B .global lbl_805A7A28 lbl_805A7A28: # ROM: 0x3F53C8 .4byte 0x00000020 .global lbl_805A7A2C lbl_805A7A2C: # ROM: 0x3F53CC .4byte 0x00000029 .global lbl_805A7A30 lbl_805A7A30: # ROM: 0x3F53D0 .4byte 0x00000027 .global lbl_805A7A34 lbl_805A7A34: # ROM: 0x3F53D4 .4byte 0x00000028 .global lbl_805A7A38 lbl_805A7A38: # ROM: 0x3F53D8 .float 1.0 .global lbl_805A7A3C lbl_805A7A3C: # ROM: 0x3F53DC .4byte 0x00000013 .section .bss .balign 8 .lcomm lbl_8046C8C0, 0x18, 4 .lcomm lbl_8046C8D8, 0x18, 4 .lcomm lbl_8046C8F0, 0x18, 4 .section .sbss, "wa" .balign 8 .global lbl_805A9000 lbl_805A9000: .skip 0x4 .global lbl_805A9004 lbl_805A9004: .skip 0x4 .global lbl_805A9008 lbl_805A9008: .skip 0x4 .global lbl_805A900C lbl_805A900C: .skip 0x4 .global lbl_805A9010 lbl_805A9010: .skip 0x4 .global lbl_805A9014 lbl_805A9014: .skip 0x4 .global lbl_805A9018 lbl_805A9018: .skip 0x4 .global lbl_805A901C lbl_805A901C: .skip 0x4 .section .text, "ax" .global UpdateGrappleArmTransform__7CPlayerFRC9CVector3fR13CStateManagerf UpdateGrappleArmTransform__7CPlayerFRC9CVector3fR13CStateManagerf: /* 8017938C 001762EC 94 21 FE 60 */ stwu r1, -0x1a0(r1) /* 80179390 001762F0 7C 08 02 A6 */ mflr r0 /* 80179394 001762F4 90 01 01 A4 */ stw r0, 0x1a4(r1) /* 80179398 001762F8 DB E1 01 90 */ stfd f31, 0x190(r1) /* 8017939C 001762FC F3 E1 01 98 */ psq_st f31, 408(r1), 0, qr0 /* 801793A0 00176300 DB C1 01 80 */ stfd f30, 0x180(r1) /* 801793A4 00176304 F3 C1 01 88 */ psq_st f30, 392(r1), 0, qr0 /* 801793A8 00176308 DB A1 01 70 */ stfd f29, 0x170(r1) /* 801793AC 0017630C F3 A1 01 78 */ psq_st f29, 376(r1), 0, qr0 /* 801793B0 00176310 93 E1 01 6C */ stw r31, 0x16c(r1) /* 801793B4 00176314 93 C1 01 68 */ stw r30, 0x168(r1) /* 801793B8 00176318 93 A1 01 64 */ stw r29, 0x164(r1) /* 801793BC 0017631C 7C 7F 1B 78 */ mr r31, r3 /* 801793C0 00176320 7C 9D 23 78 */ mr r29, r4 /* 801793C4 00176324 7C BE 2B 78 */ mr r30, r5 /* 801793C8 00176328 38 61 01 2C */ addi r3, r1, 0x12c /* 801793CC 0017632C 38 9F 00 34 */ addi r4, r31, 0x34 /* 801793D0 00176330 48 19 97 A5 */ bl __ct__12CTransform4fFRC12CTransform4f /* 801793D4 00176334 C3 FF 00 60 */ lfs f31, 0x60(r31) /* 801793D8 00176338 7F A5 EB 78 */ mr r5, r29 /* 801793DC 0017633C C3 DF 00 50 */ lfs f30, 0x50(r31) /* 801793E0 00176340 38 61 00 5C */ addi r3, r1, 0x5c /* 801793E4 00176344 C3 BF 00 40 */ lfs f29, 0x40(r31) /* 801793E8 00176348 38 9F 00 34 */ addi r4, r31, 0x34 /* 801793EC 0017634C 48 19 96 95 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 801793F0 00176350 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 801793F4 00176354 C0 21 00 60 */ lfs f1, 0x60(r1) /* 801793F8 00176358 C0 01 00 64 */ lfs f0, 0x64(r1) /* 801793FC 0017635C EF A2 E8 2A */ fadds f29, f2, f29 /* 80179400 00176360 EF C1 F0 2A */ fadds f30, f1, f30 /* 80179404 00176364 EF E0 F8 2A */ fadds f31, f0, f31 /* 80179408 00176368 D3 A1 01 38 */ stfs f29, 0x138(r1) /* 8017940C 0017636C D3 C1 01 48 */ stfs f30, 0x148(r1) /* 80179410 00176370 D3 E1 01 58 */ stfs f31, 0x158(r1) /* 80179414 00176374 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80179418 00176378 2C 00 00 00 */ cmpwi r0, 0 /* 8017941C 0017637C 41 82 00 1C */ beq lbl_80179438 /* 80179420 00176380 80 7F 04 90 */ lwz r3, 0x490(r31) /* 80179424 00176384 38 81 01 2C */ addi r4, r1, 0x12c /* 80179428 00176388 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017942C 0017638C 38 63 02 20 */ addi r3, r3, 0x220 /* 80179430 00176390 48 19 97 11 */ bl __as__12CTransform4fFRC12CTransform4f /* 80179434 00176394 48 00 02 44 */ b lbl_80179678 lbl_80179438: /* 80179438 00176398 80 7F 04 90 */ lwz r3, 0x490(r31) /* 8017943C 0017639C 80 83 07 40 */ lwz r4, 0x740(r3) /* 80179440 001763A0 88 04 03 B2 */ lbz r0, 0x3b2(r4) /* 80179444 001763A4 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80179448 001763A8 40 82 02 30 */ bne lbl_80179678 /* 8017944C 001763AC C0 5F 00 58 */ lfs f2, 0x58(r31) /* 80179450 001763B0 38 61 00 FC */ addi r3, r1, 0xfc /* 80179454 001763B4 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 80179458 001763B8 38 84 02 20 */ addi r4, r4, 0x220 /* 8017945C 001763BC C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80179460 001763C0 D0 01 00 90 */ stfs f0, 0x90(r1) /* 80179464 001763C4 D0 21 00 94 */ stfs f1, 0x94(r1) /* 80179468 001763C8 D0 41 00 98 */ stfs f2, 0x98(r1) /* 8017946C 001763CC 48 19 97 09 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80179470 001763D0 C0 41 01 20 */ lfs f2, 0x120(r1) /* 80179474 001763D4 38 61 00 90 */ addi r3, r1, 0x90 /* 80179478 001763D8 C0 21 01 00 */ lfs f1, 0x100(r1) /* 8017947C 001763DC C0 01 01 10 */ lfs f0, 0x110(r1) /* 80179480 001763E0 D0 21 00 84 */ stfs f1, 0x84(r1) /* 80179484 001763E4 D0 01 00 88 */ stfs f0, 0x88(r1) /* 80179488 001763E8 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 8017948C 001763EC 48 19 B2 6D */ bl CanBeNormalized__9CVector3fCFv /* 80179490 001763F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179494 001763F4 41 82 01 E4 */ beq lbl_80179678 /* 80179498 001763F8 38 61 00 90 */ addi r3, r1, 0x90 /* 8017949C 001763FC 48 19 B4 5D */ bl Normalize__9CVector3fFv /* 801794A0 00176400 80 1F 03 B8 */ lwz r0, 0x3b8(r31) /* 801794A4 00176404 2C 00 00 00 */ cmpwi r0, 0 /* 801794A8 00176408 41 82 01 88 */ beq lbl_80179630 /* 801794AC 0017640C A0 1F 03 10 */ lhz r0, 0x310(r31) /* 801794B0 00176410 7F C3 F3 78 */ mr r3, r30 /* 801794B4 00176414 38 81 00 0C */ addi r4, r1, 0xc /* 801794B8 00176418 B0 01 00 08 */ sth r0, 8(r1) /* 801794BC 0017641C B0 01 00 0C */ sth r0, 0xc(r1) /* 801794C0 00176420 4B ED 30 E5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801794C4 00176424 7C 64 1B 78 */ mr r4, r3 /* 801794C8 00176428 38 61 00 14 */ addi r3, r1, 0x14 /* 801794CC 0017642C 4B F3 67 C5 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801794D0 00176430 80 83 00 04 */ lwz r4, 4(r3) /* 801794D4 00176434 28 04 00 00 */ cmplwi r4, 0 /* 801794D8 00176438 41 82 01 58 */ beq lbl_80179630 /* 801794DC 0017643C C0 04 00 60 */ lfs f0, 0x60(r4) /* 801794E0 00176440 38 61 00 84 */ addi r3, r1, 0x84 /* 801794E4 00176444 C0 44 00 50 */ lfs f2, 0x50(r4) /* 801794E8 00176448 C0 24 00 40 */ lfs f1, 0x40(r4) /* 801794EC 0017644C EC 60 F8 28 */ fsubs f3, f0, f31 /* 801794F0 00176450 EC 42 F0 28 */ fsubs f2, f2, f30 /* 801794F4 00176454 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 801794F8 00176458 EC 21 E8 28 */ fsubs f1, f1, f29 /* 801794FC 0017645C D0 61 00 80 */ stfs f3, 0x80(r1) /* 80179500 00176460 D0 21 00 84 */ stfs f1, 0x84(r1) /* 80179504 00176464 D0 41 00 88 */ stfs f2, 0x88(r1) /* 80179508 00176468 D0 61 00 8C */ stfs f3, 0x8c(r1) /* 8017950C 0017646C D0 21 00 78 */ stfs f1, 0x78(r1) /* 80179510 00176470 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 80179514 00176474 D0 01 00 80 */ stfs f0, 0x80(r1) /* 80179518 00176478 48 19 B1 E1 */ bl CanBeNormalized__9CVector3fCFv /* 8017951C 0017647C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179520 00176480 41 82 00 0C */ beq lbl_8017952C /* 80179524 00176484 38 61 00 84 */ addi r3, r1, 0x84 /* 80179528 00176488 48 19 B3 D1 */ bl Normalize__9CVector3fFv lbl_8017952C: /* 8017952C 0017648C 38 61 00 78 */ addi r3, r1, 0x78 /* 80179530 00176490 48 19 B1 C9 */ bl CanBeNormalized__9CVector3fCFv /* 80179534 00176494 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179538 00176498 41 82 00 F8 */ beq lbl_80179630 /* 8017953C 0017649C 80 1F 03 B8 */ lwz r0, 0x3b8(r31) /* 80179540 001764A0 2C 00 00 01 */ cmpwi r0, 1 /* 80179544 001764A4 41 82 00 EC */ beq lbl_80179630 /* 80179548 001764A8 C0 02 A2 34 */ lfs f0, lbl_805ABF54@sda21(r2) /* 8017954C 001764AC 38 61 00 28 */ addi r3, r1, 0x28 /* 80179550 001764B0 38 81 00 90 */ addi r4, r1, 0x90 /* 80179554 001764B4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80179558 001764B8 48 19 A8 79 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 8017955C 001764BC 7C 7E 1B 78 */ mr r30, r3 /* 80179560 001764C0 38 61 00 34 */ addi r3, r1, 0x34 /* 80179564 001764C4 38 81 00 78 */ addi r4, r1, 0x78 /* 80179568 001764C8 48 19 B2 E9 */ bl AsNormalized__9CVector3fCFv /* 8017956C 001764CC 38 61 00 40 */ addi r3, r1, 0x40 /* 80179570 001764D0 38 81 00 34 */ addi r4, r1, 0x34 /* 80179574 001764D4 48 19 A8 5D */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80179578 001764D8 7C 64 1B 78 */ mr r4, r3 /* 8017957C 001764DC 7F C5 F3 78 */ mr r5, r30 /* 80179580 001764E0 38 61 00 4C */ addi r3, r1, 0x4c /* 80179584 001764E4 38 C1 00 10 */ addi r6, r1, 0x10 /* 80179588 001764E8 48 19 81 0D */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 8017958C 001764EC C0 61 00 4C */ lfs f3, 0x4c(r1) /* 80179590 001764F0 38 61 00 1C */ addi r3, r1, 0x1c /* 80179594 001764F4 C0 41 00 50 */ lfs f2, 0x50(r1) /* 80179598 001764F8 38 81 00 68 */ addi r4, r1, 0x68 /* 8017959C 001764FC C0 21 00 54 */ lfs f1, 0x54(r1) /* 801795A0 00176500 38 A1 00 84 */ addi r5, r1, 0x84 /* 801795A4 00176504 C0 01 00 58 */ lfs f0, 0x58(r1) /* 801795A8 00176508 D0 61 00 68 */ stfs f3, 0x68(r1) /* 801795AC 0017650C D0 41 00 6C */ stfs f2, 0x6c(r1) /* 801795B0 00176510 D0 21 00 70 */ stfs f1, 0x70(r1) /* 801795B4 00176514 D0 01 00 74 */ stfs f0, 0x74(r1) /* 801795B8 00176518 48 19 7C AD */ bl Transform__11CQuaternionCFRC9CVector3f /* 801795BC 0017651C C0 41 00 1C */ lfs f2, 0x1c(r1) /* 801795C0 00176520 C0 01 00 20 */ lfs f0, 0x20(r1) /* 801795C4 00176524 C0 21 00 24 */ lfs f1, 0x24(r1) /* 801795C8 00176528 D0 41 00 84 */ stfs f2, 0x84(r1) /* 801795CC 0017652C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 801795D0 00176530 D0 01 00 88 */ stfs f0, 0x88(r1) /* 801795D4 00176534 C0 02 A2 38 */ lfs f0, lbl_805ABF58@sda21(r2) /* 801795D8 00176538 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 801795DC 0017653C C0 23 02 A8 */ lfs f1, 0x2a8(r3) /* 801795E0 00176540 C0 5F 03 BC */ lfs f2, 0x3bc(r31) /* 801795E4 00176544 EC 00 00 72 */ fmuls f0, f0, f1 /* 801795E8 00176548 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801795EC 0017654C 4C 41 13 82 */ cror 2, 1, 2 /* 801795F0 00176550 40 82 00 40 */ bne lbl_80179630 /* 801795F4 00176554 C0 02 A2 3C */ lfs f0, lbl_805ABF5C@sda21(r2) /* 801795F8 00176558 EC 00 00 72 */ fmuls f0, f0, f1 /* 801795FC 0017655C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80179600 00176560 40 80 00 30 */ bge lbl_80179630 /* 80179604 00176564 80 9F 04 90 */ lwz r4, 0x490(r31) /* 80179608 00176568 38 61 00 CC */ addi r3, r1, 0xcc /* 8017960C 0017656C 80 84 07 40 */ lwz r4, 0x740(r4) /* 80179610 00176570 38 84 02 20 */ addi r4, r4, 0x220 /* 80179614 00176574 48 19 95 61 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80179618 00176578 C0 41 00 F0 */ lfs f2, 0xf0(r1) /* 8017961C 0017657C C0 21 00 D0 */ lfs f1, 0xd0(r1) /* 80179620 00176580 C0 01 00 E0 */ lfs f0, 0xe0(r1) /* 80179624 00176584 D0 21 00 84 */ stfs f1, 0x84(r1) /* 80179628 00176588 D0 01 00 88 */ stfs f0, 0x88(r1) /* 8017962C 0017658C D0 41 00 8C */ stfs f2, 0x8c(r1) lbl_80179630: /* 80179630 00176590 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 80179634 00176594 3C A0 80 5A */ lis r5, sUpVector__9CVector3f@ha /* 80179638 00176598 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l /* 8017963C 0017659C 38 C5 66 F4 */ addi r6, r5, sUpVector__9CVector3f@l /* 80179640 001765A0 38 61 00 9C */ addi r3, r1, 0x9c /* 80179644 001765A4 38 A1 00 84 */ addi r5, r1, 0x84 /* 80179648 001765A8 48 19 A4 C9 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8017964C 001765AC 38 61 01 2C */ addi r3, r1, 0x12c /* 80179650 001765B0 38 81 00 9C */ addi r4, r1, 0x9c /* 80179654 001765B4 48 19 94 ED */ bl __as__12CTransform4fFRC12CTransform4f /* 80179658 001765B8 D3 A1 01 38 */ stfs f29, 0x138(r1) /* 8017965C 001765BC 38 81 01 2C */ addi r4, r1, 0x12c /* 80179660 001765C0 D3 C1 01 48 */ stfs f30, 0x148(r1) /* 80179664 001765C4 D3 E1 01 58 */ stfs f31, 0x158(r1) /* 80179668 001765C8 80 7F 04 90 */ lwz r3, 0x490(r31) /* 8017966C 001765CC 80 63 07 40 */ lwz r3, 0x740(r3) /* 80179670 001765D0 38 63 02 20 */ addi r3, r3, 0x220 /* 80179674 001765D4 48 19 94 CD */ bl __as__12CTransform4fFRC12CTransform4f lbl_80179678: /* 80179678 001765D8 E3 E1 01 98 */ psq_l f31, 408(r1), 0, qr0 /* 8017967C 001765DC CB E1 01 90 */ lfd f31, 0x190(r1) /* 80179680 001765E0 E3 C1 01 88 */ psq_l f30, 392(r1), 0, qr0 /* 80179684 001765E4 CB C1 01 80 */ lfd f30, 0x180(r1) /* 80179688 001765E8 E3 A1 01 78 */ psq_l f29, 376(r1), 0, qr0 /* 8017968C 001765EC CB A1 01 70 */ lfd f29, 0x170(r1) /* 80179690 001765F0 83 E1 01 6C */ lwz r31, 0x16c(r1) /* 80179694 001765F4 83 C1 01 68 */ lwz r30, 0x168(r1) /* 80179698 001765F8 80 01 01 A4 */ lwz r0, 0x1a4(r1) /* 8017969C 001765FC 83 A1 01 64 */ lwz r29, 0x164(r1) /* 801796A0 00176600 7C 08 03 A6 */ mtlr r0 /* 801796A4 00176604 38 21 01 A0 */ addi r1, r1, 0x1a0 /* 801796A8 00176608 4E 80 00 20 */ blr .global ApplyGrappleForces__7CPlayerFRC11CFinalInputR13CStateManagerf ApplyGrappleForces__7CPlayerFRC11CFinalInputR13CStateManagerf: /* 801796AC 0017660C 94 21 FC 30 */ stwu r1, -0x3d0(r1) /* 801796B0 00176610 7C 08 02 A6 */ mflr r0 /* 801796B4 00176614 90 01 03 D4 */ stw r0, 0x3d4(r1) /* 801796B8 00176618 DB E1 03 C0 */ stfd f31, 0x3c0(r1) /* 801796BC 0017661C F3 E1 03 C8 */ psq_st f31, 968(r1), 0, qr0 /* 801796C0 00176620 DB C1 03 B0 */ stfd f30, 0x3b0(r1) /* 801796C4 00176624 F3 C1 03 B8 */ psq_st f30, 952(r1), 0, qr0 /* 801796C8 00176628 DB A1 03 A0 */ stfd f29, 0x3a0(r1) /* 801796CC 0017662C F3 A1 03 A8 */ psq_st f29, 936(r1), 0, qr0 /* 801796D0 00176630 DB 81 03 90 */ stfd f28, 0x390(r1) /* 801796D4 00176634 F3 81 03 98 */ psq_st f28, 920(r1), 0, qr0 /* 801796D8 00176638 DB 61 03 80 */ stfd f27, 0x380(r1) /* 801796DC 0017663C F3 61 03 88 */ psq_st f27, 904(r1), 0, qr0 /* 801796E0 00176640 DB 41 03 70 */ stfd f26, 0x370(r1) /* 801796E4 00176644 F3 41 03 78 */ psq_st f26, 888(r1), 0, qr0 /* 801796E8 00176648 DB 21 03 60 */ stfd f25, 0x360(r1) /* 801796EC 0017664C F3 21 03 68 */ psq_st f25, 872(r1), 0, qr0 /* 801796F0 00176650 DB 01 03 50 */ stfd f24, 0x350(r1) /* 801796F4 00176654 F3 01 03 58 */ psq_st f24, 856(r1), 0, qr0 /* 801796F8 00176658 DA E1 03 40 */ stfd f23, 0x340(r1) /* 801796FC 0017665C F2 E1 03 48 */ psq_st f23, 840(r1), 0, qr0 /* 80179700 00176660 DA C1 03 30 */ stfd f22, 0x330(r1) /* 80179704 00176664 F2 C1 03 38 */ psq_st f22, 824(r1), 0, qr0 /* 80179708 00176668 DA A1 03 20 */ stfd f21, 0x320(r1) /* 8017970C 0017666C F2 A1 03 28 */ psq_st f21, 808(r1), 0, qr0 /* 80179710 00176670 DA 81 03 10 */ stfd f20, 0x310(r1) /* 80179714 00176674 F2 81 03 18 */ psq_st f20, 792(r1), 0, qr0 /* 80179718 00176678 DA 61 03 00 */ stfd f19, 0x300(r1) /* 8017971C 0017667C F2 61 03 08 */ psq_st f19, 776(r1), 0, qr0 /* 80179720 00176680 DA 41 02 F0 */ stfd f18, 0x2f0(r1) /* 80179724 00176684 F2 41 02 F8 */ psq_st f18, 760(r1), 0, qr0 /* 80179728 00176688 BF 61 02 DC */ stmw r27, 0x2dc(r1) /* 8017972C 0017668C 7C 7D 1B 78 */ mr r29, r3 /* 80179730 00176690 7C BE 2B 78 */ mr r30, r5 /* 80179734 00176694 A0 03 03 10 */ lhz r0, 0x310(r3) /* 80179738 00176698 7C 9B 23 78 */ mr r27, r4 /* 8017973C 0017669C C3 63 00 60 */ lfs f27, 0x60(r3) /* 80179740 001766A0 FF E0 08 90 */ fmr f31, f1 /* 80179744 001766A4 C3 83 00 50 */ lfs f28, 0x50(r3) /* 80179748 001766A8 7F C3 F3 78 */ mr r3, r30 /* 8017974C 001766AC C3 BD 00 40 */ lfs f29, 0x40(r29) /* 80179750 001766B0 38 81 00 0C */ addi r4, r1, 0xc /* 80179754 001766B4 B0 01 00 08 */ sth r0, 8(r1) /* 80179758 001766B8 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017975C 001766BC 4B ED 2E 49 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80179760 001766C0 7C 64 1B 78 */ mr r4, r3 /* 80179764 001766C4 38 61 00 1C */ addi r3, r1, 0x1c /* 80179768 001766C8 4B F3 03 61 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017976C 001766CC 83 E3 00 04 */ lwz r31, 4(r3) /* 80179770 001766D0 28 1F 00 00 */ cmplwi r31, 0 /* 80179774 001766D4 41 82 0B 38 */ beq lbl_8017A2AC /* 80179778 001766D8 80 1D 03 B8 */ lwz r0, 0x3b8(r29) /* 8017977C 001766DC C3 DF 00 60 */ lfs f30, 0x60(r31) /* 80179780 001766E0 2C 00 00 03 */ cmpwi r0, 3 /* 80179784 001766E4 C3 3F 00 50 */ lfs f25, 0x50(r31) /* 80179788 001766E8 C3 5F 00 40 */ lfs f26, 0x40(r31) /* 8017978C 001766EC 41 82 03 B4 */ beq lbl_80179B40 /* 80179790 001766F0 40 80 00 10 */ bge lbl_801797A0 /* 80179794 001766F4 2C 00 00 02 */ cmpwi r0, 2 /* 80179798 001766F8 40 80 00 14 */ bge lbl_801797AC /* 8017979C 001766FC 48 00 0B 10 */ b lbl_8017A2AC lbl_801797A0: /* 801797A0 00176700 2C 00 00 05 */ cmpwi r0, 5 /* 801797A4 00176704 40 80 0B 08 */ bge lbl_8017A2AC /* 801797A8 00176708 48 00 0A D0 */ b lbl_8017A278 lbl_801797AC: /* 801797AC 0017670C 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 801797B0 00176710 38 61 02 00 */ addi r3, r1, 0x200 /* 801797B4 00176714 C0 82 A2 30 */ lfs f4, lbl_805ABF50@sda21(r2) /* 801797B8 00176718 C0 04 02 A4 */ lfs f0, 0x2a4(r4) /* 801797BC 0017671C C0 5D 00 50 */ lfs f2, 0x50(r29) /* 801797C0 00176720 EE 9A 20 2A */ fadds f20, f26, f4 /* 801797C4 00176724 C0 3D 00 60 */ lfs f1, 0x60(r29) /* 801797C8 00176728 FC 60 00 50 */ fneg f3, f0 /* 801797CC 0017672C C0 1D 00 40 */ lfs f0, 0x40(r29) /* 801797D0 00176730 EC 59 10 28 */ fsubs f2, f25, f2 /* 801797D4 00176734 EC 3E 08 28 */ fsubs f1, f30, f1 /* 801797D8 00176738 EC 1A 00 28 */ fsubs f0, f26, f0 /* 801797DC 0017673C EE 79 20 2A */ fadds f19, f25, f4 /* 801797E0 00176740 D0 41 02 04 */ stfs f2, 0x204(r1) /* 801797E4 00176744 EE 5E 18 2A */ fadds f18, f30, f3 /* 801797E8 00176748 D0 01 02 00 */ stfs f0, 0x200(r1) /* 801797EC 0017674C D0 21 02 08 */ stfs f1, 0x208(r1) /* 801797F0 00176750 48 19 AF 09 */ bl CanBeNormalized__9CVector3fCFv /* 801797F4 00176754 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801797F8 00176758 41 82 0A B4 */ beq lbl_8017A2AC /* 801797FC 0017675C EC 54 E8 28 */ fsubs f2, f20, f29 /* 80179800 00176760 38 61 01 F4 */ addi r3, r1, 0x1f4 /* 80179804 00176764 EC 33 E0 28 */ fsubs f1, f19, f28 /* 80179808 00176768 EC 12 D8 28 */ fsubs f0, f18, f27 /* 8017980C 0017676C D0 41 01 F4 */ stfs f2, 0x1f4(r1) /* 80179810 00176770 D0 21 01 F8 */ stfs f1, 0x1f8(r1) /* 80179814 00176774 D0 01 01 FC */ stfs f0, 0x1fc(r1) /* 80179818 00176778 48 19 AE E1 */ bl CanBeNormalized__9CVector3fCFv /* 8017981C 0017677C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179820 00176780 41 82 02 F8 */ beq lbl_80179B18 /* 80179824 00176784 38 61 01 F4 */ addi r3, r1, 0x1f4 /* 80179828 00176788 48 19 B0 91 */ bl Magnitude__9CVector3fCFv /* 8017982C 0017678C FE 40 08 90 */ fmr f18, f1 /* 80179830 00176790 38 61 01 F4 */ addi r3, r1, 0x1f4 /* 80179834 00176794 48 19 B0 C5 */ bl Normalize__9CVector3fFv /* 80179838 00176798 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017983C 0017679C C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 80179840 001767A0 C0 23 02 B8 */ lfs f1, 0x2b8(r3) /* 80179844 001767A4 EC 92 08 24 */ fdivs f4, f18, f1 /* 80179848 001767A8 FC 20 22 10 */ fabs f1, f4 /* 8017984C 001767AC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179850 001767B0 40 81 00 14 */ ble lbl_80179864 /* 80179854 001767B4 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179858 001767B8 C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 8017985C 001767BC FC 04 00 6E */ fsel f0, f4, f1, f0 /* 80179860 001767C0 EC 81 00 32 */ fmuls f4, f1, f0 lbl_80179864: /* 80179864 001767C4 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 80179868 001767C8 7F A3 EB 78 */ mr r3, r29 /* 8017986C 001767CC C0 41 01 F8 */ lfs f2, 0x1f8(r1) /* 80179870 001767D0 38 81 01 E8 */ addi r4, r1, 0x1e8 /* 80179874 001767D4 C0 A5 02 AC */ lfs f5, 0x2ac(r5) /* 80179878 001767D8 C0 05 02 BC */ lfs f0, 0x2bc(r5) /* 8017987C 001767DC C0 21 01 FC */ lfs f1, 0x1fc(r1) /* 80179880 001767E0 EC 60 28 28 */ fsubs f3, f0, f5 /* 80179884 001767E4 C0 01 01 F4 */ lfs f0, 0x1f4(r1) /* 80179888 001767E8 EC 64 28 FA */ fmadds f3, f4, f3, f5 /* 8017988C 001767EC EC 43 00 B2 */ fmuls f2, f3, f2 /* 80179890 001767F0 EC 23 00 72 */ fmuls f1, f3, f1 /* 80179894 001767F4 EC 03 00 32 */ fmuls f0, f3, f0 /* 80179898 001767F8 D0 41 01 EC */ stfs f2, 0x1ec(r1) /* 8017989C 001767FC D0 01 01 E8 */ stfs f0, 0x1e8(r1) /* 801798A0 00176800 D0 21 01 F0 */ stfs f1, 0x1f0(r1) /* 801798A4 00176804 4B FA 13 FD */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 801798A8 00176808 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 801798AC 0017680C C0 03 02 B4 */ lfs f0, 0x2b4(r3) /* 801798B0 00176810 FC 12 00 40 */ fcmpo cr0, f18, f0 /* 801798B4 00176814 40 80 00 3C */ bge lbl_801798F0 /* 801798B8 00176818 38 00 00 03 */ li r0, 3 /* 801798BC 0017681C C0 42 A2 38 */ lfs f2, lbl_805ABF58@sda21(r2) /* 801798C0 00176820 90 1D 03 B8 */ stw r0, 0x3b8(r29) /* 801798C4 00176824 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 801798C8 00176828 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 801798CC 0017682C C0 23 02 A8 */ lfs f1, 0x2a8(r3) /* 801798D0 00176830 EC 22 00 72 */ fmuls f1, f2, f1 /* 801798D4 00176834 D0 3D 03 BC */ stfs f1, 0x3bc(r29) /* 801798D8 00176838 D0 1D 03 D8 */ stfs f0, 0x3d8(r29) /* 801798DC 0017683C 88 7F 01 2C */ lbz r3, 0x12c(r31) /* 801798E0 00176840 88 1D 09 C6 */ lbz r0, 0x9c6(r29) /* 801798E4 00176844 50 60 E7 38 */ rlwimi r0, r3, 0x1c, 0x1c, 0x1c /* 801798E8 00176848 98 1D 09 C6 */ stb r0, 0x9c6(r29) /* 801798EC 0017684C 48 00 09 C0 */ b lbl_8017A2AC lbl_801798F0: /* 801798F0 00176850 FC 20 F8 90 */ fmr f1, f31 /* 801798F4 00176854 7F A4 EB 78 */ mr r4, r29 /* 801798F8 00176858 38 61 02 70 */ addi r3, r1, 0x270 /* 801798FC 0017685C 4B FA 23 B5 */ bl PredictMotion__13CPhysicsActorCFf /* 80179900 00176860 C0 5D 00 58 */ lfs f2, 0x58(r29) /* 80179904 00176864 38 61 01 DC */ addi r3, r1, 0x1dc /* 80179908 00176868 C0 3D 00 48 */ lfs f1, 0x48(r29) /* 8017990C 0017686C C0 1D 00 38 */ lfs f0, 0x38(r29) /* 80179910 00176870 C0 A1 02 74 */ lfs f5, 0x274(r1) /* 80179914 00176874 D0 01 01 DC */ stfs f0, 0x1dc(r1) /* 80179918 00176878 C0 C1 02 78 */ lfs f6, 0x278(r1) /* 8017991C 0017687C D0 21 01 E0 */ stfs f1, 0x1e0(r1) /* 80179920 00176880 C0 21 02 70 */ lfs f1, 0x270(r1) /* 80179924 00176884 D0 41 01 E4 */ stfs f2, 0x1e4(r1) /* 80179928 00176888 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017992C 0017688C C0 9D 00 50 */ lfs f4, 0x50(r29) /* 80179930 00176890 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 80179934 00176894 C0 5D 00 40 */ lfs f2, 0x40(r29) /* 80179938 00176898 EC 84 28 2A */ fadds f4, f4, f5 /* 8017993C 0017689C EC 63 30 2A */ fadds f3, f3, f6 /* 80179940 001768A0 EC 22 08 2A */ fadds f1, f2, f1 /* 80179944 001768A4 D0 01 01 E4 */ stfs f0, 0x1e4(r1) /* 80179948 001768A8 EC 99 20 28 */ fsubs f4, f25, f4 /* 8017994C 001768AC EC 5E 18 28 */ fsubs f2, f30, f3 /* 80179950 001768B0 EC 1A 08 28 */ fsubs f0, f26, f1 /* 80179954 001768B4 D0 81 01 D4 */ stfs f4, 0x1d4(r1) /* 80179958 001768B8 D0 01 01 D0 */ stfs f0, 0x1d0(r1) /* 8017995C 001768BC D0 41 01 D8 */ stfs f2, 0x1d8(r1) /* 80179960 001768C0 48 19 AD 99 */ bl CanBeNormalized__9CVector3fCFv /* 80179964 001768C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179968 001768C8 41 82 00 0C */ beq lbl_80179974 /* 8017996C 001768CC 38 61 01 DC */ addi r3, r1, 0x1dc /* 80179970 001768D0 48 19 AF 89 */ bl Normalize__9CVector3fFv lbl_80179974: /* 80179974 001768D4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 80179978 001768D8 38 61 01 D0 */ addi r3, r1, 0x1d0 /* 8017997C 001768DC D0 01 01 D8 */ stfs f0, 0x1d8(r1) /* 80179980 001768E0 48 19 AD 79 */ bl CanBeNormalized__9CVector3fCFv /* 80179984 001768E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179988 001768E8 41 82 09 24 */ beq lbl_8017A2AC /* 8017998C 001768EC 38 61 01 D0 */ addi r3, r1, 0x1d0 /* 80179990 001768F0 48 19 AF 69 */ bl Normalize__9CVector3fFv /* 80179994 001768F4 C0 21 01 E0 */ lfs f1, 0x1e0(r1) /* 80179998 001768F8 C0 01 01 D4 */ lfs f0, 0x1d4(r1) /* 8017999C 001768FC C0 41 01 DC */ lfs f2, 0x1dc(r1) /* 801799A0 00176900 EC 01 00 32 */ fmuls f0, f1, f0 /* 801799A4 00176904 C0 21 01 D0 */ lfs f1, 0x1d0(r1) /* 801799A8 00176908 C0 81 01 E4 */ lfs f4, 0x1e4(r1) /* 801799AC 0017690C C0 61 01 D8 */ lfs f3, 0x1d8(r1) /* 801799B0 00176910 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 801799B4 00176914 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 801799B8 00176918 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 801799BC 0017691C FC 40 0A 10 */ fabs f2, f1 /* 801799C0 00176920 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801799C4 00176924 40 81 00 14 */ ble lbl_801799D8 /* 801799C8 00176928 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 801799CC 0017692C C0 42 A2 4C */ lfs f2, lbl_805ABF6C@sda21(r2) /* 801799D0 00176930 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 801799D4 00176934 EC 22 00 32 */ fmuls f1, f2, f0 lbl_801799D8: /* 801799D8 00176938 48 21 B2 55 */ bl acos /* 801799DC 0017693C C8 42 A2 50 */ lfd f2, lbl_805ABF70@sda21(r2) /* 801799E0 00176940 FC 01 10 40 */ fcmpo cr0, f1, f2 /* 801799E4 00176944 40 81 01 04 */ ble lbl_80179AE8 /* 801799E8 00176948 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 801799EC 0017694C C0 03 02 C0 */ lfs f0, 0x2c0(r3) /* 801799F0 00176950 EE 9F 00 32 */ fmuls f20, f31, f0 /* 801799F4 00176954 FC 01 A0 40 */ fcmpo cr0, f1, f20 /* 801799F8 00176958 4C 41 13 82 */ cror 2, 1, 2 /* 801799FC 0017695C 40 82 00 B4 */ bne lbl_80179AB0 /* 80179A00 00176960 C0 01 01 DC */ lfs f0, 0x1dc(r1) /* 80179A04 00176964 38 61 01 C4 */ addi r3, r1, 0x1c4 /* 80179A08 00176968 C0 21 01 E0 */ lfs f1, 0x1e0(r1) /* 80179A0C 0017696C FC 40 00 50 */ fneg f2, f0 /* 80179A10 00176970 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 80179A14 00176974 D0 21 01 C4 */ stfs f1, 0x1c4(r1) /* 80179A18 00176978 D0 41 01 C8 */ stfs f2, 0x1c8(r1) /* 80179A1C 0017697C D0 01 01 CC */ stfs f0, 0x1cc(r1) /* 80179A20 00176980 48 19 AC D9 */ bl CanBeNormalized__9CVector3fCFv /* 80179A24 00176984 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179A28 00176988 41 82 00 0C */ beq lbl_80179A34 /* 80179A2C 0017698C 38 61 01 C4 */ addi r3, r1, 0x1c4 /* 80179A30 00176990 48 19 AE C9 */ bl Normalize__9CVector3fFv lbl_80179A34: /* 80179A34 00176994 C0 21 01 D4 */ lfs f1, 0x1d4(r1) /* 80179A38 00176998 C0 01 01 C8 */ lfs f0, 0x1c8(r1) /* 80179A3C 0017699C C0 41 01 D0 */ lfs f2, 0x1d0(r1) /* 80179A40 001769A0 EC 01 00 32 */ fmuls f0, f1, f0 /* 80179A44 001769A4 C0 21 01 C4 */ lfs f1, 0x1c4(r1) /* 80179A48 001769A8 C0 81 01 D8 */ lfs f4, 0x1d8(r1) /* 80179A4C 001769AC C0 61 01 CC */ lfs f3, 0x1cc(r1) /* 80179A50 001769B0 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80179A54 001769B4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 80179A58 001769B8 EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 80179A5C 001769BC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179A60 001769C0 4C 41 13 82 */ cror 2, 1, 2 /* 80179A64 001769C4 40 82 00 08 */ bne lbl_80179A6C /* 80179A68 001769C8 FE 80 A0 50 */ fneg f20, f20 lbl_80179A6C: /* 80179A6C 001769CC C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 80179A70 001769D0 38 61 01 38 */ addi r3, r1, 0x138 /* 80179A74 001769D4 C0 02 A2 4C */ lfs f0, lbl_805ABF6C@sda21(r2) /* 80179A78 001769D8 D2 81 00 18 */ stfs f20, 0x18(r1) /* 80179A7C 001769DC D0 21 01 38 */ stfs f1, 0x138(r1) /* 80179A80 001769E0 D0 21 01 3C */ stfs f1, 0x13c(r1) /* 80179A84 001769E4 D0 01 01 40 */ stfs f0, 0x140(r1) /* 80179A88 001769E8 48 19 AE 71 */ bl Normalize__9CVector3fFv /* 80179A8C 001769EC 38 61 01 44 */ addi r3, r1, 0x144 /* 80179A90 001769F0 38 81 01 38 */ addi r4, r1, 0x138 /* 80179A94 001769F4 38 A1 00 18 */ addi r5, r1, 0x18 /* 80179A98 001769F8 48 19 78 5D */ bl AxisAngle__11CQuaternionFRC13CUnitVector3fRC9CRelAngle /* 80179A9C 001769FC FC 20 F8 90 */ fmr f1, f31 /* 80179AA0 00176A00 7F A3 EB 78 */ mr r3, r29 /* 80179AA4 00176A04 38 81 01 44 */ addi r4, r1, 0x144 /* 80179AA8 00176A08 4B FA 13 6D */ bl RotateToOR__13CPhysicsActorFRC11CQuaternionf /* 80179AAC 00176A0C 48 00 08 00 */ b lbl_8017A2AC lbl_80179AB0: /* 80179AB0 00176A10 C8 02 A2 58 */ lfd f0, lbl_805ABF78@sda21(r2) /* 80179AB4 00176A14 FC 01 00 28 */ fsub f0, f1, f0 /* 80179AB8 00176A18 FC 00 02 10 */ fabs f0, f0 /* 80179ABC 00176A1C FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80179AC0 00176A20 40 81 07 EC */ ble lbl_8017A2AC /* 80179AC4 00176A24 38 61 01 28 */ addi r3, r1, 0x128 /* 80179AC8 00176A28 38 81 01 DC */ addi r4, r1, 0x1dc /* 80179ACC 00176A2C 38 A1 01 D0 */ addi r5, r1, 0x1d0 /* 80179AD0 00176A30 48 19 7F E9 */ bl ShortestRotationArc__11CQuaternionFRC9CVector3fRC9CVector3f /* 80179AD4 00176A34 FC 20 F8 90 */ fmr f1, f31 /* 80179AD8 00176A38 7F A3 EB 78 */ mr r3, r29 /* 80179ADC 00176A3C 38 81 01 28 */ addi r4, r1, 0x128 /* 80179AE0 00176A40 4B FA 13 35 */ bl RotateToOR__13CPhysicsActorFRC11CQuaternionf /* 80179AE4 00176A44 48 00 07 C8 */ b lbl_8017A2AC lbl_80179AE8: /* 80179AE8 00176A48 4B EA 1A 4D */ bl Identity__10CAxisAngleFv /* 80179AEC 00176A4C 7C 64 1B 78 */ mr r4, r3 /* 80179AF0 00176A50 7F A3 EB 78 */ mr r3, r29 /* 80179AF4 00176A54 4B FA 11 09 */ bl SetAngularVelocityWR__13CPhysicsActorFRC10CAxisAngle /* 80179AF8 00176A58 4B EA 1A 3D */ bl Identity__10CAxisAngleFv /* 80179AFC 00176A5C 80 83 00 00 */ lwz r4, 0(r3) /* 80179B00 00176A60 80 03 00 04 */ lwz r0, 4(r3) /* 80179B04 00176A64 90 9D 01 74 */ stw r4, 0x174(r29) /* 80179B08 00176A68 90 1D 01 78 */ stw r0, 0x178(r29) /* 80179B0C 00176A6C 80 03 00 08 */ lwz r0, 8(r3) /* 80179B10 00176A70 90 1D 01 7C */ stw r0, 0x17c(r29) /* 80179B14 00176A74 48 00 07 98 */ b lbl_8017A2AC lbl_80179B18: /* 80179B18 00176A78 38 00 00 03 */ li r0, 3 /* 80179B1C 00176A7C C0 42 A2 38 */ lfs f2, lbl_805ABF58@sda21(r2) /* 80179B20 00176A80 90 1D 03 B8 */ stw r0, 0x3b8(r29) /* 80179B24 00176A84 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 80179B28 00176A88 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80179B2C 00176A8C C0 23 02 A8 */ lfs f1, 0x2a8(r3) /* 80179B30 00176A90 EC 22 00 72 */ fmuls f1, f2, f1 /* 80179B34 00176A94 D0 3D 03 BC */ stfs f1, 0x3bc(r29) /* 80179B38 00176A98 D0 1D 03 D8 */ stfs f0, 0x3d8(r29) /* 80179B3C 00176A9C 48 00 07 70 */ b lbl_8017A2AC lbl_80179B40: /* 80179B40 00176AA0 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80179B44 00176AA4 C0 02 A2 60 */ lfs f0, lbl_805ABF80@sda21(r2) /* 80179B48 00176AA8 C0 23 02 C4 */ lfs f1, 0x2c4(r3) /* 80179B4C 00176AAC 88 03 02 D5 */ lbz r0, 0x2d5(r3) /* 80179B50 00176AB0 EE 60 00 72 */ fmuls f19, f0, f1 /* 80179B54 00176AB4 28 00 00 00 */ cmplwi r0, 0 /* 80179B58 00176AB8 41 82 00 0C */ beq lbl_80179B64 /* 80179B5C 00176ABC C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179B60 00176AC0 EE 73 00 32 */ fmuls f19, f19, f0 lbl_80179B64: /* 80179B64 00176AC4 EE BD D0 28 */ fsubs f21, f29, f26 /* 80179B68 00176AC8 38 61 01 B8 */ addi r3, r1, 0x1b8 /* 80179B6C 00176ACC EE 9C C8 28 */ fsubs f20, f28, f25 /* 80179B70 00176AD0 EE 5B F0 28 */ fsubs f18, f27, f30 /* 80179B74 00176AD4 D2 A1 01 B8 */ stfs f21, 0x1b8(r1) /* 80179B78 00176AD8 D2 81 01 BC */ stfs f20, 0x1bc(r1) /* 80179B7C 00176ADC D2 41 01 C0 */ stfs f18, 0x1c0(r1) /* 80179B80 00176AE0 48 19 AD 39 */ bl Magnitude__9CVector3fCFv /* 80179B84 00176AE4 EC 32 08 24 */ fdivs f1, f18, f1 /* 80179B88 00176AE8 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 80179B8C 00176AEC FC 20 0A 10 */ fabs f1, f1 /* 80179B90 00176AF0 FF C0 08 18 */ frsp f30, f1 /* 80179B94 00176AF4 FC 20 F2 10 */ fabs f1, f30 /* 80179B98 00176AF8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179B9C 00176AFC 40 81 00 14 */ ble lbl_80179BB0 /* 80179BA0 00176B00 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179BA4 00176B04 C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 80179BA8 00176B08 FC 1E 00 6E */ fsel f0, f30, f1, f0 /* 80179BAC 00176B0C EF C1 00 32 */ fmuls f30, f1, f0 lbl_80179BB0: /* 80179BB0 00176B10 88 1F 01 2C */ lbz r0, 0x12c(r31) /* 80179BB4 00176B14 3B 80 00 00 */ li r28, 0 /* 80179BB8 00176B18 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80179BBC 00176B1C 40 82 00 64 */ bne lbl_80179C20 /* 80179BC0 00176B20 7F 64 DB 78 */ mr r4, r27 /* 80179BC4 00176B24 38 60 00 02 */ li r3, 2 /* 80179BC8 00176B28 4B E9 2D 51 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80179BCC 00176B2C C0 02 A2 64 */ lfs f0, lbl_805ABF84@sda21(r2) /* 80179BD0 00176B30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179BD4 00176B34 40 81 00 1C */ ble lbl_80179BF0 /* 80179BD8 00176B38 7F 64 DB 78 */ mr r4, r27 /* 80179BDC 00176B3C 3B 80 00 01 */ li r28, 1 /* 80179BE0 00176B40 38 60 00 02 */ li r3, 2 /* 80179BE4 00176B44 4B E9 2D 35 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80179BE8 00176B48 FC 00 08 50 */ fneg f0, f1 /* 80179BEC 00176B4C EE 73 00 32 */ fmuls f19, f19, f0 lbl_80179BF0: /* 80179BF0 00176B50 7F 64 DB 78 */ mr r4, r27 /* 80179BF4 00176B54 38 60 00 03 */ li r3, 3 /* 80179BF8 00176B58 4B E9 2D 21 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80179BFC 00176B5C C0 02 A2 64 */ lfs f0, lbl_805ABF84@sda21(r2) /* 80179C00 00176B60 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179C04 00176B64 40 81 00 2C */ ble lbl_80179C30 /* 80179C08 00176B68 7F 64 DB 78 */ mr r4, r27 /* 80179C0C 00176B6C 3B 80 00 01 */ li r28, 1 /* 80179C10 00176B70 38 60 00 03 */ li r3, 3 /* 80179C14 00176B74 4B E9 2D 05 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80179C18 00176B78 EE 73 00 72 */ fmuls f19, f19, f1 /* 80179C1C 00176B7C 48 00 00 14 */ b lbl_80179C30 lbl_80179C20: /* 80179C20 00176B80 88 1D 09 C6 */ lbz r0, 0x9c6(r29) /* 80179C24 00176B84 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80179C28 00176B88 41 82 00 08 */ beq lbl_80179C30 /* 80179C2C 00176B8C 3B 80 00 01 */ li r28, 1 lbl_80179C30: /* 80179C30 00176B90 C0 1D 03 BC */ lfs f0, 0x3bc(r29) /* 80179C34 00176B94 EC 00 F8 2A */ fadds f0, f0, f31 /* 80179C38 00176B98 D0 1D 03 BC */ stfs f0, 0x3bc(r29) /* 80179C3C 00176B9C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80179C40 00176BA0 C0 1D 03 BC */ lfs f0, 0x3bc(r29) /* 80179C44 00176BA4 C0 23 02 A8 */ lfs f1, 0x2a8(r3) /* 80179C48 00176BA8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80179C4C 00176BAC 40 81 00 0C */ ble lbl_80179C58 /* 80179C50 00176BB0 EC 00 08 28 */ fsubs f0, f0, f1 /* 80179C54 00176BB4 D0 1D 03 BC */ stfs f0, 0x3bc(r29) lbl_80179C58: /* 80179C58 00176BB8 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80179C5C 00176BBC C0 02 A2 68 */ lfs f0, lbl_805ABF88@sda21(r2) /* 80179C60 00176BC0 C0 23 02 A8 */ lfs f1, 0x2a8(r3) /* 80179C64 00176BC4 C0 5D 03 BC */ lfs f2, 0x3bc(r29) /* 80179C68 00176BC8 EC 00 00 72 */ fmuls f0, f0, f1 /* 80179C6C 00176BCC C3 1D 03 C0 */ lfs f24, 0x3c0(r29) /* 80179C70 00176BD0 C2 FD 03 C4 */ lfs f23, 0x3c4(r29) /* 80179C74 00176BD4 C2 DD 03 C8 */ lfs f22, 0x3c8(r29) /* 80179C78 00176BD8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80179C7C 00176BDC 40 80 00 14 */ bge lbl_80179C90 /* 80179C80 00176BE0 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179C84 00176BE4 EF 18 00 32 */ fmuls f24, f24, f0 /* 80179C88 00176BE8 EE F7 00 32 */ fmuls f23, f23, f0 /* 80179C8C 00176BEC EE D6 00 32 */ fmuls f22, f22, f0 lbl_80179C90: /* 80179C90 00176BF0 EC 22 08 24 */ fdivs f1, f2, f1 /* 80179C94 00176BF4 C0 42 A2 34 */ lfs f2, lbl_805ABF54@sda21(r2) /* 80179C98 00176BF8 C0 02 A2 6C */ lfs f0, lbl_805ABF8C@sda21(r2) /* 80179C9C 00176BFC EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80179CA0 00176C00 48 21 A7 51 */ bl cos /* 80179CA4 00176C04 FC 40 08 18 */ frsp f2, f1 /* 80179CA8 00176C08 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 80179CAC 00176C0C FC 20 12 10 */ fabs f1, f2 /* 80179CB0 00176C10 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179CB4 00176C14 40 81 00 14 */ ble lbl_80179CC8 /* 80179CB8 00176C18 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179CBC 00176C1C C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 80179CC0 00176C20 FC 02 00 6E */ fsel f0, f2, f1, f0 /* 80179CC4 00176C24 EC 41 00 32 */ fmuls f2, f1, f0 lbl_80179CC8: /* 80179CC8 00176C28 FC 20 12 10 */ fabs f1, f2 /* 80179CCC 00176C2C 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 80179CD0 00176C30 38 61 01 1C */ addi r3, r1, 0x11c /* 80179CD4 00176C34 38 81 01 B8 */ addi r4, r1, 0x1b8 /* 80179CD8 00176C38 C0 05 02 AC */ lfs f0, 0x2ac(r5) /* 80179CDC 00176C3C FC 20 08 18 */ frsp f1, f1 /* 80179CE0 00176C40 EE 41 00 32 */ fmuls f18, f1, f0 /* 80179CE4 00176C44 48 19 AB 6D */ bl AsNormalized__9CVector3fCFv /* 80179CE8 00176C48 C0 81 01 20 */ lfs f4, 0x120(r1) /* 80179CEC 00176C4C 38 61 01 B8 */ addi r3, r1, 0x1b8 /* 80179CF0 00176C50 C0 A1 01 24 */ lfs f5, 0x124(r1) /* 80179CF4 00176C54 C0 61 01 1C */ lfs f3, 0x11c(r1) /* 80179CF8 00176C58 EC 58 01 32 */ fmuls f2, f24, f4 /* 80179CFC 00176C5C EC 37 01 72 */ fmuls f1, f23, f5 /* 80179D00 00176C60 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 80179D04 00176C64 EC 16 00 F2 */ fmuls f0, f22, f3 /* 80179D08 00176C68 EC 63 15 F8 */ fmsubs f3, f3, f23, f2 /* 80179D0C 00176C6C EC 44 0D B8 */ fmsubs f2, f4, f22, f1 /* 80179D10 00176C70 EC 25 06 38 */ fmsubs f1, f5, f24, f0 /* 80179D14 00176C74 EC 12 00 F2 */ fmuls f0, f18, f3 /* 80179D18 00176C78 EC 52 00 B2 */ fmuls f2, f18, f2 /* 80179D1C 00176C7C EC 32 00 72 */ fmuls f1, f18, f1 /* 80179D20 00176C80 D0 01 01 B4 */ stfs f0, 0x1b4(r1) /* 80179D24 00176C84 D0 41 01 AC */ stfs f2, 0x1ac(r1) /* 80179D28 00176C88 D0 21 01 B0 */ stfs f1, 0x1b0(r1) /* 80179D2C 00176C8C C2 44 02 A4 */ lfs f18, 0x2a4(r4) /* 80179D30 00176C90 48 19 AB 89 */ bl Magnitude__9CVector3fCFv /* 80179D34 00176C94 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80179D38 00176C98 EC 41 90 28 */ fsubs f2, f1, f18 /* 80179D3C 00176C9C C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 80179D40 00176CA0 C0 23 02 A4 */ lfs f1, 0x2a4(r3) /* 80179D44 00176CA4 EC 62 08 24 */ fdivs f3, f2, f1 /* 80179D48 00176CA8 FC 20 1A 10 */ fabs f1, f3 /* 80179D4C 00176CAC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179D50 00176CB0 40 81 00 14 */ ble lbl_80179D64 /* 80179D54 00176CB4 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179D58 00176CB8 C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 80179D5C 00176CBC FC 03 00 6E */ fsel f0, f3, f1, f0 /* 80179D60 00176CC0 EC 61 00 32 */ fmuls f3, f1, f0 lbl_80179D64: /* 80179D64 00176CC4 C0 41 01 BC */ lfs f2, 0x1bc(r1) /* 80179D68 00176CC8 7F A3 EB 78 */ mr r3, r29 /* 80179D6C 00176CCC C0 21 01 C0 */ lfs f1, 0x1c0(r1) /* 80179D70 00176CD0 38 81 01 AC */ addi r4, r1, 0x1ac /* 80179D74 00176CD4 C0 01 01 B8 */ lfs f0, 0x1b8(r1) /* 80179D78 00176CD8 EC 43 00 B2 */ fmuls f2, f3, f2 /* 80179D7C 00176CDC C0 C2 A2 70 */ lfs f6, lbl_805ABF90@sda21(r2) /* 80179D80 00176CE0 EC 23 00 72 */ fmuls f1, f3, f1 /* 80179D84 00176CE4 EC 03 00 32 */ fmuls f0, f3, f0 /* 80179D88 00176CE8 C0 61 01 AC */ lfs f3, 0x1ac(r1) /* 80179D8C 00176CEC EC A6 00 B2 */ fmuls f5, f6, f2 /* 80179D90 00176CF0 EC 86 00 72 */ fmuls f4, f6, f1 /* 80179D94 00176CF4 C0 21 01 B0 */ lfs f1, 0x1b0(r1) /* 80179D98 00176CF8 EC 46 00 32 */ fmuls f2, f6, f0 /* 80179D9C 00176CFC EC BE 01 72 */ fmuls f5, f30, f5 /* 80179DA0 00176D00 C0 01 01 B4 */ lfs f0, 0x1b4(r1) /* 80179DA4 00176D04 EC 9E 01 32 */ fmuls f4, f30, f4 /* 80179DA8 00176D08 EC 5E 00 B2 */ fmuls f2, f30, f2 /* 80179DAC 00176D0C EC 21 28 2A */ fadds f1, f1, f5 /* 80179DB0 00176D10 EC 00 20 2A */ fadds f0, f0, f4 /* 80179DB4 00176D14 EC 43 10 2A */ fadds f2, f3, f2 /* 80179DB8 00176D18 D0 21 01 B0 */ stfs f1, 0x1b0(r1) /* 80179DBC 00176D1C D0 41 01 AC */ stfs f2, 0x1ac(r1) /* 80179DC0 00176D20 D0 01 01 B4 */ stfs f0, 0x1b4(r1) /* 80179DC4 00176D24 C0 1D 01 38 */ lfs f0, 0x138(r29) /* 80179DC8 00176D28 D0 01 01 A0 */ stfs f0, 0x1a0(r1) /* 80179DCC 00176D2C C0 1D 01 3C */ lfs f0, 0x13c(r29) /* 80179DD0 00176D30 D0 01 01 A4 */ stfs f0, 0x1a4(r1) /* 80179DD4 00176D34 C0 1D 01 40 */ lfs f0, 0x140(r29) /* 80179DD8 00176D38 D0 01 01 A8 */ stfs f0, 0x1a8(r1) /* 80179DDC 00176D3C 4B FA 0E C5 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 80179DE0 00176D40 38 61 02 A4 */ addi r3, r1, 0x2a4 /* 80179DE4 00176D44 38 9D 00 34 */ addi r4, r29, 0x34 /* 80179DE8 00176D48 48 19 8D 8D */ bl __ct__12CTransform4fFRC12CTransform4f /* 80179DEC 00176D4C FC 20 F8 90 */ fmr f1, f31 /* 80179DF0 00176D50 7F A4 EB 78 */ mr r4, r29 /* 80179DF4 00176D54 38 61 02 3C */ addi r3, r1, 0x23c /* 80179DF8 00176D58 4B FA 1E B9 */ bl PredictMotion__13CPhysicsActorCFf /* 80179DFC 00176D5C C0 3D 00 40 */ lfs f1, 0x40(r29) /* 80179E00 00176D60 7F A3 EB 78 */ mr r3, r29 /* 80179E04 00176D64 C0 01 02 3C */ lfs f0, 0x23c(r1) /* 80179E08 00176D68 7F C5 F3 78 */ mr r5, r30 /* 80179E0C 00176D6C C0 7D 00 50 */ lfs f3, 0x50(r29) /* 80179E10 00176D70 38 81 01 10 */ addi r4, r1, 0x110 /* 80179E14 00176D74 C0 41 02 40 */ lfs f2, 0x240(r1) /* 80179E18 00176D78 EC 81 00 2A */ fadds f4, f1, f0 /* 80179E1C 00176D7C C0 3D 00 60 */ lfs f1, 0x60(r29) /* 80179E20 00176D80 C0 01 02 44 */ lfs f0, 0x244(r1) /* 80179E24 00176D84 EC 43 10 2A */ fadds f2, f3, f2 /* 80179E28 00176D88 D0 81 01 04 */ stfs f4, 0x104(r1) /* 80179E2C 00176D8C EC 01 00 2A */ fadds f0, f1, f0 /* 80179E30 00176D90 D0 41 01 08 */ stfs f2, 0x108(r1) /* 80179E34 00176D94 80 E1 01 04 */ lwz r7, 0x104(r1) /* 80179E38 00176D98 D0 01 01 0C */ stfs f0, 0x10c(r1) /* 80179E3C 00176D9C 80 C1 01 08 */ lwz r6, 0x108(r1) /* 80179E40 00176DA0 80 01 01 0C */ lwz r0, 0x10c(r1) /* 80179E44 00176DA4 90 E1 01 10 */ stw r7, 0x110(r1) /* 80179E48 00176DA8 90 C1 01 14 */ stw r6, 0x114(r1) /* 80179E4C 00176DAC 90 01 01 18 */ stw r0, 0x118(r1) /* 80179E50 00176DB0 48 00 05 29 */ bl ValidateFPPosition__7CPlayerF9CVector3fR13CStateManager /* 80179E54 00176DB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80179E58 00176DB8 41 82 04 0C */ beq lbl_8017A264 /* 80179E5C 00176DBC 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 80179E60 00176DC0 41 82 04 4C */ beq lbl_8017A2AC /* 80179E64 00176DC4 EC 13 07 F2 */ fmuls f0, f19, f31 /* 80179E68 00176DC8 38 61 00 F4 */ addi r3, r1, 0xf4 /* 80179E6C 00176DCC 38 81 00 14 */ addi r4, r1, 0x14 /* 80179E70 00176DD0 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80179E74 00176DD4 48 19 72 85 */ bl ZRotation__11CQuaternionFRC9CRelAngle /* 80179E78 00176DD8 C0 61 00 F4 */ lfs f3, 0xf4(r1) /* 80179E7C 00176DDC C0 41 00 F8 */ lfs f2, 0xf8(r1) /* 80179E80 00176DE0 C0 21 00 FC */ lfs f1, 0xfc(r1) /* 80179E84 00176DE4 C0 01 01 00 */ lfs f0, 0x100(r1) /* 80179E88 00176DE8 D0 61 01 90 */ stfs f3, 0x190(r1) /* 80179E8C 00176DEC D0 41 01 94 */ stfs f2, 0x194(r1) /* 80179E90 00176DF0 D0 21 01 98 */ stfs f1, 0x198(r1) /* 80179E94 00176DF4 D0 01 01 9C */ stfs f0, 0x19c(r1) /* 80179E98 00176DF8 88 1F 01 2C */ lbz r0, 0x12c(r31) /* 80179E9C 00176DFC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80179EA0 00176E00 41 82 01 84 */ beq lbl_8017A024 /* 80179EA4 00176E04 88 1D 09 C6 */ lbz r0, 0x9c6(r29) /* 80179EA8 00176E08 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80179EAC 00176E0C 41 82 01 78 */ beq lbl_8017A024 /* 80179EB0 00176E10 C0 5D 00 58 */ lfs f2, 0x58(r29) /* 80179EB4 00176E14 38 61 00 E8 */ addi r3, r1, 0xe8 /* 80179EB8 00176E18 C0 3D 00 48 */ lfs f1, 0x48(r29) /* 80179EBC 00176E1C 38 81 00 DC */ addi r4, r1, 0xdc /* 80179EC0 00176E20 C0 1D 00 38 */ lfs f0, 0x38(r29) /* 80179EC4 00176E24 D0 01 01 84 */ stfs f0, 0x184(r1) /* 80179EC8 00176E28 D0 21 01 88 */ stfs f1, 0x188(r1) /* 80179ECC 00176E2C D0 41 01 8C */ stfs f2, 0x18c(r1) /* 80179ED0 00176E30 C0 5F 00 58 */ lfs f2, 0x58(r31) /* 80179ED4 00176E34 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 80179ED8 00176E38 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80179EDC 00176E3C D0 01 00 DC */ stfs f0, 0xdc(r1) /* 80179EE0 00176E40 D0 21 00 E0 */ stfs f1, 0xe0(r1) /* 80179EE4 00176E44 D0 41 00 E4 */ stfs f2, 0xe4(r1) /* 80179EE8 00176E48 48 19 A9 69 */ bl AsNormalized__9CVector3fCFv /* 80179EEC 00176E4C C0 41 00 E8 */ lfs f2, 0xe8(r1) /* 80179EF0 00176E50 38 61 00 D0 */ addi r3, r1, 0xd0 /* 80179EF4 00176E54 C0 21 00 EC */ lfs f1, 0xec(r1) /* 80179EF8 00176E58 38 81 01 84 */ addi r4, r1, 0x184 /* 80179EFC 00176E5C C0 01 00 F0 */ lfs f0, 0xf0(r1) /* 80179F00 00176E60 D0 41 01 78 */ stfs f2, 0x178(r1) /* 80179F04 00176E64 D0 21 01 7C */ stfs f1, 0x17c(r1) /* 80179F08 00176E68 D0 01 01 80 */ stfs f0, 0x180(r1) /* 80179F0C 00176E6C 48 19 A9 45 */ bl AsNormalized__9CVector3fCFv /* 80179F10 00176E70 C0 21 00 D4 */ lfs f1, 0xd4(r1) /* 80179F14 00176E74 C0 01 01 7C */ lfs f0, 0x17c(r1) /* 80179F18 00176E78 C0 41 00 D0 */ lfs f2, 0xd0(r1) /* 80179F1C 00176E7C EC 01 00 32 */ fmuls f0, f1, f0 /* 80179F20 00176E80 C0 21 01 78 */ lfs f1, 0x178(r1) /* 80179F24 00176E84 C0 81 00 D8 */ lfs f4, 0xd8(r1) /* 80179F28 00176E88 C0 61 01 80 */ lfs f3, 0x180(r1) /* 80179F2C 00176E8C EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 80179F30 00176E90 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 80179F34 00176E94 EC 84 08 FA */ fmadds f4, f4, f3, f1 /* 80179F38 00176E98 FC 20 22 10 */ fabs f1, f4 /* 80179F3C 00176E9C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80179F40 00176EA0 40 81 00 14 */ ble lbl_80179F54 /* 80179F44 00176EA4 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 80179F48 00176EA8 C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 80179F4C 00176EAC FC 04 00 6E */ fsel f0, f4, f1, f0 /* 80179F50 00176EB0 EC 81 00 32 */ fmuls f4, f1, f0 lbl_80179F54: /* 80179F54 00176EB4 FC 00 22 10 */ fabs f0, f4 /* 80179F58 00176EB8 C0 42 A2 4C */ lfs f2, lbl_805ABF6C@sda21(r2) /* 80179F5C 00176EBC FC 20 20 90 */ fmr f1, f4 /* 80179F60 00176EC0 FC 00 00 18 */ frsp f0, f0 /* 80179F64 00176EC4 FC 02 00 00 */ fcmpu cr0, f2, f0 /* 80179F68 00176EC8 40 82 00 14 */ bne lbl_80179F7C /* 80179F6C 00176ECC 88 1D 09 C6 */ lbz r0, 0x9c6(r29) /* 80179F70 00176ED0 38 60 00 00 */ li r3, 0 /* 80179F74 00176ED4 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80179F78 00176ED8 98 1D 09 C6 */ stb r0, 0x9c6(r29) lbl_80179F7C: /* 80179F7C 00176EDC C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 80179F80 00176EE0 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80179F84 00176EE4 40 80 00 2C */ bge lbl_80179FB0 /* 80179F88 00176EE8 C0 61 01 80 */ lfs f3, 0x180(r1) /* 80179F8C 00176EEC FC 20 20 50 */ fneg f1, f4 /* 80179F90 00176EF0 C0 41 01 7C */ lfs f2, 0x17c(r1) /* 80179F94 00176EF4 C0 01 01 78 */ lfs f0, 0x178(r1) /* 80179F98 00176EF8 FC 60 18 50 */ fneg f3, f3 /* 80179F9C 00176EFC FC 40 10 50 */ fneg f2, f2 /* 80179FA0 00176F00 FC 00 00 50 */ fneg f0, f0 /* 80179FA4 00176F04 D0 61 01 80 */ stfs f3, 0x180(r1) /* 80179FA8 00176F08 D0 01 01 78 */ stfs f0, 0x178(r1) /* 80179FAC 00176F0C D0 41 01 7C */ stfs f2, 0x17c(r1) lbl_80179FB0: /* 80179FB0 00176F10 48 21 AC 7D */ bl acos /* 80179FB4 00176F14 FC 00 08 18 */ frsp f0, f1 /* 80179FB8 00176F18 C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 80179FBC 00176F1C 38 61 00 9C */ addi r3, r1, 0x9c /* 80179FC0 00176F20 38 81 01 78 */ addi r4, r1, 0x178 /* 80179FC4 00176F24 D0 21 01 8C */ stfs f1, 0x18c(r1) /* 80179FC8 00176F28 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80179FCC 00176F2C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80179FD0 00176F30 48 19 9E 01 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80179FD4 00176F34 7C 7F 1B 78 */ mr r31, r3 /* 80179FD8 00176F38 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80179FDC 00176F3C 38 81 01 84 */ addi r4, r1, 0x184 /* 80179FE0 00176F40 48 19 A8 71 */ bl AsNormalized__9CVector3fCFv /* 80179FE4 00176F44 38 61 00 B4 */ addi r3, r1, 0xb4 /* 80179FE8 00176F48 38 81 00 A8 */ addi r4, r1, 0xa8 /* 80179FEC 00176F4C 48 19 9D E5 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 80179FF0 00176F50 7C 64 1B 78 */ mr r4, r3 /* 80179FF4 00176F54 7F E5 FB 78 */ mr r5, r31 /* 80179FF8 00176F58 38 61 00 C0 */ addi r3, r1, 0xc0 /* 80179FFC 00176F5C 38 C1 00 10 */ addi r6, r1, 0x10 /* 8017A000 00176F60 48 19 76 95 */ bl LookAt__11CQuaternionFRC13CUnitVector3fRC13CUnitVector3fRC9CRelAngle /* 8017A004 00176F64 C0 01 00 C0 */ lfs f0, 0xc0(r1) /* 8017A008 00176F68 80 81 00 C4 */ lwz r4, 0xc4(r1) /* 8017A00C 00176F6C 80 61 00 C8 */ lwz r3, 0xc8(r1) /* 8017A010 00176F70 80 01 00 CC */ lwz r0, 0xcc(r1) /* 8017A014 00176F74 D0 01 01 90 */ stfs f0, 0x190(r1) /* 8017A018 00176F78 90 81 01 94 */ stw r4, 0x194(r1) /* 8017A01C 00176F7C 90 61 01 98 */ stw r3, 0x198(r1) /* 8017A020 00176F80 90 01 01 9C */ stw r0, 0x19c(r1) lbl_8017A024: /* 8017A024 00176F84 C0 21 01 B8 */ lfs f1, 0x1b8(r1) /* 8017A028 00176F88 C0 01 01 BC */ lfs f0, 0x1bc(r1) /* 8017A02C 00176F8C EC 41 00 72 */ fmuls f2, f1, f1 /* 8017A030 00176F90 C0 61 01 C0 */ lfs f3, 0x1c0(r1) /* 8017A034 00176F94 EC 20 00 32 */ fmuls f1, f0, f0 /* 8017A038 00176F98 C0 02 A2 74 */ lfs f0, lbl_805ABF94@sda21(r2) /* 8017A03C 00176F9C EC 63 00 F2 */ fmuls f3, f3, f3 /* 8017A040 00176FA0 EC 22 08 2A */ fadds f1, f2, f1 /* 8017A044 00176FA4 EC 23 08 2A */ fadds f1, f3, f1 /* 8017A048 00176FA8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017A04C 00176FAC 40 81 00 A8 */ ble lbl_8017A0F4 /* 8017A050 00176FB0 EC 1B D8 28 */ fsubs f0, f27, f27 /* 8017A054 00176FB4 D2 A1 01 6C */ stfs f21, 0x16c(r1) /* 8017A058 00176FB8 38 61 00 90 */ addi r3, r1, 0x90 /* 8017A05C 00176FBC 38 81 01 90 */ addi r4, r1, 0x190 /* 8017A060 00176FC0 D2 81 01 70 */ stfs f20, 0x170(r1) /* 8017A064 00176FC4 38 A1 01 6C */ addi r5, r1, 0x16c /* 8017A068 00176FC8 D0 01 01 74 */ stfs f0, 0x174(r1) /* 8017A06C 00176FCC 48 19 71 F9 */ bl Transform__11CQuaternionCFRC9CVector3f /* 8017A070 00176FD0 C0 41 00 98 */ lfs f2, 0x98(r1) /* 8017A074 00176FD4 38 61 01 60 */ addi r3, r1, 0x160 /* 8017A078 00176FD8 C0 21 00 90 */ lfs f1, 0x90(r1) /* 8017A07C 00176FDC C0 01 00 94 */ lfs f0, 0x94(r1) /* 8017A080 00176FE0 EC 5B 10 2A */ fadds f2, f27, f2 /* 8017A084 00176FE4 EC 3A 08 2A */ fadds f1, f26, f1 /* 8017A088 00176FE8 EC 19 00 2A */ fadds f0, f25, f0 /* 8017A08C 00176FEC EC 42 D8 28 */ fsubs f2, f2, f27 /* 8017A090 00176FF0 EC 21 E8 28 */ fsubs f1, f1, f29 /* 8017A094 00176FF4 EC 00 E0 28 */ fsubs f0, f0, f28 /* 8017A098 00176FF8 D0 41 01 68 */ stfs f2, 0x168(r1) /* 8017A09C 00176FFC D0 21 01 60 */ stfs f1, 0x160(r1) /* 8017A0A0 00177000 D0 01 01 64 */ stfs f0, 0x164(r1) /* 8017A0A4 00177004 48 19 A6 55 */ bl CanBeNormalized__9CVector3fCFv /* 8017A0A8 00177008 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A0AC 0017700C 41 82 00 48 */ beq lbl_8017A0F4 /* 8017A0B0 00177010 C0 02 A2 4C */ lfs f0, lbl_805ABF6C@sda21(r2) /* 8017A0B4 00177014 C0 A1 01 60 */ lfs f5, 0x160(r1) /* 8017A0B8 00177018 EC C0 F8 24 */ fdivs f6, f0, f31 /* 8017A0BC 0017701C C0 81 01 64 */ lfs f4, 0x164(r1) /* 8017A0C0 00177020 C0 61 01 68 */ lfs f3, 0x168(r1) /* 8017A0C4 00177024 C0 41 01 AC */ lfs f2, 0x1ac(r1) /* 8017A0C8 00177028 C0 21 01 B0 */ lfs f1, 0x1b0(r1) /* 8017A0CC 0017702C C0 01 01 B4 */ lfs f0, 0x1b4(r1) /* 8017A0D0 00177030 EC A6 01 72 */ fmuls f5, f6, f5 /* 8017A0D4 00177034 EC 86 01 32 */ fmuls f4, f6, f4 /* 8017A0D8 00177038 EC 66 00 F2 */ fmuls f3, f6, f3 /* 8017A0DC 0017703C EC 42 28 2A */ fadds f2, f2, f5 /* 8017A0E0 00177040 EC 21 20 2A */ fadds f1, f1, f4 /* 8017A0E4 00177044 EC 00 18 2A */ fadds f0, f0, f3 /* 8017A0E8 00177048 D0 41 01 AC */ stfs f2, 0x1ac(r1) /* 8017A0EC 0017704C D0 21 01 B0 */ stfs f1, 0x1b0(r1) /* 8017A0F0 00177050 D0 01 01 B4 */ stfs f0, 0x1b4(r1) lbl_8017A0F4: /* 8017A0F4 00177054 C2 5D 03 C0 */ lfs f18, 0x3c0(r29) /* 8017A0F8 00177058 38 61 00 84 */ addi r3, r1, 0x84 /* 8017A0FC 0017705C C2 7D 03 C4 */ lfs f19, 0x3c4(r29) /* 8017A100 00177060 38 81 01 90 */ addi r4, r1, 0x190 /* 8017A104 00177064 C2 9D 03 C8 */ lfs f20, 0x3c8(r29) /* 8017A108 00177068 38 BD 03 C0 */ addi r5, r29, 0x3c0 /* 8017A10C 0017706C 48 19 71 59 */ bl Transform__11CQuaternionCFRC9CVector3f /* 8017A110 00177070 C0 01 00 84 */ lfs f0, 0x84(r1) /* 8017A114 00177074 38 7D 03 C0 */ addi r3, r29, 0x3c0 /* 8017A118 00177078 D0 1D 03 C0 */ stfs f0, 0x3c0(r29) /* 8017A11C 0017707C C0 01 00 88 */ lfs f0, 0x88(r1) /* 8017A120 00177080 D0 1D 03 C4 */ stfs f0, 0x3c4(r29) /* 8017A124 00177084 C0 01 00 8C */ lfs f0, 0x8c(r1) /* 8017A128 00177088 D0 1D 03 C8 */ stfs f0, 0x3c8(r29) /* 8017A12C 0017708C 48 19 A7 CD */ bl Normalize__9CVector3fFv /* 8017A130 00177090 C0 1D 03 C4 */ lfs f0, 0x3c4(r29) /* 8017A134 00177094 38 61 02 0C */ addi r3, r1, 0x20c /* 8017A138 00177098 C0 7D 03 C0 */ lfs f3, 0x3c0(r29) /* 8017A13C 0017709C 38 9D 03 C0 */ addi r4, r29, 0x3c0 /* 8017A140 001770A0 FC 20 00 50 */ fneg f1, f0 /* 8017A144 001770A4 C0 42 A2 30 */ lfs f2, lbl_805ABF50@sda21(r2) /* 8017A148 001770A8 D0 61 01 58 */ stfs f3, 0x158(r1) /* 8017A14C 001770AC 38 A1 01 54 */ addi r5, r1, 0x154 /* 8017A150 001770B0 C0 02 A2 4C */ lfs f0, lbl_805ABF6C@sda21(r2) /* 8017A154 001770B4 38 C1 00 78 */ addi r6, r1, 0x78 /* 8017A158 001770B8 D0 21 01 54 */ stfs f1, 0x154(r1) /* 8017A15C 001770BC 38 E1 00 6C */ addi r7, r1, 0x6c /* 8017A160 001770C0 D0 41 01 5C */ stfs f2, 0x15c(r1) /* 8017A164 001770C4 C0 9D 00 60 */ lfs f4, 0x60(r29) /* 8017A168 001770C8 C0 7D 00 50 */ lfs f3, 0x50(r29) /* 8017A16C 001770CC C0 3D 00 40 */ lfs f1, 0x40(r29) /* 8017A170 001770D0 D0 21 00 6C */ stfs f1, 0x6c(r1) /* 8017A174 001770D4 D0 61 00 70 */ stfs f3, 0x70(r1) /* 8017A178 001770D8 D0 81 00 74 */ stfs f4, 0x74(r1) /* 8017A17C 001770DC D0 41 00 78 */ stfs f2, 0x78(r1) /* 8017A180 001770E0 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 8017A184 001770E4 D0 01 00 80 */ stfs f0, 0x80(r1) /* 8017A188 001770E8 48 19 8C D5 */ bl __ct__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f_0 /* 8017A18C 001770EC 38 7D 00 34 */ addi r3, r29, 0x34 /* 8017A190 001770F0 38 81 02 0C */ addi r4, r1, 0x20c /* 8017A194 001770F4 48 19 89 AD */ bl __as__12CTransform4fFRC12CTransform4f /* 8017A198 001770F8 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8017A19C 001770FC 38 A0 00 01 */ li r5, 1 /* 8017A1A0 00177100 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 8017A1A4 00177104 7F A3 EB 78 */ mr r3, r29 /* 8017A1A8 00177108 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8017A1AC 0017710C 38 81 01 AC */ addi r4, r1, 0x1ac /* 8017A1B0 00177110 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8017A1B4 00177114 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 8017A1B8 00177118 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8017A1BC 0017711C 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8017A1C0 00177120 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 8017A1C4 00177124 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8017A1C8 00177128 4B FA 0A D9 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 8017A1CC 0017712C C0 5D 00 40 */ lfs f2, 0x40(r29) /* 8017A1D0 00177130 7F A3 EB 78 */ mr r3, r29 /* 8017A1D4 00177134 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 8017A1D8 00177138 7F C5 F3 78 */ mr r5, r30 /* 8017A1DC 0017713C C0 1D 00 60 */ lfs f0, 0x60(r29) /* 8017A1E0 00177140 38 81 00 60 */ addi r4, r1, 0x60 /* 8017A1E4 00177144 D0 41 00 54 */ stfs f2, 0x54(r1) /* 8017A1E8 00177148 D0 21 00 58 */ stfs f1, 0x58(r1) /* 8017A1EC 0017714C 80 E1 00 54 */ lwz r7, 0x54(r1) /* 8017A1F0 00177150 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8017A1F4 00177154 80 C1 00 58 */ lwz r6, 0x58(r1) /* 8017A1F8 00177158 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8017A1FC 0017715C 90 E1 00 60 */ stw r7, 0x60(r1) /* 8017A200 00177160 90 C1 00 64 */ stw r6, 0x64(r1) /* 8017A204 00177164 90 01 00 68 */ stw r0, 0x68(r1) /* 8017A208 00177168 48 00 01 71 */ bl ValidateFPPosition__7CPlayerF9CVector3fR13CStateManager /* 8017A20C 0017716C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A210 00177170 40 82 00 9C */ bne lbl_8017A2AC /* 8017A214 00177174 D2 5D 03 C0 */ stfs f18, 0x3c0(r29) /* 8017A218 00177178 38 7D 00 34 */ addi r3, r29, 0x34 /* 8017A21C 0017717C 38 81 02 A4 */ addi r4, r1, 0x2a4 /* 8017A220 00177180 D2 7D 03 C4 */ stfs f19, 0x3c4(r29) /* 8017A224 00177184 D2 9D 03 C8 */ stfs f20, 0x3c8(r29) /* 8017A228 00177188 48 19 89 19 */ bl __as__12CTransform4fFRC12CTransform4f /* 8017A22C 0017718C 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8017A230 00177190 38 A0 00 01 */ li r5, 1 /* 8017A234 00177194 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 8017A238 00177198 7F A3 EB 78 */ mr r3, r29 /* 8017A23C 0017719C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8017A240 001771A0 38 81 01 A0 */ addi r4, r1, 0x1a0 /* 8017A244 001771A4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8017A248 001771A8 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 8017A24C 001771AC 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8017A250 001771B0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8017A254 001771B4 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 8017A258 001771B8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8017A25C 001771BC 4B FA 0A 45 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 8017A260 001771C0 48 00 00 4C */ b lbl_8017A2AC lbl_8017A264: /* 8017A264 001771C4 7F A3 EB 78 */ mr r3, r29 /* 8017A268 001771C8 7F C5 F3 78 */ mr r5, r30 /* 8017A26C 001771CC 38 80 00 06 */ li r4, 6 /* 8017A270 001771D0 48 00 0E 55 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017A274 001771D4 48 00 00 38 */ b lbl_8017A2AC lbl_8017A278: /* 8017A278 001771D8 C2 5D 00 E8 */ lfs f18, 0xe8(r29) /* 8017A27C 001771DC 7F A3 EB 78 */ mr r3, r29 /* 8017A280 001771E0 48 10 E0 DD */ bl GetGravity__7CPlayerCFv /* 8017A284 001771E4 EC 21 04 B2 */ fmuls f1, f1, f18 /* 8017A288 001771E8 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017A28C 001771EC D0 01 00 48 */ stfs f0, 0x48(r1) /* 8017A290 001771F0 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8017A294 001771F4 D0 21 00 50 */ stfs f1, 0x50(r1) /* 8017A298 001771F8 4B EA 12 9D */ bl Identity__10CAxisAngleFv /* 8017A29C 001771FC 7C 65 1B 78 */ mr r5, r3 /* 8017A2A0 00177200 7F A3 EB 78 */ mr r3, r29 /* 8017A2A4 00177204 38 81 00 48 */ addi r4, r1, 0x48 /* 8017A2A8 00177208 4B FA 1E 9D */ bl ApplyForceOR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle lbl_8017A2AC: /* 8017A2AC 0017720C 7F A4 EB 78 */ mr r4, r29 /* 8017A2B0 00177210 38 61 00 24 */ addi r3, r1, 0x24 /* 8017A2B4 00177214 4B FA 08 F1 */ bl GetAngularVelocityOR__13CPhysicsActorCFv /* 8017A2B8 00177218 38 61 00 24 */ addi r3, r1, 0x24 /* 8017A2BC 0017721C 4B EA 12 75 */ bl GetVector__10CAxisAngleCFv /* 8017A2C0 00177220 C0 43 00 08 */ lfs f2, 8(r3) /* 8017A2C4 00177224 38 61 00 3C */ addi r3, r1, 0x3c /* 8017A2C8 00177228 C0 02 A2 78 */ lfs f0, lbl_805ABF98@sda21(r2) /* 8017A2CC 0017722C 38 81 00 30 */ addi r4, r1, 0x30 /* 8017A2D0 00177230 C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 8017A2D4 00177234 EC 00 00 B2 */ fmuls f0, f0, f2 /* 8017A2D8 00177238 D0 21 00 30 */ stfs f1, 0x30(r1) /* 8017A2DC 0017723C D0 21 00 34 */ stfs f1, 0x34(r1) /* 8017A2E0 00177240 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8017A2E4 00177244 4B EA 12 A1 */ bl __ct__10CAxisAngleFRC9CVector3f /* 8017A2E8 00177248 7F A3 EB 78 */ mr r3, r29 /* 8017A2EC 0017724C 38 81 00 3C */ addi r4, r1, 0x3c /* 8017A2F0 00177250 4B FA 07 ED */ bl SetAngularVelocityOR__13CPhysicsActorFRC10CAxisAngle /* 8017A2F4 00177254 E3 E1 03 C8 */ psq_l f31, 968(r1), 0, qr0 /* 8017A2F8 00177258 CB E1 03 C0 */ lfd f31, 0x3c0(r1) /* 8017A2FC 0017725C E3 C1 03 B8 */ psq_l f30, 952(r1), 0, qr0 /* 8017A300 00177260 CB C1 03 B0 */ lfd f30, 0x3b0(r1) /* 8017A304 00177264 E3 A1 03 A8 */ psq_l f29, 936(r1), 0, qr0 /* 8017A308 00177268 CB A1 03 A0 */ lfd f29, 0x3a0(r1) /* 8017A30C 0017726C E3 81 03 98 */ psq_l f28, 920(r1), 0, qr0 /* 8017A310 00177270 CB 81 03 90 */ lfd f28, 0x390(r1) /* 8017A314 00177274 E3 61 03 88 */ psq_l f27, 904(r1), 0, qr0 /* 8017A318 00177278 CB 61 03 80 */ lfd f27, 0x380(r1) /* 8017A31C 0017727C E3 41 03 78 */ psq_l f26, 888(r1), 0, qr0 /* 8017A320 00177280 CB 41 03 70 */ lfd f26, 0x370(r1) /* 8017A324 00177284 E3 21 03 68 */ psq_l f25, 872(r1), 0, qr0 /* 8017A328 00177288 CB 21 03 60 */ lfd f25, 0x360(r1) /* 8017A32C 0017728C E3 01 03 58 */ psq_l f24, 856(r1), 0, qr0 /* 8017A330 00177290 CB 01 03 50 */ lfd f24, 0x350(r1) /* 8017A334 00177294 E2 E1 03 48 */ psq_l f23, 840(r1), 0, qr0 /* 8017A338 00177298 CA E1 03 40 */ lfd f23, 0x340(r1) /* 8017A33C 0017729C E2 C1 03 38 */ psq_l f22, 824(r1), 0, qr0 /* 8017A340 001772A0 CA C1 03 30 */ lfd f22, 0x330(r1) /* 8017A344 001772A4 E2 A1 03 28 */ psq_l f21, 808(r1), 0, qr0 /* 8017A348 001772A8 CA A1 03 20 */ lfd f21, 0x320(r1) /* 8017A34C 001772AC E2 81 03 18 */ psq_l f20, 792(r1), 0, qr0 /* 8017A350 001772B0 CA 81 03 10 */ lfd f20, 0x310(r1) /* 8017A354 001772B4 E2 61 03 08 */ psq_l f19, 776(r1), 0, qr0 /* 8017A358 001772B8 CA 61 03 00 */ lfd f19, 0x300(r1) /* 8017A35C 001772BC E2 41 02 F8 */ psq_l f18, 760(r1), 0, qr0 /* 8017A360 001772C0 CA 41 02 F0 */ lfd f18, 0x2f0(r1) /* 8017A364 001772C4 BB 61 02 DC */ lmw r27, 0x2dc(r1) /* 8017A368 001772C8 80 01 03 D4 */ lwz r0, 0x3d4(r1) /* 8017A36C 001772CC 7C 08 03 A6 */ mtlr r0 /* 8017A370 001772D0 38 21 03 D0 */ addi r1, r1, 0x3d0 /* 8017A374 001772D4 4E 80 00 20 */ blr .global ValidateFPPosition__7CPlayerF9CVector3fR13CStateManager ValidateFPPosition__7CPlayerF9CVector3fR13CStateManager: /* 8017A378 001772D8 94 21 F7 00 */ stwu r1, -0x900(r1) /* 8017A37C 001772DC 7C 08 02 A6 */ mflr r0 /* 8017A380 001772E0 90 01 09 04 */ stw r0, 0x904(r1) /* 8017A384 001772E4 38 00 00 00 */ li r0, 0 /* 8017A388 001772E8 93 E1 08 FC */ stw r31, 0x8fc(r1) /* 8017A38C 001772EC 7C BF 2B 78 */ mr r31, r5 /* 8017A390 001772F0 93 C1 08 F8 */ stw r30, 0x8f8(r1) /* 8017A394 001772F4 7C 9E 23 78 */ mr r30, r4 /* 8017A398 001772F8 38 80 00 01 */ li r4, 1 /* 8017A39C 001772FC 93 A1 08 F4 */ stw r29, 0x8f4(r1) /* 8017A3A0 00177300 7C 7D 1B 78 */ mr r29, r3 /* 8017A3A4 00177304 38 60 00 00 */ li r3, 0 /* 8017A3A8 00177308 80 CD 8E 7C */ lwz r6, lbl_805A7A3C@sda21(r13) /* 8017A3AC 0017730C 90 01 00 E0 */ stw r0, 0xe0(r1) /* 8017A3B0 00177310 7C C5 33 78 */ mr r5, r6 /* 8017A3B4 00177314 48 20 FB 41 */ bl __shl2i /* 8017A3B8 00177318 38 C0 00 01 */ li r6, 1 /* 8017A3BC 0017731C 38 00 00 00 */ li r0, 0 /* 8017A3C0 00177320 90 81 00 A4 */ stw r4, 0xa4(r1) /* 8017A3C4 00177324 38 81 00 4C */ addi r4, r1, 0x4c /* 8017A3C8 00177328 C0 C2 A2 4C */ lfs f6, lbl_805ABF6C@sda21(r2) /* 8017A3CC 0017732C 38 A1 00 34 */ addi r5, r1, 0x34 /* 8017A3D0 00177330 90 61 00 A0 */ stw r3, 0xa0(r1) /* 8017A3D4 00177334 38 61 00 70 */ addi r3, r1, 0x70 /* 8017A3D8 00177338 C0 9E 00 04 */ lfs f4, 4(r30) /* 8017A3DC 0017733C 90 01 00 AC */ stw r0, 0xac(r1) /* 8017A3E0 00177340 C0 7E 00 08 */ lfs f3, 8(r30) /* 8017A3E4 00177344 90 01 00 A8 */ stw r0, 0xa8(r1) /* 8017A3E8 00177348 C0 5E 00 00 */ lfs f2, 0(r30) /* 8017A3EC 0017734C 90 C1 00 B0 */ stw r6, 0xb0(r1) /* 8017A3F0 00177350 C0 1D 02 E8 */ lfs f0, 0x2e8(r29) /* 8017A3F4 00177354 C0 3D 02 EC */ lfs f1, 0x2ec(r29) /* 8017A3F8 00177358 EC E0 30 2A */ fadds f7, f0, f6 /* 8017A3FC 0017735C C0 1D 02 E4 */ lfs f0, 0x2e4(r29) /* 8017A400 00177360 ED 21 30 2A */ fadds f9, f1, f6 /* 8017A404 00177364 90 C1 00 98 */ stw r6, 0x98(r1) /* 8017A408 00177368 EC A0 30 2A */ fadds f5, f0, f6 /* 8017A40C 0017736C ED 07 20 2A */ fadds f8, f7, f4 /* 8017A410 00177370 EC 29 18 2A */ fadds f1, f9, f3 /* 8017A414 00177374 D0 E1 00 2C */ stfs f7, 0x2c(r1) /* 8017A418 00177378 EC 05 10 2A */ fadds f0, f5, f2 /* 8017A41C 0017737C D1 01 00 38 */ stfs f8, 0x38(r1) /* 8017A420 00177380 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8017A424 00177384 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 8017A428 00177388 C0 1D 02 DC */ lfs f0, 0x2dc(r29) /* 8017A42C 0017738C C0 3D 02 E0 */ lfs f1, 0x2e0(r29) /* 8017A430 00177390 ED 00 30 28 */ fsubs f8, f0, f6 /* 8017A434 00177394 C0 1D 02 D8 */ lfs f0, 0x2d8(r29) /* 8017A438 00177398 EC E1 30 28 */ fsubs f7, f1, f6 /* 8017A43C 0017739C D0 A1 00 28 */ stfs f5, 0x28(r1) /* 8017A440 001773A0 EC 20 30 28 */ fsubs f1, f0, f6 /* 8017A444 001773A4 EC 88 20 2A */ fadds f4, f8, f4 /* 8017A448 001773A8 EC 67 18 2A */ fadds f3, f7, f3 /* 8017A44C 001773AC D1 21 00 30 */ stfs f9, 0x30(r1) /* 8017A450 001773B0 EC 01 10 2A */ fadds f0, f1, f2 /* 8017A454 001773B4 D0 21 00 40 */ stfs f1, 0x40(r1) /* 8017A458 001773B8 D1 01 00 44 */ stfs f8, 0x44(r1) /* 8017A45C 001773BC D0 E1 00 48 */ stfs f7, 0x48(r1) /* 8017A460 001773C0 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8017A464 001773C4 D0 81 00 50 */ stfs f4, 0x50(r1) /* 8017A468 001773C8 D0 61 00 54 */ stfs f3, 0x54(r1) /* 8017A46C 001773CC 48 1B E0 9D */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 8017A470 001773D0 7C 66 1B 78 */ mr r6, r3 /* 8017A474 001773D4 7F E3 FB 78 */ mr r3, r31 /* 8017A478 001773D8 7F A5 EB 78 */ mr r5, r29 /* 8017A47C 001773DC 38 81 00 E0 */ addi r4, r1, 0xe0 /* 8017A480 001773E0 4B ED 22 7D */ bl "BuildColliderList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CActorRC6CAABox" /* 8017A484 001773E4 7F A3 EB 78 */ mr r3, r29 /* 8017A488 001773E8 4B FA 05 39 */ bl GetBaseBoundingBox__13CPhysicsActorCFv /* 8017A48C 001773EC 38 00 00 00 */ li r0, 0 /* 8017A490 001773F0 C0 BE 00 04 */ lfs f5, 4(r30) /* 8017A494 001773F4 90 01 00 0C */ stw r0, 0xc(r1) /* 8017A498 001773F8 38 81 00 1C */ addi r4, r1, 0x1c /* 8017A49C 001773FC C0 9E 00 08 */ lfs f4, 8(r30) /* 8017A4A0 00177400 38 A1 00 10 */ addi r5, r1, 0x10 /* 8017A4A4 00177404 90 01 00 08 */ stw r0, 8(r1) /* 8017A4A8 00177408 C0 7E 00 00 */ lfs f3, 0(r30) /* 8017A4AC 0017740C C0 43 00 10 */ lfs f2, 0x10(r3) /* 8017A4B0 00177410 C0 23 00 14 */ lfs f1, 0x14(r3) /* 8017A4B4 00177414 C0 03 00 0C */ lfs f0, 0xc(r3) /* 8017A4B8 00177418 EC 42 28 2A */ fadds f2, f2, f5 /* 8017A4BC 0017741C EC 21 20 2A */ fadds f1, f1, f4 /* 8017A4C0 00177420 EC 00 18 2A */ fadds f0, f0, f3 /* 8017A4C4 00177424 D0 41 00 14 */ stfs f2, 0x14(r1) /* 8017A4C8 00177428 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8017A4CC 0017742C D0 21 00 18 */ stfs f1, 0x18(r1) /* 8017A4D0 00177430 C0 43 00 04 */ lfs f2, 4(r3) /* 8017A4D4 00177434 C0 23 00 08 */ lfs f1, 8(r3) /* 8017A4D8 00177438 C0 03 00 00 */ lfs f0, 0(r3) /* 8017A4DC 0017743C EC 42 28 2A */ fadds f2, f2, f5 /* 8017A4E0 00177440 EC 21 20 2A */ fadds f1, f1, f4 /* 8017A4E4 00177444 38 61 00 58 */ addi r3, r1, 0x58 /* 8017A4E8 00177448 EC 00 18 2A */ fadds f0, f0, f3 /* 8017A4EC 0017744C D0 41 00 20 */ stfs f2, 0x20(r1) /* 8017A4F0 00177450 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8017A4F4 00177454 D0 21 00 24 */ stfs f1, 0x24(r1) /* 8017A4F8 00177458 48 1B E0 11 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 8017A4FC 0017745C 38 61 00 B8 */ addi r3, r1, 0xb8 /* 8017A500 00177460 38 81 00 08 */ addi r4, r1, 8 /* 8017A504 00177464 48 15 53 B1 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList /* 8017A508 00177468 C0 A1 00 58 */ lfs f5, 0x58(r1) /* 8017A50C 0017746C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha /* 8017A510 00177470 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l /* 8017A514 00177474 C0 81 00 5C */ lfs f4, 0x5c(r1) /* 8017A518 00177478 C0 61 00 60 */ lfs f3, 0x60(r1) /* 8017A51C 0017747C 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha /* 8017A520 00177480 C0 41 00 64 */ lfs f2, 0x64(r1) /* 8017A524 00177484 38 A3 66 70 */ addi r5, r3, sIdentity__12CTransform4f@l /* 8017A528 00177488 C0 21 00 68 */ lfs f1, 0x68(r1) /* 8017A52C 0017748C 7F E3 FB 78 */ mr r3, r31 /* 8017A530 00177490 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 8017A534 00177494 38 81 00 B8 */ addi r4, r1, 0xb8 /* 8017A538 00177498 90 01 00 B8 */ stw r0, 0xb8(r1) /* 8017A53C 0017749C 38 C1 00 A0 */ addi r6, r1, 0xa0 /* 8017A540 001774A0 38 E1 00 E0 */ addi r7, r1, 0xe0 /* 8017A544 001774A4 D0 A1 00 C8 */ stfs f5, 0xc8(r1) /* 8017A548 001774A8 D0 81 00 CC */ stfs f4, 0xcc(r1) /* 8017A54C 001774AC D0 61 00 D0 */ stfs f3, 0xd0(r1) /* 8017A550 001774B0 D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 8017A554 001774B4 D0 21 00 D8 */ stfs f1, 0xd8(r1) /* 8017A558 001774B8 D0 01 00 DC */ stfs f0, 0xdc(r1) /* 8017A55C 001774BC 48 00 A0 B9 */ bl "DetectCollisionBoolean__14CGameCollisionFRC13CStateManagerRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017A560 001774C0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A564 001774C4 40 82 00 78 */ bne lbl_8017A5DC /* 8017A568 001774C8 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha /* 8017A56C 001774CC 80 A1 00 E0 */ lwz r5, 0xe0(r1) /* 8017A570 001774D0 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l /* 8017A574 001774D4 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 8017A578 001774D8 90 01 00 B8 */ stw r0, 0xb8(r1) /* 8017A57C 001774DC 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l /* 8017A580 001774E0 2C 05 00 00 */ cmpwi r5, 0 /* 8017A584 001774E4 38 60 00 00 */ li r3, 0 /* 8017A588 001774E8 90 01 00 B8 */ stw r0, 0xb8(r1) /* 8017A58C 001774EC 40 81 00 40 */ ble lbl_8017A5CC /* 8017A590 001774F0 2C 05 00 08 */ cmpwi r5, 8 /* 8017A594 001774F4 38 85 FF F8 */ addi r4, r5, -8 /* 8017A598 001774F8 40 81 00 20 */ ble lbl_8017A5B8 /* 8017A59C 001774FC 38 04 00 07 */ addi r0, r4, 7 /* 8017A5A0 00177500 54 00 E8 FE */ srwi r0, r0, 3 /* 8017A5A4 00177504 7C 09 03 A6 */ mtctr r0 /* 8017A5A8 00177508 2C 04 00 00 */ cmpwi r4, 0 /* 8017A5AC 0017750C 40 81 00 0C */ ble lbl_8017A5B8 lbl_8017A5B0: /* 8017A5B0 00177510 38 63 00 08 */ addi r3, r3, 8 /* 8017A5B4 00177514 42 00 FF FC */ bdnz lbl_8017A5B0 lbl_8017A5B8: /* 8017A5B8 00177518 7C 03 28 50 */ subf r0, r3, r5 /* 8017A5BC 0017751C 7C 09 03 A6 */ mtctr r0 /* 8017A5C0 00177520 7C 03 28 00 */ cmpw r3, r5 /* 8017A5C4 00177524 40 80 00 08 */ bge lbl_8017A5CC lbl_8017A5C8: /* 8017A5C8 00177528 42 00 00 00 */ bdnz lbl_8017A5C8 lbl_8017A5CC: /* 8017A5CC 0017752C 38 00 00 00 */ li r0, 0 /* 8017A5D0 00177530 38 60 00 01 */ li r3, 1 /* 8017A5D4 00177534 90 01 00 E0 */ stw r0, 0xe0(r1) /* 8017A5D8 00177538 48 00 00 74 */ b lbl_8017A64C lbl_8017A5DC: /* 8017A5DC 0017753C 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha /* 8017A5E0 00177540 80 A1 00 E0 */ lwz r5, 0xe0(r1) /* 8017A5E4 00177544 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l /* 8017A5E8 00177548 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 8017A5EC 0017754C 90 01 00 B8 */ stw r0, 0xb8(r1) /* 8017A5F0 00177550 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l /* 8017A5F4 00177554 2C 05 00 00 */ cmpwi r5, 0 /* 8017A5F8 00177558 38 60 00 00 */ li r3, 0 /* 8017A5FC 0017755C 90 01 00 B8 */ stw r0, 0xb8(r1) /* 8017A600 00177560 40 81 00 40 */ ble lbl_8017A640 /* 8017A604 00177564 2C 05 00 08 */ cmpwi r5, 8 /* 8017A608 00177568 38 85 FF F8 */ addi r4, r5, -8 /* 8017A60C 0017756C 40 81 00 20 */ ble lbl_8017A62C /* 8017A610 00177570 38 04 00 07 */ addi r0, r4, 7 /* 8017A614 00177574 54 00 E8 FE */ srwi r0, r0, 3 /* 8017A618 00177578 7C 09 03 A6 */ mtctr r0 /* 8017A61C 0017757C 2C 04 00 00 */ cmpwi r4, 0 /* 8017A620 00177580 40 81 00 0C */ ble lbl_8017A62C lbl_8017A624: /* 8017A624 00177584 38 63 00 08 */ addi r3, r3, 8 /* 8017A628 00177588 42 00 FF FC */ bdnz lbl_8017A624 lbl_8017A62C: /* 8017A62C 0017758C 7C 03 28 50 */ subf r0, r3, r5 /* 8017A630 00177590 7C 09 03 A6 */ mtctr r0 /* 8017A634 00177594 7C 03 28 00 */ cmpw r3, r5 /* 8017A638 00177598 40 80 00 08 */ bge lbl_8017A640 lbl_8017A63C: /* 8017A63C 0017759C 42 00 00 00 */ bdnz lbl_8017A63C lbl_8017A640: /* 8017A640 001775A0 38 00 00 00 */ li r0, 0 /* 8017A644 001775A4 38 60 00 00 */ li r3, 0 /* 8017A648 001775A8 90 01 00 E0 */ stw r0, 0xe0(r1) lbl_8017A64C: /* 8017A64C 001775AC 80 01 09 04 */ lwz r0, 0x904(r1) /* 8017A650 001775B0 83 E1 08 FC */ lwz r31, 0x8fc(r1) /* 8017A654 001775B4 83 C1 08 F8 */ lwz r30, 0x8f8(r1) /* 8017A658 001775B8 83 A1 08 F4 */ lwz r29, 0x8f4(r1) /* 8017A65C 001775BC 7C 08 03 A6 */ mtlr r0 /* 8017A660 001775C0 38 21 09 00 */ addi r1, r1, 0x900 /* 8017A664 001775C4 4E 80 00 20 */ blr .global UpdateGrappleState__7CPlayerFRC11CFinalInputR13CStateManager UpdateGrappleState__7CPlayerFRC11CFinalInputR13CStateManager: /* 8017A668 001775C8 94 21 FE E0 */ stwu r1, -0x120(r1) /* 8017A66C 001775CC 7C 08 02 A6 */ mflr r0 /* 8017A670 001775D0 90 01 01 24 */ stw r0, 0x124(r1) /* 8017A674 001775D4 DB E1 01 10 */ stfd f31, 0x110(r1) /* 8017A678 001775D8 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0 /* 8017A67C 001775DC 93 E1 01 0C */ stw r31, 0x10c(r1) /* 8017A680 001775E0 93 C1 01 08 */ stw r30, 0x108(r1) /* 8017A684 001775E4 93 A1 01 04 */ stw r29, 0x104(r1) /* 8017A688 001775E8 93 81 01 00 */ stw r28, 0x100(r1) /* 8017A68C 001775EC 7C BE 2B 78 */ mr r30, r5 /* 8017A690 001775F0 7C 9D 23 78 */ mr r29, r4 /* 8017A694 001775F4 80 A5 08 B8 */ lwz r5, 0x8b8(r5) /* 8017A698 001775F8 7C 7C 1B 78 */ mr r28, r3 /* 8017A69C 001775FC 38 80 00 0C */ li r4, 0xc /* 8017A6A0 00177600 80 65 00 00 */ lwz r3, 0(r5) /* 8017A6A4 00177604 4B F1 74 1D */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 8017A6A8 00177608 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A6AC 0017760C 41 82 07 18 */ beq lbl_8017ADC4 /* 8017A6B0 00177610 80 1C 02 F8 */ lwz r0, 0x2f8(r28) /* 8017A6B4 00177614 2C 00 00 01 */ cmpwi r0, 1 /* 8017A6B8 00177618 41 82 07 0C */ beq lbl_8017ADC4 /* 8017A6BC 0017761C 80 7E 08 B8 */ lwz r3, 0x8b8(r30) /* 8017A6C0 00177620 80 63 00 00 */ lwz r3, 0(r3) /* 8017A6C4 00177624 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017A6C8 00177628 2C 00 00 02 */ cmpwi r0, 2 /* 8017A6CC 0017762C 41 82 06 F8 */ beq lbl_8017ADC4 /* 8017A6D0 00177630 80 03 00 18 */ lwz r0, 0x18(r3) /* 8017A6D4 00177634 2C 00 00 02 */ cmpwi r0, 2 /* 8017A6D8 00177638 40 82 00 08 */ bne lbl_8017A6E0 /* 8017A6DC 0017763C 48 00 06 E8 */ b lbl_8017ADC4 lbl_8017A6E0: /* 8017A6E0 00177640 A0 BC 03 10 */ lhz r5, 0x310(r28) /* 8017A6E4 00177644 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017A6E8 00177648 7C 05 00 40 */ cmplw r5, r0 /* 8017A6EC 0017764C 40 82 00 20 */ bne lbl_8017A70C /* 8017A6F0 00177650 38 00 00 00 */ li r0, 0 /* 8017A6F4 00177654 7F 83 E3 78 */ mr r3, r28 /* 8017A6F8 00177658 90 1C 03 B8 */ stw r0, 0x3b8(r28) /* 8017A6FC 0017765C 7F C5 F3 78 */ mr r5, r30 /* 8017A700 00177660 38 80 00 25 */ li r4, 0x25 /* 8017A704 00177664 4B ED 9C 4D */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 8017A708 00177668 48 00 06 BC */ b lbl_8017ADC4 lbl_8017A70C: /* 8017A70C 0017766C B0 A1 00 14 */ sth r5, 0x14(r1) /* 8017A710 00177670 7F C3 F3 78 */ mr r3, r30 /* 8017A714 00177674 38 81 00 18 */ addi r4, r1, 0x18 /* 8017A718 00177678 B0 A1 00 18 */ sth r5, 0x18(r1) /* 8017A71C 0017767C 4B ED 1E 89 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017A720 00177680 7C 64 1B 78 */ mr r4, r3 /* 8017A724 00177684 38 61 00 24 */ addi r3, r1, 0x24 /* 8017A728 00177688 4B F2 F3 A1 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017A72C 0017768C 83 E3 00 04 */ lwz r31, 4(r3) /* 8017A730 00177690 28 1F 00 00 */ cmplwi r31, 0 /* 8017A734 00177694 41 82 03 D0 */ beq lbl_8017AB04 /* 8017A738 00177698 7F 84 E3 78 */ mr r4, r28 /* 8017A73C 0017769C 38 61 00 50 */ addi r3, r1, 0x50 /* 8017A740 001776A0 48 10 A6 3D */ bl GetEyePosition__7CPlayerCFv /* 8017A744 001776A4 C0 C1 00 50 */ lfs f6, 0x50(r1) /* 8017A748 001776A8 38 61 00 80 */ addi r3, r1, 0x80 /* 8017A74C 001776AC C0 A1 00 54 */ lfs f5, 0x54(r1) /* 8017A750 001776B0 C0 81 00 58 */ lfs f4, 0x58(r1) /* 8017A754 001776B4 D0 C1 00 8C */ stfs f6, 0x8c(r1) /* 8017A758 001776B8 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017A75C 001776BC D0 A1 00 90 */ stfs f5, 0x90(r1) /* 8017A760 001776C0 D0 81 00 94 */ stfs f4, 0x94(r1) /* 8017A764 001776C4 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8017A768 001776C8 C0 7F 00 50 */ lfs f3, 0x50(r31) /* 8017A76C 001776CC C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8017A770 001776D0 EC 42 20 28 */ fsubs f2, f2, f4 /* 8017A774 001776D4 EC 63 28 28 */ fsubs f3, f3, f5 /* 8017A778 001776D8 EC 21 30 28 */ fsubs f1, f1, f6 /* 8017A77C 001776DC D0 41 00 7C */ stfs f2, 0x7c(r1) /* 8017A780 001776E0 D0 21 00 80 */ stfs f1, 0x80(r1) /* 8017A784 001776E4 D0 61 00 84 */ stfs f3, 0x84(r1) /* 8017A788 001776E8 D0 41 00 88 */ stfs f2, 0x88(r1) /* 8017A78C 001776EC D0 21 00 74 */ stfs f1, 0x74(r1) /* 8017A790 001776F0 D0 61 00 78 */ stfs f3, 0x78(r1) /* 8017A794 001776F4 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 8017A798 001776F8 48 19 9F 61 */ bl CanBeNormalized__9CVector3fCFv /* 8017A79C 001776FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A7A0 00177700 41 82 03 64 */ beq lbl_8017AB04 /* 8017A7A4 00177704 38 61 00 74 */ addi r3, r1, 0x74 /* 8017A7A8 00177708 48 19 9F 51 */ bl CanBeNormalized__9CVector3fCFv /* 8017A7AC 0017770C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A7B0 00177710 41 82 03 54 */ beq lbl_8017AB04 /* 8017A7B4 00177714 38 61 00 74 */ addi r3, r1, 0x74 /* 8017A7B8 00177718 48 19 A1 01 */ bl Magnitude__9CVector3fCFv /* 8017A7BC 0017771C C0 02 A2 7C */ lfs f0, lbl_805ABF9C@sda21(r2) /* 8017A7C0 00177720 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017A7C4 00177724 40 81 03 40 */ ble lbl_8017AB04 /* 8017A7C8 00177728 80 1C 03 04 */ lwz r0, 0x304(r28) /* 8017A7CC 0017772C 2C 00 00 05 */ cmpwi r0, 5 /* 8017A7D0 00177730 41 82 00 14 */ beq lbl_8017A7E4 /* 8017A7D4 00177734 40 80 03 30 */ bge lbl_8017AB04 /* 8017A7D8 00177738 2C 00 00 01 */ cmpwi r0, 1 /* 8017A7DC 0017773C 41 82 01 60 */ beq lbl_8017A93C /* 8017A7E0 00177740 48 00 03 24 */ b lbl_8017AB04 lbl_8017A7E4: /* 8017A7E4 00177744 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017A7E8 00177748 80 03 02 D0 */ lwz r0, 0x2d0(r3) /* 8017A7EC 0017774C 2C 00 00 02 */ cmpwi r0, 2 /* 8017A7F0 00177750 41 82 03 14 */ beq lbl_8017AB04 /* 8017A7F4 00177754 40 80 03 10 */ bge lbl_8017AB04 /* 8017A7F8 00177758 2C 00 00 00 */ cmpwi r0, 0 /* 8017A7FC 0017775C 40 80 00 08 */ bge lbl_8017A804 /* 8017A800 00177760 48 00 03 04 */ b lbl_8017AB04 lbl_8017A804: /* 8017A804 00177764 7F A4 EB 78 */ mr r4, r29 /* 8017A808 00177768 38 60 00 0B */ li r3, 0xb /* 8017A80C 0017776C 4B E9 1F C5 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017A810 00177770 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A814 00177774 41 82 02 F0 */ beq lbl_8017AB04 /* 8017A818 00177778 A0 1C 03 3C */ lhz r0, 0x33c(r28) /* 8017A81C 0017777C 7F C3 F3 78 */ mr r3, r30 /* 8017A820 00177780 38 81 00 10 */ addi r4, r1, 0x10 /* 8017A824 00177784 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017A828 00177788 4B ED 1D 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017A82C 0017778C 7C 64 1B 78 */ mr r4, r3 /* 8017A830 00177790 38 61 00 1C */ addi r3, r1, 0x1c /* 8017A834 00177794 4B F2 F2 95 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017A838 00177798 80 83 00 04 */ lwz r4, 4(r3) /* 8017A83C 0017779C 28 04 00 00 */ cmplwi r4, 0 /* 8017A840 001777A0 41 82 00 B8 */ beq lbl_8017A8F8 /* 8017A844 001777A4 C0 24 00 60 */ lfs f1, 0x60(r4) /* 8017A848 001777A8 38 61 00 80 */ addi r3, r1, 0x80 /* 8017A84C 001777AC C0 01 00 94 */ lfs f0, 0x94(r1) /* 8017A850 001777B0 C0 64 00 50 */ lfs f3, 0x50(r4) /* 8017A854 001777B4 C0 41 00 90 */ lfs f2, 0x90(r1) /* 8017A858 001777B8 EC 81 00 28 */ fsubs f4, f1, f0 /* 8017A85C 001777BC C0 24 00 40 */ lfs f1, 0x40(r4) /* 8017A860 001777C0 C0 01 00 8C */ lfs f0, 0x8c(r1) /* 8017A864 001777C4 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017A868 001777C8 D0 81 00 88 */ stfs f4, 0x88(r1) /* 8017A86C 001777CC EC 21 00 28 */ fsubs f1, f1, f0 /* 8017A870 001777D0 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017A874 001777D4 D0 41 00 84 */ stfs f2, 0x84(r1) /* 8017A878 001777D8 D0 21 00 80 */ stfs f1, 0x80(r1) /* 8017A87C 001777DC D0 01 00 88 */ stfs f0, 0x88(r1) /* 8017A880 001777E0 48 19 9E 79 */ bl CanBeNormalized__9CVector3fCFv /* 8017A884 001777E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A888 001777E8 41 82 02 7C */ beq lbl_8017AB04 /* 8017A88C 001777EC 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017A890 001777F0 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017A894 001777F4 4B FA 38 45 */ bl GrappleBeamDisconnected__11CGrappleArmFv /* 8017A898 001777F8 C0 01 00 84 */ lfs f0, 0x84(r1) /* 8017A89C 001777FC 38 7C 03 C0 */ addi r3, r28, 0x3c0 /* 8017A8A0 00177800 D0 1C 03 C0 */ stfs f0, 0x3c0(r28) /* 8017A8A4 00177804 C0 01 00 80 */ lfs f0, 0x80(r1) /* 8017A8A8 00177808 FC 00 00 50 */ fneg f0, f0 /* 8017A8AC 0017780C D0 1C 03 C4 */ stfs f0, 0x3c4(r28) /* 8017A8B0 00177810 48 19 A0 49 */ bl Normalize__9CVector3fFv /* 8017A8B4 00177814 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017A8B8 00177818 7F 83 E3 78 */ mr r3, r28 /* 8017A8BC 0017781C 7F C5 F3 78 */ mr r5, r30 /* 8017A8C0 00177820 38 81 00 0C */ addi r4, r1, 0xc /* 8017A8C4 00177824 D0 1C 03 BC */ stfs f0, 0x3bc(r28) /* 8017A8C8 00177828 A0 1C 03 3C */ lhz r0, 0x33c(r28) /* 8017A8CC 0017782C B0 01 00 0C */ sth r0, 0xc(r1) /* 8017A8D0 00177830 48 00 0D 1D */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017A8D4 00177834 38 00 00 02 */ li r0, 2 /* 8017A8D8 00177838 90 1C 03 B8 */ stw r0, 0x3b8(r28) /* 8017A8DC 0017783C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017A8E0 00177840 B0 1C 03 3C */ sth r0, 0x33c(r28) /* 8017A8E4 00177844 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017A8E8 00177848 B0 01 00 08 */ sth r0, 8(r1) /* 8017A8EC 0017784C 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017A8F0 00177850 4B FA 38 35 */ bl GrappleBeamConnected__11CGrappleArmFv /* 8017A8F4 00177854 48 00 02 10 */ b lbl_8017AB04 lbl_8017A8F8: /* 8017A8F8 00177858 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017A8FC 0017785C 80 03 02 D0 */ lwz r0, 0x2d0(r3) /* 8017A900 00177860 2C 00 00 00 */ cmpwi r0, 0 /* 8017A904 00177864 40 82 00 24 */ bne lbl_8017A928 /* 8017A908 00177868 C0 3C 03 D8 */ lfs f1, 0x3d8(r28) /* 8017A90C 0017786C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017A910 00177870 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017A914 00177874 4C 40 13 82 */ cror 2, 0, 2 /* 8017A918 00177878 40 82 00 10 */ bne lbl_8017A928 /* 8017A91C 0017787C 7F 83 E3 78 */ mr r3, r28 /* 8017A920 00177880 7F C4 F3 78 */ mr r4, r30 /* 8017A924 00177884 48 00 04 C9 */ bl ApplyGrappleJump__7CPlayerFR13CStateManager lbl_8017A928: /* 8017A928 00177888 7F 83 E3 78 */ mr r3, r28 /* 8017A92C 0017788C 7F C5 F3 78 */ mr r5, r30 /* 8017A930 00177890 38 80 00 00 */ li r4, 0 /* 8017A934 00177894 48 00 07 91 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017A938 00177898 48 00 01 CC */ b lbl_8017AB04 lbl_8017A93C: /* 8017A93C 0017789C 38 61 00 80 */ addi r3, r1, 0x80 /* 8017A940 001778A0 48 19 9D B9 */ bl CanBeNormalized__9CVector3fCFv /* 8017A944 001778A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017A948 001778A8 41 82 01 BC */ beq lbl_8017AB04 /* 8017A94C 001778AC 38 61 00 80 */ addi r3, r1, 0x80 /* 8017A950 001778B0 48 19 9F 69 */ bl Magnitude__9CVector3fCFv /* 8017A954 001778B4 FF E0 08 90 */ fmr f31, f1 /* 8017A958 001778B8 38 61 00 44 */ addi r3, r1, 0x44 /* 8017A95C 001778BC 38 81 00 80 */ addi r4, r1, 0x80 /* 8017A960 001778C0 48 19 9E F1 */ bl AsNormalized__9CVector3fCFv /* 8017A964 001778C4 FC 20 F8 90 */ fmr f1, f31 /* 8017A968 001778C8 3C 60 80 47 */ lis r3, lbl_8046C8C0@ha /* 8017A96C 001778CC 38 E3 C8 C0 */ addi r7, r3, lbl_8046C8C0@l /* 8017A970 001778D0 7F C4 F3 78 */ mr r4, r30 /* 8017A974 001778D4 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8017A978 001778D8 38 A1 00 8C */ addi r5, r1, 0x8c /* 8017A97C 001778DC 38 C1 00 44 */ addi r6, r1, 0x44 /* 8017A980 001778E0 4B ED 26 19 */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter /* 8017A984 001778E4 88 01 00 E8 */ lbz r0, 0xe8(r1) /* 8017A988 001778E8 28 00 00 00 */ cmplwi r0, 0 /* 8017A98C 001778EC 40 82 01 78 */ bne lbl_8017AB04 /* 8017A990 001778F0 7F 83 E3 78 */ mr r3, r28 /* 8017A994 001778F4 7F C4 F3 78 */ mr r4, r30 /* 8017A998 001778F8 4B E9 F7 D5 */ bl HolsterGun__7CPlayerFR13CStateManager /* 8017A99C 001778FC 80 1C 03 B8 */ lwz r0, 0x3b8(r28) /* 8017A9A0 00177900 2C 00 00 02 */ cmpwi r0, 2 /* 8017A9A4 00177904 41 82 01 60 */ beq lbl_8017AB04 /* 8017A9A8 00177908 40 80 00 14 */ bge lbl_8017A9BC /* 8017A9AC 0017790C 2C 00 00 00 */ cmpwi r0, 0 /* 8017A9B0 00177910 41 82 01 3C */ beq lbl_8017AAEC /* 8017A9B4 00177914 40 80 00 10 */ bge lbl_8017A9C4 /* 8017A9B8 00177918 48 00 01 4C */ b lbl_8017AB04 lbl_8017A9BC: /* 8017A9BC 0017791C 2C 00 00 04 */ cmpwi r0, 4 /* 8017A9C0 00177920 40 80 01 44 */ bge lbl_8017AB04 lbl_8017A9C4: /* 8017A9C4 00177924 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017A9C8 00177928 80 03 02 D0 */ lwz r0, 0x2d0(r3) /* 8017A9CC 0017792C 2C 00 00 01 */ cmpwi r0, 1 /* 8017A9D0 00177930 41 82 00 80 */ beq lbl_8017AA50 /* 8017A9D4 00177934 40 80 00 10 */ bge lbl_8017A9E4 /* 8017A9D8 00177938 2C 00 00 00 */ cmpwi r0, 0 /* 8017A9DC 0017793C 40 80 00 14 */ bge lbl_8017A9F0 /* 8017A9E0 00177940 48 00 01 24 */ b lbl_8017AB04 lbl_8017A9E4: /* 8017A9E4 00177944 2C 00 00 03 */ cmpwi r0, 3 /* 8017A9E8 00177948 40 80 01 1C */ bge lbl_8017AB04 /* 8017A9EC 0017794C 48 00 00 BC */ b lbl_8017AAA8 lbl_8017A9F0: /* 8017A9F0 00177950 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017A9F4 00177954 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017A9F8 00177958 80 03 03 34 */ lwz r0, 0x334(r3) /* 8017A9FC 0017795C 2C 00 00 06 */ cmpwi r0, 6 /* 8017AA00 00177960 41 82 00 3C */ beq lbl_8017AA3C /* 8017AA04 00177964 40 80 01 00 */ bge lbl_8017AB04 /* 8017AA08 00177968 2C 00 00 01 */ cmpwi r0, 1 /* 8017AA0C 0017796C 41 82 00 08 */ beq lbl_8017AA14 /* 8017AA10 00177970 48 00 00 F4 */ b lbl_8017AB04 lbl_8017AA14: /* 8017AA14 00177974 7F A4 EB 78 */ mr r4, r29 /* 8017AA18 00177978 38 60 00 0B */ li r3, 0xb /* 8017AA1C 0017797C 4B E9 1E 59 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017AA20 00177980 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017AA24 00177984 41 82 00 E0 */ beq lbl_8017AB04 /* 8017AA28 00177988 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017AA2C 0017798C 38 80 00 02 */ li r4, 2 /* 8017AA30 00177990 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017AA34 00177994 4B FA 3B 2D */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState /* 8017AA38 00177998 48 00 00 CC */ b lbl_8017AB04 lbl_8017AA3C: /* 8017AA3C 0017799C 7F 83 E3 78 */ mr r3, r28 /* 8017AA40 001779A0 7F C5 F3 78 */ mr r5, r30 /* 8017AA44 001779A4 38 81 00 80 */ addi r4, r1, 0x80 /* 8017AA48 001779A8 48 00 05 D9 */ bl BeginGrapple__7CPlayerFR9CVector3fR13CStateManager /* 8017AA4C 001779AC 48 00 00 B8 */ b lbl_8017AB04 lbl_8017AA50: /* 8017AA50 001779B0 7F A4 EB 78 */ mr r4, r29 /* 8017AA54 001779B4 38 60 00 0B */ li r3, 0xb /* 8017AA58 001779B8 4B E9 1E 1D */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017AA5C 001779BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017AA60 001779C0 41 82 00 A4 */ beq lbl_8017AB04 /* 8017AA64 001779C4 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017AA68 001779C8 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017AA6C 001779CC 80 03 03 34 */ lwz r0, 0x334(r3) /* 8017AA70 001779D0 2C 00 00 06 */ cmpwi r0, 6 /* 8017AA74 001779D4 41 82 00 20 */ beq lbl_8017AA94 /* 8017AA78 001779D8 40 80 00 8C */ bge lbl_8017AB04 /* 8017AA7C 001779DC 2C 00 00 01 */ cmpwi r0, 1 /* 8017AA80 001779E0 41 82 00 08 */ beq lbl_8017AA88 /* 8017AA84 001779E4 48 00 00 80 */ b lbl_8017AB04 lbl_8017AA88: /* 8017AA88 001779E8 38 80 00 02 */ li r4, 2 /* 8017AA8C 001779EC 4B FA 3A D5 */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState /* 8017AA90 001779F0 48 00 00 74 */ b lbl_8017AB04 lbl_8017AA94: /* 8017AA94 001779F4 7F 83 E3 78 */ mr r3, r28 /* 8017AA98 001779F8 7F C5 F3 78 */ mr r5, r30 /* 8017AA9C 001779FC 38 81 00 80 */ addi r4, r1, 0x80 /* 8017AAA0 00177A00 48 00 05 81 */ bl BeginGrapple__7CPlayerFR9CVector3fR13CStateManager /* 8017AAA4 00177A04 48 00 00 60 */ b lbl_8017AB04 lbl_8017AAA8: /* 8017AAA8 00177A08 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017AAAC 00177A0C 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017AAB0 00177A10 80 03 03 34 */ lwz r0, 0x334(r3) /* 8017AAB4 00177A14 2C 00 00 06 */ cmpwi r0, 6 /* 8017AAB8 00177A18 41 82 00 20 */ beq lbl_8017AAD8 /* 8017AABC 00177A1C 40 80 00 48 */ bge lbl_8017AB04 /* 8017AAC0 00177A20 2C 00 00 01 */ cmpwi r0, 1 /* 8017AAC4 00177A24 41 82 00 08 */ beq lbl_8017AACC /* 8017AAC8 00177A28 48 00 00 3C */ b lbl_8017AB04 lbl_8017AACC: /* 8017AACC 00177A2C 38 80 00 02 */ li r4, 2 /* 8017AAD0 00177A30 4B FA 3A 91 */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState /* 8017AAD4 00177A34 48 00 00 30 */ b lbl_8017AB04 lbl_8017AAD8: /* 8017AAD8 00177A38 7F 83 E3 78 */ mr r3, r28 /* 8017AADC 00177A3C 7F C5 F3 78 */ mr r5, r30 /* 8017AAE0 00177A40 38 81 00 80 */ addi r4, r1, 0x80 /* 8017AAE4 00177A44 48 00 05 3D */ bl BeginGrapple__7CPlayerFR9CVector3fR13CStateManager /* 8017AAE8 00177A48 48 00 00 1C */ b lbl_8017AB04 lbl_8017AAEC: /* 8017AAEC 00177A4C 38 00 00 01 */ li r0, 1 /* 8017AAF0 00177A50 38 80 00 01 */ li r4, 1 /* 8017AAF4 00177A54 90 1C 03 B8 */ stw r0, 0x3b8(r28) /* 8017AAF8 00177A58 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017AAFC 00177A5C 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017AB00 00177A60 4B FA 3D 01 */ bl Activate__11CGrappleArmFb lbl_8017AB04: /* 8017AB04 00177A64 80 1C 03 04 */ lwz r0, 0x304(r28) /* 8017AB08 00177A68 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017AB0C 00177A6C 2C 00 00 05 */ cmpwi r0, 5 /* 8017AB10 00177A70 80 83 02 D0 */ lwz r4, 0x2d0(r3) /* 8017AB14 00177A74 41 82 00 14 */ beq lbl_8017AB28 /* 8017AB18 00177A78 40 80 02 AC */ bge lbl_8017ADC4 /* 8017AB1C 00177A7C 2C 00 00 01 */ cmpwi r0, 1 /* 8017AB20 00177A80 41 82 02 64 */ beq lbl_8017AD84 /* 8017AB24 00177A84 48 00 02 A0 */ b lbl_8017ADC4 lbl_8017AB28: /* 8017AB28 00177A88 28 1F 00 00 */ cmplwi r31, 0 /* 8017AB2C 00177A8C 40 82 00 18 */ bne lbl_8017AB44 /* 8017AB30 00177A90 7F 83 E3 78 */ mr r3, r28 /* 8017AB34 00177A94 7F C5 F3 78 */ mr r5, r30 /* 8017AB38 00177A98 38 80 00 03 */ li r4, 3 /* 8017AB3C 00177A9C 48 00 05 89 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017AB40 00177AA0 48 00 02 84 */ b lbl_8017ADC4 lbl_8017AB44: /* 8017AB44 00177AA4 2C 04 00 01 */ cmpwi r4, 1 /* 8017AB48 00177AA8 41 82 00 90 */ beq lbl_8017ABD8 /* 8017AB4C 00177AAC 40 80 00 10 */ bge lbl_8017AB5C /* 8017AB50 00177AB0 2C 04 00 00 */ cmpwi r4, 0 /* 8017AB54 00177AB4 40 80 00 10 */ bge lbl_8017AB64 /* 8017AB58 00177AB8 48 00 01 7C */ b lbl_8017ACD4 lbl_8017AB5C: /* 8017AB5C 00177ABC 2C 04 00 03 */ cmpwi r4, 3 /* 8017AB60 00177AC0 40 80 01 74 */ bge lbl_8017ACD4 lbl_8017AB64: /* 8017AB64 00177AC4 80 1C 03 B8 */ lwz r0, 0x3b8(r28) /* 8017AB68 00177AC8 2C 00 00 04 */ cmpwi r0, 4 /* 8017AB6C 00177ACC 41 82 00 08 */ beq lbl_8017AB74 /* 8017AB70 00177AD0 48 00 01 64 */ b lbl_8017ACD4 lbl_8017AB74: /* 8017AB74 00177AD4 C0 5C 03 D8 */ lfs f2, 0x3d8(r28) /* 8017AB78 00177AD8 C0 3D 00 00 */ lfs f1, 0(r29) /* 8017AB7C 00177ADC C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017AB80 00177AE0 EC 22 08 28 */ fsubs f1, f2, f1 /* 8017AB84 00177AE4 D0 3C 03 D8 */ stfs f1, 0x3d8(r28) /* 8017AB88 00177AE8 C0 3C 03 D8 */ lfs f1, 0x3d8(r28) /* 8017AB8C 00177AEC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017AB90 00177AF0 4C 40 13 82 */ cror 2, 0, 2 /* 8017AB94 00177AF4 40 82 01 40 */ bne lbl_8017ACD4 /* 8017AB98 00177AF8 7F 83 E3 78 */ mr r3, r28 /* 8017AB9C 00177AFC 7F C5 F3 78 */ mr r5, r30 /* 8017ABA0 00177B00 38 80 00 00 */ li r4, 0 /* 8017ABA4 00177B04 48 00 05 21 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017ABA8 00177B08 7F 83 E3 78 */ mr r3, r28 /* 8017ABAC 00177B0C 7F C5 F3 78 */ mr r5, r30 /* 8017ABB0 00177B10 38 80 00 02 */ li r4, 2 /* 8017ABB4 00177B14 48 10 B8 39 */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager /* 8017ABB8 00177B18 C0 3D 00 00 */ lfs f1, 0(r29) /* 8017ABBC 00177B1C 7F 83 E3 78 */ mr r3, r28 /* 8017ABC0 00177B20 7F A4 EB 78 */ mr r4, r29 /* 8017ABC4 00177B24 7F C5 F3 78 */ mr r5, r30 /* 8017ABC8 00177B28 48 10 C3 AD */ bl ComputeMovement__7CPlayerFRC11CFinalInputR13CStateManagerf /* 8017ABCC 00177B2C 7F 83 E3 78 */ mr r3, r28 /* 8017ABD0 00177B30 48 00 07 11 */ bl PreventFallingCameraPitch__7CPlayerFv /* 8017ABD4 00177B34 48 00 01 00 */ b lbl_8017ACD4 lbl_8017ABD8: /* 8017ABD8 00177B38 80 1C 03 B8 */ lwz r0, 0x3b8(r28) /* 8017ABDC 00177B3C 2C 00 00 03 */ cmpwi r0, 3 /* 8017ABE0 00177B40 41 82 00 20 */ beq lbl_8017AC00 /* 8017ABE4 00177B44 40 80 00 10 */ bge lbl_8017ABF4 /* 8017ABE8 00177B48 2C 00 00 01 */ cmpwi r0, 1 /* 8017ABEC 00177B4C 40 80 00 C4 */ bge lbl_8017ACB0 /* 8017ABF0 00177B50 48 00 00 E4 */ b lbl_8017ACD4 lbl_8017ABF4: /* 8017ABF4 00177B54 2C 00 00 05 */ cmpwi r0, 5 /* 8017ABF8 00177B58 40 80 00 DC */ bge lbl_8017ACD4 /* 8017ABFC 00177B5C 48 00 00 50 */ b lbl_8017AC4C lbl_8017AC00: /* 8017AC00 00177B60 7F A4 EB 78 */ mr r4, r29 /* 8017AC04 00177B64 38 60 00 0B */ li r3, 0xb /* 8017AC08 00177B68 4B E9 1C 6D */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017AC0C 00177B6C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017AC10 00177B70 40 82 00 C4 */ bne lbl_8017ACD4 /* 8017AC14 00177B74 C0 3C 03 D8 */ lfs f1, 0x3d8(r28) /* 8017AC18 00177B78 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017AC1C 00177B7C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017AC20 00177B80 4C 40 13 82 */ cror 2, 0, 2 /* 8017AC24 00177B84 40 82 00 B0 */ bne lbl_8017ACD4 /* 8017AC28 00177B88 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017AC2C 00177B8C 38 00 00 04 */ li r0, 4 /* 8017AC30 00177B90 7F 83 E3 78 */ mr r3, r28 /* 8017AC34 00177B94 7F C4 F3 78 */ mr r4, r30 /* 8017AC38 00177B98 C0 05 02 CC */ lfs f0, 0x2cc(r5) /* 8017AC3C 00177B9C D0 1C 03 D8 */ stfs f0, 0x3d8(r28) /* 8017AC40 00177BA0 90 1C 03 B8 */ stw r0, 0x3b8(r28) /* 8017AC44 00177BA4 48 00 01 A9 */ bl ApplyGrappleJump__7CPlayerFR13CStateManager /* 8017AC48 00177BA8 48 00 00 8C */ b lbl_8017ACD4 lbl_8017AC4C: /* 8017AC4C 00177BAC C0 5C 03 D8 */ lfs f2, 0x3d8(r28) /* 8017AC50 00177BB0 C0 3D 00 00 */ lfs f1, 0(r29) /* 8017AC54 00177BB4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017AC58 00177BB8 EC 22 08 28 */ fsubs f1, f2, f1 /* 8017AC5C 00177BBC D0 3C 03 D8 */ stfs f1, 0x3d8(r28) /* 8017AC60 00177BC0 C0 3C 03 D8 */ lfs f1, 0x3d8(r28) /* 8017AC64 00177BC4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017AC68 00177BC8 4C 40 13 82 */ cror 2, 0, 2 /* 8017AC6C 00177BCC 40 82 00 68 */ bne lbl_8017ACD4 /* 8017AC70 00177BD0 7F 83 E3 78 */ mr r3, r28 /* 8017AC74 00177BD4 7F C5 F3 78 */ mr r5, r30 /* 8017AC78 00177BD8 38 80 00 02 */ li r4, 2 /* 8017AC7C 00177BDC 48 10 B7 71 */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager /* 8017AC80 00177BE0 C0 3D 00 00 */ lfs f1, 0(r29) /* 8017AC84 00177BE4 7F 83 E3 78 */ mr r3, r28 /* 8017AC88 00177BE8 7F A4 EB 78 */ mr r4, r29 /* 8017AC8C 00177BEC 7F C5 F3 78 */ mr r5, r30 /* 8017AC90 00177BF0 48 10 C2 E5 */ bl ComputeMovement__7CPlayerFRC11CFinalInputR13CStateManagerf /* 8017AC94 00177BF4 7F 83 E3 78 */ mr r3, r28 /* 8017AC98 00177BF8 7F C5 F3 78 */ mr r5, r30 /* 8017AC9C 00177BFC 38 80 00 00 */ li r4, 0 /* 8017ACA0 00177C00 48 00 04 25 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017ACA4 00177C04 7F 83 E3 78 */ mr r3, r28 /* 8017ACA8 00177C08 48 00 06 39 */ bl PreventFallingCameraPitch__7CPlayerFv /* 8017ACAC 00177C0C 48 00 00 28 */ b lbl_8017ACD4 lbl_8017ACB0: /* 8017ACB0 00177C10 7F A4 EB 78 */ mr r4, r29 /* 8017ACB4 00177C14 38 60 00 0B */ li r3, 0xb /* 8017ACB8 00177C18 4B E9 1B BD */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017ACBC 00177C1C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017ACC0 00177C20 40 82 00 14 */ bne lbl_8017ACD4 /* 8017ACC4 00177C24 7F 83 E3 78 */ mr r3, r28 /* 8017ACC8 00177C28 7F C5 F3 78 */ mr r5, r30 /* 8017ACCC 00177C2C 38 80 00 00 */ li r4, 0 /* 8017ACD0 00177C30 48 00 03 F5 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager lbl_8017ACD4: /* 8017ACD4 00177C34 7F 84 E3 78 */ mr r4, r28 /* 8017ACD8 00177C38 38 61 00 38 */ addi r3, r1, 0x38 /* 8017ACDC 00177C3C 48 10 A0 A1 */ bl GetEyePosition__7CPlayerCFv /* 8017ACE0 00177C40 C0 A1 00 38 */ lfs f5, 0x38(r1) /* 8017ACE4 00177C44 38 61 00 5C */ addi r3, r1, 0x5c /* 8017ACE8 00177C48 C0 81 00 3C */ lfs f4, 0x3c(r1) /* 8017ACEC 00177C4C C0 61 00 40 */ lfs f3, 0x40(r1) /* 8017ACF0 00177C50 D0 A1 00 68 */ stfs f5, 0x68(r1) /* 8017ACF4 00177C54 D0 81 00 6C */ stfs f4, 0x6c(r1) /* 8017ACF8 00177C58 D0 61 00 70 */ stfs f3, 0x70(r1) /* 8017ACFC 00177C5C C0 5F 00 50 */ lfs f2, 0x50(r31) /* 8017AD00 00177C60 C0 3F 00 60 */ lfs f1, 0x60(r31) /* 8017AD04 00177C64 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8017AD08 00177C68 EC 42 20 28 */ fsubs f2, f2, f4 /* 8017AD0C 00177C6C EC 21 18 28 */ fsubs f1, f1, f3 /* 8017AD10 00177C70 EC 00 28 28 */ fsubs f0, f0, f5 /* 8017AD14 00177C74 D0 41 00 60 */ stfs f2, 0x60(r1) /* 8017AD18 00177C78 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8017AD1C 00177C7C D0 21 00 64 */ stfs f1, 0x64(r1) /* 8017AD20 00177C80 48 19 99 D9 */ bl CanBeNormalized__9CVector3fCFv /* 8017AD24 00177C84 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017AD28 00177C88 41 82 00 9C */ beq lbl_8017ADC4 /* 8017AD2C 00177C8C 38 61 00 5C */ addi r3, r1, 0x5c /* 8017AD30 00177C90 48 19 9B 89 */ bl Magnitude__9CVector3fCFv /* 8017AD34 00177C94 FF E0 08 90 */ fmr f31, f1 /* 8017AD38 00177C98 38 61 00 2C */ addi r3, r1, 0x2c /* 8017AD3C 00177C9C 38 81 00 5C */ addi r4, r1, 0x5c /* 8017AD40 00177CA0 48 19 9B 11 */ bl AsNormalized__9CVector3fCFv /* 8017AD44 00177CA4 FC 20 F8 90 */ fmr f1, f31 /* 8017AD48 00177CA8 3C 60 80 47 */ lis r3, lbl_8046C8C0@ha /* 8017AD4C 00177CAC 38 E3 C8 C0 */ addi r7, r3, lbl_8046C8C0@l /* 8017AD50 00177CB0 7F C4 F3 78 */ mr r4, r30 /* 8017AD54 00177CB4 38 61 00 98 */ addi r3, r1, 0x98 /* 8017AD58 00177CB8 38 A1 00 68 */ addi r5, r1, 0x68 /* 8017AD5C 00177CBC 38 C1 00 2C */ addi r6, r1, 0x2c /* 8017AD60 00177CC0 4B ED 22 39 */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter /* 8017AD64 00177CC4 88 01 00 B8 */ lbz r0, 0xb8(r1) /* 8017AD68 00177CC8 28 00 00 00 */ cmplwi r0, 0 /* 8017AD6C 00177CCC 41 82 00 58 */ beq lbl_8017ADC4 /* 8017AD70 00177CD0 7F 83 E3 78 */ mr r3, r28 /* 8017AD74 00177CD4 7F C5 F3 78 */ mr r5, r30 /* 8017AD78 00177CD8 38 80 00 0C */ li r4, 0xc /* 8017AD7C 00177CDC 48 00 03 49 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017AD80 00177CE0 48 00 00 44 */ b lbl_8017ADC4 lbl_8017AD84: /* 8017AD84 00177CE4 80 7C 04 90 */ lwz r3, 0x490(r28) /* 8017AD88 00177CE8 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017AD8C 00177CEC 88 03 03 B2 */ lbz r0, 0x3b2(r3) /* 8017AD90 00177CF0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8017AD94 00177CF4 41 82 00 30 */ beq lbl_8017ADC4 /* 8017AD98 00177CF8 2C 04 00 01 */ cmpwi r4, 1 /* 8017AD9C 00177CFC 40 82 00 28 */ bne lbl_8017ADC4 /* 8017ADA0 00177D00 7F A4 EB 78 */ mr r4, r29 /* 8017ADA4 00177D04 38 60 00 0B */ li r3, 0xb /* 8017ADA8 00177D08 4B E9 1A CD */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017ADAC 00177D0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017ADB0 00177D10 40 82 00 14 */ bne lbl_8017ADC4 /* 8017ADB4 00177D14 7F 83 E3 78 */ mr r3, r28 /* 8017ADB8 00177D18 7F C5 F3 78 */ mr r5, r30 /* 8017ADBC 00177D1C 38 80 00 00 */ li r4, 0 /* 8017ADC0 00177D20 48 00 03 05 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager lbl_8017ADC4: /* 8017ADC4 00177D24 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0 /* 8017ADC8 00177D28 80 01 01 24 */ lwz r0, 0x124(r1) /* 8017ADCC 00177D2C CB E1 01 10 */ lfd f31, 0x110(r1) /* 8017ADD0 00177D30 83 E1 01 0C */ lwz r31, 0x10c(r1) /* 8017ADD4 00177D34 83 C1 01 08 */ lwz r30, 0x108(r1) /* 8017ADD8 00177D38 83 A1 01 04 */ lwz r29, 0x104(r1) /* 8017ADDC 00177D3C 83 81 01 00 */ lwz r28, 0x100(r1) /* 8017ADE0 00177D40 7C 08 03 A6 */ mtlr r0 /* 8017ADE4 00177D44 38 21 01 20 */ addi r1, r1, 0x120 /* 8017ADE8 00177D48 4E 80 00 20 */ blr .global ApplyGrappleJump__7CPlayerFR13CStateManager ApplyGrappleJump__7CPlayerFR13CStateManager: /* 8017ADEC 00177D4C 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8017ADF0 00177D50 7C 08 02 A6 */ mflr r0 /* 8017ADF4 00177D54 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8017ADF8 00177D58 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 8017ADFC 00177D5C F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 8017AE00 00177D60 DB C1 00 90 */ stfd f30, 0x90(r1) /* 8017AE04 00177D64 F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 8017AE08 00177D68 DB A1 00 80 */ stfd f29, 0x80(r1) /* 8017AE0C 00177D6C F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 8017AE10 00177D70 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8017AE14 00177D74 A0 03 03 10 */ lhz r0, 0x310(r3) /* 8017AE18 00177D78 7C 7F 1B 78 */ mr r31, r3 /* 8017AE1C 00177D7C 7C 83 23 78 */ mr r3, r4 /* 8017AE20 00177D80 38 81 00 0C */ addi r4, r1, 0xc /* 8017AE24 00177D84 B0 01 00 08 */ sth r0, 8(r1) /* 8017AE28 00177D88 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017AE2C 00177D8C 4B ED 17 79 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017AE30 00177D90 7C 64 1B 78 */ mr r4, r3 /* 8017AE34 00177D94 38 61 00 10 */ addi r3, r1, 0x10 /* 8017AE38 00177D98 4B F2 EC 91 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017AE3C 00177D9C 80 A3 00 04 */ lwz r5, 4(r3) /* 8017AE40 00177DA0 28 05 00 00 */ cmplwi r5, 0 /* 8017AE44 00177DA4 41 82 01 B0 */ beq lbl_8017AFF4 /* 8017AE48 00177DA8 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017AE4C 00177DAC C0 22 A2 68 */ lfs f1, lbl_805ABF88@sda21(r2) /* 8017AE50 00177DB0 C0 03 02 A8 */ lfs f0, 0x2a8(r3) /* 8017AE54 00177DB4 C0 5F 03 BC */ lfs f2, 0x3bc(r31) /* 8017AE58 00177DB8 EC 01 00 32 */ fmuls f0, f1, f0 /* 8017AE5C 00177DBC C3 FF 03 C0 */ lfs f31, 0x3c0(r31) /* 8017AE60 00177DC0 C3 DF 03 C4 */ lfs f30, 0x3c4(r31) /* 8017AE64 00177DC4 C3 BF 03 C8 */ lfs f29, 0x3c8(r31) /* 8017AE68 00177DC8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017AE6C 00177DCC 40 80 00 14 */ bge lbl_8017AE80 /* 8017AE70 00177DD0 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 8017AE74 00177DD4 EF FF 00 32 */ fmuls f31, f31, f0 /* 8017AE78 00177DD8 EF DE 00 32 */ fmuls f30, f30, f0 /* 8017AE7C 00177DDC EF BD 00 32 */ fmuls f29, f29, f0 lbl_8017AE80: /* 8017AE80 00177DE0 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 8017AE84 00177DE4 38 61 00 30 */ addi r3, r1, 0x30 /* 8017AE88 00177DE8 C0 05 00 50 */ lfs f0, 0x50(r5) /* 8017AE8C 00177DEC 38 81 00 60 */ addi r4, r1, 0x60 /* 8017AE90 00177DF0 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 8017AE94 00177DF4 C0 45 00 60 */ lfs f2, 0x60(r5) /* 8017AE98 00177DF8 EC 81 00 28 */ fsubs f4, f1, f0 /* 8017AE9C 00177DFC C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8017AEA0 00177E00 C0 05 00 40 */ lfs f0, 0x40(r5) /* 8017AEA4 00177E04 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017AEA8 00177E08 EC 01 00 28 */ fsubs f0, f1, f0 /* 8017AEAC 00177E0C D0 81 00 64 */ stfs f4, 0x64(r1) /* 8017AEB0 00177E10 D0 41 00 68 */ stfs f2, 0x68(r1) /* 8017AEB4 00177E14 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8017AEB8 00177E18 48 19 99 99 */ bl AsNormalized__9CVector3fCFv /* 8017AEBC 00177E1C C0 C1 00 34 */ lfs f6, 0x34(r1) /* 8017AEC0 00177E20 38 61 00 48 */ addi r3, r1, 0x48 /* 8017AEC4 00177E24 C0 E1 00 38 */ lfs f7, 0x38(r1) /* 8017AEC8 00177E28 C0 A1 00 30 */ lfs f5, 0x30(r1) /* 8017AECC 00177E2C EC 9F 01 B2 */ fmuls f4, f31, f6 /* 8017AED0 00177E30 EC 7E 01 F2 */ fmuls f3, f30, f7 /* 8017AED4 00177E34 C0 01 00 68 */ lfs f0, 0x68(r1) /* 8017AED8 00177E38 EC 3D 01 72 */ fmuls f1, f29, f5 /* 8017AEDC 00177E3C C0 41 00 60 */ lfs f2, 0x60(r1) /* 8017AEE0 00177E40 EC A5 27 B8 */ fmsubs f5, f5, f30, f4 /* 8017AEE4 00177E44 EC 86 1F 78 */ fmsubs f4, f6, f29, f3 /* 8017AEE8 00177E48 EC 67 0F F8 */ fmsubs f3, f7, f31, f1 /* 8017AEEC 00177E4C C0 21 00 64 */ lfs f1, 0x64(r1) /* 8017AEF0 00177E50 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8017AEF4 00177E54 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017AEF8 00177E58 D0 81 00 54 */ stfs f4, 0x54(r1) /* 8017AEFC 00177E5C C3 A2 A2 4C */ lfs f29, lbl_805ABF6C@sda21(r2) /* 8017AF00 00177E60 D0 61 00 58 */ stfs f3, 0x58(r1) /* 8017AF04 00177E64 D0 A1 00 5C */ stfs f5, 0x5c(r1) /* 8017AF08 00177E68 D0 41 00 48 */ stfs f2, 0x48(r1) /* 8017AF0C 00177E6C D0 21 00 4C */ stfs f1, 0x4c(r1) /* 8017AF10 00177E70 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8017AF14 00177E74 48 19 97 E5 */ bl CanBeNormalized__9CVector3fCFv /* 8017AF18 00177E78 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017AF1C 00177E7C 41 82 00 7C */ beq lbl_8017AF98 /* 8017AF20 00177E80 38 61 00 54 */ addi r3, r1, 0x54 /* 8017AF24 00177E84 48 19 97 D5 */ bl CanBeNormalized__9CVector3fCFv /* 8017AF28 00177E88 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017AF2C 00177E8C 41 82 00 6C */ beq lbl_8017AF98 /* 8017AF30 00177E90 38 61 00 18 */ addi r3, r1, 0x18 /* 8017AF34 00177E94 38 81 00 48 */ addi r4, r1, 0x48 /* 8017AF38 00177E98 48 19 99 19 */ bl AsNormalized__9CVector3fCFv /* 8017AF3C 00177E9C 38 61 00 24 */ addi r3, r1, 0x24 /* 8017AF40 00177EA0 38 81 00 54 */ addi r4, r1, 0x54 /* 8017AF44 00177EA4 48 19 99 0D */ bl AsNormalized__9CVector3fCFv /* 8017AF48 00177EA8 C0 21 00 28 */ lfs f1, 0x28(r1) /* 8017AF4C 00177EAC C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8017AF50 00177EB0 C0 41 00 24 */ lfs f2, 0x24(r1) /* 8017AF54 00177EB4 EC 01 00 32 */ fmuls f0, f1, f0 /* 8017AF58 00177EB8 C0 21 00 18 */ lfs f1, 0x18(r1) /* 8017AF5C 00177EBC C0 81 00 2C */ lfs f4, 0x2c(r1) /* 8017AF60 00177EC0 C0 61 00 20 */ lfs f3, 0x20(r1) /* 8017AF64 00177EC4 EC 22 00 7A */ fmadds f1, f2, f1, f0 /* 8017AF68 00177EC8 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 8017AF6C 00177ECC EC 24 08 FA */ fmadds f1, f4, f3, f1 /* 8017AF70 00177ED0 FC 20 0A 10 */ fabs f1, f1 /* 8017AF74 00177ED4 FC 40 08 18 */ frsp f2, f1 /* 8017AF78 00177ED8 FC 20 12 10 */ fabs f1, f2 /* 8017AF7C 00177EDC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017AF80 00177EE0 40 81 00 14 */ ble lbl_8017AF94 /* 8017AF84 00177EE4 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 8017AF88 00177EE8 C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 8017AF8C 00177EEC FC 02 00 6E */ fsel f0, f2, f1, f0 /* 8017AF90 00177EF0 EC 41 00 32 */ fmuls f2, f1, f0 lbl_8017AF94: /* 8017AF94 00177EF4 FF A0 10 90 */ fmr f29, f2 lbl_8017AF98: /* 8017AF98 00177EF8 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017AF9C 00177EFC C0 41 00 58 */ lfs f2, 0x58(r1) /* 8017AFA0 00177F00 C0 83 02 C8 */ lfs f4, 0x2c8(r3) /* 8017AFA4 00177F04 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 8017AFA8 00177F08 C0 01 00 54 */ lfs f0, 0x54(r1) /* 8017AFAC 00177F0C EC 44 00 B2 */ fmuls f2, f4, f2 /* 8017AFB0 00177F10 C0 62 A2 80 */ lfs f3, lbl_805ABFA0@sda21(r2) /* 8017AFB4 00177F14 EC 24 00 72 */ fmuls f1, f4, f1 /* 8017AFB8 00177F18 EC 04 00 32 */ fmuls f0, f4, f0 /* 8017AFBC 00177F1C EC 43 00 B2 */ fmuls f2, f3, f2 /* 8017AFC0 00177F20 EC 23 00 72 */ fmuls f1, f3, f1 /* 8017AFC4 00177F24 EC 03 00 32 */ fmuls f0, f3, f0 /* 8017AFC8 00177F28 EC 5D 00 B2 */ fmuls f2, f29, f2 /* 8017AFCC 00177F2C EC 3D 00 72 */ fmuls f1, f29, f1 /* 8017AFD0 00177F30 EC 1D 00 32 */ fmuls f0, f29, f0 /* 8017AFD4 00177F34 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8017AFD8 00177F38 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 8017AFDC 00177F3C D0 21 00 44 */ stfs f1, 0x44(r1) /* 8017AFE0 00177F40 4B EA 05 55 */ bl Identity__10CAxisAngleFv /* 8017AFE4 00177F44 7C 65 1B 78 */ mr r5, r3 /* 8017AFE8 00177F48 7F E3 FB 78 */ mr r3, r31 /* 8017AFEC 00177F4C 38 81 00 3C */ addi r4, r1, 0x3c /* 8017AFF0 00177F50 4B FA 12 D5 */ bl ApplyForceWR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle lbl_8017AFF4: /* 8017AFF4 00177F54 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 8017AFF8 00177F58 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 8017AFFC 00177F5C E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 8017B000 00177F60 CB C1 00 90 */ lfd f30, 0x90(r1) /* 8017B004 00177F64 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 8017B008 00177F68 CB A1 00 80 */ lfd f29, 0x80(r1) /* 8017B00C 00177F6C 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8017B010 00177F70 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8017B014 00177F74 7C 08 03 A6 */ mtlr r0 /* 8017B018 00177F78 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8017B01C 00177F7C 4E 80 00 20 */ blr .global BeginGrapple__7CPlayerFR9CVector3fR13CStateManager BeginGrapple__7CPlayerFR9CVector3fR13CStateManager: /* 8017B020 00177F80 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8017B024 00177F84 7C 08 02 A6 */ mflr r0 /* 8017B028 00177F88 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017B02C 00177F8C 90 01 00 24 */ stw r0, 0x24(r1) /* 8017B030 00177F90 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8017B034 00177F94 7C BF 2B 78 */ mr r31, r5 /* 8017B038 00177F98 93 C1 00 18 */ stw r30, 0x18(r1) /* 8017B03C 00177F9C 7C 9E 23 78 */ mr r30, r4 /* 8017B040 00177FA0 93 A1 00 14 */ stw r29, 0x14(r1) /* 8017B044 00177FA4 7C 7D 1B 78 */ mr r29, r3 /* 8017B048 00177FA8 7F C3 F3 78 */ mr r3, r30 /* 8017B04C 00177FAC D0 04 00 08 */ stfs f0, 8(r4) /* 8017B050 00177FB0 48 19 96 A9 */ bl CanBeNormalized__9CVector3fCFv /* 8017B054 00177FB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017B058 00177FB8 41 82 00 50 */ beq lbl_8017B0A8 /* 8017B05C 00177FBC C0 1E 00 04 */ lfs f0, 4(r30) /* 8017B060 00177FC0 38 7D 03 C0 */ addi r3, r29, 0x3c0 /* 8017B064 00177FC4 D0 1D 03 C0 */ stfs f0, 0x3c0(r29) /* 8017B068 00177FC8 C0 1E 00 00 */ lfs f0, 0(r30) /* 8017B06C 00177FCC FC 00 00 50 */ fneg f0, f0 /* 8017B070 00177FD0 D0 1D 03 C4 */ stfs f0, 0x3c4(r29) /* 8017B074 00177FD4 48 19 98 85 */ bl Normalize__9CVector3fFv /* 8017B078 00177FD8 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017B07C 00177FDC 7F A3 EB 78 */ mr r3, r29 /* 8017B080 00177FE0 7F E5 FB 78 */ mr r5, r31 /* 8017B084 00177FE4 38 80 00 05 */ li r4, 5 /* 8017B088 00177FE8 D0 1D 03 BC */ stfs f0, 0x3bc(r29) /* 8017B08C 00177FEC 48 00 04 09 */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017B090 00177FF0 38 00 00 02 */ li r0, 2 /* 8017B094 00177FF4 7F A3 EB 78 */ mr r3, r29 /* 8017B098 00177FF8 90 1D 03 B8 */ stw r0, 0x3b8(r29) /* 8017B09C 00177FFC 7F E5 FB 78 */ mr r5, r31 /* 8017B0A0 00178000 38 80 00 25 */ li r4, 0x25 /* 8017B0A4 00178004 4B ED 8E DD */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager lbl_8017B0A8: /* 8017B0A8 00178008 80 01 00 24 */ lwz r0, 0x24(r1) /* 8017B0AC 0017800C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8017B0B0 00178010 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8017B0B4 00178014 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8017B0B8 00178018 7C 08 03 A6 */ mtlr r0 /* 8017B0BC 0017801C 38 21 00 20 */ addi r1, r1, 0x20 /* 8017B0C0 00178020 4E 80 00 20 */ blr .global BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager: /* 8017B0C4 00178024 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8017B0C8 00178028 7C 08 02 A6 */ mflr r0 /* 8017B0CC 0017802C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017B0D0 00178030 90 01 00 24 */ stw r0, 0x24(r1) /* 8017B0D4 00178034 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8017B0D8 00178038 7C BF 2B 78 */ mr r31, r5 /* 8017B0DC 0017803C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8017B0E0 00178040 7C 9E 23 78 */ mr r30, r4 /* 8017B0E4 00178044 93 A1 00 14 */ stw r29, 0x14(r1) /* 8017B0E8 00178048 7C 7D 1B 78 */ mr r29, r3 /* 8017B0EC 0017804C D0 03 02 94 */ stfs f0, 0x294(r3) /* 8017B0F0 00178050 D0 03 02 9C */ stfs f0, 0x29c(r3) /* 8017B0F4 00178054 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017B0F8 00178058 80 04 02 D0 */ lwz r0, 0x2d0(r4) /* 8017B0FC 0017805C 2C 00 00 02 */ cmpwi r0, 2 /* 8017B100 00178060 40 82 00 20 */ bne lbl_8017B120 /* 8017B104 00178064 80 1D 03 B8 */ lwz r0, 0x3b8(r29) /* 8017B108 00178068 2C 00 00 03 */ cmpwi r0, 3 /* 8017B10C 0017806C 40 82 00 14 */ bne lbl_8017B120 /* 8017B110 00178070 7F E4 FB 78 */ mr r4, r31 /* 8017B114 00178074 4B FF FC D9 */ bl ApplyGrappleJump__7CPlayerFR13CStateManager /* 8017B118 00178078 7F A3 EB 78 */ mr r3, r29 /* 8017B11C 0017807C 48 00 01 C5 */ bl PreventFallingCameraPitch__7CPlayerFv lbl_8017B120: /* 8017B120 00178080 7F A3 EB 78 */ mr r3, r29 /* 8017B124 00178084 7F C4 F3 78 */ mr r4, r30 /* 8017B128 00178088 7F E5 FB 78 */ mr r5, r31 /* 8017B12C 0017808C 48 00 00 71 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017B130 00178090 38 00 00 00 */ li r0, 0 /* 8017B134 00178094 7F A3 EB 78 */ mr r3, r29 /* 8017B138 00178098 90 1D 03 B8 */ stw r0, 0x3b8(r29) /* 8017B13C 0017809C 7F E5 FB 78 */ mr r5, r31 /* 8017B140 001780A0 38 80 00 25 */ li r4, 0x25 /* 8017B144 001780A4 4B ED 92 0D */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 8017B148 001780A8 80 7D 04 90 */ lwz r3, 0x490(r29) /* 8017B14C 001780AC 38 80 00 08 */ li r4, 8 /* 8017B150 001780B0 80 63 07 40 */ lwz r3, 0x740(r3) /* 8017B154 001780B4 4B FA 34 0D */ bl SetAnimState__11CGrappleArmFQ211CGrappleArm9EArmState /* 8017B158 001780B8 7F A3 EB 78 */ mr r3, r29 /* 8017B15C 001780BC 48 00 01 4D */ bl InGrappleJumpCooldown__7CPlayerCFv /* 8017B160 001780C0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017B164 001780C4 40 82 00 1C */ bne lbl_8017B180 /* 8017B168 001780C8 80 1D 03 B8 */ lwz r0, 0x3b8(r29) /* 8017B16C 001780CC 2C 00 00 04 */ cmpwi r0, 4 /* 8017B170 001780D0 41 82 00 10 */ beq lbl_8017B180 /* 8017B174 001780D4 7F A3 EB 78 */ mr r3, r29 /* 8017B178 001780D8 7F E4 FB 78 */ mr r4, r31 /* 8017B17C 001780DC 4B E9 EF 31 */ bl DrawGun__7CPlayerFR13CStateManager lbl_8017B180: /* 8017B180 001780E0 80 01 00 24 */ lwz r0, 0x24(r1) /* 8017B184 001780E4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8017B188 001780E8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8017B18C 001780EC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8017B190 001780F0 7C 08 03 A6 */ mtlr r0 /* 8017B194 001780F4 38 21 00 20 */ addi r1, r1, 0x20 /* 8017B198 001780F8 4E 80 00 20 */ blr .global SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager: /* 8017B19C 001780FC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017B1A0 00178100 7C 08 02 A6 */ mflr r0 /* 8017B1A4 00178104 2C 04 00 08 */ cmpwi r4, 8 /* 8017B1A8 00178108 90 01 00 14 */ stw r0, 0x14(r1) /* 8017B1AC 0017810C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8017B1B0 00178110 7C 7F 1B 78 */ mr r31, r3 /* 8017B1B4 00178114 90 83 03 0C */ stw r4, 0x30c(r3) /* 8017B1B8 00178118 41 82 00 14 */ beq lbl_8017B1CC /* 8017B1BC 0017811C 40 80 00 78 */ bge lbl_8017B234 /* 8017B1C0 00178120 2C 04 00 07 */ cmpwi r4, 7 /* 8017B1C4 00178124 40 80 00 14 */ bge lbl_8017B1D8 /* 8017B1C8 00178128 48 00 00 6C */ b lbl_8017B234 lbl_8017B1CC: /* 8017B1CC 0017812C 7C A4 2B 78 */ mr r4, r5 /* 8017B1D0 00178130 48 00 37 15 */ bl ActivateOrbitSource__7CPlayerFR13CStateManager /* 8017B1D4 00178134 48 00 00 6C */ b lbl_8017B240 lbl_8017B1D8: /* 8017B1D8 00178138 38 80 00 02 */ li r4, 2 /* 8017B1DC 0017813C 48 00 02 B9 */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017B1E0 00178140 80 1F 03 08 */ lwz r0, 0x308(r31) /* 8017B1E4 00178144 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017B1E8 00178148 54 00 10 3A */ slwi r0, r0, 2 /* 8017B1EC 0017814C C0 1F 00 38 */ lfs f0, 0x38(r31) /* 8017B1F0 00178150 7C 63 02 14 */ add r3, r3, r0 /* 8017B1F4 00178154 C0 7F 00 48 */ lfs f3, 0x48(r31) /* 8017B1F8 00178158 C0 C3 01 64 */ lfs f6, 0x164(r3) /* 8017B1FC 0017815C C0 5F 00 58 */ lfs f2, 0x58(r31) /* 8017B200 00178160 EC 06 00 32 */ fmuls f0, f6, f0 /* 8017B204 00178164 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8017B208 00178168 EC 86 00 F2 */ fmuls f4, f6, f3 /* 8017B20C 0017816C C0 BF 00 50 */ lfs f5, 0x50(r31) /* 8017B210 00178170 EC 46 00 B2 */ fmuls f2, f6, f2 /* 8017B214 00178174 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 8017B218 00178178 EC 01 00 2A */ fadds f0, f1, f0 /* 8017B21C 0017817C EC 85 20 2A */ fadds f4, f5, f4 /* 8017B220 00178180 EC 23 10 2A */ fadds f1, f3, f2 /* 8017B224 00178184 D0 1F 03 14 */ stfs f0, 0x314(r31) /* 8017B228 00178188 D0 9F 03 18 */ stfs f4, 0x318(r31) /* 8017B22C 0017818C D0 3F 03 1C */ stfs f1, 0x31c(r31) /* 8017B230 00178190 48 00 00 10 */ b lbl_8017B240 lbl_8017B234: /* 8017B234 00178194 7F E3 FB 78 */ mr r3, r31 /* 8017B238 00178198 38 80 00 00 */ li r4, 0 /* 8017B23C 0017819C 48 00 02 59 */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager lbl_8017B240: /* 8017B240 001781A0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017B244 001781A4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8017B248 001781A8 7C 08 03 A6 */ mtlr r0 /* 8017B24C 001781AC 38 21 00 10 */ addi r1, r1, 0x10 /* 8017B250 001781B0 4E 80 00 20 */ blr .global SetOrbitRequestForTarget__7CPlayerF9TUniqueId19EPlayerOrbitRequestR13CStateManager SetOrbitRequestForTarget__7CPlayerF9TUniqueId19EPlayerOrbitRequestR13CStateManager: /* 8017B254 001781B4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017B258 001781B8 7C 08 02 A6 */ mflr r0 /* 8017B25C 001781BC 90 01 00 14 */ stw r0, 0x14(r1) /* 8017B260 001781C0 80 03 03 04 */ lwz r0, 0x304(r3) /* 8017B264 001781C4 2C 00 00 01 */ cmpwi r0, 1 /* 8017B268 001781C8 41 82 00 14 */ beq lbl_8017B27C /* 8017B26C 001781CC 2C 00 00 05 */ cmpwi r0, 5 /* 8017B270 001781D0 41 82 00 0C */ beq lbl_8017B27C /* 8017B274 001781D4 2C 00 00 04 */ cmpwi r0, 4 /* 8017B278 001781D8 40 82 00 20 */ bne lbl_8017B298 lbl_8017B27C: /* 8017B27C 001781DC A0 84 00 00 */ lhz r4, 0(r4) /* 8017B280 001781E0 A0 03 03 10 */ lhz r0, 0x310(r3) /* 8017B284 001781E4 7C 04 00 40 */ cmplw r4, r0 /* 8017B288 001781E8 40 82 00 10 */ bne lbl_8017B298 /* 8017B28C 001781EC 7C A4 2B 78 */ mr r4, r5 /* 8017B290 001781F0 7C C5 33 78 */ mr r5, r6 /* 8017B294 001781F4 4B FF FF 09 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager lbl_8017B298: /* 8017B298 001781F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017B29C 001781FC 7C 08 03 A6 */ mtlr r0 /* 8017B2A0 00178200 38 21 00 10 */ addi r1, r1, 0x10 /* 8017B2A4 00178204 4E 80 00 20 */ blr .global InGrappleJumpCooldown__7CPlayerCFv InGrappleJumpCooldown__7CPlayerCFv: /* 8017B2A8 00178208 80 03 02 58 */ lwz r0, 0x258(r3) /* 8017B2AC 0017820C 2C 00 00 00 */ cmpwi r0, 0 /* 8017B2B0 00178210 41 82 00 28 */ beq lbl_8017B2D8 /* 8017B2B4 00178214 C0 03 03 D8 */ lfs f0, 0x3d8(r3) /* 8017B2B8 00178218 C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 8017B2BC 0017821C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8017B2C0 00178220 41 81 00 10 */ bgt lbl_8017B2D0 /* 8017B2C4 00178224 C0 03 02 94 */ lfs f0, 0x294(r3) /* 8017B2C8 00178228 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8017B2CC 0017822C 40 82 00 0C */ bne lbl_8017B2D8 lbl_8017B2D0: /* 8017B2D0 00178230 38 60 00 01 */ li r3, 1 /* 8017B2D4 00178234 4E 80 00 20 */ blr lbl_8017B2D8: /* 8017B2D8 00178238 38 60 00 00 */ li r3, 0 /* 8017B2DC 0017823C 4E 80 00 20 */ blr .global PreventFallingCameraPitch__7CPlayerFv PreventFallingCameraPitch__7CPlayerFv: /* 8017B2E0 00178240 C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 8017B2E4 00178244 38 00 00 01 */ li r0, 1 /* 8017B2E8 00178248 C0 02 A2 84 */ lfs f0, lbl_805ABFA4@sda21(r2) /* 8017B2EC 0017824C D0 23 02 94 */ stfs f1, 0x294(r3) /* 8017B2F0 00178250 D0 03 02 9C */ stfs f0, 0x29c(r3) /* 8017B2F4 00178254 98 03 02 A4 */ stb r0, 0x2a4(r3) /* 8017B2F8 00178258 4E 80 00 20 */ blr .global OrbitCarcass__7CPlayerFR13CStateManager OrbitCarcass__7CPlayerFR13CStateManager: /* 8017B2FC 0017825C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017B300 00178260 7C 08 02 A6 */ mflr r0 /* 8017B304 00178264 90 01 00 14 */ stw r0, 0x14(r1) /* 8017B308 00178268 80 03 03 04 */ lwz r0, 0x304(r3) /* 8017B30C 0017826C 2C 00 00 01 */ cmpwi r0, 1 /* 8017B310 00178270 40 82 00 18 */ bne lbl_8017B328 /* 8017B314 00178274 38 00 00 02 */ li r0, 2 /* 8017B318 00178278 7C 85 23 78 */ mr r5, r4 /* 8017B31C 0017827C 90 03 03 08 */ stw r0, 0x308(r3) /* 8017B320 00178280 38 80 00 03 */ li r4, 3 /* 8017B324 00178284 48 00 01 71 */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager lbl_8017B328: /* 8017B328 00178288 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017B32C 0017828C 7C 08 03 A6 */ mtlr r0 /* 8017B330 00178290 38 21 00 10 */ addi r1, r1, 0x10 /* 8017B334 00178294 4E 80 00 20 */ blr .global OrbitPoint__7CPlayerFQ27CPlayer16EPlayerOrbitTypeR13CStateManager OrbitPoint__7CPlayerFQ27CPlayer16EPlayerOrbitTypeR13CStateManager: /* 8017B338 00178298 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017B33C 0017829C 7C 08 02 A6 */ mflr r0 /* 8017B340 001782A0 90 01 00 14 */ stw r0, 0x14(r1) /* 8017B344 001782A4 93 E1 00 0C */ stw r31, 0xc(r1) /* 8017B348 001782A8 7C BF 2B 78 */ mr r31, r5 /* 8017B34C 001782AC 93 C1 00 08 */ stw r30, 8(r1) /* 8017B350 001782B0 7C 7E 1B 78 */ mr r30, r3 /* 8017B354 001782B4 90 83 03 08 */ stw r4, 0x308(r3) /* 8017B358 001782B8 38 80 00 02 */ li r4, 2 /* 8017B35C 001782BC 48 00 01 39 */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017B360 001782C0 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017B364 001782C4 7F C3 F3 78 */ mr r3, r30 /* 8017B368 001782C8 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017B36C 001782CC 7F E4 FB 78 */ mr r4, r31 /* 8017B370 001782D0 54 00 10 3A */ slwi r0, r0, 2 /* 8017B374 001782D4 7C A5 02 14 */ add r5, r5, r0 /* 8017B378 001782D8 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017B37C 001782DC 48 00 05 9D */ bl SetOrbitPosition__7CPlayerFfR13CStateManager /* 8017B380 001782E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017B384 001782E4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8017B388 001782E8 83 C1 00 08 */ lwz r30, 8(r1) /* 8017B38C 001782EC 7C 08 03 A6 */ mtlr r0 /* 8017B390 001782F0 38 21 00 10 */ addi r1, r1, 0x10 /* 8017B394 001782F4 4E 80 00 20 */ blr .global CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType: /* 8017B398 001782F8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8017B39C 001782FC 7C 08 02 A6 */ mflr r0 /* 8017B3A0 00178300 90 01 00 34 */ stw r0, 0x34(r1) /* 8017B3A4 00178304 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8017B3A8 00178308 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8017B3AC 0017830C C0 83 00 60 */ lfs f4, 0x60(r3) /* 8017B3B0 00178310 54 80 10 3A */ slwi r0, r4, 2 /* 8017B3B4 00178314 C0 03 03 1C */ lfs f0, 0x31c(r3) /* 8017B3B8 00178318 38 81 00 08 */ addi r4, r1, 8 /* 8017B3BC 0017831C 80 CD A1 18 */ lwz r6, gpTweakPlayer@sda21(r13) /* 8017B3C0 00178320 38 A2 A2 88 */ addi r5, r2, lbl_805ABFA8@sda21 /* 8017B3C4 00178324 EC 20 20 28 */ fsubs f1, f0, f4 /* 8017B3C8 00178328 C0 63 00 50 */ lfs f3, 0x50(r3) /* 8017B3CC 0017832C C0 43 00 40 */ lfs f2, 0x40(r3) /* 8017B3D0 00178330 7C C6 02 14 */ add r6, r6, r0 /* 8017B3D4 00178334 C0 02 A2 8C */ lfs f0, lbl_805ABFAC@sda21(r2) /* 8017B3D8 00178338 38 6D 8E 78 */ addi r3, r13, lbl_805A7A38@sda21 /* 8017B3DC 0017833C FC 20 0A 10 */ fabs f1, f1 /* 8017B3E0 00178340 C3 E6 01 58 */ lfs f31, 0x158(r6) /* 8017B3E4 00178344 D0 41 00 0C */ stfs f2, 0xc(r1) /* 8017B3E8 00178348 FC 20 08 18 */ frsp f1, f1 /* 8017B3EC 0017834C D0 61 00 10 */ stfs f3, 0x10(r1) /* 8017B3F0 00178350 D0 81 00 14 */ stfs f4, 0x14(r1) /* 8017B3F4 00178354 EC 01 00 24 */ fdivs f0, f1, f0 /* 8017B3F8 00178358 D0 01 00 08 */ stfs f0, 8(r1) /* 8017B3FC 0017835C 4B E9 0E B9 */ bl "Clamp__5CMathFRCfRCfRCf" /* 8017B400 00178360 C0 03 00 00 */ lfs f0, 0(r3) /* 8017B404 00178364 EF FF 00 32 */ fmuls f31, f31, f0 /* 8017B408 00178368 FC 20 F8 90 */ fmr f1, f31 /* 8017B40C 0017836C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8017B410 00178370 80 01 00 34 */ lwz r0, 0x34(r1) /* 8017B414 00178374 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8017B418 00178378 7C 08 03 A6 */ mtlr r0 /* 8017B41C 0017837C 38 21 00 30 */ addi r1, r1, 0x30 /* 8017B420 00178380 4E 80 00 20 */ blr .global GetHUDOrbitTargetPosition__7CPlayerCFv GetHUDOrbitTargetPosition__7CPlayerCFv: /* 8017B424 00178384 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8017B428 00178388 7C 08 02 A6 */ mflr r0 /* 8017B42C 0017838C 90 01 00 44 */ stw r0, 0x44(r1) /* 8017B430 00178390 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8017B434 00178394 7C 9F 23 78 */ mr r31, r4 /* 8017B438 00178398 93 C1 00 38 */ stw r30, 0x38(r1) /* 8017B43C 0017839C 7C 7E 1B 78 */ mr r30, r3 /* 8017B440 001783A0 38 61 00 08 */ addi r3, r1, 8 /* 8017B444 001783A4 80 84 07 6C */ lwz r4, 0x76c(r4) /* 8017B448 001783A8 4B F6 E9 5D */ bl GetCameraBobTransformation__16CPlayerCameraBobCFv /* 8017B44C 001783AC C0 3F 03 14 */ lfs f1, 0x314(r31) /* 8017B450 001783B0 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8017B454 001783B4 C0 9F 03 18 */ lfs f4, 0x318(r31) /* 8017B458 001783B8 C0 61 00 24 */ lfs f3, 0x24(r1) /* 8017B45C 001783BC EC 01 00 2A */ fadds f0, f1, f0 /* 8017B460 001783C0 C0 5F 03 1C */ lfs f2, 0x31c(r31) /* 8017B464 001783C4 C0 21 00 34 */ lfs f1, 0x34(r1) /* 8017B468 001783C8 EC 64 18 2A */ fadds f3, f4, f3 /* 8017B46C 001783CC D0 1E 00 00 */ stfs f0, 0(r30) /* 8017B470 001783D0 EC 02 08 2A */ fadds f0, f2, f1 /* 8017B474 001783D4 D0 7E 00 04 */ stfs f3, 4(r30) /* 8017B478 001783D8 D0 1E 00 08 */ stfs f0, 8(r30) /* 8017B47C 001783DC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8017B480 001783E0 80 01 00 44 */ lwz r0, 0x44(r1) /* 8017B484 001783E4 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8017B488 001783E8 7C 08 03 A6 */ mtlr r0 /* 8017B48C 001783EC 38 21 00 40 */ addi r1, r1, 0x40 /* 8017B490 001783F0 4E 80 00 20 */ blr .global SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager: /* 8017B494 001783F4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8017B498 001783F8 7C 08 02 A6 */ mflr r0 /* 8017B49C 001783FC 90 01 00 44 */ stw r0, 0x44(r1) /* 8017B4A0 00178400 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8017B4A4 00178404 7C BF 2B 78 */ mr r31, r5 /* 8017B4A8 00178408 93 C1 00 38 */ stw r30, 0x38(r1) /* 8017B4AC 0017840C 7C 7E 1B 78 */ mr r30, r3 /* 8017B4B0 00178410 90 83 03 04 */ stw r4, 0x304(r3) /* 8017B4B4 00178414 80 03 03 04 */ lwz r0, 0x304(r3) /* 8017B4B8 00178418 80 85 08 70 */ lwz r4, 0x870(r5) /* 8017B4BC 0017841C 2C 00 00 02 */ cmpwi r0, 2 /* 8017B4C0 00178420 80 84 00 7C */ lwz r4, 0x7c(r4) /* 8017B4C4 00178424 41 82 00 F4 */ beq lbl_8017B5B8 /* 8017B4C8 00178428 40 80 00 14 */ bge lbl_8017B4DC /* 8017B4CC 0017842C 2C 00 00 00 */ cmpwi r0, 0 /* 8017B4D0 00178430 41 82 00 B4 */ beq lbl_8017B584 /* 8017B4D4 00178434 40 80 00 14 */ bge lbl_8017B4E8 /* 8017B4D8 00178438 48 00 00 FC */ b lbl_8017B5D4 lbl_8017B4DC: /* 8017B4DC 0017843C 2C 00 00 04 */ cmpwi r0, 4 /* 8017B4E0 00178440 40 80 00 F4 */ bge lbl_8017B5D4 /* 8017B4E4 00178444 48 00 00 10 */ b lbl_8017B4F4 lbl_8017B4E8: /* 8017B4E8 00178448 38 00 00 00 */ li r0, 0 /* 8017B4EC 0017844C 98 04 01 8C */ stb r0, 0x18c(r4) /* 8017B4F0 00178450 48 00 00 E4 */ b lbl_8017B5D4 lbl_8017B4F4: /* 8017B4F4 00178454 38 00 00 01 */ li r0, 1 /* 8017B4F8 00178458 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017B4FC 0017845C 98 04 01 8C */ stb r0, 0x18c(r4) /* 8017B500 00178460 38 61 00 20 */ addi r3, r1, 0x20 /* 8017B504 00178464 C0 5E 03 1C */ lfs f2, 0x31c(r30) /* 8017B508 00178468 C0 3E 00 60 */ lfs f1, 0x60(r30) /* 8017B50C 0017846C C0 9E 03 18 */ lfs f4, 0x318(r30) /* 8017B510 00178470 C0 7E 00 50 */ lfs f3, 0x50(r30) /* 8017B514 00178474 EC A2 08 28 */ fsubs f5, f2, f1 /* 8017B518 00178478 C0 5E 03 14 */ lfs f2, 0x314(r30) /* 8017B51C 0017847C C0 3E 00 40 */ lfs f1, 0x40(r30) /* 8017B520 00178480 EC 64 18 28 */ fsubs f3, f4, f3 /* 8017B524 00178484 EC 22 08 28 */ fsubs f1, f2, f1 /* 8017B528 00178488 D0 A1 00 28 */ stfs f5, 0x28(r1) /* 8017B52C 0017848C D0 61 00 24 */ stfs f3, 0x24(r1) /* 8017B530 00178490 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8017B534 00178494 D0 01 00 28 */ stfs f0, 0x28(r1) /* 8017B538 00178498 48 19 91 C1 */ bl CanBeNormalized__9CVector3fCFv /* 8017B53C 0017849C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017B540 001784A0 41 82 00 14 */ beq lbl_8017B554 /* 8017B544 001784A4 38 61 00 20 */ addi r3, r1, 0x20 /* 8017B548 001784A8 48 19 93 71 */ bl Magnitude__9CVector3fCFv /* 8017B54C 001784AC D0 3E 03 40 */ stfs f1, 0x340(r30) /* 8017B550 001784B0 48 00 00 0C */ b lbl_8017B55C lbl_8017B554: /* 8017B554 001784B4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017B558 001784B8 D0 1E 03 40 */ stfs f0, 0x340(r30) lbl_8017B55C: /* 8017B55C 001784BC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B560 001784C0 7F C3 F3 78 */ mr r3, r30 /* 8017B564 001784C4 7F E5 FB 78 */ mr r5, r31 /* 8017B568 001784C8 38 81 00 1C */ addi r4, r1, 0x1c /* 8017B56C 001784CC B0 01 00 1C */ sth r0, 0x1c(r1) /* 8017B570 001784D0 48 00 00 7D */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017B574 001784D4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B578 001784D8 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017B57C 001784DC B0 1E 03 3C */ sth r0, 0x33c(r30) /* 8017B580 001784E0 48 00 00 54 */ b lbl_8017B5D4 lbl_8017B584: /* 8017B584 001784E4 80 CD A1 18 */ lwz r6, gpTweakPlayer@sda21(r13) /* 8017B588 001784E8 38 81 00 14 */ addi r4, r1, 0x14 /* 8017B58C 001784EC C0 02 A2 90 */ lfs f0, lbl_805ABFB0@sda21(r2) /* 8017B590 001784F0 C0 26 01 80 */ lfs f1, 0x180(r6) /* 8017B594 001784F4 D0 3E 03 2C */ stfs f1, 0x32c(r30) /* 8017B598 001784F8 D0 1E 03 2C */ stfs f0, 0x32c(r30) /* 8017B59C 001784FC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B5A0 00178500 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017B5A4 00178504 48 00 00 49 */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017B5A8 00178508 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B5AC 0017850C B0 01 00 10 */ sth r0, 0x10(r1) /* 8017B5B0 00178510 B0 1E 03 3C */ sth r0, 0x33c(r30) /* 8017B5B4 00178514 48 00 00 20 */ b lbl_8017B5D4 lbl_8017B5B8: /* 8017B5B8 00178518 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B5BC 0017851C 38 81 00 0C */ addi r4, r1, 0xc /* 8017B5C0 00178520 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017B5C4 00178524 48 00 00 29 */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017B5C8 00178528 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B5CC 0017852C B0 01 00 08 */ sth r0, 8(r1) /* 8017B5D0 00178530 B0 1E 03 3C */ sth r0, 0x33c(r30) lbl_8017B5D4: /* 8017B5D4 00178534 80 01 00 44 */ lwz r0, 0x44(r1) /* 8017B5D8 00178538 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8017B5DC 0017853C 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8017B5E0 00178540 7C 08 03 A6 */ mtlr r0 /* 8017B5E4 00178544 38 21 00 40 */ addi r1, r1, 0x40 /* 8017B5E8 00178548 4E 80 00 20 */ blr .global SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager: /* 8017B5EC 0017854C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8017B5F0 00178550 7C 08 02 A6 */ mflr r0 /* 8017B5F4 00178554 90 01 00 54 */ stw r0, 0x54(r1) /* 8017B5F8 00178558 BF 41 00 38 */ stmw r26, 0x38(r1) /* 8017B5FC 0017855C 7C 9E 23 78 */ mr r30, r4 /* 8017B600 00178560 7C 7D 1B 78 */ mr r29, r3 /* 8017B604 00178564 7C BF 2B 78 */ mr r31, r5 /* 8017B608 00178568 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B60C 0017856C A0 84 00 00 */ lhz r4, 0(r4) /* 8017B610 00178570 7C 04 00 40 */ cmplw r4, r0 /* 8017B614 00178574 41 82 00 CC */ beq lbl_8017B6E0 /* 8017B618 00178578 A0 1E 00 00 */ lhz r0, 0(r30) /* 8017B61C 0017857C 7F E3 FB 78 */ mr r3, r31 /* 8017B620 00178580 38 81 00 14 */ addi r4, r1, 0x14 /* 8017B624 00178584 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017B628 00178588 4B ED 0F 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017B62C 0017858C 7C 64 1B 78 */ mr r4, r3 /* 8017B630 00178590 38 61 00 2C */ addi r3, r1, 0x2c /* 8017B634 00178594 4B F3 14 29 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8017B638 00178598 83 63 00 04 */ lwz r27, 4(r3) /* 8017B63C 0017859C 7F E3 FB 78 */ mr r3, r31 /* 8017B640 001785A0 A0 1E 00 00 */ lhz r0, 0(r30) /* 8017B644 001785A4 38 81 00 10 */ addi r4, r1, 0x10 /* 8017B648 001785A8 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017B64C 001785AC 4B ED 0F 59 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017B650 001785B0 7C 64 1B 78 */ mr r4, r3 /* 8017B654 001785B4 38 61 00 24 */ addi r3, r1, 0x24 /* 8017B658 001785B8 4B F2 A5 B9 */ bl "__ct__31TCastToPtr<17CWallCrawlerSwarm>FP7CEntity" /* 8017B65C 001785BC 83 43 00 04 */ lwz r26, 4(r3) /* 8017B660 001785C0 7F E3 FB 78 */ mr r3, r31 /* 8017B664 001785C4 A0 1E 00 00 */ lhz r0, 0(r30) /* 8017B668 001785C8 38 81 00 0C */ addi r4, r1, 0xc /* 8017B66C 001785CC B0 01 00 0C */ sth r0, 0xc(r1) /* 8017B670 001785D0 4B ED 0F 35 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017B674 001785D4 7C 64 1B 78 */ mr r4, r3 /* 8017B678 001785D8 38 61 00 18 */ addi r3, r1, 0x18 /* 8017B67C 001785DC 4B F2 9D 21 */ bl "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity" /* 8017B680 001785E0 4B F2 9C F1 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>" /* 8017B684 001785E4 A0 1E 00 00 */ lhz r0, 0(r30) /* 8017B688 001785E8 7C 7C 1B 78 */ mr r28, r3 /* 8017B68C 001785EC 7F E3 FB 78 */ mr r3, r31 /* 8017B690 001785F0 38 81 00 08 */ addi r4, r1, 8 /* 8017B694 001785F4 B0 01 00 08 */ sth r0, 8(r1) /* 8017B698 001785F8 4B ED 0F 0D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017B69C 001785FC 7C 64 1B 78 */ mr r4, r3 /* 8017B6A0 00178600 38 61 00 1C */ addi r3, r1, 0x1c /* 8017B6A4 00178604 4B F2 E1 11 */ bl "__ct__30TCastToPtr<16CScriptGunTurret>FP7CEntity" /* 8017B6A8 00178608 28 1B 00 00 */ cmplwi r27, 0 /* 8017B6AC 0017860C 80 03 00 04 */ lwz r0, 4(r3) /* 8017B6B0 00178610 40 82 00 1C */ bne lbl_8017B6CC /* 8017B6B4 00178614 28 1A 00 00 */ cmplwi r26, 0 /* 8017B6B8 00178618 40 82 00 14 */ bne lbl_8017B6CC /* 8017B6BC 0017861C 28 1C 00 00 */ cmplwi r28, 0 /* 8017B6C0 00178620 40 82 00 0C */ bne lbl_8017B6CC /* 8017B6C4 00178624 28 00 00 00 */ cmplwi r0, 0 /* 8017B6C8 00178628 41 82 00 10 */ beq lbl_8017B6D8 lbl_8017B6CC: /* 8017B6CC 0017862C 38 00 00 01 */ li r0, 1 /* 8017B6D0 00178630 98 1D 03 94 */ stb r0, 0x394(r29) /* 8017B6D4 00178634 48 00 00 0C */ b lbl_8017B6E0 lbl_8017B6D8: /* 8017B6D8 00178638 38 00 00 00 */ li r0, 0 /* 8017B6DC 0017863C 98 1D 03 94 */ stb r0, 0x394(r29) lbl_8017B6E0: /* 8017B6E0 00178640 A0 1E 00 00 */ lhz r0, 0(r30) /* 8017B6E4 00178644 B0 1D 03 10 */ sth r0, 0x310(r29) /* 8017B6E8 00178648 A0 7D 03 10 */ lhz r3, 0x310(r29) /* 8017B6EC 0017864C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B6F0 00178650 7C 03 00 40 */ cmplw r3, r0 /* 8017B6F4 00178654 40 82 00 0C */ bne lbl_8017B700 /* 8017B6F8 00178658 38 00 00 00 */ li r0, 0 /* 8017B6FC 0017865C 98 1D 03 74 */ stb r0, 0x374(r29) lbl_8017B700: /* 8017B700 00178660 BB 41 00 38 */ lmw r26, 0x38(r1) /* 8017B704 00178664 80 01 00 54 */ lwz r0, 0x54(r1) /* 8017B708 00178668 7C 08 03 A6 */ mtlr r0 /* 8017B70C 0017866C 38 21 00 50 */ addi r1, r1, 0x50 /* 8017B710 00178670 4E 80 00 20 */ blr .global UpdateOrbitPosition__7CPlayerFfR13CStateManager UpdateOrbitPosition__7CPlayerFfR13CStateManager: /* 8017B714 00178674 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8017B718 00178678 7C 08 02 A6 */ mflr r0 /* 8017B71C 0017867C 90 01 00 34 */ stw r0, 0x34(r1) /* 8017B720 00178680 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8017B724 00178684 7C 9F 23 78 */ mr r31, r4 /* 8017B728 00178688 93 C1 00 28 */ stw r30, 0x28(r1) /* 8017B72C 0017868C 7C 7E 1B 78 */ mr r30, r3 /* 8017B730 00178690 80 03 03 04 */ lwz r0, 0x304(r3) /* 8017B734 00178694 2C 00 00 01 */ cmpwi r0, 1 /* 8017B738 00178698 41 82 00 24 */ beq lbl_8017B75C /* 8017B73C 0017869C 40 80 00 08 */ bge lbl_8017B744 /* 8017B740 001786A0 48 00 00 8C */ b lbl_8017B7CC lbl_8017B744: /* 8017B744 001786A4 2C 00 00 06 */ cmpwi r0, 6 /* 8017B748 001786A8 40 80 00 84 */ bge lbl_8017B7CC /* 8017B74C 001786AC 2C 00 00 04 */ cmpwi r0, 4 /* 8017B750 001786B0 40 80 00 0C */ bge lbl_8017B75C /* 8017B754 001786B4 48 00 01 C5 */ bl SetOrbitPosition__7CPlayerFfR13CStateManager /* 8017B758 001786B8 48 00 00 74 */ b lbl_8017B7CC lbl_8017B75C: /* 8017B75C 001786BC A0 1E 03 10 */ lhz r0, 0x310(r30) /* 8017B760 001786C0 7F E3 FB 78 */ mr r3, r31 /* 8017B764 001786C4 38 81 00 0C */ addi r4, r1, 0xc /* 8017B768 001786C8 B0 01 00 08 */ sth r0, 8(r1) /* 8017B76C 001786CC B0 01 00 0C */ sth r0, 0xc(r1) /* 8017B770 001786D0 4B ED 0E 35 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017B774 001786D4 7C 64 1B 78 */ mr r4, r3 /* 8017B778 001786D8 38 61 00 10 */ addi r3, r1, 0x10 /* 8017B77C 001786DC 4B F3 45 15 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017B780 001786E0 80 83 00 04 */ lwz r4, 4(r3) /* 8017B784 001786E4 28 04 00 00 */ cmplwi r4, 0 /* 8017B788 001786E8 41 82 00 44 */ beq lbl_8017B7CC /* 8017B78C 001786EC A0 7E 03 10 */ lhz r3, 0x310(r30) /* 8017B790 001786F0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017B794 001786F4 7C 03 00 40 */ cmplw r3, r0 /* 8017B798 001786F8 41 82 00 34 */ beq lbl_8017B7CC /* 8017B79C 001786FC 81 84 00 00 */ lwz r12, 0(r4) /* 8017B7A0 00178700 7F E5 FB 78 */ mr r5, r31 /* 8017B7A4 00178704 38 61 00 18 */ addi r3, r1, 0x18 /* 8017B7A8 00178708 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8017B7AC 0017870C 7D 89 03 A6 */ mtctr r12 /* 8017B7B0 00178710 4E 80 04 21 */ bctrl /* 8017B7B4 00178714 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8017B7B8 00178718 D0 1E 03 14 */ stfs f0, 0x314(r30) /* 8017B7BC 0017871C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8017B7C0 00178720 D0 1E 03 18 */ stfs f0, 0x318(r30) /* 8017B7C4 00178724 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8017B7C8 00178728 D0 1E 03 1C */ stfs f0, 0x31c(r30) lbl_8017B7CC: /* 8017B7CC 0017872C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8017B7D0 00178730 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8017B7D4 00178734 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8017B7D8 00178738 7C 08 03 A6 */ mtlr r0 /* 8017B7DC 0017873C 38 21 00 30 */ addi r1, r1, 0x30 /* 8017B7E0 00178740 4E 80 00 20 */ blr .global UpdateOrbitZPosition__7CPlayerFv UpdateOrbitZPosition__7CPlayerFv: /* 8017B7E4 00178744 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8017B7E8 00178748 7C 08 02 A6 */ mflr r0 /* 8017B7EC 0017874C 90 01 00 34 */ stw r0, 0x34(r1) /* 8017B7F0 00178750 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8017B7F4 00178754 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8017B7F8 00178758 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8017B7FC 0017875C 7C 7F 1B 78 */ mr r31, r3 /* 8017B800 00178760 80 03 03 04 */ lwz r0, 0x304(r3) /* 8017B804 00178764 2C 00 00 02 */ cmpwi r0, 2 /* 8017B808 00178768 41 82 00 08 */ beq lbl_8017B810 /* 8017B80C 0017876C 48 00 00 4C */ b lbl_8017B858 lbl_8017B810: /* 8017B810 00178770 C0 1F 03 28 */ lfs f0, 0x328(r31) /* 8017B814 00178774 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017B818 00178778 FC 20 02 10 */ fabs f1, f0 /* 8017B81C 0017877C C0 04 01 EC */ lfs f0, 0x1ec(r4) /* 8017B820 00178780 FC 20 08 18 */ frsp f1, f1 /* 8017B824 00178784 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017B828 00178788 40 80 00 30 */ bge lbl_8017B858 /* 8017B82C 0017878C C3 FF 00 60 */ lfs f31, 0x60(r31) /* 8017B830 00178790 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 8017B834 00178794 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8017B838 00178798 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8017B83C 0017879C D0 01 00 08 */ stfs f0, 8(r1) /* 8017B840 001787A0 D3 E1 00 10 */ stfs f31, 0x10(r1) /* 8017B844 001787A4 48 10 95 9D */ bl GetEyeHeight__7CPlayerCFv /* 8017B848 001787A8 EC 3F 08 2A */ fadds f1, f31, f1 /* 8017B84C 001787AC C0 1F 03 28 */ lfs f0, 0x328(r31) /* 8017B850 001787B0 EC 00 08 2A */ fadds f0, f0, f1 /* 8017B854 001787B4 D0 1F 03 1C */ stfs f0, 0x31c(r31) lbl_8017B858: /* 8017B858 001787B8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8017B85C 001787BC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8017B860 001787C0 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8017B864 001787C4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8017B868 001787C8 7C 08 03 A6 */ mtlr r0 /* 8017B86C 001787CC 38 21 00 30 */ addi r1, r1, 0x30 /* 8017B870 001787D0 4E 80 00 20 */ blr .global UpdateOrbitFixedPosition__7CPlayerFv UpdateOrbitFixedPosition__7CPlayerFv: /* 8017B874 001787D4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8017B878 001787D8 7C 08 02 A6 */ mflr r0 /* 8017B87C 001787DC 90 01 00 64 */ stw r0, 0x64(r1) /* 8017B880 001787E0 DB E1 00 50 */ stfd f31, 0x50(r1) /* 8017B884 001787E4 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 8017B888 001787E8 DB C1 00 40 */ stfd f30, 0x40(r1) /* 8017B88C 001787EC F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 8017B890 001787F0 DB A1 00 30 */ stfd f29, 0x30(r1) /* 8017B894 001787F4 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0 /* 8017B898 001787F8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8017B89C 001787FC 7C 7F 1B 78 */ mr r31, r3 /* 8017B8A0 00178800 38 61 00 14 */ addi r3, r1, 0x14 /* 8017B8A4 00178804 7F E4 FB 78 */ mr r4, r31 /* 8017B8A8 00178808 48 10 94 D5 */ bl GetEyePosition__7CPlayerCFv /* 8017B8AC 0017880C C3 E1 00 14 */ lfs f31, 0x14(r1) /* 8017B8B0 00178810 38 61 00 08 */ addi r3, r1, 8 /* 8017B8B4 00178814 C3 C1 00 18 */ lfs f30, 0x18(r1) /* 8017B8B8 00178818 38 9F 00 34 */ addi r4, r31, 0x34 /* 8017B8BC 0017881C C3 A1 00 1C */ lfs f29, 0x1c(r1) /* 8017B8C0 00178820 38 BF 03 20 */ addi r5, r31, 0x320 /* 8017B8C4 00178824 48 19 71 BD */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8017B8C8 00178828 C0 01 00 08 */ lfs f0, 8(r1) /* 8017B8CC 0017882C C0 41 00 0C */ lfs f2, 0xc(r1) /* 8017B8D0 00178830 EC 1F 00 2A */ fadds f0, f31, f0 /* 8017B8D4 00178834 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8017B8D8 00178838 EC 5E 10 2A */ fadds f2, f30, f2 /* 8017B8DC 0017883C EC 3D 08 2A */ fadds f1, f29, f1 /* 8017B8E0 00178840 D0 1F 03 14 */ stfs f0, 0x314(r31) /* 8017B8E4 00178844 D0 5F 03 18 */ stfs f2, 0x318(r31) /* 8017B8E8 00178848 D0 3F 03 1C */ stfs f1, 0x31c(r31) /* 8017B8EC 0017884C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 8017B8F0 00178850 CB E1 00 50 */ lfd f31, 0x50(r1) /* 8017B8F4 00178854 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 8017B8F8 00178858 CB C1 00 40 */ lfd f30, 0x40(r1) /* 8017B8FC 0017885C E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0 /* 8017B900 00178860 CB A1 00 30 */ lfd f29, 0x30(r1) /* 8017B904 00178864 80 01 00 64 */ lwz r0, 0x64(r1) /* 8017B908 00178868 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8017B90C 0017886C 7C 08 03 A6 */ mtlr r0 /* 8017B910 00178870 38 21 00 60 */ addi r1, r1, 0x60 /* 8017B914 00178874 4E 80 00 20 */ blr .global SetOrbitPosition__7CPlayerFfR13CStateManager SetOrbitPosition__7CPlayerFfR13CStateManager: /* 8017B918 00178878 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 8017B91C 0017887C 7C 08 02 A6 */ mflr r0 /* 8017B920 00178880 90 01 00 C4 */ stw r0, 0xc4(r1) /* 8017B924 00178884 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 8017B928 00178888 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 8017B92C 0017888C DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 8017B930 00178890 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 8017B934 00178894 DB A1 00 90 */ stfd f29, 0x90(r1) /* 8017B938 00178898 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0 /* 8017B93C 0017889C DB 81 00 80 */ stfd f28, 0x80(r1) /* 8017B940 001788A0 F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0 /* 8017B944 001788A4 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8017B948 001788A8 7C 7F 1B 78 */ mr r31, r3 /* 8017B94C 001788AC FF E0 08 90 */ fmr f31, f1 /* 8017B950 001788B0 4B E9 D7 7D */ bl GetFirstPersonCameraTransform__7CPlayerCFR13CStateManager /* 8017B954 001788B4 7C 64 1B 78 */ mr r4, r3 /* 8017B958 001788B8 38 61 00 44 */ addi r3, r1, 0x44 /* 8017B95C 001788BC 48 19 72 19 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8017B960 001788C0 80 1F 03 04 */ lwz r0, 0x304(r31) /* 8017B964 001788C4 2C 00 00 02 */ cmpwi r0, 2 /* 8017B968 001788C8 40 82 00 1C */ bne lbl_8017B984 /* 8017B96C 001788CC 80 1F 03 0C */ lwz r0, 0x30c(r31) /* 8017B970 001788D0 2C 00 00 07 */ cmpwi r0, 7 /* 8017B974 001788D4 40 82 00 10 */ bne lbl_8017B984 /* 8017B978 001788D8 38 61 00 44 */ addi r3, r1, 0x44 /* 8017B97C 001788DC 38 9F 00 34 */ addi r4, r31, 0x34 /* 8017B980 001788E0 48 19 71 C1 */ bl __as__12CTransform4fFRC12CTransform4f lbl_8017B984: /* 8017B984 001788E4 C3 C1 00 68 */ lfs f30, 0x68(r1) /* 8017B988 001788E8 38 61 00 20 */ addi r3, r1, 0x20 /* 8017B98C 001788EC C3 A1 00 58 */ lfs f29, 0x58(r1) /* 8017B990 001788F0 38 81 00 38 */ addi r4, r1, 0x38 /* 8017B994 001788F4 C3 81 00 48 */ lfs f28, 0x48(r1) /* 8017B998 001788F8 D3 C1 00 40 */ stfs f30, 0x40(r1) /* 8017B99C 001788FC C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017B9A0 00178900 D3 81 00 38 */ stfs f28, 0x38(r1) /* 8017B9A4 00178904 D3 A1 00 3C */ stfs f29, 0x3c(r1) /* 8017B9A8 00178908 D0 01 00 40 */ stfs f0, 0x40(r1) /* 8017B9AC 0017890C 48 19 8E A5 */ bl AsNormalized__9CVector3fCFv /* 8017B9B0 00178910 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8017B9B4 00178914 C0 41 00 20 */ lfs f2, 0x20(r1) /* 8017B9B8 00178918 EC 20 07 72 */ fmuls f1, f0, f29 /* 8017B9BC 0017891C C0 61 00 28 */ lfs f3, 0x28(r1) /* 8017B9C0 00178920 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 8017B9C4 00178924 EC 22 0F 3A */ fmadds f1, f2, f28, f1 /* 8017B9C8 00178928 EC 43 0F BA */ fmadds f2, f3, f30, f1 /* 8017B9CC 0017892C FC 20 12 10 */ fabs f1, f2 /* 8017B9D0 00178930 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017B9D4 00178934 40 81 00 14 */ ble lbl_8017B9E8 /* 8017B9D8 00178938 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 8017B9DC 0017893C C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 8017B9E0 00178940 FC 02 00 6E */ fsel f0, f2, f1, f0 /* 8017B9E4 00178944 EC 41 00 32 */ fmuls f2, f1, f0 lbl_8017B9E8: /* 8017B9E8 00178948 EC 1F 10 24 */ fdivs f0, f31, f2 /* 8017B9EC 0017894C C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 8017B9F0 00178950 38 61 00 14 */ addi r3, r1, 0x14 /* 8017B9F4 00178954 38 81 00 44 */ addi r4, r1, 0x44 /* 8017B9F8 00178958 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 8017B9FC 0017895C 38 A1 00 2C */ addi r5, r1, 0x2c /* 8017BA00 00178960 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8017BA04 00178964 D0 21 00 34 */ stfs f1, 0x34(r1) /* 8017BA08 00178968 48 19 70 79 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8017BA0C 0017896C C0 21 00 50 */ lfs f1, 0x50(r1) /* 8017BA10 00178970 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8017BA14 00178974 C0 81 00 60 */ lfs f4, 0x60(r1) /* 8017BA18 00178978 C0 61 00 18 */ lfs f3, 0x18(r1) /* 8017BA1C 0017897C EC 21 00 2A */ fadds f1, f1, f0 /* 8017BA20 00178980 C0 A1 00 70 */ lfs f5, 0x70(r1) /* 8017BA24 00178984 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 8017BA28 00178988 EC 64 18 2A */ fadds f3, f4, f3 /* 8017BA2C 0017898C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017BA30 00178990 D0 3F 03 14 */ stfs f1, 0x314(r31) /* 8017BA34 00178994 EC 25 10 2A */ fadds f1, f5, f2 /* 8017BA38 00178998 D0 7F 03 18 */ stfs f3, 0x318(r31) /* 8017BA3C 0017899C D0 3F 03 1C */ stfs f1, 0x31c(r31) /* 8017BA40 001789A0 C0 81 00 50 */ lfs f4, 0x50(r1) /* 8017BA44 001789A4 C0 61 00 60 */ lfs f3, 0x60(r1) /* 8017BA48 001789A8 C0 41 00 70 */ lfs f2, 0x70(r1) /* 8017BA4C 001789AC C0 3F 03 1C */ lfs f1, 0x31c(r31) /* 8017BA50 001789B0 D0 81 00 08 */ stfs f4, 8(r1) /* 8017BA54 001789B4 EC 21 10 28 */ fsubs f1, f1, f2 /* 8017BA58 001789B8 D0 1F 03 20 */ stfs f0, 0x320(r31) /* 8017BA5C 001789BC D3 FF 03 24 */ stfs f31, 0x324(r31) /* 8017BA60 001789C0 D0 61 00 0C */ stfs f3, 0xc(r1) /* 8017BA64 001789C4 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8017BA68 001789C8 D0 3F 03 28 */ stfs f1, 0x328(r31) /* 8017BA6C 001789CC E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 8017BA70 001789D0 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 8017BA74 001789D4 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 8017BA78 001789D8 CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 8017BA7C 001789DC E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0 /* 8017BA80 001789E0 CB A1 00 90 */ lfd f29, 0x90(r1) /* 8017BA84 001789E4 E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0 /* 8017BA88 001789E8 CB 81 00 80 */ lfd f28, 0x80(r1) /* 8017BA8C 001789EC 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 8017BA90 001789F0 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8017BA94 001789F4 7C 08 03 A6 */ mtlr r0 /* 8017BA98 001789F8 38 21 00 C0 */ addi r1, r1, 0xc0 /* 8017BA9C 001789FC 4E 80 00 20 */ blr .global UpdateAimTarget__7CPlayerFR13CStateManager UpdateAimTarget__7CPlayerFR13CStateManager: /* 8017BAA0 00178A00 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8017BAA4 00178A04 7C 08 02 A6 */ mflr r0 /* 8017BAA8 00178A08 90 01 00 84 */ stw r0, 0x84(r1) /* 8017BAAC 00178A0C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8017BAB0 00178A10 93 C1 00 78 */ stw r30, 0x78(r1) /* 8017BAB4 00178A14 93 A1 00 74 */ stw r29, 0x74(r1) /* 8017BAB8 00178A18 7C 9D 23 78 */ mr r29, r4 /* 8017BABC 00178A1C 7F A5 EB 78 */ mr r5, r29 /* 8017BAC0 00178A20 38 81 00 5C */ addi r4, r1, 0x5c /* 8017BAC4 00178A24 93 81 00 70 */ stw r28, 0x70(r1) /* 8017BAC8 00178A28 7C 7C 1B 78 */ mr r28, r3 /* 8017BACC 00178A2C A0 03 03 F4 */ lhz r0, 0x3f4(r3) /* 8017BAD0 00178A30 B0 01 00 58 */ sth r0, 0x58(r1) /* 8017BAD4 00178A34 B0 01 00 5C */ sth r0, 0x5c(r1) /* 8017BAD8 00178A38 48 00 02 A9 */ bl ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017BADC 00178A3C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017BAE0 00178A40 40 82 00 18 */ bne lbl_8017BAF8 /* 8017BAE4 00178A44 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BAE8 00178A48 7F 83 E3 78 */ mr r3, r28 /* 8017BAEC 00178A4C 38 81 00 54 */ addi r4, r1, 0x54 /* 8017BAF0 00178A50 B0 01 00 54 */ sth r0, 0x54(r1) /* 8017BAF4 00178A54 4B E9 E2 B1 */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId lbl_8017BAF8: /* 8017BAF8 00178A58 7F 83 E3 78 */ mr r3, r28 /* 8017BAFC 00178A5C 4B E9 7D 4D */ bl GetCombatMode__7CPlayerCFv /* 8017BB00 00178A60 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017BB04 00178A64 40 82 00 24 */ bne lbl_8017BB28 /* 8017BB08 00178A68 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BB0C 00178A6C 7F 83 E3 78 */ mr r3, r28 /* 8017BB10 00178A70 38 81 00 50 */ addi r4, r1, 0x50 /* 8017BB14 00178A74 B0 01 00 50 */ sth r0, 0x50(r1) /* 8017BB18 00178A78 4B E9 E2 8D */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017BB1C 00178A7C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017BB20 00178A80 D0 1C 04 8C */ stfs f0, 0x48c(r28) /* 8017BB24 00178A84 48 00 02 10 */ b lbl_8017BD34 lbl_8017BB28: /* 8017BB28 00178A88 88 02 80 E0 */ lbz r0, lbl_805A9E00@sda21(r2) /* 8017BB2C 00178A8C 28 00 00 00 */ cmplwi r0, 0 /* 8017BB30 00178A90 40 82 00 80 */ bne lbl_8017BBB0 /* 8017BB34 00178A94 88 02 80 E1 */ lbz r0, lbl_805A9E01@sda21(r2) /* 8017BB38 00178A98 28 00 00 00 */ cmplwi r0, 0 /* 8017BB3C 00178A9C 41 82 00 74 */ beq lbl_8017BBB0 /* 8017BB40 00178AA0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BB44 00178AA4 7F 83 E3 78 */ mr r3, r28 /* 8017BB48 00178AA8 38 81 00 4C */ addi r4, r1, 0x4c /* 8017BB4C 00178AAC B0 01 00 4C */ sth r0, 0x4c(r1) /* 8017BB50 00178AB0 4B E9 E2 55 */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017BB54 00178AB4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017BB58 00178AB8 D0 1C 04 8C */ stfs f0, 0x48c(r28) /* 8017BB5C 00178ABC 80 1C 03 04 */ lwz r0, 0x304(r28) /* 8017BB60 00178AC0 2C 00 00 01 */ cmpwi r0, 1 /* 8017BB64 00178AC4 41 82 00 0C */ beq lbl_8017BB70 /* 8017BB68 00178AC8 2C 00 00 04 */ cmpwi r0, 4 /* 8017BB6C 00178ACC 40 82 01 C8 */ bne lbl_8017BD34 lbl_8017BB70: /* 8017BB70 00178AD0 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017BB74 00178AD4 7F 83 E3 78 */ mr r3, r28 /* 8017BB78 00178AD8 7F A5 EB 78 */ mr r5, r29 /* 8017BB7C 00178ADC 38 81 00 48 */ addi r4, r1, 0x48 /* 8017BB80 00178AE0 B0 01 00 44 */ sth r0, 0x44(r1) /* 8017BB84 00178AE4 B0 01 00 48 */ sth r0, 0x48(r1) /* 8017BB88 00178AE8 48 00 34 F5 */ bl ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager /* 8017BB8C 00178AEC 2C 03 00 00 */ cmpwi r3, 0 /* 8017BB90 00178AF0 40 82 01 A4 */ bne lbl_8017BD34 /* 8017BB94 00178AF4 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017BB98 00178AF8 7F 83 E3 78 */ mr r3, r28 /* 8017BB9C 00178AFC 38 81 00 40 */ addi r4, r1, 0x40 /* 8017BBA0 00178B00 B0 01 00 3C */ sth r0, 0x3c(r1) /* 8017BBA4 00178B04 B0 01 00 40 */ sth r0, 0x40(r1) /* 8017BBA8 00178B08 4B E9 E1 FD */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017BBAC 00178B0C 48 00 01 88 */ b lbl_8017BD34 lbl_8017BBB0: /* 8017BBB0 00178B10 A0 1C 03 F4 */ lhz r0, 0x3f4(r28) /* 8017BBB4 00178B14 7F A3 EB 78 */ mr r3, r29 /* 8017BBB8 00178B18 38 81 00 38 */ addi r4, r1, 0x38 /* 8017BBBC 00178B1C 3B E0 00 00 */ li r31, 0 /* 8017BBC0 00178B20 B0 01 00 34 */ sth r0, 0x34(r1) /* 8017BBC4 00178B24 B0 01 00 38 */ sth r0, 0x38(r1) /* 8017BBC8 00178B28 4B ED 09 DD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017BBCC 00178B2C 7C 64 1B 78 */ mr r4, r3 /* 8017BBD0 00178B30 38 61 00 60 */ addi r3, r1, 0x60 /* 8017BBD4 00178B34 4B F3 40 BD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017BBD8 00178B38 80 83 00 04 */ lwz r4, 4(r3) /* 8017BBDC 00178B3C 28 04 00 00 */ cmplwi r4, 0 /* 8017BBE0 00178B40 7C 9E 23 78 */ mr r30, r4 /* 8017BBE4 00178B44 41 82 00 30 */ beq lbl_8017BC14 /* 8017BBE8 00178B48 80 64 00 68 */ lwz r3, 0x68(r4) /* 8017BBEC 00178B4C 38 00 01 00 */ li r0, 0x100 /* 8017BBF0 00178B50 80 A4 00 6C */ lwz r5, 0x6c(r4) /* 8017BBF4 00178B54 38 80 00 00 */ li r4, 0 /* 8017BBF8 00178B58 7C 60 00 38 */ and r0, r3, r0 /* 8017BBFC 00178B5C 7C A3 20 38 */ and r3, r5, r4 /* 8017BC00 00178B60 7C 63 22 78 */ xor r3, r3, r4 /* 8017BC04 00178B64 7C 00 22 78 */ xor r0, r0, r4 /* 8017BC08 00178B68 7C 60 03 79 */ or. r0, r3, r0 /* 8017BC0C 00178B6C 40 82 00 08 */ bne lbl_8017BC14 /* 8017BC10 00178B70 3B C0 00 00 */ li r30, 0 lbl_8017BC14: /* 8017BC14 00178B74 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017BC18 00178B78 88 03 02 29 */ lbz r0, 0x229(r3) /* 8017BC1C 00178B7C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8017BC20 00178B80 41 82 00 70 */ beq lbl_8017BC90 /* 8017BC24 00178B84 80 1C 03 04 */ lwz r0, 0x304(r28) /* 8017BC28 00178B88 2C 00 00 04 */ cmpwi r0, 4 /* 8017BC2C 00178B8C 41 82 00 14 */ beq lbl_8017BC40 /* 8017BC30 00178B90 40 80 00 58 */ bge lbl_8017BC88 /* 8017BC34 00178B94 2C 00 00 01 */ cmpwi r0, 1 /* 8017BC38 00178B98 41 82 00 08 */ beq lbl_8017BC40 /* 8017BC3C 00178B9C 48 00 00 4C */ b lbl_8017BC88 lbl_8017BC40: /* 8017BC40 00178BA0 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017BC44 00178BA4 7F 83 E3 78 */ mr r3, r28 /* 8017BC48 00178BA8 7F A5 EB 78 */ mr r5, r29 /* 8017BC4C 00178BAC 38 81 00 30 */ addi r4, r1, 0x30 /* 8017BC50 00178BB0 B0 01 00 2C */ sth r0, 0x2c(r1) /* 8017BC54 00178BB4 B0 01 00 30 */ sth r0, 0x30(r1) /* 8017BC58 00178BB8 48 00 34 25 */ bl ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager /* 8017BC5C 00178BBC 2C 03 00 00 */ cmpwi r3, 0 /* 8017BC60 00178BC0 40 82 00 20 */ bne lbl_8017BC80 /* 8017BC64 00178BC4 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017BC68 00178BC8 7F 83 E3 78 */ mr r3, r28 /* 8017BC6C 00178BCC 38 81 00 28 */ addi r4, r1, 0x28 /* 8017BC70 00178BD0 B0 01 00 24 */ sth r0, 0x24(r1) /* 8017BC74 00178BD4 B0 01 00 28 */ sth r0, 0x28(r1) /* 8017BC78 00178BD8 4B E9 E1 2D */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017BC7C 00178BDC 48 00 00 24 */ b lbl_8017BCA0 lbl_8017BC80: /* 8017BC80 00178BE0 3B E0 00 01 */ li r31, 1 /* 8017BC84 00178BE4 48 00 00 1C */ b lbl_8017BCA0 lbl_8017BC88: /* 8017BC88 00178BE8 3B E0 00 01 */ li r31, 1 /* 8017BC8C 00178BEC 48 00 00 14 */ b lbl_8017BCA0 lbl_8017BC90: /* 8017BC90 00178BF0 80 1C 03 04 */ lwz r0, 0x304(r28) /* 8017BC94 00178BF4 2C 00 00 00 */ cmpwi r0, 0 /* 8017BC98 00178BF8 40 82 00 08 */ bne lbl_8017BCA0 /* 8017BC9C 00178BFC 3B E0 00 01 */ li r31, 1 lbl_8017BCA0: /* 8017BCA0 00178C00 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 8017BCA4 00178C04 41 82 00 90 */ beq lbl_8017BD34 /* 8017BCA8 00178C08 A0 1C 03 F4 */ lhz r0, 0x3f4(r28) /* 8017BCAC 00178C0C 7F 83 E3 78 */ mr r3, r28 /* 8017BCB0 00178C10 7F A5 EB 78 */ mr r5, r29 /* 8017BCB4 00178C14 38 81 00 20 */ addi r4, r1, 0x20 /* 8017BCB8 00178C18 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8017BCBC 00178C1C B0 01 00 20 */ sth r0, 0x20(r1) /* 8017BCC0 00178C20 48 00 00 C1 */ bl ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017BCC4 00178C24 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017BCC8 00178C28 40 82 00 6C */ bne lbl_8017BD34 /* 8017BCCC 00178C2C 28 1E 00 00 */ cmplwi r30, 0 /* 8017BCD0 00178C30 41 82 00 40 */ beq lbl_8017BD10 /* 8017BCD4 00178C34 A0 1C 03 F4 */ lhz r0, 0x3f4(r28) /* 8017BCD8 00178C38 7F 83 E3 78 */ mr r3, r28 /* 8017BCDC 00178C3C 7F A5 EB 78 */ mr r5, r29 /* 8017BCE0 00178C40 38 81 00 18 */ addi r4, r1, 0x18 /* 8017BCE4 00178C44 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017BCE8 00178C48 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017BCEC 00178C4C 48 00 05 75 */ bl ValidateObjectForMode__7CPlayerCF9TUniqueIdR13CStateManager /* 8017BCF0 00178C50 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017BCF4 00178C54 41 82 00 1C */ beq lbl_8017BD10 /* 8017BCF8 00178C58 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BCFC 00178C5C 7F 83 E3 78 */ mr r3, r28 /* 8017BD00 00178C60 38 81 00 10 */ addi r4, r1, 0x10 /* 8017BD04 00178C64 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017BD08 00178C68 4B E9 E0 9D */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017BD0C 00178C6C 48 00 00 28 */ b lbl_8017BD34 lbl_8017BD10: /* 8017BD10 00178C70 7F 84 E3 78 */ mr r4, r28 /* 8017BD14 00178C74 7F A5 EB 78 */ mr r5, r29 /* 8017BD18 00178C78 38 61 00 08 */ addi r3, r1, 8 /* 8017BD1C 00178C7C 48 00 08 29 */ bl FindAimTargetId__7CPlayerFR13CStateManager /* 8017BD20 00178C80 A0 01 00 08 */ lhz r0, 8(r1) /* 8017BD24 00178C84 7F 83 E3 78 */ mr r3, r28 /* 8017BD28 00178C88 38 81 00 0C */ addi r4, r1, 0xc /* 8017BD2C 00178C8C B0 01 00 0C */ sth r0, 0xc(r1) /* 8017BD30 00178C90 4B E9 E0 75 */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId lbl_8017BD34: /* 8017BD34 00178C94 80 01 00 84 */ lwz r0, 0x84(r1) /* 8017BD38 00178C98 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8017BD3C 00178C9C 83 C1 00 78 */ lwz r30, 0x78(r1) /* 8017BD40 00178CA0 83 A1 00 74 */ lwz r29, 0x74(r1) /* 8017BD44 00178CA4 83 81 00 70 */ lwz r28, 0x70(r1) /* 8017BD48 00178CA8 7C 08 03 A6 */ mtlr r0 /* 8017BD4C 00178CAC 38 21 00 80 */ addi r1, r1, 0x80 /* 8017BD50 00178CB0 4E 80 00 20 */ blr .global UpdateAimTargetTimer__7CPlayerFf UpdateAimTargetTimer__7CPlayerFf: /* 8017BD54 00178CB4 A0 83 03 F4 */ lhz r4, 0x3f4(r3) /* 8017BD58 00178CB8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BD5C 00178CBC 7C 04 00 40 */ cmplw r4, r0 /* 8017BD60 00178CC0 4D 82 00 20 */ beqlr /* 8017BD64 00178CC4 C0 43 04 8C */ lfs f2, 0x48c(r3) /* 8017BD68 00178CC8 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017BD6C 00178CCC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017BD70 00178CD0 4C 81 00 20 */ blelr /* 8017BD74 00178CD4 EC 02 08 28 */ fsubs f0, f2, f1 /* 8017BD78 00178CD8 D0 03 04 8C */ stfs f0, 0x48c(r3) /* 8017BD7C 00178CDC 4E 80 00 20 */ blr .global ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager: /* 8017BD80 00178CE0 94 21 F7 00 */ stwu r1, -0x900(r1) /* 8017BD84 00178CE4 7C 08 02 A6 */ mflr r0 /* 8017BD88 00178CE8 90 01 09 04 */ stw r0, 0x904(r1) /* 8017BD8C 00178CEC DB E1 08 F0 */ stfd f31, 0x8f0(r1) /* 8017BD90 00178CF0 F3 E1 08 F8 */ psq_st f31, -1800(r1), 0, qr0 /* 8017BD94 00178CF4 93 E1 08 EC */ stw r31, 0x8ec(r1) /* 8017BD98 00178CF8 93 C1 08 E8 */ stw r30, 0x8e8(r1) /* 8017BD9C 00178CFC 93 A1 08 E4 */ stw r29, 0x8e4(r1) /* 8017BDA0 00178D00 93 81 08 E0 */ stw r28, 0x8e0(r1) /* 8017BDA4 00178D04 7C 9D 23 78 */ mr r29, r4 /* 8017BDA8 00178D08 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BDAC 00178D0C A0 84 00 00 */ lhz r4, 0(r4) /* 8017BDB0 00178D10 7C 7C 1B 78 */ mr r28, r3 /* 8017BDB4 00178D14 7C BE 2B 78 */ mr r30, r5 /* 8017BDB8 00178D18 7C 04 00 40 */ cmplw r4, r0 /* 8017BDBC 00178D1C 40 82 00 68 */ bne lbl_8017BE24 /* 8017BDC0 00178D20 80 BC 04 04 */ lwz r5, 0x404(r28) /* 8017BDC4 00178D24 38 60 00 00 */ li r3, 0 /* 8017BDC8 00178D28 2C 05 00 00 */ cmpwi r5, 0 /* 8017BDCC 00178D2C 40 81 00 40 */ ble lbl_8017BE0C /* 8017BDD0 00178D30 2C 05 00 08 */ cmpwi r5, 8 /* 8017BDD4 00178D34 38 85 FF F8 */ addi r4, r5, -8 /* 8017BDD8 00178D38 40 81 00 20 */ ble lbl_8017BDF8 /* 8017BDDC 00178D3C 38 04 00 07 */ addi r0, r4, 7 /* 8017BDE0 00178D40 54 00 E8 FE */ srwi r0, r0, 3 /* 8017BDE4 00178D44 7C 09 03 A6 */ mtctr r0 /* 8017BDE8 00178D48 2C 04 00 00 */ cmpwi r4, 0 /* 8017BDEC 00178D4C 40 81 00 0C */ ble lbl_8017BDF8 lbl_8017BDF0: /* 8017BDF0 00178D50 38 63 00 08 */ addi r3, r3, 8 /* 8017BDF4 00178D54 42 00 FF FC */ bdnz lbl_8017BDF0 lbl_8017BDF8: /* 8017BDF8 00178D58 7C 03 28 50 */ subf r0, r3, r5 /* 8017BDFC 00178D5C 7C 09 03 A6 */ mtctr r0 /* 8017BE00 00178D60 7C 03 28 00 */ cmpw r3, r5 /* 8017BE04 00178D64 40 80 00 08 */ bge lbl_8017BE0C lbl_8017BE08: /* 8017BE08 00178D68 42 00 00 00 */ bdnz lbl_8017BE08 lbl_8017BE0C: /* 8017BE0C 00178D6C 38 00 00 00 */ li r0, 0 /* 8017BE10 00178D70 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017BE14 00178D74 90 1C 04 04 */ stw r0, 0x404(r28) /* 8017BE18 00178D78 38 60 00 00 */ li r3, 0 /* 8017BE1C 00178D7C D0 1C 04 8C */ stfs f0, 0x48c(r28) /* 8017BE20 00178D80 48 00 04 18 */ b lbl_8017C238 lbl_8017BE24: /* 8017BE24 00178D84 B0 81 00 1C */ sth r4, 0x1c(r1) /* 8017BE28 00178D88 7F C3 F3 78 */ mr r3, r30 /* 8017BE2C 00178D8C 38 81 00 1C */ addi r4, r1, 0x1c /* 8017BE30 00178D90 4B ED 07 75 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017BE34 00178D94 7C 64 1B 78 */ mr r4, r3 /* 8017BE38 00178D98 38 61 00 24 */ addi r3, r1, 0x24 /* 8017BE3C 00178D9C 4B F3 3E 55 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017BE40 00178DA0 83 E3 00 04 */ lwz r31, 4(r3) /* 8017BE44 00178DA4 28 1F 00 00 */ cmplwi r31, 0 /* 8017BE48 00178DA8 41 82 00 44 */ beq lbl_8017BE8C /* 8017BE4C 00178DAC 80 7F 00 68 */ lwz r3, 0x68(r31) /* 8017BE50 00178DB0 38 00 01 00 */ li r0, 0x100 /* 8017BE54 00178DB4 80 9F 00 6C */ lwz r4, 0x6c(r31) /* 8017BE58 00178DB8 38 A0 00 00 */ li r5, 0 /* 8017BE5C 00178DBC 7C 66 00 38 */ and r6, r3, r0 /* 8017BE60 00178DC0 7C 84 28 38 */ and r4, r4, r5 /* 8017BE64 00178DC4 7C 83 2A 78 */ xor r3, r4, r5 /* 8017BE68 00178DC8 7C C0 2A 78 */ xor r0, r6, r5 /* 8017BE6C 00178DCC 7C 60 03 79 */ or. r0, r3, r0 /* 8017BE70 00178DD0 41 82 00 08 */ beq lbl_8017BE78 /* 8017BE74 00178DD4 38 A0 00 01 */ li r5, 1 lbl_8017BE78: /* 8017BE78 00178DD8 54 A0 06 3F */ clrlwi. r0, r5, 0x18 /* 8017BE7C 00178DDC 41 82 00 10 */ beq lbl_8017BE8C /* 8017BE80 00178DE0 88 1F 00 E7 */ lbz r0, 0xe7(r31) /* 8017BE84 00178DE4 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8017BE88 00178DE8 40 82 00 0C */ bne lbl_8017BE94 lbl_8017BE8C: /* 8017BE8C 00178DEC 38 60 00 00 */ li r3, 0 /* 8017BE90 00178DF0 48 00 03 A8 */ b lbl_8017C238 lbl_8017BE94: /* 8017BE94 00178DF4 80 1C 03 04 */ lwz r0, 0x304(r28) /* 8017BE98 00178DF8 2C 00 00 01 */ cmpwi r0, 1 /* 8017BE9C 00178DFC 41 82 00 0C */ beq lbl_8017BEA8 /* 8017BEA0 00178E00 2C 00 00 04 */ cmpwi r0, 4 /* 8017BEA4 00178E04 40 82 00 54 */ bne lbl_8017BEF8 lbl_8017BEA8: /* 8017BEA8 00178E08 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017BEAC 00178E0C 7F 83 E3 78 */ mr r3, r28 /* 8017BEB0 00178E10 7F C5 F3 78 */ mr r5, r30 /* 8017BEB4 00178E14 38 81 00 18 */ addi r4, r1, 0x18 /* 8017BEB8 00178E18 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017BEBC 00178E1C B0 01 00 18 */ sth r0, 0x18(r1) /* 8017BEC0 00178E20 48 00 31 BD */ bl ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager /* 8017BEC4 00178E24 2C 03 00 00 */ cmpwi r3, 0 /* 8017BEC8 00178E28 41 82 00 28 */ beq lbl_8017BEF0 /* 8017BECC 00178E2C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BED0 00178E30 7F 83 E3 78 */ mr r3, r28 /* 8017BED4 00178E34 38 81 00 10 */ addi r4, r1, 0x10 /* 8017BED8 00178E38 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017BEDC 00178E3C 4B E9 DE C9 */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017BEE0 00178E40 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017BEE4 00178E44 38 60 00 00 */ li r3, 0 /* 8017BEE8 00178E48 D0 1C 04 8C */ stfs f0, 0x48c(r28) /* 8017BEEC 00178E4C 48 00 03 4C */ b lbl_8017C238 lbl_8017BEF0: /* 8017BEF0 00178E50 38 60 00 01 */ li r3, 1 /* 8017BEF4 00178E54 48 00 03 44 */ b lbl_8017C238 lbl_8017BEF8: /* 8017BEF8 00178E58 38 00 00 00 */ li r0, 0 /* 8017BEFC 00178E5C 7C 83 02 78 */ xor r3, r4, r0 /* 8017BF00 00178E60 7C C0 02 78 */ xor r0, r6, r0 /* 8017BF04 00178E64 7C 60 03 79 */ or. r0, r3, r0 /* 8017BF08 00178E68 41 82 03 10 */ beq lbl_8017C218 /* 8017BF0C 00178E6C A0 7D 00 00 */ lhz r3, 0(r29) /* 8017BF10 00178E70 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017BF14 00178E74 7C 03 00 40 */ cmplw r3, r0 /* 8017BF18 00178E78 41 82 03 00 */ beq lbl_8017C218 /* 8017BF1C 00178E7C B0 61 00 0C */ sth r3, 0xc(r1) /* 8017BF20 00178E80 7F 83 E3 78 */ mr r3, r28 /* 8017BF24 00178E84 7F C5 F3 78 */ mr r5, r30 /* 8017BF28 00178E88 38 81 00 0C */ addi r4, r1, 0xc /* 8017BF2C 00178E8C 48 00 03 35 */ bl ValidateObjectForMode__7CPlayerCF9TUniqueIdR13CStateManager /* 8017BF30 00178E90 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017BF34 00178E94 41 82 02 E4 */ beq lbl_8017C218 /* 8017BF38 00178E98 7F E4 FB 78 */ mr r4, r31 /* 8017BF3C 00178E9C 7F C5 F3 78 */ mr r5, r30 /* 8017BF40 00178EA0 81 9F 00 00 */ lwz r12, 0(r31) /* 8017BF44 00178EA4 38 61 00 44 */ addi r3, r1, 0x44 /* 8017BF48 00178EA8 C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 8017BF4C 00178EAC 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8017BF50 00178EB0 7D 89 03 A6 */ mtctr r12 /* 8017BF54 00178EB4 4E 80 04 21 */ bctrl /* 8017BF58 00178EB8 C0 41 00 44 */ lfs f2, 0x44(r1) /* 8017BF5C 00178EBC 7F 84 E3 78 */ mr r4, r28 /* 8017BF60 00178EC0 C0 21 00 48 */ lfs f1, 0x48(r1) /* 8017BF64 00178EC4 38 61 00 38 */ addi r3, r1, 0x38 /* 8017BF68 00178EC8 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 8017BF6C 00178ECC D0 41 00 74 */ stfs f2, 0x74(r1) /* 8017BF70 00178ED0 D0 21 00 78 */ stfs f1, 0x78(r1) /* 8017BF74 00178ED4 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 8017BF78 00178ED8 48 10 8E 05 */ bl GetEyePosition__7CPlayerCFv /* 8017BF7C 00178EDC C0 A1 00 38 */ lfs f5, 0x38(r1) /* 8017BF80 00178EE0 38 61 00 2C */ addi r3, r1, 0x2c /* 8017BF84 00178EE4 C0 81 00 3C */ lfs f4, 0x3c(r1) /* 8017BF88 00178EE8 38 A1 00 74 */ addi r5, r1, 0x74 /* 8017BF8C 00178EEC C0 61 00 40 */ lfs f3, 0x40(r1) /* 8017BF90 00178EF0 C0 41 00 78 */ lfs f2, 0x78(r1) /* 8017BF94 00178EF4 C0 21 00 7C */ lfs f1, 0x7c(r1) /* 8017BF98 00178EF8 C0 01 00 74 */ lfs f0, 0x74(r1) /* 8017BF9C 00178EFC EC 42 20 28 */ fsubs f2, f2, f4 /* 8017BFA0 00178F00 EC 21 18 28 */ fsubs f1, f1, f3 /* 8017BFA4 00178F04 D0 A1 00 68 */ stfs f5, 0x68(r1) /* 8017BFA8 00178F08 EC 00 28 28 */ fsubs f0, f0, f5 /* 8017BFAC 00178F0C D0 81 00 6C */ stfs f4, 0x6c(r1) /* 8017BFB0 00178F10 D0 61 00 70 */ stfs f3, 0x70(r1) /* 8017BFB4 00178F14 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8017BFB8 00178F18 D0 41 00 60 */ stfs f2, 0x60(r1) /* 8017BFBC 00178F1C D0 21 00 64 */ stfs f1, 0x64(r1) /* 8017BFC0 00178F20 80 9E 08 70 */ lwz r4, 0x870(r30) /* 8017BFC4 00178F24 80 84 00 7C */ lwz r4, 0x7c(r4) /* 8017BFC8 00178F28 4B EE 18 C9 */ bl ConvertToScreenSpace__11CGameCameraCFRC9CVector3f /* 8017BFCC 00178F2C 3C 60 80 3F */ lis r3, mViewport__9CGraphics@ha /* 8017BFD0 00178F30 3C A0 43 30 */ lis r5, 0x4330 /* 8017BFD4 00178F34 38 83 D9 10 */ addi r4, r3, mViewport__9CGraphics@l /* 8017BFD8 00178F38 C1 01 00 2C */ lfs f8, 0x2c(r1) /* 8017BFDC 00178F3C 80 04 00 08 */ lwz r0, 8(r4) /* 8017BFE0 00178F40 7F 83 E3 78 */ mr r3, r28 /* 8017BFE4 00178F44 80 E4 00 0C */ lwz r7, 0xc(r4) /* 8017BFE8 00178F48 38 81 00 50 */ addi r4, r1, 0x50 /* 8017BFEC 00178F4C 6C 06 80 00 */ xoris r6, r0, 0x8000 /* 8017BFF0 00178F50 C0 E1 00 30 */ lfs f7, 0x30(r1) /* 8017BFF4 00178F54 6C E0 80 00 */ xoris r0, r7, 0x8000 /* 8017BFF8 00178F58 90 C1 08 C4 */ stw r6, 0x8c4(r1) /* 8017BFFC 00178F5C C0 C1 00 34 */ lfs f6, 0x34(r1) /* 8017C000 00178F60 90 A1 08 C0 */ stw r5, 0x8c0(r1) /* 8017C004 00178F64 C8 A2 A2 98 */ lfd f5, lbl_805ABFB8@sda21(r2) /* 8017C008 00178F68 C8 01 08 C0 */ lfd f0, 0x8c0(r1) /* 8017C00C 00178F6C 90 01 08 D4 */ stw r0, 0x8d4(r1) /* 8017C010 00178F70 EC 20 28 28 */ fsubs f1, f0, f5 /* 8017C014 00178F74 C0 62 A2 68 */ lfs f3, lbl_805ABF88@sda21(r2) /* 8017C018 00178F78 90 A1 08 D0 */ stw r5, 0x8d0(r1) /* 8017C01C 00178F7C C8 01 08 D0 */ lfd f0, 0x8d0(r1) /* 8017C020 00178F80 EC 28 00 72 */ fmuls f1, f8, f1 /* 8017C024 00178F84 90 C1 08 BC */ stw r6, 0x8bc(r1) /* 8017C028 00178F88 EC 00 28 28 */ fsubs f0, f0, f5 /* 8017C02C 00178F8C 90 A1 08 B8 */ stw r5, 0x8b8(r1) /* 8017C030 00178F90 EC 41 00 F2 */ fmuls f2, f1, f3 /* 8017C034 00178F94 EC 07 00 32 */ fmuls f0, f7, f0 /* 8017C038 00178F98 C8 21 08 B8 */ lfd f1, 0x8b8(r1) /* 8017C03C 00178F9C 90 01 08 CC */ stw r0, 0x8cc(r1) /* 8017C040 00178FA0 EC 81 28 28 */ fsubs f4, f1, f5 /* 8017C044 00178FA4 90 A1 08 C8 */ stw r5, 0x8c8(r1) /* 8017C048 00178FA8 EC 00 00 F2 */ fmuls f0, f0, f3 /* 8017C04C 00178FAC C8 21 08 C8 */ lfd f1, 0x8c8(r1) /* 8017C050 00178FB0 EC 44 10 FA */ fmadds f2, f4, f3, f2 /* 8017C054 00178FB4 D1 01 00 50 */ stfs f8, 0x50(r1) /* 8017C058 00178FB8 EC 21 28 28 */ fsubs f1, f1, f5 /* 8017C05C 00178FBC D0 E1 00 54 */ stfs f7, 0x54(r1) /* 8017C060 00178FC0 EC 01 00 FA */ fmadds f0, f1, f3, f0 /* 8017C064 00178FC4 D0 C1 00 58 */ stfs f6, 0x58(r1) /* 8017C068 00178FC8 D0 41 00 50 */ stfs f2, 0x50(r1) /* 8017C06C 00178FCC D0 01 00 54 */ stfs f0, 0x54(r1) /* 8017C070 00178FD0 80 BC 03 30 */ lwz r5, 0x330(r28) /* 8017C074 00178FD4 80 DC 03 34 */ lwz r6, 0x334(r28) /* 8017C078 00178FD8 48 00 1C 55 */ bl WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType /* 8017C07C 00178FDC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C080 00178FE0 40 82 00 2C */ bne lbl_8017C0AC /* 8017C084 00178FE4 80 1C 03 30 */ lwz r0, 0x330(r28) /* 8017C088 00178FE8 2C 00 00 00 */ cmpwi r0, 0 /* 8017C08C 00178FEC 41 82 01 74 */ beq lbl_8017C200 /* 8017C090 00178FF0 80 DC 03 34 */ lwz r6, 0x334(r28) /* 8017C094 00178FF4 7F 83 E3 78 */ mr r3, r28 /* 8017C098 00178FF8 38 81 00 50 */ addi r4, r1, 0x50 /* 8017C09C 00178FFC 38 A0 00 00 */ li r5, 0 /* 8017C0A0 00179000 48 00 1C 2D */ bl WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType /* 8017C0A4 00179004 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C0A8 00179008 41 82 01 58 */ beq lbl_8017C200 lbl_8017C0AC: /* 8017C0AC 0017900C 38 61 00 5C */ addi r3, r1, 0x5c /* 8017C0B0 00179010 48 19 88 09 */ bl Magnitude__9CVector3fCFv /* 8017C0B4 00179014 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017C0B8 00179018 FF E0 08 90 */ fmr f31, f1 /* 8017C0BC 0017901C C0 03 02 34 */ lfs f0, 0x234(r3) /* 8017C0C0 00179020 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8017C0C4 00179024 4C 40 13 82 */ cror 2, 0, 2 /* 8017C0C8 00179028 40 82 01 38 */ bne lbl_8017C200 /* 8017C0CC 0017902C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017C0D0 00179030 38 60 00 00 */ li r3, 0 /* 8017C0D4 00179034 90 61 00 B0 */ stw r3, 0xb0(r1) /* 8017C0D8 00179038 38 61 00 5C */ addi r3, r1, 0x5c /* 8017C0DC 0017903C B0 01 00 20 */ sth r0, 0x20(r1) /* 8017C0E0 00179040 48 19 88 19 */ bl Normalize__9CVector3fFv /* 8017C0E4 00179044 FC 20 F8 90 */ fmr f1, f31 /* 8017C0E8 00179048 3C 80 80 47 */ lis r4, lbl_8046C8D8@ha /* 8017C0EC 0017904C 7C 66 1B 78 */ mr r6, r3 /* 8017C0F0 00179050 7F C3 F3 78 */ mr r3, r30 /* 8017C0F4 00179054 38 E4 C8 D8 */ addi r7, r4, lbl_8046C8D8@l /* 8017C0F8 00179058 38 81 00 B0 */ addi r4, r1, 0xb0 /* 8017C0FC 0017905C 38 A1 00 68 */ addi r5, r1, 0x68 /* 8017C100 00179060 39 00 00 00 */ li r8, 0 /* 8017C104 00179064 4B ED 05 D5 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017C108 00179068 38 61 00 5C */ addi r3, r1, 0x5c /* 8017C10C 0017906C 48 19 87 ED */ bl Normalize__9CVector3fFv /* 8017C110 00179070 FC 20 F8 90 */ fmr f1, f31 /* 8017C114 00179074 3C A0 80 47 */ lis r5, lbl_8046C8C0@ha /* 8017C118 00179078 7C 67 1B 78 */ mr r7, r3 /* 8017C11C 0017907C 7F C4 F3 78 */ mr r4, r30 /* 8017C120 00179080 39 05 C8 C0 */ addi r8, r5, lbl_8046C8C0@l /* 8017C124 00179084 38 61 00 80 */ addi r3, r1, 0x80 /* 8017C128 00179088 38 A1 00 20 */ addi r5, r1, 0x20 /* 8017C12C 0017908C 38 C1 00 68 */ addi r6, r1, 0x68 /* 8017C130 00179090 39 21 00 B0 */ addi r9, r1, 0xb0 /* 8017C134 00179094 4B ED 0E 91 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017C138 00179098 88 01 00 A0 */ lbz r0, 0xa0(r1) /* 8017C13C 0017909C 28 00 00 00 */ cmplwi r0, 0 /* 8017C140 001790A0 40 82 00 6C */ bne lbl_8017C1AC /* 8017C144 001790A4 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017C148 001790A8 38 80 00 00 */ li r4, 0 /* 8017C14C 001790AC C0 03 02 60 */ lfs f0, 0x260(r3) /* 8017C150 001790B0 D0 1C 04 8C */ stfs f0, 0x48c(r28) /* 8017C154 001790B4 80 A1 00 B0 */ lwz r5, 0xb0(r1) /* 8017C158 001790B8 2C 05 00 00 */ cmpwi r5, 0 /* 8017C15C 001790BC 40 81 00 40 */ ble lbl_8017C19C /* 8017C160 001790C0 2C 05 00 08 */ cmpwi r5, 8 /* 8017C164 001790C4 38 65 FF F8 */ addi r3, r5, -8 /* 8017C168 001790C8 40 81 00 20 */ ble lbl_8017C188 /* 8017C16C 001790CC 38 03 00 07 */ addi r0, r3, 7 /* 8017C170 001790D0 54 00 E8 FE */ srwi r0, r0, 3 /* 8017C174 001790D4 7C 09 03 A6 */ mtctr r0 /* 8017C178 001790D8 2C 03 00 00 */ cmpwi r3, 0 /* 8017C17C 001790DC 40 81 00 0C */ ble lbl_8017C188 lbl_8017C180: /* 8017C180 001790E0 38 84 00 08 */ addi r4, r4, 8 /* 8017C184 001790E4 42 00 FF FC */ bdnz lbl_8017C180 lbl_8017C188: /* 8017C188 001790E8 7C 04 28 50 */ subf r0, r4, r5 /* 8017C18C 001790EC 7C 09 03 A6 */ mtctr r0 /* 8017C190 001790F0 7C 04 28 00 */ cmpw r4, r5 /* 8017C194 001790F4 40 80 00 08 */ bge lbl_8017C19C lbl_8017C198: /* 8017C198 001790F8 42 00 00 00 */ bdnz lbl_8017C198 lbl_8017C19C: /* 8017C19C 001790FC 38 00 00 00 */ li r0, 0 /* 8017C1A0 00179100 38 60 00 01 */ li r3, 1 /* 8017C1A4 00179104 90 01 00 B0 */ stw r0, 0xb0(r1) /* 8017C1A8 00179108 48 00 00 90 */ b lbl_8017C238 lbl_8017C1AC: /* 8017C1AC 0017910C 80 A1 00 B0 */ lwz r5, 0xb0(r1) /* 8017C1B0 00179110 38 60 00 00 */ li r3, 0 /* 8017C1B4 00179114 2C 05 00 00 */ cmpwi r5, 0 /* 8017C1B8 00179118 40 81 00 40 */ ble lbl_8017C1F8 /* 8017C1BC 0017911C 2C 05 00 08 */ cmpwi r5, 8 /* 8017C1C0 00179120 38 85 FF F8 */ addi r4, r5, -8 /* 8017C1C4 00179124 40 81 00 20 */ ble lbl_8017C1E4 /* 8017C1C8 00179128 38 04 00 07 */ addi r0, r4, 7 /* 8017C1CC 0017912C 54 00 E8 FE */ srwi r0, r0, 3 /* 8017C1D0 00179130 7C 09 03 A6 */ mtctr r0 /* 8017C1D4 00179134 2C 04 00 00 */ cmpwi r4, 0 /* 8017C1D8 00179138 40 81 00 0C */ ble lbl_8017C1E4 lbl_8017C1DC: /* 8017C1DC 0017913C 38 63 00 08 */ addi r3, r3, 8 /* 8017C1E0 00179140 42 00 FF FC */ bdnz lbl_8017C1DC lbl_8017C1E4: /* 8017C1E4 00179144 7C 03 28 50 */ subf r0, r3, r5 /* 8017C1E8 00179148 7C 09 03 A6 */ mtctr r0 /* 8017C1EC 0017914C 7C 03 28 00 */ cmpw r3, r5 /* 8017C1F0 00179150 40 80 00 08 */ bge lbl_8017C1F8 lbl_8017C1F4: /* 8017C1F4 00179154 42 00 00 00 */ bdnz lbl_8017C1F4 lbl_8017C1F8: /* 8017C1F8 00179158 38 00 00 00 */ li r0, 0 /* 8017C1FC 0017915C 90 01 00 B0 */ stw r0, 0xb0(r1) lbl_8017C200: /* 8017C200 00179160 C0 3C 04 8C */ lfs f1, 0x48c(r28) /* 8017C204 00179164 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017C208 00179168 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017C20C 0017916C 40 81 00 0C */ ble lbl_8017C218 /* 8017C210 00179170 38 60 00 01 */ li r3, 1 /* 8017C214 00179174 48 00 00 24 */ b lbl_8017C238 lbl_8017C218: /* 8017C218 00179178 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017C21C 0017917C 7F 83 E3 78 */ mr r3, r28 /* 8017C220 00179180 38 81 00 08 */ addi r4, r1, 8 /* 8017C224 00179184 B0 01 00 08 */ sth r0, 8(r1) /* 8017C228 00179188 4B E9 DB 7D */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017C22C 0017918C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017C230 00179190 38 60 00 00 */ li r3, 0 /* 8017C234 00179194 D0 1C 04 8C */ stfs f0, 0x48c(r28) lbl_8017C238: /* 8017C238 00179198 E3 E1 08 F8 */ psq_l f31, -1800(r1), 0, qr0 /* 8017C23C 0017919C 80 01 09 04 */ lwz r0, 0x904(r1) /* 8017C240 001791A0 CB E1 08 F0 */ lfd f31, 0x8f0(r1) /* 8017C244 001791A4 83 E1 08 EC */ lwz r31, 0x8ec(r1) /* 8017C248 001791A8 83 C1 08 E8 */ lwz r30, 0x8e8(r1) /* 8017C24C 001791AC 83 A1 08 E4 */ lwz r29, 0x8e4(r1) /* 8017C250 001791B0 83 81 08 E0 */ lwz r28, 0x8e0(r1) /* 8017C254 001791B4 7C 08 03 A6 */ mtlr r0 /* 8017C258 001791B8 38 21 09 00 */ addi r1, r1, 0x900 /* 8017C25C 001791BC 4E 80 00 20 */ blr .global ValidateObjectForMode__7CPlayerCF9TUniqueIdR13CStateManager ValidateObjectForMode__7CPlayerCF9TUniqueIdR13CStateManager: /* 8017C260 001791C0 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8017C264 001791C4 7C 08 02 A6 */ mflr r0 /* 8017C268 001791C8 90 01 00 74 */ stw r0, 0x74(r1) /* 8017C26C 001791CC DB E1 00 60 */ stfd f31, 0x60(r1) /* 8017C270 001791D0 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8017C274 001791D4 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8017C278 001791D8 93 C1 00 58 */ stw r30, 0x58(r1) /* 8017C27C 001791DC 93 A1 00 54 */ stw r29, 0x54(r1) /* 8017C280 001791E0 93 81 00 50 */ stw r28, 0x50(r1) /* 8017C284 001791E4 7C 9D 23 78 */ mr r29, r4 /* 8017C288 001791E8 7C BE 2B 78 */ mr r30, r5 /* 8017C28C 001791EC A0 04 00 00 */ lhz r0, 0(r4) /* 8017C290 001791F0 7C 7C 1B 78 */ mr r28, r3 /* 8017C294 001791F4 7F C3 F3 78 */ mr r3, r30 /* 8017C298 001791F8 38 81 00 14 */ addi r4, r1, 0x14 /* 8017C29C 001791FC B0 01 00 14 */ sth r0, 0x14(r1) /* 8017C2A0 00179200 4B ED 03 05 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017C2A4 00179204 7C 64 1B 78 */ mr r4, r3 /* 8017C2A8 00179208 38 61 00 30 */ addi r3, r1, 0x30 /* 8017C2AC 0017920C 4B F3 39 E5 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017C2B0 00179210 83 E3 00 04 */ lwz r31, 4(r3) /* 8017C2B4 00179214 28 1F 00 00 */ cmplwi r31, 0 /* 8017C2B8 00179218 41 82 00 14 */ beq lbl_8017C2CC /* 8017C2BC 0017921C A0 7D 00 00 */ lhz r3, 0(r29) /* 8017C2C0 00179220 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017C2C4 00179224 7C 03 00 40 */ cmplw r3, r0 /* 8017C2C8 00179228 40 82 00 0C */ bne lbl_8017C2D4 lbl_8017C2CC: /* 8017C2CC 0017922C 38 60 00 00 */ li r3, 0 /* 8017C2D0 00179230 48 00 02 4C */ b lbl_8017C51C lbl_8017C2D4: /* 8017C2D4 00179234 B0 61 00 10 */ sth r3, 0x10(r1) /* 8017C2D8 00179238 7F C3 F3 78 */ mr r3, r30 /* 8017C2DC 0017923C 38 81 00 10 */ addi r4, r1, 0x10 /* 8017C2E0 00179240 4B ED 02 C5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017C2E4 00179244 7C 64 1B 78 */ mr r4, r3 /* 8017C2E8 00179248 38 61 00 28 */ addi r3, r1, 0x28 /* 8017C2EC 0017924C 4B F2 DE 05 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8017C2F0 00179250 80 03 00 04 */ lwz r0, 4(r3) /* 8017C2F4 00179254 28 00 00 00 */ cmplwi r0, 0 /* 8017C2F8 00179258 41 82 00 0C */ beq lbl_8017C304 /* 8017C2FC 0017925C 38 60 00 01 */ li r3, 1 /* 8017C300 00179260 48 00 02 1C */ b lbl_8017C51C lbl_8017C304: /* 8017C304 00179264 7F 83 E3 78 */ mr r3, r28 /* 8017C308 00179268 4B E9 75 41 */ bl GetCombatMode__7CPlayerCFv /* 8017C30C 0017926C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C310 00179270 41 82 01 3C */ beq lbl_8017C44C /* 8017C314 00179274 7F E3 FB 78 */ mr r3, r31 /* 8017C318 00179278 7F C4 F3 78 */ mr r4, r30 /* 8017C31C 0017927C 81 9F 00 00 */ lwz r12, 0(r31) /* 8017C320 00179280 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8017C324 00179284 7D 89 03 A6 */ mtctr r12 /* 8017C328 00179288 4E 80 04 21 */ bctrl /* 8017C32C 0017928C 28 03 00 00 */ cmplwi r3, 0 /* 8017C330 00179290 41 82 00 34 */ beq lbl_8017C364 /* 8017C334 00179294 7F E3 FB 78 */ mr r3, r31 /* 8017C338 00179298 7F C4 F3 78 */ mr r4, r30 /* 8017C33C 0017929C 81 9F 00 00 */ lwz r12, 0(r31) /* 8017C340 001792A0 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8017C344 001792A4 7D 89 03 A6 */ mtctr r12 /* 8017C348 001792A8 4E 80 04 21 */ bctrl /* 8017C34C 001792AC C0 23 00 00 */ lfs f1, 0(r3) /* 8017C350 001792B0 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017C354 001792B4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017C358 001792B8 40 81 00 F4 */ ble lbl_8017C44C /* 8017C35C 001792BC 38 60 00 01 */ li r3, 1 /* 8017C360 001792C0 48 00 01 BC */ b lbl_8017C51C lbl_8017C364: /* 8017C364 001792C4 80 BF 00 68 */ lwz r5, 0x68(r31) /* 8017C368 001792C8 38 00 00 08 */ li r0, 8 /* 8017C36C 001792CC 80 DF 00 6C */ lwz r6, 0x6c(r31) /* 8017C370 001792D0 38 80 00 00 */ li r4, 0 /* 8017C374 001792D4 7C A0 00 38 */ and r0, r5, r0 /* 8017C378 001792D8 7C C3 20 38 */ and r3, r6, r4 /* 8017C37C 001792DC 7C 63 22 78 */ xor r3, r3, r4 /* 8017C380 001792E0 7C 00 22 78 */ xor r0, r0, r4 /* 8017C384 001792E4 7C 60 03 79 */ or. r0, r3, r0 /* 8017C388 001792E8 41 82 00 08 */ beq lbl_8017C390 /* 8017C38C 001792EC 38 80 00 01 */ li r4, 1 lbl_8017C390: /* 8017C390 001792F0 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 8017C394 001792F4 40 82 00 24 */ bne lbl_8017C3B8 /* 8017C398 001792F8 38 80 00 00 */ li r4, 0 /* 8017C39C 001792FC 38 00 00 80 */ li r0, 0x80 /* 8017C3A0 00179300 7C C3 20 38 */ and r3, r6, r4 /* 8017C3A4 00179304 7C A0 00 38 */ and r0, r5, r0 /* 8017C3A8 00179308 7C 63 22 78 */ xor r3, r3, r4 /* 8017C3AC 0017930C 7C 00 22 78 */ xor r0, r0, r4 /* 8017C3B0 00179310 7C 60 03 79 */ or. r0, r3, r0 /* 8017C3B4 00179314 41 82 00 0C */ beq lbl_8017C3C0 lbl_8017C3B8: /* 8017C3B8 00179318 38 60 00 01 */ li r3, 1 /* 8017C3BC 0017931C 48 00 01 60 */ b lbl_8017C51C lbl_8017C3C0: /* 8017C3C0 00179320 A0 1D 00 00 */ lhz r0, 0(r29) /* 8017C3C4 00179324 7F C3 F3 78 */ mr r3, r30 /* 8017C3C8 00179328 38 81 00 0C */ addi r4, r1, 0xc /* 8017C3CC 0017932C B0 01 00 0C */ sth r0, 0xc(r1) /* 8017C3D0 00179330 4B ED 01 D5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017C3D4 00179334 7C 64 1B 78 */ mr r4, r3 /* 8017C3D8 00179338 38 61 00 20 */ addi r3, r1, 0x20 /* 8017C3DC 0017933C 4B F2 D6 ED */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017C3E0 00179340 80 83 00 04 */ lwz r4, 4(r3) /* 8017C3E4 00179344 28 04 00 00 */ cmplwi r4, 0 /* 8017C3E8 00179348 41 82 00 64 */ beq lbl_8017C44C /* 8017C3EC 0017934C C0 24 00 50 */ lfs f1, 0x50(r4) /* 8017C3F0 00179350 38 61 00 44 */ addi r3, r1, 0x44 /* 8017C3F4 00179354 C0 1C 00 50 */ lfs f0, 0x50(r28) /* 8017C3F8 00179358 C0 64 00 60 */ lfs f3, 0x60(r4) /* 8017C3FC 0017935C C0 5C 00 60 */ lfs f2, 0x60(r28) /* 8017C400 00179360 EC 81 00 28 */ fsubs f4, f1, f0 /* 8017C404 00179364 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8017C408 00179368 C0 1C 00 40 */ lfs f0, 0x40(r28) /* 8017C40C 0017936C EC 43 10 28 */ fsubs f2, f3, f2 /* 8017C410 00179370 D0 81 00 48 */ stfs f4, 0x48(r1) /* 8017C414 00179374 EC 01 00 28 */ fsubs f0, f1, f0 /* 8017C418 00179378 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8017C41C 0017937C D0 01 00 44 */ stfs f0, 0x44(r1) /* 8017C420 00179380 48 19 82 D9 */ bl CanBeNormalized__9CVector3fCFv /* 8017C424 00179384 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C428 00179388 41 82 00 24 */ beq lbl_8017C44C /* 8017C42C 0017938C 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017C430 00179390 38 61 00 44 */ addi r3, r1, 0x44 /* 8017C434 00179394 C3 E4 02 A0 */ lfs f31, 0x2a0(r4) /* 8017C438 00179398 48 19 84 81 */ bl Magnitude__9CVector3fCFv /* 8017C43C 0017939C FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 8017C440 001793A0 40 80 00 0C */ bge lbl_8017C44C /* 8017C444 001793A4 38 60 00 01 */ li r3, 1 /* 8017C448 001793A8 48 00 00 D4 */ b lbl_8017C51C lbl_8017C44C: /* 8017C44C 001793AC 7F 83 E3 78 */ mr r3, r28 /* 8017C450 001793B0 4B E9 73 C1 */ bl GetExplorationMode__7CPlayerCFv /* 8017C454 001793B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C458 001793B8 41 82 00 C0 */ beq lbl_8017C518 /* 8017C45C 001793BC 7F E3 FB 78 */ mr r3, r31 /* 8017C460 001793C0 7F C4 F3 78 */ mr r4, r30 /* 8017C464 001793C4 81 9F 00 00 */ lwz r12, 0(r31) /* 8017C468 001793C8 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8017C46C 001793CC 7D 89 03 A6 */ mtctr r12 /* 8017C470 001793D0 4E 80 04 21 */ bctrl /* 8017C474 001793D4 28 03 00 00 */ cmplwi r3, 0 /* 8017C478 001793D8 40 82 00 98 */ bne lbl_8017C510 /* 8017C47C 001793DC A0 1D 00 00 */ lhz r0, 0(r29) /* 8017C480 001793E0 7F C3 F3 78 */ mr r3, r30 /* 8017C484 001793E4 38 81 00 08 */ addi r4, r1, 8 /* 8017C488 001793E8 B0 01 00 08 */ sth r0, 8(r1) /* 8017C48C 001793EC 4B ED 01 19 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017C490 001793F0 7C 64 1B 78 */ mr r4, r3 /* 8017C494 001793F4 38 61 00 18 */ addi r3, r1, 0x18 /* 8017C498 001793F8 4B F2 D6 31 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017C49C 001793FC 80 83 00 04 */ lwz r4, 4(r3) /* 8017C4A0 00179400 28 04 00 00 */ cmplwi r4, 0 /* 8017C4A4 00179404 41 82 00 64 */ beq lbl_8017C508 /* 8017C4A8 00179408 C0 24 00 50 */ lfs f1, 0x50(r4) /* 8017C4AC 0017940C 38 61 00 38 */ addi r3, r1, 0x38 /* 8017C4B0 00179410 C0 1C 00 50 */ lfs f0, 0x50(r28) /* 8017C4B4 00179414 C0 64 00 60 */ lfs f3, 0x60(r4) /* 8017C4B8 00179418 C0 5C 00 60 */ lfs f2, 0x60(r28) /* 8017C4BC 0017941C EC 81 00 28 */ fsubs f4, f1, f0 /* 8017C4C0 00179420 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8017C4C4 00179424 C0 1C 00 40 */ lfs f0, 0x40(r28) /* 8017C4C8 00179428 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017C4CC 0017942C D0 81 00 3C */ stfs f4, 0x3c(r1) /* 8017C4D0 00179430 EC 01 00 28 */ fsubs f0, f1, f0 /* 8017C4D4 00179434 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8017C4D8 00179438 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8017C4DC 0017943C 48 19 82 1D */ bl CanBeNormalized__9CVector3fCFv /* 8017C4E0 00179440 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C4E4 00179444 41 82 00 34 */ beq lbl_8017C518 /* 8017C4E8 00179448 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017C4EC 0017944C 38 61 00 38 */ addi r3, r1, 0x38 /* 8017C4F0 00179450 C3 E4 02 A0 */ lfs f31, 0x2a0(r4) /* 8017C4F4 00179454 48 19 83 C5 */ bl Magnitude__9CVector3fCFv /* 8017C4F8 00179458 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 8017C4FC 0017945C 40 80 00 1C */ bge lbl_8017C518 /* 8017C500 00179460 38 60 00 01 */ li r3, 1 /* 8017C504 00179464 48 00 00 18 */ b lbl_8017C51C lbl_8017C508: /* 8017C508 00179468 38 60 00 01 */ li r3, 1 /* 8017C50C 0017946C 48 00 00 10 */ b lbl_8017C51C lbl_8017C510: /* 8017C510 00179470 38 60 00 01 */ li r3, 1 /* 8017C514 00179474 48 00 00 08 */ b lbl_8017C51C lbl_8017C518: /* 8017C518 00179478 38 60 00 00 */ li r3, 0 lbl_8017C51C: /* 8017C51C 0017947C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 8017C520 00179480 80 01 00 74 */ lwz r0, 0x74(r1) /* 8017C524 00179484 CB E1 00 60 */ lfd f31, 0x60(r1) /* 8017C528 00179488 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8017C52C 0017948C 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8017C530 00179490 83 A1 00 54 */ lwz r29, 0x54(r1) /* 8017C534 00179494 83 81 00 50 */ lwz r28, 0x50(r1) /* 8017C538 00179498 7C 08 03 A6 */ mtlr r0 /* 8017C53C 0017949C 38 21 00 70 */ addi r1, r1, 0x70 /* 8017C540 001794A0 4E 80 00 20 */ blr .global FindAimTargetId__7CPlayerFR13CStateManager FindAimTargetId__7CPlayerFR13CStateManager: /* 8017C544 001794A4 94 21 F7 80 */ stwu r1, -0x880(r1) /* 8017C548 001794A8 7C 08 02 A6 */ mflr r0 /* 8017C54C 001794AC 90 01 08 84 */ stw r0, 0x884(r1) /* 8017C550 001794B0 93 E1 08 7C */ stw r31, 0x87c(r1) /* 8017C554 001794B4 7C BF 2B 78 */ mr r31, r5 /* 8017C558 001794B8 93 C1 08 78 */ stw r30, 0x878(r1) /* 8017C55C 001794BC 7C 9E 23 78 */ mr r30, r4 /* 8017C560 001794C0 7F E4 FB 78 */ mr r4, r31 /* 8017C564 001794C4 93 A1 08 74 */ stw r29, 0x874(r1) /* 8017C568 001794C8 7C 7D 1B 78 */ mr r29, r3 /* 8017C56C 001794CC 7F C3 F3 78 */ mr r3, r30 /* 8017C570 001794D0 4B E9 CB 5D */ bl GetFirstPersonCameraTransform__7CPlayerCFR13CStateManager /* 8017C574 001794D4 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017C578 001794D8 88 1E 09 C6 */ lbz r0, 0x9c6(r30) /* 8017C57C 001794DC C0 24 02 34 */ lfs f1, 0x234(r4) /* 8017C580 001794E0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017C584 001794E4 FC 60 08 90 */ fmr f3, f1 /* 8017C588 001794E8 41 82 00 0C */ beq lbl_8017C594 /* 8017C58C 001794EC C0 02 A2 A0 */ lfs f0, lbl_805ABFC0@sda21(r2) /* 8017C590 001794F0 EC 61 00 32 */ fmuls f3, f1, f0 lbl_8017C594: /* 8017C594 001794F4 C0 24 02 58 */ lfs f1, 0x258(r4) /* 8017C598 001794F8 7C 65 1B 78 */ mr r5, r3 /* 8017C59C 001794FC C0 44 02 5C */ lfs f2, 0x25c(r4) /* 8017C5A0 00179500 38 61 00 20 */ addi r3, r1, 0x20 /* 8017C5A4 00179504 38 80 00 01 */ li r4, 1 /* 8017C5A8 00179508 48 00 33 C9 */ bl BuildNearListBox__FbRC12CTransform4ffff /* 8017C5AC 0017950C C0 A1 00 20 */ lfs f5, 0x20(r1) /* 8017C5B0 00179510 38 60 00 00 */ li r3, 0 /* 8017C5B4 00179514 C0 81 00 24 */ lfs f4, 0x24(r1) /* 8017C5B8 00179518 38 80 00 01 */ li r4, 1 /* 8017C5BC 0017951C C0 61 00 28 */ lfs f3, 0x28(r1) /* 8017C5C0 00179520 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 8017C5C4 00179524 C0 21 00 30 */ lfs f1, 0x30(r1) /* 8017C5C8 00179528 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8017C5CC 0017952C 80 AD 8E 74 */ lwz r5, lbl_805A7A34@sda21(r13) /* 8017C5D0 00179530 D0 A1 00 50 */ stfs f5, 0x50(r1) /* 8017C5D4 00179534 D0 81 00 54 */ stfs f4, 0x54(r1) /* 8017C5D8 00179538 D0 61 00 58 */ stfs f3, 0x58(r1) /* 8017C5DC 0017953C D0 41 00 5C */ stfs f2, 0x5c(r1) /* 8017C5E0 00179540 D0 21 00 60 */ stfs f1, 0x60(r1) /* 8017C5E4 00179544 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8017C5E8 00179548 48 20 D9 0D */ bl __shl2i /* 8017C5EC 0017954C 38 00 00 00 */ li r0, 0 /* 8017C5F0 00179550 39 00 00 01 */ li r8, 1 /* 8017C5F4 00179554 90 81 00 3C */ stw r4, 0x3c(r1) /* 8017C5F8 00179558 7F C7 F3 78 */ mr r7, r30 /* 8017C5FC 0017955C 38 81 00 68 */ addi r4, r1, 0x68 /* 8017C600 00179560 38 A1 00 50 */ addi r5, r1, 0x50 /* 8017C604 00179564 90 61 00 38 */ stw r3, 0x38(r1) /* 8017C608 00179568 7F E3 FB 78 */ mr r3, r31 /* 8017C60C 0017956C 38 C1 00 38 */ addi r6, r1, 0x38 /* 8017C610 00179570 91 01 00 18 */ stw r8, 0x18(r1) /* 8017C614 00179574 90 01 00 44 */ stw r0, 0x44(r1) /* 8017C618 00179578 90 01 00 40 */ stw r0, 0x40(r1) /* 8017C61C 0017957C 91 01 00 48 */ stw r8, 0x48(r1) /* 8017C620 00179580 90 01 00 68 */ stw r0, 0x68(r1) /* 8017C624 00179584 4B ED 00 FD */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 8017C628 00179588 7F A3 EB 78 */ mr r3, r29 /* 8017C62C 0017958C 7F C4 F3 78 */ mr r4, r30 /* 8017C630 00179590 7F E8 FB 78 */ mr r8, r31 /* 8017C634 00179594 38 A1 00 68 */ addi r5, r1, 0x68 /* 8017C638 00179598 38 C0 00 00 */ li r6, 0 /* 8017C63C 0017959C 38 E0 00 01 */ li r7, 1 /* 8017C640 001795A0 48 00 00 75 */ bl "CheckEnemiesAgainstOrbitZone__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManager" /* 8017C644 001795A4 80 A1 00 68 */ lwz r5, 0x68(r1) /* 8017C648 001795A8 38 60 00 00 */ li r3, 0 /* 8017C64C 001795AC 2C 05 00 00 */ cmpwi r5, 0 /* 8017C650 001795B0 40 81 00 40 */ ble lbl_8017C690 /* 8017C654 001795B4 2C 05 00 08 */ cmpwi r5, 8 /* 8017C658 001795B8 38 85 FF F8 */ addi r4, r5, -8 /* 8017C65C 001795BC 40 81 00 20 */ ble lbl_8017C67C /* 8017C660 001795C0 38 04 00 07 */ addi r0, r4, 7 /* 8017C664 001795C4 54 00 E8 FE */ srwi r0, r0, 3 /* 8017C668 001795C8 7C 09 03 A6 */ mtctr r0 /* 8017C66C 001795CC 2C 04 00 00 */ cmpwi r4, 0 /* 8017C670 001795D0 40 81 00 0C */ ble lbl_8017C67C lbl_8017C674: /* 8017C674 001795D4 38 63 00 08 */ addi r3, r3, 8 /* 8017C678 001795D8 42 00 FF FC */ bdnz lbl_8017C674 lbl_8017C67C: /* 8017C67C 001795DC 7C 03 28 50 */ subf r0, r3, r5 /* 8017C680 001795E0 7C 09 03 A6 */ mtctr r0 /* 8017C684 001795E4 7C 03 28 00 */ cmpw r3, r5 /* 8017C688 001795E8 40 80 00 08 */ bge lbl_8017C690 lbl_8017C68C: /* 8017C68C 001795EC 42 00 00 00 */ bdnz lbl_8017C68C lbl_8017C690: /* 8017C690 001795F0 38 00 00 00 */ li r0, 0 /* 8017C694 001795F4 90 01 00 68 */ stw r0, 0x68(r1) /* 8017C698 001795F8 80 01 08 84 */ lwz r0, 0x884(r1) /* 8017C69C 001795FC 83 E1 08 7C */ lwz r31, 0x87c(r1) /* 8017C6A0 00179600 83 C1 08 78 */ lwz r30, 0x878(r1) /* 8017C6A4 00179604 83 A1 08 74 */ lwz r29, 0x874(r1) /* 8017C6A8 00179608 7C 08 03 A6 */ mtlr r0 /* 8017C6AC 0017960C 38 21 08 80 */ addi r1, r1, 0x880 /* 8017C6B0 00179610 4E 80 00 20 */ blr .global "CheckEnemiesAgainstOrbitZone__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManager" "CheckEnemiesAgainstOrbitZone__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManager": /* 8017C6B4 00179614 94 21 EE 50 */ stwu r1, -0x11b0(r1) /* 8017C6B8 00179618 7C 08 02 A6 */ mflr r0 /* 8017C6BC 0017961C 90 01 11 B4 */ stw r0, 0x11b4(r1) /* 8017C6C0 00179620 38 00 11 A8 */ li r0, 0x11a8 /* 8017C6C4 00179624 DB E1 11 A0 */ stfd f31, 0x11a0(r1) /* 8017C6C8 00179628 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0 /* 8017C6CC 0017962C 38 00 11 98 */ li r0, 0x1198 /* 8017C6D0 00179630 DB C1 11 90 */ stfd f30, 0x1190(r1) /* 8017C6D4 00179634 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0 /* 8017C6D8 00179638 38 00 11 88 */ li r0, 0x1188 /* 8017C6DC 0017963C DB A1 11 80 */ stfd f29, 0x1180(r1) /* 8017C6E0 00179640 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0 /* 8017C6E4 00179644 38 00 11 78 */ li r0, 0x1178 /* 8017C6E8 00179648 DB 81 11 70 */ stfd f28, 0x1170(r1) /* 8017C6EC 0017964C 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0 /* 8017C6F0 00179650 38 00 11 68 */ li r0, 0x1168 /* 8017C6F4 00179654 DB 61 11 60 */ stfd f27, 0x1160(r1) /* 8017C6F8 00179658 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 8017C6FC 0017965C 38 00 11 58 */ li r0, 0x1158 /* 8017C700 00179660 DB 41 11 50 */ stfd f26, 0x1150(r1) /* 8017C704 00179664 13 41 00 0E */ psq_stx f26, r1, r0, 0, qr0 /* 8017C708 00179668 BE A1 11 24 */ stmw r21, 0x1124(r1) /* 8017C70C 0017966C 7C 75 1B 78 */ mr r21, r3 /* 8017C710 00179670 7C 9B 23 78 */ mr r27, r4 /* 8017C714 00179674 7C BC 2B 78 */ mr r28, r5 /* 8017C718 00179678 7C DD 33 78 */ mr r29, r6 /* 8017C71C 0017967C 7C FE 3B 78 */ mr r30, r7 /* 8017C720 00179680 7D 1F 43 78 */ mr r31, r8 /* 8017C724 00179684 38 61 00 34 */ addi r3, r1, 0x34 /* 8017C728 00179688 48 10 86 55 */ bl GetEyePosition__7CPlayerCFv /* 8017C72C 0017968C C0 61 00 34 */ lfs f3, 0x34(r1) /* 8017C730 00179690 38 61 00 64 */ addi r3, r1, 0x64 /* 8017C734 00179694 C0 41 00 38 */ lfs f2, 0x38(r1) /* 8017C738 00179698 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 8017C73C 0017969C C0 BB 00 58 */ lfs f5, 0x58(r27) /* 8017C740 001796A0 C0 9B 00 48 */ lfs f4, 0x48(r27) /* 8017C744 001796A4 C0 1B 00 38 */ lfs f0, 0x38(r27) /* 8017C748 001796A8 D0 61 00 70 */ stfs f3, 0x70(r1) /* 8017C74C 001796AC D0 41 00 74 */ stfs f2, 0x74(r1) /* 8017C750 001796B0 D0 21 00 78 */ stfs f1, 0x78(r1) /* 8017C754 001796B4 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8017C758 001796B8 D0 81 00 68 */ stfs f4, 0x68(r1) /* 8017C75C 001796BC D0 A1 00 6C */ stfs f5, 0x6c(r1) /* 8017C760 001796C0 48 19 81 99 */ bl Normalize__9CVector3fFv /* 8017C764 001796C4 3C 60 80 3F */ lis r3, mViewport__9CGraphics@ha /* 8017C768 001796C8 3C E0 43 30 */ lis r7, 0x4330 /* 8017C76C 001796CC 3B 43 D9 10 */ addi r26, r3, mViewport__9CGraphics@l /* 8017C770 001796D0 C3 E2 A2 80 */ lfs f31, lbl_805ABFA0@sda21(r2) /* 8017C774 001796D4 80 BA 00 08 */ lwz r5, 8(r26) /* 8017C778 001796D8 57 A3 10 3A */ slwi r3, r29, 2 /* 8017C77C 001796DC 80 CD A1 18 */ lwz r6, gpTweakPlayer@sda21(r13) /* 8017C780 001796E0 FF C0 F8 90 */ fmr f30, f31 /* 8017C784 001796E4 80 9A 00 0C */ lwz r4, 0xc(r26) /* 8017C788 001796E8 54 A0 0F FE */ srwi r0, r5, 0x1f /* 8017C78C 001796EC 7C C6 1A 14 */ add r6, r6, r3 /* 8017C790 001796F0 80 7F 08 70 */ lwz r3, 0x870(r31) /* 8017C794 001796F4 7C A0 2A 14 */ add r5, r0, r5 /* 8017C798 001796F8 54 80 0F FE */ srwi r0, r4, 0x1f /* 8017C79C 001796FC 81 06 01 C8 */ lwz r8, 0x1c8(r6) /* 8017C7A0 00179700 7C A9 0E 70 */ srawi r9, r5, 1 /* 8017C7A4 00179704 80 A6 01 D0 */ lwz r5, 0x1d0(r6) /* 8017C7A8 00179708 6D 26 80 00 */ xoris r6, r9, 0x8000 /* 8017C7AC 0017970C 7C 00 22 14 */ add r0, r0, r4 /* 8017C7B0 00179710 7C 00 0E 70 */ srawi r0, r0, 1 /* 8017C7B4 00179714 6D 08 80 00 */ xoris r8, r8, 0x8000 /* 8017C7B8 00179718 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8017C7BC 0017971C 6C A4 80 00 */ xoris r4, r5, 0x8000 /* 8017C7C0 00179720 91 01 10 EC */ stw r8, 0x10ec(r1) /* 8017C7C4 00179724 3B 1C 00 04 */ addi r24, r28, 4 /* 8017C7C8 00179728 C8 62 A2 98 */ lfd f3, lbl_805ABFB8@sda21(r2) /* 8017C7CC 0017972C 90 E1 10 E8 */ stw r7, 0x10e8(r1) /* 8017C7D0 00179730 A3 2D A3 8C */ lhz r25, kInvalidUniqueId@sda21(r13) /* 8017C7D4 00179734 C8 01 10 E8 */ lfd f0, 0x10e8(r1) /* 8017C7D8 00179738 90 C1 10 F4 */ stw r6, 0x10f4(r1) /* 8017C7DC 0017973C EC 40 18 28 */ fsubs f2, f0, f3 /* 8017C7E0 00179740 82 C3 00 7C */ lwz r22, 0x7c(r3) /* 8017C7E4 00179744 90 E1 10 F0 */ stw r7, 0x10f0(r1) /* 8017C7E8 00179748 C8 01 10 F0 */ lfd f0, 0x10f0(r1) /* 8017C7EC 0017974C 90 81 11 04 */ stw r4, 0x1104(r1) /* 8017C7F0 00179750 EC 20 18 28 */ fsubs f1, f0, f3 /* 8017C7F4 00179754 90 E1 11 00 */ stw r7, 0x1100(r1) /* 8017C7F8 00179758 C8 01 11 00 */ lfd f0, 0x1100(r1) /* 8017C7FC 0017975C EF A2 08 28 */ fsubs f29, f2, f1 /* 8017C800 00179760 90 01 11 0C */ stw r0, 0x110c(r1) /* 8017C804 00179764 EC 20 18 28 */ fsubs f1, f0, f3 /* 8017C808 00179768 90 E1 11 08 */ stw r7, 0x1108(r1) /* 8017C80C 0017976C C8 01 11 08 */ lfd f0, 0x1108(r1) /* 8017C810 00179770 90 C1 10 FC */ stw r6, 0x10fc(r1) /* 8017C814 00179774 EC 00 18 28 */ fsubs f0, f0, f3 /* 8017C818 00179778 90 E1 10 F8 */ stw r7, 0x10f8(r1) /* 8017C81C 0017977C C8 41 10 F8 */ lfd f2, 0x10f8(r1) /* 8017C820 00179780 EF 81 00 28 */ fsubs f28, f1, f0 /* 8017C824 00179784 90 01 11 14 */ stw r0, 0x1114(r1) /* 8017C828 00179788 EC 22 18 28 */ fsubs f1, f2, f3 /* 8017C82C 0017978C 90 E1 11 10 */ stw r7, 0x1110(r1) /* 8017C830 00179790 C8 01 11 10 */ lfd f0, 0x1110(r1) /* 8017C834 00179794 EF BD 08 24 */ fdivs f29, f29, f1 /* 8017C838 00179798 EC 00 18 28 */ fsubs f0, f0, f3 /* 8017C83C 0017979C EF 9C 00 24 */ fdivs f28, f28, f0 /* 8017C840 001797A0 48 00 03 B8 */ b lbl_8017CBF8 lbl_8017C844: /* 8017C844 001797A4 A0 18 00 00 */ lhz r0, 0(r24) /* 8017C848 001797A8 7F E3 FB 78 */ mr r3, r31 /* 8017C84C 001797AC 38 81 00 10 */ addi r4, r1, 0x10 /* 8017C850 001797B0 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017C854 001797B4 4B EC FD 51 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017C858 001797B8 7C 77 1B 79 */ or. r23, r3, r3 /* 8017C85C 001797BC 41 82 03 98 */ beq lbl_8017CBF4 /* 8017C860 001797C0 A0 D7 00 08 */ lhz r6, 8(r23) /* 8017C864 001797C4 A0 1B 00 08 */ lhz r0, 8(r27) /* 8017C868 001797C8 7C 06 00 40 */ cmplw r6, r0 /* 8017C86C 001797CC 41 82 03 88 */ beq lbl_8017CBF4 /* 8017C870 001797D0 B0 C1 00 08 */ sth r6, 8(r1) /* 8017C874 001797D4 7F 63 DB 78 */ mr r3, r27 /* 8017C878 001797D8 7F E5 FB 78 */ mr r5, r31 /* 8017C87C 001797DC 38 81 00 0C */ addi r4, r1, 0xc /* 8017C880 001797E0 B0 C1 00 0C */ sth r6, 0xc(r1) /* 8017C884 001797E4 4B FF F9 DD */ bl ValidateObjectForMode__7CPlayerCF9TUniqueIdR13CStateManager /* 8017C888 001797E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C88C 001797EC 41 82 03 68 */ beq lbl_8017CBF4 /* 8017C890 001797F0 7E E4 BB 78 */ mr r4, r23 /* 8017C894 001797F4 7F E5 FB 78 */ mr r5, r31 /* 8017C898 001797F8 81 97 00 00 */ lwz r12, 0(r23) /* 8017C89C 001797FC 38 61 00 28 */ addi r3, r1, 0x28 /* 8017C8A0 00179800 C0 22 A2 30 */ lfs f1, lbl_805ABF50@sda21(r2) /* 8017C8A4 00179804 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8017C8A8 00179808 7D 89 03 A6 */ mtctr r12 /* 8017C8AC 0017980C 4E 80 04 21 */ bctrl /* 8017C8B0 00179810 C0 41 00 28 */ lfs f2, 0x28(r1) /* 8017C8B4 00179814 7E C4 B3 78 */ mr r4, r22 /* 8017C8B8 00179818 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8017C8BC 0017981C 38 61 00 1C */ addi r3, r1, 0x1c /* 8017C8C0 00179820 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8017C8C4 00179824 38 A1 00 58 */ addi r5, r1, 0x58 /* 8017C8C8 00179828 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8017C8CC 0017982C D0 21 00 5C */ stfs f1, 0x5c(r1) /* 8017C8D0 00179830 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8017C8D4 00179834 4B EE 0F BD */ bl ConvertToScreenSpace__11CGameCameraCFRC9CVector3f /* 8017C8D8 00179838 80 1A 00 08 */ lwz r0, 8(r26) /* 8017C8DC 0017983C 3C E0 43 30 */ lis r7, 0x4330 /* 8017C8E0 00179840 80 9A 00 0C */ lwz r4, 0xc(r26) /* 8017C8E4 00179844 7F 63 DB 78 */ mr r3, r27 /* 8017C8E8 00179848 6C 08 80 00 */ xoris r8, r0, 0x8000 /* 8017C8EC 0017984C C1 01 00 1C */ lfs f8, 0x1c(r1) /* 8017C8F0 00179850 6C 80 80 00 */ xoris r0, r4, 0x8000 /* 8017C8F4 00179854 91 01 11 0C */ stw r8, 0x110c(r1) /* 8017C8F8 00179858 C0 E1 00 20 */ lfs f7, 0x20(r1) /* 8017C8FC 0017985C 7F A5 EB 78 */ mr r5, r29 /* 8017C900 00179860 90 E1 11 08 */ stw r7, 0x1108(r1) /* 8017C904 00179864 7F C6 F3 78 */ mr r6, r30 /* 8017C908 00179868 C8 A2 A2 98 */ lfd f5, lbl_805ABFB8@sda21(r2) /* 8017C90C 0017986C 38 81 00 4C */ addi r4, r1, 0x4c /* 8017C910 00179870 C8 01 11 08 */ lfd f0, 0x1108(r1) /* 8017C914 00179874 90 01 10 FC */ stw r0, 0x10fc(r1) /* 8017C918 00179878 EC 20 28 28 */ fsubs f1, f0, f5 /* 8017C91C 0017987C C0 C1 00 24 */ lfs f6, 0x24(r1) /* 8017C920 00179880 90 E1 10 F8 */ stw r7, 0x10f8(r1) /* 8017C924 00179884 C0 62 A2 68 */ lfs f3, lbl_805ABF88@sda21(r2) /* 8017C928 00179888 C8 01 10 F8 */ lfd f0, 0x10f8(r1) /* 8017C92C 0017988C EC 28 00 72 */ fmuls f1, f8, f1 /* 8017C930 00179890 91 01 11 14 */ stw r8, 0x1114(r1) /* 8017C934 00179894 EC 00 28 28 */ fsubs f0, f0, f5 /* 8017C938 00179898 90 E1 11 10 */ stw r7, 0x1110(r1) /* 8017C93C 0017989C EC 41 00 F2 */ fmuls f2, f1, f3 /* 8017C940 001798A0 EC 07 00 32 */ fmuls f0, f7, f0 /* 8017C944 001798A4 C8 21 11 10 */ lfd f1, 0x1110(r1) /* 8017C948 001798A8 90 01 11 04 */ stw r0, 0x1104(r1) /* 8017C94C 001798AC EC 81 28 28 */ fsubs f4, f1, f5 /* 8017C950 001798B0 90 E1 11 00 */ stw r7, 0x1100(r1) /* 8017C954 001798B4 EC 00 00 F2 */ fmuls f0, f0, f3 /* 8017C958 001798B8 C8 21 11 00 */ lfd f1, 0x1100(r1) /* 8017C95C 001798BC EC 44 10 FA */ fmadds f2, f4, f3, f2 /* 8017C960 001798C0 D1 01 00 4C */ stfs f8, 0x4c(r1) /* 8017C964 001798C4 EC 21 28 28 */ fsubs f1, f1, f5 /* 8017C968 001798C8 D0 E1 00 50 */ stfs f7, 0x50(r1) /* 8017C96C 001798CC EC 01 00 FA */ fmadds f0, f1, f3, f0 /* 8017C970 001798D0 D0 C1 00 54 */ stfs f6, 0x54(r1) /* 8017C974 001798D4 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8017C978 001798D8 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8017C97C 001798DC 48 00 13 51 */ bl WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType /* 8017C980 001798E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017C984 001798E4 41 82 02 70 */ beq lbl_8017CBF4 /* 8017C988 001798E8 C0 21 00 5C */ lfs f1, 0x5c(r1) /* 8017C98C 001798EC 38 61 00 40 */ addi r3, r1, 0x40 /* 8017C990 001798F0 C0 01 00 74 */ lfs f0, 0x74(r1) /* 8017C994 001798F4 C0 61 00 60 */ lfs f3, 0x60(r1) /* 8017C998 001798F8 C0 41 00 78 */ lfs f2, 0x78(r1) /* 8017C99C 001798FC EC 81 00 28 */ fsubs f4, f1, f0 /* 8017C9A0 00179900 C0 21 00 58 */ lfs f1, 0x58(r1) /* 8017C9A4 00179904 C0 01 00 70 */ lfs f0, 0x70(r1) /* 8017C9A8 00179908 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017C9AC 0017990C D0 81 00 44 */ stfs f4, 0x44(r1) /* 8017C9B0 00179910 EC 01 00 28 */ fsubs f0, f1, f0 /* 8017C9B4 00179914 D0 41 00 48 */ stfs f2, 0x48(r1) /* 8017C9B8 00179918 D0 01 00 40 */ stfs f0, 0x40(r1) /* 8017C9BC 0017991C 48 19 7E FD */ bl Magnitude__9CVector3fCFv /* 8017C9C0 00179920 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017C9C4 00179924 FF 60 08 90 */ fmr f27, f1 /* 8017C9C8 00179928 C0 03 02 34 */ lfs f0, 0x234(r3) /* 8017C9CC 0017992C FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 8017C9D0 00179930 4C 40 13 82 */ cror 2, 0, 2 /* 8017C9D4 00179934 40 82 02 20 */ bne lbl_8017CBF4 /* 8017C9D8 00179938 EC 1F D8 28 */ fsubs f0, f31, f27 /* 8017C9DC 0017993C C0 23 02 4C */ lfs f1, 0x24c(r3) /* 8017C9E0 00179940 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8017C9E4 00179944 40 81 00 FC */ ble lbl_8017CAE0 /* 8017C9E8 00179948 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017C9EC 0017994C 38 60 00 00 */ li r3, 0 /* 8017C9F0 00179950 90 61 08 E4 */ stw r3, 0x8e4(r1) /* 8017C9F4 00179954 38 61 00 40 */ addi r3, r1, 0x40 /* 8017C9F8 00179958 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017C9FC 0017995C 48 19 7E FD */ bl Normalize__9CVector3fFv /* 8017CA00 00179960 FC 20 D8 90 */ fmr f1, f27 /* 8017CA04 00179964 3C 80 80 47 */ lis r4, lbl_8046C8D8@ha /* 8017CA08 00179968 7C 66 1B 78 */ mr r6, r3 /* 8017CA0C 0017996C 7F E3 FB 78 */ mr r3, r31 /* 8017CA10 00179970 38 E4 C8 D8 */ addi r7, r4, lbl_8046C8D8@l /* 8017CA14 00179974 7E E8 BB 78 */ mr r8, r23 /* 8017CA18 00179978 38 81 08 E4 */ addi r4, r1, 0x8e4 /* 8017CA1C 0017997C 38 A1 00 70 */ addi r5, r1, 0x70 /* 8017CA20 00179980 4B EC FC B9 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017CA24 00179984 38 61 00 40 */ addi r3, r1, 0x40 /* 8017CA28 00179988 48 19 7E D1 */ bl Normalize__9CVector3fFv /* 8017CA2C 0017998C FC 20 D8 90 */ fmr f1, f27 /* 8017CA30 00179990 3C A0 80 47 */ lis r5, lbl_8046C8C0@ha /* 8017CA34 00179994 7C 67 1B 78 */ mr r7, r3 /* 8017CA38 00179998 7F E4 FB 78 */ mr r4, r31 /* 8017CA3C 0017999C 39 05 C8 C0 */ addi r8, r5, lbl_8046C8C0@l /* 8017CA40 001799A0 38 61 00 B0 */ addi r3, r1, 0xb0 /* 8017CA44 001799A4 38 A1 00 18 */ addi r5, r1, 0x18 /* 8017CA48 001799A8 38 C1 00 70 */ addi r6, r1, 0x70 /* 8017CA4C 001799AC 39 21 08 E4 */ addi r9, r1, 0x8e4 /* 8017CA50 001799B0 4B ED 05 75 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017CA54 001799B4 88 01 00 D0 */ lbz r0, 0xd0(r1) /* 8017CA58 001799B8 28 00 00 00 */ cmplwi r0, 0 /* 8017CA5C 001799BC 40 82 00 28 */ bne lbl_8017CA84 /* 8017CA60 001799C0 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 8017CA64 001799C4 FF E0 D8 90 */ fmr f31, f27 /* 8017CA68 001799C8 C0 01 00 50 */ lfs f0, 0x50(r1) /* 8017CA6C 001799CC EC 21 E8 28 */ fsubs f1, f1, f29 /* 8017CA70 001799D0 A3 37 00 08 */ lhz r25, 8(r23) /* 8017CA74 001799D4 EC 00 E0 28 */ fsubs f0, f0, f28 /* 8017CA78 001799D8 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017CA7C 001799DC EC 00 00 32 */ fmuls f0, f0, f0 /* 8017CA80 001799E0 EF C1 00 2A */ fadds f30, f1, f0 lbl_8017CA84: /* 8017CA84 001799E4 80 A1 08 E4 */ lwz r5, 0x8e4(r1) /* 8017CA88 001799E8 38 60 00 00 */ li r3, 0 /* 8017CA8C 001799EC 2C 05 00 00 */ cmpwi r5, 0 /* 8017CA90 001799F0 40 81 00 44 */ ble lbl_8017CAD4 /* 8017CA94 001799F4 2C 05 00 08 */ cmpwi r5, 8 /* 8017CA98 001799F8 38 85 FF F8 */ addi r4, r5, -8 /* 8017CA9C 001799FC 40 81 00 20 */ ble lbl_8017CABC /* 8017CAA0 00179A00 38 04 00 07 */ addi r0, r4, 7 /* 8017CAA4 00179A04 54 00 E8 FE */ srwi r0, r0, 3 /* 8017CAA8 00179A08 7C 09 03 A6 */ mtctr r0 /* 8017CAAC 00179A0C 2C 04 00 00 */ cmpwi r4, 0 /* 8017CAB0 00179A10 40 81 00 0C */ ble lbl_8017CABC lbl_8017CAB4: /* 8017CAB4 00179A14 38 63 00 08 */ addi r3, r3, 8 /* 8017CAB8 00179A18 42 00 FF FC */ bdnz lbl_8017CAB4 lbl_8017CABC: /* 8017CABC 00179A1C 7C 03 28 50 */ subf r0, r3, r5 /* 8017CAC0 00179A20 7C 09 03 A6 */ mtctr r0 /* 8017CAC4 00179A24 7C 03 28 00 */ cmpw r3, r5 /* 8017CAC8 00179A28 40 80 00 0C */ bge lbl_8017CAD4 lbl_8017CACC: /* 8017CACC 00179A2C 38 63 00 01 */ addi r3, r3, 1 /* 8017CAD0 00179A30 42 00 FF FC */ bdnz lbl_8017CACC lbl_8017CAD4: /* 8017CAD4 00179A34 38 00 00 00 */ li r0, 0 /* 8017CAD8 00179A38 90 01 08 E4 */ stw r0, 0x8e4(r1) /* 8017CADC 00179A3C 48 00 01 18 */ b lbl_8017CBF4 lbl_8017CAE0: /* 8017CAE0 00179A40 EC 1B F8 28 */ fsubs f0, f27, f31 /* 8017CAE4 00179A44 FC 00 02 10 */ fabs f0, f0 /* 8017CAE8 00179A48 FC 00 00 18 */ frsp f0, f0 /* 8017CAEC 00179A4C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8017CAF0 00179A50 40 80 01 04 */ bge lbl_8017CBF4 /* 8017CAF4 00179A54 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 8017CAF8 00179A58 C0 01 00 50 */ lfs f0, 0x50(r1) /* 8017CAFC 00179A5C EC 21 E8 28 */ fsubs f1, f1, f29 /* 8017CB00 00179A60 EC 00 E0 28 */ fsubs f0, f0, f28 /* 8017CB04 00179A64 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017CB08 00179A68 EC 00 00 32 */ fmuls f0, f0, f0 /* 8017CB0C 00179A6C EF 41 00 2A */ fadds f26, f1, f0 /* 8017CB10 00179A70 FC 1A F0 40 */ fcmpo cr0, f26, f30 /* 8017CB14 00179A74 40 80 00 E0 */ bge lbl_8017CBF4 /* 8017CB18 00179A78 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017CB1C 00179A7C 38 60 00 00 */ li r3, 0 /* 8017CB20 00179A80 90 61 00 E0 */ stw r3, 0xe0(r1) /* 8017CB24 00179A84 38 61 00 40 */ addi r3, r1, 0x40 /* 8017CB28 00179A88 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017CB2C 00179A8C 48 19 7D CD */ bl Normalize__9CVector3fFv /* 8017CB30 00179A90 FC 20 D8 90 */ fmr f1, f27 /* 8017CB34 00179A94 3C 80 80 47 */ lis r4, lbl_8046C8D8@ha /* 8017CB38 00179A98 7C 66 1B 78 */ mr r6, r3 /* 8017CB3C 00179A9C 7F E3 FB 78 */ mr r3, r31 /* 8017CB40 00179AA0 38 E4 C8 D8 */ addi r7, r4, lbl_8046C8D8@l /* 8017CB44 00179AA4 7E E8 BB 78 */ mr r8, r23 /* 8017CB48 00179AA8 38 81 00 E0 */ addi r4, r1, 0xe0 /* 8017CB4C 00179AAC 38 A1 00 70 */ addi r5, r1, 0x70 /* 8017CB50 00179AB0 4B EC FB 89 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017CB54 00179AB4 38 61 00 40 */ addi r3, r1, 0x40 /* 8017CB58 00179AB8 48 19 7D A1 */ bl Normalize__9CVector3fFv /* 8017CB5C 00179ABC FC 20 D8 90 */ fmr f1, f27 /* 8017CB60 00179AC0 3C A0 80 47 */ lis r5, lbl_8046C8C0@ha /* 8017CB64 00179AC4 7C 67 1B 78 */ mr r7, r3 /* 8017CB68 00179AC8 7F E4 FB 78 */ mr r4, r31 /* 8017CB6C 00179ACC 39 05 C8 C0 */ addi r8, r5, lbl_8046C8C0@l /* 8017CB70 00179AD0 38 61 00 80 */ addi r3, r1, 0x80 /* 8017CB74 00179AD4 38 A1 00 14 */ addi r5, r1, 0x14 /* 8017CB78 00179AD8 38 C1 00 70 */ addi r6, r1, 0x70 /* 8017CB7C 00179ADC 39 21 00 E0 */ addi r9, r1, 0xe0 /* 8017CB80 00179AE0 4B ED 04 45 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017CB84 00179AE4 88 01 00 A0 */ lbz r0, 0xa0(r1) /* 8017CB88 00179AE8 28 00 00 00 */ cmplwi r0, 0 /* 8017CB8C 00179AEC 40 82 00 10 */ bne lbl_8017CB9C /* 8017CB90 00179AF0 FF C0 D0 90 */ fmr f30, f26 /* 8017CB94 00179AF4 A3 37 00 08 */ lhz r25, 8(r23) /* 8017CB98 00179AF8 FF E0 D8 90 */ fmr f31, f27 lbl_8017CB9C: /* 8017CB9C 00179AFC 80 A1 00 E0 */ lwz r5, 0xe0(r1) /* 8017CBA0 00179B00 38 60 00 00 */ li r3, 0 /* 8017CBA4 00179B04 2C 05 00 00 */ cmpwi r5, 0 /* 8017CBA8 00179B08 40 81 00 44 */ ble lbl_8017CBEC /* 8017CBAC 00179B0C 2C 05 00 08 */ cmpwi r5, 8 /* 8017CBB0 00179B10 38 85 FF F8 */ addi r4, r5, -8 /* 8017CBB4 00179B14 40 81 00 20 */ ble lbl_8017CBD4 /* 8017CBB8 00179B18 38 04 00 07 */ addi r0, r4, 7 /* 8017CBBC 00179B1C 54 00 E8 FE */ srwi r0, r0, 3 /* 8017CBC0 00179B20 7C 09 03 A6 */ mtctr r0 /* 8017CBC4 00179B24 2C 04 00 00 */ cmpwi r4, 0 /* 8017CBC8 00179B28 40 81 00 0C */ ble lbl_8017CBD4 lbl_8017CBCC: /* 8017CBCC 00179B2C 38 63 00 08 */ addi r3, r3, 8 /* 8017CBD0 00179B30 42 00 FF FC */ bdnz lbl_8017CBCC lbl_8017CBD4: /* 8017CBD4 00179B34 7C 03 28 50 */ subf r0, r3, r5 /* 8017CBD8 00179B38 7C 09 03 A6 */ mtctr r0 /* 8017CBDC 00179B3C 7C 03 28 00 */ cmpw r3, r5 /* 8017CBE0 00179B40 40 80 00 0C */ bge lbl_8017CBEC lbl_8017CBE4: /* 8017CBE4 00179B44 38 63 00 01 */ addi r3, r3, 1 /* 8017CBE8 00179B48 42 00 FF FC */ bdnz lbl_8017CBE4 lbl_8017CBEC: /* 8017CBEC 00179B4C 38 00 00 00 */ li r0, 0 /* 8017CBF0 00179B50 90 01 00 E0 */ stw r0, 0xe0(r1) lbl_8017CBF4: /* 8017CBF4 00179B54 3B 18 00 02 */ addi r24, r24, 2 lbl_8017CBF8: /* 8017CBF8 00179B58 80 1C 00 00 */ lwz r0, 0(r28) /* 8017CBFC 00179B5C 54 00 08 3C */ slwi r0, r0, 1 /* 8017CC00 00179B60 7C 7C 02 14 */ add r3, r28, r0 /* 8017CC04 00179B64 38 03 00 04 */ addi r0, r3, 4 /* 8017CC08 00179B68 7C 18 00 40 */ cmplw r24, r0 /* 8017CC0C 00179B6C 40 82 FC 38 */ bne lbl_8017C844 /* 8017CC10 00179B70 B3 35 00 00 */ sth r25, 0(r21) /* 8017CC14 00179B74 38 00 11 A8 */ li r0, 0x11a8 /* 8017CC18 00179B78 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0 /* 8017CC1C 00179B7C CB E1 11 A0 */ lfd f31, 0x11a0(r1) /* 8017CC20 00179B80 38 00 11 98 */ li r0, 0x1198 /* 8017CC24 00179B84 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0 /* 8017CC28 00179B88 CB C1 11 90 */ lfd f30, 0x1190(r1) /* 8017CC2C 00179B8C 38 00 11 88 */ li r0, 0x1188 /* 8017CC30 00179B90 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0 /* 8017CC34 00179B94 CB A1 11 80 */ lfd f29, 0x1180(r1) /* 8017CC38 00179B98 38 00 11 78 */ li r0, 0x1178 /* 8017CC3C 00179B9C 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0 /* 8017CC40 00179BA0 CB 81 11 70 */ lfd f28, 0x1170(r1) /* 8017CC44 00179BA4 38 00 11 68 */ li r0, 0x1168 /* 8017CC48 00179BA8 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0 /* 8017CC4C 00179BAC CB 61 11 60 */ lfd f27, 0x1160(r1) /* 8017CC50 00179BB0 38 00 11 58 */ li r0, 0x1158 /* 8017CC54 00179BB4 13 41 00 0C */ psq_lx f26, r1, r0, 0, qr0 /* 8017CC58 00179BB8 CB 41 11 50 */ lfd f26, 0x1150(r1) /* 8017CC5C 00179BBC BA A1 11 24 */ lmw r21, 0x1124(r1) /* 8017CC60 00179BC0 80 01 11 B4 */ lwz r0, 0x11b4(r1) /* 8017CC64 00179BC4 7C 08 03 A6 */ mtlr r0 /* 8017CC68 00179BC8 38 21 11 B0 */ addi r1, r1, 0x11b0 /* 8017CC6C 00179BCC 4E 80 00 20 */ blr .global FindOrbitTargetId__7CPlayerFR13CStateManager FindOrbitTargetId__7CPlayerFR13CStateManager: /* 8017CC70 00179BD0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017CC74 00179BD4 7C 08 02 A6 */ mflr r0 /* 8017CC78 00179BD8 7C A7 2B 78 */ mr r7, r5 /* 8017CC7C 00179BDC 38 A4 03 54 */ addi r5, r4, 0x354 /* 8017CC80 00179BE0 90 01 00 14 */ stw r0, 0x14(r1) /* 8017CC84 00179BE4 93 E1 00 0C */ stw r31, 0xc(r1) /* 8017CC88 00179BE8 7C 7F 1B 78 */ mr r31, r3 /* 8017CC8C 00179BEC 80 C4 03 30 */ lwz r6, 0x330(r4) /* 8017CC90 00179BF0 48 00 03 25 */ bl "FindBestOrbitableObject__7CPlayerCFRCQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoR13CStateManager" /* 8017CC94 00179BF4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017CC98 00179BF8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8017CC9C 00179BFC 7C 08 03 A6 */ mtlr r0 /* 8017CCA0 00179C00 38 21 00 10 */ addi r1, r1, 0x10 /* 8017CCA4 00179C04 4E 80 00 20 */ blr .global UpdateOrbitableObjects__7CPlayerFR13CStateManager UpdateOrbitableObjects__7CPlayerFR13CStateManager: /* 8017CCA8 00179C08 94 21 F7 30 */ stwu r1, -0x8d0(r1) /* 8017CCAC 00179C0C 7C 08 02 A6 */ mflr r0 /* 8017CCB0 00179C10 90 01 08 D4 */ stw r0, 0x8d4(r1) /* 8017CCB4 00179C14 93 E1 08 CC */ stw r31, 0x8cc(r1) /* 8017CCB8 00179C18 7C 9F 23 78 */ mr r31, r4 /* 8017CCBC 00179C1C 93 C1 08 C8 */ stw r30, 0x8c8(r1) /* 8017CCC0 00179C20 7C 7E 1B 78 */ mr r30, r3 /* 8017CCC4 00179C24 93 A1 08 C4 */ stw r29, 0x8c4(r1) /* 8017CCC8 00179C28 80 03 03 58 */ lwz r0, 0x358(r3) /* 8017CCCC 00179C2C 80 63 03 60 */ lwz r3, 0x360(r3) /* 8017CCD0 00179C30 54 00 08 3C */ slwi r0, r0, 1 /* 8017CCD4 00179C34 7C 03 02 14 */ add r0, r3, r0 /* 8017CCD8 00179C38 90 61 00 2C */ stw r3, 0x2c(r1) /* 8017CCDC 00179C3C 90 01 00 34 */ stw r0, 0x34(r1) /* 8017CCE0 00179C40 90 01 00 30 */ stw r0, 0x30(r1) /* 8017CCE4 00179C44 90 61 00 28 */ stw r3, 0x28(r1) /* 8017CCE8 00179C48 48 00 00 08 */ b lbl_8017CCF0 lbl_8017CCEC: /* 8017CCEC 00179C4C 38 63 00 02 */ addi r3, r3, 2 lbl_8017CCF0: /* 8017CCF0 00179C50 7C 03 00 40 */ cmplw r3, r0 /* 8017CCF4 00179C54 40 82 FF F8 */ bne lbl_8017CCEC /* 8017CCF8 00179C58 38 00 00 00 */ li r0, 0 /* 8017CCFC 00179C5C 90 1E 03 58 */ stw r0, 0x358(r30) /* 8017CD00 00179C60 80 1E 03 48 */ lwz r0, 0x348(r30) /* 8017CD04 00179C64 80 7E 03 50 */ lwz r3, 0x350(r30) /* 8017CD08 00179C68 54 00 08 3C */ slwi r0, r0, 1 /* 8017CD0C 00179C6C 7C 03 02 14 */ add r0, r3, r0 /* 8017CD10 00179C70 90 61 00 1C */ stw r3, 0x1c(r1) /* 8017CD14 00179C74 90 01 00 24 */ stw r0, 0x24(r1) /* 8017CD18 00179C78 90 01 00 20 */ stw r0, 0x20(r1) /* 8017CD1C 00179C7C 90 61 00 18 */ stw r3, 0x18(r1) /* 8017CD20 00179C80 48 00 00 08 */ b lbl_8017CD28 lbl_8017CD24: /* 8017CD24 00179C84 38 63 00 02 */ addi r3, r3, 2 lbl_8017CD28: /* 8017CD28 00179C88 7C 03 00 40 */ cmplw r3, r0 /* 8017CD2C 00179C8C 40 82 FF F8 */ bne lbl_8017CD24 /* 8017CD30 00179C90 38 00 00 00 */ li r0, 0 /* 8017CD34 00179C94 90 1E 03 48 */ stw r0, 0x348(r30) /* 8017CD38 00179C98 80 1E 03 68 */ lwz r0, 0x368(r30) /* 8017CD3C 00179C9C 80 7E 03 70 */ lwz r3, 0x370(r30) /* 8017CD40 00179CA0 54 00 08 3C */ slwi r0, r0, 1 /* 8017CD44 00179CA4 7C 03 02 14 */ add r0, r3, r0 /* 8017CD48 00179CA8 90 61 00 0C */ stw r3, 0xc(r1) /* 8017CD4C 00179CAC 90 01 00 14 */ stw r0, 0x14(r1) /* 8017CD50 00179CB0 90 01 00 10 */ stw r0, 0x10(r1) /* 8017CD54 00179CB4 90 61 00 08 */ stw r3, 8(r1) /* 8017CD58 00179CB8 48 00 00 08 */ b lbl_8017CD60 lbl_8017CD5C: /* 8017CD5C 00179CBC 38 63 00 02 */ addi r3, r3, 2 lbl_8017CD60: /* 8017CD60 00179CC0 7C 03 00 40 */ cmplw r3, r0 /* 8017CD64 00179CC4 40 82 FF F8 */ bne lbl_8017CD5C /* 8017CD68 00179CC8 38 00 00 00 */ li r0, 0 /* 8017CD6C 00179CCC 7F C3 F3 78 */ mr r3, r30 /* 8017CD70 00179CD0 90 1E 03 68 */ stw r0, 0x368(r30) /* 8017CD74 00179CD4 7F E4 FB 78 */ mr r4, r31 /* 8017CD78 00179CD8 48 00 11 5D */ bl CheckOrbitDisableSourceList__7CPlayerFRC13CStateManager /* 8017CD7C 00179CDC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017CD80 00179CE0 40 82 02 18 */ bne lbl_8017CF98 /* 8017CD84 00179CE4 7F C3 F3 78 */ mr r3, r30 /* 8017CD88 00179CE8 7F E4 FB 78 */ mr r4, r31 /* 8017CD8C 00179CEC 4B E9 C3 41 */ bl GetFirstPersonCameraTransform__7CPlayerCFR13CStateManager /* 8017CD90 00179CF0 7C 60 1B 78 */ mr r0, r3 /* 8017CD94 00179CF4 7F C3 F3 78 */ mr r3, r30 /* 8017CD98 00179CF8 7C 1D 03 78 */ mr r29, r0 /* 8017CD9C 00179CFC 7F E4 FB 78 */ mr r4, r31 /* 8017CDA0 00179D00 48 00 22 B9 */ bl GetOrbitMaxTargetDistance__7CPlayerCFRC13CStateManager /* 8017CDA4 00179D04 88 1E 09 C6 */ lbz r0, 0x9c6(r30) /* 8017CDA8 00179D08 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017CDAC 00179D0C 41 82 00 0C */ beq lbl_8017CDB8 /* 8017CDB0 00179D10 C0 02 A2 A0 */ lfs f0, lbl_805ABFC0@sda21(r2) /* 8017CDB4 00179D14 EC 21 00 32 */ fmuls f1, f1, f0 lbl_8017CDB8: /* 8017CDB8 00179D18 80 CD A1 18 */ lwz r6, gpTweakPlayer@sda21(r13) /* 8017CDBC 00179D1C FC 60 08 90 */ fmr f3, f1 /* 8017CDC0 00179D20 7F A5 EB 78 */ mr r5, r29 /* 8017CDC4 00179D24 38 61 00 68 */ addi r3, r1, 0x68 /* 8017CDC8 00179D28 C0 46 01 DC */ lfs f2, 0x1dc(r6) /* 8017CDCC 00179D2C 38 80 00 01 */ li r4, 1 /* 8017CDD0 00179D30 C0 26 01 D8 */ lfs f1, 0x1d8(r6) /* 8017CDD4 00179D34 48 00 2B 9D */ bl BuildNearListBox__FbRC12CTransform4ffff /* 8017CDD8 00179D38 C0 A1 00 68 */ lfs f5, 0x68(r1) /* 8017CDDC 00179D3C 3C 60 80 47 */ lis r3, lbl_8046C8F0@ha /* 8017CDE0 00179D40 C0 81 00 6C */ lfs f4, 0x6c(r1) /* 8017CDE4 00179D44 39 63 C8 F0 */ addi r11, r3, lbl_8046C8F0@l /* 8017CDE8 00179D48 C0 61 00 70 */ lfs f3, 0x70(r1) /* 8017CDEC 00179D4C 38 60 00 00 */ li r3, 0 /* 8017CDF0 00179D50 C0 41 00 74 */ lfs f2, 0x74(r1) /* 8017CDF4 00179D54 38 80 00 01 */ li r4, 1 /* 8017CDF8 00179D58 C0 21 00 78 */ lfs f1, 0x78(r1) /* 8017CDFC 00179D5C C0 01 00 7C */ lfs f0, 0x7c(r1) /* 8017CE00 00179D60 D0 A1 00 98 */ stfs f5, 0x98(r1) /* 8017CE04 00179D64 80 AD 8E 6C */ lwz r5, lbl_805A7A2C@sda21(r13) /* 8017CE08 00179D68 D0 81 00 9C */ stfs f4, 0x9c(r1) /* 8017CE0C 00179D6C 81 41 00 98 */ lwz r10, 0x98(r1) /* 8017CE10 00179D70 D0 61 00 A0 */ stfs f3, 0xa0(r1) /* 8017CE14 00179D74 81 21 00 9C */ lwz r9, 0x9c(r1) /* 8017CE18 00179D78 D0 41 00 A4 */ stfs f2, 0xa4(r1) /* 8017CE1C 00179D7C 81 01 00 A0 */ lwz r8, 0xa0(r1) /* 8017CE20 00179D80 D0 21 00 A8 */ stfs f1, 0xa8(r1) /* 8017CE24 00179D84 80 E1 00 A4 */ lwz r7, 0xa4(r1) /* 8017CE28 00179D88 D0 01 00 AC */ stfs f0, 0xac(r1) /* 8017CE2C 00179D8C 80 C1 00 A8 */ lwz r6, 0xa8(r1) /* 8017CE30 00179D90 80 01 00 AC */ lwz r0, 0xac(r1) /* 8017CE34 00179D94 91 4B 00 00 */ stw r10, 0(r11) /* 8017CE38 00179D98 91 2B 00 04 */ stw r9, 4(r11) /* 8017CE3C 00179D9C 91 0B 00 08 */ stw r8, 8(r11) /* 8017CE40 00179DA0 90 EB 00 0C */ stw r7, 0xc(r11) /* 8017CE44 00179DA4 90 CB 00 10 */ stw r6, 0x10(r11) /* 8017CE48 00179DA8 90 0B 00 14 */ stw r0, 0x14(r11) /* 8017CE4C 00179DAC 48 20 D0 A9 */ bl __shl2i /* 8017CE50 00179DB0 38 A0 00 01 */ li r5, 1 /* 8017CE54 00179DB4 38 00 00 00 */ li r0, 0 /* 8017CE58 00179DB8 90 81 00 84 */ stw r4, 0x84(r1) /* 8017CE5C 00179DBC 90 61 00 80 */ stw r3, 0x80(r1) /* 8017CE60 00179DC0 90 01 00 8C */ stw r0, 0x8c(r1) /* 8017CE64 00179DC4 90 01 00 88 */ stw r0, 0x88(r1) /* 8017CE68 00179DC8 90 A1 00 90 */ stw r5, 0x90(r1) /* 8017CE6C 00179DCC 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 8017CE70 00179DD0 90 A1 00 60 */ stw r5, 0x60(r1) /* 8017CE74 00179DD4 80 63 00 00 */ lwz r3, 0(r3) /* 8017CE78 00179DD8 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017CE7C 00179DDC 2C 00 00 02 */ cmpwi r0, 2 /* 8017CE80 00179DE0 40 82 00 44 */ bne lbl_8017CEC4 /* 8017CE84 00179DE4 80 AD 8E 70 */ lwz r5, lbl_805A7A30@sda21(r13) /* 8017CE88 00179DE8 38 60 00 00 */ li r3, 0 /* 8017CE8C 00179DEC 38 80 00 01 */ li r4, 1 /* 8017CE90 00179DF0 48 20 D0 65 */ bl __shl2i /* 8017CE94 00179DF4 38 A0 00 00 */ li r5, 0 /* 8017CE98 00179DF8 38 00 00 01 */ li r0, 1 /* 8017CE9C 00179DFC 90 81 00 3C */ stw r4, 0x3c(r1) /* 8017CEA0 00179E00 90 61 00 38 */ stw r3, 0x38(r1) /* 8017CEA4 00179E04 C8 21 00 38 */ lfd f1, 0x38(r1) /* 8017CEA8 00179E08 90 A1 00 44 */ stw r5, 0x44(r1) /* 8017CEAC 00179E0C 90 A1 00 40 */ stw r5, 0x40(r1) /* 8017CEB0 00179E10 C8 01 00 40 */ lfd f0, 0x40(r1) /* 8017CEB4 00179E14 90 01 00 48 */ stw r0, 0x48(r1) /* 8017CEB8 00179E18 D8 21 00 80 */ stfd f1, 0x80(r1) /* 8017CEBC 00179E1C D8 01 00 88 */ stfd f0, 0x88(r1) /* 8017CEC0 00179E20 90 01 00 90 */ stw r0, 0x90(r1) lbl_8017CEC4: /* 8017CEC4 00179E24 38 00 00 00 */ li r0, 0 /* 8017CEC8 00179E28 7F E3 FB 78 */ mr r3, r31 /* 8017CECC 00179E2C 90 01 00 B0 */ stw r0, 0xb0(r1) /* 8017CED0 00179E30 38 81 00 B0 */ addi r4, r1, 0xb0 /* 8017CED4 00179E34 38 A1 00 98 */ addi r5, r1, 0x98 /* 8017CED8 00179E38 38 C1 00 80 */ addi r6, r1, 0x80 /* 8017CEDC 00179E3C 38 E0 00 00 */ li r7, 0 /* 8017CEE0 00179E40 4B EC F8 41 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 8017CEE4 00179E44 80 DE 03 30 */ lwz r6, 0x330(r30) /* 8017CEE8 00179E48 7F C3 F3 78 */ mr r3, r30 /* 8017CEEC 00179E4C 7F E8 FB 78 */ mr r8, r31 /* 8017CEF0 00179E50 38 81 00 B0 */ addi r4, r1, 0xb0 /* 8017CEF4 00179E54 38 BE 03 44 */ addi r5, r30, 0x344 /* 8017CEF8 00179E58 38 E0 FF FF */ li r7, -1 /* 8017CEFC 00179E5C 39 20 00 01 */ li r9, 1 /* 8017CF00 00179E60 48 00 0A A5 */ bl "FindOrbitableObjects__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>RQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManagerb" /* 8017CF04 00179E64 80 DE 03 30 */ lwz r6, 0x330(r30) /* 8017CF08 00179E68 7F C3 F3 78 */ mr r3, r30 /* 8017CF0C 00179E6C 80 FE 03 34 */ lwz r7, 0x334(r30) /* 8017CF10 00179E70 7F E8 FB 78 */ mr r8, r31 /* 8017CF14 00179E74 38 81 00 B0 */ addi r4, r1, 0xb0 /* 8017CF18 00179E78 38 BE 03 54 */ addi r5, r30, 0x354 /* 8017CF1C 00179E7C 39 20 00 01 */ li r9, 1 /* 8017CF20 00179E80 48 00 0A 85 */ bl "FindOrbitableObjects__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>RQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManagerb" /* 8017CF24 00179E84 80 DE 03 30 */ lwz r6, 0x330(r30) /* 8017CF28 00179E88 7F C3 F3 78 */ mr r3, r30 /* 8017CF2C 00179E8C 80 FE 03 34 */ lwz r7, 0x334(r30) /* 8017CF30 00179E90 7F E8 FB 78 */ mr r8, r31 /* 8017CF34 00179E94 38 81 00 B0 */ addi r4, r1, 0xb0 /* 8017CF38 00179E98 38 BE 03 64 */ addi r5, r30, 0x364 /* 8017CF3C 00179E9C 39 20 00 00 */ li r9, 0 /* 8017CF40 00179EA0 48 00 0A 65 */ bl "FindOrbitableObjects__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>RQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManagerb" /* 8017CF44 00179EA4 80 A1 00 B0 */ lwz r5, 0xb0(r1) /* 8017CF48 00179EA8 38 60 00 00 */ li r3, 0 /* 8017CF4C 00179EAC 2C 05 00 00 */ cmpwi r5, 0 /* 8017CF50 00179EB0 40 81 00 40 */ ble lbl_8017CF90 /* 8017CF54 00179EB4 2C 05 00 08 */ cmpwi r5, 8 /* 8017CF58 00179EB8 38 85 FF F8 */ addi r4, r5, -8 /* 8017CF5C 00179EBC 40 81 00 20 */ ble lbl_8017CF7C /* 8017CF60 00179EC0 38 04 00 07 */ addi r0, r4, 7 /* 8017CF64 00179EC4 54 00 E8 FE */ srwi r0, r0, 3 /* 8017CF68 00179EC8 7C 09 03 A6 */ mtctr r0 /* 8017CF6C 00179ECC 2C 04 00 00 */ cmpwi r4, 0 /* 8017CF70 00179ED0 40 81 00 0C */ ble lbl_8017CF7C lbl_8017CF74: /* 8017CF74 00179ED4 38 63 00 08 */ addi r3, r3, 8 /* 8017CF78 00179ED8 42 00 FF FC */ bdnz lbl_8017CF74 lbl_8017CF7C: /* 8017CF7C 00179EDC 7C 03 28 50 */ subf r0, r3, r5 /* 8017CF80 00179EE0 7C 09 03 A6 */ mtctr r0 /* 8017CF84 00179EE4 7C 03 28 00 */ cmpw r3, r5 /* 8017CF88 00179EE8 40 80 00 08 */ bge lbl_8017CF90 lbl_8017CF8C: /* 8017CF8C 00179EEC 42 00 00 00 */ bdnz lbl_8017CF8C lbl_8017CF90: /* 8017CF90 00179EF0 38 00 00 00 */ li r0, 0 /* 8017CF94 00179EF4 90 01 00 B0 */ stw r0, 0xb0(r1) lbl_8017CF98: /* 8017CF98 00179EF8 80 01 08 D4 */ lwz r0, 0x8d4(r1) /* 8017CF9C 00179EFC 83 E1 08 CC */ lwz r31, 0x8cc(r1) /* 8017CFA0 00179F00 83 C1 08 C8 */ lwz r30, 0x8c8(r1) /* 8017CFA4 00179F04 83 A1 08 C4 */ lwz r29, 0x8c4(r1) /* 8017CFA8 00179F08 7C 08 03 A6 */ mtlr r0 /* 8017CFAC 00179F0C 38 21 08 D0 */ addi r1, r1, 0x8d0 /* 8017CFB0 00179F10 4E 80 00 20 */ blr .global "FindBestOrbitableObject__7CPlayerCFRCQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoR13CStateManager" "FindBestOrbitableObject__7CPlayerCFRCQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoR13CStateManager": /* 8017CFB4 00179F14 94 21 E5 90 */ stwu r1, -0x1a70(r1) /* 8017CFB8 00179F18 7C 08 02 A6 */ mflr r0 /* 8017CFBC 00179F1C 90 01 1A 74 */ stw r0, 0x1a74(r1) /* 8017CFC0 00179F20 38 00 1A 68 */ li r0, 0x1a68 /* 8017CFC4 00179F24 DB E1 1A 60 */ stfd f31, 0x1a60(r1) /* 8017CFC8 00179F28 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0 /* 8017CFCC 00179F2C 38 00 1A 58 */ li r0, 0x1a58 /* 8017CFD0 00179F30 DB C1 1A 50 */ stfd f30, 0x1a50(r1) /* 8017CFD4 00179F34 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0 /* 8017CFD8 00179F38 38 00 1A 48 */ li r0, 0x1a48 /* 8017CFDC 00179F3C DB A1 1A 40 */ stfd f29, 0x1a40(r1) /* 8017CFE0 00179F40 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0 /* 8017CFE4 00179F44 38 00 1A 38 */ li r0, 0x1a38 /* 8017CFE8 00179F48 DB 81 1A 30 */ stfd f28, 0x1a30(r1) /* 8017CFEC 00179F4C 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0 /* 8017CFF0 00179F50 38 00 1A 28 */ li r0, 0x1a28 /* 8017CFF4 00179F54 DB 61 1A 20 */ stfd f27, 0x1a20(r1) /* 8017CFF8 00179F58 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 8017CFFC 00179F5C 38 00 1A 18 */ li r0, 0x1a18 /* 8017D000 00179F60 DB 41 1A 10 */ stfd f26, 0x1a10(r1) /* 8017D004 00179F64 13 41 00 0E */ psq_stx f26, r1, r0, 0, qr0 /* 8017D008 00179F68 38 00 1A 08 */ li r0, 0x1a08 /* 8017D00C 00179F6C DB 21 1A 00 */ stfd f25, 0x1a00(r1) /* 8017D010 00179F70 13 21 00 0E */ psq_stx f25, r1, r0, 0, qr0 /* 8017D014 00179F74 38 00 19 F8 */ li r0, 0x19f8 /* 8017D018 00179F78 DB 01 19 F0 */ stfd f24, 0x19f0(r1) /* 8017D01C 00179F7C 13 01 00 0E */ psq_stx f24, r1, r0, 0, qr0 /* 8017D020 00179F80 38 00 19 E8 */ li r0, 0x19e8 /* 8017D024 00179F84 DA E1 19 E0 */ stfd f23, 0x19e0(r1) /* 8017D028 00179F88 12 E1 00 0E */ psq_stx f23, r1, r0, 0, qr0 /* 8017D02C 00179F8C 38 00 19 D8 */ li r0, 0x19d8 /* 8017D030 00179F90 DA C1 19 D0 */ stfd f22, 0x19d0(r1) /* 8017D034 00179F94 12 C1 00 0E */ psq_stx f22, r1, r0, 0, qr0 /* 8017D038 00179F98 BE A1 19 A4 */ stmw r21, 0x19a4(r1) /* 8017D03C 00179F9C 7C 76 1B 78 */ mr r22, r3 /* 8017D040 00179FA0 7C 9C 23 78 */ mr r28, r4 /* 8017D044 00179FA4 7C B9 2B 78 */ mr r25, r5 /* 8017D048 00179FA8 7C D5 33 78 */ mr r21, r6 /* 8017D04C 00179FAC 7C FD 3B 78 */ mr r29, r7 /* 8017D050 00179FB0 38 61 00 7C */ addi r3, r1, 0x7c /* 8017D054 00179FB4 48 10 7D 29 */ bl GetEyePosition__7CPlayerCFv /* 8017D058 00179FB8 C0 61 00 7C */ lfs f3, 0x7c(r1) /* 8017D05C 00179FBC 38 61 00 AC */ addi r3, r1, 0xac /* 8017D060 00179FC0 C0 41 00 80 */ lfs f2, 0x80(r1) /* 8017D064 00179FC4 C0 21 00 84 */ lfs f1, 0x84(r1) /* 8017D068 00179FC8 C0 BC 00 58 */ lfs f5, 0x58(r28) /* 8017D06C 00179FCC C0 9C 00 48 */ lfs f4, 0x48(r28) /* 8017D070 00179FD0 C0 1C 00 38 */ lfs f0, 0x38(r28) /* 8017D074 00179FD4 D0 61 00 B8 */ stfs f3, 0xb8(r1) /* 8017D078 00179FD8 D0 41 00 BC */ stfs f2, 0xbc(r1) /* 8017D07C 00179FDC D0 21 00 C0 */ stfs f1, 0xc0(r1) /* 8017D080 00179FE0 D0 01 00 AC */ stfs f0, 0xac(r1) /* 8017D084 00179FE4 D0 81 00 B0 */ stfs f4, 0xb0(r1) /* 8017D088 00179FE8 D0 A1 00 B4 */ stfs f5, 0xb4(r1) /* 8017D08C 00179FEC 48 19 78 6D */ bl Normalize__9CVector3fFv /* 8017D090 00179FF0 3C 60 80 3F */ lis r3, mViewport__9CGraphics@ha /* 8017D094 00179FF4 3C E0 43 30 */ lis r7, 0x4330 /* 8017D098 00179FF8 38 63 D9 10 */ addi r3, r3, mViewport__9CGraphics@l /* 8017D09C 00179FFC C3 A2 A2 80 */ lfs f29, lbl_805ABFA0@sda21(r2) /* 8017D0A0 0017A000 80 A3 00 08 */ lwz r5, 8(r3) /* 8017D0A4 0017A004 56 A6 10 3A */ slwi r6, r21, 2 /* 8017D0A8 0017A008 81 0D A1 18 */ lwz r8, gpTweakPlayer@sda21(r13) /* 8017D0AC 0017A00C FF 80 E8 90 */ fmr f28, f29 /* 8017D0B0 0017A010 80 83 00 0C */ lwz r4, 0xc(r3) /* 8017D0B4 0017A014 54 A0 0F FE */ srwi r0, r5, 0x1f /* 8017D0B8 0017A018 7C C8 32 14 */ add r6, r8, r6 /* 8017D0BC 0017A01C 80 7D 08 70 */ lwz r3, 0x870(r29) /* 8017D0C0 0017A020 7C A0 2A 14 */ add r5, r0, r5 /* 8017D0C4 0017A024 54 80 0F FE */ srwi r0, r4, 0x1f /* 8017D0C8 0017A028 81 06 01 C8 */ lwz r8, 0x1c8(r6) /* 8017D0CC 0017A02C 7C A9 0E 70 */ srawi r9, r5, 1 /* 8017D0D0 0017A030 80 A6 01 D0 */ lwz r5, 0x1d0(r6) /* 8017D0D4 0017A034 6D 26 80 00 */ xoris r6, r9, 0x8000 /* 8017D0D8 0017A038 7C 00 22 14 */ add r0, r0, r4 /* 8017D0DC 0017A03C 7C 00 0E 70 */ srawi r0, r0, 1 /* 8017D0E0 0017A040 6D 08 80 00 */ xoris r8, r8, 0x8000 /* 8017D0E4 0017A044 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8017D0E8 0017A048 6C A4 80 00 */ xoris r4, r5, 0x8000 /* 8017D0EC 0017A04C 91 01 19 6C */ stw r8, 0x196c(r1) /* 8017D0F0 0017A050 3B E1 09 60 */ addi r31, r1, 0x960 /* 8017D0F4 0017A054 C8 62 A2 98 */ lfd f3, lbl_805ABFB8@sda21(r2) /* 8017D0F8 0017A058 3B C1 01 5C */ addi r30, r1, 0x15c /* 8017D0FC 0017A05C 90 E1 19 68 */ stw r7, 0x1968(r1) /* 8017D100 0017A060 A3 0D A3 8C */ lhz r24, kInvalidUniqueId@sda21(r13) /* 8017D104 0017A064 C8 01 19 68 */ lfd f0, 0x1968(r1) /* 8017D108 0017A068 90 C1 19 74 */ stw r6, 0x1974(r1) /* 8017D10C 0017A06C EC 40 18 28 */ fsubs f2, f0, f3 /* 8017D110 0017A070 82 E3 00 7C */ lwz r23, 0x7c(r3) /* 8017D114 0017A074 90 E1 19 70 */ stw r7, 0x1970(r1) /* 8017D118 0017A078 83 59 00 0C */ lwz r26, 0xc(r25) /* 8017D11C 0017A07C C8 01 19 70 */ lfd f0, 0x1970(r1) /* 8017D120 0017A080 90 81 19 84 */ stw r4, 0x1984(r1) /* 8017D124 0017A084 EC 20 18 28 */ fsubs f1, f0, f3 /* 8017D128 0017A088 90 E1 19 80 */ stw r7, 0x1980(r1) /* 8017D12C 0017A08C C8 01 19 80 */ lfd f0, 0x1980(r1) /* 8017D130 0017A090 EF 62 08 28 */ fsubs f27, f2, f1 /* 8017D134 0017A094 90 01 19 8C */ stw r0, 0x198c(r1) /* 8017D138 0017A098 EC 20 18 28 */ fsubs f1, f0, f3 /* 8017D13C 0017A09C 90 E1 19 88 */ stw r7, 0x1988(r1) /* 8017D140 0017A0A0 C8 01 19 88 */ lfd f0, 0x1988(r1) /* 8017D144 0017A0A4 90 C1 19 7C */ stw r6, 0x197c(r1) /* 8017D148 0017A0A8 EC 00 18 28 */ fsubs f0, f0, f3 /* 8017D14C 0017A0AC 90 E1 19 78 */ stw r7, 0x1978(r1) /* 8017D150 0017A0B0 C8 41 19 78 */ lfd f2, 0x1978(r1) /* 8017D154 0017A0B4 EF 41 00 28 */ fsubs f26, f1, f0 /* 8017D158 0017A0B8 90 01 19 94 */ stw r0, 0x1994(r1) /* 8017D15C 0017A0BC EC 22 18 28 */ fsubs f1, f2, f3 /* 8017D160 0017A0C0 90 E1 19 90 */ stw r7, 0x1990(r1) /* 8017D164 0017A0C4 C8 01 19 90 */ lfd f0, 0x1990(r1) /* 8017D168 0017A0C8 EF 7B 08 24 */ fdivs f27, f27, f1 /* 8017D16C 0017A0CC EC 00 18 28 */ fsubs f0, f0, f3 /* 8017D170 0017A0D0 EF 5A 00 24 */ fdivs f26, f26, f0 /* 8017D174 0017A0D4 48 00 07 88 */ b lbl_8017D8FC lbl_8017D178: /* 8017D178 0017A0D8 A0 1A 00 00 */ lhz r0, 0(r26) /* 8017D17C 0017A0DC 7F A3 EB 78 */ mr r3, r29 /* 8017D180 0017A0E0 38 81 00 10 */ addi r4, r1, 0x10 /* 8017D184 0017A0E4 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017D188 0017A0E8 4B EC F4 1D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017D18C 0017A0EC 7C 64 1B 78 */ mr r4, r3 /* 8017D190 0017A0F0 38 61 00 38 */ addi r3, r1, 0x38 /* 8017D194 0017A0F4 4B F3 2A FD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017D198 0017A0F8 83 63 00 04 */ lwz r27, 4(r3) /* 8017D19C 0017A0FC 28 1B 00 00 */ cmplwi r27, 0 /* 8017D1A0 0017A100 41 82 07 58 */ beq lbl_8017D8F8 /* 8017D1A4 0017A104 7F 64 DB 78 */ mr r4, r27 /* 8017D1A8 0017A108 7F A5 EB 78 */ mr r5, r29 /* 8017D1AC 0017A10C 81 9B 00 00 */ lwz r12, 0(r27) /* 8017D1B0 0017A110 38 61 00 70 */ addi r3, r1, 0x70 /* 8017D1B4 0017A114 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8017D1B8 0017A118 7D 89 03 A6 */ mtctr r12 /* 8017D1BC 0017A11C 4E 80 04 21 */ bctrl /* 8017D1C0 0017A120 C0 A1 00 70 */ lfs f5, 0x70(r1) /* 8017D1C4 0017A124 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D1C8 0017A128 C0 81 00 74 */ lfs f4, 0x74(r1) /* 8017D1CC 0017A12C C0 61 00 78 */ lfs f3, 0x78(r1) /* 8017D1D0 0017A130 C0 41 00 BC */ lfs f2, 0xbc(r1) /* 8017D1D4 0017A134 C0 21 00 C0 */ lfs f1, 0xc0(r1) /* 8017D1D8 0017A138 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 8017D1DC 0017A13C EC 44 10 28 */ fsubs f2, f4, f2 /* 8017D1E0 0017A140 EC 23 08 28 */ fsubs f1, f3, f1 /* 8017D1E4 0017A144 D0 A1 00 A0 */ stfs f5, 0xa0(r1) /* 8017D1E8 0017A148 EC 05 00 28 */ fsubs f0, f5, f0 /* 8017D1EC 0017A14C D0 81 00 A4 */ stfs f4, 0xa4(r1) /* 8017D1F0 0017A150 D0 61 00 A8 */ stfs f3, 0xa8(r1) /* 8017D1F4 0017A154 D0 01 00 94 */ stfs f0, 0x94(r1) /* 8017D1F8 0017A158 D0 41 00 98 */ stfs f2, 0x98(r1) /* 8017D1FC 0017A15C D0 21 00 9C */ stfs f1, 0x9c(r1) /* 8017D200 0017A160 48 19 76 B9 */ bl Magnitude__9CVector3fCFv /* 8017D204 0017A164 FF 20 08 90 */ fmr f25, f1 /* 8017D208 0017A168 7E E4 BB 78 */ mr r4, r23 /* 8017D20C 0017A16C 38 61 00 64 */ addi r3, r1, 0x64 /* 8017D210 0017A170 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 8017D214 0017A174 4B EE 06 7D */ bl ConvertToScreenSpace__11CGameCameraCFRC9CVector3f /* 8017D218 0017A178 C0 21 00 6C */ lfs f1, 0x6c(r1) /* 8017D21C 0017A17C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017D220 0017A180 C3 E1 00 64 */ lfs f31, 0x64(r1) /* 8017D224 0017A184 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017D228 0017A188 C3 C1 00 68 */ lfs f30, 0x68(r1) /* 8017D22C 0017A18C 4C 41 13 82 */ cror 2, 1, 2 /* 8017D230 0017A190 40 82 06 C8 */ bne lbl_8017D8F8 /* 8017D234 0017A194 A0 7A 00 00 */ lhz r3, 0(r26) /* 8017D238 0017A198 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017D23C 0017A19C 7C 03 00 40 */ cmplw r3, r0 /* 8017D240 0017A1A0 41 82 06 B8 */ beq lbl_8017D8F8 /* 8017D244 0017A1A4 7F 64 DB 78 */ mr r4, r27 /* 8017D248 0017A1A8 38 61 00 30 */ addi r3, r1, 0x30 /* 8017D24C 0017A1AC 4B F2 C8 7D */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017D250 0017A1B0 82 A3 00 04 */ lwz r21, 4(r3) /* 8017D254 0017A1B4 28 15 00 00 */ cmplwi r21, 0 /* 8017D258 0017A1B8 41 82 02 50 */ beq lbl_8017D4A8 /* 8017D25C 0017A1BC A0 75 00 08 */ lhz r3, 8(r21) /* 8017D260 0017A1C0 A0 1C 03 10 */ lhz r0, 0x310(r28) /* 8017D264 0017A1C4 7C 03 00 40 */ cmplw r3, r0 /* 8017D268 0017A1C8 41 82 02 40 */ beq lbl_8017D4A8 /* 8017D26C 0017A1CC 80 7D 08 B8 */ lwz r3, 0x8b8(r29) /* 8017D270 0017A1D0 38 80 00 0C */ li r4, 0xc /* 8017D274 0017A1D4 80 63 00 00 */ lwz r3, 0(r3) /* 8017D278 0017A1D8 4B F1 48 49 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 8017D27C 0017A1DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017D280 0017A1E0 41 82 06 78 */ beq lbl_8017D8F8 /* 8017D284 0017A1E4 FC 19 E8 40 */ fcmpo cr0, f25, f29 /* 8017D288 0017A1E8 40 80 06 70 */ bge lbl_8017D8F8 /* 8017D28C 0017A1EC 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017D290 0017A1F0 C0 03 02 A0 */ lfs f0, 0x2a0(r3) /* 8017D294 0017A1F4 FC 19 00 40 */ fcmpo cr0, f25, f0 /* 8017D298 0017A1F8 40 80 06 60 */ bge lbl_8017D8F8 /* 8017D29C 0017A1FC A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13) /* 8017D2A0 0017A200 38 00 00 00 */ li r0, 0 /* 8017D2A4 0017A204 90 01 11 60 */ stw r0, 0x1160(r1) /* 8017D2A8 0017A208 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D2AC 0017A20C B0 81 00 1C */ sth r4, 0x1c(r1) /* 8017D2B0 0017A210 48 19 76 49 */ bl Normalize__9CVector3fFv /* 8017D2B4 0017A214 FC 20 C8 90 */ fmr f1, f25 /* 8017D2B8 0017A218 3C 80 80 47 */ lis r4, lbl_8046C8D8@ha /* 8017D2BC 0017A21C 7C 66 1B 78 */ mr r6, r3 /* 8017D2C0 0017A220 7F A3 EB 78 */ mr r3, r29 /* 8017D2C4 0017A224 38 E4 C8 D8 */ addi r7, r4, lbl_8046C8D8@l /* 8017D2C8 0017A228 7F 68 DB 78 */ mr r8, r27 /* 8017D2CC 0017A22C 38 81 11 60 */ addi r4, r1, 0x1160 /* 8017D2D0 0017A230 38 A1 00 B8 */ addi r5, r1, 0xb8 /* 8017D2D4 0017A234 4B EC F4 05 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017D2D8 0017A238 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D2DC 0017A23C 48 19 76 1D */ bl Normalize__9CVector3fFv /* 8017D2E0 0017A240 FC 20 C8 90 */ fmr f1, f25 /* 8017D2E4 0017A244 3C A0 80 47 */ lis r5, lbl_8046C8C0@ha /* 8017D2E8 0017A248 7C 67 1B 78 */ mr r7, r3 /* 8017D2EC 0017A24C 7F A4 EB 78 */ mr r4, r29 /* 8017D2F0 0017A250 39 05 C8 C0 */ addi r8, r5, lbl_8046C8C0@l /* 8017D2F4 0017A254 38 61 01 28 */ addi r3, r1, 0x128 /* 8017D2F8 0017A258 38 A1 00 1C */ addi r5, r1, 0x1c /* 8017D2FC 0017A25C 38 C1 00 B8 */ addi r6, r1, 0xb8 /* 8017D300 0017A260 39 21 11 60 */ addi r9, r1, 0x1160 /* 8017D304 0017A264 4B EC FC C1 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017D308 0017A268 88 01 01 48 */ lbz r0, 0x148(r1) /* 8017D30C 0017A26C 28 00 00 00 */ cmplwi r0, 0 /* 8017D310 0017A270 40 82 01 3C */ bne lbl_8017D44C /* 8017D314 0017A274 88 15 01 2C */ lbz r0, 0x12c(r21) /* 8017D318 0017A278 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017D31C 0017A27C 41 82 01 14 */ beq lbl_8017D430 /* 8017D320 0017A280 C0 3C 00 50 */ lfs f1, 0x50(r28) /* 8017D324 0017A284 38 61 00 88 */ addi r3, r1, 0x88 /* 8017D328 0017A288 C0 15 00 50 */ lfs f0, 0x50(r21) /* 8017D32C 0017A28C C0 7C 00 60 */ lfs f3, 0x60(r28) /* 8017D330 0017A290 C0 55 00 60 */ lfs f2, 0x60(r21) /* 8017D334 0017A294 EC 81 00 28 */ fsubs f4, f1, f0 /* 8017D338 0017A298 C0 15 00 40 */ lfs f0, 0x40(r21) /* 8017D33C 0017A29C C0 3C 00 40 */ lfs f1, 0x40(r28) /* 8017D340 0017A2A0 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017D344 0017A2A4 D0 81 00 8C */ stfs f4, 0x8c(r1) /* 8017D348 0017A2A8 EC 01 00 28 */ fsubs f0, f1, f0 /* 8017D34C 0017A2AC D0 41 00 90 */ stfs f2, 0x90(r1) /* 8017D350 0017A2B0 D0 01 00 88 */ stfs f0, 0x88(r1) /* 8017D354 0017A2B4 48 19 73 A5 */ bl CanBeNormalized__9CVector3fCFv /* 8017D358 0017A2B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017D35C 0017A2BC 41 82 00 D4 */ beq lbl_8017D430 /* 8017D360 0017A2C0 C0 55 00 58 */ lfs f2, 0x58(r21) /* 8017D364 0017A2C4 38 61 00 58 */ addi r3, r1, 0x58 /* 8017D368 0017A2C8 C0 35 00 48 */ lfs f1, 0x48(r21) /* 8017D36C 0017A2CC 38 81 00 4C */ addi r4, r1, 0x4c /* 8017D370 0017A2D0 C0 15 00 38 */ lfs f0, 0x38(r21) /* 8017D374 0017A2D4 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8017D378 0017A2D8 D0 21 00 50 */ stfs f1, 0x50(r1) /* 8017D37C 0017A2DC D0 41 00 54 */ stfs f2, 0x54(r1) /* 8017D380 0017A2E0 48 19 74 D1 */ bl AsNormalized__9CVector3fCFv /* 8017D384 0017A2E4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017D388 0017A2E8 38 61 00 40 */ addi r3, r1, 0x40 /* 8017D38C 0017A2EC C3 01 00 58 */ lfs f24, 0x58(r1) /* 8017D390 0017A2F0 38 81 00 88 */ addi r4, r1, 0x88 /* 8017D394 0017A2F4 D0 01 00 90 */ stfs f0, 0x90(r1) /* 8017D398 0017A2F8 C2 E1 00 5C */ lfs f23, 0x5c(r1) /* 8017D39C 0017A2FC C2 C1 00 60 */ lfs f22, 0x60(r1) /* 8017D3A0 0017A300 48 19 74 B1 */ bl AsNormalized__9CVector3fCFv /* 8017D3A4 0017A304 C0 01 00 44 */ lfs f0, 0x44(r1) /* 8017D3A8 0017A308 C0 41 00 40 */ lfs f2, 0x40(r1) /* 8017D3AC 0017A30C EC 37 00 32 */ fmuls f1, f23, f0 /* 8017D3B0 0017A310 C0 61 00 48 */ lfs f3, 0x48(r1) /* 8017D3B4 0017A314 C0 02 A2 A4 */ lfs f0, lbl_805ABFC4@sda21(r2) /* 8017D3B8 0017A318 EC 38 08 BA */ fmadds f1, f24, f2, f1 /* 8017D3BC 0017A31C EC 36 08 FA */ fmadds f1, f22, f3, f1 /* 8017D3C0 0017A320 FC 20 0A 10 */ fabs f1, f1 /* 8017D3C4 0017A324 FC 20 08 18 */ frsp f1, f1 /* 8017D3C8 0017A328 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017D3CC 0017A32C 4C 40 13 82 */ cror 2, 0, 2 /* 8017D3D0 0017A330 40 82 00 60 */ bne lbl_8017D430 /* 8017D3D4 0017A334 80 A1 11 60 */ lwz r5, 0x1160(r1) /* 8017D3D8 0017A338 38 60 00 00 */ li r3, 0 /* 8017D3DC 0017A33C 2C 05 00 00 */ cmpwi r5, 0 /* 8017D3E0 0017A340 40 81 00 44 */ ble lbl_8017D424 /* 8017D3E4 0017A344 2C 05 00 08 */ cmpwi r5, 8 /* 8017D3E8 0017A348 38 85 FF F8 */ addi r4, r5, -8 /* 8017D3EC 0017A34C 40 81 00 20 */ ble lbl_8017D40C /* 8017D3F0 0017A350 38 04 00 07 */ addi r0, r4, 7 /* 8017D3F4 0017A354 54 00 E8 FE */ srwi r0, r0, 3 /* 8017D3F8 0017A358 7C 09 03 A6 */ mtctr r0 /* 8017D3FC 0017A35C 2C 04 00 00 */ cmpwi r4, 0 /* 8017D400 0017A360 40 81 00 0C */ ble lbl_8017D40C lbl_8017D404: /* 8017D404 0017A364 38 63 00 08 */ addi r3, r3, 8 /* 8017D408 0017A368 42 00 FF FC */ bdnz lbl_8017D404 lbl_8017D40C: /* 8017D40C 0017A36C 7C 03 28 50 */ subf r0, r3, r5 /* 8017D410 0017A370 7C 09 03 A6 */ mtctr r0 /* 8017D414 0017A374 7C 03 28 00 */ cmpw r3, r5 /* 8017D418 0017A378 40 80 00 0C */ bge lbl_8017D424 lbl_8017D41C: /* 8017D41C 0017A37C 38 63 00 01 */ addi r3, r3, 1 /* 8017D420 0017A380 42 00 FF FC */ bdnz lbl_8017D41C lbl_8017D424: /* 8017D424 0017A384 38 00 00 00 */ li r0, 0 /* 8017D428 0017A388 90 01 11 60 */ stw r0, 0x1160(r1) /* 8017D42C 0017A38C 48 00 04 CC */ b lbl_8017D8F8 lbl_8017D430: /* 8017D430 0017A390 EC 3F D8 28 */ fsubs f1, f31, f27 /* 8017D434 0017A394 A3 1B 00 08 */ lhz r24, 8(r27) /* 8017D438 0017A398 EC 1E D0 28 */ fsubs f0, f30, f26 /* 8017D43C 0017A39C FF A0 C8 90 */ fmr f29, f25 /* 8017D440 0017A3A0 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017D444 0017A3A4 EC 00 00 32 */ fmuls f0, f0, f0 /* 8017D448 0017A3A8 EF 81 00 2A */ fadds f28, f1, f0 lbl_8017D44C: /* 8017D44C 0017A3AC 80 A1 11 60 */ lwz r5, 0x1160(r1) /* 8017D450 0017A3B0 38 60 00 00 */ li r3, 0 /* 8017D454 0017A3B4 2C 05 00 00 */ cmpwi r5, 0 /* 8017D458 0017A3B8 40 81 00 44 */ ble lbl_8017D49C /* 8017D45C 0017A3BC 2C 05 00 08 */ cmpwi r5, 8 /* 8017D460 0017A3C0 38 85 FF F8 */ addi r4, r5, -8 /* 8017D464 0017A3C4 40 81 00 20 */ ble lbl_8017D484 /* 8017D468 0017A3C8 38 04 00 07 */ addi r0, r4, 7 /* 8017D46C 0017A3CC 54 00 E8 FE */ srwi r0, r0, 3 /* 8017D470 0017A3D0 7C 09 03 A6 */ mtctr r0 /* 8017D474 0017A3D4 2C 04 00 00 */ cmpwi r4, 0 /* 8017D478 0017A3D8 40 81 00 0C */ ble lbl_8017D484 lbl_8017D47C: /* 8017D47C 0017A3DC 38 63 00 08 */ addi r3, r3, 8 /* 8017D480 0017A3E0 42 00 FF FC */ bdnz lbl_8017D47C lbl_8017D484: /* 8017D484 0017A3E4 7C 03 28 50 */ subf r0, r3, r5 /* 8017D488 0017A3E8 7C 09 03 A6 */ mtctr r0 /* 8017D48C 0017A3EC 7C 03 28 00 */ cmpw r3, r5 /* 8017D490 0017A3F0 40 80 00 0C */ bge lbl_8017D49C lbl_8017D494: /* 8017D494 0017A3F4 38 63 00 01 */ addi r3, r3, 1 /* 8017D498 0017A3F8 42 00 FF FC */ bdnz lbl_8017D494 lbl_8017D49C: /* 8017D49C 0017A3FC 38 00 00 00 */ li r0, 0 /* 8017D4A0 0017A400 90 01 11 60 */ stw r0, 0x1160(r1) /* 8017D4A4 0017A404 48 00 04 54 */ b lbl_8017D8F8 lbl_8017D4A8: /* 8017D4A8 0017A408 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017D4AC 0017A40C EC 3D C8 28 */ fsubs f1, f29, f25 /* 8017D4B0 0017A410 C0 03 01 A4 */ lfs f0, 0x1a4(r3) /* 8017D4B4 0017A414 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017D4B8 0017A418 40 81 02 10 */ ble lbl_8017D6C8 /* 8017D4BC 0017A41C 80 7D 08 B8 */ lwz r3, 0x8b8(r29) /* 8017D4C0 0017A420 80 63 00 00 */ lwz r3, 0(r3) /* 8017D4C4 0017A424 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017D4C8 0017A428 2C 00 00 02 */ cmpwi r0, 2 /* 8017D4CC 0017A42C 41 82 01 FC */ beq lbl_8017D6C8 /* 8017D4D0 0017A430 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017D4D4 0017A434 38 60 00 00 */ li r3, 0 /* 8017D4D8 0017A438 90 61 09 5C */ stw r3, 0x95c(r1) /* 8017D4DC 0017A43C 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D4E0 0017A440 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017D4E4 0017A444 48 19 74 15 */ bl Normalize__9CVector3fFv /* 8017D4E8 0017A448 FC 20 C8 90 */ fmr f1, f25 /* 8017D4EC 0017A44C 3C 80 80 47 */ lis r4, lbl_8046C8D8@ha /* 8017D4F0 0017A450 7C 66 1B 78 */ mr r6, r3 /* 8017D4F4 0017A454 7F A3 EB 78 */ mr r3, r29 /* 8017D4F8 0017A458 38 E4 C8 D8 */ addi r7, r4, lbl_8046C8D8@l /* 8017D4FC 0017A45C 7F 68 DB 78 */ mr r8, r27 /* 8017D500 0017A460 38 81 09 5C */ addi r4, r1, 0x95c /* 8017D504 0017A464 38 A1 00 B8 */ addi r5, r1, 0xb8 /* 8017D508 0017A468 4B EC F1 D1 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017D50C 0017A46C 7F F5 FB 78 */ mr r21, r31 /* 8017D510 0017A470 48 00 00 F0 */ b lbl_8017D600 lbl_8017D514: /* 8017D514 0017A474 A0 15 00 00 */ lhz r0, 0(r21) /* 8017D518 0017A478 7F A3 EB 78 */ mr r3, r29 /* 8017D51C 0017A47C 38 81 00 0C */ addi r4, r1, 0xc /* 8017D520 0017A480 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017D524 0017A484 4B EC F0 81 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017D528 0017A488 28 03 00 00 */ cmplwi r3, 0 /* 8017D52C 0017A48C 41 82 00 D0 */ beq lbl_8017D5FC /* 8017D530 0017A490 80 A3 00 04 */ lwz r5, 4(r3) /* 8017D534 0017A494 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 8017D538 0017A498 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8017D53C 0017A49C 7C 05 00 00 */ cmpw r5, r0 /* 8017D540 0017A4A0 41 82 00 50 */ beq lbl_8017D590 /* 8017D544 0017A4A4 41 82 00 B8 */ beq lbl_8017D5FC /* 8017D548 0017A4A8 80 1D 08 CC */ lwz r0, 0x8cc(r29) /* 8017D54C 0017A4AC 7C 05 00 00 */ cmpw r5, r0 /* 8017D550 0017A4B0 41 82 00 AC */ beq lbl_8017D5FC /* 8017D554 0017A4B4 80 9D 08 50 */ lwz r4, 0x850(r29) /* 8017D558 0017A4B8 54 A3 18 38 */ slwi r3, r5, 3 /* 8017D55C 0017A4BC 38 03 00 04 */ addi r0, r3, 4 /* 8017D560 0017A4C0 90 A1 00 24 */ stw r5, 0x24(r1) /* 8017D564 0017A4C4 80 64 00 20 */ lwz r3, 0x20(r4) /* 8017D568 0017A4C8 7C 63 00 2E */ lwzx r3, r3, r0 /* 8017D56C 0017A4CC 88 03 00 F0 */ lbz r0, 0xf0(r3) /* 8017D570 0017A4D0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017D574 0017A4D4 41 82 00 10 */ beq lbl_8017D584 /* 8017D578 0017A4D8 80 63 01 2C */ lwz r3, 0x12c(r3) /* 8017D57C 0017A4DC 80 03 10 DC */ lwz r0, 0x10dc(r3) /* 8017D580 0017A4E0 48 00 00 08 */ b lbl_8017D588 lbl_8017D584: /* 8017D584 0017A4E4 38 00 00 00 */ li r0, 0 lbl_8017D588: /* 8017D588 0017A4E8 2C 00 00 00 */ cmpwi r0, 0 /* 8017D58C 0017A4EC 40 82 00 70 */ bne lbl_8017D5FC lbl_8017D590: /* 8017D590 0017A4F0 7C 15 F8 40 */ cmplw r21, r31 /* 8017D594 0017A4F4 41 80 00 54 */ blt lbl_8017D5E8 /* 8017D598 0017A4F8 80 01 09 5C */ lwz r0, 0x95c(r1) /* 8017D59C 0017A4FC 54 00 08 3C */ slwi r0, r0, 1 /* 8017D5A0 0017A500 7C 1F 02 14 */ add r0, r31, r0 /* 8017D5A4 0017A504 7C 15 00 40 */ cmplw r21, r0 /* 8017D5A8 0017A508 40 80 00 40 */ bge lbl_8017D5E8 /* 8017D5AC 0017A50C 7E A5 AB 78 */ mr r5, r21 /* 8017D5B0 0017A510 48 00 00 10 */ b lbl_8017D5C0 lbl_8017D5B4: /* 8017D5B4 0017A514 A0 05 00 02 */ lhz r0, 2(r5) /* 8017D5B8 0017A518 B0 05 00 00 */ sth r0, 0(r5) /* 8017D5BC 0017A51C 38 A5 00 02 */ addi r5, r5, 2 lbl_8017D5C0: /* 8017D5C0 0017A520 80 81 09 5C */ lwz r4, 0x95c(r1) /* 8017D5C4 0017A524 54 83 08 3C */ slwi r3, r4, 1 /* 8017D5C8 0017A528 38 03 FF FE */ addi r0, r3, -2 /* 8017D5CC 0017A52C 7C 1F 02 14 */ add r0, r31, r0 /* 8017D5D0 0017A530 7C 05 00 40 */ cmplw r5, r0 /* 8017D5D4 0017A534 41 80 FF E0 */ blt lbl_8017D5B4 /* 8017D5D8 0017A538 38 04 FF FF */ addi r0, r4, -1 /* 8017D5DC 0017A53C 7E A3 AB 78 */ mr r3, r21 /* 8017D5E0 0017A540 90 01 09 5C */ stw r0, 0x95c(r1) /* 8017D5E4 0017A544 48 00 00 10 */ b lbl_8017D5F4 lbl_8017D5E8: /* 8017D5E8 0017A548 80 01 09 5C */ lwz r0, 0x95c(r1) /* 8017D5EC 0017A54C 54 00 08 3C */ slwi r0, r0, 1 /* 8017D5F0 0017A550 7C 7F 02 14 */ add r3, r31, r0 lbl_8017D5F4: /* 8017D5F4 0017A554 7C 75 1B 78 */ mr r21, r3 /* 8017D5F8 0017A558 48 00 00 08 */ b lbl_8017D600 lbl_8017D5FC: /* 8017D5FC 0017A55C 3A B5 00 02 */ addi r21, r21, 2 lbl_8017D600: /* 8017D600 0017A560 80 01 09 5C */ lwz r0, 0x95c(r1) /* 8017D604 0017A564 54 00 08 3C */ slwi r0, r0, 1 /* 8017D608 0017A568 7C 1F 02 14 */ add r0, r31, r0 /* 8017D60C 0017A56C 7C 15 00 40 */ cmplw r21, r0 /* 8017D610 0017A570 40 82 FF 04 */ bne lbl_8017D514 /* 8017D614 0017A574 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D618 0017A578 48 19 72 E1 */ bl Normalize__9CVector3fFv /* 8017D61C 0017A57C FC 20 C8 90 */ fmr f1, f25 /* 8017D620 0017A580 3C A0 80 47 */ lis r5, lbl_8046C8C0@ha /* 8017D624 0017A584 7C 67 1B 78 */ mr r7, r3 /* 8017D628 0017A588 7F A4 EB 78 */ mr r4, r29 /* 8017D62C 0017A58C 39 05 C8 C0 */ addi r8, r5, lbl_8046C8C0@l /* 8017D630 0017A590 38 61 00 F8 */ addi r3, r1, 0xf8 /* 8017D634 0017A594 38 A1 00 18 */ addi r5, r1, 0x18 /* 8017D638 0017A598 38 C1 00 B8 */ addi r6, r1, 0xb8 /* 8017D63C 0017A59C 39 21 09 5C */ addi r9, r1, 0x95c /* 8017D640 0017A5A0 4B EC F9 85 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017D644 0017A5A4 88 01 01 18 */ lbz r0, 0x118(r1) /* 8017D648 0017A5A8 28 00 00 00 */ cmplwi r0, 0 /* 8017D64C 0017A5AC 40 82 00 20 */ bne lbl_8017D66C /* 8017D650 0017A5B0 EC 3F D8 28 */ fsubs f1, f31, f27 /* 8017D654 0017A5B4 A3 1B 00 08 */ lhz r24, 8(r27) /* 8017D658 0017A5B8 EC 1E D0 28 */ fsubs f0, f30, f26 /* 8017D65C 0017A5BC FF A0 C8 90 */ fmr f29, f25 /* 8017D660 0017A5C0 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017D664 0017A5C4 EC 00 00 32 */ fmuls f0, f0, f0 /* 8017D668 0017A5C8 EF 81 00 2A */ fadds f28, f1, f0 lbl_8017D66C: /* 8017D66C 0017A5CC 80 A1 09 5C */ lwz r5, 0x95c(r1) /* 8017D670 0017A5D0 38 60 00 00 */ li r3, 0 /* 8017D674 0017A5D4 2C 05 00 00 */ cmpwi r5, 0 /* 8017D678 0017A5D8 40 81 00 44 */ ble lbl_8017D6BC /* 8017D67C 0017A5DC 2C 05 00 08 */ cmpwi r5, 8 /* 8017D680 0017A5E0 38 85 FF F8 */ addi r4, r5, -8 /* 8017D684 0017A5E4 40 81 00 20 */ ble lbl_8017D6A4 /* 8017D688 0017A5E8 38 04 00 07 */ addi r0, r4, 7 /* 8017D68C 0017A5EC 54 00 E8 FE */ srwi r0, r0, 3 /* 8017D690 0017A5F0 7C 09 03 A6 */ mtctr r0 /* 8017D694 0017A5F4 2C 04 00 00 */ cmpwi r4, 0 /* 8017D698 0017A5F8 40 81 00 0C */ ble lbl_8017D6A4 lbl_8017D69C: /* 8017D69C 0017A5FC 38 63 00 08 */ addi r3, r3, 8 /* 8017D6A0 0017A600 42 00 FF FC */ bdnz lbl_8017D69C lbl_8017D6A4: /* 8017D6A4 0017A604 7C 03 28 50 */ subf r0, r3, r5 /* 8017D6A8 0017A608 7C 09 03 A6 */ mtctr r0 /* 8017D6AC 0017A60C 7C 03 28 00 */ cmpw r3, r5 /* 8017D6B0 0017A610 40 80 00 0C */ bge lbl_8017D6BC lbl_8017D6B4: /* 8017D6B4 0017A614 38 63 00 01 */ addi r3, r3, 1 /* 8017D6B8 0017A618 42 00 FF FC */ bdnz lbl_8017D6B4 lbl_8017D6BC: /* 8017D6BC 0017A61C 38 00 00 00 */ li r0, 0 /* 8017D6C0 0017A620 90 01 09 5C */ stw r0, 0x95c(r1) /* 8017D6C4 0017A624 48 00 02 34 */ b lbl_8017D8F8 lbl_8017D6C8: /* 8017D6C8 0017A628 EC 39 E8 28 */ fsubs f1, f25, f29 /* 8017D6CC 0017A62C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017D6D0 0017A630 C0 03 01 A4 */ lfs f0, 0x1a4(r3) /* 8017D6D4 0017A634 FC 20 0A 10 */ fabs f1, f1 /* 8017D6D8 0017A638 FC 20 08 18 */ frsp f1, f1 /* 8017D6DC 0017A63C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017D6E0 0017A640 41 80 00 18 */ blt lbl_8017D6F8 /* 8017D6E4 0017A644 80 7D 08 B8 */ lwz r3, 0x8b8(r29) /* 8017D6E8 0017A648 80 63 00 00 */ lwz r3, 0(r3) /* 8017D6EC 0017A64C 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017D6F0 0017A650 2C 00 00 02 */ cmpwi r0, 2 /* 8017D6F4 0017A654 40 82 02 04 */ bne lbl_8017D8F8 lbl_8017D6F8: /* 8017D6F8 0017A658 EC 3F D8 28 */ fsubs f1, f31, f27 /* 8017D6FC 0017A65C EC 1E D0 28 */ fsubs f0, f30, f26 /* 8017D700 0017A660 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017D704 0017A664 EC 00 00 32 */ fmuls f0, f0, f0 /* 8017D708 0017A668 EE C1 00 2A */ fadds f22, f1, f0 /* 8017D70C 0017A66C FC 16 E0 40 */ fcmpo cr0, f22, f28 /* 8017D710 0017A670 40 80 01 E8 */ bge lbl_8017D8F8 /* 8017D714 0017A674 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13) /* 8017D718 0017A678 38 00 00 00 */ li r0, 0 /* 8017D71C 0017A67C 90 01 01 58 */ stw r0, 0x158(r1) /* 8017D720 0017A680 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D724 0017A684 B0 81 00 14 */ sth r4, 0x14(r1) /* 8017D728 0017A688 48 19 71 D1 */ bl Normalize__9CVector3fFv /* 8017D72C 0017A68C FC 20 C8 90 */ fmr f1, f25 /* 8017D730 0017A690 3C 80 80 47 */ lis r4, lbl_8046C8D8@ha /* 8017D734 0017A694 7C 66 1B 78 */ mr r6, r3 /* 8017D738 0017A698 7F A3 EB 78 */ mr r3, r29 /* 8017D73C 0017A69C 38 E4 C8 D8 */ addi r7, r4, lbl_8046C8D8@l /* 8017D740 0017A6A0 7F 68 DB 78 */ mr r8, r27 /* 8017D744 0017A6A4 38 81 01 58 */ addi r4, r1, 0x158 /* 8017D748 0017A6A8 38 A1 00 B8 */ addi r5, r1, 0xb8 /* 8017D74C 0017A6AC 4B EC EF 8D */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017D750 0017A6B0 7F D5 F3 78 */ mr r21, r30 /* 8017D754 0017A6B4 48 00 00 F0 */ b lbl_8017D844 lbl_8017D758: /* 8017D758 0017A6B8 A0 15 00 00 */ lhz r0, 0(r21) /* 8017D75C 0017A6BC 7F A3 EB 78 */ mr r3, r29 /* 8017D760 0017A6C0 38 81 00 08 */ addi r4, r1, 8 /* 8017D764 0017A6C4 B0 01 00 08 */ sth r0, 8(r1) /* 8017D768 0017A6C8 4B EC EE 3D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017D76C 0017A6CC 28 03 00 00 */ cmplwi r3, 0 /* 8017D770 0017A6D0 41 82 00 D0 */ beq lbl_8017D840 /* 8017D774 0017A6D4 80 A3 00 04 */ lwz r5, 4(r3) /* 8017D778 0017A6D8 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 8017D77C 0017A6DC 90 A1 00 28 */ stw r5, 0x28(r1) /* 8017D780 0017A6E0 7C 05 00 00 */ cmpw r5, r0 /* 8017D784 0017A6E4 41 82 00 50 */ beq lbl_8017D7D4 /* 8017D788 0017A6E8 41 82 00 B8 */ beq lbl_8017D840 /* 8017D78C 0017A6EC 80 1D 08 CC */ lwz r0, 0x8cc(r29) /* 8017D790 0017A6F0 7C 05 00 00 */ cmpw r5, r0 /* 8017D794 0017A6F4 41 82 00 AC */ beq lbl_8017D840 /* 8017D798 0017A6F8 80 9D 08 50 */ lwz r4, 0x850(r29) /* 8017D79C 0017A6FC 54 A3 18 38 */ slwi r3, r5, 3 /* 8017D7A0 0017A700 38 03 00 04 */ addi r0, r3, 4 /* 8017D7A4 0017A704 90 A1 00 20 */ stw r5, 0x20(r1) /* 8017D7A8 0017A708 80 64 00 20 */ lwz r3, 0x20(r4) /* 8017D7AC 0017A70C 7C 63 00 2E */ lwzx r3, r3, r0 /* 8017D7B0 0017A710 88 03 00 F0 */ lbz r0, 0xf0(r3) /* 8017D7B4 0017A714 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017D7B8 0017A718 41 82 00 10 */ beq lbl_8017D7C8 /* 8017D7BC 0017A71C 80 63 01 2C */ lwz r3, 0x12c(r3) /* 8017D7C0 0017A720 80 03 10 DC */ lwz r0, 0x10dc(r3) /* 8017D7C4 0017A724 48 00 00 08 */ b lbl_8017D7CC lbl_8017D7C8: /* 8017D7C8 0017A728 38 00 00 00 */ li r0, 0 lbl_8017D7CC: /* 8017D7CC 0017A72C 2C 00 00 00 */ cmpwi r0, 0 /* 8017D7D0 0017A730 40 82 00 70 */ bne lbl_8017D840 lbl_8017D7D4: /* 8017D7D4 0017A734 7C 15 F0 40 */ cmplw r21, r30 /* 8017D7D8 0017A738 41 80 00 54 */ blt lbl_8017D82C /* 8017D7DC 0017A73C 80 01 01 58 */ lwz r0, 0x158(r1) /* 8017D7E0 0017A740 54 00 08 3C */ slwi r0, r0, 1 /* 8017D7E4 0017A744 7C 1E 02 14 */ add r0, r30, r0 /* 8017D7E8 0017A748 7C 15 00 40 */ cmplw r21, r0 /* 8017D7EC 0017A74C 40 80 00 40 */ bge lbl_8017D82C /* 8017D7F0 0017A750 7E A5 AB 78 */ mr r5, r21 /* 8017D7F4 0017A754 48 00 00 10 */ b lbl_8017D804 lbl_8017D7F8: /* 8017D7F8 0017A758 A0 05 00 02 */ lhz r0, 2(r5) /* 8017D7FC 0017A75C B0 05 00 00 */ sth r0, 0(r5) /* 8017D800 0017A760 38 A5 00 02 */ addi r5, r5, 2 lbl_8017D804: /* 8017D804 0017A764 80 81 01 58 */ lwz r4, 0x158(r1) /* 8017D808 0017A768 54 83 08 3C */ slwi r3, r4, 1 /* 8017D80C 0017A76C 38 03 FF FE */ addi r0, r3, -2 /* 8017D810 0017A770 7C 1E 02 14 */ add r0, r30, r0 /* 8017D814 0017A774 7C 05 00 40 */ cmplw r5, r0 /* 8017D818 0017A778 41 80 FF E0 */ blt lbl_8017D7F8 /* 8017D81C 0017A77C 38 04 FF FF */ addi r0, r4, -1 /* 8017D820 0017A780 7E A3 AB 78 */ mr r3, r21 /* 8017D824 0017A784 90 01 01 58 */ stw r0, 0x158(r1) /* 8017D828 0017A788 48 00 00 10 */ b lbl_8017D838 lbl_8017D82C: /* 8017D82C 0017A78C 80 01 01 58 */ lwz r0, 0x158(r1) /* 8017D830 0017A790 54 00 08 3C */ slwi r0, r0, 1 /* 8017D834 0017A794 7C 7E 02 14 */ add r3, r30, r0 lbl_8017D838: /* 8017D838 0017A798 7C 75 1B 78 */ mr r21, r3 /* 8017D83C 0017A79C 48 00 00 08 */ b lbl_8017D844 lbl_8017D840: /* 8017D840 0017A7A0 3A B5 00 02 */ addi r21, r21, 2 lbl_8017D844: /* 8017D844 0017A7A4 80 01 01 58 */ lwz r0, 0x158(r1) /* 8017D848 0017A7A8 54 00 08 3C */ slwi r0, r0, 1 /* 8017D84C 0017A7AC 7C 1E 02 14 */ add r0, r30, r0 /* 8017D850 0017A7B0 7C 15 00 40 */ cmplw r21, r0 /* 8017D854 0017A7B4 40 82 FF 04 */ bne lbl_8017D758 /* 8017D858 0017A7B8 38 61 00 94 */ addi r3, r1, 0x94 /* 8017D85C 0017A7BC 48 19 70 9D */ bl Normalize__9CVector3fFv /* 8017D860 0017A7C0 FC 20 C8 90 */ fmr f1, f25 /* 8017D864 0017A7C4 3C A0 80 47 */ lis r5, lbl_8046C8C0@ha /* 8017D868 0017A7C8 7C 67 1B 78 */ mr r7, r3 /* 8017D86C 0017A7CC 7F A4 EB 78 */ mr r4, r29 /* 8017D870 0017A7D0 39 05 C8 C0 */ addi r8, r5, lbl_8046C8C0@l /* 8017D874 0017A7D4 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8017D878 0017A7D8 38 A1 00 14 */ addi r5, r1, 0x14 /* 8017D87C 0017A7DC 38 C1 00 B8 */ addi r6, r1, 0xb8 /* 8017D880 0017A7E0 39 21 01 58 */ addi r9, r1, 0x158 /* 8017D884 0017A7E4 4B EC F7 41 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017D888 0017A7E8 88 01 00 E8 */ lbz r0, 0xe8(r1) /* 8017D88C 0017A7EC 28 00 00 00 */ cmplwi r0, 0 /* 8017D890 0017A7F0 40 82 00 10 */ bne lbl_8017D8A0 /* 8017D894 0017A7F4 FF 80 B0 90 */ fmr f28, f22 /* 8017D898 0017A7F8 A3 1B 00 08 */ lhz r24, 8(r27) /* 8017D89C 0017A7FC FF A0 C8 90 */ fmr f29, f25 lbl_8017D8A0: /* 8017D8A0 0017A800 80 A1 01 58 */ lwz r5, 0x158(r1) /* 8017D8A4 0017A804 38 60 00 00 */ li r3, 0 /* 8017D8A8 0017A808 2C 05 00 00 */ cmpwi r5, 0 /* 8017D8AC 0017A80C 40 81 00 44 */ ble lbl_8017D8F0 /* 8017D8B0 0017A810 2C 05 00 08 */ cmpwi r5, 8 /* 8017D8B4 0017A814 38 85 FF F8 */ addi r4, r5, -8 /* 8017D8B8 0017A818 40 81 00 20 */ ble lbl_8017D8D8 /* 8017D8BC 0017A81C 38 04 00 07 */ addi r0, r4, 7 /* 8017D8C0 0017A820 54 00 E8 FE */ srwi r0, r0, 3 /* 8017D8C4 0017A824 7C 09 03 A6 */ mtctr r0 /* 8017D8C8 0017A828 2C 04 00 00 */ cmpwi r4, 0 /* 8017D8CC 0017A82C 40 81 00 0C */ ble lbl_8017D8D8 lbl_8017D8D0: /* 8017D8D0 0017A830 38 63 00 08 */ addi r3, r3, 8 /* 8017D8D4 0017A834 42 00 FF FC */ bdnz lbl_8017D8D0 lbl_8017D8D8: /* 8017D8D8 0017A838 7C 03 28 50 */ subf r0, r3, r5 /* 8017D8DC 0017A83C 7C 09 03 A6 */ mtctr r0 /* 8017D8E0 0017A840 7C 03 28 00 */ cmpw r3, r5 /* 8017D8E4 0017A844 40 80 00 0C */ bge lbl_8017D8F0 lbl_8017D8E8: /* 8017D8E8 0017A848 38 63 00 01 */ addi r3, r3, 1 /* 8017D8EC 0017A84C 42 00 FF FC */ bdnz lbl_8017D8E8 lbl_8017D8F0: /* 8017D8F0 0017A850 38 00 00 00 */ li r0, 0 /* 8017D8F4 0017A854 90 01 01 58 */ stw r0, 0x158(r1) lbl_8017D8F8: /* 8017D8F8 0017A858 3B 5A 00 02 */ addi r26, r26, 2 lbl_8017D8FC: /* 8017D8FC 0017A85C 80 19 00 04 */ lwz r0, 4(r25) /* 8017D900 0017A860 80 79 00 0C */ lwz r3, 0xc(r25) /* 8017D904 0017A864 54 00 08 3C */ slwi r0, r0, 1 /* 8017D908 0017A868 7C 03 02 14 */ add r0, r3, r0 /* 8017D90C 0017A86C 7C 1A 00 40 */ cmplw r26, r0 /* 8017D910 0017A870 40 82 F8 68 */ bne lbl_8017D178 /* 8017D914 0017A874 B3 16 00 00 */ sth r24, 0(r22) /* 8017D918 0017A878 38 00 1A 68 */ li r0, 0x1a68 /* 8017D91C 0017A87C 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0 /* 8017D920 0017A880 CB E1 1A 60 */ lfd f31, 0x1a60(r1) /* 8017D924 0017A884 38 00 1A 58 */ li r0, 0x1a58 /* 8017D928 0017A888 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0 /* 8017D92C 0017A88C CB C1 1A 50 */ lfd f30, 0x1a50(r1) /* 8017D930 0017A890 38 00 1A 48 */ li r0, 0x1a48 /* 8017D934 0017A894 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0 /* 8017D938 0017A898 CB A1 1A 40 */ lfd f29, 0x1a40(r1) /* 8017D93C 0017A89C 38 00 1A 38 */ li r0, 0x1a38 /* 8017D940 0017A8A0 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0 /* 8017D944 0017A8A4 CB 81 1A 30 */ lfd f28, 0x1a30(r1) /* 8017D948 0017A8A8 38 00 1A 28 */ li r0, 0x1a28 /* 8017D94C 0017A8AC 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0 /* 8017D950 0017A8B0 CB 61 1A 20 */ lfd f27, 0x1a20(r1) /* 8017D954 0017A8B4 38 00 1A 18 */ li r0, 0x1a18 /* 8017D958 0017A8B8 13 41 00 0C */ psq_lx f26, r1, r0, 0, qr0 /* 8017D95C 0017A8BC CB 41 1A 10 */ lfd f26, 0x1a10(r1) /* 8017D960 0017A8C0 38 00 1A 08 */ li r0, 0x1a08 /* 8017D964 0017A8C4 13 21 00 0C */ psq_lx f25, r1, r0, 0, qr0 /* 8017D968 0017A8C8 CB 21 1A 00 */ lfd f25, 0x1a00(r1) /* 8017D96C 0017A8CC 38 00 19 F8 */ li r0, 0x19f8 /* 8017D970 0017A8D0 13 01 00 0C */ psq_lx f24, r1, r0, 0, qr0 /* 8017D974 0017A8D4 CB 01 19 F0 */ lfd f24, 0x19f0(r1) /* 8017D978 0017A8D8 38 00 19 E8 */ li r0, 0x19e8 /* 8017D97C 0017A8DC 12 E1 00 0C */ psq_lx f23, r1, r0, 0, qr0 /* 8017D980 0017A8E0 CA E1 19 E0 */ lfd f23, 0x19e0(r1) /* 8017D984 0017A8E4 38 00 19 D8 */ li r0, 0x19d8 /* 8017D988 0017A8E8 12 C1 00 0C */ psq_lx f22, r1, r0, 0, qr0 /* 8017D98C 0017A8EC CA C1 19 D0 */ lfd f22, 0x19d0(r1) /* 8017D990 0017A8F0 BA A1 19 A4 */ lmw r21, 0x19a4(r1) /* 8017D994 0017A8F4 80 01 1A 74 */ lwz r0, 0x1a74(r1) /* 8017D998 0017A8F8 7C 08 03 A6 */ mtlr r0 /* 8017D99C 0017A8FC 38 21 1A 70 */ addi r1, r1, 0x1a70 /* 8017D9A0 0017A900 4E 80 00 20 */ blr .global "FindOrbitableObjects__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>RQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManagerb" "FindOrbitableObjects__7CPlayerCFRCQ24rstl32reserved_vector<9TUniqueId,1024>RQ24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Q27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneTypeR13CStateManagerb": /* 8017D9A4 0017A904 94 21 FF 00 */ stwu r1, -0x100(r1) /* 8017D9A8 0017A908 7C 08 02 A6 */ mflr r0 /* 8017D9AC 0017A90C 90 01 01 04 */ stw r0, 0x104(r1) /* 8017D9B0 0017A910 DB E1 00 F0 */ stfd f31, 0xf0(r1) /* 8017D9B4 0017A914 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0 /* 8017D9B8 0017A918 DB C1 00 E0 */ stfd f30, 0xe0(r1) /* 8017D9BC 0017A91C F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0 /* 8017D9C0 0017A920 DB A1 00 D0 */ stfd f29, 0xd0(r1) /* 8017D9C4 0017A924 F3 A1 00 D8 */ psq_st f29, 216(r1), 0, qr0 /* 8017D9C8 0017A928 DB 81 00 C0 */ stfd f28, 0xc0(r1) /* 8017D9CC 0017A92C F3 81 00 C8 */ psq_st f28, 200(r1), 0, qr0 /* 8017D9D0 0017A930 BE 81 00 90 */ stmw r20, 0x90(r1) /* 8017D9D4 0017A934 7C 74 1B 78 */ mr r20, r3 /* 8017D9D8 0017A938 7C 95 23 78 */ mr r21, r4 /* 8017D9DC 0017A93C 7C B6 2B 78 */ mr r22, r5 /* 8017D9E0 0017A940 7C D7 33 78 */ mr r23, r6 /* 8017D9E4 0017A944 7C F8 3B 78 */ mr r24, r7 /* 8017D9E8 0017A948 7D 19 43 78 */ mr r25, r8 /* 8017D9EC 0017A94C 7D 3A 4B 78 */ mr r26, r9 /* 8017D9F0 0017A950 7E 84 A3 78 */ mr r4, r20 /* 8017D9F4 0017A954 38 61 00 34 */ addi r3, r1, 0x34 /* 8017D9F8 0017A958 48 10 73 85 */ bl GetEyePosition__7CPlayerCFv /* 8017D9FC 0017A95C C0 54 00 58 */ lfs f2, 0x58(r20) /* 8017DA00 0017A960 38 61 00 64 */ addi r3, r1, 0x64 /* 8017DA04 0017A964 C0 34 00 48 */ lfs f1, 0x48(r20) /* 8017DA08 0017A968 C0 14 00 38 */ lfs f0, 0x38(r20) /* 8017DA0C 0017A96C D0 21 00 68 */ stfs f1, 0x68(r1) /* 8017DA10 0017A970 C3 E1 00 34 */ lfs f31, 0x34(r1) /* 8017DA14 0017A974 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8017DA18 0017A978 C3 C1 00 38 */ lfs f30, 0x38(r1) /* 8017DA1C 0017A97C D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8017DA20 0017A980 C3 A1 00 3C */ lfs f29, 0x3c(r1) /* 8017DA24 0017A984 48 19 6E D5 */ bl Normalize__9CVector3fFv /* 8017DA28 0017A988 80 99 08 70 */ lwz r4, 0x870(r25) /* 8017DA2C 0017A98C 3C 60 80 3F */ lis r3, mViewport__9CGraphics@ha /* 8017DA30 0017A990 3B B5 00 04 */ addi r29, r21, 4 /* 8017DA34 0017A994 83 C4 00 7C */ lwz r30, 0x7c(r4) /* 8017DA38 0017A998 3B E3 D9 10 */ addi r31, r3, mViewport__9CGraphics@l /* 8017DA3C 0017A99C 48 00 02 44 */ b lbl_8017DC80 lbl_8017DA40: /* 8017DA40 0017A9A0 A0 1D 00 00 */ lhz r0, 0(r29) /* 8017DA44 0017A9A4 7F 23 CB 78 */ mr r3, r25 /* 8017DA48 0017A9A8 38 81 00 10 */ addi r4, r1, 0x10 /* 8017DA4C 0017A9AC B0 01 00 10 */ sth r0, 0x10(r1) /* 8017DA50 0017A9B0 4B EC EB 55 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017DA54 0017A9B4 7C 64 1B 78 */ mr r4, r3 /* 8017DA58 0017A9B8 38 61 00 14 */ addi r3, r1, 0x14 /* 8017DA5C 0017A9BC 4B F3 22 35 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017DA60 0017A9C0 83 83 00 04 */ lwz r28, 4(r3) /* 8017DA64 0017A9C4 28 1C 00 00 */ cmplwi r28, 0 /* 8017DA68 0017A9C8 41 82 02 14 */ beq lbl_8017DC7C /* 8017DA6C 0017A9CC A0 DC 00 08 */ lhz r6, 8(r28) /* 8017DA70 0017A9D0 A0 14 00 08 */ lhz r0, 8(r20) /* 8017DA74 0017A9D4 7C 06 00 40 */ cmplw r6, r0 /* 8017DA78 0017A9D8 41 82 02 04 */ beq lbl_8017DC7C /* 8017DA7C 0017A9DC B0 C1 00 08 */ sth r6, 8(r1) /* 8017DA80 0017A9E0 7E 83 A3 78 */ mr r3, r20 /* 8017DA84 0017A9E4 7F 25 CB 78 */ mr r5, r25 /* 8017DA88 0017A9E8 38 81 00 0C */ addi r4, r1, 0xc /* 8017DA8C 0017A9EC B0 C1 00 0C */ sth r6, 0xc(r1) /* 8017DA90 0017A9F0 48 00 15 ED */ bl ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager /* 8017DA94 0017A9F4 2C 03 00 00 */ cmpwi r3, 0 /* 8017DA98 0017A9F8 40 82 01 E4 */ bne lbl_8017DC7C /* 8017DA9C 0017A9FC 7F 84 E3 78 */ mr r4, r28 /* 8017DAA0 0017AA00 7F 25 CB 78 */ mr r5, r25 /* 8017DAA4 0017AA04 81 9C 00 00 */ lwz r12, 0(r28) /* 8017DAA8 0017AA08 38 61 00 28 */ addi r3, r1, 0x28 /* 8017DAAC 0017AA0C 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8017DAB0 0017AA10 7D 89 03 A6 */ mtctr r12 /* 8017DAB4 0017AA14 4E 80 04 21 */ bctrl /* 8017DAB8 0017AA18 C0 41 00 28 */ lfs f2, 0x28(r1) /* 8017DABC 0017AA1C 7F C4 F3 78 */ mr r4, r30 /* 8017DAC0 0017AA20 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8017DAC4 0017AA24 38 61 00 1C */ addi r3, r1, 0x1c /* 8017DAC8 0017AA28 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8017DACC 0017AA2C 38 A1 00 58 */ addi r5, r1, 0x58 /* 8017DAD0 0017AA30 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8017DAD4 0017AA34 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 8017DAD8 0017AA38 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8017DADC 0017AA3C 4B ED FD B5 */ bl ConvertToScreenSpace__11CGameCameraCFRC9CVector3f /* 8017DAE0 0017AA40 80 7F 00 08 */ lwz r3, 8(r31) /* 8017DAE4 0017AA44 3C 80 43 30 */ lis r4, 0x4330 /* 8017DAE8 0017AA48 C1 01 00 1C */ lfs f8, 0x1c(r1) /* 8017DAEC 0017AA4C 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 8017DAF0 0017AA50 6C 65 80 00 */ xoris r5, r3, 0x8000 /* 8017DAF4 0017AA54 80 DF 00 0C */ lwz r6, 0xc(r31) /* 8017DAF8 0017AA58 90 A1 00 7C */ stw r5, 0x7c(r1) /* 8017DAFC 0017AA5C 3B 60 00 00 */ li r27, 0 /* 8017DB00 0017AA60 6C C3 80 00 */ xoris r3, r6, 0x8000 /* 8017DB04 0017AA64 C0 E1 00 20 */ lfs f7, 0x20(r1) /* 8017DB08 0017AA68 90 81 00 78 */ stw r4, 0x78(r1) /* 8017DB0C 0017AA6C C8 A2 A2 98 */ lfd f5, lbl_805ABFB8@sda21(r2) /* 8017DB10 0017AA70 C8 01 00 78 */ lfd f0, 0x78(r1) /* 8017DB14 0017AA74 90 61 00 8C */ stw r3, 0x8c(r1) /* 8017DB18 0017AA78 EC 20 28 28 */ fsubs f1, f0, f5 /* 8017DB1C 0017AA7C C0 C1 00 24 */ lfs f6, 0x24(r1) /* 8017DB20 0017AA80 90 81 00 88 */ stw r4, 0x88(r1) /* 8017DB24 0017AA84 C0 62 A2 68 */ lfs f3, lbl_805ABF88@sda21(r2) /* 8017DB28 0017AA88 C8 01 00 88 */ lfd f0, 0x88(r1) /* 8017DB2C 0017AA8C EC 28 00 72 */ fmuls f1, f8, f1 /* 8017DB30 0017AA90 90 A1 00 74 */ stw r5, 0x74(r1) /* 8017DB34 0017AA94 EC 00 28 28 */ fsubs f0, f0, f5 /* 8017DB38 0017AA98 90 81 00 70 */ stw r4, 0x70(r1) /* 8017DB3C 0017AA9C EC 41 00 F2 */ fmuls f2, f1, f3 /* 8017DB40 0017AAA0 C8 21 00 70 */ lfd f1, 0x70(r1) /* 8017DB44 0017AAA4 EC 07 00 32 */ fmuls f0, f7, f0 /* 8017DB48 0017AAA8 90 61 00 84 */ stw r3, 0x84(r1) /* 8017DB4C 0017AAAC EC 81 28 28 */ fsubs f4, f1, f5 /* 8017DB50 0017AAB0 90 81 00 80 */ stw r4, 0x80(r1) /* 8017DB54 0017AAB4 EC 00 00 F2 */ fmuls f0, f0, f3 /* 8017DB58 0017AAB8 C8 21 00 80 */ lfd f1, 0x80(r1) /* 8017DB5C 0017AABC EC 44 10 FA */ fmadds f2, f4, f3, f2 /* 8017DB60 0017AAC0 D1 01 00 4C */ stfs f8, 0x4c(r1) /* 8017DB64 0017AAC4 EC 21 28 28 */ fsubs f1, f1, f5 /* 8017DB68 0017AAC8 D0 E1 00 50 */ stfs f7, 0x50(r1) /* 8017DB6C 0017AACC EC 01 00 FA */ fmadds f0, f1, f3, f0 /* 8017DB70 0017AAD0 D0 C1 00 54 */ stfs f6, 0x54(r1) /* 8017DB74 0017AAD4 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8017DB78 0017AAD8 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8017DB7C 0017AADC 41 82 00 28 */ beq lbl_8017DBA4 /* 8017DB80 0017AAE0 7E 83 A3 78 */ mr r3, r20 /* 8017DB84 0017AAE4 7E E5 BB 78 */ mr r5, r23 /* 8017DB88 0017AAE8 7F 06 C3 78 */ mr r6, r24 /* 8017DB8C 0017AAEC 38 81 00 4C */ addi r4, r1, 0x4c /* 8017DB90 0017AAF0 48 00 01 3D */ bl WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType /* 8017DB94 0017AAF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017DB98 0017AAF8 41 82 00 0C */ beq lbl_8017DBA4 /* 8017DB9C 0017AAFC 3B 60 00 01 */ li r27, 1 /* 8017DBA0 0017AB00 48 00 00 2C */ b lbl_8017DBCC lbl_8017DBA4: /* 8017DBA4 0017AB04 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 8017DBA8 0017AB08 40 82 00 24 */ bne lbl_8017DBCC /* 8017DBAC 0017AB0C 7E 83 A3 78 */ mr r3, r20 /* 8017DBB0 0017AB10 7E E5 BB 78 */ mr r5, r23 /* 8017DBB4 0017AB14 7F 06 C3 78 */ mr r6, r24 /* 8017DBB8 0017AB18 38 81 00 4C */ addi r4, r1, 0x4c /* 8017DBBC 0017AB1C 48 00 01 11 */ bl WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType /* 8017DBC0 0017AB20 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017DBC4 0017AB24 40 82 00 08 */ bne lbl_8017DBCC /* 8017DBC8 0017AB28 3B 60 00 01 */ li r27, 1 lbl_8017DBCC: /* 8017DBCC 0017AB2C 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 8017DBD0 0017AB30 41 82 00 AC */ beq lbl_8017DC7C /* 8017DBD4 0017AB34 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 8017DBD8 0017AB38 38 61 00 40 */ addi r3, r1, 0x40 /* 8017DBDC 0017AB3C C0 21 00 60 */ lfs f1, 0x60(r1) /* 8017DBE0 0017AB40 C0 01 00 58 */ lfs f0, 0x58(r1) /* 8017DBE4 0017AB44 EC 42 F0 28 */ fsubs f2, f2, f30 /* 8017DBE8 0017AB48 EC 21 E8 28 */ fsubs f1, f1, f29 /* 8017DBEC 0017AB4C EC 00 F8 28 */ fsubs f0, f0, f31 /* 8017DBF0 0017AB50 D0 41 00 44 */ stfs f2, 0x44(r1) /* 8017DBF4 0017AB54 D0 01 00 40 */ stfs f0, 0x40(r1) /* 8017DBF8 0017AB58 D0 21 00 48 */ stfs f1, 0x48(r1) /* 8017DBFC 0017AB5C 48 19 6C BD */ bl Magnitude__9CVector3fCFv /* 8017DC00 0017AB60 88 1C 00 E7 */ lbz r0, 0xe7(r28) /* 8017DC04 0017AB64 FF 80 08 90 */ fmr f28, f1 /* 8017DC08 0017AB68 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8017DC0C 0017AB6C 41 82 00 1C */ beq lbl_8017DC28 /* 8017DC10 0017AB70 7E 83 A3 78 */ mr r3, r20 /* 8017DC14 0017AB74 7F 24 CB 78 */ mr r4, r25 /* 8017DC18 0017AB78 48 00 14 41 */ bl GetOrbitMaxTargetDistance__7CPlayerCFRC13CStateManager /* 8017DC1C 0017AB7C FC 1C 08 40 */ fcmpo cr0, f28, f1 /* 8017DC20 0017AB80 4C 40 13 82 */ cror 2, 0, 2 /* 8017DC24 0017AB84 40 82 00 58 */ bne lbl_8017DC7C lbl_8017DC28: /* 8017DC28 0017AB88 80 76 00 04 */ lwz r3, 4(r22) /* 8017DC2C 0017AB8C 80 16 00 08 */ lwz r0, 8(r22) /* 8017DC30 0017AB90 7C 03 00 00 */ cmpw r3, r0 /* 8017DC34 0017AB94 41 82 00 48 */ beq lbl_8017DC7C /* 8017DC38 0017AB98 A3 7C 00 08 */ lhz r27, 8(r28) /* 8017DC3C 0017AB9C 41 80 00 1C */ blt lbl_8017DC58 /* 8017DC40 0017ABA0 2C 00 00 00 */ cmpwi r0, 0 /* 8017DC44 0017ABA4 7E C3 B3 78 */ mr r3, r22 /* 8017DC48 0017ABA8 38 80 00 04 */ li r4, 4 /* 8017DC4C 0017ABAC 41 82 00 08 */ beq lbl_8017DC54 /* 8017DC50 0017ABB0 54 04 08 3C */ slwi r4, r0, 1 lbl_8017DC54: /* 8017DC54 0017ABB4 4B E8 E7 B5 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi" lbl_8017DC58: /* 8017DC58 0017ABB8 80 16 00 04 */ lwz r0, 4(r22) /* 8017DC5C 0017ABBC 80 76 00 0C */ lwz r3, 0xc(r22) /* 8017DC60 0017ABC0 54 00 08 3C */ slwi r0, r0, 1 /* 8017DC64 0017ABC4 7C 63 02 15 */ add. r3, r3, r0 /* 8017DC68 0017ABC8 41 82 00 08 */ beq lbl_8017DC70 /* 8017DC6C 0017ABCC B3 63 00 00 */ sth r27, 0(r3) lbl_8017DC70: /* 8017DC70 0017ABD0 80 76 00 04 */ lwz r3, 4(r22) /* 8017DC74 0017ABD4 38 03 00 01 */ addi r0, r3, 1 /* 8017DC78 0017ABD8 90 16 00 04 */ stw r0, 4(r22) lbl_8017DC7C: /* 8017DC7C 0017ABDC 3B BD 00 02 */ addi r29, r29, 2 lbl_8017DC80: /* 8017DC80 0017ABE0 80 15 00 00 */ lwz r0, 0(r21) /* 8017DC84 0017ABE4 54 00 08 3C */ slwi r0, r0, 1 /* 8017DC88 0017ABE8 7C 75 02 14 */ add r3, r21, r0 /* 8017DC8C 0017ABEC 38 03 00 04 */ addi r0, r3, 4 /* 8017DC90 0017ABF0 7C 1D 00 40 */ cmplw r29, r0 /* 8017DC94 0017ABF4 40 82 FD AC */ bne lbl_8017DA40 /* 8017DC98 0017ABF8 E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0 /* 8017DC9C 0017ABFC CB E1 00 F0 */ lfd f31, 0xf0(r1) /* 8017DCA0 0017AC00 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0 /* 8017DCA4 0017AC04 CB C1 00 E0 */ lfd f30, 0xe0(r1) /* 8017DCA8 0017AC08 E3 A1 00 D8 */ psq_l f29, 216(r1), 0, qr0 /* 8017DCAC 0017AC0C CB A1 00 D0 */ lfd f29, 0xd0(r1) /* 8017DCB0 0017AC10 E3 81 00 C8 */ psq_l f28, 200(r1), 0, qr0 /* 8017DCB4 0017AC14 CB 81 00 C0 */ lfd f28, 0xc0(r1) /* 8017DCB8 0017AC18 BA 81 00 90 */ lmw r20, 0x90(r1) /* 8017DCBC 0017AC1C 80 01 01 04 */ lwz r0, 0x104(r1) /* 8017DCC0 0017AC20 7C 08 03 A6 */ mtlr r0 /* 8017DCC4 0017AC24 38 21 01 00 */ addi r1, r1, 0x100 /* 8017DCC8 0017AC28 4E 80 00 20 */ blr .global WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType WithinOrbitScreenBox__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfoQ27CPlayer15EPlayerZoneType: /* 8017DCCC 0017AC2C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8017DCD0 0017AC30 7C 08 02 A6 */ mflr r0 /* 8017DCD4 0017AC34 C0 62 A2 4C */ lfs f3, lbl_805ABF6C@sda21(r2) /* 8017DCD8 0017AC38 90 01 00 24 */ stw r0, 0x24(r1) /* 8017DCDC 0017AC3C C0 84 00 08 */ lfs f4, 8(r4) /* 8017DCE0 0017AC40 FC 04 18 40 */ fcmpo cr0, f4, f3 /* 8017DCE4 0017AC44 4C 41 13 82 */ cror 2, 1, 2 /* 8017DCE8 0017AC48 40 82 00 0C */ bne lbl_8017DCF4 /* 8017DCEC 0017AC4C 38 60 00 00 */ li r3, 0 /* 8017DCF0 0017AC50 48 00 00 EC */ b lbl_8017DDDC lbl_8017DCF4: /* 8017DCF4 0017AC54 2C 06 00 01 */ cmpwi r6, 1 /* 8017DCF8 0017AC58 41 82 00 D0 */ beq lbl_8017DDC8 /* 8017DCFC 0017AC5C 40 80 00 D4 */ bge lbl_8017DDD0 /* 8017DD00 0017AC60 2C 06 00 00 */ cmpwi r6, 0 /* 8017DD04 0017AC64 40 80 00 08 */ bge lbl_8017DD0C /* 8017DD08 0017AC68 48 00 00 C8 */ b lbl_8017DDD0 lbl_8017DD0C: /* 8017DD0C 0017AC6C 80 0D A1 18 */ lwz r0, gpTweakPlayer@sda21(r13) /* 8017DD10 0017AC70 3C C0 43 30 */ lis r6, 0x4330 /* 8017DD14 0017AC74 54 A3 10 3A */ slwi r3, r5, 2 /* 8017DD18 0017AC78 90 C1 00 08 */ stw r6, 8(r1) /* 8017DD1C 0017AC7C 7C A0 1A 14 */ add r5, r0, r3 /* 8017DD20 0017AC80 C8 42 A2 98 */ lfd f2, lbl_805ABFB8@sda21(r2) /* 8017DD24 0017AC84 80 05 01 B8 */ lwz r0, 0x1b8(r5) /* 8017DD28 0017AC88 80 65 01 A8 */ lwz r3, 0x1a8(r5) /* 8017DD2C 0017AC8C 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8017DD30 0017AC90 C0 24 00 00 */ lfs f1, 0(r4) /* 8017DD34 0017AC94 90 01 00 0C */ stw r0, 0xc(r1) /* 8017DD38 0017AC98 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 8017DD3C 0017AC9C C8 01 00 08 */ lfd f0, 8(r1) /* 8017DD40 0017ACA0 90 01 00 14 */ stw r0, 0x14(r1) /* 8017DD44 0017ACA4 EC 00 10 28 */ fsubs f0, f0, f2 /* 8017DD48 0017ACA8 90 C1 00 10 */ stw r6, 0x10(r1) /* 8017DD4C 0017ACAC EC 21 00 28 */ fsubs f1, f1, f0 /* 8017DD50 0017ACB0 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8017DD54 0017ACB4 EC 00 10 28 */ fsubs f0, f0, f2 /* 8017DD58 0017ACB8 FC 20 0A 10 */ fabs f1, f1 /* 8017DD5C 0017ACBC FC 20 08 18 */ frsp f1, f1 /* 8017DD60 0017ACC0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017DD64 0017ACC4 4C 40 13 82 */ cror 2, 0, 2 /* 8017DD68 0017ACC8 40 82 00 70 */ bne lbl_8017DDD8 /* 8017DD6C 0017ACCC 80 65 01 C0 */ lwz r3, 0x1c0(r5) /* 8017DD70 0017ACD0 80 05 01 B0 */ lwz r0, 0x1b0(r5) /* 8017DD74 0017ACD4 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 8017DD78 0017ACD8 90 C1 00 10 */ stw r6, 0x10(r1) /* 8017DD7C 0017ACDC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8017DD80 0017ACE0 C0 24 00 04 */ lfs f1, 4(r4) /* 8017DD84 0017ACE4 90 61 00 14 */ stw r3, 0x14(r1) /* 8017DD88 0017ACE8 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8017DD8C 0017ACEC 90 01 00 0C */ stw r0, 0xc(r1) /* 8017DD90 0017ACF0 EC 00 10 28 */ fsubs f0, f0, f2 /* 8017DD94 0017ACF4 90 C1 00 08 */ stw r6, 8(r1) /* 8017DD98 0017ACF8 EC 21 00 28 */ fsubs f1, f1, f0 /* 8017DD9C 0017ACFC C8 01 00 08 */ lfd f0, 8(r1) /* 8017DDA0 0017AD00 EC 00 10 28 */ fsubs f0, f0, f2 /* 8017DDA4 0017AD04 FC 20 0A 10 */ fabs f1, f1 /* 8017DDA8 0017AD08 FC 20 08 18 */ frsp f1, f1 /* 8017DDAC 0017AD0C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017DDB0 0017AD10 4C 40 13 82 */ cror 2, 0, 2 /* 8017DDB4 0017AD14 40 82 00 24 */ bne lbl_8017DDD8 /* 8017DDB8 0017AD18 FC 04 18 40 */ fcmpo cr0, f4, f3 /* 8017DDBC 0017AD1C 40 80 00 1C */ bge lbl_8017DDD8 /* 8017DDC0 0017AD20 38 60 00 01 */ li r3, 1 /* 8017DDC4 0017AD24 48 00 00 18 */ b lbl_8017DDDC lbl_8017DDC8: /* 8017DDC8 0017AD28 48 00 00 25 */ bl WithinOrbitScreenEllipse__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfo /* 8017DDCC 0017AD2C 48 00 00 10 */ b lbl_8017DDDC lbl_8017DDD0: /* 8017DDD0 0017AD30 38 60 00 01 */ li r3, 1 /* 8017DDD4 0017AD34 48 00 00 08 */ b lbl_8017DDDC lbl_8017DDD8: /* 8017DDD8 0017AD38 38 60 00 00 */ li r3, 0 lbl_8017DDDC: /* 8017DDDC 0017AD3C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8017DDE0 0017AD40 7C 08 03 A6 */ mtlr r0 /* 8017DDE4 0017AD44 38 21 00 20 */ addi r1, r1, 0x20 /* 8017DDE8 0017AD48 4E 80 00 20 */ blr .global WithinOrbitScreenEllipse__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfo WithinOrbitScreenEllipse__7CPlayerCFRC9CVector3fQ27CPlayer15EPlayerZoneInfo: /* 8017DDEC 0017AD4C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8017DDF0 0017AD50 C0 A2 A2 4C */ lfs f5, lbl_805ABF6C@sda21(r2) /* 8017DDF4 0017AD54 C0 04 00 08 */ lfs f0, 8(r4) /* 8017DDF8 0017AD58 FC 00 28 40 */ fcmpo cr0, f0, f5 /* 8017DDFC 0017AD5C 4C 41 13 82 */ cror 2, 1, 2 /* 8017DE00 0017AD60 40 82 00 0C */ bne lbl_8017DE0C /* 8017DE04 0017AD64 38 60 00 00 */ li r3, 0 /* 8017DE08 0017AD68 48 00 00 C4 */ b lbl_8017DECC lbl_8017DE0C: /* 8017DE0C 0017AD6C 80 0D A1 18 */ lwz r0, gpTweakPlayer@sda21(r13) /* 8017DE10 0017AD70 3C C0 43 30 */ lis r6, 0x4330 /* 8017DE14 0017AD74 54 A3 10 3A */ slwi r3, r5, 2 /* 8017DE18 0017AD78 90 C1 00 10 */ stw r6, 0x10(r1) /* 8017DE1C 0017AD7C 7C 60 1A 14 */ add r3, r0, r3 /* 8017DE20 0017AD80 C8 62 A2 98 */ lfd f3, lbl_805ABFB8@sda21(r2) /* 8017DE24 0017AD84 80 03 01 C0 */ lwz r0, 0x1c0(r3) /* 8017DE28 0017AD88 80 A3 01 B8 */ lwz r5, 0x1b8(r3) /* 8017DE2C 0017AD8C 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8017DE30 0017AD90 80 E3 01 B0 */ lwz r7, 0x1b0(r3) /* 8017DE34 0017AD94 90 01 00 14 */ stw r0, 0x14(r1) /* 8017DE38 0017AD98 6C A5 80 00 */ xoris r5, r5, 0x8000 /* 8017DE3C 0017AD9C 7C 07 39 D6 */ mullw r0, r7, r7 /* 8017DE40 0017ADA0 80 63 01 A8 */ lwz r3, 0x1a8(r3) /* 8017DE44 0017ADA4 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8017DE48 0017ADA8 C0 24 00 04 */ lfs f1, 4(r4) /* 8017DE4C 0017ADAC EC 00 18 28 */ fsubs f0, f0, f3 /* 8017DE50 0017ADB0 90 C1 00 20 */ stw r6, 0x20(r1) /* 8017DE54 0017ADB4 EC 01 00 28 */ fsubs f0, f1, f0 /* 8017DE58 0017ADB8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8017DE5C 0017ADBC 90 01 00 24 */ stw r0, 0x24(r1) /* 8017DE60 0017ADC0 7C 63 19 D6 */ mullw r3, r3, r3 /* 8017DE64 0017ADC4 C0 84 00 00 */ lfs f4, 0(r4) /* 8017DE68 0017ADC8 FC 20 02 10 */ fabs f1, f0 /* 8017DE6C 0017ADCC C8 01 00 20 */ lfd f0, 0x20(r1) /* 8017DE70 0017ADD0 90 A1 00 0C */ stw r5, 0xc(r1) /* 8017DE74 0017ADD4 FC 20 08 18 */ frsp f1, f1 /* 8017DE78 0017ADD8 90 C1 00 08 */ stw r6, 8(r1) /* 8017DE7C 0017ADDC 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 8017DE80 0017ADE0 EC 00 18 28 */ fsubs f0, f0, f3 /* 8017DE84 0017ADE4 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017DE88 0017ADE8 C8 41 00 08 */ lfd f2, 8(r1) /* 8017DE8C 0017ADEC 90 01 00 1C */ stw r0, 0x1c(r1) /* 8017DE90 0017ADF0 EC 42 18 28 */ fsubs f2, f2, f3 /* 8017DE94 0017ADF4 EC 01 00 24 */ fdivs f0, f1, f0 /* 8017DE98 0017ADF8 90 C1 00 18 */ stw r6, 0x18(r1) /* 8017DE9C 0017ADFC C8 21 00 18 */ lfd f1, 0x18(r1) /* 8017DEA0 0017AE00 EC 44 10 28 */ fsubs f2, f4, f2 /* 8017DEA4 0017AE04 EC 21 18 28 */ fsubs f1, f1, f3 /* 8017DEA8 0017AE08 EC 05 00 28 */ fsubs f0, f5, f0 /* 8017DEAC 0017AE0C FC 40 12 10 */ fabs f2, f2 /* 8017DEB0 0017AE10 EC 01 00 32 */ fmuls f0, f1, f0 /* 8017DEB4 0017AE14 FC 20 10 18 */ frsp f1, f2 /* 8017DEB8 0017AE18 EC 21 00 72 */ fmuls f1, f1, f1 /* 8017DEBC 0017AE1C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017DEC0 0017AE20 4C 40 13 82 */ cror 2, 0, 2 /* 8017DEC4 0017AE24 7C 00 00 26 */ mfcr r0 /* 8017DEC8 0017AE28 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f lbl_8017DECC: /* 8017DECC 0017AE2C 38 21 00 30 */ addi r1, r1, 0x30 /* 8017DED0 0017AE30 4E 80 00 20 */ blr .global CheckOrbitDisableSourceList__7CPlayerFRC13CStateManager CheckOrbitDisableSourceList__7CPlayerFRC13CStateManager: /* 8017DED4 0017AE34 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8017DED8 0017AE38 7C 08 02 A6 */ mflr r0 /* 8017DEDC 0017AE3C 90 01 00 24 */ stw r0, 0x24(r1) /* 8017DEE0 0017AE40 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8017DEE4 0017AE44 7C 9F 23 78 */ mr r31, r4 /* 8017DEE8 0017AE48 93 C1 00 18 */ stw r30, 0x18(r1) /* 8017DEEC 0017AE4C 7C 7E 1B 78 */ mr r30, r3 /* 8017DEF0 0017AE50 93 A1 00 14 */ stw r29, 0x14(r1) /* 8017DEF4 0017AE54 3B BE 09 E8 */ addi r29, r30, 0x9e8 /* 8017DEF8 0017AE58 93 81 00 10 */ stw r28, 0x10(r1) /* 8017DEFC 0017AE5C 7F BC EB 78 */ mr r28, r29 /* 8017DF00 0017AE60 48 00 00 7C */ b lbl_8017DF7C lbl_8017DF04: /* 8017DF04 0017AE64 A0 1C 00 00 */ lhz r0, 0(r28) /* 8017DF08 0017AE68 7F E3 FB 78 */ mr r3, r31 /* 8017DF0C 0017AE6C 38 81 00 08 */ addi r4, r1, 8 /* 8017DF10 0017AE70 B0 01 00 08 */ sth r0, 8(r1) /* 8017DF14 0017AE74 4B EC E6 91 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017DF18 0017AE78 28 03 00 00 */ cmplwi r3, 0 /* 8017DF1C 0017AE7C 40 82 00 5C */ bne lbl_8017DF78 /* 8017DF20 0017AE80 7C 1C E8 40 */ cmplw r28, r29 /* 8017DF24 0017AE84 41 80 00 4C */ blt lbl_8017DF70 /* 8017DF28 0017AE88 80 1E 09 E4 */ lwz r0, 0x9e4(r30) /* 8017DF2C 0017AE8C 54 00 08 3C */ slwi r0, r0, 1 /* 8017DF30 0017AE90 7C 1D 02 14 */ add r0, r29, r0 /* 8017DF34 0017AE94 7C 1C 00 40 */ cmplw r28, r0 /* 8017DF38 0017AE98 40 80 00 38 */ bge lbl_8017DF70 /* 8017DF3C 0017AE9C 7F 85 E3 78 */ mr r5, r28 /* 8017DF40 0017AEA0 48 00 00 10 */ b lbl_8017DF50 lbl_8017DF44: /* 8017DF44 0017AEA4 A0 05 00 02 */ lhz r0, 2(r5) /* 8017DF48 0017AEA8 B0 05 00 00 */ sth r0, 0(r5) /* 8017DF4C 0017AEAC 38 A5 00 02 */ addi r5, r5, 2 lbl_8017DF50: /* 8017DF50 0017AEB0 80 9E 09 E4 */ lwz r4, 0x9e4(r30) /* 8017DF54 0017AEB4 54 83 08 3C */ slwi r3, r4, 1 /* 8017DF58 0017AEB8 38 03 FF FE */ addi r0, r3, -2 /* 8017DF5C 0017AEBC 7C 1D 02 14 */ add r0, r29, r0 /* 8017DF60 0017AEC0 7C 05 00 40 */ cmplw r5, r0 /* 8017DF64 0017AEC4 41 80 FF E0 */ blt lbl_8017DF44 /* 8017DF68 0017AEC8 38 04 FF FF */ addi r0, r4, -1 /* 8017DF6C 0017AECC 90 1E 09 E4 */ stw r0, 0x9e4(r30) lbl_8017DF70: /* 8017DF70 0017AED0 7F BC EB 78 */ mr r28, r29 /* 8017DF74 0017AED4 48 00 00 08 */ b lbl_8017DF7C lbl_8017DF78: /* 8017DF78 0017AED8 3B 9C 00 02 */ addi r28, r28, 2 lbl_8017DF7C: /* 8017DF7C 0017AEDC 80 7E 09 E4 */ lwz r3, 0x9e4(r30) /* 8017DF80 0017AEE0 54 60 08 3C */ slwi r0, r3, 1 /* 8017DF84 0017AEE4 7C 1D 02 14 */ add r0, r29, r0 /* 8017DF88 0017AEE8 7C 1C 00 40 */ cmplw r28, r0 /* 8017DF8C 0017AEEC 40 82 FF 78 */ bne lbl_8017DF04 /* 8017DF90 0017AEF0 7C 03 00 D0 */ neg r0, r3 /* 8017DF94 0017AEF4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8017DF98 0017AEF8 7C 00 1B 78 */ or r0, r0, r3 /* 8017DF9C 0017AEFC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8017DFA0 0017AF00 54 03 0F FE */ srwi r3, r0, 0x1f /* 8017DFA4 0017AF04 80 01 00 24 */ lwz r0, 0x24(r1) /* 8017DFA8 0017AF08 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8017DFAC 0017AF0C 83 81 00 10 */ lwz r28, 0x10(r1) /* 8017DFB0 0017AF10 7C 08 03 A6 */ mtlr r0 /* 8017DFB4 0017AF14 38 21 00 20 */ addi r1, r1, 0x20 /* 8017DFB8 0017AF18 4E 80 00 20 */ blr .global CheckOrbitDisableSourceList__7CPlayerCFv CheckOrbitDisableSourceList__7CPlayerCFv: /* 8017DFBC 0017AF1C 80 63 09 E4 */ lwz r3, 0x9e4(r3) /* 8017DFC0 0017AF20 7C 03 00 D0 */ neg r0, r3 /* 8017DFC4 0017AF24 7C 00 1B 78 */ or r0, r0, r3 /* 8017DFC8 0017AF28 54 03 0F FE */ srwi r3, r0, 0x1f /* 8017DFCC 0017AF2C 4E 80 00 20 */ blr .global RemoveOrbitDisableSource__7CPlayerF9TUniqueId RemoveOrbitDisableSource__7CPlayerF9TUniqueId: /* 8017DFD0 0017AF30 80 03 09 E4 */ lwz r0, 0x9e4(r3) /* 8017DFD4 0017AF34 38 E3 09 E8 */ addi r7, r3, 0x9e8 /* 8017DFD8 0017AF38 7C E8 3B 78 */ mr r8, r7 /* 8017DFDC 0017AF3C 54 00 08 3C */ slwi r0, r0, 1 /* 8017DFE0 0017AF40 7C C7 02 14 */ add r6, r7, r0 /* 8017DFE4 0017AF44 48 00 00 60 */ b lbl_8017E044 lbl_8017DFE8: /* 8017DFE8 0017AF48 A0 A8 00 00 */ lhz r5, 0(r8) /* 8017DFEC 0017AF4C A0 04 00 00 */ lhz r0, 0(r4) /* 8017DFF0 0017AF50 7C 05 00 40 */ cmplw r5, r0 /* 8017DFF4 0017AF54 40 82 00 4C */ bne lbl_8017E040 /* 8017DFF8 0017AF58 7C 08 38 40 */ cmplw r8, r7 /* 8017DFFC 0017AF5C 4D 80 00 20 */ bltlr /* 8017E000 0017AF60 7C 08 30 40 */ cmplw r8, r6 /* 8017E004 0017AF64 4C 80 00 20 */ bgelr /* 8017E008 0017AF68 7D 06 43 78 */ mr r6, r8 /* 8017E00C 0017AF6C 48 00 00 10 */ b lbl_8017E01C lbl_8017E010: /* 8017E010 0017AF70 A0 06 00 02 */ lhz r0, 2(r6) /* 8017E014 0017AF74 B0 06 00 00 */ sth r0, 0(r6) /* 8017E018 0017AF78 38 C6 00 02 */ addi r6, r6, 2 lbl_8017E01C: /* 8017E01C 0017AF7C 80 A3 09 E4 */ lwz r5, 0x9e4(r3) /* 8017E020 0017AF80 54 A4 08 3C */ slwi r4, r5, 1 /* 8017E024 0017AF84 38 04 FF FE */ addi r0, r4, -2 /* 8017E028 0017AF88 7C 07 02 14 */ add r0, r7, r0 /* 8017E02C 0017AF8C 7C 06 00 40 */ cmplw r6, r0 /* 8017E030 0017AF90 41 80 FF E0 */ blt lbl_8017E010 /* 8017E034 0017AF94 38 05 FF FF */ addi r0, r5, -1 /* 8017E038 0017AF98 90 03 09 E4 */ stw r0, 0x9e4(r3) /* 8017E03C 0017AF9C 4E 80 00 20 */ blr lbl_8017E040: /* 8017E040 0017AFA0 39 08 00 02 */ addi r8, r8, 2 lbl_8017E044: /* 8017E044 0017AFA4 7C 08 30 40 */ cmplw r8, r6 /* 8017E048 0017AFA8 40 82 FF A0 */ bne lbl_8017DFE8 .global sub_8017e04c sub_8017e04c: /* 8017E04C 0017AFAC 4E 80 00 20 */ blr .global AddOrbitDisableSource__7CPlayerFR13CStateManager9TUniqueId AddOrbitDisableSource__7CPlayerFR13CStateManager9TUniqueId: /* 8017E050 0017AFB0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8017E054 0017AFB4 7C 08 02 A6 */ mflr r0 /* 8017E058 0017AFB8 90 01 00 34 */ stw r0, 0x34(r1) /* 8017E05C 0017AFBC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8017E060 0017AFC0 7C 9F 23 78 */ mr r31, r4 /* 8017E064 0017AFC4 93 C1 00 28 */ stw r30, 0x28(r1) /* 8017E068 0017AFC8 7C 7E 1B 78 */ mr r30, r3 /* 8017E06C 0017AFCC 80 03 09 E4 */ lwz r0, 0x9e4(r3) /* 8017E070 0017AFD0 2C 00 00 05 */ cmpwi r0, 5 /* 8017E074 0017AFD4 40 80 00 AC */ bge lbl_8017E120 /* 8017E078 0017AFD8 38 7E 09 E8 */ addi r3, r30, 0x9e8 /* 8017E07C 0017AFDC 54 00 08 3C */ slwi r0, r0, 1 /* 8017E080 0017AFE0 7C 66 1B 78 */ mr r6, r3 /* 8017E084 0017AFE4 7C 83 02 14 */ add r4, r3, r0 /* 8017E088 0017AFE8 48 00 00 18 */ b lbl_8017E0A0 lbl_8017E08C: /* 8017E08C 0017AFEC A0 66 00 00 */ lhz r3, 0(r6) /* 8017E090 0017AFF0 A0 05 00 00 */ lhz r0, 0(r5) /* 8017E094 0017AFF4 7C 03 00 40 */ cmplw r3, r0 /* 8017E098 0017AFF8 41 82 00 88 */ beq lbl_8017E120 /* 8017E09C 0017AFFC 38 C6 00 02 */ addi r6, r6, 2 lbl_8017E0A0: /* 8017E0A0 0017B000 7C 06 20 40 */ cmplw r6, r4 /* 8017E0A4 0017B004 40 82 FF E8 */ bne lbl_8017E08C /* 8017E0A8 0017B008 28 04 00 00 */ cmplwi r4, 0 /* 8017E0AC 0017B00C 41 82 00 0C */ beq lbl_8017E0B8 /* 8017E0B0 0017B010 A0 05 00 00 */ lhz r0, 0(r5) /* 8017E0B4 0017B014 B0 04 00 00 */ sth r0, 0(r4) lbl_8017E0B8: /* 8017E0B8 0017B018 80 BE 09 E4 */ lwz r5, 0x9e4(r30) /* 8017E0BC 0017B01C 7F C3 F3 78 */ mr r3, r30 /* 8017E0C0 0017B020 38 81 00 10 */ addi r4, r1, 0x10 /* 8017E0C4 0017B024 38 05 00 01 */ addi r0, r5, 1 /* 8017E0C8 0017B028 90 1E 09 E4 */ stw r0, 0x9e4(r30) /* 8017E0CC 0017B02C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E0D0 0017B030 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017E0D4 0017B034 4B E9 BC D1 */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId /* 8017E0D8 0017B038 A0 1E 03 10 */ lhz r0, 0x310(r30) /* 8017E0DC 0017B03C 7F E3 FB 78 */ mr r3, r31 /* 8017E0E0 0017B040 38 81 00 0C */ addi r4, r1, 0xc /* 8017E0E4 0017B044 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017E0E8 0017B048 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017E0EC 0017B04C 4B EC E4 B9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017E0F0 0017B050 7C 64 1B 78 */ mr r4, r3 /* 8017E0F4 0017B054 38 61 00 18 */ addi r3, r1, 0x18 /* 8017E0F8 0017B058 4B F2 B9 D1 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017E0FC 0017B05C 80 03 00 04 */ lwz r0, 4(r3) /* 8017E100 0017B060 28 00 00 00 */ cmplwi r0, 0 /* 8017E104 0017B064 40 82 00 1C */ bne lbl_8017E120 /* 8017E108 0017B068 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E10C 0017B06C 7F C3 F3 78 */ mr r3, r30 /* 8017E110 0017B070 7F E5 FB 78 */ mr r5, r31 /* 8017E114 0017B074 38 81 00 08 */ addi r4, r1, 8 /* 8017E118 0017B078 B0 01 00 08 */ sth r0, 8(r1) /* 8017E11C 0017B07C 4B FF D4 D1 */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager lbl_8017E120: /* 8017E120 0017B080 80 01 00 34 */ lwz r0, 0x34(r1) /* 8017E124 0017B084 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8017E128 0017B088 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8017E12C 0017B08C 7C 08 03 A6 */ mtlr r0 /* 8017E130 0017B090 38 21 00 30 */ addi r1, r1, 0x30 /* 8017E134 0017B094 4E 80 00 20 */ blr .global UpdateOrbitPreventionTimer__7CPlayerFf UpdateOrbitPreventionTimer__7CPlayerFf: /* 8017E138 0017B098 C0 43 03 78 */ lfs f2, 0x378(r3) /* 8017E13C 0017B09C C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017E140 0017B0A0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017E144 0017B0A4 4C 81 00 20 */ blelr /* 8017E148 0017B0A8 EC 02 08 28 */ fsubs f0, f2, f1 /* 8017E14C 0017B0AC D0 03 03 78 */ stfs f0, 0x378(r3) /* 8017E150 0017B0B0 4E 80 00 20 */ blr .global UpdateOrbitModeTimer__7CPlayerFf UpdateOrbitModeTimer__7CPlayerFf: /* 8017E154 0017B0B4 80 03 03 04 */ lwz r0, 0x304(r3) /* 8017E158 0017B0B8 2C 00 00 00 */ cmpwi r0, 0 /* 8017E15C 0017B0BC 40 82 00 20 */ bne lbl_8017E17C /* 8017E160 0017B0C0 C0 43 03 2C */ lfs f2, 0x32c(r3) /* 8017E164 0017B0C4 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017E168 0017B0C8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017E16C 0017B0CC 40 81 00 10 */ ble lbl_8017E17C /* 8017E170 0017B0D0 EC 02 08 28 */ fsubs f0, f2, f1 /* 8017E174 0017B0D4 D0 03 03 2C */ stfs f0, 0x32c(r3) /* 8017E178 0017B0D8 4E 80 00 20 */ blr lbl_8017E17C: /* 8017E17C 0017B0DC C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017E180 0017B0E0 D0 03 03 2C */ stfs f0, 0x32c(r3) /* 8017E184 0017B0E4 4E 80 00 20 */ blr .global UpdateOrbitZone__7CPlayerFR13CStateManager UpdateOrbitZone__7CPlayerFR13CStateManager: /* 8017E188 0017B0E8 80 84 08 B8 */ lwz r4, 0x8b8(r4) /* 8017E18C 0017B0EC 80 84 00 00 */ lwz r4, 0(r4) /* 8017E190 0017B0F0 80 04 00 14 */ lwz r0, 0x14(r4) /* 8017E194 0017B0F4 2C 00 00 02 */ cmpwi r0, 2 /* 8017E198 0017B0F8 41 82 00 1C */ beq lbl_8017E1B4 /* 8017E19C 0017B0FC 38 80 00 01 */ li r4, 1 /* 8017E1A0 0017B100 38 00 00 00 */ li r0, 0 /* 8017E1A4 0017B104 90 83 03 34 */ stw r4, 0x334(r3) /* 8017E1A8 0017B108 90 83 03 38 */ stw r4, 0x338(r3) /* 8017E1AC 0017B10C 90 03 03 30 */ stw r0, 0x330(r3) /* 8017E1B0 0017B110 4E 80 00 20 */ blr lbl_8017E1B4: /* 8017E1B4 0017B114 38 00 00 00 */ li r0, 0 /* 8017E1B8 0017B118 38 80 00 02 */ li r4, 2 /* 8017E1BC 0017B11C 90 03 03 34 */ stw r0, 0x334(r3) /* 8017E1C0 0017B120 38 00 00 01 */ li r0, 1 /* 8017E1C4 0017B124 90 83 03 38 */ stw r4, 0x338(r3) /* 8017E1C8 0017B128 90 03 03 30 */ stw r0, 0x330(r3) /* 8017E1CC 0017B12C 4E 80 00 20 */ blr .global UpdateOrbitInput__7CPlayerFRC11CFinalInputR13CStateManager UpdateOrbitInput__7CPlayerFRC11CFinalInputR13CStateManager: /* 8017E1D0 0017B130 94 21 FF 70 */ stwu r1, -0x90(r1) /* 8017E1D4 0017B134 7C 08 02 A6 */ mflr r0 /* 8017E1D8 0017B138 90 01 00 94 */ stw r0, 0x94(r1) /* 8017E1DC 0017B13C 93 E1 00 8C */ stw r31, 0x8c(r1) /* 8017E1E0 0017B140 7C BF 2B 78 */ mr r31, r5 /* 8017E1E4 0017B144 93 C1 00 88 */ stw r30, 0x88(r1) /* 8017E1E8 0017B148 7C 9E 23 78 */ mr r30, r4 /* 8017E1EC 0017B14C 93 A1 00 84 */ stw r29, 0x84(r1) /* 8017E1F0 0017B150 7C 7D 1B 78 */ mr r29, r3 /* 8017E1F4 0017B154 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 8017E1F8 0017B158 2C 00 00 00 */ cmpwi r0, 0 /* 8017E1FC 0017B15C 40 82 06 CC */ bne lbl_8017E8C8 /* 8017E200 0017B160 C0 3D 03 78 */ lfs f1, 0x378(r29) /* 8017E204 0017B164 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017E208 0017B168 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017E20C 0017B16C 41 81 06 BC */ bgt lbl_8017E8C8 /* 8017E210 0017B170 7F E4 FB 78 */ mr r4, r31 /* 8017E214 0017B174 4B FF EA 95 */ bl UpdateOrbitableObjects__7CPlayerFR13CStateManager /* 8017E218 0017B178 80 1D 03 04 */ lwz r0, 0x304(r29) /* 8017E21C 0017B17C 2C 00 00 00 */ cmpwi r0, 0 /* 8017E220 0017B180 40 82 00 20 */ bne lbl_8017E240 /* 8017E224 0017B184 7F A4 EB 78 */ mr r4, r29 /* 8017E228 0017B188 7F E5 FB 78 */ mr r5, r31 /* 8017E22C 0017B18C 38 61 00 68 */ addi r3, r1, 0x68 /* 8017E230 0017B190 4B FF EA 41 */ bl FindOrbitTargetId__7CPlayerFR13CStateManager /* 8017E234 0017B194 A0 01 00 68 */ lhz r0, 0x68(r1) /* 8017E238 0017B198 B0 01 00 6C */ sth r0, 0x6c(r1) /* 8017E23C 0017B19C B0 1D 03 3C */ sth r0, 0x33c(r29) lbl_8017E240: /* 8017E240 0017B1A0 7F C4 F3 78 */ mr r4, r30 /* 8017E244 0017B1A4 38 60 00 18 */ li r3, 0x18 /* 8017E248 0017B1A8 4B E8 E6 2D */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E24C 0017B1AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E250 0017B1B0 40 82 00 2C */ bne lbl_8017E27C /* 8017E254 0017B1B4 7F C4 F3 78 */ mr r4, r30 /* 8017E258 0017B1B8 38 60 00 19 */ li r3, 0x19 /* 8017E25C 0017B1BC 4B E8 E6 19 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E260 0017B1C0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E264 0017B1C4 40 82 00 18 */ bne lbl_8017E27C /* 8017E268 0017B1C8 7F C4 F3 78 */ mr r4, r30 /* 8017E26C 0017B1CC 38 60 00 1A */ li r3, 0x1a /* 8017E270 0017B1D0 4B E8 E6 05 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E274 0017B1D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E278 0017B1D8 41 82 05 28 */ beq lbl_8017E7A0 lbl_8017E27C: /* 8017E27C 0017B1DC 80 1D 03 04 */ lwz r0, 0x304(r29) /* 8017E280 0017B1E0 2C 00 00 03 */ cmpwi r0, 3 /* 8017E284 0017B1E4 41 82 03 E4 */ beq lbl_8017E668 /* 8017E288 0017B1E8 40 80 00 1C */ bge lbl_8017E2A4 /* 8017E28C 0017B1EC 2C 00 00 01 */ cmpwi r0, 1 /* 8017E290 0017B1F0 41 82 01 40 */ beq lbl_8017E3D0 /* 8017E294 0017B1F4 40 80 02 48 */ bge lbl_8017E4DC /* 8017E298 0017B1F8 2C 00 00 00 */ cmpwi r0, 0 /* 8017E29C 0017B1FC 40 80 00 18 */ bge lbl_8017E2B4 /* 8017E2A0 0017B200 48 00 04 C0 */ b lbl_8017E760 lbl_8017E2A4: /* 8017E2A4 0017B204 2C 00 00 05 */ cmpwi r0, 5 /* 8017E2A8 0017B208 41 82 01 04 */ beq lbl_8017E3AC /* 8017E2AC 0017B20C 40 80 04 B4 */ bge lbl_8017E760 /* 8017E2B0 0017B210 48 00 04 80 */ b lbl_8017E730 lbl_8017E2B4: /* 8017E2B4 0017B214 7F C4 F3 78 */ mr r4, r30 /* 8017E2B8 0017B218 38 60 00 1A */ li r3, 0x1a /* 8017E2BC 0017B21C 4B E8 E5 15 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E2C0 0017B220 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E2C4 0017B224 41 82 00 9C */ beq lbl_8017E360 /* 8017E2C8 0017B228 A0 1D 03 3C */ lhz r0, 0x33c(r29) /* 8017E2CC 0017B22C 7F A3 EB 78 */ mr r3, r29 /* 8017E2D0 0017B230 7F E5 FB 78 */ mr r5, r31 /* 8017E2D4 0017B234 38 81 00 64 */ addi r4, r1, 0x64 /* 8017E2D8 0017B238 B0 01 00 60 */ sth r0, 0x60(r1) /* 8017E2DC 0017B23C B0 01 00 64 */ sth r0, 0x64(r1) /* 8017E2E0 0017B240 4B FF D3 0D */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017E2E4 0017B244 A0 DD 03 10 */ lhz r6, 0x310(r29) /* 8017E2E8 0017B248 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E2EC 0017B24C 7C 06 00 40 */ cmplw r6, r0 /* 8017E2F0 0017B250 41 82 04 70 */ beq lbl_8017E760 /* 8017E2F4 0017B254 B0 C1 00 58 */ sth r6, 0x58(r1) /* 8017E2F8 0017B258 7F A3 EB 78 */ mr r3, r29 /* 8017E2FC 0017B25C 7F E5 FB 78 */ mr r5, r31 /* 8017E300 0017B260 38 81 00 5C */ addi r4, r1, 0x5c /* 8017E304 0017B264 B0 C1 00 5C */ sth r6, 0x5c(r1) /* 8017E308 0017B268 4B FF DA 79 */ bl ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017E30C 0017B26C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E310 0017B270 41 82 00 1C */ beq lbl_8017E32C /* 8017E314 0017B274 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E318 0017B278 7F A3 EB 78 */ mr r3, r29 /* 8017E31C 0017B27C 38 81 00 54 */ addi r4, r1, 0x54 /* 8017E320 0017B280 B0 01 00 50 */ sth r0, 0x50(r1) /* 8017E324 0017B284 B0 01 00 54 */ sth r0, 0x54(r1) /* 8017E328 0017B288 4B E9 BA 7D */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId lbl_8017E32C: /* 8017E32C 0017B28C 7F A3 EB 78 */ mr r3, r29 /* 8017E330 0017B290 7F E5 FB 78 */ mr r5, r31 /* 8017E334 0017B294 38 80 00 01 */ li r4, 1 /* 8017E338 0017B298 4B FF D1 5D */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017E33C 0017B29C 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E340 0017B2A0 7F A3 EB 78 */ mr r3, r29 /* 8017E344 0017B2A4 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E348 0017B2A8 7F E4 FB 78 */ mr r4, r31 /* 8017E34C 0017B2AC 54 00 10 3A */ slwi r0, r0, 2 /* 8017E350 0017B2B0 7C A5 02 14 */ add r5, r5, r0 /* 8017E354 0017B2B4 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E358 0017B2B8 4B FF D3 BD */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E35C 0017B2BC 48 00 04 04 */ b lbl_8017E760 lbl_8017E360: /* 8017E360 0017B2C0 7F C4 F3 78 */ mr r4, r30 /* 8017E364 0017B2C4 38 60 00 19 */ li r3, 0x19 /* 8017E368 0017B2C8 4B E8 E4 69 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E36C 0017B2CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E370 0017B2D0 41 82 00 14 */ beq lbl_8017E384 /* 8017E374 0017B2D4 7F A3 EB 78 */ mr r3, r29 /* 8017E378 0017B2D8 7F E5 FB 78 */ mr r5, r31 /* 8017E37C 0017B2DC 38 80 00 01 */ li r4, 1 /* 8017E380 0017B2E0 4B FF CF B9 */ bl OrbitPoint__7CPlayerFQ27CPlayer16EPlayerOrbitTypeR13CStateManager lbl_8017E384: /* 8017E384 0017B2E4 7F C4 F3 78 */ mr r4, r30 /* 8017E388 0017B2E8 38 60 00 18 */ li r3, 0x18 /* 8017E38C 0017B2EC 4B E8 E4 45 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E390 0017B2F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E394 0017B2F4 41 82 03 CC */ beq lbl_8017E760 /* 8017E398 0017B2F8 7F A3 EB 78 */ mr r3, r29 /* 8017E39C 0017B2FC 7F E5 FB 78 */ mr r5, r31 /* 8017E3A0 0017B300 38 80 00 00 */ li r4, 0 /* 8017E3A4 0017B304 4B FF CF 95 */ bl OrbitPoint__7CPlayerFQ27CPlayer16EPlayerOrbitTypeR13CStateManager /* 8017E3A8 0017B308 48 00 03 B8 */ b lbl_8017E760 lbl_8017E3AC: /* 8017E3AC 0017B30C A0 7D 03 10 */ lhz r3, 0x310(r29) /* 8017E3B0 0017B310 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E3B4 0017B314 7C 03 00 40 */ cmplw r3, r0 /* 8017E3B8 0017B318 40 82 03 A8 */ bne lbl_8017E760 /* 8017E3BC 0017B31C 7F A3 EB 78 */ mr r3, r29 /* 8017E3C0 0017B320 7F E5 FB 78 */ mr r5, r31 /* 8017E3C4 0017B324 38 80 00 00 */ li r4, 0 /* 8017E3C8 0017B328 4B FF CC FD */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E3CC 0017B32C 48 00 03 94 */ b lbl_8017E760 lbl_8017E3D0: /* 8017E3D0 0017B330 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E3D4 0017B334 7F E3 FB 78 */ mr r3, r31 /* 8017E3D8 0017B338 38 81 00 4C */ addi r4, r1, 0x4c /* 8017E3DC 0017B33C B0 01 00 48 */ sth r0, 0x48(r1) /* 8017E3E0 0017B340 B0 01 00 4C */ sth r0, 0x4c(r1) /* 8017E3E4 0017B344 4B EC E1 C1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017E3E8 0017B348 7C 64 1B 78 */ mr r4, r3 /* 8017E3EC 0017B34C 38 61 00 78 */ addi r3, r1, 0x78 /* 8017E3F0 0017B350 4B F2 B6 D9 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017E3F4 0017B354 80 03 00 04 */ lwz r0, 4(r3) /* 8017E3F8 0017B358 28 00 00 00 */ cmplwi r0, 0 /* 8017E3FC 0017B35C 41 82 00 50 */ beq lbl_8017E44C /* 8017E400 0017B360 7F A3 EB 78 */ mr r3, r29 /* 8017E404 0017B364 7F E4 FB 78 */ mr r4, r31 /* 8017E408 0017B368 48 00 0F 1D */ bl ValidateCurrentOrbitTargetId__7CPlayerFR13CStateManager /* 8017E40C 0017B36C 2C 03 00 00 */ cmpwi r3, 0 /* 8017E410 0017B370 40 82 00 28 */ bne lbl_8017E438 /* 8017E414 0017B374 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E418 0017B378 7F A3 EB 78 */ mr r3, r29 /* 8017E41C 0017B37C 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E420 0017B380 7F E4 FB 78 */ mr r4, r31 /* 8017E424 0017B384 54 00 10 3A */ slwi r0, r0, 2 /* 8017E428 0017B388 7C A5 02 14 */ add r5, r5, r0 /* 8017E42C 0017B38C C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E430 0017B390 4B FF D2 E5 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E434 0017B394 48 00 00 94 */ b lbl_8017E4C8 lbl_8017E438: /* 8017E438 0017B398 7F A3 EB 78 */ mr r3, r29 /* 8017E43C 0017B39C 7F E5 FB 78 */ mr r5, r31 /* 8017E440 0017B3A0 38 80 00 06 */ li r4, 6 /* 8017E444 0017B3A4 4B FF CC 81 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E448 0017B3A8 48 00 00 80 */ b lbl_8017E4C8 lbl_8017E44C: /* 8017E44C 0017B3AC 7F A3 EB 78 */ mr r3, r29 /* 8017E450 0017B3B0 7F E4 FB 78 */ mr r4, r31 /* 8017E454 0017B3B4 48 00 0E D1 */ bl ValidateCurrentOrbitTargetId__7CPlayerFR13CStateManager /* 8017E458 0017B3B8 2C 03 00 00 */ cmpwi r3, 0 /* 8017E45C 0017B3BC 40 82 00 28 */ bne lbl_8017E484 /* 8017E460 0017B3C0 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E464 0017B3C4 7F A3 EB 78 */ mr r3, r29 /* 8017E468 0017B3C8 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E46C 0017B3CC 7F E4 FB 78 */ mr r4, r31 /* 8017E470 0017B3D0 54 00 10 3A */ slwi r0, r0, 2 /* 8017E474 0017B3D4 7C A5 02 14 */ add r5, r5, r0 /* 8017E478 0017B3D8 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E47C 0017B3DC 4B FF D2 99 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E480 0017B3E0 48 00 00 48 */ b lbl_8017E4C8 lbl_8017E484: /* 8017E484 0017B3E4 2C 03 00 05 */ cmpwi r3, 5 /* 8017E488 0017B3E8 40 82 00 18 */ bne lbl_8017E4A0 /* 8017E48C 0017B3EC 7F A3 EB 78 */ mr r3, r29 /* 8017E490 0017B3F0 7F E5 FB 78 */ mr r5, r31 /* 8017E494 0017B3F4 38 80 00 01 */ li r4, 1 /* 8017E498 0017B3F8 4B FF CE A1 */ bl OrbitPoint__7CPlayerFQ27CPlayer16EPlayerOrbitTypeR13CStateManager /* 8017E49C 0017B3FC 48 00 00 2C */ b lbl_8017E4C8 lbl_8017E4A0: /* 8017E4A0 0017B400 2C 03 00 04 */ cmpwi r3, 4 /* 8017E4A4 0017B404 40 82 00 18 */ bne lbl_8017E4BC /* 8017E4A8 0017B408 7F A3 EB 78 */ mr r3, r29 /* 8017E4AC 0017B40C 7F E5 FB 78 */ mr r5, r31 /* 8017E4B0 0017B410 38 80 00 07 */ li r4, 7 /* 8017E4B4 0017B414 4B FF CC E9 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E4B8 0017B418 48 00 00 10 */ b lbl_8017E4C8 lbl_8017E4BC: /* 8017E4BC 0017B41C 7F A3 EB 78 */ mr r3, r29 /* 8017E4C0 0017B420 7F E4 FB 78 */ mr r4, r31 /* 8017E4C4 0017B424 48 00 04 21 */ bl ActivateOrbitSource__7CPlayerFR13CStateManager lbl_8017E4C8: /* 8017E4C8 0017B428 7F A3 EB 78 */ mr r3, r29 /* 8017E4CC 0017B42C 7F C4 F3 78 */ mr r4, r30 /* 8017E4D0 0017B430 7F E5 FB 78 */ mr r5, r31 /* 8017E4D4 0017B434 48 00 04 85 */ bl UpdateOrbitSelection__7CPlayerFRC11CFinalInputR13CStateManager /* 8017E4D8 0017B438 48 00 02 88 */ b lbl_8017E760 lbl_8017E4DC: /* 8017E4DC 0017B43C 7F C4 F3 78 */ mr r4, r30 /* 8017E4E0 0017B440 38 60 00 1A */ li r3, 0x1a /* 8017E4E4 0017B444 4B E8 E2 ED */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E4E8 0017B448 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E4EC 0017B44C 41 82 00 A8 */ beq lbl_8017E594 /* 8017E4F0 0017B450 7F A4 EB 78 */ mr r4, r29 /* 8017E4F4 0017B454 7F E5 FB 78 */ mr r5, r31 /* 8017E4F8 0017B458 38 61 00 40 */ addi r3, r1, 0x40 /* 8017E4FC 0017B45C 4B FF E7 75 */ bl FindOrbitTargetId__7CPlayerFR13CStateManager /* 8017E500 0017B460 A0 01 00 40 */ lhz r0, 0x40(r1) /* 8017E504 0017B464 7F A3 EB 78 */ mr r3, r29 /* 8017E508 0017B468 7F E5 FB 78 */ mr r5, r31 /* 8017E50C 0017B46C 38 81 00 44 */ addi r4, r1, 0x44 /* 8017E510 0017B470 B0 01 00 44 */ sth r0, 0x44(r1) /* 8017E514 0017B474 4B FF D0 D9 */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017E518 0017B478 A0 DD 03 10 */ lhz r6, 0x310(r29) /* 8017E51C 0017B47C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E520 0017B480 7C 06 00 40 */ cmplw r6, r0 /* 8017E524 0017B484 41 82 01 20 */ beq lbl_8017E644 /* 8017E528 0017B488 B0 C1 00 38 */ sth r6, 0x38(r1) /* 8017E52C 0017B48C 7F A3 EB 78 */ mr r3, r29 /* 8017E530 0017B490 7F E5 FB 78 */ mr r5, r31 /* 8017E534 0017B494 38 81 00 3C */ addi r4, r1, 0x3c /* 8017E538 0017B498 B0 C1 00 3C */ sth r6, 0x3c(r1) /* 8017E53C 0017B49C 4B FF D8 45 */ bl ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017E540 0017B4A0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E544 0017B4A4 41 82 00 1C */ beq lbl_8017E560 /* 8017E548 0017B4A8 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E54C 0017B4AC 7F A3 EB 78 */ mr r3, r29 /* 8017E550 0017B4B0 38 81 00 34 */ addi r4, r1, 0x34 /* 8017E554 0017B4B4 B0 01 00 30 */ sth r0, 0x30(r1) /* 8017E558 0017B4B8 B0 01 00 34 */ sth r0, 0x34(r1) /* 8017E55C 0017B4BC 4B E9 B8 49 */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId lbl_8017E560: /* 8017E560 0017B4C0 7F A3 EB 78 */ mr r3, r29 /* 8017E564 0017B4C4 7F E5 FB 78 */ mr r5, r31 /* 8017E568 0017B4C8 38 80 00 01 */ li r4, 1 /* 8017E56C 0017B4CC 4B FF CF 29 */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017E570 0017B4D0 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E574 0017B4D4 7F A3 EB 78 */ mr r3, r29 /* 8017E578 0017B4D8 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E57C 0017B4DC 7F E4 FB 78 */ mr r4, r31 /* 8017E580 0017B4E0 54 00 10 3A */ slwi r0, r0, 2 /* 8017E584 0017B4E4 7C A5 02 14 */ add r5, r5, r0 /* 8017E588 0017B4E8 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E58C 0017B4EC 4B FF D1 89 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E590 0017B4F0 48 00 00 B4 */ b lbl_8017E644 lbl_8017E594: /* 8017E594 0017B4F4 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E598 0017B4F8 2C 00 00 01 */ cmpwi r0, 1 /* 8017E59C 0017B4FC 41 82 00 18 */ beq lbl_8017E5B4 /* 8017E5A0 0017B500 40 80 00 A4 */ bge lbl_8017E644 /* 8017E5A4 0017B504 2C 00 00 00 */ cmpwi r0, 0 /* 8017E5A8 0017B508 40 80 00 4C */ bge lbl_8017E5F4 /* 8017E5AC 0017B50C 48 00 00 98 */ b lbl_8017E644 /* 8017E5B0 0017B510 48 00 00 94 */ b lbl_8017E644 lbl_8017E5B4: /* 8017E5B4 0017B514 7F C4 F3 78 */ mr r4, r30 /* 8017E5B8 0017B518 38 60 00 18 */ li r3, 0x18 /* 8017E5BC 0017B51C 4B E8 E2 B9 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E5C0 0017B520 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E5C4 0017B524 41 82 00 80 */ beq lbl_8017E644 /* 8017E5C8 0017B528 38 00 00 00 */ li r0, 0 /* 8017E5CC 0017B52C 7F A3 EB 78 */ mr r3, r29 /* 8017E5D0 0017B530 90 1D 03 08 */ stw r0, 0x308(r29) /* 8017E5D4 0017B534 7F E4 FB 78 */ mr r4, r31 /* 8017E5D8 0017B538 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E5DC 0017B53C 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E5E0 0017B540 54 00 10 3A */ slwi r0, r0, 2 /* 8017E5E4 0017B544 7C A5 02 14 */ add r5, r5, r0 /* 8017E5E8 0017B548 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E5EC 0017B54C 4B FF D3 2D */ bl SetOrbitPosition__7CPlayerFfR13CStateManager /* 8017E5F0 0017B550 48 00 00 54 */ b lbl_8017E644 lbl_8017E5F4: /* 8017E5F4 0017B554 7F C4 F3 78 */ mr r4, r30 /* 8017E5F8 0017B558 38 60 00 19 */ li r3, 0x19 /* 8017E5FC 0017B55C 4B E8 E2 79 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E600 0017B560 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E604 0017B564 41 82 00 40 */ beq lbl_8017E644 /* 8017E608 0017B568 7F C4 F3 78 */ mr r4, r30 /* 8017E60C 0017B56C 38 60 00 18 */ li r3, 0x18 /* 8017E610 0017B570 4B E8 E2 65 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E614 0017B574 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E618 0017B578 40 82 00 2C */ bne lbl_8017E644 /* 8017E61C 0017B57C 38 00 00 01 */ li r0, 1 /* 8017E620 0017B580 7F A3 EB 78 */ mr r3, r29 /* 8017E624 0017B584 90 1D 03 08 */ stw r0, 0x308(r29) /* 8017E628 0017B588 7F E4 FB 78 */ mr r4, r31 /* 8017E62C 0017B58C 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E630 0017B590 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E634 0017B594 54 00 10 3A */ slwi r0, r0, 2 /* 8017E638 0017B598 7C A5 02 14 */ add r5, r5, r0 /* 8017E63C 0017B59C C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E640 0017B5A0 4B FF D2 D9 */ bl SetOrbitPosition__7CPlayerFfR13CStateManager lbl_8017E644: /* 8017E644 0017B5A4 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E648 0017B5A8 7F A3 EB 78 */ mr r3, r29 /* 8017E64C 0017B5AC 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E650 0017B5B0 7F E4 FB 78 */ mr r4, r31 /* 8017E654 0017B5B4 54 00 10 3A */ slwi r0, r0, 2 /* 8017E658 0017B5B8 7C A5 02 14 */ add r5, r5, r0 /* 8017E65C 0017B5BC C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E660 0017B5C0 4B FF D0 B5 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E664 0017B5C4 48 00 00 FC */ b lbl_8017E760 lbl_8017E668: /* 8017E668 0017B5C8 7F C4 F3 78 */ mr r4, r30 /* 8017E66C 0017B5CC 38 60 00 1A */ li r3, 0x1a /* 8017E670 0017B5D0 4B E8 E1 61 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017E674 0017B5D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E678 0017B5D8 41 82 00 A4 */ beq lbl_8017E71C /* 8017E67C 0017B5DC 7F A4 EB 78 */ mr r4, r29 /* 8017E680 0017B5E0 7F E5 FB 78 */ mr r5, r31 /* 8017E684 0017B5E4 38 61 00 28 */ addi r3, r1, 0x28 /* 8017E688 0017B5E8 4B FF E5 E9 */ bl FindOrbitTargetId__7CPlayerFR13CStateManager /* 8017E68C 0017B5EC A0 01 00 28 */ lhz r0, 0x28(r1) /* 8017E690 0017B5F0 7F A3 EB 78 */ mr r3, r29 /* 8017E694 0017B5F4 7F E5 FB 78 */ mr r5, r31 /* 8017E698 0017B5F8 38 81 00 2C */ addi r4, r1, 0x2c /* 8017E69C 0017B5FC B0 01 00 2C */ sth r0, 0x2c(r1) /* 8017E6A0 0017B600 4B FF CF 4D */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017E6A4 0017B604 A0 DD 03 10 */ lhz r6, 0x310(r29) /* 8017E6A8 0017B608 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E6AC 0017B60C 7C 06 00 40 */ cmplw r6, r0 /* 8017E6B0 0017B610 41 82 00 6C */ beq lbl_8017E71C /* 8017E6B4 0017B614 B0 C1 00 20 */ sth r6, 0x20(r1) /* 8017E6B8 0017B618 7F A3 EB 78 */ mr r3, r29 /* 8017E6BC 0017B61C 7F E5 FB 78 */ mr r5, r31 /* 8017E6C0 0017B620 38 81 00 24 */ addi r4, r1, 0x24 /* 8017E6C4 0017B624 B0 C1 00 24 */ sth r6, 0x24(r1) /* 8017E6C8 0017B628 4B FF D6 B9 */ bl ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017E6CC 0017B62C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017E6D0 0017B630 41 82 00 1C */ beq lbl_8017E6EC /* 8017E6D4 0017B634 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E6D8 0017B638 7F A3 EB 78 */ mr r3, r29 /* 8017E6DC 0017B63C 38 81 00 1C */ addi r4, r1, 0x1c /* 8017E6E0 0017B640 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017E6E4 0017B644 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8017E6E8 0017B648 4B E9 B6 BD */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId lbl_8017E6EC: /* 8017E6EC 0017B64C 7F A3 EB 78 */ mr r3, r29 /* 8017E6F0 0017B650 7F E5 FB 78 */ mr r5, r31 /* 8017E6F4 0017B654 38 80 00 01 */ li r4, 1 /* 8017E6F8 0017B658 4B FF CD 9D */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017E6FC 0017B65C 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E700 0017B660 7F A3 EB 78 */ mr r3, r29 /* 8017E704 0017B664 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E708 0017B668 7F E4 FB 78 */ mr r4, r31 /* 8017E70C 0017B66C 54 00 10 3A */ slwi r0, r0, 2 /* 8017E710 0017B670 7C A5 02 14 */ add r5, r5, r0 /* 8017E714 0017B674 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E718 0017B678 4B FF CF FD */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager lbl_8017E71C: /* 8017E71C 0017B67C 7F A3 EB 78 */ mr r3, r29 /* 8017E720 0017B680 7F C4 F3 78 */ mr r4, r30 /* 8017E724 0017B684 7F E5 FB 78 */ mr r5, r31 /* 8017E728 0017B688 48 00 02 31 */ bl UpdateOrbitSelection__7CPlayerFRC11CFinalInputR13CStateManager /* 8017E72C 0017B68C 48 00 00 34 */ b lbl_8017E760 lbl_8017E730: /* 8017E730 0017B690 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E734 0017B694 7F A3 EB 78 */ mr r3, r29 /* 8017E738 0017B698 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E73C 0017B69C 7F E4 FB 78 */ mr r4, r31 /* 8017E740 0017B6A0 54 00 10 3A */ slwi r0, r0, 2 /* 8017E744 0017B6A4 7C A5 02 14 */ add r5, r5, r0 /* 8017E748 0017B6A8 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E74C 0017B6AC 4B FF CF C9 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E750 0017B6B0 7F A3 EB 78 */ mr r3, r29 /* 8017E754 0017B6B4 7F C4 F3 78 */ mr r4, r30 /* 8017E758 0017B6B8 7F E5 FB 78 */ mr r5, r31 /* 8017E75C 0017B6BC 48 00 01 FD */ bl UpdateOrbitSelection__7CPlayerFRC11CFinalInputR13CStateManager lbl_8017E760: /* 8017E760 0017B6C0 80 1D 03 04 */ lwz r0, 0x304(r29) /* 8017E764 0017B6C4 2C 00 00 05 */ cmpwi r0, 5 /* 8017E768 0017B6C8 40 82 01 60 */ bne lbl_8017E8C8 /* 8017E76C 0017B6CC 7F A4 EB 78 */ mr r4, r29 /* 8017E770 0017B6D0 7F E5 FB 78 */ mr r5, r31 /* 8017E774 0017B6D4 38 61 00 14 */ addi r3, r1, 0x14 /* 8017E778 0017B6D8 4B FF E4 F9 */ bl FindOrbitTargetId__7CPlayerFR13CStateManager /* 8017E77C 0017B6DC A0 01 00 14 */ lhz r0, 0x14(r1) /* 8017E780 0017B6E0 B0 1D 03 3C */ sth r0, 0x33c(r29) /* 8017E784 0017B6E4 A0 7D 03 3C */ lhz r3, 0x33c(r29) /* 8017E788 0017B6E8 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E78C 0017B6EC 7C 03 00 40 */ cmplw r3, r0 /* 8017E790 0017B6F0 40 82 01 38 */ bne lbl_8017E8C8 /* 8017E794 0017B6F4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E798 0017B6F8 B0 1D 03 3C */ sth r0, 0x33c(r29) /* 8017E79C 0017B6FC 48 00 01 2C */ b lbl_8017E8C8 lbl_8017E7A0: /* 8017E7A0 0017B700 80 1D 03 04 */ lwz r0, 0x304(r29) /* 8017E7A4 0017B704 2C 00 00 04 */ cmpwi r0, 4 /* 8017E7A8 0017B708 41 82 00 DC */ beq lbl_8017E884 /* 8017E7AC 0017B70C 40 80 00 1C */ bge lbl_8017E7C8 /* 8017E7B0 0017B710 2C 00 00 01 */ cmpwi r0, 1 /* 8017E7B4 0017B714 41 82 00 20 */ beq lbl_8017E7D4 /* 8017E7B8 0017B718 40 80 01 00 */ bge lbl_8017E8B8 /* 8017E7BC 0017B71C 2C 00 00 00 */ cmpwi r0, 0 /* 8017E7C0 0017B720 40 80 01 08 */ bge lbl_8017E8C8 /* 8017E7C4 0017B724 48 00 00 F4 */ b lbl_8017E8B8 lbl_8017E7C8: /* 8017E7C8 0017B728 2C 00 00 06 */ cmpwi r0, 6 /* 8017E7CC 0017B72C 40 80 00 EC */ bge lbl_8017E8B8 /* 8017E7D0 0017B730 48 00 00 5C */ b lbl_8017E82C lbl_8017E7D4: /* 8017E7D4 0017B734 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E7D8 0017B738 7F E3 FB 78 */ mr r3, r31 /* 8017E7DC 0017B73C 38 81 00 10 */ addi r4, r1, 0x10 /* 8017E7E0 0017B740 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017E7E4 0017B744 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017E7E8 0017B748 4B EC DD BD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017E7EC 0017B74C 7C 64 1B 78 */ mr r4, r3 /* 8017E7F0 0017B750 38 61 00 70 */ addi r3, r1, 0x70 /* 8017E7F4 0017B754 4B F2 B2 D5 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017E7F8 0017B758 80 03 00 04 */ lwz r0, 4(r3) /* 8017E7FC 0017B75C 28 00 00 00 */ cmplwi r0, 0 /* 8017E800 0017B760 41 82 00 18 */ beq lbl_8017E818 /* 8017E804 0017B764 7F A3 EB 78 */ mr r3, r29 /* 8017E808 0017B768 7F E5 FB 78 */ mr r5, r31 /* 8017E80C 0017B76C 38 80 00 03 */ li r4, 3 /* 8017E810 0017B770 4B FF C8 B5 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E814 0017B774 48 00 00 B4 */ b lbl_8017E8C8 lbl_8017E818: /* 8017E818 0017B778 7F A3 EB 78 */ mr r3, r29 /* 8017E81C 0017B77C 7F E5 FB 78 */ mr r5, r31 /* 8017E820 0017B780 38 80 00 00 */ li r4, 0 /* 8017E824 0017B784 4B FF C9 79 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E828 0017B788 48 00 00 A0 */ b lbl_8017E8C8 lbl_8017E82C: /* 8017E82C 0017B78C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017E830 0017B790 88 03 02 D4 */ lbz r0, 0x2d4(r3) /* 8017E834 0017B794 28 00 00 00 */ cmplwi r0, 0 /* 8017E838 0017B798 40 82 00 38 */ bne lbl_8017E870 /* 8017E83C 0017B79C 7F A4 EB 78 */ mr r4, r29 /* 8017E840 0017B7A0 7F E5 FB 78 */ mr r5, r31 /* 8017E844 0017B7A4 38 61 00 08 */ addi r3, r1, 8 /* 8017E848 0017B7A8 4B FF E4 29 */ bl FindOrbitTargetId__7CPlayerFR13CStateManager /* 8017E84C 0017B7AC A0 01 00 08 */ lhz r0, 8(r1) /* 8017E850 0017B7B0 B0 1D 03 3C */ sth r0, 0x33c(r29) /* 8017E854 0017B7B4 A0 7D 03 3C */ lhz r3, 0x33c(r29) /* 8017E858 0017B7B8 A0 1D 03 10 */ lhz r0, 0x310(r29) /* 8017E85C 0017B7BC 7C 03 00 40 */ cmplw r3, r0 /* 8017E860 0017B7C0 40 82 00 68 */ bne lbl_8017E8C8 /* 8017E864 0017B7C4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E868 0017B7C8 B0 1D 03 3C */ sth r0, 0x33c(r29) /* 8017E86C 0017B7CC 48 00 00 5C */ b lbl_8017E8C8 lbl_8017E870: /* 8017E870 0017B7D0 7F A3 EB 78 */ mr r3, r29 /* 8017E874 0017B7D4 7F E5 FB 78 */ mr r5, r31 /* 8017E878 0017B7D8 38 80 00 00 */ li r4, 0 /* 8017E87C 0017B7DC 4B FF C8 49 */ bl BreakGrapple__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E880 0017B7E0 48 00 00 48 */ b lbl_8017E8C8 lbl_8017E884: /* 8017E884 0017B7E4 80 1D 03 08 */ lwz r0, 0x308(r29) /* 8017E888 0017B7E8 7F A3 EB 78 */ mr r3, r29 /* 8017E88C 0017B7EC 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017E890 0017B7F0 7F E4 FB 78 */ mr r4, r31 /* 8017E894 0017B7F4 54 00 10 3A */ slwi r0, r0, 2 /* 8017E898 0017B7F8 7C A5 02 14 */ add r5, r5, r0 /* 8017E89C 0017B7FC C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017E8A0 0017B800 4B FF CE 75 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017E8A4 0017B804 7F A3 EB 78 */ mr r3, r29 /* 8017E8A8 0017B808 7F C4 F3 78 */ mr r4, r30 /* 8017E8AC 0017B80C 7F E5 FB 78 */ mr r5, r31 /* 8017E8B0 0017B810 48 00 00 A9 */ bl UpdateOrbitSelection__7CPlayerFRC11CFinalInputR13CStateManager /* 8017E8B4 0017B814 48 00 00 14 */ b lbl_8017E8C8 lbl_8017E8B8: /* 8017E8B8 0017B818 7F A3 EB 78 */ mr r3, r29 /* 8017E8BC 0017B81C 7F E5 FB 78 */ mr r5, r31 /* 8017E8C0 0017B820 38 80 00 00 */ li r4, 0 /* 8017E8C4 0017B824 4B FF C8 D9 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager lbl_8017E8C8: /* 8017E8C8 0017B828 80 01 00 94 */ lwz r0, 0x94(r1) /* 8017E8CC 0017B82C 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 8017E8D0 0017B830 83 C1 00 88 */ lwz r30, 0x88(r1) /* 8017E8D4 0017B834 83 A1 00 84 */ lwz r29, 0x84(r1) /* 8017E8D8 0017B838 7C 08 03 A6 */ mtlr r0 /* 8017E8DC 0017B83C 38 21 00 90 */ addi r1, r1, 0x90 /* 8017E8E0 0017B840 4E 80 00 20 */ blr .global ActivateOrbitSource__7CPlayerFR13CStateManager ActivateOrbitSource__7CPlayerFR13CStateManager: /* 8017E8E4 0017B844 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017E8E8 0017B848 7C 08 02 A6 */ mflr r0 /* 8017E8EC 0017B84C 90 01 00 14 */ stw r0, 0x14(r1) /* 8017E8F0 0017B850 80 03 03 90 */ lwz r0, 0x390(r3) /* 8017E8F4 0017B854 2C 00 00 01 */ cmpwi r0, 1 /* 8017E8F8 0017B858 41 82 00 20 */ beq lbl_8017E918 /* 8017E8FC 0017B85C 40 80 00 08 */ bge lbl_8017E904 /* 8017E900 0017B860 48 00 00 10 */ b lbl_8017E910 lbl_8017E904: /* 8017E904 0017B864 2C 00 00 03 */ cmpwi r0, 3 /* 8017E908 0017B868 40 80 00 08 */ bge lbl_8017E910 /* 8017E90C 0017B86C 48 00 00 1C */ b lbl_8017E928 lbl_8017E910: /* 8017E910 0017B870 4B FF C9 ED */ bl OrbitCarcass__7CPlayerFR13CStateManager /* 8017E914 0017B874 48 00 00 34 */ b lbl_8017E948 lbl_8017E918: /* 8017E918 0017B878 7C 85 23 78 */ mr r5, r4 /* 8017E91C 0017B87C 38 80 00 06 */ li r4, 6 /* 8017E920 0017B880 4B FF C8 7D */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017E924 0017B884 48 00 00 24 */ b lbl_8017E948 lbl_8017E928: /* 8017E928 0017B888 88 03 03 94 */ lbz r0, 0x394(r3) /* 8017E92C 0017B88C 28 00 00 00 */ cmplwi r0, 0 /* 8017E930 0017B890 41 82 00 14 */ beq lbl_8017E944 /* 8017E934 0017B894 7C 85 23 78 */ mr r5, r4 /* 8017E938 0017B898 38 80 00 01 */ li r4, 1 /* 8017E93C 0017B89C 4B FF C9 FD */ bl OrbitPoint__7CPlayerFQ27CPlayer16EPlayerOrbitTypeR13CStateManager /* 8017E940 0017B8A0 48 00 00 08 */ b lbl_8017E948 lbl_8017E944: /* 8017E944 0017B8A4 4B FF C9 B9 */ bl OrbitCarcass__7CPlayerFR13CStateManager lbl_8017E948: /* 8017E948 0017B8A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8017E94C 0017B8AC 7C 08 03 A6 */ mtlr r0 /* 8017E950 0017B8B0 38 21 00 10 */ addi r1, r1, 0x10 /* 8017E954 0017B8B4 4E 80 00 20 */ blr .global UpdateOrbitSelection__7CPlayerFRC11CFinalInputR13CStateManager UpdateOrbitSelection__7CPlayerFRC11CFinalInputR13CStateManager: /* 8017E958 0017B8B8 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8017E95C 0017B8BC 7C 08 02 A6 */ mflr r0 /* 8017E960 0017B8C0 90 01 00 54 */ stw r0, 0x54(r1) /* 8017E964 0017B8C4 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8017E968 0017B8C8 7C BF 2B 78 */ mr r31, r5 /* 8017E96C 0017B8CC 93 C1 00 48 */ stw r30, 0x48(r1) /* 8017E970 0017B8D0 7C 7E 1B 78 */ mr r30, r3 /* 8017E974 0017B8D4 38 61 00 24 */ addi r3, r1, 0x24 /* 8017E978 0017B8D8 93 A1 00 44 */ stw r29, 0x44(r1) /* 8017E97C 0017B8DC 93 81 00 40 */ stw r28, 0x40(r1) /* 8017E980 0017B8E0 7C 9C 23 78 */ mr r28, r4 /* 8017E984 0017B8E4 7F C4 F3 78 */ mr r4, r30 /* 8017E988 0017B8E8 4B FF E2 E9 */ bl FindOrbitTargetId__7CPlayerFR13CStateManager /* 8017E98C 0017B8EC A0 01 00 24 */ lhz r0, 0x24(r1) /* 8017E990 0017B8F0 7F E3 FB 78 */ mr r3, r31 /* 8017E994 0017B8F4 38 81 00 20 */ addi r4, r1, 0x20 /* 8017E998 0017B8F8 B0 1E 03 3C */ sth r0, 0x33c(r30) /* 8017E99C 0017B8FC A0 1E 03 10 */ lhz r0, 0x310(r30) /* 8017E9A0 0017B900 B0 01 00 20 */ sth r0, 0x20(r1) /* 8017E9A4 0017B904 4B EC DC 01 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017E9A8 0017B908 7C 64 1B 78 */ mr r4, r3 /* 8017E9AC 0017B90C 38 61 00 30 */ addi r3, r1, 0x30 /* 8017E9B0 0017B910 4B F2 B1 19 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017E9B4 0017B914 83 A3 00 04 */ lwz r29, 4(r3) /* 8017E9B8 0017B918 7F E3 FB 78 */ mr r3, r31 /* 8017E9BC 0017B91C A0 1E 03 3C */ lhz r0, 0x33c(r30) /* 8017E9C0 0017B920 38 81 00 1C */ addi r4, r1, 0x1c /* 8017E9C4 0017B924 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8017E9C8 0017B928 4B EC DB DD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017E9CC 0017B92C 7C 64 1B 78 */ mr r4, r3 /* 8017E9D0 0017B930 38 61 00 28 */ addi r3, r1, 0x28 /* 8017E9D4 0017B934 4B F2 B0 F5 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017E9D8 0017B938 28 1D 00 00 */ cmplwi r29, 0 /* 8017E9DC 0017B93C 80 63 00 04 */ lwz r3, 4(r3) /* 8017E9E0 0017B940 40 82 00 18 */ bne lbl_8017E9F8 /* 8017E9E4 0017B944 80 1E 03 04 */ lwz r0, 0x304(r30) /* 8017E9E8 0017B948 2C 00 00 05 */ cmpwi r0, 5 /* 8017E9EC 0017B94C 40 82 00 18 */ bne lbl_8017EA04 /* 8017E9F0 0017B950 28 03 00 00 */ cmplwi r3, 0 /* 8017E9F4 0017B954 40 82 00 10 */ bne lbl_8017EA04 lbl_8017E9F8: /* 8017E9F8 0017B958 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017E9FC 0017B95C B0 1E 03 3C */ sth r0, 0x33c(r30) /* 8017EA00 0017B960 48 00 00 AC */ b lbl_8017EAAC lbl_8017EA04: /* 8017EA04 0017B964 7F 84 E3 78 */ mr r4, r28 /* 8017EA08 0017B968 38 60 00 1A */ li r3, 0x1a /* 8017EA0C 0017B96C 4B E8 DD C5 */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8017EA10 0017B970 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017EA14 0017B974 41 82 00 98 */ beq lbl_8017EAAC /* 8017EA18 0017B978 A0 7E 03 3C */ lhz r3, 0x33c(r30) /* 8017EA1C 0017B97C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017EA20 0017B980 7C 03 00 40 */ cmplw r3, r0 /* 8017EA24 0017B984 41 82 00 88 */ beq lbl_8017EAAC /* 8017EA28 0017B988 A0 1E 03 3C */ lhz r0, 0x33c(r30) /* 8017EA2C 0017B98C 7F C3 F3 78 */ mr r3, r30 /* 8017EA30 0017B990 7F E5 FB 78 */ mr r5, r31 /* 8017EA34 0017B994 38 81 00 18 */ addi r4, r1, 0x18 /* 8017EA38 0017B998 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017EA3C 0017B99C 4B FF CB B1 */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017EA40 0017B9A0 A0 1E 03 10 */ lhz r0, 0x310(r30) /* 8017EA44 0017B9A4 7F C3 F3 78 */ mr r3, r30 /* 8017EA48 0017B9A8 7F E5 FB 78 */ mr r5, r31 /* 8017EA4C 0017B9AC 38 81 00 14 */ addi r4, r1, 0x14 /* 8017EA50 0017B9B0 B0 01 00 10 */ sth r0, 0x10(r1) /* 8017EA54 0017B9B4 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017EA58 0017B9B8 4B FF D3 29 */ bl ValidateAimTargetId__7CPlayerF9TUniqueIdR13CStateManager /* 8017EA5C 0017B9BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017EA60 0017B9C0 41 82 00 1C */ beq lbl_8017EA7C /* 8017EA64 0017B9C4 A0 1E 03 10 */ lhz r0, 0x310(r30) /* 8017EA68 0017B9C8 7F C3 F3 78 */ mr r3, r30 /* 8017EA6C 0017B9CC 38 81 00 0C */ addi r4, r1, 0xc /* 8017EA70 0017B9D0 B0 01 00 08 */ sth r0, 8(r1) /* 8017EA74 0017B9D4 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017EA78 0017B9D8 4B E9 B3 2D */ bl ResetAimTargetPrediction__7CPlayerF9TUniqueId lbl_8017EA7C: /* 8017EA7C 0017B9DC 7F C3 F3 78 */ mr r3, r30 /* 8017EA80 0017B9E0 7F E5 FB 78 */ mr r5, r31 /* 8017EA84 0017B9E4 38 80 00 01 */ li r4, 1 /* 8017EA88 0017B9E8 4B FF CA 0D */ bl SetOrbitState__7CPlayerFQ27CPlayer17EPlayerOrbitStateR13CStateManager /* 8017EA8C 0017B9EC 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017EA90 0017B9F0 7F C3 F3 78 */ mr r3, r30 /* 8017EA94 0017B9F4 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017EA98 0017B9F8 7F E4 FB 78 */ mr r4, r31 /* 8017EA9C 0017B9FC 54 00 10 3A */ slwi r0, r0, 2 /* 8017EAA0 0017BA00 7C A5 02 14 */ add r5, r5, r0 /* 8017EAA4 0017BA04 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017EAA8 0017BA08 4B FF CC 6D */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager lbl_8017EAAC: /* 8017EAAC 0017BA0C 80 01 00 54 */ lwz r0, 0x54(r1) /* 8017EAB0 0017BA10 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8017EAB4 0017BA14 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8017EAB8 0017BA18 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8017EABC 0017BA1C 83 81 00 40 */ lwz r28, 0x40(r1) /* 8017EAC0 0017BA20 7C 08 03 A6 */ mtlr r0 /* 8017EAC4 0017BA24 38 21 00 50 */ addi r1, r1, 0x50 /* 8017EAC8 0017BA28 4E 80 00 20 */ blr .global UpdateOrbitOrientation__7CPlayerFR13CStateManager UpdateOrbitOrientation__7CPlayerFR13CStateManager: /* 8017EACC 0017BA2C 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8017EAD0 0017BA30 7C 08 02 A6 */ mflr r0 /* 8017EAD4 0017BA34 90 01 00 84 */ stw r0, 0x84(r1) /* 8017EAD8 0017BA38 93 E1 00 7C */ stw r31, 0x7c(r1) /* 8017EADC 0017BA3C 7C 7F 1B 78 */ mr r31, r3 /* 8017EAE0 0017BA40 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 8017EAE4 0017BA44 2C 00 00 00 */ cmpwi r0, 0 /* 8017EAE8 0017BA48 40 82 01 2C */ bne lbl_8017EC14 /* 8017EAEC 0017BA4C 80 1F 03 04 */ lwz r0, 0x304(r31) /* 8017EAF0 0017BA50 2C 00 00 02 */ cmpwi r0, 2 /* 8017EAF4 0017BA54 41 82 00 2C */ beq lbl_8017EB20 /* 8017EAF8 0017BA58 40 80 00 14 */ bge lbl_8017EB0C /* 8017EAFC 0017BA5C 2C 00 00 00 */ cmpwi r0, 0 /* 8017EB00 0017BA60 41 82 01 14 */ beq lbl_8017EC14 /* 8017EB04 0017BA64 40 80 00 28 */ bge lbl_8017EB2C /* 8017EB08 0017BA68 48 00 01 0C */ b lbl_8017EC14 lbl_8017EB0C: /* 8017EB0C 0017BA6C 2C 00 00 05 */ cmpwi r0, 5 /* 8017EB10 0017BA70 41 82 01 04 */ beq lbl_8017EC14 /* 8017EB14 0017BA74 40 80 01 00 */ bge lbl_8017EC14 /* 8017EB18 0017BA78 48 00 00 14 */ b lbl_8017EB2C /* 8017EB1C 0017BA7C 48 00 00 F8 */ b lbl_8017EC14 lbl_8017EB20: /* 8017EB20 0017BA80 88 1F 03 DC */ lbz r0, 0x3dc(r31) /* 8017EB24 0017BA84 28 00 00 00 */ cmplwi r0, 0 /* 8017EB28 0017BA88 40 82 00 EC */ bne lbl_8017EC14 lbl_8017EB2C: /* 8017EB2C 0017BA8C C0 3F 03 18 */ lfs f1, 0x318(r31) /* 8017EB30 0017BA90 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 8017EB34 0017BA94 C0 7F 03 1C */ lfs f3, 0x31c(r31) /* 8017EB38 0017BA98 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8017EB3C 0017BA9C EC 81 00 28 */ fsubs f4, f1, f0 /* 8017EB40 0017BAA0 C0 3F 03 14 */ lfs f1, 0x314(r31) /* 8017EB44 0017BAA4 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8017EB48 0017BAA8 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017EB4C 0017BAAC EC 01 00 28 */ fsubs f0, f1, f0 /* 8017EB50 0017BAB0 D0 81 00 0C */ stfs f4, 0xc(r1) /* 8017EB54 0017BAB4 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8017EB58 0017BAB8 D0 01 00 08 */ stfs f0, 8(r1) /* 8017EB5C 0017BABC 88 1F 03 74 */ lbz r0, 0x374(r31) /* 8017EB60 0017BAC0 28 00 00 00 */ cmplwi r0, 0 /* 8017EB64 0017BAC4 40 82 00 24 */ bne lbl_8017EB88 /* 8017EB68 0017BAC8 80 64 08 70 */ lwz r3, 0x870(r4) /* 8017EB6C 0017BACC 80 63 00 7C */ lwz r3, 0x7c(r3) /* 8017EB70 0017BAD0 C0 43 00 58 */ lfs f2, 0x58(r3) /* 8017EB74 0017BAD4 C0 23 00 48 */ lfs f1, 0x48(r3) /* 8017EB78 0017BAD8 C0 03 00 38 */ lfs f0, 0x38(r3) /* 8017EB7C 0017BADC D0 01 00 08 */ stfs f0, 8(r1) /* 8017EB80 0017BAE0 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8017EB84 0017BAE4 D0 41 00 10 */ stfs f2, 0x10(r1) lbl_8017EB88: /* 8017EB88 0017BAE8 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017EB8C 0017BAEC 38 61 00 08 */ addi r3, r1, 8 /* 8017EB90 0017BAF0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8017EB94 0017BAF4 48 19 5B 65 */ bl CanBeNormalized__9CVector3fCFv /* 8017EB98 0017BAF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017EB9C 0017BAFC 41 82 00 78 */ beq lbl_8017EC14 /* 8017EBA0 0017BB00 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8017EBA4 0017BB04 3C A0 80 5A */ lis r5, sUpVector__9CVector3f@ha /* 8017EBA8 0017BB08 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l /* 8017EBAC 0017BB0C 38 C5 66 F4 */ addi r6, r5, sUpVector__9CVector3f@l /* 8017EBB0 0017BB10 38 61 00 14 */ addi r3, r1, 0x14 /* 8017EBB4 0017BB14 38 A1 00 08 */ addi r5, r1, 8 /* 8017EBB8 0017BB18 48 19 4F 59 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8017EBBC 0017BB1C 38 61 00 44 */ addi r3, r1, 0x44 /* 8017EBC0 0017BB20 38 81 00 14 */ addi r4, r1, 0x14 /* 8017EBC4 0017BB24 48 19 3F B1 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8017EBC8 0017BB28 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8017EBCC 0017BB2C 38 7F 00 34 */ addi r3, r31, 0x34 /* 8017EBD0 0017BB30 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 8017EBD4 0017BB34 38 81 00 44 */ addi r4, r1, 0x44 /* 8017EBD8 0017BB38 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8017EBDC 0017BB3C D0 01 00 50 */ stfs f0, 0x50(r1) /* 8017EBE0 0017BB40 D0 21 00 60 */ stfs f1, 0x60(r1) /* 8017EBE4 0017BB44 D0 41 00 70 */ stfs f2, 0x70(r1) /* 8017EBE8 0017BB48 48 19 3F 59 */ bl __as__12CTransform4fFRC12CTransform4f /* 8017EBEC 0017BB4C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 8017EBF0 0017BB50 38 60 00 01 */ li r3, 1 /* 8017EBF4 0017BB54 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8017EBF8 0017BB58 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 8017EBFC 0017BB5C 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 8017EC00 0017BB60 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8017EC04 0017BB64 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 8017EC08 0017BB68 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 8017EC0C 0017BB6C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8017EC10 0017BB70 98 1F 00 E4 */ stb r0, 0xe4(r31) lbl_8017EC14: /* 8017EC14 0017BB74 80 01 00 84 */ lwz r0, 0x84(r1) /* 8017EC18 0017BB78 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 8017EC1C 0017BB7C 7C 08 03 A6 */ mtlr r0 /* 8017EC20 0017BB80 38 21 00 80 */ addi r1, r1, 0x80 /* 8017EC24 0017BB84 4E 80 00 20 */ blr .global UpdateOrbitTarget__7CPlayerFR13CStateManager UpdateOrbitTarget__7CPlayerFR13CStateManager: /* 8017EC28 0017BB88 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8017EC2C 0017BB8C 7C 08 02 A6 */ mflr r0 /* 8017EC30 0017BB90 90 01 00 74 */ stw r0, 0x74(r1) /* 8017EC34 0017BB94 DB E1 00 60 */ stfd f31, 0x60(r1) /* 8017EC38 0017BB98 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8017EC3C 0017BB9C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8017EC40 0017BBA0 93 C1 00 58 */ stw r30, 0x58(r1) /* 8017EC44 0017BBA4 7C 7E 1B 78 */ mr r30, r3 /* 8017EC48 0017BBA8 7C 9F 23 78 */ mr r31, r4 /* 8017EC4C 0017BBAC A0 03 03 10 */ lhz r0, 0x310(r3) /* 8017EC50 0017BBB0 7F E5 FB 78 */ mr r5, r31 /* 8017EC54 0017BBB4 38 81 00 28 */ addi r4, r1, 0x28 /* 8017EC58 0017BBB8 B0 01 00 24 */ sth r0, 0x24(r1) /* 8017EC5C 0017BBBC B0 01 00 28 */ sth r0, 0x28(r1) /* 8017EC60 0017BBC0 48 00 0C B1 */ bl ValidateOrbitTargetIdAndPointer__7CPlayerCF9TUniqueIdR13CStateManager /* 8017EC64 0017BBC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017EC68 0017BBC8 40 82 00 1C */ bne lbl_8017EC84 /* 8017EC6C 0017BBCC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017EC70 0017BBD0 7F C3 F3 78 */ mr r3, r30 /* 8017EC74 0017BBD4 7F E5 FB 78 */ mr r5, r31 /* 8017EC78 0017BBD8 38 81 00 20 */ addi r4, r1, 0x20 /* 8017EC7C 0017BBDC B0 01 00 20 */ sth r0, 0x20(r1) /* 8017EC80 0017BBE0 4B FF C9 6D */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager lbl_8017EC84: /* 8017EC84 0017BBE4 A0 1E 03 3C */ lhz r0, 0x33c(r30) /* 8017EC88 0017BBE8 7F C3 F3 78 */ mr r3, r30 /* 8017EC8C 0017BBEC 7F E5 FB 78 */ mr r5, r31 /* 8017EC90 0017BBF0 38 81 00 1C */ addi r4, r1, 0x1c /* 8017EC94 0017BBF4 B0 01 00 18 */ sth r0, 0x18(r1) /* 8017EC98 0017BBF8 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8017EC9C 0017BBFC 48 00 0C 75 */ bl ValidateOrbitTargetIdAndPointer__7CPlayerCF9TUniqueIdR13CStateManager /* 8017ECA0 0017BC00 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017ECA4 0017BC04 40 82 00 10 */ bne lbl_8017ECB4 /* 8017ECA8 0017BC08 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017ECAC 0017BC0C B0 01 00 14 */ sth r0, 0x14(r1) /* 8017ECB0 0017BC10 B0 1E 03 3C */ sth r0, 0x33c(r30) lbl_8017ECB4: /* 8017ECB4 0017BC14 C0 3E 03 1C */ lfs f1, 0x31c(r30) /* 8017ECB8 0017BC18 38 61 00 44 */ addi r3, r1, 0x44 /* 8017ECBC 0017BC1C C0 1E 00 60 */ lfs f0, 0x60(r30) /* 8017ECC0 0017BC20 C0 9E 03 18 */ lfs f4, 0x318(r30) /* 8017ECC4 0017BC24 C0 7E 00 50 */ lfs f3, 0x50(r30) /* 8017ECC8 0017BC28 EC A1 00 28 */ fsubs f5, f1, f0 /* 8017ECCC 0017BC2C C0 5E 03 14 */ lfs f2, 0x314(r30) /* 8017ECD0 0017BC30 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 8017ECD4 0017BC34 EC 64 18 28 */ fsubs f3, f4, f3 /* 8017ECD8 0017BC38 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017ECDC 0017BC3C EC 22 08 28 */ fsubs f1, f2, f1 /* 8017ECE0 0017BC40 D0 A1 00 4C */ stfs f5, 0x4c(r1) /* 8017ECE4 0017BC44 D0 61 00 48 */ stfs f3, 0x48(r1) /* 8017ECE8 0017BC48 D0 21 00 44 */ stfs f1, 0x44(r1) /* 8017ECEC 0017BC4C D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8017ECF0 0017BC50 48 19 5B C9 */ bl Magnitude__9CVector3fCFv /* 8017ECF4 0017BC54 80 1E 03 04 */ lwz r0, 0x304(r30) /* 8017ECF8 0017BC58 FF E0 08 90 */ fmr f31, f1 /* 8017ECFC 0017BC5C 2C 00 00 02 */ cmpwi r0, 2 /* 8017ED00 0017BC60 41 82 00 D0 */ beq lbl_8017EDD0 /* 8017ED04 0017BC64 40 80 00 14 */ bge lbl_8017ED18 /* 8017ED08 0017BC68 2C 00 00 00 */ cmpwi r0, 0 /* 8017ED0C 0017BC6C 41 82 02 E8 */ beq lbl_8017EFF4 /* 8017ED10 0017BC70 40 80 00 1C */ bge lbl_8017ED2C /* 8017ED14 0017BC74 48 00 02 F8 */ b lbl_8017F00C lbl_8017ED18: /* 8017ED18 0017BC78 2C 00 00 06 */ cmpwi r0, 6 /* 8017ED1C 0017BC7C 40 80 02 F0 */ bge lbl_8017F00C /* 8017ED20 0017BC80 2C 00 00 04 */ cmpwi r0, 4 /* 8017ED24 0017BC84 40 80 02 E8 */ bge lbl_8017F00C /* 8017ED28 0017BC88 48 00 02 30 */ b lbl_8017EF58 lbl_8017ED2C: /* 8017ED2C 0017BC8C A0 1E 03 10 */ lhz r0, 0x310(r30) /* 8017ED30 0017BC90 7F E3 FB 78 */ mr r3, r31 /* 8017ED34 0017BC94 38 81 00 10 */ addi r4, r1, 0x10 /* 8017ED38 0017BC98 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017ED3C 0017BC9C B0 01 00 10 */ sth r0, 0x10(r1) /* 8017ED40 0017BCA0 4B EC D8 65 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017ED44 0017BCA4 28 03 00 00 */ cmplwi r3, 0 /* 8017ED48 0017BCA8 41 82 00 64 */ beq lbl_8017EDAC /* 8017ED4C 0017BCAC 88 03 00 E7 */ lbz r0, 0xe7(r3) /* 8017ED50 0017BCB0 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8017ED54 0017BCB4 41 82 00 58 */ beq lbl_8017EDAC /* 8017ED58 0017BCB8 7F C3 F3 78 */ mr r3, r30 /* 8017ED5C 0017BCBC 7F E4 FB 78 */ mr r4, r31 /* 8017ED60 0017BCC0 48 00 02 D5 */ bl GetOrbitMaxLockDistance__7CPlayerCFRC13CStateManager /* 8017ED64 0017BCC4 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 8017ED68 0017BCC8 4C 41 13 82 */ cror 2, 1, 2 /* 8017ED6C 0017BCCC 41 82 00 10 */ beq lbl_8017ED7C /* 8017ED70 0017BCD0 C0 02 A2 68 */ lfs f0, lbl_805ABF88@sda21(r2) /* 8017ED74 0017BCD4 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8017ED78 0017BCD8 40 80 00 34 */ bge lbl_8017EDAC lbl_8017ED7C: /* 8017ED7C 0017BCDC C0 02 A2 68 */ lfs f0, lbl_805ABF88@sda21(r2) /* 8017ED80 0017BCE0 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8017ED84 0017BCE4 40 80 00 18 */ bge lbl_8017ED9C /* 8017ED88 0017BCE8 7F C3 F3 78 */ mr r3, r30 /* 8017ED8C 0017BCEC 7F E5 FB 78 */ mr r5, r31 /* 8017ED90 0017BCF0 38 80 00 07 */ li r4, 7 /* 8017ED94 0017BCF4 4B FF C4 09 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017ED98 0017BCF8 48 00 02 74 */ b lbl_8017F00C lbl_8017ED9C: /* 8017ED9C 0017BCFC 7F C3 F3 78 */ mr r3, r30 /* 8017EDA0 0017BD00 7F E4 FB 78 */ mr r4, r31 /* 8017EDA4 0017BD04 4B FF FB 41 */ bl ActivateOrbitSource__7CPlayerFR13CStateManager /* 8017EDA8 0017BD08 48 00 02 64 */ b lbl_8017F00C lbl_8017EDAC: /* 8017EDAC 0017BD0C 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017EDB0 0017BD10 7F C3 F3 78 */ mr r3, r30 /* 8017EDB4 0017BD14 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017EDB8 0017BD18 7F E4 FB 78 */ mr r4, r31 /* 8017EDBC 0017BD1C 54 00 10 3A */ slwi r0, r0, 2 /* 8017EDC0 0017BD20 7C A5 02 14 */ add r5, r5, r0 /* 8017EDC4 0017BD24 C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017EDC8 0017BD28 4B FF C9 4D */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017EDCC 0017BD2C 48 00 02 40 */ b lbl_8017F00C lbl_8017EDD0: /* 8017EDD0 0017BD30 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017EDD4 0017BD34 88 03 02 29 */ lbz r0, 0x229(r3) /* 8017EDD8 0017BD38 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 8017EDDC 0017BD3C 41 82 00 28 */ beq lbl_8017EE04 /* 8017EDE0 0017BD40 C0 3E 03 28 */ lfs f1, 0x328(r30) /* 8017EDE4 0017BD44 C0 03 01 E8 */ lfs f0, 0x1e8(r3) /* 8017EDE8 0017BD48 FC 20 0A 10 */ fabs f1, f1 /* 8017EDEC 0017BD4C FC 20 08 18 */ frsp f1, f1 /* 8017EDF0 0017BD50 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017EDF4 0017BD54 40 81 00 10 */ ble lbl_8017EE04 /* 8017EDF8 0017BD58 7F C3 F3 78 */ mr r3, r30 /* 8017EDFC 0017BD5C 4B FF CA 79 */ bl UpdateOrbitFixedPosition__7CPlayerFv /* 8017EE00 0017BD60 48 00 02 14 */ b lbl_8017F014 lbl_8017EE04: /* 8017EE04 0017BD64 80 9E 03 08 */ lwz r4, 0x308(r30) /* 8017EE08 0017BD68 7F C3 F3 78 */ mr r3, r30 /* 8017EE0C 0017BD6C 4B FF C5 8D */ bl CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType /* 8017EE10 0017BD70 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 8017EE14 0017BD74 40 80 00 1C */ bge lbl_8017EE30 /* 8017EE18 0017BD78 80 9E 03 08 */ lwz r4, 0x308(r30) /* 8017EE1C 0017BD7C 7F C3 F3 78 */ mr r3, r30 /* 8017EE20 0017BD80 4B FF C5 79 */ bl CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType /* 8017EE24 0017BD84 7F C3 F3 78 */ mr r3, r30 /* 8017EE28 0017BD88 7F E4 FB 78 */ mr r4, r31 /* 8017EE2C 0017BD8C 4B FF C8 E9 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager lbl_8017EE30: /* 8017EE30 0017BD90 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017EE34 0017BD94 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017EE38 0017BD98 54 00 10 3A */ slwi r0, r0, 2 /* 8017EE3C 0017BD9C 7C 63 02 14 */ add r3, r3, r0 /* 8017EE40 0017BDA0 C0 23 01 70 */ lfs f1, 0x170(r3) /* 8017EE44 0017BDA4 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 8017EE48 0017BDA8 40 81 00 10 */ ble lbl_8017EE58 /* 8017EE4C 0017BDAC 7F C3 F3 78 */ mr r3, r30 /* 8017EE50 0017BDB0 7F E4 FB 78 */ mr r4, r31 /* 8017EE54 0017BDB4 4B FF C8 C1 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager lbl_8017EE58: /* 8017EE58 0017BDB8 88 1E 03 DD */ lbz r0, 0x3dd(r30) /* 8017EE5C 0017BDBC 28 00 00 00 */ cmplwi r0, 0 /* 8017EE60 0017BDC0 41 82 00 24 */ beq lbl_8017EE84 /* 8017EE64 0017BDC4 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017EE68 0017BDC8 7F C3 F3 78 */ mr r3, r30 /* 8017EE6C 0017BDCC 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8017EE70 0017BDD0 7F E4 FB 78 */ mr r4, r31 /* 8017EE74 0017BDD4 54 00 10 3A */ slwi r0, r0, 2 /* 8017EE78 0017BDD8 7C A5 02 14 */ add r5, r5, r0 /* 8017EE7C 0017BDDC C0 25 01 64 */ lfs f1, 0x164(r5) /* 8017EE80 0017BDE0 4B FF CA 99 */ bl SetOrbitPosition__7CPlayerFfR13CStateManager lbl_8017EE84: /* 8017EE84 0017BDE4 7F C4 F3 78 */ mr r4, r30 /* 8017EE88 0017BDE8 38 61 00 2C */ addi r3, r1, 0x2c /* 8017EE8C 0017BDEC 48 10 5E F1 */ bl GetEyePosition__7CPlayerCFv /* 8017EE90 0017BDF0 C0 3E 03 1C */ lfs f1, 0x31c(r30) /* 8017EE94 0017BDF4 38 61 00 38 */ addi r3, r1, 0x38 /* 8017EE98 0017BDF8 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8017EE9C 0017BDFC C0 7E 03 18 */ lfs f3, 0x318(r30) /* 8017EEA0 0017BE00 C0 41 00 30 */ lfs f2, 0x30(r1) /* 8017EEA4 0017BE04 EC 81 00 28 */ fsubs f4, f1, f0 /* 8017EEA8 0017BE08 C0 3E 03 14 */ lfs f1, 0x314(r30) /* 8017EEAC 0017BE0C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8017EEB0 0017BE10 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017EEB4 0017BE14 FF E0 22 10 */ fabs f31, f4 /* 8017EEB8 0017BE18 D0 81 00 40 */ stfs f4, 0x40(r1) /* 8017EEBC 0017BE1C EC 01 00 28 */ fsubs f0, f1, f0 /* 8017EEC0 0017BE20 D0 41 00 3C */ stfs f2, 0x3c(r1) /* 8017EEC4 0017BE24 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8017EEC8 0017BE28 48 19 59 F1 */ bl Magnitude__9CVector3fCFv /* 8017EECC 0017BE2C FC 40 F8 18 */ frsp f2, f31 /* 8017EED0 0017BE30 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 8017EED4 0017BE34 EC 22 08 24 */ fdivs f1, f2, f1 /* 8017EED8 0017BE38 FC 40 0A 10 */ fabs f2, f1 /* 8017EEDC 0017BE3C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017EEE0 0017BE40 40 81 00 14 */ ble lbl_8017EEF4 /* 8017EEE4 0017BE44 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 8017EEE8 0017BE48 C0 42 A2 4C */ lfs f2, lbl_805ABF6C@sda21(r2) /* 8017EEEC 0017BE4C FC 01 00 AE */ fsel f0, f1, f2, f0 /* 8017EEF0 0017BE50 EC 22 00 32 */ fmuls f1, f2, f0 lbl_8017EEF4: /* 8017EEF4 0017BE54 48 21 5D 59 */ bl asin /* 8017EEF8 0017BE58 C0 41 00 40 */ lfs f2, 0x40(r1) /* 8017EEFC 0017BE5C FC 20 08 18 */ frsp f1, f1 /* 8017EF00 0017BE60 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017EF04 0017BE64 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017EF08 0017BE68 4C 41 13 82 */ cror 2, 1, 2 /* 8017EF0C 0017BE6C 40 82 00 18 */ bne lbl_8017EF24 /* 8017EF10 0017BE70 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017EF14 0017BE74 C0 03 01 88 */ lfs f0, 0x188(r3) /* 8017EF18 0017BE78 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017EF1C 0017BE7C 4C 41 13 82 */ cror 2, 1, 2 /* 8017EF20 0017BE80 41 82 00 24 */ beq lbl_8017EF44 lbl_8017EF24: /* 8017EF24 0017BE84 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017EF28 0017BE88 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017EF2C 0017BE8C 40 80 00 E0 */ bge lbl_8017F00C /* 8017EF30 0017BE90 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017EF34 0017BE94 C0 03 01 8C */ lfs f0, 0x18c(r3) /* 8017EF38 0017BE98 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017EF3C 0017BE9C 4C 41 13 82 */ cror 2, 1, 2 /* 8017EF40 0017BEA0 40 82 00 CC */ bne lbl_8017F00C lbl_8017EF44: /* 8017EF44 0017BEA4 7F C3 F3 78 */ mr r3, r30 /* 8017EF48 0017BEA8 7F E5 FB 78 */ mr r5, r31 /* 8017EF4C 0017BEAC 38 80 00 07 */ li r4, 7 /* 8017EF50 0017BEB0 4B FF C2 4D */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 8017EF54 0017BEB4 48 00 00 B8 */ b lbl_8017F00C lbl_8017EF58: /* 8017EF58 0017BEB8 88 1E 03 DD */ lbz r0, 0x3dd(r30) /* 8017EF5C 0017BEBC 28 00 00 00 */ cmplwi r0, 0 /* 8017EF60 0017BEC0 41 82 00 14 */ beq lbl_8017EF74 /* 8017EF64 0017BEC4 C0 3E 03 40 */ lfs f1, 0x340(r30) /* 8017EF68 0017BEC8 7F C3 F3 78 */ mr r3, r30 /* 8017EF6C 0017BECC 7F E4 FB 78 */ mr r4, r31 /* 8017EF70 0017BED0 4B FF C9 A9 */ bl SetOrbitPosition__7CPlayerFfR13CStateManager lbl_8017EF74: /* 8017EF74 0017BED4 80 9E 03 08 */ lwz r4, 0x308(r30) /* 8017EF78 0017BED8 7F C3 F3 78 */ mr r3, r30 /* 8017EF7C 0017BEDC 4B FF C4 1D */ bl CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType /* 8017EF80 0017BEE0 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 8017EF84 0017BEE4 40 80 00 2C */ bge lbl_8017EFB0 /* 8017EF88 0017BEE8 80 9E 03 08 */ lwz r4, 0x308(r30) /* 8017EF8C 0017BEEC 7F C3 F3 78 */ mr r3, r30 /* 8017EF90 0017BEF0 4B FF C4 09 */ bl CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType /* 8017EF94 0017BEF4 7F C3 F3 78 */ mr r3, r30 /* 8017EF98 0017BEF8 7F E4 FB 78 */ mr r4, r31 /* 8017EF9C 0017BEFC 4B FF C7 79 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017EFA0 0017BF00 80 9E 03 08 */ lwz r4, 0x308(r30) /* 8017EFA4 0017BF04 7F C3 F3 78 */ mr r3, r30 /* 8017EFA8 0017BF08 4B FF C3 F1 */ bl CalculateOrbitZBasedDistance__7CPlayerF16EPlayerOrbitType /* 8017EFAC 0017BF0C D0 3E 03 40 */ stfs f1, 0x340(r30) lbl_8017EFB0: /* 8017EFB0 0017BF10 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017EFB4 0017BF14 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017EFB8 0017BF18 54 00 10 3A */ slwi r0, r0, 2 /* 8017EFBC 0017BF1C 7C 63 02 14 */ add r3, r3, r0 /* 8017EFC0 0017BF20 C0 23 01 70 */ lfs f1, 0x170(r3) /* 8017EFC4 0017BF24 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 8017EFC8 0017BF28 40 81 00 44 */ ble lbl_8017F00C /* 8017EFCC 0017BF2C 7F C3 F3 78 */ mr r3, r30 /* 8017EFD0 0017BF30 7F E4 FB 78 */ mr r4, r31 /* 8017EFD4 0017BF34 4B FF C7 41 */ bl UpdateOrbitPosition__7CPlayerFfR13CStateManager /* 8017EFD8 0017BF38 80 1E 03 08 */ lwz r0, 0x308(r30) /* 8017EFDC 0017BF3C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017EFE0 0017BF40 54 00 10 3A */ slwi r0, r0, 2 /* 8017EFE4 0017BF44 7C 63 02 14 */ add r3, r3, r0 /* 8017EFE8 0017BF48 C0 03 01 70 */ lfs f0, 0x170(r3) /* 8017EFEC 0017BF4C D0 1E 03 40 */ stfs f0, 0x340(r30) /* 8017EFF0 0017BF50 48 00 00 1C */ b lbl_8017F00C lbl_8017EFF4: /* 8017EFF4 0017BF54 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017EFF8 0017BF58 7F C3 F3 78 */ mr r3, r30 /* 8017EFFC 0017BF5C 7F E5 FB 78 */ mr r5, r31 /* 8017F000 0017BF60 38 81 00 08 */ addi r4, r1, 8 /* 8017F004 0017BF64 B0 01 00 08 */ sth r0, 8(r1) /* 8017F008 0017BF68 4B FF C5 E5 */ bl SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager lbl_8017F00C: /* 8017F00C 0017BF6C 7F C3 F3 78 */ mr r3, r30 /* 8017F010 0017BF70 4B FF C7 D5 */ bl UpdateOrbitZPosition__7CPlayerFv lbl_8017F014: /* 8017F014 0017BF74 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 8017F018 0017BF78 80 01 00 74 */ lwz r0, 0x74(r1) /* 8017F01C 0017BF7C CB E1 00 60 */ lfd f31, 0x60(r1) /* 8017F020 0017BF80 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8017F024 0017BF84 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8017F028 0017BF88 7C 08 03 A6 */ mtlr r0 /* 8017F02C 0017BF8C 38 21 00 70 */ addi r1, r1, 0x70 /* 8017F030 0017BF90 4E 80 00 20 */ blr .global GetOrbitMaxLockDistance__7CPlayerCFRC13CStateManager GetOrbitMaxLockDistance__7CPlayerCFRC13CStateManager: /* 8017F034 0017BF94 80 64 08 B8 */ lwz r3, 0x8b8(r4) /* 8017F038 0017BF98 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017F03C 0017BF9C 80 63 00 00 */ lwz r3, 0(r3) /* 8017F040 0017BFA0 C0 24 01 A0 */ lfs f1, 0x1a0(r4) /* 8017F044 0017BFA4 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017F048 0017BFA8 2C 00 00 02 */ cmpwi r0, 2 /* 8017F04C 0017BFAC 4C 82 00 20 */ bnelr /* 8017F050 0017BFB0 C0 24 02 24 */ lfs f1, 0x224(r4) /* 8017F054 0017BFB4 4E 80 00 20 */ blr .global GetOrbitMaxTargetDistance__7CPlayerCFRC13CStateManager GetOrbitMaxTargetDistance__7CPlayerCFRC13CStateManager: /* 8017F058 0017BFB8 80 64 08 B8 */ lwz r3, 0x8b8(r4) /* 8017F05C 0017BFBC 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 8017F060 0017BFC0 80 63 00 00 */ lwz r3, 0(r3) /* 8017F064 0017BFC4 C0 24 01 9C */ lfs f1, 0x19c(r4) /* 8017F068 0017BFC8 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017F06C 0017BFCC 2C 00 00 02 */ cmpwi r0, 2 /* 8017F070 0017BFD0 4C 82 00 20 */ bnelr /* 8017F074 0017BFD4 C0 24 02 20 */ lfs f1, 0x220(r4) /* 8017F078 0017BFD8 4E 80 00 20 */ blr .global ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager: /* 8017F07C 0017BFDC 94 21 FF 70 */ stwu r1, -0x90(r1) /* 8017F080 0017BFE0 7C 08 02 A6 */ mflr r0 /* 8017F084 0017BFE4 90 01 00 94 */ stw r0, 0x94(r1) /* 8017F088 0017BFE8 DB E1 00 80 */ stfd f31, 0x80(r1) /* 8017F08C 0017BFEC F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 8017F090 0017BFF0 DB C1 00 70 */ stfd f30, 0x70(r1) /* 8017F094 0017BFF4 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 8017F098 0017BFF8 DB A1 00 60 */ stfd f29, 0x60(r1) /* 8017F09C 0017BFFC F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 8017F0A0 0017C000 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8017F0A4 0017C004 93 C1 00 58 */ stw r30, 0x58(r1) /* 8017F0A8 0017C008 93 A1 00 54 */ stw r29, 0x54(r1) /* 8017F0AC 0017C00C A0 84 00 00 */ lhz r4, 0(r4) /* 8017F0B0 0017C010 7C 7E 1B 78 */ mr r30, r3 /* 8017F0B4 0017C014 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017F0B8 0017C018 7C BD 2B 78 */ mr r29, r5 /* 8017F0BC 0017C01C 7C 04 00 40 */ cmplw r4, r0 /* 8017F0C0 0017C020 40 82 00 0C */ bne lbl_8017F0CC /* 8017F0C4 0017C024 38 60 00 01 */ li r3, 1 /* 8017F0C8 0017C028 48 00 02 28 */ b lbl_8017F2F0 lbl_8017F0CC: /* 8017F0CC 0017C02C B0 81 00 08 */ sth r4, 8(r1) /* 8017F0D0 0017C030 7F A3 EB 78 */ mr r3, r29 /* 8017F0D4 0017C034 38 81 00 08 */ addi r4, r1, 8 /* 8017F0D8 0017C038 4B EC D4 CD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017F0DC 0017C03C 7C 64 1B 78 */ mr r4, r3 /* 8017F0E0 0017C040 38 61 00 0C */ addi r3, r1, 0xc /* 8017F0E4 0017C044 4B F3 0B AD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017F0E8 0017C048 83 E3 00 04 */ lwz r31, 4(r3) /* 8017F0EC 0017C04C 28 1F 00 00 */ cmplwi r31, 0 /* 8017F0F0 0017C050 41 82 00 1C */ beq lbl_8017F10C /* 8017F0F4 0017C054 88 1F 00 E7 */ lbz r0, 0xe7(r31) /* 8017F0F8 0017C058 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8017F0FC 0017C05C 41 82 00 10 */ beq lbl_8017F10C /* 8017F100 0017C060 88 1F 00 30 */ lbz r0, 0x30(r31) /* 8017F104 0017C064 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017F108 0017C068 40 82 00 0C */ bne lbl_8017F114 lbl_8017F10C: /* 8017F10C 0017C06C 38 60 00 01 */ li r3, 1 /* 8017F110 0017C070 48 00 01 E0 */ b lbl_8017F2F0 lbl_8017F114: /* 8017F114 0017C074 C0 3E 07 40 */ lfs f1, 0x740(r30) /* 8017F118 0017C078 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017F11C 0017C07C FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8017F120 0017C080 41 82 00 0C */ beq lbl_8017F12C /* 8017F124 0017C084 38 60 00 02 */ li r3, 2 /* 8017F128 0017C088 48 00 01 C8 */ b lbl_8017F2F0 lbl_8017F12C: /* 8017F12C 0017C08C 7F E4 FB 78 */ mr r4, r31 /* 8017F130 0017C090 7F A5 EB 78 */ mr r5, r29 /* 8017F134 0017C094 81 9F 00 00 */ lwz r12, 0(r31) /* 8017F138 0017C098 38 61 00 20 */ addi r3, r1, 0x20 /* 8017F13C 0017C09C 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8017F140 0017C0A0 7D 89 03 A6 */ mtctr r12 /* 8017F144 0017C0A4 4E 80 04 21 */ bctrl /* 8017F148 0017C0A8 C3 E1 00 20 */ lfs f31, 0x20(r1) /* 8017F14C 0017C0AC 7F C4 F3 78 */ mr r4, r30 /* 8017F150 0017C0B0 C3 C1 00 24 */ lfs f30, 0x24(r1) /* 8017F154 0017C0B4 38 61 00 14 */ addi r3, r1, 0x14 /* 8017F158 0017C0B8 C3 A1 00 28 */ lfs f29, 0x28(r1) /* 8017F15C 0017C0BC 48 10 5C 21 */ bl GetEyePosition__7CPlayerCFv /* 8017F160 0017C0C0 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 8017F164 0017C0C4 38 61 00 2C */ addi r3, r1, 0x2c /* 8017F168 0017C0C8 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8017F16C 0017C0CC EC 7D 08 28 */ fsubs f3, f29, f1 /* 8017F170 0017C0D0 C0 21 00 18 */ lfs f1, 0x18(r1) /* 8017F174 0017C0D4 EC 5F 00 28 */ fsubs f2, f31, f0 /* 8017F178 0017C0D8 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017F17C 0017C0DC EC 3E 08 28 */ fsubs f1, f30, f1 /* 8017F180 0017C0E0 D0 61 00 34 */ stfs f3, 0x34(r1) /* 8017F184 0017C0E4 D0 41 00 38 */ stfs f2, 0x38(r1) /* 8017F188 0017C0E8 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 8017F18C 0017C0EC D0 61 00 40 */ stfs f3, 0x40(r1) /* 8017F190 0017C0F0 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 8017F194 0017C0F4 D0 21 00 30 */ stfs f1, 0x30(r1) /* 8017F198 0017C0F8 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8017F19C 0017C0FC 48 19 55 5D */ bl CanBeNormalized__9CVector3fCFv /* 8017F1A0 0017C100 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017F1A4 0017C104 41 82 00 A8 */ beq lbl_8017F24C /* 8017F1A8 0017C108 38 61 00 2C */ addi r3, r1, 0x2c /* 8017F1AC 0017C10C 48 19 57 0D */ bl Magnitude__9CVector3fCFv /* 8017F1B0 0017C110 C0 02 A2 4C */ lfs f0, lbl_805ABF6C@sda21(r2) /* 8017F1B4 0017C114 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017F1B8 0017C118 40 81 00 94 */ ble lbl_8017F24C /* 8017F1BC 0017C11C C0 01 00 40 */ lfs f0, 0x40(r1) /* 8017F1C0 0017C120 38 61 00 38 */ addi r3, r1, 0x38 /* 8017F1C4 0017C124 FF E0 02 10 */ fabs f31, f0 /* 8017F1C8 0017C128 48 19 56 F1 */ bl Magnitude__9CVector3fCFv /* 8017F1CC 0017C12C FC 40 F8 18 */ frsp f2, f31 /* 8017F1D0 0017C130 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 8017F1D4 0017C134 EC 22 08 24 */ fdivs f1, f2, f1 /* 8017F1D8 0017C138 FC 40 0A 10 */ fabs f2, f1 /* 8017F1DC 0017C13C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017F1E0 0017C140 40 81 00 14 */ ble lbl_8017F1F4 /* 8017F1E4 0017C144 C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 8017F1E8 0017C148 C0 42 A2 4C */ lfs f2, lbl_805ABF6C@sda21(r2) /* 8017F1EC 0017C14C FC 01 00 AE */ fsel f0, f1, f2, f0 /* 8017F1F0 0017C150 EC 22 00 32 */ fmuls f1, f2, f0 lbl_8017F1F4: /* 8017F1F4 0017C154 48 21 5A 59 */ bl asin /* 8017F1F8 0017C158 C0 41 00 40 */ lfs f2, 0x40(r1) /* 8017F1FC 0017C15C FC 20 08 18 */ frsp f1, f1 /* 8017F200 0017C160 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017F204 0017C164 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017F208 0017C168 4C 41 13 82 */ cror 2, 1, 2 /* 8017F20C 0017C16C 40 82 00 18 */ bne lbl_8017F224 /* 8017F210 0017C170 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017F214 0017C174 C0 03 01 88 */ lfs f0, 0x188(r3) /* 8017F218 0017C178 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017F21C 0017C17C 4C 41 13 82 */ cror 2, 1, 2 /* 8017F220 0017C180 41 82 00 24 */ beq lbl_8017F244 lbl_8017F224: /* 8017F224 0017C184 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017F228 0017C188 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017F22C 0017C18C 40 80 00 28 */ bge lbl_8017F254 /* 8017F230 0017C190 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017F234 0017C194 C0 03 01 8C */ lfs f0, 0x18c(r3) /* 8017F238 0017C198 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017F23C 0017C19C 4C 41 13 82 */ cror 2, 1, 2 /* 8017F240 0017C1A0 40 82 00 14 */ bne lbl_8017F254 lbl_8017F244: /* 8017F244 0017C1A4 38 60 00 04 */ li r3, 4 /* 8017F248 0017C1A8 48 00 00 A8 */ b lbl_8017F2F0 lbl_8017F24C: /* 8017F24C 0017C1AC 38 60 00 04 */ li r3, 4 /* 8017F250 0017C1B0 48 00 00 A0 */ b lbl_8017F2F0 lbl_8017F254: /* 8017F254 0017C1B4 80 7D 08 B8 */ lwz r3, 0x8b8(r29) /* 8017F258 0017C1B8 A0 1F 00 E6 */ lhz r0, 0xe6(r31) /* 8017F25C 0017C1BC 80 83 00 00 */ lwz r4, 0(r3) /* 8017F260 0017C1C0 54 03 DF 3E */ rlwinm r3, r0, 0x1b, 0x1c, 0x1f /* 8017F264 0017C1C4 80 04 00 14 */ lwz r0, 0x14(r4) /* 8017F268 0017C1C8 2C 00 00 00 */ cmpwi r0, 0 /* 8017F26C 0017C1CC 40 82 00 14 */ bne lbl_8017F280 /* 8017F270 0017C1D0 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8017F274 0017C1D4 40 82 00 0C */ bne lbl_8017F280 /* 8017F278 0017C1D8 38 60 00 02 */ li r3, 2 /* 8017F27C 0017C1DC 48 00 00 74 */ b lbl_8017F2F0 lbl_8017F280: /* 8017F280 0017C1E0 80 84 00 14 */ lwz r4, 0x14(r4) /* 8017F284 0017C1E4 2C 04 00 02 */ cmpwi r4, 2 /* 8017F288 0017C1E8 40 82 00 14 */ bne lbl_8017F29C /* 8017F28C 0017C1EC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 8017F290 0017C1F0 40 82 00 0C */ bne lbl_8017F29C /* 8017F294 0017C1F4 38 60 00 02 */ li r3, 2 /* 8017F298 0017C1F8 48 00 00 58 */ b lbl_8017F2F0 lbl_8017F29C: /* 8017F29C 0017C1FC 2C 04 00 03 */ cmpwi r4, 3 /* 8017F2A0 0017C200 40 82 00 14 */ bne lbl_8017F2B4 /* 8017F2A4 0017C204 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 8017F2A8 0017C208 40 82 00 0C */ bne lbl_8017F2B4 /* 8017F2AC 0017C20C 38 60 00 02 */ li r3, 2 /* 8017F2B0 0017C210 48 00 00 40 */ b lbl_8017F2F0 lbl_8017F2B4: /* 8017F2B4 0017C214 2C 04 00 01 */ cmpwi r4, 1 /* 8017F2B8 0017C218 40 82 00 14 */ bne lbl_8017F2CC /* 8017F2BC 0017C21C 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c /* 8017F2C0 0017C220 40 82 00 0C */ bne lbl_8017F2CC /* 8017F2C4 0017C224 38 60 00 02 */ li r3, 2 /* 8017F2C8 0017C228 48 00 00 28 */ b lbl_8017F2F0 lbl_8017F2CC: /* 8017F2CC 0017C22C 2C 04 00 02 */ cmpwi r4, 2 /* 8017F2D0 0017C230 40 82 00 1C */ bne lbl_8017F2EC /* 8017F2D4 0017C234 80 7F 00 04 */ lwz r3, 4(r31) /* 8017F2D8 0017C238 80 1E 00 04 */ lwz r0, 4(r30) /* 8017F2DC 0017C23C 7C 03 00 00 */ cmpw r3, r0 /* 8017F2E0 0017C240 41 82 00 0C */ beq lbl_8017F2EC /* 8017F2E4 0017C244 38 60 00 06 */ li r3, 6 /* 8017F2E8 0017C248 48 00 00 08 */ b lbl_8017F2F0 lbl_8017F2EC: /* 8017F2EC 0017C24C 38 60 00 00 */ li r3, 0 lbl_8017F2F0: /* 8017F2F0 0017C250 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 8017F2F4 0017C254 CB E1 00 80 */ lfd f31, 0x80(r1) /* 8017F2F8 0017C258 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 8017F2FC 0017C25C CB C1 00 70 */ lfd f30, 0x70(r1) /* 8017F300 0017C260 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 8017F304 0017C264 CB A1 00 60 */ lfd f29, 0x60(r1) /* 8017F308 0017C268 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8017F30C 0017C26C 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8017F310 0017C270 80 01 00 94 */ lwz r0, 0x94(r1) /* 8017F314 0017C274 83 A1 00 54 */ lwz r29, 0x54(r1) /* 8017F318 0017C278 7C 08 03 A6 */ mtlr r0 /* 8017F31C 0017C27C 38 21 00 90 */ addi r1, r1, 0x90 /* 8017F320 0017C280 4E 80 00 20 */ blr .global ValidateCurrentOrbitTargetId__7CPlayerFR13CStateManager ValidateCurrentOrbitTargetId__7CPlayerFR13CStateManager: /* 8017F324 0017C284 94 21 F6 B0 */ stwu r1, -0x950(r1) /* 8017F328 0017C288 7C 08 02 A6 */ mflr r0 /* 8017F32C 0017C28C 90 01 09 54 */ stw r0, 0x954(r1) /* 8017F330 0017C290 DB E1 09 40 */ stfd f31, 0x940(r1) /* 8017F334 0017C294 F3 E1 09 48 */ psq_st f31, -1720(r1), 0, qr0 /* 8017F338 0017C298 DB C1 09 30 */ stfd f30, 0x930(r1) /* 8017F33C 0017C29C F3 C1 09 38 */ psq_st f30, -1736(r1), 0, qr0 /* 8017F340 0017C2A0 DB A1 09 20 */ stfd f29, 0x920(r1) /* 8017F344 0017C2A4 F3 A1 09 28 */ psq_st f29, -1752(r1), 0, qr0 /* 8017F348 0017C2A8 BF 41 09 08 */ stmw r26, 0x908(r1) /* 8017F34C 0017C2AC 7C 7A 1B 78 */ mr r26, r3 /* 8017F350 0017C2B0 7C 9B 23 78 */ mr r27, r4 /* 8017F354 0017C2B4 A0 03 03 10 */ lhz r0, 0x310(r3) /* 8017F358 0017C2B8 7F 63 DB 78 */ mr r3, r27 /* 8017F35C 0017C2BC 38 81 00 24 */ addi r4, r1, 0x24 /* 8017F360 0017C2C0 B0 01 00 20 */ sth r0, 0x20(r1) /* 8017F364 0017C2C4 B0 01 00 24 */ sth r0, 0x24(r1) /* 8017F368 0017C2C8 4B EC D2 3D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017F36C 0017C2CC 7C 64 1B 78 */ mr r4, r3 /* 8017F370 0017C2D0 38 61 00 44 */ addi r3, r1, 0x44 /* 8017F374 0017C2D4 4B F3 09 1D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017F378 0017C2D8 83 C3 00 04 */ lwz r30, 4(r3) /* 8017F37C 0017C2DC 28 1E 00 00 */ cmplwi r30, 0 /* 8017F380 0017C2E0 41 82 00 1C */ beq lbl_8017F39C /* 8017F384 0017C2E4 88 1E 00 E7 */ lbz r0, 0xe7(r30) /* 8017F388 0017C2E8 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8017F38C 0017C2EC 41 82 00 10 */ beq lbl_8017F39C /* 8017F390 0017C2F0 88 1E 00 30 */ lbz r0, 0x30(r30) /* 8017F394 0017C2F4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017F398 0017C2F8 40 82 00 0C */ bne lbl_8017F3A4 lbl_8017F39C: /* 8017F39C 0017C2FC 38 60 00 01 */ li r3, 1 /* 8017F3A0 0017C300 48 00 05 44 */ b lbl_8017F8E4 lbl_8017F3A4: /* 8017F3A4 0017C304 80 BE 00 68 */ lwz r5, 0x68(r30) /* 8017F3A8 0017C308 38 00 02 00 */ li r0, 0x200 /* 8017F3AC 0017C30C 80 DE 00 6C */ lwz r6, 0x6c(r30) /* 8017F3B0 0017C310 38 80 00 00 */ li r4, 0 /* 8017F3B4 0017C314 7C A0 00 38 */ and r0, r5, r0 /* 8017F3B8 0017C318 7C C3 20 38 */ and r3, r6, r4 /* 8017F3BC 0017C31C 7C 63 22 78 */ xor r3, r3, r4 /* 8017F3C0 0017C320 7C 00 22 78 */ xor r0, r0, r4 /* 8017F3C4 0017C324 7C 60 03 79 */ or. r0, r3, r0 /* 8017F3C8 0017C328 41 82 00 08 */ beq lbl_8017F3D0 /* 8017F3CC 0017C32C 38 80 00 01 */ li r4, 1 lbl_8017F3D0: /* 8017F3D0 0017C330 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 8017F3D4 0017C334 40 82 00 48 */ bne lbl_8017F41C /* 8017F3D8 0017C338 38 80 00 00 */ li r4, 0 /* 8017F3DC 0017C33C 38 00 00 80 */ li r0, 0x80 /* 8017F3E0 0017C340 7C C3 20 38 */ and r3, r6, r4 /* 8017F3E4 0017C344 7C A0 00 38 */ and r0, r5, r0 /* 8017F3E8 0017C348 7C 63 22 78 */ xor r3, r3, r4 /* 8017F3EC 0017C34C 7C 00 22 78 */ xor r0, r0, r4 /* 8017F3F0 0017C350 7C 60 03 79 */ or. r0, r3, r0 /* 8017F3F4 0017C354 40 82 00 0C */ bne lbl_8017F400 /* 8017F3F8 0017C358 38 60 00 03 */ li r3, 3 /* 8017F3FC 0017C35C 48 00 04 E8 */ b lbl_8017F8E4 lbl_8017F400: /* 8017F400 0017C360 80 7B 08 B8 */ lwz r3, 0x8b8(r27) /* 8017F404 0017C364 80 63 00 00 */ lwz r3, 0(r3) /* 8017F408 0017C368 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017F40C 0017C36C 2C 00 00 02 */ cmpwi r0, 2 /* 8017F410 0017C370 41 82 00 0C */ beq lbl_8017F41C /* 8017F414 0017C374 38 60 00 03 */ li r3, 3 /* 8017F418 0017C378 48 00 04 CC */ b lbl_8017F8E4 lbl_8017F41C: /* 8017F41C 0017C37C A0 1A 03 10 */ lhz r0, 0x310(r26) /* 8017F420 0017C380 7F 43 D3 78 */ mr r3, r26 /* 8017F424 0017C384 7F 65 DB 78 */ mr r5, r27 /* 8017F428 0017C388 38 81 00 1C */ addi r4, r1, 0x1c /* 8017F42C 0017C38C B0 01 00 18 */ sth r0, 0x18(r1) /* 8017F430 0017C390 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8017F434 0017C394 4B FF FC 49 */ bl ValidateOrbitTargetId__7CPlayerCF9TUniqueIdR13CStateManager /* 8017F438 0017C398 2C 03 00 00 */ cmpwi r3, 0 /* 8017F43C 0017C39C 41 82 00 08 */ beq lbl_8017F444 /* 8017F440 0017C3A0 48 00 04 A4 */ b lbl_8017F8E4 lbl_8017F444: /* 8017F444 0017C3A4 80 7B 08 B8 */ lwz r3, 0x8b8(r27) /* 8017F448 0017C3A8 80 63 00 00 */ lwz r3, 0(r3) /* 8017F44C 0017C3AC 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017F450 0017C3B0 2C 00 00 02 */ cmpwi r0, 2 /* 8017F454 0017C3B4 40 82 00 1C */ bne lbl_8017F470 /* 8017F458 0017C3B8 80 7E 00 04 */ lwz r3, 4(r30) /* 8017F45C 0017C3BC 80 1A 00 04 */ lwz r0, 4(r26) /* 8017F460 0017C3C0 7C 03 00 00 */ cmpw r3, r0 /* 8017F464 0017C3C4 41 82 00 0C */ beq lbl_8017F470 /* 8017F468 0017C3C8 38 60 00 06 */ li r3, 6 /* 8017F46C 0017C3CC 48 00 04 78 */ b lbl_8017F8E4 lbl_8017F470: /* 8017F470 0017C3D0 A0 1A 03 10 */ lhz r0, 0x310(r26) /* 8017F474 0017C3D4 7F 63 DB 78 */ mr r3, r27 /* 8017F478 0017C3D8 38 81 00 14 */ addi r4, r1, 0x14 /* 8017F47C 0017C3DC B0 01 00 10 */ sth r0, 0x10(r1) /* 8017F480 0017C3E0 B0 01 00 14 */ sth r0, 0x14(r1) /* 8017F484 0017C3E4 4B EC D1 21 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017F488 0017C3E8 7C 64 1B 78 */ mr r4, r3 /* 8017F48C 0017C3EC 38 61 00 3C */ addi r3, r1, 0x3c /* 8017F490 0017C3F0 4B F2 A6 39 */ bl "__ct__33TCastToPtr<19CScriptGrapplePoint>FP7CEntity" /* 8017F494 0017C3F4 80 9B 08 B8 */ lwz r4, 0x8b8(r27) /* 8017F498 0017C3F8 83 A3 00 04 */ lwz r29, 4(r3) /* 8017F49C 0017C3FC 80 64 00 00 */ lwz r3, 0(r4) /* 8017F4A0 0017C400 80 03 00 14 */ lwz r0, 0x14(r3) /* 8017F4A4 0017C404 2C 00 00 02 */ cmpwi r0, 2 /* 8017F4A8 0017C408 40 82 00 14 */ bne lbl_8017F4BC /* 8017F4AC 0017C40C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017F4B0 0017C410 88 03 02 1C */ lbz r0, 0x21c(r3) /* 8017F4B4 0017C414 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8017F4B8 0017C418 40 82 00 1C */ bne lbl_8017F4D4 lbl_8017F4BC: /* 8017F4BC 0017C41C 28 1D 00 00 */ cmplwi r29, 0 /* 8017F4C0 0017C420 40 82 00 14 */ bne lbl_8017F4D4 /* 8017F4C4 0017C424 80 7E 00 04 */ lwz r3, 4(r30) /* 8017F4C8 0017C428 80 1A 00 04 */ lwz r0, 4(r26) /* 8017F4CC 0017C42C 7C 03 00 00 */ cmpw r3, r0 /* 8017F4D0 0017C430 41 82 02 FC */ beq lbl_8017F7CC lbl_8017F4D4: /* 8017F4D4 0017C434 7F 44 D3 78 */ mr r4, r26 /* 8017F4D8 0017C438 38 61 00 94 */ addi r3, r1, 0x94 /* 8017F4DC 0017C43C 48 10 58 A1 */ bl GetEyePosition__7CPlayerCFv /* 8017F4E0 0017C440 C0 41 00 94 */ lfs f2, 0x94(r1) /* 8017F4E4 0017C444 38 C0 00 00 */ li r6, 0 /* 8017F4E8 0017C448 C0 21 00 98 */ lfs f1, 0x98(r1) /* 8017F4EC 0017C44C 7F C4 F3 78 */ mr r4, r30 /* 8017F4F0 0017C450 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 8017F4F4 0017C454 7F 65 DB 78 */ mr r5, r27 /* 8017F4F8 0017C458 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017F4FC 0017C45C 38 61 00 88 */ addi r3, r1, 0x88 /* 8017F500 0017C460 D0 41 00 B8 */ stfs f2, 0xb8(r1) /* 8017F504 0017C464 D0 21 00 BC */ stfs f1, 0xbc(r1) /* 8017F508 0017C468 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 8017F50C 0017C46C 90 C1 00 F8 */ stw r6, 0xf8(r1) /* 8017F510 0017C470 B0 01 00 28 */ sth r0, 0x28(r1) /* 8017F514 0017C474 81 9E 00 00 */ lwz r12, 0(r30) /* 8017F518 0017C478 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8017F51C 0017C47C 7D 89 03 A6 */ mtctr r12 /* 8017F520 0017C480 4E 80 04 21 */ bctrl /* 8017F524 0017C484 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 8017F528 0017C488 38 61 00 AC */ addi r3, r1, 0xac /* 8017F52C 0017C48C C0 01 00 BC */ lfs f0, 0xbc(r1) /* 8017F530 0017C490 C0 61 00 90 */ lfs f3, 0x90(r1) /* 8017F534 0017C494 C0 41 00 C0 */ lfs f2, 0xc0(r1) /* 8017F538 0017C498 EC 81 00 28 */ fsubs f4, f1, f0 /* 8017F53C 0017C49C C0 21 00 88 */ lfs f1, 0x88(r1) /* 8017F540 0017C4A0 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 8017F544 0017C4A4 EC 43 10 28 */ fsubs f2, f3, f2 /* 8017F548 0017C4A8 D0 81 00 B0 */ stfs f4, 0xb0(r1) /* 8017F54C 0017C4AC EC 01 00 28 */ fsubs f0, f1, f0 /* 8017F550 0017C4B0 D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 8017F554 0017C4B4 D0 01 00 AC */ stfs f0, 0xac(r1) /* 8017F558 0017C4B8 48 19 51 A1 */ bl CanBeNormalized__9CVector3fCFv /* 8017F55C 0017C4BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017F560 0017C4C0 41 82 02 18 */ beq lbl_8017F778 /* 8017F564 0017C4C4 38 61 00 AC */ addi r3, r1, 0xac /* 8017F568 0017C4C8 48 19 53 51 */ bl Magnitude__9CVector3fCFv /* 8017F56C 0017C4CC FF E0 08 90 */ fmr f31, f1 /* 8017F570 0017C4D0 38 61 00 7C */ addi r3, r1, 0x7c /* 8017F574 0017C4D4 38 81 00 AC */ addi r4, r1, 0xac /* 8017F578 0017C4D8 48 19 52 D9 */ bl AsNormalized__9CVector3fCFv /* 8017F57C 0017C4DC FC 20 F8 90 */ fmr f1, f31 /* 8017F580 0017C4E0 3C 60 80 47 */ lis r3, lbl_8046C8D8@ha /* 8017F584 0017C4E4 38 E3 C8 D8 */ addi r7, r3, lbl_8046C8D8@l /* 8017F588 0017C4E8 7F C8 F3 78 */ mr r8, r30 /* 8017F58C 0017C4EC 7F 63 DB 78 */ mr r3, r27 /* 8017F590 0017C4F0 38 81 00 F8 */ addi r4, r1, 0xf8 /* 8017F594 0017C4F4 38 A1 00 B8 */ addi r5, r1, 0xb8 /* 8017F598 0017C4F8 38 C1 00 7C */ addi r6, r1, 0x7c /* 8017F59C 0017C4FC 4B EC D1 3D */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor" /* 8017F5A0 0017C500 3B E1 00 FC */ addi r31, r1, 0xfc /* 8017F5A4 0017C504 7F FC FB 78 */ mr r28, r31 /* 8017F5A8 0017C508 48 00 00 E0 */ b lbl_8017F688 lbl_8017F5AC: /* 8017F5AC 0017C50C A0 1C 00 00 */ lhz r0, 0(r28) /* 8017F5B0 0017C510 7F 63 DB 78 */ mr r3, r27 /* 8017F5B4 0017C514 38 81 00 0C */ addi r4, r1, 0xc /* 8017F5B8 0017C518 B0 01 00 0C */ sth r0, 0xc(r1) /* 8017F5BC 0017C51C 4B EC CF E9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017F5C0 0017C520 28 03 00 00 */ cmplwi r3, 0 /* 8017F5C4 0017C524 41 82 00 C0 */ beq lbl_8017F684 /* 8017F5C8 0017C528 80 A3 00 04 */ lwz r5, 4(r3) /* 8017F5CC 0017C52C 80 1B 08 CC */ lwz r0, 0x8cc(r27) /* 8017F5D0 0017C530 7C 05 00 00 */ cmpw r5, r0 /* 8017F5D4 0017C534 41 82 00 B0 */ beq lbl_8017F684 /* 8017F5D8 0017C538 80 9B 08 50 */ lwz r4, 0x850(r27) /* 8017F5DC 0017C53C 54 A3 18 38 */ slwi r3, r5, 3 /* 8017F5E0 0017C540 38 03 00 04 */ addi r0, r3, 4 /* 8017F5E4 0017C544 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8017F5E8 0017C548 80 64 00 20 */ lwz r3, 0x20(r4) /* 8017F5EC 0017C54C 90 A1 00 30 */ stw r5, 0x30(r1) /* 8017F5F0 0017C550 7C 63 00 2E */ lwzx r3, r3, r0 /* 8017F5F4 0017C554 88 03 00 F0 */ lbz r0, 0xf0(r3) /* 8017F5F8 0017C558 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8017F5FC 0017C55C 41 82 00 10 */ beq lbl_8017F60C /* 8017F600 0017C560 80 63 01 2C */ lwz r3, 0x12c(r3) /* 8017F604 0017C564 80 03 10 DC */ lwz r0, 0x10dc(r3) /* 8017F608 0017C568 48 00 00 08 */ b lbl_8017F610 lbl_8017F60C: /* 8017F60C 0017C56C 38 00 00 00 */ li r0, 0 lbl_8017F610: /* 8017F610 0017C570 2C 00 00 00 */ cmpwi r0, 0 /* 8017F614 0017C574 40 82 00 70 */ bne lbl_8017F684 /* 8017F618 0017C578 7C 1C F8 40 */ cmplw r28, r31 /* 8017F61C 0017C57C 41 80 00 54 */ blt lbl_8017F670 /* 8017F620 0017C580 80 01 00 F8 */ lwz r0, 0xf8(r1) /* 8017F624 0017C584 54 00 08 3C */ slwi r0, r0, 1 /* 8017F628 0017C588 7C 1F 02 14 */ add r0, r31, r0 /* 8017F62C 0017C58C 7C 1C 00 40 */ cmplw r28, r0 /* 8017F630 0017C590 40 80 00 40 */ bge lbl_8017F670 /* 8017F634 0017C594 7F 85 E3 78 */ mr r5, r28 /* 8017F638 0017C598 48 00 00 10 */ b lbl_8017F648 lbl_8017F63C: /* 8017F63C 0017C59C A0 05 00 02 */ lhz r0, 2(r5) /* 8017F640 0017C5A0 B0 05 00 00 */ sth r0, 0(r5) /* 8017F644 0017C5A4 38 A5 00 02 */ addi r5, r5, 2 lbl_8017F648: /* 8017F648 0017C5A8 80 81 00 F8 */ lwz r4, 0xf8(r1) /* 8017F64C 0017C5AC 54 83 08 3C */ slwi r3, r4, 1 /* 8017F650 0017C5B0 38 03 FF FE */ addi r0, r3, -2 /* 8017F654 0017C5B4 7C 1F 02 14 */ add r0, r31, r0 /* 8017F658 0017C5B8 7C 05 00 40 */ cmplw r5, r0 /* 8017F65C 0017C5BC 41 80 FF E0 */ blt lbl_8017F63C /* 8017F660 0017C5C0 38 04 FF FF */ addi r0, r4, -1 /* 8017F664 0017C5C4 7F 83 E3 78 */ mr r3, r28 /* 8017F668 0017C5C8 90 01 00 F8 */ stw r0, 0xf8(r1) /* 8017F66C 0017C5CC 48 00 00 10 */ b lbl_8017F67C lbl_8017F670: /* 8017F670 0017C5D0 80 01 00 F8 */ lwz r0, 0xf8(r1) /* 8017F674 0017C5D4 54 00 08 3C */ slwi r0, r0, 1 /* 8017F678 0017C5D8 7C 7F 02 14 */ add r3, r31, r0 lbl_8017F67C: /* 8017F67C 0017C5DC 7C 7C 1B 78 */ mr r28, r3 /* 8017F680 0017C5E0 48 00 00 08 */ b lbl_8017F688 lbl_8017F684: /* 8017F684 0017C5E4 3B 9C 00 02 */ addi r28, r28, 2 lbl_8017F688: /* 8017F688 0017C5E8 80 01 00 F8 */ lwz r0, 0xf8(r1) /* 8017F68C 0017C5EC 54 00 08 3C */ slwi r0, r0, 1 /* 8017F690 0017C5F0 7C 1F 02 14 */ add r0, r31, r0 /* 8017F694 0017C5F4 7C 1C 00 40 */ cmplw r28, r0 /* 8017F698 0017C5F8 40 82 FF 14 */ bne lbl_8017F5AC /* 8017F69C 0017C5FC 38 61 00 AC */ addi r3, r1, 0xac /* 8017F6A0 0017C600 48 19 52 19 */ bl Magnitude__9CVector3fCFv /* 8017F6A4 0017C604 FF E0 08 90 */ fmr f31, f1 /* 8017F6A8 0017C608 38 61 00 70 */ addi r3, r1, 0x70 /* 8017F6AC 0017C60C 38 81 00 AC */ addi r4, r1, 0xac /* 8017F6B0 0017C610 48 19 51 A1 */ bl AsNormalized__9CVector3fCFv /* 8017F6B4 0017C614 FC 20 F8 90 */ fmr f1, f31 /* 8017F6B8 0017C618 3C 60 80 47 */ lis r3, lbl_8046C8C0@ha /* 8017F6BC 0017C61C 39 03 C8 C0 */ addi r8, r3, lbl_8046C8C0@l /* 8017F6C0 0017C620 7F 64 DB 78 */ mr r4, r27 /* 8017F6C4 0017C624 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8017F6C8 0017C628 38 A1 00 28 */ addi r5, r1, 0x28 /* 8017F6CC 0017C62C 38 C1 00 B8 */ addi r6, r1, 0xb8 /* 8017F6D0 0017C630 38 E1 00 70 */ addi r7, r1, 0x70 /* 8017F6D4 0017C634 39 21 00 F8 */ addi r9, r1, 0xf8 /* 8017F6D8 0017C638 4B EC D8 ED */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>" /* 8017F6DC 0017C63C 88 01 00 E8 */ lbz r0, 0xe8(r1) /* 8017F6E0 0017C640 28 00 00 00 */ cmplwi r0, 0 /* 8017F6E4 0017C644 41 82 00 94 */ beq lbl_8017F778 /* 8017F6E8 0017C648 A0 01 00 28 */ lhz r0, 0x28(r1) /* 8017F6EC 0017C64C 7F 63 DB 78 */ mr r3, r27 /* 8017F6F0 0017C650 38 81 00 08 */ addi r4, r1, 8 /* 8017F6F4 0017C654 B0 01 00 08 */ sth r0, 8(r1) /* 8017F6F8 0017C658 4B EC CE AD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017F6FC 0017C65C 7C 64 1B 78 */ mr r4, r3 /* 8017F700 0017C660 38 61 00 34 */ addi r3, r1, 0x34 /* 8017F704 0017C664 4B F2 A9 ED */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8017F708 0017C668 80 03 00 04 */ lwz r0, 4(r3) /* 8017F70C 0017C66C 28 00 00 00 */ cmplwi r0, 0 /* 8017F710 0017C670 40 82 00 0C */ bne lbl_8017F71C /* 8017F714 0017C674 28 1D 00 00 */ cmplwi r29, 0 /* 8017F718 0017C678 41 82 00 60 */ beq lbl_8017F778 lbl_8017F71C: /* 8017F71C 0017C67C 80 A1 00 F8 */ lwz r5, 0xf8(r1) /* 8017F720 0017C680 38 60 00 00 */ li r3, 0 /* 8017F724 0017C684 2C 05 00 00 */ cmpwi r5, 0 /* 8017F728 0017C688 40 81 00 40 */ ble lbl_8017F768 /* 8017F72C 0017C68C 2C 05 00 08 */ cmpwi r5, 8 /* 8017F730 0017C690 38 85 FF F8 */ addi r4, r5, -8 /* 8017F734 0017C694 40 81 00 20 */ ble lbl_8017F754 /* 8017F738 0017C698 38 04 00 07 */ addi r0, r4, 7 /* 8017F73C 0017C69C 54 00 E8 FE */ srwi r0, r0, 3 /* 8017F740 0017C6A0 7C 09 03 A6 */ mtctr r0 /* 8017F744 0017C6A4 2C 04 00 00 */ cmpwi r4, 0 /* 8017F748 0017C6A8 40 81 00 0C */ ble lbl_8017F754 lbl_8017F74C: /* 8017F74C 0017C6AC 38 63 00 08 */ addi r3, r3, 8 /* 8017F750 0017C6B0 42 00 FF FC */ bdnz lbl_8017F74C lbl_8017F754: /* 8017F754 0017C6B4 7C 03 28 50 */ subf r0, r3, r5 /* 8017F758 0017C6B8 7C 09 03 A6 */ mtctr r0 /* 8017F75C 0017C6BC 7C 03 28 00 */ cmpw r3, r5 /* 8017F760 0017C6C0 40 80 00 08 */ bge lbl_8017F768 lbl_8017F764: /* 8017F764 0017C6C4 42 00 00 00 */ bdnz lbl_8017F764 lbl_8017F768: /* 8017F768 0017C6C8 38 00 00 00 */ li r0, 0 /* 8017F76C 0017C6CC 38 60 00 06 */ li r3, 6 /* 8017F770 0017C6D0 90 01 00 F8 */ stw r0, 0xf8(r1) /* 8017F774 0017C6D4 48 00 01 70 */ b lbl_8017F8E4 lbl_8017F778: /* 8017F778 0017C6D8 80 A1 00 F8 */ lwz r5, 0xf8(r1) /* 8017F77C 0017C6DC 38 60 00 00 */ li r3, 0 /* 8017F780 0017C6E0 2C 05 00 00 */ cmpwi r5, 0 /* 8017F784 0017C6E4 40 81 00 40 */ ble lbl_8017F7C4 /* 8017F788 0017C6E8 2C 05 00 08 */ cmpwi r5, 8 /* 8017F78C 0017C6EC 38 85 FF F8 */ addi r4, r5, -8 /* 8017F790 0017C6F0 40 81 00 20 */ ble lbl_8017F7B0 /* 8017F794 0017C6F4 38 04 00 07 */ addi r0, r4, 7 /* 8017F798 0017C6F8 54 00 E8 FE */ srwi r0, r0, 3 /* 8017F79C 0017C6FC 7C 09 03 A6 */ mtctr r0 /* 8017F7A0 0017C700 2C 04 00 00 */ cmpwi r4, 0 /* 8017F7A4 0017C704 40 81 00 0C */ ble lbl_8017F7B0 lbl_8017F7A8: /* 8017F7A8 0017C708 38 63 00 08 */ addi r3, r3, 8 /* 8017F7AC 0017C70C 42 00 FF FC */ bdnz lbl_8017F7A8 lbl_8017F7B0: /* 8017F7B0 0017C710 7C 03 28 50 */ subf r0, r3, r5 /* 8017F7B4 0017C714 7C 09 03 A6 */ mtctr r0 /* 8017F7B8 0017C718 7C 03 28 00 */ cmpw r3, r5 /* 8017F7BC 0017C71C 40 80 00 08 */ bge lbl_8017F7C4 lbl_8017F7C0: /* 8017F7C0 0017C720 42 00 00 00 */ bdnz lbl_8017F7C0 lbl_8017F7C4: /* 8017F7C4 0017C724 38 00 00 00 */ li r0, 0 /* 8017F7C8 0017C728 90 01 00 F8 */ stw r0, 0xf8(r1) lbl_8017F7CC: /* 8017F7CC 0017C72C 7F C4 F3 78 */ mr r4, r30 /* 8017F7D0 0017C730 7F 65 DB 78 */ mr r5, r27 /* 8017F7D4 0017C734 81 9E 00 00 */ lwz r12, 0(r30) /* 8017F7D8 0017C738 38 61 00 64 */ addi r3, r1, 0x64 /* 8017F7DC 0017C73C 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8017F7E0 0017C740 7D 89 03 A6 */ mtctr r12 /* 8017F7E4 0017C744 4E 80 04 21 */ bctrl /* 8017F7E8 0017C748 C3 A1 00 64 */ lfs f29, 0x64(r1) /* 8017F7EC 0017C74C 7F 44 D3 78 */ mr r4, r26 /* 8017F7F0 0017C750 C3 C1 00 68 */ lfs f30, 0x68(r1) /* 8017F7F4 0017C754 38 61 00 58 */ addi r3, r1, 0x58 /* 8017F7F8 0017C758 C3 E1 00 6C */ lfs f31, 0x6c(r1) /* 8017F7FC 0017C75C 48 10 55 81 */ bl GetEyePosition__7CPlayerCFv /* 8017F800 0017C760 C0 01 00 60 */ lfs f0, 0x60(r1) /* 8017F804 0017C764 38 61 00 A0 */ addi r3, r1, 0xa0 /* 8017F808 0017C768 C0 61 00 58 */ lfs f3, 0x58(r1) /* 8017F80C 0017C76C EC 3F 00 28 */ fsubs f1, f31, f0 /* 8017F810 0017C770 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 8017F814 0017C774 EC 7D 18 28 */ fsubs f3, f29, f3 /* 8017F818 0017C778 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017F81C 0017C77C EC 5E 10 28 */ fsubs f2, f30, f2 /* 8017F820 0017C780 D0 21 00 A8 */ stfs f1, 0xa8(r1) /* 8017F824 0017C784 D0 61 00 A0 */ stfs f3, 0xa0(r1) /* 8017F828 0017C788 D0 41 00 A4 */ stfs f2, 0xa4(r1) /* 8017F82C 0017C78C D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 8017F830 0017C790 48 19 4E C9 */ bl CanBeNormalized__9CVector3fCFv /* 8017F834 0017C794 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8017F838 0017C798 41 82 00 A0 */ beq lbl_8017F8D8 /* 8017F83C 0017C79C C3 BA 00 58 */ lfs f29, 0x58(r26) /* 8017F840 0017C7A0 38 61 00 4C */ addi r3, r1, 0x4c /* 8017F844 0017C7A4 C3 DA 00 48 */ lfs f30, 0x48(r26) /* 8017F848 0017C7A8 38 81 00 A0 */ addi r4, r1, 0xa0 /* 8017F84C 0017C7AC C3 FA 00 38 */ lfs f31, 0x38(r26) /* 8017F850 0017C7B0 48 19 50 01 */ bl AsNormalized__9CVector3fCFv /* 8017F854 0017C7B4 C0 01 00 50 */ lfs f0, 0x50(r1) /* 8017F858 0017C7B8 C0 41 00 4C */ lfs f2, 0x4c(r1) /* 8017F85C 0017C7BC EC 20 07 B2 */ fmuls f1, f0, f30 /* 8017F860 0017C7C0 C0 61 00 54 */ lfs f3, 0x54(r1) /* 8017F864 0017C7C4 C8 02 A2 40 */ lfd f0, lbl_805ABF60@sda21(r2) /* 8017F868 0017C7C8 EC 22 0F FA */ fmadds f1, f2, f31, f1 /* 8017F86C 0017C7CC EC 23 0F 7A */ fmadds f1, f3, f29, f1 /* 8017F870 0017C7D0 FC 40 0A 10 */ fabs f2, f1 /* 8017F874 0017C7D4 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8017F878 0017C7D8 40 81 00 14 */ ble lbl_8017F88C /* 8017F87C 0017C7DC C0 02 A2 48 */ lfs f0, lbl_805ABF68@sda21(r2) /* 8017F880 0017C7E0 C0 42 A2 4C */ lfs f2, lbl_805ABF6C@sda21(r2) /* 8017F884 0017C7E4 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 8017F888 0017C7E8 EC 22 00 32 */ fmuls f1, f2, f0 lbl_8017F88C: /* 8017F88C 0017C7EC 48 21 53 A1 */ bl acos /* 8017F890 0017C7F0 88 1A 03 74 */ lbz r0, 0x374(r26) /* 8017F894 0017C7F4 FC 20 08 18 */ frsp f1, f1 /* 8017F898 0017C7F8 28 00 00 00 */ cmplwi r0, 0 /* 8017F89C 0017C7FC 41 82 00 20 */ beq lbl_8017F8BC /* 8017F8A0 0017C800 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8017F8A4 0017C804 C0 03 01 90 */ lfs f0, 0x190(r3) /* 8017F8A8 0017C808 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017F8AC 0017C80C 4C 41 13 82 */ cror 2, 1, 2 /* 8017F8B0 0017C810 40 82 00 30 */ bne lbl_8017F8E0 /* 8017F8B4 0017C814 38 60 00 05 */ li r3, 5 /* 8017F8B8 0017C818 48 00 00 2C */ b lbl_8017F8E4 lbl_8017F8BC: /* 8017F8BC 0017C81C C0 02 A2 60 */ lfs f0, lbl_805ABF80@sda21(r2) /* 8017F8C0 0017C820 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8017F8C4 0017C824 4C 40 13 82 */ cror 2, 0, 2 /* 8017F8C8 0017C828 40 82 00 18 */ bne lbl_8017F8E0 /* 8017F8CC 0017C82C 38 00 00 01 */ li r0, 1 /* 8017F8D0 0017C830 98 1A 03 74 */ stb r0, 0x374(r26) /* 8017F8D4 0017C834 48 00 00 0C */ b lbl_8017F8E0 lbl_8017F8D8: /* 8017F8D8 0017C838 38 60 00 05 */ li r3, 5 /* 8017F8DC 0017C83C 48 00 00 08 */ b lbl_8017F8E4 lbl_8017F8E0: /* 8017F8E0 0017C840 38 60 00 00 */ li r3, 0 lbl_8017F8E4: /* 8017F8E4 0017C844 E3 E1 09 48 */ psq_l f31, -1720(r1), 0, qr0 /* 8017F8E8 0017C848 CB E1 09 40 */ lfd f31, 0x940(r1) /* 8017F8EC 0017C84C E3 C1 09 38 */ psq_l f30, -1736(r1), 0, qr0 /* 8017F8F0 0017C850 CB C1 09 30 */ lfd f30, 0x930(r1) /* 8017F8F4 0017C854 E3 A1 09 28 */ psq_l f29, -1752(r1), 0, qr0 /* 8017F8F8 0017C858 CB A1 09 20 */ lfd f29, 0x920(r1) /* 8017F8FC 0017C85C BB 41 09 08 */ lmw r26, 0x908(r1) /* 8017F900 0017C860 80 01 09 54 */ lwz r0, 0x954(r1) /* 8017F904 0017C864 7C 08 03 A6 */ mtlr r0 /* 8017F908 0017C868 38 21 09 50 */ addi r1, r1, 0x950 /* 8017F90C 0017C86C 4E 80 00 20 */ blr .global ValidateOrbitTargetIdAndPointer__7CPlayerCF9TUniqueIdR13CStateManager ValidateOrbitTargetIdAndPointer__7CPlayerCF9TUniqueIdR13CStateManager: /* 8017F910 0017C870 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8017F914 0017C874 7C 08 02 A6 */ mflr r0 /* 8017F918 0017C878 90 01 00 24 */ stw r0, 0x24(r1) /* 8017F91C 0017C87C A0 64 00 00 */ lhz r3, 0(r4) /* 8017F920 0017C880 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8017F924 0017C884 7C 03 00 40 */ cmplw r3, r0 /* 8017F928 0017C888 40 82 00 0C */ bne lbl_8017F934 /* 8017F92C 0017C88C 38 60 00 00 */ li r3, 0 /* 8017F930 0017C890 48 00 00 30 */ b lbl_8017F960 lbl_8017F934: /* 8017F934 0017C894 B0 61 00 08 */ sth r3, 8(r1) /* 8017F938 0017C898 7C A3 2B 78 */ mr r3, r5 /* 8017F93C 0017C89C 38 81 00 08 */ addi r4, r1, 8 /* 8017F940 0017C8A0 4B EC CC 65 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8017F944 0017C8A4 7C 64 1B 78 */ mr r4, r3 /* 8017F948 0017C8A8 38 61 00 0C */ addi r3, r1, 0xc /* 8017F94C 0017C8AC 4B F3 03 45 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 8017F950 0017C8B0 80 63 00 04 */ lwz r3, 4(r3) /* 8017F954 0017C8B4 7C 03 00 D0 */ neg r0, r3 /* 8017F958 0017C8B8 7C 00 1B 78 */ or r0, r0, r3 /* 8017F95C 0017C8BC 54 03 0F FE */ srwi r3, r0, 0x1f lbl_8017F960: /* 8017F960 0017C8C0 80 01 00 24 */ lwz r0, 0x24(r1) /* 8017F964 0017C8C4 7C 08 03 A6 */ mtlr r0 /* 8017F968 0017C8C8 38 21 00 20 */ addi r1, r1, 0x20 /* 8017F96C 0017C8CC 4E 80 00 20 */ blr .global BuildNearListBox__FbRC12CTransform4ffff BuildNearListBox__FbRC12CTransform4ffff: /* 8017F970 0017C8D0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8017F974 0017C8D4 7C 08 02 A6 */ mflr r0 /* 8017F978 0017C8D8 FC 00 08 50 */ fneg f0, f1 /* 8017F97C 0017C8DC 90 01 00 34 */ stw r0, 0x34(r1) /* 8017F980 0017C8E0 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 8017F984 0017C8E4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8017F988 0017C8E8 7C 7F 1B 78 */ mr r31, r3 /* 8017F98C 0017C8EC D0 01 00 08 */ stfs f0, 8(r1) /* 8017F990 0017C8F0 41 82 00 0C */ beq lbl_8017F99C /* 8017F994 0017C8F4 C0 82 A2 30 */ lfs f4, lbl_805ABF50@sda21(r2) /* 8017F998 0017C8F8 48 00 00 08 */ b lbl_8017F9A0 lbl_8017F99C: /* 8017F99C 0017C8FC FC 80 18 50 */ fneg f4, f3 lbl_8017F9A0: /* 8017F9A0 0017C900 FC 00 10 50 */ fneg f0, f2 /* 8017F9A4 0017C904 D0 81 00 0C */ stfs f4, 0xc(r1) /* 8017F9A8 0017C908 7F E3 FB 78 */ mr r3, r31 /* 8017F9AC 0017C90C 38 81 00 08 */ addi r4, r1, 8 /* 8017F9B0 0017C910 D0 21 00 14 */ stfs f1, 0x14(r1) /* 8017F9B4 0017C914 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8017F9B8 0017C918 D0 61 00 18 */ stfs f3, 0x18(r1) /* 8017F9BC 0017C91C D0 41 00 1C */ stfs f2, 0x1c(r1) /* 8017F9C0 0017C920 48 1B 7F 3D */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f /* 8017F9C4 0017C924 80 01 00 34 */ lwz r0, 0x34(r1) /* 8017F9C8 0017C928 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8017F9CC 0017C92C 7C 08 03 A6 */ mtlr r0 /* 8017F9D0 0017C930 38 21 00 30 */ addi r1, r1, 0x30 /* 8017F9D4 0017C934 4E 80 00 20 */ blr .global __sinit_CPlayerOrbit_cpp __sinit_CPlayerOrbit_cpp: /* 8017F9D8 0017C938 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8017F9DC 0017C93C 7C 08 02 A6 */ mflr r0 /* 8017F9E0 0017C940 3C 60 80 47 */ lis r3, lbl_8046C8C0@ha /* 8017F9E4 0017C944 38 80 00 01 */ li r4, 1 /* 8017F9E8 0017C948 90 01 00 64 */ stw r0, 0x64(r1) /* 8017F9EC 0017C94C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8017F9F0 0017C950 3B E3 C8 C0 */ addi r31, r3, lbl_8046C8C0@l /* 8017F9F4 0017C954 38 60 00 00 */ li r3, 0 /* 8017F9F8 0017C958 93 C1 00 58 */ stw r30, 0x58(r1) /* 8017F9FC 0017C95C 93 A1 00 54 */ stw r29, 0x54(r1) /* 8017FA00 0017C960 80 AD 8E 48 */ lwz r5, lbl_805A7A08@sda21(r13) /* 8017FA04 0017C964 48 20 A4 F1 */ bl __shl2i /* 8017FA08 0017C968 90 8D A4 44 */ stw r4, lbl_805A9004@sda21(r13) /* 8017FA0C 0017C96C 38 80 00 01 */ li r4, 1 /* 8017FA10 0017C970 80 AD 8E 4C */ lwz r5, lbl_805A7A0C@sda21(r13) /* 8017FA14 0017C974 90 6D A4 40 */ stw r3, lbl_805A9000@sda21(r13) /* 8017FA18 0017C978 38 60 00 00 */ li r3, 0 /* 8017FA1C 0017C97C 48 20 A4 D9 */ bl __shl2i /* 8017FA20 0017C980 80 AD 8E 50 */ lwz r5, lbl_805A7A10@sda21(r13) /* 8017FA24 0017C984 7C 9D 23 78 */ mr r29, r4 /* 8017FA28 0017C988 7C 7E 1B 78 */ mr r30, r3 /* 8017FA2C 0017C98C 38 60 00 00 */ li r3, 0 /* 8017FA30 0017C990 38 80 00 01 */ li r4, 1 /* 8017FA34 0017C994 48 20 A4 C1 */ bl __shl2i /* 8017FA38 0017C998 80 AD 8E 54 */ lwz r5, lbl_805A7A14@sda21(r13) /* 8017FA3C 0017C99C 7F BD 23 78 */ or r29, r29, r4 /* 8017FA40 0017C9A0 7F DE 1B 78 */ or r30, r30, r3 /* 8017FA44 0017C9A4 38 60 00 00 */ li r3, 0 /* 8017FA48 0017C9A8 38 80 00 01 */ li r4, 1 /* 8017FA4C 0017C9AC 48 20 A4 A9 */ bl __shl2i /* 8017FA50 0017C9B0 80 0D A4 40 */ lwz r0, lbl_805A9000@sda21(r13) /* 8017FA54 0017C9B4 7F BD 23 78 */ or r29, r29, r4 /* 8017FA58 0017C9B8 7F DE 1B 78 */ or r30, r30, r3 /* 8017FA5C 0017C9BC 38 DF 00 00 */ addi r6, r31, 0 /* 8017FA60 0017C9C0 39 00 00 03 */ li r8, 3 /* 8017FA64 0017C9C4 80 ED A4 44 */ lwz r7, lbl_805A9004@sda21(r13) /* 8017FA68 0017C9C8 80 AD 8E 58 */ lwz r5, lbl_805A7A18@sda21(r13) /* 8017FA6C 0017C9CC 38 60 00 00 */ li r3, 0 /* 8017FA70 0017C9D0 93 AD A4 4C */ stw r29, lbl_805A900C@sda21(r13) /* 8017FA74 0017C9D4 38 80 00 01 */ li r4, 1 /* 8017FA78 0017C9D8 93 CD A4 48 */ stw r30, lbl_805A9008@sda21(r13) /* 8017FA7C 0017C9DC 91 01 00 48 */ stw r8, 0x48(r1) /* 8017FA80 0017C9E0 90 FF 00 04 */ stw r7, 4(r31) /* 8017FA84 0017C9E4 90 1F 00 00 */ stw r0, 0(r31) /* 8017FA88 0017C9E8 93 A6 00 0C */ stw r29, 0xc(r6) /* 8017FA8C 0017C9EC 93 C6 00 08 */ stw r30, 8(r6) /* 8017FA90 0017C9F0 91 06 00 10 */ stw r8, 0x10(r6) /* 8017FA94 0017C9F4 48 20 A4 61 */ bl __shl2i /* 8017FA98 0017C9F8 80 AD 8E 5C */ lwz r5, lbl_805A7A1C@sda21(r13) /* 8017FA9C 0017C9FC 7C 9E 23 78 */ mr r30, r4 /* 8017FAA0 0017CA00 7C 7D 1B 78 */ mr r29, r3 /* 8017FAA4 0017CA04 38 60 00 00 */ li r3, 0 /* 8017FAA8 0017CA08 38 80 00 01 */ li r4, 1 /* 8017FAAC 0017CA0C 48 20 A4 49 */ bl __shl2i /* 8017FAB0 0017CA10 7F DE 23 78 */ or r30, r30, r4 /* 8017FAB4 0017CA14 7F BD 1B 78 */ or r29, r29, r3 /* 8017FAB8 0017CA18 80 AD 8E 60 */ lwz r5, lbl_805A7A20@sda21(r13) /* 8017FABC 0017CA1C 38 60 00 00 */ li r3, 0 /* 8017FAC0 0017CA20 93 CD A4 54 */ stw r30, lbl_805A9014@sda21(r13) /* 8017FAC4 0017CA24 38 80 00 01 */ li r4, 1 /* 8017FAC8 0017CA28 93 AD A4 50 */ stw r29, lbl_805A9010@sda21(r13) /* 8017FACC 0017CA2C 48 20 A4 29 */ bl __shl2i /* 8017FAD0 0017CA30 80 AD 8E 64 */ lwz r5, lbl_805A7A24@sda21(r13) /* 8017FAD4 0017CA34 7C 9E 23 78 */ mr r30, r4 /* 8017FAD8 0017CA38 7C 7D 1B 78 */ mr r29, r3 /* 8017FADC 0017CA3C 38 60 00 00 */ li r3, 0 /* 8017FAE0 0017CA40 38 80 00 01 */ li r4, 1 /* 8017FAE4 0017CA44 48 20 A4 11 */ bl __shl2i /* 8017FAE8 0017CA48 80 AD 8E 68 */ lwz r5, lbl_805A7A28@sda21(r13) /* 8017FAEC 0017CA4C 7F DE 23 78 */ or r30, r30, r4 /* 8017FAF0 0017CA50 7F BD 1B 78 */ or r29, r29, r3 /* 8017FAF4 0017CA54 38 60 00 00 */ li r3, 0 /* 8017FAF8 0017CA58 38 80 00 01 */ li r4, 1 /* 8017FAFC 0017CA5C 48 20 A3 F9 */ bl __shl2i /* 8017FB00 0017CA60 C0 22 A2 4C */ lfs f1, lbl_805ABF6C@sda21(r2) /* 8017FB04 0017CA64 7F DE 23 78 */ or r30, r30, r4 /* 8017FB08 0017CA68 C0 02 A2 30 */ lfs f0, lbl_805ABF50@sda21(r2) /* 8017FB0C 0017CA6C 7F BD 1B 78 */ or r29, r29, r3 /* 8017FB10 0017CA70 38 DF 00 18 */ addi r6, r31, 0x18 /* 8017FB14 0017CA74 39 00 00 03 */ li r8, 3 /* 8017FB18 0017CA78 80 0D A4 50 */ lwz r0, lbl_805A9010@sda21(r13) /* 8017FB1C 0017CA7C 38 7F 00 30 */ addi r3, r31, 0x30 /* 8017FB20 0017CA80 80 ED A4 54 */ lwz r7, lbl_805A9014@sda21(r13) /* 8017FB24 0017CA84 38 81 00 14 */ addi r4, r1, 0x14 /* 8017FB28 0017CA88 93 CD A4 5C */ stw r30, lbl_805A901C@sda21(r13) /* 8017FB2C 0017CA8C 38 A1 00 08 */ addi r5, r1, 8 /* 8017FB30 0017CA90 93 AD A4 58 */ stw r29, lbl_805A9018@sda21(r13) /* 8017FB34 0017CA94 91 01 00 30 */ stw r8, 0x30(r1) /* 8017FB38 0017CA98 90 FF 00 1C */ stw r7, 0x1c(r31) /* 8017FB3C 0017CA9C 90 1F 00 18 */ stw r0, 0x18(r31) /* 8017FB40 0017CAA0 93 C6 00 0C */ stw r30, 0xc(r6) /* 8017FB44 0017CAA4 93 A6 00 08 */ stw r29, 8(r6) /* 8017FB48 0017CAA8 91 06 00 10 */ stw r8, 0x10(r6) /* 8017FB4C 0017CAAC D0 21 00 08 */ stfs f1, 8(r1) /* 8017FB50 0017CAB0 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8017FB54 0017CAB4 D0 21 00 10 */ stfs f1, 0x10(r1) /* 8017FB58 0017CAB8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8017FB5C 0017CABC D0 01 00 18 */ stfs f0, 0x18(r1) /* 8017FB60 0017CAC0 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8017FB64 0017CAC4 48 1B 89 A5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 8017FB68 0017CAC8 80 01 00 64 */ lwz r0, 0x64(r1) /* 8017FB6C 0017CACC 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8017FB70 0017CAD0 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8017FB74 0017CAD4 83 A1 00 54 */ lwz r29, 0x54(r1) /* 8017FB78 0017CAD8 7C 08 03 A6 */ mtlr r0 /* 8017FB7C 0017CADC 38 21 00 60 */ addi r1, r1, 0x60 /* 8017FB80 0017CAE0 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805ABF50 lbl_805ABF50: # ROM: 0x3F87F0 .4byte 0 .global lbl_805ABF54 lbl_805ABF54: # ROM: 0x3F87F4 .float 6.2831855 .global lbl_805ABF58 lbl_805ABF58: # ROM: 0x3F87F8 .float 0.25 .global lbl_805ABF5C lbl_805ABF5C: # ROM: 0x3F87FC .float 0.75 .global lbl_805ABF60 lbl_805ABF60: # ROM: 0x3F8800 .double 1.0 .global lbl_805ABF68 lbl_805ABF68: # ROM: 0x3F8808 .float -1.0 .global lbl_805ABF6C lbl_805ABF6C: # ROM: 0x3F880C .float 1.0 .global lbl_805ABF70 lbl_805ABF70: # ROM: 0x3F8810 .4byte 0x3F50624D .4byte 0xE0000000 .global lbl_805ABF78 lbl_805ABF78: # ROM: 0x3F8818 .4byte 0x400921FB .4byte 0x54442D18 .global lbl_805ABF80 lbl_805ABF80: # ROM: 0x3F8820 .float 0.017453292 .global lbl_805ABF84 lbl_805ABF84: # ROM: 0x3F8824 .4byte 0x3D4CCCCD .global lbl_805ABF88 lbl_805ABF88: # ROM: 0x3F8828 .float 0.5 .global lbl_805ABF8C lbl_805ABF8C: # ROM: 0x3F882C .4byte 0x3FC90FDB .global lbl_805ABF90 lbl_805ABF90: # ROM: 0x3F8830 .4byte 0xC2000000 .global lbl_805ABF94 lbl_805ABF94: # ROM: 0x3F8834 .4byte 0x3D23D70B .global lbl_805ABF98 lbl_805ABF98: # ROM: 0x3F8838 .float 0.9 .global lbl_805ABF9C lbl_805ABF9C: # ROM: 0x3F883C .float 2.0 .global lbl_805ABFA0 lbl_805ABFA0: # ROM: 0x3F8840 .4byte 0x461C4000 .global lbl_805ABFA4 lbl_805ABFA4: # ROM: 0x3F8844 .float 0.01 .global lbl_805ABFA8 lbl_805ABFA8: # ROM: 0x3F8848 .float 4.0 .global lbl_805ABFAC lbl_805ABFAC: # ROM: 0x3F884C .4byte 0x41A00000 .global lbl_805ABFB0 lbl_805ABFB0: # ROM: 0x3F8850 .4byte 0x3E8F5C29 .4byte 0 .global lbl_805ABFB8 lbl_805ABFB8: # ROM: 0x3F8858 .double 4.503601774854144E15 .global lbl_805ABFC0 lbl_805ABFC0: # ROM: 0x3F8860 .float 5.0 .global lbl_805ABFC4 lbl_805ABFC4: # ROM: 0x3F8864 .4byte 0x3F3504F3