New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ActorCircleBgCollision.h
Go to the documentation of this file.
1#pragma once
2
3#include <collision/BgCollision.h>
4#include <utility/Angle.h>
5
6class ActorCircleBgCollision : public BgCollision // vtbl Address: 0x10041B28
7{
8 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9F88
9 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA398
10 SEAD_RTTI_OVERRIDE(ActorCircleBgCollision, BgCollision)
11
12public:
13 // Address: 0x02197C88
16
17 // Address: 0x0219A6D0 (TODO: This should be inline)
18 bool vf24(u32*, u32) override;
19 // Address: 0x0219A710 (TODO: This should be inline)
20 u32 vf2C(u32*) override;
21 // Address: 0x021980B0
22 void vf34() override;
23 // Address: 0x02198614
25 // Address: 0x02198930
26 bool checkAreaBasic(BgCollisionCheckResultArea* res, const BasicBgCollisionCheck& bc, const sead::Vector2f& p0, const sead::Vector2f& p1, u8 hit_dir_mask) override;
27 // Address: 0x02199F2C
28 bool checkAreaActor(ActorBgCollisionCheckResult*, sead::Vector2f*, sead::Vector2f*, u8 direction, ActorBgCollisionCheck*) override;
29 // Address: 0x0219A030
30 bool checkPointInside(bool* on_edge, const sead::Vector2f& p) const override;
31 // Address: Deleted
32 bool vf5C(u32*) override;
33 // Address: 0x0219A1BC
34 void vf64() override;
35 // Address: 0x0219A210
36 void vf6C() override;
37 void onBgCheckDataChange(const u64& bc_data) override { }
38 // Address: 0x0219A4B8
39 bool checkPointInsideOrWithinDistance(const sead::Vector2f& p, f32 distance) const override;
40
41private:
42 // Address: 0x02197F0C
43 void setCommon_(const FollowArg& follow_arg, const CircleInitArg& init_arg);
44
45public:
46 // Address: 0x02197FF0
47 void set(Actor* owner, const CircleInitArg& arg);
48 // Address: 0x02198058
49 void set(Actor* owner, const CircleInitArg& arg, Angle angle_start, Angle angle_end);
50
52 {
53 return getPosX() + mCenterOffset.x;
54 }
55
57 {
58 return getPosY() + mCenterOffset.y;
59 }
60
62 {
63 return getPos() + mCenterOffset;
64 }
65
66 f32 getRadius() const
67 {
68 return mRadius;
69 }
70
72 {
73 return mArcStart;
74 }
75
77 {
78 return mArcEnd;
79 }
80
81private:
93};
94static_assert(sizeof(ActorCircleBgCollision) == 0x190);
Definition ActorCircleBgCollision.h:7
void vf6C() override
bool checkAreaActor(ActorBgCollisionCheckResult *, sead::Vector2f *, sead::Vector2f *, u8 direction, ActorBgCollisionCheck *) override
Angle mArcEnd
Definition ActorCircleBgCollision.h:90
Angle mArcStart
Definition ActorCircleBgCollision.h:89
void set(Actor *owner, const CircleInitArg &arg)
bool checkPointInside(bool *on_edge, const sead::Vector2f &p) const override
bool checkAreaBasic(BgCollisionCheckResultArea *res, const BasicBgCollisionCheck &bc, const sead::Vector2f &p0, const sead::Vector2f &p1, u8 hit_dir_mask) override
void set(Actor *owner, const CircleInitArg &arg, Angle angle_start, Angle angle_end)
Angle mBaseArcStart
Definition ActorCircleBgCollision.h:87
void vf64() override
virtual ~ActorCircleBgCollision()
Definition ActorCircleBgCollision.h:15
Angle mBaseArcEnd
Definition ActorCircleBgCollision.h:88
void setCommon_(const FollowArg &follow_arg, const CircleInitArg &init_arg)
Angle getArcStart() const
Definition ActorCircleBgCollision.h:71
f32 mRadiusPrev
Definition ActorCircleBgCollision.h:86
f32 getCenterPosX() const
Definition ActorCircleBgCollision.h:51
Angle mArcStartPrev
Definition ActorCircleBgCollision.h:91
bool checkPointInsideOrWithinDistance(const sead::Vector2f &p, f32 distance) const override
u32 vf2C(u32 *) override
Angle getArcEnd() const
Definition ActorCircleBgCollision.h:76
bool vf24(u32 *, u32) override
sead::Vector2f getCenterPos() const
Definition ActorCircleBgCollision.h:61
f32 getCenterPosY() const
Definition ActorCircleBgCollision.h:56
Angle mArcEndPrev
Definition ActorCircleBgCollision.h:92
void vf34() override
bool vf5C(u32 *) override
sead::Vector2f mBaseCenterOffset
Definition ActorCircleBgCollision.h:82
sead::Vector2f mCenterOffset
Definition ActorCircleBgCollision.h:83
void execute() override
f32 mRadius
Definition ActorCircleBgCollision.h:85
f32 getRadius() const
Definition ActorCircleBgCollision.h:66
void onBgCheckDataChange(const u64 &bc_data) override
Definition ActorCircleBgCollision.h:37
sead::Vector2f mCenterOffsetPrev
Definition ActorCircleBgCollision.h:84