summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2025-07-05 00:16:17 +0200
committerAetias <aetias@outlook.com>2025-07-05 00:16:17 +0200
commit346a2af149fb20a3c721a2c070a89919a143ae7f (patch)
treee375af8bf2f424db50621c6add82e41f47ce5e03 /include
parentdbc2a4506bcb8a2df544f277f0c924a21f611691 (diff)
Delink Game, GameMode, GameModePlay, GameModeAdventure
Diffstat (limited to 'include')
-rw-r--r--include/Game/Game.hpp43
-rw-r--r--include/Game/GameMode.hpp27
-rw-r--r--include/Game/GameModeAdventure.hpp25
-rw-r--r--include/Game/GameModePlay.hpp19
-rw-r--r--include/System/SysNew.hpp3
5 files changed, 117 insertions, 0 deletions
diff --git a/include/Game/Game.hpp b/include/Game/Game.hpp
new file mode 100644
index 00000000..95d49801
--- /dev/null
+++ b/include/Game/Game.hpp
@@ -0,0 +1,43 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Game/GameMode.hpp"
+#include "Render/FadeControl.hpp"
+
+class Game {
+public:
+ /* 000 */ s32 mModeId;
+ /* 004 */ s32 mPrevModeId;
+ /* 008 */ GameMode *mMode;
+ /* 00c */ unk8 mUnk_00c[0xc0];
+ /* 0cc */ FadeControl mFadeControl;
+ /* 0f0 */ unk16 mUnk_0f0;
+ /* 0f2 */ u16 mUnk_0f2;
+ /* 0f4 */ s32 mUnk_0f4;
+ /* 0f8 */ s32 mUnk_0f8;
+ /* 0fc */ unk16 mUnk_0fc;
+ /* 0fe */ unk16 mUnk_0fe;
+ /* 100 */ unk8 mUnk_100;
+ /* 101 */ s8 mUnk_101;
+ /* 102 */ unk8 mUnk_102;
+ /* 103 */ u8 mUnk_103;
+ /* 104 */
+
+ Game();
+ ~Game();
+
+ void EndGameMode();
+ void StartGameMode();
+ void func_0202c974();
+ void func_0202c97c();
+ void Run();
+ void func_0202cec8(s32 param1, unk32 param2);
+ void func_0202cf34();
+ void func_0202cf44();
+
+ void func_ov016_0211fd68();
+};
+
+extern Game gGame;
diff --git a/include/Game/GameMode.hpp b/include/Game/GameMode.hpp
new file mode 100644
index 00000000..6888b023
--- /dev/null
+++ b/include/Game/GameMode.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "System/SysNew.hpp"
+
+class GameMode : public SysObject {
+public:
+ /* 000 (vtable) */
+ /* 004 */ unk32 mUnk_000;
+ /* 008 */
+
+ /* 00 */ virtual ~GameMode();
+ /* 08 */ virtual unk32 vfunc_08(unk32 param1) = 0;
+ /* 0c */ virtual void vfunc_0c(u16 *param1);
+ /* 10 */ virtual void vfunc_10(u16 *param1);
+ /* 14 */ virtual void vfunc_14(u16 *param1);
+ /* 18 */ virtual void vfunc_18();
+ /* 1c */
+
+ inline GameMode() {}
+ inline GameMode(unk32 param1) :
+ mUnk_000(param1) {}
+
+ void func_0202c0b8();
+};
diff --git a/include/Game/GameModeAdventure.hpp b/include/Game/GameModeAdventure.hpp
new file mode 100644
index 00000000..a004fb70
--- /dev/null
+++ b/include/Game/GameModeAdventure.hpp
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Game/GameModePlay.hpp"
+
+class GameModeAdventure : public GameModePlay {
+ /* 000 (base) */
+ /* 008 */ unk8 mUnk_008[0x10];
+ /* 018 */
+
+public:
+ /* 00 */ virtual ~GameModeAdventure() override;
+ /* 08 */ virtual unk32 vfunc_08(unk32 param1) override;
+ /* 0c */ virtual void vfunc_0c(u16 *param1) override;
+ /* 10 */ virtual void vfunc_10(u16 *param1) override;
+ /* 14 */ virtual void vfunc_14(u16 *param1) override;
+ /* 1c */ virtual void vfunc_1c() override;
+ /* 20 */ virtual void vfunc_20() override;
+ /* 24 */
+
+ GameModeAdventure(unk32 param1);
+ static GameModeAdventure *Create(unk32 param1);
+};
diff --git a/include/Game/GameModePlay.hpp b/include/Game/GameModePlay.hpp
new file mode 100644
index 00000000..bd9d8596
--- /dev/null
+++ b/include/Game/GameModePlay.hpp
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Game/GameMode.hpp"
+
+class GameModePlay : public GameMode {
+public:
+ /* 000 (base) */
+ /* 008 */
+
+ /* 00 */ virtual ~GameModePlay() override;
+ /* 1c */ virtual void vfunc_1c();
+ /* 20 */ virtual void vfunc_20();
+ /* 24 */
+
+ GameModePlay(unk32 param1);
+};
diff --git a/include/System/SysNew.hpp b/include/System/SysNew.hpp
index 4d3c3f7c..184c27fb 100644
--- a/include/System/SysNew.hpp
+++ b/include/System/SysNew.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "global.h"
#include "types.h"
struct UnkStruct_0202e894 {
@@ -21,3 +22,5 @@ public:
static void operator delete(void *ptr);
static void operator delete[](void *ptr);
};
+
+extern UnkStruct_0202e894 *data_027e0ce4;