1#pragma once
2
3#include <math/seadVector.h>
4
5#include "Player/IUsePlayerCollision.h"
6#include "Util/IUseDimension.h"
7
8namespace al {
9class LiveActor;
10class SpinInputAnalyzer;
11class JoyPadAccelPoseAnalyzer;
12} // namespace al
13
14class PlayerInput {
15public:
16 PlayerInput(const al::LiveActor*, const IUsePlayerCollision*, const IUseDimension*);
17
18 bool isMove() const;
19 bool isMoveDeepDown() const;
20 bool isMoveDeepDownNoSnap() const;
21 bool isNoInput() const;
22
23 bool isEnableCarry() const;
24 bool isTriggerCarryStart() const;
25 bool isTriggerCarryRelease() const;
26 bool isTriggerSwingActionMario() const;
27 bool isTriggerCarryReleaseBySwing() const;
28 bool isTriggerAction() const;
29 bool isTriggerJump() const;
30 bool isTriggerHipDrop() const;
31 bool isTriggerHeadSliding() const;
32 bool isTriggerPaddle() const;
33 bool isTriggerRolling(bool) const;
34 bool isTriggerRollingRestartSwing() const;
35 bool isTriggerRollingCancelHipDrop(bool) const;
36 bool isTriggerHackAction() const;
37 bool isTriggerHackJump() const;
38 bool isTriggerHackSwing() const;
39 bool isTriggerHackEnd() const;
40 bool isTriggerHackSeparateJump() const;
41 bool isTriggerSeparateCapJangoHelp() const;
42 bool isHoldHackSeparateJump() const;
43 bool isTriggerGetOff() const;
44 bool isHoldAction() const;
45 bool isHoldJump() const;
46 bool isHoldHipDrop() const;
47 bool isHoldSquat() const;
48 bool isTriggerStartTalk() const;
49 bool isTriggerStartWorldWarp() const;
50 bool isTriggerCancelWorldWarp() const;
51 bool isTriggerSpinCap() const;
52 bool isTriggerToggleStayCap() const;
53 bool isTriggerSpinAttackSeparate() const;
54 s32 getSeparatePlay1P();
55 bool isTriggerCapReturn() const;
56 bool isTriggerCapAttackSeparate() const;
57 bool isTriggerSwingActionCap() const;
58 bool isTriggerCapSingleHandThrow() const;
59 bool isTriggerCapDoubleHandThrow() const;
60 bool isTriggerCapSeparateJump() const;
61 bool isTriggerCapSeparateHipDrop() const;
62 bool isTriggerSwingPoleClimbFast() const;
63 bool isHoldPoleClimbDown() const;
64 bool isTriggerAppendCapAttack(bool) const;
65
66 bool isHoldSpinCap() const;
67 bool isHoldCapAction() const;
68 bool isHoldPoleClimbFast() const;
69 bool isHoldWallCatchMoveFast() const;
70 bool isHoldHackAction() const;
71 bool isHoldHackJump() const;
72 bool isSpinInput() const;
73
74 bool isTriggerChange2D() const;
75 bool isTriggerChange3D() const;
76 bool isReleaseJump() const;
77 bool isReleaseHackAction() const;
78 bool isReleaseHackJump() const;
79 bool isEnableDashInput() const;
80
81 bool isThrowTypeSpiral(const sead::Vector2f&) const;
82 bool isThrowTypeRolling(const sead::Vector2f&) const;
83
84 void calcMoveInput(sead::Vector3f*, const sead::Vector3f&) const;
85 void calcMoveDirection(sead::Vector3f*, const sead::Vector3f&) const;
86
87private:
88 const al::LiveActor* mLiveActor;
89 const IUsePlayerCollision* mPlayerCollision;
90 const IUseDimension* mDimension;
91 void* gap[11];
92 al::SpinInputAnalyzer* mSpinInputAnalyzer;
93 al::JoyPadAccelPoseAnalyzer* mJoyPadAccelPoseAnalyzer1;
94 al::JoyPadAccelPoseAnalyzer* mJoyPadAccelPoseAnalyzer2;
95 s32 _88;
96 void* gap2[1];
97 bool mIsDisableInput;
98 void* gap3[20];
99};
100
101static_assert(sizeof(PlayerInput) == 0x140);
102