SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
SuperSpinDriver Class Reference
Inheritance diagram for SuperSpinDriver:
LiveActor NameObj

Public Member Functions

 SuperSpinDriver (const char *, s32)
 
virtual void init (const JMapInfoIter &)
 Intializes the NameObj and can set various settings and construct necessary classes.
 
virtual void initAfterPlacement ()
 
virtual void appear ()
 
virtual void makeActorAppeared ()
 
virtual void startClipped ()
 
virtual void endClipped ()
 
virtual void control ()
 
virtual void calcAndSetBaseMtx ()
 Calculates and sets the base matrix of the actor.
 
virtual void attackSensor (HitSensor *, HitSensor *)
 
virtual bool receiveOtherMsg (u32, HitSensor *, HitSensor *)
 
void initParamFromJMapInfo (const JMapInfoIter &)
 
void initGravityAxis ()
 
void initSensor ()
 
void initEmptyModel ()
 
void initEventCamera (const JMapInfoIter &)
 
void initShootPath (const JMapInfoIter &)
 
void initShootPathDraw (const JMapInfoIter &)
 
void initColor ()
 
void initOperateRing ()
 
void initAppearState (const JMapInfoIter &)
 
bool canBind (HitSensor *, HitSensor *) const
 
bool tryBind (HitSensor *, HitSensor *) const
 
bool tryEndCapture ()
 
bool tryForceCancel ()
 
bool tryShootStart ()
 
bool tryShoot ()
 
bool tryEndShoot ()
 
bool tryEndCoolDown ()
 
bool trySwitchOff ()
 
void requestAppear ()
 
void requestEmptyAppear ()
 
void requestActive ()
 
void requestHide ()
 
void requestShow ()
 
void exeEmptyNonActive ()
 
void exeEmptyAppear ()
 
void exeEmptyWait ()
 
void exeNonActive ()
 
void exeAppear ()
 
void exeWait ()
 
void exeCapture ()
 
void exeShootStart ()
 
void exeShoot ()
 
void exeCoolDown ()
 
void exeShootOnEnd ()
 
void updateShootMotion ()
 
void cancelBind ()
 
void endBind ()
 
void updateBindActorMatrix ()
 
void updateBindActorPoseToShoot (f32)
 
void turnBindHead (const TVec3f &, f32)
 
void moveBindPosToCenter ()
 
void startPathDraw ()
 
void endPathDraw ()
 
void updatePathDraw (f32)
 
void updateOperateRate ()
 
void updateBindPosition (f32)
 
void calcShootMotionTime ()
 
void addSwingSignRotateY ()
 
void onUse ()
 
void offUse ()
 
bool isNeedEmptyModel () const
 
bool isRightToUse () const
 
- Public Member Functions inherited from LiveActor
 LiveActor (const char *pName)
 Constructs a new LiveActor instance.
 
virtual void movement ()
 
virtual void calcAnim ()
 
virtual void calcViewAndEntry ()
 
virtual void kill ()
 
virtual void makeActorDead ()
 
virtual bool receiveMessage (u32, HitSensor *, HitSensor *)
 
virtual MtxPtr getBaseMtx () const
 Gets the base matrix of the model used for the actor.
 
virtual MtxPtr getTakingMtx () const
 
virtual void updateHitSensor (HitSensor *)
 
virtual bool receiveMsgPush (HitSensor *, HitSensor *)
 
virtual bool receiveMsgPlayerAttack (u32, HitSensor *, HitSensor *)
 
virtual bool receiveMsgEnemyAttack (u32, HitSensor *, HitSensor *)
 
virtual u32 receiveMsgTake (HitSensor *, HitSensor *)
 
virtual u32 receiveMsgTaken (HitSensor *, HitSensor *)
 
virtual u32 receiveMsgThrow (HitSensor *, HitSensor *)
 
virtual u32 receiveMsgApart (HitSensor *, HitSensor *)
 
void calcAnmMtx ()
 
void setNerve (const Nerve *)
 
bool isNerve (const Nerve *) const
 
s32 getNerveStep () const
 
HitSensorgetSensor (const char *pSensorName) const
 Gets a sensor.
 
void initModelManagerWithAnm (const char *, const char *, bool)
 
void initNerve (const Nerve *)
 
void initHitSensor (int)
 
void initBinder (f32, f32, u32)
 
void initRailRider (const JMapInfoIter &)
 
void initEffectKeeper (int, const char *, bool)
 
void initSound (int, bool)
 
void initShadowControllerList (u32)
 
void initActorCollisionParts (const char *, HitSensor *, ResourceHolder *, MtxPtr, bool, bool)
 
void initStageSwitch (const JMapInfoIter &)
 
void initActorStarPointerTarget (f32, const TVec3f *, MtxPtr, TVec3f)
 
void initActorLightCtrl ()
 
void addToSoundObjHolder ()
 
void updateBinder ()
 
bool isBinderValid (Binder *pBinder)
 
TVec3f * getPosPtr ()
 
- Public Member Functions inherited from NameObj
 NameObj (const char *pName)
 Constructs a new NameObj instance.
 
virtual void draw () const
 Draws the object. Does nothing until overridden.
 
void initWithoutIter ()
 Initializes a NameObj without a JMapInfoIter instance.
 
void setName (const char *pName)
 Sets the NameObj's mName.
 
void executeMovement ()
 
void requestSuspend ()
 
void requestResume ()
 
void syncWithFlags ()
 

Public Attributes

LiveActor_8C
 
SpinDriverShootPathmShootPath
 
SpinDriverCameramSpinDriverCamera
 
SpinDriverOperateRingmOperateRing
 
SpinDriverPathDrawermPathDrawer
 
ModelObjmEmptyModel
 
TQuat4f _A4
 
TQuat4f _B4
 
TVec3f _C4
 
TVec3f _D0
 
TVec3f _DC
 
TVec3f _E8
 
TVec3f _F4
 
TVec3f _100
 
TVec3f _10C
 
TVec3f _118
 
TVec3f _124
 
f32 _130
 
f32 _134
 
f32 _138
 
f32 _13C
 
f32 _140
 
f32 _144
 
f32 _148
 
f32 _14C
 
u32 _150
 
u32 _154
 
u32 _158
 
u32 _15C
 
u32 _160
 
f32 _164
 
u32 _168
 
u32 _16C
 
s32 mColor
 
u8 _174
 
u8 _175
 
u8 _176
 
u8 _177
 
u32 _178
 
u8 _17C
 
u8 _17D
 
u8 _17E
 
u8 _17F
 
- Public Attributes inherited from LiveActor
TVec3f mPosition
 3D vector of the actor's position.
 
TVec3f mRotation
 3D vector of the actor's rotation.
 
TVec3f mScale
 3D vector of the actor's scale.
 
TVec3f mVelocity
 3D vector of the actor's velocity.
 
TVec3f mGravity
 3D vector of the actor's gravity.
 
ModelManagermModelManager
 A pointer to a ModelManager instance, used for drawing a 3D model.
 
ActorAnimKeepermAnimationKeeper
 A pointer to a ActorAnimKeeper instance, used for storing and playing model animations.
 
SpinemSpine
 
HitSensorKeepermSensorKeeper
 A pointer to a HitSensorKeeper instance, used for storing HitSensor instances.
 
BindermBinder
 
RailRidermRailRider
 A pointer to a RailRider instance, used for allowing the actor to ride on paths.
 
EffectKeepermEffectKeeper
 
AudAnmSoundObjectmSoundObject
 
LiveActorFlag mFlags
 Flags relating to drawing, animation calculation, etc.
 
ShadowControllerListmShadowList
 
CollisionPartsmCollisionParts
 
StageSwitchCtrlmStageSwitchCtrl
 A pointer to a StageSwitchCtrl instance, used for activating and deactivating switches.
 
StarPointerTarget * mStarPointerTarget
 
ActorLightCtrlmActorLightCtrl
 
ActorPadAndCameraCtrlmCameraCtrl
 
- Public Attributes inherited from NameObj
const char * mName
 A string to identify the NameObj.
 
volatile u16 mFlags
 Flags in relation to movement.
 
s16 mExecutorIdx
 The index into the NameObjExecuteInfo array.
 

Detailed Description

Definition at line 14 of file SuperSpinDriver.hpp.

Member Function Documentation

◆ init()

virtual void SuperSpinDriver::init ( const JMapInfoIter & rIter)
virtual

Intializes the NameObj and can set various settings and construct necessary classes.

Parameters
rIterA reference to the JMapInfoIter that supplies BCSV information.

Reimplemented from LiveActor.

◆ initAfterPlacement()

virtual void SuperSpinDriver::initAfterPlacement ( )
virtual

Reimplemented from NameObj.

◆ appear()

virtual void SuperSpinDriver::appear ( )
virtual

Reimplemented from LiveActor.

◆ makeActorAppeared()

virtual void SuperSpinDriver::makeActorAppeared ( )
virtual

Reimplemented from LiveActor.

◆ startClipped()

virtual void SuperSpinDriver::startClipped ( )
virtual

Reimplemented from LiveActor.

◆ endClipped()

virtual void SuperSpinDriver::endClipped ( )
virtual

Reimplemented from LiveActor.

◆ control()

virtual void SuperSpinDriver::control ( )
virtual

Reimplemented from LiveActor.

◆ calcAndSetBaseMtx()

virtual void SuperSpinDriver::calcAndSetBaseMtx ( )
virtual

Calculates and sets the base matrix of the actor.

Reimplemented from LiveActor.

◆ attackSensor()

virtual void SuperSpinDriver::attackSensor ( HitSensor * ,
HitSensor *  )
virtual

Reimplemented from LiveActor.

◆ receiveOtherMsg()

virtual bool SuperSpinDriver::receiveOtherMsg ( u32 ,
HitSensor * ,
HitSensor *  )
virtual

Reimplemented from LiveActor.

◆ tryEndCapture()

bool SuperSpinDriver::tryEndCapture ( )

Definition at line 5 of file SuperSpinDriver.cpp.

◆ tryForceCancel()

bool SuperSpinDriver::tryForceCancel ( )

Definition at line 16 of file SuperSpinDriver.cpp.

◆ tryShootStart()

bool SuperSpinDriver::tryShootStart ( )

Definition at line 25 of file SuperSpinDriver.cpp.

◆ tryShoot()

bool SuperSpinDriver::tryShoot ( )

Definition at line 41 of file SuperSpinDriver.cpp.

◆ tryEndShoot()

bool SuperSpinDriver::tryEndShoot ( )

Definition at line 50 of file SuperSpinDriver.cpp.

◆ tryEndCoolDown()

bool SuperSpinDriver::tryEndCoolDown ( )

Definition at line 60 of file SuperSpinDriver.cpp.

◆ trySwitchOff()

bool SuperSpinDriver::trySwitchOff ( )

Definition at line 69 of file SuperSpinDriver.cpp.

◆ requestAppear()

void SuperSpinDriver::requestAppear ( )

Definition at line 78 of file SuperSpinDriver.cpp.

◆ requestEmptyAppear()

void SuperSpinDriver::requestEmptyAppear ( )

Definition at line 89 of file SuperSpinDriver.cpp.

◆ requestActive()

void SuperSpinDriver::requestActive ( )

Definition at line 100 of file SuperSpinDriver.cpp.

◆ requestHide()

void SuperSpinDriver::requestHide ( )

Definition at line 109 of file SuperSpinDriver.cpp.

◆ requestShow()

void SuperSpinDriver::requestShow ( )

Definition at line 119 of file SuperSpinDriver.cpp.

◆ exeEmptyNonActive()

void SuperSpinDriver::exeEmptyNonActive ( )

Definition at line 125 of file SuperSpinDriver.cpp.

◆ exeEmptyAppear()

void SuperSpinDriver::exeEmptyAppear ( )

Definition at line 136 of file SuperSpinDriver.cpp.

◆ exeEmptyWait()

void SuperSpinDriver::exeEmptyWait ( )

Definition at line 160 of file SuperSpinDriver.cpp.

◆ exeNonActive()

void SuperSpinDriver::exeNonActive ( )

Definition at line 171 of file SuperSpinDriver.cpp.

◆ exeAppear()

void SuperSpinDriver::exeAppear ( )

Definition at line 180 of file SuperSpinDriver.cpp.

◆ exeWait()

void SuperSpinDriver::exeWait ( )

Definition at line 207 of file SuperSpinDriver.cpp.

◆ exeCapture()

void SuperSpinDriver::exeCapture ( )

Definition at line 233 of file SuperSpinDriver.cpp.

◆ exeCoolDown()

void SuperSpinDriver::exeCoolDown ( )
inline

Definition at line 372 of file SuperSpinDriver.cpp.

◆ exeShootOnEnd()

void SuperSpinDriver::exeShootOnEnd ( )
inline

Definition at line 380 of file SuperSpinDriver.cpp.

◆ updateShootMotion()

void SuperSpinDriver::updateShootMotion ( )

Definition at line 262 of file SuperSpinDriver.cpp.

◆ cancelBind()

void SuperSpinDriver::cancelBind ( )

Definition at line 282 of file SuperSpinDriver.cpp.

◆ endBind()

void SuperSpinDriver::endBind ( )

Definition at line 291 of file SuperSpinDriver.cpp.

◆ startPathDraw()

void SuperSpinDriver::startPathDraw ( )

Definition at line 297 of file SuperSpinDriver.cpp.

◆ endPathDraw()

void SuperSpinDriver::endPathDraw ( )

Definition at line 306 of file SuperSpinDriver.cpp.

◆ addSwingSignRotateY()

void SuperSpinDriver::addSwingSignRotateY ( )

Definition at line 333 of file SuperSpinDriver.cpp.

◆ onUse()

void SuperSpinDriver::onUse ( )

Definition at line 350 of file SuperSpinDriver.cpp.

◆ offUse()

void SuperSpinDriver::offUse ( )

Definition at line 358 of file SuperSpinDriver.cpp.

Member Data Documentation

◆ _8C

LiveActor* SuperSpinDriver::_8C

Definition at line 86 of file SuperSpinDriver.hpp.

◆ mShootPath

SpinDriverShootPath* SuperSpinDriver::mShootPath

Definition at line 87 of file SuperSpinDriver.hpp.

◆ mSpinDriverCamera

SpinDriverCamera* SuperSpinDriver::mSpinDriverCamera

Definition at line 88 of file SuperSpinDriver.hpp.

◆ mOperateRing

SpinDriverOperateRing* SuperSpinDriver::mOperateRing

Definition at line 89 of file SuperSpinDriver.hpp.

◆ mPathDrawer

SpinDriverPathDrawer* SuperSpinDriver::mPathDrawer

Definition at line 90 of file SuperSpinDriver.hpp.

◆ mEmptyModel

ModelObj* SuperSpinDriver::mEmptyModel

Definition at line 91 of file SuperSpinDriver.hpp.

◆ _A4

TQuat4f SuperSpinDriver::_A4

Definition at line 92 of file SuperSpinDriver.hpp.

◆ _B4

TQuat4f SuperSpinDriver::_B4

Definition at line 93 of file SuperSpinDriver.hpp.

◆ _C4

TVec3f SuperSpinDriver::_C4

Definition at line 94 of file SuperSpinDriver.hpp.

◆ _D0

TVec3f SuperSpinDriver::_D0

Definition at line 95 of file SuperSpinDriver.hpp.

◆ _DC

TVec3f SuperSpinDriver::_DC

Definition at line 96 of file SuperSpinDriver.hpp.

◆ _E8

TVec3f SuperSpinDriver::_E8

Definition at line 97 of file SuperSpinDriver.hpp.

◆ _F4

TVec3f SuperSpinDriver::_F4

Definition at line 98 of file SuperSpinDriver.hpp.

◆ _100

TVec3f SuperSpinDriver::_100

Definition at line 99 of file SuperSpinDriver.hpp.

◆ _10C

TVec3f SuperSpinDriver::_10C

Definition at line 100 of file SuperSpinDriver.hpp.

◆ _118

TVec3f SuperSpinDriver::_118

Definition at line 101 of file SuperSpinDriver.hpp.

◆ _124

TVec3f SuperSpinDriver::_124

Definition at line 102 of file SuperSpinDriver.hpp.

◆ _130

f32 SuperSpinDriver::_130

Definition at line 103 of file SuperSpinDriver.hpp.

◆ _134

f32 SuperSpinDriver::_134

Definition at line 104 of file SuperSpinDriver.hpp.

◆ _138

f32 SuperSpinDriver::_138

Definition at line 105 of file SuperSpinDriver.hpp.

◆ _13C

f32 SuperSpinDriver::_13C

Definition at line 106 of file SuperSpinDriver.hpp.

◆ _140

f32 SuperSpinDriver::_140

Definition at line 107 of file SuperSpinDriver.hpp.

◆ _144

f32 SuperSpinDriver::_144

Definition at line 108 of file SuperSpinDriver.hpp.

◆ _148

f32 SuperSpinDriver::_148

Definition at line 109 of file SuperSpinDriver.hpp.

◆ _14C

f32 SuperSpinDriver::_14C

Definition at line 110 of file SuperSpinDriver.hpp.

◆ _150

u32 SuperSpinDriver::_150

Definition at line 111 of file SuperSpinDriver.hpp.

◆ _154

u32 SuperSpinDriver::_154

Definition at line 112 of file SuperSpinDriver.hpp.

◆ _158

u32 SuperSpinDriver::_158

Definition at line 113 of file SuperSpinDriver.hpp.

◆ _15C

u32 SuperSpinDriver::_15C

Definition at line 114 of file SuperSpinDriver.hpp.

◆ _160

u32 SuperSpinDriver::_160

Definition at line 115 of file SuperSpinDriver.hpp.

◆ _164

f32 SuperSpinDriver::_164

Definition at line 116 of file SuperSpinDriver.hpp.

◆ _168

u32 SuperSpinDriver::_168

Definition at line 117 of file SuperSpinDriver.hpp.

◆ _16C

u32 SuperSpinDriver::_16C

Definition at line 118 of file SuperSpinDriver.hpp.

◆ mColor

s32 SuperSpinDriver::mColor

Definition at line 119 of file SuperSpinDriver.hpp.

◆ _174

u8 SuperSpinDriver::_174

Definition at line 120 of file SuperSpinDriver.hpp.

◆ _175

u8 SuperSpinDriver::_175

Definition at line 121 of file SuperSpinDriver.hpp.

◆ _176

u8 SuperSpinDriver::_176

Definition at line 122 of file SuperSpinDriver.hpp.

◆ _177

u8 SuperSpinDriver::_177

Definition at line 123 of file SuperSpinDriver.hpp.

◆ _178

u32 SuperSpinDriver::_178

Definition at line 124 of file SuperSpinDriver.hpp.

◆ _17C

u8 SuperSpinDriver::_17C

Definition at line 125 of file SuperSpinDriver.hpp.

◆ _17D

u8 SuperSpinDriver::_17D

Definition at line 126 of file SuperSpinDriver.hpp.

◆ _17E

u8 SuperSpinDriver::_17E

Definition at line 127 of file SuperSpinDriver.hpp.

◆ _17F

u8 SuperSpinDriver::_17F

Definition at line 128 of file SuperSpinDriver.hpp.