New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ParentMovementMgr Class Reference

#include <ParentMovementMgr.h>

Classes

struct  MovementProperties
struct  PivotalRotationSettings

Public Member Functions

 ParentMovementMgr ()
void link (const sead::Vector3f &position, u32 type_mask, u8 movement_id)
 Links to movement controllers with the matching movement id and type mask.
void execute ()
u32 getTypeMask (ParentMovementType type)
void linkPivotal (const sead::Vector3f &position, u32 movement_mask, s8 movement_id, const sead::Vector3f &pivot_center=sead::Vector3f(0.0f, 0.0f, 0.0f), bool tilted=false, bool unk_8=false, bool upside_down=false, bool movement_param=true)
 Links to movement controllers with the matching movement id and type mask.
void linkPivotal2 (PivotalRotationSettings pivot_settings)
 DECLARE_STATE_ID (ParentMovementType, Search)
 DECLARE_STATE_ID (ParentMovementType, Move)
const sead::Vector3f & getPosition () const
ActorUniqueID getParentActorID () const
Angle getAngle () const
u8 getMovementID () const
f32 getTwoWayDistanceMultiplier () const
Angle getFloorGyrationAngle () const
f32 getBoltSpeed () const
DirType getBoltDirection () const
RectPlatformInfo getRectPlatformInfo () const
MovementProperties getMovementProperties () const
bool getPivotalUpsideDown () const
bool getPivotalTilted () const
bool getPivotalUnknown () const
bool getPivotalGyroscopic () const
void setAngle (Angle angle)
void setTwoWayDistanceMultiplier (f32 multiplier)
void setFloorGyrationAngle (Angle angle)
void setBoltSpeed (f32 speed)
void setBoltDirection (DirType direction)
void setRectPlatformInfo (RectPlatformInfo info)
void setMovementProperties (const MovementProperties &properties)
void setPivotalUpsideDown (bool pivotal_upside_down)
void setPivotalTilted (bool pivotal_tilted)
void setPivotalUnknown (bool pivotal_unknown)
void setPivotalGyroscopic (bool pivotal_gyroscopic)

Private Attributes

sead::Vector3f mPosition
sead::Vector3f _c
sead::Vector3f _18
sead::Vector3f mPivotCenter
u32 _30
u32 _34
ActorUniqueID mParentActorID
u32 _3c
u32 _40
u32 _44
u32 mTypeMask
u8 mMovementId
Angle mAngle
u8 _54
f32 mTwoWayDistanceMultiplier
u8 _5c [0x74-0x5C]
Angle mFloorGyrationAngle
u32 _78
u32 _7c
u32 _80
bool mPivotalUpsideDown
bool mPivotalTilted
bool mPivotalUnknown
bool mPivotalGyroscopic
u8 _88
u8 _89
u32 _8c
DirType mBoltDirection
f32 mBoltSpeed
RectPlatformInfo mRectPlatformInfo
u32 _9c
u32 _a0
u32 _a4
u32 _a8
u32 _ac
u32 _b0
u32 _b4
u32 _b8
u32 _bc
MovementProperties mMovementProperties
FStateMgr< ParentMovementMgr > mFStateMgr

Constructor & Destructor Documentation

◆ ParentMovementMgr()

ParentMovementMgr::ParentMovementMgr ( )

Member Function Documentation

◆ link()

void ParentMovementMgr::link ( const sead::Vector3f & position,
u32 type_mask,
u8 movement_id )

Links to movement controllers with the matching movement id and type mask.

Warning
Use linkPivotal or linkPivotal2 when using pivotal-rotation or else it will bug out.

◆ execute()

void ParentMovementMgr::execute ( )

◆ getTypeMask()

u32 ParentMovementMgr::getTypeMask ( ParentMovementType type)

◆ linkPivotal()

void ParentMovementMgr::linkPivotal ( const sead::Vector3f & position,
u32 movement_mask,
s8 movement_id,
const sead::Vector3f & pivot_center = sead::Vector3f(0.0f, 0.0f, 0.0f),
bool tilted = false,
bool unk_8 = false,
bool upside_down = false,
bool movement_param = true )

Links to movement controllers with the matching movement id and type mask.

Note
Cannot be used to make it gyroscopic.
Address: 0x0284B824

◆ linkPivotal2()

void ParentMovementMgr::linkPivotal2 ( PivotalRotationSettings pivot_settings)

◆ DECLARE_STATE_ID() [1/2]

ParentMovementMgr::DECLARE_STATE_ID ( ParentMovementType ,
Search  )

◆ DECLARE_STATE_ID() [2/2]

ParentMovementMgr::DECLARE_STATE_ID ( ParentMovementType ,
Move  )

◆ getPosition()

const sead::Vector3f & ParentMovementMgr::getPosition ( ) const
inline

◆ getParentActorID()

ActorUniqueID ParentMovementMgr::getParentActorID ( ) const
inline

◆ getAngle()

Angle ParentMovementMgr::getAngle ( ) const
inline

◆ getMovementID()

u8 ParentMovementMgr::getMovementID ( ) const
inline

◆ getTwoWayDistanceMultiplier()

f32 ParentMovementMgr::getTwoWayDistanceMultiplier ( ) const
inline

◆ getFloorGyrationAngle()

Angle ParentMovementMgr::getFloorGyrationAngle ( ) const
inline

◆ getBoltSpeed()

f32 ParentMovementMgr::getBoltSpeed ( ) const
inline

◆ getBoltDirection()

DirType ParentMovementMgr::getBoltDirection ( ) const
inline

◆ getRectPlatformInfo()

RectPlatformInfo ParentMovementMgr::getRectPlatformInfo ( ) const
inline

◆ getMovementProperties()

MovementProperties ParentMovementMgr::getMovementProperties ( ) const
inline

◆ getPivotalUpsideDown()

bool ParentMovementMgr::getPivotalUpsideDown ( ) const
inline

◆ getPivotalTilted()

bool ParentMovementMgr::getPivotalTilted ( ) const
inline

◆ getPivotalUnknown()

bool ParentMovementMgr::getPivotalUnknown ( ) const
inline

◆ getPivotalGyroscopic()

bool ParentMovementMgr::getPivotalGyroscopic ( ) const
inline

◆ setAngle()

void ParentMovementMgr::setAngle ( Angle angle)
inline

◆ setTwoWayDistanceMultiplier()

void ParentMovementMgr::setTwoWayDistanceMultiplier ( f32 multiplier)
inline

◆ setFloorGyrationAngle()

void ParentMovementMgr::setFloorGyrationAngle ( Angle angle)
inline

◆ setBoltSpeed()

void ParentMovementMgr::setBoltSpeed ( f32 speed)
inline

◆ setBoltDirection()

void ParentMovementMgr::setBoltDirection ( DirType direction)
inline

◆ setRectPlatformInfo()

void ParentMovementMgr::setRectPlatformInfo ( RectPlatformInfo info)
inline

◆ setMovementProperties()

void ParentMovementMgr::setMovementProperties ( const MovementProperties & properties)
inline

◆ setPivotalUpsideDown()

void ParentMovementMgr::setPivotalUpsideDown ( bool pivotal_upside_down)
inline

◆ setPivotalTilted()

void ParentMovementMgr::setPivotalTilted ( bool pivotal_tilted)
inline

◆ setPivotalUnknown()

void ParentMovementMgr::setPivotalUnknown ( bool pivotal_unknown)
inline

◆ setPivotalGyroscopic()

void ParentMovementMgr::setPivotalGyroscopic ( bool pivotal_gyroscopic)
inline

Member Data Documentation

◆ mPosition

sead::Vector3f ParentMovementMgr::mPosition
private

◆ _c

sead::Vector3f ParentMovementMgr::_c
private

◆ _18

sead::Vector3f ParentMovementMgr::_18
private

◆ mPivotCenter

sead::Vector3f ParentMovementMgr::mPivotCenter
private

◆ _30

u32 ParentMovementMgr::_30
private

◆ _34

u32 ParentMovementMgr::_34
private

◆ mParentActorID

ActorUniqueID ParentMovementMgr::mParentActorID
private

◆ _3c

u32 ParentMovementMgr::_3c
private

◆ _40

u32 ParentMovementMgr::_40
private

◆ _44

u32 ParentMovementMgr::_44
private

◆ mTypeMask

u32 ParentMovementMgr::mTypeMask
private

◆ mMovementId

u8 ParentMovementMgr::mMovementId
private

◆ mAngle

Angle ParentMovementMgr::mAngle
private

◆ _54

u8 ParentMovementMgr::_54
private

◆ mTwoWayDistanceMultiplier

f32 ParentMovementMgr::mTwoWayDistanceMultiplier
private

◆ _5c

u8 ParentMovementMgr::_5c[0x74-0x5C]
private

◆ mFloorGyrationAngle

Angle ParentMovementMgr::mFloorGyrationAngle
private

◆ _78

u32 ParentMovementMgr::_78
private

◆ _7c

u32 ParentMovementMgr::_7c
private

◆ _80

u32 ParentMovementMgr::_80
private

◆ mPivotalUpsideDown

bool ParentMovementMgr::mPivotalUpsideDown
private

◆ mPivotalTilted

bool ParentMovementMgr::mPivotalTilted
private

◆ mPivotalUnknown

bool ParentMovementMgr::mPivotalUnknown
private

◆ mPivotalGyroscopic

bool ParentMovementMgr::mPivotalGyroscopic
private

◆ _88

u8 ParentMovementMgr::_88
private

◆ _89

u8 ParentMovementMgr::_89
private

◆ _8c

u32 ParentMovementMgr::_8c
private

◆ mBoltDirection

DirType ParentMovementMgr::mBoltDirection
private

◆ mBoltSpeed

f32 ParentMovementMgr::mBoltSpeed
private

◆ mRectPlatformInfo

RectPlatformInfo ParentMovementMgr::mRectPlatformInfo
private

◆ _9c

u32 ParentMovementMgr::_9c
private

◆ _a0

u32 ParentMovementMgr::_a0
private

◆ _a4

u32 ParentMovementMgr::_a4
private

◆ _a8

u32 ParentMovementMgr::_a8
private

◆ _ac

u32 ParentMovementMgr::_ac
private

◆ _b0

u32 ParentMovementMgr::_b0
private

◆ _b4

u32 ParentMovementMgr::_b4
private

◆ _b8

u32 ParentMovementMgr::_b8
private

◆ _bc

u32 ParentMovementMgr::_bc
private

◆ mMovementProperties

MovementProperties ParentMovementMgr::mMovementProperties
private

◆ mFStateMgr

FStateMgr<ParentMovementMgr> ParentMovementMgr::mFStateMgr
private