3#include <collision/ActorBgCollisionCheck.h>
20 static_assert(
sizeof(
VineType) == 4);
60 mCarryPlayerNo = player_no;
65 return mFlag.isOn(cFlag_IsSakaReverse);
70 mFlag.set(cFlag_IsMame);
75 mFlag.reset(cFlag_IsMame);
80 return mFlag.isOn(cFlag_IsMame);
88 bool checkDokanLR(sead::Vector3f* pos, s32* dst_next_goto_no, DirType direction,
const Sensor& wall);
115 return mVineBgCollision;
124 bool checkGround(
const sead::Vector3f& pos, f32 check_distance, BgCollisionCheckResultArea* res =
nullptr);
129 bool checkWall(
const sead::Vector3f& pos, f32 speed_x, f32* hit_pos_x =
nullptr,
bool use_callback =
false);
132 bool checkTenjou(
const sead::Vector3f& pos, f32 check_distance, f32* hit_pos_y =
nullptr,
bool no_invis_block =
false);
138 bool checkKani(s32* type, f32* hit_pos_y,
const sead::Vector3f& pos, f32 check_distance);
Definition ActorBgCollisionPlayerCheck.h:7
bool checkWall(const sead::Vector3f &pos, f32 speed_x, f32 *hit_pos_x=nullptr, bool use_callback=false)
bool checkGround(const sead::Vector3f &pos, f32 check_distance, BgCollisionCheckResultArea *res=nullptr)
BgCollision * getVineBgCollision() const
Definition ActorBgCollisionPlayerCheck.h:113
bool checkQuicksand(const sead::Vector3f &pos, f32 *hit_pos_y=nullptr)
void offMame()
Definition ActorBgCollisionPlayerCheck.h:73
bool checkKani(s32 *type, f32 *hit_pos_y, const sead::Vector3f &pos, f32 check_distance)
BgCollision * mVineBgCollision
Definition ActorBgCollisionPlayerCheck.h:146
bool isMameDokan() const
Definition ActorBgCollisionPlayerCheck.h:90
List::Node _14e0
Definition ActorBgCollisionPlayerCheck.h:141
sead::BitFlag16 mFlag
Definition ActorBgCollisionPlayerCheck.h:143
bool checkDokanDown(sead::Vector3f *pos, s32 *dst_next_goto_no)
VineResult checkVine(const Sensor &vine_sensor)
void onMame()
Definition ActorBgCollisionPlayerCheck.h:68
bool checkTenjou(const sead::Vector3f &pos, f32 check_distance, f32 *hit_pos_y=nullptr, bool no_invis_block=false)
VineType getVineType() const
Definition ActorBgCollisionPlayerCheck.h:108
bool mIsMameDokan
Definition ActorBgCollisionPlayerCheck.h:144
Actor * getOwnerAtHit(const BgCollision &bg_collision, u8 direction) const override
Flag
Definition ActorBgCollisionPlayerCheck.h:23
@ cFlag_IsVine
Definition ActorBgCollisionPlayerCheck.h:24
@ cFlag_IsWallSlide
Definition ActorBgCollisionPlayerCheck.h:25
@ cFlag_IsSakaReverse
Definition ActorBgCollisionPlayerCheck.h:26
@ cFlag_IsMame
Definition ActorBgCollisionPlayerCheck.h:27
bool isSakaReverse() const
Definition ActorBgCollisionPlayerCheck.h:63
virtual ~ActorBgCollisionPlayerCheck()
bool checkDokanUp(sead::Vector3f *pos, s32 *dst_next_goto_no)
PcCheckArea mPcCheckArea
Definition ActorBgCollisionPlayerCheck.h:147
PcCheckArea mPcCheckAreaPrev
Definition ActorBgCollisionPlayerCheck.h:148
s8 mCarryPlayerNo
Definition ActorBgCollisionPlayerCheck.h:142
bool isMame() const
Definition ActorBgCollisionPlayerCheck.h:78
void setPcCheckArea(const PcCheckArea &area)
Definition ActorBgCollisionPlayerCheck.h:118
bool checkDokanLR(sead::Vector3f *pos, s32 *dst_next_goto_no, DirType direction, const Sensor &wall)
Actor * getOwnerAtRevCheck(f32 bg_collision_pos_y) const override
ActorBgCollisionPlayerCheck()
void setCarryPlayerNo(s8 player_no)
Definition ActorBgCollisionPlayerCheck.h:58
s8 * vf4C(f32) const override
bool checkPole(const sead::Vector2f &offset)
u32 _1524[(0x15A0 - 0x1524)/sizeof(u32)]
Definition ActorBgCollisionPlayerCheck.h:149
VineType mVineType
Definition ActorBgCollisionPlayerCheck.h:145
void atFrameStart() override
Definition ActorBgCollisionPlayerCheck.h:31
f32 center_y
Definition ActorBgCollisionPlayerCheck.h:33
f32 half_size_x
Definition ActorBgCollisionPlayerCheck.h:36
f32 half_size_y1
Definition ActorBgCollisionPlayerCheck.h:34
f32 half_size_y2
Definition ActorBgCollisionPlayerCheck.h:35
f32 center_x
Definition ActorBgCollisionPlayerCheck.h:32
Definition ActorBgCollisionPlayerCheck.h:41
u16 flag
Definition ActorBgCollisionPlayerCheck.h:42