diff options
| author | Aetias <aetias@outlook.com> | 2025-01-20 20:09:15 +0100 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2025-01-20 20:09:15 +0100 |
| commit | 7a2009cab93127754c636199e29cab1a886ceef2 (patch) | |
| tree | 0a6b9ef416d5eba0c1aa142a916c49339941403e /include/Map | |
| parent | a5fd54fe701af3df740edbf10c8b57f6040a2f24 (diff) | |
Move ov000 documentation from Ghidra
Diffstat (limited to 'include/Map')
| -rw-r--r-- | include/Map/MapData.hpp | 20 | ||||
| -rw-r--r-- | include/Map/TriggerAABB.hpp | 9 | ||||
| -rw-r--r-- | include/Map/TriggerAABB_Unk1.hpp | 7 | ||||
| -rw-r--r-- | include/Map/TriggerAABB_Unk2.hpp | 39 | ||||
| -rw-r--r-- | include/Map/TriggerBase.hpp | 17 | ||||
| -rw-r--r-- | include/Map/TriggerSphere.hpp | 8 |
6 files changed, 91 insertions, 9 deletions
diff --git a/include/Map/MapData.hpp b/include/Map/MapData.hpp index 295e2309..35dbc007 100644 --- a/include/Map/MapData.hpp +++ b/include/Map/MapData.hpp @@ -21,8 +21,22 @@ public: /* 20 */ unk32 mFlags0[1]; /* 24 */ unk32 mFlags1[8]; /* 44 */ unk32 mFlags2[2]; - /* 4c */ unk32 mFlags3[1]; - /* 50 */ unk32 mUnk_50; - /* 54 */ unk32 mUnk_54; + /* 4c */ unk32 mFlags3[2]; + /* 54 */ unk32 mFlags4[1]; /* 58 */ + + MapData(u8 *map, unk8 param2, unk8 param3, unk32 param4, unk32 param5); + ~MapData(); + void func_ov000_020972e4(u16 *param1, unk32 *param2, bool param3); + void func_ov000_02097354(); + void SetFlag0(u32 index, bool value); + bool GetFlag0(u32 index); + void SetFlag1(u32 index, bool value); + bool GetFlag1(u32 index); + void SetFlag2(u32 index, bool value); + bool GetFlag2(u32 index); + void SetFlag3(u32 index, bool value); + bool GetFlag3(u32 index); + void SetFlag4(u32 index, bool value); + bool GetFlag4(u32 index); }; diff --git a/include/Map/TriggerAABB.hpp b/include/Map/TriggerAABB.hpp index a1d7e782..331f25ad 100644 --- a/include/Map/TriggerAABB.hpp +++ b/include/Map/TriggerAABB.hpp @@ -7,7 +7,16 @@ #include "Physics/AABB.hpp" class TriggerAABB : public TriggerBase { +public: /* 00 (base) */ /* 14 */ AABB mAABB; /* 2c */ + + /* 00 */ virtual ~TriggerAABB() override; + /* 14 */ virtual bool Overlaps(Vec3p *point) override; + /* 18 */ virtual bool GetBoundingBox(AABB *bbox) override; + /* 1c */ + + TriggerAABB(TriggerParams *params); + TriggerAABB(u8 id, u32 param2, u32 param3, u32 param4); }; diff --git a/include/Map/TriggerAABB_Unk1.hpp b/include/Map/TriggerAABB_Unk1.hpp index 55edbfca..59692b6b 100644 --- a/include/Map/TriggerAABB_Unk1.hpp +++ b/include/Map/TriggerAABB_Unk1.hpp @@ -6,6 +6,7 @@ #include "Map/TriggerAABB.hpp" class TriggerAABB_Unk1 : public TriggerAABB { +public: /* 00 (base) */ /* 2c */ unk8 mUnk_2c; /* 2d */ unk8 mUnk_2d[3]; @@ -17,4 +18,10 @@ class TriggerAABB_Unk1 : public TriggerAABB { /* 3c */ unk32 mUnk_3c; /* 40 */ unk32 mUnk_40; /* 44 */ + + /* 00 */ virtual ~TriggerAABB_Unk1() override; + /* 08 */ virtual void vfunc_08() override; + /* 1c */ + + TriggerAABB_Unk1(TriggerParams *params); }; diff --git a/include/Map/TriggerAABB_Unk2.hpp b/include/Map/TriggerAABB_Unk2.hpp index c87c34ba..93030c31 100644 --- a/include/Map/TriggerAABB_Unk2.hpp +++ b/include/Map/TriggerAABB_Unk2.hpp @@ -4,10 +4,47 @@ #include "types.h" #include "Map/TriggerAABB.hpp" +#include "Unknown/UnkStruct_ov000_020e2f04.hpp" + +class TriggerAABB_Unk2_Unk1 : public UnkStruct_ov000_020e2f04 { +public: + /* 00 (base) */ + /* 10 */ unk32 mUnk_10; + /* 14 */ AABB mUnk_14; + /* 2c */ + + /* 00 */ ~TriggerAABB_Unk2_Unk1() override; + /* 08 */ unk32 vfunc_08() override; + /* 14 */ void vfunc_14(AABB *param1, unk32 param2, unk32 param3, unk32 param4) override; + /* 20 */ void SetBoundingBox(AABB *param1) override; + /* 2c */ void GetBoundingBox(AABB *bbox) override; + /* 30 */ void SetPosition(Vec3p *pos) override; + /* 34 */ void vfunc_34() override; + /* 38 */ void vfunc_38() override; + /* 3c */ void GetPosition(Vec3p *pos) override; + /* 40 */ q20 GetSizeXZ() override; + /* 44 */ q20 GetHeight() override; + /* 48 */ bool ContainsInXZ(Vec3p *pos) override; + /* 4c */ bool Contains(Vec3p *pos) override; + /* 50 */ bool IntersectsCube(Cube *cube) override; + /* 54 */ void vfunc_54(Cube *param1, Vec3p *param2, u32 *param3) override; + /* 5c */ + + TriggerAABB_Unk2_Unk1(); +}; class TriggerAABB_Unk2 : public TriggerAABB { +public: /* 00 (base) */ /* 2c */ unk32 mUnk_2c; - /* 30 */ unk8 mUnk_30[0x2c][4]; // non-documented class which inherits from base class + /* 30 */ TriggerAABB_Unk2_Unk1 mUnk_30[4]; /* e0 */ + + /* 00 */ virtual ~TriggerAABB_Unk2() override; + /* 08 */ virtual void vfunc_08() override; + /* 0c */ virtual unk32 vfunc_0c() override; + /* 10 */ virtual unk32 vfunc_10() override; + /* 1c */ + + TriggerAABB_Unk2(TriggerParams *params); }; diff --git a/include/Map/TriggerBase.hpp b/include/Map/TriggerBase.hpp index 03046e71..49311e1e 100644 --- a/include/Map/TriggerBase.hpp +++ b/include/Map/TriggerBase.hpp @@ -3,6 +3,9 @@ #include "global.h" #include "types.h" +#include "nds/math.h" + +#include "Physics/AABB.hpp" #include "System/SysNew.hpp" struct TriggerParams { @@ -21,6 +24,7 @@ struct TriggerParams { }; class TriggerBase : public SysObject { +public: /* 00 (vtable) */ /* 04 */ unk8 mUnk_04; /* 05 */ u8 mId; @@ -31,10 +35,13 @@ class TriggerBase : public SysObject { /* 14 */ /* 00 */ virtual ~TriggerBase(); - /* 08 */ void vfunc_08(); - /* 0c */ unk32 vfunc_0c(); - /* 10 */ unk32 vfunc_10(); - /* 14 */ bool Overlaps(); - /* 18 */ bool GetBoundingBox(); + /* 08 */ virtual void vfunc_08(); + /* 0c */ virtual unk32 vfunc_0c(); + /* 10 */ virtual unk32 vfunc_10(); + /* 14 */ virtual bool Overlaps(Vec3p *point); + /* 18 */ virtual bool GetBoundingBox(AABB *bbox); /* 1c */ + + TriggerBase(TriggerParams *params); + TriggerBase(u8 id, u32 param2, u32 param3, u32 param4); }; diff --git a/include/Map/TriggerSphere.hpp b/include/Map/TriggerSphere.hpp index 56a874df..12d6d9e1 100644 --- a/include/Map/TriggerSphere.hpp +++ b/include/Map/TriggerSphere.hpp @@ -11,4 +11,12 @@ class TriggerSphere : public TriggerBase { /* 14 */ Sphere mSphere; /* 24 */ s32 mHeight; /* 28 */ + + /* 00 */ virtual ~TriggerSphere() override; + /* 14 */ virtual bool Overlaps(Vec3p *point) override; + /* 18 */ virtual bool GetBoundingBox(AABB *bbox) override; + /* 1c */ + + TriggerSphere(TriggerParams *params); + TriggerSphere(u8 id, u32 param2, u32 param3, u32 param4); }; |
