mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-11-25 12:45:17 +00:00
69 lines
1.9 KiB
C
69 lines
1.9 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "math/seadBoundBox.h"
|
||
|
#include "math/seadVector.h"
|
||
|
#include "prim/seadBitFlag.h"
|
||
|
#include "prim/seadRuntimeTypeInfo.h"
|
||
|
|
||
|
namespace sead
|
||
|
{
|
||
|
class ControllerBase
|
||
|
{
|
||
|
SEAD_RTTI_BASE(ControllerBase)
|
||
|
public:
|
||
|
ControllerBase(int, int, int, int);
|
||
|
|
||
|
void setRightStickCrossThreshold(float, float);
|
||
|
void setPointerBound(const BoundBox2f& bound);
|
||
|
void setPadRepeat(u32, u8, u8);
|
||
|
void setLeftStickCrossThreshold(float, float);
|
||
|
// unknown return type
|
||
|
u32 getPadHoldCount(int) const;
|
||
|
|
||
|
BitFlag32 getButtonsTrigger() const { return mButtonsTrigger; }
|
||
|
BitFlag32 getButtonsRelease() const { return mButtonsRelease; }
|
||
|
BitFlag32 getButtonsRepeat() const { return mButtonsRepeat; }
|
||
|
BitFlag32 getButtonsHold() const { return mButtonsHold; }
|
||
|
const Vector2f& getTouchScreenPos() const { return mTouchScreenPos; }
|
||
|
const Vector2f& getLeftJoy() const { return mLeftJoy; }
|
||
|
const Vector2f& getRightJoy() const { return mRightJoy; }
|
||
|
|
||
|
protected:
|
||
|
void updateDerivativeParams_(u32, bool);
|
||
|
void setPointerWithBound_(bool, bool, const Vector2f& bound);
|
||
|
void setIdleBase_();
|
||
|
bool isIdleBase_();
|
||
|
// unknown return type
|
||
|
u32 getStickHold_(u32, const Vector2f&, float, float, int);
|
||
|
// unknown return type
|
||
|
u32 createStickCrossMask_();
|
||
|
|
||
|
private:
|
||
|
BitFlag32 mButtonsTrigger;
|
||
|
BitFlag32 mButtonsRelease;
|
||
|
BitFlag32 mButtonsRepeat;
|
||
|
unsigned int mFlags;
|
||
|
int _18;
|
||
|
int _1c;
|
||
|
BoundBox2f mPointerBound;
|
||
|
int mPadHoldCounts[32];
|
||
|
char _b0[32];
|
||
|
char _d0[32];
|
||
|
float mLeftStickThresholdX;
|
||
|
float mRightStickThresholdX;
|
||
|
float mLeftStickThresholdY;
|
||
|
float mRightStickThresholdY;
|
||
|
int _100;
|
||
|
int _104;
|
||
|
int _108;
|
||
|
int _10c;
|
||
|
unsigned int mIdleCounter;
|
||
|
sead::BitFlag32 mButtonsHold;
|
||
|
Vector2f mTouchScreenPos;
|
||
|
Vector2f mLeftJoy;
|
||
|
Vector2f mRightJoy;
|
||
|
Vector2f _130;
|
||
|
};
|
||
|
|
||
|
} // namespace sead
|