mirror of
https://github.com/zeldaret/st
synced 2026-08-08 10:33:34 -04:00
Decompile MainSelect overlay (#8)
* Decompile MainSelect overlay (~90%) * cleanup * jp delinks * fixed build and linking errors
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeBase : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
GameModeBase();
|
||||
|
||||
// data_02044018 vtable
|
||||
/* 00 */ virtual ~GameModeBase();
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1, unk32 param2, unk32 param3);
|
||||
/* 0C */ virtual void vfunc_0C() = 0;
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 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 */
|
||||
|
||||
void func_02018374(void);
|
||||
};
|
||||
@@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
#include "FileSelect/FileSelect.hpp"
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "Unknown/UnkStruct_02049a2c.hpp"
|
||||
#include "Unknown/UnkStruct_02049bd4.hpp"
|
||||
#include "Unknown/UnkStruct_0204a110.hpp"
|
||||
|
||||
class GameModeFileSelect : public GameModeBase {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ UnkSystem1_ov019_Derived1 mUnk_04;
|
||||
/* 20 */ u16 mSaveSlotIndex;
|
||||
/* 20 */ unk16 mUnk_22;
|
||||
/* 24 */
|
||||
|
||||
GameModeFileSelect() NO_INLINE {
|
||||
this->mSaveSlotIndex = 0;
|
||||
data_02049bd4.func_02014cdc(2);
|
||||
data_02049bd4.mUnk_02 &= 0xFFFB;
|
||||
data_02049a2c.func_02013370(1);
|
||||
data_0204999c.mUnk_60 = 0xD6D8;
|
||||
data_ov000_020b504c.func_ov001_020be668();
|
||||
data_0204a110.func_ov001_020bd514(2, FileSelectManager::Create, 0, 1);
|
||||
}
|
||||
|
||||
void LoadAdventureMode(u16 saveSlotIndex);
|
||||
void LoadBattleMode(u16 saveSlotIndex);
|
||||
void LoadContactMode(u16 saveSlotIndex);
|
||||
|
||||
// data_ov019_020d1d8c vtable
|
||||
/* 00 */ virtual ~GameModeFileSelect() override;
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 30 */
|
||||
|
||||
static GameModeFileSelect *Create();
|
||||
};
|
||||
@@ -0,0 +1,118 @@
|
||||
#pragma once
|
||||
|
||||
#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, unk32 param3);
|
||||
};
|
||||
|
||||
class GameModeManagerBase_104_04 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ void *mUnk_04;
|
||||
|
||||
void func_020166ac(void);
|
||||
void func_020166cc(void *param1);
|
||||
};
|
||||
|
||||
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();
|
||||
};
|
||||
|
||||
class GameModeManagerBase_104 : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ GameModeManagerBase_104_04 mUnk_04;
|
||||
/* 0C */ GameModeManagerBase_104_0C mUnk_0C;
|
||||
/* 18 */ u32 mUnk_18;
|
||||
/* 1C */
|
||||
|
||||
GameModeManagerBase_104();
|
||||
|
||||
// data_ov000_020b1e60 vtable
|
||||
/* 00 */ virtual ~GameModeManagerBase_104();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 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);
|
||||
};
|
||||
Reference in New Issue
Block a user