3#include <actor/ActorBase.h>
4#include <actor/ActorCullRange.h>
5#include <collision/ActorCollisionCheck.h>
6#include <utility/Angle3.h>
7#include <utility/Direction.h>
22 SEAD_RTTI_OVERRIDE(
Actor, ActorBase)
45
46
124 return getPlayerDirLR(mPos);
129 return getPlayerDirUD(mPos);
133
134
135
136
137
138
139
140
141
142
163
164
165
166
172 return mCollisionCheck;
177 return mCollisionCheck;
222 mMaxSpeedF = maxSpeedF;
227 return mMaxFallSpeed;
232 mMaxFallSpeed = maxFallSpeed;
267 return reinterpret_cast<sead::Vector2f&>(mPos.x);
272 return reinterpret_cast<
const sead::Vector2f&>(mPos.x);
277 return getPos() + mCenterOffset;
282 return getPos2D() +
reinterpret_cast<
const sead::Vector2f&>(mCenterOffset.x);
287 return mPos.x + mCenterOffset.x;
292 return mPos.y + mCenterOffset.y;
297 return mPos.z + mCenterOffset.z;
342 return ActorType(mActorType);
357 return CarryFlag(mCarryFlag);
377 Actor(
const ActorCreateParam& param);
412 void calcSpeedF_(f32 accelF, f32 max_speedF) { sead::Mathf::chase(&mSpeedF, max_speedF, accelF); }
423 void posMove_(sead::Vector2f& delta_xy, f32 delta_z)
425 getPos2D() += delta_xy;
537static_assert(
sizeof(
Actor) == 0x27C);
s32 EffectID
Definition Actor.h:16
Definition ActorBgCollisionCheck.h:59
bool isDrawEnable() const
Definition Actor.h:185
virtual void waterSplashEffect(const sead::Vector3f &pos)
sead::Vector3f mPosPrev
Definition Actor.h:522
void setSpeedF(f32 speedF)
Definition Actor.h:210
DirType getDirection() const
Definition Actor.h:190
s32 searchNearPlayer(sead::Vector2f &out)
virtual void allEnemyDeathEffSet()
virtual bool isSpinLiftUpEnable()
Definition Actor.h:81
void setMaxSpeedF(f32 maxSpeedF)
Definition Actor.h:220
Angle3 mAngle
Definition Actor.h:493
bool mIsExecEnable
Definition Actor.h:506
ScreenOutFlag
Flags to pass to screenOutCheck to skip checks or actions during the evaluation.
Definition Actor.h:48
@ cScreenOutFlag_SkipDeletion
Skip deleting the actor if the checks do pass.
Definition Actor.h:50
@ cScreenOutFlag_SkipRideCheck
Skip checking if the actor is riding another actor/platform.
Definition Actor.h:52
@ cScreenOutFlag_SkipNone
Perform all checks and delete the actor if they pass.
Definition Actor.h:49
@ cScreenOutFlag_SkipTottenCheck
Skip checking if Nabbit has passed to the right of the actor's visible range.
Definition Actor.h:53
@ cScreenOutFlag_SkipCameraCheck
Skip checking if the actor is outside of the visible camera.
Definition Actor.h:51
bool checkPressU_(const ActorBgCollisionCheck &bc)
sead::Vector2f mVisibleAreaSize
Definition Actor.h:498
void posMove_(sead::Vector2f &delta_xy, f32 delta_z)
Definition Actor.h:423
virtual bool drawCullCheck_()
sead::Vector3f mSpeedMax
Definition Actor.h:491
const sead::Vector3f & getSpeedMaxVec() const
Definition Actor.h:315
s8 mPlayerNo
Definition Actor.h:480
const Angle3 & getAngle() const
Definition Actor.h:335
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
u8 getLayer() const
Definition Actor.h:200
f32 getMaxFallSpeed() const
Definition Actor.h:225
s8 getPlayerNo() const
Definition Actor.h:62
const ActorCollisionCheck & getCollisionCheck() const
Definition Actor.h:175
u8 getSwitchFlag1() const
Definition Actor.h:365
bool setPressBreakLR_(const ActorBgCollisionCheck &bc)
virtual void setPlayerNo(s8 id)
Definition Actor.h:57
void setAccelY(f32 accelY)
Definition Actor.h:240
PropelParts * mPropelParts
Definition Actor.h:527
void setAccelF(f32 accelF)
Definition Actor.h:250
sead::Vector2f mVisibleAreaOffset
Definition Actor.h:497
bool canPress_(const BgCollision *bg_collision)
s32 mComboCnt
Definition Actor.h:519
virtual void setCarryFall(Actor *, s32)
Definition Actor.h:77
bool setPressIceHeadBreak_(const ActorBgCollisionCheck &bc)
ChibiYoshiEatData * mChibiYoshiEatDataPtr
Definition Actor.h:526
EatData * mEatDataPtr
Definition Actor.h:525
const sead::Vector3f & getSpeedVec() const
Definition Actor.h:305
DirType mDirection
Definition Actor.h:479
bool preExecute() override
Callback invoked before the execute operation.
ActorCullRange mCullLimit
Definition Actor.h:500
ActorType getActorType() const
Definition Actor.h:340
virtual ActorBgCollisionCheck * getBgCheck()
Definition Actor.h:72
bool isEnablePressUD_(const ActorBgCollisionCheck &bc)
sead::Vector3f & getPos()
Definition Actor.h:255
u32 mProfFlag
Definition Actor.h:520
virtual void setSpinLiftUpActor(Actor *player)
Definition Actor.h:86
void setDirection(DirType dir)
Definition Actor.h:195
sead::Vector2f mSize
Definition Actor.h:499
DirType getPlayerDirLR()
Definition Actor.h:122
void carryFukidashiCheck_(s32 action)
sead::Vector2f getCenterPos2D() const
Definition Actor.h:280
bool setPressBreakIce_(const BgCollision *bg_collision)
ActorCollisionCheck mCollisionCheck
Definition Actor.h:496
s8 mControllerLytPlayerNo
Definition Actor.h:481
void calcSpeedF_()
Definition Actor.h:413
u16 mCreateFlag
Definition Actor.h:513
void posMove_()
Definition Actor.h:429
sead::Vector3f mCenterOffset
Definition Actor.h:521
void postCreate(MainState state) override
Callback invoked unconditionally after the create phase completes. It executes even if preCreate() by...
f32 getAccelF() const
Definition Actor.h:245
bool screenOutCheck(u16 flag)
Checks if the actor is out of gameplay and optionally deletes it.
bool checkPressD_(const ActorBgCollisionCheck &bc)
bool mIsDrawEnable
Definition Actor.h:507
static const f32 cCullXLimit
Definition Actor.h:533
u8 mAreaNo
Definition Actor.h:504
sead::Vector3f & getSpeedVec()
Definition Actor.h:300
void calcFallSpeed_(f32 accel_y, f32 max_fall_speed)
s32 getComboCnt() const
Definition Actor.h:101
sead::Vector2f & getPos2D()
Definition Actor.h:265
sead::Vector3f & getSpeedMaxVec()
Definition Actor.h:310
sead::Vector3f mPosPrevPostExec
Definition Actor.h:523
void carryFukidashiCancel_(s32 action, s32 player_no)
const sead::Vector2f & getPos2D() const
Definition Actor.h:270
u32 getProfFlag() const
Definition Actor.h:370
f32 mAccelF
Definition Actor.h:488
DirType getPlayerDirUD()
Definition Actor.h:127
u8 mSwitchFlag1
Definition Actor.h:512
void splashEffect_(const sead::Vector3f &pos, EffectID effect_id, u8 wave_scale, const char *sound_label)
sead::Vector3f mPos
Definition Actor.h:489
bool setPressBreakBlockDRC_(const BgCollision *bg_collision)
void calcSpeedF_(f32 accelF, f32 max_speedF)
Definition Actor.h:412
virtual void yoganWaveSplashEffect(const sead::Vector3f &pos)
bool isEnablePressLR_(const ActorBgCollisionCheck &bc)
bool canPressIfApproaching_(const BgCollision *bgcol_approaching_side, const BgCollision *bgcol_fixed_side)
f32 mAccelY
Definition Actor.h:487
ChibiYoshiAwaData * mChibiYoshiAwaDataPtr
Definition Actor.h:530
u32 mBumpDamageTimer
Definition Actor.h:514
sead::Vector2f mPosDelta
Definition Actor.h:495
void deleteActor(bool manual_deleted)
Schedule this actor for deletion on the next frame.
bool checkCarried(s32 *player_no)
u8 _220
Definition Actor.h:516
Actor(const ActorCreateParam ¶m)
u32 mBumpDirection
Definition Actor.h:515
u8 mSwitchFlag0
Definition Actor.h:511
f32 mMaxSpeedF
Definition Actor.h:485
virtual void vfC4()
Definition Actor.h:90
CarryFlag getCarryFlag() const
Definition Actor.h:355
bool setPressBreakUD_(const ActorBgCollisionCheck &bc)
f32 mAddSpeedF
Definition Actor.h:529
void slideComboSE(s32 combo_cnt, bool combo_type_2)
f32 getSpeedF() const
Definition Actor.h:205
virtual void yoganSplashEffect(const sead::Vector3f &pos)
DirType mCarryDirection
Definition Actor.h:517
static const f32 cCullYLimit
Definition Actor.h:535
u8 getSwitchFlag0() const
Definition Actor.h:360
void setMaxFallSpeed(f32 maxFallSpeed)
Definition Actor.h:230
Angle3 mAnglePrev
Definition Actor.h:494
u8 mLayer
Definition Actor.h:482
void calcSpeedY_()
Definition Actor.h:410
DirType getPlayerDirLR(const sead::Vector3f &position)
sead::Vector3f getCenterPos() const
Definition Actor.h:275
f32 mSpeedF
Definition Actor.h:484
bool isExecEnable() const
Definition Actor.h:180
f32 getMaxSpeedF() const
Definition Actor.h:215
u8 mActorType
Definition Actor.h:505
ActorCollisionCheck & getCollisionCheck()
Definition Actor.h:170
virtual void poisonSplashEffect(const sead::Vector3f &pos)
bool mManualDeletedFlag
Definition Actor.h:508
virtual void removeCollisionCheck()
virtual void reviveCollisionCheck()
bool getManualDeletedFlag() const
Definition Actor.h:350
void calcFallSpeed_()
Definition Actor.h:416
Actor * searchCarryFukidashiPlayer_(s32 action)
void carryFukidashiCheck_(s32 action, const sead::Vector2f &range)
Angle3 & getAngle()
Definition Actor.h:330
u32 mThrowPlayerNo
Definition Actor.h:518
f32 getCenterX() const
Definition Actor.h:285
CarryFlag
Definition Actor.h:35
@ cCarryFlag_Throw
Definition Actor.h:37
@ cCarryFlag_Release
Definition Actor.h:36
@ cCarryFlag_All
Definition Actor.h:41
@ cCarryFlag_ThrowHard
Definition Actor.h:38
@ cCarryFlag_None
Definition Actor.h:40
sead::Vector3f mScale
Definition Actor.h:492
sead::Vector3f mPosPrev2
Definition Actor.h:524
u8 * _270
Definition Actor.h:528
f32 getCenterY() const
Definition Actor.h:290
u32 calcTottenToSrcDir_(const sead::BoundBox2f &src_range) const
virtual void blockHitInit_()
Definition Actor.h:396
void calcSpeedY_(f32 accel_y, f32 speed_max_y)
f32 getEffectZPos() const
sead::BitFlag8 mCollisionMask
Definition Actor.h:483
const sead::Vector3f & getScale() const
Definition Actor.h:325
f32 getCenterZ() const
Definition Actor.h:295
sead::Vector3f & getScale()
Definition Actor.h:320
f32 getAccelY() const
Definition Actor.h:235
void posMove_(sead::Vector3f &delta)
Definition Actor.h:418
u8 mCarryFlag
Definition Actor.h:510
sead::Vector3f mSpeed
Definition Actor.h:490
DirType getPlayerDirUD(const sead::Vector3f &position)
u8 _211
Definition Actor.h:509
const sead::Vector3f & getPos() const
Definition Actor.h:260
bool preDraw() override
Callback invoked before the draw operation.
virtual void vfCC()
Definition Actor.h:94
void setKind(ActorType type)
Definition Actor.h:345
bool checkPressLR_(const ActorBgCollisionCheck &bc, DirType direction)
f32 mMaxFallSpeed
Definition Actor.h:486
Definition BgCollision.h:19
Defines parameters for interaction with bubbles from the blue Baby Yoshi.
Definition ChibiYoshiAwaData.h:14
Definition ChibiYoshiEatData.h:10
Definition PropelParts.h:11