From 0c4dca611dd91014075930c68ae8d30beea4213c Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 4 Sep 2022 22:14:41 +0100 Subject: [PATCH] Hide Encore on the Gameplay Options menu if not unlocked --- src/k_menu.h | 15 +++++++++++++++ src/k_menudef.c | 2 +- src/k_menufunc.c | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/k_menu.h b/src/k_menu.h index eafc8d2cf..53afa40e6 100644 --- a/src/k_menu.h +++ b/src/k_menu.h @@ -325,6 +325,21 @@ extern menu_t OPTIONS_HUDDef; extern menuitem_t OPTIONS_HUDOnline[]; extern menu_t OPTIONS_HUDOnlineDef; +typedef enum +{ + gopt_gamespeed = 0, + gopt_baselapcount, + gopt_frantic, + gopt_encore, + gopt_exitcountdown, + gopt_spacer1, + gopt_timelimit, + gopt_startingbumpers, + gopt_karmacomeback, + gopt_spacer2, + gopt_itemtoggles +} gopt_e; + extern menuitem_t OPTIONS_Gameplay[]; extern menu_t OPTIONS_GameplayDef; diff --git a/src/k_menudef.c b/src/k_menudef.c index 3518d7551..b7a63da36 100644 --- a/src/k_menudef.c +++ b/src/k_menudef.c @@ -1007,7 +1007,7 @@ menu_t OPTIONS_HUDOnlineDef = { NULL, }; - +// Gameplay options -- see gopt_e menuitem_t OPTIONS_Gameplay[] = { diff --git a/src/k_menufunc.c b/src/k_menufunc.c index e1e14c8ef..c97144d32 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -4417,6 +4417,8 @@ void M_InitOptions(INT32 choice) { OPTIONS_MainDef.menuitems[mopt_gameplay].status = IT_STRING | IT_SUBMENU; OPTIONS_MainDef.menuitems[mopt_server].status = IT_STRING | IT_SUBMENU; + OPTIONS_GameplayDef.menuitems[gopt_encore].status = + (M_SecretUnlocked(SECRET_ENCORE) ? (IT_STRING | IT_CVAR) : IT_DISABLED); } OPTIONS_DataDef.menuitems[dopt_erase].status = (gamestate == GS_MENU