3#include <actor/Actor.h>
4#include <collision/ActorBgCollisionObjCheck.h>
5#include <collision/BgCollisionCheckParam.h>
39
40
41
44
45
46
49
50
51
57 return (BgCheckFlag)((u32)lhs | (u32)rhs);
119
120
121
122
160 mPos.x - 16.0f, mPos.y,
161 mPos.x + 16.0f, mPos.y + 32.0f
198 void landFoot(f32 y_check_distance,
const ActorBgCollisionCheck::Sensor* foot_sensor);
200 void landFootSimple(f32 y_check_distance,
const ActorBgCollisionCheck::Sensor* foot_sensor,
bool extended,
bool force);
207 BgCollisionCheckParam param = { 0 };
208 param.layer = mLayer;
209 param.collision_mask = mCollisionMask;
211 BasicBgCollisionCheck tile_check(param);
213 const sead::Vector2f& a = getPos2D();
214 sead::Vector2f b(a + offset);
216 return tile_check.checkArea(
nullptr, a, b, 1 << cDirType_Down);
238 void landFoot_(f32 y_check_distance,
const ActorBgCollisionCheck::Sensor* foot_sensor,
bool extended,
bool force);
264static_assert(
sizeof(
ActorCollision) == 0x17A0,
"ActorCollision size mismatch");
Definition ActorCollision.h:9
bool mNoWaterCalc
Definition ActorCollision.h:257
void adjustSpeedYInWater()
bool mIsSubmerged
Definition ActorCollision.h:256
ActorBgCollisionObjCheck mBgCheckObj
Definition ActorCollision.h:242
virtual void reactQuake(QuakeType type)
bool preExecute() override
Callback invoked before the execute operation.
virtual bool isFunsui() const
Definition ActorCollision.h:101
virtual void setFunsuiFlag(bool enable)
Definition ActorCollision.h:82
f32 mWaterSpeedMaxY
Definition ActorCollision.h:251
f32 mJumpSpeedF
Definition ActorCollision.h:243
virtual bool setDrcTouchActorDeath(const sead::Vector3f &pos)
Definition ActorCollision.h:130
static const f32 cWaterGravity
-0.0625f
Definition ActorCollision.h:42
friend BgCheckFlag & operator|=(BgCheckFlag &lhs, const BgCheckFlag &rhs)
Definition ActorCollision.h:60
virtual void endFunsui(f32 speed_y)
Definition ActorCollision.h:97
f32 _1774
Definition ActorCollision.h:248
f32 mWaterGravity
Definition ActorCollision.h:253
void resetObjBgPos(BgCollision &bg_collision)
void landFoot(f32 y_check_distance, const ActorBgCollisionCheck::Sensor *foot_sensor)
u8 mWaterCalcType
Definition ActorCollision.h:258
sead::Vector2f mBgSpeedPrev
Definition ActorCollision.h:250
bool checkLiftFoot() const
bool actorBgNormalCheckFoot() const
WaterType mWaterTypeOverride
Definition ActorCollision.h:247
void landFoot_(f32 y_check_distance, const ActorBgCollisionCheck::Sensor *foot_sensor, bool extended, bool force)
QuakeType
Definition ActorCollision.h:32
@ cQuakeType_Big
Definition ActorCollision.h:34
@ cQuakeType_Normal
Definition ActorCollision.h:33
@ cQuakeType_Small
Definition ActorCollision.h:35
virtual bool isReactQuake()
Determines whether setQuake_() should be called.
bool checkForSuitableGround_(const sead::Vector2f &offset) const
Definition ActorCollision.h:205
bool actorBgNormalCheckWall() const
const ActorBgCollisionCheck * getBcConstPtr() const override
Definition ActorCollision.h:112
virtual bool checkLavaDamage_(f32 surface_pos_y)
Definition ActorCollision.h:147
u32 mJumpFrame
Definition ActorCollision.h:262
u8 mNoLavaSplashTimer
Definition ActorCollision.h:259
ActorCollision(const ActorCreateParameter ¶m)
virtual void setFunsuiJump(f32 speed)
Definition ActorCollision.h:107
bool mFunsuiFlag
Definition ActorCollision.h:260
bool mIsInQuicksand
Definition ActorCollision.h:255
virtual void getDrawRange(sead::BoundBox2f *box)
Definition ActorCollision.h:157
bool mCheckWaterNeeded
Definition ActorCollision.h:254
virtual bool getFunsuiFlag() const
Definition ActorCollision.h:88
f32 generalXSpeedCalc(f32 value, f32 step) const
virtual void setFunsuiPos(const sead::Vector2f &dst)
Definition ActorCollision.h:136
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
virtual bool checkPoisonDamage_(f32 surface_pos_y)
Definition ActorCollision.h:152
bool checkRideActor(const BgCollision &bg_collision) const
friend BgCheckFlag operator|(const BgCheckFlag &lhs, const BgCheckFlag &rhs)
Definition ActorCollision.h:55
bool mUseWaterTypeOverride
Definition ActorCollision.h:246
WaterCalcType
Definition ActorCollision.h:25
@ cWaterCalcType_ForceOut
Definition ActorCollision.h:28
@ cWaterCalcType_EnablePreCheck
Definition ActorCollision.h:27
@ cWaterCalcType_Normal
Definition ActorCollision.h:26
void postCreate(MainState state) override
Callback invoked unconditionally after the create phase completes. It executes even if preCreate() by...
virtual void setDeathInfoSmoke(const Actor *actor)
static const f32 cWaterSpeedYMax
1.5f
Definition ActorCollision.h:47
static const f32 cWaterFallSpeedMax
-1.5f
Definition ActorCollision.h:52
void landFootSimple(f32 y_check_distance, const ActorBgCollisionCheck::Sensor *foot_sensor, bool extended, bool force)
WaterType checkWaterByWaterCheckPos(f32 *surface_pos_y)
sead::Vector3f * mWaterCheckPos
Definition ActorCollision.h:245
bool mIsOnGround
Definition ActorCollision.h:261
BgCheckFlag actorBgNormalCheck()
f32 mJumpAccelF
Definition ActorCollision.h:244
WaterType waterLineProc(f32 *surface_pos_y, const sead::Vector3f &check_pos)
virtual void setFunsuiSpeedY(f32 speed)
Definition ActorCollision.h:141
virtual void beginFunsui()
Definition ActorCollision.h:93
f32 mWaterMaxFallSpeed
Definition ActorCollision.h:252
Result destroy() override
Main deletion callback for the actor.
sead::Vector2f mBgSpeed
Definition ActorCollision.h:249
void registerAlphaCheckAreaHUD()