diff --git a/src/d_main.c b/src/d_main.c index da324bfa0..8d6e7935e 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1003,9 +1003,6 @@ void D_StartTitle(void) advancedemo = false; F_StartTitleScreen(); - M_InitOptions(0); // Make sure the option menu is ready to go since we need to select a profile. - currentMenu = &MAIN_ProfilesDef; // reset the current menu ID - // Reset the palette if (rendermode != render_none) V_SetPaletteLump("PLAYPAL"); diff --git a/src/k_menufunc.c b/src/k_menufunc.c index cec36ce2d..7608ccaab 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -87,7 +87,7 @@ boolean menuactive = false; boolean fromlevelselect = false; // current menudef -menu_t *currentMenu = &OPTIONS_ProfilesDef; +menu_t *currentMenu = &MAIN_ProfilesDef; char dummystaffname[22]; @@ -925,6 +925,11 @@ void M_StartControlPanel(void) menucmd[i].delay = MENUDELAYTIME; } + // No instantly skipping the titlescreen. + // (We can change this timer later when extra animation is added.) + if (gamestate == GS_TITLESCREEN && finalecount < 1) + return; + // intro might call this repeatedly if (menuactive) { @@ -949,6 +954,9 @@ void M_StartControlPanel(void) { if (cv_currprofile.value == -1) // Only ask once per session. { + // Make sure the profile data is ready now since we need to select a profile. + M_ResetOptions(); + // we need to do this before setting ApplyProfile otherwise funky things are going to happen. currentMenu = &MAIN_ProfilesDef; optionsmenu.profilen = cv_ttlprofilen.value;