3#include <actor/Actor.h>
4#include <collision/ActorBgCollisionObjCheck.h>
5#include <collision/BgCollisionCheckParam.h>
40 return (BgCheckFlag)((u32)lhs | (u32)rhs);
95
96
97
98
141 mPos.x - 16.0f, mPos.y,
142 mPos.x + 16.0f, mPos.y + 32.0f
185 void snapToGround_(f32 y_check_distance,
const ActorBgCollisionCheck::Sensor& foot_sensor,
bool extended,
bool force);
192 BgCollisionCheckParam param = { 0 };
193 param.layer = mLayer;
194 param.collision_mask = mCollisionMask;
196 BasicBgCollisionCheck tile_check(param);
198 const sead::Vector2f& a = getPos2D();
199 sead::Vector2f b(a + offset);
201 return tile_check.checkArea(
nullptr, a, b, 1 << cDirType_Down);
223 void snapToGroundImpl_(f32 y_check_distance,
const ActorBgCollisionCheck::Sensor& foot_sensor,
bool extended,
bool force);
Definition ActorCollision.h:8
void clampMoveDistance_(BgCollision &bg_collision)
virtual bool setTouchDrcDamage_(const sead::Vector3f &pos)
Definition ActorCollision.h:113
virtual void setWaterFunsui_(bool enable)
Definition ActorCollision.h:64
~ActorCollision() override
Definition ActorCollision.h:146
WaterType checkWater_(f32 *surface_pos_y)
virtual void setFunsuiSpeedY_(f32 speed)
Definition ActorCollision.h:123
bool mNoWaterCalc
Definition ActorCollision.h:242
bool mIsSubmerged
Definition ActorCollision.h:241
ActorBgCollisionObjCheck mBgCheckObj
Definition ActorCollision.h:227
bool preExecute() override
Callback invoked before the execute operation.
bool isHitBgCollision_(const BgCollision &bg_collision) const
void snapToGround_(f32 y_check_distance, const ActorBgCollisionCheck::Sensor &foot_sensor, bool extended, bool force)
f32 mWaterSpeedMaxY
Definition ActorCollision.h:236
f32 mJumpSpeedF
Definition ActorCollision.h:228
virtual void vf134(f32 speed)
Definition ActorCollision.h:89
bool mIsWaterFunsui
Definition ActorCollision.h:245
friend BgCheckFlag & operator|=(BgCheckFlag &lhs, const BgCheckFlag &rhs)
Definition ActorCollision.h:43
f32 _1774
Definition ActorCollision.h:233
f32 mWaterGravity
Definition ActorCollision.h:238
u8 mWaterCalcType
Definition ActorCollision.h:243
sead::Vector2f mBgSpeedPrev
Definition ActorCollision.h:235
WaterType checkEnterWater_(f32 *surface_pos_y, const sead::Vector3f &check_pos)
virtual void setSmokeDamage_(Actor *actor)
virtual bool isFunsui_() const
Definition ActorCollision.h:83
WaterType mWaterTypeOverride
Definition ActorCollision.h:232
void registerInGamescene_()
virtual void getBox_(sead::BoundBox2f &box)
Definition ActorCollision.h:138
QuakeType
Definition ActorCollision.h:31
@ cQuakeType_Big
Definition ActorCollision.h:33
@ cQuakeType_Normal
Definition ActorCollision.h:32
@ cQuakeType_Small
Definition ActorCollision.h:34
bool checkForSuitableGround_(const sead::Vector2f &offset) const
Definition ActorCollision.h:190
u32 mJumpFrame
Definition ActorCollision.h:247
u8 mNoLavaSplashTimer
Definition ActorCollision.h:244
virtual void setQuake_(QuakeType type)
virtual bool smokeDamageEnable_Yogan_(f32 surface_pos_y)
Definition ActorCollision.h:128
f32 chaseZero_(f32 value, f32 step) const
bool mIsInQuicksand
Definition ActorCollision.h:240
bool bgCheckWall_() const
virtual bool smokeDamageEnable_Poison_(f32 surface_pos_y)
Definition ActorCollision.h:133
bool mCheckWaterNeeded
Definition ActorCollision.h:239
void snapToGroundImpl_(f32 y_check_distance, const ActorBgCollisionCheck::Sensor &foot_sensor, bool extended, bool force)
ActorCollision(const ActorCreateParam ¶m)
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
friend BgCheckFlag operator|(const BgCheckFlag &lhs, const BgCheckFlag &rhs)
Definition ActorCollision.h:38
bool mUseWaterTypeOverride
Definition ActorCollision.h:231
virtual void setFunsuiPos_(sead::Vector2f dst)
Definition ActorCollision.h:118
WaterCalcType
Definition ActorCollision.h:24
@ cWaterCalcType_ForceOut
Definition ActorCollision.h:27
@ cWaterCalcType_EnablePreCheck
Definition ActorCollision.h:26
@ cWaterCalcType_Normal
Definition ActorCollision.h:25
void postCreate(MainState state) override
Callback invoked unconditionally after the create phase completes. It executes even if preCreate() by...
Result doDelete() override
Main deletion callback for the actor.
virtual void endFunsui_(f32 speed_y)
Definition ActorCollision.h:79
sead::Vector3f * mWaterCheckPos
Definition ActorCollision.h:230
bool mIsOnGround
Definition ActorCollision.h:246
f32 mJumpAccelF
Definition ActorCollision.h:229
virtual bool isQuakeEnable_()
Determines whether setQuake_() should be called.
f32 mWaterMaxFallSpeed
Definition ActorCollision.h:237
virtual void beginFunsui_()
Definition ActorCollision.h:75
virtual bool isWaterFunsui_() const
Definition ActorCollision.h:70
void checkSnapToGround_(f32 y_check_distance, const ActorBgCollisionCheck::Sensor &foot_sensor)
ActorBgCollisionCheck * getBgCheck() override
Definition ActorCollision.h:107
bool bgCheckFoot_() const
sead::Vector2f mBgSpeed
Definition ActorCollision.h:234