sead
Loading...
Searching...
No Matches
sead::ControllerWrapper Class Reference

#include <seadControllerWrapper.h>

Inherits sead::ControllerWrapperBase.

Public Member Functions

 ControllerWrapper ()
 ~ControllerWrapper () override
void calc (u32 prev_hold, bool prev_pointer_on) override
u32 createPadMaskFromControllerPadMask_ (u32 controller_mask) const
void setPadConfig (s32 padbit_max, const u8 *pad_config, bool enable_stickcross_emulation)
Public Member Functions inherited from sead::ControllerWrapperBase
 ControllerWrapperBase ()
 ~ControllerWrapperBase () override
virtual void setIdle ()
void registerWith (Controller *controller, bool copy_repeat_setting)
void unregister ()
void copyRepeatSetting (const Controller *controller)
void setEnable (bool enable)
void setEnableOtherWrappers (bool enable) const
Public Member Functions inherited from sead::ControllerBase
 ControllerBase (s32 padBitMax, s32 leftStickCrossStartBit, s32 rightStickCrossStartBit, s32 touchKeyBit)
u32 getHoldMask () const
u32 getTrigMask () const
u32 getReleaseMask () const
u32 getRepeatMask () const
u32 getTrigMaskWithRepeat () const
u32 getPadHoldCount (s32 bit) const
const Vector2fgetLeftStick () const
const Vector2fgetRightStick () const
f32 getLeftAnalogTrigger () const
f32 getRightAnalogTrigger () const
const Vector2fgetPointer () const
const Vector2igetPointerPrev () const
bool isPointerOn () const
bool isPointerOnNow () const
bool isPointerOffNow () const
bool isPointerUnkFlag3 () const
bool isHold (u32 mask) const
bool isTrig (u32 mask) const
bool isHoldAll (u32 mask) const
bool isRelease (u32 mask) const
bool isRepeat (u32 mask) const
bool isTrigWithRepeat (u32 mask) const
void setPadRepeat (u32 mask, u8 delay_frame, u8 pulse_frame)
void setLeftStickCrossThreshold (f32 hold, f32 release)
void setRightStickCrossThreshold (f32 hold, f32 release)
void setPointerBound (const BoundBox2f &bound)
const BoundBox2fgetPointerBound () const
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()

Static Public Attributes

static const u8 cPadConfigDefault [Controller::cPadIdx_Max]
Static Public Attributes inherited from sead::ControllerBase
static const f32 cStickHoldThresholdDefault = 0.5f
static const f32 cStickReleaseThresholdDefault = 0.25f
static const Vector2f cInvalidPointer
static const Vector2i cInvalidPointerS32

Protected Attributes

u8 mPadConfig [cPadIdx_MaxBase]
Protected Attributes inherited from sead::ControllerWrapperBase
ControllermController
bool mIsEnable
ListNode mListNode
u8 mPadConfig [cPadIdx_MaxBase]
Protected Attributes inherited from sead::ControllerBase
BitFlag32 mPadTrig
BitFlag32 mPadRelease
BitFlag32 mPadRepeat
BitFlag32 mPointerFlag
Vector2i mPointerS32
BoundBox2f mPointerBound
u32 mPadHoldCounts [cPadIdx_MaxBase]
u8 mPadRepeatDelays [cPadIdx_MaxBase]
u8 mPadRepeatPulses [cPadIdx_MaxBase]
f32 mLeftStickHoldThreshold
f32 mRightStickHoldThreshold
f32 mLeftStickReleaseThreshold
f32 mRightStickReleaseThreshold
s32 mPadBitMax
s32 mLeftStickCrossStartBit
s32 mRightStickCrossStartBit
s32 mTouchKeyBit
s32 mIdleFrame
BitFlag32 mPadHold
Vector2f mPointer
Vector2f mLeftStick
Vector2f mRightStick
f32 mLeftAnalogTrigger
f32 mRightAnalogTrigger

Additional Inherited Members

Protected Types inherited from sead::ControllerBase
enum  { cPadIdx_MaxBase = 32 }
enum  PointerFlagMask { cPointerOn = 1 << 0 , cPointerOnNow = 1 << 1 , cPointerOffNow = 1 << 2 , cPointerUnkFlag3 = 1 << 3 }
enum  { cCrossUp , cCrossDown , cCrossLeft , cCrossRight }
Protected Member Functions inherited from sead::ControllerWrapperBase
virtual bool isIdle_ ()
Protected Member Functions inherited from sead::ControllerBase
bool isIdleBase_ ()
void setIdleBase_ ()
void setPointerWithBound_ (bool is_on, bool touchkey_hold, const Vector2f &pos)
void updateDerivativeParams_ (u32 prev_hold, bool prev_pointer_on)
u32 getStickHold_ (u32 prev_hold, const Vector2f &stick, f32 hold_threshold, f32 release_threshold, s32 start_bit)
u32 createStickCrossMask_ ()

Constructor & Destructor Documentation

◆ ControllerWrapper()

sead::ControllerWrapper::ControllerWrapper ( )

◆ ~ControllerWrapper()

sead::ControllerWrapper::~ControllerWrapper ( )
inlineoverride

Member Function Documentation

◆ calc()

void sead::ControllerWrapper::calc ( u32 prev_hold,
bool prev_pointer_on )
overridevirtual

◆ createPadMaskFromControllerPadMask_()

u32 sead::ControllerWrapper::createPadMaskFromControllerPadMask_ ( u32 controller_mask) const

◆ setPadConfig()

void sead::ControllerWrapper::setPadConfig ( s32 padbit_max,
const u8 * pad_config,
bool enable_stickcross_emulation )

Member Data Documentation

◆ cPadConfigDefault

const u8 sead::ControllerWrapper::cPadConfigDefault
static
Initial value:
= {
}
@ cPadIdx_Touch
Definition seadController.h:51
@ cPadIdx_Start
Definition seadController.h:45
@ cPadIdx_C
Definition seadController.h:36
@ cPadIdx_LeftStickDown
Definition seadController.h:57
@ cPadIdx_Select
Definition seadController.h:46
@ cPadIdx_B
Definition seadController.h:35
@ cPadIdx_Plus
Definition seadController.h:44
@ cPadIdx_LeftStickRight
Definition seadController.h:59
@ cPadIdx_Left
Definition seadController.h:54
@ cPadIdx_LeftStickLeft
Definition seadController.h:58
@ cPadIdx_Up
Definition seadController.h:52
@ cPadIdx_LeftStickUp
Definition seadController.h:56
@ cPadIdx_Minus
Definition seadController.h:43
@ cPadIdx_Right
Definition seadController.h:55
@ cPadIdx_2
Definition seadController.h:40
@ cPadIdx_R
Definition seadController.h:50
@ cPadIdx_Z
Definition seadController.h:39
@ cPadIdx_RightStickDown
Definition seadController.h:61
@ cPadIdx_L
Definition seadController.h:49
@ cPadIdx_RightStickLeft
Definition seadController.h:62
@ cPadIdx_RightStickUp
Definition seadController.h:60
@ cPadIdx_RightStickRight
Definition seadController.h:63
@ cPadIdx_Y
Definition seadController.h:38
@ cPadIdx_A
Definition seadController.h:34
@ cPadIdx_1
Definition seadController.h:41
@ cPadIdx_Down
Definition seadController.h:53
@ cPadIdx_Home
Definition seadController.h:42
@ cPadIdx_X
Definition seadController.h:37

◆ mPadConfig

u8 sead::ControllerWrapper::mPadConfig[cPadIdx_MaxBase]
protected