From 806b46854fea8704e1c4746071b6c0cff975c130 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 08:25:26 +0200 Subject: Add `MapManager.cpp` --- include/Map/MapManager.hpp | 232 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 include/Map/MapManager.hpp (limited to 'include/Map/MapManager.hpp') diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp new file mode 100644 index 00000000..897f28c1 --- /dev/null +++ b/include/Map/MapManager.hpp @@ -0,0 +1,232 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "System/SysNew.hpp" + +struct MapManager_Unk1 { + /* 0 */ unk32 mUnk_0; + /* 4 */ unk32 mUnk_4; + /* 8 */ + + ~MapManager_Unk1(); +}; + +struct MapManager_Unk2 { + /* 0 */ unk32 mUnk_0; + /* 4 */ unk32 mUnk_4; + /* 8 */ + + ~MapManager_Unk2(); +}; + +class MapDataBase : public SysObject { +public: + /* 00 */ virtual ~MapData(); + + MapData(); + MapData(uint param1, uint param2); +}; + +class MapManager : public SysObject { +public: + void func_ov00_020820ec(unk32 *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); + unk8 func_ov00_0208230c(unk32 param_2); + unk8 func_ov00_02082348(unk32 param_2); + void func_ov00_020823a4(unk32 param_2); + unk8 func_ov00_020823b4(); + bool func_ov00_020823c4(unk32 *param_2, s32 param_3); + s32 func_ov00_020823d4(s32 param_2); + s32 func_ov00_020823e4(s32 param_2); + unk8 MapData_vfunc_b4(); + unk8 MapData_vfunc_9c(); + s32 func_ov00_02082424(); + unk8 func_ov00_02082454(unk32 param_2, unk32 param_3); + unk8 func_ov00_02082494(unk32 param_2); + unk8 func_ov00_020824cc(unk32 param_2); + unk8 func_ov00_02082504(); + unk8 * func_ov00_02082538(); + void func_ov00_02082594(); + void func_ov00_020825ac(); + s32 GetCourseFilePath(char *courseName, char *buf); + unk8 func_ov00_020825e4(unk32 param_2, unk32 param_3); + unk8 func_ov00_02082614(unk32 param_2, unk32 param_3); + unk8 MapData_vfunc_b0(); + void func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4); + void func_ov00_02082660(s32 param_2, s32 param_3); + void func_ov00_02082670(unk32 param_2, s32 param_3); + void func_ov00_02082680(unk32 param_2, unk32 param_3); + unk8 func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4); + unk8 CreateMap(unk32 mapType, unk32 param_3, unk32 param_4); + unk8 DestroyMap(); + unk8 MapData_vfunc_44(); + static unk8 func_ov00_02082808(); + unk8 MapData_vfunc_7c(); + unk8 MapData_vfunc_84(); + bool func_ov00_020828f8(s32 *param_2); + unk8 GetCourseData_Unk_b0(); + s32 func_ov00_02082914(unk32 param_2); + unk8 func_ov00_02082acc(); + unk32 * func_ov00_02082adc(); + unk8 func_ov00_02082af4(); + bool func_ov00_02082b3c(s32 param_2); + unk8 func_ov00_02082d08(); + unk8 GetCourseData_Unk_1c(); + unk8 GetCourseData_Unk_1d(); + unk8 func_ov00_02082d40(); + u32 func_ov00_02082d74(unk32 param_2); + static unk8 func_ov00_02082d84(); + bool func_ov00_02082e1c(s32 *param_2, s32 *param_3); + static unk8 func_ov00_0208306c(); + void func_ov00_0208315c(s32 *param_2, s32 *param_3); + void func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5); + void func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5); + unk8 GetCourseData_Unk_25c(); + bool func_ov00_02083318(unk32 param_2); + static unk8 func_ov00_02083328(); + unk8 GetCourseData_Unk_86(); + unk8 GetCourseData_Unk_87(); + unk8 Get_MapData_Unk28(); + unk8 Get_MapData_Unk2a(); + static unk8 func_ov00_02083374(); + static unk8 func_ov00_02083384(); + unk8 GetCourseMinX(); + unk8 GetCourseMinZ(); + unk8 GetCourseMaxX(); + unk8 GetCourseMaxZ(); + unk8 func_ov00_020833c4(); + unk8 func_ov00_020833d0(); + unk8 func_ov00_020833dc(); + unk8 func_ov00_020833e8(); + unk8 Get_MapData_Unk_d0(); + unk8 Get_MapData_Unk_d8(); + unk8 GetMapData_Unk_dc(Vec3p *param_2); + unk8 GetMapData_Unk_e8(Vec3p *param_2); + unk8 GetMapData_Unk_d0(Vec3p *param_2); + unk8 func_ov00_0208346c(AABB *param_2); + unk8 func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4); + unk8 func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4); + static void func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3); + unk8 func_ov00_02083570(unk32 param_2, unk32 param_3); + unk32 func_ov00_02083588(); + unk32 func_ov00_020835a4(); + unk32 func_ov00_020835b4(); + unk8 func_ov00_020835c4(unk32 param_2, unk32 param_3); + bool func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4); + unk32 func_ov00_020835f4(s32 param_2); + void func_ov00_02083604(s32 param_2); + unk8 func_ov00_02083614(s32 param_2); + bool GetEntrancePos(Vec3p *param_2, unk32 entranceId); + bool func_ov00_02083664(Vec3p *param_2, unk32 entranceId); + s32 func_ov00_020836bc(u32 param_2, unk32 *param_3); + u32 func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4); + unk8 func_ov00_020836dc(unk32 param_2, unk32 param_3); + bool func_ov00_02083770(u32 param_2, unk32 param_3); + bool func_ov00_02083780(unk32 param_2); + bool func_ov00_02083790(unk32 param_2); + unk8 func_ov00_02083840(unk32 param_2); + bool func_ov00_020838c8(s32 param_2); + bool func_ov00_020838d8(s32 param_2); + bool func_ov00_020838e8(u32 param_2, unk32 *param_3); + char func_ov00_020838f8(unk32 *param_2); + bool func_ov00_02083908(char param_2, unk32 *param_3); + void func_ov00_02083918(s32 param_2, s32 *param_3); + void func_ov00_02083928(unk8 *param_2, s32 param_3); + unk32 func_ov00_02083938(s32 param_2); + unk8 Set_MapData_Unk_16(unk8 value, unk32 index); + void func_ov00_02083958(s32 param_2); + void func_ov00_02083968(u32 param_2, unk8 *param_3); + bool func_ov00_02083978(unk32 param_2, Vec3p *param_3); + bool func_ov00_020839b4(s32 param_2); + bool func_ov00_020839c4(s32 param_2); + static unk8 func_ov00_020839d4(); + static unk8 func_ov00_020839f8(); + static void func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3); + static unk8 func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5); + static unk8 func_ov00_02083b84(); + static unk8 func_ov00_02083bac(); + static unk8 func_ov00_02083bd4(); + static unk8 func_ov00_02083bfc(); + unk8 func_ov00_02083c24(unk32 param_2); + unk8 func_ov00_02083c50(unk32 param_2); + unk8 func_ov00_02083c7c(Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5); + unk8 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4); + unk8 MapData_vfunc_60(); + static unk8 func_ov00_02083e70(); + unk8 MapData_vfunc_68(); + void func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3); + void func_ov00_02083f44(Vec3p *param_2); + unk8 MapData_vfunc_6c(); + unk8 MapData_vfunc_70(); + static unk8 func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3); + void func_ov00_02084024(unk32 param_2, AABB *param_3); + unk8 MapData_vfunc_54(); + unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4); + unk8 MapData_vfunc_78(); + static unk8 func_ov00_020840dc(); + static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2); + unk8 GetMapData_Unk_48(); + unk8 GetMapData_Unk_4c(); + unk32 func_ov00_0208412c(); + void func_ov00_0208413c(unk32 param_2); + unk8 MapData_vfunc_58(); + static unk8 func_ov00_02084164(); + unk8 GetMapData_Unk_0a(); + unk8 GetMapData_Unk_0b(); + unk8 MapData_vfunc_a4(); + unk8 func_ov00_0208433c(Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_0208439c(); + void func_ov00_020843ec(s32 *param_2); + unk8 GetMapData_Unk_38(); + unk8 func_ov00_020846a4(); + static unk8 func_ov00_02084700(); + unk8 func_ov00_02084740(); + unk8 func_ov00_020847e0(); + unk8 func_ov00_020847f0(); + bool func_ov00_02084838(); + bool func_ov00_020848b8(); + void func_ov00_02084924(u32 param_2); + static unk8 func_ov00_02084934(); + unk8 GetMapData_Unk_06(); + unk8 GetMapData_Unk_07(); + unk8 func_ov00_0208499c(); + unk8 func_ov00_020849c0(); + unk8 func_ov00_020849dc(); + static bool func_ov00_020849f8(unk32 param_1); + unk8 func_ov00_02084a50(); + void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02084ac4(u32 actorId); + unk8 SetNumKeys(unk32 keys); + unk8 GetNumKeys(); + unk8 SetCourseData_Unk_25c(unk8 param_2); + unk8 GetCourseData_Unk_25d(); + unk8 func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02084be0(unk32 param_2, unk32 param_3); + void func_ov00_02084c5c(unk32 param_2, unk32 param_3); + bool func_ov00_02084c6c(unk32 param_2); + unk8 func_ov00_02084c7c(unk32 param_2); + unk8 func_ov00_02084c94(unk32 param_2); + unk8 func_ov00_02084cb0(unk32 param_2); + unk8 func_ov00_02084cc8(unk32 param_2); + unk8 func_ov00_02084ce4(unk32 param_2); + unk8 func_ov00_02084cfc(unk32 param_2); + unk8 GetMapData_Unk_09(); + unk8 func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4); + s32 func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4); + unk8 func_ov00_02084ebc(unk32 param_2); + s32 func_ov00_02085108(s32 *param_2); + static unk8 func_ov00_0208527c(); + static unk8 func_ov00_020853fc(); + static unk8 func_ov00_02085594(); + static void func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3); + static unk8 func_ov00_020858b0(); + s32 func_ov00_02085a34(unk32 param_2, unk32 param_3); + unk8 func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + unk8 func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4); + bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, 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); +}; -- cgit v1.2.3 From 61de0cef49c8b41c5caff85818af5cccb995365e Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 12:28:25 +0200 Subject: Mangle `MapManager` --- include/Map/MapManager.hpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'include/Map/MapManager.hpp') diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 897f28c1..6e89e980 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -3,6 +3,9 @@ #include "global.h" #include "types.h" +#include "lib/math.h" + +#include "Physics/AABB.hpp" #include "System/SysNew.hpp" struct MapManager_Unk1 { @@ -23,10 +26,10 @@ struct MapManager_Unk2 { class MapDataBase : public SysObject { public: - /* 00 */ virtual ~MapData(); + /* 00 */ virtual ~MapDataBase(); - MapData(); - MapData(uint param1, uint param2); + MapDataBase(); + MapDataBase(u32 param1, u32 param2); }; class MapManager : public SysObject { -- cgit v1.2.3 From 1b2b274633ca475d3ce0ec29ba849fe8dda26969 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sun, 21 Apr 2024 13:09:41 +0200 Subject: Name `gMapManager` --- include/Map/MapManager.hpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/Map/MapManager.hpp') diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 6e89e980..e246cd34 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -233,3 +233,5 @@ public: bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, 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); }; + +extern MapManager *gMapManager; -- cgit v1.2.3 From c621c917c11faec9665cd5806dd529780d5e8593 Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 23 Apr 2024 00:34:24 +0200 Subject: Add `MapManager` member variables --- include/Map/MapManager.hpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'include/Map/MapManager.hpp') diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index e246cd34..2f3311e4 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -5,6 +5,7 @@ #include "lib/math.h" +#include "Map/Course.hpp" #include "Physics/AABB.hpp" #include "System/SysNew.hpp" @@ -24,16 +25,28 @@ struct MapManager_Unk2 { ~MapManager_Unk2(); }; -class MapDataBase : public SysObject { +class MapBase : public SysObject { public: - /* 00 */ virtual ~MapDataBase(); + /* 00 */ virtual ~MapBase(); - MapDataBase(); - MapDataBase(u32 param1, u32 param2); + MapBase(); + MapBase(u32 param1, u32 param2); }; class MapManager : public SysObject { public: + /* 00 */ Course *mCourse; + /* 04 */ MapBase *mMap; + /* 08 */ unk8 mUnk_08; + /* 09 */ unk8 mUnk_09; + /* 0a */ unk8 mUnk_0a; + /* 0b */ unk8 mUnk_0b; + /* 0c */ unk8 mUnk_0c; + /* 0d */ unk8 mUnk_0d; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; + /* 10 */ + void func_ov00_020820ec(unk32 *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); -- cgit v1.2.3 From 2e33294f89b37c8824ee97e8fd3cd675850d743d Mon Sep 17 00:00:00 2001 From: Aetias Date: Tue, 30 Apr 2024 15:08:45 +0200 Subject: Mangle `MapBase` --- include/Map/MapManager.hpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'include/Map/MapManager.hpp') diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 2f3311e4..e773ef19 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -6,6 +6,7 @@ #include "lib/math.h" #include "Map/Course.hpp" +#include "Map/MapBase.hpp" #include "Physics/AABB.hpp" #include "System/SysNew.hpp" @@ -25,14 +26,6 @@ struct MapManager_Unk2 { ~MapManager_Unk2(); }; -class MapBase : public SysObject { -public: - /* 00 */ virtual ~MapBase(); - - MapBase(); - MapBase(u32 param1, u32 param2); -}; - class MapManager : public SysObject { public: /* 00 */ Course *mCourse; -- cgit v1.2.3