From 139def0d3d2a311143751ddbd4f13443f051a5b5 Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 3 Sep 2022 00:19:03 +0100 Subject: [PATCH] Plug the last gap that allowed you to avoid selecting a profile. There's no actual good way to handle the case of changing your skin, etc, maybe even various controls for a momentary test AND supporting profiles, so don't even try. Instead, let the game "pretend" you selected ttlprofilen to let it just about work. This works because all the relevant cvars and controls still get saved to the config when changed... they just get written over when you select a profile. So if you haven't changed anything since your last successful launch, it is now functionally indistinguishable. --- src/d_clisrv.c | 2 ++ src/g_game.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 13d0a67d6..64aef5840 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -1992,6 +1992,8 @@ static void CL_ConnectToServer(void) CONS_Printf(M_GetText("Contacting the server...\n")); } + if (cv_currprofile.value == -1) + PR_ApplyProfilePretend(cv_ttlprofilen.value, 0); if (gamestate == GS_INTERMISSION) Y_EndIntermission(); // clean up intermission graphics etc if (gamestate == GS_VOTING) diff --git a/src/g_game.c b/src/g_game.c index 9760197b9..8ff414b84 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1265,6 +1265,8 @@ void G_DoLoadLevel(boolean resetplayer) if (wipegamestate == GS_LEVEL) wipegamestate = -1; // force a wipe + if (cv_currprofile.value == -1) + PR_ApplyProfilePretend(cv_ttlprofilen.value, 0); if (gamestate == GS_INTERMISSION) Y_EndIntermission(); if (gamestate == GS_VOTING)