2025-07-05 00:16:17 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "global.h"
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
|
|
#include "System/SysNew.hpp"
|
|
|
|
|
|
2025-07-06 11:03:12 +02:00
|
|
|
typedef unk32 GameModeId;
|
|
|
|
|
enum GameModeId_ {
|
|
|
|
|
GameModeId_Load = 0,
|
|
|
|
|
GameModeId_StartupScreen = 1,
|
|
|
|
|
GameModeId_Adventure = 2,
|
|
|
|
|
GameModeId_FileSelect = 3,
|
|
|
|
|
GameModeId_WFCSetup = 4,
|
|
|
|
|
GameModeId_DownloadPlay = 5,
|
|
|
|
|
GameModeId_Battle = 6,
|
|
|
|
|
GameModeId_Contact = 7
|
2025-07-05 19:06:04 +02:00
|
|
|
};
|
|
|
|
|
|
2025-07-05 00:16:17 +02:00
|
|
|
class GameMode : public SysObject {
|
|
|
|
|
public:
|
|
|
|
|
/* 000 (vtable) */
|
2025-07-06 11:03:12 +02:00
|
|
|
/* 004 */ GameModeId mModeId;
|
2025-07-05 00:16:17 +02:00
|
|
|
/* 008 */
|
|
|
|
|
|
|
|
|
|
/* 00 */ virtual ~GameMode();
|
2025-07-06 12:18:40 +02:00
|
|
|
/* 08 */ virtual GameModeId vfunc_08(bool param1) = 0;
|
2025-07-05 00:16:17 +02:00
|
|
|
/* 0c */ virtual void vfunc_0c(u16 *param1);
|
|
|
|
|
/* 10 */ virtual void vfunc_10(u16 *param1);
|
2025-07-06 12:18:40 +02:00
|
|
|
/* 14 */ virtual void vfunc_14(bool param1);
|
2025-07-05 00:16:17 +02:00
|
|
|
/* 18 */ virtual void vfunc_18();
|
|
|
|
|
/* 1c */
|
|
|
|
|
|
|
|
|
|
inline GameMode() {}
|
2025-07-06 11:03:12 +02:00
|
|
|
inline GameMode(GameModeId modeId) :
|
2025-07-05 19:06:04 +02:00
|
|
|
mModeId(modeId) {}
|
2025-07-05 00:16:17 +02:00
|
|
|
|
|
|
|
|
void func_0202c0b8();
|
|
|
|
|
};
|