prime/asm/Kyoto_CWD/Player/CPlayerDynamics.s

7484 lines
387 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.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<c,Q24rstl14char_traits<c>,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<c,Q24rstl14char_traits<c>,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, lbl_805A8F50@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<f>__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<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>FQ24rstl152pointer_iterator<Q24rstl22auto_ptr<10CModelData>,Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl152pointer_iterator<Q24rstl22auto_ptr<10CModelData>,Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,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<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>FQ24rstl152pointer_iterator<Q24rstl22auto_ptr<10CModelData>,Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl152pointer_iterator<Q24rstl22auto_ptr<10CModelData>,Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>"
"erase__Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>FQ24rstl152pointer_iterator<Q24rstl22auto_ptr<10CModelData>,Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl152pointer_iterator<Q24rstl22auto_ptr<10CModelData>,Q24rstl66vector<Q24rstl22auto_ptr<10CModelData>,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, lbl_805A8F50@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, lbl_805A8F4C@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, lbl_805A8F4C@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, lbl_805A8F4C@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<f>__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<f>__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<f>__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<f>__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<f>__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<f>__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<f>__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<f>__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