#pragma once #include "Game/GameMode.hpp" #include "Game/GameModeManager.hpp" #include "LinkList.hpp" #include "System/SysNew.hpp" #include "Unknown/Common.hpp" #include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "types.h" class GameModeFileSelect; class UnkStruct_0204a060_Base2 : public LinkList { public: /* 00 (vtable) */ /* 04 (base) */ /* 0C */ bool mUnk_0C; /* 0D */ unk8 mUnk_0D; /* 0E */ unk8 mUnk_0E; /* 0F */ unk8 mUnk_0F; /* 10 */ unk16 mUnk_10; /* 12 */ unk16 mUnk_12; /* 14 */ UnkStruct_0204a060_Base2(); // data_020440f4 vtable /* 00 */ virtual ~UnkStruct_0204a060_Base2() override; /* 08 */ virtual bool vfunc_08(unk32 param1); /* 0C */ void func_0201ba68(); }; class UnkStruct_0204a060_Base3 : public UnkStruct_0204a060_Base2 { public: /* 00 (base) */ UnkStruct_0204a060_Base3(); }; class UnkStruct_0204a060_Base : public UnkStruct_0204a060_Base2 { public: /* 00 (base) */ /* 14 */ unk32 mUnk_14; /* 18 */ bool mUnk_18; /* 19 */ bool mUnk_19; /* 1A */ u16 mUnk_1A; /* 1C */ unk16 mUnk_1C; /* 1E */ unk16 mUnk_1E; /* 20 */ unk16 mUnk_20; /* 22 */ unk16 mUnk_22; /* 24 */ UnkStruct_0204a060_Base(); void func_0201bb84(unk32 param1, unk32 param2, unk32 param3); void func_0201bba4(unk32 param1, unk32 param2); void func_0201bbcc(unk32 param1, unk32 param2); // data_02044108 vtable /* 00 */ WEAK virtual ~UnkStruct_0204a060_Base() override {} /* 08 */ virtual bool vfunc_08(unk32 param1) override; /* 0C */ virtual bool vfunc_0C(void); /* 10 */ virtual bool vfunc_10(void); /* 14 */ }; class UnkStruct_0204a060 : public UnkStruct_0204a060_Base { public: /* 00 (base) */ /* 24 */ GameModeCreateCallback createCallback; UnkStruct_0204a060(); void func_020183c0(void); bool func_020183d4(bool param1, GameModeCreateCallback createFunc, unk32 param3); static GameModeFileSelect *func_02018424(void); // 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;