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

Public Member Functions

 CocoNut (const char *)
 
virtual void init (const JMapInfoIter &)
 Intializes the NameObj and can set various settings and construct necessary classes.
 
virtual void initAfterPlacement ()
 
virtual void startClipped ()
 
virtual void calcAndSetBaseMtx ()
 Calculates and sets the base matrix of the actor.
 
virtual void attackSensor (HitSensor *, HitSensor *)
 
virtual bool receiveMsgPush (HitSensor *, HitSensor *)
 
virtual bool receiveMsgPlayerAttack (u32, HitSensor *, HitSensor *)
 
virtual bool receiveOtherMsg (u32, HitSensor *, HitSensor *)
 
void initMapToolInfo (const JMapInfoIter &)
 
void initModel () NO_INLINE
 
void initSensor ()
 
void initEffect ()
 
void updateRotate (float)
 
void updateGravity ()
 
void processMove ()
 
bool isOnGround () const
 
float calcMoveSpeed () const
 
void setFrontVec (const TVec3f &)
 
bool getWallNormal (TVec3f *) const
 
bool sendMsgToBindedSensor ()
 
bool sendMsgEnemyAttackToBindedSensor (HitSensor *)
 
bool tryHit (HitSensor *, HitSensor *)
 
bool isPossibleToHit (const TVec3f &, const TVec3f &, const TVec3f &) const
 
void calcHitSpeedAndFrontVec (float *, float *, TVec3f *, TVec3f *, const TVec3f &, const TVec3f &) const
 
void hit (const TVec3f &, float)
 
bool tryPushedFromActor (HitSensor *, HitSensor *)
 
void reviseFrontVec ()
 
void statusToWait ()
 
bool isValidReceiveMsg (const HitSensor *) const
 
void statusToHide ()
 
void emitEffectSpinHit (const HitSensor *, const HitSensor *)
 
void tryMoveEnd ()
 
bool tryDisappear ()
 
bool isContactWithOtherCocoNut () const
 
bool isValidPushedFromPlayer (const HitSensor *, const HitSensor *) const
 
void calcHitSpeedAndFrontVec (f32 *, f32 *, TVec3f *, TVec3f *, TVec3f *, TVec3f *) const
 
void exeWait ()
 
void exeWaitOnBind ()
 
void exeMove ()
 
void exeInWater ()
 
void exeBreak ()
 
f32 getSize ()
 
- 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 appear ()
 
virtual void makeActorAppeared ()
 
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 endClipped ()
 
virtual void control ()
 
virtual void updateHitSensor (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 ()
 

Static Public Member Functions

static void makeArchiveList (NameObjArchiveListCollector *, const JMapInfoIter &)
 
static const char * getModelName ()
 
static const char * getBreakEffectName ()
 

Private Attributes

float _8C
 
float _90
 
TVec3f _94
 
TPos3f _A0
 
float _D0
 
bool _D4
 
TPos3f _D8
 
TPos3f _108
 
s32 _138
 
bool _13C
 
TVec3f mSpawnPosition
 
bool _14C
 
TVec3f _150
 
bool mSphericalShadow
 
bool mRespawnWhenOutOfView
 
bool _15E
 
bool mContinueRolling
 

Additional Inherited Members

- 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 6 of file CocoNut.hpp.

Constructor & Destructor Documentation

◆ CocoNut()

CocoNut::CocoNut ( const char * pName)

Definition at line 11 of file CocoNut.cpp.

◆ ~CocoNut()

CocoNut::~CocoNut ( )
virtual

Definition at line 32 of file CocoNut.cpp.

Member Function Documentation

◆ init()

void CocoNut::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.

Definition at line 35 of file CocoNut.cpp.

◆ initAfterPlacement()

void CocoNut::initAfterPlacement ( )
virtual

Reimplemented from NameObj.

Definition at line 76 of file CocoNut.cpp.

◆ startClipped()

void CocoNut::startClipped ( )
virtual

Reimplemented from LiveActor.

Definition at line 94 of file CocoNut.cpp.

◆ calcAndSetBaseMtx()

void CocoNut::calcAndSetBaseMtx ( )
virtual

Calculates and sets the base matrix of the actor.

Reimplemented from LiveActor.

Definition at line 649 of file CocoNut.cpp.

◆ attackSensor()

void CocoNut::attackSensor ( HitSensor * arg0,
HitSensor * arg1 )
virtual

Reimplemented from LiveActor.

Definition at line 686 of file CocoNut.cpp.

◆ receiveMsgPush()

bool CocoNut::receiveMsgPush ( HitSensor * pMySensor,
HitSensor * pOtherSensor )
virtual

Reimplemented from LiveActor.

Definition at line 710 of file CocoNut.cpp.

◆ receiveMsgPlayerAttack()

bool CocoNut::receiveMsgPlayerAttack ( u32 a1,
HitSensor * pOtherSensor,
HitSensor * pMySensor )
virtual

Reimplemented from LiveActor.

Definition at line 720 of file CocoNut.cpp.

◆ receiveOtherMsg()

bool CocoNut::receiveOtherMsg ( u32 arg0,
HitSensor * pOtherSensor,
HitSensor * pMySensor )
virtual

Reimplemented from LiveActor.

Definition at line 771 of file CocoNut.cpp.

◆ makeArchiveList()

void CocoNut::makeArchiveList ( NameObjArchiveListCollector * pArchiveList,
const JMapInfoIter & rIter )
static

Definition at line 645 of file CocoNut.cpp.

◆ initMapToolInfo()

void CocoNut::initMapToolInfo ( const JMapInfoIter & rIter)

Definition at line 802 of file CocoNut.cpp.

◆ initModel()

void CocoNut::initModel ( )

Definition at line 180 of file CocoNut.cpp.

◆ initSensor()

void CocoNut::initSensor ( )

Definition at line 174 of file CocoNut.cpp.

◆ initEffect()

void CocoNut::initEffect ( )

Definition at line 184 of file CocoNut.cpp.

◆ updateGravity()

void CocoNut::updateGravity ( )

Definition at line 244 of file CocoNut.cpp.

◆ isOnGround()

bool CocoNut::isOnGround ( ) const

Definition at line 585 of file CocoNut.cpp.

◆ calcMoveSpeed()

f32 CocoNut::calcMoveSpeed ( ) const

Definition at line 170 of file CocoNut.cpp.

◆ setFrontVec()

void CocoNut::setFrontVec ( const TVec3f & a1)

Definition at line 359 of file CocoNut.cpp.

◆ getWallNormal()

bool CocoNut::getWallNormal ( TVec3f * arg0) const

Definition at line 595 of file CocoNut.cpp.

◆ sendMsgToBindedSensor()

bool CocoNut::sendMsgToBindedSensor ( )

Definition at line 607 of file CocoNut.cpp.

◆ sendMsgEnemyAttackToBindedSensor()

bool CocoNut::sendMsgEnemyAttackToBindedSensor ( HitSensor * arg0)

Definition at line 620 of file CocoNut.cpp.

◆ tryHit()

bool CocoNut::tryHit ( HitSensor * pOtherSensor,
HitSensor * pMySensor )

Definition at line 373 of file CocoNut.cpp.

◆ isPossibleToHit()

bool CocoNut::isPossibleToHit ( const TVec3f & a1,
const TVec3f & a2,
const TVec3f & a3 ) const

Definition at line 142 of file CocoNut.cpp.

◆ hit()

void CocoNut::hit ( const TVec3f & ,
float  )

Definition at line 122 of file CocoNut.cpp.

◆ tryPushedFromActor()

bool CocoNut::tryPushedFromActor ( HitSensor * pOtherSensor,
HitSensor * pMySensor )

Definition at line 398 of file CocoNut.cpp.

◆ reviseFrontVec()

void CocoNut::reviseFrontVec ( )

Definition at line 435 of file CocoNut.cpp.

◆ statusToWait()

void CocoNut::statusToWait ( )

Definition at line 468 of file CocoNut.cpp.

◆ isValidReceiveMsg()

bool CocoNut::isValidReceiveMsg ( const HitSensor * a1) const

Definition at line 627 of file CocoNut.cpp.

◆ statusToHide()

void CocoNut::statusToHide ( )

Definition at line 811 of file CocoNut.cpp.

◆ emitEffectSpinHit()

void CocoNut::emitEffectSpinHit ( const HitSensor * pOtherSensor,
const HitSensor * pMySensor )

Definition at line 821 of file CocoNut.cpp.

◆ tryMoveEnd()

void CocoNut::tryMoveEnd ( )

Definition at line 487 of file CocoNut.cpp.

◆ tryDisappear()

bool CocoNut::tryDisappear ( )

Definition at line 504 of file CocoNut.cpp.

◆ isContactWithOtherCocoNut()

bool CocoNut::isContactWithOtherCocoNut ( ) const

Definition at line 839 of file CocoNut.cpp.

◆ isValidPushedFromPlayer()

bool CocoNut::isValidPushedFromPlayer ( const HitSensor * arg0,
const HitSensor * arg1 ) const

Definition at line 518 of file CocoNut.cpp.

◆ getModelName()

const char * CocoNut::getModelName ( )
static

Definition at line 635 of file CocoNut.cpp.

◆ getBreakEffectName()

const char * CocoNut::getBreakEffectName ( )
static

Definition at line 640 of file CocoNut.cpp.

◆ exeWait()

void CocoNut::exeWait ( )

Definition at line 850 of file CocoNut.cpp.

◆ exeWaitOnBind()

void CocoNut::exeWaitOnBind ( )

Definition at line 865 of file CocoNut.cpp.

◆ exeMove()

void CocoNut::exeMove ( )

Definition at line 877 of file CocoNut.cpp.

◆ exeInWater()

void CocoNut::exeInWater ( )

Definition at line 896 of file CocoNut.cpp.

◆ exeBreak()

void CocoNut::exeBreak ( )

Definition at line 918 of file CocoNut.cpp.

◆ getSize()

f32 CocoNut::getSize ( )
inline

Definition at line 69 of file CocoNut.hpp.

Member Data Documentation

◆ _8C

float CocoNut::_8C
private

Definition at line 72 of file CocoNut.hpp.

◆ _90

float CocoNut::_90
private

Definition at line 73 of file CocoNut.hpp.

◆ _94

TVec3f CocoNut::_94
private

Definition at line 74 of file CocoNut.hpp.

◆ _A0

TPos3f CocoNut::_A0
private

Definition at line 75 of file CocoNut.hpp.

◆ _D0

float CocoNut::_D0
private

Definition at line 76 of file CocoNut.hpp.

◆ _D4

bool CocoNut::_D4
private

Definition at line 77 of file CocoNut.hpp.

◆ _D8

TPos3f CocoNut::_D8
private

Definition at line 78 of file CocoNut.hpp.

◆ _108

TPos3f CocoNut::_108
private

Definition at line 79 of file CocoNut.hpp.

◆ _138

s32 CocoNut::_138
private

Definition at line 80 of file CocoNut.hpp.

◆ _13C

bool CocoNut::_13C
private

Definition at line 81 of file CocoNut.hpp.

◆ mSpawnPosition

TVec3f CocoNut::mSpawnPosition
private

Definition at line 82 of file CocoNut.hpp.

◆ _14C

bool CocoNut::_14C
private

Definition at line 83 of file CocoNut.hpp.

◆ _150

TVec3f CocoNut::_150
private

Definition at line 84 of file CocoNut.hpp.

◆ mSphericalShadow

bool CocoNut::mSphericalShadow
private

Definition at line 85 of file CocoNut.hpp.

◆ mRespawnWhenOutOfView

bool CocoNut::mRespawnWhenOutOfView
private

Definition at line 86 of file CocoNut.hpp.

◆ _15E

bool CocoNut::_15E
private

Definition at line 87 of file CocoNut.hpp.

◆ mContinueRolling

bool CocoNut::mContinueRolling
private

Definition at line 88 of file CocoNut.hpp.