summaryrefslogtreecommitdiff
path: root/include/Map
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2024-04-23 21:51:13 +0200
committerAetias <aetias@outlook.com>2024-04-23 21:51:13 +0200
commit62e3dc0834256cc233c5004b7f901505a5140ea6 (patch)
treebb4ed9bda7bb94b69c217030c9ada58c524a5f5b /include/Map
parent83f4080843c82b0fb7f8fb0b4326c1af1286bcaf (diff)
Add `MapBase` and some components
Diffstat (limited to 'include/Map')
-rw-r--r--include/Map/Entrance.hpp17
-rw-r--r--include/Map/MapBase.hpp97
-rw-r--r--include/Map/TriggerAABB.hpp13
-rw-r--r--include/Map/TriggerAABB_Unk1.hpp20
-rw-r--r--include/Map/TriggerAABB_Unk2.hpp13
-rw-r--r--include/Map/TriggerBase.hpp17
-rw-r--r--include/Map/TriggerSphere.hpp14
7 files changed, 191 insertions, 0 deletions
diff --git a/include/Map/Entrance.hpp b/include/Map/Entrance.hpp
new file mode 100644
index 00000000..318b5d2c
--- /dev/null
+++ b/include/Map/Entrance.hpp
@@ -0,0 +1,17 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "lib/math.h"
+
+#include "System/SysNew.hpp"
+
+class Entrance : public SysObject {
+ /* 00 */ Vec3p mPos;
+ /* 0c */ unk16 mAngle;
+ /* 0e */ unk8 mUnk_0e;
+ /* 0f */ unk8 mUnk_0f;
+ /* 10 */ s32 mUnk_10;
+ /* 14 */
+};
diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp
new file mode 100644
index 00000000..07e58a32
--- /dev/null
+++ b/include/Map/MapBase.hpp
@@ -0,0 +1,97 @@
+#pragma once
+
+#include <vector>
+
+#include "global.h"
+#include "types.h"
+
+#include "lib/math.h"
+
+#include "Map/Entrance.hpp"
+#include "Map/TriggerBase.hpp"
+#include "System/SysNew.hpp"
+
+struct MapBase_Unk_180 {
+ /* 0 */ unk32 mUnk_0;
+ /* 4 */
+};
+
+class MapBase : public SysObject {
+public:
+ /* 000 (vtable) */
+ /* 004 */ unk8 mUnk_004;
+ /* 005 */ unk8 mUnk_005;
+ /* 006 */ unk8 mUnk_006;
+ /* 007 */ unk8 mUnk_007;
+ /* 008 */ unk8 mUnk_008;
+ /* 009 */ unk8 mUnk_009;
+ /* 00a */ unk8 mUnk_00a;
+ /* 00b */ unk8 mUnk_00b;
+ /* 00c */ unk8 mUnk_00c;
+ /* 00d */ unk8 mUnk_00d;
+ /* 00e */ unk8 mUnk_00e;
+ /* 00f */ unk8 mUnk_00f;
+ /* 010 */ unk8 mUnk_010;
+ /* 011 */ unk8 mUnk_011;
+ /* 012 */ unk8 mUnk_012;
+ /* 013 */ unk8 mUnk_013;
+ /* 014 */ unk8 mUnk_014;
+ /* 015 */ unk8 mUnk_015;
+ /* 016 */ unk8 mUnk_016;
+ /* 017 */ unk8 mUnk_017;
+ /* 017 */ unk8 mUnk_017;
+ /* 018 */ unk8 mUnk_018;
+ /* 019 */ unk8 mUnk_019;
+ /* 01a */ unk8 mUnk_01a;
+ /* 01b */ unk8 mUnk_01b;
+ /* 01c */ unk8 mUnk_01c;
+ /* 01d */ unk8 mUnk_01d;
+ /* 01e */ unk8 mUnk_01e;
+ /* 01f */ unk8 mUnk_01f;
+ /* 020 */ unk32 mUnk_020;
+ /* 024 */ unk32 mUnk_024;
+ /* 028 */ s16 mUnk_028;
+ /* 02a */ s16 mUnk_02a;
+ /* 02c */ unk16 mUnk_02c;
+ /* 02e */ unk16 mUnk_02e;
+ /* 030 */ s16 mUnk_030;
+ /* 032 */ unk8 mUnk_032[2];
+ /* 034 */ unk32 mUnk_034;
+ /* 038 */ unk32 mUnk_038;
+ /* 03c */ unk32 mUnk_03c;
+ /* 040 */ unk32 mUnk_040;
+ /* 044 */ unk32 mUnk_044;
+ /* 048 */ u32 mUnk_048;
+ /* 04c */ unk32 mUnk_04c;
+ /* 050 */ unk8 mUnk_050[0x80];
+ /* 0d0 */ Vec3p mUnk_0d0;
+ /* 0dc */ Vec3p mUnk_0dc;
+ /* 0e8 */ Vec3p mUnk_0e8;
+ /* 0f4 */ u32 mUnk_0f4;
+ /* 0f8 */ unk32 mUnk_0f8;
+ /* 0fc */ u32 mUnk_0fc;
+ /* 100 */ std::vector<Entrance> mEntrances;
+ /* 10c */ std::vector<TriggerBase*> mTriggers;
+ /* 118 */ std::vector<Todo> mUnk_118;
+ /* 124 */ std::vector<Todo> mUnk_124;
+ /* 130 */ std::vector<TriggerBase*> mUnk_130;
+ /* 13c */ unk32 mUnk_13c;
+ /* 140 */ unk32 mUnk_140;
+ /* 144 */ void *mUnk_144;
+ /* 148 */ s32 mUnk_148;
+ /* 14c */ s32 mUnk_14c;
+ /* 150 */ unk32 mUnk_150;
+ /* 154 */ unk32 mUnk_154;
+ /* 158 */ unk8 mUnk_158[8];
+ /* 160 */ unk32 mUnk_160;
+ /* 164 */ unk8 mUnk_164[0x1c];
+ /* 180 */ MapBase_Unk_180 mUnk_180[2];
+ /* 188 */ unk8 mUnk_188[0x14];
+ /* 19c */ unk32 mUnk_19c;
+ /* 1a0 */ unk8 mUnk_1a0[0xc];
+ /* 1ac */ s16 mUnk_1ac;
+ /* 1ae */ unk8 mUnk_1ae[2];
+ /* 1b0 */
+
+
+};
diff --git a/include/Map/TriggerAABB.hpp b/include/Map/TriggerAABB.hpp
new file mode 100644
index 00000000..19ac0f55
--- /dev/null
+++ b/include/Map/TriggerAABB.hpp
@@ -0,0 +1,13 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Physics/AABB.hpp"
+#include "Map/TriggerBase.hpp"
+
+class TriggerAABB : public TriggerBase {
+ /* 00 (base) */
+ /* 14 */ AABB mAABB;
+ /* 2c */
+};
diff --git a/include/Map/TriggerAABB_Unk1.hpp b/include/Map/TriggerAABB_Unk1.hpp
new file mode 100644
index 00000000..55edbfca
--- /dev/null
+++ b/include/Map/TriggerAABB_Unk1.hpp
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Map/TriggerAABB.hpp"
+
+class TriggerAABB_Unk1 : public TriggerAABB {
+ /* 00 (base) */
+ /* 2c */ unk8 mUnk_2c;
+ /* 2d */ unk8 mUnk_2d[3];
+ /* 30 */ void *mUnk_30;
+ /* 34 */ unk8 mUnk_34;
+ /* 35 */ unk8 mUnk_35;
+ /* 36 */ unk8 mUnk_36[2];
+ /* 38 */ unk32 mUnk_38;
+ /* 3c */ unk32 mUnk_3c;
+ /* 40 */ unk32 mUnk_40;
+ /* 44 */
+};
diff --git a/include/Map/TriggerAABB_Unk2.hpp b/include/Map/TriggerAABB_Unk2.hpp
new file mode 100644
index 00000000..c87c34ba
--- /dev/null
+++ b/include/Map/TriggerAABB_Unk2.hpp
@@ -0,0 +1,13 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Map/TriggerAABB.hpp"
+
+class TriggerAABB_Unk2 : public TriggerAABB {
+ /* 00 (base) */
+ /* 2c */ unk32 mUnk_2c;
+ /* 30 */ unk8 mUnk_30[0x2c][4]; // non-documented class which inherits from base class
+ /* e0 */
+};
diff --git a/include/Map/TriggerBase.hpp b/include/Map/TriggerBase.hpp
new file mode 100644
index 00000000..2a1eb090
--- /dev/null
+++ b/include/Map/TriggerBase.hpp
@@ -0,0 +1,17 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "System/SysNew.hpp"
+
+class TriggerBase : public SysObject {
+ /* 00 (vtable) */
+ /* 04 */ unk8 mUnk_04;
+ /* 05 */ u8 mType;
+ /* 06 */ unk8 mUnk_06[2];
+ /* 08 */ u32 mUnk_08;
+ /* 0c */ u32 mUnk_0c;
+ /* 10 */ u32 mUnk_10;
+ /* 14 */
+};
diff --git a/include/Map/TriggerSphere.hpp b/include/Map/TriggerSphere.hpp
new file mode 100644
index 00000000..e6bb6b39
--- /dev/null
+++ b/include/Map/TriggerSphere.hpp
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Physics/Sphere.hpp"
+#include "Map/TriggerBase.hpp"
+
+class TriggerSphere : public TriggerBase {
+ /* 00 (base) */
+ /* 14 */ Sphere mSphere;
+ /* 24 */ s32 mHeight;
+ /* 28 */
+};