diff --git a/src/cvars.cpp b/src/cvars.cpp index 1aa0d9a0b..521fefb27 100644 --- a/src/cvars.cpp +++ b/src/cvars.cpp @@ -301,10 +301,7 @@ consvar_t cv_addons_search_case = Player("addons_search_case", "No").yes_no(); consvar_t cv_addons_search_type = Player("addons_search_type", "Anywhere").values({{0, "Start"}, {1, "Anywhere"}}); consvar_t cv_addons_showall = Player("addons_showall", "No").yes_no(); consvar_t cv_allowguests = Player("allowguests", "On").on_off(); - -void AltTitle_OnChange(void); -consvar_t cv_alttitle = Player("alttitle", "Off").flags(CV_NOSHOWHELP).on_off().onchange_noinit(AltTitle_OnChange); - +consvar_t cv_alttitle = Player("alttitle", "Off").on_off(); consvar_t cv_alwaysgrabmouse = GraphicsDriver("alwaysgrabmouse", "Off").on_off(); consvar_t cv_apng_delay = Player("apng_speed", "1x").values({ diff --git a/src/d_netcmd.c b/src/d_netcmd.c index fdda510dd..6d640d885 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -5195,19 +5195,6 @@ FUNCNORETURN static ATTRNORETURN void Command_Quit_f(void) I_Quit(); } -void AltTitle_OnChange(void) -{ - if (!cv_alttitle.value) - return; // it's fine. - - if (!M_SecretUnlocked(SECRET_ALTTITLE, true)) - { - CONS_Printf(M_GetText("You haven't earned this yet.\n")); - CV_StealthSetValue(&cv_alttitle, 0); - return; - } -} - void ItemFinder_OnChange(void) { if (!cv_itemfinder.value) diff --git a/src/d_netcmd.h b/src/d_netcmd.h index 6316cb8b3..f97cd9bd8 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -110,7 +110,7 @@ typedef enum { } capsuletest_val_t; extern consvar_t cv_capsuletest; -extern consvar_t cv_alttitle, cv_itemfinder; +extern consvar_t cv_itemfinder; extern consvar_t cv_inttime, cv_advancemap; extern consvar_t cv_overtime; @@ -255,7 +255,6 @@ boolean IsPlayerAdmin(INT32 playernum); void SetAdminPlayer(INT32 playernum); void ClearAdminPlayers(void); void RemoveAdminPlayer(INT32 playernum); -void AltTitle_OnChange(void); void ItemFinder_OnChange(void); void D_SetPassword(const char *pw); diff --git a/src/f_finale.c b/src/f_finale.c index 4ddd2db2b..5de1d45dc 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -1145,13 +1145,8 @@ static void F_CacheTitleScreen(void) case TTMODE_RINGRACERS: { - if (!M_SecretUnlocked(SECRET_ALTTITLE, true)) - { - CV_StealthSetValue(&cv_alttitle, 0); - } - kts_bumper = W_CachePatchName( - (cv_alttitle.value ? "KTSJUMPR1" : "KTSBUMPR1"), + (M_UseAlternateTitleScreen() ? "KTSJUMPR1" : "KTSBUMPR1"), PU_PATCH_LOWPRIORITY); kts_eggman = W_CachePatchName("KTSEGG01", PU_PATCH_LOWPRIORITY); kts_tails = W_CachePatchName("KTSTAL01", PU_PATCH_LOWPRIORITY); diff --git a/src/k_credits.cpp b/src/k_credits.cpp index 76037fd3b..266e163ea 100644 --- a/src/k_credits.cpp +++ b/src/k_credits.cpp @@ -1023,7 +1023,7 @@ static void F_DrawCreditsTitleDrop(void) 0, -BASEVIDHEIGHT * (FRACUNIT / 2), FRACUNIT, 0, static_cast(W_CachePatchName( - (cv_alttitle.value ? "KTSJUMPR1" : "KTSBUMPR1"), + (M_UseAlternateTitleScreen() ? "KTSJUMPR1" : "KTSBUMPR1"), PU_CACHE )), nullptr diff --git a/src/k_hud.cpp b/src/k_hud.cpp index e7b2f2c6b..626a9d2cb 100644 --- a/src/k_hud.cpp +++ b/src/k_hud.cpp @@ -5998,7 +5998,7 @@ void K_drawKartHUD(void) if (demo.attract == DEMO_ATTRACT_TITLE) // Draw logo on title screen demos { INT32 x = BASEVIDWIDTH - 8, y = BASEVIDHEIGHT-8, snapflags = V_SNAPTOBOTTOM|V_SNAPTORIGHT|V_SLIDEIN; - patch_t *pat = static_cast(W_CachePatchName((cv_alttitle.value ? "MTSJUMPR1" : "MTSBUMPR1"), PU_CACHE)); + patch_t *pat = static_cast(W_CachePatchName((M_UseAlternateTitleScreen() ? "MTSJUMPR1" : "MTSBUMPR1"), PU_CACHE)); if (r_splitscreen == 3) { diff --git a/src/k_menudraw.c b/src/k_menudraw.c index b0a125478..ea8a4b665 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -7014,7 +7014,7 @@ static void M_DrawChallengePreview(INT32 x, INT32 y) { x = 8; y = BASEVIDHEIGHT-16; - V_DrawGamemodeString(x, y - 33, 0, R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_PLAGUE, GTC_MENUCACHE), cv_alttitle.string); + V_DrawGamemodeString(x, y - 33, 0, R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_PLAGUE, GTC_MENUCACHE), M_UseAlternateTitleScreen() ? "On" : "Off"); K_drawButtonAnim(x, y, 0, kp_button_a[1], challengesmenu.ticker); x += SHORT(kp_button_a[1][0]->width); @@ -8202,7 +8202,7 @@ void M_DrawWrongWarp(void) titleoffset += titlewidth; } - patch_t *bumper = W_CachePatchName((cv_alttitle.value ? "MTSJUMPR1" : "MTSBUMPR1"), PU_CACHE); + patch_t *bumper = W_CachePatchName((M_UseAlternateTitleScreen() ? "MTSJUMPR1" : "MTSBUMPR1"), PU_CACHE); V_DrawScaledPatch(x-(SHORT(bumper->width)), (BASEVIDHEIGHT-8)-(SHORT(bumper->height)), 0, bumper); } diff --git a/src/m_cond.c b/src/m_cond.c index 4e35471ed..af30e415b 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -3758,3 +3758,9 @@ const char *M_GetEmblemPatch(emblem_t *em, boolean big) return pnamebuf; } + +boolean M_UseAlternateTitleScreen(void) +{ + extern consvar_t cv_alttitle; + return cv_alttitle.value && M_SecretUnlocked(SECRET_ALTTITLE, true); +} diff --git a/src/m_cond.h b/src/m_cond.h index 210a09767..3a549578f 100644 --- a/src/m_cond.h +++ b/src/m_cond.h @@ -494,6 +494,8 @@ UINT16 M_EmblemMapNum(emblem_t *emblem); #define M_Achieved(a) ((a) >= MAXCONDITIONSETS || gamedata->achieved[a]) +boolean M_UseAlternateTitleScreen(void); + #ifdef __cplusplus } // extern "C" #endif diff --git a/src/menus/extras-challenges.c b/src/menus/extras-challenges.c index e1df3066b..ff169772e 100644 --- a/src/menus/extras-challenges.c +++ b/src/menus/extras-challenges.c @@ -1027,11 +1027,13 @@ boolean M_ChallengesInputs(INT32 ch) { switch (unlockables[challengesmenu.currentunlock].type) { - case SECRET_ALTTITLE: + case SECRET_ALTTITLE: { + extern consvar_t cv_alttitle; CV_AddValue(&cv_alttitle, 1); S_StartSound(NULL, sfx_s3kc3s); M_SetMenuDelay(pid); break; + } default: break; }