summaryrefslogtreecommitdiff
path: root/include/Map
diff options
context:
space:
mode:
Diffstat (limited to 'include/Map')
-rw-r--r--include/Map/CameraViewpoint.hpp2
-rw-r--r--include/Map/Course.hpp9
-rw-r--r--include/Map/Entrance.hpp2
-rw-r--r--include/Map/MapBase.hpp10
-rw-r--r--include/Map/MapData.hpp26
-rw-r--r--include/Map/MapManager.hpp21
-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
11 files changed, 133 insertions, 17 deletions
diff --git a/include/Map/CameraViewpoint.hpp b/include/Map/CameraViewpoint.hpp
index c952078b..924ef379 100644
--- a/include/Map/CameraViewpoint.hpp
+++ b/include/Map/CameraViewpoint.hpp
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
-#include "lib/math.h"
+#include "nds/math.h"
#include "System/SysNew.hpp"
diff --git a/include/Map/Course.hpp b/include/Map/Course.hpp
index 9ca6c5b5..38ca1a87 100644
--- a/include/Map/Course.hpp
+++ b/include/Map/Course.hpp
@@ -112,4 +112,13 @@ public:
bool GetMapDataFlag4(unk32 param_2);
MapData *FindMapData(u32 map);
MapData *FindCurrentMapData();
+
+ Course();
+ ~Course();
+ bool func_ov004_0210ee84(char *param1);
+ unk32 func_ov004_0210ef90(unk32 param1);
+ void func_ov004_0210f010();
+ void LoadMapData(u8 *map, s32 x, s32 y, char param4, unk32 param5);
+ bool func_ov004_0210f0fc(unk32 param1, unk16 *param2, s32 param3);
+ void func_ov004_0210f140(s32 param1);
};
diff --git a/include/Map/Entrance.hpp b/include/Map/Entrance.hpp
index 3bc5d8d9..1e09d022 100644
--- a/include/Map/Entrance.hpp
+++ b/include/Map/Entrance.hpp
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
-#include "lib/math.h"
+#include "nds/math.h"
#include "System/SysNew.hpp"
diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp
index 7a242891..fc74ed50 100644
--- a/include/Map/MapBase.hpp
+++ b/include/Map/MapBase.hpp
@@ -5,7 +5,7 @@
#include "global.h"
#include "types.h"
-#include "lib/math.h"
+#include "nds/math.h"
#include "Map/CameraViewpoint.hpp"
#include "Map/Course.hpp"
@@ -25,6 +25,7 @@ struct MapBase_Unk_180 {
/* 4 */
~MapBase_Unk_180();
+ MapBase_Unk_180();
};
struct MapBase_Unk1 {
@@ -233,4 +234,11 @@ public:
void func_ov00_02080de4();
unk8 func_ov00_02080de8(unk32 param_2);
void func_ov00_02080edc();
+
+ MapBase(u32 param1, u32 param2);
+ void func_ov004_0210c118();
+ void func_ov004_0210cb1c();
+ void func_ov004_0210cb38();
+ void func_ov004_0210cc20(Course *course);
+ void func_ov004_0210cc58(Course *course, u32 map);
};
diff --git a/include/Map/MapData.hpp b/include/Map/MapData.hpp
index be4b691f..a2343aa2 100644
--- a/include/Map/MapData.hpp
+++ b/include/Map/MapData.hpp
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
-#include "lib/math.h"
+#include "nds/math.h"
#include "System/SysNew.hpp"
@@ -16,13 +16,29 @@ public:
/* 06 */ unk8 mUnk_06[2];
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
- /* 10 */ unk8 mUnk_10[4];
+ /* 10 */ unk8 mGridX;
+ /* 11 */ unk8 mGridY;
+ /* 12 */ unk8 mUnk_12[2];
/* 14 */ Vec3p mCenter;
/* 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 x, unk8 y, 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/MapManager.hpp b/include/Map/MapManager.hpp
index 5dfcbf93..6ca4e36d 100644
--- a/include/Map/MapManager.hpp
+++ b/include/Map/MapManager.hpp
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
-#include "lib/math.h"
+#include "nds/math.h"
#include "Map/Course.hpp"
#include "Map/MapBase.hpp"
@@ -40,6 +40,11 @@ public:
/* 0f */ unk8 mUnk_0f;
/* 10 */
+ bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4);
+ bool func_01ffbf5c(s32 param1, Vec3p *param2, Vec3p *param3, s32 length);
+ bool func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7);
+ bool func_01ffd1e0(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7);
+
void GetCourseDungeonProgress(CourseProgress *param_2);
void func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4);
unk8 func_ov00_0208210c(unk32 param_2, unk32 *param_3);
@@ -172,8 +177,8 @@ public:
unk8 MapData_vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
unk8 MapData_vfunc_70(Vec3p *param_2);
static unk8 func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
- void func_ov00_02084024(Vec2b *param_2, AABB *param_3);
- unk32 MapData_vfunc_54(unk8 *param_1);
+ void GetTileWorldBounds(Vec2b *tile, AABB *tileBounds);
+ unk8 MapData_vfunc_54();
unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4);
unk32 MapData_vfunc_78(bool *param_1);
unk8 func_ov00_020840dc();
@@ -240,6 +245,16 @@ public:
Vec3p *param_8);
bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7,
Vec3p *param_8, Vec3p *param_9);
+
+ MapManager();
+ ~MapManager();
+ static void Create();
+ static void Destroy();
+ static void LoadMapTexSprites(s32 param1);
+ void func_ov004_02102260();
+ void func_ov004_02102264(unk32 *param1, char *param2);
+ void func_ov004_021024c4(s32 param1, unk32 param2, unk32 param3);
+ void func_ov004_021025d8();
};
extern MapManager *gMapManager;
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..f3a2f075 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 */ virtual ~TriggerAABB_Unk2_Unk1() override;
+ /* 08 */ virtual unk32 vfunc_08() override;
+ /* 14 */ virtual void vfunc_14(AABB *param1, unk32 param2, unk32 param3, unk32 param4) override;
+ /* 20 */ virtual void SetBoundingBox(AABB *param1) override;
+ /* 2c */ virtual void GetBoundingBox(AABB *bbox) override;
+ /* 30 */ virtual void SetPosition(Vec3p *pos) override;
+ /* 34 */ virtual void vfunc_34() override;
+ /* 38 */ virtual void vfunc_38() override;
+ /* 3c */ virtual void GetPosition(Vec3p *pos) override;
+ /* 40 */ virtual q20 GetSizeXZ() override;
+ /* 44 */ virtual q20 GetHeight() override;
+ /* 48 */ virtual bool ContainsInXZ(Vec3p *pos) override;
+ /* 4c */ virtual bool Contains(Vec3p *pos) override;
+ /* 50 */ virtual bool IntersectsCube(Cube *cube) override;
+ /* 54 */ virtual 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);
};