From 62e3dc0834256cc233c5004b7f901505a5140ea6 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 21:51:13 +0200 Subject: [PATCH] Add `MapBase` and some components --- include/Map/Entrance.hpp | 17 ++++++ include/Map/MapBase.hpp | 97 ++++++++++++++++++++++++++++++++ include/Map/TriggerAABB.hpp | 13 +++++ include/Map/TriggerAABB_Unk1.hpp | 20 +++++++ include/Map/TriggerAABB_Unk2.hpp | 13 +++++ include/Map/TriggerBase.hpp | 17 ++++++ include/Map/TriggerSphere.hpp | 14 +++++ 7 files changed, 191 insertions(+) create mode 100644 include/Map/Entrance.hpp create mode 100644 include/Map/MapBase.hpp create mode 100644 include/Map/TriggerAABB.hpp create mode 100644 include/Map/TriggerAABB_Unk1.hpp create mode 100644 include/Map/TriggerAABB_Unk2.hpp create mode 100644 include/Map/TriggerBase.hpp create mode 100644 include/Map/TriggerSphere.hpp 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 + +#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 mEntrances; + /* 10c */ std::vector mTriggers; + /* 118 */ std::vector mUnk_118; + /* 124 */ std::vector mUnk_124; + /* 130 */ std::vector 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 */ +};