New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
LoopRideLineBgCollision.h
Go to the documentation of this file.
1#pragma once
2
3#include <collision/BasicRideLine.h>
4#include <collision/BgCollision.h>
5
6#include <container/seadBuffer.h>
7
9
10// vtbl Address: 0x10042688
12{
13 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9D30
14 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9FB4
15 SEAD_RTTI_OVERRIDE(LoopRideLineBgCollision, BgCollision)
16
17public:
18 // Address: 0x021A7844
20 // Address: 0x021A7904
21 LoopRideLineBgCollision(s32 point_num, sead::Vector2f* point_buf, BasicRideLine* line_buf, BasicRideLine* line_prev_buf);
22 // Address: 0x021A7A04
24
25 // Address: 0x021A7E34
26 void vf34() override;
27 // Address: 0x021A871C
29 // Address: 0x021A8780
30 bool checkAreaBasic(BgCollisionCheckResultArea* res, const BasicBgCollisionCheck& bc, const sead::Vector2f& p0, const sead::Vector2f& p1, u8 hit_dir_mask) override;
31 // Address: 0x021ABFD8
32 bool checkAreaActor(ActorBgCollisionCheckResult*, sead::Vector2f*, sead::Vector2f*, u8 direction, ActorBgCollisionCheck*) override;
33 // Address: 0x021AC158
34 bool checkPointInside(bool* on_edge, const sead::Vector2f& p) const override;
35 // Address: Deleted
36 bool vf5C(u32*) override;
37 // Address: 0x021ACB50
38 void vf64() override;
39 // Address: 0x021ACBB4
40 void vf6C() override;
41 // Address: 0x021ACE40
42 void onBgCheckDataChange(const u64& bc_data) override;
43 // Address: 0x021ACE8C
44 bool checkPointInsideOrWithinDistance(const sead::Vector2f& p, f32 distance) const override;
45
46 // Address: 0x021AC8F8
47 virtual void vf84();
48
49 // Address: 0x021A7A58
50 void setCommon(const FollowArg& follow_arg, const InitArg& init_arg);
51
52 // Address: 0x021A7B88
53 void set(Actor* owner, const InitArg& arg);
54 // Address: 0x021A7BF0
55 void set(Actor* owner, const InitArg& arg, s32 point_num, sead::Heap* heap = nullptr);
56
58 {
59 return mPoint;
60 }
61
62 const sead::Buffer<sead::Vector2f>& getPoints() const
63 {
64 return mPoint;
65 }
66
68 {
69 return mRideLine;
70 }
71
73 {
74 return mRideLinePrev;
75 }
76
77protected:
81
83};
84static_assert(sizeof(LoopRideLineBgCollision) == 0x170);
Definition LoopRideLineBgCollisionUtil.h:6
Definition LoopRideLineBgCollision.h:12
bool checkAreaBasic(BgCollisionCheckResultArea *res, const BasicBgCollisionCheck &bc, const sead::Vector2f &p0, const sead::Vector2f &p1, u8 hit_dir_mask) override
void vf34() override
sead::Buffer< BasicRideLine > mRideLine
Definition LoopRideLineBgCollision.h:79
sead::Buffer< BasicRideLine > mRideLinePrev
Definition LoopRideLineBgCollision.h:80
bool checkPointInsideOrWithinDistance(const sead::Vector2f &p, f32 distance) const override
virtual ~LoopRideLineBgCollision()
void execute() override
bool vf5C(u32 *) override
void setCommon(const FollowArg &follow_arg, const InitArg &init_arg)
void set(Actor *owner, const InitArg &arg, s32 point_num, sead::Heap *heap=nullptr)
sead::Buffer< sead::Vector2f > mPoint
Definition LoopRideLineBgCollision.h:78
const sead::Buffer< sead::Vector2f > & getPoints() const
Definition LoopRideLineBgCollision.h:62
bool checkAreaActor(ActorBgCollisionCheckResult *, sead::Vector2f *, sead::Vector2f *, u8 direction, ActorBgCollisionCheck *) override
void vf6C() override
const sead::Buffer< BasicRideLine > & getRideLinePrev() const
Definition LoopRideLineBgCollision.h:72
void vf64() override
sead::Buffer< sead::Vector2f > & getPoints()
Definition LoopRideLineBgCollision.h:57
const sead::Buffer< BasicRideLine > & getRideLine() const
Definition LoopRideLineBgCollision.h:67
bool checkPointInside(bool *on_edge, const sead::Vector2f &p) const override
void set(Actor *owner, const InitArg &arg)
LoopRideLineBgCollision(s32 point_num, sead::Vector2f *point_buf, BasicRideLine *line_buf, BasicRideLine *line_prev_buf)
void onBgCheckDataChange(const u64 &bc_data) override