diff options
| author | Yanis002 <35189056+Yanis002@users.noreply.github.com> | 2025-07-05 16:36:04 +0200 |
|---|---|---|
| committer | Yanis002 <35189056+Yanis002@users.noreply.github.com> | 2025-07-05 16:36:04 +0200 |
| commit | f81e8e85d012d67eca593b5ef1e33083c876a760 (patch) | |
| tree | 16b6a7ed8691183b4cd931c07beaa7e009e4d0f4 /include | |
| parent | 1e2adf0ebd714f9ed2c1e814276278755278dd12 (diff) | |
started GameModeAdventure (97%)
Diffstat (limited to 'include')
| -rw-r--r-- | include/DTCM/UnkStruct_027e0d38.hpp | 71 | ||||
| -rw-r--r-- | include/Game/Game.hpp | 2 | ||||
| -rw-r--r-- | include/Game/GameMode.hpp | 4 | ||||
| -rw-r--r-- | include/Game/GameModeAdventure.hpp | 87 | ||||
| -rw-r--r-- | include/Message/MsgProc.hpp | 8 | ||||
| -rw-r--r-- | include/System/SysNew.hpp | 2 |
6 files changed, 162 insertions, 12 deletions
diff --git a/include/DTCM/UnkStruct_027e0d38.hpp b/include/DTCM/UnkStruct_027e0d38.hpp index ba565f60..ab7b7794 100644 --- a/include/DTCM/UnkStruct_027e0d38.hpp +++ b/include/DTCM/UnkStruct_027e0d38.hpp @@ -1,6 +1,7 @@ #pragma once #include "global.h" +#include "nds/math.h" #include "types.h" struct UnkStruct_027e0d38_UnkC { @@ -9,12 +10,68 @@ struct UnkStruct_027e0d38_UnkC { s32 func_ov000_020a5e9c(void); }; +class UnkStruct_02082348_04 { +public: + /* 00 */ Vec3p mPos; + /* 0c */ unk16 mAngle; + /* 0e */ u8 mId; + /* 0f */ u8 mUnk_0f; + /* 10 */ u8 mUnk_10; + /* 11 */ u8 mUnk_11; + /* 14 */ +}; + +// This might be FlagsUnk2 +struct UnkStruct_02082348 { + /* 00 */ UnkStruct_027e0d38_UnkC mUnk_00; + /* 04 */ UnkStruct_02082348_04 mUnk_04; + /* 18 */ + + void func_ov000_02078bf0(UnkStruct_02082348 *param_2); + void func_ov004_02100ae0(); +}; + struct UnkStruct_027e0d38_Unk28 { - /* 00 */ unk8 mUnk_00[0x34]; - /* 34 */ bool mUnk_34; - /* 35 */ unk8 mUnk_35[0x27]; - /* 5c */ unk32 mUnk_5c[3]; - /* 68 */ + /* 000 */ unk32 *mUnk_00; + /* 004 */ unk32 mUnk_04; + /* 008 */ unk32 mUnk_08; + /* 00C */ unk32 mUnk_0c; + /* 010 */ unk32 mUnk_10; + /* 014 */ unk32 mUnk_14; + /* 018 */ unk32 mUnk_18; + /* 01C */ UnkStruct_027e0d38_UnkC mUnk_1c; + /* 020 */ unk32 mUnk_20; + /* 024 */ unk32 mUnk_24; + /* 028 */ unk32 mUnk_28; + /* 02C */ unk8 mUnk_2c; + /* 02D */ unk8 mUnk_2d; + /* 02E */ u8 mUnk_2e; + /* 02F */ unk8 mUnk_2f; + /* 030 */ unk32 mUnk_30; + /* 034 */ bool mUnk_34; + /* 035 */ unk8 mUnk_35; + /* 036 */ unk16 mUnk_36; + /* 038 */ Vec3p mUnk_38; + /* 044 */ UnkStruct_027e0d38_UnkC mUnk_44; + /* 048 */ unk8 mUnk_48[0x50 - 0x48]; + /* 050 */ unk8 mUnk_50; + /* 051 */ unk8 mUnk_51; + /* 052 */ unk8 mUnk_52; + /* 053 */ unk8 mUnk_53; + /* 054 */ unk8 mUnk_54; + /* 055 */ unk8 mUnk_55; + /* 056 */ u8 mUnk_56; + /* 057 */ unk8 mUnk_57; + /* 058 */ unk32 mUnk_58; + /* 05c */ UnkStruct_02082348_04 mUnk_5c; + /* 070 */ UnkStruct_02082348 mUnk_70; + /* 088 */ unk8 pad1[0x9A - 0x88]; + /* 09a */ u8 mUnk_9a; + /* 09b */ u8 mUnk_9b; + /* 09c */ unk32 mUnk_9c; + /* 0a0 */ Vec3p mUnk_a0; + /* 0ac */ unk32 mUnk_ac; + /* 110 */ }; struct UnkStruct_027e0d38 { @@ -23,7 +80,7 @@ struct UnkStruct_027e0d38 { /* 04 */ unk32 mUnk_04; /* 08 */ unk32 mUnk_08; /* 0c */ UnkStruct_027e0d38_UnkC mUnk_0c; - /* 10 */ unk32 mUnk_10; + /* 10 */ unk32 mUnk_10; // `UnkStruct_02082348_04`? /* 14 */ unk32 mUnk_14; /* 18 */ unk32 mUnk_18; /* 1c */ unk16 mUnk_1c; @@ -39,6 +96,8 @@ struct UnkStruct_027e0d38 { s32 func_ov000_02078b40(); unk8 func_ov000_02078b64(); bool func_ov000_02078b88(); + void func_ov004_02100bcc(); + unk32 func_ov005_02100b7c(unk32 param_1); }; extern UnkStruct_027e0d38 *data_027e0d38; 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..315847ee 100644 --- a/include/Game/GameMode.hpp +++ b/include/Game/GameMode.hpp @@ -8,7 +8,7 @@ class GameMode : public SysObject { public: /* 000 (vtable) */ - /* 004 */ unk32 mUnk_000; + /* 004 */ unk32 mUnk_004; /* 008 */ /* 00 */ virtual ~GameMode(); @@ -21,7 +21,7 @@ public: inline GameMode() {} inline GameMode(unk32 param1) : - mUnk_000(param1) {} + mUnk_004(param1) {} void func_0202c0b8(); }; diff --git a/include/Game/GameModeAdventure.hpp b/include/Game/GameModeAdventure.hpp index a004fb70..015ab345 100644 --- a/include/Game/GameModeAdventure.hpp +++ b/include/Game/GameModeAdventure.hpp @@ -4,13 +4,96 @@ #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: + /* 00 */ unk8 pad[0x18]; + /* 18 */ + + 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; diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index bfdbc86b..00536c57 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -120,11 +120,13 @@ extern struct TouchControl gTouchControl; class UnkClass_027e0e28 { public: unk32 func_ov000_0207bc48(); + void func_ov000_0207bc9c(); }; extern UnkClass_027e0e28 *data_027e0e28; extern u8 data_027e0c54; extern unk32 *data_ov009_0211f5b4; extern "C" unk32 func_ov003_020f3f94(unk32 *); +extern "C" void func_ov003_020f4060(unk32 **); extern unk32 *data_02057ed4; // see Actor.cpp @@ -161,8 +163,12 @@ public: void func_ov003_020f4874(void); void func_ov003_020f4760(u8, unk32); + unk32 func_ov003_020f4960(void); + void func_ov003_020f4a5c(void); + void func_ov003_02f46f8(void); + void func_ov003_020f4678(unk32); }; -extern UnkClass_027e1054 data_027e1054; +extern UnkClass_027e1054 *data_027e1054; class UnkClass_ov000_020eec9c { public: diff --git a/include/System/SysNew.hpp b/include/System/SysNew.hpp index 184c27fb..df660a1b 100644 --- a/include/System/SysNew.hpp +++ b/include/System/SysNew.hpp @@ -15,6 +15,8 @@ void SysDelete(void *ptr); void *func_0202e99c(s32 length);
void *func_0202e9bc(s32 length);
+extern u32 *data_027e0ce0[];
+
class SysObject {
public:
static void *operator new(unsigned long length, u32 *id, u32 idLength);
|
