diff options
| author | Aetias <aetias@outlook.com> | 2025-07-05 00:16:17 +0200 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2025-07-05 00:16:17 +0200 |
| commit | 346a2af149fb20a3c721a2c070a89919a143ae7f (patch) | |
| tree | e375af8bf2f424db50621c6add82e41f47ce5e03 /include | |
| parent | dbc2a4506bcb8a2df544f277f0c924a21f611691 (diff) | |
Delink Game, GameMode, GameModePlay, GameModeAdventure
Diffstat (limited to 'include')
| -rw-r--r-- | include/Game/Game.hpp | 43 | ||||
| -rw-r--r-- | include/Game/GameMode.hpp | 27 | ||||
| -rw-r--r-- | include/Game/GameModeAdventure.hpp | 25 | ||||
| -rw-r--r-- | include/Game/GameModePlay.hpp | 19 | ||||
| -rw-r--r-- | include/System/SysNew.hpp | 3 |
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;
|
