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 | |
| parent | a5fd54fe701af3df740edbf10c8b57f6040a2f24 (diff) | |
Move ov000 documentation from Ghidra
Diffstat (limited to 'include')
| -rw-r--r-- | include/Cutscene/CutsceneHandler.hpp | 57 | ||||
| -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 | ||||
| -rw-r--r-- | include/Render/ModelRender.hpp | 11 | ||||
| -rw-r--r-- | include/Save/AdventureFlags.hpp | 7 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_ov000_020b1528.hpp | 27 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_ov000_020e2f04.hpp | 45 |
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) {} +}; |
