.include "macros.inc" .section .ctors, "wa" lbl_ctor: .4byte __sinit_CPlayerDynamics_cpp .section .sdata .balign 8 .global lbl_805A84E8 lbl_805A84E8: # ROM: 0x3F5E88 .4byte 0 .global lbl_805A84EC lbl_805A84EC: # ROM: 0x3F5E8C .float 1.0 .global lbl_805A84F0 lbl_805A84F0: # ROM: 0x3F5E90 .4byte 0x00000013 .global lbl_805A84F4 lbl_805A84F4: # ROM: 0x3F5E94 .4byte 0x00000012 .global lbl_805A84F8 lbl_805A84F8: # ROM: 0x3F5E98 .4byte 0x00000020 .global lbl_805A84FC lbl_805A84FC: # ROM: 0x3F5E9C .4byte 0x00000021 .global lbl_805A8500 lbl_805A8500: # ROM: 0x3F5EA0 .4byte 0x00000015 .global lbl_805A8504 lbl_805A8504: # ROM: 0x3F5EA4 .4byte 0 .global lbl_805A8508 lbl_805A8508: # ROM: 0x3F5EA8 .4byte 0 .global lbl_805A850C lbl_805A850C: # ROM: 0x3F5EAC .4byte 0 .global lbl_805A8510 lbl_805A8510: # ROM: 0x3F5EB0 .4byte 0 .global lbl_805A8514 lbl_805A8514: # ROM: 0x3F5EB4 .4byte 0 .global lbl_805A8518 lbl_805A8518: # ROM: 0x3F5EB8 .float 1.0 .global lbl_805A851C lbl_805A851C: # ROM: 0x3F5EBC .float -1.0 .global lbl_805A8520 lbl_805A8520: # ROM: 0x3F5EC0 .float 1.0 .global lbl_805A8524 lbl_805A8524: # ROM: 0x3F5EC4 .4byte 0 .global lbl_805A8528 lbl_805A8528: # ROM: 0x3F5EC8 .4byte 0 .global lbl_805A852C lbl_805A852C: # ROM: 0x3F5ECC .float 1.0 .global lbl_805A8530 lbl_805A8530: # ROM: 0x3F5ED0 .float 1.0 .4byte 0 .section .bss .balign 8 .global lbl_8046E0D8 lbl_8046E0D8: .skip 0x18 .section .sbss, "wa" .balign 8 .global lbl_805A9150 lbl_805A9150: .skip 0x4 .global lbl_805A9154 lbl_805A9154: .skip 0x4 .global lbl_805A9158 lbl_805A9158: .skip 0x4 .global lbl_805A915C lbl_805A915C: .skip 0x4 .section .text, "ax" .global UpdateMorphBallTransition__7CPlayerFfR13CStateManager UpdateMorphBallTransition__7CPlayerFfR13CStateManager: /* 80281D68 0027ECC8 94 21 FD 90 */ stwu r1, -0x270(r1) /* 80281D6C 0027ECCC 7C 08 02 A6 */ mflr r0 /* 80281D70 0027ECD0 90 01 02 74 */ stw r0, 0x274(r1) /* 80281D74 0027ECD4 DB E1 02 60 */ stfd f31, 0x260(r1) /* 80281D78 0027ECD8 F3 E1 02 68 */ psq_st f31, 616(r1), 0, qr0 /* 80281D7C 0027ECDC DB C1 02 50 */ stfd f30, 0x250(r1) /* 80281D80 0027ECE0 F3 C1 02 58 */ psq_st f30, 600(r1), 0, qr0 /* 80281D84 0027ECE4 DB A1 02 40 */ stfd f29, 0x240(r1) /* 80281D88 0027ECE8 F3 A1 02 48 */ psq_st f29, 584(r1), 0, qr0 /* 80281D8C 0027ECEC BF 21 02 24 */ stmw r25, 0x224(r1) /* 80281D90 0027ECF0 7C 7C 1B 78 */ mr r28, r3 /* 80281D94 0027ECF4 FF E0 08 90 */ fmr f31, f1 /* 80281D98 0027ECF8 83 C3 02 F8 */ lwz r30, 0x2f8(r3) /* 80281D9C 0027ECFC 7C 9D 23 78 */ mr r29, r4 /* 80281DA0 0027ED00 2C 1E 00 02 */ cmpwi r30, 2 /* 80281DA4 0027ED04 41 82 00 A4 */ beq lbl_80281E48 /* 80281DA8 0027ED08 2C 1E 00 03 */ cmpwi r30, 3 /* 80281DAC 0027ED0C 41 82 00 9C */ beq lbl_80281E48 /* 80281DB0 0027ED10 80 7D 08 B8 */ lwz r3, 0x8b8(r29) /* 80281DB4 0027ED14 80 63 00 00 */ lwz r3, 0(r3) /* 80281DB8 0027ED18 83 23 00 20 */ lwz r25, 0x20(r3) /* 80281DBC 0027ED1C 4B E0 F7 09 */ bl GetIsFusionEnabled__12CPlayerStateFv /* 80281DC0 0027ED20 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80281DC4 0027ED24 41 82 00 08 */ beq lbl_80281DCC /* 80281DC8 0027ED28 3B 39 00 04 */ addi r25, r25, 4 lbl_80281DCC: /* 80281DCC 0027ED2C 80 1C 07 CC */ lwz r0, 0x7cc(r28) /* 80281DD0 0027ED30 7C 00 C8 00 */ cmpw r0, r25 /* 80281DD4 0027ED34 41 82 0B 88 */ beq lbl_8028295C /* 80281DD8 0027ED38 93 3C 07 CC */ stw r25, 0x7cc(r28) /* 80281DDC 0027ED3C 38 61 01 C8 */ addi r3, r1, 0x1c8 /* 80281DE0 0027ED40 38 81 01 2C */ addi r4, r1, 0x12c /* 80281DE4 0027ED44 88 DC 07 E4 */ lbz r6, 0x7e4(r28) /* 80281DE8 0027ED48 80 FC 07 E8 */ lwz r7, 0x7e8(r28) /* 80281DEC 0027ED4C 80 BC 07 CC */ lwz r5, 0x7cc(r28) /* 80281DF0 0027ED50 80 1C 07 D0 */ lwz r0, 0x7d0(r28) /* 80281DF4 0027ED54 90 01 01 2C */ stw r0, 0x12c(r1) /* 80281DF8 0027ED58 90 A1 01 30 */ stw r5, 0x130(r1) /* 80281DFC 0027ED5C C0 1C 07 D8 */ lfs f0, 0x7d8(r28) /* 80281E00 0027ED60 D0 01 01 34 */ stfs f0, 0x134(r1) /* 80281E04 0027ED64 C0 1C 07 DC */ lfs f0, 0x7dc(r28) /* 80281E08 0027ED68 D0 01 01 38 */ stfs f0, 0x138(r1) /* 80281E0C 0027ED6C C0 1C 07 E0 */ lfs f0, 0x7e0(r28) /* 80281E10 0027ED70 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 80281E14 0027ED74 98 C1 01 40 */ stb r6, 0x140(r1) /* 80281E18 0027ED78 90 E1 01 44 */ stw r7, 0x144(r1) /* 80281E1C 0027ED7C 4B E9 4D 39 */ bl __ct__10CModelDataFRC8CAnimRes /* 80281E20 0027ED80 7F 83 E3 78 */ mr r3, r28 /* 80281E24 0027ED84 38 81 01 C8 */ addi r4, r1, 0x1c8 /* 80281E28 0027ED88 4B DD 32 09 */ bl SetModelData__6CActorFRC10CModelData /* 80281E2C 0027ED8C 38 61 01 C8 */ addi r3, r1, 0x1c8 /* 80281E30 0027ED90 38 80 FF FF */ li r4, -1 /* 80281E34 0027ED94 4B E9 4C 19 */ bl __dt__10CModelDataFv /* 80281E38 0027ED98 7F 83 E3 78 */ mr r3, r28 /* 80281E3C 0027ED9C 7F A4 EB 78 */ mr r4, r29 /* 80281E40 0027EDA0 48 00 20 E9 */ bl SetIntoBallReadyAnimation__7CPlayerFR13CStateManager /* 80281E44 0027EDA4 48 00 0B 18 */ b lbl_8028295C lbl_80281E48: /* 80281E48 0027EDA8 2C 1E 00 03 */ cmpwi r30, 3 /* 80281E4C 0027EDAC 41 82 00 08 */ beq lbl_80281E54 /* 80281E50 0027EDB0 48 00 02 54 */ b lbl_802820A4 lbl_80281E54: /* 80281E54 0027EDB4 80 1C 05 84 */ lwz r0, 0x584(r28) /* 80281E58 0027EDB8 80 7C 00 64 */ lwz r3, 0x64(r28) /* 80281E5C 0027EDBC 28 00 00 0E */ cmplwi r0, 0xe /* 80281E60 0027EDC0 83 E3 00 10 */ lwz r31, 0x10(r3) /* 80281E64 0027EDC4 40 82 01 0C */ bne lbl_80281F70 /* 80281E68 0027EDC8 3C 80 80 3D */ lis r4, lbl_803D5968@ha /* 80281E6C 0027EDCC 38 61 00 8C */ addi r3, r1, 0x8c /* 80281E70 0027EDD0 38 84 59 68 */ addi r4, r4, lbl_803D5968@l /* 80281E74 0027EDD4 4B D8 2E 45 */ bl string_l__4rstlFPCc /* 80281E78 0027EDD8 80 9C 05 84 */ lwz r4, 0x584(r28) /* 80281E7C 0027EDDC 7F E3 FB 78 */ mr r3, r31 /* 80281E80 0027EDE0 4B DA A6 49 */ bl GetAnimationDuration__9CAnimDataCFi /* 80281E84 0027EDE4 FF A0 08 90 */ fmr f29, f1 /* 80281E88 0027EDE8 7F E3 FB 78 */ mr r3, r31 /* 80281E8C 0027EDEC 38 81 00 8C */ addi r4, r1, 0x8c /* 80281E90 0027EDF0 4B DA A5 DD */ bl "GetAnimTimeRemaining__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80281E94 0027EDF4 EC 21 E8 24 */ fdivs f1, f1, f29 /* 80281E98 0027EDF8 C0 02 BD 7C */ lfs f0, lbl_805ADA9C@sda21(r2) /* 80281E9C 0027EDFC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80281EA0 0027EE00 7C 00 00 26 */ mfcr r0 /* 80281EA4 0027EE04 38 61 00 8C */ addi r3, r1, 0x8c /* 80281EA8 0027EE08 54 1B 0F FE */ srwi r27, r0, 0x1f /* 80281EAC 0027EE0C 48 0B BC 35 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80281EB0 0027EE10 28 1B 00 00 */ cmplwi r27, 0 /* 80281EB4 0027EE14 41 82 01 F0 */ beq lbl_802820A4 /* 80281EB8 0027EE18 38 00 00 00 */ li r0, 0 /* 80281EBC 0027EE1C FC 20 F8 90 */ fmr f1, f31 /* 80281EC0 0027EE20 98 01 00 09 */ stb r0, 9(r1) /* 80281EC4 0027EE24 7F 83 E3 78 */ mr r3, r28 /* 80281EC8 0027EE28 7F A5 EB 78 */ mr r5, r29 /* 80281ECC 0027EE2C 38 81 00 09 */ addi r4, r1, 9 /* 80281ED0 0027EE30 48 00 1D 75 */ bl GetNextBallTransitionAnim__7CPlayerFfRbR13CStateManager /* 80281ED4 0027EE34 90 7C 05 84 */ stw r3, 0x584(r28) /* 80281ED8 0027EE38 38 60 00 00 */ li r3, 0 /* 80281EDC 0027EE3C 80 9C 00 64 */ lwz r4, 0x64(r28) /* 80281EE0 0027EE40 28 04 00 00 */ cmplwi r4, 0 /* 80281EE4 0027EE44 41 82 00 14 */ beq lbl_80281EF8 /* 80281EE8 0027EE48 80 04 00 10 */ lwz r0, 0x10(r4) /* 80281EEC 0027EE4C 28 00 00 00 */ cmplwi r0, 0 /* 80281EF0 0027EE50 41 82 00 08 */ beq lbl_80281EF8 /* 80281EF4 0027EE54 38 60 00 01 */ li r3, 1 lbl_80281EF8: /* 80281EF8 0027EE58 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80281EFC 0027EE5C 41 82 01 A8 */ beq lbl_802820A4 /* 80281F00 0027EE60 80 7C 05 84 */ lwz r3, 0x584(r28) /* 80281F04 0027EE64 38 00 00 00 */ li r0, 0 /* 80281F08 0027EE68 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80281F0C 0027EE6C 38 A0 FF FF */ li r5, -1 /* 80281F10 0027EE70 38 C0 00 01 */ li r6, 1 /* 80281F14 0027EE74 90 61 01 A0 */ stw r3, 0x1a0(r1) /* 80281F18 0027EE78 7F E3 FB 78 */ mr r3, r31 /* 80281F1C 0027EE7C 38 81 01 A0 */ addi r4, r1, 0x1a0 /* 80281F20 0027EE80 90 A1 01 A4 */ stw r5, 0x1a4(r1) /* 80281F24 0027EE84 38 A0 00 00 */ li r5, 0 /* 80281F28 0027EE88 D0 01 01 A8 */ stfs f0, 0x1a8(r1) /* 80281F2C 0027EE8C 98 C1 01 AC */ stb r6, 0x1ac(r1) /* 80281F30 0027EE90 90 01 01 B0 */ stw r0, 0x1b0(r1) /* 80281F34 0027EE94 90 01 01 B4 */ stw r0, 0x1b4(r1) /* 80281F38 0027EE98 98 01 01 B8 */ stb r0, 0x1b8(r1) /* 80281F3C 0027EE9C 90 01 01 BC */ stw r0, 0x1bc(r1) /* 80281F40 0027EEA0 90 01 01 C0 */ stw r0, 0x1c0(r1) /* 80281F44 0027EEA4 90 01 01 C4 */ stw r0, 0x1c4(r1) /* 80281F48 0027EEA8 4B DA AE 35 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 80281F4C 0027EEAC 88 81 00 09 */ lbz r4, 9(r1) /* 80281F50 0027EEB0 38 60 00 01 */ li r3, 1 /* 80281F54 0027EEB4 88 1F 02 20 */ lbz r0, 0x220(r31) /* 80281F58 0027EEB8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 80281F5C 0027EEBC 98 1F 02 20 */ stb r0, 0x220(r31) /* 80281F60 0027EEC0 88 1F 02 20 */ lbz r0, 0x220(r31) /* 80281F64 0027EEC4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 80281F68 0027EEC8 98 1F 02 20 */ stb r0, 0x220(r31) /* 80281F6C 0027EECC 48 00 01 38 */ b lbl_802820A4 lbl_80281F70: /* 80281F70 0027EED0 28 00 00 05 */ cmplwi r0, 5 /* 80281F74 0027EED4 41 82 01 30 */ beq lbl_802820A4 /* 80281F78 0027EED8 28 00 00 07 */ cmplwi r0, 7 /* 80281F7C 0027EEDC 41 82 01 28 */ beq lbl_802820A4 /* 80281F80 0027EEE0 FC 20 F8 90 */ fmr f1, f31 /* 80281F84 0027EEE4 7F 83 E3 78 */ mr r3, r28 /* 80281F88 0027EEE8 48 00 39 81 */ bl GetActualFirstPersonMaxVelocity__7CPlayerCFv /* 80281F8C 0027EEEC FF A0 08 90 */ fmr f29, f1 /* 80281F90 0027EEF0 C0 3C 01 38 */ lfs f1, 0x138(r28) /* 80281F94 0027EEF4 C0 5C 01 3C */ lfs f2, 0x13c(r28) /* 80281F98 0027EEF8 38 61 00 60 */ addi r3, r1, 0x60 /* 80281F9C 0027EEFC 48 09 22 65 */ bl __ct__9CVector2fFff /* 80281FA0 0027EF00 38 61 00 60 */ addi r3, r1, 0x60 /* 80281FA4 0027EF04 48 09 21 51 */ bl Magnitude__9CVector2fCFv /* 80281FA8 0027EF08 FF C0 08 90 */ fmr f30, f1 /* 80281FAC 0027EF0C C0 3C 05 8C */ lfs f1, 0x58c(r28) /* 80281FB0 0027EF10 C0 02 BD 84 */ lfs f0, lbl_805ADAA4@sda21(r2) /* 80281FB4 0027EF14 EC 21 F0 28 */ fsubs f1, f1, f30 /* 80281FB8 0027EF18 EC 00 07 72 */ fmuls f0, f0, f29 /* 80281FBC 0027EF1C FC 20 0A 10 */ fabs f1, f1 /* 80281FC0 0027EF20 FC 20 08 18 */ frsp f1, f1 /* 80281FC4 0027EF24 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80281FC8 0027EF28 41 81 00 10 */ bgt lbl_80281FD8 /* 80281FCC 0027EF2C C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80281FD0 0027EF30 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80281FD4 0027EF34 40 80 00 D0 */ bge lbl_802820A4 lbl_80281FD8: /* 80281FD8 0027EF38 38 00 00 00 */ li r0, 0 /* 80281FDC 0027EF3C FC 20 F8 90 */ fmr f1, f31 /* 80281FE0 0027EF40 98 01 00 08 */ stb r0, 8(r1) /* 80281FE4 0027EF44 7F 83 E3 78 */ mr r3, r28 /* 80281FE8 0027EF48 7F A5 EB 78 */ mr r5, r29 /* 80281FEC 0027EF4C 38 81 00 08 */ addi r4, r1, 8 /* 80281FF0 0027EF50 48 00 1C 55 */ bl GetNextBallTransitionAnim__7CPlayerFfRbR13CStateManager /* 80281FF4 0027EF54 80 BC 00 64 */ lwz r5, 0x64(r28) /* 80281FF8 0027EF58 38 80 00 00 */ li r4, 0 /* 80281FFC 0027EF5C 28 05 00 00 */ cmplwi r5, 0 /* 80282000 0027EF60 41 82 00 14 */ beq lbl_80282014 /* 80282004 0027EF64 80 05 00 10 */ lwz r0, 0x10(r5) /* 80282008 0027EF68 28 00 00 00 */ cmplwi r0, 0 /* 8028200C 0027EF6C 41 82 00 08 */ beq lbl_80282014 /* 80282010 0027EF70 38 80 00 01 */ li r4, 1 lbl_80282014: /* 80282014 0027EF74 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 80282018 0027EF78 41 82 00 8C */ beq lbl_802820A4 /* 8028201C 0027EF7C 80 1C 05 84 */ lwz r0, 0x584(r28) /* 80282020 0027EF80 7C 00 18 40 */ cmplw r0, r3 /* 80282024 0027EF84 41 82 00 80 */ beq lbl_802820A4 /* 80282028 0027EF88 28 00 00 07 */ cmplwi r0, 7 /* 8028202C 0027EF8C 41 82 00 78 */ beq lbl_802820A4 /* 80282030 0027EF90 90 7C 05 84 */ stw r3, 0x584(r28) /* 80282034 0027EF94 38 E0 FF FF */ li r7, -1 /* 80282038 0027EF98 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 8028203C 0027EF9C 38 C0 00 01 */ li r6, 1 /* 80282040 0027EFA0 80 BC 05 84 */ lwz r5, 0x584(r28) /* 80282044 0027EFA4 38 00 00 00 */ li r0, 0 /* 80282048 0027EFA8 7F E3 FB 78 */ mr r3, r31 /* 8028204C 0027EFAC 38 81 01 78 */ addi r4, r1, 0x178 /* 80282050 0027EFB0 90 A1 01 78 */ stw r5, 0x178(r1) /* 80282054 0027EFB4 38 A0 00 00 */ li r5, 0 /* 80282058 0027EFB8 90 E1 01 7C */ stw r7, 0x17c(r1) /* 8028205C 0027EFBC D0 01 01 80 */ stfs f0, 0x180(r1) /* 80282060 0027EFC0 98 C1 01 84 */ stb r6, 0x184(r1) /* 80282064 0027EFC4 90 01 01 88 */ stw r0, 0x188(r1) /* 80282068 0027EFC8 90 01 01 8C */ stw r0, 0x18c(r1) /* 8028206C 0027EFCC 98 01 01 90 */ stb r0, 0x190(r1) /* 80282070 0027EFD0 90 01 01 94 */ stw r0, 0x194(r1) /* 80282074 0027EFD4 90 01 01 98 */ stw r0, 0x198(r1) /* 80282078 0027EFD8 90 01 01 9C */ stw r0, 0x19c(r1) /* 8028207C 0027EFDC 4B DA AD 01 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 80282080 0027EFE0 88 81 00 08 */ lbz r4, 8(r1) /* 80282084 0027EFE4 38 60 00 01 */ li r3, 1 /* 80282088 0027EFE8 88 1F 02 20 */ lbz r0, 0x220(r31) /* 8028208C 0027EFEC 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 80282090 0027EFF0 98 1F 02 20 */ stb r0, 0x220(r31) /* 80282094 0027EFF4 88 1F 02 20 */ lbz r0, 0x220(r31) /* 80282098 0027EFF8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8028209C 0027EFFC 98 1F 02 20 */ stb r0, 0x220(r31) /* 802820A0 0027F000 D3 DC 05 8C */ stfs f30, 0x58c(r28) lbl_802820A4: /* 802820A4 0027F004 FC 20 F8 90 */ fmr f1, f31 /* 802820A8 0027F008 7F 84 E3 78 */ mr r4, r28 /* 802820AC 0027F00C 7F A5 EB 78 */ mr r5, r29 /* 802820B0 0027F010 38 61 00 DC */ addi r3, r1, 0xdc /* 802820B4 0027F014 38 C0 00 01 */ li r6, 1 /* 802820B8 0027F018 4B DD 31 E5 */ bl UpdateAnimation__6CActorFfR13CStateManagerb /* 802820BC 0027F01C C0 E1 00 DC */ lfs f7, 0xdc(r1) /* 802820C0 0027F020 FC 20 F8 90 */ fmr f1, f31 /* 802820C4 0027F024 C0 C1 00 E0 */ lfs f6, 0xe0(r1) /* 802820C8 0027F028 7F 83 E3 78 */ mr r3, r28 /* 802820CC 0027F02C C0 A1 00 E4 */ lfs f5, 0xe4(r1) /* 802820D0 0027F030 3B 41 01 1C */ addi r26, r1, 0x11c /* 802820D4 0027F034 C0 81 00 E8 */ lfs f4, 0xe8(r1) /* 802820D8 0027F038 C0 61 00 EC */ lfs f3, 0xec(r1) /* 802820DC 0027F03C 38 81 01 10 */ addi r4, r1, 0x110 /* 802820E0 0027F040 C0 41 00 F0 */ lfs f2, 0xf0(r1) /* 802820E4 0027F044 C0 01 00 F4 */ lfs f0, 0xf4(r1) /* 802820E8 0027F048 D0 E1 01 10 */ stfs f7, 0x110(r1) /* 802820EC 0027F04C D0 C1 01 14 */ stfs f6, 0x114(r1) /* 802820F0 0027F050 D0 A1 01 18 */ stfs f5, 0x118(r1) /* 802820F4 0027F054 D0 81 01 1C */ stfs f4, 0x11c(r1) /* 802820F8 0027F058 D0 61 01 20 */ stfs f3, 0x120(r1) /* 802820FC 0027F05C D0 41 01 24 */ stfs f2, 0x124(r1) /* 80282100 0027F060 D0 01 01 28 */ stfs f0, 0x128(r1) /* 80282104 0027F064 4B E9 8C A9 */ bl MoveInOneFrameOR__13CPhysicsActorFRC9CVector3ff /* 80282108 0027F068 FC 20 F8 90 */ fmr f1, f31 /* 8028210C 0027F06C 7F 83 E3 78 */ mr r3, r28 /* 80282110 0027F070 7F 44 D3 78 */ mr r4, r26 /* 80282114 0027F074 4B E9 8C 49 */ bl RotateInOneFrameOR__13CPhysicsActorFRC11CQuaternionf /* 80282118 0027F078 C0 1C 05 74 */ lfs f0, 0x574(r28) /* 8028211C 0027F07C EC 20 F8 2A */ fadds f1, f0, f31 /* 80282120 0027F080 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80282124 0027F084 C0 1C 05 78 */ lfs f0, 0x578(r28) /* 80282128 0027F088 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028212C 0027F08C 40 80 00 0C */ bge lbl_80282138 /* 80282130 0027F090 38 61 00 24 */ addi r3, r1, 0x24 /* 80282134 0027F094 48 00 00 08 */ b lbl_8028213C lbl_80282138: /* 80282138 0027F098 38 7C 05 78 */ addi r3, r28, 0x578 lbl_8028213C: /* 8028213C 0027F09C C0 23 00 00 */ lfs f1, 0(r3) /* 80282140 0027F0A0 C0 02 BD 88 */ lfs f0, lbl_805ADAA8@sda21(r2) /* 80282144 0027F0A4 D0 3C 05 74 */ stfs f1, 0x574(r28) /* 80282148 0027F0A8 C0 5C 05 74 */ lfs f2, 0x574(r28) /* 8028214C 0027F0AC C0 3C 05 78 */ lfs f1, 0x578(r28) /* 80282150 0027F0B0 EF A2 08 24 */ fdivs f29, f2, f1 /* 80282154 0027F0B4 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 80282158 0027F0B8 40 80 00 14 */ bge lbl_8028216C /* 8028215C 0027F0BC C0 02 BD 8C */ lfs f0, lbl_805ADAAC@sda21(r2) /* 80282160 0027F0C0 EC 00 07 F2 */ fmuls f0, f0, f31 /* 80282164 0027F0C4 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80282168 0027F0C8 41 81 00 2C */ bgt lbl_80282194 lbl_8028216C: /* 8028216C 0027F0CC 80 1C 07 34 */ lwz r0, 0x734(r28) /* 80282170 0027F0D0 2C 00 00 00 */ cmpwi r0, 0 /* 80282174 0027F0D4 41 82 00 20 */ beq lbl_80282194 /* 80282178 0027F0D8 80 1C 07 3C */ lwz r0, 0x73c(r28) /* 8028217C 0027F0DC 38 61 00 20 */ addi r3, r1, 0x20 /* 80282180 0027F0E0 38 9C 07 30 */ addi r4, r28, 0x730 /* 80282184 0027F0E4 38 A1 00 1C */ addi r5, r1, 0x1c /* 80282188 0027F0E8 90 01 00 18 */ stw r0, 0x18(r1) /* 8028218C 0027F0EC 90 01 00 1C */ stw r0, 0x1c(r1) /* 80282190 0027F0F0 48 00 07 F9 */ bl sub_80282988 lbl_80282194: /* 80282194 0027F0F4 3B 20 00 00 */ li r25, 0 /* 80282198 0027F0F8 3B 60 00 00 */ li r27, 0 /* 8028219C 0027F0FC 48 00 00 38 */ b lbl_802821D4 lbl_802821A0: /* 802821A0 0027F100 80 6D A3 90 */ lwz r3, kInvalidAreaId@sda21(r13) /* 802821A4 0027F104 FC 20 F8 90 */ fmr f1, f31 /* 802821A8 0027F108 38 1B 00 04 */ addi r0, r27, 4 /* 802821AC 0027F10C 7F A5 EB 78 */ mr r5, r29 /* 802821B0 0027F110 90 61 00 14 */ stw r3, 0x14(r1) /* 802821B4 0027F114 38 61 00 C0 */ addi r3, r1, 0xc0 /* 802821B8 0027F118 38 C1 00 14 */ addi r6, r1, 0x14 /* 802821BC 0027F11C 80 9C 07 3C */ lwz r4, 0x73c(r28) /* 802821C0 0027F120 38 E0 00 01 */ li r7, 1 /* 802821C4 0027F124 7C 84 00 2E */ lwzx r4, r4, r0 /* 802821C8 0027F128 4B E9 39 6D */ bl AdvanceAnimation__10CModelDataFfR13CStateManager7TAreaIdb /* 802821CC 0027F12C 3B 7B 00 08 */ addi r27, r27, 8 /* 802821D0 0027F130 3B 39 00 01 */ addi r25, r25, 1 lbl_802821D4: /* 802821D4 0027F134 80 1C 07 34 */ lwz r0, 0x734(r28) /* 802821D8 0027F138 7C 19 00 00 */ cmpw r25, r0 /* 802821DC 0027F13C 41 80 FF C4 */ blt lbl_802821A0 /* 802821E0 0027F140 80 7D 08 70 */ lwz r3, 0x870(r29) /* 802821E4 0027F144 7F A4 EB 78 */ mr r4, r29 /* 802821E8 0027F148 4B D8 99 31 */ bl GetCurrentCamera__14CCameraManagerCFR13CStateManager /* 802821EC 0027F14C C0 23 01 60 */ lfs f1, 0x160(r3) /* 802821F0 0027F150 38 81 00 80 */ addi r4, r1, 0x80 /* 802821F4 0027F154 C0 63 00 60 */ lfs f3, 0x60(r3) /* 802821F8 0027F158 C0 43 00 50 */ lfs f2, 0x50(r3) /* 802821FC 0027F15C C0 03 00 40 */ lfs f0, 0x40(r3) /* 80282200 0027F160 7F 83 E3 78 */ mr r3, r28 /* 80282204 0027F164 D0 01 00 80 */ stfs f0, 0x80(r1) /* 80282208 0027F168 D0 41 00 84 */ stfs f2, 0x84(r1) /* 8028220C 0027F16C D0 61 00 88 */ stfs f3, 0x88(r1) /* 80282210 0027F170 4B D9 06 F1 */ bl GetTransitionAlpha__7CPlayerCFRC9CVector3ff /* 80282214 0027F174 2C 1E 00 02 */ cmpwi r30, 2 /* 80282218 0027F178 D0 3C 05 88 */ stfs f1, 0x588(r28) /* 8028221C 0027F17C 40 82 00 B4 */ bne lbl_802822D0 /* 80282220 0027F180 C0 02 BD 90 */ lfs f0, lbl_805ADAB0@sda21(r2) /* 80282224 0027F184 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 80282228 0027F188 40 81 00 A8 */ ble lbl_802822D0 /* 8028222C 0027F18C EC 3D 00 28 */ fsubs f1, f29, f0 /* 80282230 0027F190 C0 02 BD 98 */ lfs f0, lbl_805ADAB8@sda21(r2) /* 80282234 0027F194 C0 42 BD 80 */ lfs f2, lbl_805ADAA0@sda21(r2) /* 80282238 0027F198 C0 62 BD 94 */ lfs f3, lbl_805ADAB4@sda21(r2) /* 8028223C 0027F19C EC 21 00 24 */ fdivs f1, f1, f0 /* 80282240 0027F1A0 C0 0D 99 70 */ lfs f0, lbl_805A8530@sda21(r13) /* 80282244 0027F1A4 EC 22 08 28 */ fsubs f1, f2, f1 /* 80282248 0027F1A8 EC 23 08 2A */ fadds f1, f3, f1 /* 8028224C 0027F1AC FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80282250 0027F1B0 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80282254 0027F1B4 40 80 00 0C */ bge lbl_80282260 /* 80282258 0027F1B8 38 8D 99 70 */ addi r4, r13, lbl_805A8530@sda21 /* 8028225C 0027F1BC 48 00 00 08 */ b lbl_80282264 lbl_80282260: /* 80282260 0027F1C0 38 81 00 10 */ addi r4, r1, 0x10 lbl_80282264: /* 80282264 0027F1C4 C0 04 00 00 */ lfs f0, 0(r4) /* 80282268 0027F1C8 38 A0 00 05 */ li r5, 5 /* 8028226C 0027F1CC C0 5C 05 88 */ lfs f2, 0x588(r28) /* 80282270 0027F1D0 38 80 00 00 */ li r4, 0 /* 80282274 0027F1D4 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80282278 0027F1D8 38 00 00 03 */ li r0, 3 /* 8028227C 0027F1DC EC 02 00 32 */ fmuls f0, f2, f0 /* 80282280 0027F1E0 38 61 00 5C */ addi r3, r1, 0x5c /* 80282284 0027F1E4 FC 40 08 90 */ fmr f2, f1 /* 80282288 0027F1E8 FC 60 08 90 */ fmr f3, f1 /* 8028228C 0027F1EC D0 1C 05 88 */ stfs f0, 0x588(r28) /* 80282290 0027F1F0 C0 9C 05 88 */ lfs f4, 0x588(r28) /* 80282294 0027F1F4 98 A1 00 58 */ stb r5, 0x58(r1) /* 80282298 0027F1F8 98 81 00 59 */ stb r4, 0x59(r1) /* 8028229C 0027F1FC B0 01 00 5A */ sth r0, 0x5a(r1) /* 802822A0 0027F200 48 0E 11 4D */ bl __ct__6CColorFffff /* 802822A4 0027F204 A0 01 00 5A */ lhz r0, 0x5a(r1) /* 802822A8 0027F208 88 81 00 59 */ lbz r4, 0x59(r1) /* 802822AC 0027F20C 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d /* 802822B0 0027F210 80 A1 00 5C */ lwz r5, 0x5c(r1) /* 802822B4 0027F214 88 01 00 58 */ lbz r0, 0x58(r1) /* 802822B8 0027F218 60 63 00 01 */ ori r3, r3, 1 /* 802822BC 0027F21C 98 1C 00 B4 */ stb r0, 0xb4(r28) /* 802822C0 0027F220 98 9C 00 B5 */ stb r4, 0xb5(r28) /* 802822C4 0027F224 B0 7C 00 B6 */ sth r3, 0xb6(r28) /* 802822C8 0027F228 90 BC 00 B8 */ stw r5, 0xb8(r28) /* 802822CC 0027F22C 48 00 01 40 */ b lbl_8028240C lbl_802822D0: /* 802822D0 0027F230 2C 1E 00 03 */ cmpwi r30, 3 /* 802822D4 0027F234 40 82 00 E0 */ bne lbl_802823B4 /* 802822D8 0027F238 C0 9C 05 88 */ lfs f4, 0x588(r28) /* 802822DC 0027F23C C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 802822E0 0027F240 FC 04 08 40 */ fcmpo cr0, f4, f1 /* 802822E4 0027F244 40 80 00 D0 */ bge lbl_802823B4 /* 802822E8 0027F248 C0 02 BD 9C */ lfs f0, lbl_805ADABC@sda21(r2) /* 802822EC 0027F24C FC 04 00 40 */ fcmpo cr0, f4, f0 /* 802822F0 0027F250 40 81 00 70 */ ble lbl_80282360 /* 802822F4 0027F254 38 A0 00 05 */ li r5, 5 /* 802822F8 0027F258 38 80 00 00 */ li r4, 0 /* 802822FC 0027F25C 38 00 00 03 */ li r0, 3 /* 80282300 0027F260 FC 40 08 90 */ fmr f2, f1 /* 80282304 0027F264 FC 60 08 90 */ fmr f3, f1 /* 80282308 0027F268 98 A1 00 48 */ stb r5, 0x48(r1) /* 8028230C 0027F26C 38 61 00 4C */ addi r3, r1, 0x4c /* 80282310 0027F270 98 81 00 49 */ stb r4, 0x49(r1) /* 80282314 0027F274 B0 01 00 4A */ sth r0, 0x4a(r1) /* 80282318 0027F278 48 0E 10 D5 */ bl __ct__6CColorFffff /* 8028231C 0027F27C 88 C1 00 48 */ lbz r6, 0x48(r1) /* 80282320 0027F280 88 A1 00 49 */ lbz r5, 0x49(r1) /* 80282324 0027F284 A0 01 00 4A */ lhz r0, 0x4a(r1) /* 80282328 0027F288 80 61 00 4C */ lwz r3, 0x4c(r1) /* 8028232C 0027F28C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80282330 0027F290 98 C1 00 50 */ stb r6, 0x50(r1) /* 80282334 0027F294 60 04 00 01 */ ori r4, r0, 1 /* 80282338 0027F298 98 DC 00 B4 */ stb r6, 0xb4(r28) /* 8028233C 0027F29C 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 80282340 0027F2A0 60 00 00 20 */ ori r0, r0, 0x20 /* 80282344 0027F2A4 98 BC 00 B5 */ stb r5, 0xb5(r28) /* 80282348 0027F2A8 B0 1C 00 B6 */ sth r0, 0xb6(r28) /* 8028234C 0027F2AC 98 A1 00 51 */ stb r5, 0x51(r1) /* 80282350 0027F2B0 B0 81 00 52 */ sth r4, 0x52(r1) /* 80282354 0027F2B4 90 61 00 54 */ stw r3, 0x54(r1) /* 80282358 0027F2B8 90 7C 00 B8 */ stw r3, 0xb8(r28) /* 8028235C 0027F2BC 48 00 00 B0 */ b lbl_8028240C lbl_80282360: /* 80282360 0027F2C0 38 A0 00 05 */ li r5, 5 /* 80282364 0027F2C4 38 80 00 00 */ li r4, 0 /* 80282368 0027F2C8 38 00 00 03 */ li r0, 3 /* 8028236C 0027F2CC FC 40 08 90 */ fmr f2, f1 /* 80282370 0027F2D0 FC 60 08 90 */ fmr f3, f1 /* 80282374 0027F2D4 98 A1 00 40 */ stb r5, 0x40(r1) /* 80282378 0027F2D8 38 61 00 44 */ addi r3, r1, 0x44 /* 8028237C 0027F2DC 98 81 00 41 */ stb r4, 0x41(r1) /* 80282380 0027F2E0 B0 01 00 42 */ sth r0, 0x42(r1) /* 80282384 0027F2E4 48 0E 10 69 */ bl __ct__6CColorFffff /* 80282388 0027F2E8 A0 01 00 42 */ lhz r0, 0x42(r1) /* 8028238C 0027F2EC 88 81 00 41 */ lbz r4, 0x41(r1) /* 80282390 0027F2F0 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d /* 80282394 0027F2F4 80 A1 00 44 */ lwz r5, 0x44(r1) /* 80282398 0027F2F8 88 01 00 40 */ lbz r0, 0x40(r1) /* 8028239C 0027F2FC 60 63 00 01 */ ori r3, r3, 1 /* 802823A0 0027F300 98 1C 00 B4 */ stb r0, 0xb4(r28) /* 802823A4 0027F304 98 9C 00 B5 */ stb r4, 0xb5(r28) /* 802823A8 0027F308 B0 7C 00 B6 */ sth r3, 0xb6(r28) /* 802823AC 0027F30C 90 BC 00 B8 */ stw r5, 0xb8(r28) /* 802823B0 0027F310 48 00 00 5C */ b lbl_8028240C lbl_802823B4: /* 802823B4 0027F314 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 802823B8 0027F318 38 A0 00 05 */ li r5, 5 /* 802823BC 0027F31C C0 9C 05 88 */ lfs f4, 0x588(r28) /* 802823C0 0027F320 38 80 00 00 */ li r4, 0 /* 802823C4 0027F324 38 00 00 03 */ li r0, 3 /* 802823C8 0027F328 FC 40 08 90 */ fmr f2, f1 /* 802823CC 0027F32C FC 60 08 90 */ fmr f3, f1 /* 802823D0 0027F330 98 A1 00 38 */ stb r5, 0x38(r1) /* 802823D4 0027F334 38 61 00 3C */ addi r3, r1, 0x3c /* 802823D8 0027F338 98 81 00 39 */ stb r4, 0x39(r1) /* 802823DC 0027F33C B0 01 00 3A */ sth r0, 0x3a(r1) /* 802823E0 0027F340 48 0E 10 0D */ bl __ct__6CColorFffff /* 802823E4 0027F344 A0 01 00 3A */ lhz r0, 0x3a(r1) /* 802823E8 0027F348 88 81 00 39 */ lbz r4, 0x39(r1) /* 802823EC 0027F34C 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d /* 802823F0 0027F350 80 A1 00 3C */ lwz r5, 0x3c(r1) /* 802823F4 0027F354 88 01 00 38 */ lbz r0, 0x38(r1) /* 802823F8 0027F358 60 63 00 03 */ ori r3, r3, 3 /* 802823FC 0027F35C 98 1C 00 B4 */ stb r0, 0xb4(r28) /* 80282400 0027F360 98 9C 00 B5 */ stb r4, 0xb5(r28) /* 80282404 0027F364 B0 7C 00 B6 */ sth r3, 0xb6(r28) /* 80282408 0027F368 90 BC 00 B8 */ stw r5, 0xb8(r28) lbl_8028240C: /* 8028240C 0027F36C 80 1C 05 94 */ lwz r0, 0x594(r28) /* 80282410 0027F370 2C 00 00 04 */ cmpwi r0, 4 /* 80282414 0027F374 40 80 00 28 */ bge lbl_8028243C /* 80282418 0027F378 1C 00 00 30 */ mulli r0, r0, 0x30 /* 8028241C 0027F37C 7C 7C 02 14 */ add r3, r28, r0 /* 80282420 0027F380 34 63 05 98 */ addic. r3, r3, 0x598 /* 80282424 0027F384 41 82 00 0C */ beq lbl_80282430 /* 80282428 0027F388 38 9C 07 F4 */ addi r4, r28, 0x7f4 /* 8028242C 0027F38C 48 09 07 49 */ bl __ct__12CTransform4fFRC12CTransform4f lbl_80282430: /* 80282430 0027F390 80 7C 05 94 */ lwz r3, 0x594(r28) /* 80282434 0027F394 38 03 00 01 */ addi r0, r3, 1 /* 80282438 0027F398 90 1C 05 94 */ stw r0, 0x594(r28) lbl_8028243C: /* 8028243C 0027F39C 80 7C 05 94 */ lwz r3, 0x594(r28) /* 80282440 0027F3A0 3B 5C 05 98 */ addi r26, r28, 0x598 /* 80282444 0027F3A4 3B 63 FF FF */ addi r27, r3, -1 /* 80282448 0027F3A8 1C 1B 00 30 */ mulli r0, r27, 0x30 /* 8028244C 0027F3AC 7F FA 02 14 */ add r31, r26, r0 /* 80282450 0027F3B0 48 00 00 20 */ b lbl_80282470 lbl_80282454: /* 80282454 0027F3B4 38 1B FF FF */ addi r0, r27, -1 /* 80282458 0027F3B8 7F E3 FB 78 */ mr r3, r31 /* 8028245C 0027F3BC 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80282460 0027F3C0 7C 9A 02 14 */ add r4, r26, r0 /* 80282464 0027F3C4 48 09 06 DD */ bl __as__12CTransform4fFRC12CTransform4f /* 80282468 0027F3C8 3B FF FF D0 */ addi r31, r31, -48 /* 8028246C 0027F3CC 3B 7B FF FF */ addi r27, r27, -1 lbl_80282470: /* 80282470 0027F3D0 2C 1B 00 00 */ cmpwi r27, 0 /* 80282474 0027F3D4 41 81 FF E0 */ bgt lbl_80282454 /* 80282478 0027F3D8 7F 43 D3 78 */ mr r3, r26 /* 8028247C 0027F3DC 38 9C 07 F4 */ addi r4, r28, 0x7f4 /* 80282480 0027F3E0 48 09 06 C1 */ bl __as__12CTransform4fFRC12CTransform4f /* 80282484 0027F3E4 80 1C 06 58 */ lwz r0, 0x658(r28) /* 80282488 0027F3E8 3B FC 00 34 */ addi r31, r28, 0x34 /* 8028248C 0027F3EC 2C 00 00 04 */ cmpwi r0, 4 /* 80282490 0027F3F0 40 80 00 28 */ bge lbl_802824B8 /* 80282494 0027F3F4 1C 00 00 30 */ mulli r0, r0, 0x30 /* 80282498 0027F3F8 7C 7C 02 14 */ add r3, r28, r0 /* 8028249C 0027F3FC 34 63 06 5C */ addic. r3, r3, 0x65c /* 802824A0 0027F400 41 82 00 0C */ beq lbl_802824AC /* 802824A4 0027F404 7F E4 FB 78 */ mr r4, r31 /* 802824A8 0027F408 48 09 06 CD */ bl __ct__12CTransform4fFRC12CTransform4f lbl_802824AC: /* 802824AC 0027F40C 80 7C 06 58 */ lwz r3, 0x658(r28) /* 802824B0 0027F410 38 03 00 01 */ addi r0, r3, 1 /* 802824B4 0027F414 90 1C 06 58 */ stw r0, 0x658(r28) lbl_802824B8: /* 802824B8 0027F418 80 7C 06 58 */ lwz r3, 0x658(r28) /* 802824BC 0027F41C 3B 3C 06 5C */ addi r25, r28, 0x65c /* 802824C0 0027F420 3B 63 FF FF */ addi r27, r3, -1 /* 802824C4 0027F424 1C 1B 00 30 */ mulli r0, r27, 0x30 /* 802824C8 0027F428 7F 59 02 14 */ add r26, r25, r0 /* 802824CC 0027F42C 48 00 00 20 */ b lbl_802824EC lbl_802824D0: /* 802824D0 0027F430 38 1B FF FF */ addi r0, r27, -1 /* 802824D4 0027F434 7F 43 D3 78 */ mr r3, r26 /* 802824D8 0027F438 1C 00 00 30 */ mulli r0, r0, 0x30 /* 802824DC 0027F43C 7C 99 02 14 */ add r4, r25, r0 /* 802824E0 0027F440 48 09 06 61 */ bl __as__12CTransform4fFRC12CTransform4f /* 802824E4 0027F444 3B 5A FF D0 */ addi r26, r26, -48 /* 802824E8 0027F448 3B 7B FF FF */ addi r27, r27, -1 lbl_802824EC: /* 802824EC 0027F44C 2C 1B 00 00 */ cmpwi r27, 0 /* 802824F0 0027F450 41 81 FF E0 */ bgt lbl_802824D0 /* 802824F4 0027F454 7F 23 CB 78 */ mr r3, r25 /* 802824F8 0027F458 7F E4 FB 78 */ mr r4, r31 /* 802824FC 0027F45C 48 09 06 45 */ bl __as__12CTransform4fFRC12CTransform4f /* 80282500 0027F460 80 1C 07 1C */ lwz r0, 0x71c(r28) /* 80282504 0027F464 2C 00 00 04 */ cmpwi r0, 4 /* 80282508 0027F468 40 80 00 28 */ bge lbl_80282530 /* 8028250C 0027F46C 54 00 10 3A */ slwi r0, r0, 2 /* 80282510 0027F470 7C 7C 02 14 */ add r3, r28, r0 /* 80282514 0027F474 34 63 07 20 */ addic. r3, r3, 0x720 /* 80282518 0027F478 41 82 00 0C */ beq lbl_80282524 /* 8028251C 0027F47C C0 1C 05 88 */ lfs f0, 0x588(r28) /* 80282520 0027F480 D0 03 00 00 */ stfs f0, 0(r3) lbl_80282524: /* 80282524 0027F484 80 7C 07 1C */ lwz r3, 0x71c(r28) /* 80282528 0027F488 38 03 00 01 */ addi r0, r3, 1 /* 8028252C 0027F48C 90 1C 07 1C */ stw r0, 0x71c(r28) lbl_80282530: /* 80282530 0027F490 80 7C 07 1C */ lwz r3, 0x71c(r28) /* 80282534 0027F494 38 FC 07 20 */ addi r7, r28, 0x720 /* 80282538 0027F498 34 A3 FF FF */ addic. r5, r3, -1 /* 8028253C 0027F49C 54 A0 10 3A */ slwi r0, r5, 2 /* 80282540 0027F4A0 7C A3 2B 78 */ mr r3, r5 /* 80282544 0027F4A4 7C C7 02 14 */ add r6, r7, r0 /* 80282548 0027F4A8 40 81 00 C4 */ ble lbl_8028260C /* 8028254C 0027F4AC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f /* 80282550 0027F4B0 7C 09 03 A6 */ mtctr r0 /* 80282554 0027F4B4 41 82 00 98 */ beq lbl_802825EC lbl_80282558: /* 80282558 0027F4B8 38 85 FF FF */ addi r4, r5, -1 /* 8028255C 0027F4BC 54 80 10 3A */ slwi r0, r4, 2 /* 80282560 0027F4C0 7C 07 04 2E */ lfsx f0, r7, r0 /* 80282564 0027F4C4 38 85 FF FE */ addi r4, r5, -2 /* 80282568 0027F4C8 54 80 10 3A */ slwi r0, r4, 2 /* 8028256C 0027F4CC D0 06 00 00 */ stfs f0, 0(r6) /* 80282570 0027F4D0 38 85 FF FD */ addi r4, r5, -3 /* 80282574 0027F4D4 7C 07 04 2E */ lfsx f0, r7, r0 /* 80282578 0027F4D8 54 80 10 3A */ slwi r0, r4, 2 /* 8028257C 0027F4DC 38 85 FF FC */ addi r4, r5, -4 /* 80282580 0027F4E0 D0 06 FF FC */ stfs f0, -4(r6) /* 80282584 0027F4E4 7C 07 04 2E */ lfsx f0, r7, r0 /* 80282588 0027F4E8 54 80 10 3A */ slwi r0, r4, 2 /* 8028258C 0027F4EC 38 85 FF FB */ addi r4, r5, -5 /* 80282590 0027F4F0 D0 06 FF F8 */ stfs f0, -8(r6) /* 80282594 0027F4F4 7C 07 04 2E */ lfsx f0, r7, r0 /* 80282598 0027F4F8 54 80 10 3A */ slwi r0, r4, 2 /* 8028259C 0027F4FC 38 85 FF FA */ addi r4, r5, -6 /* 802825A0 0027F500 D0 06 FF F4 */ stfs f0, -0xc(r6) /* 802825A4 0027F504 7C 07 04 2E */ lfsx f0, r7, r0 /* 802825A8 0027F508 54 80 10 3A */ slwi r0, r4, 2 /* 802825AC 0027F50C 38 85 FF F9 */ addi r4, r5, -7 /* 802825B0 0027F510 D0 06 FF F0 */ stfs f0, -0x10(r6) /* 802825B4 0027F514 7C 07 04 2E */ lfsx f0, r7, r0 /* 802825B8 0027F518 54 80 10 3A */ slwi r0, r4, 2 /* 802825BC 0027F51C 38 85 FF F8 */ addi r4, r5, -8 /* 802825C0 0027F520 38 A5 FF F8 */ addi r5, r5, -8 /* 802825C4 0027F524 D0 06 FF EC */ stfs f0, -0x14(r6) /* 802825C8 0027F528 7C 07 04 2E */ lfsx f0, r7, r0 /* 802825CC 0027F52C 54 80 10 3A */ slwi r0, r4, 2 /* 802825D0 0027F530 D0 06 FF E8 */ stfs f0, -0x18(r6) /* 802825D4 0027F534 7C 07 04 2E */ lfsx f0, r7, r0 /* 802825D8 0027F538 D0 06 FF E4 */ stfs f0, -0x1c(r6) /* 802825DC 0027F53C 38 C6 FF E0 */ addi r6, r6, -32 /* 802825E0 0027F540 42 00 FF 78 */ bdnz lbl_80282558 /* 802825E4 0027F544 70 63 00 07 */ andi. r3, r3, 7 /* 802825E8 0027F548 41 82 00 24 */ beq lbl_8028260C lbl_802825EC: /* 802825EC 0027F54C 7C 69 03 A6 */ mtctr r3 lbl_802825F0: /* 802825F0 0027F550 38 85 FF FF */ addi r4, r5, -1 /* 802825F4 0027F554 38 A5 FF FF */ addi r5, r5, -1 /* 802825F8 0027F558 54 80 10 3A */ slwi r0, r4, 2 /* 802825FC 0027F55C 7C 07 04 2E */ lfsx f0, r7, r0 /* 80282600 0027F560 D0 06 00 00 */ stfs f0, 0(r6) /* 80282604 0027F564 38 C6 FF FC */ addi r6, r6, -4 /* 80282608 0027F568 42 00 FF E8 */ bdnz lbl_802825F0 lbl_8028260C: /* 8028260C 0027F56C C0 1C 05 88 */ lfs f0, 0x588(r28) /* 80282610 0027F570 2C 1E 00 03 */ cmpwi r30, 3 /* 80282614 0027F574 D0 07 00 00 */ stfs f0, 0(r7) /* 80282618 0027F578 41 82 00 14 */ beq lbl_8028262C /* 8028261C 0027F57C 40 80 03 40 */ bge lbl_8028295C /* 80282620 0027F580 2C 1E 00 02 */ cmpwi r30, 2 /* 80282624 0027F584 40 80 01 F0 */ bge lbl_80282814 /* 80282628 0027F588 48 00 03 34 */ b lbl_8028295C lbl_8028262C: /* 8028262C 0027F58C 7F 84 E3 78 */ mr r4, r28 /* 80282630 0027F590 38 61 01 48 */ addi r3, r1, 0x148 /* 80282634 0027F594 81 9C 00 00 */ lwz r12, 0(r28) /* 80282638 0027F598 81 8C 00 70 */ lwz r12, 0x70(r12) /* 8028263C 0027F59C 7D 89 03 A6 */ mtctr r12 /* 80282640 0027F5A0 4E 80 04 21 */ bctrl /* 80282644 0027F5A4 7F 83 E3 78 */ mr r3, r28 /* 80282648 0027F5A8 81 9C 00 00 */ lwz r12, 0(r28) /* 8028264C 0027F5AC 81 8C 00 6C */ lwz r12, 0x6c(r12) /* 80282650 0027F5B0 7D 89 03 A6 */ mtctr r12 /* 80282654 0027F5B4 4E 80 04 21 */ bctrl /* 80282658 0027F5B8 7C 64 1B 78 */ mr r4, r3 /* 8028265C 0027F5BC 38 61 00 A8 */ addi r3, r1, 0xa8 /* 80282660 0027F5C0 81 84 00 00 */ lwz r12, 0(r4) /* 80282664 0027F5C4 38 A1 01 48 */ addi r5, r1, 0x148 /* 80282668 0027F5C8 81 8C 00 14 */ lwz r12, 0x14(r12) /* 8028266C 0027F5CC 7D 89 03 A6 */ mtctr r12 /* 80282670 0027F5D0 4E 80 04 21 */ bctrl /* 80282674 0027F5D4 C0 A1 00 A8 */ lfs f5, 0xa8(r1) /* 80282678 0027F5D8 38 61 00 74 */ addi r3, r1, 0x74 /* 8028267C 0027F5DC C0 81 00 AC */ lfs f4, 0xac(r1) /* 80282680 0027F5E0 38 81 00 F8 */ addi r4, r1, 0xf8 /* 80282684 0027F5E4 C0 61 00 B0 */ lfs f3, 0xb0(r1) /* 80282688 0027F5E8 C0 41 00 B4 */ lfs f2, 0xb4(r1) /* 8028268C 0027F5EC C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 80282690 0027F5F0 C0 01 00 BC */ lfs f0, 0xbc(r1) /* 80282694 0027F5F4 D0 A1 00 F8 */ stfs f5, 0xf8(r1) /* 80282698 0027F5F8 D0 81 00 FC */ stfs f4, 0xfc(r1) /* 8028269C 0027F5FC D0 61 01 00 */ stfs f3, 0x100(r1) /* 802826A0 0027F600 D0 41 01 04 */ stfs f2, 0x104(r1) /* 802826A4 0027F604 D0 21 01 08 */ stfs f1, 0x108(r1) /* 802826A8 0027F608 D0 01 01 0C */ stfs f0, 0x10c(r1) /* 802826AC 0027F60C 48 0B 4F 61 */ bl GetCenterPoint__6CAABoxCFv /* 802826B0 0027F610 7F 83 E3 78 */ mr r3, r28 /* 802826B4 0027F614 4B E9 8C 01 */ bl ClearForcesAndTorques__13CPhysicsActorFv /* 802826B8 0027F618 4B D9 8E 7D */ bl Identity__10CAxisAngleFv /* 802826BC 0027F61C 7C 64 1B 78 */ mr r4, r3 /* 802826C0 0027F620 7F 83 E3 78 */ mr r3, r28 /* 802826C4 0027F624 4B E9 85 39 */ bl SetAngularVelocityWR__13CPhysicsActorFRC10CAxisAngle /* 802826C8 0027F628 80 7D 08 70 */ lwz r3, 0x870(r29) /* 802826CC 0027F62C 3B 20 00 00 */ li r25, 0 /* 802826D0 0027F630 4B D8 82 31 */ bl IsInCinematicCamera__14CCameraManagerCFv /* 802826D4 0027F634 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802826D8 0027F638 41 82 00 08 */ beq lbl_802826E0 /* 802826DC 0027F63C 3B 20 00 01 */ li r25, 1 lbl_802826E0: /* 802826E0 0027F640 C0 3C 05 74 */ lfs f1, 0x574(r28) /* 802826E4 0027F644 C0 1C 05 78 */ lfs f0, 0x578(r28) /* 802826E8 0027F648 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802826EC 0027F64C 4C 41 13 82 */ cror 2, 1, 2 /* 802826F0 0027F650 41 82 00 0C */ beq lbl_802826FC /* 802826F4 0027F654 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 802826F8 0027F658 41 82 02 64 */ beq lbl_8028295C lbl_802826FC: /* 802826FC 0027F65C C0 3C 08 24 */ lfs f1, 0x824(r28) /* 80282700 0027F660 C0 02 BD 78 */ lfs f0, lbl_805ADA98@sda21(r2) /* 80282704 0027F664 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80282708 0027F668 40 80 00 0C */ bge lbl_80282714 /* 8028270C 0027F66C 38 62 BD 78 */ addi r3, r2, lbl_805ADA98@sda21 /* 80282710 0027F670 48 00 00 08 */ b lbl_80282718 lbl_80282714: /* 80282714 0027F674 38 7C 08 24 */ addi r3, r28, 0x824 lbl_80282718: /* 80282718 0027F678 C0 03 00 00 */ lfs f0, 0(r3) /* 8028271C 0027F67C 3C 60 80 5A */ lis r3, skZero3f@ha /* 80282720 0027F680 38 C3 66 A0 */ addi r6, r3, skZero3f@l /* 80282724 0027F684 7F 83 E3 78 */ mr r3, r28 /* 80282728 0027F688 D0 1C 08 24 */ stfs f0, 0x824(r28) /* 8028272C 0027F68C 7F A4 EB 78 */ mr r4, r29 /* 80282730 0027F690 38 A1 00 9C */ addi r5, r1, 0x9c /* 80282734 0027F694 C0 46 00 00 */ lfs f2, 0(r6) /* 80282738 0027F698 C0 26 00 04 */ lfs f1, 4(r6) /* 8028273C 0027F69C C0 06 00 08 */ lfs f0, 8(r6) /* 80282740 0027F6A0 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 80282744 0027F6A4 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 80282748 0027F6A8 D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 8028274C 0027F6AC 4B D9 03 49 */ bl CanLeaveMorphBallState__7CPlayerCFR13CStateManagerR9CVector3f /* 80282750 0027F6B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80282754 0027F6B4 41 82 00 9C */ beq lbl_802827F0 /* 80282758 0027F6B8 C0 3C 00 50 */ lfs f1, 0x50(r28) /* 8028275C 0027F6BC 7F 83 E3 78 */ mr r3, r28 /* 80282760 0027F6C0 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 80282764 0027F6C4 38 81 00 68 */ addi r4, r1, 0x68 /* 80282768 0027F6C8 C0 7C 00 60 */ lfs f3, 0x60(r28) /* 8028276C 0027F6CC C0 41 00 A4 */ lfs f2, 0xa4(r1) /* 80282770 0027F6D0 EC 81 00 2A */ fadds f4, f1, f0 /* 80282774 0027F6D4 C0 3C 00 40 */ lfs f1, 0x40(r28) /* 80282778 0027F6D8 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 8028277C 0027F6DC EC 43 10 2A */ fadds f2, f3, f2 /* 80282780 0027F6E0 D0 81 00 6C */ stfs f4, 0x6c(r1) /* 80282784 0027F6E4 EC 01 00 2A */ fadds f0, f1, f0 /* 80282788 0027F6E8 D0 41 00 70 */ stfs f2, 0x70(r1) /* 8028278C 0027F6EC D0 01 00 68 */ stfs f0, 0x68(r1) /* 80282790 0027F6F0 4B DD 06 FD */ bl SetTranslation__6CActorFRC9CVector3f /* 80282794 0027F6F4 7F 83 E3 78 */ mr r3, r28 /* 80282798 0027F6F8 7F A4 EB 78 */ mr r4, r29 /* 8028279C 0027F6FC 48 00 05 81 */ bl LeaveMorphBallState__7CPlayerFR13CStateManager /* 802827A0 0027F700 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 802827A4 0027F704 38 80 00 00 */ li r4, 0 /* 802827A8 0027F708 38 00 00 03 */ li r0, 3 /* 802827AC 0027F70C 98 81 00 30 */ stb r4, 0x30(r1) /* 802827B0 0027F710 FC 40 08 90 */ fmr f2, f1 /* 802827B4 0027F714 38 61 00 34 */ addi r3, r1, 0x34 /* 802827B8 0027F718 FC 60 08 90 */ fmr f3, f1 /* 802827BC 0027F71C 98 81 00 31 */ stb r4, 0x31(r1) /* 802827C0 0027F720 FC 80 08 90 */ fmr f4, f1 /* 802827C4 0027F724 B0 01 00 32 */ sth r0, 0x32(r1) /* 802827C8 0027F728 48 0E 0C 25 */ bl __ct__6CColorFffff /* 802827CC 0027F72C 88 01 00 30 */ lbz r0, 0x30(r1) /* 802827D0 0027F730 98 1C 00 B4 */ stb r0, 0xb4(r28) /* 802827D4 0027F734 88 01 00 31 */ lbz r0, 0x31(r1) /* 802827D8 0027F738 98 1C 00 B5 */ stb r0, 0xb5(r28) /* 802827DC 0027F73C A0 01 00 32 */ lhz r0, 0x32(r1) /* 802827E0 0027F740 B0 1C 00 B6 */ sth r0, 0xb6(r28) /* 802827E4 0027F744 80 01 00 34 */ lwz r0, 0x34(r1) /* 802827E8 0027F748 90 1C 00 B8 */ stw r0, 0xb8(r28) /* 802827EC 0027F74C 48 00 01 70 */ b lbl_8028295C lbl_802827F0: /* 802827F0 0027F750 C0 5C 05 78 */ lfs f2, 0x578(r28) /* 802827F4 0027F754 FC 20 F8 90 */ fmr f1, f31 /* 802827F8 0027F758 C0 1C 05 74 */ lfs f0, 0x574(r28) /* 802827FC 0027F75C 7F 83 E3 78 */ mr r3, r28 /* 80282800 0027F760 7F A4 EB 78 */ mr r4, r29 /* 80282804 0027F764 EC 02 00 28 */ fsubs f0, f2, f0 /* 80282808 0027F768 D0 1C 05 74 */ stfs f0, 0x574(r28) /* 8028280C 0027F76C 48 00 11 41 */ bl TransitionToMorphBallState__7CPlayerFfR13CStateManager /* 80282810 0027F770 48 00 01 4C */ b lbl_8028295C lbl_80282814: /* 80282814 0027F774 7F 83 E3 78 */ mr r3, r28 /* 80282818 0027F778 4B E9 8A 9D */ bl ClearForcesAndTorques__13CPhysicsActorFv /* 8028281C 0027F77C 4B D9 8D 19 */ bl Identity__10CAxisAngleFv /* 80282820 0027F780 7C 64 1B 78 */ mr r4, r3 /* 80282824 0027F784 7F 83 E3 78 */ mr r3, r28 /* 80282828 0027F788 4B E9 83 D5 */ bl SetAngularVelocityWR__13CPhysicsActorFRC10CAxisAngle /* 8028282C 0027F78C 80 7D 08 70 */ lwz r3, 0x870(r29) /* 80282830 0027F790 3B 20 00 00 */ li r25, 0 /* 80282834 0027F794 4B D8 80 CD */ bl IsInCinematicCamera__14CCameraManagerCFv /* 80282838 0027F798 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028283C 0027F79C 41 82 00 08 */ beq lbl_80282844 /* 80282840 0027F7A0 3B 20 00 01 */ li r25, 1 lbl_80282844: /* 80282844 0027F7A4 C0 3C 05 74 */ lfs f1, 0x574(r28) /* 80282848 0027F7A8 C0 1C 05 78 */ lfs f0, 0x578(r28) /* 8028284C 0027F7AC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80282850 0027F7B0 4C 41 13 82 */ cror 2, 1, 2 /* 80282854 0027F7B4 41 82 00 0C */ beq lbl_80282860 /* 80282858 0027F7B8 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 8028285C 0027F7BC 41 82 00 A4 */ beq lbl_80282900 lbl_80282860: /* 80282860 0027F7C0 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80282864 0027F7C4 7F 83 E3 78 */ mr r3, r28 /* 80282868 0027F7C8 7F A4 EB 78 */ mr r4, r29 /* 8028286C 0027F7CC 4B D9 06 91 */ bl CanEnterMorphBallState__7CPlayerCFR13CStateManagerf /* 80282870 0027F7D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80282874 0027F7D4 41 82 00 6C */ beq lbl_802828E0 /* 80282878 0027F7D8 7F 83 E3 78 */ mr r3, r28 /* 8028287C 0027F7DC 7F A4 EB 78 */ mr r4, r29 /* 80282880 0027F7E0 48 00 07 AD */ bl ActivateMorphBallCamera__7CPlayerFR13CStateManager /* 80282884 0027F7E4 7F 83 E3 78 */ mr r3, r28 /* 80282888 0027F7E8 7F A4 EB 78 */ mr r4, r29 /* 8028288C 0027F7EC 48 00 06 65 */ bl EnterMorphBallState__7CPlayerFR13CStateManager /* 80282890 0027F7F0 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80282894 0027F7F4 38 80 00 00 */ li r4, 0 /* 80282898 0027F7F8 38 00 00 03 */ li r0, 3 /* 8028289C 0027F7FC 98 81 00 28 */ stb r4, 0x28(r1) /* 802828A0 0027F800 FC 40 08 90 */ fmr f2, f1 /* 802828A4 0027F804 38 61 00 2C */ addi r3, r1, 0x2c /* 802828A8 0027F808 FC 60 08 90 */ fmr f3, f1 /* 802828AC 0027F80C 98 81 00 29 */ stb r4, 0x29(r1) /* 802828B0 0027F810 FC 80 08 90 */ fmr f4, f1 /* 802828B4 0027F814 B0 01 00 2A */ sth r0, 0x2a(r1) /* 802828B8 0027F818 48 0E 0B 35 */ bl __ct__6CColorFffff /* 802828BC 0027F81C 88 01 00 28 */ lbz r0, 0x28(r1) /* 802828C0 0027F820 98 1C 00 B4 */ stb r0, 0xb4(r28) /* 802828C4 0027F824 88 01 00 29 */ lbz r0, 0x29(r1) /* 802828C8 0027F828 98 1C 00 B5 */ stb r0, 0xb5(r28) /* 802828CC 0027F82C A0 01 00 2A */ lhz r0, 0x2a(r1) /* 802828D0 0027F830 B0 1C 00 B6 */ sth r0, 0xb6(r28) /* 802828D4 0027F834 80 01 00 2C */ lwz r0, 0x2c(r1) /* 802828D8 0027F838 90 1C 00 B8 */ stw r0, 0xb8(r28) /* 802828DC 0027F83C 48 00 00 24 */ b lbl_80282900 lbl_802828E0: /* 802828E0 0027F840 C0 5C 05 78 */ lfs f2, 0x578(r28) /* 802828E4 0027F844 FC 20 F8 90 */ fmr f1, f31 /* 802828E8 0027F848 C0 1C 05 74 */ lfs f0, 0x574(r28) /* 802828EC 0027F84C 7F 83 E3 78 */ mr r3, r28 /* 802828F0 0027F850 7F A4 EB 78 */ mr r4, r29 /* 802828F4 0027F854 EC 02 00 28 */ fsubs f0, f2, f0 /* 802828F8 0027F858 D0 1C 05 74 */ stfs f0, 0x574(r28) /* 802828FC 0027F85C 48 00 07 79 */ bl TransitionFromMorphBallState__7CPlayerFR13CStateManager lbl_80282900: /* 80282900 0027F860 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80282904 0027F864 C0 5C 05 78 */ lfs f2, 0x578(r28) /* 80282908 0027F868 FC 01 10 00 */ fcmpu cr0, f1, f2 /* 8028290C 0027F86C 40 82 00 08 */ bne lbl_80282914 /* 80282910 0027F870 48 00 00 24 */ b lbl_80282934 lbl_80282914: /* 80282914 0027F874 C0 1C 05 74 */ lfs f0, 0x574(r28) /* 80282918 0027F878 38 81 00 0C */ addi r4, r1, 0xc /* 8028291C 0027F87C 38 6D 99 28 */ addi r3, r13, lbl_805A84E8@sda21 /* 80282920 0027F880 38 AD 99 2C */ addi r5, r13, lbl_805A84EC@sda21 /* 80282924 0027F884 EC 00 10 24 */ fdivs f0, f0, f2 /* 80282928 0027F888 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8028292C 0027F88C 4B D8 99 89 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80282930 0027F890 C0 23 00 00 */ lfs f1, 0(r3) lbl_80282934: /* 80282934 0027F894 C0 02 BD 7C */ lfs f0, lbl_805ADA9C@sda21(r2) /* 80282938 0027F898 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028293C 0027F89C 4C 41 13 82 */ cror 2, 1, 2 /* 80282940 0027F8A0 40 82 00 1C */ bne lbl_8028295C /* 80282944 0027F8A4 80 7C 07 68 */ lwz r3, 0x768(r28) /* 80282948 0027F8A8 4B E6 F6 65 */ bl IsMorphBallTransitionFlashValid__10CMorphBallCFv /* 8028294C 0027F8AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80282950 0027F8B0 40 82 00 0C */ bne lbl_8028295C /* 80282954 0027F8B4 80 7C 07 68 */ lwz r3, 0x768(r28) /* 80282958 0027F8B8 4B E6 F8 C9 */ bl ResetMorphBallTransitionFlash__10CMorphBallFv lbl_8028295C: /* 8028295C 0027F8BC E3 E1 02 68 */ psq_l f31, 616(r1), 0, qr0 /* 80282960 0027F8C0 CB E1 02 60 */ lfd f31, 0x260(r1) /* 80282964 0027F8C4 E3 C1 02 58 */ psq_l f30, 600(r1), 0, qr0 /* 80282968 0027F8C8 CB C1 02 50 */ lfd f30, 0x250(r1) /* 8028296C 0027F8CC E3 A1 02 48 */ psq_l f29, 584(r1), 0, qr0 /* 80282970 0027F8D0 CB A1 02 40 */ lfd f29, 0x240(r1) /* 80282974 0027F8D4 BB 21 02 24 */ lmw r25, 0x224(r1) /* 80282978 0027F8D8 80 01 02 74 */ lwz r0, 0x274(r1) /* 8028297C 0027F8DC 7C 08 03 A6 */ mtlr r0 /* 80282980 0027F8E0 38 21 02 70 */ addi r1, r1, 0x270 /* 80282984 0027F8E4 4E 80 00 20 */ blr .global sub_80282988 sub_80282988: /* 80282988 0027F8E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8028298C 0027F8EC 7C 08 02 A6 */ mflr r0 /* 80282990 0027F8F0 90 01 00 24 */ stw r0, 0x24(r1) /* 80282994 0027F8F4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80282998 0027F8F8 7C 7F 1B 78 */ mr r31, r3 /* 8028299C 0027F8FC 80 C5 00 00 */ lwz r6, 0(r5) /* 802829A0 0027F900 80 05 00 00 */ lwz r0, 0(r5) /* 802829A4 0027F904 38 A1 00 10 */ addi r5, r1, 0x10 /* 802829A8 0027F908 38 E6 00 08 */ addi r7, r6, 8 /* 802829AC 0027F90C 38 C1 00 0C */ addi r6, r1, 0xc /* 802829B0 0027F910 90 E1 00 08 */ stw r7, 8(r1) /* 802829B4 0027F914 90 E1 00 0C */ stw r7, 0xc(r1) /* 802829B8 0027F918 90 01 00 10 */ stw r0, 0x10(r1) /* 802829BC 0027F91C 48 00 00 19 */ bl "erase__Q24rstl66vector,Q24rstl17rmemory_allocator>FQ24rstl152pointer_iterator,Q24rstl66vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl152pointer_iterator,Q24rstl66vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>" /* 802829C0 0027F920 80 01 00 24 */ lwz r0, 0x24(r1) /* 802829C4 0027F924 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802829C8 0027F928 7C 08 03 A6 */ mtlr r0 /* 802829CC 0027F92C 38 21 00 20 */ addi r1, r1, 0x20 /* 802829D0 0027F930 4E 80 00 20 */ blr .global "erase__Q24rstl66vector,Q24rstl17rmemory_allocator>FQ24rstl152pointer_iterator,Q24rstl66vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl152pointer_iterator,Q24rstl66vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>" "erase__Q24rstl66vector,Q24rstl17rmemory_allocator>FQ24rstl152pointer_iterator,Q24rstl66vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl152pointer_iterator,Q24rstl66vector,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>": /* 802829D4 0027F934 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802829D8 0027F938 7C 08 02 A6 */ mflr r0 /* 802829DC 0027F93C 90 01 00 34 */ stw r0, 0x34(r1) /* 802829E0 0027F940 BF 21 00 14 */ stmw r25, 0x14(r1) /* 802829E4 0027F944 7C BF 2B 78 */ mr r31, r5 /* 802829E8 0027F948 7C D9 33 78 */ mr r25, r6 /* 802829EC 0027F94C 7C 7D 1B 78 */ mr r29, r3 /* 802829F0 0027F950 7C 9E 23 78 */ mr r30, r4 /* 802829F4 0027F954 83 65 00 00 */ lwz r27, 0(r5) /* 802829F8 0027F958 83 86 00 00 */ lwz r28, 0(r6) /* 802829FC 0027F95C 93 61 00 0C */ stw r27, 0xc(r1) /* 80282A00 0027F960 93 81 00 08 */ stw r28, 8(r1) /* 80282A04 0027F964 48 00 00 28 */ b lbl_80282A2C lbl_80282A08: /* 80282A08 0027F968 28 1B 00 00 */ cmplwi r27, 0 /* 80282A0C 0027F96C 41 82 00 1C */ beq lbl_80282A28 /* 80282A10 0027F970 88 1B 00 00 */ lbz r0, 0(r27) /* 80282A14 0027F974 28 00 00 00 */ cmplwi r0, 0 /* 80282A18 0027F978 41 82 00 10 */ beq lbl_80282A28 /* 80282A1C 0027F97C 80 7B 00 04 */ lwz r3, 4(r27) /* 80282A20 0027F980 38 80 00 01 */ li r4, 1 /* 80282A24 0027F984 4B E9 40 29 */ bl __dt__10CModelDataFv lbl_80282A28: /* 80282A28 0027F988 3B 7B 00 08 */ addi r27, r27, 8 lbl_80282A2C: /* 80282A2C 0027F98C 7C 1B E0 40 */ cmplw r27, r28 /* 80282A30 0027F990 40 82 FF D8 */ bne lbl_80282A08 /* 80282A34 0027F994 80 9E 00 0C */ lwz r4, 0xc(r30) /* 80282A38 0027F998 3B 80 00 00 */ li r28, 0 /* 80282A3C 0027F99C 80 1F 00 00 */ lwz r0, 0(r31) /* 80282A40 0027F9A0 83 79 00 00 */ lwz r27, 0(r25) /* 80282A44 0027F9A4 7C 04 00 50 */ subf r0, r4, r0 /* 80282A48 0027F9A8 7C 00 1E 70 */ srawi r0, r0, 3 /* 80282A4C 0027F9AC 7C 60 01 94 */ addze r3, r0 /* 80282A50 0027F9B0 54 60 18 38 */ slwi r0, r3, 3 /* 80282A54 0027F9B4 7C 79 1B 78 */ mr r25, r3 /* 80282A58 0027F9B8 7F 44 02 14 */ add r26, r4, r0 /* 80282A5C 0027F9BC 48 00 00 4C */ b lbl_80282AA8 lbl_80282A60: /* 80282A60 0027F9C0 28 1A 00 00 */ cmplwi r26, 0 /* 80282A64 0027F9C4 41 82 00 18 */ beq lbl_80282A7C /* 80282A68 0027F9C8 88 1B 00 00 */ lbz r0, 0(r27) /* 80282A6C 0027F9CC 98 1A 00 00 */ stb r0, 0(r26) /* 80282A70 0027F9D0 80 1B 00 04 */ lwz r0, 4(r27) /* 80282A74 0027F9D4 90 1A 00 04 */ stw r0, 4(r26) /* 80282A78 0027F9D8 9B 9B 00 00 */ stb r28, 0(r27) lbl_80282A7C: /* 80282A7C 0027F9DC 28 1B 00 00 */ cmplwi r27, 0 /* 80282A80 0027F9E0 41 82 00 1C */ beq lbl_80282A9C /* 80282A84 0027F9E4 88 1B 00 00 */ lbz r0, 0(r27) /* 80282A88 0027F9E8 28 00 00 00 */ cmplwi r0, 0 /* 80282A8C 0027F9EC 41 82 00 10 */ beq lbl_80282A9C /* 80282A90 0027F9F0 80 7B 00 04 */ lwz r3, 4(r27) /* 80282A94 0027F9F4 38 80 00 01 */ li r4, 1 /* 80282A98 0027F9F8 4B E9 3F B5 */ bl __dt__10CModelDataFv lbl_80282A9C: /* 80282A9C 0027F9FC 3B 5A 00 08 */ addi r26, r26, 8 /* 80282AA0 0027FA00 3B 39 00 01 */ addi r25, r25, 1 /* 80282AA4 0027FA04 3B 7B 00 08 */ addi r27, r27, 8 lbl_80282AA8: /* 80282AA8 0027FA08 80 1E 00 04 */ lwz r0, 4(r30) /* 80282AAC 0027FA0C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80282AB0 0027FA10 54 00 18 38 */ slwi r0, r0, 3 /* 80282AB4 0027FA14 7C 03 02 14 */ add r0, r3, r0 /* 80282AB8 0027FA18 7C 1B 00 40 */ cmplw r27, r0 /* 80282ABC 0027FA1C 40 82 FF A4 */ bne lbl_80282A60 /* 80282AC0 0027FA20 93 3E 00 04 */ stw r25, 4(r30) /* 80282AC4 0027FA24 80 1F 00 00 */ lwz r0, 0(r31) /* 80282AC8 0027FA28 90 1D 00 00 */ stw r0, 0(r29) /* 80282ACC 0027FA2C BB 21 00 14 */ lmw r25, 0x14(r1) /* 80282AD0 0027FA30 80 01 00 34 */ lwz r0, 0x34(r1) /* 80282AD4 0027FA34 7C 08 03 A6 */ mtlr r0 /* 80282AD8 0027FA38 38 21 00 30 */ addi r1, r1, 0x30 /* 80282ADC 0027FA3C 4E 80 00 20 */ blr .global Clone__11IAnimReaderCFv Clone__11IAnimReaderCFv: /* 80282AE0 0027FA40 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80282AE4 0027FA44 7C 08 02 A6 */ mflr r0 /* 80282AE8 0027FA48 90 01 00 14 */ stw r0, 0x14(r1) /* 80282AEC 0027FA4C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80282AF0 0027FA50 7C 7F 1B 78 */ mr r31, r3 /* 80282AF4 0027FA54 81 84 00 00 */ lwz r12, 0(r4) /* 80282AF8 0027FA58 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 80282AFC 0027FA5C 7D 89 03 A6 */ mtctr r12 /* 80282B00 0027FA60 4E 80 04 21 */ bctrl /* 80282B04 0027FA64 80 01 00 14 */ lwz r0, 0x14(r1) /* 80282B08 0027FA68 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80282B0C 0027FA6C 7C 08 03 A6 */ mtlr r0 /* 80282B10 0027FA70 38 21 00 10 */ addi r1, r1, 0x10 /* 80282B14 0027FA74 4E 80 00 20 */ blr .global UpdateTransitionFilter__7CPlayerFfR13CStateManager UpdateTransitionFilter__7CPlayerFfR13CStateManager: /* 80282B18 0027FA78 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80282B1C 0027FA7C 7C 08 02 A6 */ mflr r0 /* 80282B20 0027FA80 C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 80282B24 0027FA84 38 A4 0C E8 */ addi r5, r4, 0xce8 /* 80282B28 0027FA88 90 01 00 14 */ stw r0, 0x14(r1) /* 80282B2C 0027FA8C C0 03 08 24 */ lfs f0, 0x824(r3) /* 80282B30 0027FA90 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80282B34 0027FA94 4C 40 13 82 */ cror 2, 0, 2 /* 80282B38 0027FA98 40 82 00 14 */ bne lbl_80282B4C /* 80282B3C 0027FA9C FC 20 10 90 */ fmr f1, f2 /* 80282B40 0027FAA0 7C A3 2B 78 */ mr r3, r5 /* 80282B44 0027FAA4 4B E6 A8 25 */ bl DisableFilter__17CCameraFilterPassFf /* 80282B48 0027FAA8 48 00 01 30 */ b lbl_80282C78 lbl_80282B4C: /* 80282B4C 0027FAAC EC 20 08 2A */ fadds f1, f0, f1 /* 80282B50 0027FAB0 C0 02 BD A4 */ lfs f0, lbl_805ADAC4@sda21(r2) /* 80282B54 0027FAB4 D0 23 08 24 */ stfs f1, 0x824(r3) /* 80282B58 0027FAB8 C0 23 08 24 */ lfs f1, 0x824(r3) /* 80282B5C 0027FABC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80282B60 0027FAC0 40 81 00 18 */ ble lbl_80282B78 /* 80282B64 0027FAC4 FC 20 10 90 */ fmr f1, f2 /* 80282B68 0027FAC8 D0 43 08 24 */ stfs f2, 0x824(r3) /* 80282B6C 0027FACC 7C A3 2B 78 */ mr r3, r5 /* 80282B70 0027FAD0 4B E6 A7 F9 */ bl DisableFilter__17CCameraFilterPassFf /* 80282B74 0027FAD4 48 00 01 04 */ b lbl_80282C78 lbl_80282B78: /* 80282B78 0027FAD8 C0 02 BD A8 */ lfs f0, lbl_805ADAC8@sda21(r2) /* 80282B7C 0027FADC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80282B80 0027FAE0 41 80 00 F8 */ blt lbl_80282C78 /* 80282B84 0027FAE4 EC 81 00 28 */ fsubs f4, f1, f0 /* 80282B88 0027FAE8 38 80 00 FF */ li r4, 0xff /* 80282B8C 0027FAEC C0 42 BD AC */ lfs f2, lbl_805ADACC@sda21(r2) /* 80282B90 0027FAF0 38 60 00 DF */ li r3, 0xdf /* 80282B94 0027FAF4 38 00 00 89 */ li r0, 0x89 /* 80282B98 0027FAF8 98 81 00 0C */ stb r4, 0xc(r1) /* 80282B9C 0027FAFC FC 04 10 40 */ fcmpo cr0, f4, f2 /* 80282BA0 0027FB00 98 61 00 0D */ stb r3, 0xd(r1) /* 80282BA4 0027FB04 98 01 00 0E */ stb r0, 0xe(r1) /* 80282BA8 0027FB08 98 81 00 0F */ stb r4, 0xf(r1) /* 80282BAC 0027FB0C 40 80 00 30 */ bge lbl_80282BDC /* 80282BB0 0027FB10 C0 02 BD B4 */ lfs f0, lbl_805ADAD4@sda21(r2) /* 80282BB4 0027FB14 C0 22 BD B0 */ lfs f1, lbl_805ADAD0@sda21(r2) /* 80282BB8 0027FB18 EC 00 01 32 */ fmuls f0, f0, f4 /* 80282BBC 0027FB1C EC 00 10 24 */ fdivs f0, f0, f2 /* 80282BC0 0027FB20 EC 61 00 32 */ fmuls f3, f1, f0 /* 80282BC4 0027FB24 F0 61 A0 0A */ psq_st f3, 10(r1), 1, qr2 /* 80282BC8 0027FB28 80 61 00 0C */ lwz r3, 0xc(r1) /* 80282BCC 0027FB2C 88 01 00 0A */ lbz r0, 0xa(r1) /* 80282BD0 0027FB30 50 60 00 2E */ rlwimi r0, r3, 0, 0, 0x17 /* 80282BD4 0027FB34 90 01 00 0C */ stw r0, 0xc(r1) /* 80282BD8 0027FB38 48 00 00 84 */ b lbl_80282C5C lbl_80282BDC: /* 80282BDC 0027FB3C C0 42 BD B8 */ lfs f2, lbl_805ADAD8@sda21(r2) /* 80282BE0 0027FB40 FC 04 10 40 */ fcmpo cr0, f4, f2 /* 80282BE4 0027FB44 4C 41 13 82 */ cror 2, 1, 2 /* 80282BE8 0027FB48 40 82 00 5C */ bne lbl_80282C44 /* 80282BEC 0027FB4C EC 24 10 28 */ fsubs f1, f4, f2 /* 80282BF0 0027FB50 C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80282BF4 0027FB54 EC 41 10 24 */ fdivs f2, f1, f2 /* 80282BF8 0027FB58 FC 20 12 10 */ fabs f1, f2 /* 80282BFC 0027FB5C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80282C00 0027FB60 40 81 00 14 */ ble lbl_80282C14 /* 80282C04 0027FB64 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80282C08 0027FB68 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80282C0C 0027FB6C FC 02 00 6E */ fsel f0, f2, f1, f0 /* 80282C10 0027FB70 EC 41 00 32 */ fmuls f2, f1, f0 lbl_80282C14: /* 80282C14 0027FB74 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80282C18 0027FB78 C0 22 BD B4 */ lfs f1, lbl_805ADAD4@sda21(r2) /* 80282C1C 0027FB7C EC 00 10 28 */ fsubs f0, f0, f2 /* 80282C20 0027FB80 C0 42 BD B0 */ lfs f2, lbl_805ADAD0@sda21(r2) /* 80282C24 0027FB84 EC 01 00 32 */ fmuls f0, f1, f0 /* 80282C28 0027FB88 EC 62 00 32 */ fmuls f3, f2, f0 /* 80282C2C 0027FB8C F0 61 A0 09 */ psq_st f3, 9(r1), 1, qr2 /* 80282C30 0027FB90 80 61 00 0C */ lwz r3, 0xc(r1) /* 80282C34 0027FB94 88 01 00 09 */ lbz r0, 9(r1) /* 80282C38 0027FB98 50 60 00 2E */ rlwimi r0, r3, 0, 0, 0x17 /* 80282C3C 0027FB9C 90 01 00 0C */ stw r0, 0xc(r1) /* 80282C40 0027FBA0 48 00 00 1C */ b lbl_80282C5C lbl_80282C44: /* 80282C44 0027FBA4 C0 62 BD CC */ lfs f3, lbl_805ADAEC@sda21(r2) /* 80282C48 0027FBA8 F0 61 A0 08 */ psq_st f3, 8(r1), 1, qr2 /* 80282C4C 0027FBAC 80 61 00 0C */ lwz r3, 0xc(r1) /* 80282C50 0027FBB0 88 01 00 08 */ lbz r0, 8(r1) /* 80282C54 0027FBB4 50 60 00 2E */ rlwimi r0, r3, 0, 0, 0x17 /* 80282C58 0027FBB8 90 01 00 0C */ stw r0, 0xc(r1) lbl_80282C5C: /* 80282C5C 0027FBBC C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80282C60 0027FBC0 7C A3 2B 78 */ mr r3, r5 /* 80282C64 0027FBC4 38 C1 00 0C */ addi r6, r1, 0xc /* 80282C68 0027FBC8 38 80 00 03 */ li r4, 3 /* 80282C6C 0027FBCC 38 A0 00 05 */ li r5, 5 /* 80282C70 0027FBD0 38 E0 FF FF */ li r7, -1 /* 80282C74 0027FBD4 4B E6 A7 2D */ bl SetFilter__17CCameraFilterPassFQ217CCameraFilterPass11EFilterTypeQ217CCameraFilterPass12EFilterShapefRC6CColorUi lbl_80282C78: /* 80282C78 0027FBD8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80282C7C 0027FBDC 7C 08 03 A6 */ mtlr r0 /* 80282C80 0027FBE0 38 21 00 10 */ addi r1, r1, 0x10 /* 80282C84 0027FBE4 4E 80 00 20 */ blr .global InitializeBallTransition__7CPlayerFv InitializeBallTransition__7CPlayerFv: /* 80282C88 0027FBE8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80282C8C 0027FBEC 7C 08 02 A6 */ mflr r0 /* 80282C90 0027FBF0 38 80 00 00 */ li r4, 0 /* 80282C94 0027FBF4 90 01 00 34 */ stw r0, 0x34(r1) /* 80282C98 0027FBF8 80 A3 00 64 */ lwz r5, 0x64(r3) /* 80282C9C 0027FBFC 28 05 00 00 */ cmplwi r5, 0 /* 80282CA0 0027FC00 41 82 00 14 */ beq lbl_80282CB4 /* 80282CA4 0027FC04 80 05 00 10 */ lwz r0, 0x10(r5) /* 80282CA8 0027FC08 28 00 00 00 */ cmplwi r0, 0 /* 80282CAC 0027FC0C 41 82 00 08 */ beq lbl_80282CB4 /* 80282CB0 0027FC10 38 80 00 01 */ li r4, 1 lbl_80282CB4: /* 80282CB4 0027FC14 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 80282CB8 0027FC18 41 82 00 54 */ beq lbl_80282D0C /* 80282CBC 0027FC1C C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80282CC0 0027FC20 38 00 00 00 */ li r0, 0 /* 80282CC4 0027FC24 38 80 00 02 */ li r4, 2 /* 80282CC8 0027FC28 38 E0 FF FF */ li r7, -1 /* 80282CCC 0027FC2C 38 C0 00 01 */ li r6, 1 /* 80282CD0 0027FC30 90 81 00 08 */ stw r4, 8(r1) /* 80282CD4 0027FC34 38 81 00 08 */ addi r4, r1, 8 /* 80282CD8 0027FC38 38 A0 00 00 */ li r5, 0 /* 80282CDC 0027FC3C 90 E1 00 0C */ stw r7, 0xc(r1) /* 80282CE0 0027FC40 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80282CE4 0027FC44 98 C1 00 14 */ stb r6, 0x14(r1) /* 80282CE8 0027FC48 90 01 00 18 */ stw r0, 0x18(r1) /* 80282CEC 0027FC4C 90 01 00 1C */ stw r0, 0x1c(r1) /* 80282CF0 0027FC50 98 01 00 20 */ stb r0, 0x20(r1) /* 80282CF4 0027FC54 90 01 00 24 */ stw r0, 0x24(r1) /* 80282CF8 0027FC58 90 01 00 28 */ stw r0, 0x28(r1) /* 80282CFC 0027FC5C 90 01 00 2C */ stw r0, 0x2c(r1) /* 80282D00 0027FC60 80 63 00 64 */ lwz r3, 0x64(r3) /* 80282D04 0027FC64 80 63 00 10 */ lwz r3, 0x10(r3) /* 80282D08 0027FC68 4B DA A0 75 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb lbl_80282D0C: /* 80282D0C 0027FC6C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80282D10 0027FC70 7C 08 03 A6 */ mtlr r0 /* 80282D14 0027FC74 38 21 00 30 */ addi r1, r1, 0x30 /* 80282D18 0027FC78 4E 80 00 20 */ blr .global LeaveMorphBallState__7CPlayerFR13CStateManager LeaveMorphBallState__7CPlayerFR13CStateManager: /* 80282D1C 0027FC7C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80282D20 0027FC80 7C 08 02 A6 */ mflr r0 /* 80282D24 0027FC84 90 01 00 34 */ stw r0, 0x34(r1) /* 80282D28 0027FC88 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80282D2C 0027FC8C 7C 9F 23 78 */ mr r31, r4 /* 80282D30 0027FC90 93 C1 00 28 */ stw r30, 0x28(r1) /* 80282D34 0027FC94 7C 7E 1B 78 */ mr r30, r3 /* 80282D38 0027FC98 93 A1 00 24 */ stw r29, 0x24(r1) /* 80282D3C 0027FC9C 93 81 00 20 */ stw r28, 0x20(r1) /* 80282D40 0027FCA0 80 03 07 34 */ lwz r0, 0x734(r3) /* 80282D44 0027FCA4 83 83 07 3C */ lwz r28, 0x73c(r3) /* 80282D48 0027FCA8 54 00 18 38 */ slwi r0, r0, 3 /* 80282D4C 0027FCAC 7F BC 02 14 */ add r29, r28, r0 /* 80282D50 0027FCB0 93 81 00 14 */ stw r28, 0x14(r1) /* 80282D54 0027FCB4 93 A1 00 1C */ stw r29, 0x1c(r1) /* 80282D58 0027FCB8 93 A1 00 18 */ stw r29, 0x18(r1) /* 80282D5C 0027FCBC 93 81 00 10 */ stw r28, 0x10(r1) /* 80282D60 0027FCC0 48 00 00 28 */ b lbl_80282D88 lbl_80282D64: /* 80282D64 0027FCC4 28 1C 00 00 */ cmplwi r28, 0 /* 80282D68 0027FCC8 41 82 00 1C */ beq lbl_80282D84 /* 80282D6C 0027FCCC 88 1C 00 00 */ lbz r0, 0(r28) /* 80282D70 0027FCD0 28 00 00 00 */ cmplwi r0, 0 /* 80282D74 0027FCD4 41 82 00 10 */ beq lbl_80282D84 /* 80282D78 0027FCD8 80 7C 00 04 */ lwz r3, 4(r28) /* 80282D7C 0027FCDC 38 80 00 01 */ li r4, 1 /* 80282D80 0027FCE0 4B E9 3C CD */ bl __dt__10CModelDataFv lbl_80282D84: /* 80282D84 0027FCE4 3B 9C 00 08 */ addi r28, r28, 8 lbl_80282D88: /* 80282D88 0027FCE8 7C 1C E8 40 */ cmplw r28, r29 /* 80282D8C 0027FCEC 40 82 FF D8 */ bne lbl_80282D64 /* 80282D90 0027FCF0 38 00 00 00 */ li r0, 0 /* 80282D94 0027FCF4 7F C3 F3 78 */ mr r3, r30 /* 80282D98 0027FCF8 90 1E 07 34 */ stw r0, 0x734(r30) /* 80282D9C 0027FCFC 7F E5 FB 78 */ mr r5, r31 /* 80282DA0 0027FD00 38 80 00 25 */ li r4, 0x25 /* 80282DA4 0027FD04 4B DD 15 AD */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80282DA8 0027FD08 3C 80 80 5A */ lis r4, skZero3f@ha /* 80282DAC 0027FD0C 7F C3 F3 78 */ mr r3, r30 /* 80282DB0 0027FD10 38 C4 66 A0 */ addi r6, r4, skZero3f@l /* 80282DB4 0027FD14 7F E5 FB 78 */ mr r5, r31 /* 80282DB8 0027FD18 C0 06 00 00 */ lfs f0, 0(r6) /* 80282DBC 0027FD1C 38 80 00 00 */ li r4, 0 /* 80282DC0 0027FD20 D0 1E 01 50 */ stfs f0, 0x150(r30) /* 80282DC4 0027FD24 C0 06 00 04 */ lfs f0, 4(r6) /* 80282DC8 0027FD28 D0 1E 01 54 */ stfs f0, 0x154(r30) /* 80282DCC 0027FD2C C0 06 00 08 */ lfs f0, 8(r6) /* 80282DD0 0027FD30 D0 1E 01 58 */ stfs f0, 0x158(r30) /* 80282DD4 0027FD34 4B D9 4A 11 */ bl SetMorphBallState__7CPlayerFQ27CPlayer21EPlayerMorphBallStateR13CStateManager /* 80282DD8 0027FD38 C0 22 BD D0 */ lfs f1, lbl_805ADAF0@sda21(r2) /* 80282DDC 0027FD3C 7F C3 F3 78 */ mr r3, r30 /* 80282DE0 0027FD40 C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 80282DE4 0027FD44 C0 62 BD 8C */ lfs f3, lbl_805ADAAC@sda21(r2) /* 80282DE8 0027FD48 4B D9 02 85 */ bl SetHudDisable__7CPlayerFfff /* 80282DEC 0027FD4C C0 22 BD D0 */ lfs f1, lbl_805ADAF0@sda21(r2) /* 80282DF0 0027FD50 7F C3 F3 78 */ mr r3, r30 /* 80282DF4 0027FD54 C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 80282DF8 0027FD58 C0 62 BD 8C */ lfs f3, lbl_805ADAAC@sda21(r2) /* 80282DFC 0027FD5C 4B D9 02 71 */ bl SetHudDisable__7CPlayerFfff /* 80282E00 0027FD60 7F C3 F3 78 */ mr r3, r30 /* 80282E04 0027FD64 7F E4 FB 78 */ mr r4, r31 /* 80282E08 0027FD68 48 00 11 21 */ bl SetIntoBallReadyAnimation__7CPlayerFR13CStateManager /* 80282E0C 0027FD6C 7F C3 F3 78 */ mr r3, r30 /* 80282E10 0027FD70 4B E9 85 69 */ bl Stop__13CPhysicsActorFv /* 80282E14 0027FD74 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80282E18 0027FD78 7F E4 FB 78 */ mr r4, r31 /* 80282E1C 0027FD7C D0 1E 03 E4 */ stfs f0, 0x3e4(r30) /* 80282E20 0027FD80 D0 1E 03 E8 */ stfs f0, 0x3e8(r30) /* 80282E24 0027FD84 D0 1E 03 EC */ stfs f0, 0x3ec(r30) /* 80282E28 0027FD88 D0 1E 03 F0 */ stfs f0, 0x3f0(r30) /* 80282E2C 0027FD8C 80 7E 07 68 */ lwz r3, 0x768(r30) /* 80282E30 0027FD90 4B E7 28 0D */ bl LeaveMorphBallState__10CMorphBallFR13CStateManager /* 80282E34 0027FD94 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80282E38 0027FD98 7F E4 FB 78 */ mr r4, r31 /* 80282E3C 0027FD9C 38 A1 00 0C */ addi r5, r1, 0xc /* 80282E40 0027FDA0 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80282E44 0027FDA4 A0 03 00 08 */ lhz r0, 8(r3) /* 80282E48 0027FDA8 B0 01 00 0C */ sth r0, 0xc(r1) /* 80282E4C 0027FDAC B0 01 00 08 */ sth r0, 8(r1) /* 80282E50 0027FDB0 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80282E54 0027FDB4 4B D8 79 F5 */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId /* 80282E58 0027FDB8 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80282E5C 0027FDBC 7F E5 FB 78 */ mr r5, r31 /* 80282E60 0027FDC0 38 80 00 00 */ li r4, 0 /* 80282E64 0027FDC4 80 63 00 80 */ lwz r3, 0x80(r3) /* 80282E68 0027FDC8 4B DF FE 35 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80282E6C 0027FDCC 7F C3 F3 78 */ mr r3, r30 /* 80282E70 0027FDD0 7F E5 FB 78 */ mr r5, r31 /* 80282E74 0027FDD4 38 80 00 00 */ li r4, 0 /* 80282E78 0027FDD8 4B D9 44 25 */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager /* 80282E7C 0027FDDC 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80282E80 0027FDE0 38 A0 00 01 */ li r5, 1 /* 80282E84 0027FDE4 7F E4 FB 78 */ mr r4, r31 /* 80282E88 0027FDE8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80282E8C 0027FDEC 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80282E90 0027FDF0 88 03 01 C6 */ lbz r0, 0x1c6(r3) /* 80282E94 0027FDF4 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18 /* 80282E98 0027FDF8 98 03 01 C6 */ stb r0, 0x1c6(r3) /* 80282E9C 0027FDFC 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80282EA0 0027FE00 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80282EA4 0027FE04 81 83 00 00 */ lwz r12, 0(r3) /* 80282EA8 0027FE08 81 8C 00 14 */ lwz r12, 0x14(r12) /* 80282EAC 0027FE0C 7D 89 03 A6 */ mtctr r12 /* 80282EB0 0027FE10 4E 80 04 21 */ bctrl /* 80282EB4 0027FE14 7F C3 F3 78 */ mr r3, r30 /* 80282EB8 0027FE18 7F E5 FB 78 */ mr r5, r31 /* 80282EBC 0027FE1C 38 9E 00 34 */ addi r4, r30, 0x34 /* 80282EC0 0027FE20 4B D9 60 09 */ bl ForceGunOrientation__7CPlayerFRC12CTransform4fR13CStateManager /* 80282EC4 0027FE24 7F C3 F3 78 */ mr r3, r30 /* 80282EC8 0027FE28 7F E4 FB 78 */ mr r4, r31 /* 80282ECC 0027FE2C 4B D9 71 E1 */ bl DrawGun__7CPlayerFR13CStateManager /* 80282ED0 0027FE30 80 01 00 34 */ lwz r0, 0x34(r1) /* 80282ED4 0027FE34 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80282ED8 0027FE38 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80282EDC 0027FE3C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80282EE0 0027FE40 83 81 00 20 */ lwz r28, 0x20(r1) /* 80282EE4 0027FE44 7C 08 03 A6 */ mtlr r0 /* 80282EE8 0027FE48 38 21 00 30 */ addi r1, r1, 0x30 /* 80282EEC 0027FE4C 4E 80 00 20 */ blr .global EnterMorphBallState__7CPlayerFR13CStateManager EnterMorphBallState__7CPlayerFR13CStateManager: /* 80282EF0 0027FE50 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80282EF4 0027FE54 7C 08 02 A6 */ mflr r0 /* 80282EF8 0027FE58 90 01 00 54 */ stw r0, 0x54(r1) /* 80282EFC 0027FE5C DB E1 00 40 */ stfd f31, 0x40(r1) /* 80282F00 0027FE60 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80282F04 0027FE64 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80282F08 0027FE68 93 C1 00 38 */ stw r30, 0x38(r1) /* 80282F0C 0027FE6C 93 A1 00 34 */ stw r29, 0x34(r1) /* 80282F10 0027FE70 93 81 00 30 */ stw r28, 0x30(r1) /* 80282F14 0027FE74 7C 9D 23 78 */ mr r29, r4 /* 80282F18 0027FE78 7C 7C 1B 78 */ mr r28, r3 /* 80282F1C 0027FE7C 7F A5 EB 78 */ mr r5, r29 /* 80282F20 0027FE80 38 80 00 01 */ li r4, 1 /* 80282F24 0027FE84 4B D9 48 C1 */ bl SetMorphBallState__7CPlayerFQ27CPlayer21EPlayerMorphBallStateR13CStateManager /* 80282F28 0027FE88 7F 83 E3 78 */ mr r3, r28 /* 80282F2C 0027FE8C 7F A5 EB 78 */ mr r5, r29 /* 80282F30 0027FE90 38 80 00 25 */ li r4, 0x25 /* 80282F34 0027FE94 4B DD 10 4D */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80282F38 0027FE98 80 1C 07 34 */ lwz r0, 0x734(r28) /* 80282F3C 0027FE9C 83 DC 07 3C */ lwz r30, 0x73c(r28) /* 80282F40 0027FEA0 54 00 18 38 */ slwi r0, r0, 3 /* 80282F44 0027FEA4 7F FE 02 14 */ add r31, r30, r0 /* 80282F48 0027FEA8 93 C1 00 0C */ stw r30, 0xc(r1) /* 80282F4C 0027FEAC 93 E1 00 14 */ stw r31, 0x14(r1) /* 80282F50 0027FEB0 93 E1 00 10 */ stw r31, 0x10(r1) /* 80282F54 0027FEB4 93 C1 00 08 */ stw r30, 8(r1) /* 80282F58 0027FEB8 48 00 00 28 */ b lbl_80282F80 lbl_80282F5C: /* 80282F5C 0027FEBC 28 1E 00 00 */ cmplwi r30, 0 /* 80282F60 0027FEC0 41 82 00 1C */ beq lbl_80282F7C /* 80282F64 0027FEC4 88 1E 00 00 */ lbz r0, 0(r30) /* 80282F68 0027FEC8 28 00 00 00 */ cmplwi r0, 0 /* 80282F6C 0027FECC 41 82 00 10 */ beq lbl_80282F7C /* 80282F70 0027FED0 80 7E 00 04 */ lwz r3, 4(r30) /* 80282F74 0027FED4 38 80 00 01 */ li r4, 1 /* 80282F78 0027FED8 4B E9 3A D5 */ bl __dt__10CModelDataFv lbl_80282F7C: /* 80282F7C 0027FEDC 3B DE 00 08 */ addi r30, r30, 8 lbl_80282F80: /* 80282F80 0027FEE0 7C 1E F8 40 */ cmplw r30, r31 /* 80282F84 0027FEE4 40 82 FF D8 */ bne lbl_80282F5C /* 80282F88 0027FEE8 38 00 00 00 */ li r0, 0 /* 80282F8C 0027FEEC 38 7C 01 38 */ addi r3, r28, 0x138 /* 80282F90 0027FEF0 90 1C 07 34 */ stw r0, 0x734(r28) /* 80282F94 0027FEF4 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 80282F98 0027FEF8 C3 E4 02 7C */ lfs f31, 0x27c(r4) /* 80282F9C 0027FEFC 48 09 19 1D */ bl Magnitude__9CVector3fCFv /* 80282FA0 0027FF00 FC 20 08 50 */ fneg f1, f1 /* 80282FA4 0027FF04 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80282FA8 0027FF08 38 61 00 24 */ addi r3, r1, 0x24 /* 80282FAC 0027FF0C 38 81 00 18 */ addi r4, r1, 0x18 /* 80282FB0 0027FF10 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80282FB4 0027FF14 EC 21 F8 24 */ fdivs f1, f1, f31 /* 80282FB8 0027FF18 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80282FBC 0027FF1C D0 21 00 18 */ stfs f1, 0x18(r1) /* 80282FC0 0027FF20 4B D9 85 81 */ bl FromVector__10CAxisAngleFRC9CVector3f /* 80282FC4 0027FF24 7F 83 E3 78 */ mr r3, r28 /* 80282FC8 0027FF28 38 81 00 24 */ addi r4, r1, 0x24 /* 80282FCC 0027FF2C 4B E9 7B 11 */ bl SetAngularVelocityOR__13CPhysicsActorFRC10CAxisAngle /* 80282FD0 0027FF30 80 7C 07 68 */ lwz r3, 0x768(r28) /* 80282FD4 0027FF34 7F A4 EB 78 */ mr r4, r29 /* 80282FD8 0027FF38 4B E7 26 B1 */ bl EnterMorphBallState__10CMorphBallFR13CStateManager /* 80282FDC 0027FF3C 80 7C 07 68 */ lwz r3, 0x768(r28) /* 80282FE0 0027FF40 C0 22 BD C8 */ lfs f1, lbl_805ADAE8@sda21(r2) /* 80282FE4 0027FF44 4B E6 BC F9 */ bl TakeDamage__10CMorphBallFf /* 80282FE8 0027FF48 80 7C 07 68 */ lwz r3, 0x768(r28) /* 80282FEC 0027FF4C C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80282FF0 0027FF50 4B E7 5C A1 */ bl SetDamageTimer__10CMorphBallFf /* 80282FF4 0027FF54 80 7D 08 B8 */ lwz r3, 0x8b8(r29) /* 80282FF8 0027FF58 38 80 00 00 */ li r4, 0 /* 80282FFC 0027FF5C 80 63 00 00 */ lwz r3, 0(r3) /* 80283000 0027FF60 4B E0 E9 55 */ bl StartTransitionToVisor__12CPlayerStateFQ212CPlayerState12EPlayerVisor /* 80283004 0027FF64 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80283008 0027FF68 80 01 00 54 */ lwz r0, 0x54(r1) /* 8028300C 0027FF6C CB E1 00 40 */ lfd f31, 0x40(r1) /* 80283010 0027FF70 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80283014 0027FF74 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80283018 0027FF78 83 A1 00 34 */ lwz r29, 0x34(r1) /* 8028301C 0027FF7C 83 81 00 30 */ lwz r28, 0x30(r1) /* 80283020 0027FF80 7C 08 03 A6 */ mtlr r0 /* 80283024 0027FF84 38 21 00 50 */ addi r1, r1, 0x50 /* 80283028 0027FF88 4E 80 00 20 */ blr .global ActivateMorphBallCamera__7CPlayerFR13CStateManager ActivateMorphBallCamera__7CPlayerFR13CStateManager: /* 8028302C 0027FF8C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80283030 0027FF90 7C 08 02 A6 */ mflr r0 /* 80283034 0027FF94 90 01 00 14 */ stw r0, 0x14(r1) /* 80283038 0027FF98 93 E1 00 0C */ stw r31, 0xc(r1) /* 8028303C 0027FF9C 7C 9F 23 78 */ mr r31, r4 /* 80283040 0027FFA0 38 80 00 01 */ li r4, 1 /* 80283044 0027FFA4 7F E5 FB 78 */ mr r5, r31 /* 80283048 0027FFA8 4B D9 42 55 */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager /* 8028304C 0027FFAC 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283050 0027FFB0 7F E5 FB 78 */ mr r5, r31 /* 80283054 0027FFB4 38 80 00 00 */ li r4, 0 /* 80283058 0027FFB8 80 63 00 80 */ lwz r3, 0x80(r3) /* 8028305C 0027FFBC 4B DF FC 41 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80283060 0027FFC0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80283064 0027FFC4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80283068 0027FFC8 7C 08 03 A6 */ mtlr r0 /* 8028306C 0027FFCC 38 21 00 10 */ addi r1, r1, 0x10 /* 80283070 0027FFD0 4E 80 00 20 */ blr .global TransitionFromMorphBallState__7CPlayerFR13CStateManager TransitionFromMorphBallState__7CPlayerFR13CStateManager: /* 80283074 0027FFD4 94 21 FD 50 */ stwu r1, -0x2b0(r1) /* 80283078 0027FFD8 7C 08 02 A6 */ mflr r0 /* 8028307C 0027FFDC 90 01 02 B4 */ stw r0, 0x2b4(r1) /* 80283080 0027FFE0 DB E1 02 A0 */ stfd f31, 0x2a0(r1) /* 80283084 0027FFE4 F3 E1 02 A8 */ psq_st f31, 680(r1), 0, qr0 /* 80283088 0027FFE8 DB C1 02 90 */ stfd f30, 0x290(r1) /* 8028308C 0027FFEC F3 C1 02 98 */ psq_st f30, 664(r1), 0, qr0 /* 80283090 0027FFF0 DB A1 02 80 */ stfd f29, 0x280(r1) /* 80283094 0027FFF4 F3 A1 02 88 */ psq_st f29, 648(r1), 0, qr0 /* 80283098 0027FFF8 DB 81 02 70 */ stfd f28, 0x270(r1) /* 8028309C 0027FFFC F3 81 02 78 */ psq_st f28, 632(r1), 0, qr0 /* 802830A0 00280000 DB 61 02 60 */ stfd f27, 0x260(r1) /* 802830A4 00280004 F3 61 02 68 */ psq_st f27, 616(r1), 0, qr0 /* 802830A8 00280008 DB 41 02 50 */ stfd f26, 0x250(r1) /* 802830AC 0028000C F3 41 02 58 */ psq_st f26, 600(r1), 0, qr0 /* 802830B0 00280010 93 E1 02 4C */ stw r31, 0x24c(r1) /* 802830B4 00280014 93 C1 02 48 */ stw r30, 0x248(r1) /* 802830B8 00280018 93 A1 02 44 */ stw r29, 0x244(r1) /* 802830BC 0028001C 7C 7D 1B 78 */ mr r29, r3 /* 802830C0 00280020 38 00 00 0E */ li r0, 0xe /* 802830C4 00280024 90 03 05 84 */ stw r0, 0x584(r3) /* 802830C8 00280028 7C 9E 23 78 */ mr r30, r4 /* 802830CC 0028002C 38 61 00 48 */ addi r3, r1, 0x48 /* 802830D0 00280030 C0 3D 01 38 */ lfs f1, 0x138(r29) /* 802830D4 00280034 C0 5D 01 3C */ lfs f2, 0x13c(r29) /* 802830D8 00280038 48 09 11 29 */ bl __ct__9CVector2fFff /* 802830DC 0028003C 38 61 00 48 */ addi r3, r1, 0x48 /* 802830E0 00280040 48 09 10 15 */ bl Magnitude__9CVector2fCFv /* 802830E4 00280044 D0 3D 05 8C */ stfs f1, 0x58c(r29) /* 802830E8 00280048 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 802830EC 0028004C C0 3D 05 8C */ lfs f1, 0x58c(r29) /* 802830F0 00280050 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802830F4 00280054 40 80 00 0C */ bge lbl_80283100 /* 802830F8 00280058 38 00 00 05 */ li r0, 5 /* 802830FC 0028005C 90 1D 05 84 */ stw r0, 0x584(r29) lbl_80283100: /* 80283100 00280060 80 1D 02 58 */ lwz r0, 0x258(r29) /* 80283104 00280064 2C 00 00 00 */ cmpwi r0, 0 /* 80283108 00280068 41 82 00 74 */ beq lbl_8028317C /* 8028310C 0028006C 7F A4 EB 78 */ mr r4, r29 /* 80283110 00280070 38 61 00 E0 */ addi r3, r1, 0xe0 /* 80283114 00280074 48 00 1C 35 */ bl GetBallPosition__7CPlayerCFv /* 80283118 00280078 C0 81 00 E0 */ lfs f4, 0xe0(r1) /* 8028311C 0028007C 3C 60 80 47 */ lis r3, lbl_8046E0D8@ha /* 80283120 00280080 C0 61 00 E4 */ lfs f3, 0xe4(r1) /* 80283124 00280084 38 C3 E0 D8 */ addi r6, r3, lbl_8046E0D8@l /* 80283128 00280088 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 8028312C 0028008C 7F C3 F3 78 */ mr r3, r30 /* 80283130 00280090 C0 41 00 E8 */ lfs f2, 0xe8(r1) /* 80283134 00280094 7F A7 EB 78 */ mr r7, r29 /* 80283138 00280098 EC A3 00 2A */ fadds f5, f3, f0 /* 8028313C 0028009C C0 22 BD D4 */ lfs f1, lbl_805ADAF4@sda21(r2) /* 80283140 002800A0 EC 04 00 2A */ fadds f0, f4, f0 /* 80283144 002800A4 D0 81 01 40 */ stfs f4, 0x140(r1) /* 80283148 002800A8 EC 22 08 2A */ fadds f1, f2, f1 /* 8028314C 002800AC 38 81 01 40 */ addi r4, r1, 0x140 /* 80283150 002800B0 D0 61 01 44 */ stfs f3, 0x144(r1) /* 80283154 002800B4 38 A1 00 D4 */ addi r5, r1, 0xd4 /* 80283158 002800B8 D0 41 01 48 */ stfs f2, 0x148(r1) /* 8028315C 002800BC D0 01 00 D4 */ stfs f0, 0xd4(r1) /* 80283160 002800C0 D0 A1 00 D8 */ stfs f5, 0xd8(r1) /* 80283164 002800C4 D0 21 00 DC */ stfs f1, 0xdc(r1) /* 80283168 002800C8 4B DC 9C D5 */ bl RayCollideWorld__13CStateManagerFRC9CVector3fRC9CVector3fRC15CMaterialFilterPC6CActor /* 8028316C 002800CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80283170 002800D0 41 82 00 0C */ beq lbl_8028317C /* 80283174 002800D4 38 00 00 07 */ li r0, 7 /* 80283178 002800D8 90 1D 05 84 */ stw r0, 0x584(r29) lbl_8028317C: /* 8028317C 002800DC 80 9D 00 64 */ lwz r4, 0x64(r29) /* 80283180 002800E0 38 60 00 00 */ li r3, 0 /* 80283184 002800E4 28 04 00 00 */ cmplwi r4, 0 /* 80283188 002800E8 41 82 00 14 */ beq lbl_8028319C /* 8028318C 002800EC 80 04 00 10 */ lwz r0, 0x10(r4) /* 80283190 002800F0 28 00 00 00 */ cmplwi r0, 0 /* 80283194 002800F4 41 82 00 08 */ beq lbl_8028319C /* 80283198 002800F8 38 60 00 01 */ li r3, 1 lbl_8028319C: /* 8028319C 002800FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802831A0 00280100 41 82 00 5C */ beq lbl_802831FC /* 802831A4 00280104 83 E4 00 10 */ lwz r31, 0x10(r4) /* 802831A8 00280108 38 E0 FF FF */ li r7, -1 /* 802831AC 0028010C 80 7D 05 84 */ lwz r3, 0x584(r29) /* 802831B0 00280110 38 00 00 00 */ li r0, 0 /* 802831B4 00280114 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 802831B8 00280118 38 C0 00 01 */ li r6, 1 /* 802831BC 0028011C 90 61 02 0C */ stw r3, 0x20c(r1) /* 802831C0 00280120 7F E3 FB 78 */ mr r3, r31 /* 802831C4 00280124 38 81 02 0C */ addi r4, r1, 0x20c /* 802831C8 00280128 38 A0 00 00 */ li r5, 0 /* 802831CC 0028012C 90 E1 02 10 */ stw r7, 0x210(r1) /* 802831D0 00280130 D0 01 02 14 */ stfs f0, 0x214(r1) /* 802831D4 00280134 98 C1 02 18 */ stb r6, 0x218(r1) /* 802831D8 00280138 90 01 02 1C */ stw r0, 0x21c(r1) /* 802831DC 0028013C 90 01 02 20 */ stw r0, 0x220(r1) /* 802831E0 00280140 98 01 02 24 */ stb r0, 0x224(r1) /* 802831E4 00280144 90 01 02 28 */ stw r0, 0x228(r1) /* 802831E8 00280148 90 01 02 2C */ stw r0, 0x22c(r1) /* 802831EC 0028014C 90 01 02 30 */ stw r0, 0x230(r1) /* 802831F0 00280150 4B DA 9B 8D */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 802831F4 00280154 38 00 00 00 */ li r0, 0 /* 802831F8 00280158 90 1F 01 04 */ stw r0, 0x104(r31) lbl_802831FC: /* 802831FC 0028015C 80 7D 00 64 */ lwz r3, 0x64(r29) /* 80283200 00280160 38 80 00 00 */ li r4, 0 /* 80283204 00280164 4B E9 23 5D */ bl EnableLooping__10CModelDataFb /* 80283208 00280168 80 7D 00 64 */ lwz r3, 0x64(r29) /* 8028320C 0028016C 7F C4 F3 78 */ mr r4, r30 /* 80283210 00280170 38 A0 00 00 */ li r5, 0 /* 80283214 00280174 4B E9 2A FD */ bl Touch__10CModelDataCFRC13CStateManageri /* 80283218 00280178 7F A3 EB 78 */ mr r3, r29 /* 8028321C 0028017C 7F C5 F3 78 */ mr r5, r30 /* 80283220 00280180 38 80 00 03 */ li r4, 3 /* 80283224 00280184 4B D9 45 C1 */ bl SetMorphBallState__7CPlayerFQ27CPlayer21EPlayerMorphBallStateR13CStateManager /* 80283228 00280188 80 7D 07 68 */ lwz r3, 0x768(r29) /* 8028322C 0028018C 7F C4 F3 78 */ mr r4, r30 /* 80283230 00280190 4B E7 24 0D */ bl LeaveMorphBallState__10CMorphBallFR13CStateManager /* 80283234 00280194 80 DE 08 70 */ lwz r6, 0x870(r30) /* 80283238 00280198 7F C4 F3 78 */ mr r4, r30 /* 8028323C 0028019C 38 A1 00 20 */ addi r5, r1, 0x20 /* 80283240 002801A0 80 66 00 7C */ lwz r3, 0x7c(r6) /* 80283244 002801A4 83 E6 00 80 */ lwz r31, 0x80(r6) /* 80283248 002801A8 A0 03 00 08 */ lhz r0, 8(r3) /* 8028324C 002801AC B0 01 00 20 */ sth r0, 0x20(r1) /* 80283250 002801B0 B0 01 00 1C */ sth r0, 0x1c(r1) /* 80283254 002801B4 80 7E 08 70 */ lwz r3, 0x870(r30) /* 80283258 002801B8 4B D8 75 F1 */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId /* 8028325C 002801BC C0 3D 00 60 */ lfs f1, 0x60(r29) /* 80283260 002801C0 38 61 01 34 */ addi r3, r1, 0x134 /* 80283264 002801C4 C0 1F 00 60 */ lfs f0, 0x60(r31) /* 80283268 002801C8 C0 9D 00 50 */ lfs f4, 0x50(r29) /* 8028326C 002801CC C0 7F 00 50 */ lfs f3, 0x50(r31) /* 80283270 002801D0 EC A1 00 28 */ fsubs f5, f1, f0 /* 80283274 002801D4 C0 5D 00 40 */ lfs f2, 0x40(r29) /* 80283278 002801D8 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8028327C 002801DC EC 64 18 28 */ fsubs f3, f4, f3 /* 80283280 002801E0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283284 002801E4 EC 22 08 28 */ fsubs f1, f2, f1 /* 80283288 002801E8 D0 A1 01 3C */ stfs f5, 0x13c(r1) /* 8028328C 002801EC D0 61 01 38 */ stfs f3, 0x138(r1) /* 80283290 002801F0 D0 21 01 34 */ stfs f1, 0x134(r1) /* 80283294 002801F4 D0 01 01 3C */ stfs f0, 0x13c(r1) /* 80283298 002801F8 48 09 14 61 */ bl CanBeNormalized__9CVector3fCFv /* 8028329C 002801FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802832A0 00280200 41 82 03 6C */ beq lbl_8028360C /* 802832A4 00280204 38 61 01 34 */ addi r3, r1, 0x134 /* 802832A8 00280208 48 09 16 51 */ bl Normalize__9CVector3fFv /* 802832AC 0028020C C3 FD 05 18 */ lfs f31, 0x518(r29) /* 802832B0 00280210 38 61 01 28 */ addi r3, r1, 0x128 /* 802832B4 00280214 C3 DD 05 1C */ lfs f30, 0x51c(r29) /* 802832B8 00280218 C3 BD 05 20 */ lfs f29, 0x520(r29) /* 802832BC 0028021C C0 3D 05 00 */ lfs f1, 0x500(r29) /* 802832C0 00280220 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802832C4 00280224 D0 21 01 28 */ stfs f1, 0x128(r1) /* 802832C8 00280228 C0 3D 05 04 */ lfs f1, 0x504(r29) /* 802832CC 0028022C D0 21 01 2C */ stfs f1, 0x12c(r1) /* 802832D0 00280230 C0 3D 05 08 */ lfs f1, 0x508(r29) /* 802832D4 00280234 D0 21 01 30 */ stfs f1, 0x130(r1) /* 802832D8 00280238 D0 01 01 30 */ stfs f0, 0x130(r1) /* 802832DC 0028023C 48 09 14 1D */ bl CanBeNormalized__9CVector3fCFv /* 802832E0 00280240 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802832E4 00280244 41 82 00 18 */ beq lbl_802832FC /* 802832E8 00280248 38 61 01 28 */ addi r3, r1, 0x128 /* 802832EC 0028024C 48 09 15 CD */ bl Magnitude__9CVector3fCFv /* 802832F0 00280250 C0 02 BD AC */ lfs f0, lbl_805ADACC@sda21(r2) /* 802832F4 00280254 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802832F8 00280258 40 80 00 10 */ bge lbl_80283308 lbl_802832FC: /* 802832FC 0028025C C3 E1 01 34 */ lfs f31, 0x134(r1) /* 80283300 00280260 C3 C1 01 38 */ lfs f30, 0x138(r1) /* 80283304 00280264 C3 A1 01 3C */ lfs f29, 0x13c(r1) lbl_80283308: /* 80283308 00280268 88 1D 09 C6 */ lbz r0, 0x9c6(r29) /* 8028330C 0028026C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80283310 00280270 41 82 00 90 */ beq lbl_802833A0 /* 80283314 00280274 A0 1D 08 30 */ lhz r0, 0x830(r29) /* 80283318 00280278 7F C3 F3 78 */ mr r3, r30 /* 8028331C 0028027C 38 81 00 18 */ addi r4, r1, 0x18 /* 80283320 00280280 B0 01 00 18 */ sth r0, 0x18(r1) /* 80283324 00280284 4B DC 92 81 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80283328 00280288 7C 64 1B 78 */ mr r4, r3 /* 8028332C 0028028C 38 61 00 40 */ addi r3, r1, 0x40 /* 80283330 00280290 4B E2 57 D1 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 80283334 00280294 80 83 00 04 */ lwz r4, 4(r3) /* 80283338 00280298 28 04 00 00 */ cmplwi r4, 0 /* 8028333C 0028029C 41 82 00 64 */ beq lbl_802833A0 /* 80283340 002802A0 C0 24 00 60 */ lfs f1, 0x60(r4) /* 80283344 002802A4 38 61 01 1C */ addi r3, r1, 0x11c /* 80283348 002802A8 C0 1D 00 60 */ lfs f0, 0x60(r29) /* 8028334C 002802AC C0 84 00 50 */ lfs f4, 0x50(r4) /* 80283350 002802B0 C0 7D 00 50 */ lfs f3, 0x50(r29) /* 80283354 002802B4 EC A1 00 28 */ fsubs f5, f1, f0 /* 80283358 002802B8 C0 44 00 40 */ lfs f2, 0x40(r4) /* 8028335C 002802BC C0 3D 00 40 */ lfs f1, 0x40(r29) /* 80283360 002802C0 EC 64 18 28 */ fsubs f3, f4, f3 /* 80283364 002802C4 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283368 002802C8 EC 22 08 28 */ fsubs f1, f2, f1 /* 8028336C 002802CC D0 A1 01 24 */ stfs f5, 0x124(r1) /* 80283370 002802D0 D0 61 01 20 */ stfs f3, 0x120(r1) /* 80283374 002802D4 D0 21 01 1C */ stfs f1, 0x11c(r1) /* 80283378 002802D8 D0 01 01 24 */ stfs f0, 0x124(r1) /* 8028337C 002802DC 48 09 13 7D */ bl CanBeNormalized__9CVector3fCFv /* 80283380 002802E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80283384 002802E4 41 82 00 1C */ beq lbl_802833A0 /* 80283388 002802E8 38 61 00 C8 */ addi r3, r1, 0xc8 /* 8028338C 002802EC 38 81 01 1C */ addi r4, r1, 0x11c /* 80283390 002802F0 48 09 14 C1 */ bl AsNormalized__9CVector3fCFv /* 80283394 002802F4 C3 E1 00 C8 */ lfs f31, 0xc8(r1) /* 80283398 002802F8 C3 C1 00 CC */ lfs f30, 0xcc(r1) /* 8028339C 002802FC C3 A1 00 D0 */ lfs f29, 0xd0(r1) lbl_802833A0: /* 802833A0 00280300 88 1D 09 C7 */ lbz r0, 0x9c7(r29) /* 802833A4 00280304 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 802833A8 00280308 41 82 00 D8 */ beq lbl_80283480 /* 802833AC 0028030C A0 1D 08 30 */ lhz r0, 0x830(r29) /* 802833B0 00280310 7F C3 F3 78 */ mr r3, r30 /* 802833B4 00280314 38 81 00 14 */ addi r4, r1, 0x14 /* 802833B8 00280318 B0 01 00 14 */ sth r0, 0x14(r1) /* 802833BC 0028031C 4B DC 91 E9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 802833C0 00280320 7C 64 1B 78 */ mr r4, r3 /* 802833C4 00280324 38 61 00 38 */ addi r3, r1, 0x38 /* 802833C8 00280328 4B E2 57 39 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 802833CC 0028032C 80 63 00 04 */ lwz r3, 4(r3) /* 802833D0 00280330 28 03 00 00 */ cmplwi r3, 0 /* 802833D4 00280334 41 82 00 AC */ beq lbl_80283480 /* 802833D8 00280338 A0 03 01 08 */ lhz r0, 0x108(r3) /* 802833DC 0028033C 7F C3 F3 78 */ mr r3, r30 /* 802833E0 00280340 38 81 00 10 */ addi r4, r1, 0x10 /* 802833E4 00280344 B0 01 00 0C */ sth r0, 0xc(r1) /* 802833E8 00280348 B0 01 00 10 */ sth r0, 0x10(r1) /* 802833EC 0028034C 4B DC 91 B9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 802833F0 00280350 7C 64 1B 78 */ mr r4, r3 /* 802833F4 00280354 38 61 00 30 */ addi r3, r1, 0x30 /* 802833F8 00280358 4B E2 C8 99 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 802833FC 0028035C 80 83 00 04 */ lwz r4, 4(r3) /* 80283400 00280360 28 04 00 00 */ cmplwi r4, 0 /* 80283404 00280364 41 82 00 7C */ beq lbl_80283480 /* 80283408 00280368 81 84 00 00 */ lwz r12, 0(r4) /* 8028340C 0028036C 7F C5 F3 78 */ mr r5, r30 /* 80283410 00280370 38 61 00 BC */ addi r3, r1, 0xbc /* 80283414 00280374 C3 5D 00 60 */ lfs f26, 0x60(r29) /* 80283418 00280378 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8028341C 0028037C C3 7D 00 50 */ lfs f27, 0x50(r29) /* 80283420 00280380 C3 9D 00 40 */ lfs f28, 0x40(r29) /* 80283424 00280384 7D 89 03 A6 */ mtctr r12 /* 80283428 00280388 4E 80 04 21 */ bctrl /* 8028342C 0028038C C0 01 00 C4 */ lfs f0, 0xc4(r1) /* 80283430 00280390 38 61 01 10 */ addi r3, r1, 0x110 /* 80283434 00280394 C0 61 00 BC */ lfs f3, 0xbc(r1) /* 80283438 00280398 EC 20 D0 28 */ fsubs f1, f0, f26 /* 8028343C 0028039C C0 41 00 C0 */ lfs f2, 0xc0(r1) /* 80283440 002803A0 EC 63 E0 28 */ fsubs f3, f3, f28 /* 80283444 002803A4 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283448 002803A8 EC 42 D8 28 */ fsubs f2, f2, f27 /* 8028344C 002803AC D0 21 01 18 */ stfs f1, 0x118(r1) /* 80283450 002803B0 D0 61 01 10 */ stfs f3, 0x110(r1) /* 80283454 002803B4 D0 41 01 14 */ stfs f2, 0x114(r1) /* 80283458 002803B8 D0 01 01 18 */ stfs f0, 0x118(r1) /* 8028345C 002803BC 48 09 12 9D */ bl CanBeNormalized__9CVector3fCFv /* 80283460 002803C0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80283464 002803C4 41 82 00 1C */ beq lbl_80283480 /* 80283468 002803C8 38 61 00 B0 */ addi r3, r1, 0xb0 /* 8028346C 002803CC 38 81 01 10 */ addi r4, r1, 0x110 /* 80283470 002803D0 48 09 13 E1 */ bl AsNormalized__9CVector3fCFv /* 80283474 002803D4 C3 E1 00 B0 */ lfs f31, 0xb0(r1) /* 80283478 002803D8 C3 C1 00 B4 */ lfs f30, 0xb4(r1) /* 8028347C 002803DC C3 A1 00 B8 */ lfs f29, 0xb8(r1) lbl_80283480: /* 80283480 002803E0 C0 01 01 38 */ lfs f0, 0x138(r1) /* 80283484 002803E4 C0 41 01 34 */ lfs f2, 0x134(r1) /* 80283488 002803E8 EC 20 07 B2 */ fmuls f1, f0, f30 /* 8028348C 002803EC C0 61 01 3C */ lfs f3, 0x13c(r1) /* 80283490 002803F0 C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80283494 002803F4 EC 22 0F FA */ fmadds f1, f2, f31, f1 /* 80283498 002803F8 EC 23 0F 7A */ fmadds f1, f3, f29, f1 /* 8028349C 002803FC FC 40 0A 10 */ fabs f2, f1 /* 802834A0 00280400 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 802834A4 00280404 40 81 00 14 */ ble lbl_802834B8 /* 802834A8 00280408 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 802834AC 0028040C C0 42 BD 80 */ lfs f2, lbl_805ADAA0@sda21(r2) /* 802834B0 00280410 FC 01 00 AE */ fsel f0, f1, f2, f0 /* 802834B4 00280414 EC 22 00 32 */ fmuls f1, f2, f0 lbl_802834B8: /* 802834B8 00280418 48 11 17 75 */ bl acos /* 802834BC 0028041C FC 20 08 18 */ frsp f1, f1 /* 802834C0 00280420 C0 02 BD D8 */ lfs f0, lbl_805ADAF8@sda21(r2) /* 802834C4 00280424 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802834C8 00280428 41 80 00 10 */ blt lbl_802834D8 /* 802834CC 0028042C 88 1D 09 C7 */ lbz r0, 0x9c7(r29) /* 802834D0 00280430 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 802834D4 00280434 41 82 00 90 */ beq lbl_80283564 lbl_802834D8: /* 802834D8 00280438 C0 7D 00 50 */ lfs f3, 0x50(r29) /* 802834DC 0028043C 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 802834E0 00280440 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 802834E4 00280444 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 802834E8 00280448 C0 3D 00 40 */ lfs f1, 0x40(r29) /* 802834EC 0028044C EC A3 F0 2A */ fadds f5, f3, f30 /* 802834F0 00280450 EC 82 E8 2A */ fadds f4, f2, f29 /* 802834F4 00280454 38 61 01 DC */ addi r3, r1, 0x1dc /* 802834F8 00280458 EC 01 F8 2A */ fadds f0, f1, f31 /* 802834FC 0028045C D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 80283500 00280460 38 81 00 A4 */ addi r4, r1, 0xa4 /* 80283504 00280464 D0 A1 00 90 */ stfs f5, 0x90(r1) /* 80283508 00280468 38 A1 00 98 */ addi r5, r1, 0x98 /* 8028350C 0028046C D0 01 00 8C */ stfs f0, 0x8c(r1) /* 80283510 00280470 D0 81 00 94 */ stfs f4, 0x94(r1) /* 80283514 00280474 D0 01 00 98 */ stfs f0, 0x98(r1) /* 80283518 00280478 D0 A1 00 9C */ stfs f5, 0x9c(r1) /* 8028351C 0028047C D0 81 00 A0 */ stfs f4, 0xa0(r1) /* 80283520 00280480 D0 61 00 A8 */ stfs f3, 0xa8(r1) /* 80283524 00280484 D0 41 00 AC */ stfs f2, 0xac(r1) /* 80283528 00280488 48 09 05 E9 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 8028352C 0028048C 38 7D 00 34 */ addi r3, r29, 0x34 /* 80283530 00280490 38 81 01 DC */ addi r4, r1, 0x1dc /* 80283534 00280494 48 08 F6 0D */ bl __as__12CTransform4fFRC12CTransform4f /* 80283538 00280498 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8028353C 0028049C 38 60 00 01 */ li r3, 1 /* 80283540 002804A0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80283544 002804A4 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283548 002804A8 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8028354C 002804AC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80283550 002804B0 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283554 002804B4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283558 002804B8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8028355C 002804BC 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283560 002804C0 48 00 00 EC */ b lbl_8028364C lbl_80283564: /* 80283564 002804C4 C0 9D 00 50 */ lfs f4, 0x50(r29) /* 80283568 002804C8 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 8028356C 002804CC C0 01 01 38 */ lfs f0, 0x138(r1) /* 80283570 002804D0 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 80283574 002804D4 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 80283578 002804D8 38 61 01 AC */ addi r3, r1, 0x1ac /* 8028357C 002804DC C0 3D 00 40 */ lfs f1, 0x40(r29) /* 80283580 002804E0 EC A4 00 2A */ fadds f5, f4, f0 /* 80283584 002804E4 C0 41 01 3C */ lfs f2, 0x13c(r1) /* 80283588 002804E8 38 81 00 80 */ addi r4, r1, 0x80 /* 8028358C 002804EC C0 01 01 34 */ lfs f0, 0x134(r1) /* 80283590 002804F0 38 A1 00 74 */ addi r5, r1, 0x74 /* 80283594 002804F4 EC 43 10 2A */ fadds f2, f3, f2 /* 80283598 002804F8 EC 01 00 2A */ fadds f0, f1, f0 /* 8028359C 002804FC D0 A1 00 6C */ stfs f5, 0x6c(r1) /* 802835A0 00280500 D0 41 00 70 */ stfs f2, 0x70(r1) /* 802835A4 00280504 D0 01 00 68 */ stfs f0, 0x68(r1) /* 802835A8 00280508 D0 01 00 74 */ stfs f0, 0x74(r1) /* 802835AC 0028050C D0 A1 00 78 */ stfs f5, 0x78(r1) /* 802835B0 00280510 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 802835B4 00280514 D0 21 00 80 */ stfs f1, 0x80(r1) /* 802835B8 00280518 D0 81 00 84 */ stfs f4, 0x84(r1) /* 802835BC 0028051C D0 61 00 88 */ stfs f3, 0x88(r1) /* 802835C0 00280520 48 09 05 51 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 802835C4 00280524 38 7D 00 34 */ addi r3, r29, 0x34 /* 802835C8 00280528 38 81 01 AC */ addi r4, r1, 0x1ac /* 802835CC 0028052C 48 08 F5 75 */ bl __as__12CTransform4fFRC12CTransform4f /* 802835D0 00280530 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 802835D4 00280534 38 A0 00 01 */ li r5, 1 /* 802835D8 00280538 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 802835DC 0028053C C0 22 BD DC */ lfs f1, lbl_805ADAFC@sda21(r2) /* 802835E0 00280540 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 802835E4 00280544 7F A3 EB 78 */ mr r3, r29 /* 802835E8 00280548 7F C4 F3 78 */ mr r4, r30 /* 802835EC 0028054C 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 802835F0 00280550 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 802835F4 00280554 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 802835F8 00280558 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 802835FC 0028055C 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 80283600 00280560 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283604 00280564 4B D9 59 51 */ bl UpdateArmAndGunTransforms__7CPlayerFfR13CStateManager /* 80283608 00280568 48 00 00 44 */ b lbl_8028364C lbl_8028360C: /* 8028360C 0028056C 7F A4 EB 78 */ mr r4, r29 /* 80283610 00280570 38 61 01 7C */ addi r3, r1, 0x17c /* 80283614 00280574 48 00 20 D5 */ bl CreateTransformFromMovementDirection__7CPlayerCFv /* 80283618 00280578 38 7D 00 34 */ addi r3, r29, 0x34 /* 8028361C 0028057C 38 81 01 7C */ addi r4, r1, 0x17c /* 80283620 00280580 48 08 F5 21 */ bl __as__12CTransform4fFRC12CTransform4f /* 80283624 00280584 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283628 00280588 38 60 00 01 */ li r3, 1 /* 8028362C 0028058C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80283630 00280590 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283634 00280594 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283638 00280598 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8028363C 0028059C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283640 002805A0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283644 002805A4 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80283648 002805A8 98 1D 00 E4 */ stb r0, 0xe4(r29) lbl_8028364C: /* 8028364C 002805AC 80 BE 08 70 */ lwz r5, 0x870(r30) /* 80283650 002805B0 7F C3 F3 78 */ mr r3, r30 /* 80283654 002805B4 38 81 00 08 */ addi r4, r1, 8 /* 80283658 002805B8 80 A5 00 80 */ lwz r5, 0x80(r5) /* 8028365C 002805BC A0 05 03 DC */ lhz r0, 0x3dc(r5) /* 80283660 002805C0 B0 01 00 24 */ sth r0, 0x24(r1) /* 80283664 002805C4 B0 01 00 08 */ sth r0, 8(r1) /* 80283668 002805C8 4B DC 8F 3D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8028366C 002805CC 7C 64 1B 78 */ mr r4, r3 /* 80283670 002805D0 38 61 00 28 */ addi r3, r1, 0x28 /* 80283674 002805D4 4B E2 C6 1D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 80283678 002805D8 80 83 00 04 */ lwz r4, 4(r3) /* 8028367C 002805DC 28 04 00 00 */ cmplwi r4, 0 /* 80283680 002805E0 41 82 01 B0 */ beq lbl_80283830 /* 80283684 002805E4 C0 3F 03 E0 */ lfs f1, 0x3e0(r31) /* 80283688 002805E8 C0 02 BD E0 */ lfs f0, lbl_805ADB00@sda21(r2) /* 8028368C 002805EC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80283690 002805F0 40 80 01 A0 */ bge lbl_80283830 /* 80283694 002805F4 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80283698 002805F8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028369C 002805FC 40 81 01 94 */ ble lbl_80283830 /* 802836A0 00280600 C0 A4 00 60 */ lfs f5, 0x60(r4) /* 802836A4 00280604 38 61 01 04 */ addi r3, r1, 0x104 /* 802836A8 00280608 C0 1D 00 60 */ lfs f0, 0x60(r29) /* 802836AC 0028060C C0 C4 00 50 */ lfs f6, 0x50(r4) /* 802836B0 00280610 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 802836B4 00280614 EC 45 00 28 */ fsubs f2, f5, f0 /* 802836B8 00280618 C0 84 00 40 */ lfs f4, 0x40(r4) /* 802836BC 0028061C C0 1D 00 40 */ lfs f0, 0x40(r29) /* 802836C0 00280620 EC 26 08 28 */ fsubs f1, f6, f1 /* 802836C4 00280624 C0 62 BD A0 */ lfs f3, lbl_805ADAC0@sda21(r2) /* 802836C8 00280628 EC 04 00 28 */ fsubs f0, f4, f0 /* 802836CC 0028062C D0 41 01 0C */ stfs f2, 0x10c(r1) /* 802836D0 00280630 D0 21 01 08 */ stfs f1, 0x108(r1) /* 802836D4 00280634 D0 01 01 04 */ stfs f0, 0x104(r1) /* 802836D8 00280638 D0 61 01 0C */ stfs f3, 0x10c(r1) /* 802836DC 0028063C C0 3F 00 60 */ lfs f1, 0x60(r31) /* 802836E0 00280640 C0 5F 00 50 */ lfs f2, 0x50(r31) /* 802836E4 00280644 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 802836E8 00280648 EC 25 08 28 */ fsubs f1, f5, f1 /* 802836EC 0028064C EC 46 10 28 */ fsubs f2, f6, f2 /* 802836F0 00280650 EC 04 00 28 */ fsubs f0, f4, f0 /* 802836F4 00280654 D0 21 01 00 */ stfs f1, 0x100(r1) /* 802836F8 00280658 D0 01 00 F8 */ stfs f0, 0xf8(r1) /* 802836FC 0028065C D0 41 00 FC */ stfs f2, 0xfc(r1) /* 80283700 00280660 D0 61 01 00 */ stfs f3, 0x100(r1) /* 80283704 00280664 48 09 0F F5 */ bl CanBeNormalized__9CVector3fCFv /* 80283708 00280668 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028370C 0028066C 41 82 01 24 */ beq lbl_80283830 /* 80283710 00280670 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80283714 00280674 48 09 0F E5 */ bl CanBeNormalized__9CVector3fCFv /* 80283718 00280678 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028371C 0028067C 41 82 01 14 */ beq lbl_80283830 /* 80283720 00280680 38 61 01 04 */ addi r3, r1, 0x104 /* 80283724 00280684 48 09 11 D5 */ bl Normalize__9CVector3fFv /* 80283728 00280688 C0 7F 00 58 */ lfs f3, 0x58(r31) /* 8028372C 0028068C 38 61 00 EC */ addi r3, r1, 0xec /* 80283730 00280690 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 80283734 00280694 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 80283738 00280698 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 8028373C 0028069C D0 61 00 F4 */ stfs f3, 0xf4(r1) /* 80283740 002806A0 D0 21 00 EC */ stfs f1, 0xec(r1) /* 80283744 002806A4 D0 41 00 F0 */ stfs f2, 0xf0(r1) /* 80283748 002806A8 D0 01 00 F4 */ stfs f0, 0xf4(r1) /* 8028374C 002806AC 48 09 11 AD */ bl Normalize__9CVector3fFv /* 80283750 002806B0 38 61 00 F8 */ addi r3, r1, 0xf8 /* 80283754 002806B4 48 09 11 A5 */ bl Normalize__9CVector3fFv /* 80283758 002806B8 C0 E1 01 08 */ lfs f7, 0x108(r1) /* 8028375C 002806BC C0 61 00 FC */ lfs f3, 0xfc(r1) /* 80283760 002806C0 C0 C1 01 04 */ lfs f6, 0x104(r1) /* 80283764 002806C4 EC 07 00 F2 */ fmuls f0, f7, f3 /* 80283768 002806C8 C0 81 00 F8 */ lfs f4, 0xf8(r1) /* 8028376C 002806CC C1 01 01 0C */ lfs f8, 0x10c(r1) /* 80283770 002806D0 C0 A1 01 00 */ lfs f5, 0x100(r1) /* 80283774 002806D4 EC 26 01 3A */ fmadds f1, f6, f4, f0 /* 80283778 002806D8 C0 02 BD B4 */ lfs f0, lbl_805ADAD4@sda21(r2) /* 8028377C 002806DC EC 28 09 7A */ fmadds f1, f8, f5, f1 /* 80283780 002806E0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80283784 002806E4 4C 41 13 82 */ cror 2, 1, 2 /* 80283788 002806E8 40 82 00 A8 */ bne lbl_80283830 /* 8028378C 002806EC C0 01 00 F0 */ lfs f0, 0xf0(r1) /* 80283790 002806F0 C0 41 00 EC */ lfs f2, 0xec(r1) /* 80283794 002806F4 EC 23 00 32 */ fmuls f1, f3, f0 /* 80283798 002806F8 C0 61 00 F4 */ lfs f3, 0xf4(r1) /* 8028379C 002806FC C0 02 BD 88 */ lfs f0, lbl_805ADAA8@sda21(r2) /* 802837A0 00280700 EC 24 08 BA */ fmadds f1, f4, f2, f1 /* 802837A4 00280704 EC 25 08 FA */ fmadds f1, f5, f3, f1 /* 802837A8 00280708 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802837AC 0028070C 4C 41 13 82 */ cror 2, 1, 2 /* 802837B0 00280710 40 82 00 80 */ bne lbl_80283830 /* 802837B4 00280714 C0 7D 00 50 */ lfs f3, 0x50(r29) /* 802837B8 00280718 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 802837BC 0028071C C0 5D 00 60 */ lfs f2, 0x60(r29) /* 802837C0 00280720 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 802837C4 00280724 C0 3D 00 40 */ lfs f1, 0x40(r29) /* 802837C8 00280728 EC A3 38 2A */ fadds f5, f3, f7 /* 802837CC 0028072C EC 82 40 2A */ fadds f4, f2, f8 /* 802837D0 00280730 38 61 01 4C */ addi r3, r1, 0x14c /* 802837D4 00280734 EC 01 30 2A */ fadds f0, f1, f6 /* 802837D8 00280738 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 802837DC 0028073C 38 81 00 5C */ addi r4, r1, 0x5c /* 802837E0 00280740 D0 A1 00 54 */ stfs f5, 0x54(r1) /* 802837E4 00280744 38 A1 00 50 */ addi r5, r1, 0x50 /* 802837E8 00280748 D0 01 00 50 */ stfs f0, 0x50(r1) /* 802837EC 0028074C D0 81 00 58 */ stfs f4, 0x58(r1) /* 802837F0 00280750 D0 61 00 60 */ stfs f3, 0x60(r1) /* 802837F4 00280754 D0 41 00 64 */ stfs f2, 0x64(r1) /* 802837F8 00280758 48 09 03 19 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 802837FC 0028075C 38 7D 00 34 */ addi r3, r29, 0x34 /* 80283800 00280760 38 81 01 4C */ addi r4, r1, 0x14c /* 80283804 00280764 48 08 F3 3D */ bl __as__12CTransform4fFRC12CTransform4f /* 80283808 00280768 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8028380C 0028076C 38 60 00 01 */ li r3, 1 /* 80283810 00280770 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80283814 00280774 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283818 00280778 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 8028381C 0028077C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80283820 00280780 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283824 00280784 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283828 00280788 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8028382C 0028078C 98 1D 00 E4 */ stb r0, 0xe4(r29) lbl_80283830: /* 80283830 00280790 7F A3 EB 78 */ mr r3, r29 /* 80283834 00280794 7F C5 F3 78 */ mr r5, r30 /* 80283838 00280798 38 9D 00 34 */ addi r4, r29, 0x34 /* 8028383C 0028079C 4B D9 56 8D */ bl ForceGunOrientation__7CPlayerFRC12CTransform4fR13CStateManager /* 80283840 002807A0 7F A3 EB 78 */ mr r3, r29 /* 80283844 002807A4 7F C4 F3 78 */ mr r4, r30 /* 80283848 002807A8 4B D9 68 65 */ bl DrawGun__7CPlayerFR13CStateManager /* 8028384C 002807AC 80 7E 08 70 */ lwz r3, 0x870(r30) /* 80283850 002807B0 7F C5 F3 78 */ mr r5, r30 /* 80283854 002807B4 38 80 00 05 */ li r4, 5 /* 80283858 002807B8 80 63 00 80 */ lwz r3, 0x80(r3) /* 8028385C 002807BC 4B DF F4 41 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80283860 002807C0 7F A3 EB 78 */ mr r3, r29 /* 80283864 002807C4 4B E9 7A 51 */ bl ClearForcesAndTorques__13CPhysicsActorFv /* 80283868 002807C8 4B D9 7C CD */ bl Identity__10CAxisAngleFv /* 8028386C 002807CC 7C 64 1B 78 */ mr r4, r3 /* 80283870 002807D0 7F A3 EB 78 */ mr r3, r29 /* 80283874 002807D4 4B E9 73 89 */ bl SetAngularVelocityWR__13CPhysicsActorFRC10CAxisAngle /* 80283878 002807D8 7F A3 EB 78 */ mr r3, r29 /* 8028387C 002807DC 7F C5 F3 78 */ mr r5, r30 /* 80283880 002807E0 38 80 00 25 */ li r4, 0x25 /* 80283884 002807E4 4B DD 0A CD */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80283888 002807E8 3C 80 80 5A */ lis r4, skZero3f@ha /* 8028388C 002807EC 7F A3 EB 78 */ mr r3, r29 /* 80283890 002807F0 38 C4 66 A0 */ addi r6, r4, skZero3f@l /* 80283894 002807F4 7F C5 F3 78 */ mr r5, r30 /* 80283898 002807F8 C0 06 00 00 */ lfs f0, 0(r6) /* 8028389C 002807FC 38 80 00 03 */ li r4, 3 /* 802838A0 00280800 D0 1D 01 50 */ stfs f0, 0x150(r29) /* 802838A4 00280804 C0 06 00 04 */ lfs f0, 4(r6) /* 802838A8 00280808 D0 1D 01 54 */ stfs f0, 0x154(r29) /* 802838AC 0028080C C0 06 00 08 */ lfs f0, 8(r6) /* 802838B0 00280810 D0 1D 01 58 */ stfs f0, 0x158(r29) /* 802838B4 00280814 4B D9 39 E9 */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager /* 802838B8 00280818 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 802838BC 0028081C 38 00 00 00 */ li r0, 0 /* 802838C0 00280820 7F C4 F3 78 */ mr r4, r30 /* 802838C4 00280824 D0 1D 08 24 */ stfs f0, 0x824(r29) /* 802838C8 00280828 90 1D 05 7C */ stw r0, 0x57c(r29) /* 802838CC 0028082C 90 1D 05 80 */ stw r0, 0x580(r29) /* 802838D0 00280830 80 7E 08 70 */ lwz r3, 0x870(r30) /* 802838D4 00280834 80 63 00 80 */ lwz r3, 0x80(r3) /* 802838D8 00280838 4B FB B0 E9 */ bl TransitionFromMorphBallState__11CBallCameraFR13CStateManager /* 802838DC 0028083C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802838E0 00280840 7C 00 00 34 */ cntlzw r0, r0 /* 802838E4 00280844 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f /* 802838E8 00280848 41 82 00 18 */ beq lbl_80283900 /* 802838EC 0028084C C0 02 BD A8 */ lfs f0, lbl_805ADAC8@sda21(r2) /* 802838F0 00280850 7F A3 EB 78 */ mr r3, r29 /* 802838F4 00280854 7F C4 F3 78 */ mr r4, r30 /* 802838F8 00280858 D0 1D 08 24 */ stfs f0, 0x824(r29) /* 802838FC 0028085C 4B FF F4 21 */ bl LeaveMorphBallState__7CPlayerFR13CStateManager lbl_80283900: /* 80283900 00280860 E3 E1 02 A8 */ psq_l f31, 680(r1), 0, qr0 /* 80283904 00280864 CB E1 02 A0 */ lfd f31, 0x2a0(r1) /* 80283908 00280868 E3 C1 02 98 */ psq_l f30, 664(r1), 0, qr0 /* 8028390C 0028086C CB C1 02 90 */ lfd f30, 0x290(r1) /* 80283910 00280870 E3 A1 02 88 */ psq_l f29, 648(r1), 0, qr0 /* 80283914 00280874 CB A1 02 80 */ lfd f29, 0x280(r1) /* 80283918 00280878 E3 81 02 78 */ psq_l f28, 632(r1), 0, qr0 /* 8028391C 0028087C CB 81 02 70 */ lfd f28, 0x270(r1) /* 80283920 00280880 E3 61 02 68 */ psq_l f27, 616(r1), 0, qr0 /* 80283924 00280884 CB 61 02 60 */ lfd f27, 0x260(r1) /* 80283928 00280888 E3 41 02 58 */ psq_l f26, 600(r1), 0, qr0 /* 8028392C 0028088C CB 41 02 50 */ lfd f26, 0x250(r1) /* 80283930 00280890 83 E1 02 4C */ lwz r31, 0x24c(r1) /* 80283934 00280894 83 C1 02 48 */ lwz r30, 0x248(r1) /* 80283938 00280898 80 01 02 B4 */ lwz r0, 0x2b4(r1) /* 8028393C 0028089C 83 A1 02 44 */ lwz r29, 0x244(r1) /* 80283940 002808A0 7C 08 03 A6 */ mtlr r0 /* 80283944 002808A4 38 21 02 B0 */ addi r1, r1, 0x2b0 /* 80283948 002808A8 4E 80 00 20 */ blr .global TransitionToMorphBallState__7CPlayerFfR13CStateManager TransitionToMorphBallState__7CPlayerFfR13CStateManager: /* 8028394C 002808AC 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80283950 002808B0 7C 08 02 A6 */ mflr r0 /* 80283954 002808B4 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80283958 002808B8 DB E1 00 90 */ stfd f31, 0x90(r1) /* 8028395C 002808BC F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 80283960 002808C0 93 E1 00 8C */ stw r31, 0x8c(r1) /* 80283964 002808C4 93 C1 00 88 */ stw r30, 0x88(r1) /* 80283968 002808C8 93 A1 00 84 */ stw r29, 0x84(r1) /* 8028396C 002808CC 7C 7E 1B 78 */ mr r30, r3 /* 80283970 002808D0 7C 9F 23 78 */ mr r31, r4 /* 80283974 002808D4 48 00 04 11 */ bl ChoseTransitionToAnimation__7CPlayerCFR13CStateManager /* 80283978 002808D8 90 7E 05 84 */ stw r3, 0x584(r30) /* 8028397C 002808DC 38 7E 01 38 */ addi r3, r30, 0x138 /* 80283980 002808E0 48 09 0F 39 */ bl Magnitude__9CVector3fCFv /* 80283984 002808E4 D0 3E 05 8C */ stfs f1, 0x58c(r30) /* 80283988 002808E8 38 60 00 00 */ li r3, 0 /* 8028398C 002808EC 80 9E 00 64 */ lwz r4, 0x64(r30) /* 80283990 002808F0 28 04 00 00 */ cmplwi r4, 0 /* 80283994 002808F4 41 82 00 14 */ beq lbl_802839A8 /* 80283998 002808F8 80 04 00 10 */ lwz r0, 0x10(r4) /* 8028399C 002808FC 28 00 00 00 */ cmplwi r0, 0 /* 802839A0 00280900 41 82 00 08 */ beq lbl_802839A8 /* 802839A4 00280904 38 60 00 01 */ li r3, 1 lbl_802839A8: /* 802839A8 00280908 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802839AC 0028090C 41 82 00 5C */ beq lbl_80283A08 /* 802839B0 00280910 83 A4 00 10 */ lwz r29, 0x10(r4) /* 802839B4 00280914 38 E0 FF FF */ li r7, -1 /* 802839B8 00280918 80 7E 05 84 */ lwz r3, 0x584(r30) /* 802839BC 0028091C 38 00 00 00 */ li r0, 0 /* 802839C0 00280920 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 802839C4 00280924 38 C0 00 01 */ li r6, 1 /* 802839C8 00280928 90 61 00 1C */ stw r3, 0x1c(r1) /* 802839CC 0028092C 7F A3 EB 78 */ mr r3, r29 /* 802839D0 00280930 38 81 00 1C */ addi r4, r1, 0x1c /* 802839D4 00280934 38 A0 00 00 */ li r5, 0 /* 802839D8 00280938 90 E1 00 20 */ stw r7, 0x20(r1) /* 802839DC 0028093C D0 01 00 24 */ stfs f0, 0x24(r1) /* 802839E0 00280940 98 C1 00 28 */ stb r6, 0x28(r1) /* 802839E4 00280944 90 01 00 2C */ stw r0, 0x2c(r1) /* 802839E8 00280948 90 01 00 30 */ stw r0, 0x30(r1) /* 802839EC 0028094C 98 01 00 34 */ stb r0, 0x34(r1) /* 802839F0 00280950 90 01 00 38 */ stw r0, 0x38(r1) /* 802839F4 00280954 90 01 00 3C */ stw r0, 0x3c(r1) /* 802839F8 00280958 90 01 00 40 */ stw r0, 0x40(r1) /* 802839FC 0028095C 4B DA 93 81 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 80283A00 00280960 38 00 00 00 */ li r0, 0 /* 80283A04 00280964 90 1D 01 04 */ stw r0, 0x104(r29) lbl_80283A08: /* 80283A08 00280968 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80283A0C 0028096C 38 80 00 00 */ li r4, 0 /* 80283A10 00280970 4B E9 1B 51 */ bl EnableLooping__10CModelDataFb /* 80283A14 00280974 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80283A18 00280978 7F E4 FB 78 */ mr r4, r31 /* 80283A1C 0028097C 38 A0 00 00 */ li r5, 0 /* 80283A20 00280980 4B E9 22 F1 */ bl Touch__10CModelDataCFRC13CStateManageri /* 80283A24 00280984 3C 80 80 5A */ lis r4, skZero3f@ha /* 80283A28 00280988 C4 04 66 A0 */ lfsu f0, skZero3f@l(r4) /* 80283A2C 0028098C 7F C3 F3 78 */ mr r3, r30 /* 80283A30 00280990 D0 1E 01 50 */ stfs f0, 0x150(r30) /* 80283A34 00280994 C0 04 00 04 */ lfs f0, 4(r4) /* 80283A38 00280998 D0 1E 01 54 */ stfs f0, 0x154(r30) /* 80283A3C 0028099C C0 04 00 08 */ lfs f0, 8(r4) /* 80283A40 002809A0 D0 1E 01 58 */ stfs f0, 0x158(r30) /* 80283A44 002809A4 4B E9 79 35 */ bl Stop__13CPhysicsActorFv /* 80283A48 002809A8 7F C3 F3 78 */ mr r3, r30 /* 80283A4C 002809AC 7F E5 FB 78 */ mr r5, r31 /* 80283A50 002809B0 38 80 00 02 */ li r4, 2 /* 80283A54 002809B4 4B D9 3D 91 */ bl SetMorphBallState__7CPlayerFQ27CPlayer21EPlayerMorphBallStateR13CStateManager /* 80283A58 002809B8 7F C3 F3 78 */ mr r3, r30 /* 80283A5C 002809BC 7F E5 FB 78 */ mr r5, r31 /* 80283A60 002809C0 38 80 00 03 */ li r4, 3 /* 80283A64 002809C4 4B D9 38 39 */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager /* 80283A68 002809C8 C0 7E 00 58 */ lfs f3, 0x58(r30) /* 80283A6C 002809CC 38 7E 05 0C */ addi r3, r30, 0x50c /* 80283A70 002809D0 C0 5E 00 48 */ lfs f2, 0x48(r30) /* 80283A74 002809D4 C0 3E 00 38 */ lfs f1, 0x38(r30) /* 80283A78 002809D8 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283A7C 002809DC D0 3E 05 00 */ stfs f1, 0x500(r30) /* 80283A80 002809E0 D0 5E 05 04 */ stfs f2, 0x504(r30) /* 80283A84 002809E4 D0 7E 05 08 */ stfs f3, 0x508(r30) /* 80283A88 002809E8 C0 3E 05 00 */ lfs f1, 0x500(r30) /* 80283A8C 002809EC D0 3E 05 0C */ stfs f1, 0x50c(r30) /* 80283A90 002809F0 C0 3E 05 04 */ lfs f1, 0x504(r30) /* 80283A94 002809F4 D0 3E 05 10 */ stfs f1, 0x510(r30) /* 80283A98 002809F8 C0 3E 05 08 */ lfs f1, 0x508(r30) /* 80283A9C 002809FC D0 3E 05 14 */ stfs f1, 0x514(r30) /* 80283AA0 00280A00 D0 1E 05 14 */ stfs f0, 0x514(r30) /* 80283AA4 00280A04 48 09 0C 55 */ bl CanBeNormalized__9CVector3fCFv /* 80283AA8 00280A08 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80283AAC 00280A0C 41 82 00 10 */ beq lbl_80283ABC /* 80283AB0 00280A10 38 7E 05 0C */ addi r3, r30, 0x50c /* 80283AB4 00280A14 48 09 0E 45 */ bl Normalize__9CVector3fFv /* 80283AB8 00280A18 48 00 00 24 */ b lbl_80283ADC lbl_80283ABC: /* 80283ABC 00280A1C C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80283AC0 00280A20 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80283AC4 00280A24 D0 3E 05 00 */ stfs f1, 0x500(r30) /* 80283AC8 00280A28 D0 1E 05 04 */ stfs f0, 0x504(r30) /* 80283ACC 00280A2C D0 3E 05 08 */ stfs f1, 0x508(r30) /* 80283AD0 00280A30 D0 3E 05 0C */ stfs f1, 0x50c(r30) /* 80283AD4 00280A34 D0 1E 05 10 */ stfs f0, 0x510(r30) /* 80283AD8 00280A38 D0 3E 05 14 */ stfs f1, 0x514(r30) lbl_80283ADC: /* 80283ADC 00280A3C 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283AE0 00280A40 7F E4 FB 78 */ mr r4, r31 /* 80283AE4 00280A44 38 A1 00 0C */ addi r5, r1, 0xc /* 80283AE8 00280A48 83 A3 00 80 */ lwz r29, 0x80(r3) /* 80283AEC 00280A4C A0 1D 00 08 */ lhz r0, 8(r29) /* 80283AF0 00280A50 B0 01 00 0C */ sth r0, 0xc(r1) /* 80283AF4 00280A54 B0 01 00 08 */ sth r0, 8(r1) /* 80283AF8 00280A58 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283AFC 00280A5C 4B D8 6D 4D */ bl SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId /* 80283B00 00280A60 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283B04 00280A64 7F E4 FB 78 */ mr r4, r31 /* 80283B08 00280A68 4B D8 5C 29 */ bl HasBallCameraInitialPositionHint__14CCameraManagerCFR13CStateManager /* 80283B0C 00280A6C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80283B10 00280A70 40 82 00 24 */ bne lbl_80283B34 /* 80283B14 00280A74 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283B18 00280A78 7F E4 FB 78 */ mr r4, r31 /* 80283B1C 00280A7C 4B D8 58 F5 */ bl SetupBallCamera__14CCameraManagerFR13CStateManager /* 80283B20 00280A80 7F A3 EB 78 */ mr r3, r29 /* 80283B24 00280A84 7F E5 FB 78 */ mr r5, r31 /* 80283B28 00280A88 38 80 00 04 */ li r4, 4 /* 80283B2C 00280A8C 4B DF F1 71 */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80283B30 00280A90 48 00 00 C8 */ b lbl_80283BF8 lbl_80283B34: /* 80283B34 00280A94 7F A3 EB 78 */ mr r3, r29 /* 80283B38 00280A98 7F E5 FB 78 */ mr r5, r31 /* 80283B3C 00280A9C 38 80 00 00 */ li r4, 0 /* 80283B40 00280AA0 4B DF F1 5D */ bl SetState__11CBallCameraFQ211CBallCamera16EBallCameraStateR13CStateManager /* 80283B44 00280AA4 7F C3 F3 78 */ mr r3, r30 /* 80283B48 00280AA8 7F E5 FB 78 */ mr r5, r31 /* 80283B4C 00280AAC 38 80 00 01 */ li r4, 1 /* 80283B50 00280AB0 4B D9 37 4D */ bl SetCameraState__7CPlayerFQ27CPlayer18EPlayerCameraStateR13CStateManager /* 80283B54 00280AB4 80 9F 08 70 */ lwz r4, 0x870(r31) /* 80283B58 00280AB8 38 61 00 44 */ addi r3, r1, 0x44 /* 80283B5C 00280ABC 80 84 00 7C */ lwz r4, 0x7c(r4) /* 80283B60 00280AC0 38 84 00 34 */ addi r4, r4, 0x34 /* 80283B64 00280AC4 48 08 F0 11 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80283B68 00280AC8 38 7D 00 34 */ addi r3, r29, 0x34 /* 80283B6C 00280ACC 38 81 00 44 */ addi r4, r1, 0x44 /* 80283B70 00280AD0 48 08 EF D1 */ bl __as__12CTransform4fFRC12CTransform4f /* 80283B74 00280AD4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283B78 00280AD8 38 C0 00 01 */ li r6, 1 /* 80283B7C 00280ADC 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b /* 80283B80 00280AE0 7F A3 EB 78 */ mr r3, r29 /* 80283B84 00280AE4 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283B88 00280AE8 7F E5 FB 78 */ mr r5, r31 /* 80283B8C 00280AEC 38 81 00 10 */ addi r4, r1, 0x10 /* 80283B90 00280AF0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283B94 00280AF4 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c /* 80283B98 00280AF8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283B9C 00280AFC 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80283BA0 00280B00 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d /* 80283BA4 00280B04 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80283BA8 00280B08 C0 41 00 50 */ lfs f2, 0x50(r1) /* 80283BAC 00280B0C C0 21 00 60 */ lfs f1, 0x60(r1) /* 80283BB0 00280B10 C0 01 00 70 */ lfs f0, 0x70(r1) /* 80283BB4 00280B14 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80283BB8 00280B18 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80283BBC 00280B1C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80283BC0 00280B20 4B E0 8F 5D */ bl TeleportCamera__11CBallCameraFRC9CVector3fR13CStateManager /* 80283BC4 00280B24 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283BC8 00280B28 7F E4 FB 78 */ mr r4, r31 /* 80283BCC 00280B2C 4B D8 58 45 */ bl SetupBallCamera__14CCameraManagerFR13CStateManager /* 80283BD0 00280B30 80 7F 08 70 */ lwz r3, 0x870(r31) /* 80283BD4 00280B34 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80283BD8 00280B38 C3 E3 01 5C */ lfs f31, 0x15c(r3) /* 80283BDC 00280B3C 4B D8 84 FD */ bl DefaultThirdPersonFov__14CCameraManagerFv /* 80283BE0 00280B40 FC 40 08 90 */ fmr f2, f1 /* 80283BE4 00280B44 C0 62 BD 80 */ lfs f3, lbl_805ADAA0@sda21(r2) /* 80283BE8 00280B48 FC 20 F8 90 */ fmr f1, f31 /* 80283BEC 00280B4C C0 82 BD A0 */ lfs f4, lbl_805ADAC0@sda21(r2) /* 80283BF0 00280B50 7F A3 EB 78 */ mr r3, r29 /* 80283BF4 00280B54 4B DD 73 25 */ bl SetFovInterpolation__11CGameCameraFffff lbl_80283BF8: /* 80283BF8 00280B58 7F C3 F3 78 */ mr r3, r30 /* 80283BFC 00280B5C 7F E5 FB 78 */ mr r5, r31 /* 80283C00 00280B60 38 80 00 02 */ li r4, 2 /* 80283C04 00280B64 4B EF 75 99 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 80283C08 00280B68 80 7E 04 90 */ lwz r3, 0x490(r30) /* 80283C0C 00280B6C 7F E4 FB 78 */ mr r4, r31 /* 80283C10 00280B70 4B DB 8E 49 */ bl CancelFiring__10CPlayerGunFR13CStateManager /* 80283C14 00280B74 7F C3 F3 78 */ mr r3, r30 /* 80283C18 00280B78 7F E4 FB 78 */ mr r4, r31 /* 80283C1C 00280B7C 4B D9 65 51 */ bl HolsterGun__7CPlayerFR13CStateManager /* 80283C20 00280B80 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 80283C24 00280B84 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80283C28 00280B88 CB E1 00 90 */ lfd f31, 0x90(r1) /* 80283C2C 00280B8C 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 80283C30 00280B90 83 C1 00 88 */ lwz r30, 0x88(r1) /* 80283C34 00280B94 83 A1 00 84 */ lwz r29, 0x84(r1) /* 80283C38 00280B98 7C 08 03 A6 */ mtlr r0 /* 80283C3C 00280B9C 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80283C40 00280BA0 4E 80 00 20 */ blr .global GetNextBallTransitionAnim__7CPlayerFfRbR13CStateManager GetNextBallTransitionAnim__7CPlayerFfRbR13CStateManager: /* 80283C44 00280BA4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80283C48 00280BA8 7C 08 02 A6 */ mflr r0 /* 80283C4C 00280BAC 90 01 00 64 */ stw r0, 0x64(r1) /* 80283C50 00280BB0 DB E1 00 50 */ stfd f31, 0x50(r1) /* 80283C54 00280BB4 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 80283C58 00280BB8 DB C1 00 40 */ stfd f30, 0x40(r1) /* 80283C5C 00280BBC F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 80283C60 00280BC0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80283C64 00280BC4 93 C1 00 38 */ stw r30, 0x38(r1) /* 80283C68 00280BC8 93 A1 00 34 */ stw r29, 0x34(r1) /* 80283C6C 00280BCC 93 81 00 30 */ stw r28, 0x30(r1) /* 80283C70 00280BD0 7C 7C 1B 78 */ mr r28, r3 /* 80283C74 00280BD4 FF C0 08 90 */ fmr f30, f1 /* 80283C78 00280BD8 C0 23 01 38 */ lfs f1, 0x138(r3) /* 80283C7C 00280BDC 7C 9D 23 78 */ mr r29, r4 /* 80283C80 00280BE0 C0 43 01 3C */ lfs f2, 0x13c(r3) /* 80283C84 00280BE4 7C BE 2B 78 */ mr r30, r5 /* 80283C88 00280BE8 38 61 00 08 */ addi r3, r1, 8 /* 80283C8C 00280BEC 3B E0 00 0C */ li r31, 0xc /* 80283C90 00280BF0 48 09 05 71 */ bl __ct__9CVector2fFff /* 80283C94 00280BF4 C0 41 00 08 */ lfs f2, 8(r1) /* 80283C98 00280BF8 38 00 00 00 */ li r0, 0 /* 80283C9C 00280BFC C0 21 00 0C */ lfs f1, 0xc(r1) /* 80283CA0 00280C00 38 61 00 1C */ addi r3, r1, 0x1c /* 80283CA4 00280C04 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283CA8 00280C08 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80283CAC 00280C0C D0 21 00 20 */ stfs f1, 0x20(r1) /* 80283CB0 00280C10 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80283CB4 00280C14 98 1D 00 00 */ stb r0, 0(r29) /* 80283CB8 00280C18 48 09 0A 41 */ bl CanBeNormalized__9CVector3fCFv /* 80283CBC 00280C1C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80283CC0 00280C20 41 82 00 90 */ beq lbl_80283D50 /* 80283CC4 00280C24 38 61 00 1C */ addi r3, r1, 0x1c /* 80283CC8 00280C28 48 09 0B F1 */ bl Magnitude__9CVector3fCFv /* 80283CCC 00280C2C FF E0 08 90 */ fmr f31, f1 /* 80283CD0 00280C30 7F 83 E3 78 */ mr r3, r28 /* 80283CD4 00280C34 FC 20 F0 90 */ fmr f1, f30 /* 80283CD8 00280C38 48 00 1C 31 */ bl GetActualFirstPersonMaxVelocity__7CPlayerCFv /* 80283CDC 00280C3C C0 02 BD 94 */ lfs f0, lbl_805ADAB4@sda21(r2) /* 80283CE0 00280C40 EC 00 00 72 */ fmuls f0, f0, f1 /* 80283CE4 00280C44 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80283CE8 00280C48 40 81 00 68 */ ble lbl_80283D50 /* 80283CEC 00280C4C FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 80283CF0 00280C50 38 00 00 01 */ li r0, 1 /* 80283CF4 00280C54 98 1D 00 00 */ stb r0, 0(r29) /* 80283CF8 00280C58 3B E0 00 0F */ li r31, 0xf /* 80283CFC 00280C5C 4C 41 13 82 */ cror 2, 1, 2 /* 80283D00 00280C60 40 82 00 08 */ bne lbl_80283D08 /* 80283D04 00280C64 3B E0 00 0D */ li r31, 0xd lbl_80283D08: /* 80283D08 00280C68 80 7E 08 70 */ lwz r3, 0x870(r30) /* 80283D0C 00280C6C C0 1C 05 10 */ lfs f0, 0x510(r28) /* 80283D10 00280C70 80 63 00 80 */ lwz r3, 0x80(r3) /* 80283D14 00280C74 C0 5C 05 0C */ lfs f2, 0x50c(r28) /* 80283D18 00280C78 C0 A3 00 48 */ lfs f5, 0x48(r3) /* 80283D1C 00280C7C C0 83 00 38 */ lfs f4, 0x38(r3) /* 80283D20 00280C80 EC 20 01 72 */ fmuls f1, f0, f5 /* 80283D24 00280C84 C0 C3 00 58 */ lfs f6, 0x58(r3) /* 80283D28 00280C88 C0 7C 05 14 */ lfs f3, 0x514(r28) /* 80283D2C 00280C8C C0 02 BD E4 */ lfs f0, lbl_805ADB04@sda21(r2) /* 80283D30 00280C90 EC 22 09 3A */ fmadds f1, f2, f4, f1 /* 80283D34 00280C94 D0 81 00 10 */ stfs f4, 0x10(r1) /* 80283D38 00280C98 D0 A1 00 14 */ stfs f5, 0x14(r1) /* 80283D3C 00280C9C EC 23 09 BA */ fmadds f1, f3, f6, f1 /* 80283D40 00280CA0 D0 C1 00 18 */ stfs f6, 0x18(r1) /* 80283D44 00280CA4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80283D48 00280CA8 40 80 00 08 */ bge lbl_80283D50 /* 80283D4C 00280CAC 3B E0 00 0C */ li r31, 0xc lbl_80283D50: /* 80283D50 00280CB0 7F E3 FB 78 */ mr r3, r31 /* 80283D54 00280CB4 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 80283D58 00280CB8 CB E1 00 50 */ lfd f31, 0x50(r1) /* 80283D5C 00280CBC E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 80283D60 00280CC0 CB C1 00 40 */ lfd f30, 0x40(r1) /* 80283D64 00280CC4 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80283D68 00280CC8 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80283D6C 00280CCC 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80283D70 00280CD0 80 01 00 64 */ lwz r0, 0x64(r1) /* 80283D74 00280CD4 83 81 00 30 */ lwz r28, 0x30(r1) /* 80283D78 00280CD8 7C 08 03 A6 */ mtlr r0 /* 80283D7C 00280CDC 38 21 00 60 */ addi r1, r1, 0x60 /* 80283D80 00280CE0 4E 80 00 20 */ blr .global ChoseTransitionToAnimation__7CPlayerCFR13CStateManager ChoseTransitionToAnimation__7CPlayerCFR13CStateManager: /* 80283D84 00280CE4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80283D88 00280CE8 7C 08 02 A6 */ mflr r0 /* 80283D8C 00280CEC 90 01 00 64 */ stw r0, 0x64(r1) /* 80283D90 00280CF0 DB E1 00 50 */ stfd f31, 0x50(r1) /* 80283D94 00280CF4 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 80283D98 00280CF8 DB C1 00 40 */ stfd f30, 0x40(r1) /* 80283D9C 00280CFC F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 80283DA0 00280D00 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80283DA4 00280D04 7C 7F 1B 78 */ mr r31, r3 /* 80283DA8 00280D08 FF C0 08 90 */ fmr f30, f1 /* 80283DAC 00280D0C 80 03 02 58 */ lwz r0, 0x258(r3) /* 80283DB0 00280D10 2C 00 00 02 */ cmpwi r0, 2 /* 80283DB4 00280D14 40 82 00 0C */ bne lbl_80283DC0 /* 80283DB8 00280D18 38 60 00 03 */ li r3, 3 /* 80283DBC 00280D1C 48 00 01 48 */ b lbl_80283F04 lbl_80283DC0: /* 80283DC0 00280D20 38 61 00 10 */ addi r3, r1, 0x10 /* 80283DC4 00280D24 38 9F 00 34 */ addi r4, r31, 0x34 /* 80283DC8 00280D28 38 BF 01 38 */ addi r5, r31, 0x138 /* 80283DCC 00280D2C 48 08 EC 59 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 80283DD0 00280D30 C0 21 00 10 */ lfs f1, 0x10(r1) /* 80283DD4 00280D34 38 61 00 08 */ addi r3, r1, 8 /* 80283DD8 00280D38 C0 41 00 14 */ lfs f2, 0x14(r1) /* 80283DDC 00280D3C 48 09 04 25 */ bl __ct__9CVector2fFff /* 80283DE0 00280D40 C0 41 00 08 */ lfs f2, 8(r1) /* 80283DE4 00280D44 38 61 00 1C */ addi r3, r1, 0x1c /* 80283DE8 00280D48 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80283DEC 00280D4C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283DF0 00280D50 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80283DF4 00280D54 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80283DF8 00280D58 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80283DFC 00280D5C 48 09 0A BD */ bl Magnitude__9CVector3fCFv /* 80283E00 00280D60 FF E0 08 90 */ fmr f31, f1 /* 80283E04 00280D64 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80283E08 00280D68 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80283E0C 00280D6C 40 81 00 F4 */ ble lbl_80283F00 /* 80283E10 00280D70 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80283E14 00280D74 C0 41 00 20 */ lfs f2, 0x20(r1) /* 80283E18 00280D78 FC 20 00 50 */ fneg f1, f0 /* 80283E1C 00280D7C 48 11 0E 51 */ bl atan2 /* 80283E20 00280D80 FC 60 08 18 */ frsp f3, f1 /* 80283E24 00280D84 C0 42 BD E8 */ lfs f2, lbl_805ADB08@sda21(r2) /* 80283E28 00280D88 FC 03 10 40 */ fcmpo cr0, f3, f2 /* 80283E2C 00280D8C 40 81 00 3C */ ble lbl_80283E68 /* 80283E30 00280D90 C0 02 BD EC */ lfs f0, lbl_805ADB0C@sda21(r2) /* 80283E34 00280D94 3C 00 43 30 */ lis r0, 0x4330 /* 80283E38 00280D98 90 01 00 30 */ stw r0, 0x30(r1) /* 80283E3C 00280D9C EC 03 00 32 */ fmuls f0, f3, f0 /* 80283E40 00280DA0 C8 22 BE 00 */ lfd f1, lbl_805ADB20@sda21(r2) /* 80283E44 00280DA4 FC 00 00 1E */ fctiwz f0, f0 /* 80283E48 00280DA8 D8 01 00 28 */ stfd f0, 0x28(r1) /* 80283E4C 00280DAC 80 01 00 2C */ lwz r0, 0x2c(r1) /* 80283E50 00280DB0 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80283E54 00280DB4 90 01 00 34 */ stw r0, 0x34(r1) /* 80283E58 00280DB8 C8 01 00 30 */ lfd f0, 0x30(r1) /* 80283E5C 00280DBC EC 00 08 28 */ fsubs f0, f0, f1 /* 80283E60 00280DC0 EC 60 18 BC */ fnmsubs f3, f0, f2, f3 /* 80283E64 00280DC4 48 00 00 48 */ b lbl_80283EAC lbl_80283E68: /* 80283E68 00280DC8 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80283E6C 00280DCC FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80283E70 00280DD0 40 80 00 3C */ bge lbl_80283EAC /* 80283E74 00280DD4 C0 02 BD EC */ lfs f0, lbl_805ADB0C@sda21(r2) /* 80283E78 00280DD8 3C 00 43 30 */ lis r0, 0x4330 /* 80283E7C 00280DDC 90 01 00 28 */ stw r0, 0x28(r1) /* 80283E80 00280DE0 EC 03 00 32 */ fmuls f0, f3, f0 /* 80283E84 00280DE4 C8 22 BE 00 */ lfd f1, lbl_805ADB20@sda21(r2) /* 80283E88 00280DE8 FC 00 00 1E */ fctiwz f0, f0 /* 80283E8C 00280DEC D8 01 00 30 */ stfd f0, 0x30(r1) /* 80283E90 00280DF0 80 01 00 34 */ lwz r0, 0x34(r1) /* 80283E94 00280DF4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80283E98 00280DF8 90 01 00 2C */ stw r0, 0x2c(r1) /* 80283E9C 00280DFC C8 01 00 28 */ lfd f0, 0x28(r1) /* 80283EA0 00280E00 EC 00 08 28 */ fsubs f0, f0, f1 /* 80283EA4 00280E04 EC 00 18 BC */ fnmsubs f0, f0, f2, f3 /* 80283EA8 00280E08 EC 62 00 2A */ fadds f3, f2, f0 lbl_80283EAC: /* 80283EAC 00280E0C C0 02 BD F0 */ lfs f0, lbl_805ADB10@sda21(r2) /* 80283EB0 00280E10 FC 20 F0 90 */ fmr f1, f30 /* 80283EB4 00280E14 7F E3 FB 78 */ mr r3, r31 /* 80283EB8 00280E18 EF C0 00 F2 */ fmuls f30, f0, f3 /* 80283EBC 00280E1C 48 00 1A 4D */ bl GetActualFirstPersonMaxVelocity__7CPlayerCFv /* 80283EC0 00280E20 C0 02 BD F4 */ lfs f0, lbl_805ADB14@sda21(r2) /* 80283EC4 00280E24 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80283EC8 00280E28 41 80 00 10 */ blt lbl_80283ED8 /* 80283ECC 00280E2C C0 02 BD F8 */ lfs f0, lbl_805ADB18@sda21(r2) /* 80283ED0 00280E30 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80283ED4 00280E34 40 81 00 24 */ ble lbl_80283EF8 lbl_80283ED8: /* 80283ED8 00280E38 C0 02 BD 7C */ lfs f0, lbl_805ADA9C@sda21(r2) /* 80283EDC 00280E3C EC 00 00 72 */ fmuls f0, f0, f1 /* 80283EE0 00280E40 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80283EE4 00280E44 40 80 00 0C */ bge lbl_80283EF0 /* 80283EE8 00280E48 38 60 00 00 */ li r3, 0 /* 80283EEC 00280E4C 48 00 00 18 */ b lbl_80283F04 lbl_80283EF0: /* 80283EF0 00280E50 38 60 00 04 */ li r3, 4 /* 80283EF4 00280E54 48 00 00 10 */ b lbl_80283F04 lbl_80283EF8: /* 80283EF8 00280E58 38 60 00 01 */ li r3, 1 /* 80283EFC 00280E5C 48 00 00 08 */ b lbl_80283F04 lbl_80283F00: /* 80283F00 00280E60 38 60 00 02 */ li r3, 2 lbl_80283F04: /* 80283F04 00280E64 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 80283F08 00280E68 CB E1 00 50 */ lfd f31, 0x50(r1) /* 80283F0C 00280E6C E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 80283F10 00280E70 CB C1 00 40 */ lfd f30, 0x40(r1) /* 80283F14 00280E74 80 01 00 64 */ lwz r0, 0x64(r1) /* 80283F18 00280E78 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80283F1C 00280E7C 7C 08 03 A6 */ mtlr r0 /* 80283F20 00280E80 38 21 00 60 */ addi r1, r1, 0x60 /* 80283F24 00280E84 4E 80 00 20 */ blr .global SetIntoBallReadyAnimation__7CPlayerFR13CStateManager SetIntoBallReadyAnimation__7CPlayerFR13CStateManager: /* 80283F28 00280E88 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80283F2C 00280E8C 7C 08 02 A6 */ mflr r0 /* 80283F30 00280E90 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80283F34 00280E94 38 E0 00 02 */ li r7, 2 /* 80283F38 00280E98 90 01 00 64 */ stw r0, 0x64(r1) /* 80283F3C 00280E9C 38 00 00 00 */ li r0, 0 /* 80283F40 00280EA0 38 A0 FF FF */ li r5, -1 /* 80283F44 00280EA4 38 C0 00 01 */ li r6, 1 /* 80283F48 00280EA8 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80283F4C 00280EAC 7C 9F 23 78 */ mr r31, r4 /* 80283F50 00280EB0 38 81 00 28 */ addi r4, r1, 0x28 /* 80283F54 00280EB4 93 C1 00 58 */ stw r30, 0x58(r1) /* 80283F58 00280EB8 7C 7E 1B 78 */ mr r30, r3 /* 80283F5C 00280EBC 90 A1 00 2C */ stw r5, 0x2c(r1) /* 80283F60 00280EC0 38 A0 00 00 */ li r5, 0 /* 80283F64 00280EC4 90 E1 00 28 */ stw r7, 0x28(r1) /* 80283F68 00280EC8 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80283F6C 00280ECC 98 C1 00 34 */ stb r6, 0x34(r1) /* 80283F70 00280ED0 90 01 00 38 */ stw r0, 0x38(r1) /* 80283F74 00280ED4 90 01 00 3C */ stw r0, 0x3c(r1) /* 80283F78 00280ED8 98 01 00 40 */ stb r0, 0x40(r1) /* 80283F7C 00280EDC 90 01 00 44 */ stw r0, 0x44(r1) /* 80283F80 00280EE0 90 01 00 48 */ stw r0, 0x48(r1) /* 80283F84 00280EE4 90 01 00 4C */ stw r0, 0x4c(r1) /* 80283F88 00280EE8 80 63 00 64 */ lwz r3, 0x64(r3) /* 80283F8C 00280EEC 80 63 00 10 */ lwz r3, 0x10(r3) /* 80283F90 00280EF0 4B DA 8D ED */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 80283F94 00280EF4 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80283F98 00280EF8 38 C0 00 00 */ li r6, 0 /* 80283F9C 00280EFC 38 80 00 01 */ li r4, 1 /* 80283FA0 00280F00 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80283FA4 00280F04 81 03 00 10 */ lwz r8, 0x10(r3) /* 80283FA8 00280F08 7F E5 FB 78 */ mr r5, r31 /* 80283FAC 00280F0C 38 61 00 0C */ addi r3, r1, 0xc /* 80283FB0 00280F10 38 E0 00 01 */ li r7, 1 /* 80283FB4 00280F14 88 08 02 20 */ lbz r0, 0x220(r8) /* 80283FB8 00280F18 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19 /* 80283FBC 00280F1C 38 C1 00 08 */ addi r6, r1, 8 /* 80283FC0 00280F20 98 08 02 20 */ stb r0, 0x220(r8) /* 80283FC4 00280F24 88 08 02 20 */ lbz r0, 0x220(r8) /* 80283FC8 00280F28 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 80283FCC 00280F2C 98 08 02 20 */ stb r0, 0x220(r8) /* 80283FD0 00280F30 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 80283FD4 00280F34 90 01 00 08 */ stw r0, 8(r1) /* 80283FD8 00280F38 80 9E 00 64 */ lwz r4, 0x64(r30) /* 80283FDC 00280F3C 4B E9 1B 59 */ bl AdvanceAnimation__10CModelDataFfR13CStateManager7TAreaIdb /* 80283FE0 00280F40 80 7E 00 64 */ lwz r3, 0x64(r30) /* 80283FE4 00280F44 38 80 00 00 */ li r4, 0 /* 80283FE8 00280F48 80 63 00 10 */ lwz r3, 0x10(r3) /* 80283FEC 00280F4C 88 03 02 20 */ lbz r0, 0x220(r3) /* 80283FF0 00280F50 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 80283FF4 00280F54 98 03 02 20 */ stb r0, 0x220(r3) /* 80283FF8 00280F58 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80283FFC 00280F5C 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80284000 00280F60 80 01 00 64 */ lwz r0, 0x64(r1) /* 80284004 00280F64 7C 08 03 A6 */ mtlr r0 /* 80284008 00280F68 38 21 00 60 */ addi r1, r1, 0x60 /* 8028400C 00280F6C 4E 80 00 20 */ blr .global UpdateCameraBob__7CPlayerFfR13CStateManager UpdateCameraBob__7CPlayerFfR13CStateManager: /* 80284010 00280F70 94 21 FF 70 */ stwu r1, -0x90(r1) /* 80284014 00280F74 7C 08 02 A6 */ mflr r0 /* 80284018 00280F78 90 01 00 94 */ stw r0, 0x94(r1) /* 8028401C 00280F7C DB E1 00 80 */ stfd f31, 0x80(r1) /* 80284020 00280F80 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 80284024 00280F84 DB C1 00 70 */ stfd f30, 0x70(r1) /* 80284028 00280F88 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 8028402C 00280F8C DB A1 00 60 */ stfd f29, 0x60(r1) /* 80284030 00280F90 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 80284034 00280F94 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80284038 00280F98 93 C1 00 58 */ stw r30, 0x58(r1) /* 8028403C 00280F9C 93 A1 00 54 */ stw r29, 0x54(r1) /* 80284040 00280FA0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80284044 00280FA4 7C 7D 1B 78 */ mr r29, r3 /* 80284048 00280FA8 FF E0 08 90 */ fmr f31, f1 /* 8028404C 00280FAC 7C 9E 23 78 */ mr r30, r4 /* 80284050 00280FB0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80284054 00280FB4 C0 C3 01 38 */ lfs f6, 0x138(r3) /* 80284058 00280FB8 D0 C1 00 40 */ stfs f6, 0x40(r1) /* 8028405C 00280FBC C0 03 01 3C */ lfs f0, 0x13c(r3) /* 80284060 00280FC0 D0 01 00 44 */ stfs f0, 0x44(r1) /* 80284064 00280FC4 C0 A3 01 40 */ lfs f5, 0x140(r3) /* 80284068 00280FC8 D0 A1 00 48 */ stfs f5, 0x48(r1) /* 8028406C 00280FCC 80 03 03 04 */ lwz r0, 0x304(r3) /* 80284070 00280FD0 2C 00 00 00 */ cmpwi r0, 0 /* 80284074 00280FD4 40 82 00 5C */ bne lbl_802840D0 /* 80284078 00280FD8 C0 7D 00 48 */ lfs f3, 0x48(r29) /* 8028407C 00280FDC 3B E0 00 00 */ li r31, 0 /* 80284080 00280FE0 C0 5D 00 38 */ lfs f2, 0x38(r29) /* 80284084 00280FE4 EC 00 00 F2 */ fmuls f0, f0, f3 /* 80284088 00280FE8 C0 9D 00 58 */ lfs f4, 0x58(r29) /* 8028408C 00280FEC D0 41 00 34 */ stfs f2, 0x34(r1) /* 80284090 00280FF0 EC 06 00 BA */ fmadds f0, f6, f2, f0 /* 80284094 00280FF4 D0 61 00 38 */ stfs f3, 0x38(r1) /* 80284098 00280FF8 D0 81 00 3C */ stfs f4, 0x3c(r1) /* 8028409C 00280FFC EF C5 01 3A */ fmadds f30, f5, f4, f0 /* 802840A0 00281000 48 00 18 69 */ bl GetActualFirstPersonMaxVelocity__7CPlayerCFv /* 802840A4 00281004 EC 3E 08 24 */ fdivs f1, f30, f1 /* 802840A8 00281008 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 802840AC 0028100C FC 20 0A 10 */ fabs f1, f1 /* 802840B0 00281010 FC 20 08 18 */ frsp f1, f1 /* 802840B4 00281014 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802840B8 00281018 D0 21 00 0C */ stfs f1, 0xc(r1) /* 802840BC 0028101C 40 80 00 F4 */ bge lbl_802841B0 /* 802840C0 00281020 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802840C4 00281024 3B E0 00 03 */ li r31, 3 /* 802840C8 00281028 D0 01 00 0C */ stfs f0, 0xc(r1) /* 802840CC 0028102C 48 00 00 E4 */ b lbl_802841B0 lbl_802840D0: /* 802840D0 00281030 C0 FD 00 44 */ lfs f7, 0x44(r29) /* 802840D4 00281034 3B E0 00 01 */ li r31, 1 /* 802840D8 00281038 C1 3D 00 48 */ lfs f9, 0x48(r29) /* 802840DC 0028103C EC 60 01 F2 */ fmuls f3, f0, f7 /* 802840E0 00281040 C0 9D 00 34 */ lfs f4, 0x34(r29) /* 802840E4 00281044 C0 5D 00 38 */ lfs f2, 0x38(r29) /* 802840E8 00281048 EC 00 02 72 */ fmuls f0, f0, f9 /* 802840EC 0028104C C1 1D 00 54 */ lfs f8, 0x54(r29) /* 802840F0 00281050 EC 66 19 3A */ fmadds f3, f6, f4, f3 /* 802840F4 00281054 C1 5D 00 58 */ lfs f10, 0x58(r29) /* 802840F8 00281058 EC 06 00 BA */ fmadds f0, f6, f2, f0 /* 802840FC 0028105C D0 81 00 28 */ stfs f4, 0x28(r1) /* 80284100 00281060 EF A5 1A 3A */ fmadds f29, f5, f8, f3 /* 80284104 00281064 EF C5 02 BA */ fmadds f30, f5, f10, f0 /* 80284108 00281068 D0 E1 00 2C */ stfs f7, 0x2c(r1) /* 8028410C 0028106C D1 01 00 30 */ stfs f8, 0x30(r1) /* 80284110 00281070 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80284114 00281074 D1 21 00 20 */ stfs f9, 0x20(r1) /* 80284118 00281078 D1 41 00 24 */ stfs f10, 0x24(r1) /* 8028411C 0028107C 48 00 17 ED */ bl GetActualFirstPersonMaxVelocity__7CPlayerCFv /* 80284120 00281080 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 80284124 00281084 2C 00 00 02 */ cmpwi r0, 2 /* 80284128 00281088 40 82 00 0C */ bne lbl_80284134 /* 8028412C 0028108C 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 80284130 00281090 48 00 00 08 */ b lbl_80284138 lbl_80284134: /* 80284134 00281094 38 00 00 04 */ li r0, 4 lbl_80284138: /* 80284138 00281098 3C 60 80 3D */ lis r3, lbl_803D5908@ha /* 8028413C 0028109C 54 00 10 3A */ slwi r0, r0, 2 /* 80284140 002810A0 38 63 59 08 */ addi r3, r3, lbl_803D5908@l /* 80284144 002810A4 EC 01 00 72 */ fmuls f0, f1, f1 /* 80284148 002810A8 7C 23 04 2E */ lfsx f1, r3, r0 /* 8028414C 002810AC EC 21 00 7A */ fmadds f1, f1, f1, f0 /* 80284150 002810B0 48 09 13 B1 */ bl SqrtF__5CMathFf /* 80284154 002810B4 EC 1E 07 B2 */ fmuls f0, f30, f30 /* 80284158 002810B8 FF C0 08 90 */ fmr f30, f1 /* 8028415C 002810BC EC 3D 07 7A */ fmadds f1, f29, f29, f0 /* 80284160 002810C0 48 09 13 A1 */ bl SqrtF__5CMathFf /* 80284164 002810C4 EC 21 F0 24 */ fdivs f1, f1, f30 /* 80284168 002810C8 C0 0D 87 C4 */ lfs f0, lbl_805A7384@sda21(r13) /* 8028416C 002810CC C0 4D 87 C8 */ lfs f2, lbl_805A7388@sda21(r13) /* 80284170 002810D0 D0 41 00 08 */ stfs f2, 8(r1) /* 80284174 002810D4 EC 01 00 32 */ fmuls f0, f1, f0 /* 80284178 002810D8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8028417C 002810DC FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80284180 002810E0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80284184 002810E4 40 80 00 0C */ bge lbl_80284190 /* 80284188 002810E8 38 61 00 0C */ addi r3, r1, 0xc /* 8028418C 002810EC 48 00 00 08 */ b lbl_80284194 lbl_80284190: /* 80284190 002810F0 38 61 00 08 */ addi r3, r1, 8 lbl_80284194: /* 80284194 002810F4 C0 23 00 00 */ lfs f1, 0(r3) /* 80284198 002810F8 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 8028419C 002810FC D0 21 00 0C */ stfs f1, 0xc(r1) /* 802841A0 00281100 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802841A4 00281104 40 80 00 0C */ bge lbl_802841B0 /* 802841A8 00281108 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802841AC 0028110C D0 01 00 0C */ stfs f0, 0xc(r1) lbl_802841B0: /* 802841B0 00281110 80 1D 02 58 */ lwz r0, 0x258(r29) /* 802841B4 00281114 2C 00 00 00 */ cmpwi r0, 0 /* 802841B8 00281118 41 82 00 14 */ beq lbl_802841CC /* 802841BC 0028111C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802841C0 00281120 3B E0 00 02 */ li r31, 2 /* 802841C4 00281124 D0 01 00 0C */ stfs f0, 0xc(r1) /* 802841C8 00281128 48 00 00 68 */ b lbl_80284230 lbl_802841CC: /* 802841CC 0028112C C0 21 00 0C */ lfs f1, 0xc(r1) /* 802841D0 00281130 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 802841D4 00281134 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802841D8 00281138 40 80 00 58 */ bge lbl_80284230 /* 802841DC 0028113C 80 7D 04 90 */ lwz r3, 0x490(r29) /* 802841E0 00281140 80 03 02 EC */ lwz r0, 0x2ec(r3) /* 802841E4 00281144 2C 00 00 00 */ cmpwi r0, 0 /* 802841E8 00281148 41 82 00 14 */ beq lbl_802841FC /* 802841EC 0028114C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802841F0 00281150 3B E0 00 04 */ li r31, 4 /* 802841F4 00281154 D0 01 00 0C */ stfs f0, 0xc(r1) /* 802841F8 00281158 48 00 00 38 */ b lbl_80284230 lbl_802841FC: /* 802841FC 0028115C 7F A4 EB 78 */ mr r4, r29 /* 80284200 00281160 38 61 00 10 */ addi r3, r1, 0x10 /* 80284204 00281164 4B E9 69 A1 */ bl GetAngularVelocityOR__13CPhysicsActorCFv /* 80284208 00281168 38 61 00 10 */ addi r3, r1, 0x10 /* 8028420C 0028116C 4B D9 73 05 */ bl GetAngle__10CAxisAngleCFv /* 80284210 00281170 FC 20 0A 10 */ fabs f1, f1 /* 80284214 00281174 C0 02 BD AC */ lfs f0, lbl_805ADACC@sda21(r2) /* 80284218 00281178 FC 20 08 18 */ frsp f1, f1 /* 8028421C 0028117C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80284220 00281180 40 81 00 10 */ ble lbl_80284230 /* 80284224 00281184 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80284228 00281188 3B E0 00 05 */ li r31, 5 /* 8028422C 0028118C D0 01 00 0C */ stfs f0, 0xc(r1) lbl_80284230: /* 80284230 00281190 88 1D 03 DC */ lbz r0, 0x3dc(r29) /* 80284234 00281194 28 00 00 00 */ cmplwi r0, 0 /* 80284238 00281198 40 82 00 10 */ bne lbl_80284248 /* 8028423C 0028119C 88 1D 03 DD */ lbz r0, 0x3dd(r29) /* 80284240 002811A0 28 00 00 00 */ cmplwi r0, 0 /* 80284244 002811A4 41 82 00 10 */ beq lbl_80284254 lbl_80284248: /* 80284248 002811A8 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 8028424C 002811AC 3B E0 00 06 */ li r31, 6 /* 80284250 002811B0 D0 01 00 0C */ stfs f0, 0xc(r1) lbl_80284254: /* 80284254 002811B4 80 1D 03 04 */ lwz r0, 0x304(r29) /* 80284258 002811B8 2C 00 00 05 */ cmpwi r0, 5 /* 8028425C 002811BC 40 82 00 10 */ bne lbl_8028426C /* 80284260 002811C0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80284264 002811C4 3B E0 00 07 */ li r31, 7 /* 80284268 002811C8 D0 01 00 0C */ stfs f0, 0xc(r1) lbl_8028426C: /* 8028426C 002811CC 80 1D 03 A8 */ lwz r0, 0x3a8(r29) /* 80284270 002811D0 2C 00 00 02 */ cmpwi r0, 2 /* 80284274 002811D4 40 82 00 0C */ bne lbl_80284280 /* 80284278 002811D8 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 8028427C 002811DC D0 01 00 0C */ stfs f0, 0xc(r1) lbl_80284280: /* 80284280 002811E0 88 1D 03 8C */ lbz r0, 0x38c(r29) /* 80284284 002811E4 28 00 00 00 */ cmplwi r0, 0 /* 80284288 002811E8 41 82 00 2C */ beq lbl_802842B4 /* 8028428C 002811EC C0 21 00 0C */ lfs f1, 0xc(r1) /* 80284290 002811F0 3B E0 00 06 */ li r31, 6 /* 80284294 002811F4 C0 02 BD AC */ lfs f0, lbl_805ADACC@sda21(r2) /* 80284298 002811F8 EC 01 00 32 */ fmuls f0, f1, f0 /* 8028429C 002811FC D0 01 00 0C */ stfs f0, 0xc(r1) /* 802842A0 00281200 80 1D 02 58 */ lwz r0, 0x258(r29) /* 802842A4 00281204 2C 00 00 00 */ cmpwi r0, 0 /* 802842A8 00281208 40 82 00 0C */ bne lbl_802842B4 /* 802842AC 0028120C 38 00 00 00 */ li r0, 0 /* 802842B0 00281210 98 1D 03 8C */ stb r0, 0x38c(r29) lbl_802842B4: /* 802842B4 00281214 80 7E 08 70 */ lwz r3, 0x870(r30) /* 802842B8 00281218 4B D8 66 49 */ bl IsInCinematicCamera__14CCameraManagerCFv /* 802842BC 0028121C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802842C0 00281220 41 82 00 0C */ beq lbl_802842CC /* 802842C4 00281224 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802842C8 00281228 D0 01 00 0C */ stfs f0, 0xc(r1) lbl_802842CC: /* 802842CC 0028122C 80 7E 08 70 */ lwz r3, 0x870(r30) /* 802842D0 00281230 4B D8 4E 79 */ bl GetCameraBobMagnitude__14CCameraManagerCFv /* 802842D4 00281234 C0 01 00 0C */ lfs f0, 0xc(r1) /* 802842D8 00281238 38 81 00 40 */ addi r4, r1, 0x40 /* 802842DC 0028123C EC 00 00 72 */ fmuls f0, f0, f1 /* 802842E0 00281240 D0 01 00 0C */ stfs f0, 0xc(r1) /* 802842E4 00281244 80 7D 07 6C */ lwz r3, 0x76c(r29) /* 802842E8 00281248 4B E6 57 31 */ bl SetPlayerVelocity__16CPlayerCameraBobFRC9CVector3f /* 802842EC 0028124C 80 7D 07 6C */ lwz r3, 0x76c(r29) /* 802842F0 00281250 7F E4 FB 78 */ mr r4, r31 /* 802842F4 00281254 7F C5 F3 78 */ mr r5, r30 /* 802842F8 00281258 4B E6 57 5D */ bl SetState__16CPlayerCameraBobFQ216CPlayerCameraBob15ECameraBobStateR13CStateManager /* 802842FC 0028125C 80 7D 07 6C */ lwz r3, 0x76c(r29) /* 80284300 00281260 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80284304 00281264 4B E6 5B 49 */ bl SetBobMagnitude__16CPlayerCameraBobFf /* 80284308 00281268 C0 4D 87 CC */ lfs f2, lbl_805A738C@sda21(r13) /* 8028430C 0028126C C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80284310 00281270 C0 01 00 0C */ lfs f0, 0xc(r1) /* 80284314 00281274 EC 21 10 28 */ fsubs f1, f1, f2 /* 80284318 00281278 80 7D 07 6C */ lwz r3, 0x76c(r29) /* 8028431C 0028127C EC 21 10 3A */ fmadds f1, f1, f0, f2 /* 80284320 00281280 4B E6 5B 7D */ bl SetBobTimeScale__16CPlayerCameraBobFf /* 80284324 00281284 FC 20 F8 90 */ fmr f1, f31 /* 80284328 00281288 80 7D 07 6C */ lwz r3, 0x76c(r29) /* 8028432C 0028128C 7F C4 F3 78 */ mr r4, r30 /* 80284330 00281290 4B E6 5B BD */ bl Update__16CPlayerCameraBobFfR13CStateManager /* 80284334 00281294 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80284338 00281298 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 8028433C 0028129C CB E1 00 80 */ lfd f31, 0x80(r1) /* 80284340 002812A0 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 80284344 002812A4 CB C1 00 70 */ lfd f30, 0x70(r1) /* 80284348 002812A8 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 8028434C 002812AC CB A1 00 60 */ lfd f29, 0x60(r1) /* 80284350 002812B0 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80284354 002812B4 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80284358 002812B8 80 01 00 94 */ lwz r0, 0x94(r1) /* 8028435C 002812BC 83 A1 00 54 */ lwz r29, 0x54(r1) /* 80284360 002812C0 7C 08 03 A6 */ mtlr r0 /* 80284364 002812C4 38 21 00 90 */ addi r1, r1, 0x90 /* 80284368 002812C8 4E 80 00 20 */ blr .global SetEyeZBias__7CPlayerFf SetEyeZBias__7CPlayerFf: /* 8028436C 002812CC D0 23 09 C8 */ stfs f1, 0x9c8(r3) /* 80284370 002812D0 4E 80 00 20 */ blr .global AddToPlayerHintRemoveList__7CPlayerF9TUniqueIdR13CStateManager AddToPlayerHintRemoveList__7CPlayerF9TUniqueIdR13CStateManager: /* 80284374 002812D4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80284378 002812D8 7C 08 02 A6 */ mflr r0 /* 8028437C 002812DC 90 01 00 24 */ stw r0, 0x24(r1) /* 80284380 002812E0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80284384 002812E4 7C 9F 23 78 */ mr r31, r4 /* 80284388 002812E8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8028438C 002812EC 7C 7E 1B 78 */ mr r30, r3 /* 80284390 002812F0 7C A3 2B 78 */ mr r3, r5 /* 80284394 002812F4 A0 04 00 00 */ lhz r0, 0(r4) /* 80284398 002812F8 38 81 00 08 */ addi r4, r1, 8 /* 8028439C 002812FC B0 01 00 08 */ sth r0, 8(r1) /* 802843A0 00281300 4B DC 81 D5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 802843A4 00281304 7C 64 1B 78 */ mr r4, r3 /* 802843A8 00281308 38 61 00 0C */ addi r3, r1, 0xc /* 802843AC 0028130C 4B E2 47 55 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 802843B0 00281310 80 03 00 04 */ lwz r0, 4(r3) /* 802843B4 00281314 28 00 00 00 */ cmplwi r0, 0 /* 802843B8 00281318 41 82 00 60 */ beq lbl_80284418 /* 802843BC 0028131C 80 DE 09 3C */ lwz r6, 0x93c(r30) /* 802843C0 00281320 38 9E 09 40 */ addi r4, r30, 0x940 /* 802843C4 00281324 54 C0 08 3C */ slwi r0, r6, 1 /* 802843C8 00281328 7C A4 02 14 */ add r5, r4, r0 /* 802843CC 0028132C 48 00 00 08 */ b lbl_802843D4 lbl_802843D0: /* 802843D0 00281330 38 84 00 02 */ addi r4, r4, 2 lbl_802843D4: /* 802843D4 00281334 7C 04 28 40 */ cmplw r4, r5 /* 802843D8 00281338 41 82 00 14 */ beq lbl_802843EC /* 802843DC 0028133C A0 64 00 00 */ lhz r3, 0(r4) /* 802843E0 00281340 A0 1F 00 00 */ lhz r0, 0(r31) /* 802843E4 00281344 7C 03 00 40 */ cmplw r3, r0 /* 802843E8 00281348 40 82 FF E8 */ bne lbl_802843D0 lbl_802843EC: /* 802843EC 0028134C 7C 04 28 40 */ cmplw r4, r5 /* 802843F0 00281350 40 82 00 28 */ bne lbl_80284418 /* 802843F4 00281354 2C 06 00 20 */ cmpwi r6, 0x20 /* 802843F8 00281358 41 82 00 20 */ beq lbl_80284418 /* 802843FC 0028135C 28 05 00 00 */ cmplwi r5, 0 /* 80284400 00281360 41 82 00 0C */ beq lbl_8028440C /* 80284404 00281364 A0 1F 00 00 */ lhz r0, 0(r31) /* 80284408 00281368 B0 05 00 00 */ sth r0, 0(r5) lbl_8028440C: /* 8028440C 0028136C 80 7E 09 3C */ lwz r3, 0x93c(r30) /* 80284410 00281370 38 03 00 01 */ addi r0, r3, 1 /* 80284414 00281374 90 1E 09 3C */ stw r0, 0x93c(r30) lbl_80284418: /* 80284418 00281378 80 01 00 24 */ lwz r0, 0x24(r1) /* 8028441C 0028137C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80284420 00281380 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80284424 00281384 7C 08 03 A6 */ mtlr r0 /* 80284428 00281388 38 21 00 20 */ addi r1, r1, 0x20 /* 8028442C 0028138C 4E 80 00 20 */ blr .global DeactivatePlayerHint__7CPlayerF9TUniqueIdR13CStateManager DeactivatePlayerHint__7CPlayerF9TUniqueIdR13CStateManager: /* 80284430 00281390 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80284434 00281394 7C 08 02 A6 */ mflr r0 /* 80284438 00281398 90 01 00 34 */ stw r0, 0x34(r1) /* 8028443C 0028139C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80284440 002813A0 93 C1 00 28 */ stw r30, 0x28(r1) /* 80284444 002813A4 7C 9E 23 78 */ mr r30, r4 /* 80284448 002813A8 93 A1 00 24 */ stw r29, 0x24(r1) /* 8028444C 002813AC 7C 7D 1B 78 */ mr r29, r3 /* 80284450 002813B0 7C A3 2B 78 */ mr r3, r5 /* 80284454 002813B4 A0 04 00 00 */ lhz r0, 0(r4) /* 80284458 002813B8 38 81 00 08 */ addi r4, r1, 8 /* 8028445C 002813BC B0 01 00 08 */ sth r0, 8(r1) /* 80284460 002813C0 4B DC 81 15 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80284464 002813C4 7C 64 1B 78 */ mr r4, r3 /* 80284468 002813C8 38 61 00 0C */ addi r3, r1, 0xc /* 8028446C 002813CC 4B E2 46 95 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 80284470 002813D0 83 E3 00 04 */ lwz r31, 4(r3) /* 80284474 002813D4 28 1F 00 00 */ cmplwi r31, 0 /* 80284478 002813D8 41 82 00 70 */ beq lbl_802844E8 /* 8028447C 002813DC 80 DD 09 3C */ lwz r6, 0x93c(r29) /* 80284480 002813E0 38 9D 09 40 */ addi r4, r29, 0x940 /* 80284484 002813E4 54 C0 08 3C */ slwi r0, r6, 1 /* 80284488 002813E8 7C A4 02 14 */ add r5, r4, r0 /* 8028448C 002813EC 48 00 00 08 */ b lbl_80284494 lbl_80284490: /* 80284490 002813F0 38 84 00 02 */ addi r4, r4, 2 lbl_80284494: /* 80284494 002813F4 7C 04 28 40 */ cmplw r4, r5 /* 80284498 002813F8 41 82 00 14 */ beq lbl_802844AC /* 8028449C 002813FC A0 64 00 00 */ lhz r3, 0(r4) /* 802844A0 00281400 A0 1E 00 00 */ lhz r0, 0(r30) /* 802844A4 00281404 7C 03 00 40 */ cmplw r3, r0 /* 802844A8 00281408 40 82 FF E8 */ bne lbl_80284490 lbl_802844AC: /* 802844AC 0028140C 7C 04 28 40 */ cmplw r4, r5 /* 802844B0 00281410 40 82 00 38 */ bne lbl_802844E8 /* 802844B4 00281414 2C 06 00 20 */ cmpwi r6, 0x20 /* 802844B8 00281418 41 82 00 30 */ beq lbl_802844E8 /* 802844BC 0028141C 28 05 00 00 */ cmplwi r5, 0 /* 802844C0 00281420 41 82 00 0C */ beq lbl_802844CC /* 802844C4 00281424 A0 1E 00 00 */ lhz r0, 0(r30) /* 802844C8 00281428 B0 05 00 00 */ sth r0, 0(r5) lbl_802844CC: /* 802844CC 0028142C 80 9D 09 3C */ lwz r4, 0x93c(r29) /* 802844D0 00281430 7F E3 FB 78 */ mr r3, r31 /* 802844D4 00281434 38 04 00 01 */ addi r0, r4, 1 /* 802844D8 00281438 90 1D 09 3C */ stw r0, 0x93c(r29) /* 802844DC 0028143C 4B ED 77 89 */ bl ClearObjectList__17CScriptPlayerHintFv /* 802844E0 00281440 38 00 00 01 */ li r0, 1 /* 802844E4 00281444 98 1F 00 FC */ stb r0, 0xfc(r31) lbl_802844E8: /* 802844E8 00281448 80 01 00 34 */ lwz r0, 0x34(r1) /* 802844EC 0028144C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802844F0 00281450 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802844F4 00281454 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802844F8 00281458 7C 08 03 A6 */ mtlr r0 /* 802844FC 0028145C 38 21 00 30 */ addi r1, r1, 0x30 /* 80284500 00281460 4E 80 00 20 */ blr .global AddToPlayerHintAddList__7CPlayerF9TUniqueIdR13CStateManager AddToPlayerHintAddList__7CPlayerF9TUniqueIdR13CStateManager: /* 80284504 00281464 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80284508 00281468 7C 08 02 A6 */ mflr r0 /* 8028450C 0028146C 90 01 00 24 */ stw r0, 0x24(r1) /* 80284510 00281470 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80284514 00281474 7C 9F 23 78 */ mr r31, r4 /* 80284518 00281478 93 C1 00 18 */ stw r30, 0x18(r1) /* 8028451C 0028147C 7C 7E 1B 78 */ mr r30, r3 /* 80284520 00281480 7C A3 2B 78 */ mr r3, r5 /* 80284524 00281484 A0 04 00 00 */ lhz r0, 0(r4) /* 80284528 00281488 38 81 00 08 */ addi r4, r1, 8 /* 8028452C 0028148C B0 01 00 08 */ sth r0, 8(r1) /* 80284530 00281490 4B DC 80 45 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80284534 00281494 7C 64 1B 78 */ mr r4, r3 /* 80284538 00281498 38 61 00 0C */ addi r3, r1, 0xc /* 8028453C 0028149C 4B E2 45 C5 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 80284540 002814A0 80 03 00 04 */ lwz r0, 4(r3) /* 80284544 002814A4 28 00 00 00 */ cmplwi r0, 0 /* 80284548 002814A8 41 82 00 6C */ beq lbl_802845B4 /* 8028454C 002814AC 80 9E 09 80 */ lwz r4, 0x980(r30) /* 80284550 002814B0 38 7E 09 84 */ addi r3, r30, 0x984 /* 80284554 002814B4 7C 66 1B 78 */ mr r6, r3 /* 80284558 002814B8 54 80 08 3C */ slwi r0, r4, 1 /* 8028455C 002814BC 7C A3 02 14 */ add r5, r3, r0 /* 80284560 002814C0 48 00 00 18 */ b lbl_80284578 lbl_80284564: /* 80284564 002814C4 A0 66 00 00 */ lhz r3, 0(r6) /* 80284568 002814C8 A0 1F 00 00 */ lhz r0, 0(r31) /* 8028456C 002814CC 7C 03 00 40 */ cmplw r3, r0 /* 80284570 002814D0 41 82 00 44 */ beq lbl_802845B4 /* 80284574 002814D4 38 C6 00 02 */ addi r6, r6, 2 lbl_80284578: /* 80284578 002814D8 7C 06 28 40 */ cmplw r6, r5 /* 8028457C 002814DC 40 82 FF E8 */ bne lbl_80284564 /* 80284580 002814E0 80 1E 08 38 */ lwz r0, 0x838(r30) /* 80284584 002814E4 2C 00 00 20 */ cmpwi r0, 0x20 /* 80284588 002814E8 41 82 00 2C */ beq lbl_802845B4 /* 8028458C 002814EC 2C 04 00 20 */ cmpwi r4, 0x20 /* 80284590 002814F0 40 82 00 08 */ bne lbl_80284598 /* 80284594 002814F4 48 00 00 20 */ b lbl_802845B4 lbl_80284598: /* 80284598 002814F8 28 05 00 00 */ cmplwi r5, 0 /* 8028459C 002814FC 41 82 00 0C */ beq lbl_802845A8 /* 802845A0 00281500 A0 1F 00 00 */ lhz r0, 0(r31) /* 802845A4 00281504 B0 05 00 00 */ sth r0, 0(r5) lbl_802845A8: /* 802845A8 00281508 80 7E 09 80 */ lwz r3, 0x980(r30) /* 802845AC 0028150C 38 03 00 01 */ addi r0, r3, 1 /* 802845B0 00281510 90 1E 09 80 */ stw r0, 0x980(r30) lbl_802845B4: /* 802845B4 00281514 80 01 00 24 */ lwz r0, 0x24(r1) /* 802845B8 00281518 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802845BC 0028151C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802845C0 00281520 7C 08 03 A6 */ mtlr r0 /* 802845C4 00281524 38 21 00 20 */ addi r1, r1, 0x20 /* 802845C8 00281528 4E 80 00 20 */ blr .global UpdatePlayerHints__7CPlayerFRC13CStateManager UpdatePlayerHints__7CPlayerFRC13CStateManager: /* 802845CC 0028152C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802845D0 00281530 7C 08 02 A6 */ mflr r0 /* 802845D4 00281534 90 01 00 74 */ stw r0, 0x74(r1) /* 802845D8 00281538 BF 01 00 50 */ stmw r24, 0x50(r1) /* 802845DC 0028153C 7C 7E 1B 78 */ mr r30, r3 /* 802845E0 00281540 3B BE 08 3C */ addi r29, r30, 0x83c /* 802845E4 00281544 7C 9F 23 78 */ mr r31, r4 /* 802845E8 00281548 3B 60 00 00 */ li r27, 0 /* 802845EC 0028154C 7F BC EB 78 */ mr r28, r29 /* 802845F0 00281550 48 00 00 AC */ b lbl_8028469C lbl_802845F4: /* 802845F4 00281554 A0 1C 00 04 */ lhz r0, 4(r28) /* 802845F8 00281558 7F E3 FB 78 */ mr r3, r31 /* 802845FC 0028155C 38 81 00 24 */ addi r4, r1, 0x24 /* 80284600 00281560 B0 01 00 24 */ sth r0, 0x24(r1) /* 80284604 00281564 4B DC 7F 71 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80284608 00281568 7C 64 1B 78 */ mr r4, r3 /* 8028460C 0028156C 38 61 00 40 */ addi r3, r1, 0x40 /* 80284610 00281570 4B E2 44 F1 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 80284614 00281574 80 03 00 04 */ lwz r0, 4(r3) /* 80284618 00281578 28 00 00 00 */ cmplwi r0, 0 /* 8028461C 0028157C 40 82 00 7C */ bne lbl_80284698 /* 80284620 00281580 7C 1C E8 40 */ cmplw r28, r29 /* 80284624 00281584 41 80 00 5C */ blt lbl_80284680 /* 80284628 00281588 80 1E 08 38 */ lwz r0, 0x838(r30) /* 8028462C 0028158C 54 00 18 38 */ slwi r0, r0, 3 /* 80284630 00281590 7C 1D 02 14 */ add r0, r29, r0 /* 80284634 00281594 7C 1C 00 40 */ cmplw r28, r0 /* 80284638 00281598 40 80 00 48 */ bge lbl_80284680 /* 8028463C 0028159C 7F 85 E3 78 */ mr r5, r28 /* 80284640 002815A0 48 00 00 18 */ b lbl_80284658 lbl_80284644: /* 80284644 002815A4 80 05 00 08 */ lwz r0, 8(r5) /* 80284648 002815A8 90 05 00 00 */ stw r0, 0(r5) /* 8028464C 002815AC A0 05 00 0C */ lhz r0, 0xc(r5) /* 80284650 002815B0 B0 05 00 04 */ sth r0, 4(r5) /* 80284654 002815B4 38 A5 00 08 */ addi r5, r5, 8 lbl_80284658: /* 80284658 002815B8 80 9E 08 38 */ lwz r4, 0x838(r30) /* 8028465C 002815BC 54 83 18 38 */ slwi r3, r4, 3 /* 80284660 002815C0 38 03 FF F8 */ addi r0, r3, -8 /* 80284664 002815C4 7C 1D 02 14 */ add r0, r29, r0 /* 80284668 002815C8 7C 05 00 40 */ cmplw r5, r0 /* 8028466C 002815CC 41 80 FF D8 */ blt lbl_80284644 /* 80284670 002815D0 38 04 FF FF */ addi r0, r4, -1 /* 80284674 002815D4 7F 83 E3 78 */ mr r3, r28 /* 80284678 002815D8 90 1E 08 38 */ stw r0, 0x838(r30) /* 8028467C 002815DC 48 00 00 10 */ b lbl_8028468C lbl_80284680: /* 80284680 002815E0 80 1E 08 38 */ lwz r0, 0x838(r30) /* 80284684 002815E4 54 00 18 38 */ slwi r0, r0, 3 /* 80284688 002815E8 7C 7D 02 14 */ add r3, r29, r0 lbl_8028468C: /* 8028468C 002815EC 7C 7C 1B 78 */ mr r28, r3 /* 80284690 002815F0 3B 60 00 01 */ li r27, 1 /* 80284694 002815F4 48 00 00 08 */ b lbl_8028469C lbl_80284698: /* 80284698 002815F8 3B 9C 00 08 */ addi r28, r28, 8 lbl_8028469C: /* 8028469C 002815FC 80 1E 08 38 */ lwz r0, 0x838(r30) /* 802846A0 00281600 54 00 18 38 */ slwi r0, r0, 3 /* 802846A4 00281604 7C 1D 02 14 */ add r0, r29, r0 /* 802846A8 00281608 7C 1C 00 40 */ cmplw r28, r0 /* 802846AC 0028160C 40 82 FF 48 */ bne lbl_802845F4 /* 802846B0 00281610 80 1E 09 3C */ lwz r0, 0x93c(r30) /* 802846B4 00281614 3B 40 00 00 */ li r26, 0 /* 802846B8 00281618 2C 00 00 00 */ cmpwi r0, 0 /* 802846BC 0028161C 41 82 01 50 */ beq lbl_8028480C /* 802846C0 00281620 3B 9E 09 40 */ addi r28, r30, 0x940 /* 802846C4 00281624 7F 99 E3 78 */ mr r25, r28 /* 802846C8 00281628 48 00 00 E0 */ b lbl_802847A8 lbl_802846CC: /* 802846CC 0028162C A0 19 00 00 */ lhz r0, 0(r25) /* 802846D0 00281630 7F E3 FB 78 */ mr r3, r31 /* 802846D4 00281634 38 81 00 20 */ addi r4, r1, 0x20 /* 802846D8 00281638 B0 01 00 2C */ sth r0, 0x2c(r1) /* 802846DC 0028163C B0 01 00 20 */ sth r0, 0x20(r1) /* 802846E0 00281640 4B DC 7E C5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 802846E4 00281644 7C 64 1B 78 */ mr r4, r3 /* 802846E8 00281648 38 61 00 38 */ addi r3, r1, 0x38 /* 802846EC 0028164C 4B E2 44 15 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 802846F0 00281650 80 63 00 04 */ lwz r3, 4(r3) /* 802846F4 00281654 28 03 00 00 */ cmplwi r3, 0 /* 802846F8 00281658 41 82 00 AC */ beq lbl_802847A4 /* 802846FC 0028165C 80 03 00 E8 */ lwz r0, 0xe8(r3) /* 80284700 00281660 28 00 00 00 */ cmplwi r0, 0 /* 80284704 00281664 41 82 00 10 */ beq lbl_80284714 /* 80284708 00281668 88 03 00 FC */ lbz r0, 0xfc(r3) /* 8028470C 0028166C 28 00 00 00 */ cmplwi r0, 0 /* 80284710 00281670 41 82 00 94 */ beq lbl_802847A4 lbl_80284714: /* 80284714 00281674 80 7E 08 38 */ lwz r3, 0x838(r30) /* 80284718 00281678 7F A5 EB 78 */ mr r5, r29 /* 8028471C 0028167C A0 01 00 2C */ lhz r0, 0x2c(r1) /* 80284720 00281680 54 63 18 38 */ slwi r3, r3, 3 /* 80284724 00281684 7C 9D 1A 14 */ add r4, r29, r3 /* 80284728 00281688 48 00 00 74 */ b lbl_8028479C lbl_8028472C: /* 8028472C 0028168C A0 65 00 04 */ lhz r3, 4(r5) /* 80284730 00281690 7C 03 00 40 */ cmplw r3, r0 /* 80284734 00281694 40 82 00 64 */ bne lbl_80284798 /* 80284738 00281698 7C 05 E8 40 */ cmplw r5, r29 /* 8028473C 0028169C 41 80 00 44 */ blt lbl_80284780 /* 80284740 002816A0 7C 05 20 40 */ cmplw r5, r4 /* 80284744 002816A4 40 80 00 3C */ bge lbl_80284780 /* 80284748 002816A8 48 00 00 18 */ b lbl_80284760 lbl_8028474C: /* 8028474C 002816AC 80 05 00 08 */ lwz r0, 8(r5) /* 80284750 002816B0 90 05 00 00 */ stw r0, 0(r5) /* 80284754 002816B4 A0 05 00 0C */ lhz r0, 0xc(r5) /* 80284758 002816B8 B0 05 00 04 */ sth r0, 4(r5) /* 8028475C 002816BC 38 A5 00 08 */ addi r5, r5, 8 lbl_80284760: /* 80284760 002816C0 80 9E 08 38 */ lwz r4, 0x838(r30) /* 80284764 002816C4 54 83 18 38 */ slwi r3, r4, 3 /* 80284768 002816C8 38 03 FF F8 */ addi r0, r3, -8 /* 8028476C 002816CC 7C 1D 02 14 */ add r0, r29, r0 /* 80284770 002816D0 7C 05 00 40 */ cmplw r5, r0 /* 80284774 002816D4 41 80 FF D8 */ blt lbl_8028474C /* 80284778 002816D8 38 04 FF FF */ addi r0, r4, -1 /* 8028477C 002816DC 90 1E 08 38 */ stw r0, 0x838(r30) lbl_80284780: /* 80284780 002816E0 A0 61 00 2C */ lhz r3, 0x2c(r1) /* 80284784 002816E4 A0 1E 08 30 */ lhz r0, 0x830(r30) /* 80284788 002816E8 7C 03 00 40 */ cmplw r3, r0 /* 8028478C 002816EC 40 82 00 18 */ bne lbl_802847A4 /* 80284790 002816F0 3B 40 00 01 */ li r26, 1 /* 80284794 002816F4 48 00 00 10 */ b lbl_802847A4 lbl_80284798: /* 80284798 002816F8 38 A5 00 08 */ addi r5, r5, 8 lbl_8028479C: /* 8028479C 002816FC 7C 05 20 40 */ cmplw r5, r4 /* 802847A0 00281700 40 82 FF 8C */ bne lbl_8028472C lbl_802847A4: /* 802847A4 00281704 3B 39 00 02 */ addi r25, r25, 2 lbl_802847A8: /* 802847A8 00281708 80 BE 09 3C */ lwz r5, 0x93c(r30) /* 802847AC 0028170C 54 A0 08 3C */ slwi r0, r5, 1 /* 802847B0 00281710 7C 1C 02 14 */ add r0, r28, r0 /* 802847B4 00281714 7C 19 00 40 */ cmplw r25, r0 /* 802847B8 00281718 40 82 FF 14 */ bne lbl_802846CC /* 802847BC 0028171C 2C 05 00 00 */ cmpwi r5, 0 /* 802847C0 00281720 38 60 00 00 */ li r3, 0 /* 802847C4 00281724 40 81 00 40 */ ble lbl_80284804 /* 802847C8 00281728 2C 05 00 08 */ cmpwi r5, 8 /* 802847CC 0028172C 38 85 FF F8 */ addi r4, r5, -8 /* 802847D0 00281730 40 81 00 20 */ ble lbl_802847F0 /* 802847D4 00281734 38 04 00 07 */ addi r0, r4, 7 /* 802847D8 00281738 54 00 E8 FE */ srwi r0, r0, 3 /* 802847DC 0028173C 7C 09 03 A6 */ mtctr r0 /* 802847E0 00281740 2C 04 00 00 */ cmpwi r4, 0 /* 802847E4 00281744 40 81 00 0C */ ble lbl_802847F0 lbl_802847E8: /* 802847E8 00281748 38 63 00 08 */ addi r3, r3, 8 /* 802847EC 0028174C 42 00 FF FC */ bdnz lbl_802847E8 lbl_802847F0: /* 802847F0 00281750 7C 03 28 50 */ subf r0, r3, r5 /* 802847F4 00281754 7C 09 03 A6 */ mtctr r0 /* 802847F8 00281758 7C 03 28 00 */ cmpw r3, r5 /* 802847FC 0028175C 40 80 00 08 */ bge lbl_80284804 lbl_80284800: /* 80284800 00281760 42 00 00 00 */ bdnz lbl_80284800 lbl_80284804: /* 80284804 00281764 38 00 00 00 */ li r0, 0 /* 80284808 00281768 90 1E 09 3C */ stw r0, 0x93c(r30) lbl_8028480C: /* 8028480C 0028176C 80 1E 09 80 */ lwz r0, 0x980(r30) /* 80284810 00281770 3B 20 00 00 */ li r25, 0 /* 80284814 00281774 2C 00 00 00 */ cmpwi r0, 0 /* 80284818 00281778 41 82 01 14 */ beq lbl_8028492C /* 8028481C 0028177C 3B 9E 09 84 */ addi r28, r30, 0x984 /* 80284820 00281780 7F 98 E3 78 */ mr r24, r28 /* 80284824 00281784 48 00 00 A4 */ b lbl_802848C8 lbl_80284828: /* 80284828 00281788 A0 18 00 00 */ lhz r0, 0(r24) /* 8028482C 0028178C 7F E3 FB 78 */ mr r3, r31 /* 80284830 00281790 38 81 00 1C */ addi r4, r1, 0x1c /* 80284834 00281794 B0 01 00 28 */ sth r0, 0x28(r1) /* 80284838 00281798 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8028483C 0028179C 4B DC 7D 69 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80284840 002817A0 7C 64 1B 78 */ mr r4, r3 /* 80284844 002817A4 38 61 00 30 */ addi r3, r1, 0x30 /* 80284848 002817A8 4B E2 42 B9 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 8028484C 002817AC 80 A3 00 04 */ lwz r5, 4(r3) /* 80284850 002817B0 28 05 00 00 */ cmplwi r5, 0 /* 80284854 002817B4 41 82 00 70 */ beq lbl_802848C4 /* 80284858 002817B8 80 7E 08 38 */ lwz r3, 0x838(r30) /* 8028485C 002817BC 7F A7 EB 78 */ mr r7, r29 /* 80284860 002817C0 A0 01 00 28 */ lhz r0, 0x28(r1) /* 80284864 002817C4 38 C0 00 00 */ li r6, 0 /* 80284868 002817C8 54 63 18 38 */ slwi r3, r3, 3 /* 8028486C 002817CC 7C 9D 1A 14 */ add r4, r29, r3 /* 80284870 002817D0 48 00 00 1C */ b lbl_8028488C lbl_80284874: /* 80284874 002817D4 A0 67 00 04 */ lhz r3, 4(r7) /* 80284878 002817D8 7C 03 00 40 */ cmplw r3, r0 /* 8028487C 002817DC 40 82 00 0C */ bne lbl_80284888 /* 80284880 002817E0 38 C0 00 01 */ li r6, 1 /* 80284884 002817E4 48 00 00 10 */ b lbl_80284894 lbl_80284888: /* 80284888 002817E8 38 E7 00 08 */ addi r7, r7, 8 lbl_8028488C: /* 8028488C 002817EC 7C 07 20 40 */ cmplw r7, r4 /* 80284890 002817F0 40 82 FF E4 */ bne lbl_80284874 lbl_80284894: /* 80284894 002817F4 54 C0 06 3F */ clrlwi. r0, r6, 0x18 /* 80284898 002817F8 40 82 00 2C */ bne lbl_802848C4 /* 8028489C 002817FC 28 04 00 00 */ cmplwi r4, 0 /* 802848A0 00281800 80 05 01 00 */ lwz r0, 0x100(r5) /* 802848A4 00281804 41 82 00 10 */ beq lbl_802848B4 /* 802848A8 00281808 90 04 00 00 */ stw r0, 0(r4) /* 802848AC 0028180C A0 01 00 28 */ lhz r0, 0x28(r1) /* 802848B0 00281810 B0 04 00 04 */ sth r0, 4(r4) lbl_802848B4: /* 802848B4 00281814 80 7E 08 38 */ lwz r3, 0x838(r30) /* 802848B8 00281818 3B 20 00 01 */ li r25, 1 /* 802848BC 0028181C 38 03 00 01 */ addi r0, r3, 1 /* 802848C0 00281820 90 1E 08 38 */ stw r0, 0x838(r30) lbl_802848C4: /* 802848C4 00281824 3B 18 00 02 */ addi r24, r24, 2 lbl_802848C8: /* 802848C8 00281828 80 BE 09 80 */ lwz r5, 0x980(r30) /* 802848CC 0028182C 54 A0 08 3C */ slwi r0, r5, 1 /* 802848D0 00281830 7C 1C 02 14 */ add r0, r28, r0 /* 802848D4 00281834 7C 18 00 40 */ cmplw r24, r0 /* 802848D8 00281838 40 82 FF 50 */ bne lbl_80284828 /* 802848DC 0028183C 2C 05 00 00 */ cmpwi r5, 0 /* 802848E0 00281840 38 60 00 00 */ li r3, 0 /* 802848E4 00281844 40 81 00 40 */ ble lbl_80284924 /* 802848E8 00281848 2C 05 00 08 */ cmpwi r5, 8 /* 802848EC 0028184C 38 85 FF F8 */ addi r4, r5, -8 /* 802848F0 00281850 40 81 00 20 */ ble lbl_80284910 /* 802848F4 00281854 38 04 00 07 */ addi r0, r4, 7 /* 802848F8 00281858 54 00 E8 FE */ srwi r0, r0, 3 /* 802848FC 0028185C 7C 09 03 A6 */ mtctr r0 /* 80284900 00281860 2C 04 00 00 */ cmpwi r4, 0 /* 80284904 00281864 40 81 00 0C */ ble lbl_80284910 lbl_80284908: /* 80284908 00281868 38 63 00 08 */ addi r3, r3, 8 /* 8028490C 0028186C 42 00 FF FC */ bdnz lbl_80284908 lbl_80284910: /* 80284910 00281870 7C 03 28 50 */ subf r0, r3, r5 /* 80284914 00281874 7C 09 03 A6 */ mtctr r0 /* 80284918 00281878 7C 03 28 00 */ cmpw r3, r5 /* 8028491C 0028187C 40 80 00 08 */ bge lbl_80284924 lbl_80284920: /* 80284920 00281880 42 00 00 00 */ bdnz lbl_80284920 lbl_80284924: /* 80284924 00281884 38 00 00 00 */ li r0, 0 /* 80284928 00281888 90 1E 09 80 */ stw r0, 0x980(r30) lbl_8028492C: /* 8028492C 0028188C 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 80284930 00281890 40 82 00 14 */ bne lbl_80284944 /* 80284934 00281894 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 80284938 00281898 40 82 00 0C */ bne lbl_80284944 /* 8028493C 0028189C 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 80284940 002818A0 41 82 01 54 */ beq lbl_80284A94 lbl_80284944: /* 80284944 002818A4 88 81 00 10 */ lbz r4, 0x10(r1) /* 80284948 002818A8 7F A3 EB 78 */ mr r3, r29 /* 8028494C 002818AC 38 A1 00 08 */ addi r5, r1, 8 /* 80284950 002818B0 98 81 00 08 */ stb r4, 8(r1) /* 80284954 002818B4 80 1E 08 38 */ lwz r0, 0x838(r30) /* 80284958 002818B8 98 81 00 0C */ stb r4, 0xc(r1) /* 8028495C 002818BC 54 00 18 38 */ slwi r0, r0, 3 /* 80284960 002818C0 7C 9D 02 14 */ add r4, r29, r0 /* 80284964 002818C4 4B D8 79 7D */ bl sub_8000c2e0 /* 80284968 002818C8 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 8028496C 002818CC 40 82 00 0C */ bne lbl_80284978 /* 80284970 002818D0 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 80284974 002818D4 41 82 00 30 */ beq lbl_802849A4 lbl_80284978: /* 80284978 002818D8 80 1E 08 38 */ lwz r0, 0x838(r30) /* 8028497C 002818DC 2C 00 00 00 */ cmpwi r0, 0 /* 80284980 002818E0 40 82 00 24 */ bne lbl_802849A4 /* 80284984 002818E4 A0 AD A3 8C */ lhz r5, kInvalidUniqueId@sda21(r13) /* 80284988 002818E8 38 00 03 E8 */ li r0, 0x3e8 /* 8028498C 002818EC 7F C3 F3 78 */ mr r3, r30 /* 80284990 002818F0 7F E4 FB 78 */ mr r4, r31 /* 80284994 002818F4 B0 BE 08 30 */ sth r5, 0x830(r30) /* 80284998 002818F8 90 1E 08 34 */ stw r0, 0x834(r30) /* 8028499C 002818FC 48 00 03 09 */ bl ResetPlayerHintState__7CPlayerFv /* 802849A0 00281900 48 00 00 F4 */ b lbl_80284A94 lbl_802849A4: /* 802849A4 00281904 7F BA EB 78 */ mr r26, r29 /* 802849A8 00281908 3B 00 00 00 */ li r24, 0 /* 802849AC 0028190C 3B 20 00 00 */ li r25, 0 /* 802849B0 00281910 48 00 00 50 */ b lbl_80284A00 lbl_802849B4: /* 802849B4 00281914 A0 1A 00 04 */ lhz r0, 4(r26) /* 802849B8 00281918 7F E3 FB 78 */ mr r3, r31 /* 802849BC 0028191C 38 81 00 18 */ addi r4, r1, 0x18 /* 802849C0 00281920 B0 01 00 18 */ sth r0, 0x18(r1) /* 802849C4 00281924 4B DC 7B B1 */ bl ObjectById__13CStateManagerF9TUniqueId /* 802849C8 00281928 7C 64 1B 78 */ mr r4, r3 /* 802849CC 0028192C 38 61 00 48 */ addi r3, r1, 0x48 /* 802849D0 00281930 4B E2 41 31 */ bl "__ct__31TCastToPtr<17CScriptPlayerHint>FP7CEntity" /* 802849D4 00281934 80 63 00 04 */ lwz r3, 4(r3) /* 802849D8 00281938 28 03 00 00 */ cmplwi r3, 0 /* 802849DC 0028193C 7C 78 1B 78 */ mr r24, r3 /* 802849E0 00281940 41 82 00 1C */ beq lbl_802849FC /* 802849E4 00281944 80 63 00 04 */ lwz r3, 4(r3) /* 802849E8 00281948 80 1F 08 CC */ lwz r0, 0x8cc(r31) /* 802849EC 0028194C 7C 03 00 00 */ cmpw r3, r0 /* 802849F0 00281950 40 82 00 0C */ bne lbl_802849FC /* 802849F4 00281954 3B 20 00 01 */ li r25, 1 /* 802849F8 00281958 48 00 00 1C */ b lbl_80284A14 lbl_802849FC: /* 802849FC 0028195C 3B 5A 00 08 */ addi r26, r26, 8 lbl_80284A00: /* 80284A00 00281960 80 1E 08 38 */ lwz r0, 0x838(r30) /* 80284A04 00281964 54 00 18 38 */ slwi r0, r0, 3 /* 80284A08 00281968 7C 1D 02 14 */ add r0, r29, r0 /* 80284A0C 0028196C 7C 1A 00 40 */ cmplw r26, r0 /* 80284A10 00281970 40 82 FF A4 */ bne lbl_802849B4 lbl_80284A14: /* 80284A14 00281974 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 80284A18 00281978 40 82 00 20 */ bne lbl_80284A38 /* 80284A1C 0028197C A0 AD A3 8C */ lhz r5, kInvalidUniqueId@sda21(r13) /* 80284A20 00281980 38 00 03 E8 */ li r0, 0x3e8 /* 80284A24 00281984 7F C3 F3 78 */ mr r3, r30 /* 80284A28 00281988 7F E4 FB 78 */ mr r4, r31 /* 80284A2C 0028198C B0 BE 08 30 */ sth r5, 0x830(r30) /* 80284A30 00281990 90 1E 08 34 */ stw r0, 0x834(r30) /* 80284A34 00281994 48 00 02 71 */ bl ResetPlayerHintState__7CPlayerFv lbl_80284A38: /* 80284A38 00281998 28 18 00 00 */ cmplwi r24, 0 /* 80284A3C 0028199C 41 82 00 58 */ beq lbl_80284A94 /* 80284A40 002819A0 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 80284A44 002819A4 41 82 00 50 */ beq lbl_80284A94 /* 80284A48 002819A8 A0 1E 08 30 */ lhz r0, 0x830(r30) /* 80284A4C 002819AC A0 78 00 08 */ lhz r3, 8(r24) /* 80284A50 002819B0 7C 00 18 40 */ cmplw r0, r3 /* 80284A54 002819B4 41 82 00 40 */ beq lbl_80284A94 /* 80284A58 002819B8 B0 7E 08 30 */ sth r3, 0x830(r30) /* 80284A5C 002819BC 7F C3 F3 78 */ mr r3, r30 /* 80284A60 002819C0 7F 04 C3 78 */ mr r4, r24 /* 80284A64 002819C4 7F E5 FB 78 */ mr r5, r31 /* 80284A68 002819C8 80 18 01 00 */ lwz r0, 0x100(r24) /* 80284A6C 002819CC 90 1E 08 34 */ stw r0, 0x834(r30) /* 80284A70 002819D0 48 00 00 39 */ bl SetAreaPlayerHint__7CPlayerFRC17CScriptPlayerHintRC13CStateManager /* 80284A74 002819D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80284A78 002819D8 41 82 00 1C */ beq lbl_80284A94 /* 80284A7C 002819DC A0 1E 08 30 */ lhz r0, 0x830(r30) /* 80284A80 002819E0 7F C3 F3 78 */ mr r3, r30 /* 80284A84 002819E4 7F E5 FB 78 */ mr r5, r31 /* 80284A88 002819E8 38 81 00 14 */ addi r4, r1, 0x14 /* 80284A8C 002819EC B0 01 00 14 */ sth r0, 0x14(r1) /* 80284A90 002819F0 4B FF F9 A1 */ bl DeactivatePlayerHint__7CPlayerF9TUniqueIdR13CStateManager lbl_80284A94: /* 80284A94 002819F4 BB 01 00 50 */ lmw r24, 0x50(r1) /* 80284A98 002819F8 80 01 00 74 */ lwz r0, 0x74(r1) /* 80284A9C 002819FC 7C 08 03 A6 */ mtlr r0 /* 80284AA0 00281A00 38 21 00 70 */ addi r1, r1, 0x70 /* 80284AA4 00281A04 4E 80 00 20 */ blr .global SetAreaPlayerHint__7CPlayerFRC17CScriptPlayerHintRC13CStateManager SetAreaPlayerHint__7CPlayerFRC17CScriptPlayerHintRC13CStateManager: /* 80284AA8 00281A08 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284AAC 00281A0C 7C 08 02 A6 */ mflr r0 /* 80284AB0 00281A10 90 01 00 14 */ stw r0, 0x14(r1) /* 80284AB4 00281A14 93 E1 00 0C */ stw r31, 0xc(r1) /* 80284AB8 00281A18 7C BF 2B 78 */ mr r31, r5 /* 80284ABC 00281A1C 93 C1 00 08 */ stw r30, 8(r1) /* 80284AC0 00281A20 7C 9E 23 78 */ mr r30, r4 /* 80284AC4 00281A24 80 84 01 04 */ lwz r4, 0x104(r4) /* 80284AC8 00281A28 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284ACC 00281A2C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 80284AD0 00281A30 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284AD4 00281A34 80 9E 01 04 */ lwz r4, 0x104(r30) /* 80284AD8 00281A38 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284ADC 00281A3C 54 84 06 72 */ rlwinm r4, r4, 0, 0x19, 0x19 /* 80284AE0 00281A40 7C 84 00 34 */ cntlzw r4, r4 /* 80284AE4 00281A44 50 80 FE F6 */ rlwimi r0, r4, 0x1f, 0x1b, 0x1b /* 80284AE8 00281A48 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284AEC 00281A4C 80 9E 01 04 */ lwz r4, 0x104(r30) /* 80284AF0 00281A50 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284AF4 00281A54 54 84 06 B4 */ rlwinm r4, r4, 0, 0x1a, 0x1a /* 80284AF8 00281A58 7C 84 00 34 */ cntlzw r4, r4 /* 80284AFC 00281A5C 50 80 F7 38 */ rlwimi r0, r4, 0x1e, 0x1c, 0x1c /* 80284B00 00281A60 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284B04 00281A64 80 9E 01 04 */ lwz r4, 0x104(r30) /* 80284B08 00281A68 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284B0C 00281A6C 50 80 07 BC */ rlwimi r0, r4, 0, 0x1e, 0x1e /* 80284B10 00281A70 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284B14 00281A74 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284B18 00281A78 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 80284B1C 00281A7C 41 82 00 1C */ beq lbl_80284B38 /* 80284B20 00281A80 C0 5E 00 58 */ lfs f2, 0x58(r30) /* 80284B24 00281A84 C0 3E 00 48 */ lfs f1, 0x48(r30) /* 80284B28 00281A88 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 80284B2C 00281A8C D0 03 09 D8 */ stfs f0, 0x9d8(r3) /* 80284B30 00281A90 D0 23 09 DC */ stfs f1, 0x9dc(r3) /* 80284B34 00281A94 D0 43 09 E0 */ stfs f2, 0x9e0(r3) lbl_80284B38: /* 80284B38 00281A98 80 BE 01 04 */ lwz r5, 0x104(r30) /* 80284B3C 00281A9C 38 00 00 00 */ li r0, 0 /* 80284B40 00281AA0 88 83 09 C6 */ lbz r4, 0x9c6(r3) /* 80284B44 00281AA4 50 A4 2E 30 */ rlwimi r4, r5, 5, 0x18, 0x18 /* 80284B48 00281AA8 98 83 09 C6 */ stb r4, 0x9c6(r3) /* 80284B4C 00281AAC 80 BE 01 04 */ lwz r5, 0x104(r30) /* 80284B50 00281AB0 88 83 09 C6 */ lbz r4, 0x9c6(r3) /* 80284B54 00281AB4 50 A4 16 B4 */ rlwimi r4, r5, 2, 0x1a, 0x1a /* 80284B58 00281AB8 98 83 09 C6 */ stb r4, 0x9c6(r3) /* 80284B5C 00281ABC 80 BE 01 04 */ lwz r5, 0x104(r30) /* 80284B60 00281AC0 88 83 09 C4 */ lbz r4, 0x9c4(r3) /* 80284B64 00281AC4 50 A4 F7 7A */ rlwimi r4, r5, 0x1e, 0x1d, 0x1d /* 80284B68 00281AC8 98 83 09 C4 */ stb r4, 0x9c4(r3) /* 80284B6C 00281ACC 80 BE 01 04 */ lwz r5, 0x104(r30) /* 80284B70 00281AD0 88 83 09 C6 */ lbz r4, 0x9c6(r3) /* 80284B74 00281AD4 50 A4 DF 7A */ rlwimi r4, r5, 0x1b, 0x1d, 0x1d /* 80284B78 00281AD8 98 83 09 C6 */ stb r4, 0x9c6(r3) /* 80284B7C 00281ADC 80 BE 01 04 */ lwz r5, 0x104(r30) /* 80284B80 00281AE0 88 83 09 C7 */ lbz r4, 0x9c7(r3) /* 80284B84 00281AE4 50 A4 C6 72 */ rlwimi r4, r5, 0x18, 0x19, 0x19 /* 80284B88 00281AE8 98 83 09 C7 */ stb r4, 0x9c7(r3) /* 80284B8C 00281AEC 80 BE 01 04 */ lwz r5, 0x104(r30) /* 80284B90 00281AF0 80 83 07 68 */ lwz r4, 0x768(r3) /* 80284B94 00281AF4 54 A3 05 EE */ rlwinm r3, r5, 0, 0x17, 0x17 /* 80284B98 00281AF8 7C 65 00 34 */ cntlzw r5, r3 /* 80284B9C 00281AFC 88 64 1D E4 */ lbz r3, 0x1de4(r4) /* 80284BA0 00281B00 50 A3 0E 72 */ rlwimi r3, r5, 1, 0x19, 0x19 /* 80284BA4 00281B04 98 64 1D E4 */ stb r3, 0x1de4(r4) /* 80284BA8 00281B08 80 7E 01 04 */ lwz r3, 0x104(r30) /* 80284BAC 00281B0C 54 63 05 AD */ rlwinm. r3, r3, 0, 0x16, 0x16 /* 80284BB0 00281B10 41 82 00 30 */ beq lbl_80284BE0 /* 80284BB4 00281B14 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284BB8 00281B18 38 80 00 11 */ li r4, 0x11 /* 80284BBC 00281B1C 80 63 00 00 */ lwz r3, 0(r3) /* 80284BC0 00281B20 4B E0 CF 01 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 80284BC4 00281B24 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80284BC8 00281B28 41 82 00 14 */ beq lbl_80284BDC /* 80284BCC 00281B2C 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284BD0 00281B30 38 80 00 00 */ li r4, 0 /* 80284BD4 00281B34 80 63 00 00 */ lwz r3, 0(r3) /* 80284BD8 00281B38 4B E0 CD 7D */ bl StartTransitionToVisor__12CPlayerStateFQ212CPlayerState12EPlayerVisor lbl_80284BDC: /* 80284BDC 00281B3C 38 00 00 01 */ li r0, 1 lbl_80284BE0: /* 80284BE0 00281B40 80 7E 01 04 */ lwz r3, 0x104(r30) /* 80284BE4 00281B44 54 63 05 6B */ rlwinm. r3, r3, 0, 0x15, 0x15 /* 80284BE8 00281B48 41 82 00 30 */ beq lbl_80284C18 /* 80284BEC 00281B4C 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284BF0 00281B50 38 80 00 05 */ li r4, 5 /* 80284BF4 00281B54 80 63 00 00 */ lwz r3, 0(r3) /* 80284BF8 00281B58 4B E0 CE C9 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 80284BFC 00281B5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80284C00 00281B60 41 82 00 14 */ beq lbl_80284C14 /* 80284C04 00281B64 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284C08 00281B68 38 80 00 02 */ li r4, 2 /* 80284C0C 00281B6C 80 63 00 00 */ lwz r3, 0(r3) /* 80284C10 00281B70 4B E0 CD 45 */ bl StartTransitionToVisor__12CPlayerStateFQ212CPlayerState12EPlayerVisor lbl_80284C14: /* 80284C14 00281B74 38 00 00 01 */ li r0, 1 lbl_80284C18: /* 80284C18 00281B78 80 7E 01 04 */ lwz r3, 0x104(r30) /* 80284C1C 00281B7C 54 63 05 29 */ rlwinm. r3, r3, 0, 0x14, 0x14 /* 80284C20 00281B80 41 82 00 30 */ beq lbl_80284C50 /* 80284C24 00281B84 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284C28 00281B88 38 80 00 09 */ li r4, 9 /* 80284C2C 00281B8C 80 63 00 00 */ lwz r3, 0(r3) /* 80284C30 00281B90 4B E0 CE 91 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 80284C34 00281B94 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80284C38 00281B98 41 82 00 14 */ beq lbl_80284C4C /* 80284C3C 00281B9C 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284C40 00281BA0 38 80 00 03 */ li r4, 3 /* 80284C44 00281BA4 80 63 00 00 */ lwz r3, 0(r3) /* 80284C48 00281BA8 4B E0 CD 0D */ bl StartTransitionToVisor__12CPlayerStateFQ212CPlayerState12EPlayerVisor lbl_80284C4C: /* 80284C4C 00281BAC 38 00 00 01 */ li r0, 1 lbl_80284C50: /* 80284C50 00281BB0 80 7E 01 04 */ lwz r3, 0x104(r30) /* 80284C54 00281BB4 54 63 04 E7 */ rlwinm. r3, r3, 0, 0x13, 0x13 /* 80284C58 00281BB8 41 82 00 30 */ beq lbl_80284C88 /* 80284C5C 00281BBC 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284C60 00281BC0 38 80 00 0D */ li r4, 0xd /* 80284C64 00281BC4 80 63 00 00 */ lwz r3, 0(r3) /* 80284C68 00281BC8 4B E0 CE 59 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 80284C6C 00281BCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80284C70 00281BD0 41 82 00 14 */ beq lbl_80284C84 /* 80284C74 00281BD4 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80284C78 00281BD8 38 80 00 01 */ li r4, 1 /* 80284C7C 00281BDC 80 63 00 00 */ lwz r3, 0(r3) /* 80284C80 00281BE0 4B E0 CC D5 */ bl StartTransitionToVisor__12CPlayerStateFQ212CPlayerState12EPlayerVisor lbl_80284C84: /* 80284C84 00281BE4 38 00 00 01 */ li r0, 1 lbl_80284C88: /* 80284C88 00281BE8 54 03 06 3E */ clrlwi r3, r0, 0x18 /* 80284C8C 00281BEC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80284C90 00281BF0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80284C94 00281BF4 83 C1 00 08 */ lwz r30, 8(r1) /* 80284C98 00281BF8 7C 08 03 A6 */ mtlr r0 /* 80284C9C 00281BFC 38 21 00 10 */ addi r1, r1, 0x10 /* 80284CA0 00281C00 4E 80 00 20 */ blr .global ResetPlayerHintState__7CPlayerFv ResetPlayerHintState__7CPlayerFv: /* 80284CA4 00281C04 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284CA8 00281C08 7C 08 02 A6 */ mflr r0 /* 80284CAC 00281C0C 38 A0 00 01 */ li r5, 1 /* 80284CB0 00281C10 38 80 00 00 */ li r4, 0 /* 80284CB4 00281C14 90 01 00 14 */ stw r0, 0x14(r1) /* 80284CB8 00281C18 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284CBC 00281C1C 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a /* 80284CC0 00281C20 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284CC4 00281C24 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284CC8 00281C28 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 80284CCC 00281C2C 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284CD0 00281C30 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284CD4 00281C34 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 80284CD8 00281C38 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284CDC 00281C3C 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284CE0 00281C40 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 80284CE4 00281C44 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284CE8 00281C48 88 03 09 C6 */ lbz r0, 0x9c6(r3) /* 80284CEC 00281C4C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 80284CF0 00281C50 98 03 09 C6 */ stb r0, 0x9c6(r3) /* 80284CF4 00281C54 88 03 09 C6 */ lbz r0, 0x9c6(r3) /* 80284CF8 00281C58 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 80284CFC 00281C5C 98 03 09 C6 */ stb r0, 0x9c6(r3) /* 80284D00 00281C60 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80284D04 00281C64 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 80284D08 00281C68 98 03 09 C4 */ stb r0, 0x9c4(r3) /* 80284D0C 00281C6C 88 03 09 C6 */ lbz r0, 0x9c6(r3) /* 80284D10 00281C70 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 80284D14 00281C74 98 03 09 C6 */ stb r0, 0x9c6(r3) /* 80284D18 00281C78 88 03 09 C7 */ lbz r0, 0x9c7(r3) /* 80284D1C 00281C7C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 80284D20 00281C80 98 03 09 C7 */ stb r0, 0x9c7(r3) /* 80284D24 00281C84 80 83 07 68 */ lwz r4, 0x768(r3) /* 80284D28 00281C88 88 04 1D E4 */ lbz r0, 0x1de4(r4) /* 80284D2C 00281C8C 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 80284D30 00281C90 98 04 1D E4 */ stb r0, 0x1de4(r4) /* 80284D34 00281C94 4B D8 CD 55 */ bl ResetControlDirectionInterpolation__7CPlayerFv /* 80284D38 00281C98 80 01 00 14 */ lwz r0, 0x14(r1) /* 80284D3C 00281C9C 7C 08 03 A6 */ mtlr r0 /* 80284D40 00281CA0 38 21 00 10 */ addi r1, r1, 0x10 /* 80284D44 00281CA4 4E 80 00 20 */ blr .global GetBallPosition__7CPlayerCFv GetBallPosition__7CPlayerCFv: /* 80284D48 00281CA8 C0 62 BD A0 */ lfs f3, lbl_805ADAC0@sda21(r2) /* 80284D4C 00281CAC C0 04 00 40 */ lfs f0, 0x40(r4) /* 80284D50 00281CB0 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 80284D54 00281CB4 C0 84 00 50 */ lfs f4, 0x50(r4) /* 80284D58 00281CB8 EC 00 18 2A */ fadds f0, f0, f3 /* 80284D5C 00281CBC C0 44 00 60 */ lfs f2, 0x60(r4) /* 80284D60 00281CC0 C0 25 02 7C */ lfs f1, 0x27c(r5) /* 80284D64 00281CC4 EC 64 18 2A */ fadds f3, f4, f3 /* 80284D68 00281CC8 D0 03 00 00 */ stfs f0, 0(r3) /* 80284D6C 00281CCC EC 02 08 2A */ fadds f0, f2, f1 /* 80284D70 00281CD0 D0 63 00 04 */ stfs f3, 4(r3) /* 80284D74 00281CD4 D0 03 00 08 */ stfs f0, 8(r3) /* 80284D78 00281CD8 4E 80 00 20 */ blr .global GetEyePosition__7CPlayerCFv GetEyePosition__7CPlayerCFv: /* 80284D7C 00281CDC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284D80 00281CE0 7C 08 02 A6 */ mflr r0 /* 80284D84 00281CE4 90 01 00 14 */ stw r0, 0x14(r1) /* 80284D88 00281CE8 93 E1 00 0C */ stw r31, 0xc(r1) /* 80284D8C 00281CEC 7C 9F 23 78 */ mr r31, r4 /* 80284D90 00281CF0 93 C1 00 08 */ stw r30, 8(r1) /* 80284D94 00281CF4 7C 7E 1B 78 */ mr r30, r3 /* 80284D98 00281CF8 7F E3 FB 78 */ mr r3, r31 /* 80284D9C 00281CFC 48 00 00 45 */ bl GetEyeHeight__7CPlayerCFv /* 80284DA0 00281D00 C0 62 BD A0 */ lfs f3, lbl_805ADAC0@sda21(r2) /* 80284DA4 00281D04 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80284DA8 00281D08 C0 9F 00 50 */ lfs f4, 0x50(r31) /* 80284DAC 00281D0C EC 00 18 2A */ fadds f0, f0, f3 /* 80284DB0 00281D10 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80284DB4 00281D14 EC 64 18 2A */ fadds f3, f4, f3 /* 80284DB8 00281D18 EC 22 08 2A */ fadds f1, f2, f1 /* 80284DBC 00281D1C D0 1E 00 00 */ stfs f0, 0(r30) /* 80284DC0 00281D20 D0 7E 00 04 */ stfs f3, 4(r30) /* 80284DC4 00281D24 D0 3E 00 08 */ stfs f1, 8(r30) /* 80284DC8 00281D28 80 01 00 14 */ lwz r0, 0x14(r1) /* 80284DCC 00281D2C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80284DD0 00281D30 83 C1 00 08 */ lwz r30, 8(r1) /* 80284DD4 00281D34 7C 08 03 A6 */ mtlr r0 /* 80284DD8 00281D38 38 21 00 10 */ addi r1, r1, 0x10 /* 80284DDC 00281D3C 4E 80 00 20 */ blr .global GetEyeHeight__7CPlayerCFv GetEyeHeight__7CPlayerCFv: /* 80284DE0 00281D40 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80284DE4 00281D44 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 80284DE8 00281D48 C0 63 02 EC */ lfs f3, 0x2ec(r3) /* 80284DEC 00281D4C C0 04 01 24 */ lfs f0, 0x124(r4) /* 80284DF0 00281D50 C0 83 02 DC */ lfs f4, 0x2dc(r3) /* 80284DF4 00281D54 EC 03 00 28 */ fsubs f0, f3, f0 /* 80284DF8 00281D58 C0 23 09 C8 */ lfs f1, 0x9c8(r3) /* 80284DFC 00281D5C C0 43 02 D8 */ lfs f2, 0x2d8(r3) /* 80284E00 00281D60 D0 81 00 0C */ stfs f4, 0xc(r1) /* 80284E04 00281D64 EC 21 00 2A */ fadds f1, f1, f0 /* 80284E08 00281D68 D0 41 00 08 */ stfs f2, 8(r1) /* 80284E0C 00281D6C D0 61 00 10 */ stfs f3, 0x10(r1) /* 80284E10 00281D70 38 21 00 20 */ addi r1, r1, 0x20 /* 80284E14 00281D74 4E 80 00 20 */ blr .global GetUnbiasedEyeHeight__7CPlayerCFv GetUnbiasedEyeHeight__7CPlayerCFv: /* 80284E18 00281D78 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80284E1C 00281D7C 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 80284E20 00281D80 C0 63 02 EC */ lfs f3, 0x2ec(r3) /* 80284E24 00281D84 C0 04 01 24 */ lfs f0, 0x124(r4) /* 80284E28 00281D88 C0 83 02 DC */ lfs f4, 0x2dc(r3) /* 80284E2C 00281D8C C0 43 02 D8 */ lfs f2, 0x2d8(r3) /* 80284E30 00281D90 EC 23 00 28 */ fsubs f1, f3, f0 /* 80284E34 00281D94 D0 81 00 0C */ stfs f4, 0xc(r1) /* 80284E38 00281D98 D0 41 00 08 */ stfs f2, 8(r1) /* 80284E3C 00281D9C D0 61 00 10 */ stfs f3, 0x10(r1) /* 80284E40 00281DA0 38 21 00 20 */ addi r1, r1, 0x20 /* 80284E44 00281DA4 4E 80 00 20 */ blr .global GetStepUpHeight__7CPlayerCFv GetStepUpHeight__7CPlayerCFv: /* 80284E48 00281DA8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284E4C 00281DAC 7C 08 02 A6 */ mflr r0 /* 80284E50 00281DB0 90 01 00 14 */ stw r0, 0x14(r1) /* 80284E54 00281DB4 80 03 02 58 */ lwz r0, 0x258(r3) /* 80284E58 00281DB8 2C 00 00 01 */ cmpwi r0, 1 /* 80284E5C 00281DBC 41 82 00 0C */ beq lbl_80284E68 /* 80284E60 00281DC0 2C 00 00 02 */ cmpwi r0, 2 /* 80284E64 00281DC4 40 82 00 0C */ bne lbl_80284E70 lbl_80284E68: /* 80284E68 00281DC8 C0 22 BD B4 */ lfs f1, lbl_805ADAD4@sda21(r2) /* 80284E6C 00281DCC 48 00 00 08 */ b lbl_80284E74 lbl_80284E70: /* 80284E70 00281DD0 4B E9 57 AD */ bl GetStepUpHeight__13CPhysicsActorCFv lbl_80284E74: /* 80284E74 00281DD4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80284E78 00281DD8 7C 08 03 A6 */ mtlr r0 /* 80284E7C 00281DDC 38 21 00 10 */ addi r1, r1, 0x10 /* 80284E80 00281DE0 4E 80 00 20 */ blr .global GetStepDownHeight__7CPlayerCFv GetStepDownHeight__7CPlayerCFv: /* 80284E84 00281DE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80284E88 00281DE8 7C 08 02 A6 */ mflr r0 /* 80284E8C 00281DEC 90 01 00 14 */ stw r0, 0x14(r1) /* 80284E90 00281DF0 80 03 02 58 */ lwz r0, 0x258(r3) /* 80284E94 00281DF4 2C 00 00 01 */ cmpwi r0, 1 /* 80284E98 00281DF8 40 82 00 0C */ bne lbl_80284EA4 /* 80284E9C 00281DFC C0 22 BD C8 */ lfs f1, lbl_805ADAE8@sda21(r2) /* 80284EA0 00281E00 48 00 00 18 */ b lbl_80284EB8 lbl_80284EA4: /* 80284EA4 00281E04 2C 00 00 02 */ cmpwi r0, 2 /* 80284EA8 00281E08 40 82 00 0C */ bne lbl_80284EB4 /* 80284EAC 00281E0C C0 22 BD AC */ lfs f1, lbl_805ADACC@sda21(r2) /* 80284EB0 00281E10 48 00 00 08 */ b lbl_80284EB8 lbl_80284EB4: /* 80284EB4 00281E14 4B E9 57 71 */ bl GetStepDownHeight__13CPhysicsActorCFv lbl_80284EB8: /* 80284EB8 00281E18 80 01 00 14 */ lwz r0, 0x14(r1) /* 80284EBC 00281E1C 7C 08 03 A6 */ mtlr r0 /* 80284EC0 00281E20 38 21 00 10 */ addi r1, r1, 0x10 /* 80284EC4 00281E24 4E 80 00 20 */ blr .global UpdateSubmerged__7CPlayerFRC13CStateManager UpdateSubmerged__7CPlayerFRC13CStateManager: /* 80284EC8 00281E28 94 21 FF 70 */ stwu r1, -0x90(r1) /* 80284ECC 00281E2C 7C 08 02 A6 */ mflr r0 /* 80284ED0 00281E30 90 01 00 94 */ stw r0, 0x94(r1) /* 80284ED4 00281E34 DB E1 00 80 */ stfd f31, 0x80(r1) /* 80284ED8 00281E38 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 80284EDC 00281E3C DB C1 00 70 */ stfd f30, 0x70(r1) /* 80284EE0 00281E40 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 80284EE4 00281E44 DB A1 00 60 */ stfd f29, 0x60(r1) /* 80284EE8 00281E48 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 80284EEC 00281E4C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80284EF0 00281E50 93 C1 00 58 */ stw r30, 0x58(r1) /* 80284EF4 00281E54 38 00 00 00 */ li r0, 0 /* 80284EF8 00281E58 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80284EFC 00281E5C 98 03 08 2C */ stb r0, 0x82c(r3) /* 80284F00 00281E60 7C 7E 1B 78 */ mr r30, r3 /* 80284F04 00281E64 D0 03 08 28 */ stfs f0, 0x828(r3) /* 80284F08 00281E68 88 03 00 E6 */ lbz r0, 0xe6(r3) /* 80284F0C 00281E6C 54 00 DF 7F */ rlwinm. r0, r0, 0x1b, 0x1d, 0x1f /* 80284F10 00281E70 41 82 00 CC */ beq lbl_80284FDC /* 80284F14 00281E74 A0 1E 00 C4 */ lhz r0, 0xc4(r30) /* 80284F18 00281E78 7C 83 23 78 */ mr r3, r4 /* 80284F1C 00281E7C 38 81 00 0C */ addi r4, r1, 0xc /* 80284F20 00281E80 B0 01 00 08 */ sth r0, 8(r1) /* 80284F24 00281E84 B0 01 00 0C */ sth r0, 0xc(r1) /* 80284F28 00281E88 4B DC 76 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80284F2C 00281E8C 7C 64 1B 78 */ mr r4, r3 /* 80284F30 00281E90 38 61 00 10 */ addi r3, r1, 0x10 /* 80284F34 00281E94 4B E2 19 2D */ bl "__ct__26TCastToPtr<12CScriptWater>FP7CEntity" /* 80284F38 00281E98 83 E3 00 04 */ lwz r31, 4(r3) /* 80284F3C 00281E9C 28 1F 00 00 */ cmplwi r31, 0 /* 80284F40 00281EA0 41 82 00 9C */ beq lbl_80284FDC /* 80284F44 00281EA4 C3 BE 00 60 */ lfs f29, 0x60(r30) /* 80284F48 00281EA8 38 61 00 18 */ addi r3, r1, 0x18 /* 80284F4C 00281EAC C3 DE 00 50 */ lfs f30, 0x50(r30) /* 80284F50 00281EB0 C3 FE 00 40 */ lfs f31, 0x40(r30) /* 80284F54 00281EB4 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80284F58 00281EB8 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80284F5C 00281EBC D0 21 00 18 */ stfs f1, 0x18(r1) /* 80284F60 00281EC0 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 80284F64 00281EC4 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80284F68 00281EC8 48 08 F9 91 */ bl Normalize__9CVector3fFv /* 80284F6C 00281ECC 7F E4 FB 78 */ mr r4, r31 /* 80284F70 00281ED0 38 61 00 34 */ addi r3, r1, 0x34 /* 80284F74 00281ED4 4B DF 17 59 */ bl GetTriggerBoundsWR__14CScriptTriggerCFv /* 80284F78 00281ED8 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 80284F7C 00281EDC 38 00 00 01 */ li r0, 1 /* 80284F80 00281EE0 C0 61 00 18 */ lfs f3, 0x18(r1) /* 80284F84 00281EE4 EC 02 07 B2 */ fmuls f0, f2, f30 /* 80284F88 00281EE8 C0 21 00 20 */ lfs f1, 0x20(r1) /* 80284F8C 00281EEC C0 81 00 48 */ lfs f4, 0x48(r1) /* 80284F90 00281EF0 D0 61 00 24 */ stfs f3, 0x24(r1) /* 80284F94 00281EF4 EC 03 07 FA */ fmadds f0, f3, f31, f0 /* 80284F98 00281EF8 D0 41 00 28 */ stfs f2, 0x28(r1) /* 80284F9C 00281EFC EC 01 07 7A */ fmadds f0, f1, f29, f0 /* 80284FA0 00281F00 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80284FA4 00281F04 D0 81 00 30 */ stfs f4, 0x30(r1) /* 80284FA8 00281F08 EC 00 20 28 */ fsubs f0, f0, f4 /* 80284FAC 00281F0C FC 00 00 50 */ fneg f0, f0 /* 80284FB0 00281F10 D0 1E 08 28 */ stfs f0, 0x828(r30) /* 80284FB4 00281F14 80 7F 01 B4 */ lwz r3, 0x1b4(r31) /* 80284FB8 00281F18 80 63 00 44 */ lwz r3, 0x44(r3) /* 80284FBC 00281F1C 2C 03 00 02 */ cmpwi r3, 2 /* 80284FC0 00281F20 41 82 00 10 */ beq lbl_80284FD0 /* 80284FC4 00281F24 2C 03 00 05 */ cmpwi r3, 5 /* 80284FC8 00281F28 41 82 00 08 */ beq lbl_80284FD0 /* 80284FCC 00281F2C 38 00 00 00 */ li r0, 0 lbl_80284FD0: /* 80284FD0 00281F30 98 1E 08 2C */ stb r0, 0x82c(r30) /* 80284FD4 00281F34 7F C3 F3 78 */ mr r3, r30 /* 80284FD8 00281F38 48 00 00 35 */ bl CheckSubmerged__7CPlayerCFv lbl_80284FDC: /* 80284FDC 00281F3C E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 80284FE0 00281F40 CB E1 00 80 */ lfd f31, 0x80(r1) /* 80284FE4 00281F44 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 80284FE8 00281F48 CB C1 00 70 */ lfd f30, 0x70(r1) /* 80284FEC 00281F4C E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 80284FF0 00281F50 CB A1 00 60 */ lfd f29, 0x60(r1) /* 80284FF4 00281F54 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80284FF8 00281F58 80 01 00 94 */ lwz r0, 0x94(r1) /* 80284FFC 00281F5C 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80285000 00281F60 7C 08 03 A6 */ mtlr r0 /* 80285004 00281F64 38 21 00 90 */ addi r1, r1, 0x90 /* 80285008 00281F68 4E 80 00 20 */ blr .global CheckSubmerged__7CPlayerCFv CheckSubmerged__7CPlayerCFv: /* 8028500C 00281F6C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80285010 00281F70 7C 08 02 A6 */ mflr r0 /* 80285014 00281F74 90 01 00 24 */ stw r0, 0x24(r1) /* 80285018 00281F78 DB E1 00 10 */ stfd f31, 0x10(r1) /* 8028501C 00281F7C F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 80285020 00281F80 93 E1 00 0C */ stw r31, 0xc(r1) /* 80285024 00281F84 88 03 00 E6 */ lbz r0, 0xe6(r3) /* 80285028 00281F88 7C 7F 1B 78 */ mr r31, r3 /* 8028502C 00281F8C 54 00 DF 7F */ rlwinm. r0, r0, 0x1b, 0x1d, 0x1f /* 80285030 00281F90 40 82 00 0C */ bne lbl_8028503C /* 80285034 00281F94 38 60 00 00 */ li r3, 0 /* 80285038 00281F98 48 00 00 48 */ b lbl_80285080 lbl_8028503C: /* 8028503C 00281F9C 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 80285040 00281FA0 C0 22 BD 8C */ lfs f1, lbl_805ADAAC@sda21(r2) /* 80285044 00281FA4 C0 04 02 7C */ lfs f0, 0x27c(r4) /* 80285048 00281FA8 EF E1 00 32 */ fmuls f31, f1, f0 /* 8028504C 00281FAC 4B FF FD 95 */ bl GetEyeHeight__7CPlayerCFv /* 80285050 00281FB0 C0 02 BD 7C */ lfs f0, lbl_805ADA9C@sda21(r2) /* 80285054 00281FB4 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80285058 00281FB8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8028505C 00281FBC 2C 00 00 01 */ cmpwi r0, 1 /* 80285060 00281FC0 FC 20 00 90 */ fmr f1, f0 /* 80285064 00281FC4 40 82 00 08 */ bne lbl_8028506C /* 80285068 00281FC8 FC 20 F8 90 */ fmr f1, f31 lbl_8028506C: /* 8028506C 00281FCC C0 1F 08 28 */ lfs f0, 0x828(r31) /* 80285070 00281FD0 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80285074 00281FD4 4C 41 13 82 */ cror 2, 1, 2 /* 80285078 00281FD8 7C 00 00 26 */ mfcr r0 /* 8028507C 00281FDC 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f lbl_80285080: /* 80285080 00281FE0 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 80285084 00281FE4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80285088 00281FE8 CB E1 00 10 */ lfd f31, 0x10(r1) /* 8028508C 00281FEC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80285090 00281FF0 7C 08 03 A6 */ mtlr r0 /* 80285094 00281FF4 38 21 00 20 */ addi r1, r1, 0x20 /* 80285098 00281FF8 4E 80 00 20 */ blr .global Teleport__7CPlayerFRC12CTransform4fR13CStateManagerb Teleport__7CPlayerFRC12CTransform4fR13CStateManagerb: /* 8028509C 00281FFC 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 802850A0 00282000 7C 08 02 A6 */ mflr r0 /* 802850A4 00282004 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802850A8 00282008 90 01 00 E4 */ stw r0, 0xe4(r1) /* 802850AC 0028200C 93 E1 00 DC */ stw r31, 0xdc(r1) /* 802850B0 00282010 7C DF 33 78 */ mr r31, r6 /* 802850B4 00282014 93 C1 00 D8 */ stw r30, 0xd8(r1) /* 802850B8 00282018 7C BE 2B 78 */ mr r30, r5 /* 802850BC 0028201C 93 A1 00 D4 */ stw r29, 0xd4(r1) /* 802850C0 00282020 7C 7D 1B 78 */ mr r29, r3 /* 802850C4 00282024 93 81 00 D0 */ stw r28, 0xd0(r1) /* 802850C8 00282028 7C 9C 23 78 */ mr r28, r4 /* 802850CC 0028202C C0 24 00 24 */ lfs f1, 0x24(r4) /* 802850D0 00282030 C0 44 00 14 */ lfs f2, 0x14(r4) /* 802850D4 00282034 D0 21 00 34 */ stfs f1, 0x34(r1) /* 802850D8 00282038 C0 24 00 04 */ lfs f1, 4(r4) /* 802850DC 0028203C D0 41 00 30 */ stfs f2, 0x30(r1) /* 802850E0 00282040 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 802850E4 00282044 D0 01 00 34 */ stfs f0, 0x34(r1) /* 802850E8 00282048 4B E9 62 91 */ bl Stop__13CPhysicsActorFv /* 802850EC 0028204C 38 61 00 2C */ addi r3, r1, 0x2c /* 802850F0 00282050 48 08 F6 09 */ bl CanBeNormalized__9CVector3fCFv /* 802850F4 00282054 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802850F8 00282058 41 82 01 78 */ beq lbl_80285270 /* 802850FC 0028205C 38 61 00 2C */ addi r3, r1, 0x2c /* 80285100 00282060 48 08 F7 F9 */ bl Normalize__9CVector3fFv /* 80285104 00282064 3C 60 80 5A */ lis r3, skZero3f@ha /* 80285108 00282068 3C A0 80 5A */ lis r5, lbl_805A66F4@ha /* 8028510C 0028206C 38 83 66 A0 */ addi r4, r3, skZero3f@l /* 80285110 00282070 38 C5 66 F4 */ addi r6, r5, lbl_805A66F4@l /* 80285114 00282074 38 61 00 6C */ addi r3, r1, 0x6c /* 80285118 00282078 38 A1 00 2C */ addi r5, r1, 0x2c /* 8028511C 0028207C 48 08 E9 F5 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80285120 00282080 38 7D 00 34 */ addi r3, r29, 0x34 /* 80285124 00282084 38 81 00 6C */ addi r4, r1, 0x6c /* 80285128 00282088 48 08 DA 19 */ bl __as__12CTransform4fFRC12CTransform4f /* 8028512C 0028208C 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80285130 00282090 38 A0 00 01 */ li r5, 1 /* 80285134 00282094 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 80285138 00282098 7F A3 EB 78 */ mr r3, r29 /* 8028513C 0028209C 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80285140 002820A0 38 81 00 20 */ addi r4, r1, 0x20 /* 80285144 002820A4 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80285148 002820A8 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 8028514C 002820AC 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 80285150 002820B0 88 1D 00 E4 */ lbz r0, 0xe4(r29) /* 80285154 002820B4 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 80285158 002820B8 98 1D 00 E4 */ stb r0, 0xe4(r29) /* 8028515C 002820BC C0 5C 00 2C */ lfs f2, 0x2c(r28) /* 80285160 002820C0 C0 3C 00 1C */ lfs f1, 0x1c(r28) /* 80285164 002820C4 C0 1C 00 0C */ lfs f0, 0xc(r28) /* 80285168 002820C8 D0 21 00 24 */ stfs f1, 0x24(r1) /* 8028516C 002820CC D0 01 00 20 */ stfs f0, 0x20(r1) /* 80285170 002820D0 D0 41 00 28 */ stfs f2, 0x28(r1) /* 80285174 002820D4 4B DC DD 19 */ bl SetTranslation__6CActorFRC9CVector3f /* 80285178 002820D8 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8028517C 002820DC 38 60 00 00 */ li r3, 0 /* 80285180 002820E0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80285184 002820E4 D0 3D 05 00 */ stfs f1, 0x500(r29) /* 80285188 002820E8 C0 21 00 30 */ lfs f1, 0x30(r1) /* 8028518C 002820EC D0 3D 05 04 */ stfs f1, 0x504(r29) /* 80285190 002820F0 C0 21 00 34 */ lfs f1, 0x34(r1) /* 80285194 002820F4 D0 3D 05 08 */ stfs f1, 0x508(r29) /* 80285198 002820F8 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8028519C 002820FC D0 3D 05 0C */ stfs f1, 0x50c(r29) /* 802851A0 00282100 C0 21 00 30 */ lfs f1, 0x30(r1) /* 802851A4 00282104 D0 3D 05 10 */ stfs f1, 0x510(r29) /* 802851A8 00282108 C0 21 00 34 */ lfs f1, 0x34(r1) /* 802851AC 0028210C D0 3D 05 14 */ stfs f1, 0x514(r29) /* 802851B0 00282110 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 802851B4 00282114 D0 3D 05 30 */ stfs f1, 0x530(r29) /* 802851B8 00282118 C0 21 00 30 */ lfs f1, 0x30(r1) /* 802851BC 0028211C D0 3D 05 34 */ stfs f1, 0x534(r29) /* 802851C0 00282120 C0 21 00 34 */ lfs f1, 0x34(r1) /* 802851C4 00282124 D0 3D 05 38 */ stfs f1, 0x538(r29) /* 802851C8 00282128 C0 7C 00 2C */ lfs f3, 0x2c(r28) /* 802851CC 0028212C C0 5C 00 1C */ lfs f2, 0x1c(r28) /* 802851D0 00282130 C0 3C 00 0C */ lfs f1, 0xc(r28) /* 802851D4 00282134 D0 3D 05 24 */ stfs f1, 0x524(r29) /* 802851D8 00282138 D0 5D 05 28 */ stfs f2, 0x528(r29) /* 802851DC 0028213C D0 7D 05 2C */ stfs f3, 0x52c(r29) /* 802851E0 00282140 D0 1D 04 F8 */ stfs f0, 0x4f8(r29) /* 802851E4 00282144 D0 1D 04 FC */ stfs f0, 0x4fc(r29) /* 802851E8 00282148 D0 1D 05 3C */ stfs f0, 0x53c(r29) /* 802851EC 0028214C 80 BD 04 A4 */ lwz r5, 0x4a4(r29) /* 802851F0 00282150 2C 05 00 00 */ cmpwi r5, 0 /* 802851F4 00282154 40 81 00 40 */ ble lbl_80285234 /* 802851F8 00282158 2C 05 00 08 */ cmpwi r5, 8 /* 802851FC 0028215C 38 85 FF F8 */ addi r4, r5, -8 /* 80285200 00282160 40 81 00 20 */ ble lbl_80285220 /* 80285204 00282164 38 04 00 07 */ addi r0, r4, 7 /* 80285208 00282168 54 00 E8 FE */ srwi r0, r0, 3 /* 8028520C 0028216C 7C 09 03 A6 */ mtctr r0 /* 80285210 00282170 2C 04 00 00 */ cmpwi r4, 0 /* 80285214 00282174 40 81 00 0C */ ble lbl_80285220 lbl_80285218: /* 80285218 00282178 38 63 00 08 */ addi r3, r3, 8 /* 8028521C 0028217C 42 00 FF FC */ bdnz lbl_80285218 lbl_80285220: /* 80285220 00282180 7C 03 28 50 */ subf r0, r3, r5 /* 80285224 00282184 7C 09 03 A6 */ mtctr r0 /* 80285228 00282188 7C 03 28 00 */ cmpw r3, r5 /* 8028522C 0028218C 40 80 00 08 */ bge lbl_80285234 lbl_80285230: /* 80285230 00282190 42 00 00 00 */ bdnz lbl_80285230 lbl_80285234: /* 80285234 00282194 38 00 00 00 */ li r0, 0 /* 80285238 00282198 90 1D 04 A4 */ stw r0, 0x4a4(r29) /* 8028523C 0028219C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80285240 002821A0 D0 1D 05 40 */ stfs f0, 0x540(r29) /* 80285244 002821A4 C0 01 00 30 */ lfs f0, 0x30(r1) /* 80285248 002821A8 D0 1D 05 44 */ stfs f0, 0x544(r29) /* 8028524C 002821AC C0 01 00 34 */ lfs f0, 0x34(r1) /* 80285250 002821B0 D0 1D 05 48 */ stfs f0, 0x548(r29) /* 80285254 002821B4 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80285258 002821B8 D0 1D 05 4C */ stfs f0, 0x54c(r29) /* 8028525C 002821BC C0 01 00 30 */ lfs f0, 0x30(r1) /* 80285260 002821C0 D0 1D 05 50 */ stfs f0, 0x550(r29) /* 80285264 002821C4 C0 01 00 34 */ lfs f0, 0x34(r1) /* 80285268 002821C8 D0 1D 05 54 */ stfs f0, 0x554(r29) /* 8028526C 002821CC 48 00 00 28 */ b lbl_80285294 lbl_80285270: /* 80285270 002821D0 C0 5C 00 2C */ lfs f2, 0x2c(r28) /* 80285274 002821D4 7F A3 EB 78 */ mr r3, r29 /* 80285278 002821D8 C0 3C 00 1C */ lfs f1, 0x1c(r28) /* 8028527C 002821DC 38 81 00 14 */ addi r4, r1, 0x14 /* 80285280 002821E0 C0 1C 00 0C */ lfs f0, 0xc(r28) /* 80285284 002821E4 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80285288 002821E8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8028528C 002821EC D0 41 00 1C */ stfs f2, 0x1c(r1) /* 80285290 002821F0 4B DC DB FD */ bl SetTranslation__6CActorFRC9CVector3f lbl_80285294: /* 80285294 002821F4 88 1D 09 C5 */ lbz r0, 0x9c5(r29) /* 80285298 002821F8 38 60 00 01 */ li r3, 1 /* 8028529C 002821FC 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 802852A0 00282200 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 802852A4 00282204 98 1D 09 C5 */ stb r0, 0x9c5(r29) /* 802852A8 00282208 7F A3 EB 78 */ mr r3, r29 /* 802852AC 0028220C 4B FF F0 C1 */ bl SetEyeZBias__7CPlayerFf /* 802852B0 00282210 7F A4 EB 78 */ mr r4, r29 /* 802852B4 00282214 38 61 00 38 */ addi r3, r1, 0x38 /* 802852B8 00282218 4B E9 63 BD */ bl GetMotionState__13CPhysicsActorCFv /* 802852BC 0028221C 80 C1 00 38 */ lwz r6, 0x38(r1) /* 802852C0 00282220 7F A3 EB 78 */ mr r3, r29 /* 802852C4 00282224 80 01 00 3C */ lwz r0, 0x3c(r1) /* 802852C8 00282228 7F C5 F3 78 */ mr r5, r30 /* 802852CC 0028222C 38 80 00 00 */ li r4, 0 /* 802852D0 00282230 90 DD 01 F4 */ stw r6, 0x1f4(r29) /* 802852D4 00282234 90 1D 01 F8 */ stw r0, 0x1f8(r29) /* 802852D8 00282238 80 01 00 40 */ lwz r0, 0x40(r1) /* 802852DC 0028223C 90 1D 01 FC */ stw r0, 0x1fc(r29) /* 802852E0 00282240 80 C1 00 44 */ lwz r6, 0x44(r1) /* 802852E4 00282244 80 01 00 48 */ lwz r0, 0x48(r1) /* 802852E8 00282248 90 DD 02 00 */ stw r6, 0x200(r29) /* 802852EC 0028224C 90 1D 02 04 */ stw r0, 0x204(r29) /* 802852F0 00282250 80 C1 00 4C */ lwz r6, 0x4c(r1) /* 802852F4 00282254 80 01 00 50 */ lwz r0, 0x50(r1) /* 802852F8 00282258 90 DD 02 08 */ stw r6, 0x208(r29) /* 802852FC 0028225C 90 1D 02 0C */ stw r0, 0x20c(r29) /* 80285300 00282260 80 C1 00 54 */ lwz r6, 0x54(r1) /* 80285304 00282264 80 01 00 58 */ lwz r0, 0x58(r1) /* 80285308 00282268 90 DD 02 10 */ stw r6, 0x210(r29) /* 8028530C 0028226C 90 1D 02 14 */ stw r0, 0x214(r29) /* 80285310 00282270 80 01 00 5C */ lwz r0, 0x5c(r1) /* 80285314 00282274 90 1D 02 18 */ stw r0, 0x218(r29) /* 80285318 00282278 80 C1 00 60 */ lwz r6, 0x60(r1) /* 8028531C 0028227C 80 01 00 64 */ lwz r0, 0x64(r1) /* 80285320 00282280 90 DD 02 1C */ stw r6, 0x21c(r29) /* 80285324 00282284 90 1D 02 20 */ stw r0, 0x220(r29) /* 80285328 00282288 80 01 00 68 */ lwz r0, 0x68(r1) /* 8028532C 0028228C 90 1D 02 24 */ stw r0, 0x224(r29) /* 80285330 00282290 48 00 10 BD */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager /* 80285334 00282294 38 61 00 9C */ addi r3, r1, 0x9c /* 80285338 00282298 38 9D 00 34 */ addi r4, r29, 0x34 /* 8028533C 0028229C 48 08 D8 39 */ bl __ct__12CTransform4fFRC12CTransform4f /* 80285340 002822A0 7F A4 EB 78 */ mr r4, r29 /* 80285344 002822A4 38 61 00 08 */ addi r3, r1, 8 /* 80285348 002822A8 4B FF FA 35 */ bl GetEyePosition__7CPlayerCFv /* 8028534C 002822AC C0 41 00 08 */ lfs f2, 8(r1) /* 80285350 002822B0 7F C5 F3 78 */ mr r5, r30 /* 80285354 002822B4 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80285358 002822B8 38 81 00 9C */ addi r4, r1, 0x9c /* 8028535C 002822BC C0 01 00 10 */ lfs f0, 0x10(r1) /* 80285360 002822C0 D0 41 00 A8 */ stfs f2, 0xa8(r1) /* 80285364 002822C4 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 80285368 002822C8 D0 01 00 C8 */ stfs f0, 0xc8(r1) /* 8028536C 002822CC 80 7E 08 70 */ lwz r3, 0x870(r30) /* 80285370 002822D0 80 63 00 7C */ lwz r3, 0x7c(r3) /* 80285374 002822D4 81 83 00 00 */ lwz r12, 0(r3) /* 80285378 002822D8 81 8C 00 70 */ lwz r12, 0x70(r12) /* 8028537C 002822DC 7D 89 03 A6 */ mtctr r12 /* 80285380 002822E0 4E 80 04 21 */ bctrl /* 80285384 002822E4 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80285388 002822E8 41 82 00 24 */ beq lbl_802853AC /* 8028538C 002822EC 80 7E 08 70 */ lwz r3, 0x870(r30) /* 80285390 002822F0 7F C5 F3 78 */ mr r5, r30 /* 80285394 002822F4 38 81 00 9C */ addi r4, r1, 0x9c /* 80285398 002822F8 80 63 00 80 */ lwz r3, 0x80(r3) /* 8028539C 002822FC 81 83 00 00 */ lwz r12, 0(r3) /* 802853A0 00282300 81 8C 00 70 */ lwz r12, 0x70(r12) /* 802853A4 00282304 7D 89 03 A6 */ mtctr r12 /* 802853A8 00282308 4E 80 04 21 */ bctrl lbl_802853AC: /* 802853AC 0028230C 7F A3 EB 78 */ mr r3, r29 /* 802853B0 00282310 7F C5 F3 78 */ mr r5, r30 /* 802853B4 00282314 38 9D 00 34 */ addi r4, r29, 0x34 /* 802853B8 00282318 4B D9 3B 11 */ bl ForceGunOrientation__7CPlayerFRC12CTransform4fR13CStateManager /* 802853BC 0028231C 7F A3 EB 78 */ mr r3, r29 /* 802853C0 00282320 7F C5 F3 78 */ mr r5, r30 /* 802853C4 00282324 38 80 00 01 */ li r4, 1 /* 802853C8 00282328 4B EF 5D D5 */ bl SetOrbitRequest__7CPlayerF19EPlayerOrbitRequestR13CStateManager /* 802853CC 0028232C 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 802853D0 00282330 83 E1 00 DC */ lwz r31, 0xdc(r1) /* 802853D4 00282334 83 C1 00 D8 */ lwz r30, 0xd8(r1) /* 802853D8 00282338 83 A1 00 D4 */ lwz r29, 0xd4(r1) /* 802853DC 0028233C 83 81 00 D0 */ lwz r28, 0xd0(r1) /* 802853E0 00282340 7C 08 03 A6 */ mtlr r0 /* 802853E4 00282344 38 21 00 E0 */ addi r1, r1, 0xe0 /* 802853E8 00282348 4E 80 00 20 */ blr .global BombJump__7CPlayerFRC9CVector3fR13CStateManager BombJump__7CPlayerFRC9CVector3fR13CStateManager: /* 802853EC 0028234C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802853F0 00282350 7C 08 02 A6 */ mflr r0 /* 802853F4 00282354 90 01 00 54 */ stw r0, 0x54(r1) /* 802853F8 00282358 DB E1 00 40 */ stfd f31, 0x40(r1) /* 802853FC 0028235C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80285400 00282360 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80285404 00282364 93 C1 00 38 */ stw r30, 0x38(r1) /* 80285408 00282368 93 A1 00 34 */ stw r29, 0x34(r1) /* 8028540C 0028236C 7C 7F 1B 78 */ mr r31, r3 /* 80285410 00282370 7C 9D 23 78 */ mr r29, r4 /* 80285414 00282374 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 80285418 00282378 7C BE 2B 78 */ mr r30, r5 /* 8028541C 0028237C 2C 00 00 01 */ cmpwi r0, 1 /* 80285420 00282380 40 82 02 A4 */ bne lbl_802856C4 /* 80285424 00282384 80 7F 07 68 */ lwz r3, 0x768(r31) /* 80285428 00282388 4B E6 9B 71 */ bl GetBombJumpState__10CMorphBallCFv /* 8028542C 0028238C 2C 03 00 01 */ cmpwi r3, 1 /* 80285430 00282390 41 82 02 94 */ beq lbl_802856C4 /* 80285434 00282394 C0 82 BD A0 */ lfs f4, lbl_805ADAC0@sda21(r2) /* 80285438 00282398 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 8028543C 0028239C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80285440 002823A0 C0 5F 00 40 */ lfs f2, 0x40(r31) /* 80285444 002823A4 EC 20 20 2A */ fadds f1, f0, f4 /* 80285448 002823A8 C0 1D 00 04 */ lfs f0, 4(r29) /* 8028544C 002823AC EC 62 20 2A */ fadds f3, f2, f4 /* 80285450 002823B0 C0 5D 00 00 */ lfs f2, 0(r29) /* 80285454 002823B4 EC A1 00 28 */ fsubs f5, f1, f0 /* 80285458 002823B8 C0 E3 02 7C */ lfs f7, 0x27c(r3) /* 8028545C 002823BC C0 3F 00 60 */ lfs f1, 0x60(r31) /* 80285460 002823C0 EC C3 10 28 */ fsubs f6, f3, f2 /* 80285464 002823C4 EC 05 01 72 */ fmuls f0, f5, f5 /* 80285468 002823C8 C0 5D 00 08 */ lfs f2, 8(r29) /* 8028546C 002823CC EC 61 38 2A */ fadds f3, f1, f7 /* 80285470 002823D0 C1 03 01 20 */ lfs f8, 0x120(r3) /* 80285474 002823D4 EC 26 01 BA */ fmadds f1, f6, f6, f0 /* 80285478 002823D8 EC 63 10 28 */ fsubs f3, f3, f2 /* 8028547C 002823DC EC 08 02 32 */ fmuls f0, f8, f8 /* 80285480 002823E0 EC 23 08 FA */ fmadds f1, f3, f3, f1 /* 80285484 002823E4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80285488 002823E8 40 80 02 3C */ bge lbl_802856C4 /* 8028548C 002823EC EC 24 01 72 */ fmuls f1, f4, f5 /* 80285490 002823F0 C0 42 BD 80 */ lfs f2, lbl_805ADAA0@sda21(r2) /* 80285494 002823F4 FC 00 38 50 */ fneg f0, f7 /* 80285498 002823F8 EC 24 09 BA */ fmadds f1, f4, f6, f1 /* 8028549C 002823FC EC 22 08 FA */ fmadds f1, f2, f3, f1 /* 802854A0 00282400 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802854A4 00282404 4C 41 13 82 */ cror 2, 1, 2 /* 802854A8 00282408 40 82 02 1C */ bne lbl_802856C4 /* 802854AC 0028240C C0 03 00 C4 */ lfs f0, 0xc4(r3) /* 802854B0 00282410 C8 22 BE 08 */ lfd f1, lbl_805ADB28@sda21(r2) /* 802854B4 00282414 FC 40 02 10 */ fabs f2, f0 /* 802854B8 00282418 C0 03 01 1C */ lfs f0, 0x11c(r3) /* 802854BC 0028241C C8 62 BE 10 */ lfd f3, lbl_805ADB30@sda21(r2) /* 802854C0 00282420 FC 21 00 B2 */ fmul f1, f1, f2 /* 802854C4 00282424 FC 81 00 32 */ fmul f4, f1, f0 /* 802854C8 00282428 FC 04 18 40 */ fcmpo cr0, f4, f3 /* 802854CC 0028242C 40 81 00 58 */ ble lbl_80285524 /* 802854D0 00282430 FC 20 20 34 */ frsqrte f1, f4 /* 802854D4 00282434 C8 62 BE 18 */ lfd f3, lbl_805ADB38@sda21(r2) /* 802854D8 00282438 C8 42 BE 20 */ lfd f2, lbl_805ADB40@sda21(r2) /* 802854DC 0028243C FC 01 00 72 */ fmul f0, f1, f1 /* 802854E0 00282440 FC 23 00 72 */ fmul f1, f3, f1 /* 802854E4 00282444 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802854E8 00282448 FC 21 00 32 */ fmul f1, f1, f0 /* 802854EC 0028244C FC 01 00 72 */ fmul f0, f1, f1 /* 802854F0 00282450 FC 23 00 72 */ fmul f1, f3, f1 /* 802854F4 00282454 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 802854F8 00282458 FC 21 00 32 */ fmul f1, f1, f0 /* 802854FC 0028245C FC 01 00 72 */ fmul f0, f1, f1 /* 80285500 00282460 FC 23 00 72 */ fmul f1, f3, f1 /* 80285504 00282464 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 80285508 00282468 FC 21 00 32 */ fmul f1, f1, f0 /* 8028550C 0028246C FC 01 00 72 */ fmul f0, f1, f1 /* 80285510 00282470 FC 23 00 72 */ fmul f1, f3, f1 /* 80285514 00282474 FC 04 10 3C */ fnmsub f0, f4, f0, f2 /* 80285518 00282478 FC 01 00 32 */ fmul f0, f1, f0 /* 8028551C 0028247C FC 64 00 32 */ fmul f3, f4, f0 /* 80285520 00282480 48 00 00 2C */ b lbl_8028554C lbl_80285524: /* 80285524 00282484 FC 03 20 00 */ fcmpu cr0, f3, f4 /* 80285528 00282488 40 82 00 08 */ bne lbl_80285530 /* 8028552C 0028248C 48 00 00 20 */ b lbl_8028554C lbl_80285530: /* 80285530 00282490 FC 04 18 00 */ fcmpu cr0, f4, f3 /* 80285534 00282494 41 82 00 10 */ beq lbl_80285544 /* 80285538 00282498 3C 60 80 5B */ lis r3, lbl_805A8BA0@ha /* 8028553C 0028249C C0 63 8B A0 */ lfs f3, lbl_805A8BA0@l(r3) /* 80285540 002824A0 48 00 00 0C */ b lbl_8028554C lbl_80285544: /* 80285544 002824A4 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha /* 80285548 002824A8 C0 63 8B A4 */ lfs f3, lbl_805A8BA4@l(r3) lbl_8028554C: /* 8028554C 002824AC FF E0 18 18 */ frsp f31, f3 /* 80285550 002824B0 80 7E 08 8C */ lwz r3, 0x88c(r30) /* 80285554 002824B4 C0 22 BD B4 */ lfs f1, lbl_805ADAD4@sda21(r2) /* 80285558 002824B8 7F C4 F3 78 */ mr r4, r30 /* 8028555C 002824BC 38 A0 00 0B */ li r5, 0xb /* 80285560 002824C0 38 C0 00 01 */ li r6, 1 /* 80285564 002824C4 4B FA 8C E1 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority /* 80285568 002824C8 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 8028556C 002824CC D0 1F 02 A0 */ stfs f0, 0x2a0(r31) /* 80285570 002824D0 80 1F 02 B0 */ lwz r0, 0x2b0(r31) /* 80285574 002824D4 2C 00 00 02 */ cmpwi r0, 2 /* 80285578 002824D8 40 82 00 0C */ bne lbl_80285584 /* 8028557C 002824DC 80 1F 02 AC */ lwz r0, 0x2ac(r31) /* 80285580 002824E0 48 00 00 08 */ b lbl_80285588 lbl_80285584: /* 80285584 002824E4 38 00 00 04 */ li r0, 4 lbl_80285588: /* 80285588 002824E8 2C 00 00 05 */ cmpwi r0, 5 /* 8028558C 002824EC 41 82 00 30 */ beq lbl_802855BC /* 80285590 002824F0 40 80 00 10 */ bge lbl_802855A0 /* 80285594 002824F4 2C 00 00 04 */ cmpwi r0, 4 /* 80285598 002824F8 40 80 00 14 */ bge lbl_802855AC /* 8028559C 002824FC 48 00 00 3C */ b lbl_802855D8 lbl_802855A0: /* 802855A0 00282500 2C 00 00 07 */ cmpwi r0, 7 /* 802855A4 00282504 40 80 00 34 */ bge lbl_802855D8 /* 802855A8 00282508 48 00 00 24 */ b lbl_802855CC lbl_802855AC: /* 802855AC 0028250C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802855B0 00282510 C0 03 00 E0 */ lfs f0, 0xe0(r3) /* 802855B4 00282514 EF FF 00 32 */ fmuls f31, f31, f0 /* 802855B8 00282518 48 00 00 20 */ b lbl_802855D8 lbl_802855BC: /* 802855BC 0028251C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802855C0 00282520 C0 03 00 E8 */ lfs f0, 0xe8(r3) /* 802855C4 00282524 EF FF 00 32 */ fmuls f31, f31, f0 /* 802855C8 00282528 48 00 00 10 */ b lbl_802855D8 lbl_802855CC: /* 802855CC 0028252C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802855D0 00282530 C0 03 00 F0 */ lfs f0, 0xf0(r3) /* 802855D4 00282534 EF FF 00 32 */ fmuls f31, f31, f0 lbl_802855D8: /* 802855D8 00282538 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802855DC 0028253C 7F E3 FB 78 */ mr r3, r31 /* 802855E0 00282540 D3 E1 00 24 */ stfs f31, 0x24(r1) /* 802855E4 00282544 38 81 00 1C */ addi r4, r1, 0x1c /* 802855E8 00282548 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802855EC 0028254C D0 01 00 20 */ stfs f0, 0x20(r1) /* 802855F0 00282550 4B E9 56 B1 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 802855F4 00282554 80 7F 07 68 */ lwz r3, 0x768(r31) /* 802855F8 00282558 C0 22 BD AC */ lfs f1, lbl_805ADACC@sda21(r2) /* 802855FC 0028255C 4B E7 36 95 */ bl SetDamageTimer__10CMorphBallFf /* 80285600 00282560 80 7F 07 68 */ lwz r3, 0x768(r31) /* 80285604 00282564 4B E6 E8 1D */ bl CancelBoosting__10CMorphBallFv /* 80285608 00282568 80 7F 09 D0 */ lwz r3, 0x9d0(r31) /* 8028560C 0028256C 2C 03 00 00 */ cmpwi r3, 0 /* 80285610 00282570 40 81 00 28 */ ble lbl_80285638 /* 80285614 00282574 2C 03 00 02 */ cmpwi r3, 2 /* 80285618 00282578 40 81 00 14 */ ble lbl_8028562C /* 8028561C 0028257C 38 00 00 00 */ li r0, 0 /* 80285620 00282580 90 1F 09 D0 */ stw r0, 0x9d0(r31) /* 80285624 00282584 90 1F 09 D4 */ stw r0, 0x9d4(r31) /* 80285628 00282588 48 00 00 48 */ b lbl_80285670 lbl_8028562C: /* 8028562C 0028258C 38 03 00 01 */ addi r0, r3, 1 /* 80285630 00282590 90 1F 09 D0 */ stw r0, 0x9d0(r31) /* 80285634 00282594 48 00 00 3C */ b lbl_80285670 lbl_80285638: /* 80285638 00282598 80 7E 08 70 */ lwz r3, 0x870(r30) /* 8028563C 0028259C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80285640 002825A0 80 83 00 80 */ lwz r4, 0x80(r3) /* 80285644 002825A4 A0 64 03 DC */ lhz r3, 0x3dc(r4) /* 80285648 002825A8 7C 03 00 40 */ cmplw r3, r0 /* 8028564C 002825AC 41 82 00 24 */ beq lbl_80285670 /* 80285650 002825B0 C0 24 03 E0 */ lfs f1, 0x3e0(r4) /* 80285654 002825B4 C0 02 BE 28 */ lfs f0, lbl_805ADB48@sda21(r2) /* 80285658 002825B8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028565C 002825BC 40 80 00 14 */ bge lbl_80285670 /* 80285660 002825C0 38 60 00 01 */ li r3, 1 /* 80285664 002825C4 38 00 00 02 */ li r0, 2 /* 80285668 002825C8 90 7F 09 D0 */ stw r3, 0x9d0(r31) /* 8028566C 002825CC 90 1F 09 D4 */ stw r0, 0x9d4(r31) lbl_80285670: /* 80285670 002825D0 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80285674 002825D4 3C 60 80 5A */ lis r3, skZero3f@ha /* 80285678 002825D8 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 8028567C 002825DC 38 C3 66 A0 */ addi r6, r3, skZero3f@l /* 80285680 002825E0 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80285684 002825E4 38 61 00 08 */ addi r3, r1, 8 /* 80285688 002825E8 A9 22 C5 FA */ lha r9, lbl_805AE31A@sda21(r2) /* 8028568C 002825EC 38 A1 00 10 */ addi r5, r1, 0x10 /* 80285690 002825F0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80285694 002825F4 38 80 05 BC */ li r4, 0x5bc /* 80285698 002825F8 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2) /* 8028569C 002825FC 38 E0 00 00 */ li r7, 0 /* 802856A0 00282600 D0 21 00 14 */ stfs f1, 0x14(r1) /* 802856A4 00282604 39 00 00 00 */ li r8, 0 /* 802856A8 00282608 D0 41 00 18 */ stfs f2, 0x18(r1) /* 802856AC 0028260C 48 06 4C 05 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 802856B0 00282610 80 01 00 08 */ lwz r0, 8(r1) /* 802856B4 00282614 7F E3 FB 78 */ mr r3, r31 /* 802856B8 00282618 38 81 00 0C */ addi r4, r1, 0xc /* 802856BC 0028261C 90 01 00 0C */ stw r0, 0xc(r1) /* 802856C0 00282620 4B D8 BA CD */ bl ApplySubmergedPitchBend__7CPlayerFR10CSfxHandle lbl_802856C4: /* 802856C4 00282624 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 802856C8 00282628 80 01 00 54 */ lwz r0, 0x54(r1) /* 802856CC 0028262C CB E1 00 40 */ lfd f31, 0x40(r1) /* 802856D0 00282630 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802856D4 00282634 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802856D8 00282638 83 A1 00 34 */ lwz r29, 0x34(r1) /* 802856DC 0028263C 7C 08 03 A6 */ mtlr r0 /* 802856E0 00282640 38 21 00 50 */ addi r1, r1, 0x50 /* 802856E4 00282644 4E 80 00 20 */ blr .global CreateTransformFromMovementDirection__7CPlayerCFv CreateTransformFromMovementDirection__7CPlayerCFv: /* 802856E8 00282648 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802856EC 0028264C 7C 08 02 A6 */ mflr r0 /* 802856F0 00282650 90 01 00 44 */ stw r0, 0x44(r1) /* 802856F4 00282654 93 E1 00 3C */ stw r31, 0x3c(r1) /* 802856F8 00282658 7C 9F 23 78 */ mr r31, r4 /* 802856FC 0028265C 93 C1 00 38 */ stw r30, 0x38(r1) /* 80285700 00282660 7C 7E 1B 78 */ mr r30, r3 /* 80285704 00282664 38 61 00 20 */ addi r3, r1, 0x20 /* 80285708 00282668 C0 44 05 0C */ lfs f2, 0x50c(r4) /* 8028570C 0028266C C0 24 05 10 */ lfs f1, 0x510(r4) /* 80285710 00282670 C0 04 05 14 */ lfs f0, 0x514(r4) /* 80285714 00282674 D0 41 00 20 */ stfs f2, 0x20(r1) /* 80285718 00282678 D0 21 00 24 */ stfs f1, 0x24(r1) /* 8028571C 0028267C D0 01 00 28 */ stfs f0, 0x28(r1) /* 80285720 00282680 48 08 EF D9 */ bl CanBeNormalized__9CVector3fCFv /* 80285724 00282684 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285728 00282688 41 82 00 10 */ beq lbl_80285738 /* 8028572C 0028268C 38 61 00 20 */ addi r3, r1, 0x20 /* 80285730 00282690 48 08 F1 C9 */ bl Normalize__9CVector3fFv /* 80285734 00282694 48 00 00 18 */ b lbl_8028574C lbl_80285738: /* 80285738 00282698 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 8028573C 0028269C C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80285740 002826A0 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80285744 002826A4 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80285748 002826A8 D0 21 00 28 */ stfs f1, 0x28(r1) lbl_8028574C: /* 8028574C 002826AC C0 01 00 20 */ lfs f0, 0x20(r1) /* 80285750 002826B0 3C 60 80 5A */ lis r3, lbl_805A66F4@ha /* 80285754 002826B4 C0 61 00 24 */ lfs f3, 0x24(r1) /* 80285758 002826B8 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l /* 8028575C 002826BC FC 40 00 50 */ fneg f2, f0 /* 80285760 002826C0 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80285764 002826C4 C0 BF 00 60 */ lfs f5, 0x60(r31) /* 80285768 002826C8 7F C3 F3 78 */ mr r3, r30 /* 8028576C 002826CC C0 9F 00 50 */ lfs f4, 0x50(r31) /* 80285770 002826D0 38 81 00 14 */ addi r4, r1, 0x14 /* 80285774 002826D4 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80285778 002826D8 38 A1 00 20 */ addi r5, r1, 0x20 /* 8028577C 002826DC D0 61 00 14 */ stfs f3, 0x14(r1) /* 80285780 002826E0 38 E1 00 08 */ addi r7, r1, 8 /* 80285784 002826E4 D0 41 00 18 */ stfs f2, 0x18(r1) /* 80285788 002826E8 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 8028578C 002826EC D0 01 00 08 */ stfs f0, 8(r1) /* 80285790 002826F0 D0 81 00 0C */ stfs f4, 0xc(r1) /* 80285794 002826F4 D0 A1 00 10 */ stfs f5, 0x10(r1) /* 80285798 002826F8 48 08 D6 C5 */ bl __ct__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f_0 /* 8028579C 002826FC 80 01 00 44 */ lwz r0, 0x44(r1) /* 802857A0 00282700 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802857A4 00282704 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802857A8 00282708 7C 08 03 A6 */ mtlr r0 /* 802857AC 0028270C 38 21 00 40 */ addi r1, r1, 0x40 /* 802857B0 00282710 4E 80 00 20 */ blr .global GetCollisionPrimitive__7CPlayerCFv GetCollisionPrimitive__7CPlayerCFv: /* 802857B4 00282714 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802857B8 00282718 7C 08 02 A6 */ mflr r0 /* 802857BC 0028271C 90 01 00 14 */ stw r0, 0x14(r1) /* 802857C0 00282720 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 802857C4 00282724 2C 00 00 01 */ cmpwi r0, 1 /* 802857C8 00282728 41 82 00 20 */ beq lbl_802857E8 /* 802857CC 0028272C 40 80 00 10 */ bge lbl_802857DC /* 802857D0 00282730 2C 00 00 00 */ cmpwi r0, 0 /* 802857D4 00282734 40 80 00 1C */ bge lbl_802857F0 /* 802857D8 00282738 48 00 00 28 */ b lbl_80285800 lbl_802857DC: /* 802857DC 0028273C 2C 00 00 04 */ cmpwi r0, 4 /* 802857E0 00282740 40 80 00 20 */ bge lbl_80285800 /* 802857E4 00282744 48 00 00 14 */ b lbl_802857F8 lbl_802857E8: /* 802857E8 00282748 48 00 00 2D */ bl sub_80285814 /* 802857EC 0028274C 48 00 00 18 */ b lbl_80285804 lbl_802857F0: /* 802857F0 00282750 4B E9 52 65 */ bl GetCollisionPrimitive__13CPhysicsActorCFv /* 802857F4 00282754 48 00 00 10 */ b lbl_80285804 lbl_802857F8: /* 802857F8 00282758 4B E9 52 5D */ bl GetCollisionPrimitive__13CPhysicsActorCFv /* 802857FC 0028275C 48 00 00 08 */ b lbl_80285804 lbl_80285800: /* 80285800 00282760 4B E9 52 55 */ bl GetCollisionPrimitive__13CPhysicsActorCFv lbl_80285804: /* 80285804 00282764 80 01 00 14 */ lwz r0, 0x14(r1) /* 80285808 00282768 7C 08 03 A6 */ mtlr r0 /* 8028580C 0028276C 38 21 00 10 */ addi r1, r1, 0x10 /* 80285810 00282770 4E 80 00 20 */ blr .global sub_80285814 sub_80285814: /* 80285814 00282774 80 63 07 68 */ lwz r3, 0x768(r3) /* 80285818 00282778 38 63 00 38 */ addi r3, r3, 0x38 /* 8028581C 0028277C 4E 80 00 20 */ blr .global GetPrimitiveTransform__7CPlayerCFv GetPrimitiveTransform__7CPlayerCFv: /* 80285820 00282780 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80285824 00282784 7C 08 02 A6 */ mflr r0 /* 80285828 00282788 90 01 00 14 */ stw r0, 0x14(r1) /* 8028582C 0028278C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80285830 00282790 7C 7F 1B 78 */ mr r31, r3 /* 80285834 00282794 4B E9 51 99 */ bl GetPrimitiveTransform__13CPhysicsActorCFv /* 80285838 00282798 80 01 00 14 */ lwz r0, 0x14(r1) /* 8028583C 0028279C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80285840 002827A0 7C 08 03 A6 */ mtlr r0 /* 80285844 002827A4 38 21 00 10 */ addi r1, r1, 0x10 /* 80285848 002827A8 4E 80 00 20 */ blr .global CollidedWith__7CPlayerFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager CollidedWith__7CPlayerFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager: /* 8028584C 002827AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80285850 002827B0 7C 08 02 A6 */ mflr r0 /* 80285854 002827B4 90 01 00 14 */ stw r0, 0x14(r1) /* 80285858 002827B8 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 8028585C 002827BC 2C 00 00 00 */ cmpwi r0, 0 /* 80285860 002827C0 41 82 00 0C */ beq lbl_8028586C /* 80285864 002827C4 80 63 07 68 */ lwz r3, 0x768(r3) /* 80285868 002827C8 4B E6 B0 A5 */ bl CollidedWith__10CMorphBallFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager lbl_8028586C: /* 8028586C 002827CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80285870 002827D0 7C 08 03 A6 */ mtlr r0 /* 80285874 002827D4 38 21 00 10 */ addi r1, r1, 0x10 /* 80285878 002827D8 4E 80 00 20 */ blr .global GetActualBallMaxVelocity__7CPlayerCFf GetActualBallMaxVelocity__7CPlayerCFf: /* 8028587C 002827DC 80 A3 02 B0 */ lwz r5, 0x2b0(r3) /* 80285880 002827E0 2C 05 00 02 */ cmpwi r5, 2 /* 80285884 002827E4 40 82 00 0C */ bne lbl_80285890 /* 80285888 002827E8 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 8028588C 002827EC 48 00 00 08 */ b lbl_80285894 lbl_80285890: /* 80285890 002827F0 38 00 00 04 */ li r0, 4 lbl_80285894: /* 80285894 002827F4 80 CD A1 1C */ lwz r6, gpTweakBall@sda21(r13) /* 80285898 002827F8 54 00 10 3A */ slwi r0, r0, 2 /* 8028589C 002827FC C0 03 00 E8 */ lfs f0, 0xe8(r3) /* 802858A0 00282800 2C 05 00 02 */ cmpwi r5, 2 /* 802858A4 00282804 7C 86 02 14 */ add r4, r6, r0 /* 802858A8 00282808 C0 64 00 24 */ lfs f3, 0x24(r4) /* 802858AC 0028280C EC 03 00 32 */ fmuls f0, f3, f0 /* 802858B0 00282810 40 82 00 0C */ bne lbl_802858BC /* 802858B4 00282814 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 802858B8 00282818 48 00 00 08 */ b lbl_802858C0 lbl_802858BC: /* 802858BC 0028281C 38 00 00 04 */ li r0, 4 lbl_802858C0: /* 802858C0 00282820 54 00 10 3A */ slwi r0, r0, 2 /* 802858C4 00282824 2C 05 00 02 */ cmpwi r5, 2 /* 802858C8 00282828 7C 86 02 14 */ add r4, r6, r0 /* 802858CC 0028282C C0 84 00 44 */ lfs f4, 0x44(r4) /* 802858D0 00282830 40 82 00 0C */ bne lbl_802858DC /* 802858D4 00282834 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 802858D8 00282838 48 00 00 08 */ b lbl_802858E0 lbl_802858DC: /* 802858DC 0028283C 38 00 00 04 */ li r0, 4 lbl_802858E0: /* 802858E0 00282840 54 00 10 3A */ slwi r0, r0, 2 /* 802858E4 00282844 EC 40 01 32 */ fmuls f2, f0, f4 /* 802858E8 00282848 7C 66 02 14 */ add r3, r6, r0 /* 802858EC 0028284C C0 03 00 04 */ lfs f0, 4(r3) /* 802858F0 00282850 EC 00 00 72 */ fmuls f0, f0, f1 /* 802858F4 00282854 EC 02 00 24 */ fdivs f0, f2, f0 /* 802858F8 00282858 EC 00 20 28 */ fsubs f0, f0, f4 /* 802858FC 0028285C EC 00 18 28 */ fsubs f0, f0, f3 /* 80285900 00282860 FC 20 00 50 */ fneg f1, f0 /* 80285904 00282864 4E 80 00 20 */ blr .global GetActualFirstPersonMaxVelocity__7CPlayerCFv GetActualFirstPersonMaxVelocity__7CPlayerCFv: /* 80285908 00282868 80 A3 02 B0 */ lwz r5, 0x2b0(r3) /* 8028590C 0028286C 2C 05 00 02 */ cmpwi r5, 2 /* 80285910 00282870 40 82 00 0C */ bne lbl_8028591C /* 80285914 00282874 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 80285918 00282878 48 00 00 08 */ b lbl_80285920 lbl_8028591C: /* 8028591C 0028287C 38 00 00 04 */ li r0, 4 lbl_80285920: /* 80285920 00282880 2C 00 00 00 */ cmpwi r0, 0 /* 80285924 00282884 80 CD A1 18 */ lwz r6, gpTweakPlayer@sda21(r13) /* 80285928 00282888 41 80 00 0C */ blt lbl_80285934 /* 8028592C 0028288C 2C 00 00 07 */ cmpwi r0, 7 /* 80285930 00282890 40 81 00 08 */ ble lbl_80285938 lbl_80285934: /* 80285934 00282894 38 00 00 00 */ li r0, 0 lbl_80285938: /* 80285938 00282898 54 00 10 3A */ slwi r0, r0, 2 /* 8028593C 0028289C C0 03 00 E8 */ lfs f0, 0xe8(r3) /* 80285940 002828A0 7C 86 02 14 */ add r4, r6, r0 /* 80285944 002828A4 2C 05 00 02 */ cmpwi r5, 2 /* 80285948 002828A8 C0 64 00 44 */ lfs f3, 0x44(r4) /* 8028594C 002828AC EC 03 00 32 */ fmuls f0, f3, f0 /* 80285950 002828B0 40 82 00 0C */ bne lbl_8028595C /* 80285954 002828B4 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 80285958 002828B8 48 00 00 08 */ b lbl_80285960 lbl_8028595C: /* 8028595C 002828BC 38 00 00 04 */ li r0, 4 lbl_80285960: /* 80285960 002828C0 2C 00 00 00 */ cmpwi r0, 0 /* 80285964 002828C4 41 80 00 0C */ blt lbl_80285970 /* 80285968 002828C8 2C 00 00 07 */ cmpwi r0, 7 /* 8028596C 002828CC 40 81 00 08 */ ble lbl_80285974 lbl_80285970: /* 80285970 002828D0 38 00 00 00 */ li r0, 0 lbl_80285974: /* 80285974 002828D4 54 00 10 3A */ slwi r0, r0, 2 /* 80285978 002828D8 2C 05 00 02 */ cmpwi r5, 2 /* 8028597C 002828DC 7C 86 02 14 */ add r4, r6, r0 /* 80285980 002828E0 C0 84 00 A4 */ lfs f4, 0xa4(r4) /* 80285984 002828E4 40 82 00 0C */ bne lbl_80285990 /* 80285988 002828E8 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 8028598C 002828EC 48 00 00 08 */ b lbl_80285994 lbl_80285990: /* 80285990 002828F0 38 00 00 04 */ li r0, 4 lbl_80285994: /* 80285994 002828F4 2C 00 00 00 */ cmpwi r0, 0 /* 80285998 002828F8 41 80 00 0C */ blt lbl_802859A4 /* 8028599C 002828FC 2C 00 00 07 */ cmpwi r0, 7 /* 802859A0 00282900 40 81 00 08 */ ble lbl_802859A8 lbl_802859A4: /* 802859A4 00282904 38 00 00 00 */ li r0, 0 lbl_802859A8: /* 802859A8 00282908 54 00 10 3A */ slwi r0, r0, 2 /* 802859AC 0028290C EC 40 01 32 */ fmuls f2, f0, f4 /* 802859B0 00282910 7C 66 02 14 */ add r3, r6, r0 /* 802859B4 00282914 C0 03 00 04 */ lfs f0, 4(r3) /* 802859B8 00282918 EC 00 00 72 */ fmuls f0, f0, f1 /* 802859BC 0028291C EC 02 00 24 */ fdivs f0, f2, f0 /* 802859C0 00282920 EC 00 20 28 */ fsubs f0, f0, f4 /* 802859C4 00282924 EC 00 18 28 */ fsubs f0, f0, f3 /* 802859C8 00282928 FC 20 00 50 */ fneg f1, f0 /* 802859CC 0028292C 4E 80 00 20 */ blr .global GetBallMaxVelocity__7CPlayerCFv GetBallMaxVelocity__7CPlayerCFv: /* 802859D0 00282930 80 03 02 B0 */ lwz r0, 0x2b0(r3) /* 802859D4 00282934 2C 00 00 02 */ cmpwi r0, 2 /* 802859D8 00282938 40 82 00 0C */ bne lbl_802859E4 /* 802859DC 0028293C 80 03 02 AC */ lwz r0, 0x2ac(r3) /* 802859E0 00282940 48 00 00 08 */ b lbl_802859E8 lbl_802859E4: /* 802859E4 00282944 38 00 00 04 */ li r0, 4 lbl_802859E8: /* 802859E8 00282948 80 6D A1 1C */ lwz r3, gpTweakBall@sda21(r13) /* 802859EC 0028294C 54 00 10 3A */ slwi r0, r0, 2 /* 802859F0 00282950 7C 63 02 14 */ add r3, r3, r0 /* 802859F4 00282954 C0 23 00 44 */ lfs f1, 0x44(r3) /* 802859F8 00282958 4E 80 00 20 */ blr .global CalculateLeaveMorphBallDirection__7CPlayerFRC11CFinalInput CalculateLeaveMorphBallDirection__7CPlayerFRC11CFinalInput: /* 802859FC 0028295C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80285A00 00282960 7C 08 02 A6 */ mflr r0 /* 80285A04 00282964 90 01 00 44 */ stw r0, 0x44(r1) /* 80285A08 00282968 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80285A0C 0028296C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80285A10 00282970 DB C1 00 20 */ stfd f30, 0x20(r1) /* 80285A14 00282974 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80285A18 00282978 DB A1 00 10 */ stfd f29, 0x10(r1) /* 80285A1C 0028297C F3 A1 00 18 */ psq_st f29, 24(r1), 0, qr0 /* 80285A20 00282980 93 E1 00 0C */ stw r31, 0xc(r1) /* 80285A24 00282984 93 C1 00 08 */ stw r30, 8(r1) /* 80285A28 00282988 7C 7E 1B 78 */ mr r30, r3 /* 80285A2C 0028298C 7C 9F 23 78 */ mr r31, r4 /* 80285A30 00282990 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 80285A34 00282994 2C 00 00 01 */ cmpwi r0, 1 /* 80285A38 00282998 41 82 00 20 */ beq lbl_80285A58 /* 80285A3C 0028299C C0 1E 05 0C */ lfs f0, 0x50c(r30) /* 80285A40 002829A0 D0 1E 05 18 */ stfs f0, 0x518(r30) /* 80285A44 002829A4 C0 1E 05 10 */ lfs f0, 0x510(r30) /* 80285A48 002829A8 D0 1E 05 1C */ stfs f0, 0x51c(r30) /* 80285A4C 002829AC C0 1E 05 14 */ lfs f0, 0x514(r30) /* 80285A50 002829B0 D0 1E 05 20 */ stfs f0, 0x520(r30) /* 80285A54 002829B4 48 00 00 8C */ b lbl_80285AE0 lbl_80285A58: /* 80285A58 002829B8 38 60 00 00 */ li r3, 0 /* 80285A5C 002829BC 4B D8 6E BD */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80285A60 002829C0 FF A0 08 90 */ fmr f29, f1 /* 80285A64 002829C4 7F E4 FB 78 */ mr r4, r31 /* 80285A68 002829C8 38 60 00 01 */ li r3, 1 /* 80285A6C 002829CC 4B D8 6E AD */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80285A70 002829D0 FF C0 08 90 */ fmr f30, f1 /* 80285A74 002829D4 7F E4 FB 78 */ mr r4, r31 /* 80285A78 002829D8 38 60 00 02 */ li r3, 2 /* 80285A7C 002829DC 4B D8 6E 9D */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80285A80 002829E0 FF E0 08 90 */ fmr f31, f1 /* 80285A84 002829E4 7F E4 FB 78 */ mr r4, r31 /* 80285A88 002829E8 38 60 00 03 */ li r3, 3 /* 80285A8C 002829EC 4B D8 6E 8D */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80285A90 002829F0 C0 02 BD B4 */ lfs f0, lbl_805ADAD4@sda21(r2) /* 80285A94 002829F4 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 80285A98 002829F8 41 81 00 1C */ bgt lbl_80285AB4 /* 80285A9C 002829FC FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80285AA0 00282A00 41 81 00 14 */ bgt lbl_80285AB4 /* 80285AA4 00282A04 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80285AA8 00282A08 41 81 00 0C */ bgt lbl_80285AB4 /* 80285AAC 00282A0C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80285AB0 00282A10 40 81 00 30 */ ble lbl_80285AE0 lbl_80285AB4: /* 80285AB4 00282A14 38 7E 01 38 */ addi r3, r30, 0x138 /* 80285AB8 00282A18 48 08 EE 01 */ bl Magnitude__9CVector3fCFv /* 80285ABC 00282A1C C0 02 BD 7C */ lfs f0, lbl_805ADA9C@sda21(r2) /* 80285AC0 00282A20 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80285AC4 00282A24 40 81 00 1C */ ble lbl_80285AE0 /* 80285AC8 00282A28 C0 1E 05 0C */ lfs f0, 0x50c(r30) /* 80285ACC 00282A2C D0 1E 05 18 */ stfs f0, 0x518(r30) /* 80285AD0 00282A30 C0 1E 05 10 */ lfs f0, 0x510(r30) /* 80285AD4 00282A34 D0 1E 05 1C */ stfs f0, 0x51c(r30) /* 80285AD8 00282A38 C0 1E 05 14 */ lfs f0, 0x514(r30) /* 80285ADC 00282A3C D0 1E 05 20 */ stfs f0, 0x520(r30) lbl_80285AE0: /* 80285AE0 00282A40 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80285AE4 00282A44 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80285AE8 00282A48 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 80285AEC 00282A4C CB C1 00 20 */ lfd f30, 0x20(r1) /* 80285AF0 00282A50 E3 A1 00 18 */ psq_l f29, 24(r1), 0, qr0 /* 80285AF4 00282A54 CB A1 00 10 */ lfd f29, 0x10(r1) /* 80285AF8 00282A58 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80285AFC 00282A5C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80285B00 00282A60 83 C1 00 08 */ lwz r30, 8(r1) /* 80285B04 00282A64 7C 08 03 A6 */ mtlr r0 /* 80285B08 00282A68 38 21 00 40 */ addi r1, r1, 0x40 /* 80285B0C 00282A6C 4E 80 00 20 */ blr .global CalculatePlayerControlDirection__7CPlayerFR13CStateManager CalculatePlayerControlDirection__7CPlayerFR13CStateManager: /* 80285B10 00282A70 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80285B14 00282A74 7C 08 02 A6 */ mflr r0 /* 80285B18 00282A78 90 01 00 54 */ stw r0, 0x54(r1) /* 80285B1C 00282A7C DB E1 00 40 */ stfd f31, 0x40(r1) /* 80285B20 00282A80 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80285B24 00282A84 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80285B28 00282A88 88 03 09 C4 */ lbz r0, 0x9c4(r3) /* 80285B2C 00282A8C 7C 7F 1B 78 */ mr r31, r3 /* 80285B30 00282A90 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 80285B34 00282A94 41 82 00 C0 */ beq lbl_80285BF4 /* 80285B38 00282A98 38 7F 09 D8 */ addi r3, r31, 0x9d8 /* 80285B3C 00282A9C 48 08 EB BD */ bl CanBeNormalized__9CVector3fCFv /* 80285B40 00282AA0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285B44 00282AA4 41 82 00 8C */ beq lbl_80285BD0 /* 80285B48 00282AA8 38 61 00 14 */ addi r3, r1, 0x14 /* 80285B4C 00282AAC 38 9F 09 D8 */ addi r4, r31, 0x9d8 /* 80285B50 00282AB0 48 08 ED 01 */ bl AsNormalized__9CVector3fCFv /* 80285B54 00282AB4 C0 21 00 14 */ lfs f1, 0x14(r1) /* 80285B58 00282AB8 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285B5C 00282ABC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80285B60 00282AC0 D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285B64 00282AC4 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80285B68 00282AC8 D0 3F 05 44 */ stfs f1, 0x544(r31) /* 80285B6C 00282ACC C0 21 00 1C */ lfs f1, 0x1c(r1) /* 80285B70 00282AD0 D0 3F 05 48 */ stfs f1, 0x548(r31) /* 80285B74 00282AD4 C0 3F 09 D8 */ lfs f1, 0x9d8(r31) /* 80285B78 00282AD8 D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285B7C 00282ADC C0 3F 09 DC */ lfs f1, 0x9dc(r31) /* 80285B80 00282AE0 D0 3F 05 50 */ stfs f1, 0x550(r31) /* 80285B84 00282AE4 C0 3F 09 E0 */ lfs f1, 0x9e0(r31) /* 80285B88 00282AE8 D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285B8C 00282AEC D0 1F 05 54 */ stfs f0, 0x554(r31) /* 80285B90 00282AF0 48 08 EB 69 */ bl CanBeNormalized__9CVector3fCFv /* 80285B94 00282AF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285B98 00282AF8 41 82 00 10 */ beq lbl_80285BA8 /* 80285B9C 00282AFC 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285BA0 00282B00 48 08 ED 59 */ bl Normalize__9CVector3fFv /* 80285BA4 00282B04 48 00 02 D8 */ b lbl_80285E7C lbl_80285BA8: /* 80285BA8 00282B08 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80285BAC 00282B0C C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80285BB0 00282B10 D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285BB4 00282B14 D0 1F 05 44 */ stfs f0, 0x544(r31) /* 80285BB8 00282B18 D0 3F 05 48 */ stfs f1, 0x548(r31) /* 80285BBC 00282B1C D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285BC0 00282B20 D0 1F 05 50 */ stfs f0, 0x550(r31) /* 80285BC4 00282B24 D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285BC8 00282B28 48 00 02 B4 */ b lbl_80285E7C /* 80285BCC 00282B2C 48 00 02 B0 */ b lbl_80285E7C lbl_80285BD0: /* 80285BD0 00282B30 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80285BD4 00282B34 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80285BD8 00282B38 D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285BDC 00282B3C D0 1F 05 44 */ stfs f0, 0x544(r31) /* 80285BE0 00282B40 D0 3F 05 48 */ stfs f1, 0x548(r31) /* 80285BE4 00282B44 D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285BE8 00282B48 D0 1F 05 50 */ stfs f0, 0x550(r31) /* 80285BEC 00282B4C D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285BF0 00282B50 48 00 02 8C */ b lbl_80285E7C lbl_80285BF4: /* 80285BF4 00282B54 80 64 08 70 */ lwz r3, 0x870(r4) /* 80285BF8 00282B58 4B D8 5F 21 */ bl GetCurrentCamera__14CCameraManagerCFR13CStateManager /* 80285BFC 00282B5C C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80285C00 00282B60 C0 03 00 50 */ lfs f0, 0x50(r3) /* 80285C04 00282B64 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 80285C08 00282B68 C0 43 00 60 */ lfs f2, 0x60(r3) /* 80285C0C 00282B6C EC 81 00 28 */ fsubs f4, f1, f0 /* 80285C10 00282B70 C0 03 00 40 */ lfs f0, 0x40(r3) /* 80285C14 00282B74 38 61 00 2C */ addi r3, r1, 0x2c /* 80285C18 00282B78 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80285C1C 00282B7C EC 43 10 28 */ fsubs f2, f3, f2 /* 80285C20 00282B80 EC 01 00 28 */ fsubs f0, f1, f0 /* 80285C24 00282B84 D0 81 00 30 */ stfs f4, 0x30(r1) /* 80285C28 00282B88 D0 41 00 34 */ stfs f2, 0x34(r1) /* 80285C2C 00282B8C D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80285C30 00282B90 48 08 EA C9 */ bl CanBeNormalized__9CVector3fCFv /* 80285C34 00282B94 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285C38 00282B98 40 82 00 28 */ bne lbl_80285C60 /* 80285C3C 00282B9C C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80285C40 00282BA0 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80285C44 00282BA4 D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285C48 00282BA8 D0 1F 05 44 */ stfs f0, 0x544(r31) /* 80285C4C 00282BAC D0 3F 05 48 */ stfs f1, 0x548(r31) /* 80285C50 00282BB0 D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285C54 00282BB4 D0 1F 05 50 */ stfs f0, 0x550(r31) /* 80285C58 00282BB8 D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285C5C 00282BBC 48 00 02 20 */ b lbl_80285E7C lbl_80285C60: /* 80285C60 00282BC0 C0 01 00 34 */ lfs f0, 0x34(r1) /* 80285C64 00282BC4 38 61 00 20 */ addi r3, r1, 0x20 /* 80285C68 00282BC8 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 80285C6C 00282BCC C0 21 00 30 */ lfs f1, 0x30(r1) /* 80285C70 00282BD0 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80285C74 00282BD4 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80285C78 00282BD8 D0 41 00 20 */ stfs f2, 0x20(r1) /* 80285C7C 00282BDC D0 21 00 24 */ stfs f1, 0x24(r1) /* 80285C80 00282BE0 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80285C84 00282BE4 48 08 EA 75 */ bl CanBeNormalized__9CVector3fCFv /* 80285C88 00282BE8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285C8C 00282BEC 41 82 01 F0 */ beq lbl_80285E7C /* 80285C90 00282BF0 80 8D A1 1C */ lwz r4, gpTweakBall@sda21(r13) /* 80285C94 00282BF4 38 61 00 20 */ addi r3, r1, 0x20 /* 80285C98 00282BF8 C3 E4 01 D0 */ lfs f31, 0x1d0(r4) /* 80285C9C 00282BFC 48 08 EC 1D */ bl Magnitude__9CVector3fCFv /* 80285CA0 00282C00 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 80285CA4 00282C04 40 81 01 38 */ ble lbl_80285DDC /* 80285CA8 00282C08 38 61 00 08 */ addi r3, r1, 8 /* 80285CAC 00282C0C 38 81 00 2C */ addi r4, r1, 0x2c /* 80285CB0 00282C10 48 08 EB A1 */ bl AsNormalized__9CVector3fCFv /* 80285CB4 00282C14 C0 01 00 08 */ lfs f0, 8(r1) /* 80285CB8 00282C18 38 61 00 20 */ addi r3, r1, 0x20 /* 80285CBC 00282C1C D0 1F 05 40 */ stfs f0, 0x540(r31) /* 80285CC0 00282C20 C0 01 00 0C */ lfs f0, 0xc(r1) /* 80285CC4 00282C24 D0 1F 05 44 */ stfs f0, 0x544(r31) /* 80285CC8 00282C28 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80285CCC 00282C2C D0 1F 05 48 */ stfs f0, 0x548(r31) /* 80285CD0 00282C30 48 08 EA 29 */ bl CanBeNormalized__9CVector3fCFv /* 80285CD4 00282C34 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285CD8 00282C38 41 82 00 A4 */ beq lbl_80285D7C /* 80285CDC 00282C3C 38 61 00 20 */ addi r3, r1, 0x20 /* 80285CE0 00282C40 48 08 EC 19 */ bl Normalize__9CVector3fFv /* 80285CE4 00282C44 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80285CE8 00282C48 2C 00 00 01 */ cmpwi r0, 1 /* 80285CEC 00282C4C 41 82 00 20 */ beq lbl_80285D0C /* 80285CF0 00282C50 40 80 00 10 */ bge lbl_80285D00 /* 80285CF4 00282C54 2C 00 00 00 */ cmpwi r0, 0 /* 80285CF8 00282C58 40 80 00 30 */ bge lbl_80285D28 /* 80285CFC 00282C5C 48 00 01 80 */ b lbl_80285E7C lbl_80285D00: /* 80285D00 00282C60 2C 00 00 04 */ cmpwi r0, 4 /* 80285D04 00282C64 40 80 01 78 */ bge lbl_80285E7C /* 80285D08 00282C68 48 00 00 20 */ b lbl_80285D28 lbl_80285D0C: /* 80285D0C 00282C6C C0 01 00 20 */ lfs f0, 0x20(r1) /* 80285D10 00282C70 D0 1F 05 4C */ stfs f0, 0x54c(r31) /* 80285D14 00282C74 C0 01 00 24 */ lfs f0, 0x24(r1) /* 80285D18 00282C78 D0 1F 05 50 */ stfs f0, 0x550(r31) /* 80285D1C 00282C7C C0 01 00 28 */ lfs f0, 0x28(r1) /* 80285D20 00282C80 D0 1F 05 54 */ stfs f0, 0x554(r31) /* 80285D24 00282C84 48 00 01 58 */ b lbl_80285E7C lbl_80285D28: /* 80285D28 00282C88 C0 7F 00 58 */ lfs f3, 0x58(r31) /* 80285D2C 00282C8C 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285D30 00282C90 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 80285D34 00282C94 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 80285D38 00282C98 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80285D3C 00282C9C D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285D40 00282CA0 D0 5F 05 44 */ stfs f2, 0x544(r31) /* 80285D44 00282CA4 D0 7F 05 48 */ stfs f3, 0x548(r31) /* 80285D48 00282CA8 C0 3F 05 40 */ lfs f1, 0x540(r31) /* 80285D4C 00282CAC D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285D50 00282CB0 C0 3F 05 44 */ lfs f1, 0x544(r31) /* 80285D54 00282CB4 D0 3F 05 50 */ stfs f1, 0x550(r31) /* 80285D58 00282CB8 C0 3F 05 48 */ lfs f1, 0x548(r31) /* 80285D5C 00282CBC D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285D60 00282CC0 D0 1F 05 54 */ stfs f0, 0x554(r31) /* 80285D64 00282CC4 48 08 E9 95 */ bl CanBeNormalized__9CVector3fCFv /* 80285D68 00282CC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285D6C 00282CCC 41 82 01 10 */ beq lbl_80285E7C /* 80285D70 00282CD0 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285D74 00282CD4 48 08 EB 85 */ bl Normalize__9CVector3fFv /* 80285D78 00282CD8 48 00 01 04 */ b lbl_80285E7C lbl_80285D7C: /* 80285D7C 00282CDC 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80285D80 00282CE0 2C 00 00 01 */ cmpwi r0, 1 /* 80285D84 00282CE4 41 82 00 F8 */ beq lbl_80285E7C /* 80285D88 00282CE8 C0 7F 00 58 */ lfs f3, 0x58(r31) /* 80285D8C 00282CEC 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285D90 00282CF0 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 80285D94 00282CF4 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 80285D98 00282CF8 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80285D9C 00282CFC D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285DA0 00282D00 D0 5F 05 44 */ stfs f2, 0x544(r31) /* 80285DA4 00282D04 D0 7F 05 48 */ stfs f3, 0x548(r31) /* 80285DA8 00282D08 C0 3F 05 40 */ lfs f1, 0x540(r31) /* 80285DAC 00282D0C D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285DB0 00282D10 C0 3F 05 44 */ lfs f1, 0x544(r31) /* 80285DB4 00282D14 D0 3F 05 50 */ stfs f1, 0x550(r31) /* 80285DB8 00282D18 C0 3F 05 48 */ lfs f1, 0x548(r31) /* 80285DBC 00282D1C D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285DC0 00282D20 D0 1F 05 54 */ stfs f0, 0x554(r31) /* 80285DC4 00282D24 48 08 E9 35 */ bl CanBeNormalized__9CVector3fCFv /* 80285DC8 00282D28 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285DCC 00282D2C 41 82 00 B0 */ beq lbl_80285E7C /* 80285DD0 00282D30 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285DD4 00282D34 48 08 EB 25 */ bl Normalize__9CVector3fFv /* 80285DD8 00282D38 48 00 00 A4 */ b lbl_80285E7C lbl_80285DDC: /* 80285DDC 00282D3C C0 3F 04 FC */ lfs f1, 0x4fc(r31) /* 80285DE0 00282D40 C0 02 BE 2C */ lfs f0, lbl_805ADB4C@sda21(r2) /* 80285DE4 00282D44 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80285DE8 00282D48 40 80 00 38 */ bge lbl_80285E20 /* 80285DEC 00282D4C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80285DF0 00282D50 D0 1F 05 40 */ stfs f0, 0x540(r31) /* 80285DF4 00282D54 C0 01 00 30 */ lfs f0, 0x30(r1) /* 80285DF8 00282D58 D0 1F 05 44 */ stfs f0, 0x544(r31) /* 80285DFC 00282D5C C0 01 00 34 */ lfs f0, 0x34(r1) /* 80285E00 00282D60 D0 1F 05 48 */ stfs f0, 0x548(r31) /* 80285E04 00282D64 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80285E08 00282D68 D0 1F 05 4C */ stfs f0, 0x54c(r31) /* 80285E0C 00282D6C C0 01 00 24 */ lfs f0, 0x24(r1) /* 80285E10 00282D70 D0 1F 05 50 */ stfs f0, 0x550(r31) /* 80285E14 00282D74 C0 01 00 28 */ lfs f0, 0x28(r1) /* 80285E18 00282D78 D0 1F 05 54 */ stfs f0, 0x554(r31) /* 80285E1C 00282D7C 48 00 00 60 */ b lbl_80285E7C lbl_80285E20: /* 80285E20 00282D80 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80285E24 00282D84 2C 00 00 01 */ cmpwi r0, 1 /* 80285E28 00282D88 41 82 00 54 */ beq lbl_80285E7C /* 80285E2C 00282D8C C0 7F 00 58 */ lfs f3, 0x58(r31) /* 80285E30 00282D90 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285E34 00282D94 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 80285E38 00282D98 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 80285E3C 00282D9C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80285E40 00282DA0 D0 3F 05 40 */ stfs f1, 0x540(r31) /* 80285E44 00282DA4 D0 5F 05 44 */ stfs f2, 0x544(r31) /* 80285E48 00282DA8 D0 7F 05 48 */ stfs f3, 0x548(r31) /* 80285E4C 00282DAC C0 3F 05 40 */ lfs f1, 0x540(r31) /* 80285E50 00282DB0 D0 3F 05 4C */ stfs f1, 0x54c(r31) /* 80285E54 00282DB4 C0 3F 05 44 */ lfs f1, 0x544(r31) /* 80285E58 00282DB8 D0 3F 05 50 */ stfs f1, 0x550(r31) /* 80285E5C 00282DBC C0 3F 05 48 */ lfs f1, 0x548(r31) /* 80285E60 00282DC0 D0 3F 05 54 */ stfs f1, 0x554(r31) /* 80285E64 00282DC4 D0 1F 05 54 */ stfs f0, 0x554(r31) /* 80285E68 00282DC8 48 08 E8 91 */ bl CanBeNormalized__9CVector3fCFv /* 80285E6C 00282DCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80285E70 00282DD0 41 82 00 0C */ beq lbl_80285E7C /* 80285E74 00282DD4 38 7F 05 4C */ addi r3, r31, 0x54c /* 80285E78 00282DD8 48 08 EA 81 */ bl Normalize__9CVector3fFv lbl_80285E7C: /* 80285E7C 00282DDC E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80285E80 00282DE0 80 01 00 54 */ lwz r0, 0x54(r1) /* 80285E84 00282DE4 CB E1 00 40 */ lfd f31, 0x40(r1) /* 80285E88 00282DE8 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80285E8C 00282DEC 7C 08 03 A6 */ mtlr r0 /* 80285E90 00282DF0 38 21 00 50 */ addi r1, r1, 0x50 /* 80285E94 00282DF4 4E 80 00 20 */ blr .global UpdatePlayerControlDirection__7CPlayerFfR13CStateManager UpdatePlayerControlDirection__7CPlayerFfR13CStateManager: /* 80285E98 00282DF8 94 21 FF 80 */ stwu r1, -0x80(r1) /* 80285E9C 00282DFC 7C 08 02 A6 */ mflr r0 /* 80285EA0 00282E00 90 01 00 84 */ stw r0, 0x84(r1) /* 80285EA4 00282E04 DB E1 00 70 */ stfd f31, 0x70(r1) /* 80285EA8 00282E08 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 80285EAC 00282E0C DB C1 00 60 */ stfd f30, 0x60(r1) /* 80285EB0 00282E10 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 80285EB4 00282E14 DB A1 00 50 */ stfd f29, 0x50(r1) /* 80285EB8 00282E18 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 80285EBC 00282E1C DB 81 00 40 */ stfd f28, 0x40(r1) /* 80285EC0 00282E20 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0 /* 80285EC4 00282E24 DB 61 00 30 */ stfd f27, 0x30(r1) /* 80285EC8 00282E28 F3 61 00 38 */ psq_st f27, 56(r1), 0, qr0 /* 80285ECC 00282E2C DB 41 00 20 */ stfd f26, 0x20(r1) /* 80285ED0 00282E30 F3 41 00 28 */ psq_st f26, 40(r1), 0, qr0 /* 80285ED4 00282E34 DB 21 00 10 */ stfd f25, 0x10(r1) /* 80285ED8 00282E38 F3 21 00 18 */ psq_st f25, 24(r1), 0, qr0 /* 80285EDC 00282E3C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80285EE0 00282E40 7C 7F 1B 78 */ mr r31, r3 /* 80285EE4 00282E44 FF 20 08 90 */ fmr f25, f1 /* 80285EE8 00282E48 C3 E3 05 40 */ lfs f31, 0x540(r3) /* 80285EEC 00282E4C C3 C3 05 44 */ lfs f30, 0x544(r3) /* 80285EF0 00282E50 C3 A3 05 48 */ lfs f29, 0x548(r3) /* 80285EF4 00282E54 C3 83 05 4C */ lfs f28, 0x54c(r3) /* 80285EF8 00282E58 C3 63 05 50 */ lfs f27, 0x550(r3) /* 80285EFC 00282E5C C3 43 05 54 */ lfs f26, 0x554(r3) /* 80285F00 00282E60 4B FF FC 11 */ bl CalculatePlayerControlDirection__7CPlayerFR13CStateManager /* 80285F04 00282E64 88 1F 09 C6 */ lbz r0, 0x9c6(r31) /* 80285F08 00282E68 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80285F0C 00282E6C 41 82 00 CC */ beq lbl_80285FD8 /* 80285F10 00282E70 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80285F14 00282E74 2C 00 00 01 */ cmpwi r0, 1 /* 80285F18 00282E78 40 82 00 C0 */ bne lbl_80285FD8 /* 80285F1C 00282E7C C0 1F 09 F8 */ lfs f0, 0x9f8(r31) /* 80285F20 00282E80 EC 00 C8 2A */ fadds f0, f0, f25 /* 80285F24 00282E84 D0 1F 09 F8 */ stfs f0, 0x9f8(r31) /* 80285F28 00282E88 C0 1F 09 F8 */ lfs f0, 0x9f8(r31) /* 80285F2C 00282E8C C0 3F 09 FC */ lfs f1, 0x9fc(r31) /* 80285F30 00282E90 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80285F34 00282E94 40 81 00 10 */ ble lbl_80285F44 /* 80285F38 00282E98 D0 3F 09 F8 */ stfs f1, 0x9f8(r31) /* 80285F3C 00282E9C 7F E3 FB 78 */ mr r3, r31 /* 80285F40 00282EA0 4B D8 BB 49 */ bl ResetControlDirectionInterpolation__7CPlayerFv lbl_80285F44: /* 80285F44 00282EA4 C0 5F 09 F8 */ lfs f2, 0x9f8(r31) /* 80285F48 00282EA8 C0 3F 09 FC */ lfs f1, 0x9fc(r31) /* 80285F4C 00282EAC C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80285F50 00282EB0 EC 62 08 24 */ fdivs f3, f2, f1 /* 80285F54 00282EB4 FC 20 1A 10 */ fabs f1, f3 /* 80285F58 00282EB8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80285F5C 00282EBC 40 81 00 14 */ ble lbl_80285F70 /* 80285F60 00282EC0 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80285F64 00282EC4 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80285F68 00282EC8 FC 03 00 6E */ fsel f0, f3, f1, f0 /* 80285F6C 00282ECC EC 61 00 32 */ fmuls f3, f1, f0 lbl_80285F70: /* 80285F70 00282ED0 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80285F74 00282ED4 C0 1F 05 40 */ lfs f0, 0x540(r31) /* 80285F78 00282ED8 C0 5F 05 44 */ lfs f2, 0x544(r31) /* 80285F7C 00282EDC EC 81 18 28 */ fsubs f4, f1, f3 /* 80285F80 00282EE0 EC 00 00 F2 */ fmuls f0, f0, f3 /* 80285F84 00282EE4 C0 3F 05 48 */ lfs f1, 0x548(r31) /* 80285F88 00282EE8 EC 42 00 F2 */ fmuls f2, f2, f3 /* 80285F8C 00282EEC EC 21 00 F2 */ fmuls f1, f1, f3 /* 80285F90 00282EF0 EC 1F 01 3A */ fmadds f0, f31, f4, f0 /* 80285F94 00282EF4 EC 5E 11 3A */ fmadds f2, f30, f4, f2 /* 80285F98 00282EF8 EC 3D 09 3A */ fmadds f1, f29, f4, f1 /* 80285F9C 00282EFC D0 1F 05 40 */ stfs f0, 0x540(r31) /* 80285FA0 00282F00 D0 5F 05 44 */ stfs f2, 0x544(r31) /* 80285FA4 00282F04 D0 3F 05 48 */ stfs f1, 0x548(r31) /* 80285FA8 00282F08 C0 1F 05 40 */ lfs f0, 0x540(r31) /* 80285FAC 00282F0C C0 5F 05 44 */ lfs f2, 0x544(r31) /* 80285FB0 00282F10 EC 00 00 F2 */ fmuls f0, f0, f3 /* 80285FB4 00282F14 C0 3F 05 48 */ lfs f1, 0x548(r31) /* 80285FB8 00282F18 EC 42 00 F2 */ fmuls f2, f2, f3 /* 80285FBC 00282F1C EC 21 00 F2 */ fmuls f1, f1, f3 /* 80285FC0 00282F20 EC 1C 01 3A */ fmadds f0, f28, f4, f0 /* 80285FC4 00282F24 EC 5B 11 3A */ fmadds f2, f27, f4, f2 /* 80285FC8 00282F28 EC 3A 09 3A */ fmadds f1, f26, f4, f1 /* 80285FCC 00282F2C D0 1F 05 4C */ stfs f0, 0x54c(r31) /* 80285FD0 00282F30 D0 5F 05 50 */ stfs f2, 0x550(r31) /* 80285FD4 00282F34 D0 3F 05 54 */ stfs f1, 0x554(r31) lbl_80285FD8: /* 80285FD8 00282F38 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 80285FDC 00282F3C CB E1 00 70 */ lfd f31, 0x70(r1) /* 80285FE0 00282F40 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0 /* 80285FE4 00282F44 CB C1 00 60 */ lfd f30, 0x60(r1) /* 80285FE8 00282F48 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0 /* 80285FEC 00282F4C CB A1 00 50 */ lfd f29, 0x50(r1) /* 80285FF0 00282F50 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0 /* 80285FF4 00282F54 CB 81 00 40 */ lfd f28, 0x40(r1) /* 80285FF8 00282F58 E3 61 00 38 */ psq_l f27, 56(r1), 0, qr0 /* 80285FFC 00282F5C CB 61 00 30 */ lfd f27, 0x30(r1) /* 80286000 00282F60 E3 41 00 28 */ psq_l f26, 40(r1), 0, qr0 /* 80286004 00282F64 CB 41 00 20 */ lfd f26, 0x20(r1) /* 80286008 00282F68 E3 21 00 18 */ psq_l f25, 24(r1), 0, qr0 /* 8028600C 00282F6C CB 21 00 10 */ lfd f25, 0x10(r1) /* 80286010 00282F70 80 01 00 84 */ lwz r0, 0x84(r1) /* 80286014 00282F74 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80286018 00282F78 7C 08 03 A6 */ mtlr r0 /* 8028601C 00282F7C 38 21 00 80 */ addi r1, r1, 0x80 /* 80286020 00282F80 4E 80 00 20 */ blr .global CalculatePlayerMovementDirection__7CPlayerFf CalculatePlayerMovementDirection__7CPlayerFf: /* 80286024 00282F84 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80286028 00282F88 7C 08 02 A6 */ mflr r0 /* 8028602C 00282F8C 90 01 00 54 */ stw r0, 0x54(r1) /* 80286030 00282F90 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80286034 00282F94 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80286038 00282F98 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8028603C 00282F9C 7C 7F 1B 78 */ mr r31, r3 /* 80286040 00282FA0 FF E0 08 90 */ fmr f31, f1 /* 80286044 00282FA4 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 80286048 00282FA8 2C 00 00 02 */ cmpwi r0, 2 /* 8028604C 00282FAC 41 82 03 84 */ beq lbl_802863D0 /* 80286050 00282FB0 2C 00 00 03 */ cmpwi r0, 3 /* 80286054 00282FB4 40 82 00 08 */ bne lbl_8028605C /* 80286058 00282FB8 48 00 03 78 */ b lbl_802863D0 lbl_8028605C: /* 8028605C 00282FBC C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80286060 00282FC0 38 61 00 20 */ addi r3, r1, 0x20 /* 80286064 00282FC4 C0 1F 05 28 */ lfs f0, 0x528(r31) /* 80286068 00282FC8 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 8028606C 00282FCC C0 5F 05 2C */ lfs f2, 0x52c(r31) /* 80286070 00282FD0 EC 81 00 28 */ fsubs f4, f1, f0 /* 80286074 00282FD4 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 80286078 00282FD8 C0 1F 05 24 */ lfs f0, 0x524(r31) /* 8028607C 00282FDC EC 43 10 28 */ fsubs f2, f3, f2 /* 80286080 00282FE0 EC 01 00 28 */ fsubs f0, f1, f0 /* 80286084 00282FE4 D0 81 00 24 */ stfs f4, 0x24(r1) /* 80286088 00282FE8 D0 41 00 28 */ stfs f2, 0x28(r1) /* 8028608C 00282FEC D0 01 00 20 */ stfs f0, 0x20(r1) /* 80286090 00282FF0 48 08 E6 69 */ bl CanBeNormalized__9CVector3fCFv /* 80286094 00282FF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286098 00282FF8 41 82 02 50 */ beq lbl_802862E8 /* 8028609C 00282FFC 38 61 00 20 */ addi r3, r1, 0x20 /* 802860A0 00283000 48 08 E8 19 */ bl Magnitude__9CVector3fCFv /* 802860A4 00283004 C0 02 BE 30 */ lfs f0, lbl_805ADB50@sda21(r2) /* 802860A8 00283008 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802860AC 0028300C 40 81 02 3C */ ble lbl_802862E8 /* 802860B0 00283010 C0 1F 05 3C */ lfs f0, 0x53c(r31) /* 802860B4 00283014 38 61 00 20 */ addi r3, r1, 0x20 /* 802860B8 00283018 EC 00 F8 2A */ fadds f0, f0, f31 /* 802860BC 0028301C D0 1F 05 3C */ stfs f0, 0x53c(r31) /* 802860C0 00283020 48 08 E7 F9 */ bl Magnitude__9CVector3fCFv /* 802860C4 00283024 EC 01 F8 24 */ fdivs f0, f1, f31 /* 802860C8 00283028 38 61 00 08 */ addi r3, r1, 8 /* 802860CC 0028302C 38 81 00 20 */ addi r4, r1, 0x20 /* 802860D0 00283030 FC 00 02 10 */ fabs f0, f0 /* 802860D4 00283034 FC 00 00 18 */ frsp f0, f0 /* 802860D8 00283038 D0 1F 04 F8 */ stfs f0, 0x4f8(r31) /* 802860DC 0028303C 48 08 E7 75 */ bl AsNormalized__9CVector3fCFv /* 802860E0 00283040 C0 21 00 08 */ lfs f1, 8(r1) /* 802860E4 00283044 38 61 00 14 */ addi r3, r1, 0x14 /* 802860E8 00283048 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802860EC 0028304C D0 3F 05 00 */ stfs f1, 0x500(r31) /* 802860F0 00283050 C0 21 00 0C */ lfs f1, 0xc(r1) /* 802860F4 00283054 D0 3F 05 04 */ stfs f1, 0x504(r31) /* 802860F8 00283058 C0 21 00 10 */ lfs f1, 0x10(r1) /* 802860FC 0028305C D0 3F 05 08 */ stfs f1, 0x508(r31) /* 80286100 00283060 C0 21 00 28 */ lfs f1, 0x28(r1) /* 80286104 00283064 C0 41 00 20 */ lfs f2, 0x20(r1) /* 80286108 00283068 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 8028610C 0028306C C0 21 00 24 */ lfs f1, 0x24(r1) /* 80286110 00283070 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80286114 00283074 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80286118 00283078 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8028611C 0028307C 48 08 E5 DD */ bl CanBeNormalized__9CVector3fCFv /* 80286120 00283080 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286124 00283084 41 82 01 2C */ beq lbl_80286250 /* 80286128 00283088 38 61 00 14 */ addi r3, r1, 0x14 /* 8028612C 0028308C 48 08 E7 8D */ bl Magnitude__9CVector3fCFv /* 80286130 00283090 EC 01 F8 24 */ fdivs f0, f1, f31 /* 80286134 00283094 38 61 00 14 */ addi r3, r1, 0x14 /* 80286138 00283098 FC 00 02 10 */ fabs f0, f0 /* 8028613C 0028309C FC 00 00 18 */ frsp f0, f0 /* 80286140 002830A0 D0 1F 04 FC */ stfs f0, 0x4fc(r31) /* 80286144 002830A4 48 08 E7 B5 */ bl Normalize__9CVector3fFv /* 80286148 002830A8 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 8028614C 002830AC 2C 00 00 01 */ cmpwi r0, 1 /* 80286150 002830B0 41 82 00 20 */ beq lbl_80286170 /* 80286154 002830B4 40 80 00 10 */ bge lbl_80286164 /* 80286158 002830B8 2C 00 00 00 */ cmpwi r0, 0 /* 8028615C 002830BC 40 80 00 70 */ bge lbl_802861CC /* 80286160 002830C0 48 00 02 50 */ b lbl_802863B0 lbl_80286164: /* 80286164 002830C4 2C 00 00 04 */ cmpwi r0, 4 /* 80286168 002830C8 40 80 02 48 */ bge lbl_802863B0 /* 8028616C 002830CC 48 00 00 60 */ b lbl_802861CC lbl_80286170: /* 80286170 002830D0 C0 3F 04 FC */ lfs f1, 0x4fc(r31) /* 80286174 002830D4 C0 02 BE 2C */ lfs f0, lbl_805ADB4C@sda21(r2) /* 80286178 002830D8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028617C 002830DC 40 81 00 1C */ ble lbl_80286198 /* 80286180 002830E0 C0 01 00 14 */ lfs f0, 0x14(r1) /* 80286184 002830E4 D0 1F 05 0C */ stfs f0, 0x50c(r31) /* 80286188 002830E8 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8028618C 002830EC D0 1F 05 10 */ stfs f0, 0x510(r31) /* 80286190 002830F0 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80286194 002830F4 D0 1F 05 14 */ stfs f0, 0x514(r31) lbl_80286198: /* 80286198 002830F8 C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 8028619C 002830FC D0 1F 05 30 */ stfs f0, 0x530(r31) /* 802861A0 00283100 C0 1F 05 10 */ lfs f0, 0x510(r31) /* 802861A4 00283104 D0 1F 05 34 */ stfs f0, 0x534(r31) /* 802861A8 00283108 C0 1F 05 14 */ lfs f0, 0x514(r31) /* 802861AC 0028310C D0 1F 05 38 */ stfs f0, 0x538(r31) /* 802861B0 00283110 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 802861B4 00283114 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 802861B8 00283118 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 802861BC 0028311C D0 1F 05 24 */ stfs f0, 0x524(r31) /* 802861C0 00283120 D0 3F 05 28 */ stfs f1, 0x528(r31) /* 802861C4 00283124 D0 5F 05 2C */ stfs f2, 0x52c(r31) /* 802861C8 00283128 48 00 01 E8 */ b lbl_802863B0 lbl_802861CC: /* 802861CC 0028312C C0 7F 00 58 */ lfs f3, 0x58(r31) /* 802861D0 00283130 38 7F 05 0C */ addi r3, r31, 0x50c /* 802861D4 00283134 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 802861D8 00283138 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 802861DC 0028313C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802861E0 00283140 D0 3F 05 00 */ stfs f1, 0x500(r31) /* 802861E4 00283144 D0 5F 05 04 */ stfs f2, 0x504(r31) /* 802861E8 00283148 D0 7F 05 08 */ stfs f3, 0x508(r31) /* 802861EC 0028314C C0 3F 05 00 */ lfs f1, 0x500(r31) /* 802861F0 00283150 D0 3F 05 0C */ stfs f1, 0x50c(r31) /* 802861F4 00283154 C0 3F 05 04 */ lfs f1, 0x504(r31) /* 802861F8 00283158 D0 3F 05 10 */ stfs f1, 0x510(r31) /* 802861FC 0028315C C0 3F 05 08 */ lfs f1, 0x508(r31) /* 80286200 00283160 D0 3F 05 14 */ stfs f1, 0x514(r31) /* 80286204 00283164 D0 1F 05 14 */ stfs f0, 0x514(r31) /* 80286208 00283168 48 08 E4 F1 */ bl CanBeNormalized__9CVector3fCFv /* 8028620C 0028316C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286210 00283170 41 82 00 0C */ beq lbl_8028621C /* 80286214 00283174 38 7F 05 0C */ addi r3, r31, 0x50c /* 80286218 00283178 48 08 E6 E1 */ bl Normalize__9CVector3fFv lbl_8028621C: /* 8028621C 0028317C C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 80286220 00283180 D0 1F 05 30 */ stfs f0, 0x530(r31) /* 80286224 00283184 C0 1F 05 10 */ lfs f0, 0x510(r31) /* 80286228 00283188 D0 1F 05 34 */ stfs f0, 0x534(r31) /* 8028622C 0028318C C0 1F 05 14 */ lfs f0, 0x514(r31) /* 80286230 00283190 D0 1F 05 38 */ stfs f0, 0x538(r31) /* 80286234 00283194 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80286238 00283198 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 8028623C 0028319C C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80286240 002831A0 D0 1F 05 24 */ stfs f0, 0x524(r31) /* 80286244 002831A4 D0 3F 05 28 */ stfs f1, 0x528(r31) /* 80286248 002831A8 D0 5F 05 2C */ stfs f2, 0x52c(r31) /* 8028624C 002831AC 48 00 01 64 */ b lbl_802863B0 lbl_80286250: /* 80286250 002831B0 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 80286254 002831B4 2C 00 00 01 */ cmpwi r0, 1 /* 80286258 002831B8 41 82 00 84 */ beq lbl_802862DC /* 8028625C 002831BC C0 7F 00 58 */ lfs f3, 0x58(r31) /* 80286260 002831C0 38 7F 05 0C */ addi r3, r31, 0x50c /* 80286264 002831C4 C0 5F 00 48 */ lfs f2, 0x48(r31) /* 80286268 002831C8 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 8028626C 002831CC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286270 002831D0 D0 3F 05 00 */ stfs f1, 0x500(r31) /* 80286274 002831D4 D0 5F 05 04 */ stfs f2, 0x504(r31) /* 80286278 002831D8 D0 7F 05 08 */ stfs f3, 0x508(r31) /* 8028627C 002831DC C0 3F 05 00 */ lfs f1, 0x500(r31) /* 80286280 002831E0 D0 3F 05 0C */ stfs f1, 0x50c(r31) /* 80286284 002831E4 C0 3F 05 04 */ lfs f1, 0x504(r31) /* 80286288 002831E8 D0 3F 05 10 */ stfs f1, 0x510(r31) /* 8028628C 002831EC C0 3F 05 08 */ lfs f1, 0x508(r31) /* 80286290 002831F0 D0 3F 05 14 */ stfs f1, 0x514(r31) /* 80286294 002831F4 D0 1F 05 14 */ stfs f0, 0x514(r31) /* 80286298 002831F8 48 08 E4 61 */ bl CanBeNormalized__9CVector3fCFv /* 8028629C 002831FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802862A0 00283200 41 82 00 0C */ beq lbl_802862AC /* 802862A4 00283204 38 7F 05 0C */ addi r3, r31, 0x50c /* 802862A8 00283208 48 08 E6 51 */ bl Normalize__9CVector3fFv lbl_802862AC: /* 802862AC 0028320C C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 802862B0 00283210 D0 1F 05 30 */ stfs f0, 0x530(r31) /* 802862B4 00283214 C0 1F 05 10 */ lfs f0, 0x510(r31) /* 802862B8 00283218 D0 1F 05 34 */ stfs f0, 0x534(r31) /* 802862BC 0028321C C0 1F 05 14 */ lfs f0, 0x514(r31) /* 802862C0 00283220 D0 1F 05 38 */ stfs f0, 0x538(r31) /* 802862C4 00283224 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 802862C8 00283228 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 802862CC 0028322C C0 1F 00 40 */ lfs f0, 0x40(r31) /* 802862D0 00283230 D0 1F 05 24 */ stfs f0, 0x524(r31) /* 802862D4 00283234 D0 3F 05 28 */ stfs f1, 0x528(r31) /* 802862D8 00283238 D0 5F 05 2C */ stfs f2, 0x52c(r31) lbl_802862DC: /* 802862DC 0028323C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802862E0 00283240 D0 1F 04 FC */ stfs f0, 0x4fc(r31) /* 802862E4 00283244 48 00 00 CC */ b lbl_802863B0 lbl_802862E8: /* 802862E8 00283248 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802862EC 0028324C D0 1F 05 3C */ stfs f0, 0x53c(r31) /* 802862F0 00283250 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 802862F4 00283254 2C 00 00 04 */ cmpwi r0, 4 /* 802862F8 00283258 40 80 00 2C */ bge lbl_80286324 /* 802862FC 0028325C 2C 00 00 01 */ cmpwi r0, 1 /* 80286300 00283260 40 80 00 08 */ bge lbl_80286308 /* 80286304 00283264 48 00 00 20 */ b lbl_80286324 lbl_80286308: /* 80286308 00283268 C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 8028630C 0028326C D0 1F 05 00 */ stfs f0, 0x500(r31) /* 80286310 00283270 C0 1F 05 10 */ lfs f0, 0x510(r31) /* 80286314 00283274 D0 1F 05 04 */ stfs f0, 0x504(r31) /* 80286318 00283278 C0 1F 05 14 */ lfs f0, 0x514(r31) /* 8028631C 0028327C D0 1F 05 08 */ stfs f0, 0x508(r31) /* 80286320 00283280 48 00 00 84 */ b lbl_802863A4 lbl_80286324: /* 80286324 00283284 C0 7F 00 58 */ lfs f3, 0x58(r31) /* 80286328 00283288 38 7F 05 0C */ addi r3, r31, 0x50c /* 8028632C 0028328C C0 5F 00 48 */ lfs f2, 0x48(r31) /* 80286330 00283290 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 80286334 00283294 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286338 00283298 D0 3F 05 00 */ stfs f1, 0x500(r31) /* 8028633C 0028329C D0 5F 05 04 */ stfs f2, 0x504(r31) /* 80286340 002832A0 D0 7F 05 08 */ stfs f3, 0x508(r31) /* 80286344 002832A4 C0 3F 05 00 */ lfs f1, 0x500(r31) /* 80286348 002832A8 D0 3F 05 0C */ stfs f1, 0x50c(r31) /* 8028634C 002832AC C0 3F 05 04 */ lfs f1, 0x504(r31) /* 80286350 002832B0 D0 3F 05 10 */ stfs f1, 0x510(r31) /* 80286354 002832B4 C0 3F 05 08 */ lfs f1, 0x508(r31) /* 80286358 002832B8 D0 3F 05 14 */ stfs f1, 0x514(r31) /* 8028635C 002832BC D0 1F 05 14 */ stfs f0, 0x514(r31) /* 80286360 002832C0 48 08 E3 99 */ bl CanBeNormalized__9CVector3fCFv /* 80286364 002832C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286368 002832C8 41 82 00 0C */ beq lbl_80286374 /* 8028636C 002832CC 38 7F 05 0C */ addi r3, r31, 0x50c /* 80286370 002832D0 48 08 E5 89 */ bl Normalize__9CVector3fFv lbl_80286374: /* 80286374 002832D4 C0 1F 05 0C */ lfs f0, 0x50c(r31) /* 80286378 002832D8 D0 1F 05 30 */ stfs f0, 0x530(r31) /* 8028637C 002832DC C0 1F 05 10 */ lfs f0, 0x510(r31) /* 80286380 002832E0 D0 1F 05 34 */ stfs f0, 0x534(r31) /* 80286384 002832E4 C0 1F 05 14 */ lfs f0, 0x514(r31) /* 80286388 002832E8 D0 1F 05 38 */ stfs f0, 0x538(r31) /* 8028638C 002832EC C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80286390 002832F0 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80286394 002832F4 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80286398 002832F8 D0 1F 05 24 */ stfs f0, 0x524(r31) /* 8028639C 002832FC D0 3F 05 28 */ stfs f1, 0x528(r31) /* 802863A0 00283300 D0 5F 05 2C */ stfs f2, 0x52c(r31) lbl_802863A4: /* 802863A4 00283304 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802863A8 00283308 D0 1F 04 F8 */ stfs f0, 0x4f8(r31) /* 802863AC 0028330C D0 1F 04 FC */ stfs f0, 0x4fc(r31) lbl_802863B0: /* 802863B0 00283310 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802863B4 00283314 38 7F 05 0C */ addi r3, r31, 0x50c /* 802863B8 00283318 D0 1F 05 14 */ stfs f0, 0x514(r31) /* 802863BC 0028331C 48 08 E3 3D */ bl CanBeNormalized__9CVector3fCFv /* 802863C0 00283320 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802863C4 00283324 41 82 00 0C */ beq lbl_802863D0 /* 802863C8 00283328 38 7F 05 00 */ addi r3, r31, 0x500 /* 802863CC 0028332C 48 08 E5 2D */ bl Normalize__9CVector3fFv lbl_802863D0: /* 802863D0 00283330 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 802863D4 00283334 80 01 00 54 */ lwz r0, 0x54(r1) /* 802863D8 00283338 CB E1 00 40 */ lfd f31, 0x40(r1) /* 802863DC 0028333C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802863E0 00283340 7C 08 03 A6 */ mtlr r0 /* 802863E4 00283344 38 21 00 50 */ addi r1, r1, 0x50 /* 802863E8 00283348 4E 80 00 20 */ blr .global SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager: /* 802863EC 0028334C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802863F0 00283350 7C 08 02 A6 */ mflr r0 /* 802863F4 00283354 2C 04 00 02 */ cmpwi r4, 2 /* 802863F8 00283358 90 01 00 24 */ stw r0, 0x24(r1) /* 802863FC 0028335C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80286400 00283360 7C 7F 1B 78 */ mr r31, r3 /* 80286404 00283364 93 C1 00 18 */ stw r30, 0x18(r1) /* 80286408 00283368 7C BE 2B 78 */ mr r30, r5 /* 8028640C 0028336C 41 82 02 5C */ beq lbl_80286668 /* 80286410 00283370 40 80 00 14 */ bge lbl_80286424 /* 80286414 00283374 2C 04 00 00 */ cmpwi r4, 0 /* 80286418 00283378 41 82 02 04 */ beq lbl_8028661C /* 8028641C 0028337C 40 80 00 18 */ bge lbl_80286434 /* 80286420 00283380 48 00 02 B4 */ b lbl_802866D4 lbl_80286424: /* 80286424 00283384 2C 04 00 04 */ cmpwi r4, 4 /* 80286428 00283388 41 82 01 E0 */ beq lbl_80286608 /* 8028642C 0028338C 40 80 02 A8 */ bge lbl_802866D4 /* 80286430 00283390 48 00 01 88 */ b lbl_802865B8 lbl_80286434: /* 80286434 00283394 80 1F 02 58 */ lwz r0, 0x258(r31) /* 80286438 00283398 2C 00 00 02 */ cmpwi r0, 2 /* 8028643C 0028339C 40 82 00 80 */ bne lbl_802864BC /* 80286440 002833A0 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2) /* 80286444 002833A4 38 61 00 10 */ addi r3, r1, 0x10 /* 80286448 002833A8 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2) /* 8028644C 002833AC 38 80 05 BE */ li r4, 0x5be /* 80286450 002833B0 38 A0 00 7F */ li r5, 0x7f /* 80286454 002833B4 38 C0 00 40 */ li r6, 0x40 /* 80286458 002833B8 38 E0 00 01 */ li r7, 1 /* 8028645C 002833BC 39 20 00 00 */ li r9, 0 /* 80286460 002833C0 48 06 39 15 */ bl SfxStart__11CSfxManagerFUsssbsbi /* 80286464 002833C4 80 01 00 10 */ lwz r0, 0x10(r1) /* 80286468 002833C8 7F E3 FB 78 */ mr r3, r31 /* 8028646C 002833CC 38 81 00 14 */ addi r4, r1, 0x14 /* 80286470 002833D0 90 01 00 14 */ stw r0, 0x14(r1) /* 80286474 002833D4 4B D8 AD 19 */ bl ApplySubmergedPitchBend__7CPlayerFR10CSfxHandle /* 80286478 002833D8 80 7E 08 8C */ lwz r3, 0x88c(r30) /* 8028647C 002833DC 7F C4 F3 78 */ mr r4, r30 /* 80286480 002833E0 C0 22 BE 34 */ lfs f1, lbl_805ADB54@sda21(r2) /* 80286484 002833E4 38 A0 00 0B */ li r5, 0xb /* 80286488 002833E8 38 C0 00 01 */ li r6, 1 /* 8028648C 002833EC 4B FA 7D B9 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority /* 80286490 002833F0 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286494 002833F4 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286498 002833F8 C0 23 00 F8 */ lfs f1, 0xf8(r3) /* 8028649C 002833FC D0 3F 02 88 */ stfs f1, 0x288(r31) /* 802864A0 00283400 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802864A4 00283404 C0 43 01 0C */ lfs f2, 0x10c(r3) /* 802864A8 00283408 C0 23 00 F8 */ lfs f1, 0xf8(r3) /* 802864AC 0028340C EC 21 10 28 */ fsubs f1, f1, f2 /* 802864B0 00283410 D0 3F 02 90 */ stfs f1, 0x290(r31) /* 802864B4 00283414 D0 1F 02 8C */ stfs f0, 0x28c(r31) /* 802864B8 00283418 48 00 00 E8 */ b lbl_802865A0 lbl_802864BC: /* 802864BC 0028341C 2C 00 00 01 */ cmpwi r0, 1 /* 802864C0 00283420 41 82 00 E0 */ beq lbl_802865A0 /* 802864C4 00283424 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2) /* 802864C8 00283428 38 61 00 08 */ addi r3, r1, 8 /* 802864CC 0028342C 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2) /* 802864D0 00283430 38 80 05 BF */ li r4, 0x5bf /* 802864D4 00283434 38 A0 00 7F */ li r5, 0x7f /* 802864D8 00283438 38 C0 00 40 */ li r6, 0x40 /* 802864DC 0028343C 38 E0 00 01 */ li r7, 1 /* 802864E0 00283440 39 20 00 00 */ li r9, 0 /* 802864E4 00283444 48 06 38 91 */ bl SfxStart__11CSfxManagerFUsssbsbi /* 802864E8 00283448 80 01 00 08 */ lwz r0, 8(r1) /* 802864EC 0028344C 7F E3 FB 78 */ mr r3, r31 /* 802864F0 00283450 38 81 00 0C */ addi r4, r1, 0xc /* 802864F4 00283454 90 01 00 0C */ stw r0, 0xc(r1) /* 802864F8 00283458 4B D8 AC 95 */ bl ApplySubmergedPitchBend__7CPlayerFR10CSfxHandle /* 802864FC 0028345C C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 80286500 00283460 38 80 00 0F */ li r4, 0xf /* 80286504 00283464 D0 1F 02 A0 */ stfs f0, 0x2a0(r31) /* 80286508 00283468 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8028650C 0028346C C0 03 00 F4 */ lfs f0, 0xf4(r3) /* 80286510 00283470 D0 1F 02 88 */ stfs f0, 0x288(r31) /* 80286514 00283474 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286518 00283478 C0 23 01 08 */ lfs f1, 0x108(r3) /* 8028651C 0028347C C0 03 00 F4 */ lfs f0, 0xf4(r3) /* 80286520 00283480 EC 00 08 28 */ fsubs f0, f0, f1 /* 80286524 00283484 D0 1F 02 90 */ stfs f0, 0x290(r31) /* 80286528 00283488 80 7E 08 B8 */ lwz r3, 0x8b8(r30) /* 8028652C 0028348C 80 63 00 00 */ lwz r3, 0(r3) /* 80286530 00283490 4B E0 B5 ED */ bl GetItemAmount__12CPlayerStateCFQ212CPlayerState9EItemType /* 80286534 00283494 2C 03 00 00 */ cmpwi r3, 0 /* 80286538 00283498 41 82 00 14 */ beq lbl_8028654C /* 8028653C 0028349C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286540 002834A0 C0 03 01 00 */ lfs f0, 0x100(r3) /* 80286544 002834A4 D0 1F 02 8C */ stfs f0, 0x28c(r31) /* 80286548 002834A8 48 00 00 0C */ b lbl_80286554 lbl_8028654C: /* 8028654C 002834AC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286550 002834B0 D0 1F 02 8C */ stfs f0, 0x28c(r31) lbl_80286554: /* 80286554 002834B4 C0 1F 02 94 */ lfs f0, 0x294(r31) /* 80286558 002834B8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 8028655C 002834BC FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80286560 002834C0 4C 40 13 82 */ cror 2, 0, 2 /* 80286564 002834C4 40 82 00 3C */ bne lbl_802865A0 /* 80286568 002834C8 C0 1F 02 9C */ lfs f0, 0x29c(r31) /* 8028656C 002834CC FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80286570 002834D0 4C 40 13 82 */ cror 2, 0, 2 /* 80286574 002834D4 40 82 00 2C */ bne lbl_802865A0 /* 80286578 002834D8 88 1F 03 DC */ lbz r0, 0x3dc(r31) /* 8028657C 002834DC 28 00 00 00 */ cmplwi r0, 0 /* 80286580 002834E0 40 82 00 20 */ bne lbl_802865A0 /* 80286584 002834E4 88 1F 03 DD */ lbz r0, 0x3dd(r31) /* 80286588 002834E8 28 00 00 00 */ cmplwi r0, 0 /* 8028658C 002834EC 40 82 00 14 */ bne lbl_802865A0 /* 80286590 002834F0 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 80286594 002834F4 38 00 00 00 */ li r0, 0 /* 80286598 002834F8 D0 1F 02 94 */ stfs f0, 0x294(r31) /* 8028659C 002834FC 98 1F 02 A4 */ stb r0, 0x2a4(r31) lbl_802865A0: /* 802865A0 00283500 38 00 00 01 */ li r0, 1 /* 802865A4 00283504 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802865A8 00283508 90 1F 02 58 */ stw r0, 0x258(r31) /* 802865AC 0028350C 90 1F 02 AC */ stw r0, 0x2ac(r31) /* 802865B0 00283510 D0 1F 02 A8 */ stfs f0, 0x2a8(r31) /* 802865B4 00283514 48 00 01 20 */ b lbl_802866D4 lbl_802865B8: /* 802865B8 00283518 80 1F 02 58 */ lwz r0, 0x258(r31) /* 802865BC 0028351C 2C 00 00 00 */ cmpwi r0, 0 /* 802865C0 00283520 40 82 01 14 */ bne lbl_802866D4 /* 802865C4 00283524 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802865C8 00283528 38 00 00 03 */ li r0, 3 /* 802865CC 0028352C C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 802865D0 00283530 C0 23 01 10 */ lfs f1, 0x110(r3) /* 802865D4 00283534 D0 3F 02 88 */ stfs f1, 0x288(r31) /* 802865D8 00283538 90 1F 02 58 */ stw r0, 0x258(r31) /* 802865DC 0028353C D0 1F 02 A0 */ stfs f0, 0x2a0(r31) /* 802865E0 00283540 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802865E4 00283544 88 03 02 2A */ lbz r0, 0x22a(r3) /* 802865E8 00283548 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 802865EC 0028354C 41 82 00 10 */ beq lbl_802865FC /* 802865F0 00283550 C0 03 01 00 */ lfs f0, 0x100(r3) /* 802865F4 00283554 D0 1F 02 8C */ stfs f0, 0x28c(r31) /* 802865F8 00283558 48 00 00 DC */ b lbl_802866D4 lbl_802865FC: /* 802865FC 0028355C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286600 00283560 D0 1F 02 8C */ stfs f0, 0x28c(r31) /* 80286604 00283564 48 00 00 D0 */ b lbl_802866D4 lbl_80286608: /* 80286608 00283568 38 60 00 04 */ li r3, 4 /* 8028660C 0028356C 38 00 00 00 */ li r0, 0 /* 80286610 00283570 90 7F 02 58 */ stw r3, 0x258(r31) /* 80286614 00283574 90 1F 02 AC */ stw r0, 0x2ac(r31) /* 80286618 00283578 48 00 00 BC */ b lbl_802866D4 lbl_8028661C: /* 8028661C 0028357C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286620 00283580 38 00 00 00 */ li r0, 0 /* 80286624 00283584 D0 1F 03 00 */ stfs f0, 0x300(r31) /* 80286628 00283588 90 1F 02 58 */ stw r0, 0x258(r31) /* 8028662C 0028358C D0 1F 02 88 */ stfs f0, 0x288(r31) /* 80286630 00283590 D0 1F 02 8C */ stfs f0, 0x28c(r31) /* 80286634 00283594 90 1F 02 AC */ stw r0, 0x2ac(r31) /* 80286638 00283598 80 1F 02 F8 */ lwz r0, 0x2f8(r31) /* 8028663C 0028359C 2C 00 00 01 */ cmpwi r0, 1 /* 80286640 002835A0 41 82 00 0C */ beq lbl_8028664C /* 80286644 002835A4 38 80 00 25 */ li r4, 0x25 /* 80286648 002835A8 4B DC DD 09 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager lbl_8028664C: /* 8028664C 002835AC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286650 002835B0 38 00 00 00 */ li r0, 0 /* 80286654 002835B4 D0 1F 02 94 */ stfs f0, 0x294(r31) /* 80286658 002835B8 D0 1F 02 9C */ stfs f0, 0x29c(r31) /* 8028665C 002835BC 98 1F 02 A4 */ stb r0, 0x2a4(r31) /* 80286660 002835C0 90 1F 02 98 */ stw r0, 0x298(r31) /* 80286664 002835C4 48 00 00 70 */ b lbl_802866D4 lbl_80286668: /* 80286668 002835C8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 8028666C 002835CC D0 3F 02 88 */ stfs f1, 0x288(r31) /* 80286670 002835D0 80 1F 02 58 */ lwz r0, 0x258(r31) /* 80286674 002835D4 2C 00 00 02 */ cmpwi r0, 2 /* 80286678 002835D8 41 82 00 54 */ beq lbl_802866CC /* 8028667C 002835DC 38 00 00 02 */ li r0, 2 /* 80286680 002835E0 90 1F 02 58 */ stw r0, 0x258(r31) /* 80286684 002835E4 C0 1F 02 94 */ lfs f0, 0x294(r31) /* 80286688 002835E8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8028668C 002835EC 4C 40 13 82 */ cror 2, 0, 2 /* 80286690 002835F0 40 82 00 3C */ bne lbl_802866CC /* 80286694 002835F4 C0 1F 02 9C */ lfs f0, 0x29c(r31) /* 80286698 002835F8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8028669C 002835FC 4C 40 13 82 */ cror 2, 0, 2 /* 802866A0 00283600 40 82 00 2C */ bne lbl_802866CC /* 802866A4 00283604 88 1F 03 DC */ lbz r0, 0x3dc(r31) /* 802866A8 00283608 28 00 00 00 */ cmplwi r0, 0 /* 802866AC 0028360C 40 82 00 20 */ bne lbl_802866CC /* 802866B0 00283610 88 1F 03 DD */ lbz r0, 0x3dd(r31) /* 802866B4 00283614 28 00 00 00 */ cmplwi r0, 0 /* 802866B8 00283618 40 82 00 14 */ bne lbl_802866CC /* 802866BC 0028361C C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 802866C0 00283620 38 00 00 00 */ li r0, 0 /* 802866C4 00283624 D0 1F 02 9C */ stfs f0, 0x29c(r31) /* 802866C8 00283628 98 1F 02 A4 */ stb r0, 0x2a4(r31) lbl_802866CC: /* 802866CC 0028362C 38 00 00 01 */ li r0, 1 /* 802866D0 00283630 90 1F 02 AC */ stw r0, 0x2ac(r31) lbl_802866D4: /* 802866D4 00283634 80 01 00 24 */ lwz r0, 0x24(r1) /* 802866D8 00283638 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802866DC 0028363C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802866E0 00283640 7C 08 03 A6 */ mtlr r0 /* 802866E4 00283644 38 21 00 20 */ addi r1, r1, 0x20 /* 802866E8 00283648 4E 80 00 20 */ blr .global JumpInput__7CPlayerFRC11CFinalInputR13CStateManager JumpInput__7CPlayerFRC11CFinalInputR13CStateManager: /* 802866EC 0028364C 94 21 FF 70 */ stwu r1, -0x90(r1) /* 802866F0 00283650 7C 08 02 A6 */ mflr r0 /* 802866F4 00283654 90 01 00 94 */ stw r0, 0x94(r1) /* 802866F8 00283658 DB E1 00 80 */ stfd f31, 0x80(r1) /* 802866FC 0028365C F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 80286700 00283660 DB C1 00 70 */ stfd f30, 0x70(r1) /* 80286704 00283664 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 80286708 00283668 DB A1 00 60 */ stfd f29, 0x60(r1) /* 8028670C 0028366C F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 80286710 00283670 DB 81 00 50 */ stfd f28, 0x50(r1) /* 80286714 00283674 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0 /* 80286718 00283678 DB 61 00 40 */ stfd f27, 0x40(r1) /* 8028671C 0028367C F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0 /* 80286720 00283680 DB 41 00 30 */ stfd f26, 0x30(r1) /* 80286724 00283684 F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0 /* 80286728 00283688 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8028672C 0028368C 93 C1 00 28 */ stw r30, 0x28(r1) /* 80286730 00283690 93 A1 00 24 */ stw r29, 0x24(r1) /* 80286734 00283694 7C 7D 1B 78 */ mr r29, r3 /* 80286738 00283698 7C 9E 23 78 */ mr r30, r4 /* 8028673C 0028369C 7C BF 2B 78 */ mr r31, r5 /* 80286740 002836A0 4B D9 3A D5 */ bl IsMorphBallTransitioning__7CPlayerCFv /* 80286744 002836A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286748 002836A8 41 82 00 18 */ beq lbl_80286760 /* 8028674C 002836AC C3 BD 00 E8 */ lfs f29, 0xe8(r29) /* 80286750 002836B0 7F A3 EB 78 */ mr r3, r29 /* 80286754 002836B4 48 00 1C 09 */ bl GetGravity__7CPlayerCFv /* 80286758 002836B8 EC 21 07 72 */ fmuls f1, f1, f29 /* 8028675C 002836BC 48 00 02 D4 */ b lbl_80286A30 lbl_80286760: /* 80286760 002836C0 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 80286764 002836C4 38 80 00 15 */ li r4, 0x15 /* 80286768 002836C8 C3 E2 BD 80 */ lfs f31, lbl_805ADAA0@sda21(r2) /* 8028676C 002836CC 80 63 00 00 */ lwz r3, 0(r3) /* 80286770 002836D0 4B E0 B3 51 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 80286774 002836D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286778 002836D8 40 82 00 60 */ bne lbl_802867D8 /* 8028677C 002836DC 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 80286780 002836E0 2C 00 00 02 */ cmpwi r0, 2 /* 80286784 002836E4 40 82 00 0C */ bne lbl_80286790 /* 80286788 002836E8 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028678C 002836EC 48 00 00 08 */ b lbl_80286794 lbl_80286790: /* 80286790 002836F0 38 00 00 04 */ li r0, 4 lbl_80286794: /* 80286794 002836F4 2C 00 00 05 */ cmpwi r0, 5 /* 80286798 002836F8 41 82 00 2C */ beq lbl_802867C4 /* 8028679C 002836FC 40 80 00 10 */ bge lbl_802867AC /* 802867A0 00283700 2C 00 00 04 */ cmpwi r0, 4 /* 802867A4 00283704 40 80 00 14 */ bge lbl_802867B8 /* 802867A8 00283708 48 00 00 30 */ b lbl_802867D8 lbl_802867AC: /* 802867AC 0028370C 2C 00 00 07 */ cmpwi r0, 7 /* 802867B0 00283710 40 80 00 28 */ bge lbl_802867D8 /* 802867B4 00283714 48 00 00 1C */ b lbl_802867D0 lbl_802867B8: /* 802867B8 00283718 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802867BC 0028371C C3 E3 00 DC */ lfs f31, 0xdc(r3) /* 802867C0 00283720 48 00 00 18 */ b lbl_802867D8 lbl_802867C4: /* 802867C4 00283724 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802867C8 00283728 C3 E3 00 E4 */ lfs f31, 0xe4(r3) /* 802867CC 0028372C 48 00 00 0C */ b lbl_802867D8 lbl_802867D0: /* 802867D0 00283730 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802867D4 00283734 C3 E3 00 EC */ lfs f31, 0xec(r3) lbl_802867D8: /* 802867D8 00283738 88 1D 03 7C */ lbz r0, 0x37c(r29) /* 802867DC 0028373C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802867E0 00283740 28 00 00 00 */ cmplwi r0, 0 /* 802867E4 00283744 C3 83 00 CC */ lfs f28, 0xcc(r3) /* 802867E8 00283748 C3 63 00 D0 */ lfs f27, 0xd0(r3) /* 802867EC 0028374C C3 43 01 14 */ lfs f26, 0x114(r3) /* 802867F0 00283750 C3 C3 00 D4 */ lfs f30, 0xd4(r3) /* 802867F4 00283754 C3 A3 00 D8 */ lfs f29, 0xd8(r3) /* 802867F8 00283758 41 82 00 10 */ beq lbl_80286808 /* 802867FC 0028375C C3 43 02 0C */ lfs f26, 0x20c(r3) /* 80286800 00283760 C3 C3 02 10 */ lfs f30, 0x210(r3) /* 80286804 00283764 C3 A3 02 14 */ lfs f29, 0x214(r3) lbl_80286808: /* 80286808 00283768 7F A3 EB 78 */ mr r3, r29 /* 8028680C 0028376C 4B FF E5 D5 */ bl GetEyeHeight__7CPlayerCFv /* 80286810 00283770 C0 42 BE 38 */ lfs f2, lbl_805ADB58@sda21(r2) /* 80286814 00283774 C0 1D 08 28 */ lfs f0, 0x828(r29) /* 80286818 00283778 EC 22 00 72 */ fmuls f1, f2, f1 /* 8028681C 0028377C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80286820 00283780 4C 41 13 82 */ cror 2, 1, 2 /* 80286824 00283784 7C 00 00 26 */ mfcr r0 /* 80286828 00283788 54 00 1F FF */ rlwinm. r0, r0, 3, 0x1f, 0x1f /* 8028682C 0028378C 41 82 00 08 */ beq lbl_80286834 /* 80286830 00283790 EF 5A 07 F2 */ fmuls f26, f26, f31 lbl_80286834: /* 80286834 00283794 80 1D 02 58 */ lwz r0, 0x258(r29) /* 80286838 00283798 2C 00 00 02 */ cmpwi r0, 2 /* 8028683C 0028379C 40 82 01 10 */ bne lbl_8028694C /* 80286840 002837A0 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286844 002837A4 C0 5D 02 8C */ lfs f2, 0x28c(r29) /* 80286848 002837A8 C0 23 00 FC */ lfs f1, 0xfc(r3) /* 8028684C 002837AC C0 03 01 00 */ lfs f0, 0x100(r3) /* 80286850 002837B0 EC 00 08 28 */ fsubs f0, f0, f1 /* 80286854 002837B4 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80286858 002837B8 4C 41 13 82 */ cror 2, 1, 2 /* 8028685C 002837BC 40 82 00 DC */ bne lbl_80286938 /* 80286860 002837C0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286864 002837C4 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80286868 002837C8 40 80 00 D0 */ bge lbl_80286938 /* 8028686C 002837CC 7F C4 F3 78 */ mr r4, r30 /* 80286870 002837D0 38 60 00 0A */ li r3, 0xa /* 80286874 002837D4 4B D8 5F 5D */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286878 002837D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028687C 002837DC 41 82 00 BC */ beq lbl_80286938 /* 80286880 002837E0 7F A3 EB 78 */ mr r3, r29 /* 80286884 002837E4 7F E5 FB 78 */ mr r5, r31 /* 80286888 002837E8 38 80 00 01 */ li r4, 1 /* 8028688C 002837EC 4B FF FB 61 */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager /* 80286890 002837F0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286894 002837F4 7F A3 EB 78 */ mr r3, r29 /* 80286898 002837F8 7F C4 F3 78 */ mr r4, r30 /* 8028689C 002837FC D0 1D 03 84 */ stfs f0, 0x384(r29) /* 802868A0 00283800 48 00 03 B1 */ bl StrafeInput__7CPlayerCFRC11CFinalInput /* 802868A4 00283804 D0 3D 03 80 */ stfs f1, 0x380(r29) /* 802868A8 00283808 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802868AC 0028380C 88 03 02 2A */ lbz r0, 0x22a(r3) /* 802868B0 00283810 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 802868B4 00283814 41 82 00 38 */ beq lbl_802868EC /* 802868B8 00283818 C0 1D 01 40 */ lfs f0, 0x140(r29) /* 802868BC 0028381C C0 3D 00 E8 */ lfs f1, 0xe8(r29) /* 802868C0 00283820 EC 5A 00 28 */ fsubs f2, f26, f0 /* 802868C4 00283824 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802868C8 00283828 D0 01 00 08 */ stfs f0, 8(r1) /* 802868CC 0028382C EC 22 00 72 */ fmuls f1, f2, f1 /* 802868D0 00283830 D0 01 00 0C */ stfs f0, 0xc(r1) /* 802868D4 00283834 D0 21 00 10 */ stfs f1, 0x10(r1) /* 802868D8 00283838 4B D9 4C 5D */ bl Identity__10CAxisAngleFv /* 802868DC 0028383C 7C 65 1B 78 */ mr r5, r3 /* 802868E0 00283840 7F A3 EB 78 */ mr r3, r29 /* 802868E4 00283844 38 81 00 08 */ addi r4, r1, 8 /* 802868E8 00283848 4B E9 5A B1 */ bl ApplyImpulseWR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle lbl_802868EC: /* 802868EC 0028384C 7F C4 F3 78 */ mr r4, r30 /* 802868F0 00283850 38 60 00 00 */ li r3, 0 /* 802868F4 00283854 4B D8 60 25 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 802868F8 00283858 FF 40 08 90 */ fmr f26, f1 /* 802868FC 0028385C 7F C4 F3 78 */ mr r4, r30 /* 80286900 00283860 38 60 00 01 */ li r3, 1 /* 80286904 00283864 4B D8 60 15 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286908 00283868 FC 1A 08 40 */ fcmpo cr0, f26, f1 /* 8028690C 0028386C 40 80 00 14 */ bge lbl_80286920 /* 80286910 00283870 7F C4 F3 78 */ mr r4, r30 /* 80286914 00283874 38 60 00 01 */ li r3, 1 /* 80286918 00283878 4B D8 60 01 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 8028691C 0028387C FF 40 08 90 */ fmr f26, f1 lbl_80286920: /* 80286920 00283880 EC 3E E8 28 */ fsubs f1, f30, f29 /* 80286924 00283884 C0 1D 00 E8 */ lfs f0, 0xe8(r29) /* 80286928 00283888 EC 3A F0 7C */ fnmsubs f1, f26, f1, f30 /* 8028692C 0028388C EC 01 00 32 */ fmuls f0, f1, f0 /* 80286930 00283890 EC 3F 00 32 */ fmuls f1, f31, f0 /* 80286934 00283894 48 00 00 FC */ b lbl_80286A30 lbl_80286938: /* 80286938 00283898 C3 7D 00 E8 */ lfs f27, 0xe8(r29) /* 8028693C 0028389C 7F A3 EB 78 */ mr r3, r29 /* 80286940 002838A0 48 00 1A 1D */ bl GetGravity__7CPlayerCFv /* 80286944 002838A4 EC 21 06 F2 */ fmuls f1, f1, f27 /* 80286948 002838A8 48 00 00 E8 */ b lbl_80286A30 lbl_8028694C: /* 8028694C 002838AC 7F C4 F3 78 */ mr r4, r30 /* 80286950 002838B0 38 60 00 0A */ li r3, 0xa /* 80286954 002838B4 4B D8 5F 21 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286958 002838B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028695C 002838BC 40 82 00 24 */ bne lbl_80286980 /* 80286960 002838C0 80 1D 02 58 */ lwz r0, 0x258(r29) /* 80286964 002838C4 2C 00 00 01 */ cmpwi r0, 1 /* 80286968 002838C8 40 82 00 AC */ bne lbl_80286A14 /* 8028696C 002838CC C0 3D 02 90 */ lfs f1, 0x290(r29) /* 80286970 002838D0 C0 1D 02 88 */ lfs f0, 0x288(r29) /* 80286974 002838D4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286978 002838D8 4C 40 13 82 */ cror 2, 0, 2 /* 8028697C 002838DC 40 82 00 98 */ bne lbl_80286A14 lbl_80286980: /* 80286980 002838E0 80 1D 02 58 */ lwz r0, 0x258(r29) /* 80286984 002838E4 2C 00 00 01 */ cmpwi r0, 1 /* 80286988 002838E8 41 82 00 40 */ beq lbl_802869C8 /* 8028698C 002838EC 7F C4 F3 78 */ mr r4, r30 /* 80286990 002838F0 38 60 00 0A */ li r3, 0xa /* 80286994 002838F4 4B D8 5E 3D */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286998 002838F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028699C 002838FC 41 82 00 24 */ beq lbl_802869C0 /* 802869A0 00283900 7F A3 EB 78 */ mr r3, r29 /* 802869A4 00283904 7F E5 FB 78 */ mr r5, r31 /* 802869A8 00283908 38 80 00 01 */ li r4, 1 /* 802869AC 0028390C 4B FF FA 41 */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager /* 802869B0 00283910 C0 1D 00 E8 */ lfs f0, 0xe8(r29) /* 802869B4 00283914 EC 1C 00 32 */ fmuls f0, f28, f0 /* 802869B8 00283918 EC 3F 00 32 */ fmuls f1, f31, f0 /* 802869BC 0028391C 48 00 00 74 */ b lbl_80286A30 lbl_802869C0: /* 802869C0 00283920 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 802869C4 00283924 48 00 00 6C */ b lbl_80286A30 lbl_802869C8: /* 802869C8 00283928 7F C4 F3 78 */ mr r4, r30 /* 802869CC 0028392C 38 60 00 00 */ li r3, 0 /* 802869D0 00283930 4B D8 5F 49 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 802869D4 00283934 FF 40 08 90 */ fmr f26, f1 /* 802869D8 00283938 7F C4 F3 78 */ mr r4, r30 /* 802869DC 0028393C 38 60 00 01 */ li r3, 1 /* 802869E0 00283940 4B D8 5F 39 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 802869E4 00283944 FC 1A 08 40 */ fcmpo cr0, f26, f1 /* 802869E8 00283948 40 80 00 14 */ bge lbl_802869FC /* 802869EC 0028394C 7F C4 F3 78 */ mr r4, r30 /* 802869F0 00283950 38 60 00 01 */ li r3, 1 /* 802869F4 00283954 4B D8 5F 25 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 802869F8 00283958 FF 40 08 90 */ fmr f26, f1 lbl_802869FC: /* 802869FC 0028395C EC 3C D8 28 */ fsubs f1, f28, f27 /* 80286A00 00283960 C0 1D 00 E8 */ lfs f0, 0xe8(r29) /* 80286A04 00283964 EC 3A E0 7C */ fnmsubs f1, f26, f1, f28 /* 80286A08 00283968 EC 01 00 32 */ fmuls f0, f1, f0 /* 80286A0C 0028396C EC 3F 00 32 */ fmuls f1, f31, f0 /* 80286A10 00283970 48 00 00 20 */ b lbl_80286A30 lbl_80286A14: /* 80286A14 00283974 2C 00 00 01 */ cmpwi r0, 1 /* 80286A18 00283978 40 82 00 14 */ bne lbl_80286A2C /* 80286A1C 0028397C 7F A3 EB 78 */ mr r3, r29 /* 80286A20 00283980 7F E5 FB 78 */ mr r5, r31 /* 80286A24 00283984 38 80 00 02 */ li r4, 2 /* 80286A28 00283988 4B FF F9 C5 */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager lbl_80286A2C: /* 80286A2C 0028398C C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) lbl_80286A30: /* 80286A30 00283990 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 80286A34 00283994 CB E1 00 80 */ lfd f31, 0x80(r1) /* 80286A38 00283998 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 80286A3C 0028399C CB C1 00 70 */ lfd f30, 0x70(r1) /* 80286A40 002839A0 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 80286A44 002839A4 CB A1 00 60 */ lfd f29, 0x60(r1) /* 80286A48 002839A8 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0 /* 80286A4C 002839AC CB 81 00 50 */ lfd f28, 0x50(r1) /* 80286A50 002839B0 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0 /* 80286A54 002839B4 CB 61 00 40 */ lfd f27, 0x40(r1) /* 80286A58 002839B8 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0 /* 80286A5C 002839BC CB 41 00 30 */ lfd f26, 0x30(r1) /* 80286A60 002839C0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80286A64 002839C4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80286A68 002839C8 80 01 00 94 */ lwz r0, 0x94(r1) /* 80286A6C 002839CC 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80286A70 002839D0 7C 08 03 A6 */ mtlr r0 /* 80286A74 002839D4 38 21 00 90 */ addi r1, r1, 0x90 /* 80286A78 002839D8 4E 80 00 20 */ blr .global TurnInput__7CPlayerCFRC11CFinalInput TurnInput__7CPlayerCFRC11CFinalInput: /* 80286A7C 002839DC 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80286A80 002839E0 7C 08 02 A6 */ mflr r0 /* 80286A84 002839E4 90 01 00 54 */ stw r0, 0x54(r1) /* 80286A88 002839E8 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80286A8C 002839EC F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80286A90 002839F0 DB C1 00 30 */ stfd f30, 0x30(r1) /* 80286A94 002839F4 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80286A98 002839F8 DB A1 00 20 */ stfd f29, 0x20(r1) /* 80286A9C 002839FC F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0 /* 80286AA0 00283A00 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80286AA4 00283A04 93 C1 00 18 */ stw r30, 0x18(r1) /* 80286AA8 00283A08 7C 7E 1B 78 */ mr r30, r3 /* 80286AAC 00283A0C 7C 9F 23 78 */ mr r31, r4 /* 80286AB0 00283A10 80 03 03 04 */ lwz r0, 0x304(r3) /* 80286AB4 00283A14 2C 00 00 01 */ cmpwi r0, 1 /* 80286AB8 00283A18 41 82 00 0C */ beq lbl_80286AC4 /* 80286ABC 00283A1C 2C 00 00 05 */ cmpwi r0, 5 /* 80286AC0 00283A20 40 82 00 0C */ bne lbl_80286ACC lbl_80286AC4: /* 80286AC4 00283A24 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80286AC8 00283A28 48 00 01 58 */ b lbl_80286C20 lbl_80286ACC: /* 80286ACC 00283A2C 4B D9 37 49 */ bl IsMorphBallTransitioning__7CPlayerCFv /* 80286AD0 00283A30 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286AD4 00283A34 41 82 00 0C */ beq lbl_80286AE0 /* 80286AD8 00283A38 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80286ADC 00283A3C 48 00 01 44 */ b lbl_80286C20 lbl_80286AE0: /* 80286AE0 00283A40 7F E4 FB 78 */ mr r4, r31 /* 80286AE4 00283A44 38 60 00 02 */ li r3, 2 /* 80286AE8 00283A48 4B D8 5E 31 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286AEC 00283A4C FF C0 08 90 */ fmr f30, f1 /* 80286AF0 00283A50 7F E4 FB 78 */ mr r4, r31 /* 80286AF4 00283A54 38 60 00 03 */ li r3, 3 /* 80286AF8 00283A58 4B D8 5E 21 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286AFC 00283A5C 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286B00 00283A60 FF A0 08 90 */ fmr f29, f1 /* 80286B04 00283A64 88 63 02 28 */ lbz r3, 0x228(r3) /* 80286B08 00283A68 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f /* 80286B0C 00283A6C 41 82 00 54 */ beq lbl_80286B60 /* 80286B10 00283A70 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f /* 80286B14 00283A74 41 82 00 14 */ beq lbl_80286B28 /* 80286B18 00283A78 41 82 00 98 */ beq lbl_80286BB0 /* 80286B1C 00283A7C 88 1E 03 DD */ lbz r0, 0x3dd(r30) /* 80286B20 00283A80 28 00 00 00 */ cmplwi r0, 0 /* 80286B24 00283A84 41 82 00 8C */ beq lbl_80286BB0 lbl_80286B28: /* 80286B28 00283A88 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 80286B2C 00283A8C FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80286B30 00283A90 40 80 00 80 */ bge lbl_80286BB0 /* 80286B34 00283A94 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 80286B38 00283A98 40 80 00 78 */ bge lbl_80286BB0 /* 80286B3C 00283A9C 7F E4 FB 78 */ mr r4, r31 /* 80286B40 00283AA0 38 60 00 06 */ li r3, 6 /* 80286B44 00283AA4 4B D8 5D D5 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286B48 00283AA8 FF C0 08 90 */ fmr f30, f1 /* 80286B4C 00283AAC 7F E4 FB 78 */ mr r4, r31 /* 80286B50 00283AB0 38 60 00 07 */ li r3, 7 /* 80286B54 00283AB4 4B D8 5D C5 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286B58 00283AB8 FF A0 08 90 */ fmr f29, f1 /* 80286B5C 00283ABC 48 00 00 54 */ b lbl_80286BB0 lbl_80286B60: /* 80286B60 00283AC0 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f /* 80286B64 00283AC4 41 82 00 14 */ beq lbl_80286B78 /* 80286B68 00283AC8 41 82 00 48 */ beq lbl_80286BB0 /* 80286B6C 00283ACC 88 1E 03 DD */ lbz r0, 0x3dd(r30) /* 80286B70 00283AD0 28 00 00 00 */ cmplwi r0, 0 /* 80286B74 00283AD4 41 82 00 3C */ beq lbl_80286BB0 lbl_80286B78: /* 80286B78 00283AD8 7F E4 FB 78 */ mr r4, r31 /* 80286B7C 00283ADC 38 60 00 06 */ li r3, 6 /* 80286B80 00283AE0 4B D8 5D 99 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286B84 00283AE4 FF E0 08 90 */ fmr f31, f1 /* 80286B88 00283AE8 7F E4 FB 78 */ mr r4, r31 /* 80286B8C 00283AEC 38 60 00 07 */ li r3, 7 /* 80286B90 00283AF0 4B D8 5D 89 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286B94 00283AF4 C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 80286B98 00283AF8 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80286B9C 00283AFC 41 81 00 0C */ bgt lbl_80286BA8 /* 80286BA0 00283B00 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286BA4 00283B04 40 81 00 0C */ ble lbl_80286BB0 lbl_80286BA8: /* 80286BA8 00283B08 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80286BAC 00283B0C 48 00 00 74 */ b lbl_80286C20 lbl_80286BB0: /* 80286BB0 00283B10 C0 3E 03 2C */ lfs f1, 0x32c(r30) /* 80286BB4 00283B14 EF BE E8 28 */ fsubs f29, f30, f29 /* 80286BB8 00283B18 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286BBC 00283B1C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286BC0 00283B20 40 81 00 38 */ ble lbl_80286BF8 /* 80286BC4 00283B24 80 CD A1 18 */ lwz r6, gpTweakPlayer@sda21(r13) /* 80286BC8 00283B28 38 81 00 08 */ addi r4, r1, 8 /* 80286BCC 00283B2C 38 6D 99 68 */ addi r3, r13, lbl_805A8528@sda21 /* 80286BD0 00283B30 38 AD 99 6C */ addi r5, r13, lbl_805A852C@sda21 /* 80286BD4 00283B34 C0 06 01 80 */ lfs f0, 0x180(r6) /* 80286BD8 00283B38 EC 01 00 24 */ fdivs f0, f1, f0 /* 80286BDC 00283B3C D0 01 00 08 */ stfs f0, 8(r1) /* 80286BE0 00283B40 4B D8 56 D5 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80286BE4 00283B44 C0 43 00 00 */ lfs f2, 0(r3) /* 80286BE8 00283B48 C0 22 BD 7C */ lfs f1, lbl_805ADA9C@sda21(r2) /* 80286BEC 00283B4C C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80286BF0 00283B50 EC 01 00 BC */ fnmsubs f0, f1, f2, f0 /* 80286BF4 00283B54 EF BD 00 32 */ fmuls f29, f29, f0 lbl_80286BF8: /* 80286BF8 00283B58 FC 20 EA 10 */ fabs f1, f29 /* 80286BFC 00283B5C C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80286C00 00283B60 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286C04 00283B64 40 81 00 18 */ ble lbl_80286C1C /* 80286C08 00283B68 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80286C0C 00283B6C C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80286C10 00283B70 FC 1D 00 6E */ fsel f0, f29, f1, f0 /* 80286C14 00283B74 EC 21 00 32 */ fmuls f1, f1, f0 /* 80286C18 00283B78 48 00 00 08 */ b lbl_80286C20 lbl_80286C1C: /* 80286C1C 00283B7C FC 20 E8 90 */ fmr f1, f29 lbl_80286C20: /* 80286C20 00283B80 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80286C24 00283B84 CB E1 00 40 */ lfd f31, 0x40(r1) /* 80286C28 00283B88 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 80286C2C 00283B8C CB C1 00 30 */ lfd f30, 0x30(r1) /* 80286C30 00283B90 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0 /* 80286C34 00283B94 CB A1 00 20 */ lfd f29, 0x20(r1) /* 80286C38 00283B98 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80286C3C 00283B9C 80 01 00 54 */ lwz r0, 0x54(r1) /* 80286C40 00283BA0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80286C44 00283BA4 7C 08 03 A6 */ mtlr r0 /* 80286C48 00283BA8 38 21 00 50 */ addi r1, r1, 0x50 /* 80286C4C 00283BAC 4E 80 00 20 */ blr .global StrafeInput__7CPlayerCFRC11CFinalInput StrafeInput__7CPlayerCFRC11CFinalInput: /* 80286C50 00283BB0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80286C54 00283BB4 7C 08 02 A6 */ mflr r0 /* 80286C58 00283BB8 90 01 00 24 */ stw r0, 0x24(r1) /* 80286C5C 00283BBC DB E1 00 10 */ stfd f31, 0x10(r1) /* 80286C60 00283BC0 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 80286C64 00283BC4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80286C68 00283BC8 93 C1 00 08 */ stw r30, 8(r1) /* 80286C6C 00283BCC 7C 7E 1B 78 */ mr r30, r3 /* 80286C70 00283BD0 7C 9F 23 78 */ mr r31, r4 /* 80286C74 00283BD4 4B D9 35 A1 */ bl IsMorphBallTransitioning__7CPlayerCFv /* 80286C78 00283BD8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286C7C 00283BDC 40 82 00 10 */ bne lbl_80286C8C /* 80286C80 00283BE0 80 1E 03 04 */ lwz r0, 0x304(r30) /* 80286C84 00283BE4 2C 00 00 00 */ cmpwi r0, 0 /* 80286C88 00283BE8 40 82 00 0C */ bne lbl_80286C94 lbl_80286C8C: /* 80286C8C 00283BEC C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80286C90 00283BF0 48 00 00 24 */ b lbl_80286CB4 lbl_80286C94: /* 80286C94 00283BF4 7F E4 FB 78 */ mr r4, r31 /* 80286C98 00283BF8 38 60 00 04 */ li r3, 4 /* 80286C9C 00283BFC 4B D8 5C 7D */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286CA0 00283C00 FF E0 08 90 */ fmr f31, f1 /* 80286CA4 00283C04 7F E4 FB 78 */ mr r4, r31 /* 80286CA8 00283C08 38 60 00 05 */ li r3, 5 /* 80286CAC 00283C0C 4B D8 5C 6D */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286CB0 00283C10 EC 21 F8 28 */ fsubs f1, f1, f31 lbl_80286CB4: /* 80286CB4 00283C14 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 80286CB8 00283C18 80 01 00 24 */ lwz r0, 0x24(r1) /* 80286CBC 00283C1C CB E1 00 10 */ lfd f31, 0x10(r1) /* 80286CC0 00283C20 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80286CC4 00283C24 83 C1 00 08 */ lwz r30, 8(r1) /* 80286CC8 00283C28 7C 08 03 A6 */ mtlr r0 /* 80286CCC 00283C2C 38 21 00 20 */ addi r1, r1, 0x20 /* 80286CD0 00283C30 4E 80 00 20 */ blr .global ForwardInput__7CPlayerCFRC11CFinalInputf ForwardInput__7CPlayerCFRC11CFinalInputf: /* 80286CD4 00283C34 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80286CD8 00283C38 7C 08 02 A6 */ mflr r0 /* 80286CDC 00283C3C 90 01 00 74 */ stw r0, 0x74(r1) /* 80286CE0 00283C40 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80286CE4 00283C44 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80286CE8 00283C48 DB C1 00 50 */ stfd f30, 0x50(r1) /* 80286CEC 00283C4C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 80286CF0 00283C50 DB A1 00 40 */ stfd f29, 0x40(r1) /* 80286CF4 00283C54 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 80286CF8 00283C58 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80286CFC 00283C5C 93 C1 00 38 */ stw r30, 0x38(r1) /* 80286D00 00283C60 FF A0 08 90 */ fmr f29, f1 /* 80286D04 00283C64 7C 7E 1B 78 */ mr r30, r3 /* 80286D08 00283C68 7C 9F 23 78 */ mr r31, r4 /* 80286D0C 00283C6C 38 60 00 00 */ li r3, 0 /* 80286D10 00283C70 4B D8 5C 09 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286D14 00283C74 FF E0 08 90 */ fmr f31, f1 /* 80286D18 00283C78 7F E4 FB 78 */ mr r4, r31 /* 80286D1C 00283C7C 38 60 00 01 */ li r3, 1 /* 80286D20 00283C80 4B D8 5B F9 */ bl GetAnalogInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80286D24 00283C84 80 1E 02 F8 */ lwz r0, 0x2f8(r30) /* 80286D28 00283C88 FF C0 08 90 */ fmr f30, f1 /* 80286D2C 00283C8C 2C 00 00 00 */ cmpwi r0, 0 /* 80286D30 00283C90 40 82 00 14 */ bne lbl_80286D44 /* 80286D34 00283C94 7F C3 F3 78 */ mr r3, r30 /* 80286D38 00283C98 4B EF 45 71 */ bl InGrappleJumpCooldown__7CPlayerCFv /* 80286D3C 00283C9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286D40 00283CA0 41 82 00 08 */ beq lbl_80286D48 lbl_80286D44: /* 80286D44 00283CA4 C3 C2 BD A0 */ lfs f30, lbl_805ADAC0@sda21(r2) lbl_80286D48: /* 80286D48 00283CA8 80 7E 02 F8 */ lwz r3, 0x2f8(r30) /* 80286D4C 00283CAC 2C 03 00 02 */ cmpwi r3, 2 /* 80286D50 00283CB0 40 82 00 14 */ bne lbl_80286D64 /* 80286D54 00283CB4 80 1E 05 84 */ lwz r0, 0x584(r30) /* 80286D58 00283CB8 28 00 00 02 */ cmplwi r0, 2 /* 80286D5C 00283CBC 40 82 00 08 */ bne lbl_80286D64 /* 80286D60 00283CC0 C3 E2 BD A0 */ lfs f31, lbl_805ADAC0@sda21(r2) lbl_80286D64: /* 80286D64 00283CC4 2C 03 00 03 */ cmpwi r3, 3 /* 80286D68 00283CC8 40 82 00 14 */ bne lbl_80286D7C /* 80286D6C 00283CCC 80 1E 05 84 */ lwz r0, 0x584(r30) /* 80286D70 00283CD0 28 00 00 05 */ cmplwi r0, 5 /* 80286D74 00283CD4 40 82 00 08 */ bne lbl_80286D7C /* 80286D78 00283CD8 C3 E2 BD A0 */ lfs f31, lbl_805ADAC0@sda21(r2) lbl_80286D7C: /* 80286D7C 00283CDC C0 02 BE 3C */ lfs f0, lbl_805ADB5C@sda21(r2) /* 80286D80 00283CE0 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80286D84 00283CE4 41 80 00 88 */ blt lbl_80286E0C /* 80286D88 00283CE8 C0 22 BE 38 */ lfs f1, lbl_805ADB58@sda21(r2) /* 80286D8C 00283CEC C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80286D90 00283CF0 EF FF 08 24 */ fdivs f31, f31, f1 /* 80286D94 00283CF4 FC 20 FA 10 */ fabs f1, f31 /* 80286D98 00283CF8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286D9C 00283CFC 40 81 00 14 */ ble lbl_80286DB0 /* 80286DA0 00283D00 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80286DA4 00283D04 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80286DA8 00283D08 FC 1F 00 6E */ fsel f0, f31, f1, f0 /* 80286DAC 00283D0C EF E1 00 32 */ fmuls f31, f1, f0 lbl_80286DB0: /* 80286DB0 00283D10 FC 00 EA 10 */ fabs f0, f29 /* 80286DB4 00283D14 FC 40 F8 90 */ fmr f2, f31 /* 80286DB8 00283D18 FC 20 00 18 */ frsp f1, f0 /* 80286DBC 00283D1C 48 10 DE B1 */ bl atan2 /* 80286DC0 00283D20 FC 20 08 18 */ frsp f1, f1 /* 80286DC4 00283D24 C0 02 BE 40 */ lfs f0, lbl_805ADB60@sda21(r2) /* 80286DC8 00283D28 FC 20 0A 10 */ fabs f1, f1 /* 80286DCC 00283D2C FC 20 08 18 */ frsp f1, f1 /* 80286DD0 00283D30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286DD4 00283D34 40 80 00 38 */ bge lbl_80286E0C /* 80286DD8 00283D38 FC 20 EA 10 */ fabs f1, f29 /* 80286DDC 00283D3C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286DE0 00283D40 D3 E1 00 24 */ stfs f31, 0x24(r1) /* 80286DE4 00283D44 38 61 00 20 */ addi r3, r1, 0x20 /* 80286DE8 00283D48 FC 20 08 18 */ frsp f1, f1 /* 80286DEC 00283D4C D0 01 00 28 */ stfs f0, 0x28(r1) /* 80286DF0 00283D50 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80286DF4 00283D54 48 08 D9 05 */ bl CanBeNormalized__9CVector3fCFv /* 80286DF8 00283D58 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286DFC 00283D5C 41 82 00 10 */ beq lbl_80286E0C /* 80286E00 00283D60 38 61 00 20 */ addi r3, r1, 0x20 /* 80286E04 00283D64 48 08 DA B5 */ bl Magnitude__9CVector3fCFv /* 80286E08 00283D68 FF E0 08 90 */ fmr f31, f1 lbl_80286E0C: /* 80286E0C 00283D6C C0 02 BE 3C */ lfs f0, lbl_805ADB5C@sda21(r2) /* 80286E10 00283D70 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80286E14 00283D74 41 80 00 88 */ blt lbl_80286E9C /* 80286E18 00283D78 C0 22 BE 38 */ lfs f1, lbl_805ADB58@sda21(r2) /* 80286E1C 00283D7C C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80286E20 00283D80 EF DE 08 24 */ fdivs f30, f30, f1 /* 80286E24 00283D84 FC 20 F2 10 */ fabs f1, f30 /* 80286E28 00283D88 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286E2C 00283D8C 40 81 00 14 */ ble lbl_80286E40 /* 80286E30 00283D90 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80286E34 00283D94 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80286E38 00283D98 FC 1E 00 6E */ fsel f0, f30, f1, f0 /* 80286E3C 00283D9C EF C1 00 32 */ fmuls f30, f1, f0 lbl_80286E40: /* 80286E40 00283DA0 FC 00 EA 10 */ fabs f0, f29 /* 80286E44 00283DA4 FC 40 F0 90 */ fmr f2, f30 /* 80286E48 00283DA8 FC 20 00 18 */ frsp f1, f0 /* 80286E4C 00283DAC 48 10 DE 21 */ bl atan2 /* 80286E50 00283DB0 FC 20 08 18 */ frsp f1, f1 /* 80286E54 00283DB4 C0 02 BE 40 */ lfs f0, lbl_805ADB60@sda21(r2) /* 80286E58 00283DB8 FC 20 0A 10 */ fabs f1, f1 /* 80286E5C 00283DBC FC 20 08 18 */ frsp f1, f1 /* 80286E60 00283DC0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286E64 00283DC4 40 80 00 38 */ bge lbl_80286E9C /* 80286E68 00283DC8 FC 20 EA 10 */ fabs f1, f29 /* 80286E6C 00283DCC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286E70 00283DD0 D3 C1 00 18 */ stfs f30, 0x18(r1) /* 80286E74 00283DD4 38 61 00 14 */ addi r3, r1, 0x14 /* 80286E78 00283DD8 FC 20 08 18 */ frsp f1, f1 /* 80286E7C 00283DDC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80286E80 00283DE0 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80286E84 00283DE4 48 08 D8 75 */ bl CanBeNormalized__9CVector3fCFv /* 80286E88 00283DE8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80286E8C 00283DEC 41 82 00 10 */ beq lbl_80286E9C /* 80286E90 00283DF0 38 61 00 14 */ addi r3, r1, 0x14 /* 80286E94 00283DF4 48 08 DA 25 */ bl Magnitude__9CVector3fCFv /* 80286E98 00283DF8 FF C0 08 90 */ fmr f30, f1 lbl_80286E9C: /* 80286E9C 00283DFC 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286EA0 00283E00 88 03 02 28 */ lbz r0, 0x228(r3) /* 80286EA4 00283E04 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80286EA8 00283E08 40 82 00 70 */ bne lbl_80286F18 /* 80286EAC 00283E0C C0 1E 01 40 */ lfs f0, 0x140(r30) /* 80286EB0 00283E10 88 1E 03 DC */ lbz r0, 0x3dc(r30) /* 80286EB4 00283E14 C0 5E 01 38 */ lfs f2, 0x138(r30) /* 80286EB8 00283E18 C0 3E 01 3C */ lfs f1, 0x13c(r30) /* 80286EBC 00283E1C 28 00 00 00 */ cmplwi r0, 0 /* 80286EC0 00283E20 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80286EC4 00283E24 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80286EC8 00283E28 D0 41 00 08 */ stfs f2, 8(r1) /* 80286ECC 00283E2C D0 21 00 0C */ stfs f1, 0xc(r1) /* 80286ED0 00283E30 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80286ED4 00283E34 40 82 00 10 */ bne lbl_80286EE4 /* 80286ED8 00283E38 88 1E 03 DD */ lbz r0, 0x3dd(r30) /* 80286EDC 00283E3C 28 00 00 00 */ cmplwi r0, 0 /* 80286EE0 00283E40 41 82 00 38 */ beq lbl_80286F18 lbl_80286EE4: /* 80286EE4 00283E44 80 1E 02 58 */ lwz r0, 0x258(r30) /* 80286EE8 00283E48 2C 00 00 00 */ cmpwi r0, 0 /* 80286EEC 00283E4C 41 82 00 24 */ beq lbl_80286F10 /* 80286EF0 00283E50 38 61 00 08 */ addi r3, r1, 8 /* 80286EF4 00283E54 48 08 D9 C5 */ bl Magnitude__9CVector3fCFv /* 80286EF8 00283E58 C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 80286EFC 00283E5C C0 02 BE 44 */ lfs f0, lbl_805ADB64@sda21(r2) /* 80286F00 00283E60 EC 21 10 28 */ fsubs f1, f1, f2 /* 80286F04 00283E64 FC 20 0A 10 */ fabs f1, f1 /* 80286F08 00283E68 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80286F0C 00283E6C 40 80 00 0C */ bge lbl_80286F18 lbl_80286F10: /* 80286F10 00283E70 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80286F14 00283E74 48 00 00 30 */ b lbl_80286F44 lbl_80286F18: /* 80286F18 00283E78 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80286F1C 00283E7C C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80286F20 00283E80 C0 23 01 18 */ lfs f1, 0x118(r3) /* 80286F24 00283E84 EC 3E F8 7C */ fnmsubs f1, f30, f1, f31 /* 80286F28 00283E88 FC 40 0A 10 */ fabs f2, f1 /* 80286F2C 00283E8C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80286F30 00283E90 40 81 00 14 */ ble lbl_80286F44 /* 80286F34 00283E94 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80286F38 00283E98 C0 42 BD 80 */ lfs f2, lbl_805ADAA0@sda21(r2) /* 80286F3C 00283E9C FC 01 00 AE */ fsel f0, f1, f2, f0 /* 80286F40 00283EA0 EC 22 00 32 */ fmuls f1, f2, f0 lbl_80286F44: /* 80286F44 00283EA4 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 80286F48 00283EA8 CB E1 00 60 */ lfd f31, 0x60(r1) /* 80286F4C 00283EAC E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 80286F50 00283EB0 CB C1 00 50 */ lfd f30, 0x50(r1) /* 80286F54 00283EB4 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 80286F58 00283EB8 CB A1 00 40 */ lfd f29, 0x40(r1) /* 80286F5C 00283EBC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80286F60 00283EC0 80 01 00 74 */ lwz r0, 0x74(r1) /* 80286F64 00283EC4 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80286F68 00283EC8 7C 08 03 A6 */ mtlr r0 /* 80286F6C 00283ECC 38 21 00 70 */ addi r1, r1, 0x70 /* 80286F70 00283ED0 4E 80 00 20 */ blr .global ComputeMovement__7CPlayerFRC11CFinalInputR13CStateManagerf ComputeMovement__7CPlayerFRC11CFinalInputR13CStateManagerf: /* 80286F74 00283ED4 94 21 FE A0 */ stwu r1, -0x160(r1) /* 80286F78 00283ED8 7C 08 02 A6 */ mflr r0 /* 80286F7C 00283EDC 90 01 01 64 */ stw r0, 0x164(r1) /* 80286F80 00283EE0 DB E1 01 50 */ stfd f31, 0x150(r1) /* 80286F84 00283EE4 F3 E1 01 58 */ psq_st f31, 344(r1), 0, qr0 /* 80286F88 00283EE8 DB C1 01 40 */ stfd f30, 0x140(r1) /* 80286F8C 00283EEC F3 C1 01 48 */ psq_st f30, 328(r1), 0, qr0 /* 80286F90 00283EF0 DB A1 01 30 */ stfd f29, 0x130(r1) /* 80286F94 00283EF4 F3 A1 01 38 */ psq_st f29, 312(r1), 0, qr0 /* 80286F98 00283EF8 DB 81 01 20 */ stfd f28, 0x120(r1) /* 80286F9C 00283EFC F3 81 01 28 */ psq_st f28, 296(r1), 0, qr0 /* 80286FA0 00283F00 DB 61 01 10 */ stfd f27, 0x110(r1) /* 80286FA4 00283F04 F3 61 01 18 */ psq_st f27, 280(r1), 0, qr0 /* 80286FA8 00283F08 DB 41 01 00 */ stfd f26, 0x100(r1) /* 80286FAC 00283F0C F3 41 01 08 */ psq_st f26, 264(r1), 0, qr0 /* 80286FB0 00283F10 93 E1 00 FC */ stw r31, 0xfc(r1) /* 80286FB4 00283F14 93 C1 00 F8 */ stw r30, 0xf8(r1) /* 80286FB8 00283F18 93 A1 00 F4 */ stw r29, 0xf4(r1) /* 80286FBC 00283F1C 93 81 00 F0 */ stw r28, 0xf0(r1) /* 80286FC0 00283F20 FF 60 08 90 */ fmr f27, f1 /* 80286FC4 00283F24 7C 7D 1B 78 */ mr r29, r3 /* 80286FC8 00283F28 7C 9E 23 78 */ mr r30, r4 /* 80286FCC 00283F2C 7C BF 2B 78 */ mr r31, r5 /* 80286FD0 00283F30 4B FF F7 1D */ bl JumpInput__7CPlayerFRC11CFinalInputR13CStateManager /* 80286FD4 00283F34 FF A0 08 90 */ fmr f29, f1 /* 80286FD8 00283F38 7F A3 EB 78 */ mr r3, r29 /* 80286FDC 00283F3C 7F C4 F3 78 */ mr r4, r30 /* 80286FE0 00283F40 4B FF FA 9D */ bl TurnInput__7CPlayerCFRC11CFinalInput /* 80286FE4 00283F44 FF C0 08 90 */ fmr f30, f1 /* 80286FE8 00283F48 7F A3 EB 78 */ mr r3, r29 /* 80286FEC 00283F4C 7F C4 F3 78 */ mr r4, r30 /* 80286FF0 00283F50 4B FF FC E5 */ bl ForwardInput__7CPlayerCFRC11CFinalInputf /* 80286FF4 00283F54 FF E0 08 90 */ fmr f31, f1 /* 80286FF8 00283F58 7F A4 EB 78 */ mr r4, r29 /* 80286FFC 00283F5C 38 61 00 AC */ addi r3, r1, 0xac /* 80287000 00283F60 48 00 14 F1 */ bl GetDampedClampedVelocityWR__7CPlayerCFv /* 80287004 00283F64 7F A3 EB 78 */ mr r3, r29 /* 80287008 00283F68 38 81 00 AC */ addi r4, r1, 0xac /* 8028700C 00283F6C 4B E9 3C 95 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 80287010 00283F70 80 8D A1 18 */ lwz r4, gpTweakPlayer@sda21(r13) /* 80287014 00283F74 88 64 02 28 */ lbz r3, 0x228(r4) /* 80287018 00283F78 C3 84 01 28 */ lfs f28, 0x128(r4) /* 8028701C 00283F7C 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f /* 80287020 00283F80 41 82 00 20 */ beq lbl_80287040 /* 80287024 00283F84 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f /* 80287028 00283F88 41 82 00 14 */ beq lbl_8028703C /* 8028702C 00283F8C 41 82 00 14 */ beq lbl_80287040 /* 80287030 00283F90 88 1D 03 DD */ lbz r0, 0x3dd(r29) /* 80287034 00283F94 28 00 00 00 */ cmplwi r0, 0 /* 80287038 00283F98 41 82 00 08 */ beq lbl_80287040 lbl_8028703C: /* 8028703C 00283F9C C3 84 01 2C */ lfs f28, 0x12c(r4) lbl_80287040: /* 80287040 00283FA0 80 7D 03 04 */ lwz r3, 0x304(r29) /* 80287044 00283FA4 2C 03 00 00 */ cmpwi r3, 0 /* 80287048 00283FA8 41 82 00 20 */ beq lbl_80287068 /* 8028704C 00283FAC 88 1D 03 DD */ lbz r0, 0x3dd(r29) /* 80287050 00283FB0 28 00 00 00 */ cmplwi r0, 0 /* 80287054 00283FB4 41 82 02 38 */ beq lbl_8028728C /* 80287058 00283FB8 2C 03 00 01 */ cmpwi r3, 1 /* 8028705C 00283FBC 41 82 02 30 */ beq lbl_8028728C /* 80287060 00283FC0 2C 03 00 05 */ cmpwi r3, 5 /* 80287064 00283FC4 41 82 02 28 */ beq lbl_8028728C lbl_80287068: /* 80287068 00283FC8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 8028706C 00283FCC C0 02 BE 44 */ lfs f0, lbl_805ADB64@sda21(r2) /* 80287070 00283FD0 EC 3E 08 28 */ fsubs f1, f30, f1 /* 80287074 00283FD4 FC 20 0A 10 */ fabs f1, f1 /* 80287078 00283FD8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028707C 00283FDC 40 80 00 84 */ bge lbl_80287100 /* 80287080 00283FE0 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 80287084 00283FE4 2C 00 00 02 */ cmpwi r0, 2 /* 80287088 00283FE8 40 82 00 0C */ bne lbl_80287094 /* 8028708C 00283FEC 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 80287090 00283FF0 48 00 00 08 */ b lbl_80287098 lbl_80287094: /* 80287094 00283FF4 38 00 00 04 */ li r0, 4 lbl_80287098: /* 80287098 00283FF8 2C 00 00 00 */ cmpwi r0, 0 /* 8028709C 00283FFC 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802870A0 00284000 41 80 00 0C */ blt lbl_802870AC /* 802870A4 00284004 2C 00 00 07 */ cmpwi r0, 7 /* 802870A8 00284008 40 81 00 08 */ ble lbl_802870B0 lbl_802870AC: /* 802870AC 0028400C 38 00 00 00 */ li r0, 0 lbl_802870B0: /* 802870B0 00284010 54 00 10 3A */ slwi r0, r0, 2 /* 802870B4 00284014 7F A4 EB 78 */ mr r4, r29 /* 802870B8 00284018 7C A3 02 14 */ add r5, r3, r0 /* 802870BC 0028401C 38 61 00 88 */ addi r3, r1, 0x88 /* 802870C0 00284020 C3 45 00 64 */ lfs f26, 0x64(r5) /* 802870C4 00284024 4B E9 3A E1 */ bl GetAngularVelocityOR__13CPhysicsActorCFv /* 802870C8 00284028 38 61 00 88 */ addi r3, r1, 0x88 /* 802870CC 0028402C 4B D9 44 65 */ bl GetVector__10CAxisAngleCFv /* 802870D0 00284030 C0 03 00 08 */ lfs f0, 8(r3) /* 802870D4 00284034 38 61 00 A0 */ addi r3, r1, 0xa0 /* 802870D8 00284038 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 802870DC 0028403C 38 81 00 94 */ addi r4, r1, 0x94 /* 802870E0 00284040 EC 1A 00 32 */ fmuls f0, f26, f0 /* 802870E4 00284044 D0 21 00 94 */ stfs f1, 0x94(r1) /* 802870E8 00284048 D0 21 00 98 */ stfs f1, 0x98(r1) /* 802870EC 0028404C D0 01 00 9C */ stfs f0, 0x9c(r1) /* 802870F0 00284050 4B D9 44 95 */ bl __ct__10CAxisAngleFRC9CVector3f /* 802870F4 00284054 7F A3 EB 78 */ mr r3, r29 /* 802870F8 00284058 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802870FC 0028405C 4B E9 39 E1 */ bl SetAngularVelocityOR__13CPhysicsActorFRC10CAxisAngle lbl_80287100: /* 80287100 00284060 7F A4 EB 78 */ mr r4, r29 /* 80287104 00284064 38 61 00 7C */ addi r3, r1, 0x7c /* 80287108 00284068 4B E9 3A 9D */ bl GetAngularVelocityOR__13CPhysicsActorCFv /* 8028710C 0028406C 38 61 00 7C */ addi r3, r1, 0x7c /* 80287110 00284070 4B D9 44 21 */ bl GetVector__10CAxisAngleCFv /* 80287114 00284074 80 9D 02 B0 */ lwz r4, 0x2b0(r29) /* 80287118 00284078 C0 23 00 08 */ lfs f1, 8(r3) /* 8028711C 0028407C 2C 04 00 02 */ cmpwi r4, 2 /* 80287120 00284080 40 82 00 0C */ bne lbl_8028712C /* 80287124 00284084 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 80287128 00284088 48 00 00 08 */ b lbl_80287130 lbl_8028712C: /* 8028712C 0028408C 38 00 00 04 */ li r0, 4 lbl_80287130: /* 80287130 00284090 2C 00 00 00 */ cmpwi r0, 0 /* 80287134 00284094 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 80287138 00284098 41 80 00 0C */ blt lbl_80287144 /* 8028713C 0028409C 2C 00 00 07 */ cmpwi r0, 7 /* 80287140 002840A0 40 81 00 08 */ ble lbl_80287148 lbl_80287144: /* 80287144 002840A4 38 00 00 00 */ li r0, 0 lbl_80287148: /* 80287148 002840A8 54 00 10 3A */ slwi r0, r0, 2 /* 8028714C 002840AC 7C 65 02 14 */ add r3, r5, r0 /* 80287150 002840B0 C0 03 00 84 */ lfs f0, 0x84(r3) /* 80287154 002840B4 EC 1C 00 32 */ fmuls f0, f28, f0 /* 80287158 002840B8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028715C 002840BC 40 81 00 68 */ ble lbl_802871C4 /* 80287160 002840C0 2C 04 00 02 */ cmpwi r4, 2 /* 80287164 002840C4 40 82 00 0C */ bne lbl_80287170 /* 80287168 002840C8 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028716C 002840CC 48 00 00 08 */ b lbl_80287174 lbl_80287170: /* 80287170 002840D0 38 00 00 04 */ li r0, 4 lbl_80287174: /* 80287174 002840D4 2C 00 00 00 */ cmpwi r0, 0 /* 80287178 002840D8 41 80 00 0C */ blt lbl_80287184 /* 8028717C 002840DC 2C 00 00 07 */ cmpwi r0, 7 /* 80287180 002840E0 40 81 00 08 */ ble lbl_80287188 lbl_80287184: /* 80287184 002840E4 38 00 00 00 */ li r0, 0 lbl_80287188: /* 80287188 002840E8 54 00 10 3A */ slwi r0, r0, 2 /* 8028718C 002840EC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287190 002840F0 7C 85 02 14 */ add r4, r5, r0 /* 80287194 002840F4 38 61 00 70 */ addi r3, r1, 0x70 /* 80287198 002840F8 C0 24 00 84 */ lfs f1, 0x84(r4) /* 8028719C 002840FC 38 81 00 64 */ addi r4, r1, 0x64 /* 802871A0 00284100 EC 3C 00 72 */ fmuls f1, f28, f1 /* 802871A4 00284104 D0 01 00 64 */ stfs f0, 0x64(r1) /* 802871A8 00284108 D0 01 00 68 */ stfs f0, 0x68(r1) /* 802871AC 0028410C D0 21 00 6C */ stfs f1, 0x6c(r1) /* 802871B0 00284110 4B D9 43 D5 */ bl __ct__10CAxisAngleFRC9CVector3f /* 802871B4 00284114 7F A3 EB 78 */ mr r3, r29 /* 802871B8 00284118 38 81 00 70 */ addi r4, r1, 0x70 /* 802871BC 0028411C 4B E9 39 21 */ bl SetAngularVelocityOR__13CPhysicsActorFRC10CAxisAngle /* 802871C0 00284120 48 00 00 CC */ b lbl_8028728C lbl_802871C4: /* 802871C4 00284124 7F A4 EB 78 */ mr r4, r29 /* 802871C8 00284128 38 61 00 58 */ addi r3, r1, 0x58 /* 802871CC 0028412C 4B E9 39 D9 */ bl GetAngularVelocityOR__13CPhysicsActorCFv /* 802871D0 00284130 38 61 00 58 */ addi r3, r1, 0x58 /* 802871D4 00284134 4B D9 43 5D */ bl GetVector__10CAxisAngleCFv /* 802871D8 00284138 80 9D 02 B0 */ lwz r4, 0x2b0(r29) /* 802871DC 0028413C C0 03 00 08 */ lfs f0, 8(r3) /* 802871E0 00284140 2C 04 00 02 */ cmpwi r4, 2 /* 802871E4 00284144 40 82 00 0C */ bne lbl_802871F0 /* 802871E8 00284148 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 802871EC 0028414C 48 00 00 08 */ b lbl_802871F4 lbl_802871F0: /* 802871F0 00284150 38 00 00 04 */ li r0, 4 lbl_802871F4: /* 802871F4 00284154 2C 00 00 00 */ cmpwi r0, 0 /* 802871F8 00284158 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 802871FC 0028415C 41 80 00 0C */ blt lbl_80287208 /* 80287200 00284160 2C 00 00 07 */ cmpwi r0, 7 /* 80287204 00284164 40 81 00 08 */ ble lbl_8028720C lbl_80287208: /* 80287208 00284168 38 00 00 00 */ li r0, 0 lbl_8028720C: /* 8028720C 0028416C 54 00 10 3A */ slwi r0, r0, 2 /* 80287210 00284170 FC 20 00 50 */ fneg f1, f0 /* 80287214 00284174 7C 65 02 14 */ add r3, r5, r0 /* 80287218 00284178 C0 03 00 84 */ lfs f0, 0x84(r3) /* 8028721C 0028417C EC 1C 00 32 */ fmuls f0, f28, f0 /* 80287220 00284180 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287224 00284184 40 81 00 68 */ ble lbl_8028728C /* 80287228 00284188 2C 04 00 02 */ cmpwi r4, 2 /* 8028722C 0028418C 40 82 00 0C */ bne lbl_80287238 /* 80287230 00284190 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 80287234 00284194 48 00 00 08 */ b lbl_8028723C lbl_80287238: /* 80287238 00284198 38 00 00 04 */ li r0, 4 lbl_8028723C: /* 8028723C 0028419C 2C 00 00 00 */ cmpwi r0, 0 /* 80287240 002841A0 41 80 00 0C */ blt lbl_8028724C /* 80287244 002841A4 2C 00 00 07 */ cmpwi r0, 7 /* 80287248 002841A8 40 81 00 08 */ ble lbl_80287250 lbl_8028724C: /* 8028724C 002841AC 38 00 00 00 */ li r0, 0 lbl_80287250: /* 80287250 002841B0 54 00 10 3A */ slwi r0, r0, 2 /* 80287254 002841B4 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287258 002841B8 7C 85 02 14 */ add r4, r5, r0 /* 8028725C 002841BC 38 61 00 4C */ addi r3, r1, 0x4c /* 80287260 002841C0 C0 24 00 84 */ lfs f1, 0x84(r4) /* 80287264 002841C4 38 81 00 40 */ addi r4, r1, 0x40 /* 80287268 002841C8 FC 20 08 50 */ fneg f1, f1 /* 8028726C 002841CC D0 01 00 40 */ stfs f0, 0x40(r1) /* 80287270 002841D0 D0 01 00 44 */ stfs f0, 0x44(r1) /* 80287274 002841D4 EC 1C 00 72 */ fmuls f0, f28, f1 /* 80287278 002841D8 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8028727C 002841DC 4B D9 43 09 */ bl __ct__10CAxisAngleFRC9CVector3f /* 80287280 002841E0 7F A3 EB 78 */ mr r3, r29 /* 80287284 002841E4 38 81 00 4C */ addi r4, r1, 0x4c /* 80287288 002841E8 4B E9 38 55 */ bl SetAngularVelocityOR__13CPhysicsActorFRC10CAxisAngle lbl_8028728C: /* 8028728C 002841EC 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 80287290 002841F0 2C 00 00 02 */ cmpwi r0, 2 /* 80287294 002841F4 40 82 00 0C */ bne lbl_802872A0 /* 80287298 002841F8 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028729C 002841FC 48 00 00 08 */ b lbl_802872A4 lbl_802872A0: /* 802872A0 00284200 38 00 00 04 */ li r0, 4 lbl_802872A4: /* 802872A4 00284204 2C 00 00 00 */ cmpwi r0, 0 /* 802872A8 00284208 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802872AC 0028420C 41 80 00 0C */ blt lbl_802872B8 /* 802872B0 00284210 2C 00 00 07 */ cmpwi r0, 7 /* 802872B4 00284214 40 81 00 08 */ ble lbl_802872BC lbl_802872B8: /* 802872B8 00284218 38 00 00 00 */ li r0, 0 lbl_802872BC: /* 802872BC 0028421C 54 00 10 3A */ slwi r0, r0, 2 /* 802872C0 00284220 7F A4 EB 78 */ mr r4, r29 /* 802872C4 00284224 7C A3 02 14 */ add r5, r3, r0 /* 802872C8 00284228 38 61 00 34 */ addi r3, r1, 0x34 /* 802872CC 0028422C C0 05 00 84 */ lfs f0, 0x84(r5) /* 802872D0 00284230 EC 1E 00 32 */ fmuls f0, f30, f0 /* 802872D4 00284234 EF 5C 00 32 */ fmuls f26, f28, f0 /* 802872D8 00284238 4B E9 38 CD */ bl GetAngularVelocityOR__13CPhysicsActorCFv /* 802872DC 0028423C 38 61 00 34 */ addi r3, r1, 0x34 /* 802872E0 00284240 4B D9 42 51 */ bl GetVector__10CAxisAngleCFv /* 802872E4 00284244 C0 03 00 08 */ lfs f0, 8(r3) /* 802872E8 00284248 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 802872EC 0028424C EF 5A 00 28 */ fsubs f26, f26, f0 /* 802872F0 00284250 2C 00 00 02 */ cmpwi r0, 2 /* 802872F4 00284254 FC 00 D2 10 */ fabs f0, f26 /* 802872F8 00284258 FC 20 00 18 */ frsp f1, f0 /* 802872FC 0028425C 40 82 00 0C */ bne lbl_80287308 /* 80287300 00284260 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 80287304 00284264 48 00 00 08 */ b lbl_8028730C lbl_80287308: /* 80287308 00284268 38 00 00 04 */ li r0, 4 lbl_8028730C: /* 8028730C 0028426C 2C 00 00 00 */ cmpwi r0, 0 /* 80287310 00284270 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80287314 00284274 41 80 00 0C */ blt lbl_80287320 /* 80287318 00284278 2C 00 00 07 */ cmpwi r0, 7 /* 8028731C 0028427C 40 81 00 08 */ ble lbl_80287324 lbl_80287320: /* 80287320 00284280 38 00 00 00 */ li r0, 0 lbl_80287324: /* 80287324 00284284 54 00 10 3A */ slwi r0, r0, 2 /* 80287328 00284288 38 81 00 0C */ addi r4, r1, 0xc /* 8028732C 0028428C 7C A3 02 14 */ add r5, r3, r0 /* 80287330 00284290 38 6D 99 54 */ addi r3, r13, lbl_805A8514@sda21 /* 80287334 00284294 C0 05 00 84 */ lfs f0, 0x84(r5) /* 80287338 00284298 38 AD 99 58 */ addi r5, r13, lbl_805A8518@sda21 /* 8028733C 0028429C EC 1C 00 32 */ fmuls f0, f28, f0 /* 80287340 002842A0 EC 01 00 24 */ fdivs f0, f1, f0 /* 80287344 002842A4 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80287348 002842A8 4B D8 4F 6D */ bl "Clamp__5CMathFRCfRCfRCf" /* 8028734C 002842AC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287350 002842B0 C0 23 00 00 */ lfs f1, 0(r3) /* 80287354 002842B4 FC 1A 00 40 */ fcmpo cr0, f26, f0 /* 80287358 002842B8 40 80 00 4C */ bge lbl_802873A4 /* 8028735C 002842BC 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 80287360 002842C0 2C 00 00 02 */ cmpwi r0, 2 /* 80287364 002842C4 40 82 00 0C */ bne lbl_80287370 /* 80287368 002842C8 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028736C 002842CC 48 00 00 08 */ b lbl_80287374 lbl_80287370: /* 80287370 002842D0 38 00 00 04 */ li r0, 4 lbl_80287374: /* 80287374 002842D4 2C 00 00 00 */ cmpwi r0, 0 /* 80287378 002842D8 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8028737C 002842DC 41 80 00 0C */ blt lbl_80287388 /* 80287380 002842E0 2C 00 00 07 */ cmpwi r0, 7 /* 80287384 002842E4 40 81 00 08 */ ble lbl_8028738C lbl_80287388: /* 80287388 002842E8 38 00 00 00 */ li r0, 0 lbl_8028738C: /* 8028738C 002842EC 54 00 10 3A */ slwi r0, r0, 2 /* 80287390 002842F0 7C 63 02 14 */ add r3, r3, r0 /* 80287394 002842F4 C0 03 00 24 */ lfs f0, 0x24(r3) /* 80287398 002842F8 FC 00 00 50 */ fneg f0, f0 /* 8028739C 002842FC EF C1 00 32 */ fmuls f30, f1, f0 /* 802873A0 00284300 48 00 00 44 */ b lbl_802873E4 lbl_802873A4: /* 802873A4 00284304 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 802873A8 00284308 2C 00 00 02 */ cmpwi r0, 2 /* 802873AC 0028430C 40 82 00 0C */ bne lbl_802873B8 /* 802873B0 00284310 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 802873B4 00284314 48 00 00 08 */ b lbl_802873BC lbl_802873B8: /* 802873B8 00284318 38 00 00 04 */ li r0, 4 lbl_802873BC: /* 802873BC 0028431C 2C 00 00 00 */ cmpwi r0, 0 /* 802873C0 00284320 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802873C4 00284324 41 80 00 0C */ blt lbl_802873D0 /* 802873C8 00284328 2C 00 00 07 */ cmpwi r0, 7 /* 802873CC 0028432C 40 81 00 08 */ ble lbl_802873D4 lbl_802873D0: /* 802873D0 00284330 38 00 00 00 */ li r0, 0 lbl_802873D4: /* 802873D4 00284334 54 00 10 3A */ slwi r0, r0, 2 /* 802873D8 00284338 7C 63 02 14 */ add r3, r3, r0 /* 802873DC 0028433C C0 03 00 24 */ lfs f0, 0x24(r3) /* 802873E0 00284340 EF C1 00 32 */ fmuls f30, f1, f0 lbl_802873E4: /* 802873E4 00284344 C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 802873E8 00284348 C0 02 BE 44 */ lfs f0, lbl_805ADB64@sda21(r2) /* 802873EC 0028434C EC 22 F8 28 */ fsubs f1, f2, f31 /* 802873F0 00284350 FC 20 0A 10 */ fabs f1, f1 /* 802873F4 00284354 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802873F8 00284358 41 80 01 58 */ blt lbl_80287550 /* 802873FC 0028435C 80 9D 02 B0 */ lwz r4, 0x2b0(r29) /* 80287400 00284360 2C 04 00 02 */ cmpwi r4, 2 /* 80287404 00284364 40 82 00 0C */ bne lbl_80287410 /* 80287408 00284368 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028740C 0028436C 48 00 00 08 */ b lbl_80287414 lbl_80287410: /* 80287410 00284370 38 00 00 04 */ li r0, 4 lbl_80287414: /* 80287414 00284374 2C 00 00 00 */ cmpwi r0, 0 /* 80287418 00284378 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) /* 8028741C 0028437C 41 80 00 0C */ blt lbl_80287428 /* 80287420 00284380 2C 00 00 07 */ cmpwi r0, 7 /* 80287424 00284384 40 81 00 08 */ ble lbl_8028742C lbl_80287428: /* 80287428 00284388 38 00 00 00 */ li r0, 0 lbl_8028742C: /* 8028742C 0028438C 54 00 10 3A */ slwi r0, r0, 2 /* 80287430 00284390 2C 04 00 02 */ cmpwi r4, 2 /* 80287434 00284394 7C 65 02 14 */ add r3, r5, r0 /* 80287438 00284398 C3 43 00 A4 */ lfs f26, 0xa4(r3) /* 8028743C 0028439C 40 82 00 0C */ bne lbl_80287448 /* 80287440 002843A0 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 80287444 002843A4 48 00 00 08 */ b lbl_8028744C lbl_80287448: /* 80287448 002843A8 38 00 00 04 */ li r0, 4 lbl_8028744C: /* 8028744C 002843AC 2C 00 00 00 */ cmpwi r0, 0 /* 80287450 002843B0 41 80 00 0C */ blt lbl_8028745C /* 80287454 002843B4 2C 00 00 07 */ cmpwi r0, 7 /* 80287458 002843B8 40 81 00 08 */ ble lbl_80287460 lbl_8028745C: /* 8028745C 002843BC 38 00 00 00 */ li r0, 0 lbl_80287460: /* 80287460 002843C0 54 00 10 3A */ slwi r0, r0, 2 /* 80287464 002843C4 2C 04 00 02 */ cmpwi r4, 2 /* 80287468 002843C8 7C 65 02 14 */ add r3, r5, r0 /* 8028746C 002843CC C0 5D 00 E8 */ lfs f2, 0xe8(r29) /* 80287470 002843D0 C0 23 00 44 */ lfs f1, 0x44(r3) /* 80287474 002843D4 40 82 00 0C */ bne lbl_80287480 /* 80287478 002843D8 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028747C 002843DC 48 00 00 08 */ b lbl_80287484 lbl_80287480: /* 80287480 002843E0 38 00 00 04 */ li r0, 4 lbl_80287484: /* 80287484 002843E4 2C 00 00 00 */ cmpwi r0, 0 /* 80287488 002843E8 41 80 00 0C */ blt lbl_80287494 /* 8028748C 002843EC 2C 00 00 07 */ cmpwi r0, 7 /* 80287490 002843F0 40 81 00 08 */ ble lbl_80287498 lbl_80287494: /* 80287494 002843F4 38 00 00 00 */ li r0, 0 lbl_80287498: /* 80287498 002843F8 54 00 10 3A */ slwi r0, r0, 2 /* 8028749C 002843FC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802874A0 00284400 7C 65 02 14 */ add r3, r5, r0 /* 802874A4 00284404 EC 41 00 B2 */ fmuls f2, f1, f2 /* 802874A8 00284408 C0 23 00 04 */ lfs f1, 4(r3) /* 802874AC 0028440C FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 802874B0 00284410 EC 1B 00 72 */ fmuls f0, f27, f1 /* 802874B4 00284414 EC 22 00 24 */ fdivs f1, f2, f0 /* 802874B8 00284418 EC 21 06 B2 */ fmuls f1, f1, f26 /* 802874BC 0028441C EC 1A 08 28 */ fsubs f0, f26, f1 /* 802874C0 00284420 EF 9F 00 32 */ fmuls f28, f31, f0 /* 802874C4 00284424 40 81 00 0C */ ble lbl_802874D0 /* 802874C8 00284428 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 802874CC 0028442C 48 00 00 08 */ b lbl_802874D4 lbl_802874D0: /* 802874D0 00284430 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) lbl_802874D4: /* 802874D4 00284434 EF 81 E0 3A */ fmadds f28, f1, f0, f28 /* 802874D8 00284438 38 61 00 28 */ addi r3, r1, 0x28 /* 802874DC 0028443C 38 9D 00 34 */ addi r4, r29, 0x34 /* 802874E0 00284440 38 BD 01 38 */ addi r5, r29, 0x138 /* 802874E4 00284444 48 08 B5 41 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 802874E8 00284448 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 802874EC 0028444C 38 81 00 08 */ addi r4, r1, 8 /* 802874F0 00284450 38 6D 99 5C */ addi r3, r13, lbl_805A851C@sda21 /* 802874F4 00284454 38 AD 99 60 */ addi r5, r13, lbl_805A8520@sda21 /* 802874F8 00284458 EC 1C 00 28 */ fsubs f0, f28, f0 /* 802874FC 0028445C EC 00 D0 24 */ fdivs f0, f0, f26 /* 80287500 00284460 D0 01 00 08 */ stfs f0, 8(r1) /* 80287504 00284464 4B D8 4D B1 */ bl "Clamp__5CMathFRCfRCfRCf" /* 80287508 00284468 80 1D 02 B0 */ lwz r0, 0x2b0(r29) /* 8028750C 0028446C C0 23 00 00 */ lfs f1, 0(r3) /* 80287510 00284470 2C 00 00 02 */ cmpwi r0, 2 /* 80287514 00284474 40 82 00 0C */ bne lbl_80287520 /* 80287518 00284478 80 1D 02 AC */ lwz r0, 0x2ac(r29) /* 8028751C 0028447C 48 00 00 08 */ b lbl_80287524 lbl_80287520: /* 80287520 00284480 38 00 00 04 */ li r0, 4 lbl_80287524: /* 80287524 00284484 2C 00 00 00 */ cmpwi r0, 0 /* 80287528 00284488 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8028752C 0028448C 41 80 00 0C */ blt lbl_80287538 /* 80287530 00284490 2C 00 00 07 */ cmpwi r0, 7 /* 80287534 00284494 40 81 00 08 */ ble lbl_8028753C lbl_80287538: /* 80287538 00284498 38 00 00 00 */ li r0, 0 lbl_8028753C: /* 8028753C 0028449C 54 00 10 3A */ slwi r0, r0, 2 /* 80287540 002844A0 7C 63 02 14 */ add r3, r3, r0 /* 80287544 002844A4 C0 03 00 04 */ lfs f0, 4(r3) /* 80287548 002844A8 EC 21 00 32 */ fmuls f1, f1, f0 /* 8028754C 002844AC 48 00 00 08 */ b lbl_80287554 lbl_80287550: /* 80287550 002844B0 FC 20 10 90 */ fmr f1, f2 lbl_80287554: /* 80287554 002844B4 80 7D 03 04 */ lwz r3, 0x304(r29) /* 80287558 002844B8 2C 03 00 00 */ cmpwi r3, 0 /* 8028755C 002844BC 41 82 00 20 */ beq lbl_8028757C /* 80287560 002844C0 88 02 80 E2 */ lbz r0, lbl_805A9E02@sda21(r2) /* 80287564 002844C4 28 00 00 00 */ cmplwi r0, 0 /* 80287568 002844C8 41 82 00 14 */ beq lbl_8028757C /* 8028756C 002844CC 88 1D 03 DD */ lbz r0, 0x3dd(r29) /* 80287570 002844D0 28 00 00 00 */ cmplwi r0, 0 /* 80287574 002844D4 41 82 00 08 */ beq lbl_8028757C /* 80287578 002844D8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) lbl_8028757C: /* 8028757C 002844DC 2C 03 00 00 */ cmpwi r3, 0 /* 80287580 002844E0 41 82 00 10 */ beq lbl_80287590 /* 80287584 002844E4 88 1D 03 DD */ lbz r0, 0x3dd(r29) /* 80287588 002844E8 28 00 00 00 */ cmplwi r0, 0 /* 8028758C 002844EC 41 82 00 A4 */ beq lbl_80287630 lbl_80287590: /* 80287590 002844F0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287594 002844F4 EC 21 00 2A */ fadds f1, f1, f0 /* 80287598 002844F8 D0 01 00 DC */ stfs f0, 0xdc(r1) /* 8028759C 002844FC EC 00 E8 2A */ fadds f0, f0, f29 /* 802875A0 00284500 D0 21 00 E0 */ stfs f1, 0xe0(r1) /* 802875A4 00284504 D0 01 00 E4 */ stfs f0, 0xe4(r1) /* 802875A8 00284508 4B D9 3F 8D */ bl Identity__10CAxisAngleFv /* 802875AC 0028450C 7C 65 1B 78 */ mr r5, r3 /* 802875B0 00284510 7F A3 EB 78 */ mr r3, r29 /* 802875B4 00284514 38 81 00 DC */ addi r4, r1, 0xdc /* 802875B8 00284518 4B E9 4B 8D */ bl ApplyForceOR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle /* 802875BC 0028451C C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 802875C0 00284520 FC 01 F0 00 */ fcmpu cr0, f1, f30 /* 802875C4 00284524 41 82 00 40 */ beq lbl_80287604 /* 802875C8 00284528 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 802875CC 0028452C 38 61 00 10 */ addi r3, r1, 0x10 /* 802875D0 00284530 D0 21 00 10 */ stfs f1, 0x10(r1) /* 802875D4 00284534 D0 21 00 14 */ stfs f1, 0x14(r1) /* 802875D8 00284538 D0 01 00 18 */ stfs f0, 0x18(r1) /* 802875DC 0028453C 48 08 D3 1D */ bl Normalize__9CVector3fFv /* 802875E0 00284540 FC 20 F0 90 */ fmr f1, f30 /* 802875E4 00284544 38 61 00 1C */ addi r3, r1, 0x1c /* 802875E8 00284548 38 81 00 10 */ addi r4, r1, 0x10 /* 802875EC 0028454C 4B D9 3F 71 */ bl __ct__10CAxisAngleFRC13CUnitVector3ff /* 802875F0 00284550 3C 80 80 5A */ lis r4, skZero3f@ha /* 802875F4 00284554 7C 65 1B 78 */ mr r5, r3 /* 802875F8 00284558 38 84 66 A0 */ addi r4, r4, skZero3f@l /* 802875FC 0028455C 7F A3 EB 78 */ mr r3, r29 /* 80287600 00284560 4B E9 4B 45 */ bl ApplyForceOR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle lbl_80287604: /* 80287604 00284564 88 1D 03 7C */ lbz r0, 0x37c(r29) /* 80287608 00284568 28 00 00 00 */ cmplwi r0, 0 /* 8028760C 0028456C 41 82 00 0C */ beq lbl_80287618 /* 80287610 00284570 38 00 00 01 */ li r0, 1 /* 80287614 00284574 98 1D 03 8C */ stb r0, 0x38c(r29) lbl_80287618: /* 80287618 00284578 38 00 00 00 */ li r0, 0 /* 8028761C 0028457C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287620 00284580 98 1D 03 7C */ stb r0, 0x37c(r29) /* 80287624 00284584 D0 1D 03 80 */ stfs f0, 0x380(r29) /* 80287628 00284588 D0 1D 03 84 */ stfs f0, 0x384(r29) /* 8028762C 0028458C 48 00 00 74 */ b lbl_802876A0 lbl_80287630: /* 80287630 00284590 2C 03 00 05 */ cmpwi r3, 5 /* 80287634 00284594 41 82 00 48 */ beq lbl_8028767C /* 80287638 00284598 40 80 00 44 */ bge lbl_8028767C /* 8028763C 0028459C 2C 03 00 01 */ cmpwi r3, 1 /* 80287640 002845A0 40 80 00 08 */ bge lbl_80287648 /* 80287644 002845A4 48 00 00 38 */ b lbl_8028767C lbl_80287648: /* 80287648 002845A8 7F A3 EB 78 */ mr r3, r29 /* 8028764C 002845AC 3B 80 00 01 */ li r28, 1 /* 80287650 002845B0 4B EF 3C 59 */ bl InGrappleJumpCooldown__7CPlayerCFv /* 80287654 002845B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80287658 002845B8 41 82 00 08 */ beq lbl_80287660 /* 8028765C 002845BC 3B 80 00 00 */ li r28, 0 lbl_80287660: /* 80287660 002845C0 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 80287664 002845C4 41 82 00 18 */ beq lbl_8028767C /* 80287668 002845C8 FC 20 D8 90 */ fmr f1, f27 /* 8028766C 002845CC 7F A3 EB 78 */ mr r3, r29 /* 80287670 002845D0 7F C4 F3 78 */ mr r4, r30 /* 80287674 002845D4 7F E5 FB 78 */ mr r5, r31 /* 80287678 002845D8 48 00 01 FD */ bl ComputeDash__7CPlayerFRC11CFinalInputfR13CStateManager lbl_8028767C: /* 8028767C 002845DC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287680 002845E0 D3 A1 00 D8 */ stfs f29, 0xd8(r1) /* 80287684 002845E4 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 80287688 002845E8 D0 01 00 D4 */ stfs f0, 0xd4(r1) /* 8028768C 002845EC 4B D9 3E A9 */ bl Identity__10CAxisAngleFv /* 80287690 002845F0 7C 65 1B 78 */ mr r5, r3 /* 80287694 002845F4 7F A3 EB 78 */ mr r3, r29 /* 80287698 002845F8 38 81 00 D0 */ addi r4, r1, 0xd0 /* 8028769C 002845FC 4B E9 4A A9 */ bl ApplyForceOR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle lbl_802876A0: /* 802876A0 00284600 88 1D 03 DC */ lbz r0, 0x3dc(r29) /* 802876A4 00284604 28 00 00 00 */ cmplwi r0, 0 /* 802876A8 00284608 40 82 00 10 */ bne lbl_802876B8 /* 802876AC 0028460C 88 1D 03 DD */ lbz r0, 0x3dd(r29) /* 802876B0 00284610 28 00 00 00 */ cmplwi r0, 0 /* 802876B4 00284614 41 82 01 0C */ beq lbl_802877C0 lbl_802876B8: /* 802876B8 00284618 88 1D 09 C5 */ lbz r0, 0x9c5(r29) /* 802876BC 0028461C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 802876C0 00284620 40 82 01 00 */ bne lbl_802877C0 /* 802876C4 00284624 80 1D 02 58 */ lwz r0, 0x258(r29) /* 802876C8 00284628 2C 00 00 00 */ cmpwi r0, 0 /* 802876CC 0028462C 40 82 00 F4 */ bne lbl_802877C0 /* 802876D0 00284630 3C 60 80 5A */ lis r3, skZero3f@ha /* 802876D4 00284634 C0 1D 01 3C */ lfs f0, 0x13c(r29) /* 802876D8 00284638 38 83 66 A0 */ addi r4, r3, skZero3f@l /* 802876DC 0028463C C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 802876E0 00284640 C0 84 00 04 */ lfs f4, 4(r4) /* 802876E4 00284644 38 61 00 C4 */ addi r3, r1, 0xc4 /* 802876E8 00284648 C0 64 00 08 */ lfs f3, 8(r4) /* 802876EC 0028464C C0 24 00 00 */ lfs f1, 0(r4) /* 802876F0 00284650 EC 84 00 28 */ fsubs f4, f4, f0 /* 802876F4 00284654 C0 1D 01 38 */ lfs f0, 0x138(r29) /* 802876F8 00284658 EC 43 10 28 */ fsubs f2, f3, f2 /* 802876FC 0028465C EC 01 00 28 */ fsubs f0, f1, f0 /* 80287700 00284660 D0 81 00 C8 */ stfs f4, 0xc8(r1) /* 80287704 00284664 D0 41 00 CC */ stfs f2, 0xcc(r1) /* 80287708 00284668 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 8028770C 0028466C 48 08 D1 AD */ bl Magnitude__9CVector3fCFv /* 80287710 00284670 FF 80 08 90 */ fmr f28, f1 /* 80287714 00284674 C0 02 BD D0 */ lfs f0, lbl_805ADAF0@sda21(r2) /* 80287718 00284678 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 8028771C 0028467C 40 81 00 A4 */ ble lbl_802877C0 /* 80287720 00284680 7F A3 EB 78 */ mr r3, r29 /* 80287724 00284684 48 00 0C D1 */ bl GetAcceleration__7CPlayerCFv /* 80287728 00284688 EC 5B 00 72 */ fmuls f2, f27, f1 /* 8028772C 0028468C C0 22 BD 94 */ lfs f1, lbl_805ADAB4@sda21(r2) /* 80287730 00284690 C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80287734 00284694 ED 01 00 B2 */ fmuls f8, f1, f2 /* 80287738 00284698 EC FC 40 24 */ fdivs f7, f28, f8 /* 8028773C 0028469C FC 20 3A 10 */ fabs f1, f7 /* 80287740 002846A0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287744 002846A4 40 81 00 14 */ ble lbl_80287758 /* 80287748 002846A8 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 8028774C 002846AC C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80287750 002846B0 FC 07 00 6E */ fsel f0, f7, f1, f0 /* 80287754 002846B4 EC E1 00 32 */ fmuls f7, f1, f0 lbl_80287758: /* 80287758 002846B8 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 8028775C 002846BC 7F A3 EB 78 */ mr r3, r29 /* 80287760 002846C0 C0 81 00 C8 */ lfs f4, 0xc8(r1) /* 80287764 002846C4 38 81 00 B8 */ addi r4, r1, 0xb8 /* 80287768 002846C8 EC C0 E0 24 */ fdivs f6, f0, f28 /* 8028776C 002846CC C0 41 00 CC */ lfs f2, 0xcc(r1) /* 80287770 002846D0 C0 01 00 C4 */ lfs f0, 0xc4(r1) /* 80287774 002846D4 C0 BD 01 3C */ lfs f5, 0x13c(r29) /* 80287778 002846D8 C0 7D 01 40 */ lfs f3, 0x140(r29) /* 8028777C 002846DC C0 3D 01 38 */ lfs f1, 0x138(r29) /* 80287780 002846E0 EC 86 01 32 */ fmuls f4, f6, f4 /* 80287784 002846E4 EC 46 00 B2 */ fmuls f2, f6, f2 /* 80287788 002846E8 EC 06 00 32 */ fmuls f0, f6, f0 /* 8028778C 002846EC EC 88 01 32 */ fmuls f4, f8, f4 /* 80287790 002846F0 EC 48 00 B2 */ fmuls f2, f8, f2 /* 80287794 002846F4 EC 08 00 32 */ fmuls f0, f8, f0 /* 80287798 002846F8 EC 87 01 32 */ fmuls f4, f7, f4 /* 8028779C 002846FC EC 47 00 B2 */ fmuls f2, f7, f2 /* 802877A0 00284700 EC 07 00 32 */ fmuls f0, f7, f0 /* 802877A4 00284704 EC 85 20 2A */ fadds f4, f5, f4 /* 802877A8 00284708 EC 43 10 2A */ fadds f2, f3, f2 /* 802877AC 0028470C EC 01 00 2A */ fadds f0, f1, f0 /* 802877B0 00284710 D0 81 00 BC */ stfs f4, 0xbc(r1) /* 802877B4 00284714 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 802877B8 00284718 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 802877BC 0028471C 4B E9 34 E5 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f lbl_802877C0: /* 802877C0 00284720 88 1D 09 C5 */ lbz r0, 0x9c5(r29) /* 802877C4 00284724 38 60 00 00 */ li r3, 0 /* 802877C8 00284728 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 802877CC 0028472C C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802877D0 00284730 98 1D 09 C5 */ stb r0, 0x9c5(r29) /* 802877D4 00284734 C0 3D 02 D4 */ lfs f1, 0x2d4(r29) /* 802877D8 00284738 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802877DC 0028473C 40 81 00 0C */ ble lbl_802877E8 /* 802877E0 00284740 90 7D 02 D0 */ stw r3, 0x2d0(r29) /* 802877E4 00284744 48 00 00 10 */ b lbl_802877F4 lbl_802877E8: /* 802877E8 00284748 80 7D 02 D0 */ lwz r3, 0x2d0(r29) /* 802877EC 0028474C 38 03 00 01 */ addi r0, r3, 1 /* 802877F0 00284750 90 1D 02 D0 */ stw r0, 0x2d0(r29) lbl_802877F4: /* 802877F4 00284754 C0 1D 02 D4 */ lfs f0, 0x2d4(r29) /* 802877F8 00284758 EC 00 D8 28 */ fsubs f0, f0, f27 /* 802877FC 0028475C D0 1D 02 D4 */ stfs f0, 0x2d4(r29) /* 80287800 00284760 C0 2D 99 64 */ lfs f1, lbl_805A8524@sda21(r13) /* 80287804 00284764 C0 1D 02 D4 */ lfs f0, 0x2d4(r29) /* 80287808 00284768 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028780C 0028476C 40 80 00 0C */ bge lbl_80287818 /* 80287810 00284770 38 7D 02 D4 */ addi r3, r29, 0x2d4 /* 80287814 00284774 48 00 00 08 */ b lbl_8028781C lbl_80287818: /* 80287818 00284778 38 6D 99 64 */ addi r3, r13, lbl_805A8524@sda21 lbl_8028781C: /* 8028781C 0028477C C0 03 00 00 */ lfs f0, 0(r3) /* 80287820 00284780 D0 1D 02 D4 */ stfs f0, 0x2d4(r29) /* 80287824 00284784 E3 E1 01 58 */ psq_l f31, 344(r1), 0, qr0 /* 80287828 00284788 CB E1 01 50 */ lfd f31, 0x150(r1) /* 8028782C 0028478C E3 C1 01 48 */ psq_l f30, 328(r1), 0, qr0 /* 80287830 00284790 CB C1 01 40 */ lfd f30, 0x140(r1) /* 80287834 00284794 E3 A1 01 38 */ psq_l f29, 312(r1), 0, qr0 /* 80287838 00284798 CB A1 01 30 */ lfd f29, 0x130(r1) /* 8028783C 0028479C E3 81 01 28 */ psq_l f28, 296(r1), 0, qr0 /* 80287840 002847A0 CB 81 01 20 */ lfd f28, 0x120(r1) /* 80287844 002847A4 E3 61 01 18 */ psq_l f27, 280(r1), 0, qr0 /* 80287848 002847A8 CB 61 01 10 */ lfd f27, 0x110(r1) /* 8028784C 002847AC E3 41 01 08 */ psq_l f26, 264(r1), 0, qr0 /* 80287850 002847B0 CB 41 01 00 */ lfd f26, 0x100(r1) /* 80287854 002847B4 83 E1 00 FC */ lwz r31, 0xfc(r1) /* 80287858 002847B8 83 C1 00 F8 */ lwz r30, 0xf8(r1) /* 8028785C 002847BC 83 A1 00 F4 */ lwz r29, 0xf4(r1) /* 80287860 002847C0 80 01 01 64 */ lwz r0, 0x164(r1) /* 80287864 002847C4 83 81 00 F0 */ lwz r28, 0xf0(r1) /* 80287868 002847C8 7C 08 03 A6 */ mtlr r0 /* 8028786C 002847CC 38 21 01 60 */ addi r1, r1, 0x160 /* 80287870 002847D0 4E 80 00 20 */ blr .global ComputeDash__7CPlayerFRC11CFinalInputfR13CStateManager ComputeDash__7CPlayerFRC11CFinalInputfR13CStateManager: /* 80287874 002847D4 94 21 FE D0 */ stwu r1, -0x130(r1) /* 80287878 002847D8 7C 08 02 A6 */ mflr r0 /* 8028787C 002847DC 90 01 01 34 */ stw r0, 0x134(r1) /* 80287880 002847E0 DB E1 01 20 */ stfd f31, 0x120(r1) /* 80287884 002847E4 F3 E1 01 28 */ psq_st f31, 296(r1), 0, qr0 /* 80287888 002847E8 DB C1 01 10 */ stfd f30, 0x110(r1) /* 8028788C 002847EC F3 C1 01 18 */ psq_st f30, 280(r1), 0, qr0 /* 80287890 002847F0 DB A1 01 00 */ stfd f29, 0x100(r1) /* 80287894 002847F4 F3 A1 01 08 */ psq_st f29, 264(r1), 0, qr0 /* 80287898 002847F8 DB 81 00 F0 */ stfd f28, 0xf0(r1) /* 8028789C 002847FC F3 81 00 F8 */ psq_st f28, 248(r1), 0, qr0 /* 802878A0 00284800 DB 61 00 E0 */ stfd f27, 0xe0(r1) /* 802878A4 00284804 F3 61 00 E8 */ psq_st f27, 232(r1), 0, qr0 /* 802878A8 00284808 DB 41 00 D0 */ stfd f26, 0xd0(r1) /* 802878AC 0028480C F3 41 00 D8 */ psq_st f26, 216(r1), 0, qr0 /* 802878B0 00284810 DB 21 00 C0 */ stfd f25, 0xc0(r1) /* 802878B4 00284814 F3 21 00 C8 */ psq_st f25, 200(r1), 0, qr0 /* 802878B8 00284818 93 E1 00 BC */ stw r31, 0xbc(r1) /* 802878BC 0028481C 93 C1 00 B8 */ stw r30, 0xb8(r1) /* 802878C0 00284820 93 A1 00 B4 */ stw r29, 0xb4(r1) /* 802878C4 00284824 93 81 00 B0 */ stw r28, 0xb0(r1) /* 802878C8 00284828 FF 20 08 90 */ fmr f25, f1 /* 802878CC 0028482C 3C C0 80 3D */ lis r6, lbl_803D5908@ha /* 802878D0 00284830 7C 7C 1B 78 */ mr r28, r3 /* 802878D4 00284834 7C 9D 23 78 */ mr r29, r4 /* 802878D8 00284838 7C BE 2B 78 */ mr r30, r5 /* 802878DC 0028483C 3B E6 59 08 */ addi r31, r6, lbl_803D5908@l /* 802878E0 00284840 4B FF F3 71 */ bl StrafeInput__7CPlayerCFRC11CFinalInput /* 802878E4 00284844 FF 80 08 90 */ fmr f28, f1 /* 802878E8 00284848 7F 83 E3 78 */ mr r3, r28 /* 802878EC 0028484C 7F A4 EB 78 */ mr r4, r29 /* 802878F0 00284850 4B FF F1 8D */ bl TurnInput__7CPlayerCFRC11CFinalInput /* 802878F4 00284854 7F 83 E3 78 */ mr r3, r28 /* 802878F8 00284858 7F A4 EB 78 */ mr r4, r29 /* 802878FC 0028485C 4B FF F3 D9 */ bl ForwardInput__7CPlayerCFRC11CFinalInputf /* 80287900 00284860 C3 BC 00 60 */ lfs f29, 0x60(r28) /* 80287904 00284864 FF 60 08 90 */ fmr f27, f1 /* 80287908 00284868 C0 7C 00 50 */ lfs f3, 0x50(r28) /* 8028790C 0028486C 38 61 00 A0 */ addi r3, r1, 0xa0 /* 80287910 00284870 C3 DC 03 18 */ lfs f30, 0x318(r28) /* 80287914 00284874 EC 1D E8 28 */ fsubs f0, f29, f29 /* 80287918 00284878 C0 9C 00 40 */ lfs f4, 0x40(r28) /* 8028791C 0028487C C3 FC 03 14 */ lfs f31, 0x314(r28) /* 80287920 00284880 EC 43 F0 28 */ fsubs f2, f3, f30 /* 80287924 00284884 D0 81 00 54 */ stfs f4, 0x54(r1) /* 80287928 00284888 EC 24 F8 28 */ fsubs f1, f4, f31 /* 8028792C 0028488C D0 61 00 58 */ stfs f3, 0x58(r1) /* 80287930 00284890 D3 A1 00 5C */ stfs f29, 0x5c(r1) /* 80287934 00284894 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 80287938 00284898 D0 41 00 A4 */ stfs f2, 0xa4(r1) /* 8028793C 0028489C D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 80287940 002848A0 48 08 CD B9 */ bl CanBeNormalized__9CVector3fCFv /* 80287944 002848A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80287948 002848A8 41 82 05 3C */ beq lbl_80287E84 /* 8028794C 002848AC C0 41 00 A0 */ lfs f2, 0xa0(r1) /* 80287950 002848B0 C0 21 00 A4 */ lfs f1, 0xa4(r1) /* 80287954 002848B4 C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 80287958 002848B8 D0 41 00 94 */ stfs f2, 0x94(r1) /* 8028795C 002848BC D0 21 00 98 */ stfs f1, 0x98(r1) /* 80287960 002848C0 D0 01 00 9C */ stfs f0, 0x9c(r1) /* 80287964 002848C4 80 1C 02 B0 */ lwz r0, 0x2b0(r28) /* 80287968 002848C8 2C 00 00 02 */ cmpwi r0, 2 /* 8028796C 002848CC 40 82 00 0C */ bne lbl_80287978 /* 80287970 002848D0 80 1C 02 AC */ lwz r0, 0x2ac(r28) /* 80287974 002848D4 48 00 00 08 */ b lbl_8028797C lbl_80287978: /* 80287978 002848D8 38 00 00 04 */ li r0, 4 lbl_8028797C: /* 8028797C 002848DC 54 00 10 3A */ slwi r0, r0, 2 /* 80287980 002848E0 38 7F 00 00 */ addi r3, r31, 0 /* 80287984 002848E4 7C 03 04 2E */ lfsx f0, r3, r0 /* 80287988 002848E8 7F A4 EB 78 */ mr r4, r29 /* 8028798C 002848EC 38 60 00 0A */ li r3, 0xa /* 80287990 002848F0 EF 59 00 32 */ fmuls f26, f25, f0 /* 80287994 002848F4 4B D8 4E E1 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80287998 002848F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8028799C 002848FC 41 82 00 10 */ beq lbl_802879AC /* 802879A0 00284900 C0 1C 03 88 */ lfs f0, 0x388(r28) /* 802879A4 00284904 EC 00 C8 2A */ fadds f0, f0, f25 /* 802879A8 00284908 D0 1C 03 88 */ stfs f0, 0x388(r28) lbl_802879AC: /* 802879AC 0028490C 88 1C 03 7C */ lbz r0, 0x37c(r28) /* 802879B0 00284910 28 00 00 00 */ cmplwi r0, 0 /* 802879B4 00284914 40 82 00 E0 */ bne lbl_80287A94 /* 802879B8 00284918 FC 20 E0 90 */ fmr f1, f28 /* 802879BC 0028491C 7F 83 E3 78 */ mr r3, r28 /* 802879C0 00284920 FC 40 D8 90 */ fmr f2, f27 /* 802879C4 00284924 7F A4 EB 78 */ mr r4, r29 /* 802879C8 00284928 7F C5 F3 78 */ mr r5, r30 /* 802879CC 0028492C 48 00 05 3D */ bl SidewaysDashAllowed__7CPlayerCFffRC11CFinalInputR13CStateManager /* 802879D0 00284930 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802879D4 00284934 41 82 00 B8 */ beq lbl_80287A8C /* 802879D8 00284938 38 00 00 01 */ li r0, 1 /* 802879DC 0028493C C0 42 BD A0 */ lfs f2, lbl_805ADAC0@sda21(r2) /* 802879E0 00284940 98 1C 03 7C */ stb r0, 0x37c(r28) /* 802879E4 00284944 D3 9C 03 80 */ stfs f28, 0x380(r28) /* 802879E8 00284948 98 1C 03 8C */ stb r0, 0x38c(r28) /* 802879EC 0028494C D0 5C 03 84 */ stfs f2, 0x384(r28) /* 802879F0 00284950 C0 1C 01 38 */ lfs f0, 0x138(r28) /* 802879F4 00284954 D0 01 00 88 */ stfs f0, 0x88(r1) /* 802879F8 00284958 C0 1C 01 3C */ lfs f0, 0x13c(r28) /* 802879FC 0028495C D0 01 00 8C */ stfs f0, 0x8c(r1) /* 80287A00 00284960 C0 3C 01 40 */ lfs f1, 0x140(r28) /* 80287A04 00284964 FC 01 10 40 */ fcmpo cr0, f1, f2 /* 80287A08 00284968 D0 21 00 90 */ stfs f1, 0x90(r1) /* 80287A0C 0028496C 40 81 00 80 */ ble lbl_80287A8C /* 80287A10 00284970 C0 02 BD AC */ lfs f0, lbl_805ADACC@sda21(r2) /* 80287A14 00284974 EC 01 00 32 */ fmuls f0, f1, f0 /* 80287A18 00284978 D0 01 00 90 */ stfs f0, 0x90(r1) /* 80287A1C 0028497C 88 1C 09 C5 */ lbz r0, 0x9c5(r28) /* 80287A20 00284980 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80287A24 00284984 40 82 00 68 */ bne lbl_80287A8C /* 80287A28 00284988 7F 83 E3 78 */ mr r3, r28 /* 80287A2C 0028498C 38 81 00 88 */ addi r4, r1, 0x88 /* 80287A30 00284990 4B E9 32 71 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f /* 80287A34 00284994 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2) /* 80287A38 00284998 38 61 00 14 */ addi r3, r1, 0x14 /* 80287A3C 0028499C 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2) /* 80287A40 002849A0 38 80 06 18 */ li r4, 0x618 /* 80287A44 002849A4 38 A0 00 7F */ li r5, 0x7f /* 80287A48 002849A8 38 C0 00 40 */ li r6, 0x40 /* 80287A4C 002849AC 38 E0 00 01 */ li r7, 1 /* 80287A50 002849B0 39 20 00 00 */ li r9, 0 /* 80287A54 002849B4 48 06 23 21 */ bl SfxStart__11CSfxManagerFUsssbsbi /* 80287A58 002849B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80287A5C 002849BC 7F 83 E3 78 */ mr r3, r28 /* 80287A60 002849C0 38 81 00 10 */ addi r4, r1, 0x10 /* 80287A64 002849C4 90 1C 07 78 */ stw r0, 0x778(r28) /* 80287A68 002849C8 80 1C 07 78 */ lwz r0, 0x778(r28) /* 80287A6C 002849CC 90 01 00 10 */ stw r0, 0x10(r1) /* 80287A70 002849D0 4B D8 97 1D */ bl ApplySubmergedPitchBend__7CPlayerFR10CSfxHandle /* 80287A74 002849D4 80 7E 08 8C */ lwz r3, 0x88c(r30) /* 80287A78 002849D8 7F C4 F3 78 */ mr r4, r30 /* 80287A7C 002849DC C0 22 BE 48 */ lfs f1, lbl_805ADB68@sda21(r2) /* 80287A80 002849E0 38 A0 00 0B */ li r5, 0xb /* 80287A84 002849E4 38 C0 00 01 */ li r6, 1 /* 80287A88 002849E8 4B FA 67 BD */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority lbl_80287A8C: /* 80287A8C 002849EC EF 5A 07 32 */ fmuls f26, f26, f28 /* 80287A90 002849F0 48 00 01 70 */ b lbl_80287C00 lbl_80287A94: /* 80287A94 002849F4 C0 1C 03 84 */ lfs f0, 0x384(r28) /* 80287A98 002849F8 EC 00 C8 2A */ fadds f0, f0, f25 /* 80287A9C 002849FC D0 1C 03 84 */ stfs f0, 0x384(r28) /* 80287AA0 00284A00 80 1C 02 58 */ lwz r0, 0x258(r28) /* 80287AA4 00284A04 2C 00 00 00 */ cmpwi r0, 0 /* 80287AA8 00284A08 41 82 00 3C */ beq lbl_80287AE4 /* 80287AAC 00284A0C C0 5C 03 84 */ lfs f2, 0x384(r28) /* 80287AB0 00284A10 C0 1C 03 A0 */ lfs f0, 0x3a0(r28) /* 80287AB4 00284A14 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80287AB8 00284A18 4C 41 13 82 */ cror 2, 1, 2 /* 80287ABC 00284A1C 41 82 00 28 */ beq lbl_80287AE4 /* 80287AC0 00284A20 88 1C 09 C5 */ lbz r0, 0x9c5(r28) /* 80287AC4 00284A24 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80287AC8 00284A28 40 82 00 1C */ bne lbl_80287AE4 /* 80287ACC 00284A2C 88 1C 09 C5 */ lbz r0, 0x9c5(r28) /* 80287AD0 00284A30 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 80287AD4 00284A34 40 82 00 10 */ bne lbl_80287AE4 /* 80287AD8 00284A38 80 1C 03 04 */ lwz r0, 0x304(r28) /* 80287ADC 00284A3C 2C 00 00 01 */ cmpwi r0, 1 /* 80287AE0 00284A40 41 82 00 24 */ beq lbl_80287B04 lbl_80287AE4: /* 80287AE4 00284A44 7F 83 E3 78 */ mr r3, r28 /* 80287AE8 00284A48 48 00 03 F5 */ bl FinishSidewaysDash__7CPlayerFv /* 80287AEC 00284A4C 80 1C 07 78 */ lwz r0, 0x778(r28) /* 80287AF0 00284A50 EF 5A 07 32 */ fmuls f26, f26, f28 /* 80287AF4 00284A54 38 61 00 0C */ addi r3, r1, 0xc /* 80287AF8 00284A58 90 01 00 0C */ stw r0, 0xc(r1) /* 80287AFC 00284A5C 48 06 23 89 */ bl RemoveEmitter__11CSfxManagerFRC10CSfxHandle /* 80287B00 00284A60 48 00 01 00 */ b lbl_80287C00 lbl_80287B04: /* 80287B04 00284A64 88 1C 03 9C */ lbz r0, 0x39c(r28) /* 80287B08 00284A68 80 7C 02 B0 */ lwz r3, 0x2b0(r28) /* 80287B0C 00284A6C 28 00 00 00 */ cmplwi r0, 0 /* 80287B10 00284A70 41 82 00 34 */ beq lbl_80287B44 /* 80287B14 00284A74 2C 03 00 02 */ cmpwi r3, 2 /* 80287B18 00284A78 40 82 00 0C */ bne lbl_80287B24 /* 80287B1C 00284A7C 80 1C 02 AC */ lwz r0, 0x2ac(r28) /* 80287B20 00284A80 48 00 00 08 */ b lbl_80287B28 lbl_80287B24: /* 80287B24 00284A84 38 00 00 04 */ li r0, 4 lbl_80287B28: /* 80287B28 00284A88 54 00 10 3A */ slwi r0, r0, 2 /* 80287B2C 00284A8C 38 7F 00 20 */ addi r3, r31, 0x20 /* 80287B30 00284A90 C0 3C 03 98 */ lfs f1, 0x398(r28) /* 80287B34 00284A94 7C 03 04 2E */ lfsx f0, r3, r0 /* 80287B38 00284A98 EC 01 00 32 */ fmuls f0, f1, f0 /* 80287B3C 00284A9C EF 59 00 32 */ fmuls f26, f25, f0 /* 80287B40 00284AA0 48 00 00 AC */ b lbl_80287BEC lbl_80287B44: /* 80287B44 00284AA4 C0 3C 03 A4 */ lfs f1, 0x3a4(r28) /* 80287B48 00284AA8 C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80287B4C 00284AAC EC 42 08 24 */ fdivs f2, f2, f1 /* 80287B50 00284AB0 FC 20 12 10 */ fabs f1, f2 /* 80287B54 00284AB4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287B58 00284AB8 40 81 00 14 */ ble lbl_80287B6C /* 80287B5C 00284ABC C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80287B60 00284AC0 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80287B64 00284AC4 FC 02 00 6E */ fsel f0, f2, f1, f0 /* 80287B68 00284AC8 EC 41 00 32 */ fmuls f2, f1, f0 lbl_80287B6C: /* 80287B6C 00284ACC C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80287B70 00284AD0 80 DC 02 B0 */ lwz r6, 0x2b0(r28) /* 80287B74 00284AD4 EC 40 10 28 */ fsubs f2, f0, f2 /* 80287B78 00284AD8 2C 06 00 02 */ cmpwi r6, 2 /* 80287B7C 00284ADC 40 82 00 0C */ bne lbl_80287B88 /* 80287B80 00284AE0 80 1C 02 AC */ lwz r0, 0x2ac(r28) /* 80287B84 00284AE4 48 00 00 08 */ b lbl_80287B8C lbl_80287B88: /* 80287B88 00284AE8 38 00 00 04 */ li r0, 4 lbl_80287B8C: /* 80287B8C 00284AEC 2C 06 00 02 */ cmpwi r6, 2 /* 80287B90 00284AF0 40 82 00 0C */ bne lbl_80287B9C /* 80287B94 00284AF4 80 7C 02 AC */ lwz r3, 0x2ac(r28) /* 80287B98 00284AF8 48 00 00 08 */ b lbl_80287BA0 lbl_80287B9C: /* 80287B9C 00284AFC 38 60 00 04 */ li r3, 4 lbl_80287BA0: /* 80287BA0 00284B00 54 65 10 3A */ slwi r5, r3, 2 /* 80287BA4 00284B04 38 9F 00 20 */ addi r4, r31, 0x20 /* 80287BA8 00284B08 54 00 10 3A */ slwi r0, r0, 2 /* 80287BAC 00284B0C 38 7F 00 00 */ addi r3, r31, 0 /* 80287BB0 00284B10 7C 24 2C 2E */ lfsx f1, r4, r5 /* 80287BB4 00284B14 2C 06 00 02 */ cmpwi r6, 2 /* 80287BB8 00284B18 7C 03 04 2E */ lfsx f0, r3, r0 /* 80287BBC 00284B1C EC 61 00 28 */ fsubs f3, f1, f0 /* 80287BC0 00284B20 40 82 00 0C */ bne lbl_80287BCC /* 80287BC4 00284B24 80 1C 02 AC */ lwz r0, 0x2ac(r28) /* 80287BC8 00284B28 48 00 00 08 */ b lbl_80287BD0 lbl_80287BCC: /* 80287BCC 00284B2C 38 00 00 04 */ li r0, 4 lbl_80287BD0: /* 80287BD0 00284B30 54 00 10 3A */ slwi r0, r0, 2 /* 80287BD4 00284B34 38 7F 00 00 */ addi r3, r31, 0 /* 80287BD8 00284B38 7C 03 04 2E */ lfsx f0, r3, r0 /* 80287BDC 00284B3C C0 3C 03 98 */ lfs f1, 0x398(r28) /* 80287BE0 00284B40 EC 03 00 BA */ fmadds f0, f3, f2, f0 /* 80287BE4 00284B44 EC 01 00 32 */ fmuls f0, f1, f0 /* 80287BE8 00284B48 EF 59 00 32 */ fmuls f26, f25, f0 lbl_80287BEC: /* 80287BEC 00284B4C C0 3C 03 80 */ lfs f1, 0x380(r28) /* 80287BF0 00284B50 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287BF4 00284B54 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287BF8 00284B58 40 80 00 08 */ bge lbl_80287C00 /* 80287BFC 00284B5C FF 40 D0 50 */ fneg f26, f26 lbl_80287C00: /* 80287C00 00284B60 38 61 00 A0 */ addi r3, r1, 0xa0 /* 80287C04 00284B64 48 08 CC B5 */ bl Magnitude__9CVector3fCFv /* 80287C08 00284B68 EC 7A 08 24 */ fdivs f3, f26, f1 /* 80287C0C 00284B6C 88 1C 03 7C */ lbz r0, 0x37c(r28) /* 80287C10 00284B70 C0 22 BE 4C */ lfs f1, lbl_805ADB6C@sda21(r2) /* 80287C14 00284B74 28 00 00 00 */ cmplwi r0, 0 /* 80287C18 00284B78 41 82 00 08 */ beq lbl_80287C20 /* 80287C1C 00284B7C C0 22 BE 50 */ lfs f1, lbl_805ADB70@sda21(r2) lbl_80287C20: /* 80287C20 00284B80 FC 00 1A 10 */ fabs f0, f3 /* 80287C24 00284B84 EC 41 06 72 */ fmuls f2, f1, f25 /* 80287C28 00284B88 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80287C2C 00284B8C 40 81 00 18 */ ble lbl_80287C44 /* 80287C30 00284B90 C0 22 BD C8 */ lfs f1, lbl_805ADAE8@sda21(r2) /* 80287C34 00284B94 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80287C38 00284B98 FC 03 08 2E */ fsel f0, f3, f0, f1 /* 80287C3C 00284B9C EC 42 00 32 */ fmuls f2, f2, f0 /* 80287C40 00284BA0 48 00 00 08 */ b lbl_80287C48 lbl_80287C44: /* 80287C44 00284BA4 FC 40 18 90 */ fmr f2, f3 lbl_80287C48: /* 80287C48 00284BA8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80287C4C 00284BAC 38 61 00 38 */ addi r3, r1, 0x38 /* 80287C50 00284BB0 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80287C54 00284BB4 D0 41 00 08 */ stfs f2, 8(r1) /* 80287C58 00284BB8 D0 21 00 38 */ stfs f1, 0x38(r1) /* 80287C5C 00284BBC D0 21 00 3C */ stfs f1, 0x3c(r1) /* 80287C60 00284BC0 D0 01 00 40 */ stfs f0, 0x40(r1) /* 80287C64 00284BC4 48 08 CC 95 */ bl Normalize__9CVector3fFv /* 80287C68 00284BC8 38 61 00 44 */ addi r3, r1, 0x44 /* 80287C6C 00284BCC 38 81 00 38 */ addi r4, r1, 0x38 /* 80287C70 00284BD0 38 A1 00 08 */ addi r5, r1, 8 /* 80287C74 00284BD4 48 08 96 81 */ bl AxisAngle__11CQuaternionFRC13CUnitVector3fRC9CRelAngle /* 80287C78 00284BD8 C0 61 00 44 */ lfs f3, 0x44(r1) /* 80287C7C 00284BDC 38 61 00 2C */ addi r3, r1, 0x2c /* 80287C80 00284BE0 C0 41 00 48 */ lfs f2, 0x48(r1) /* 80287C84 00284BE4 38 81 00 78 */ addi r4, r1, 0x78 /* 80287C88 00284BE8 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 80287C8C 00284BEC 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 80287C90 00284BF0 C0 01 00 50 */ lfs f0, 0x50(r1) /* 80287C94 00284BF4 D0 61 00 78 */ stfs f3, 0x78(r1) /* 80287C98 00284BF8 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 80287C9C 00284BFC D0 21 00 80 */ stfs f1, 0x80(r1) /* 80287CA0 00284C00 D0 01 00 84 */ stfs f0, 0x84(r1) /* 80287CA4 00284C04 48 08 95 C1 */ bl Transform__11CQuaternionCFRC9CVector3f /* 80287CA8 00284C08 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 80287CAC 00284C0C 7F A4 EB 78 */ mr r4, r29 /* 80287CB0 00284C10 C0 21 00 30 */ lfs f1, 0x30(r1) /* 80287CB4 00284C14 38 60 00 0A */ li r3, 0xa /* 80287CB8 00284C18 C0 01 00 34 */ lfs f0, 0x34(r1) /* 80287CBC 00284C1C EF FF 10 2A */ fadds f31, f31, f2 /* 80287CC0 00284C20 EF DE 08 2A */ fadds f30, f30, f1 /* 80287CC4 00284C24 D0 41 00 94 */ stfs f2, 0x94(r1) /* 80287CC8 00284C28 EF BD 00 2A */ fadds f29, f29, f0 /* 80287CCC 00284C2C D0 21 00 98 */ stfs f1, 0x98(r1) /* 80287CD0 00284C30 D0 01 00 9C */ stfs f0, 0x9c(r1) /* 80287CD4 00284C34 4B D8 4B A1 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80287CD8 00284C38 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80287CDC 00284C3C 40 82 00 0C */ bne lbl_80287CE8 /* 80287CE0 00284C40 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287CE4 00284C44 D0 1C 03 88 */ stfs f0, 0x388(r28) lbl_80287CE8: /* 80287CE8 00284C48 80 1C 02 B0 */ lwz r0, 0x2b0(r28) /* 80287CEC 00284C4C 2C 00 00 02 */ cmpwi r0, 2 /* 80287CF0 00284C50 40 82 00 0C */ bne lbl_80287CFC /* 80287CF4 00284C54 80 1C 02 AC */ lwz r0, 0x2ac(r28) /* 80287CF8 00284C58 48 00 00 08 */ b lbl_80287D00 lbl_80287CFC: /* 80287CFC 00284C5C 38 00 00 04 */ li r0, 4 lbl_80287D00: /* 80287D00 00284C60 54 00 10 3A */ slwi r0, r0, 2 /* 80287D04 00284C64 38 7F 00 40 */ addi r3, r31, 0x40 /* 80287D08 00284C68 7C 03 04 2E */ lfsx f0, r3, r0 /* 80287D0C 00284C6C 38 61 00 20 */ addi r3, r1, 0x20 /* 80287D10 00284C70 38 81 00 94 */ addi r4, r1, 0x94 /* 80287D14 00284C74 EC 1B 00 32 */ fmuls f0, f27, f0 /* 80287D18 00284C78 EF 59 00 32 */ fmuls f26, f25, f0 /* 80287D1C 00284C7C 48 08 CB 35 */ bl AsNormalized__9CVector3fCFv /* 80287D20 00284C80 C0 41 00 20 */ lfs f2, 0x20(r1) /* 80287D24 00284C84 38 61 00 18 */ addi r3, r1, 0x18 /* 80287D28 00284C88 C0 21 00 24 */ lfs f1, 0x24(r1) /* 80287D2C 00284C8C C0 01 00 28 */ lfs f0, 0x28(r1) /* 80287D30 00284C90 FC 80 10 50 */ fneg f4, f2 /* 80287D34 00284C94 FC 60 08 50 */ fneg f3, f1 /* 80287D38 00284C98 C0 3C 01 38 */ lfs f1, 0x138(r28) /* 80287D3C 00284C9C FC 00 00 50 */ fneg f0, f0 /* 80287D40 00284CA0 C0 5C 01 3C */ lfs f2, 0x13c(r28) /* 80287D44 00284CA4 EC 9A 01 32 */ fmuls f4, f26, f4 /* 80287D48 00284CA8 EC 7A 00 F2 */ fmuls f3, f26, f3 /* 80287D4C 00284CAC EC 1A 00 32 */ fmuls f0, f26, f0 /* 80287D50 00284CB0 EF FF 20 2A */ fadds f31, f31, f4 /* 80287D54 00284CB4 EF DE 18 2A */ fadds f30, f30, f3 /* 80287D58 00284CB8 EF BD 00 2A */ fadds f29, f29, f0 /* 80287D5C 00284CBC 48 08 C4 A5 */ bl __ct__9CVector2fFff /* 80287D60 00284CC0 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80287D64 00284CC4 38 61 00 60 */ addi r3, r1, 0x60 /* 80287D68 00284CC8 C0 9C 00 50 */ lfs f4, 0x50(r28) /* 80287D6C 00284CCC EC A0 C8 24 */ fdivs f5, f0, f25 /* 80287D70 00284CD0 C0 7C 00 60 */ lfs f3, 0x60(r28) /* 80287D74 00284CD4 C0 5C 00 40 */ lfs f2, 0x40(r28) /* 80287D78 00284CD8 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80287D7C 00284CDC C0 C1 00 1C */ lfs f6, 0x1c(r1) /* 80287D80 00284CE0 C0 01 00 18 */ lfs f0, 0x18(r1) /* 80287D84 00284CE4 EC 9E 20 28 */ fsubs f4, f30, f4 /* 80287D88 00284CE8 EC 7D 18 28 */ fsubs f3, f29, f3 /* 80287D8C 00284CEC EC 5F 10 28 */ fsubs f2, f31, f2 /* 80287D90 00284CF0 EC 85 01 32 */ fmuls f4, f5, f4 /* 80287D94 00284CF4 EC 65 00 F2 */ fmuls f3, f5, f3 /* 80287D98 00284CF8 EC 45 00 B2 */ fmuls f2, f5, f2 /* 80287D9C 00284CFC D0 81 00 70 */ stfs f4, 0x70(r1) /* 80287DA0 00284D00 EC 84 30 28 */ fsubs f4, f4, f6 /* 80287DA4 00284D04 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 80287DA8 00284D08 EC 02 00 28 */ fsubs f0, f2, f0 /* 80287DAC 00284D0C D0 61 00 74 */ stfs f3, 0x74(r1) /* 80287DB0 00284D10 C0 5C 01 40 */ lfs f2, 0x140(r28) /* 80287DB4 00284D14 EC 62 08 28 */ fsubs f3, f2, f1 /* 80287DB8 00284D18 D0 41 00 74 */ stfs f2, 0x74(r1) /* 80287DBC 00284D1C D0 01 00 60 */ stfs f0, 0x60(r1) /* 80287DC0 00284D20 D0 61 00 68 */ stfs f3, 0x68(r1) /* 80287DC4 00284D24 D0 81 00 64 */ stfs f4, 0x64(r1) /* 80287DC8 00284D28 D0 21 00 68 */ stfs f1, 0x68(r1) /* 80287DCC 00284D2C 48 08 CA ED */ bl Magnitude__9CVector3fCFv /* 80287DD0 00284D30 FF 40 08 90 */ fmr f26, f1 /* 80287DD4 00284D34 C0 02 BD D0 */ lfs f0, lbl_805ADAF0@sda21(r2) /* 80287DD8 00284D38 FC 1A 00 40 */ fcmpo cr0, f26, f0 /* 80287DDC 00284D3C 40 81 00 A8 */ ble lbl_80287E84 /* 80287DE0 00284D40 7F 83 E3 78 */ mr r3, r28 /* 80287DE4 00284D44 48 00 06 11 */ bl GetAcceleration__7CPlayerCFv /* 80287DE8 00284D48 ED 19 00 72 */ fmuls f8, f25, f1 /* 80287DEC 00284D4C C8 02 BD C0 */ lfd f0, lbl_805ADAE0@sda21(r2) /* 80287DF0 00284D50 EC FA 40 24 */ fdivs f7, f26, f8 /* 80287DF4 00284D54 FC 20 3A 10 */ fabs f1, f7 /* 80287DF8 00284D58 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287DFC 00284D5C 40 81 00 14 */ ble lbl_80287E10 /* 80287E00 00284D60 C0 02 BD C8 */ lfs f0, lbl_805ADAE8@sda21(r2) /* 80287E04 00284D64 C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 80287E08 00284D68 FC 07 00 6E */ fsel f0, f7, f1, f0 /* 80287E0C 00284D6C EC E1 00 32 */ fmuls f7, f1, f0 lbl_80287E10: /* 80287E10 00284D70 C0 02 BD 80 */ lfs f0, lbl_805ADAA0@sda21(r2) /* 80287E14 00284D74 C0 81 00 64 */ lfs f4, 0x64(r1) /* 80287E18 00284D78 EC C0 D0 24 */ fdivs f6, f0, f26 /* 80287E1C 00284D7C C0 41 00 68 */ lfs f2, 0x68(r1) /* 80287E20 00284D80 C0 01 00 60 */ lfs f0, 0x60(r1) /* 80287E24 00284D84 C0 BC 01 3C */ lfs f5, 0x13c(r28) /* 80287E28 00284D88 C0 7C 01 40 */ lfs f3, 0x140(r28) /* 80287E2C 00284D8C C0 3C 01 38 */ lfs f1, 0x138(r28) /* 80287E30 00284D90 EC 86 01 32 */ fmuls f4, f6, f4 /* 80287E34 00284D94 EC 46 00 B2 */ fmuls f2, f6, f2 /* 80287E38 00284D98 EC 06 00 32 */ fmuls f0, f6, f0 /* 80287E3C 00284D9C EC 88 01 32 */ fmuls f4, f8, f4 /* 80287E40 00284DA0 EC 48 00 B2 */ fmuls f2, f8, f2 /* 80287E44 00284DA4 EC 08 00 32 */ fmuls f0, f8, f0 /* 80287E48 00284DA8 EC 87 01 32 */ fmuls f4, f7, f4 /* 80287E4C 00284DAC EC 47 00 B2 */ fmuls f2, f7, f2 /* 80287E50 00284DB0 EC 07 00 32 */ fmuls f0, f7, f0 /* 80287E54 00284DB4 EC 85 20 2A */ fadds f4, f5, f4 /* 80287E58 00284DB8 EC 43 10 2A */ fadds f2, f3, f2 /* 80287E5C 00284DBC EC 01 00 2A */ fadds f0, f1, f0 /* 80287E60 00284DC0 D0 81 00 70 */ stfs f4, 0x70(r1) /* 80287E64 00284DC4 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80287E68 00284DC8 D0 41 00 74 */ stfs f2, 0x74(r1) /* 80287E6C 00284DCC 88 1C 09 C5 */ lbz r0, 0x9c5(r28) /* 80287E70 00284DD0 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 80287E74 00284DD4 40 82 00 10 */ bne lbl_80287E84 /* 80287E78 00284DD8 7F 83 E3 78 */ mr r3, r28 /* 80287E7C 00284DDC 38 81 00 6C */ addi r4, r1, 0x6c /* 80287E80 00284DE0 4B E9 2E 21 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f lbl_80287E84: /* 80287E84 00284DE4 E3 E1 01 28 */ psq_l f31, 296(r1), 0, qr0 /* 80287E88 00284DE8 CB E1 01 20 */ lfd f31, 0x120(r1) /* 80287E8C 00284DEC E3 C1 01 18 */ psq_l f30, 280(r1), 0, qr0 /* 80287E90 00284DF0 CB C1 01 10 */ lfd f30, 0x110(r1) /* 80287E94 00284DF4 E3 A1 01 08 */ psq_l f29, 264(r1), 0, qr0 /* 80287E98 00284DF8 CB A1 01 00 */ lfd f29, 0x100(r1) /* 80287E9C 00284DFC E3 81 00 F8 */ psq_l f28, 248(r1), 0, qr0 /* 80287EA0 00284E00 CB 81 00 F0 */ lfd f28, 0xf0(r1) /* 80287EA4 00284E04 E3 61 00 E8 */ psq_l f27, 232(r1), 0, qr0 /* 80287EA8 00284E08 CB 61 00 E0 */ lfd f27, 0xe0(r1) /* 80287EAC 00284E0C E3 41 00 D8 */ psq_l f26, 216(r1), 0, qr0 /* 80287EB0 00284E10 CB 41 00 D0 */ lfd f26, 0xd0(r1) /* 80287EB4 00284E14 E3 21 00 C8 */ psq_l f25, 200(r1), 0, qr0 /* 80287EB8 00284E18 CB 21 00 C0 */ lfd f25, 0xc0(r1) /* 80287EBC 00284E1C 83 E1 00 BC */ lwz r31, 0xbc(r1) /* 80287EC0 00284E20 83 C1 00 B8 */ lwz r30, 0xb8(r1) /* 80287EC4 00284E24 83 A1 00 B4 */ lwz r29, 0xb4(r1) /* 80287EC8 00284E28 80 01 01 34 */ lwz r0, 0x134(r1) /* 80287ECC 00284E2C 83 81 00 B0 */ lwz r28, 0xb0(r1) /* 80287ED0 00284E30 7C 08 03 A6 */ mtlr r0 /* 80287ED4 00284E34 38 21 01 30 */ addi r1, r1, 0x130 /* 80287ED8 00284E38 4E 80 00 20 */ blr .global FinishSidewaysDash__7CPlayerFv FinishSidewaysDash__7CPlayerFv: /* 80287EDC 00284E3C 88 03 03 7C */ lbz r0, 0x37c(r3) /* 80287EE0 00284E40 28 00 00 00 */ cmplwi r0, 0 /* 80287EE4 00284E44 41 82 00 0C */ beq lbl_80287EF0 /* 80287EE8 00284E48 38 00 00 01 */ li r0, 1 /* 80287EEC 00284E4C 98 03 03 8C */ stb r0, 0x38c(r3) lbl_80287EF0: /* 80287EF0 00284E50 38 00 00 00 */ li r0, 0 /* 80287EF4 00284E54 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287EF8 00284E58 98 03 03 7C */ stb r0, 0x37c(r3) /* 80287EFC 00284E5C D0 03 03 80 */ stfs f0, 0x380(r3) /* 80287F00 00284E60 D0 03 03 84 */ stfs f0, 0x384(r3) /* 80287F04 00284E64 4E 80 00 20 */ blr .global SidewaysDashAllowed__7CPlayerCFffRC11CFinalInputR13CStateManager SidewaysDashAllowed__7CPlayerCFffRC11CFinalInputR13CStateManager: /* 80287F08 00284E68 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80287F0C 00284E6C 7C 08 02 A6 */ mflr r0 /* 80287F10 00284E70 90 01 00 54 */ stw r0, 0x54(r1) /* 80287F14 00284E74 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80287F18 00284E78 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80287F1C 00284E7C DB C1 00 30 */ stfd f30, 0x30(r1) /* 80287F20 00284E80 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80287F24 00284E84 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80287F28 00284E88 7C 7F 1B 78 */ mr r31, r3 /* 80287F2C 00284E8C 88 63 09 C5 */ lbz r3, 0x9c5(r3) /* 80287F30 00284E90 FF C0 08 90 */ fmr f30, f1 /* 80287F34 00284E94 FF E0 10 90 */ fmr f31, f2 /* 80287F38 00284E98 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f /* 80287F3C 00284E9C 40 82 00 18 */ bne lbl_80287F54 /* 80287F40 00284EA0 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f /* 80287F44 00284EA4 40 82 00 10 */ bne lbl_80287F54 /* 80287F48 00284EA8 80 BF 03 04 */ lwz r5, 0x304(r31) /* 80287F4C 00284EAC 2C 05 00 01 */ cmpwi r5, 1 /* 80287F50 00284EB0 41 82 00 0C */ beq lbl_80287F5C lbl_80287F54: /* 80287F54 00284EB4 38 60 00 00 */ li r3, 0 /* 80287F58 00284EB8 48 00 01 48 */ b lbl_802880A0 lbl_80287F5C: /* 80287F5C 00284EBC 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80287F60 00284EC0 88 63 02 00 */ lbz r3, 0x200(r3) /* 80287F64 00284EC4 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f /* 80287F68 00284EC8 41 82 00 78 */ beq lbl_80287FE0 /* 80287F6C 00284ECC 2C 05 00 00 */ cmpwi r5, 0 /* 80287F70 00284ED0 41 82 01 2C */ beq lbl_8028809C /* 80287F74 00284ED4 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f /* 80287F78 00284ED8 41 82 01 24 */ beq lbl_8028809C /* 80287F7C 00284EDC C0 3F 02 88 */ lfs f1, 0x288(r31) /* 80287F80 00284EE0 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80287F84 00284EE4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287F88 00284EE8 40 81 01 14 */ ble lbl_8028809C /* 80287F8C 00284EEC 38 60 00 0A */ li r3, 0xa /* 80287F90 00284EF0 4B D8 48 E5 */ bl GetDigitalInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80287F94 00284EF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80287F98 00284EF8 40 82 01 04 */ bne lbl_8028809C /* 80287F9C 00284EFC 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80287FA0 00284F00 C0 3F 03 88 */ lfs f1, 0x388(r31) /* 80287FA4 00284F04 C0 03 02 04 */ lfs f0, 0x204(r3) /* 80287FA8 00284F08 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287FAC 00284F0C 40 80 00 F0 */ bge lbl_8028809C /* 80287FB0 00284F10 FC 00 FA 10 */ fabs f0, f31 /* 80287FB4 00284F14 FC 20 F2 10 */ fabs f1, f30 /* 80287FB8 00284F18 FC 00 00 18 */ frsp f0, f0 /* 80287FBC 00284F1C FC 20 08 18 */ frsp f1, f1 /* 80287FC0 00284F20 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287FC4 00284F24 4C 41 13 82 */ cror 2, 1, 2 /* 80287FC8 00284F28 40 82 00 D4 */ bne lbl_8028809C /* 80287FCC 00284F2C C0 03 02 08 */ lfs f0, 0x208(r3) /* 80287FD0 00284F30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80287FD4 00284F34 40 81 00 C8 */ ble lbl_8028809C /* 80287FD8 00284F38 38 60 00 01 */ li r3, 1 /* 80287FDC 00284F3C 48 00 00 C4 */ b lbl_802880A0 lbl_80287FE0: /* 80287FE0 00284F40 2C 05 00 00 */ cmpwi r5, 0 /* 80287FE4 00284F44 41 82 00 B8 */ beq lbl_8028809C /* 80287FE8 00284F48 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f /* 80287FEC 00284F4C 41 82 00 B0 */ beq lbl_8028809C /* 80287FF0 00284F50 38 60 00 0A */ li r3, 0xa /* 80287FF4 00284F54 4B D8 47 DD */ bl GetPressInput__13ControlMapperFQ213ControlMapper9ECommandsRC11CFinalInput /* 80287FF8 00284F58 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80287FFC 00284F5C 41 82 00 A0 */ beq lbl_8028809C /* 80288000 00284F60 C0 3F 02 88 */ lfs f1, 0x288(r31) /* 80288004 00284F64 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80288008 00284F68 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028800C 00284F6C 40 81 00 90 */ ble lbl_8028809C /* 80288010 00284F70 FC 00 FA 10 */ fabs f0, f31 /* 80288014 00284F74 FC 20 F2 10 */ fabs f1, f30 /* 80288018 00284F78 FC 00 00 18 */ frsp f0, f0 /* 8028801C 00284F7C FC 20 08 18 */ frsp f1, f1 /* 80288020 00284F80 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80288024 00284F84 4C 41 13 82 */ cror 2, 1, 2 /* 80288028 00284F88 40 82 00 74 */ bne lbl_8028809C /* 8028802C 00284F8C C0 02 BD DC */ lfs f0, lbl_805ADAFC@sda21(r2) /* 80288030 00284F90 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80288034 00284F94 40 81 00 68 */ ble lbl_8028809C /* 80288038 00284F98 FC 20 F0 90 */ fmr f1, f30 /* 8028803C 00284F9C 7F E4 FB 78 */ mr r4, r31 /* 80288040 00284FA0 FC 40 F8 90 */ fmr f2, f31 /* 80288044 00284FA4 38 61 00 08 */ addi r3, r1, 8 /* 80288048 00284FA8 4B D8 C9 F9 */ bl CalculateLeftStickEdgePosition__7CPlayerCFff /* 8028804C 00284FAC EC 1F 07 F2 */ fmuls f0, f31, f31 /* 80288050 00284FB0 C0 81 00 08 */ lfs f4, 8(r1) /* 80288054 00284FB4 C0 61 00 0C */ lfs f3, 0xc(r1) /* 80288058 00284FB8 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8028805C 00284FBC EC 3E 07 BA */ fmadds f1, f30, f30, f0 /* 80288060 00284FC0 D0 81 00 14 */ stfs f4, 0x14(r1) /* 80288064 00284FC4 D0 61 00 18 */ stfs f3, 0x18(r1) /* 80288068 00284FC8 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 8028806C 00284FCC 48 08 D4 95 */ bl SqrtF__5CMathFf /* 80288070 00284FD0 FF E0 08 90 */ fmr f31, f1 /* 80288074 00284FD4 38 61 00 14 */ addi r3, r1, 0x14 /* 80288078 00284FD8 48 08 C8 41 */ bl Magnitude__9CVector3fCFv /* 8028807C 00284FDC EC 3F 08 24 */ fdivs f1, f31, f1 /* 80288080 00284FE0 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80288084 00284FE4 C0 03 02 08 */ lfs f0, 0x208(r3) /* 80288088 00284FE8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028808C 00284FEC 4C 41 13 82 */ cror 2, 1, 2 /* 80288090 00284FF0 40 82 00 0C */ bne lbl_8028809C /* 80288094 00284FF4 38 60 00 01 */ li r3, 1 /* 80288098 00284FF8 48 00 00 08 */ b lbl_802880A0 lbl_8028809C: /* 8028809C 00284FFC 38 60 00 00 */ li r3, 0 lbl_802880A0: /* 802880A0 00285000 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 802880A4 00285004 CB E1 00 40 */ lfd f31, 0x40(r1) /* 802880A8 00285008 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 802880AC 0028500C CB C1 00 30 */ lfd f30, 0x30(r1) /* 802880B0 00285010 80 01 00 54 */ lwz r0, 0x54(r1) /* 802880B4 00285014 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802880B8 00285018 7C 08 03 A6 */ mtlr r0 /* 802880BC 0028501C 38 21 00 50 */ addi r1, r1, 0x50 /* 802880C0 00285020 4E 80 00 20 */ blr .global UpdateStepCameraZBias__7CPlayerFf UpdateStepCameraZBias__7CPlayerFf: /* 802880C4 00285024 94 21 FF A0 */ stwu r1, -0x60(r1) /* 802880C8 00285028 7C 08 02 A6 */ mflr r0 /* 802880CC 0028502C 90 01 00 64 */ stw r0, 0x64(r1) /* 802880D0 00285030 DB E1 00 50 */ stfd f31, 0x50(r1) /* 802880D4 00285034 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 802880D8 00285038 DB C1 00 40 */ stfd f30, 0x40(r1) /* 802880DC 0028503C F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 802880E0 00285040 DB A1 00 30 */ stfd f29, 0x30(r1) /* 802880E4 00285044 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0 /* 802880E8 00285048 DB 81 00 20 */ stfd f28, 0x20(r1) /* 802880EC 0028504C F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0 /* 802880F0 00285050 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802880F4 00285054 7C 7F 1B 78 */ mr r31, r3 /* 802880F8 00285058 FF 80 08 90 */ fmr f28, f1 /* 802880FC 0028505C C0 43 00 60 */ lfs f2, 0x60(r3) /* 80288100 00285060 C0 23 00 50 */ lfs f1, 0x50(r3) /* 80288104 00285064 C0 03 00 40 */ lfs f0, 0x40(r3) /* 80288108 00285068 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8028810C 0028506C D0 01 00 08 */ stfs f0, 8(r1) /* 80288110 00285070 D0 41 00 10 */ stfs f2, 0x10(r1) /* 80288114 00285074 4B FF CD 05 */ bl GetUnbiasedEyeHeight__7CPlayerCFv /* 80288118 00285078 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8028811C 0028507C 80 1F 02 58 */ lwz r0, 0x258(r31) /* 80288120 00285080 EF E0 08 2A */ fadds f31, f0, f1 /* 80288124 00285084 2C 00 00 00 */ cmpwi r0, 0 /* 80288128 00285088 40 82 01 08 */ bne lbl_80288230 /* 8028812C 0028508C 7F E3 FB 78 */ mr r3, r31 /* 80288130 00285090 4B D9 20 E5 */ bl IsMorphBallTransitioning__7CPlayerCFv /* 80288134 00285094 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80288138 00285098 40 82 00 F8 */ bne lbl_80288230 /* 8028813C 0028509C 88 1F 09 C5 */ lbz r0, 0x9c5(r31) /* 80288140 002850A0 FF C0 F8 90 */ fmr f30, f31 /* 80288144 002850A4 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80288148 002850A8 40 82 00 D8 */ bne lbl_80288220 /* 8028814C 002850AC C0 1F 09 CC */ lfs f0, 0x9cc(r31) /* 80288150 002850B0 C0 5F 01 40 */ lfs f2, 0x140(r31) /* 80288154 002850B4 EF BF 00 28 */ fsubs f29, f31, f0 /* 80288158 002850B8 C0 22 BE 28 */ lfs f1, lbl_805ADB48@sda21(r2) /* 8028815C 002850BC C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80288160 002850C0 EC 5C 00 B2 */ fmuls f2, f28, f2 /* 80288164 002850C4 EF 81 07 32 */ fmuls f28, f1, f28 /* 80288168 002850C8 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 8028816C 002850CC 40 81 00 58 */ ble lbl_802881C4 /* 80288170 002850D0 FC 1D 10 40 */ fcmpo cr0, f29, f2 /* 80288174 002850D4 40 81 00 AC */ ble lbl_80288220 /* 80288178 002850D8 FC 1D E0 40 */ fcmpo cr0, f29, f28 /* 8028817C 002850DC 40 81 00 A4 */ ble lbl_80288220 /* 80288180 002850E0 7F E3 FB 78 */ mr r3, r31 /* 80288184 002850E4 81 9F 00 00 */ lwz r12, 0(r31) /* 80288188 002850E8 81 8C 00 7C */ lwz r12, 0x7c(r12) /* 8028818C 002850EC 7D 89 03 A6 */ mtctr r12 /* 80288190 002850F0 4E 80 04 21 */ bctrl /* 80288194 002850F4 FC 1D 08 40 */ fcmpo cr0, f29, f1 /* 80288198 002850F8 40 81 00 20 */ ble lbl_802881B8 /* 8028819C 002850FC 7F E3 FB 78 */ mr r3, r31 /* 802881A0 00285100 81 9F 00 00 */ lwz r12, 0(r31) /* 802881A4 00285104 81 8C 00 7C */ lwz r12, 0x7c(r12) /* 802881A8 00285108 7D 89 03 A6 */ mtctr r12 /* 802881AC 0028510C 4E 80 04 21 */ bctrl /* 802881B0 00285110 EC 1D 08 28 */ fsubs f0, f29, f1 /* 802881B4 00285114 EF 9C 00 2A */ fadds f28, f28, f0 lbl_802881B8: /* 802881B8 00285118 C0 1F 09 CC */ lfs f0, 0x9cc(r31) /* 802881BC 0028511C EF E0 E0 2A */ fadds f31, f0, f28 /* 802881C0 00285120 48 00 00 60 */ b lbl_80288220 lbl_802881C4: /* 802881C4 00285124 FC 1D 10 40 */ fcmpo cr0, f29, f2 /* 802881C8 00285128 40 80 00 58 */ bge lbl_80288220 /* 802881CC 0028512C FC 00 E0 50 */ fneg f0, f28 /* 802881D0 00285130 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 802881D4 00285134 40 80 00 4C */ bge lbl_80288220 /* 802881D8 00285138 7F E3 FB 78 */ mr r3, r31 /* 802881DC 0028513C 81 9F 00 00 */ lwz r12, 0(r31) /* 802881E0 00285140 81 8C 00 78 */ lwz r12, 0x78(r12) /* 802881E4 00285144 7D 89 03 A6 */ mtctr r12 /* 802881E8 00285148 4E 80 04 21 */ bctrl /* 802881EC 0028514C FC 00 08 50 */ fneg f0, f1 /* 802881F0 00285150 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 802881F4 00285154 40 80 00 24 */ bge lbl_80288218 /* 802881F8 00285158 7F E3 FB 78 */ mr r3, r31 /* 802881FC 0028515C 81 9F 00 00 */ lwz r12, 0(r31) /* 80288200 00285160 81 8C 00 78 */ lwz r12, 0x78(r12) /* 80288204 00285164 7D 89 03 A6 */ mtctr r12 /* 80288208 00285168 4E 80 04 21 */ bctrl /* 8028820C 0028516C FC 00 E8 50 */ fneg f0, f29 /* 80288210 00285170 EC 00 08 28 */ fsubs f0, f0, f1 /* 80288214 00285174 EF 9C 00 2A */ fadds f28, f28, f0 lbl_80288218: /* 80288218 00285178 C0 1F 09 CC */ lfs f0, 0x9cc(r31) /* 8028821C 0028517C EF E0 E0 28 */ fsubs f31, f0, f28 lbl_80288220: /* 80288220 00285180 EC 3F F0 28 */ fsubs f1, f31, f30 /* 80288224 00285184 7F E3 FB 78 */ mr r3, r31 /* 80288228 00285188 4B FF C1 45 */ bl SetEyeZBias__7CPlayerFf /* 8028822C 0028518C 48 00 00 10 */ b lbl_8028823C lbl_80288230: /* 80288230 00285190 C0 22 BD A0 */ lfs f1, lbl_805ADAC0@sda21(r2) /* 80288234 00285194 7F E3 FB 78 */ mr r3, r31 /* 80288238 00285198 4B FF C1 35 */ bl SetEyeZBias__7CPlayerFf lbl_8028823C: /* 8028823C 0028519C D3 FF 09 CC */ stfs f31, 0x9cc(r31) /* 80288240 002851A0 38 60 00 00 */ li r3, 0 /* 80288244 002851A4 88 1F 09 C5 */ lbz r0, 0x9c5(r31) /* 80288248 002851A8 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8028824C 002851AC 98 1F 09 C5 */ stb r0, 0x9c5(r31) /* 80288250 002851B0 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 80288254 002851B4 CB E1 00 50 */ lfd f31, 0x50(r1) /* 80288258 002851B8 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 8028825C 002851BC CB C1 00 40 */ lfd f30, 0x40(r1) /* 80288260 002851C0 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0 /* 80288264 002851C4 CB A1 00 30 */ lfd f29, 0x30(r1) /* 80288268 002851C8 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0 /* 8028826C 002851CC CB 81 00 20 */ lfd f28, 0x20(r1) /* 80288270 002851D0 80 01 00 64 */ lwz r0, 0x64(r1) /* 80288274 002851D4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80288278 002851D8 7C 08 03 A6 */ mtlr r0 /* 8028827C 002851DC 38 21 00 60 */ addi r1, r1, 0x60 /* 80288280 002851E0 4E 80 00 20 */ blr .global UpdateBombJumpStuff__7CPlayerFv UpdateBombJumpStuff__7CPlayerFv: /* 80288284 002851E4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80288288 002851E8 7C 08 02 A6 */ mflr r0 /* 8028828C 002851EC 90 01 00 24 */ stw r0, 0x24(r1) /* 80288290 002851F0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80288294 002851F4 7C 7F 1B 78 */ mr r31, r3 /* 80288298 002851F8 80 03 09 D0 */ lwz r0, 0x9d0(r3) /* 8028829C 002851FC 2C 00 00 00 */ cmpwi r0, 0 /* 802882A0 00285200 41 82 00 6C */ beq lbl_8028830C /* 802882A4 00285204 80 7F 09 D4 */ lwz r3, 0x9d4(r31) /* 802882A8 00285208 34 03 FF FF */ addic. r0, r3, -1 /* 802882AC 0028520C 90 1F 09 D4 */ stw r0, 0x9d4(r31) /* 802882B0 00285210 41 81 00 5C */ bgt lbl_8028830C /* 802882B4 00285214 C0 3F 01 38 */ lfs f1, 0x138(r31) /* 802882B8 00285218 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802882BC 0028521C D0 21 00 08 */ stfs f1, 8(r1) /* 802882C0 00285220 C0 3F 01 3C */ lfs f1, 0x13c(r31) /* 802882C4 00285224 D0 21 00 0C */ stfs f1, 0xc(r1) /* 802882C8 00285228 C0 3F 01 40 */ lfs f1, 0x140(r31) /* 802882CC 0028522C D0 21 00 10 */ stfs f1, 0x10(r1) /* 802882D0 00285230 D0 01 00 10 */ stfs f0, 0x10(r1) /* 802882D4 00285234 80 1F 02 58 */ lwz r0, 0x258(r31) /* 802882D8 00285238 2C 00 00 00 */ cmpwi r0, 0 /* 802882DC 0028523C 41 82 00 28 */ beq lbl_80288304 /* 802882E0 00285240 38 61 00 08 */ addi r3, r1, 8 /* 802882E4 00285244 48 08 C4 15 */ bl CanBeNormalized__9CVector3fCFv /* 802882E8 00285248 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802882EC 0028524C 41 82 00 20 */ beq lbl_8028830C /* 802882F0 00285250 38 61 00 08 */ addi r3, r1, 8 /* 802882F4 00285254 48 08 C5 C5 */ bl Magnitude__9CVector3fCFv /* 802882F8 00285258 C0 02 BE 54 */ lfs f0, lbl_805ADB74@sda21(r2) /* 802882FC 0028525C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80288300 00285260 40 81 00 0C */ ble lbl_8028830C lbl_80288304: /* 80288304 00285264 38 00 00 00 */ li r0, 0 /* 80288308 00285268 90 1F 09 D0 */ stw r0, 0x9d0(r31) lbl_8028830C: /* 8028830C 0028526C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80288310 00285270 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80288314 00285274 7C 08 03 A6 */ mtlr r0 /* 80288318 00285278 38 21 00 20 */ addi r1, r1, 0x20 /* 8028831C 0028527C 4E 80 00 20 */ blr .global GetWeight__7CPlayerCFv GetWeight__7CPlayerCFv: /* 80288320 00285280 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80288324 00285284 7C 08 02 A6 */ mflr r0 /* 80288328 00285288 90 01 00 24 */ stw r0, 0x24(r1) /* 8028832C 0028528C DB E1 00 10 */ stfd f31, 0x10(r1) /* 80288330 00285290 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 80288334 00285294 C3 E3 00 E8 */ lfs f31, 0xe8(r3) /* 80288338 00285298 48 00 00 25 */ bl GetGravity__7CPlayerCFv /* 8028833C 0028529C FC 00 08 50 */ fneg f0, f1 /* 80288340 002852A0 EC 3F 00 32 */ fmuls f1, f31, f0 /* 80288344 002852A4 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 80288348 002852A8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8028834C 002852AC CB E1 00 10 */ lfd f31, 0x10(r1) /* 80288350 002852B0 7C 08 03 A6 */ mtlr r0 /* 80288354 002852B4 38 21 00 20 */ addi r1, r1, 0x20 /* 80288358 002852B8 4E 80 00 20 */ blr .global GetGravity__7CPlayerCFv GetGravity__7CPlayerCFv: /* 8028835C 002852BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80288360 002852C0 7C 08 02 A6 */ mflr r0 /* 80288364 002852C4 90 01 00 24 */ stw r0, 0x24(r1) /* 80288368 002852C8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8028836C 002852CC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80288370 002852D0 7C 7E 1B 78 */ mr r30, r3 /* 80288374 002852D4 38 61 00 08 */ addi r3, r1, 8 /* 80288378 002852D8 80 8D A0 80 */ lwz r4, gpGameState@sda21(r13) /* 8028837C 002852DC 4B F4 B5 A5 */ bl GetPlayerState__10CGameStateCFv /* 80288380 002852E0 80 61 00 08 */ lwz r3, 8(r1) /* 80288384 002852E4 38 80 00 15 */ li r4, 0x15 /* 80288388 002852E8 80 63 00 00 */ lwz r3, 0(r3) /* 8028838C 002852EC 4B E0 97 35 */ bl HasPowerUp__12CPlayerStateCFQ212CPlayerState9EItemType /* 80288390 002852F0 7C 7F 1B 78 */ mr r31, r3 /* 80288394 002852F4 38 61 00 08 */ addi r3, r1, 8 /* 80288398 002852F8 4B D8 0B 75 */ bl sub_80008f0c /* 8028839C 002852FC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 802883A0 00285300 40 82 00 20 */ bne lbl_802883C0 /* 802883A4 00285304 7F C3 F3 78 */ mr r3, r30 /* 802883A8 00285308 4B FF CC 65 */ bl CheckSubmerged__7CPlayerCFv /* 802883AC 0028530C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802883B0 00285310 41 82 00 10 */ beq lbl_802883C0 /* 802883B4 00285314 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802883B8 00285318 C0 23 00 C8 */ lfs f1, 0xc8(r3) /* 802883BC 0028531C 48 00 00 20 */ b lbl_802883DC lbl_802883C0: /* 802883C0 00285320 88 1E 03 7C */ lbz r0, 0x37c(r30) /* 802883C4 00285324 28 00 00 00 */ cmplwi r0, 0 /* 802883C8 00285328 41 82 00 0C */ beq lbl_802883D4 /* 802883CC 0028532C C0 22 BE 58 */ lfs f1, lbl_805ADB78@sda21(r2) /* 802883D0 00285330 48 00 00 0C */ b lbl_802883DC lbl_802883D4: /* 802883D4 00285334 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 802883D8 00285338 C0 23 00 C4 */ lfs f1, 0xc4(r3) lbl_802883DC: /* 802883DC 0028533C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802883E0 00285340 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802883E4 00285344 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802883E8 00285348 7C 08 03 A6 */ mtlr r0 /* 802883EC 0028534C 38 21 00 20 */ addi r1, r1, 0x20 /* 802883F0 00285350 4E 80 00 20 */ blr .global GetAcceleration__7CPlayerCFv GetAcceleration__7CPlayerCFv: /* 802883F4 00285354 80 03 02 D0 */ lwz r0, 0x2d0(r3) /* 802883F8 00285358 80 83 02 B4 */ lwz r4, 0x2b4(r3) /* 802883FC 0028535C 7C 00 20 00 */ cmpw r0, r4 /* 80288400 00285360 41 80 00 18 */ blt lbl_80288418 /* 80288404 00285364 38 04 FF FF */ addi r0, r4, -1 /* 80288408 00285368 54 00 10 3A */ slwi r0, r0, 2 /* 8028840C 0028536C 7C 63 02 14 */ add r3, r3, r0 /* 80288410 00285370 C0 23 02 B8 */ lfs f1, 0x2b8(r3) /* 80288414 00285374 4E 80 00 20 */ blr lbl_80288418: /* 80288418 00285378 54 00 10 3A */ slwi r0, r0, 2 /* 8028841C 0028537C 7C 63 02 14 */ add r3, r3, r0 /* 80288420 00285380 C0 23 02 B8 */ lfs f1, 0x2b8(r3) /* 80288424 00285384 4E 80 00 20 */ blr .global GetAverageSpeed__7CPlayerCFv GetAverageSpeed__7CPlayerCFv: /* 80288428 00285388 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8028842C 0028538C 7C 08 02 A6 */ mflr r0 /* 80288430 00285390 90 01 00 24 */ stw r0, 0x24(r1) /* 80288434 00285394 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80288438 00285398 7C 7F 1B 78 */ mr r31, r3 /* 8028843C 0028539C 38 61 00 10 */ addi r3, r1, 0x10 /* 80288440 002853A0 38 9F 04 A4 */ addi r4, r31, 0x4a4 /* 80288444 002853A4 48 00 00 4D */ bl sub_80288490 /* 80288448 002853A8 88 61 00 14 */ lbz r3, 0x14(r1) /* 8028844C 002853AC 38 00 00 00 */ li r0, 0 /* 80288450 002853B0 28 03 00 00 */ cmplwi r3, 0 /* 80288454 002853B4 98 01 00 14 */ stb r0, 0x14(r1) /* 80288458 002853B8 41 82 00 20 */ beq lbl_80288478 /* 8028845C 002853BC 38 61 00 08 */ addi r3, r1, 8 /* 80288460 002853C0 38 9F 04 A4 */ addi r4, r31, 0x4a4 /* 80288464 002853C4 48 00 00 2D */ bl sub_80288490 /* 80288468 002853C8 38 00 00 00 */ li r0, 0 /* 8028846C 002853CC C0 21 00 08 */ lfs f1, 8(r1) /* 80288470 002853D0 98 01 00 0C */ stb r0, 0xc(r1) /* 80288474 002853D4 48 00 00 08 */ b lbl_8028847C lbl_80288478: /* 80288478 002853D8 C0 3F 04 F8 */ lfs f1, 0x4f8(r31) lbl_8028847C: /* 8028847C 002853DC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80288480 002853E0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80288484 002853E4 7C 08 03 A6 */ mtlr r0 /* 80288488 002853E8 38 21 00 20 */ addi r1, r1, 0x20 /* 8028848C 002853EC 4E 80 00 20 */ blr .global sub_80288490 sub_80288490: /* 80288490 002853F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80288494 002853F4 7C 08 02 A6 */ mflr r0 /* 80288498 002853F8 90 01 00 14 */ stw r0, 0x14(r1) /* 8028849C 002853FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802884A0 00285400 7C 7F 1B 78 */ mr r31, r3 /* 802884A4 00285404 80 04 00 00 */ lwz r0, 0(r4) /* 802884A8 00285408 2C 00 00 00 */ cmpwi r0, 0 /* 802884AC 0028540C 40 82 00 10 */ bne lbl_802884BC /* 802884B0 00285410 38 00 00 00 */ li r0, 0 /* 802884B4 00285414 98 1F 00 04 */ stb r0, 4(r31) /* 802884B8 00285418 48 00 00 24 */ b lbl_802884DC lbl_802884BC: /* 802884BC 0028541C 38 64 00 04 */ addi r3, r4, 4 /* 802884C0 00285420 7C 04 03 78 */ mr r4, r0 /* 802884C4 00285424 4B D8 03 D1 */ bl "GetAverageValue__FPCfi" /* 802884C8 00285428 38 00 00 01 */ li r0, 1 /* 802884CC 0028542C 28 1F 00 00 */ cmplwi r31, 0 /* 802884D0 00285430 98 1F 00 04 */ stb r0, 4(r31) /* 802884D4 00285434 41 82 00 08 */ beq lbl_802884DC /* 802884D8 00285438 D0 3F 00 00 */ stfs f1, 0(r31) lbl_802884DC: /* 802884DC 0028543C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802884E0 00285440 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802884E4 00285444 7C 08 03 A6 */ mtlr r0 /* 802884E8 00285448 38 21 00 10 */ addi r1, r1, 0x10 /* 802884EC 0028544C 4E 80 00 20 */ blr .global GetDampedClampedVelocityWR__7CPlayerCFv GetDampedClampedVelocityWR__7CPlayerCFv: /* 802884F0 00285450 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802884F4 00285454 7C 08 02 A6 */ mflr r0 /* 802884F8 00285458 90 01 00 54 */ stw r0, 0x54(r1) /* 802884FC 0028545C DB E1 00 40 */ stfd f31, 0x40(r1) /* 80288500 00285460 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80288504 00285464 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80288508 00285468 93 C1 00 38 */ stw r30, 0x38(r1) /* 8028850C 0028546C 7C 9F 23 78 */ mr r31, r4 /* 80288510 00285470 7C 7E 1B 78 */ mr r30, r3 /* 80288514 00285474 38 61 00 18 */ addi r3, r1, 0x18 /* 80288518 00285478 38 9F 00 34 */ addi r4, r31, 0x34 /* 8028851C 0028547C 38 BF 01 38 */ addi r5, r31, 0x138 /* 80288520 00285480 48 08 A5 05 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 80288524 00285484 80 1F 02 58 */ lwz r0, 0x258(r31) /* 80288528 00285488 C0 41 00 18 */ lfs f2, 0x18(r1) /* 8028852C 0028548C C0 21 00 1C */ lfs f1, 0x1c(r1) /* 80288530 00285490 2C 00 00 02 */ cmpwi r0, 2 /* 80288534 00285494 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80288538 00285498 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8028853C 0028549C D0 21 00 28 */ stfs f1, 0x28(r1) /* 80288540 002854A0 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80288544 002854A4 40 82 00 28 */ bne lbl_8028856C /* 80288548 002854A8 40 82 01 04 */ bne lbl_8028864C /* 8028854C 002854AC 80 1F 02 B0 */ lwz r0, 0x2b0(r31) /* 80288550 002854B0 2C 00 00 02 */ cmpwi r0, 2 /* 80288554 002854B4 40 82 00 0C */ bne lbl_80288560 /* 80288558 002854B8 80 1F 02 AC */ lwz r0, 0x2ac(r31) /* 8028855C 002854BC 48 00 00 08 */ b lbl_80288564 lbl_80288560: /* 80288560 002854C0 38 00 00 04 */ li r0, 4 lbl_80288564: /* 80288564 002854C4 2C 00 00 01 */ cmpwi r0, 1 /* 80288568 002854C8 41 82 00 E4 */ beq lbl_8028864C lbl_8028856C: /* 8028856C 002854CC 80 1F 03 04 */ lwz r0, 0x304(r31) /* 80288570 002854D0 2C 00 00 00 */ cmpwi r0, 0 /* 80288574 002854D4 40 82 00 D8 */ bne lbl_8028864C /* 80288578 002854D8 80 1F 02 B0 */ lwz r0, 0x2b0(r31) /* 8028857C 002854DC 2C 00 00 02 */ cmpwi r0, 2 /* 80288580 002854E0 40 82 00 0C */ bne lbl_8028858C /* 80288584 002854E4 80 1F 02 AC */ lwz r0, 0x2ac(r31) /* 80288588 002854E8 48 00 00 08 */ b lbl_80288590 lbl_8028858C: /* 8028858C 002854EC 38 00 00 04 */ li r0, 4 lbl_80288590: /* 80288590 002854F0 2C 00 00 00 */ cmpwi r0, 0 /* 80288594 002854F4 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 80288598 002854F8 41 80 00 0C */ blt lbl_802885A4 /* 8028859C 002854FC 2C 00 00 07 */ cmpwi r0, 7 /* 802885A0 00285500 40 81 00 08 */ ble lbl_802885A8 lbl_802885A4: /* 802885A4 00285504 38 00 00 00 */ li r0, 0 lbl_802885A8: /* 802885A8 00285508 C0 21 00 28 */ lfs f1, 0x28(r1) /* 802885AC 0028550C 54 00 10 3A */ slwi r0, r0, 2 /* 802885B0 00285510 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802885B4 00285514 7C 63 02 14 */ add r3, r3, r0 /* 802885B8 00285518 C3 E3 00 44 */ lfs f31, 0x44(r3) /* 802885BC 0028551C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802885C0 00285520 40 81 00 24 */ ble lbl_802885E4 /* 802885C4 00285524 EC 01 F8 28 */ fsubs f0, f1, f31 /* 802885C8 00285528 38 81 00 14 */ addi r4, r1, 0x14 /* 802885CC 0028552C 38 6D 99 44 */ addi r3, r13, lbl_805A8504@sda21 /* 802885D0 00285530 D0 01 00 14 */ stfs f0, 0x14(r1) /* 802885D4 00285534 4B DC 71 5D */ bl "Max__5CMathFRCfRCf" /* 802885D8 00285538 C0 03 00 00 */ lfs f0, 0(r3) /* 802885DC 0028553C D0 01 00 28 */ stfs f0, 0x28(r1) /* 802885E0 00285540 48 00 00 20 */ b lbl_80288600 lbl_802885E4: /* 802885E4 00285544 EC 1F 08 2A */ fadds f0, f31, f1 /* 802885E8 00285548 38 81 00 10 */ addi r4, r1, 0x10 /* 802885EC 0028554C 38 6D 99 48 */ addi r3, r13, lbl_805A8508@sda21 /* 802885F0 00285550 D0 01 00 10 */ stfs f0, 0x10(r1) /* 802885F4 00285554 4B DF 57 ED */ bl "Min__5CMathFRCfRCf" /* 802885F8 00285558 C0 03 00 00 */ lfs f0, 0(r3) /* 802885FC 0028555C D0 01 00 28 */ stfs f0, 0x28(r1) lbl_80288600: /* 80288600 00285560 C0 21 00 24 */ lfs f1, 0x24(r1) /* 80288604 00285564 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 80288608 00285568 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8028860C 0028556C 40 81 00 24 */ ble lbl_80288630 /* 80288610 00285570 EC 01 F8 28 */ fsubs f0, f1, f31 /* 80288614 00285574 38 81 00 0C */ addi r4, r1, 0xc /* 80288618 00285578 38 6D 99 4C */ addi r3, r13, lbl_805A850C@sda21 /* 8028861C 0028557C D0 01 00 0C */ stfs f0, 0xc(r1) /* 80288620 00285580 4B DC 71 11 */ bl "Max__5CMathFRCfRCf" /* 80288624 00285584 C0 03 00 00 */ lfs f0, 0(r3) /* 80288628 00285588 D0 01 00 24 */ stfs f0, 0x24(r1) /* 8028862C 0028558C 48 00 00 20 */ b lbl_8028864C lbl_80288630: /* 80288630 00285590 EC 1F 08 2A */ fadds f0, f31, f1 /* 80288634 00285594 38 81 00 08 */ addi r4, r1, 8 /* 80288638 00285598 38 6D 99 50 */ addi r3, r13, lbl_805A8510@sda21 /* 8028863C 0028559C D0 01 00 08 */ stfs f0, 8(r1) /* 80288640 002855A0 4B DF 57 A1 */ bl "Min__5CMathFRCfRCf" /* 80288644 002855A4 C0 03 00 00 */ lfs f0, 0(r3) /* 80288648 002855A8 D0 01 00 24 */ stfs f0, 0x24(r1) lbl_8028864C: /* 8028864C 002855AC 80 1F 02 B0 */ lwz r0, 0x2b0(r31) /* 80288650 002855B0 2C 00 00 02 */ cmpwi r0, 2 /* 80288654 002855B4 40 82 00 0C */ bne lbl_80288660 /* 80288658 002855B8 80 1F 02 AC */ lwz r0, 0x2ac(r31) /* 8028865C 002855BC 48 00 00 08 */ b lbl_80288664 lbl_80288660: /* 80288660 002855C0 38 00 00 04 */ li r0, 4 lbl_80288664: /* 80288664 002855C4 2C 00 00 00 */ cmpwi r0, 0 /* 80288668 002855C8 80 6D A1 18 */ lwz r3, gpTweakPlayer@sda21(r13) /* 8028866C 002855CC 41 80 00 0C */ blt lbl_80288678 /* 80288670 002855D0 2C 00 00 07 */ cmpwi r0, 7 /* 80288674 002855D4 40 81 00 08 */ ble lbl_8028867C lbl_80288678: /* 80288678 002855D8 38 00 00 00 */ li r0, 0 lbl_8028867C: /* 8028867C 002855DC C0 41 00 28 */ lfs f2, 0x28(r1) /* 80288680 002855E0 54 00 10 3A */ slwi r0, r0, 2 /* 80288684 002855E4 7C 63 02 14 */ add r3, r3, r0 /* 80288688 002855E8 FC 20 12 10 */ fabs f1, f2 /* 8028868C 002855EC C0 03 00 A4 */ lfs f0, 0xa4(r3) /* 80288690 002855F0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80288694 002855F4 40 81 00 14 */ ble lbl_802886A8 /* 80288698 002855F8 C0 62 BD C8 */ lfs f3, lbl_805ADAE8@sda21(r2) /* 8028869C 002855FC C0 22 BD 80 */ lfs f1, lbl_805ADAA0@sda21(r2) /* 802886A0 00285600 FC 22 18 6E */ fsel f1, f2, f1, f3 /* 802886A4 00285604 EC 40 00 72 */ fmuls f2, f0, f1 lbl_802886A8: /* 802886A8 00285608 80 1F 02 58 */ lwz r0, 0x258(r31) /* 802886AC 0028560C D0 41 00 28 */ stfs f2, 0x28(r1) /* 802886B0 00285610 2C 00 00 00 */ cmpwi r0, 0 /* 802886B4 00285614 40 82 00 0C */ bne lbl_802886C0 /* 802886B8 00285618 C0 02 BD A0 */ lfs f0, lbl_805ADAC0@sda21(r2) /* 802886BC 0028561C D0 01 00 2C */ stfs f0, 0x2c(r1) lbl_802886C0: /* 802886C0 00285620 7F C3 F3 78 */ mr r3, r30 /* 802886C4 00285624 38 9F 00 34 */ addi r4, r31, 0x34 /* 802886C8 00285628 38 A1 00 24 */ addi r5, r1, 0x24 /* 802886CC 0028562C 48 08 A3 B5 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 802886D0 00285630 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 802886D4 00285634 80 01 00 54 */ lwz r0, 0x54(r1) /* 802886D8 00285638 CB E1 00 40 */ lfd f31, 0x40(r1) /* 802886DC 0028563C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802886E0 00285640 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802886E4 00285644 7C 08 03 A6 */ mtlr r0 /* 802886E8 00285648 38 21 00 50 */ addi r1, r1, 0x50 /* 802886EC 0028564C 4E 80 00 20 */ blr .global __sinit_CPlayerDynamics_cpp __sinit_CPlayerDynamics_cpp: /* 802886F0 00285650 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802886F4 00285654 7C 08 02 A6 */ mflr r0 /* 802886F8 00285658 38 60 00 00 */ li r3, 0 /* 802886FC 0028565C 38 80 00 01 */ li r4, 1 /* 80288700 00285660 90 01 00 34 */ stw r0, 0x34(r1) /* 80288704 00285664 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80288708 00285668 93 C1 00 28 */ stw r30, 0x28(r1) /* 8028870C 0028566C 80 AD 99 30 */ lwz r5, lbl_805A84F0@sda21(r13) /* 80288710 00285670 48 10 17 E5 */ bl __shl2i /* 80288714 00285674 90 8D A5 94 */ stw r4, lbl_805A9154@sda21(r13) /* 80288718 00285678 38 80 00 01 */ li r4, 1 /* 8028871C 0028567C 80 AD 99 34 */ lwz r5, lbl_805A84F4@sda21(r13) /* 80288720 00285680 90 6D A5 90 */ stw r3, lbl_805A9150@sda21(r13) /* 80288724 00285684 38 60 00 00 */ li r3, 0 /* 80288728 00285688 48 10 17 CD */ bl __shl2i /* 8028872C 0028568C 80 AD 99 38 */ lwz r5, lbl_805A84F8@sda21(r13) /* 80288730 00285690 7C 9E 23 78 */ mr r30, r4 /* 80288734 00285694 7C 7F 1B 78 */ mr r31, r3 /* 80288738 00285698 38 60 00 00 */ li r3, 0 /* 8028873C 0028569C 38 80 00 01 */ li r4, 1 /* 80288740 002856A0 48 10 17 B5 */ bl __shl2i /* 80288744 002856A4 80 AD 99 3C */ lwz r5, lbl_805A84FC@sda21(r13) /* 80288748 002856A8 7F DE 23 78 */ or r30, r30, r4 /* 8028874C 002856AC 7F FF 1B 78 */ or r31, r31, r3 /* 80288750 002856B0 38 60 00 00 */ li r3, 0 /* 80288754 002856B4 38 80 00 01 */ li r4, 1 /* 80288758 002856B8 48 10 17 9D */ bl __shl2i /* 8028875C 002856BC 80 AD 99 40 */ lwz r5, lbl_805A8500@sda21(r13) /* 80288760 002856C0 7F DE 23 78 */ or r30, r30, r4 /* 80288764 002856C4 7F FF 1B 78 */ or r31, r31, r3 /* 80288768 002856C8 38 60 00 00 */ li r3, 0 /* 8028876C 002856CC 38 80 00 01 */ li r4, 1 /* 80288770 002856D0 48 10 17 85 */ bl __shl2i /* 80288774 002856D4 3C A0 80 47 */ lis r5, lbl_8046E0D8@ha /* 80288778 002856D8 80 0D A5 90 */ lwz r0, lbl_805A9150@sda21(r13) /* 8028877C 002856DC 7F DE 23 78 */ or r30, r30, r4 /* 80288780 002856E0 7F FF 1B 78 */ or r31, r31, r3 /* 80288784 002856E4 38 65 E0 D8 */ addi r3, r5, lbl_8046E0D8@l /* 80288788 002856E8 38 A0 00 03 */ li r5, 3 /* 8028878C 002856EC 80 8D A5 94 */ lwz r4, lbl_805A9154@sda21(r13) /* 80288790 002856F0 93 CD A5 9C */ stw r30, lbl_805A915C@sda21(r13) /* 80288794 002856F4 93 ED A5 98 */ stw r31, lbl_805A9158@sda21(r13) /* 80288798 002856F8 90 A1 00 18 */ stw r5, 0x18(r1) /* 8028879C 002856FC 90 83 00 04 */ stw r4, 4(r3) /* 802887A0 00285700 90 03 00 00 */ stw r0, 0(r3) /* 802887A4 00285704 93 C3 00 0C */ stw r30, 0xc(r3) /* 802887A8 00285708 93 E3 00 08 */ stw r31, 8(r3) /* 802887AC 0028570C 90 A3 00 10 */ stw r5, 0x10(r3) /* 802887B0 00285710 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802887B4 00285714 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802887B8 00285718 80 01 00 34 */ lwz r0, 0x34(r1) /* 802887BC 0028571C 7C 08 03 A6 */ mtlr r0 /* 802887C0 00285720 38 21 00 30 */ addi r1, r1, 0x30 /* 802887C4 00285724 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805ADA98 lbl_805ADA98: # ROM: 0x3FA338 .4byte 0x3F733333 .global lbl_805ADA9C lbl_805ADA9C: # ROM: 0x3FA33C .float 0.5 .global lbl_805ADAA0 lbl_805ADAA0: # ROM: 0x3FA340 .float 1.0 .global lbl_805ADAA4 lbl_805ADAA4: # ROM: 0x3FA344 .float 0.4 .global lbl_805ADAA8 lbl_805ADAA8: # ROM: 0x3FA348 .float 0.7 .global lbl_805ADAAC lbl_805ADAAC: # ROM: 0x3FA34C .float 2.0 .global lbl_805ADAB0 lbl_805ADAB0: # ROM: 0x3FA350 .4byte 0x3F6E147B .global lbl_805ADAB4 lbl_805ADAB4: # ROM: 0x3FA354 .float 0.2 .global lbl_805ADAB8 lbl_805ADAB8: # ROM: 0x3FA358 .4byte 0x3D8F5C28 .global lbl_805ADABC lbl_805ADABC: # ROM: 0x3FA35C .4byte 0x3D4CCCCD .global lbl_805ADAC0 lbl_805ADAC0: # ROM: 0x3FA360 .4byte 0 .global lbl_805ADAC4 lbl_805ADAC4: # ROM: 0x3FA364 .float 1.25 .global lbl_805ADAC8 lbl_805ADAC8: # ROM: 0x3FA368 .4byte 0x3F733333 .global lbl_805ADACC lbl_805ADACC: # ROM: 0x3FA36C .float 0.1 .global lbl_805ADAD0 lbl_805ADAD0: # ROM: 0x3FA370 .float 255.0 .global lbl_805ADAD4 lbl_805ADAD4: # ROM: 0x3FA374 .float 0.3 .global lbl_805ADAD8 lbl_805ADAD8: # ROM: 0x3FA378 .float 0.15 .4byte 0 .global lbl_805ADAE0 lbl_805ADAE0: # ROM: 0x3FA380 .double 1.0 .global lbl_805ADAE8 lbl_805ADAE8: # ROM: 0x3FA388 .float -1.0 .global lbl_805ADAEC lbl_805ADAEC: # ROM: 0x3FA38C .4byte 0x42990000 .global lbl_805ADAF0 lbl_805ADAF0: # ROM: 0x3FA390 .float 1.1920929E-7 .global lbl_805ADAF4 lbl_805ADAF4: # ROM: 0x3FA394 .4byte 0xC0E00000 .global lbl_805ADAF8 lbl_805ADAF8: # ROM: 0x3FA398 .4byte 0x40278D36 .global lbl_805ADAFC lbl_805ADAFC: # ROM: 0x3FA39C .float 0.01 .global lbl_805ADB00 lbl_805ADB00: # ROM: 0x3FA3A0 .4byte 0x41A00000 .global lbl_805ADB04 lbl_805ADB04: # ROM: 0x3FA3A4 .4byte 0xBF000000 .global lbl_805ADB08 lbl_805ADB08: # ROM: 0x3FA3A8 .float 6.2831855 .global lbl_805ADB0C lbl_805ADB0C: # ROM: 0x3FA3AC .4byte 0x3E22F983 .global lbl_805ADB10 lbl_805ADB10: # ROM: 0x3FA3B0 .4byte 0x42652EE0 .global lbl_805ADB14 lbl_805ADB14: # ROM: 0x3FA3B4 .4byte 0x42340000 .global lbl_805ADB18 lbl_805ADB18: # ROM: 0x3FA3B8 .4byte 0x439D8000 .4byte 0 .global lbl_805ADB20 lbl_805ADB20: # ROM: 0x3FA3C0 .double 4.503601774854144E15 .global lbl_805ADB28 lbl_805ADB28: # ROM: 0x3FA3C8 .float 2.0 .4byte 0 .global lbl_805ADB30 lbl_805ADB30: # ROM: 0x3FA3D0 .4byte 0 .4byte 0 .global lbl_805ADB38 lbl_805ADB38: # ROM: 0x3FA3D8 .4byte 0x3FE00000 .4byte 0 .global lbl_805ADB40 lbl_805ADB40: # ROM: 0x3FA3E0 .4byte 0x40080000 .4byte 0 .global lbl_805ADB48 lbl_805ADB48: # ROM: 0x3FA3E8 .float 5.0 .global lbl_805ADB4C lbl_805ADB4C: # ROM: 0x3FA3EC .float 0.25 .global lbl_805ADB50 lbl_805ADB50: # ROM: 0x3FA3F0 .float 0.02 .global lbl_805ADB54 lbl_805ADB54: # ROM: 0x3FA3F4 .4byte 0x3E4E5604 .global lbl_805ADB58 lbl_805ADB58: # ROM: 0x3FA3F8 .4byte 0x3F4CCCCD .global lbl_805ADB5C lbl_805ADB5C: # ROM: 0x3FA3FC .float 0.001 .global lbl_805ADB60 lbl_805ADB60: # ROM: 0x3FA400 .4byte 0x3F5F66F3 .global lbl_805ADB64 lbl_805ADB64: # ROM: 0x3FA404 .4byte 0x3727C5AC .global lbl_805ADB68 lbl_805ADB68: # ROM: 0x3FA408 .4byte 0x3E79999A .global lbl_805ADB6C lbl_805ADB6C: # ROM: 0x3FA40C .4byte 0x40060A92 .global lbl_805ADB70 lbl_805ADB70: # ROM: 0x3FA410 .4byte 0x40490FDB .global lbl_805ADB74 lbl_805ADB74: # ROM: 0x3FA414 .4byte 0x40C00000 .global lbl_805ADB78 lbl_805ADB78: # ROM: 0x3FA418 .4byte 0xC2C80000 .4byte 0 .section .rodata .balign 8 .global lbl_803D5908 lbl_803D5908: # ROM: 0x3D2908 .4byte 0x413CCCCD .4byte 0x413CCCCD .4byte 0x413CCCCD .float 5.0 .4byte 0x40C00000 .float 5.0 .float 5.0 .4byte 0x40C00000 .4byte 0x413CCCCD .4byte 0x41F00000 .4byte 0x41B4CCCD .4byte 0x41200000 .4byte 0x41200000 .4byte 0x41200000 .4byte 0x41200000 .4byte 0x41200000 .4byte 0x413CCCCD .4byte 0x413CCCCD .4byte 0x413CCCCD .float 5.0 .4byte 0x40C00000 .float 5.0 .float 5.0 .4byte 0x40C00000 .global lbl_803D5968 lbl_803D5968: # ROM: 0x3D2968 .asciz "Whole Body" .byte 0x3F .asciz "?(??)" .balign 4 .4byte 0