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

#include <MechaKoopa.h>

Inherits CarryEnemy.

Public Member Functions

 MechaKoopa (const ActorCreateParam &param)
bool isSpinLiftUpEnable () override
void waterSplashEffect (const sead::Vector3f &) override
void yoganSplashEffect (const sead::Vector3f &) override
void poisonSplashEffect (const sead::Vector3f &) override
bool vf18C () override
bool createIceActor () override
 Callback for spawning ice blocks when frozen by an ice flower.
void setIceAnm () override
void calcMdl_Base () override
bool etcDamageCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void vsEnemyHitCheck_Normal (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_Spin (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_HipAttk (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_Fire (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void reactFumiProc (Actor *) override
void reactSpinFumiProc (Actor *) override
void playerHitCheck_Awake (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void playerHitCheck_Sleep (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void playerHitCheck_Sleep_Base (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void setPutOnChangeState (Actor *player) override
void setThrowChangeState (Actor *player, bool hard) override
Public Member Functions inherited from CarryEnemy
 CarryEnemy (const ActorCreateParam &param)
void setSpinLiftUpActor (Actor *player) override
bool carryCheckBg (Actor *player)
void setDeathInfo_CarryBgIn (Actor *player, bool eff_set)
PlayerObjectgetCarryPlayerObject () const
PlayerObjectgetCarryPlayerObject2 () const
bool carryCheck (Actor *player)
void cancelCarry ()
bool checkSleepEnd () const
void startSlide ()
void endSlide ()
void setSlideCc ()
void resetSlideCc ()
void setSlideBc ()
void resetSlideBc ()
DirType getRevisionDir (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
void vsPlayerHitCheck_Normal (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void reactMameFumiProc (Actor *player)
bool fumiProcCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void playerHitCheck_Carry (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
void playerHitCheck_Carry_Base (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
bool hitCallback_Ice (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_Shell (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_AttackUnk27 (bool *dead, ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void setSlidePlayerParam (Actor *player)
void calcCarryPos (sead::Vector3f *pos, PlayerObject *player_obj)
void adjustCarryCc (ActorCollisionCheck *cc, PlayerObject *player_obj)
Public Member Functions inherited from Enemy
 Enemy (const ActorCreateParam &param)
 ~Enemy () override=default
void changeState (const StateID &state_id) override
virtual bool setDamage (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool checkComboClap (s32 combo_cnt)
virtual void returnAnm_Ice ()
virtual void returnState_Ice ()
virtual bool vf1CC ()
virtual bool enemyDamageCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool playerDamageCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool enemyPreDamageCheck (bool *dead, ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void hitYoshiEat (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool yoshiDamageCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool chibiYoshiDamageCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void vsYoshiHitCheck_Normal (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void vsChibiYoshiHitCheck_Normal (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_Star (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_Slip (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_WireNet (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_YoshiHipAttk (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_PenguinSlide (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_Cannon (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_AttackUnk25 (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_YoshiBullet (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_YoshiFire (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_ChibiYoshiUnk (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_ChibiYoshiLight (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_ChibiYoshiStar (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void setDeathInfo_Quake (s32)
virtual void setDeathInfo_IceBreak ()
virtual bool setDeathInfo_Star (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool isQuakeDamage ()
virtual void setDeathSound_Fire ()
virtual void setDeathSound_HipAttk ()
virtual void fumiJumpSet (Actor *)
virtual void fumiScoreSet (Actor *)
virtual void yoshiFumiJumpSet (Actor *)
virtual void yoshiFumiScoreSet (Actor *)
virtual void mameFumiJumpSet (Actor *)
virtual void fumiSE (Actor *)
virtual void fumiEffect (Actor *)
virtual void spinfumiSE (Actor *)
void spinfumiEffect (Actor *)
virtual void mamefumiSE ()
virtual void mamefumiEffect (Actor *)
virtual void yoshifumiSE (Actor *)
virtual void hipatkEffect (const sead::Vector3f &effect_pos)
virtual void vf34C ()
virtual bool checkDispIn ()
virtual void setAwaHit (Actor *awa)
virtual void awaCatchMove (Actor *awa)
virtual void setAwaCatchEnd (Actor *awa)
virtual void setAwaInvalid (Actor *awa)
void setDeathInfo_Fall (DirType direction, s32 player_no=-1, ScoreMgr::ScoreType score_type=ScoreMgr::cScoreType_Invalid)
void setDeathInfo_Fall (const sead::Vector2f *speeds, DirType direction, s32 player_no=-1, ScoreMgr::ScoreType score_type=ScoreMgr::cScoreType_Invalid)
void setDeathInfo_Fumi (Actor *player, const sead::Vector2f &speed, const StateID &state_id)
void setDeathInfo_Fumi (Actor *player, const sead::Vector2f &speed)
void setDeathInfo_FumiFall (Actor *player, const sead::Vector2f &speed)
void setDeathInfo_FumiOther (Actor *player, const sead::Vector2f &speed)
void setDeathInfo_SpinFumi (Actor *)
void setDeathInfo_YoshiFumi (Actor *)
void startSound (const char *name)
FumiType fumiCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other, FumiSeType se_type)
 Process a collision with a player and return which type occurred.
s32 calcComboPlFumiCnt (Actor *player)
void bound (f32, f32, f32)
void calcMdl_Normal ()
bool isDead () const
void hitdamageEffect (const sead::Vector3f &effect_pos)
Angle applyWaterRollDec (Angle ang)
void killIce ()
void fumistepSE (Actor *)
void yoshifumistepSE (Actor *)
void spinFumiJumpSet (Actor *actor)
void spinFumiScoreSet (Actor *)
Public Member Functions inherited from ActorMultiState
 ActorMultiState (const ActorCreateParam &param)
 ~ActorMultiState () override
void executeState ()
bool isState (const StateID &state_id) const
bool isOldState (const StateID &state_id) const
bool isMainState (const StateID &state_id) const
Public Member Functions inherited from ActorCollision
ActorBgCollisionCheckgetBgCheck () override
Public Member Functions inherited from Actor
virtual void setPlayerNo (s8 id)
s8 getPlayerNo () const
virtual void removeCollisionCheck ()
virtual void reviveCollisionCheck ()
virtual void setCarryFall (Actor *, s32)
virtual void vfC4 ()
virtual void vfCC ()
bool checkCarried (s32 *player_no)
s32 getComboCnt () const
void clrComboCnt ()
void incComboCnt ()
void slideComboSE (s32 combo_cnt, bool combo_type_2)
s32 searchNearPlayer (sead::Vector2f &out)
DirType getPlayerDirLR (const sead::Vector3f &position)
DirType getPlayerDirUD (const sead::Vector3f &position)
DirType getPlayerDirLR ()
DirType getPlayerDirUD ()
bool screenOutCheck (u16 flag)
 Checks if the actor is out of gameplay and optionally deletes it.
virtual void allEnemyDeathEffSet ()
virtual void yoganWaveSplashEffect (const sead::Vector3f &pos)
f32 getEffectZPos () const
bool checkEat () const
void deleteActor (bool manual_deleted)
 Schedule this actor for deletion on the next frame.
ActorCollisionCheckgetCollisionCheck ()
const ActorCollisionCheckgetCollisionCheck () const
bool isExecEnable () const
bool isDrawEnable () const
DirType getDirection () const
void setDirection (DirType dir)
u8 getLayer () const
f32 getSpeedF () const
void setSpeedF (f32 speedF)
f32 getMaxSpeedF () const
void setMaxSpeedF (f32 maxSpeedF)
f32 getMaxFallSpeed () const
void setMaxFallSpeed (f32 maxFallSpeed)
f32 getAccelY () const
void setAccelY (f32 accelY)
f32 getAccelF () const
void setAccelF (f32 accelF)
sead::Vector3fgetPos ()
const sead::Vector3fgetPos () const
sead::Vector2fgetPos2D ()
const sead::Vector2fgetPos2D () const
sead::Vector3f getCenterPos () const
sead::Vector2f getCenterPos2D () const
f32 getCenterX () const
f32 getCenterY () const
f32 getCenterZ () const
sead::Vector3fgetSpeedVec ()
const sead::Vector3fgetSpeedVec () const
sead::Vector3fgetSpeedMaxVec ()
const sead::Vector3fgetSpeedMaxVec () const
sead::Vector3fgetScale ()
const sead::Vector3fgetScale () const
Angle3getAngle ()
const Angle3getAngle () const
ActorType getActorType () const
void setKind (ActorType type)
bool getManualDeletedFlag () const
CarryFlag getCarryFlag () const
u8 getSwitchFlag0 () const
u8 getSwitchFlag1 () const
u32 getProfFlag () const
Public Member Functions inherited from ActorBase
bool isActive () const
 Whether this actor has been successfully created and is now active.
void deleteRequest ()
 Schedule this actor for deletion on the next frame.
bool isRequestedDelete () const
 Whether this actor has been scheduled for deletion on the next frame.
ActorUniqueID getActorUniqueID () const
 The unique identifier handle for this actor.
s32 getProfileID () const
 The specific profile ID which this actor was instantiated from.
ProfilegetProfile () const
 The specific profile which this actor was instantiated from.
bool isCreatedImmediately () const
 Whether the actor was created with ActorMgr::createImmediately(), rather than deferred with ActorMgr::createLater().
bool isMapActor () const
 Whether the actor was spawned from the level with ActorCreateMgr, rather than dynamically spawned by another actor.
u32 getParam0 () const
 Level designer configuration. Also known as "nybbles" or "spritedata".
u32 getParam1 () const
 Level designer configuration. Also known as "nybbles" or "spritedata".
ActorParamEx1 getParamEx () const
 Extra level designer configuration. Also known as "nybbles" or "spritedata".
const ListgetChildList () const
 sead::OffsetList used for holding child actors spawned by this actor. Managed automatically if param.parent_id is set when spawning.
sead::HeapgetActorHeap () const
 The personal heap for this actor.
ActorBasegetParent () const
template<typename T>
T * getParent () const
 The parent actor pointer if this actor is a child, nullptr otherwise.
void removeChild (ActorBase *child)
 Disconnects a child from this actor's family tree.

Static Public Attributes

static const ActorCreateInfo cActorCreateInfo
Static Public Attributes inherited from CarryEnemy
static const s32 cShellSlideNoHitTimer = 10
Static Public Attributes inherited from Enemy
static const f32 cDieFallInitSpeedX [cDirType_NumX]
static const f32 cFumiJumpSpeed
static const f32 cDefaultGravity
static const f32 cDefaultMaxFallSpeed
static const f32 cDieFallInitSpeedY
static const f32 cDieFallMaxFallSpeed
static const f32 cDieFallGravity
static const Angle cBaseAngleY [cDirType_NumX]
 Maps a 2D direction to a "facing" Y-angle.
static const s8 cEnMuki [cDirType_NumX]
 Maps a 2D direction to a sign multiplier (1 or -1).
static const s32 cNoHitPlayerTimerDefault = 5

Protected Member Functions

Result create () override
 Main initialization/setup callback for the actor.
bool execute () override
 Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).
bool draw () override
 Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).
void blockHitInit_ () override
Protected Member Functions inherited from CarryEnemy
bool preExecute () override
 Callback invoked before the execute operation.
Result doDelete () override
 Main deletion callback for the actor.
Protected Member Functions inherited from Enemy
bool preExecute () override
 Callback invoked before the execute operation.
void setSmokeDamage_ (Actor *) override
bool setTouchDrcDamage_ (const sead::Vector2f &pos) override
Protected Member Functions inherited from ActorCollision
 ActorCollision (const ActorCreateParam &param)
void postCreate (MainState state) override
 Callback invoked unconditionally after the create phase completes. It executes even if preCreate() bypassed the main create() operation.
void postExecute (MainState state) override
 Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() bypassed the main execute() operation.
virtual void setWaterFunsui_ (bool enable)
virtual bool isWaterFunsui_ () const
virtual void beginFunsui_ ()
virtual void endFunsui_ (f32 speed_y)
virtual bool isFunsui_ () const
virtual void vf134 (f32 speed)
virtual bool vf13C ()
virtual void vf144 (s32)
virtual void setFunsuiPos_ (sead::Vector2f dst)
virtual void setFunsuiSpeedY_ (f32 speed)
virtual bool smokeDamageEnable_Yogan_ (f32 surface_pos_y)
virtual bool smokeDamageEnable_Poison_ (f32 surface_pos_y)
virtual void getBox_ (sead::BoundBox2f &box)
 ~ActorCollision () override
BgCheckFlag bgCheck_ ()
bool bgCheckFoot_ () const
bool bgCheckWall_ () const
void clampMoveDistance_ (BgCollision &bg_collision)
bool isHitBgCollision_ (const BgCollision &bg_collision) const
void calcSpeedY_ ()
void calcFallSpeed_ ()
void posMove_ ()
void posMoveCalcJump_ ()
void calcJumpSpeedF_ ()
WaterType checkWater_ (f32 *surface_pos_y)
void enterWater_ ()
bool hasamareBgCheck_ ()
void checkSnapToGround_ (f32 y_check_distance, const ActorBgCollisionCheck::Sensor &foot_sensor)
void snapToGround_ (f32 y_check_distance, const ActorBgCollisionCheck::Sensor &foot_sensor, bool extended, bool force)
void registerInGamescene_ ()
bool checkForSuitableGround_ (const sead::Vector2f &offset) const
Protected Member Functions inherited from Actor
 Actor (const ActorCreateParam &param)
 ~Actor () override
bool preDraw () override
 Callback invoked before the draw operation.
virtual bool drawCullCheck_ ()
void splashEffect_ (const sead::Vector3f &pos, EffectID effect_id, u8 wave_scale, const char *sound_label)
void setAreaNo_ ()
void calcSpeedX_ ()
void calcSpeedY_ (f32 accel_y, f32 speed_max_y)
void calcSpeedY_ ()
void calcSpeedF_ (f32 accelF, f32 max_speedF)
void calcSpeedF_ ()
void calcFallSpeed_ (f32 accel_y, f32 max_fall_speed)
void calcFallSpeed_ ()
void posMove_ (sead::Vector3f &delta)
void posMove_ (sead::Vector2f &delta_xy, f32 delta_z)
void posMove_ ()
void carryFukidashiCheck_ (s32 action)
void carryFukidashiCheck_ (s32 action, const sead::Vector2f &range)
void carryFukidashiCancel_ (s32 action, s32 player_no)
bool isEnablePressLR_ (const ActorBgCollisionCheck &bc)
bool isEnablePressUD_ (const ActorBgCollisionCheck &bc)
bool setPressBreakLR_ (const ActorBgCollisionCheck &bc)
bool setPressBreakUD_ (const ActorBgCollisionCheck &bc)
bool setPressIceHeadBreak_ (const ActorBgCollisionCheck &bc)
bool setPressBreakIce_ (const BgCollision *bg_collision)
bool setPressBreakBlockDRC_ (const BgCollision *bg_collision)
Protected Member Functions inherited from ActorBase
 ActorBase (const ActorCreateParam &param)
 Constructs an actor from configuration data.
virtual ~ActorBase ()
 Destroys the actor and orphans all of its children.
virtual bool preCreate ()
 Callback invoked before the create operation.
virtual void finalUpdate ()
 Callback which is called after all other actors have finished executing for this frame.
virtual void postDraw (MainState state)
 Callback invoked unconditionally after the draw phase completes. It executes even if preDraw() bypassed the main draw() operation.
virtual bool preDelete ()
 Callback invoked before the delete operation.
virtual void postDelete (MainState state)
 Unconditionally called callback for after the delete operation.
void setActive_ (bool active)

Protected Attributes

ModelResourcemModelResource
AnimModelmAnimModel
u32 mNextTurnTimer
u32 mDownTimer
u32 mCurrentAnim
u8 _18cc
u8 _18cd
MechaKoopaDrcTouchCB mDrcTouchCallback
EnemyBoyoMgr mBoyoMgr
f32 _18f4
Protected Attributes inherited from CarryEnemy
sead::Vector3f mCarryBaseOffset
ActorCollisionCheck::Vec2 mPreCarryCcCenterOffset
ActorCollisionCheck::Vec2 mPreCarryCcHalfSize
f32 mCarryChangePosZ
u32 _18a0
u32 _18a4
s8 mCarryPlayerNo
ActorUniqueID mCarryPlayerID
bool mForceSetShellDamageEffect
bool mIsLiftUp
Protected Attributes inherited from Enemy
EnemyDeathInfo mDeathInfo
sead::SafeArray< u16, 4 > mNoHitPlayerTimer
sead::BitFlag32 mEnFlag
IceMgr mIceMgr
EnemyChibiYoshiAwaData mChibiYoshiAwaData
EnemyFumiProc mFumiProc
u16 _186c
u16 _186e
u32 _1870
u8 mDieFallDirection
u8 mPreIceDirection
Combo mCombo
u8 _187c
u8 _187d
s8 _187e
Protected Attributes inherited from ActorMultiState
FStateStateMgr< ActorMultiStatemStateMgr
Protected Attributes inherited from ActorCollision
ActorBgCollisionObjCheck mBgCheckObj
f32 mJumpSpeedF
f32 mJumpAccelF
sead::Vector3fmWaterCheckPos
bool mUseWaterTypeOverride
WaterType mWaterTypeOverride
f32 _1774
sead::Vector2f mBgSpeed
sead::Vector2f mBgSpeedPrev
f32 mWaterSpeedMaxY
f32 mWaterMaxFallSpeed
f32 mWaterGravity
bool mCheckWaterNeeded
bool mIsInQuicksand
bool mIsSubmerged
bool mNoWaterCalc
u8 mWaterCalcType
u8 mNoLavaSplashTimer
bool mIsWaterFunsui
bool mIsOnGround
u32 mJumpFrame
Protected Attributes inherited from Actor
DirType mDirection
s8 mPlayerNo
s8 mControllerLytPlayerNo
u8 mLayer
sead::BitFlag8 mCollisionMask
f32 mSpeedF
f32 mMaxSpeedF
f32 mMaxFallSpeed
f32 mAccelY
f32 mAccelF
sead::Vector3f mPos
sead::Vector3f mSpeed
sead::Vector3f mSpeedMax
sead::Vector3f mScale
Angle3 mAngle
Angle3 mAnglePrev
sead::Vector2f mPosDelta
ActorCollisionCheck mCollisionCheck
sead::Vector2f mVisibleAreaOffset
sead::Vector2f mVisibleAreaSize
sead::Vector2f mSize
ActorCullRange mCullLimit
u8 mAreaNo
u8 mActorType
bool mIsExecEnable
bool mIsDrawEnable
bool mManualDeletedFlag
u8 _211
u8 mCarryFlag
u8 mSwitchFlag0
u8 mSwitchFlag1
u16 mCreateFlag
u32 mBumpDamageTimer
u32 mBumpDirection
u8 _220
DirType mCarryDirection
u32 mThrowPlayerNo
s32 mComboCnt
u32 mProfFlag
sead::Vector3f mCenterOffset
sead::Vector3f mPosPrev
sead::Vector3f mPosPrevPostExec
sead::Vector3f mPosPrev2
EatDatamEatDataPtr
ChibiYoshiEatDatamChibiYoshiEatDataPtr
PropelPartsmPropelParts
u8 * _270
f32 mAddSpeedF
ChibiYoshiAwaDatamChibiYoshiAwaDataPtr
Protected Attributes inherited from ActorBase
sead::HeapmActorHeap
 Personal heap for this actor of type sead::FrameHeap. Capacity of 0x20200, but profiles in the player whitelist get 0x1A0200.
ActorUniqueID mActorUniqueID
 The unique identifier handle for this actor.
ProfilemActorProfile
 The specific profile which this actor was instantiated from.
bool mCreatedImmediately
 Whether the actor was created with ActorMgr::createImmediately(), rather than deferred with ActorMgr::createLater().
bool mIsMapActor
 Whether the actor was spawned from the level with ActorCreateMgr, rather than dynamically spawned by another actor.
bool mIsActive
 Whether the create operation has completed and the actor is executing.
bool mDeleteRequestFlag
 Whether to delete this actor on the next frame.
u32 mParam0
 Level designer configuration. Also known as "nybbles" or "spritedata".
u32 mParam1
 Level designer configuration. Also known as "nybbles" or "spritedata".
ActorParamEx1 mParamEx
 Extra level designer configuration. Also known as "nybbles" or "spritedata".
List mChildList
 sead::OffsetList used for holding child actors spawned by this actor. Managed automatically if param.parent_id is set when spawning.
sead::ListNode mChildNode
 Implementation detail. Used to track our position in the parent's mChildList.
ActorBasemParent
 The parent actor if this actor is a child. Automatically set to nullptr if orphaned.
sead::ListNode mExecuteNode
 Implementation detail. Used to track our position in ActorMgr lists.
sead::ListNode mDrawNode
 Implementation detail. Used to track our position in ActorMgr mDrawManage list.
sead::BitFlag32 mFlag

Additional Inherited Members

Public Types inherited from Enemy
enum  FumiType { cFumiType_Hit = 0 , cFumiType_Fumi , cFumiType_MameFumi , cFumiType_SpinFumi }
 Defines the classification of player-enemy stomp and collision interactions. More...
enum  FumiSeType { cFumiSeType_Normal = 0 , cFumiSeType_Step , cFumiSeType_NoEffect }
enum  EnFlag { cEnFlag_Shell = 1 << 0 , cEnFlag_Carry = 1 << 1 , cEnFlag_16 = 1 << 16 , cEnFlag_NoCeilCheckPlayer = 1 << 24 }
Public Types inherited from Actor
enum  ActorType {
  cActorType_Generic = 0 , cActorType_Player , cActorType_Yoshi , cActorType_Enemy ,
  cActorType_ChibiYoshi
}
enum  CarryFlag {
  cCarryFlag_Release = 1 << 0 , cCarryFlag_Throw = 1 << 1 , cCarryFlag_ThrowHard = 1 << 2 , cCarryFlag_None = 0 ,
  cCarryFlag_All = cCarryFlag_Release | cCarryFlag_Throw | cCarryFlag_ThrowHard
}
enum  ScreenOutFlag {
  cScreenOutFlag_SkipNone = 0 , cScreenOutFlag_SkipDeletion = 1 << 1 , cScreenOutFlag_SkipCameraCheck = 1 << 2 , cScreenOutFlag_SkipRideCheck = 1 << 3 ,
  cScreenOutFlag_SkipTottenCheck = 1 << 4
}
 Flags to pass to screenOutCheck to skip checks or actions during the evaluation. More...
Public Types inherited from ActorBase
enum  MainState { cState_None = 0 , cState_Failed , cState_Success , cState_Wait }
 Represents the execution state of a main operation, and whether it was skipped. More...
enum  Result { cResult_Wait = 0 , cResult_Success , cResult_Failed }
 Defines signals to pass to ActorMgr when performing create and delete operations on the actor. More...
typedef sead::OffsetList< ActorBaseList
Static Public Member Functions inherited from Enemy
static bool ceilCheck (f32 pos_y, ActorCollisionCheck *cc)
static void normal_collcheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
static void fireballInvalid (ActorCollisionCheck *cc_other)
static void iceballInvalid (ActorCollisionCheck *cc_other)
Protected Types inherited from ActorCollision
enum  BgCheckFlag { cBgCheckFlag_Foot = 1 << 0 , cBgCheckFlag_Head = 1 << 1 , cBgCheckFlag_Wall = 1 << 2 , cBgCheckFlag_None = 0 }
enum  WaterCalcType { cWaterCalcType_Normal = 0 , cWaterCalcType_EnablePreCheck , cWaterCalcType_ForceOut }
Static Protected Attributes inherited from Actor
static const f32 cCullXLimit
static const f32 cCullYLimit

Constructor & Destructor Documentation

◆ MechaKoopa()

MechaKoopa::MechaKoopa ( const ActorCreateParam & param)

Member Function Documentation

◆ create()

Result MechaKoopa::create ( )
overrideprotectedvirtual

Main initialization/setup callback for the actor.

Returns
A signal for how to handle the operation.

Returns cResult_Success by default.

Address: 0x02002F84

Reimplemented from ActorBase.

◆ execute()

bool MechaKoopa::execute ( )
overrideprotectedvirtual

Main execution/logic callback for the actor. Called every frame (the game runs at exactly 60 FPS).

Returns
A signal for how to handle the operation. true / false imply cState_Success / cState_Failed.

Returns true by default.

Address: 0x02002F8C

Reimplemented from ActorBase.

◆ draw()

bool MechaKoopa::draw ( )
overrideprotectedvirtual

Main rendering callback for the actor. Called every frame (the game runs at exactly 60 FPS).

Note
This is only for scheduling deferred render tasks; actual rendering may not be performed at this stage.
Returns
A signal for how to handle the operation. true / false imply cState_Success / cState_Failed. However, signaling failure does not delete the actor.

Returns true by default.

Address 0x02002FA0

Reimplemented from ActorBase.

◆ blockHitInit_()

void MechaKoopa::blockHitInit_ ( )
overrideprotectedvirtual

Reimplemented from Enemy.

◆ isSpinLiftUpEnable()

bool MechaKoopa::isSpinLiftUpEnable ( )
overridevirtual

Reimplemented from CarryEnemy.

◆ waterSplashEffect()

void MechaKoopa::waterSplashEffect ( const sead::Vector3f & )
overridevirtual

Reimplemented from Actor.

◆ yoganSplashEffect()

void MechaKoopa::yoganSplashEffect ( const sead::Vector3f & )
overridevirtual

Reimplemented from Actor.

◆ poisonSplashEffect()

void MechaKoopa::poisonSplashEffect ( const sead::Vector3f & )
overridevirtual

Reimplemented from Actor.

◆ vf18C()

bool MechaKoopa::vf18C ( )
overridevirtual

Reimplemented from Enemy.

◆ createIceActor()

bool MechaKoopa::createIceActor ( )
overridevirtual

Callback for spawning ice blocks when frozen by an ice flower.

Returns
Forward the return value of the createIce() method call.

Implement this function by calling mIceMgr.createIce() with your custom IceInfo.

@endcode

Address: 0x023304F8

Reimplemented from Enemy.

◆ setIceAnm()

void MechaKoopa::setIceAnm ( )
overridevirtual

Reimplemented from Enemy.

◆ calcMdl_Base()

void MechaKoopa::calcMdl_Base ( )
overridevirtual

Reimplemented from Enemy.

◆ etcDamageCheck()

bool MechaKoopa::etcDamageCheck ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from Enemy.

◆ vsEnemyHitCheck_Normal()

void MechaKoopa::vsEnemyHitCheck_Normal ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from Enemy.

◆ hitCallback_Spin()

bool MechaKoopa::hitCallback_Spin ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from Enemy.

◆ hitCallback_HipAttk()

bool MechaKoopa::hitCallback_HipAttk ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from Enemy.

◆ hitCallback_Fire()

bool MechaKoopa::hitCallback_Fire ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from Enemy.

◆ reactFumiProc()

void MechaKoopa::reactFumiProc ( Actor * )
overridevirtual

Reimplemented from CarryEnemy.

◆ reactSpinFumiProc()

void MechaKoopa::reactSpinFumiProc ( Actor * )
overridevirtual

Reimplemented from CarryEnemy.

◆ playerHitCheck_Awake()

void MechaKoopa::playerHitCheck_Awake ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from CarryEnemy.

◆ playerHitCheck_Sleep()

void MechaKoopa::playerHitCheck_Sleep ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from CarryEnemy.

◆ playerHitCheck_Sleep_Base()

void MechaKoopa::playerHitCheck_Sleep_Base ( ActorCollisionCheck * cc_self,
ActorCollisionCheck * cc_other )
overridevirtual

Reimplemented from CarryEnemy.

◆ setPutOnChangeState()

void MechaKoopa::setPutOnChangeState ( Actor * player)
overridevirtual

Implements CarryEnemy.

◆ setThrowChangeState()

void MechaKoopa::setThrowChangeState ( Actor * player,
bool hard )
overridevirtual

Implements CarryEnemy.

Member Data Documentation

◆ cActorCreateInfo

const ActorCreateInfo MechaKoopa::cActorCreateInfo
static

◆ mModelResource

ModelResource* MechaKoopa::mModelResource
protected

◆ mAnimModel

AnimModel* MechaKoopa::mAnimModel
protected

◆ mNextTurnTimer

u32 MechaKoopa::mNextTurnTimer
protected

◆ mDownTimer

u32 MechaKoopa::mDownTimer
protected

◆ mCurrentAnim

u32 MechaKoopa::mCurrentAnim
protected

◆ _18cc

u8 MechaKoopa::_18cc
protected

◆ _18cd

u8 MechaKoopa::_18cd
protected

◆ mDrcTouchCallback

MechaKoopaDrcTouchCB MechaKoopa::mDrcTouchCallback
protected

◆ mBoyoMgr

EnemyBoyoMgr MechaKoopa::mBoyoMgr
protected

◆ _18f4

f32 MechaKoopa::_18f4
protected