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

#include <SnakeBlock.h>

Inherits Enemy.

Classes

class  DrcTouchCB
class  EdgePiece
class  Piece

Public Types

enum  SnakeType : u32 { cSnakeType_Normal , cSnakeType_Icy }
enum  StartCondition : u32 { cStartCondition_SinglePlayer , cStartCondition_AlwaysActive , cStartCondition_AllPlayers }
Public Types inherited from Enemy
enum  FumiSeType { cFumiSeType_Normal = 0 , cFumiSeType_Step , cFumiSeType_NoEffect }
enum  EnFlag {
  cEnFlag_Shell = 1 << 0 , cEnFlag_Carry = 1 << 1 , cEnFlag_9 = 1 << 9 , cEnFlag_16 = 1 << 16 ,
  cEnFlag_NoCeilCheckPlayer = 1 << 24
}
enum  QuakeDeathType { cQuakeDeathType_NormalQuake = 0 , cQuakeDeathType_BigQuake , cQuakeDeathType_Num }
Public Types inherited from Actor
enum  ActorKind {
  cActorKind_Generic = 0 , cActorKind_Player , cActorKind_Yoshi , cActorKind_Enemy ,
  cActorKind_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 : u16 {
  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...
enum  Flag { cFlag_NoEventFreeze = 1 << 1 , cFlag_NoNormalEventFreeze = 1 << 2 }
 Properties which control execution policy during events. More...
typedef sead::OffsetList< ActorBase > List

Public Member Functions

 SnakeBlock (const ActorCreateParam &param)
 ~SnakeBlock () override=default
const EdgePiece & getEdgePiece (u32 idx) const
const Piece & getMiddlePiece (u32 idx) const
Public Member Functions inherited from Enemy
 Enemy (const ActorCreateParam &param)
const EnemyDeathInfo & getDeathInfo () const
void changeState (const StateID &state_id) override
void setNicePoint_Death ()
bool area_XY_check (f32 x, f32 y)
virtual bool vf18C ()
bool lineBoundaryCheck ()
virtual bool setDamage (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool checkComboClap (s32 combo_cnt)
s32 calcComboPlFumiCnt (Actor *player)
void bound (f32 eps_y, f32 scale_x, f32 scale_y)
bool isDead () const
void setDeadMode (Actor *actor)
void cancelCarry ()
virtual bool createIceActor ()
 Callback for spawning ice blocks when frozen by an ice flower.
virtual void setIceAnm ()
virtual void returnAnm_Ice ()
virtual void returnState_Ice ()
void killIce ()
virtual void calcMdl_Base ()
void calcMdl_Normal ()
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 bool etcDamageCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void vsEnemyHitCheck_Normal (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual void vsPlayerHitCheck_Normal (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_Spin (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_WireNet (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_HipAttk (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_Shell (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_Fire (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
virtual bool hitCallback_Ice (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 bool hitCallback_AttackUnk27 (bool *dead, ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
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_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)
virtual void setDeathInfo_Quake (QuakeDeathType type)
void setDeathInfo_SpinFumi (Actor *player)
void setDeathInfo_YoshiFumi (Actor *player)
virtual void setDeathInfo_IceBreak ()
void setDeathInfo_IceVanish ()
void setDeathInfo_Other (Actor *actor)
void setDeathInfo_Hasami ()
virtual bool setDeathInfo_Star (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
Angle applyWaterRollDec (Angle ang)
virtual bool isQuakeDamage ()
virtual void setDeathSound_Fire ()
virtual void setDeathSound_HipAttk ()
void setDeathSound_Slip (Actor *player)
void initDieState ()
void setDeathInfo_Awa (Actor *awa)
void createUpCoin (DirType dir)
FumiType fumiCheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other, FumiSeType se_type)
 Process a collision with a player and return which type occurred.
void spinFumiJumpSet (Actor *player)
void spinFumiScoreSet (Actor *player)
virtual void fumiJumpSet (Actor *player)
virtual void fumiScoreSet (Actor *player)
virtual void yoshiFumiJumpSet (Actor *player)
virtual void yoshiFumiScoreSet (Actor *player)
virtual void mameFumiJumpSet (Actor *player)
void setFumiComboScore (Actor *player)
void fumistepSE ()
virtual void fumiSE (Actor *player)
virtual void fumiEffect (Actor *player)
void spinfumistepSE ()
virtual void spinfumiSE (Actor *player)
void spinfumiEffect (Actor *player)
void mamefumistepSE ()
virtual void mamefumiSE ()
virtual void mamefumiEffect (Actor *player)
void yoshifumistepSE ()
virtual void yoshifumiSE (Actor *player)
void setFumiSound (const char *label)
void setFumiSound (s32 combo_cnt, const GameAudio::SoundID combo_se[], u32 combo_max)
void setFumiSound (Actor *player, const GameAudio::SoundID combo_se[], u32 combo_max)
void hitdamageEffect (const sead::Vector3f &pos)
void hitdamageEffect (const sead::Vector2f &pos)
virtual void hipatkEffect (const sead::Vector3f &effect_pos)
virtual void setQuakeJump ()
virtual bool checkDispIn ()
virtual void setAwaHit (Actor *awa)
virtual void awaCatchMove (Actor *awa)
virtual void setAwaCatchEnd (Actor *awa)
virtual void setAwaInvalid (Actor *awa)
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
ActorBgCollisionCheck * getBgCheck () 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 bool isSpinLiftUpEnable ()
virtual void setSpinLiftUpActor (Actor *player)
virtual void groupActivate ()
 Called by Group Controller when "activating" the target group.
virtual void groupDeactivate ()
 Called by Group Controller when "deactivating" the target group.
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 (ScreenOutFlag flag)
 Checks if the actor is out of gameplay and optionally deletes it.
virtual void allEnemyDeathEffSet ()
virtual void waterSplashEffect (const sead::Vector3f &pos)
virtual void yoganSplashEffect (const sead::Vector3f &pos)
virtual void yoganWaveSplashEffect (const sead::Vector3f &pos)
virtual void poisonSplashEffect (const sead::Vector3f &pos)
f32 getEffectZPos () const
bool checkEat () const
void deleteActor (bool manual_deleted)
 Schedule this actor for deletion on the next frame.
ActorCollisionCheck & getCollisionCheck ()
const ActorCollisionCheck & getCollisionCheck () const
bool isExecEnable () const
bool isDrawEnable () const
DirType getDirection () const
void setDirection (DirType dir)
u8 getLayer () const
sead::BitFlag8 getCollisionMask () const
f32 getMaxSpeedF () const
void setMaxSpeedF (f32 maxSpeedF)
f32 getMaxFallSpeed () const
void setMaxFallSpeed (f32 maxFallSpeed)
f32 getGravity () const
 The current vertical acceleration.
void setGravity (f32 gravity)
f32 getPow () const
 The current horizontal acceleration.
void setPow (f32 pow)
sead::Vector3f & getPos ()
const sead::Vector3f & getPos () const
sead::Vector2f & getPos2D ()
const sead::Vector2f & getPos2D () const
sead::Vector3f getCenterPos () const
sead::Vector2f getCenterPos2D () const
f32 getCenterX () const
f32 getCenterY () const
f32 getCenterZ () const
sead::Vector3f & getSpeedVec ()
const sead::Vector3f & getSpeedVec () const
sead::Vector3f & getSpeedMaxVec ()
const sead::Vector3f & getSpeedMaxVec () const
sead::Vector3f & getScale ()
const sead::Vector3f & getScale () const
Angle3 & getAngle ()
const Angle3 & getAngle () const
ActorKind getKind () const
void setKind (ActorKind kind)
bool getManualDeletedFlag () const
CarryFlag getCarryFlag () const
u8 getSwitchFlag0 () const
u8 getSwitchFlag1 () const
u32 getProfFlag () const
f32 getSpeedF () const
void setSpeedF (f32 speedF)
f32 getAddSpeedF () const
void setAddSpeedF (f32 speedF)
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.
Profile * getProfile () 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 List & getChildList () const
 sead::OffsetList used for holding child actors spawned by this actor. Managed automatically if param.parent_id is set when spawning.
sead::Heap * getActorHeap () const
 The personal heap for this actor.
ActorBase * getParent () 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.

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).
Result doDelete () override
 Main deletion callback for the actor.
virtual void vf4E4 ()
virtual bool toDelete_ () const
Protected Member Functions inherited from Enemy
bool preExecute () override
 Callback invoked before the execute operation.
void blockHitInit_ () override
void setSmokeDamage_ (Actor *actor) override
bool setTouchDrcDamage_ (const sead::Vector3f &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 isQuakeEnable_ ()
 Determines whether setQuake_() should be called.
virtual void setQuake_ (QuakeType type)
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

EdgePiece mEdgePiece [2]
Piece mMiddlePiece [20]
u32 mMiddlePieceCnt
f32 mBlockSize
u8 * mPathDirection
u8 * mPathMarker
u32 mPathLen
s16 _5c04
const StateID * mEndState
SnakeType mSnakeType
s32 mFallCascadeTimer
u32 mCreateMiddleIdx
StartCondition mStartCondition
bool mRepeatMovement
u32 mRepeatRailNode
bool mPlayerTouching [cPlayerNum]
ActorCollisionCheck _5c28
DrcTouchCB mDrcTouchCallback
u32 _5d54
Protected Attributes inherited from Enemy
EnemyDeathInfo mDeathInfo
EnemyCounter mPlayerNoHitTimer
sead::BitFlag32 mEnFlag
IceMgr mIceMgr
EnemyChibiYoshiAwaData mChibiYoshiAwaData
EnemyFumiProc mFumiProc
u16 mStateTimer
u16 mStateSubTimer
u32 _1870
u8 mDieDirection
u8 mPreIceDirection
Combo mCombo
bool mIsDamageFrame
bool mIsSpinFumiFrame
s8 _187e
Protected Attributes inherited from ActorMultiState
FStateStateMgr< ActorMultiState > mStateMgr
Protected Attributes inherited from ActorCollision
ActorBgCollisionObjCheck mBgCheckObj
f32 mJumpSpeedF
f32 mJumpAccelF
sead::Vector3f * mWaterCheckPos
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 mGravity
f32 mPow
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 mActorKind
bool mIsExecEnable
bool mIsDrawEnable
bool mManualDeletedFlag
u8 _211
u8 mCarryFlag
u8 mSwitchFlag0
u8 mSwitchFlag1
u16 mCreateFlag
u32 mBlockHitTimer
DirType mBlockHitDirection
u8 _220
DirType mCarryDirection
u32 mThrowPlayerNo
s32 mComboCnt
u32 mProfFlag
sead::Vector3f mCenterOffset
sead::Vector3f mPosPrev
sead::Vector3f mPosPrevPostExec
sead::Vector3f mPosPrev2
EatData * mEatDataPtr
ChibiYoshiEatData * mChibiYoshiEatDataPtr
PropelParts * mPropelParts
u8 * _270
f32 mAddSpeedF
ChibiYoshiAwaData * mChibiYoshiAwaDataPtr
Protected Attributes inherited from ActorBase
sead::Heap * mActorHeap
 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.
Profile * mActorProfile
 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.
ActorBase * mParent
 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
 Properties which control execution policy during events. See ActorBase::Flag enum.

Additional Inherited Members

Static Public Member Functions inherited from Enemy
static f32 getDeadNetSpeedX ()
static void normal_collcheck (ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other)
static bool ceilCheck (f32 pos_y, ActorCollisionCheck *cc)
static void fireballInvalid (ActorCollisionCheck *cc_other)
static void iceballInvalid (ActorCollisionCheck *cc_other)
static void playerFumiJump (Actor *player, f32 speed_y)
Static Public Attributes inherited from Enemy
static const s32 cNoHitPlayerTimerDefault = 5
static const f32 cDieFallInitSpeedX [cDirType_NumX]
static const f32 cFumiJumpSpeed
static const f32 cDefaultGravity
static const f32 cDieFallBoundSpeedY
static const f32 cDefaultMaxFallSpeed
static const f32 cDefaultMaxSpeedF
static const f32 cDefaultMaxSpeedY
static const f32 cWaterGravity
static const f32 cWaterBoundSpeedY
static const f32 cWaterMaxFallSpeed
static const f32 cWaterRollDecRate
static const Angle cBaseAngleY [cDirType_NumX]
 Maps a 2D direction to a "facing" Y-angle.
static const Angle cBaseAngleYAdd [cDirType_NumX]
static const s8 cEnMuki [cDirType_NumX]
 Maps a 2D direction to a sign multiplier (1 or -1).
static const f32 cDeadNetSpeedX [cDirType_NumX]
static const f32 cDieFallGravity
static const f32 cDieFallInitSpeedY
static const f32 cDieFallMaxFallSpeed
static const s32 cDieFallSpinSpeed = 0x0C000000
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 }
enum  QuakeType { cQuakeType_Normal = 0 , cQuakeType_Big , cQuakeType_Small }
Static Protected Attributes inherited from Actor
static const f32 cCullXLimit
static const f32 cCullYLimit

Member Enumeration Documentation

◆ SnakeType

Enumerator
cSnakeType_Normal 
cSnakeType_Icy 

◆ StartCondition

Enumerator
cStartCondition_SinglePlayer 
cStartCondition_AlwaysActive 
cStartCondition_AllPlayers 

Constructor & Destructor Documentation

◆ SnakeBlock()

SnakeBlock::SnakeBlock ( const ActorCreateParam & param)
inline

◆ ~SnakeBlock()

SnakeBlock::~SnakeBlock ( )
overridedefault

Member Function Documentation

◆ create()

Result SnakeBlock::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 SnakeBlock::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 SnakeBlock::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.

◆ doDelete()

Result SnakeBlock::doDelete ( )
overrideprotectedvirtual

Main deletion callback for the actor.

Returns
A signal for how to handle the operation.

Failure and Success both result in deletion. Only Wait results in a stall.

Address: 0x02002FB0

Reimplemented from ActorCollision.

◆ vf4E4()

virtual void SnakeBlock::vf4E4 ( )
protectedvirtual

◆ toDelete_()

virtual bool SnakeBlock::toDelete_ ( ) const
protectedvirtual

◆ getEdgePiece()

const EdgePiece & SnakeBlock::getEdgePiece ( u32 idx) const
inline

◆ getMiddlePiece()

const Piece & SnakeBlock::getMiddlePiece ( u32 idx) const
inline

Member Data Documentation

◆ mEdgePiece

EdgePiece SnakeBlock::mEdgePiece[2]
protected

◆ mMiddlePiece

Piece SnakeBlock::mMiddlePiece[20]
protected

◆ mMiddlePieceCnt

u32 SnakeBlock::mMiddlePieceCnt
protected

◆ mBlockSize

f32 SnakeBlock::mBlockSize
protected

◆ mPathDirection

u8* SnakeBlock::mPathDirection
protected

◆ mPathMarker

u8* SnakeBlock::mPathMarker
protected

◆ mPathLen

u32 SnakeBlock::mPathLen
protected

◆ _5c04

s16 SnakeBlock::_5c04
protected

◆ mEndState

const StateID* SnakeBlock::mEndState
protected

◆ mSnakeType

SnakeType SnakeBlock::mSnakeType
protected

◆ mFallCascadeTimer

s32 SnakeBlock::mFallCascadeTimer
protected

◆ mCreateMiddleIdx

u32 SnakeBlock::mCreateMiddleIdx
protected

◆ mStartCondition

StartCondition SnakeBlock::mStartCondition
protected

◆ mRepeatMovement

bool SnakeBlock::mRepeatMovement
protected

◆ mRepeatRailNode

u32 SnakeBlock::mRepeatRailNode
protected

◆ mPlayerTouching

bool SnakeBlock::mPlayerTouching[cPlayerNum]
protected

◆ _5c28

ActorCollisionCheck SnakeBlock::_5c28
protected

◆ mDrcTouchCallback

DrcTouchCB SnakeBlock::mDrcTouchCallback
protected

◆ _5d54

u32 SnakeBlock::_5d54
protected