diff --git a/src/m_menu.c b/src/m_menu.c index a7ef7f582..b16083695 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1473,12 +1473,11 @@ static menuitem_t OP_MonitorToggleMenu[] = // ========================================================================== // Main Menu and related -menu_t MainDef = CENTERMENUSTYLE(MM_MAIN, 0, NULL, MainMenu, NULL, 72); +menu_t MainDef = CENTERMENUSTYLE(MM_MAIN, NULL, MainMenu, NULL, 72); menu_t MISC_AddonsDef = { MM_AD_MAIN, - 0, NULL, sizeof (MISC_AddonsMenu)/sizeof (menuitem_t), &MainDef, @@ -1494,14 +1493,13 @@ menu_t SPauseDef = PAUSEMENUSTYLE(SPauseMenu, 40, 72); menu_t MPauseDef = PAUSEMENUSTYLE(MPauseMenu, 40, 72); // Misc Main Menu -menu_t MISC_ScrambleTeamDef = DEFAULTMENUSTYLE(0, 0, NULL, MISC_ScrambleTeamMenu, &MPauseDef, 27, 40); -menu_t MISC_ChangeTeamDef = DEFAULTMENUSTYLE(0, 0, NULL, MISC_ChangeTeamMenu, &MPauseDef, 27, 40); +menu_t MISC_ScrambleTeamDef = DEFAULTMENUSTYLE(MM_SPECIAL, NULL, MISC_ScrambleTeamMenu, &MPauseDef, 27, 40); +menu_t MISC_ChangeTeamDef = DEFAULTMENUSTYLE(MM_SPECIAL, NULL, MISC_ChangeTeamMenu, &MPauseDef, 27, 40); // MP Gametype and map change menu menu_t MISC_ChangeLevelDef = { - 0, - 0, + MM_SPECIAL, NULL, sizeof (MISC_ChangeLevelMenu)/sizeof (menuitem_t), &MainDef, // Doesn't matter. @@ -1517,8 +1515,7 @@ menu_t MISC_HelpDef = IMAGEDEF(MISC_HelpMenu); // Sky Room menu_t SR_PandoraDef = { - MM_SR_MAIN|MM_SR_PANDORA, - 0, + MM_SR_MAIN + (MM_SR_PANDORA << 6), "M_PANDRA", sizeof (SR_PandorasBox)/sizeof (menuitem_t), &SPauseDef, @@ -1531,7 +1528,6 @@ menu_t SR_PandoraDef = menu_t SR_MainDef = { MM_SR_MAIN, - 0, "M_SECRET", sizeof (SR_MainMenu)/sizeof (menuitem_t), &MainDef, @@ -1542,12 +1538,13 @@ menu_t SR_MainDef = NULL }; -menu_t SR_LevelSelectDef = MAPPLATTERMENUSTYLE(MM_SR_MAIN|MM_SR_LEVELSELECT, 0, NULL, SR_LevelSelectMenu); +menu_t SR_LevelSelectDef = MAPPLATTERMENUSTYLE( + MM_SR_MAIN + (MM_SR_LEVELSELECT << 6), + NULL, SR_LevelSelectMenu); menu_t SR_UnlockChecklistDef = { - MM_SR_MAIN|MM_SR_UNLOCKCHECKLIST, - 0, + MM_SR_MAIN + (MM_SR_UNLOCKCHECKLIST << 6), "M_SECRET", 1, &SR_MainDef, @@ -1559,8 +1556,7 @@ menu_t SR_UnlockChecklistDef = }; menu_t SR_EmblemHintDef = { - MM_SR_MAIN|MM_SR_EMBLEMHINT, - 0, + MM_SR_MAIN + (MM_SR_EMBLEMHINT << 6), NULL, sizeof (SR_EmblemHintMenu)/sizeof (menuitem_t), &SPauseDef, @@ -1575,7 +1571,6 @@ menu_t SR_EmblemHintDef = menu_t SP_MainDef = //CENTERMENUSTYLE(NULL, SP_MainMenu, &MainDef, 72); { MM_SP_MAIN, - 0, NULL, sizeof(SP_MainMenu)/sizeof(menuitem_t), &MainDef, @@ -1588,8 +1583,7 @@ menu_t SP_MainDef = //CENTERMENUSTYLE(NULL, SP_MainMenu, &MainDef, 72); menu_t SP_LoadDef = { - MM_SP_MAIN|MM_SP_LOAD, - 0, + MM_SP_MAIN + (MM_SP_LOAD << 6), "M_PICKG", 1, &SP_MainDef, @@ -1600,12 +1594,13 @@ menu_t SP_LoadDef = NULL }; -menu_t SP_LevelSelectDef = MAPPLATTERMENUSTYLE(MM_SP_MAIN|MM_SP_LOAD|MM_SP_LEVELSELECT, 0, NULL, SP_LevelSelectMenu); +menu_t SP_LevelSelectDef = MAPPLATTERMENUSTYLE( + MM_SP_MAIN + (MM_SP_LOAD << 6) + (MM_SP_PLAYER << 12) + (MM_SP_LEVELSELECT << 18), + NULL, SP_LevelSelectMenu); menu_t SP_LevelStatsDef = { - MM_SP_MAIN|MM_SP_LEVELSTATS, - 0, + MM_SP_MAIN + (MM_SP_LEVELSTATS << 6), "M_STATS", 1, &SP_MainDef, @@ -1616,12 +1611,13 @@ menu_t SP_LevelStatsDef = NULL }; -menu_t SP_TimeAttackLevelSelectDef = MAPPLATTERMENUSTYLE(MM_SP_MAIN|MM_SP_TIMEATTACK|MM_SP_TIMEATTACK_LEVELSELECT, 0, "M_ATTACK", SP_TimeAttackLevelSelectMenu); +menu_t SP_TimeAttackLevelSelectDef = MAPPLATTERMENUSTYLE( + MM_SP_MAIN + (MM_SP_TIMEATTACK << 6) + (MM_SP_TIMEATTACK_LEVELSELECT << 12), + "M_ATTACK", SP_TimeAttackLevelSelectMenu); static menu_t SP_TimeAttackDef = { - MM_SP_MAIN|MM_SP_TIMEATTACK, - 0, + MM_SP_MAIN + (MM_SP_TIMEATTACK << 6), "M_ATTACK", sizeof (SP_TimeAttackMenu)/sizeof (menuitem_t), &MainDef, // Doesn't matter. @@ -1633,8 +1629,7 @@ static menu_t SP_TimeAttackDef = }; static menu_t SP_ReplayDef = { - MM_SP_MAIN|MM_SP_TIMEATTACK|MM_SP_REPLAY, - 0, + MM_SP_MAIN + (MM_SP_TIMEATTACK << 6) + (MM_SP_REPLAY << 12), "M_ATTACK", sizeof(SP_ReplayMenu)/sizeof(menuitem_t), &SP_TimeAttackDef, @@ -1646,8 +1641,7 @@ static menu_t SP_ReplayDef = }; static menu_t SP_GuestReplayDef = { - MM_SP_MAIN|MM_SP_TIMEATTACK|MM_SP_GUESTREPLAY, - 0, + MM_SP_MAIN + (MM_SP_TIMEATTACK << 6) + (MM_SP_GUESTREPLAY << 12), "M_ATTACK", sizeof(SP_GuestReplayMenu)/sizeof(menuitem_t), &SP_TimeAttackDef, @@ -1659,8 +1653,7 @@ static menu_t SP_GuestReplayDef = }; static menu_t SP_GhostDef = { - MM_SP_MAIN|MM_SP_TIMEATTACK|MM_SP_GHOST, - 0, + MM_SP_MAIN + (MM_SP_TIMEATTACK << 6) + (MM_SP_GHOST << 12), "M_ATTACK", sizeof(SP_GhostMenu)/sizeof(menuitem_t), &SP_TimeAttackDef, @@ -1671,12 +1664,13 @@ static menu_t SP_GhostDef = NULL }; -menu_t SP_NightsAttackLevelSelectDef = MAPPLATTERMENUSTYLE(MM_SP_MAIN|MM_SP_NIGHTSATTACK|MM_SP_NIGHTSATTACK_LEVELSELECT, 0, "M_NIGHTS", SP_NightsAttackLevelSelectMenu); +menu_t SP_NightsAttackLevelSelectDef = MAPPLATTERMENUSTYLE( + MM_SP_MAIN + (MM_SP_NIGHTSATTACK << 6) + (MM_SP_NIGHTS_LEVELSELECT << 12), + "M_NIGHTS", SP_NightsAttackLevelSelectMenu); static menu_t SP_NightsAttackDef = { - MM_SP_MAIN|MM_SP_NIGHTSATTACK, - 0, + MM_SP_MAIN + (MM_SP_NIGHTSATTACK << 6), "M_NIGHTS", sizeof (SP_NightsAttackMenu)/sizeof (menuitem_t), &MainDef, // Doesn't matter. @@ -1688,8 +1682,7 @@ static menu_t SP_NightsAttackDef = }; static menu_t SP_NightsReplayDef = { - MM_SP_MAIN|MM_SP_NIGHTSATTACK|MM_SP_NIGHTS_REPLAY, - 0, + MM_SP_MAIN + (MM_SP_NIGHTSATTACK << 6) + (MM_SP_NIGHTS_REPLAY << 12), "M_NIGHTS", sizeof(SP_NightsReplayMenu)/sizeof(menuitem_t), &SP_NightsAttackDef, @@ -1701,8 +1694,7 @@ static menu_t SP_NightsReplayDef = }; static menu_t SP_NightsGuestReplayDef = { - MM_SP_MAIN|MM_SP_NIGHTSATTACK|MM_SP_NIGHTS_GUESTREPLAY, - 0, + MM_SP_MAIN + (MM_SP_NIGHTSATTACK << 6) + (MM_SP_NIGHTS_GUESTREPLAY << 12), "M_NIGHTS", sizeof(SP_NightsGuestReplayMenu)/sizeof(menuitem_t), &SP_NightsAttackDef, @@ -1714,8 +1706,7 @@ static menu_t SP_NightsGuestReplayDef = }; static menu_t SP_NightsGhostDef = { - MM_SP_MAIN|MM_SP_NIGHTSATTACK|MM_SP_NIGHTS_GHOST, - 0, + MM_SP_MAIN + (MM_SP_NIGHTSATTACK << 6) + (MM_SP_NIGHTS_GHOST << 12), "M_NIGHTS", sizeof(SP_NightsGhostMenu)/sizeof(menuitem_t), &SP_NightsAttackDef, @@ -1729,8 +1720,7 @@ static menu_t SP_NightsGhostDef = menu_t SP_PlayerDef = { - MM_SP_MAIN|MM_SP_LOAD|MM_SP_PLAYER, - 0, + MM_SP_MAIN + (MM_SP_LOAD << 6) + (MM_SP_PLAYER << 12), "M_PICKP", sizeof (SP_PlayerMenu)/sizeof (menuitem_t), &SP_MainDef, @@ -1745,8 +1735,7 @@ menu_t SP_PlayerDef = menu_t MP_SplitServerDef = { - MM_MP_MAIN|MM_MP_SPLITSCREEN, - 0, + MM_MP_MAIN + (MM_MP_SPLITSCREEN << 6), "M_MULTI", sizeof (MP_SplitServerMenu)/sizeof (menuitem_t), #ifndef NONET @@ -1766,7 +1755,6 @@ menu_t MP_SplitServerDef = menu_t MP_MainDef = { MM_MP_MAIN, - 0, "M_MULTI", sizeof (MP_MainMenu)/sizeof (menuitem_t), &MainDef, @@ -1779,8 +1767,7 @@ menu_t MP_MainDef = menu_t MP_ServerDef = { - MM_MP_MAIN|MM_MP_SERVER, - 0, + MM_MP_MAIN + (MM_MP_SERVER << 6), "M_MULTI", sizeof (MP_ServerMenu)/sizeof (menuitem_t), &MP_MainDef, @@ -1793,8 +1780,7 @@ menu_t MP_ServerDef = menu_t MP_ConnectDef = { - MM_MP_MAIN|MM_MP_CONNECT, - 0, + MM_MP_MAIN + (MM_MP_CONNECT << 6), "M_MULTI", sizeof (MP_ConnectMenu)/sizeof (menuitem_t), &MP_MainDef, @@ -1807,8 +1793,7 @@ menu_t MP_ConnectDef = menu_t MP_RoomDef = { - MM_MP_MAIN|MM_MP_ROOM, - 0, + MM_MP_MAIN + (MM_MP_ROOM << 6), "M_MULTI", sizeof (MP_RoomMenu)/sizeof (menuitem_t), &MP_ConnectDef, @@ -1822,8 +1807,11 @@ menu_t MP_RoomDef = menu_t MP_PlayerSetupDef = { - MM_MP_MAIN|MM_MP_PLAYERSETUP, - 0, +#ifdef NONET + MM_MP_MAIN + (MM_MP_SPLITSCREEN << 6) + (MM_MP_PLAYERSETUP << 12), +#else + MM_MP_MAIN + (MM_MP_PLAYERSETUP << 6), +#endif "M_SPLAYR", sizeof (MP_PlayerSetupMenu)/sizeof (menuitem_t), &MainDef, // doesn't matter @@ -1835,18 +1823,33 @@ menu_t MP_PlayerSetupDef = }; // Options -menu_t OP_MainDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN, "M_OPTTTL", OP_MainMenu, &MainDef, 50, 30); -menu_t OP_ChangeControlsDef = CONTROLMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_CHANGECONTROLS, OP_ChangeControlsMenu, &OP_MainDef); -menu_t OP_P1ControlsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_P1CONTROLS, "M_CONTRO", OP_P1ControlsMenu, &OP_MainDef, 50, 30); -menu_t OP_P2ControlsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_P2CONTROLS, "M_CONTRO", OP_P2ControlsMenu, &OP_MainDef, 50, 30); -menu_t OP_MouseOptionsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_P1CONTROLS|MM2_OP_P1MOUSE, "M_CONTRO", OP_MouseOptionsMenu, &OP_P1ControlsDef, 35, 30); -menu_t OP_Mouse2OptionsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_P2CONTROLS|MM2_OP_P2MOUSE, "M_CONTRO", OP_Mouse2OptionsMenu, &OP_P2ControlsDef, 35, 30); -menu_t OP_Joystick1Def = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_P1CONTROLS|MM2_OP_P1JOYSTICK, "M_CONTRO", OP_Joystick1Menu, &OP_P1ControlsDef, 50, 30); -menu_t OP_Joystick2Def = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_P2CONTROLS|MM2_OP_P2JOYSTICK, "M_CONTRO", OP_Joystick2Menu, &OP_P2ControlsDef, 50, 30); +menu_t OP_MainDef = DEFAULTMENUSTYLE( + MM_OP_MAIN, + "M_OPTTTL", OP_MainMenu, &MainDef, 50, 30); +menu_t OP_ChangeControlsDef = CONTROLMENUSTYLE( + MM_OP_MAIN + (MM_OP_CHANGECONTROLS << 12), // second level (<<6) set on runtime + OP_ChangeControlsMenu, &OP_MainDef); +menu_t OP_P1ControlsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_P1CONTROLS << 6), + "M_CONTRO", OP_P1ControlsMenu, &OP_MainDef, 50, 30); +menu_t OP_P2ControlsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_P2CONTROLS << 6), + "M_CONTRO", OP_P2ControlsMenu, &OP_MainDef, 50, 30); +menu_t OP_MouseOptionsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_P1CONTROLS << 6) + (MM_OP_P1MOUSE << 12), + "M_CONTRO", OP_MouseOptionsMenu, &OP_P1ControlsDef, 35, 30); +menu_t OP_Mouse2OptionsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_P2CONTROLS << 6) + (MM_OP_P2MOUSE << 12), + "M_CONTRO", OP_Mouse2OptionsMenu, &OP_P2ControlsDef, 35, 30); +menu_t OP_Joystick1Def = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_P1CONTROLS << 6) + (MM_OP_P1JOYSTICK << 12), + "M_CONTRO", OP_Joystick1Menu, &OP_P1ControlsDef, 50, 30); +menu_t OP_Joystick2Def = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_P2CONTROLS << 6) + (MM_OP_P2JOYSTICK << 12), + "M_CONTRO", OP_Joystick2Menu, &OP_P2ControlsDef, 50, 30); menu_t OP_JoystickSetDef = { - 0, - MM2_OP_MAIN|MM2_OP_JOYSTICKSET, + MM_OP_MAIN + (MM_OP_JOYSTICKSET << 12), // second level (<<6) set on runtime "M_CONTRO", sizeof (OP_JoystickSetMenu)/sizeof (menuitem_t), &OP_Joystick1Def, @@ -1859,8 +1862,7 @@ menu_t OP_JoystickSetDef = menu_t OP_VideoOptionsDef = { - 0, - MM2_OP_MAIN|MM2_OP_VIDEO, + MM_OP_MAIN + (MM_OP_VIDEO << 6), "M_VIDEO", sizeof (OP_VideoOptionsMenu)/sizeof (menuitem_t), &OP_MainDef, @@ -1872,8 +1874,7 @@ menu_t OP_VideoOptionsDef = }; menu_t OP_VideoModeDef = { - 0, - MM2_OP_MAIN|MM2_OP_VIDEO|MM2_OP_VIDEOMODE, + MM_OP_MAIN + (MM_OP_VIDEO << 6) + (MM_OP_VIDEOMODE << 12), "M_VIDEO", 1, &OP_VideoOptionsDef, @@ -1885,8 +1886,7 @@ menu_t OP_VideoModeDef = }; menu_t OP_ColorOptionsDef = { - 0, - MM2_OP_MAIN|MM2_OP_VIDEO|MM2_OP_COLOR, + MM_OP_MAIN + (MM_OP_VIDEO << 6) + (MM_OP_COLOR << 12), "M_VIDEO", sizeof (OP_ColorOptionsMenu)/sizeof (menuitem_t), &OP_VideoOptionsDef, @@ -1898,8 +1898,7 @@ menu_t OP_ColorOptionsDef = }; menu_t OP_SoundOptionsDef = { - 0, - MM2_OP_MAIN|MM2_OP_SOUND, + MM_OP_MAIN + (MM_OP_SOUND << 6), "M_SOUND", sizeof (OP_SoundOptionsMenu)/sizeof (menuitem_t), &OP_MainDef, @@ -1910,12 +1909,13 @@ menu_t OP_SoundOptionsDef = NULL }; -menu_t OP_ServerOptionsDef = DEFAULTSCROLLMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_SERVER, "M_SERVER", OP_ServerOptionsMenu, &OP_MainDef, 30, 30); +menu_t OP_ServerOptionsDef = DEFAULTSCROLLMENUSTYLE( + MM_OP_MAIN + (MM_OP_SERVER << 6), + "M_SERVER", OP_ServerOptionsMenu, &OP_MainDef, 30, 30); menu_t OP_MonitorToggleDef = { - 0, - MM2_OP_MAIN|MM2_OP_SERVER|MM2_OP_MONITORTOGGLE, + MM_OP_MAIN + (MM_OP_SERVER << 6) + (MM_OP_MONITORTOGGLE << 12), "M_SERVER", sizeof (OP_MonitorToggleMenu)/sizeof (menuitem_t), &OP_ServerOptionsDef, @@ -1927,14 +1927,17 @@ menu_t OP_MonitorToggleDef = }; #ifdef HWRENDER -menu_t OP_OpenGLOptionsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_VIDEO|MM2_OP_OPENGL, "M_VIDEO", OP_OpenGLOptionsMenu, &OP_VideoOptionsDef, 30, 30); +menu_t OP_OpenGLOptionsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_VIDEO << 6) + (MM_OP_OPENGL << 12), + "M_VIDEO", OP_OpenGLOptionsMenu, &OP_VideoOptionsDef, 30, 30); #ifdef ALAM_LIGHTING -menu_t OP_OpenGLLightingDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_VIDEO|MM2_OP_OPENGL|MM2_OP_OPENGL_LIGHTING, "M_VIDEO", OP_OpenGLLightingMenu, &OP_OpenGLOptionsDef, 60, 40); +menu_t OP_OpenGLLightingDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_VIDEO << 6) + (MM_OP_OPENGL << 12) + (MM_OP_OPENGL_LIGHTING << 18), + "M_VIDEO", OP_OpenGLLightingMenu, &OP_OpenGLOptionsDef, 60, 40); #endif menu_t OP_OpenGLFogDef = { - 0, - MM2_OP_MAIN|MM2_OP_VIDEO|MM2_OP_OPENGL|MM2_OP_OPENGL_FOG, + MM_OP_MAIN + (MM_OP_VIDEO << 6) + (MM_OP_OPENGL << 12) + (MM_OP_OPENGL_FOG << 18), "M_VIDEO", sizeof (OP_OpenGLFogMenu)/sizeof (menuitem_t), &OP_OpenGLOptionsDef, @@ -1946,8 +1949,7 @@ menu_t OP_OpenGLFogDef = }; menu_t OP_OpenGLColorDef = { - 0, - MM2_OP_MAIN|MM2_OP_VIDEO|MM2_OP_OPENGL|MM2_OP_OPENGL_COLOR, + MM_OP_MAIN + (MM_OP_VIDEO << 6) + (MM_OP_OPENGL << 12) + (MM_OP_OPENGL_COLOR << 18), "M_VIDEO", sizeof (OP_OpenGLColorMenu)/sizeof (menuitem_t), &OP_OpenGLOptionsDef, @@ -1958,12 +1960,13 @@ menu_t OP_OpenGLColorDef = NULL }; #endif -menu_t OP_DataOptionsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_DATA, "M_DATA", OP_DataOptionsMenu, &OP_MainDef, 60, 30); +menu_t OP_DataOptionsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_DATA << 6), + "M_DATA", OP_DataOptionsMenu, &OP_MainDef, 60, 30); menu_t OP_ScreenshotOptionsDef = { - 0, - MM2_OP_MAIN|MM2_OP_DATA|MM2_OP_SCREENSHOTS, + MM_OP_MAIN + (MM_OP_DATA << 6) + (MM_OP_SCREENSHOTS << 12), "M_DATA", sizeof (OP_ScreenshotOptionsMenu)/sizeof (menuitem_t), &OP_DataOptionsDef, @@ -1974,9 +1977,13 @@ menu_t OP_ScreenshotOptionsDef = NULL }; -menu_t OP_AddonsOptionsDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_DATA|MM2_OP_ADDONS, "M_ADDONS", OP_AddonsOptionsMenu, &OP_DataOptionsDef, 30, 30); +menu_t OP_AddonsOptionsDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_DATA << 6) + (MM_OP_ADDONS << 12), + "M_ADDONS", OP_AddonsOptionsMenu, &OP_DataOptionsDef, 30, 30); -menu_t OP_EraseDataDef = DEFAULTMENUSTYLE(0, MM2_OP_MAIN|MM2_OP_DATA|MM2_OP_ERASEDATA, "M_DATA", OP_EraseDataMenu, &OP_DataOptionsDef, 60, 30); +menu_t OP_EraseDataDef = DEFAULTMENUSTYLE( + MM_OP_MAIN + (MM_OP_DATA << 6) + (MM_OP_ERASEDATA << 12), + "M_DATA", OP_EraseDataMenu, &OP_DataOptionsDef, 60, 30); // ========================================================================== // CVAR ONCHANGE EVENTS GO HERE @@ -4582,8 +4589,7 @@ static menuitem_t MessageMenu[] = menu_t MessageDef = { - 0, - 0, + MM_SPECIAL, NULL, // title 1, // # of menu items NULL, // previous menu (TO HACK) diff --git a/src/m_menu.h b/src/m_menu.h index 26c2ce318..ae438a054 100644 --- a/src/m_menu.h +++ b/src/m_menu.h @@ -26,97 +26,95 @@ // Menu IDs sectioned by numeric places to signify hierarchy typedef enum { - MM_MAIN = 1, + MM_NONE, + + MM_MAIN, // Single Player - MM_SP_MAIN = 1<<1, + MM_SP_MAIN, - MM_SP_LOAD = 1<<2, - MM_SP_PLAYER = 1<<3, + MM_SP_LOAD, + MM_SP_PLAYER, - MM_SP_LEVELSELECT = 1<<4, - MM_SP_LEVELSTATS = 1<<5, + MM_SP_LEVELSELECT, + MM_SP_LEVELSTATS, - MM_SP_TIMEATTACK = 1<<6, - MM_SP_TIMEATTACK_LEVELSELECT = 1<<7, - MM_SP_GUESTREPLAY = 1<<8, - MM_SP_REPLAY = 1<<9, - MM_SP_GHOST = 1<<10, + MM_SP_TIMEATTACK, + MM_SP_TIMEATTACK_LEVELSELECT, + MM_SP_GUESTREPLAY, + MM_SP_REPLAY, + MM_SP_GHOST, - MM_SP_NIGHTSATTACK = 1<<11, - MM_SP_NIGHTSATTACK_LEVELSELECT = 1<<12, - MM_SP_NIGHTS_GUESTREPLAY = 1<<13, - MM_SP_NIGHTS_REPLAY = 1<<14, - MM_SP_NIGHTS_GHOST = 1<<15, + MM_SP_NIGHTSATTACK, + MM_SP_NIGHTS_LEVELSELECT, + MM_SP_NIGHTS_GUESTREPLAY, + MM_SP_NIGHTS_REPLAY, + MM_SP_NIGHTS_GHOST, // Multiplayer - MM_MP_MAIN = 1<<16, - MM_MP_SPLITSCREEN = 1<<17, // SplitServer - MM_MP_SERVER = 1<<18, - MM_MP_CONNECT = 1<<19, - MM_MP_ROOM = 1<<20, - MM_MP_PLAYERSETUP = 1<<21, // MP_PlayerSetupDef shared with SPLITSCREEN if #defined NONET + MM_MP_MAIN, + MM_MP_SPLITSCREEN, // SplitServer + MM_MP_SERVER, + MM_MP_CONNECT, + MM_MP_ROOM, + MM_MP_PLAYERSETUP, // MP_PlayerSetupDef shared with SPLITSCREEN if #defined NONET + + // Options + MM_OP_MAIN, + + MM_OP_P1CONTROLS, + MM_OP_CHANGECONTROLS, // OP_ChangeControlsDef shared with P2 + MM_OP_P1MOUSE, + MM_OP_P1JOYSTICK, + MM_OP_JOYSTICKSET, // OP_JoystickSetDef shared with P2 + + MM_OP_P2CONTROLS, + MM_OP_P2MOUSE, + MM_OP_P2JOYSTICK, + + MM_OP_VIDEO, + MM_OP_VIDEOMODE, + MM_OP_COLOR, + MM_OP_OPENGL, + MM_OP_OPENGL_LIGHTING, + MM_OP_OPENGL_FOG, + MM_OP_OPENGL_COLOR, + + MM_OP_SOUND, + + MM_OP_SERVER, + MM_OP_MONITORTOGGLE, + + MM_OP_DATA, + MM_OP_ADDONS, + MM_OP_SCREENSHOTS, + MM_OP_ERASEDATA, // Secrets - MM_SR_MAIN = 1<<22, - MM_SR_PANDORA = 1<<23, - MM_SR_LEVELSELECT = 1<<24, - MM_SR_UNLOCKCHECKLIST = 1<<25, - MM_SR_EMBLEMHINT = 1<<26, + MM_SR_MAIN, + MM_SR_PANDORA, + MM_SR_LEVELSELECT, + MM_SR_UNLOCKCHECKLIST, + MM_SR_EMBLEMHINT, // Addons (Part of MISC, but let's make it our own) - MM_AD_MAIN = 1<<27, - - MM_ALL = 1<<28, + MM_AD_MAIN, // MISC - // MM_MESSAGE = 20000, - // MM_SPAUSE = 30000, + // MM_MESSAGE, + // MM_SPAUSE, - // MM_MPAUSE = 40000, - // MM_SCRAMBLETEAM = 41000, - // MM_CHANGETEAM = 42000, - // MM_CHANGELEVEL = 43000, + // MM_MPAUSE, + // MM_SCRAMBLETEAM, + // MM_CHANGETEAM, + // MM_CHANGELEVEL, - // MM_MAPAUSE = 50000, - // MM_HELP = 60000 -} menutype_t; // up to 1<<31 + // MM_MAPAUSE, + // MM_HELP, -typedef enum -{ - // Options - MM2_OP_MAIN = 1, - - MM2_OP_P1CONTROLS = 1<<1, - MM2_OP_CHANGECONTROLS = 1<<2, // OP_ChangeControlsDef shared with P2 - MM2_OP_P1MOUSE = 1<<3, - MM2_OP_P1JOYSTICK = 1<<4, - MM2_OP_JOYSTICKSET = 1<<5, // OP_JoystickSetDef shared with P2 - - MM2_OP_P2CONTROLS = 1<<6, - MM2_OP_P2MOUSE = 1<<7, - MM2_OP_P2JOYSTICK = 1<<8, - - MM2_OP_VIDEO = 1<<9, - MM2_OP_VIDEOMODE = 1<<10, - MM2_OP_COLOR = 1<<11, - MM2_OP_OPENGL = 1<<12, - MM2_OP_OPENGL_LIGHTING = 1<<13, - MM2_OP_OPENGL_FOG = 1<<14, - MM2_OP_OPENGL_COLOR = 1<<15, - - MM2_OP_SOUND = 1<<16, - - MM2_OP_SERVER = 1<<17, - MM2_OP_MONITORTOGGLE = 1<<18, - - MM2_OP_DATA = 1<<19, - MM2_OP_ADDONS = 1<<20, - MM2_OP_SCREENSHOTS = 1<<21, - MM2_OP_ERASEDATA = 1<<22, - - MM2_ALL = 1<<23 -} menutype2_t; // up to 1<<31 + MM_SPECIAL, + NUM_MM, +} menutype_t; // up to 63; MM_SPECIAL = 53 // Called by main loop, @@ -250,8 +248,7 @@ typedef struct menuitem_s typedef struct menu_s { - UINT32 menutype; // Flags to encode ID and hierarchy - UINT32 menutype2; // More flags to encode ID and hierarchy + UINT32 menuid; // ID to encode menu type and hierarchy const char *menutitlepic; INT16 numitems; // # of menu items struct menu_s *prevMenu; // previous menu @@ -356,10 +353,9 @@ void Screenshot_option_Onchange(void); void Addons_option_Onchange(void); // These defines make it a little easier to make menus -#define DEFAULTMENUSTYLE(flags, flags2, header, source, prev, x, y)\ +#define DEFAULTMENUSTYLE(id, header, source, prev, x, y)\ {\ - flags,\ - flags2,\ + id,\ header,\ sizeof(source)/sizeof(menuitem_t),\ prev,\ @@ -370,10 +366,9 @@ void Addons_option_Onchange(void); NULL\ } -#define DEFAULTSCROLLMENUSTYLE(flags, flags2, header, source, prev, x, y)\ +#define DEFAULTSCROLLMENUSTYLE(id, header, source, prev, x, y)\ {\ - flags,\ - flags2,\ + id,\ header,\ sizeof(source)/sizeof(menuitem_t),\ prev,\ @@ -386,8 +381,7 @@ void Addons_option_Onchange(void); #define PAUSEMENUSTYLE(source, x, y)\ {\ - 0,\ - 0,\ + MM_SPECIAL,\ NULL,\ sizeof(source)/sizeof(menuitem_t),\ NULL,\ @@ -398,10 +392,9 @@ void Addons_option_Onchange(void); NULL\ } -#define CENTERMENUSTYLE(flags, flags2, header, source, prev, y)\ +#define CENTERMENUSTYLE(id, header, source, prev, y)\ {\ - flags,\ - flags2,\ + id,\ header,\ sizeof(source)/sizeof(menuitem_t),\ prev,\ @@ -412,10 +405,9 @@ void Addons_option_Onchange(void); NULL\ } -#define MAPPLATTERMENUSTYLE(flags, flags2, header, source)\ +#define MAPPLATTERMENUSTYLE(id, header, source)\ {\ - flags,\ - flags2,\ + id,\ header,\ sizeof (source)/sizeof (menuitem_t),\ &MainDef,\ @@ -426,10 +418,9 @@ void Addons_option_Onchange(void); NULL\ } -#define CONTROLMENUSTYLE(flags, flags2, source, prev)\ +#define CONTROLMENUSTYLE(id, source, prev)\ {\ - flags,\ - flags2,\ + id,\ "M_CONTRO",\ sizeof (source)/sizeof (menuitem_t),\ prev,\ @@ -442,8 +433,7 @@ void Addons_option_Onchange(void); #define IMAGEDEF(source)\ {\ - 0,\ - 0,\ + MM_SPECIAL,\ NULL,\ sizeof (source)/sizeof (menuitem_t),\ NULL,\