diff options
Diffstat (limited to 'include/Map')
| -rw-r--r-- | include/Map/CameraViewpoint.hpp | 2 | ||||
| -rw-r--r-- | include/Map/Course.hpp | 9 | ||||
| -rw-r--r-- | include/Map/Entrance.hpp | 2 | ||||
| -rw-r--r-- | include/Map/MapBase.hpp | 10 | ||||
| -rw-r--r-- | include/Map/MapData.hpp | 26 | ||||
| -rw-r--r-- | include/Map/MapManager.hpp | 21 | ||||
| -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 |
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); }; |
