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
+13 -4
View File
@@ -41,7 +41,7 @@ public:
/* 00 */ virtual ~FileSelect_UnkClass2_Sub4_Base() override {}
};
class FileSelectSubScreen : public FileSelect_UnkClass2_Sub4_Base {
class FileSelectSubScreen : public SysObject, public FileSelect_UnkClass2_Sub4_Base {
public:
/* 0000 (base) */
/* 001C */ unk32 mUnk_001C;
@@ -65,12 +65,20 @@ public:
/* 0FE4 */ UnkSystem5 mUnk_0FE4;
/* 1020 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectSubScreen();
void func_ov019_020cf73c(unk32 param1, unk32 param2);
// data_ov019_020d22b8 vtable
/* 00 */ virtual ~FileSelectSubScreen() override {}
/* 08 */ virtual void vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl) override;
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
/* 10 */ virtual void vfunc_10(unk8 *param1) override;
};
@@ -87,6 +95,7 @@ public:
// clang-format off
FileSelectManager(unk32 param1) NO_INLINE :
GameModeManagerBase(param1),
mUnk_154(&this->mUnk_104),
mUnk_158(NULL),
mUnk_15C(NULL),
@@ -111,8 +120,8 @@ public:
/* 08 */ virtual ~FileSelectManager() override;
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2, unk32 param3) override;
/* 24 */ virtual void vfunc_24() override;
/* 28 */ virtual void vfunc_28(unk32 param1) override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
/* 2C */ virtual void vfunc_2C(unk8 *param1) override;
static GameModeManagerBase *Create(unk32 param1);
};
+9 -1
View File
@@ -148,6 +148,14 @@ public:
return this->GetUnk03E0(this->mSaveSlotIndex);
}
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectMain();
void func_ov019_020c61dc();
void func_ov019_020c63dc();
@@ -255,7 +263,7 @@ public:
// data_ov019_020d1ec0 vtable
/* 00 */ virtual ~FileSelectMain() override;
/* 08 */ virtual void vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl) override;
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
/* 10 */ virtual void vfunc_10(unk8 *param1) override;
/* 18 */ virtual void vfunc_18(void) override;
};
+9 -1
View File
@@ -74,6 +74,14 @@ public:
/* 633 */ unk8 mUnk_633;
/* 634 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectMicTest();
void func_ov019_020cea74();
void func_ov019_020cefe4();
@@ -87,7 +95,7 @@ public:
// data_ov019_020d2284 vtable
/* 00 */ virtual ~FileSelectMicTest() override;
/* 08 */ virtual void vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl) override;
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
/* 10 */ virtual void vfunc_10(unk8 *param1) override;
/* 14 */ virtual void vfunc_14(unk8 *param1) override;
};
+9 -1
View File
@@ -138,6 +138,14 @@ public:
/* 1CF7 */ unk8 mUnk_1CF7;
/* 1CF8 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectOptions(s32 saveSlotIndex);
void func_ov019_020ccd40();
void func_ov019_020ccdf4();
@@ -166,7 +174,7 @@ public:
// data_ov019_020d2200 vtable
/* 00 */ virtual ~FileSelectOptions() override;
/* 08 */ virtual void vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl) override;
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
/* 10 */ virtual void vfunc_10(unk8 *param1) override;
static GameModeManagerBase_104 *Create(void *param1, s32 saveSlotIndex);
@@ -29,13 +29,21 @@ public:
/* 2C */ FileSelectOptions *mpOptions;
/* 30 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (this != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
FileSelectOptionsManager(void *param1, unk32 param2);
void func_ov019_020cc85c(unk32 param1);
unk32 func_ov019_020cc874();
// data_ov019_020d2224 vtable
/* 00 */ virtual ~FileSelectOptionsManager() override;
/* 08 */ virtual void vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl) override;
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
static GameModeManagerBase_104 *Create(void *param1, s32 saveSlotIndex);
};
+1 -1
View File
@@ -8,7 +8,7 @@
class FileSelectManager_UnkDrawBase : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ GameModeManagerBase_104_04 mUnk_04;
/* 04 */ GameModeLinkListNode mUnk_04;
/* 0C */
FileSelectManager_UnkDrawBase();