2020-10-03 15:22:44 +00:00
|
|
|
#include "global.h"
|
2020-04-04 16:12:59 +00:00
|
|
|
|
2023-07-04 16:36:55 +00:00
|
|
|
// Linker symbol declarations (used in the table below)
|
|
|
|
#define DEFINE_GAMESTATE(typeName, enumName, name) DECLARE_OVERLAY_SEGMENT(name)
|
|
|
|
#define DEFINE_GAMESTATE_INTERNAL(typeName, enumName)
|
|
|
|
|
|
|
|
#include "tables/gamestate_table.h"
|
|
|
|
|
|
|
|
#undef DEFINE_GAMESTATE
|
|
|
|
#undef DEFINE_GAMESTATE_INTERNAL
|
|
|
|
|
|
|
|
// Gamestate Overlay Table definition
|
|
|
|
#define DEFINE_GAMESTATE_INTERNAL(typeName, enumName) \
|
|
|
|
{ NULL, 0, 0, NULL, NULL, NULL, typeName##_Init, typeName##_Destroy, NULL, NULL, 0, sizeof(typeName##State) },
|
|
|
|
|
|
|
|
#define DEFINE_GAMESTATE(typeName, enumName, name) \
|
|
|
|
{ NULL, \
|
|
|
|
(uintptr_t)_ovl_##name##SegmentRomStart, \
|
|
|
|
(uintptr_t)_ovl_##name##SegmentRomEnd, \
|
|
|
|
_ovl_##name##SegmentStart, \
|
|
|
|
_ovl_##name##SegmentEnd, \
|
|
|
|
NULL, \
|
|
|
|
typeName##_Init, \
|
|
|
|
typeName##_Destroy, \
|
|
|
|
NULL, \
|
|
|
|
NULL, \
|
|
|
|
0, \
|
|
|
|
sizeof(typeName##State) },
|
2020-04-04 16:12:59 +00:00
|
|
|
|
2020-04-04 16:38:05 +00:00
|
|
|
GameStateOverlay gGameStateOverlayTable[] = {
|
2023-07-04 16:36:55 +00:00
|
|
|
#include "tables/gamestate_table.h"
|
2020-04-04 16:38:05 +00:00
|
|
|
};
|
2023-07-04 16:36:55 +00:00
|
|
|
|
|
|
|
#undef DEFINE_GAMESTATE
|
|
|
|
#undef DEFINE_GAMESTATE_INTERNAL
|