3#include <collision/ActorBgCollisionCheck.h>
19 static_assert(
sizeof(
VineType) == 4);
59 mCarryPlayerNo = player_no;
64 return mFlag.isOn(cFlag_IsSakaReverse);
69 mFlag.set(cFlag_IsMame);
74 mFlag.reset(cFlag_IsMame);
79 return mFlag.isOn(cFlag_IsMame);
87 bool checkDokanLR(sead::Vector3f* pos, s32* dst_next_goto_no, DirType direction,
const Sensor& wall);
114 return mVineBgCollision;
123 bool checkGround(
const sead::Vector3f& pos, f32 check_distance, BgCollisionCheckResultArea* res =
nullptr);
128 bool checkWall(
const sead::Vector3f& pos, f32 speed_x, f32* hit_pos_x =
nullptr,
bool use_callback =
false);
131 bool checkTenjou(
const sead::Vector3f& pos, f32 check_distance, f32* hit_pos_y =
nullptr,
bool no_invis_block =
false);
137 bool checkKani(s32* type, f32* hit_pos_y,
const sead::Vector3f& pos, f32 check_distance);
Definition ActorBgCollisionPlayerCheck.h:6
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:112
bool checkQuicksand(const sead::Vector3f &pos, f32 *hit_pos_y=nullptr)
void offMame()
Definition ActorBgCollisionPlayerCheck.h:72
bool checkKani(s32 *type, f32 *hit_pos_y, const sead::Vector3f &pos, f32 check_distance)
BgCollision * mVineBgCollision
Definition ActorBgCollisionPlayerCheck.h:145
bool isMameDokan() const
Definition ActorBgCollisionPlayerCheck.h:89
List::Node _14e0
Definition ActorBgCollisionPlayerCheck.h:140
sead::BitFlag16 mFlag
Definition ActorBgCollisionPlayerCheck.h:142
bool checkDokanDown(sead::Vector3f *pos, s32 *dst_next_goto_no)
VineResult checkVine(const Sensor &vine_sensor)
void onMame()
Definition ActorBgCollisionPlayerCheck.h:67
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:107
bool mIsMameDokan
Definition ActorBgCollisionPlayerCheck.h:143
Actor * getOwnerAtHit(const BgCollision &bg_collision, u8 direction) const override
Flag
Definition ActorBgCollisionPlayerCheck.h:22
@ cFlag_IsVine
Definition ActorBgCollisionPlayerCheck.h:23
@ cFlag_IsWallSlide
Definition ActorBgCollisionPlayerCheck.h:24
@ cFlag_IsSakaReverse
Definition ActorBgCollisionPlayerCheck.h:25
@ cFlag_IsMame
Definition ActorBgCollisionPlayerCheck.h:26
bool isSakaReverse() const
Definition ActorBgCollisionPlayerCheck.h:62
virtual ~ActorBgCollisionPlayerCheck()
bool checkDokanUp(sead::Vector3f *pos, s32 *dst_next_goto_no)
PcCheckArea mPcCheckArea
Definition ActorBgCollisionPlayerCheck.h:146
PcCheckArea mPcCheckAreaPrev
Definition ActorBgCollisionPlayerCheck.h:147
s8 mCarryPlayerNo
Definition ActorBgCollisionPlayerCheck.h:141
bool isMame() const
Definition ActorBgCollisionPlayerCheck.h:77
void setPcCheckArea(const PcCheckArea &area)
Definition ActorBgCollisionPlayerCheck.h:117
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:57
s8 * vf4C(f32) const override
bool checkPole(const sead::Vector2f &offset)
u32 _1524[(0x15A0 - 0x1524)/sizeof(u32)]
Definition ActorBgCollisionPlayerCheck.h:148
VineType mVineType
Definition ActorBgCollisionPlayerCheck.h:144
void atFrameStart() override
Definition ActorBgCollisionPlayerCheck.h:30
f32 center_y
Definition ActorBgCollisionPlayerCheck.h:32
f32 half_size_x
Definition ActorBgCollisionPlayerCheck.h:35
f32 half_size_y1
Definition ActorBgCollisionPlayerCheck.h:33
f32 half_size_y2
Definition ActorBgCollisionPlayerCheck.h:34
f32 center_x
Definition ActorBgCollisionPlayerCheck.h:31
Definition ActorBgCollisionPlayerCheck.h:40
u16 flag
Definition ActorBgCollisionPlayerCheck.h:41