prime/asm/MetroidPrime/BodyState/CBSHurled.s

1382 lines
68 KiB
ArmAsm
Raw Permalink Normal View History

2022-04-13 06:53:45 +00:00
.include "macros.inc"
2022-04-18 04:19:18 +00:00
.section .data
.balign 8
2022-04-18 04:19:18 +00:00
.global lbl_803E1FB0
lbl_803E1FB0:
# ROM: 0x3DEFB0
.4byte 0
.4byte 0
.4byte __dt__9CBSHurledFv
.4byte IsInAir__9CBSHurledCFRC15CBodyController
.4byte IsDead__10CBodyStateCFv
.4byte IsDying__10CBodyStateCFv
.4byte IsMoving__9CBSHurledCFv
.4byte ApplyGravity__10CBodyStateCFv
.4byte ApplyHeadTracking__9CBSHurledCFv
.4byte ApplyAnimationDeltas__10CBodyStateCFv
.4byte CanShoot__10CBodyStateCFv
.4byte Start__9CBSHurledFR15CBodyControllerR13CStateManager
.4byte UpdateBody__9CBSHurledFfR15CBodyControllerR13CStateManager
.4byte Shutdown__9CBSHurledFR15CBodyController
.global lbl_803E1FE8
lbl_803E1FE8:
# ROM: 0x3DEFE8
.4byte lbl_80144D04
.4byte lbl_80144E10
.4byte lbl_801450DC
.4byte lbl_80144F00
.4byte lbl_8014500C
.4byte lbl_801450DC
.4byte lbl_80145064
.4byte lbl_80145064
2022-07-14 05:36:41 +00:00
.section .text, "ax"
2022-04-13 06:53:45 +00:00
.global __dt__9CBSHurledFv
__dt__9CBSHurledFv:
/* 8014440C 0014136C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80144410 00141370 7C 08 02 A6 */ mflr r0
/* 80144414 00141374 90 01 00 14 */ stw r0, 0x14(r1)
/* 80144418 00141378 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8014441C 0014137C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80144420 00141380 41 82 00 30 */ beq lbl_80144450
/* 80144424 00141384 3C 60 80 3E */ lis r3, lbl_803E1FB0@ha
/* 80144428 00141388 38 03 1F B0 */ addi r0, r3, lbl_803E1FB0@l
/* 8014442C 0014138C 90 1F 00 00 */ stw r0, 0(r31)
/* 80144430 00141390 41 82 00 10 */ beq lbl_80144440
2022-10-24 23:29:11 +00:00
/* 80144434 00141394 3C 60 80 3E */ lis r3, __vt__10CBodyState@ha
/* 80144438 00141398 38 03 13 18 */ addi r0, r3, __vt__10CBodyState@l
2022-04-13 06:53:45 +00:00
/* 8014443C 0014139C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80144440:
/* 80144440 001413A0 7C 80 07 35 */ extsh. r0, r4
/* 80144444 001413A4 40 81 00 0C */ ble lbl_80144450
/* 80144448 001413A8 7F E3 FB 78 */ mr r3, r31
/* 8014444C 001413AC 48 1D 14 E5 */ bl Free__7CMemoryFPCv
lbl_80144450:
/* 80144450 001413B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80144454 001413B4 7F E3 FB 78 */ mr r3, r31
/* 80144458 001413B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8014445C 001413BC 7C 08 03 A6 */ mtlr r0
/* 80144460 001413C0 38 21 00 10 */ addi r1, r1, 0x10
2022-07-14 05:48:03 +00:00
/* 80144464 001413C4 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global IsMoving__9CBSHurledCFv
IsMoving__9CBSHurledCFv:
/* 80144468 001413C8 38 60 00 01 */ li r3, 1
2022-07-14 05:48:03 +00:00
/* 8014446C 001413CC 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global ApplyHeadTracking__9CBSHurledCFv
ApplyHeadTracking__9CBSHurledCFv:
/* 80144470 001413D0 38 60 00 00 */ li r3, 0
2022-07-14 05:48:03 +00:00
/* 80144474 001413D4 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global GetBodyStateTransition__9CBSHurledFfR15CBodyController
GetBodyStateTransition__9CBSHurledFfR15CBodyController:
/* 80144478 001413D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8014447C 001413DC 7C 08 02 A6 */ mflr r0
/* 80144480 001413E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80144484 001413E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80144488 001413E8 3B E4 00 04 */ addi r31, r4, 4
/* 8014448C 001413EC 38 80 00 0C */ li r4, 0xc
/* 80144490 001413F0 93 C1 00 08 */ stw r30, 8(r1)
/* 80144494 001413F4 7C 7E 1B 78 */ mr r30, r3
/* 80144498 001413F8 7F E3 FB 78 */ mr r3, r31
/* 8014449C 001413FC 4B FE CF B5 */ bl GetCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 801444A0 00141400 28 03 00 00 */ cmplwi r3, 0
/* 801444A4 00141404 41 82 00 0C */ beq lbl_801444B0
/* 801444A8 00141408 38 60 00 02 */ li r3, 2
/* 801444AC 0014140C 48 00 00 3C */ b lbl_801444E8
lbl_801444B0:
/* 801444B0 00141410 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 801444B4 00141414 C0 02 9C 18 */ lfs f0, lbl_805AB938@sda21(r2)
/* 801444B8 00141418 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801444BC 0014141C 40 81 00 28 */ ble lbl_801444E4
/* 801444C0 00141420 7F E3 FB 78 */ mr r3, r31
/* 801444C4 00141424 38 80 00 0F */ li r4, 0xf
/* 801444C8 00141428 4B FE CF B5 */ bl GetCmd__16CBodyStateCmdMgrCF13EBodyStateCmd
/* 801444CC 0014142C 28 03 00 00 */ cmplwi r3, 0
/* 801444D0 00141430 41 82 00 14 */ beq lbl_801444E4
/* 801444D4 00141434 38 00 00 01 */ li r0, 1
/* 801444D8 00141438 98 03 00 20 */ stb r0, 0x20(r3)
/* 801444DC 0014143C 38 60 00 0E */ li r3, 0xe
/* 801444E0 00141440 48 00 00 08 */ b lbl_801444E8
lbl_801444E4:
/* 801444E4 00141444 38 60 FF FF */ li r3, -1
lbl_801444E8:
/* 801444E8 00141448 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801444EC 0014144C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801444F0 00141450 83 C1 00 08 */ lwz r30, 8(r1)
/* 801444F4 00141454 7C 08 03 A6 */ mtlr r0
/* 801444F8 00141458 38 21 00 10 */ addi r1, r1, 0x10
2022-07-14 05:48:03 +00:00
/* 801444FC 0014145C 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global Recover__9CBSHurledFR13CStateManagerR15CBodyControllerQ23pas12EHurledState
Recover__9CBSHurledFR13CStateManagerR15CBodyControllerQ23pas12EHurledState:
/* 80144500 00141460 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 80144504 00141464 7C 08 02 A6 */ mflr r0
/* 80144508 00141468 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 8014450C 0014146C BF 61 00 DC */ stmw r27, 0xdc(r1)
/* 80144510 00141470 7C BC 2B 78 */ mr r28, r5
/* 80144514 00141474 7C 7F 1B 78 */ mr r31, r3
/* 80144518 00141478 7C 9B 23 78 */ mr r27, r4
/* 8014451C 0014147C 7C DD 33 78 */ mr r29, r6
/* 80144520 00141480 7F 83 E3 78 */ mr r3, r28
/* 80144524 00141484 4B FF 5F 31 */ bl GetPASDatabase__15CBodyControllerCFv
/* 80144528 00141488 7C 60 1B 78 */ mr r0, r3
/* 8014452C 0014148C 38 61 00 20 */ addi r3, r1, 0x20
/* 80144530 00141490 7C 1E 03 78 */ mr r30, r0
/* 80144534 00141494 48 19 EB 49 */ bl NoParameter__12CPASAnimParmFv
/* 80144538 00141498 38 61 00 28 */ addi r3, r1, 0x28
/* 8014453C 0014149C 48 19 EB 41 */ bl NoParameter__12CPASAnimParmFv
/* 80144540 001414A0 38 61 00 30 */ addi r3, r1, 0x30
/* 80144544 001414A4 48 19 EB 39 */ bl NoParameter__12CPASAnimParmFv
/* 80144548 001414A8 38 61 00 38 */ addi r3, r1, 0x38
/* 8014454C 001414AC 48 19 EB 31 */ bl NoParameter__12CPASAnimParmFv
/* 80144550 001414B0 38 61 00 40 */ addi r3, r1, 0x40
/* 80144554 001414B4 48 19 EB 29 */ bl NoParameter__12CPASAnimParmFv
/* 80144558 001414B8 7F A4 EB 78 */ mr r4, r29
/* 8014455C 001414BC 38 61 00 48 */ addi r3, r1, 0x48
/* 80144560 001414C0 48 19 EA 25 */ bl FromEnum__12CPASAnimParmFi
/* 80144564 001414C4 C0 3F 00 08 */ lfs f1, 8(r31)
/* 80144568 001414C8 38 61 00 50 */ addi r3, r1, 0x50
/* 8014456C 001414CC 48 19 EA 7D */ bl FromReal32__12CPASAnimParmFf
/* 80144570 001414D0 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 80144574 001414D4 38 61 00 58 */ addi r3, r1, 0x58
/* 80144578 001414D8 48 19 EA D5 */ bl FromInt32__12CPASAnimParmFi
/* 8014457C 001414DC 38 61 00 28 */ addi r3, r1, 0x28
/* 80144580 001414E0 38 01 00 20 */ addi r0, r1, 0x20
/* 80144584 001414E4 90 61 00 08 */ stw r3, 8(r1)
/* 80144588 001414E8 38 61 00 88 */ addi r3, r1, 0x88
/* 8014458C 001414EC 38 A1 00 58 */ addi r5, r1, 0x58
/* 80144590 001414F0 38 C1 00 50 */ addi r6, r1, 0x50
/* 80144594 001414F4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80144598 001414F8 38 E1 00 48 */ addi r7, r1, 0x48
/* 8014459C 001414FC 39 01 00 40 */ addi r8, r1, 0x40
/* 801445A0 00141500 39 21 00 38 */ addi r9, r1, 0x38
/* 801445A4 00141504 39 41 00 30 */ addi r10, r1, 0x30
/* 801445A8 00141508 38 80 00 0E */ li r4, 0xe
/* 801445AC 0014150C 4B F3 8D 19 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
2022-04-13 06:53:45 +00:00
/* 801445B0 00141510 80 DB 09 00 */ lwz r6, 0x900(r27)
/* 801445B4 00141514 7F C4 F3 78 */ mr r4, r30
/* 801445B8 00141518 38 61 00 18 */ addi r3, r1, 0x18
/* 801445BC 0014151C 38 A1 00 88 */ addi r5, r1, 0x88
/* 801445C0 00141520 38 E0 FF FF */ li r7, -1
/* 801445C4 00141524 48 1A 0A 9D */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i
/* 801445C8 00141528 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 801445CC 0014152C C0 02 9C 1C */ lfs f0, lbl_805AB93C@sda21(r2)
/* 801445D0 00141530 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 801445D4 00141534 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801445D8 00141538 40 81 00 88 */ ble lbl_80144660
/* 801445DC 0014153C C0 02 9C 20 */ lfs f0, lbl_805AB940@sda21(r2)
/* 801445E0 00141540 38 00 00 00 */ li r0, 0
/* 801445E4 00141544 38 C0 FF FF */ li r6, -1
/* 801445E8 00141548 38 E0 00 01 */ li r7, 1
/* 801445EC 0014154C 90 61 00 60 */ stw r3, 0x60(r1)
/* 801445F0 00141550 7F 83 E3 78 */ mr r3, r28
/* 801445F4 00141554 38 81 00 60 */ addi r4, r1, 0x60
/* 801445F8 00141558 38 A0 00 00 */ li r5, 0
/* 801445FC 0014155C 90 C1 00 64 */ stw r6, 0x64(r1)
/* 80144600 00141560 38 C0 00 00 */ li r6, 0
/* 80144604 00141564 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 80144608 00141568 98 E1 00 6C */ stb r7, 0x6c(r1)
/* 8014460C 0014156C 90 01 00 70 */ stw r0, 0x70(r1)
/* 80144610 00141570 90 01 00 74 */ stw r0, 0x74(r1)
/* 80144614 00141574 98 01 00 78 */ stb r0, 0x78(r1)
/* 80144618 00141578 90 01 00 7C */ stw r0, 0x7c(r1)
/* 8014461C 0014157C 90 01 00 80 */ stw r0, 0x80(r1)
/* 80144620 00141580 90 01 00 84 */ stw r0, 0x84(r1)
/* 80144624 00141584 4B FF 62 F9 */ bl SetCurrentAnimation__15CBodyControllerFRC18CAnimPlaybackParmsbb
/* 80144628 00141588 93 BF 00 04 */ stw r29, 4(r31)
/* 8014462C 0014158C 38 61 00 10 */ addi r3, r1, 0x10
/* 80144630 00141590 80 9C 00 00 */ lwz r4, 0(r28)
/* 80144634 00141594 4B F6 80 B1 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity"
/* 80144638 00141598 80 83 00 04 */ lwz r4, 4(r3)
/* 8014463C 0014159C 28 04 00 00 */ cmplwi r4, 0
/* 80144640 001415A0 41 82 00 20 */ beq lbl_80144660
/* 80144644 001415A4 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 80144648 001415A8 C4 03 66 A0 */ lfsu f0, sZeroVector__9CVector3f@l(r3)
2022-04-13 06:53:45 +00:00
/* 8014464C 001415AC D0 04 01 50 */ stfs f0, 0x150(r4)
/* 80144650 001415B0 C0 03 00 04 */ lfs f0, 4(r3)
/* 80144654 001415B4 D0 04 01 54 */ stfs f0, 0x154(r4)
/* 80144658 001415B8 C0 03 00 08 */ lfs f0, 8(r3)
/* 8014465C 001415BC D0 04 01 58 */ stfs f0, 0x158(r4)
lbl_80144660:
/* 80144660 001415C0 88 1F 00 2C */ lbz r0, 0x2c(r31)
/* 80144664 001415C4 38 60 00 00 */ li r3, 0
/* 80144668 001415C8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8014466C 001415CC 34 A1 00 8C */ addic. r5, r1, 0x8c
/* 80144670 001415D0 98 1F 00 2C */ stb r0, 0x2c(r31)
/* 80144674 001415D4 41 82 00 54 */ beq lbl_801446C8
/* 80144678 001415D8 80 C5 00 00 */ lwz r6, 0(r5)
/* 8014467C 001415DC 2C 06 00 00 */ cmpwi r6, 0
/* 80144680 001415E0 40 81 00 40 */ ble lbl_801446C0
/* 80144684 001415E4 2C 06 00 08 */ cmpwi r6, 8
/* 80144688 001415E8 38 86 FF F8 */ addi r4, r6, -8
/* 8014468C 001415EC 40 81 00 20 */ ble lbl_801446AC
/* 80144690 001415F0 38 04 00 07 */ addi r0, r4, 7
/* 80144694 001415F4 54 00 E8 FE */ srwi r0, r0, 3
/* 80144698 001415F8 7C 09 03 A6 */ mtctr r0
/* 8014469C 001415FC 2C 04 00 00 */ cmpwi r4, 0
/* 801446A0 00141600 40 81 00 0C */ ble lbl_801446AC
lbl_801446A4:
/* 801446A4 00141604 38 63 00 08 */ addi r3, r3, 8
/* 801446A8 00141608 42 00 FF FC */ bdnz lbl_801446A4
lbl_801446AC:
/* 801446AC 0014160C 7C 03 30 50 */ subf r0, r3, r6
/* 801446B0 00141610 7C 09 03 A6 */ mtctr r0
/* 801446B4 00141614 7C 03 30 00 */ cmpw r3, r6
/* 801446B8 00141618 40 80 00 08 */ bge lbl_801446C0
lbl_801446BC:
/* 801446BC 0014161C 42 00 00 00 */ bdnz lbl_801446BC
lbl_801446C0:
/* 801446C0 00141620 38 00 00 00 */ li r0, 0
/* 801446C4 00141624 90 05 00 00 */ stw r0, 0(r5)
lbl_801446C8:
/* 801446C8 00141628 BB 61 00 DC */ lmw r27, 0xdc(r1)
/* 801446CC 0014162C 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 801446D0 00141630 7C 08 03 A6 */ mtlr r0
/* 801446D4 00141634 38 21 00 F0 */ addi r1, r1, 0xf0
2022-07-14 05:48:03 +00:00
/* 801446D8 00141638 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global PlayStrikeWallAnimation__9CBSHurledFR15CBodyControllerR13CStateManager
PlayStrikeWallAnimation__9CBSHurledFR15CBodyControllerR13CStateManager:
/* 801446DC 0014163C 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 801446E0 00141640 7C 08 02 A6 */ mflr r0
/* 801446E4 00141644 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 801446E8 00141648 93 E1 00 DC */ stw r31, 0xdc(r1)
/* 801446EC 0014164C 93 C1 00 D8 */ stw r30, 0xd8(r1)
/* 801446F0 00141650 7C BE 2B 78 */ mr r30, r5
/* 801446F4 00141654 93 A1 00 D4 */ stw r29, 0xd4(r1)
/* 801446F8 00141658 7C 9D 23 78 */ mr r29, r4
/* 801446FC 0014165C 93 81 00 D0 */ stw r28, 0xd0(r1)
/* 80144700 00141660 7C 7C 1B 78 */ mr r28, r3
/* 80144704 00141664 7F A3 EB 78 */ mr r3, r29
/* 80144708 00141668 4B FF 5D 4D */ bl GetPASDatabase__15CBodyControllerCFv
/* 8014470C 0014166C 7C 60 1B 78 */ mr r0, r3
/* 80144710 00141670 38 61 00 18 */ addi r3, r1, 0x18
/* 80144714 00141674 7C 1F 03 78 */ mr r31, r0
/* 80144718 00141678 48 19 E9 65 */ bl NoParameter__12CPASAnimParmFv
/* 8014471C 0014167C 38 61 00 20 */ addi r3, r1, 0x20
/* 80144720 00141680 48 19 E9 5D */ bl NoParameter__12CPASAnimParmFv
/* 80144724 00141684 38 61 00 28 */ addi r3, r1, 0x28
/* 80144728 00141688 48 19 E9 55 */ bl NoParameter__12CPASAnimParmFv
/* 8014472C 0014168C 38 61 00 30 */ addi r3, r1, 0x30
/* 80144730 00141690 48 19 E9 4D */ bl NoParameter__12CPASAnimParmFv
/* 80144734 00141694 38 61 00 38 */ addi r3, r1, 0x38
/* 80144738 00141698 48 19 E9 45 */ bl NoParameter__12CPASAnimParmFv
/* 8014473C 0014169C 38 61 00 40 */ addi r3, r1, 0x40
/* 80144740 001416A0 38 80 00 03 */ li r4, 3
/* 80144744 001416A4 48 19 E8 41 */ bl FromEnum__12CPASAnimParmFi
/* 80144748 001416A8 C0 3C 00 08 */ lfs f1, 8(r28)
/* 8014474C 001416AC 38 61 00 48 */ addi r3, r1, 0x48
/* 80144750 001416B0 48 19 E8 99 */ bl FromReal32__12CPASAnimParmFf
/* 80144754 001416B4 80 9C 00 0C */ lwz r4, 0xc(r28)
/* 80144758 001416B8 38 61 00 50 */ addi r3, r1, 0x50
/* 8014475C 001416BC 48 19 E8 F1 */ bl FromInt32__12CPASAnimParmFi
/* 80144760 001416C0 38 61 00 20 */ addi r3, r1, 0x20
/* 80144764 001416C4 38 01 00 18 */ addi r0, r1, 0x18
/* 80144768 001416C8 90 61 00 08 */ stw r3, 8(r1)
/* 8014476C 001416CC 38 61 00 80 */ addi r3, r1, 0x80
/* 80144770 001416D0 38 A1 00 50 */ addi r5, r1, 0x50
/* 80144774 001416D4 38 C1 00 48 */ addi r6, r1, 0x48
/* 80144778 001416D8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8014477C 001416DC 38 E1 00 40 */ addi r7, r1, 0x40
/* 80144780 001416E0 39 01 00 38 */ addi r8, r1, 0x38
/* 80144784 001416E4 39 21 00 30 */ addi r9, r1, 0x30
/* 80144788 001416E8 39 41 00 28 */ addi r10, r1, 0x28
/* 8014478C 001416EC 38 80 00 0E */ li r4, 0xe
/* 80144790 001416F0 4B F3 8B 35 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
2022-04-13 06:53:45 +00:00
/* 80144794 001416F4 80 DE 09 00 */ lwz r6, 0x900(r30)
/* 80144798 001416F8 7F E4 FB 78 */ mr r4, r31
/* 8014479C 001416FC 38 61 00 10 */ addi r3, r1, 0x10
/* 801447A0 00141700 38 A1 00 80 */ addi r5, r1, 0x80
/* 801447A4 00141704 38 E0 FF FF */ li r7, -1
/* 801447A8 00141708 48 1A 08 B9 */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i
/* 801447AC 0014170C C0 21 00 10 */ lfs f1, 0x10(r1)
/* 801447B0 00141710 C0 02 9C 1C */ lfs f0, lbl_805AB93C@sda21(r2)
/* 801447B4 00141714 80 61 00 14 */ lwz r3, 0x14(r1)
/* 801447B8 00141718 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801447BC 0014171C 40 81 00 58 */ ble lbl_80144814
/* 801447C0 00141720 C0 02 9C 20 */ lfs f0, lbl_805AB940@sda21(r2)
/* 801447C4 00141724 38 00 00 00 */ li r0, 0
/* 801447C8 00141728 38 C0 FF FF */ li r6, -1
/* 801447CC 0014172C 38 E0 00 01 */ li r7, 1
/* 801447D0 00141730 90 61 00 58 */ stw r3, 0x58(r1)
/* 801447D4 00141734 7F A3 EB 78 */ mr r3, r29
/* 801447D8 00141738 38 81 00 58 */ addi r4, r1, 0x58
/* 801447DC 0014173C 38 A0 00 00 */ li r5, 0
/* 801447E0 00141740 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 801447E4 00141744 38 C0 00 00 */ li r6, 0
/* 801447E8 00141748 D0 01 00 60 */ stfs f0, 0x60(r1)
/* 801447EC 0014174C 98 E1 00 64 */ stb r7, 0x64(r1)
/* 801447F0 00141750 90 01 00 68 */ stw r0, 0x68(r1)
/* 801447F4 00141754 90 01 00 6C */ stw r0, 0x6c(r1)
/* 801447F8 00141758 98 01 00 70 */ stb r0, 0x70(r1)
/* 801447FC 0014175C 90 01 00 74 */ stw r0, 0x74(r1)
/* 80144800 00141760 90 01 00 78 */ stw r0, 0x78(r1)
/* 80144804 00141764 90 01 00 7C */ stw r0, 0x7c(r1)
/* 80144808 00141768 4B FF 61 15 */ bl SetCurrentAnimation__15CBodyControllerFRC18CAnimPlaybackParmsbb
/* 8014480C 0014176C 38 00 00 03 */ li r0, 3
/* 80144810 00141770 90 1C 00 04 */ stw r0, 4(r28)
lbl_80144814:
/* 80144814 00141774 34 A1 00 84 */ addic. r5, r1, 0x84
/* 80144818 00141778 41 82 00 58 */ beq lbl_80144870
/* 8014481C 0014177C 80 C5 00 00 */ lwz r6, 0(r5)
/* 80144820 00141780 38 60 00 00 */ li r3, 0
/* 80144824 00141784 2C 06 00 00 */ cmpwi r6, 0
/* 80144828 00141788 40 81 00 40 */ ble lbl_80144868
/* 8014482C 0014178C 2C 06 00 08 */ cmpwi r6, 8
/* 80144830 00141790 38 86 FF F8 */ addi r4, r6, -8
/* 80144834 00141794 40 81 00 20 */ ble lbl_80144854
/* 80144838 00141798 38 04 00 07 */ addi r0, r4, 7
/* 8014483C 0014179C 54 00 E8 FE */ srwi r0, r0, 3
/* 80144840 001417A0 7C 09 03 A6 */ mtctr r0
/* 80144844 001417A4 2C 04 00 00 */ cmpwi r4, 0
/* 80144848 001417A8 40 81 00 0C */ ble lbl_80144854
lbl_8014484C:
/* 8014484C 001417AC 38 63 00 08 */ addi r3, r3, 8
/* 80144850 001417B0 42 00 FF FC */ bdnz lbl_8014484C
lbl_80144854:
/* 80144854 001417B4 7C 03 30 50 */ subf r0, r3, r6
/* 80144858 001417B8 7C 09 03 A6 */ mtctr r0
/* 8014485C 001417BC 7C 03 30 00 */ cmpw r3, r6
/* 80144860 001417C0 40 80 00 08 */ bge lbl_80144868
lbl_80144864:
/* 80144864 001417C4 42 00 00 00 */ bdnz lbl_80144864
lbl_80144868:
/* 80144868 001417C8 38 00 00 00 */ li r0, 0
/* 8014486C 001417CC 90 05 00 00 */ stw r0, 0(r5)
lbl_80144870:
/* 80144870 001417D0 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80144874 001417D4 83 E1 00 DC */ lwz r31, 0xdc(r1)
/* 80144878 001417D8 83 C1 00 D8 */ lwz r30, 0xd8(r1)
/* 8014487C 001417DC 83 A1 00 D4 */ lwz r29, 0xd4(r1)
/* 80144880 001417E0 83 81 00 D0 */ lwz r28, 0xd0(r1)
/* 80144884 001417E4 7C 08 03 A6 */ mtlr r0
/* 80144888 001417E8 38 21 00 E0 */ addi r1, r1, 0xe0
2022-07-14 05:48:03 +00:00
/* 8014488C 001417EC 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global PlayLandAnimation__9CBSHurledFR15CBodyControllerR13CStateManager
PlayLandAnimation__9CBSHurledFR15CBodyControllerR13CStateManager:
/* 80144890 001417F0 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 80144894 001417F4 7C 08 02 A6 */ mflr r0
/* 80144898 001417F8 90 01 01 04 */ stw r0, 0x104(r1)
/* 8014489C 001417FC 93 E1 00 FC */ stw r31, 0xfc(r1)
/* 801448A0 00141800 93 C1 00 F8 */ stw r30, 0xf8(r1)
/* 801448A4 00141804 7C 7E 1B 78 */ mr r30, r3
/* 801448A8 00141808 93 A1 00 F4 */ stw r29, 0xf4(r1)
/* 801448AC 0014180C 7C BD 2B 78 */ mr r29, r5
/* 801448B0 00141810 93 81 00 F0 */ stw r28, 0xf0(r1)
/* 801448B4 00141814 7C 9C 23 78 */ mr r28, r4
/* 801448B8 00141818 7F 83 E3 78 */ mr r3, r28
/* 801448BC 0014181C 4B FF 5B 99 */ bl GetPASDatabase__15CBodyControllerCFv
/* 801448C0 00141820 7C 60 1B 78 */ mr r0, r3
/* 801448C4 00141824 38 61 00 2C */ addi r3, r1, 0x2c
/* 801448C8 00141828 7C 1F 03 78 */ mr r31, r0
/* 801448CC 0014182C 48 19 E7 B1 */ bl NoParameter__12CPASAnimParmFv
/* 801448D0 00141830 38 61 00 34 */ addi r3, r1, 0x34
/* 801448D4 00141834 48 19 E7 A9 */ bl NoParameter__12CPASAnimParmFv
/* 801448D8 00141838 38 61 00 3C */ addi r3, r1, 0x3c
/* 801448DC 0014183C 48 19 E7 A1 */ bl NoParameter__12CPASAnimParmFv
/* 801448E0 00141840 38 61 00 44 */ addi r3, r1, 0x44
/* 801448E4 00141844 48 19 E7 99 */ bl NoParameter__12CPASAnimParmFv
/* 801448E8 00141848 38 61 00 4C */ addi r3, r1, 0x4c
/* 801448EC 0014184C 48 19 E7 91 */ bl NoParameter__12CPASAnimParmFv
/* 801448F0 00141850 80 9E 00 04 */ lwz r4, 4(r30)
/* 801448F4 00141854 38 61 00 54 */ addi r3, r1, 0x54
/* 801448F8 00141858 48 19 E6 8D */ bl FromEnum__12CPASAnimParmFi
/* 801448FC 0014185C C0 3E 00 08 */ lfs f1, 8(r30)
/* 80144900 00141860 38 61 00 5C */ addi r3, r1, 0x5c
/* 80144904 00141864 48 19 E6 E5 */ bl FromReal32__12CPASAnimParmFf
/* 80144908 00141868 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 8014490C 0014186C 38 61 00 64 */ addi r3, r1, 0x64
/* 80144910 00141870 48 19 E7 3D */ bl FromInt32__12CPASAnimParmFi
/* 80144914 00141874 38 61 00 34 */ addi r3, r1, 0x34
/* 80144918 00141878 38 01 00 2C */ addi r0, r1, 0x2c
/* 8014491C 0014187C 90 61 00 08 */ stw r3, 8(r1)
/* 80144920 00141880 38 61 00 9C */ addi r3, r1, 0x9c
/* 80144924 00141884 38 A1 00 64 */ addi r5, r1, 0x64
/* 80144928 00141888 38 C1 00 5C */ addi r6, r1, 0x5c
/* 8014492C 0014188C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80144930 00141890 38 E1 00 54 */ addi r7, r1, 0x54
/* 80144934 00141894 39 01 00 4C */ addi r8, r1, 0x4c
/* 80144938 00141898 39 21 00 44 */ addi r9, r1, 0x44
/* 8014493C 0014189C 39 41 00 3C */ addi r10, r1, 0x3c
/* 80144940 001418A0 38 80 00 0E */ li r4, 0xe
/* 80144944 001418A4 4B F3 89 81 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
2022-04-13 06:53:45 +00:00
/* 80144948 001418A8 80 DD 09 00 */ lwz r6, 0x900(r29)
/* 8014494C 001418AC 7F E4 FB 78 */ mr r4, r31
/* 80144950 001418B0 38 61 00 24 */ addi r3, r1, 0x24
/* 80144954 001418B4 38 A1 00 9C */ addi r5, r1, 0x9c
/* 80144958 001418B8 38 E0 FF FF */ li r7, -1
/* 8014495C 001418BC 48 1A 07 05 */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i
/* 80144960 001418C0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80144964 001418C4 38 00 00 00 */ li r0, 0
/* 80144968 001418C8 C0 02 9C 20 */ lfs f0, lbl_805AB940@sda21(r2)
/* 8014496C 001418CC 38 A0 FF FF */ li r5, -1
/* 80144970 001418D0 38 E0 00 01 */ li r7, 1
/* 80144974 001418D4 93 C1 00 74 */ stw r30, 0x74(r1)
/* 80144978 001418D8 7F 83 E3 78 */ mr r3, r28
/* 8014497C 001418DC 38 81 00 74 */ addi r4, r1, 0x74
/* 80144980 001418E0 90 A1 00 78 */ stw r5, 0x78(r1)
/* 80144984 001418E4 38 A0 00 00 */ li r5, 0
/* 80144988 001418E8 38 C0 00 00 */ li r6, 0
/* 8014498C 001418EC D0 01 00 7C */ stfs f0, 0x7c(r1)
/* 80144990 001418F0 98 E1 00 80 */ stb r7, 0x80(r1)
/* 80144994 001418F4 90 01 00 84 */ stw r0, 0x84(r1)
/* 80144998 001418F8 90 01 00 88 */ stw r0, 0x88(r1)
/* 8014499C 001418FC 98 01 00 8C */ stb r0, 0x8c(r1)
/* 801449A0 00141900 90 01 00 90 */ stw r0, 0x90(r1)
/* 801449A4 00141904 90 01 00 94 */ stw r0, 0x94(r1)
/* 801449A8 00141908 90 01 00 98 */ stw r0, 0x98(r1)
/* 801449AC 0014190C 4B FF 5F 71 */ bl SetCurrentAnimation__15CBodyControllerFRC18CAnimPlaybackParmsbb
/* 801449B0 00141910 7F E3 FB 78 */ mr r3, r31
/* 801449B4 00141914 38 80 00 0E */ li r4, 0xe
/* 801449B8 00141918 48 1A 05 0D */ bl GetAnimState__12CPASDatabaseCFi
/* 801449BC 0014191C 7C 64 1B 78 */ mr r4, r3
/* 801449C0 00141920 7F C5 F3 78 */ mr r5, r30
/* 801449C4 00141924 38 61 00 1C */ addi r3, r1, 0x1c
/* 801449C8 00141928 38 C0 00 03 */ li r6, 3
/* 801449CC 0014192C 48 19 F6 29 */ bl GetAnimParmData__13CPASAnimStateCFiUi
/* 801449D0 00141930 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 801449D4 00141934 38 61 00 6C */ addi r3, r1, 0x6c
/* 801449D8 00141938 80 01 00 20 */ lwz r0, 0x20(r1)
/* 801449DC 0014193C 90 81 00 6C */ stw r4, 0x6c(r1)
/* 801449E0 00141940 90 01 00 70 */ stw r0, 0x70(r1)
/* 801449E4 00141944 48 19 E5 79 */ bl GetEnumValue__12CPASAnimParmCFv
/* 801449E8 00141948 7C 64 1B 78 */ mr r4, r3
/* 801449EC 0014194C 7F 83 E3 78 */ mr r3, r28
/* 801449F0 00141950 4B FF 61 B5 */ bl SetFallState__15CBodyControllerFQ23pas10EFallState
/* 801449F4 00141954 80 9C 00 00 */ lwz r4, 0(r28)
/* 801449F8 00141958 38 61 00 14 */ addi r3, r1, 0x14
/* 801449FC 0014195C 4B F6 7C E9 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity"
/* 80144A00 00141960 80 83 00 04 */ lwz r4, 4(r3)
/* 80144A04 00141964 28 04 00 00 */ cmplwi r4, 0
/* 80144A08 00141968 41 82 00 1C */ beq lbl_80144A24
2022-04-24 01:54:45 +00:00
/* 80144A0C 0014196C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
2022-04-13 06:53:45 +00:00
/* 80144A10 00141970 7F A3 EB 78 */ mr r3, r29
/* 80144A14 00141974 38 A1 00 10 */ addi r5, r1, 0x10
/* 80144A18 00141978 38 C0 00 17 */ li r6, 0x17
/* 80144A1C 0014197C B0 01 00 10 */ sth r0, 0x10(r1)
2022-09-14 05:24:37 +00:00
/* 80144A20 00141980 4B EF F4 B1 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
2022-04-13 06:53:45 +00:00
lbl_80144A24:
/* 80144A24 00141984 34 A1 00 A0 */ addic. r5, r1, 0xa0
/* 80144A28 00141988 41 82 00 58 */ beq lbl_80144A80
/* 80144A2C 0014198C 80 C5 00 00 */ lwz r6, 0(r5)
/* 80144A30 00141990 38 60 00 00 */ li r3, 0
/* 80144A34 00141994 2C 06 00 00 */ cmpwi r6, 0
/* 80144A38 00141998 40 81 00 40 */ ble lbl_80144A78
/* 80144A3C 0014199C 2C 06 00 08 */ cmpwi r6, 8
/* 80144A40 001419A0 38 86 FF F8 */ addi r4, r6, -8
/* 80144A44 001419A4 40 81 00 20 */ ble lbl_80144A64
/* 80144A48 001419A8 38 04 00 07 */ addi r0, r4, 7
/* 80144A4C 001419AC 54 00 E8 FE */ srwi r0, r0, 3
/* 80144A50 001419B0 7C 09 03 A6 */ mtctr r0
/* 80144A54 001419B4 2C 04 00 00 */ cmpwi r4, 0
/* 80144A58 001419B8 40 81 00 0C */ ble lbl_80144A64
lbl_80144A5C:
/* 80144A5C 001419BC 38 63 00 08 */ addi r3, r3, 8
/* 80144A60 001419C0 42 00 FF FC */ bdnz lbl_80144A5C
lbl_80144A64:
/* 80144A64 001419C4 7C 03 30 50 */ subf r0, r3, r6
/* 80144A68 001419C8 7C 09 03 A6 */ mtctr r0
/* 80144A6C 001419CC 7C 03 30 00 */ cmpw r3, r6
/* 80144A70 001419D0 40 80 00 08 */ bge lbl_80144A78
lbl_80144A74:
/* 80144A74 001419D4 42 00 00 00 */ bdnz lbl_80144A74
lbl_80144A78:
/* 80144A78 001419D8 38 00 00 00 */ li r0, 0
/* 80144A7C 001419DC 90 05 00 00 */ stw r0, 0(r5)
lbl_80144A80:
/* 80144A80 001419E0 80 01 01 04 */ lwz r0, 0x104(r1)
/* 80144A84 001419E4 83 E1 00 FC */ lwz r31, 0xfc(r1)
/* 80144A88 001419E8 83 C1 00 F8 */ lwz r30, 0xf8(r1)
/* 80144A8C 001419EC 83 A1 00 F4 */ lwz r29, 0xf4(r1)
/* 80144A90 001419F0 83 81 00 F0 */ lwz r28, 0xf0(r1)
/* 80144A94 001419F4 7C 08 03 A6 */ mtlr r0
/* 80144A98 001419F8 38 21 01 00 */ addi r1, r1, 0x100
2022-07-14 05:48:03 +00:00
/* 80144A9C 001419FC 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global ShouldStartStrikeWall__9CBSHurledCFR15CBodyController
ShouldStartStrikeWall__9CBSHurledCFR15CBodyController:
/* 80144AA0 00141A00 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80144AA4 00141A04 7C 08 02 A6 */ mflr r0
/* 80144AA8 00141A08 90 01 00 24 */ stw r0, 0x24(r1)
/* 80144AAC 00141A0C 38 61 00 08 */ addi r3, r1, 8
/* 80144AB0 00141A10 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80144AB4 00141A14 3B E0 00 00 */ li r31, 0
/* 80144AB8 00141A18 80 84 00 00 */ lwz r4, 0(r4)
2022-08-16 21:47:16 +00:00
/* 80144ABC 00141A1C 4B F6 7F A1 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity"
2022-04-13 06:53:45 +00:00
/* 80144AC0 00141A20 80 63 00 04 */ lwz r3, 4(r3)
/* 80144AC4 00141A24 88 03 03 28 */ lbz r0, 0x328(r3)
/* 80144AC8 00141A28 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80144ACC 00141A2C 41 82 00 20 */ beq lbl_80144AEC
/* 80144AD0 00141A30 81 83 00 00 */ lwz r12, 0(r3)
/* 80144AD4 00141A34 81 8C 02 B8 */ lwz r12, 0x2b8(r12)
/* 80144AD8 00141A38 7D 89 03 A6 */ mtctr r12
2022-07-14 05:48:03 +00:00
/* 80144ADC 00141A3C 4E 80 04 21 */ bctrl
2022-04-13 06:53:45 +00:00
/* 80144AE0 00141A40 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80144AE4 00141A44 40 82 00 08 */ bne lbl_80144AEC
/* 80144AE8 00141A48 3B E0 00 01 */ li r31, 1
lbl_80144AEC:
/* 80144AEC 00141A4C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80144AF0 00141A50 7F E3 FB 78 */ mr r3, r31
/* 80144AF4 00141A54 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80144AF8 00141A58 7C 08 03 A6 */ mtlr r0
/* 80144AFC 00141A5C 38 21 00 20 */ addi r1, r1, 0x20
2022-07-14 05:48:03 +00:00
/* 80144B00 00141A60 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global ShouldStartLand__9CBSHurledCFfR15CBodyController
ShouldStartLand__9CBSHurledCFfR15CBodyController:
/* 80144B04 00141A64 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80144B08 00141A68 7C 08 02 A6 */ mflr r0
/* 80144B0C 00141A6C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80144B10 00141A70 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80144B14 00141A74 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80144B18 00141A78 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80144B1C 00141A7C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80144B20 00141A80 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80144B24 00141A84 FF E0 08 90 */ fmr f31, f1
/* 80144B28 00141A88 7C 7D 1B 78 */ mr r29, r3
/* 80144B2C 00141A8C 80 84 00 00 */ lwz r4, 0(r4)
/* 80144B30 00141A90 38 61 00 08 */ addi r3, r1, 8
/* 80144B34 00141A94 3B E0 00 01 */ li r31, 1
2022-08-16 21:47:16 +00:00
/* 80144B38 00141A98 4B F6 7F 25 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity"
2022-04-13 06:53:45 +00:00
/* 80144B3C 00141A9C 83 C3 00 04 */ lwz r30, 4(r3)
/* 80144B40 00141AA0 28 1E 00 00 */ cmplwi r30, 0
/* 80144B44 00141AA4 41 82 00 BC */ beq lbl_80144C00
/* 80144B48 00141AA8 7F C3 F3 78 */ mr r3, r30
/* 80144B4C 00141AAC 3B E0 00 00 */ li r31, 0
/* 80144B50 00141AB0 81 9E 00 00 */ lwz r12, 0(r30)
/* 80144B54 00141AB4 81 8C 02 B8 */ lwz r12, 0x2b8(r12)
/* 80144B58 00141AB8 7D 89 03 A6 */ mtctr r12
2022-07-14 05:48:03 +00:00
/* 80144B5C 00141ABC 4E 80 04 21 */ bctrl
2022-04-13 06:53:45 +00:00
/* 80144B60 00141AC0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80144B64 00141AC4 41 82 00 0C */ beq lbl_80144B70
/* 80144B68 00141AC8 3B E0 00 01 */ li r31, 1
/* 80144B6C 00141ACC 48 00 00 94 */ b lbl_80144C00
lbl_80144B70:
/* 80144B70 00141AD0 C0 7E 00 60 */ lfs f3, 0x60(r30)
/* 80144B74 00141AD4 38 61 00 10 */ addi r3, r1, 0x10
/* 80144B78 00141AD8 C0 5E 00 50 */ lfs f2, 0x50(r30)
/* 80144B7C 00141ADC 38 9D 00 1C */ addi r4, r29, 0x1c
/* 80144B80 00141AE0 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 80144B84 00141AE4 C0 22 9C 24 */ lfs f1, lbl_805AB944@sda21(r2)
/* 80144B88 00141AE8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80144B8C 00141AEC D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80144B90 00141AF0 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 80144B94 00141AF4 48 1C B3 D1 */ bl close_enough__FRC9CVector3fRC9CVector3ff
/* 80144B98 00141AF8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80144B9C 00141AFC 7C 00 00 34 */ cntlzw r0, r0
/* 80144BA0 00141B00 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 80144BA4 00141B04 40 82 00 3C */ bne lbl_80144BE0
/* 80144BA8 00141B08 C0 3E 01 40 */ lfs f1, 0x140(r30)
/* 80144BAC 00141B0C C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80144BB0 00141B10 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80144BB4 00141B14 40 80 00 2C */ bge lbl_80144BE0
/* 80144BB8 00141B18 C0 3D 00 28 */ lfs f1, 0x28(r29)
/* 80144BBC 00141B1C C0 02 9C 18 */ lfs f0, lbl_805AB938@sda21(r2)
/* 80144BC0 00141B20 EC 21 F8 2A */ fadds f1, f1, f31
/* 80144BC4 00141B24 D0 3D 00 28 */ stfs f1, 0x28(r29)
/* 80144BC8 00141B28 C0 3D 00 28 */ lfs f1, 0x28(r29)
/* 80144BCC 00141B2C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80144BD0 00141B30 4C 41 13 82 */ cror 2, 1, 2
/* 80144BD4 00141B34 40 82 00 14 */ bne lbl_80144BE8
/* 80144BD8 00141B38 3B E0 00 01 */ li r31, 1
/* 80144BDC 00141B3C 48 00 00 0C */ b lbl_80144BE8
lbl_80144BE0:
/* 80144BE0 00141B40 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80144BE4 00141B44 D0 1D 00 28 */ stfs f0, 0x28(r29)
lbl_80144BE8:
/* 80144BE8 00141B48 C0 5E 00 60 */ lfs f2, 0x60(r30)
/* 80144BEC 00141B4C C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 80144BF0 00141B50 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 80144BF4 00141B54 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 80144BF8 00141B58 D0 3D 00 20 */ stfs f1, 0x20(r29)
/* 80144BFC 00141B5C D0 5D 00 24 */ stfs f2, 0x24(r29)
lbl_80144C00:
/* 80144C00 00141B60 7F E3 FB 78 */ mr r3, r31
/* 80144C04 00141B64 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 80144C08 00141B68 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80144C0C 00141B6C CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80144C10 00141B70 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80144C14 00141B74 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80144C18 00141B78 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80144C1C 00141B7C 7C 08 03 A6 */ mtlr r0
/* 80144C20 00141B80 38 21 00 40 */ addi r1, r1, 0x40
2022-07-14 05:48:03 +00:00
/* 80144C24 00141B84 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global Shutdown__9CBSHurledFR15CBodyController
Shutdown__9CBSHurledFR15CBodyController:
2022-07-14 05:48:03 +00:00
/* 80144C28 00141B88 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global UpdateBody__9CBSHurledFfR15CBodyControllerR13CStateManager
UpdateBody__9CBSHurledFfR15CBodyControllerR13CStateManager:
/* 80144C2C 00141B8C 94 21 FE 80 */ stwu r1, -0x180(r1)
/* 80144C30 00141B90 7C 08 02 A6 */ mflr r0
/* 80144C34 00141B94 90 01 01 84 */ stw r0, 0x184(r1)
/* 80144C38 00141B98 DB E1 01 70 */ stfd f31, 0x170(r1)
/* 80144C3C 00141B9C F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0
/* 80144C40 00141BA0 93 E1 01 6C */ stw r31, 0x16c(r1)
/* 80144C44 00141BA4 93 C1 01 68 */ stw r30, 0x168(r1)
/* 80144C48 00141BA8 93 A1 01 64 */ stw r29, 0x164(r1)
/* 80144C4C 00141BAC 93 81 01 60 */ stw r28, 0x160(r1)
/* 80144C50 00141BB0 FF E0 08 90 */ fmr f31, f1
/* 80144C54 00141BB4 7C 7C 1B 78 */ mr r28, r3
/* 80144C58 00141BB8 7C 9D 23 78 */ mr r29, r4
/* 80144C5C 00141BBC 7C BE 2B 78 */ mr r30, r5
/* 80144C60 00141BC0 4B FF F8 19 */ bl GetBodyStateTransition__9CBSHurledFfR15CBodyController
/* 80144C64 00141BC4 7C 7F 1B 78 */ mr r31, r3
/* 80144C68 00141BC8 2C 1F FF FF */ cmpwi r31, -1
/* 80144C6C 00141BCC 40 82 04 A0 */ bne lbl_8014510C
/* 80144C70 00141BD0 C0 3C 00 18 */ lfs f1, 0x18(r28)
/* 80144C74 00141BD4 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80144C78 00141BD8 EC 21 F8 2A */ fadds f1, f1, f31
/* 80144C7C 00141BDC D0 3C 00 18 */ stfs f1, 0x18(r28)
/* 80144C80 00141BE0 C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 80144C84 00141BE4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80144C88 00141BE8 40 81 00 34 */ ble lbl_80144CBC
/* 80144C8C 00141BEC C0 1C 00 10 */ lfs f0, 0x10(r28)
/* 80144C90 00141BF0 38 61 00 BC */ addi r3, r1, 0xbc
/* 80144C94 00141BF4 38 81 00 10 */ addi r4, r1, 0x10
/* 80144C98 00141BF8 EC 00 07 F2 */ fmuls f0, f0, f31
/* 80144C9C 00141BFC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80144CA0 00141C00 48 1C C4 59 */ bl ZRotation__11CQuaternionFRC9CRelAngle
/* 80144CA4 00141C04 7F A3 EB 78 */ mr r3, r29
/* 80144CA8 00141C08 38 81 00 BC */ addi r4, r1, 0xbc
/* 80144CAC 00141C0C 4B FF 5B 5D */ bl SetDeltaRotation__15CBodyControllerFRC11CQuaternion
/* 80144CB0 00141C10 C0 1C 00 14 */ lfs f0, 0x14(r28)
/* 80144CB4 00141C14 EC 00 F8 28 */ fsubs f0, f0, f31
/* 80144CB8 00141C18 D0 1C 00 14 */ stfs f0, 0x14(r28)
lbl_80144CBC:
/* 80144CBC 00141C1C 38 7D 00 04 */ addi r3, r29, 4
/* 80144CC0 00141C20 38 80 00 0A */ li r4, 0xa
/* 80144CC4 00141C24 4B FE C7 8D */ bl GetCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 80144CC8 00141C28 28 03 00 00 */ cmplwi r3, 0
/* 80144CCC 00141C2C 41 82 00 14 */ beq lbl_80144CE0
/* 80144CD0 00141C30 88 1C 00 2C */ lbz r0, 0x2c(r28)
/* 80144CD4 00141C34 38 60 00 01 */ li r3, 1
/* 80144CD8 00141C38 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80144CDC 00141C3C 98 1C 00 2C */ stb r0, 0x2c(r28)
lbl_80144CE0:
/* 80144CE0 00141C40 80 1C 00 04 */ lwz r0, 4(r28)
/* 80144CE4 00141C44 28 00 00 07 */ cmplwi r0, 7
/* 80144CE8 00141C48 41 81 04 24 */ bgt lbl_8014510C
/* 80144CEC 00141C4C 3C 60 80 3E */ lis r3, lbl_803E1FE8@ha
/* 80144CF0 00141C50 54 00 10 3A */ slwi r0, r0, 2
/* 80144CF4 00141C54 38 63 1F E8 */ addi r3, r3, lbl_803E1FE8@l
/* 80144CF8 00141C58 7C 03 00 2E */ lwzx r0, r3, r0
/* 80144CFC 00141C5C 7C 09 03 A6 */ mtctr r0
2022-07-14 05:48:03 +00:00
/* 80144D00 00141C60 4E 80 04 20 */ bctr
2022-04-17 00:22:26 +00:00
.global lbl_80144D04
lbl_80144D04:
2022-04-13 06:53:45 +00:00
/* 80144D04 00141C64 88 1D 03 00 */ lbz r0, 0x300(r29)
/* 80144D08 00141C68 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80144D0C 00141C6C 41 82 04 00 */ beq lbl_8014510C
/* 80144D10 00141C70 38 61 00 64 */ addi r3, r1, 0x64
/* 80144D14 00141C74 48 19 E3 69 */ bl NoParameter__12CPASAnimParmFv
/* 80144D18 00141C78 38 61 00 6C */ addi r3, r1, 0x6c
/* 80144D1C 00141C7C 48 19 E3 61 */ bl NoParameter__12CPASAnimParmFv
/* 80144D20 00141C80 38 61 00 74 */ addi r3, r1, 0x74
/* 80144D24 00141C84 48 19 E3 59 */ bl NoParameter__12CPASAnimParmFv
/* 80144D28 00141C88 38 61 00 7C */ addi r3, r1, 0x7c
/* 80144D2C 00141C8C 48 19 E3 51 */ bl NoParameter__12CPASAnimParmFv
/* 80144D30 00141C90 38 61 00 84 */ addi r3, r1, 0x84
/* 80144D34 00141C94 48 19 E3 49 */ bl NoParameter__12CPASAnimParmFv
/* 80144D38 00141C98 38 61 00 8C */ addi r3, r1, 0x8c
/* 80144D3C 00141C9C 38 80 00 01 */ li r4, 1
/* 80144D40 00141CA0 48 19 E2 45 */ bl FromEnum__12CPASAnimParmFi
/* 80144D44 00141CA4 C0 3C 00 08 */ lfs f1, 8(r28)
/* 80144D48 00141CA8 38 61 00 94 */ addi r3, r1, 0x94
/* 80144D4C 00141CAC 48 19 E2 9D */ bl FromReal32__12CPASAnimParmFf
/* 80144D50 00141CB0 80 9C 00 0C */ lwz r4, 0xc(r28)
/* 80144D54 00141CB4 38 61 00 9C */ addi r3, r1, 0x9c
/* 80144D58 00141CB8 48 19 E2 F5 */ bl FromInt32__12CPASAnimParmFi
/* 80144D5C 00141CBC 38 61 00 6C */ addi r3, r1, 0x6c
/* 80144D60 00141CC0 38 01 00 64 */ addi r0, r1, 0x64
/* 80144D64 00141CC4 90 61 00 08 */ stw r3, 8(r1)
/* 80144D68 00141CC8 38 61 01 14 */ addi r3, r1, 0x114
/* 80144D6C 00141CCC 38 A1 00 9C */ addi r5, r1, 0x9c
/* 80144D70 00141CD0 38 C1 00 94 */ addi r6, r1, 0x94
/* 80144D74 00141CD4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80144D78 00141CD8 38 E1 00 8C */ addi r7, r1, 0x8c
/* 80144D7C 00141CDC 39 01 00 84 */ addi r8, r1, 0x84
/* 80144D80 00141CE0 39 21 00 7C */ addi r9, r1, 0x7c
/* 80144D84 00141CE4 39 41 00 74 */ addi r10, r1, 0x74
/* 80144D88 00141CE8 38 80 00 0E */ li r4, 0xe
/* 80144D8C 00141CEC 4B F3 85 39 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
2022-04-13 06:53:45 +00:00
/* 80144D90 00141CF0 80 BE 09 00 */ lwz r5, 0x900(r30)
/* 80144D94 00141CF4 7F A3 EB 78 */ mr r3, r29
/* 80144D98 00141CF8 38 81 01 14 */ addi r4, r1, 0x114
/* 80144D9C 00141CFC 4B FF 55 61 */ bl LoopBestAnimation__15CBodyControllerFRC16CPASAnimParmDataR9CRandom16
/* 80144DA0 00141D00 38 00 00 01 */ li r0, 1
/* 80144DA4 00141D04 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80144DA8 00141D08 90 1C 00 04 */ stw r0, 4(r28)
/* 80144DAC 00141D0C 34 A1 01 18 */ addic. r5, r1, 0x118
/* 80144DB0 00141D10 D0 1C 00 28 */ stfs f0, 0x28(r28)
/* 80144DB4 00141D14 41 82 03 58 */ beq lbl_8014510C
/* 80144DB8 00141D18 80 C5 00 00 */ lwz r6, 0(r5)
/* 80144DBC 00141D1C 38 60 00 00 */ li r3, 0
/* 80144DC0 00141D20 2C 06 00 00 */ cmpwi r6, 0
/* 80144DC4 00141D24 40 81 00 40 */ ble lbl_80144E04
/* 80144DC8 00141D28 2C 06 00 08 */ cmpwi r6, 8
/* 80144DCC 00141D2C 38 86 FF F8 */ addi r4, r6, -8
/* 80144DD0 00141D30 40 81 00 20 */ ble lbl_80144DF0
/* 80144DD4 00141D34 38 04 00 07 */ addi r0, r4, 7
/* 80144DD8 00141D38 54 00 E8 FE */ srwi r0, r0, 3
/* 80144DDC 00141D3C 7C 09 03 A6 */ mtctr r0
/* 80144DE0 00141D40 2C 04 00 00 */ cmpwi r4, 0
/* 80144DE4 00141D44 40 81 00 0C */ ble lbl_80144DF0
lbl_80144DE8:
/* 80144DE8 00141D48 38 63 00 08 */ addi r3, r3, 8
/* 80144DEC 00141D4C 42 00 FF FC */ bdnz lbl_80144DE8
lbl_80144DF0:
/* 80144DF0 00141D50 7C 03 30 50 */ subf r0, r3, r6
/* 80144DF4 00141D54 7C 09 03 A6 */ mtctr r0
/* 80144DF8 00141D58 7C 03 30 00 */ cmpw r3, r6
/* 80144DFC 00141D5C 40 80 00 08 */ bge lbl_80144E04
lbl_80144E00:
/* 80144E00 00141D60 42 00 00 00 */ bdnz lbl_80144E00
lbl_80144E04:
/* 80144E04 00141D64 38 00 00 00 */ li r0, 0
/* 80144E08 00141D68 90 05 00 00 */ stw r0, 0(r5)
/* 80144E0C 00141D6C 48 00 03 00 */ b lbl_8014510C
2022-04-17 00:22:26 +00:00
.global lbl_80144E10
lbl_80144E10:
2022-04-13 06:53:45 +00:00
/* 80144E10 00141D70 FC 20 F8 90 */ fmr f1, f31
/* 80144E14 00141D74 7F 83 E3 78 */ mr r3, r28
/* 80144E18 00141D78 7F A4 EB 78 */ mr r4, r29
/* 80144E1C 00141D7C 4B FF FC E9 */ bl ShouldStartLand__9CBSHurledCFfR15CBodyController
/* 80144E20 00141D80 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80144E24 00141D84 41 82 00 20 */ beq lbl_80144E44
/* 80144E28 00141D88 38 00 00 02 */ li r0, 2
/* 80144E2C 00141D8C 7F 83 E3 78 */ mr r3, r28
/* 80144E30 00141D90 90 1C 00 04 */ stw r0, 4(r28)
/* 80144E34 00141D94 7F A4 EB 78 */ mr r4, r29
/* 80144E38 00141D98 7F C5 F3 78 */ mr r5, r30
/* 80144E3C 00141D9C 4B FF FA 55 */ bl PlayLandAnimation__9CBSHurledFR15CBodyControllerR13CStateManager
/* 80144E40 00141DA0 48 00 02 CC */ b lbl_8014510C
lbl_80144E44:
/* 80144E44 00141DA4 7F 83 E3 78 */ mr r3, r28
/* 80144E48 00141DA8 7F A4 EB 78 */ mr r4, r29
/* 80144E4C 00141DAC 4B FF FC 55 */ bl ShouldStartStrikeWall__9CBSHurledCFR15CBodyController
/* 80144E50 00141DB0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80144E54 00141DB4 41 82 00 88 */ beq lbl_80144EDC
/* 80144E58 00141DB8 7F 83 E3 78 */ mr r3, r28
/* 80144E5C 00141DBC 7F A4 EB 78 */ mr r4, r29
/* 80144E60 00141DC0 7F C5 F3 78 */ mr r5, r30
/* 80144E64 00141DC4 4B FF F8 79 */ bl PlayStrikeWallAnimation__9CBSHurledFR15CBodyControllerR13CStateManager
/* 80144E68 00141DC8 80 9D 00 00 */ lwz r4, 0(r29)
/* 80144E6C 00141DCC 38 61 00 5C */ addi r3, r1, 0x5c
2022-08-16 21:47:16 +00:00
/* 80144E70 00141DD0 4B F6 7B ED */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity"
2022-04-13 06:53:45 +00:00
/* 80144E74 00141DD4 83 83 00 04 */ lwz r28, 4(r3)
/* 80144E78 00141DD8 28 1C 00 00 */ cmplwi r28, 0
/* 80144E7C 00141DDC 41 82 02 90 */ beq lbl_8014510C
/* 80144E80 00141DE0 7F 83 E3 78 */ mr r3, r28
/* 80144E84 00141DE4 81 9C 00 00 */ lwz r12, 0(r28)
/* 80144E88 00141DE8 81 8C 02 BC */ lwz r12, 0x2bc(r12)
/* 80144E8C 00141DEC 7D 89 03 A6 */ mtctr r12
2022-07-14 05:48:03 +00:00
/* 80144E90 00141DF0 4E 80 04 21 */ bctrl
2022-04-13 06:53:45 +00:00
/* 80144E94 00141DF4 C0 02 9C 2C */ lfs f0, lbl_805AB94C@sda21(r2)
/* 80144E98 00141DF8 3C 60 80 5A */ lis r3, sDownVector__9CVector3f@ha
/* 80144E9C 00141DFC 38 A3 67 00 */ addi r5, r3, sDownVector__9CVector3f@l
2022-04-13 06:53:45 +00:00
/* 80144EA0 00141E00 7F 83 E3 78 */ mr r3, r28
/* 80144EA4 00141E04 EC 80 07 F2 */ fmuls f4, f0, f31
/* 80144EA8 00141E08 C0 65 00 00 */ lfs f3, 0(r5)
/* 80144EAC 00141E0C C0 45 00 04 */ lfs f2, 4(r5)
/* 80144EB0 00141E10 38 81 00 B0 */ addi r4, r1, 0xb0
/* 80144EB4 00141E14 C0 05 00 08 */ lfs f0, 8(r5)
/* 80144EB8 00141E18 EC 84 00 72 */ fmuls f4, f4, f1
/* 80144EBC 00141E1C EC 64 00 F2 */ fmuls f3, f4, f3
/* 80144EC0 00141E20 EC 24 00 B2 */ fmuls f1, f4, f2
/* 80144EC4 00141E24 EC 04 00 32 */ fmuls f0, f4, f0
/* 80144EC8 00141E28 D0 61 00 B0 */ stfs f3, 0xb0(r1)
/* 80144ECC 00141E2C D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 80144ED0 00141E30 D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 80144ED4 00141E34 4B FD 5D CD */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f
/* 80144ED8 00141E38 48 00 02 34 */ b lbl_8014510C
lbl_80144EDC:
/* 80144EDC 00141E3C 88 1C 00 2C */ lbz r0, 0x2c(r28)
/* 80144EE0 00141E40 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80144EE4 00141E44 41 82 02 28 */ beq lbl_8014510C
/* 80144EE8 00141E48 7F 83 E3 78 */ mr r3, r28
/* 80144EEC 00141E4C 7F C4 F3 78 */ mr r4, r30
/* 80144EF0 00141E50 7F A5 EB 78 */ mr r5, r29
/* 80144EF4 00141E54 38 C0 00 06 */ li r6, 6
/* 80144EF8 00141E58 4B FF F6 09 */ bl Recover__9CBSHurledFR13CStateManagerR15CBodyControllerQ23pas12EHurledState
/* 80144EFC 00141E5C 48 00 02 10 */ b lbl_8014510C
2022-04-17 00:22:26 +00:00
.global lbl_80144F00
lbl_80144F00:
2022-04-13 06:53:45 +00:00
/* 80144F00 00141E60 88 1D 03 00 */ lbz r0, 0x300(r29)
/* 80144F04 00141E64 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80144F08 00141E68 41 82 02 04 */ beq lbl_8014510C
/* 80144F0C 00141E6C 38 00 00 04 */ li r0, 4
/* 80144F10 00141E70 38 61 00 1C */ addi r3, r1, 0x1c
/* 80144F14 00141E74 90 1C 00 04 */ stw r0, 4(r28)
/* 80144F18 00141E78 48 19 E1 65 */ bl NoParameter__12CPASAnimParmFv
/* 80144F1C 00141E7C 38 61 00 24 */ addi r3, r1, 0x24
/* 80144F20 00141E80 48 19 E1 5D */ bl NoParameter__12CPASAnimParmFv
/* 80144F24 00141E84 38 61 00 2C */ addi r3, r1, 0x2c
/* 80144F28 00141E88 48 19 E1 55 */ bl NoParameter__12CPASAnimParmFv
/* 80144F2C 00141E8C 38 61 00 34 */ addi r3, r1, 0x34
/* 80144F30 00141E90 48 19 E1 4D */ bl NoParameter__12CPASAnimParmFv
/* 80144F34 00141E94 38 61 00 3C */ addi r3, r1, 0x3c
/* 80144F38 00141E98 48 19 E1 45 */ bl NoParameter__12CPASAnimParmFv
/* 80144F3C 00141E9C 80 9C 00 04 */ lwz r4, 4(r28)
/* 80144F40 00141EA0 38 61 00 44 */ addi r3, r1, 0x44
/* 80144F44 00141EA4 48 19 E0 41 */ bl FromEnum__12CPASAnimParmFi
/* 80144F48 00141EA8 C0 3C 00 08 */ lfs f1, 8(r28)
/* 80144F4C 00141EAC 38 61 00 4C */ addi r3, r1, 0x4c
/* 80144F50 00141EB0 48 19 E0 99 */ bl FromReal32__12CPASAnimParmFf
/* 80144F54 00141EB4 80 9C 00 0C */ lwz r4, 0xc(r28)
/* 80144F58 00141EB8 38 61 00 54 */ addi r3, r1, 0x54
/* 80144F5C 00141EBC 48 19 E0 F1 */ bl FromInt32__12CPASAnimParmFi
/* 80144F60 00141EC0 38 61 00 24 */ addi r3, r1, 0x24
/* 80144F64 00141EC4 38 01 00 1C */ addi r0, r1, 0x1c
/* 80144F68 00141EC8 90 61 00 08 */ stw r3, 8(r1)
/* 80144F6C 00141ECC 38 61 00 CC */ addi r3, r1, 0xcc
/* 80144F70 00141ED0 38 A1 00 54 */ addi r5, r1, 0x54
/* 80144F74 00141ED4 38 C1 00 4C */ addi r6, r1, 0x4c
/* 80144F78 00141ED8 90 01 00 0C */ stw r0, 0xc(r1)
/* 80144F7C 00141EDC 38 E1 00 44 */ addi r7, r1, 0x44
/* 80144F80 00141EE0 39 01 00 3C */ addi r8, r1, 0x3c
/* 80144F84 00141EE4 39 21 00 34 */ addi r9, r1, 0x34
/* 80144F88 00141EE8 39 41 00 2C */ addi r10, r1, 0x2c
/* 80144F8C 00141EEC 38 80 00 0E */ li r4, 0xe
/* 80144F90 00141EF0 4B F3 83 35 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
2022-04-13 06:53:45 +00:00
/* 80144F94 00141EF4 80 BE 09 00 */ lwz r5, 0x900(r30)
/* 80144F98 00141EF8 7F A3 EB 78 */ mr r3, r29
/* 80144F9C 00141EFC 38 81 00 CC */ addi r4, r1, 0xcc
/* 80144FA0 00141F00 4B FF 53 5D */ bl LoopBestAnimation__15CBodyControllerFRC16CPASAnimParmDataR9CRandom16
/* 80144FA4 00141F04 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80144FA8 00141F08 34 A1 00 D0 */ addic. r5, r1, 0xd0
/* 80144FAC 00141F0C D0 1C 00 28 */ stfs f0, 0x28(r28)
/* 80144FB0 00141F10 41 82 01 5C */ beq lbl_8014510C
/* 80144FB4 00141F14 80 C5 00 00 */ lwz r6, 0(r5)
/* 80144FB8 00141F18 38 60 00 00 */ li r3, 0
/* 80144FBC 00141F1C 2C 06 00 00 */ cmpwi r6, 0
/* 80144FC0 00141F20 40 81 00 40 */ ble lbl_80145000
/* 80144FC4 00141F24 2C 06 00 08 */ cmpwi r6, 8
/* 80144FC8 00141F28 38 86 FF F8 */ addi r4, r6, -8
/* 80144FCC 00141F2C 40 81 00 20 */ ble lbl_80144FEC
/* 80144FD0 00141F30 38 04 00 07 */ addi r0, r4, 7
/* 80144FD4 00141F34 54 00 E8 FE */ srwi r0, r0, 3
/* 80144FD8 00141F38 7C 09 03 A6 */ mtctr r0
/* 80144FDC 00141F3C 2C 04 00 00 */ cmpwi r4, 0
/* 80144FE0 00141F40 40 81 00 0C */ ble lbl_80144FEC
lbl_80144FE4:
/* 80144FE4 00141F44 38 63 00 08 */ addi r3, r3, 8
/* 80144FE8 00141F48 42 00 FF FC */ bdnz lbl_80144FE4
lbl_80144FEC:
/* 80144FEC 00141F4C 7C 03 30 50 */ subf r0, r3, r6
/* 80144FF0 00141F50 7C 09 03 A6 */ mtctr r0
/* 80144FF4 00141F54 7C 03 30 00 */ cmpw r3, r6
/* 80144FF8 00141F58 40 80 00 08 */ bge lbl_80145000
lbl_80144FFC:
/* 80144FFC 00141F5C 42 00 00 00 */ bdnz lbl_80144FFC
lbl_80145000:
/* 80145000 00141F60 38 00 00 00 */ li r0, 0
/* 80145004 00141F64 90 05 00 00 */ stw r0, 0(r5)
/* 80145008 00141F68 48 00 01 04 */ b lbl_8014510C
2022-04-17 00:22:26 +00:00
.global lbl_8014500C
lbl_8014500C:
2022-04-13 06:53:45 +00:00
/* 8014500C 00141F6C FC 20 F8 90 */ fmr f1, f31
/* 80145010 00141F70 7F 83 E3 78 */ mr r3, r28
/* 80145014 00141F74 7F A4 EB 78 */ mr r4, r29
/* 80145018 00141F78 4B FF FA ED */ bl ShouldStartLand__9CBSHurledCFfR15CBodyController
/* 8014501C 00141F7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80145020 00141F80 41 82 00 20 */ beq lbl_80145040
/* 80145024 00141F84 38 00 00 05 */ li r0, 5
/* 80145028 00141F88 7F 83 E3 78 */ mr r3, r28
/* 8014502C 00141F8C 90 1C 00 04 */ stw r0, 4(r28)
/* 80145030 00141F90 7F A4 EB 78 */ mr r4, r29
/* 80145034 00141F94 7F C5 F3 78 */ mr r5, r30
/* 80145038 00141F98 4B FF F8 59 */ bl PlayLandAnimation__9CBSHurledFR15CBodyControllerR13CStateManager
/* 8014503C 00141F9C 48 00 00 D0 */ b lbl_8014510C
lbl_80145040:
/* 80145040 00141FA0 88 1C 00 2C */ lbz r0, 0x2c(r28)
/* 80145044 00141FA4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80145048 00141FA8 41 82 00 C4 */ beq lbl_8014510C
/* 8014504C 00141FAC 7F 83 E3 78 */ mr r3, r28
/* 80145050 00141FB0 7F C4 F3 78 */ mr r4, r30
/* 80145054 00141FB4 7F A5 EB 78 */ mr r5, r29
/* 80145058 00141FB8 38 C0 00 07 */ li r6, 7
/* 8014505C 00141FBC 4B FF F4 A5 */ bl Recover__9CBSHurledFR13CStateManagerR15CBodyControllerQ23pas12EHurledState
/* 80145060 00141FC0 48 00 00 AC */ b lbl_8014510C
2022-04-17 00:22:26 +00:00
.global lbl_80145064
lbl_80145064:
2022-04-13 06:53:45 +00:00
/* 80145064 00141FC4 80 9D 00 00 */ lwz r4, 0(r29)
/* 80145068 00141FC8 38 61 00 14 */ addi r3, r1, 0x14
/* 8014506C 00141FCC 4B F6 76 79 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity"
/* 80145070 00141FD0 83 C3 00 04 */ lwz r30, 4(r3)
/* 80145074 00141FD4 28 1E 00 00 */ cmplwi r30, 0
/* 80145078 00141FD8 41 82 00 48 */ beq lbl_801450C0
/* 8014507C 00141FDC C0 02 9C 38 */ lfs f0, lbl_805AB958@sda21(r2)
/* 80145080 00141FE0 C8 22 9C 30 */ lfd f1, lbl_805AB950@sda21(r2)
/* 80145084 00141FE4 EC 40 07 F2 */ fmuls f2, f0, f31
/* 80145088 00141FE8 48 24 FC 65 */ bl pow
/* 8014508C 00141FEC FC 60 08 18 */ frsp f3, f1
/* 80145090 00141FF0 C0 5E 01 3C */ lfs f2, 0x13c(r30)
/* 80145094 00141FF4 C0 3E 01 40 */ lfs f1, 0x140(r30)
/* 80145098 00141FF8 7F C3 F3 78 */ mr r3, r30
/* 8014509C 00141FFC C0 1E 01 38 */ lfs f0, 0x138(r30)
/* 801450A0 00142000 38 81 00 A4 */ addi r4, r1, 0xa4
/* 801450A4 00142004 EC 43 00 B2 */ fmuls f2, f3, f2
/* 801450A8 00142008 EC 23 00 72 */ fmuls f1, f3, f1
/* 801450AC 0014200C EC 03 00 32 */ fmuls f0, f3, f0
/* 801450B0 00142010 D0 41 00 A8 */ stfs f2, 0xa8(r1)
/* 801450B4 00142014 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 801450B8 00142018 D0 21 00 AC */ stfs f1, 0xac(r1)
/* 801450BC 0014201C 4B FD 5B E5 */ bl SetVelocityWR__13CPhysicsActorFRC9CVector3f
lbl_801450C0:
/* 801450C0 00142020 88 1D 03 00 */ lbz r0, 0x300(r29)
/* 801450C4 00142024 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801450C8 00142028 41 82 00 44 */ beq lbl_8014510C
/* 801450CC 0014202C 38 00 FF FF */ li r0, -1
/* 801450D0 00142030 3B E0 00 05 */ li r31, 5
/* 801450D4 00142034 90 1C 00 04 */ stw r0, 4(r28)
/* 801450D8 00142038 48 00 00 34 */ b lbl_8014510C
2022-04-17 00:22:26 +00:00
.global lbl_801450DC
lbl_801450DC:
2022-04-13 06:53:45 +00:00
/* 801450DC 0014203C 88 1D 03 00 */ lbz r0, 0x300(r29)
/* 801450E0 00142040 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801450E4 00142044 41 82 00 28 */ beq lbl_8014510C
/* 801450E8 00142048 38 00 FF FF */ li r0, -1
/* 801450EC 0014204C 7F A3 EB 78 */ mr r3, r29
/* 801450F0 00142050 90 1C 00 04 */ stw r0, 4(r28)
/* 801450F4 00142054 4B FF 5A B9 */ bl GetFallState__15CBodyControllerCFv
/* 801450F8 00142058 2C 03 00 00 */ cmpwi r3, 0
/* 801450FC 0014205C 40 82 00 0C */ bne lbl_80145108
/* 80145100 00142060 3B E0 00 05 */ li r31, 5
/* 80145104 00142064 48 00 00 08 */ b lbl_8014510C
lbl_80145108:
/* 80145108 00142068 3B E0 00 02 */ li r31, 2
lbl_8014510C:
/* 8014510C 0014206C 7F E3 FB 78 */ mr r3, r31
/* 80145110 00142070 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0
/* 80145114 00142074 80 01 01 84 */ lwz r0, 0x184(r1)
/* 80145118 00142078 CB E1 01 70 */ lfd f31, 0x170(r1)
/* 8014511C 0014207C 83 E1 01 6C */ lwz r31, 0x16c(r1)
/* 80145120 00142080 83 C1 01 68 */ lwz r30, 0x168(r1)
/* 80145124 00142084 83 A1 01 64 */ lwz r29, 0x164(r1)
/* 80145128 00142088 83 81 01 60 */ lwz r28, 0x160(r1)
/* 8014512C 0014208C 7C 08 03 A6 */ mtlr r0
/* 80145130 00142090 38 21 01 80 */ addi r1, r1, 0x180
2022-07-14 05:48:03 +00:00
/* 80145134 00142094 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global Start__9CBSHurledFR15CBodyControllerR13CStateManager
Start__9CBSHurledFR15CBodyControllerR13CStateManager:
/* 80145138 00142098 94 21 FE A0 */ stwu r1, -0x160(r1)
/* 8014513C 0014209C 7C 08 02 A6 */ mflr r0
/* 80145140 001420A0 90 01 01 64 */ stw r0, 0x164(r1)
/* 80145144 001420A4 DB E1 01 50 */ stfd f31, 0x150(r1)
/* 80145148 001420A8 F3 E1 01 58 */ psq_st f31, 344(r1), 0, qr0
/* 8014514C 001420AC BF 21 01 34 */ stmw r25, 0x134(r1)
/* 80145150 001420B0 7C 9B 23 78 */ mr r27, r4
/* 80145154 001420B4 7C 7A 1B 78 */ mr r26, r3
/* 80145158 001420B8 7C BC 2B 78 */ mr r28, r5
/* 8014515C 001420BC 38 80 00 0F */ li r4, 0xf
/* 80145160 001420C0 38 7B 00 04 */ addi r3, r27, 4
/* 80145164 001420C4 4B FE C2 ED */ bl GetCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 80145168 001420C8 7C 7F 1B 78 */ mr r31, r3
/* 8014516C 001420CC 38 61 00 90 */ addi r3, r1, 0x90
/* 80145170 001420D0 88 9F 00 20 */ lbz r4, 0x20(r31)
/* 80145174 001420D4 38 BF 00 08 */ addi r5, r31, 8
/* 80145178 001420D8 7C 04 00 D0 */ neg r0, r4
/* 8014517C 001420DC 7C 00 23 78 */ or r0, r0, r4
/* 80145180 001420E0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80145184 001420E4 90 1A 00 04 */ stw r0, 4(r26)
/* 80145188 001420E8 83 DB 00 00 */ lwz r30, 0(r27)
/* 8014518C 001420EC 38 9E 00 34 */ addi r4, r30, 0x34
/* 80145190 001420F0 48 1C D8 95 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 80145194 001420F4 C0 21 00 94 */ lfs f1, 0x94(r1)
/* 80145198 001420F8 C0 41 00 90 */ lfs f2, 0x90(r1)
/* 8014519C 001420FC 48 24 FA D1 */ bl atan2
/* 801451A0 00142100 FC 80 08 18 */ frsp f4, f1
/* 801451A4 00142104 C0 02 9C 3C */ lfs f0, lbl_805AB95C@sda21(r2)
/* 801451A8 00142108 3C 00 43 30 */ lis r0, 0x4330
/* 801451AC 0014210C C8 62 9C 58 */ lfd f3, lbl_805AB978@sda21(r2)
/* 801451B0 00142110 90 01 01 18 */ stw r0, 0x118(r1)
/* 801451B4 00142114 EC 44 00 32 */ fmuls f2, f4, f0
/* 801451B8 00142118 C0 22 9C 40 */ lfs f1, lbl_805AB960@sda21(r2)
/* 801451BC 0014211C C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 801451C0 00142120 FC 40 10 1E */ fctiwz f2, f2
/* 801451C4 00142124 D8 41 01 10 */ stfd f2, 0x110(r1)
/* 801451C8 00142128 80 01 01 14 */ lwz r0, 0x114(r1)
/* 801451CC 0014212C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801451D0 00142130 90 01 01 1C */ stw r0, 0x11c(r1)
/* 801451D4 00142134 C8 41 01 18 */ lfd f2, 0x118(r1)
/* 801451D8 00142138 EC 42 18 28 */ fsubs f2, f2, f3
/* 801451DC 0014213C EF E2 20 7C */ fnmsubs f31, f2, f1, f4
/* 801451E0 00142140 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 801451E4 00142144 40 80 00 08 */ bge lbl_801451EC
/* 801451E8 00142148 EF FF 08 2A */ fadds f31, f31, f1
lbl_801451EC:
/* 801451EC 0014214C C0 02 9C 44 */ lfs f0, lbl_805AB964@sda21(r2)
/* 801451F0 00142150 7F 63 DB 78 */ mr r3, r27
/* 801451F4 00142154 EC 00 07 F2 */ fmuls f0, f0, f31
/* 801451F8 00142158 D0 1A 00 08 */ stfs f0, 8(r26)
/* 801451FC 0014215C 4B FF 52 59 */ bl GetPASDatabase__15CBodyControllerCFv
/* 80145200 00142160 7C 60 1B 78 */ mr r0, r3
/* 80145204 00142164 38 61 00 40 */ addi r3, r1, 0x40
/* 80145208 00142168 7C 19 03 78 */ mr r25, r0
/* 8014520C 0014216C 48 19 DE 71 */ bl NoParameter__12CPASAnimParmFv
/* 80145210 00142170 38 61 00 48 */ addi r3, r1, 0x48
/* 80145214 00142174 48 19 DE 69 */ bl NoParameter__12CPASAnimParmFv
/* 80145218 00142178 38 61 00 50 */ addi r3, r1, 0x50
/* 8014521C 0014217C 48 19 DE 61 */ bl NoParameter__12CPASAnimParmFv
/* 80145220 00142180 38 61 00 58 */ addi r3, r1, 0x58
/* 80145224 00142184 48 19 DE 59 */ bl NoParameter__12CPASAnimParmFv
/* 80145228 00142188 38 61 00 60 */ addi r3, r1, 0x60
/* 8014522C 0014218C 48 19 DE 51 */ bl NoParameter__12CPASAnimParmFv
/* 80145230 00142190 80 9A 00 04 */ lwz r4, 4(r26)
/* 80145234 00142194 38 61 00 68 */ addi r3, r1, 0x68
/* 80145238 00142198 48 19 DD 4D */ bl FromEnum__12CPASAnimParmFi
/* 8014523C 0014219C C0 3A 00 08 */ lfs f1, 8(r26)
/* 80145240 001421A0 38 61 00 70 */ addi r3, r1, 0x70
/* 80145244 001421A4 48 19 DD A5 */ bl FromReal32__12CPASAnimParmFf
/* 80145248 001421A8 38 61 00 78 */ addi r3, r1, 0x78
/* 8014524C 001421AC 38 80 FF FF */ li r4, -1
/* 80145250 001421B0 48 19 DD FD */ bl FromInt32__12CPASAnimParmFi
/* 80145254 001421B4 38 61 00 48 */ addi r3, r1, 0x48
/* 80145258 001421B8 38 01 00 40 */ addi r0, r1, 0x40
/* 8014525C 001421BC 90 61 00 08 */ stw r3, 8(r1)
/* 80145260 001421C0 38 61 00 C4 */ addi r3, r1, 0xc4
/* 80145264 001421C4 38 A1 00 78 */ addi r5, r1, 0x78
/* 80145268 001421C8 38 C1 00 70 */ addi r6, r1, 0x70
/* 8014526C 001421CC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80145270 001421D0 38 E1 00 68 */ addi r7, r1, 0x68
/* 80145274 001421D4 39 01 00 60 */ addi r8, r1, 0x60
/* 80145278 001421D8 39 21 00 58 */ addi r9, r1, 0x58
/* 8014527C 001421DC 39 41 00 50 */ addi r10, r1, 0x50
/* 80145280 001421E0 38 80 00 0E */ li r4, 0xe
/* 80145284 001421E4 4B F3 80 41 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
2022-04-13 06:53:45 +00:00
/* 80145288 001421E8 80 DC 09 00 */ lwz r6, 0x900(r28)
/* 8014528C 001421EC 7F 24 CB 78 */ mr r4, r25
/* 80145290 001421F0 38 61 00 38 */ addi r3, r1, 0x38
/* 80145294 001421F4 38 A1 00 C4 */ addi r5, r1, 0xc4
/* 80145298 001421F8 38 E0 FF FF */ li r7, -1
/* 8014529C 001421FC 48 19 FD C5 */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i
/* 801452A0 00142200 83 A1 00 3C */ lwz r29, 0x3c(r1)
/* 801452A4 00142204 38 00 00 00 */ li r0, 0
/* 801452A8 00142208 C0 02 9C 20 */ lfs f0, lbl_805AB940@sda21(r2)
/* 801452AC 0014220C 38 A0 FF FF */ li r5, -1
/* 801452B0 00142210 38 E0 00 01 */ li r7, 1
/* 801452B4 00142214 93 A1 00 9C */ stw r29, 0x9c(r1)
/* 801452B8 00142218 7F 63 DB 78 */ mr r3, r27
/* 801452BC 0014221C 38 81 00 9C */ addi r4, r1, 0x9c
/* 801452C0 00142220 90 A1 00 A0 */ stw r5, 0xa0(r1)
/* 801452C4 00142224 38 A0 00 00 */ li r5, 0
/* 801452C8 00142228 38 C0 00 00 */ li r6, 0
/* 801452CC 0014222C D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 801452D0 00142230 98 E1 00 A8 */ stb r7, 0xa8(r1)
/* 801452D4 00142234 90 01 00 AC */ stw r0, 0xac(r1)
/* 801452D8 00142238 90 01 00 B0 */ stw r0, 0xb0(r1)
/* 801452DC 0014223C 98 01 00 B4 */ stb r0, 0xb4(r1)
/* 801452E0 00142240 90 01 00 B8 */ stw r0, 0xb8(r1)
/* 801452E4 00142244 90 01 00 BC */ stw r0, 0xbc(r1)
/* 801452E8 00142248 90 01 00 C0 */ stw r0, 0xc0(r1)
/* 801452EC 0014224C 4B FF 56 31 */ bl SetCurrentAnimation__15CBodyControllerFRC18CAnimPlaybackParmsbb
/* 801452F0 00142250 7F 23 CB 78 */ mr r3, r25
/* 801452F4 00142254 38 80 00 0E */ li r4, 0xe
/* 801452F8 00142258 48 19 FB CD */ bl GetAnimState__12CPASDatabaseCFi
/* 801452FC 0014225C 7C 79 1B 78 */ mr r25, r3
/* 80145300 00142260 7F A5 EB 78 */ mr r5, r29
/* 80145304 00142264 38 61 00 30 */ addi r3, r1, 0x30
/* 80145308 00142268 38 C0 00 00 */ li r6, 0
/* 8014530C 0014226C 7F 24 CB 78 */ mr r4, r25
/* 80145310 00142270 48 19 EC E5 */ bl GetAnimParmData__13CPASAnimStateCFiUi
/* 80145314 00142274 80 81 00 30 */ lwz r4, 0x30(r1)
/* 80145318 00142278 38 61 00 88 */ addi r3, r1, 0x88
/* 8014531C 0014227C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80145320 00142280 90 81 00 88 */ stw r4, 0x88(r1)
/* 80145324 00142284 90 01 00 8C */ stw r0, 0x8c(r1)
/* 80145328 00142288 48 19 DC 55 */ bl GetInt32Value__12CPASAnimParmCFv
/* 8014532C 0014228C 90 7A 00 0C */ stw r3, 0xc(r26)
/* 80145330 00142290 7F 83 E3 78 */ mr r3, r28
/* 80145334 00142294 7F C4 F3 78 */ mr r4, r30
/* 80145338 00142298 38 A1 00 14 */ addi r5, r1, 0x14
2022-04-24 01:54:45 +00:00
/* 8014533C 0014229C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
2022-04-13 06:53:45 +00:00
/* 80145340 001422A0 38 C0 00 1A */ li r6, 0x1a
/* 80145344 001422A4 B0 01 00 14 */ sth r0, 0x14(r1)
2022-09-14 05:24:37 +00:00
/* 80145348 001422A8 4B EF EB 89 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
2022-04-24 01:54:45 +00:00
/* 8014534C 001422AC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
2022-04-13 06:53:45 +00:00
/* 80145350 001422B0 7F 83 E3 78 */ mr r3, r28
/* 80145354 001422B4 7F C4 F3 78 */ mr r4, r30
/* 80145358 001422B8 38 A1 00 10 */ addi r5, r1, 0x10
/* 8014535C 001422BC B0 01 00 10 */ sth r0, 0x10(r1)
/* 80145360 001422C0 38 C0 00 28 */ li r6, 0x28
2022-09-14 05:24:37 +00:00
/* 80145364 001422C4 4B EF EB 6D */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
/* 80145368 001422C8 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
2022-04-13 06:53:45 +00:00
/* 8014536C 001422CC C0 22 9C 24 */ lfs f1, lbl_805AB944@sda21(r2)
/* 80145370 001422D0 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l
2022-04-13 06:53:45 +00:00
/* 80145374 001422D4 38 7F 00 14 */ addi r3, r31, 0x14
/* 80145378 001422D8 48 1C AB ED */ bl close_enough__FRC9CVector3fRC9CVector3ff
/* 8014537C 001422DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80145380 001422E0 40 82 00 44 */ bne lbl_801453C4
/* 80145384 001422E4 7F C4 F3 78 */ mr r4, r30
/* 80145388 001422E8 38 61 00 28 */ addi r3, r1, 0x28
/* 8014538C 001422EC 4B F6 73 C5 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FR7CEntity"
/* 80145390 001422F0 80 63 00 04 */ lwz r3, 4(r3)
/* 80145394 001422F4 28 03 00 00 */ cmplwi r3, 0
/* 80145398 001422F8 41 82 00 2C */ beq lbl_801453C4
/* 8014539C 001422FC C0 63 00 E8 */ lfs f3, 0xe8(r3)
/* 801453A0 00142300 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 801453A4 00142304 C0 5F 00 18 */ lfs f2, 0x18(r31)
/* 801453A8 00142308 C0 3F 00 1C */ lfs f1, 0x1c(r31)
/* 801453AC 0014230C EC 03 00 32 */ fmuls f0, f3, f0
/* 801453B0 00142310 EC 43 00 B2 */ fmuls f2, f3, f2
/* 801453B4 00142314 EC 23 00 72 */ fmuls f1, f3, f1
/* 801453B8 00142318 D0 03 00 FC */ stfs f0, 0xfc(r3)
/* 801453BC 0014231C D0 43 01 00 */ stfs f2, 0x100(r3)
/* 801453C0 00142320 D0 23 01 04 */ stfs f1, 0x104(r3)
lbl_801453C4:
/* 801453C4 00142324 7F 24 CB 78 */ mr r4, r25
/* 801453C8 00142328 7F A5 EB 78 */ mr r5, r29
/* 801453CC 0014232C 38 61 00 20 */ addi r3, r1, 0x20
/* 801453D0 00142330 38 C0 00 01 */ li r6, 1
/* 801453D4 00142334 48 19 EC 21 */ bl GetAnimParmData__13CPASAnimStateCFiUi
/* 801453D8 00142338 80 81 00 20 */ lwz r4, 0x20(r1)
/* 801453DC 0014233C 38 61 00 80 */ addi r3, r1, 0x80
/* 801453E0 00142340 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801453E4 00142344 90 81 00 80 */ stw r4, 0x80(r1)
/* 801453E8 00142348 90 01 00 84 */ stw r0, 0x84(r1)
/* 801453EC 0014234C 48 19 DB 81 */ bl GetReal32Value__12CPASAnimParmCFv
/* 801453F0 00142350 C0 02 9C 48 */ lfs f0, lbl_805AB968@sda21(r2)
/* 801453F4 00142354 3C 00 43 30 */ lis r0, 0x4330
/* 801453F8 00142358 C0 42 9C 3C */ lfs f2, lbl_805AB95C@sda21(r2)
/* 801453FC 0014235C EC A0 00 72 */ fmuls f5, f0, f1
/* 80145400 00142360 90 01 01 10 */ stw r0, 0x110(r1)
/* 80145404 00142364 C8 62 9C 58 */ lfd f3, lbl_805AB978@sda21(r2)
/* 80145408 00142368 C0 22 9C 40 */ lfs f1, lbl_805AB960@sda21(r2)
/* 8014540C 0014236C EC 9F 28 28 */ fsubs f4, f31, f5
/* 80145410 00142370 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80145414 00142374 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80145418 00142378 FC 40 10 1E */ fctiwz f2, f2
/* 8014541C 0014237C D8 41 01 18 */ stfd f2, 0x118(r1)
/* 80145420 00142380 80 01 01 1C */ lwz r0, 0x11c(r1)
/* 80145424 00142384 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80145428 00142388 90 01 01 14 */ stw r0, 0x114(r1)
/* 8014542C 0014238C C8 41 01 10 */ lfd f2, 0x110(r1)
/* 80145430 00142390 EC 42 18 28 */ fsubs f2, f2, f3
/* 80145434 00142394 EC C2 20 7C */ fnmsubs f6, f2, f1, f4
/* 80145438 00142398 FC 80 30 90 */ fmr f4, f6
/* 8014543C 0014239C FC 06 00 40 */ fcmpo cr0, f6, f0
/* 80145440 001423A0 40 80 00 08 */ bge lbl_80145448
/* 80145444 001423A4 EC 86 08 2A */ fadds f4, f6, f1
lbl_80145448:
/* 80145448 001423A8 EC A5 F8 28 */ fsubs f5, f5, f31
/* 8014544C 001423AC C0 02 9C 3C */ lfs f0, lbl_805AB95C@sda21(r2)
/* 80145450 001423B0 3C 00 43 30 */ lis r0, 0x4330
/* 80145454 001423B4 C8 62 9C 58 */ lfd f3, lbl_805AB978@sda21(r2)
/* 80145458 001423B8 90 01 01 28 */ stw r0, 0x128(r1)
/* 8014545C 001423BC EC 45 00 32 */ fmuls f2, f5, f0
/* 80145460 001423C0 C0 22 9C 40 */ lfs f1, lbl_805AB960@sda21(r2)
/* 80145464 001423C4 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80145468 001423C8 FC 40 10 1E */ fctiwz f2, f2
/* 8014546C 001423CC D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 80145470 001423D0 D8 41 01 20 */ stfd f2, 0x120(r1)
/* 80145474 001423D4 80 01 01 24 */ lwz r0, 0x124(r1)
/* 80145478 001423D8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8014547C 001423DC 90 01 01 2C */ stw r0, 0x12c(r1)
/* 80145480 001423E0 C8 41 01 28 */ lfd f2, 0x128(r1)
/* 80145484 001423E4 EC 42 18 28 */ fsubs f2, f2, f3
/* 80145488 001423E8 EC 42 28 7C */ fnmsubs f2, f2, f1, f5
/* 8014548C 001423EC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80145490 001423F0 40 80 00 08 */ bge lbl_80145498
/* 80145494 001423F4 EC 42 08 2A */ fadds f2, f2, f1
lbl_80145498:
/* 80145498 001423F8 FC 02 20 40 */ fcmpo cr0, f2, f4
/* 8014549C 001423FC D0 41 00 18 */ stfs f2, 0x18(r1)
/* 801454A0 00142400 40 80 00 0C */ bge lbl_801454AC
/* 801454A4 00142404 38 61 00 18 */ addi r3, r1, 0x18
/* 801454A8 00142408 48 00 00 08 */ b lbl_801454B0
lbl_801454AC:
/* 801454AC 0014240C 38 61 00 1C */ addi r3, r1, 0x1c
lbl_801454B0:
/* 801454B0 00142410 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 801454B4 00142414 C0 23 00 00 */ lfs f1, 0(r3)
/* 801454B8 00142418 FC 06 00 40 */ fcmpo cr0, f6, f0
/* 801454BC 0014241C 40 80 00 0C */ bge lbl_801454C8
/* 801454C0 00142420 C0 02 9C 40 */ lfs f0, lbl_805AB960@sda21(r2)
/* 801454C4 00142424 EC C6 00 2A */ fadds f6, f6, f0
lbl_801454C8:
/* 801454C8 00142428 C0 02 9C 4C */ lfs f0, lbl_805AB96C@sda21(r2)
/* 801454CC 0014242C FC 06 00 40 */ fcmpo cr0, f6, f0
/* 801454D0 00142430 40 81 00 0C */ ble lbl_801454DC
/* 801454D4 00142434 FF E0 08 50 */ fneg f31, f1
/* 801454D8 00142438 48 00 00 08 */ b lbl_801454E0
lbl_801454DC:
/* 801454DC 0014243C FF E0 08 90 */ fmr f31, f1
lbl_801454E0:
/* 801454E0 00142440 7F 63 DB 78 */ mr r3, r27
/* 801454E4 00142444 4B FF 53 D5 */ bl GetAnimTimeRemaining__15CBodyControllerCFv
/* 801454E8 00142448 C0 42 9C 50 */ lfs f2, lbl_805AB970@sda21(r2)
/* 801454EC 0014244C C0 02 9C 1C */ lfs f0, lbl_805AB93C@sda21(r2)
/* 801454F0 00142450 EC 22 00 72 */ fmuls f1, f2, f1
/* 801454F4 00142454 D0 3A 00 14 */ stfs f1, 0x14(r26)
/* 801454F8 00142458 C0 3A 00 14 */ lfs f1, 0x14(r26)
/* 801454FC 0014245C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80145500 00142460 40 81 00 08 */ ble lbl_80145508
/* 80145504 00142464 EF FF 08 24 */ fdivs f31, f31, f1
lbl_80145508:
/* 80145508 00142468 D3 FA 00 10 */ stfs f31, 0x10(r26)
/* 8014550C 0014246C 38 60 00 00 */ li r3, 0
/* 80145510 00142470 C0 02 9C 28 */ lfs f0, lbl_805AB948@sda21(r2)
/* 80145514 00142474 34 A1 00 C8 */ addic. r5, r1, 0xc8
/* 80145518 00142478 D0 1A 00 18 */ stfs f0, 0x18(r26)
/* 8014551C 0014247C 88 1A 00 2C */ lbz r0, 0x2c(r26)
/* 80145520 00142480 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80145524 00142484 98 1A 00 2C */ stb r0, 0x2c(r26)
/* 80145528 00142488 41 82 00 54 */ beq lbl_8014557C
/* 8014552C 0014248C 80 C5 00 00 */ lwz r6, 0(r5)
/* 80145530 00142490 2C 06 00 00 */ cmpwi r6, 0
/* 80145534 00142494 40 81 00 40 */ ble lbl_80145574
/* 80145538 00142498 2C 06 00 08 */ cmpwi r6, 8
/* 8014553C 0014249C 38 86 FF F8 */ addi r4, r6, -8
/* 80145540 001424A0 40 81 00 20 */ ble lbl_80145560
/* 80145544 001424A4 38 04 00 07 */ addi r0, r4, 7
/* 80145548 001424A8 54 00 E8 FE */ srwi r0, r0, 3
/* 8014554C 001424AC 7C 09 03 A6 */ mtctr r0
/* 80145550 001424B0 2C 04 00 00 */ cmpwi r4, 0
/* 80145554 001424B4 40 81 00 0C */ ble lbl_80145560
lbl_80145558:
/* 80145558 001424B8 38 63 00 08 */ addi r3, r3, 8
/* 8014555C 001424BC 42 00 FF FC */ bdnz lbl_80145558
lbl_80145560:
/* 80145560 001424C0 7C 03 30 50 */ subf r0, r3, r6
/* 80145564 001424C4 7C 09 03 A6 */ mtctr r0
/* 80145568 001424C8 7C 03 30 00 */ cmpw r3, r6
/* 8014556C 001424CC 40 80 00 08 */ bge lbl_80145574
lbl_80145570:
/* 80145570 001424D0 42 00 00 00 */ bdnz lbl_80145570
lbl_80145574:
/* 80145574 001424D4 38 00 00 00 */ li r0, 0
/* 80145578 001424D8 90 05 00 00 */ stw r0, 0(r5)
lbl_8014557C:
/* 8014557C 001424DC E3 E1 01 58 */ psq_l f31, 344(r1), 0, qr0
/* 80145580 001424E0 CB E1 01 50 */ lfd f31, 0x150(r1)
/* 80145584 001424E4 BB 21 01 34 */ lmw r25, 0x134(r1)
/* 80145588 001424E8 80 01 01 64 */ lwz r0, 0x164(r1)
/* 8014558C 001424EC 7C 08 03 A6 */ mtlr r0
/* 80145590 001424F0 38 21 01 60 */ addi r1, r1, 0x160
2022-07-14 05:48:03 +00:00
/* 80145594 001424F4 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global IsInAir__9CBSHurledCFRC15CBodyController
IsInAir__9CBSHurledCFRC15CBodyController:
/* 80145598 001424F8 38 60 00 01 */ li r3, 1
2022-07-14 05:48:03 +00:00
/* 8014559C 001424FC 4E 80 00 20 */ blr
2022-04-13 06:53:45 +00:00
.global __ct__9CBSHurledFv
__ct__9CBSHurledFv:
2022-10-24 23:29:11 +00:00
/* 801455A0 00142500 3C C0 80 3E */ lis r6, __vt__10CBodyState@ha
2022-04-13 06:53:45 +00:00
/* 801455A4 00142504 3C A0 80 3E */ lis r5, lbl_803E1FB0@ha
2022-10-24 23:29:11 +00:00
/* 801455A8 00142508 38 06 13 18 */ addi r0, r6, __vt__10CBodyState@l
2022-04-13 06:53:45 +00:00
/* 801455AC 0014250C C0 22 9C 28 */ lfs f1, lbl_805AB948@sda21(r2)
/* 801455B0 00142510 90 03 00 00 */ stw r0, 0(r3)
/* 801455B4 00142514 38 C5 1F B0 */ addi r6, r5, lbl_803E1FB0@l
/* 801455B8 00142518 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
2022-04-13 06:53:45 +00:00
/* 801455BC 0014251C 38 00 FF FF */ li r0, -1
/* 801455C0 00142520 90 C3 00 00 */ stw r6, 0(r3)
/* 801455C4 00142524 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l
2022-04-13 06:53:45 +00:00
/* 801455C8 00142528 38 80 00 00 */ li r4, 0
/* 801455CC 0014252C 90 03 00 04 */ stw r0, 4(r3)
/* 801455D0 00142530 D0 23 00 08 */ stfs f1, 8(r3)
/* 801455D4 00142534 90 03 00 0C */ stw r0, 0xc(r3)
/* 801455D8 00142538 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 801455DC 0014253C D0 23 00 14 */ stfs f1, 0x14(r3)
/* 801455E0 00142540 D0 23 00 18 */ stfs f1, 0x18(r3)
/* 801455E4 00142544 C0 05 00 00 */ lfs f0, 0(r5)
/* 801455E8 00142548 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 801455EC 0014254C C0 05 00 04 */ lfs f0, 4(r5)
/* 801455F0 00142550 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 801455F4 00142554 C0 05 00 08 */ lfs f0, 8(r5)
/* 801455F8 00142558 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 801455FC 0014255C D0 23 00 28 */ stfs f1, 0x28(r3)
/* 80145600 00142560 88 03 00 2C */ lbz r0, 0x2c(r3)
/* 80145604 00142564 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80145608 00142568 98 03 00 2C */ stb r0, 0x2c(r3)
2022-07-14 05:48:03 +00:00
/* 8014560C 0014256C 4E 80 00 20 */ blr
2022-07-18 05:20:04 +00:00
.section .sdata2, "a"
.balign 8
2022-07-18 05:20:04 +00:00
.global lbl_805AB938
lbl_805AB938:
# ROM: 0x3F81D8
.float 0.25
.global lbl_805AB93C
lbl_805AB93C:
# ROM: 0x3F81DC
.float 1.1920929E-7
.global lbl_805AB940
lbl_805AB940:
# ROM: 0x3F81E0
.float 1.0
.global lbl_805AB944
lbl_805AB944:
# ROM: 0x3F81E4
.float 1.0E-4
.global lbl_805AB948
lbl_805AB948:
# ROM: 0x3F81E8
.4byte 0
.global lbl_805AB94C
lbl_805AB94C:
# ROM: 0x3F81EC
.float 2.0
.global lbl_805AB950
lbl_805AB950:
# ROM: 0x3F81F0
.4byte 0x3FECCCCC
.4byte 0xC0000000
.global lbl_805AB958
lbl_805AB958:
# ROM: 0x3F81F8
.4byte 0x42700000
.global lbl_805AB95C
lbl_805AB95C:
# ROM: 0x3F81FC
.4byte 0x3E22F983
.global lbl_805AB960
lbl_805AB960:
# ROM: 0x3F8200
.float 6.2831855
.global lbl_805AB964
lbl_805AB964:
# ROM: 0x3F8204
.4byte 0x42652EE0
.global lbl_805AB968
lbl_805AB968:
# ROM: 0x3F8208
.float 0.017453292
.global lbl_805AB96C
lbl_805AB96C:
# ROM: 0x3F820C
.4byte 0x40490FDB
.global lbl_805AB970
lbl_805AB970:
# ROM: 0x3F8210
.float 0.15
.4byte 0
.global lbl_805AB978
lbl_805AB978:
# ROM: 0x3F8218
.double 4.503601774854144E15