Match GameModeManager and nearby/related functions (#22)

* match GameModeManager and surroundings

* add small comment about data_ov000_020b1e48

* minor fixes

* overlay 0 gamemode stuff

* tool hotfix
This commit is contained in:
Yanis
2026-01-19 02:23:52 +01:00
committed by GitHub
parent b80acf3455
commit e9789bf360
72 changed files with 1042 additions and 471 deletions
+1 -1
View File
@@ -175,7 +175,7 @@ public:
class UnkSystem2_UnkSubSystem1_Base {
public:
/* 04 */ GameModeManagerBase_104_04 mUnk_04;
/* 04 */ GameModeLinkList<UnkSystem2_UnkSubSystem1_Base> mUnk_04;
/* 0C */ void *mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ Vec2s mPos; // image position (among other things)
+2 -2
View File
@@ -22,7 +22,7 @@ public:
class UnkStruct_02049a2c {
public:
/* 00 */ GameModeBase *mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 04 */ void *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
@@ -37,7 +37,7 @@ public:
void Run(void);
void func_02013370(unk32 param1);
void func_02013724(void *param1);
bool func_02013724(void *param1);
void func_ov018_020c48a4(unk32 param1);
void func_ov018_020c48f8(); // loads overlay 0
+7 -12
View File
@@ -1,29 +1,24 @@
#pragma once
#include "Player/TouchControl.hpp"
#include "global.h"
#include "nitro/button.h"
#include "types.h"
class UnkStruct_02049b18_06 {
public:
/* 00 */ unk16 mUnk_00;
/* 00 */ unk16 mUnk_02;
/* 00 */ TouchControl mTouchControl;
/* 22 */
UnkStruct_02049b18_06();
};
class UnkStruct_02049b18_00 {
public:
/* 00 */ unk32 mUnk_00;
UnkStruct_02049b18_00();
};
class UnkStruct_02049b18 {
public:
/* 00 */ UnkStruct_02049b18_00 mUnk_00;
/* 04 */ unk16 mUnk_04;
/* 00 */ Input mButtons;
/* 06 */ UnkStruct_02049b18_06 mUnk_06;
/* 0A */ STRUCT_PAD(0x0A, 0x58);
/* 28 */ unk16 mUnk_28;
/* 2A */ STRUCT_PAD(0x2A, 0x58);
/* 58 */ unk16 mUnk_58;
/* 5A */ unk16 mUnk_5A;
+14
View File
@@ -0,0 +1,14 @@
#pragma once
#include "global.h"
#include "types.h"
class UnkStruct_02049b4c {
public:
/* 00 */ unk32 mUnk_00;
UnkStruct_02049b4c();
~UnkStruct_02049b4c();
};
extern UnkStruct_02049b4c data_02049b4c;
+7 -4
View File
@@ -9,8 +9,8 @@
class UnkStruct_0204a060_Base3 : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ GameModeManagerBase_104_04 mUnk_04;
/* 0C */ unk8 mUnk_0C;
/* 04 */ GameModeLinkListNode mUnk_04;
/* 0C */ bool mUnk_0C;
/* 0D */ unk8 mUnk_0D;
/* 0E */ unk8 mUnk_0E;
/* 0F */ unk8 mUnk_0F;
@@ -39,10 +39,9 @@ class UnkStruct_0204a060_Base : public UnkStruct_0204a060_Base2 {
public:
/* 00 (base) */
/* 14 */ unk32 mUnk_14;
// /* 14 */ unk16 mUnk_16;
/* 18 */ unk8 mUnk_18;
/* 19 */ unk8 mUnk_19;
/* 1A */ unk16 mUnk_1A;
/* 1A */ u16 mUnk_1A;
/* 1C */ unk16 mUnk_1C;
/* 1E */ unk16 mUnk_1E;
/* 20 */ unk16 mUnk_20;
@@ -69,12 +68,16 @@ public:
UnkStruct_0204a060();
void func_020183c0(void);
bool func_020183d4(bool param1, void *param2, unk32 param3);
static void func_02018424(void); //! TODO: is it a PTMF?
// data_02044048 vtable
/* 00 */ virtual ~UnkStruct_0204a060() override;
/* 0C */ virtual bool vfunc_0C(void) override;
/* 14 */
static void func_020183b8(void);
};
extern UnkStruct_0204a060 data_0204a060;
+9 -2
View File
@@ -1,10 +1,13 @@
#pragma once
#include "System/SysNew.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkMemFuncs.h"
#include "global.h"
#include "types.h"
class GameModeManagerBase;
struct UnkStruct_0204a110_Sub2_000_158 {
u32 mUnk_00[3];
unk8 mUnk_0C;
@@ -188,7 +191,7 @@ public:
/* DAC */ STRUCT_PAD(0xDBC, 0xDC0);
/* DC0 */ UnkStruct_0204a110_Sub7 mUnk_DC0;
/* DDC */ UnkStruct_0204a110_Sub8 mUnk_DDC;
/* DEC */ unk32 mUnk_DEC;
/* DEC */ GameModeManagerBase *mUnk_DEC;
/* DF0 */ unk16 mUnk_DF0;
/* DF2 */ unk8 mUnk_DF2;
/* DF3 */ unk8 mUnk_DF3;
@@ -204,14 +207,18 @@ public:
/* E04 */ unk16 mUnk_E04;
UnkStruct_0204a110();
unk32 func_01ff9b50();
void func_02018c78(unk32 param1);
void func_02018c90(unk32 param1);
void func_02018d34();
void func_020195a0(const char *param1, unk32 param2, unk32 param3, unk32 param4);
void func_0201967c(unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
void func_02019538(unk32 param1, unk32 param2);
void func_02018c78(unk32 param1);
void func_ov001_020bd514(unk32 param1, void *param2, unk32 param3, unk32 param4);
void func_ov001_020bd58c(void);
void func_ov018_020c5300(void);
};
+12 -7
View File
@@ -5,19 +5,20 @@
#include "global.h"
#include "types.h"
class UnkStruct_0204e5f8_1C_Base {
class UnkStruct_0204e5f8_1C_Base : GameModeLinkListNode {
public:
/* 20 */ GameModeManagerBase_104_04 mUnk_20;
/* 28 */ unk32 mUnk_28;
/* 00 (base) */
/* 08 */ unk32 mUnk_08;
/* 0C */
UnkStruct_0204e5f8_1C_Base() :
mUnk_28(0) {}
mUnk_08(0) {}
};
class UnkStruct_0204e5f8_1C : UnkStruct_0204e5f8_1C_Base {
public:
/* 00 (vtable) */
/* 04 */
/* 0C */
// data_020440e8 vtable
/* 00 */ virtual ~UnkStruct_0204e5f8_1C();
@@ -26,9 +27,9 @@ public:
class UnkStruct_0204e5f8 {
public:
/* 00 */ UnkStruct_0204a060_Base3 mUnk_00;
/* 14 */ unk32 mUnk_10;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk8 mUnk_18;
/* 18 */ bool mUnk_18;
/* 19 */ unk8 mUnk_19;
/* 1A */ unk8 mUnk_1A;
/* 1B */ unk8 mUnk_1B;
@@ -36,6 +37,10 @@ public:
/* 2C */ STRUCT_PAD(0x2C, 0x38);
/* 38 */ unk8 mUnk_38;
/* 39 */ unk8 mUnk_39;
/* 3A */ u16 mUnk_3A;
/* 3C */ unk8 mUnk_3C;
/* 3D */ unk8 mUnk_3D;
/* 3E */ u16 mUnk_3E;
UnkStruct_0204e5f8();
void func_0201b9a8(void *param1);
+2 -2
View File
@@ -2,6 +2,7 @@
#include "Unknown/UnkStruct_02049b18.hpp"
#include "global.h"
#include "nitro/button.h"
#include "types.h"
class UnkStruct_0204e64c_00 {
@@ -29,8 +30,7 @@ public:
class UnkStruct_0204e64c {
public:
/* 00 */ UnkStruct_0204e64c_00 mUnk_00;
/* 10 */ UnkStruct_02049b18_00 mUnk_10;
/* 14 */ unk16 mUnk_14;
/* 10 */ Input mButtons;
/* 16 */ unk8 mUnk_16;
UnkStruct_0204e64c();
+1 -1
View File
@@ -11,7 +11,7 @@ public:
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ GameModeManagerBase_104_04 mUnk_14;
/* 14 */ GameModeLinkListNode mUnk_14;
UnkStruct_027e0954();
~UnkStruct_027e0954();
+5 -5
View File
@@ -1,9 +1,11 @@
#pragma once
#include "Game/GameModeManager.hpp"
#include "Item/Item.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_02049b18.hpp"
#include "global.h"
#include "nitro/button.h"
#include "types.h"
class UnkStruct_ov000_02067bc4_Sub1 {
@@ -89,16 +91,14 @@ public:
class UnkStruct_ov000_020b504c {
public:
/* 000 */ UnkStruct_ov000_020b504c_Sub3 *mUnk_000;
/* 004 */ unk32 mUnk_004;
/* 004 */ GameModeManagerBase_004 *mUnk_004;
/* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008;
/* 00C */ UnkStruct_ov000_020b504c_Sub4 mUnk_00C[7];
/* 028 */ unk32 mUnk_028;
/* 02C */ unk32 mUnk_02C;
/* 030 */ unk32 mUnk_030;
/* 034 */ UnkStruct_02049b18_00 mUnk_034;
/* 038 */ unk16 mUnk_038;
/* 03A */ unk16 mUnk_03A;
/* 03C */ STRUCT_PAD(0x3C, 0x5C);
/* 034 */ Input mButtons;
/* 03A */ TouchControl mTouchControl;
/* 05C */ unk8 mUnk_05C[0x10];
/* 06C */ unk8 mUnk_06C[2];
/* 06E */ unk8 mUnk_06E;
+3 -1
View File
@@ -45,11 +45,13 @@ public:
void func_0200381c(const char *soundDataPath, unk32 param2, unk32 param3);
void func_ov000_02069d3c(unk32 param1);
void func_ov000_02069d7c(void);
unk32 func_ov000_0206a5d8(unk32 param1);
void func_ov000_0206a6a4(unk32 param1);
void func_ov000_0206a758(void);
void func_ov000_0206a77c(void);
void func_ov000_020bd8ac(void);
void func_ov001_020bd8ac(void);
void func_ov001_020bd8dc(void);