New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
ActorEllipseBgCollision.h
Go to the documentation of this file.
1#pragma once
2
3#include <collision/BgCollision.h>
4
5class ActorEllipseBgCollision : public BgCollision // vtbl Address: 0x10041F08
6{
7 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101EA39C
8 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101EA3A0
9 SEAD_RTTI_OVERRIDE(ActorEllipseBgCollision, BgCollision)
10
11public:
12 // Address: 0x0219EA1C
15
16 // Address: 0x021A02E0 (TODO: This should be inline)
17 bool vf24(u32*, u32) override;
18 // Address: 0x021A0320 (TODO: This should be inline)
19 u32 vf2C(u32*) override;
20 // Address: 0x0219EDE8
21 void vf34() override;
22 // Address: 0x0219EDF8
24 // Address: 0x0219F260
25 bool checkAreaBasic(BgCollisionCheckResultArea* res, const BasicBgCollisionCheck& bc, const sead::Vector2f& p0, const sead::Vector2f& p1, u8 hit_dir_mask) override;
26 // Address: 0x021A035C
27 bool checkAreaActor(ActorBgCollisionCheckResult*, sead::Vector2f*, sead::Vector2f*, u8 direction, ActorBgCollisionCheck*) override;
28 // Address: 0x0219FCF4
29 bool checkPointInside(bool* on_edge, const sead::Vector2f& p) const override;
30 // Address: Deleted
31 bool vf5C(u32*) override;
32 // Address: 0x0219FDFC
33 void vf64() override;
34 // Address: 0x0219FE48
35 void vf6C() override;
36 void onBgCheckDataChange(const u64& bc_data) override { }
37 // Address: 0x021A0100
38 bool checkPointInsideOrWithinDistance(const sead::Vector2f& p, f32 distance) const override;
39
40 // Address: 0x0219EC88
41 void setCommon(const FollowArg& follow_arg, const EllipseInitArg& init_arg);
42
43 // Address: 0x0219ED80
44 void set(Actor* owner, const EllipseInitArg& arg);
45
47 {
48 return getPosX() + mCenterOffset.x;
49 }
50
52 {
53 return getPosY() + mCenterOffset.y;
54 }
55
57 {
58 return getPos() + mCenterOffset;
59 }
60
61 const sead::Vector2f& getHalfSize() const
62 {
63 return mHalfSize;
64 }
65
66private:
72 u32 _180[0x10 / sizeof(u32)];
73};
74static_assert(sizeof(ActorEllipseBgCollision) == 0x190);
Definition ActorEllipseBgCollision.h:6
void set(Actor *owner, const EllipseInitArg &arg)
const sead::Vector2f & getHalfSize() const
Definition ActorEllipseBgCollision.h:61
sead::Vector2f mHalfSizePrev
Definition ActorEllipseBgCollision.h:71
void vf34() override
void onBgCheckDataChange(const u64 &bc_data) override
Definition ActorEllipseBgCollision.h:36
bool checkPointInsideOrWithinDistance(const sead::Vector2f &p, f32 distance) const override
sead::Vector2f mCenterOffsetPrev
Definition ActorEllipseBgCollision.h:69
sead::Vector2f mBaseCenterOffset
Definition ActorEllipseBgCollision.h:67
void setCommon(const FollowArg &follow_arg, const EllipseInitArg &init_arg)
void vf64() override
void execute() override
f32 getCenterPosX() const
Definition ActorEllipseBgCollision.h:46
bool vf24(u32 *, u32) override
void vf6C() override
sead::Vector2f mHalfSize
Definition ActorEllipseBgCollision.h:70
sead::Vector2f mCenterOffset
Definition ActorEllipseBgCollision.h:68
virtual ~ActorEllipseBgCollision()
Definition ActorEllipseBgCollision.h:14
bool checkPointInside(bool *on_edge, const sead::Vector2f &p) const override
sead::Vector2f getCenterPos() const
Definition ActorEllipseBgCollision.h:56
bool checkAreaActor(ActorBgCollisionCheckResult *, sead::Vector2f *, sead::Vector2f *, u8 direction, ActorBgCollisionCheck *) override
bool vf5C(u32 *) override
f32 getCenterPosY() const
Definition ActorEllipseBgCollision.h:51
u32 vf2C(u32 *) override
bool checkAreaBasic(BgCollisionCheckResultArea *res, const BasicBgCollisionCheck &bc, const sead::Vector2f &p0, const sead::Vector2f &p1, u8 hit_dir_mask) override
u32 _180[0x10/sizeof(u32)]
Definition ActorEllipseBgCollision.h:72