| 1 | #pragma once |
| 2 | |
| 3 | #include <math/seadVector.h> |
| 4 | |
| 5 | #include "Player/IUsePlayerCollision.h" |
| 6 | #include "Util/IUseDimension.h" |
| 7 | |
| 8 | namespace al { |
| 9 | class LiveActor; |
| 10 | class SpinInputAnalyzer; |
| 11 | class JoyPadAccelPoseAnalyzer; |
| 12 | } // namespace al |
| 13 | |
| 14 | class PlayerInput { |
| 15 | public: |
| 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 | |
| 87 | private: |
| 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 | |
| 101 | static_assert(sizeof(PlayerInput) == 0x140); |
| 102 | |