New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
PoleRopeBgCollision.h
Go to the documentation of this file.
1#pragma once
2
3#include <collision/BgCollision.h>
4
5#include <container/seadBuffer.h>
6#include <container/seadSafeArray.h>
7
9
10class PoleRopeBgCollision : public BgCollision // vtbl Address: 0x10042828
11{
12 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101EA380
13 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA384
14 SEAD_RTTI_OVERRIDE(PoleRopeBgCollision, BgCollision)
15
16public:
17 // Address: 0x021AD424
19 // Address: 0x021AD5C8
21
22 // Address: 0x021ADD60
23 void vf34() override;
24 // Address: 0x021AE0AC
26 bool checkAreaBasic(BgCollisionCheckResultArea* res, const BasicBgCollisionCheck& bc, const sead::Vector2f& p0, const sead::Vector2f& p1, u8 hit_dir_mask) override { return false; }
27 // Address: 0x021AE13C
28 bool checkAreaActor(ActorBgCollisionCheckResult*, sead::Vector2f*, sead::Vector2f*, u8 direction, ActorBgCollisionCheck*) override;
29 // Address: 0x021AEB48
30 bool checkPointInside(bool* on_edge, const sead::Vector2f& p) const override;
31 // Address: Deleted
32 bool vf5C(u32*) override;
33 // Address: 0x021AEE08
34 void vf64() override;
35 // Address: 0x021AEE6C
36 void vf6C() override;
37 void onBgCheckDataChange(const u64& bc_data) override { }
38 // Address: 0x021AF204
39 bool checkPointInsideOrWithinDistance(const sead::Vector2f& p, f32 distance) const override;
40
41 // Address: 0x021AD964
42 void setCommon(const FollowArg& follow_arg, const PoleRopeInitArg& init_arg);
43
44 // Address: 0x021ADACC
45 void set(Actor* owner, const PoleRopeInitArg& arg);
46 // Address: 0x021ADB34
47 void set(Actor* owner, const PoleRopeInitArg& arg, s32 line_num, sead::Heap* heap = nullptr);
48
49 const sead::Buffer<sead::Vector2f>& getPoints() const
50 {
51 return mPoint;
52 }
53
54 f32 getRange() const
55 {
56 return mRange;
57 }
58
59protected:
62 sead::UnsafeArray<sead::BitFlag32, 4> _174; // I think? (unused)
71 u8 _1b4[0x1B8 - 0x1B4];
72};
73static_assert(sizeof(PoleRopeBgCollision) == 0x1B8);
Definition ActorBgCollisionPlayerCheck.h:6
Definition PoleRopeBgCollision.h:11
void setCommon(const FollowArg &follow_arg, const PoleRopeInitArg &init_arg)
void set(Actor *owner, const PoleRopeInitArg &arg)
bool checkAreaBasic(BgCollisionCheckResultArea *res, const BasicBgCollisionCheck &bc, const sead::Vector2f &p0, const sead::Vector2f &p1, u8 hit_dir_mask) override
Definition PoleRopeBgCollision.h:26
void vf34() override
void execute() override
u8 _1b4[0x1B8 - 0x1B4]
Definition PoleRopeBgCollision.h:71
sead::Buffer< Angle > mLineAngle
Definition PoleRopeBgCollision.h:63
virtual ~PoleRopeBgCollision()
bool checkPointInside(bool *on_edge, const sead::Vector2f &p) const override
bool checkPointInsideOrWithinDistance(const sead::Vector2f &p, f32 distance) const override
f32 mLineLength
Definition PoleRopeBgCollision.h:68
LineNodeMgr< ActorBgCollisionPlayerCheck > mPlayerBcList
Definition PoleRopeBgCollision.h:60
f32 getRange() const
Definition PoleRopeBgCollision.h:54
sead::Vector2f mBaseStartPoint
Definition PoleRopeBgCollision.h:66
sead::UnsafeArray< s32, 4 > _164
Definition PoleRopeBgCollision.h:61
void onBgCheckDataChange(const u64 &bc_data) override
Definition PoleRopeBgCollision.h:37
bool vf5C(u32 *) override
f32 _1a4
Definition PoleRopeBgCollision.h:67
void vf64() override
f32 mRange
Definition PoleRopeBgCollision.h:69
sead::Buffer< sead::Vector2f > mPoint
Definition PoleRopeBgCollision.h:64
void vf6C() override
bool checkAreaActor(ActorBgCollisionCheckResult *, sead::Vector2f *, sead::Vector2f *, u8 direction, ActorBgCollisionCheck *) override
f32 mLineLengthTotal
Definition PoleRopeBgCollision.h:70
const sead::Buffer< sead::Vector2f > & getPoints() const
Definition PoleRopeBgCollision.h:49
sead::Buffer< sead::Vector2f > mPointPrev
Definition PoleRopeBgCollision.h:65
sead::UnsafeArray< sead::BitFlag32, 4 > _174
Definition PoleRopeBgCollision.h:62
void set(Actor *owner, const PoleRopeInitArg &arg, s32 line_num, sead::Heap *heap=nullptr)