Files
st/include/Game/GameModeManager.hpp
T
Yanis ed672be03f Decompile Title overlay (#20)
* Decompile Title overlay

* math structs as cpp when applicable

* fixes and improvements

* regressions fix 1

* regressions fix 2
2026-01-15 19:04:43 +01:00

133 lines
3.8 KiB
C++

#pragma once
#include "Player/TouchControl.hpp"
#include "System/SysNew.hpp"
#include "nitro/math.h"
#include "types.h"
class GameModeManagerBase_004 : public SysObject {
public:
void func_ov001_020bd734(unk32 *param1);
void func_ov001_020bd784();
void func_0201c00c(unk32 param1, unk32 param2);
};
class GameModeManagerBase_104_04 {
public:
/* 00 */ void *mUnk_00;
/* 04 */ void *mUnk_04;
/* 08 */
void func_020166ac(void);
void func_020166cc(void *param1);
void func_020166f4(void *param1);
GameModeManagerBase_104_04();
~GameModeManagerBase_104_04();
};
class GameModeManagerBase_104_0C_04 {
public:
/* 00 */ GameModeManagerBase_104_04 mUnk_00;
GameModeManagerBase_104_0C_04();
};
class GameModeManagerBase_104_0C {
public:
/* 00 (vtable) */
/* 04 */ GameModeManagerBase_104_0C_04 mUnk_04;
// data_ov000_020b1e48 vtable
/* 00 */ virtual ~GameModeManagerBase_104_0C();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
};
struct GameModePTMFParam2Struct {
/* 00 */ unk16 mUnk_00;
/* 00 */ volatile u16 mButtons;
};
class GameModeManagerBase_104 : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ GameModeManagerBase_104_04 mUnk_04;
/* 0C */ GameModeManagerBase_104_0C mUnk_0C;
/* 18 */ unk8 mUnk_18;
/* 19 */ unk8 mUnk_19;
/* 1A */ unk8 mUnk_1A;
/* 1B */ unk8 mUnk_1B;
/* 1C */
GameModeManagerBase_104();
// data_ov000_020b1e60 vtable
/* 00 */ virtual ~GameModeManagerBase_104();
/* 08 */ virtual void vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl);
/* 0C */ virtual void vfunc_0C(unk32 param1);
/* 10 */ virtual void vfunc_10(unk8 *param1);
/* 14 */ virtual void vfunc_14(unk8 *param1);
/* 18 */ virtual void vfunc_18(void);
static GameModeManagerBase_104 *Create(void *param1, s32 saveSlotIndex);
};
class GameModeManagerBase : public SysObject {
public:
/* 000 (vtable) */
/* 004 */ GameModeManagerBase_004 mUnk_004;
/* 008 */ void *mUnk_008;
/* 00C */ unk8 mUnk_00C[0x0E0 - 0x00C];
/* 0E0 */ void *mUnk_0E0;
/* 0E4 */ void *mUnk_0E4;
/* 0E8 */ void *mUnk_0E8;
/* 0EC */ unk32 mUnk_0EC;
/* 0F0 */ unk32 mUnk_0F0;
/* 0F4 */ unk32 mUnk_0F4;
/* 0F8 */ unk32 mUnk_0F8;
/* 0FC */ unk32 mUnk_0FC;
/* 100 */ void *mUnk_100;
/* 104 */ GameModeManagerBase_104 mUnk_104;
/* 120 */ unk32 mUnk_120;
/* 124 */ unk32 mUnk_124;
/* 128 */ unk16 mUnk_128;
/* 12A */ unk16 mUnk_12A; // timer that resets after the touchscreen was touched
/* 12C */ unk32 mUnk_12C;
/* 130 */ unk8 mUnk_130;
/* 131 */ unk8 mUnk_131;
/* 132 */ u8 mUnk_132; // bool?
/* 133 */ unk8 mUnk_133;
/* 134 */ Vec3p mUnk_134; // position of where the touchscreen is touched
/* 140 */ unk32 mUnk_140;
/* 144 */ unk32 mUnk_144;
/* 148 */ unk32 mUnk_148;
/* 14C */ unk32 mUnk_14C;
/* 150 */ unk32 mUnk_150;
/* 154 */
GameModeManagerBase();
void func_0201875c(void);
void func_02018908(void);
void func_02018a14(unk32 param2);
void func_02018830(unk32 param2);
void func_02018984(unk32 param1);
// data_02044064 vtable
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual ~GameModeManagerBase();
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2, unk32 param3);
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1C */ virtual void vfunc_1C();
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28(unk32 param1);
/* 2C */ virtual void vfunc_2C(unk32 param1);
/* 30 */ virtual void vfunc_30();
/* 34 */ virtual void vfunc_34();
static GameModeManagerBase *Create(unk32 param1);
};