diff options
| author | Aetias <144526980+AetiasHax@users.noreply.github.com> | 2025-07-06 11:09:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-06 11:09:25 +0200 |
| commit | 87ea4c687d97fc9a0e3e06fa4732087794881039 (patch) | |
| tree | bf8f539742eead3ca8d660361dd790375a406a54 /include/Game | |
| parent | 1e2adf0ebd714f9ed2c1e814276278755278dd12 (diff) | |
| parent | 476d7d305fd1f39922761ab78498783af809e234 (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.hpp | 2 | ||||
| -rw-r--r-- | include/Game/GameMode.hpp | 18 | ||||
| -rw-r--r-- | include/Game/GameModeAdventure.hpp | 94 |
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; |
