summaryrefslogtreecommitdiff
path: root/include/tables
diff options
context:
space:
mode:
authorAnghelo Carvajal <angheloalf95@gmail.com>2023-08-12 11:44:35 -0400
committerGitHub <noreply@github.com>2023-08-12 11:44:35 -0400
commit656fd08ee828024f5a0e888f293ca95b7a83cd64 (patch)
tree394a0e9870c1eb946187ef388b23596fcccde1c1 /include/tables
parent138dd55662181b7de82f003c6b46ba3d0611b258 (diff)
Gamestate table (#1354)
* gamestate_table.h * move macros * bss * format
Diffstat (limited to 'include/tables')
-rw-r--r--include/tables/gamestate_table.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/tables/gamestate_table.h b/include/tables/gamestate_table.h
new file mode 100644
index 000000000..958e2fa4a
--- /dev/null
+++ b/include/tables/gamestate_table.h
@@ -0,0 +1,17 @@
+/**
+ * Gamestate Table
+ *
+ * DEFINE_GAMESTATE should be used for gamestates with code loaded from an overlay
+ * - Argument 0: Gamestate type name (without State suffix, also used for Init and Destroy function names)
+ * - Argument 1: Gamestate id enum name
+ * - Argument 2: Gamestate overlay segment name without the `ovl_` prefix
+ *
+ * DEFINE_GAMESTATE_INTERNAL should be used for gamestates that aren't an overlay, the first two arguments are the same as for DEFINE_GAMESTATE
+ */
+/* 0x00 */ DEFINE_GAMESTATE_INTERNAL(Setup, GAMESTATE_SETUP)
+/* 0x01 */ DEFINE_GAMESTATE(MapSelect, GAMESTATE_MAP_SELECT, select)
+/* 0x02 */ DEFINE_GAMESTATE(ConsoleLogo, GAMESTATE_CONSOLE_LOGO, title)
+/* 0x03 */ DEFINE_GAMESTATE_INTERNAL(Play, GAMESTATE_PLAY)
+/* 0x04 */ DEFINE_GAMESTATE(TitleSetup, GAMESTATE_TITLE_SETUP, opening)
+/* 0x05 */ DEFINE_GAMESTATE(FileSelect, GAMESTATE_FILE_SELECT, file_choose)
+/* 0x06 */ DEFINE_GAMESTATE(DayTelop, GAMESTATE_DAYTELOP, daytelop)