sead::ControllerWrapperBase class

Base classes

class ControllerBase
class IDisposer

Derived classes

class ControllerWrapper

Public types

enum class HeapNullOption { AlwaysUseSpecifiedHeap = 0, UseSpecifiedOrContainHeap = 1, DoNotAppendDisposerIfNoHeapSpecified = 2, UseSpecifiedOrCurrentHeap = 3 }

Public static variables

static const f32 cStickHoldThresholdDefault
static const f32 cStickReleaseThresholdDefault
static const Vector2f cInvalidPointer
static const Vector2i cInvalidPointerS32

Public static functions

static auto getListNodeOffset() -> u32

Constructors, destructors, conversion operators

ControllerWrapperBase()
~ControllerWrapperBase() virtual

Public functions

void calc(u32 prev_hold, bool prev_pointer_on) pure virtual
void setIdle() virtual
void registerWith(Controller* controller, bool copy_repeat_setting)
void unregister()
void copyRepeatSetting(const Controller* controller)
void setEnable(bool enable)
void setEnableOtherWrappers(bool enable) const
auto getHoldMask() const -> u32
auto getTrigMask() const -> u32
auto getReleaseMask() const -> u32
auto getRepeatMask() const -> u32
auto getPadHoldCount(s32 bit) const -> u32
auto getLeftStick() const -> const Vector2f&
auto getRightStick() const -> const Vector2f&
auto getLeftAnalogTrigger() const -> f32
auto getRightAnalogTrigger() const -> f32
auto getPointer() const -> const Vector2f&
auto getPointerPrev() const -> const Vector2i&
auto isPointerOn() const -> bool
auto isPointerOnNow() const -> bool
auto isPointerOffNow() const -> bool
auto isPointerUnkFlag3() const -> bool
auto isHold(u32 mask) const -> bool
auto isTrig(u32 mask) const -> bool
auto isHoldAll(u32 mask) const -> bool
auto isRelease(u32 mask) const -> bool
auto isRepeat(u32 mask) const -> bool
auto isTrigWithRepeat(u32 mask) const -> bool
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)
auto getPointerBound() const -> const BoundBox2f&

Protected types

enum (anonymous) { cPadIdx_MaxBase = 32 }
enum PointerFlagMask { cPointerOn = 1 << 0, cPointerOnNow = 1 << 1, cPointerOffNow = 1 << 2, cPointerUnkFlag3 = 1 << 3 }
enum (anonymous) { cCrossUp, cCrossDown, cCrossLeft, cCrossRight }

Protected functions

auto isIdle_() -> bool virtual
auto isIdleBase_() -> bool
void setIdleBase_()
void setPointerWithBound_(bool is_on, bool touchkey_hold, const Vector2f& pos)
void updateDerivativeParams_(u32 prev_hold, bool prev_pointer_on)
auto getStickHold_(u32 prev_hold, const Vector2f& stick, f32 hold_threshold, f32 release_threshold, s32 start_bit) -> u32
auto createStickCrossMask_() -> u32
auto getDisposerHeap_() const -> Heap*

Protected variables

Controller* mController
bool mIsEnable
ListNode mListNode
u8 mPadConfig
BitFlag32 mPadTrig
BitFlag32 mPadRelease
BitFlag32 mPadRepeat
BitFlag32 mPointerFlag
Vector2i mPointerS32
BoundBox2f mPointerBound
u32 mPadHoldCounts
u8 mPadRepeatDelays
u8 mPadRepeatPulses
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

Enum documentation

enum class sead::ControllerWrapperBase::HeapNullOption

enum sead::ControllerWrapperBase::(anonymous) protected

enum sead::ControllerWrapperBase::PointerFlagMask protected

enum sead::ControllerWrapperBase::(anonymous) protected

Function documentation

static u32 sead::ControllerWrapperBase::getListNodeOffset()

u32 sead::ControllerWrapperBase::getHoldMask() const

u32 sead::ControllerWrapperBase::getTrigMask() const

u32 sead::ControllerWrapperBase::getReleaseMask() const

u32 sead::ControllerWrapperBase::getRepeatMask() const

u32 sead::ControllerWrapperBase::getPadHoldCount(s32 bit) const

const Vector2f& sead::ControllerWrapperBase::getLeftStick() const

const Vector2f& sead::ControllerWrapperBase::getRightStick() const

f32 sead::ControllerWrapperBase::getLeftAnalogTrigger() const

f32 sead::ControllerWrapperBase::getRightAnalogTrigger() const

const Vector2f& sead::ControllerWrapperBase::getPointer() const

const Vector2i& sead::ControllerWrapperBase::getPointerPrev() const

bool sead::ControllerWrapperBase::isPointerOn() const

bool sead::ControllerWrapperBase::isPointerOnNow() const

bool sead::ControllerWrapperBase::isPointerOffNow() const

bool sead::ControllerWrapperBase::isPointerUnkFlag3() const

bool sead::ControllerWrapperBase::isHold(u32 mask) const

bool sead::ControllerWrapperBase::isTrig(u32 mask) const

bool sead::ControllerWrapperBase::isHoldAll(u32 mask) const

bool sead::ControllerWrapperBase::isRelease(u32 mask) const

bool sead::ControllerWrapperBase::isRepeat(u32 mask) const

bool sead::ControllerWrapperBase::isTrigWithRepeat(u32 mask) const

void sead::ControllerWrapperBase::setPadRepeat(u32 mask, u8 delay_frame, u8 pulse_frame)

void sead::ControllerWrapperBase::setLeftStickCrossThreshold(f32 hold, f32 release)

void sead::ControllerWrapperBase::setRightStickCrossThreshold(f32 hold, f32 release)

void sead::ControllerWrapperBase::setPointerBound(const BoundBox2f& bound)

const BoundBox2f& sead::ControllerWrapperBase::getPointerBound() const

bool sead::ControllerWrapperBase::isIdleBase_() protected

void sead::ControllerWrapperBase::setIdleBase_() protected

void sead::ControllerWrapperBase::setPointerWithBound_(bool is_on, bool touchkey_hold, const Vector2f& pos) protected

void sead::ControllerWrapperBase::updateDerivativeParams_(u32 prev_hold, bool prev_pointer_on) protected

u32 sead::ControllerWrapperBase::getStickHold_(u32 prev_hold, const Vector2f& stick, f32 hold_threshold, f32 release_threshold, s32 start_bit) protected

u32 sead::ControllerWrapperBase::createStickCrossMask_() protected

Heap* sead::ControllerWrapperBase::getDisposerHeap_() const protected

Variable documentation

static const f32 sead::ControllerWrapperBase::cStickHoldThresholdDefault

static const f32 sead::ControllerWrapperBase::cStickReleaseThresholdDefault

static const Vector2f sead::ControllerWrapperBase::cInvalidPointer

static const Vector2i sead::ControllerWrapperBase::cInvalidPointerS32

BitFlag32 sead::ControllerWrapperBase::mPadTrig protected

BitFlag32 sead::ControllerWrapperBase::mPadRelease protected

BitFlag32 sead::ControllerWrapperBase::mPadRepeat protected

BitFlag32 sead::ControllerWrapperBase::mPointerFlag protected

Vector2i sead::ControllerWrapperBase::mPointerS32 protected

BoundBox2f sead::ControllerWrapperBase::mPointerBound protected

u32 sead::ControllerWrapperBase::mPadHoldCounts protected

u8 sead::ControllerWrapperBase::mPadRepeatDelays protected

u8 sead::ControllerWrapperBase::mPadRepeatPulses protected

f32 sead::ControllerWrapperBase::mLeftStickHoldThreshold protected

f32 sead::ControllerWrapperBase::mRightStickHoldThreshold protected

f32 sead::ControllerWrapperBase::mLeftStickReleaseThreshold protected

f32 sead::ControllerWrapperBase::mRightStickReleaseThreshold protected

s32 sead::ControllerWrapperBase::mPadBitMax protected

s32 sead::ControllerWrapperBase::mLeftStickCrossStartBit protected

s32 sead::ControllerWrapperBase::mRightStickCrossStartBit protected

s32 sead::ControllerWrapperBase::mTouchKeyBit protected

s32 sead::ControllerWrapperBase::mIdleFrame protected

BitFlag32 sead::ControllerWrapperBase::mPadHold protected

Vector2f sead::ControllerWrapperBase::mPointer protected

Vector2f sead::ControllerWrapperBase::mLeftStick protected

Vector2f sead::ControllerWrapperBase::mRightStick protected

f32 sead::ControllerWrapperBase::mLeftAnalogTrigger protected

f32 sead::ControllerWrapperBase::mRightAnalogTrigger protected