diff --git a/src/k_menufunc.c b/src/k_menufunc.c index 660e72050..55b308fbf 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -487,6 +487,11 @@ menu_t *M_SpecificMenuRestore(menu_t *torestore) // Ticker init M_MPOptSelectInit(-1); } + else if (torestore == &EXTRAS_MainDef) + { + // Disable or enable certain options + M_InitExtras(-1); + } // One last catch. M_SetupPlayMenu(-1); diff --git a/src/menus/extras-addons.c b/src/menus/extras-addons.c index e3cbf192b..147f6e714 100644 --- a/src/menus/extras-addons.c +++ b/src/menus/extras-addons.c @@ -341,6 +341,9 @@ void M_HandleAddons(INT32 choice) // Secret menu! //MainMenu[secrets].status = (M_AnySecretUnlocked()) ? (IT_STRING | IT_CALL) : (IT_DISABLED); + // I could guard it, but let's just always do this. + M_InitExtras(-1); + if (currentMenu->prevMenu) M_SetupNextMenu(M_InterruptMenuWithChallenges(currentMenu->prevMenu), false); else