NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches

#include <game/bases/d_enemy_carry.hpp>

Inheritance diagram for dEnemyCarry_c:
[legend]

Description

A carryable enemy. This class is only used as a base for daEnJumpdai_c.

States

Definition at line 9 of file d_enemy_carry.hpp.

Public Member Functions

 dEnemyCarry_c ()
 Constructs a new carryable enemy.
virtual void setThrowSpeed (dActor_c *actor)
 Sets the throw speed based on the actor throwing it.
virtual void setThrowChangeState ()
 Throws this enemy.
virtual void setPutOnChangeState ()
 Drops this enemy.
void setDeathInfo_CarryBgIn (dActor_c *)
 Sets the death info for when the enemy is stuck in background collision.
Public Member Functions inherited from dEn_c
 dEn_c ()
 Constructs a new enemy actor.
virtual ~dEn_c ()
 Destroys the actor.
virtual void postCreate (fBase_c::MAIN_STATE_e status)
 post method for the create operation.
virtual int preExecute ()
 pre method for the execute operation.
virtual void postExecute (fBase_c::MAIN_STATE_e status)
 post method for the execute operation.
virtual int preDraw ()
 pre method for the draw operation.
virtual void block_hit_init ()
 Callback for when a block directly beneath the actor is hit.
virtual void setEatTongue (dActor_c *)
 Callback for when the actor is targeted by Yoshi's tongue.
virtual void setEatTongueOff (dActor_c *)
 Callback for when the eating action is canceled.
virtual bool setEatSpitOut (dActor_c *)
 Callback for when the actor is about to be spat out.
virtual void calcEatInScale (dActor_c *)
 Adjusts the actor's scale while being eaten.
virtual void yoganSplashEffect (const mVec3_c &, float)
 Generates a lava splash effect.
virtual void poisonSplashEffect (const mVec3_c &, float)
 Generates a poison water splash effect.
virtual void changeState (const sStateIDIf_c &newState)
 Changes the actor's state to the given state.
virtual bool EnDamageCheck (dCc_c *self, dCc_c *other)
virtual bool PlDamageCheck (dCc_c *self, dCc_c *other)
virtual bool YoshiDamageCheck (dCc_c *self, dCc_c *other)
virtual bool EtcDamageCheck (dCc_c *self, dCc_c *other)
virtual void Normal_VsEnHitCheck (dCc_c *self, dCc_c *other)
virtual void Normal_VsPlHitCheck (dCc_c *self, dCc_c *other)
virtual void Normal_VsYoshiHitCheck (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Star (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Slip (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Large (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Spin (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Rolling (dCc_c *self, dCc_c *other)
virtual bool hitCallback_WireNet (dCc_c *self, dCc_c *other)
virtual bool hitCallback_HipAttk (dCc_c *self, dCc_c *other)
virtual bool hitCallback_YoshiHipAttk (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Screw (dCc_c *self, dCc_c *other)
virtual bool hitCallback_PenguinSlide (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Cannon (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Shell (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Fire (dCc_c *self, dCc_c *other)
virtual bool hitCallback_Ice (dCc_c *self, dCc_c *other)
virtual bool hitCallback_YoshiBullet (dCc_c *self, dCc_c *other)
virtual bool hitCallback_YoshiFire (dCc_c *self, dCc_c *other)
virtual void setDeathInfo_Other (dActor_c *killedBy)
virtual void setDeathInfo_Quake (int)
virtual void setDeathInfo_IceBreak ()
virtual void setDeathInfo_IceVanish ()
void setDeathInfo_Smoke (dActor_c *killedBy)
void setDeathInfo_Fumi (dActor_c *killedBy, mVec2_c, const sStateIDIf_c &, int)
void setDeathInfo_YoshiFumi (dActor_c *killedBy)
void setDeathInfo_SpinFumi (dActor_c *killedBy, int)
virtual bool isQuakeDamage ()
virtual void hitYoshiEat (dCc_c *self, dCc_c *other)
virtual void setDeathSound_HipAttk ()
virtual void setDeathSound_Fire ()
virtual void setDeathSound_Slip (dActor_c *actor)
virtual void setDeathSound_Spin ()
virtual void setDeathSound_Rolling ()
virtual void fumidamageEffect (const mVec3_c &pos)
virtual void hipatkEffect (const mVec3_c &pos)
virtual void fumidamageSE (const mVec3_c &pos, int)
virtual void quakeAction ()
virtual bool checkDispIn ()
virtual void setWaterSpeed ()
virtual void setDamage (dActor_c *actor)
void boyonInit ()
virtual void boyonBegin ()
virtual void calcBoyonScale ()
virtual void createIceActor ()
virtual void setIceAnm ()
virtual void returnAnm_Ice ()
virtual void returnState_Ice ()
virtual void beginFunsui ()
virtual void endFunsui ()
virtual void isFunsui () const
virtual bool checkComboClap (int max)
virtual void FumiJumpSet (dActor_c *actor)
virtual void FumiScoreSet (dActor_c *actor)
virtual void MameFumiJumpSet (dActor_c *actor)
virtual void YoshiFumiJumpSet (dActor_c *actor)
virtual void YoshiFumiScoreSet (dActor_c *actor)
void SpinFumiJumpSet (dActor_c *actor)
void SpinFumiScoreSet (dActor_c *actor)
virtual void fumiSE (dActor_c *actor)
virtual void fumiEffect (dActor_c *actor)
virtual void spinfumiSE (dActor_c *actor)
virtual void spinfumiEffect (dActor_c *actor)
virtual void mamefumiSE (dActor_c *actor)
virtual void mamefumiEffect (dActor_c *actor)
virtual void yoshifumiSE (dActor_c *actor)
virtual void yoshifumiEffect (dActor_c *actor)
void fumistepSE (dActor_c *actor)
void yoshifumistepSE (dActor_c *actor)
void PlayerFumiJump (dActor_c *actor, float)
void setFumiComboScore (dActor_c *actor)
void hitdamageEffect (const mVec3_c &pos)
u32 checkWallAndBg ()
int Enfumi_check (dCc_c *self, dCc_c *other, int step)
u32 EnBgCheck ()
u32 EnBgCheckFoot ()
u32 EnBgCheckWall ()
bool LineBoundaryCheck (dActor_c *actor)
void WaterCheck (mVec3_c &pos, float h)
dBc_c::WATER_TYPE_e WaterLineProc (const mVec3_c &pos, float h)
bool EnLavaCheck (const mVec3_c &pos)
bool EnWaterCheck (const mVec3_c &pos)
bool EnWaterFlagCheck (const mVec3_c &pos)
bool getPl_LRflag (const mVec3_c &pos)
 Checks whether the nearest player is to the left of pos.
bool getPl_UDflag (const mVec3_c &pos)
 Checks whether the nearest player is below pos.
bool Area_X_check (float x)
bool Area_XY_check (float x, float y)
bool carry_check (dActor_c *other)
bool PlayerCarryCheck (dActor_c *actor)
mVec3_c calcCarryPos (const mVec3_c &pos)
void Bound (float epsY, float scaleX, float scaleY)
void slipBound (dActor_c *actor)
void posMove ()
bool turnangle_calc (const short *target, const short *delta)
void fireballInvalid (dCc_c *self, dCc_c *other)
void iceballInvalid (dCc_c *self, dCc_c *other)
void setNicePoint_Death ()
void setDeadMode (dActor_c *actor, int)
void killIce ()
u8 getDeathFallDirection () const
Public Member Functions inherited from dActorMultiState_c
 dActorMultiState_c ()
 Constructs a new actor.
 ~dActorMultiState_c ()
 Destroys the actor.
bool isState (const sStateIDIf_c &other) const
 Checks if the actor is currently in the given state.
Public Member Functions inherited from dActor_c
 dActor_c ()
 Constructs a new actor.
 ~dActor_c ()
 Destroys the actor.
virtual int preCreate ()
 pre method for the create operation.
virtual int preDelete ()
 pre method for the delete operation.
virtual void postDelete (fBase_c::MAIN_STATE_e status)
 post method for the delete operation.
virtual void postDraw (fBase_c::MAIN_STATE_e status)
 post method for the draw operation.
virtual const char * getKindString () const
 Gets the base's kind string.
virtual bool ActorDrawCullCheck ()
 Checks if the actor is out of view.
virtual bool vf68 (dBg_ctr_c *collider)
 Unknown, related to collision.
virtual s8 * getPlrNo ()
 Gets the player number associated with the actor. See mPlayerNo.
virtual mVec2_c getLookatPos () const
 Gets the position players look to when focused on the actor.
virtual bool isSpinLiftUpEnable ()
 Returns whether the actor can be carried.
virtual void setSpinLiftUpActor (dActor_c *carryingActor)
 Callback for when the actor is picked up by another actor.
virtual void setCarryFall (dActor_c *carryingActor, int collisionDelay)
 Callback for when the actor is dropped by the carrying actor.
virtual void setEatMouth (dActor_c *eatingActor)
 Callback for when the actor is being eaten.
virtual bool setEatGlupDown (dActor_c *eatingActor)
 Callback for when the actor is about to be fully swallowed.
virtual void eatMove (dActor_c *eatingActor)
 Updates the actor's position during eating actions.
virtual void removeCc ()
 Disables the actor's collision.
virtual void reviveCc ()
 Enables the actor's collision.
virtual void setAfterEatScale ()
 Restores the actor's scale once spat out.
virtual void calcSpitOutPos (dActor_c *eatingActor)
 Calculates the position where the actor will be spat out.
virtual float calcEatScaleRate (dActor_c *eatingActor)
 Computes the scaling rate during eating.
virtual void allEnemyDeathEffSet ()
 Spawns the visual effects for when all players reach the flagpole and all enemies are cleared.
virtual void vfb4 ()
virtual void funsuiMoveX ()
virtual void cancelFunsuiActUpper ()
virtual void cancelFunsuiActSide (int)
virtual void cancelFunsuiActVanish ()
virtual void waterSplashEffect (const mVec3_c &pos, float size)
 Generates a water splash effect.
bool checkAreaNo ()
 Checks if at least one player is in the same zone as the actor.
void deleteActor (u8 deleteForever)
 Deletes the actor and optionally disables respawn.
bool areaCullCheck (const mVec3_c &pos, const sRangeDataF &bound, u8 areaID) const
 Checks if the actor should be culled due to zone limits.
bool ActorScrOutCheck (u16 flags)
 Checks if the actor is out of gameplay and optionally deletes it.
bool HasamareBgCheck ()
 Returns whether the actor is colliding with any enabled collision sides.
bool carryFukidashiCheck (int fukidashiAction, mVec2_c fukidashiTriggerSize)
 Checks if the prompt for the given action should be displayed for each player.
dAcPy_csearchCarryFukidashiPlayer (int fukidashiAction)
 Searches the closest player who has not yet performed the given action.
void carryFukidashiCancel (int fukidashiAction, int playerId)
 Hides the given action prompt for all players.
void killActor (s8 playerId, int noScore)
 Kills the actor and optionally awards points to one or all players.
void slideComboSE (int multiplier, bool shortCombo)
 Plays the combo kill sound effect.
void clrComboCnt ()
 Clears the actor's combo counter.
bool checkCarried (int *playerNum)
 Returns whether the actor is being carried by a player.
dAcPy_csearchNearPlayer (mVec2_c &delta)
 Gets the closest player to the actor and its distance.
void setKind (u8 kind)
 Sets the actor's kind. See STAGE_ACTOR_KIND_e.
sRangeDataF getDestroyBound ()
void setDefaultMaxBound ()
u8 getKindMask ()
Public Member Functions inherited from dBaseActor_c
 dBaseActor_c ()
 Constructs a new actor.
virtual int GetActorType ()
 Gets the actor kind. See ACTOR_KIND_e.
void calcSpeed ()
 Updates the actor's speed (3D actors). See here for details.
void calcSpeedXY ()
 Updates the actor's speed (2D actors). See here for details.
void calcSpeedX ()
 Updates the actor's X speed. See here for details.
void calcFallSpeed ()
 Updates the actor's falling speed. See here for details.
void calcSpeedY ()
 Updates the actor's Y speed. See here for details.
void calcSpeedF ()
 Updates the actor's forward speed. See here for details.
void makeMtx ()
 Generates a partial transformation matrix for the actor and stores it in mMatrix.
mVec3_c getCenterPos () const
 Gets the actor's centered position.
void posMove (mVec3_c &delta)
 Moves the actor by the given delta.
void posMove ()
 Moves the actor by its speed.
int GetProfNameActorNum (ProfileName profile)
 Counts the instances of the given actor profile.
float getCenterX () const
float getCenterY () const
float getCenterZ () const
Public Member Functions inherited from dBase_c
 dBase_c ()
 Constructs a new base.
virtual ~dBase_c ()
 Destroys the base.
Public Member Functions inherited from fBase_c
 fBase_c ()
 Constructs a new base.
void deleteRequest ()
 Requests deletion of the base.
fBase_cgetConnectParent () const
 Gets the base's parent.
fBase_cgetConnectChild () const
 Gets the base's first child.
fBase_cgetConnectBrNext () const
 Gets the base's next sibling.
bool checkChildProcessCreateState () const
 Checks if the base has at least one child in the CREATING state.
Public Member Functions inherited from cOwnerSetMg_c
 cOwnerSetMg_c ()
 Constructs a new set container.
 ~cOwnerSetMg_c ()
 Destroys the set.
void add (cOwnerSetNd_c *nd, void *owner)
 Adds a node to the set.
void remove (cOwnerSetNd_c *nd, void *owner)
 Removes a node from the set.

Static Public Attributes

static sFStateVirtualID_c< dEnemyCarry_cStateID_Carry
 The enemy is being carried.
static sFStateVirtualID_c< dEnemyCarry_cStateID_Throw
 The enemy is being thrown / put down.
Static Public Attributes inherited from dEn_c
static sFStateVirtualID_c< dEn_cStateID_DieFumi
static sFStateVirtualID_c< dEn_cStateID_DieFall
static sFStateVirtualID_c< dEn_cStateID_DieBigFall
static sFStateVirtualID_c< dEn_cStateID_DieSmoke
static sFStateVirtualID_c< dEn_cStateID_DieYoshiFumi
static sFStateVirtualID_c< dEn_cStateID_DieIceVanish
static sFStateVirtualID_c< dEn_cStateID_DieGoal
static sFStateVirtualID_c< dEn_cStateID_DieOther
static sFStateVirtualID_c< dEn_cStateID_EatIn
static sFStateVirtualID_c< dEn_cStateID_EatNow
static sFStateVirtualID_c< dEn_cStateID_EatOut
static sFStateVirtualID_c< dEn_cStateID_HitSpin
static sFStateVirtualID_c< dEn_cStateID_Ice
static const float smc_WATER_GRAVITY = -0.0625f
static const float smc_WATER_YMAXSPD = 1.5f
static const float smc_WATER_FALLMAXSPD = -1.5f
static const float smc_WATER_ROLL_DEC_RATE = 0.5f
static const float smc_DEADFALL_GRAVITY = -0.25f + 0.00625001f
static const float smc_DEADFALL_YSPEED = 3.9f
static const float smc_DEADFALL_YSPEED_MAX = -4.0f
static const s16 smc_DEADFALL_SPINSPEED = 0xc00
static const u16 smc_NO_HIT_PLAYER_TIMER_DEFAULT = 5
static const u16 smc_NO_HIT_PLAYER_TIMER_SPIT_OUT = 16
Static Public Attributes inherited from dActorMultiState_c
static sFStateVirtualID_c< dActorMultiState_cStateID_GegnericMulti
 An example state that does nothing.
Static Public Attributes inherited from dActor_c
static const float smc_CULL_XLIMIT = 80.0f
 The default max bound X offset.
static const float smc_CULL_YLIMIT = 256.0f
 The default max bound Y offset.
static const float smc_CULL_AREA_XLIMIT = 128.0f
 The default max bound X size.
static const float smc_CULL_AREA_YLIMIT = 128.0f
 The default max bound Y size.
static const mVec2_c smc_FUKIDASHI_RANGE = mVec2_c(9.0f, 12.0f)
 The default trigger area size for displaying action prompts.
static u8 mExecStopReq
 The actors for which the execute operation is requested to be disabled.
static u8 mDrawStopReq
 The actor kinds for which the draw operation is requested to be disabled.
static u8 mExecStop
 The actors for which the execute operation is currently disabled.
static u8 mDrawStop
 The actor kinds for which the draw operation is currently disabled.
static searchNearPlayerFunc mSearchNearPlayerFunc
 The player search function.
static getTrgToSrcDirFunc mGetTrgToSrcDirFunc
 The direction detection function.
static u8 m_tmpCtLayerNo
 Temporary storage for the next constructed actor's layer. See mLayer.
static u8 * m_read_p_keep
 Temporary storage for the next created sprite actor's spawn flags. See mpSpawnFlags.
static u16 m_flag_keep
 Temporary storage for the next created sprite actor's tracked event IDs. See mEventNums.
static u64 m_flagbit_keep
 Temporary storage for the next created sprite actor's event mask. See mEventMask.
static u8 m_mbgchoice_keep
 Temporary storage for the next created sprite actor's layer. See mLayer.

Protected Attributes

bool mWasDropped
 Whether the enemy was dropped or thrown. If dropped, it will not collide with other entities.
u8 mThrowSpeed
 0 => X speed = 2.5, 1 => X speed = 3.0
Protected Attributes inherited from dBase_c
const char * mpKindString
 The base's kind string.
const char * mpNameString
 The base's profile name string.
Protected Attributes inherited from fBase_c
u8 mLifecycleState
 The base's lifecycle state. Value is a LIFECYCLE_e.
bool mDeleteRequested
 If deletion of the base was requested, but the delete operation has not been scheduled yet.
bool mDeferExecute
 If the create operation was completed, but scheduling the execute and draw operations isn't possible at this time.
bool mDeferRetryCreate
 If the create operation has not been completed, and rescheduling it isn't possible at this time.
u8 mGroupType
 The base's group type. Value is a GROUP_TYPE_e.
u8 mProcControl
 The operations to be skipped. Value is a PROC_DISABLE_e.
fManager_c mMng
 The base's process manager.
fBaHelper_cmpUnusedHelper
 See Unused Content.
fLiMgBa_c mUnusedList
 See Unused Content.
EGG::FrmHeap * mHeap
 The base's dedicated heap.

Static Protected Attributes

static const float smc_DIR_MODE0 [] = {2.5f, -2.5f}
static const float smc_DIR_MODE1 [] = {3.0f, -3.0f}
Static Protected Attributes inherited from fBase_c
static int(* sLoadAsyncCallback )()
 See Unused Content.
static void(* sUnloadCallback )()
 See Unused Content.

Additional Inherited Members

Public Types inherited from dEn_c
enum  FLAGS_e {
  EN_IS_SHELL = BIT_FLAG(0) ,
  EN_IS_HARD = BIT_FLAG(1) ,
  EN_FLAG_24 = BIT_FLAG(24)
}
Public Types inherited from dActor_c
enum  EAT_POINTS_e {
  EAT_POINTS_200 ,
  EAT_POINTS_1000 ,
  EAT_POINTS_NONE
}
 The score awarded when the actor is eaten by Yoshi. More...
enum  EAT_STATE_e {
  EAT_STATE_NONE ,
  EAT_STATE_EATING ,
  EAT_STATE_EATEN ,
  EAT_STATE_SPIT ,
  EAT_STATE_SPAT
}
 The possible actor eat states. More...
enum  EAT_BEHAVIOR_e {
  EAT_TYPE_NONE ,
  EAT_TYPE_EAT ,
  EAT_TYPE_EAT_PERMANENT ,
  EAT_TYPE_UNK3 ,
  EAT_TYPE_FIREBALL ,
  EAT_TYPE_ICEBALL
}
 The possible actor behaviors when eaten by Yoshi. More...
enum  STAGE_ACTOR_KIND_e {
  STAGE_ACTOR_GENERIC ,
  STAGE_ACTOR_PLAYER ,
  STAGE_ACTOR_YOSHI ,
  STAGE_ACTOR_ENEMY
}
 The possible stage actor kinds. More...
enum  CARRY_ACTION_e {
  CARRY_RELEASE = BIT_FLAG(0) ,
  CARRY_THROW = BIT_FLAG(1)
}
 The possible carry actions. More...
enum  BG_COLL_FLAG_e {
  COLL_NONE = BIT_FLAG(-1) ,
  COLL_WALL_R = BIT_FLAG(0) ,
  COLL_WALL_L = BIT_FLAG(1) ,
  COLL_HEAD = BIT_FLAG(2) ,
  COLL_FOOT = BIT_FLAG(3)
}
 The collision directions that an actor can respond to. More...
enum  ACTOR_SPAWN_FLAG_e {
  ACTOR_SPAWNED = BIT_FLAG(0) ,
  ACTOR_NO_RESPAWN = BIT_FLAG(3)
}
 Information related to actor spawning. More...
enum  SCREEN_OUT_e {
  SKIP_NONE = BIT_FLAG(-1) ,
  SKIP_ACTOR_DELETE = BIT_FLAG(1) ,
  SKIP_SCREEN_CHECK = BIT_FLAG(2) ,
  SKIP_RIDE_CHECK = BIT_FLAG(3)
}
 Flags used to control out of screen checks. More...
typedef dAcPy_c *(* searchNearPlayerFunc) (mVec2_c &delta, const mVec2_c &pos)
 Gets the closest player to the given position and its distance.
typedef bool(* getTrgToSrcDirFunc) (float trgX, float srcX)
 Gets the direction the target position is in, from the source position's viewpoint.
Public Types inherited from dBaseActor_c
enum  ACTOR_KIND_e {
  ACTOR_MAP_GENERIC ,
  ACTOR_MAP_DEMO ,
  ACTOR_MAP_OBJECT ,
  ACTOR_MAP_ENEMY ,
  ACTOR_MAP_PLAYER ,
  ACTOR_MAP_STOP ,
  ACTOR_UNK_6 ,
  ACTOR_MENU_PLAYER ,
  ACTOR_GENERIC
}
 An identifier that represents the actor's kind. More...
Public Types inherited from fBase_c
enum  LIFECYCLE_e {
  CREATING ,
  ACTIVE ,
  DELETING
}
 The possible lifecycle states. More...
enum  GROUP_TYPE_e {
  OTHER ,
  SCENE ,
  ACTOR ,
  ENEMY
}
 The possible group types. More...
enum  MAIN_STATE_e {
  CANCELED ,
  ERROR ,
  SUCCESS ,
  WAITING
}
 The possible operation results. More...
enum  PACK_RESULT_e {
  NOT_READY ,
  SUCCEEDED ,
  FAILED
}
 The possible operation step results. More...
enum  PROC_DISABLE_e {
  ROOT_DISABLE_EXECUTE = BIT_FLAG(0) ,
  DISABLE_EXECUTE = BIT_FLAG(1) ,
  ROOT_DISABLE_DRAW = BIT_FLAG(2) ,
  DISABLE_DRAW = BIT_FLAG(3)
}
 Controls if the execute and draw operations should be skipped. More...
Static Public Member Functions inherited from dEn_c
static void normal_collcheck (dCc_c *self, dCc_c *other)
static bool CeilCheck (float y, dCc_c *cc)
Static Public Member Functions inherited from dActor_c
static void setSoftLight_Player (m3d::bmdl_c &mdl)
 Sets the soft light effect for players.
static void setSoftLight_Enemy (m3d::bmdl_c &mdl)
 Sets the soft light effect for enemies.
static void setSoftLight_Map (m3d::bmdl_c &mdl)
 Sets the soft light effect for map actors.
static void setSoftLight_MapObj (m3d::bmdl_c &mdl)
 Sets the soft light effect for map objects.
static void setSoftLight_Boss (m3d::bmdl_c &mdl)
 Sets the soft light effect for bosses.
static void setSoftLight_Item (m3d::bmdl_c &mdl)
 Sets the soft light effect for items.
static int screenCullCheck (const mVec3_c &pos, const sRangeDataF &visibleBound, sRangeDataF destroyBound, u8 areaID)
 Checks if the actor should be culled due to being outside the screen.
static dAcPy_csearchNearPlayer_Main (mVec2_c &delta, const mVec2_c &pos)
 See searchNearPlayerFunc.
static dAcPy_csearchNearPlayerNormal (mVec2_c &delta, const mVec2_c &pos)
 See searchNearPlayerFunc.
static dAcPy_csearchNearPlayerLoop (mVec2_c &delta, const mVec2_c &pos)
 See searchNearPlayerFunc.
static bool getTrgToSrcDir_Main (float trgX, float srcX)
 See getTrgToSrcDirFunc.
static bool getTrgToSrcDirNormal (float trgX, float srcX)
 See getTrgToSrcDirFunc.
static bool getTrgToSrcDirLoop (float trgX, float srcX)
 See getTrgToSrcDirFunc.
static void changePosAngle (mVec3_c *pos, mAng3_c *ang, int param3)
 Adjusts the actor's position to account for looping stages.
static void setSearchNearPlayerFunc (int loopType)
 Sets the player search function to be used for the level.
static void setGetTrgToSrcDirFunc (int loopType)
 Sets the direction detection function to be used for the level.
static void setChangePosAngleFunc (int loopType)
 Sets the position update function to be used for the level.
static void setLoopFunc (int loopType)
 Sets the position-related functions for the level.
static void setTmpCtData (u8 layer)
 Sets temporary data to be used for the next actor's construction.
static dActor_cconstruct (ProfileName profName, unsigned long param, const mVec3_c *position, const mAng3_c *rotation, u8 layer)
 Creates a stage actor without a parent.
static dActor_cconstruct (ProfileName profName, dBase_c *parent, unsigned long param, const mVec3_c *position, const mAng3_c *rotation, u8 layer)
 Creates a child stage actor with the given parent.
Static Public Member Functions inherited from dBaseActor_c
static void draw2DActorOnLyt1 ()
 Calls draw2D() on every actor.
static void draw2DActorOnLyt2 ()
 Calls draw2D_lyt2() on every actor.
static dBaseActor_cconstruct (ProfileName profName, unsigned long param, const mVec3_c *position, const mAng3_c *rotation)
 Creates an actor without a parent.
static dBaseActor_cconstruct (ProfileName profName, dBase_c *parent, unsigned long param, const mVec3_c *position, const mAng3_c *rotation)
 Creates a child actor with the given parent.
Static Public Member Functions inherited from dBase_c
static dBase_csearchBaseByProfName (ProfileName profile, const dBase_c *parent)
 Searches for a base with a given profile name, optionally under a given parent.
static void initLoader ()
 Sets the callbacks for the scrapped relocatable profile system.
static dBase_ccreateBase (ProfileName profName, dBase_c *parent, unsigned long param, u8 groupType)
 Creates a child base under the given parent.
static dBase_ccreateRoot (ProfileName profName, unsigned long param, u8 groupType)
 Creates a root base.
Static Public Member Functions inherited from fBase_c
static void * operator new (size_t)
 new operator override for all bases.
static void operator delete (void *)
 delete operator override for all bases.
static fBase_ccreateChild (ProfileName profName, fBase_c *parent, unsigned long param, u8 groupType)
 Creates a child base under the given parent.
static fBase_ccreateRoot (ProfileName profName, unsigned long param, u8 groupType)
 Creates a root base.
Public Attributes inherited from dEn_c
dDeathInfo_c mDeathInfo
 The parameters for the death animation.
u32 mCcValue
u16 m_24
u8 mPad1 [6]
mVec3_c mFootPush
mVec3_c mFootPush2
u8 mDeathFallDirection
 The X direction to move towards on death.
u8 mIceDeathDirection
 The X direction to move towards on ice death.
bool mKilledByLiquid
 Whether the enemy was killed by falling in a liquid.
u8 mPad2 [1]
bool mFootAttr3
bool mInLiquid
 Whether the enemy is in a liquid.
bool mFootAttr1
u8 mPad3 [5]
dEnBoyoMng_c mBoyoMng
dIceMng_c mIceMng
 The ice manager for this enemy.
float mAirAccelY
 The Y acceleration before entering a liquid.
float mAirSpeedMaxY
 The maximum Y speed before entering a liquid.
float mAirMaxFallSpeed
 The maximum fall speed before entering a liquid.
u32 mFlags
 Flags for this actor. See FLAGS_e.
u16 mTimer1
 [Used in EN_HATENA_BALLON, for example]
u16 mTimer2
 [Used in EN_HATENA_BALLON, for example]
dPlayerDownTimer_c mNoHitPlayer
 Hit cooldown timers for each player. This is used to prevent, for example, a thrown shell from hitting the player that threw it.
u8 mTimer3
dEnCombo_c mCombo
 The enemy combo manager.
dEnFumiProc_c mFumiProc
Public Attributes inherited from dActorMultiState_c
sFStateStateMgr_c< dActorMultiState_c, sStateMethodUsr_FI_c, sStateMethodUsr_FI_cmStateMgr
 The state manager.
Public Attributes inherited from dActor_c
u8 m_00
 Seems to be a player bit flag.
u32 mCarryFukidashiPlayerNo
 The player for whom an action prompt related to the actor is being displayed. -1 if no players meet this criteria.
u32 mCarryingFlags
 The actor's carry actions. See CARRY_ACTION_e.
u8 mThrowDirection
 The actor's direction when thrown or dropped after carrying.
int mComboMultiplier
 The current combo multiplier obtained by the actor by colliding with other actors.
u8 m_13
u32 m_17
float m_1b
u32 m_1f
dCc_c mCc
 The actor-to-actor collision sensor.
dBc_c mBc
 The actor-to-tile collision sensor.
dRc_c mRc
 The actor's ride surface manager.
mVec2_c m_1eb
mVec2_c mVisibleAreaSize
 The size of the area inside which the actor is visible.
mVec2_c mVisibleAreaOffset
 The offset applied to the area size.
sRangeDataF mMaxBound
sRangeDataF mDestroyBound
u8 mDirection
 The actor's facing direction.
u8 mAreaNo
 The actor's zone ID.
u8 mBgCollFlags
 The collision directions that the actor can respond to.
u8 * mpSpawnFlags
 The spawn flags for the actor. See ACTOR_SPAWN_FLAG_e.
u16 * mpDeleteVal
u16 mEventNums
 The event IDs the actor is tracking.
u64 mEventMask
 The event mask, generated from mEventNums.
u32 m_23b
u16 mSpriteSpawnFlags
 The spawn flags from the sprite data entry.
bool mBlockHit
 Whether a block below the actor was hit.
u32 mEatenByID
 The unique identifier of the eating actor.
u8 mEatState
 The actor's eat state. Value is a EAT_STATE_e.
u8 mEatBehaviour
 The actor's eat behaviour. Value is a EAT_BEHAVIOR_e.
mVec3_c mPreEatScale
 The actor's scale before being eaten.
EAT_POINTS_e mEatPoints
 The score awarded when the actor is eaten by Yoshi.
int mAttentionMode
u32 mAttentionFlags
dPropelParts_c * mPropelParts
 The actor's propeller effect manager.
u8 mKind
 The actor's kind. Value is a STAGE_ACTOR_KIND_e.
s8 mPlayerNo
 The player associated with the actor, -1 if not associated to any player.
u8 mExecStopMask
 The mask required to disable the execute operation for the actor.
u8 mLayer
 The actor's layer.
bool mNoRespawn
 Whether the actor should not respawn after being deleted.
u8 mAmiLayer
 The actor's layer for chainlink fences.
Public Attributes inherited from dBaseActor_c
mMtx_c mMatrix
 The actor's partial transformation matrix. See makeMtx() for details.
mVec3_c mPos
 The actor's position.
mVec3_c mLastPos
 The actor's position in the previous frame.
mVec3_c mPosDelta
 The actor's position delta since the previous frame.
mVec3_c mCenterOffs
 The offset from the position to the center of the actor (defaults to 0).
mVec3_c mScale
 The actor's scale (defaults to 1).
mVec3_c mSpeed
 The actor's speed.
mVec3_c mSpeedMax
 The actor's maximum speed.
mAng3_c mAngle
 The actor's rotation (for 2D actors).
mAng3_c mAngle3D
 The actor's rotation (for 3D actors).
float mSpeedF
 The actor's horizontal speed.
float mMaxSpeedF
 The actor's maximum horizontal speed.
float mAccelY
 The actor's vertical acceleration.
float mMaxFallSpeed
 The actor's maximum fall speed.
float mAccelF
 The actor's horizontal acceleration.
u32 mActorProperties
 The actor's properties. See fProfile::fActorProfile_c::mActorProperties.
bool mVisible
 Whether the actor should be visible or not. Defaults to true .
Public Attributes inherited from fBase_c
fBaseID_e mUniqueID
 The base's unique identifier.
u32 mParam
 A bitfield that configures the base's behaviour. Its usage varies from profile to profile.
ProfileName mProfName
 The base's profile name.
Protected Member Functions inherited from dBaseActor_c
virtual ~dBaseActor_c ()
 Destroys the actor.
virtual void draw2D ()
 Alternate drawing function used to draw 3D models in front of 2D graphics (first draw pass).
virtual void draw2D_lyt2 ()
 Alternate drawing function used to draw 3D models in front of 2D graphics (second draw pass).
virtual void finalUpdate ()
 Code to be executed after all actors' execute operation has run.
Protected Member Functions inherited from fBase_c
bool isProcControlFlag (u8 flag) const
 Checks if a flag is set in mProcControl.
void setProcControlFlag (u8 flag)
 Sets a flag in mProcControl.
void clearProcControlFlag (u8 flag)
 Clears a flag in mProcControl.
virtual int create ()
 do method for the create operation.
virtual int doDelete ()
 do method for the delete operation.
virtual int execute ()
 do method for the execute operation.
virtual int draw ()
 do method for the draw operation.
virtual void deleteReady ()
 Informs the base that it's about to be deleted.
virtual bool entryFrmHeap (unsigned long size, EGG::Heap *parentHeap)
 Creates a heap of the given size for the base.
virtual bool entryFrmHeapNonAdjust (unsigned long size, EGG::Heap *parentHeap)
 Creates a heap of the given size for the base.
virtual bool createHeap ()
 [Does nothing].
virtual ~fBase_c ()
 Destroys the base.

Constructor & Destructor Documentation

◆ dEnemyCarry_c()

dEnemyCarry_c::dEnemyCarry_c ( )

Constructs a new carryable enemy.

Definition at line 10 of file d_enemy_carry.cpp.

Member Function Documentation

◆ setThrowSpeed()

void dEnemyCarry_c::setThrowSpeed ( dActor_c * actor)
virtual

Sets the throw speed based on the actor throwing it.

Definition at line 12 of file d_enemy_carry.cpp.

◆ setThrowChangeState()

void dEnemyCarry_c::setThrowChangeState ( )
virtual

Throws this enemy.

Definition at line 32 of file d_enemy_carry.cpp.

◆ setPutOnChangeState()

void dEnemyCarry_c::setPutOnChangeState ( )
virtual

Drops this enemy.

Definition at line 37 of file d_enemy_carry.cpp.

◆ setDeathInfo_CarryBgIn()

void dEnemyCarry_c::setDeathInfo_CarryBgIn ( dActor_c * actor)

Sets the death info for when the enemy is stuck in background collision.

Definition at line 42 of file d_enemy_carry.cpp.

Member Data Documentation

◆ StateID_Carry

sFStateVirtualID_c< dEnemyCarry_c > dEnemyCarry_c::StateID_Carry
static

The enemy is being carried.

Definition at line 17 of file d_enemy_carry.hpp.

◆ StateID_Throw

sFStateVirtualID_c< dEnemyCarry_c > dEnemyCarry_c::StateID_Throw
static

The enemy is being thrown / put down.

Definition at line 18 of file d_enemy_carry.hpp.

◆ mWasDropped

bool dEnemyCarry_c::mWasDropped
protected

Whether the enemy was dropped or thrown. If dropped, it will not collide with other entities.

Definition at line 23 of file d_enemy_carry.hpp.

◆ mThrowSpeed

u8 dEnemyCarry_c::mThrowSpeed
protected

0 => X speed = 2.5, 1 => X speed = 3.0

Definition at line 24 of file d_enemy_carry.hpp.

◆ smc_DIR_MODE0

const float dEnemyCarry_c::smc_DIR_MODE0 = {2.5f, -2.5f}
staticprotected

Definition at line 7 of file d_enemy_carry.hpp.

◆ smc_DIR_MODE1

const float dEnemyCarry_c::smc_DIR_MODE1 = {3.0f, -3.0f}
staticprotected

Definition at line 8 of file d_enemy_carry.hpp.