diff options
| author | Aetias <144526980+AetiasHax@users.noreply.github.com> | 2025-07-06 14:53:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-06 14:53:40 +0200 |
| commit | e3ba2b386d1ef7530d8be93f1c5a0550c30dac79 (patch) | |
| tree | 67ea17fe8b99f0cfcbad9894cb03f9493e618dd8 /include | |
| parent | 70e6bb21469372c6ed0a80264bffec7c160ca310 (diff) | |
| parent | 8806b998c287d63c93f32835236b3092b5ad50fc (diff) | |
Merge pull request #113 from AetiasHax/game
`src/Main/Game/Game.cpp` 26%
Diffstat (limited to 'include')
| -rw-r--r-- | include/DTCM/UnkStruct_027e05f8.hpp | 2 | ||||
| -rw-r--r-- | include/DTCM/UnkStruct_027e077c.hpp | 6 | ||||
| -rw-r--r-- | include/DTCM/UnkStruct_027e0e2c.hpp | 2 | ||||
| -rw-r--r-- | include/DTCM/UnkStruct_027e0ffc.hpp | 3 | ||||
| -rw-r--r-- | include/Game/Game.hpp | 28 | ||||
| -rw-r--r-- | include/Message/MessageManager.hpp | 2 | ||||
| -rw-r--r-- | include/Message/MsgProc.hpp | 19 | ||||
| -rw-r--r-- | include/Player/TouchControl.hpp | 2 | ||||
| -rw-r--r-- | include/Render/FadeController.hpp | 2 | ||||
| -rw-r--r-- | include/System/OverlayManager.hpp | 24 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_02075dac.hpp | 11 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_020ee734.hpp | 7 |
12 files changed, 74 insertions, 34 deletions
diff --git a/include/DTCM/UnkStruct_027e05f8.hpp b/include/DTCM/UnkStruct_027e05f8.hpp index a5bc24d6..721c1be9 100644 --- a/include/DTCM/UnkStruct_027e05f8.hpp +++ b/include/DTCM/UnkStruct_027e05f8.hpp @@ -13,7 +13,7 @@ struct UnkStruct_027e05f8 { ~UnkStruct_027e05f8(); // Big gap to next TU - UnkStruct_027e05f8(); + void Init(); void func_02037458(u16 param1); void func_02037480(); static unk32 func_02037490(unk32 param1); diff --git a/include/DTCM/UnkStruct_027e077c.hpp b/include/DTCM/UnkStruct_027e077c.hpp index 57ef477d..d5d1788a 100644 --- a/include/DTCM/UnkStruct_027e077c.hpp +++ b/include/DTCM/UnkStruct_027e077c.hpp @@ -4,16 +4,14 @@ #include "types.h" struct UnkStruct_027e077c { -private: +public: /* 0 */ unk32 mUnk_0; /* 4 */ unk32 mUnk_4; - -public: /* 8 */ unk16 mUnk_8; /* a */ unk8 mUnk_a; /* b */ - UnkStruct_027e077c(unk32 param1); + void Init(unk32 param1); bool func_0202e740(unk32 param1); inline volatile unk32 GetUnk0() const { diff --git a/include/DTCM/UnkStruct_027e0e2c.hpp b/include/DTCM/UnkStruct_027e0e2c.hpp index b8923bde..00efac4c 100644 --- a/include/DTCM/UnkStruct_027e0e2c.hpp +++ b/include/DTCM/UnkStruct_027e0e2c.hpp @@ -17,6 +17,8 @@ struct UnkStruct_027e0e2c { /* 24 */ unk32 mUnk_24; /* 28 */ unk32 mUnk_28; /* 2c */ + + void func_ov000_0207bcb4(); }; extern UnkStruct_027e0e2c data_027e0e2c; diff --git a/include/DTCM/UnkStruct_027e0ffc.hpp b/include/DTCM/UnkStruct_027e0ffc.hpp index 463d9ec8..571c3761 100644 --- a/include/DTCM/UnkStruct_027e0ffc.hpp +++ b/include/DTCM/UnkStruct_027e0ffc.hpp @@ -3,6 +3,8 @@ #include "global.h" #include "types.h" +#include "Physics/Cylinder.hpp" + struct UnkStruct_027e0ffc { /* 00 */ unk32 mUnk_00; /* 04 */ unk32 mUnk_04[0x4]; @@ -19,6 +21,7 @@ struct UnkStruct_027e0ffc { /* 38 */ unk8 mUnk_38; /* 39 */ + void func_ov000_020ce704(); void func_ov000_020cebcc(u32 param1, unk16 param2, unk32 param3); void func_ov000_020ced64(Cylinder *param1, u32 param2, u32 param3); void func_ov000_020ced7c(Vec3p *param1, s32 param2, s32 param3, unk32 param4); diff --git a/include/Game/Game.hpp b/include/Game/Game.hpp index 8bb41b95..4c60c0ab 100644 --- a/include/Game/Game.hpp +++ b/include/Game/Game.hpp @@ -5,11 +5,29 @@ #include "Game/GameMode.hpp" #include "Render/FadeControl.hpp" +#include "System/OverlayManager.hpp" + +typedef GameMode *(*GameModeCreateFunc)(GameModeId modeId); + +struct GameModeData { + /* 00 */ u8 mUnk_00; + /* 01 */ u8 mUnk_01; + /* 02 */ u8 mUnk_02; + /* 03 */ u8 mUnk_03; + /* 04 */ OverlayId slot1Overlay; + /* 08 */ OverlayId slot2Overlay; + /* 0c */ OverlayId slot3Overlay; + /* 10 */ OverlayId slot12Overlay; + /* 14 */ GameModeCreateFunc mModeCreateFunc; + /* 18 */ void *mUnk_18; + /* 1c */ +}; +extern const GameModeData gGameModes[]; class Game { public: - /* 000 */ s32 mModeId; - /* 004 */ s32 mPrevModeId; + /* 000 */ GameModeId mModeId; + /* 004 */ GameModeId mPrevModeId; /* 008 */ GameMode *mMode; /* 00c */ unk8 mUnk_00c[0xc0]; /* 0cc */ FadeControl mFadeControl; @@ -17,8 +35,8 @@ public: /* 0f2 */ u16 mUnk_0f2; /* 0f4 */ s32 mUnk_0f4; /* 0f8 */ s32 mUnk_0f8; - /* 0fc */ unk16 mUnk_0fc; - /* 0fe */ unk16 mUnk_0fe; + /* 0fc */ u16 mUnk_0fc; + /* 0fe */ u16 mUnk_0fe; /* 100 */ unk8 mUnk_100; /* 101 */ s8 mUnk_101; /* 102 */ bool mUnk_102; @@ -29,7 +47,7 @@ public: ~Game(); void EndGameMode(); - void StartGameMode(); + bool StartGameMode(); void func_0202c974(); void func_0202c97c(); void Run(); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index ed4ddcd2..7884cadc 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -40,7 +40,7 @@ public: /* 0x4C */ static void func_0203643c(u32 *param_1, MessageManager *param_2, u32 param_3); - void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4); + void func_02036490(); void func_0203665c(void); MessageManager(); ~MessageManager(); diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 00536c57..a48cbb0c 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -1,9 +1,12 @@ #pragma once +#include "nds/math.h" + +#include "DTCM/UnkStruct_027e077c.hpp" +#include "Game/Game.hpp" #include "Message/BMG.hpp" #include "System/SysNew.hpp" #include "Unknown/func_ov000_020d0644.hpp" -#include "nds/math.h" // temp #define UNK_TYPE void @@ -88,20 +91,16 @@ extern char *data_02057ed8; // "MSP:opening.nclr" struct Struct_027e0db0 { /* 0x00 */ unk32 mUnk_00; /* 0x04 */ unk32 mUnk_04; -}; -extern Struct_027e0db0 data_027e0db0; -// see Actor.cpp -struct UnkStruct2 { - /* 0 */ u32 mUnk_0; - /* 4 */ u32 mUnk_4; - /* 8 */ + void func_ov000_0207b288(GameModeId modeId); }; -extern UnkStruct2 data_027e077c; -extern u8 data_02056be4[]; +extern Struct_027e0db0 data_027e0db0; class UnkClass_027e0cbc { public: + void func_0203d57c(); + void func_0203d5c0(); + void func_0203d6d0(); unk32 func_0203d7e0(unk32); unk32 func_0203d77c(unk32, s32, s32); }; diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp index 8970c032..08d9d657 100644 --- a/include/Player/TouchControl.hpp +++ b/include/Player/TouchControl.hpp @@ -37,7 +37,7 @@ public: /* 34 */ TouchFlags mFlags; /* 36 */ - TouchControl(); + void Init(); void IncreaseSpeed(s16 increase); void UpdateFlags(u16 speed); void UpdateWithStateFlags(TouchStateFlags *state, u16 speed); diff --git a/include/Render/FadeController.hpp b/include/Render/FadeController.hpp index 59a17e48..e26695f6 100644 --- a/include/Render/FadeController.hpp +++ b/include/Render/FadeController.hpp @@ -31,3 +31,5 @@ struct FadeController { void ProcessFade(s32 param1); void SetScreenBrightness(s32 param1); }; + +extern FadeController gFadeController; diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp index e2ceb3f0..4bd43104 100644 --- a/include/System/OverlayManager.hpp +++ b/include/System/OverlayManager.hpp @@ -75,21 +75,21 @@ typedef u32 OverlayId; #define OverlayId_01 OVERLAY_ID(1) #define OverlayId_02 OVERLAY_ID(2) #define OverlayId_03 OVERLAY_ID(3) -#define OverlayId_Memory OVERLAY_ID(4) +#define OverlayId_Load OVERLAY_ID(4) #define OverlayId_05 OVERLAY_ID(5) #define OverlayId_06 OVERLAY_ID(6) -#define OverlayId_07 OVERLAY_ID(7) -#define OverlayId_08 OVERLAY_ID(8) -#define OverlayId_09 OVERLAY_ID(9) -#define OverlayId_10 OVERLAY_ID(10) -#define OverlayId_11 OVERLAY_ID(11) -#define OverlayId_12 OVERLAY_ID(12) -#define OverlayId_13 OVERLAY_ID(13) +#define OverlayId_DownloadPlay OVERLAY_ID(7) +#define OverlayId_GameStart OVERLAY_ID(8) +#define OverlayId_Adventure OVERLAY_ID(9) +#define OverlayId_FileSelect OVERLAY_ID(10) +#define OverlayId_DwcSetup OVERLAY_ID(11) +#define OverlayId_Battle OVERLAY_ID(12) +#define OverlayId_Contact OVERLAY_ID(13) #define OverlayId_Land OVERLAY_ID(14) -#define OverlayId_15 OVERLAY_ID(15) -#define OverlayId_16 OVERLAY_ID(16) -#define OverlayId_17 OVERLAY_ID(17) -#define OverlayId_18 OVERLAY_ID(18) +#define OverlayId_Sea OVERLAY_ID(15) +#define OverlayId_Startup OVERLAY_ID(16) +#define OverlayId_Dungeon OVERLAY_ID(17) +#define OverlayId_Overworld OVERLAY_ID(18) #define OverlayId_19 OVERLAY_ID(19) #define OverlayId_20 OVERLAY_ID(20) #define OverlayId_21 OVERLAY_ID(21) diff --git a/include/Unknown/UnkStruct_02075dac.hpp b/include/Unknown/UnkStruct_02075dac.hpp new file mode 100644 index 00000000..934a2919 --- /dev/null +++ b/include/Unknown/UnkStruct_02075dac.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include "global.h" +#include "types.h" + +class UnkStruct_02075dac { +public: + void func_0203f904(); + unk32 func_0203f9b8(void *); +}; +extern UnkStruct_02075dac data_02075dac; diff --git a/include/Unknown/UnkStruct_020ee734.hpp b/include/Unknown/UnkStruct_020ee734.hpp index 18e24d39..c5d3523c 100644 --- a/include/Unknown/UnkStruct_020ee734.hpp +++ b/include/Unknown/UnkStruct_020ee734.hpp @@ -1,7 +1,14 @@ #pragma once +#include "global.h" +#include "types.h" + +#include "Game/Game.hpp" + struct UnkStruct_020ee734 { + void func_ov000_020d6488(); void func_ov000_020d6620(void); + void func_ov000_020d6438(GameModeId modeId); }; extern UnkStruct_020ee734 data_ov000_020ee734; |
