summaryrefslogtreecommitdiff
path: root/include/Map
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2025-01-20 20:09:15 +0100
committerAetias <aetias@outlook.com>2025-01-20 20:09:15 +0100
commit7a2009cab93127754c636199e29cab1a886ceef2 (patch)
tree0a6b9ef416d5eba0c1aa142a916c49339941403e /include/Map
parenta5fd54fe701af3df740edbf10c8b57f6040a2f24 (diff)
Move ov000 documentation from Ghidra
Diffstat (limited to 'include/Map')
-rw-r--r--include/Map/MapData.hpp20
-rw-r--r--include/Map/TriggerAABB.hpp9
-rw-r--r--include/Map/TriggerAABB_Unk1.hpp7
-rw-r--r--include/Map/TriggerAABB_Unk2.hpp39
-rw-r--r--include/Map/TriggerBase.hpp17
-rw-r--r--include/Map/TriggerSphere.hpp8
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);
};