summaryrefslogtreecommitdiff
path: root/include
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
parenta5fd54fe701af3df740edbf10c8b57f6040a2f24 (diff)
Move ov000 documentation from Ghidra
Diffstat (limited to 'include')
-rw-r--r--include/Cutscene/CutsceneHandler.hpp57
-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
-rw-r--r--include/Render/ModelRender.hpp11
-rw-r--r--include/Save/AdventureFlags.hpp7
-rw-r--r--include/Unknown/UnkStruct_ov000_020b1528.hpp27
-rw-r--r--include/Unknown/UnkStruct_ov000_020e2f04.hpp45
11 files changed, 236 insertions, 11 deletions
diff --git a/include/Cutscene/CutsceneHandler.hpp b/include/Cutscene/CutsceneHandler.hpp
index 3f1858df..50f0c1cb 100644
--- a/include/Cutscene/CutsceneHandler.hpp
+++ b/include/Cutscene/CutsceneHandler.hpp
@@ -3,4 +3,59 @@
#include "global.h"
#include "types.h"
-class CutsceneHandler;
+#include <nds/math.h>
+
+#include "Render/FadeControl.hpp"
+
+class CutsceneHandler {
+public:
+ /* 00 */ u32 mFlags1;
+ /* 04 */ u32 mFlags2;
+ /* 08 */ bool mCutsceneActive;
+ /* 09 */ bool mSkipping;
+ /* 0a */ bool mUnk_0a;
+ /* 0b */ unk8 mUnk_0b;
+ /* 0c */ unk32 mCutsceneTimer1;
+ /* 10 */ unk32 mCutsceneTimer2;
+ /* 14 */ unk32 mCutsceneEnd;
+ /* 18 */ unk32 mFreeze;
+ /* 1c */ u32 mUnk_1c;
+ /* 20 */ unk8 mUnk_20;
+ /* 21 */ char mUnk_21;
+ /* 22 */ unk8 mUnk_22;
+ /* 23 */ unk8 mUnk_23;
+ /* 24 */ unk16 mUnk_24;
+ /* 26 */ unk8 mUnk_26[0x2];
+ /* 28 */ s32 mUnk_28;
+ /* 2c */ s32 mUnk_2c;
+ /* 30 */ unk32 mUnk_30;
+ /* 34 */ unk32 mUnk_34;
+ /* 38 */ unk32 mUnk_38;
+ /* 3c */ unk32 mUnk_3c;
+ /* 40 */ unk32 mUnk_40;
+ /* 44 */ unk32 mUnk_44;
+ /* 48 */ unk16 mUnk_48;
+ /* 4a */ unk8 mUnk_4a[0x2];
+ /* 4c */ Mat4x3p mUnk_4c;
+ /* 7c */ FadeControl *mFadeControl;
+ /* 80 */ s32 **mUnk_80;
+ /* 84 */ s32 *mUnk_84;
+ /* 88 */ s32 mUnk_88;
+ /* 8c */
+
+ CutsceneHandler();
+ s32 func_ov000_020980fc(unk32 param1, unk32 param2, void **param3);
+ bool func_ov000_02098114();
+ bool SkipCutscene(s32 param1);
+ unk32 func_ov000_020981b8(unk32 *param1);
+ void func_ov000_020985c0();
+ void func_ov000_020985c4();
+ void func_ov000_02098618(s32 param1, unk32 param2, void **param3);
+ void func_ov000_02098658();
+ bool func_ov000_02098694(unk32 param1);
+ bool func_ov000_020987c4(unk32 param1, unk16 param2, unk32 param3, unk32 param4, bool param5);
+ bool func_ov000_02098834();
+ bool func_ov000_02098860();
+ unk32 func_ov000_02098890(unk32 param1, s32 param2);
+ static unk32 func_ov000_02098920(unk32 param1);
+};
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);
};
diff --git a/include/Render/ModelRender.hpp b/include/Render/ModelRender.hpp
index e6c26635..a9242578 100644
--- a/include/Render/ModelRender.hpp
+++ b/include/Render/ModelRender.hpp
@@ -3,6 +3,8 @@
#include "global.h"
#include "types.h"
+#include <nds/math.h>
+
#include "System/SysNew.hpp"
class ItemModel;
@@ -37,4 +39,13 @@ public:
/* 38 */ virtual void vfunc_38();
/* 3c */ virtual void vfunc_3c();
/* 40 */
+
+ ModelRender();
+ void *func_ov000_020a9624(s32 param1);
+ void func_ov000_020a98e8(unk32 param1);
+ void func_ov000_020a990c(unk32 param1);
+ void func_ov000_020a9938(unk32 param1);
+ void func_ov000_020a9960(unk32 param1);
+ void func_ov000_020a9998(unk32 param1, unk32 param2);
+ void func_ov000_020a99c0();
};
diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp
index 2a353075..dc2b2bfa 100644
--- a/include/Save/AdventureFlags.hpp
+++ b/include/Save/AdventureFlags.hpp
@@ -51,6 +51,8 @@ struct FlagsUnk2 {
/* 16 */ unk8 mUnk_16;
/* 17 */ unk8 mUnk_17;
/* 18 */
+
+ ~FlagsUnk2();
};
struct FlagsUnk {
@@ -69,6 +71,10 @@ struct FlagsUnk {
/* 4a */ unk8 mUnk_4a;
/* 4b */ unk8 mUnk_4b;
/* 4c */
+
+ ~FlagsUnk();
+
+ void func_ov000_020980f8();
};
class AdventureFlags : public SysObject {
@@ -125,7 +131,6 @@ public:
bool func_ov00_0209809c();
bool func_ov00_020980ac();
void func_ov00_020980bc(s32 param1);
- void func_ov00_020980d0();
};
extern AdventureFlags *gAdventureFlags;
diff --git a/include/Unknown/UnkStruct_ov000_020b1528.hpp b/include/Unknown/UnkStruct_ov000_020b1528.hpp
new file mode 100644
index 00000000..2169564b
--- /dev/null
+++ b/include/Unknown/UnkStruct_ov000_020b1528.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include <nds/math.h>
+
+class UnkStruct_ov000_020b1528 {
+public:
+ /* 00 (vtable) */
+ /* 04 */ unk16 mUnk_04;
+ /* 06 */ unk8 mUnk_06[0x2];
+ /* 08 */ Vec3p mUnk_08;
+ /* 14 */ u32 mUnk_14;
+ /* 18 */ unk32 mUnk_18;
+ /* 1c */
+
+ /* 00 */ virtual ~UnkStruct_ov000_020b1528();
+ /* 08 */ virtual bool vfunc_08();
+ /* 0c */ virtual bool vfunc_0c();
+ /* 10 */ virtual bool vfunc_10(s32 *param1);
+ /* 14 */ virtual bool vfunc_14(u16 *index, unk32 param2);
+ /* 18 */ virtual void Clear();
+ /* 1c */
+
+ UnkStruct_ov000_020b1528();
+};
diff --git a/include/Unknown/UnkStruct_ov000_020e2f04.hpp b/include/Unknown/UnkStruct_ov000_020e2f04.hpp
new file mode 100644
index 00000000..f3e226a6
--- /dev/null
+++ b/include/Unknown/UnkStruct_ov000_020e2f04.hpp
@@ -0,0 +1,45 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+class UnkStruct_ov000_020e2f04 {
+public:
+ /* 00 (vtable) */
+ /* 04 */ unk8 mUnk_04;
+ /* 05 */ unk8 mUnk_05;
+ /* 06 */ unk8 mUnk_06[0x2];
+ /* 08 */ unk32 mUnk_08;
+ /* 0c */ unk32 mUnk_0c;
+ /* 10 */
+
+ /* 00 */ virtual ~UnkStruct_ov000_020e2f04();
+ /* 08 */ virtual unk32 vfunc_08() = 0;
+ /* 0c */ virtual void vfunc_0c();
+ /* 10 */ virtual void vfunc_10();
+ /* 14 */ virtual void vfunc_14(AABB *param1, unk32 param2, unk32 param3, unk32 param4);
+ /* 18 */ virtual void vfunc_18();
+ /* 1c */ virtual void vfunc_1c();
+ /* 20 */ virtual void SetBoundingBox(AABB *param1);
+ /* 24 */ virtual void vfunc_24();
+ /* 28 */ virtual void vfunc_28();
+ /* 2c */ virtual void GetBoundingBox(AABB *bbox);
+ /* 30 */ virtual void SetPosition(Vec3p *pos) = 0;
+ /* 34 */ virtual void vfunc_34() = 0;
+ /* 38 */ virtual void vfunc_38() = 0;
+ /* 3c */ virtual void GetPosition(Vec3p *pos) = 0;
+ /* 40 */ virtual q20 GetSizeXZ() = 0;
+ /* 44 */ virtual q20 GetHeight() = 0;
+ /* 48 */ virtual bool ContainsInXZ(Vec3p *pos) = 0;
+ /* 4c */ virtual bool Contains(Vec3p *pos) = 0;
+ /* 50 */ virtual bool IntersectsCube(Cube *cube) = 0;
+ /* 54 */ virtual void vfunc_54(Cube *param1, Vec3p *param2, u32 *param3) = 0;
+ /* 58 */ virtual void vfunc_58(unk32 param1, unk32 param2, s32 param3);
+ /* 5c */
+
+ inline UnkStruct_ov000_020e2f04() :
+ mUnk_04(1),
+ mUnk_05(0),
+ mUnk_08(0),
+ mUnk_0c(0) {}
+};