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