summaryrefslogtreecommitdiff
path: root/include/Game
diff options
context:
space:
mode:
authorAetias <144526980+AetiasHax@users.noreply.github.com>2025-07-06 11:09:25 +0200
committerGitHub <noreply@github.com>2025-07-06 11:09:25 +0200
commit87ea4c687d97fc9a0e3e06fa4732087794881039 (patch)
treebf8f539742eead3ca8d660361dd790375a406a54 /include/Game
parent1e2adf0ebd714f9ed2c1e814276278755278dd12 (diff)
parent476d7d305fd1f39922761ab78498783af809e234 (diff)
Merge pull request #109 from Yanis002/gamemodeadventure
Started `09_Adventure/Game/GameModeAdventure.cpp` (97%)
Diffstat (limited to 'include/Game')
-rw-r--r--include/Game/Game.hpp2
-rw-r--r--include/Game/GameMode.hpp18
-rw-r--r--include/Game/GameModeAdventure.hpp94
3 files changed, 108 insertions, 6 deletions
diff --git a/include/Game/Game.hpp b/include/Game/Game.hpp
index 95d49801..8bb41b95 100644
--- a/include/Game/Game.hpp
+++ b/include/Game/Game.hpp
@@ -21,7 +21,7 @@ public:
/* 0fe */ unk16 mUnk_0fe;
/* 100 */ unk8 mUnk_100;
/* 101 */ s8 mUnk_101;
- /* 102 */ unk8 mUnk_102;
+ /* 102 */ bool mUnk_102;
/* 103 */ u8 mUnk_103;
/* 104 */
diff --git a/include/Game/GameMode.hpp b/include/Game/GameMode.hpp
index 6888b023..2a80d115 100644
--- a/include/Game/GameMode.hpp
+++ b/include/Game/GameMode.hpp
@@ -5,10 +5,22 @@
#include "System/SysNew.hpp"
+typedef unk32 GameModeId;
+enum GameModeId_ {
+ GameModeId_Load = 0,
+ GameModeId_StartupScreen = 1,
+ GameModeId_Adventure = 2,
+ GameModeId_FileSelect = 3,
+ GameModeId_WFCSetup = 4,
+ GameModeId_DownloadPlay = 5,
+ GameModeId_Battle = 6,
+ GameModeId_Contact = 7
+};
+
class GameMode : public SysObject {
public:
/* 000 (vtable) */
- /* 004 */ unk32 mUnk_000;
+ /* 004 */ GameModeId mModeId;
/* 008 */
/* 00 */ virtual ~GameMode();
@@ -20,8 +32,8 @@ public:
/* 1c */
inline GameMode() {}
- inline GameMode(unk32 param1) :
- mUnk_000(param1) {}
+ inline GameMode(GameModeId modeId) :
+ mModeId(modeId) {}
void func_0202c0b8();
};
diff --git a/include/Game/GameModeAdventure.hpp b/include/Game/GameModeAdventure.hpp
index a004fb70..934a6a10 100644
--- a/include/Game/GameModeAdventure.hpp
+++ b/include/Game/GameModeAdventure.hpp
@@ -4,13 +4,103 @@
#include "types.h"
#include "Game/GameModePlay.hpp"
+#include "Render/FadeControl.hpp"
+#include "System/SysNew.hpp"
+#include "Unknown/UnkStruct_02037750.hpp"
+
+class UnkStruct_020fadf4_Base : public SysObject {
+public:
+ unk32 func_ov009_021136c4();
+ unk32 func_ov009_0211370c();
+};
+
+class UnkStruct_0211a9ac : public SysObject {
+public:
+ /* 000 */ unk8 pad[0x354];
+ /* 354 */
+
+ UnkStruct_0211a9ac();
+ ~UnkStruct_0211a9ac();
+
+ void func_ov002_020f50c0(unk32 param_1);
+ void func_ov002_020f5390(u16 *param_1);
+ void func_ov002_020f5504(u16 *param_1);
+ void func_ov002_020f56c8(u16 *param_1);
+};
+
+// ov003
+class UnkStruct_020fadf4 : public UnkStruct_020fadf4_Base {
+public:
+ /* 00 */ unk8 pad[0x4c];
+ /* 4c */
+
+ UnkStruct_020fadf4();
+ UnkStruct_020fadf4(UnkStruct_0211a9ac *param_1);
+ ~UnkStruct_020fadf4();
+
+ void func_ov009_021135d0();
+ void func_ov003_020fae64();
+};
+
+class UnkStruct_020f2978_00 {
+public:
+ /* 000 (vtable) */
+ /* 04 */ unk8 pad[0x14];
+ /* 18 */
+
+ /* 00 */ virtual void vfunc_00(); // func_ov000_020d0670
+ /* 04 */ virtual void vfunc_04(); // func_ov000_020cff1c
+ /* 08 */ virtual void vfunc_08(); // func_ov000_020d0000
+ /* 0c */ virtual void vfunc_0c(); // func_ov000_020d0048
+ /* 10 */ virtual void vfunc_10(); // func_ov000_020cff8c
+
+ UnkStruct_020f2978_00();
+ ~UnkStruct_020f2978_00();
+};
+
+// ov003
+class UnkStruct_020f2978 : public SysObject {
+public:
+ /* 00 */ UnkStruct_020f2978_00 mUnk_00[2];
+ /* 30 */ UnkStruct_02037750 mUnk_30;
+ /* 50 */ unk8 pad2[0x88 - 0x50];
+ /* 88 */
+
+ UnkStruct_020f2978();
+
+ unk32 func_ov003_020f2a2c();
+ unk32 func_ov003_020f2acc();
+};
+
+class UnkStruct_0211ac0c : public UnkStruct_020fadf4_Base {
+public:
+ /* 00 */ unk32 mUnk_00;
+ /* 04 */ FadeControl mUnk_04;
+ /* 28 */ unk8 pad[0x44 - 0x28];
+ /* 44 */
+
+ UnkStruct_0211ac0c();
+ UnkStruct_0211ac0c(UnkStruct_020f2978 *param_1);
+
+ void func_ov009_0211372c();
+ void func_ov003_020fb26c();
+ unk32 func_ov009_021136e8();
+ unk32 func_ov003_020fb148();
+ unk32 func_ov003_020fb258(u16 *param_1);
+ void func_ov009_0211ac2c();
+ void func_ov003_020faf90();
+ void func_ov003_020fb010();
+};
class GameModeAdventure : public GameModePlay {
+public:
/* 000 (base) */
- /* 008 */ unk8 mUnk_008[0x10];
+ /* 008 */ UnkStruct_0211a9ac *mUnk_008;
+ /* 00c */ UnkStruct_020fadf4 *mUnk_00c;
+ /* 010 */ UnkStruct_020f2978 *mUnk_010;
+ /* 014 */ UnkStruct_0211ac0c *mUnk_014;
/* 018 */
-public:
/* 00 */ virtual ~GameModeAdventure() override;
/* 08 */ virtual unk32 vfunc_08(unk32 param1) override;
/* 0c */ virtual void vfunc_0c(u16 *param1) override;