Merge branch 'eid-dumbass-titlescreen' into 'master'

Prevent 1-frame title screen when playing demos

Closes #1665

See merge request kart-krew-dev/ring-racers-internal!2904
This commit is contained in:
AJ Martinez 2025-09-26 17:56:53 +00:00
commit 74ae7abd4c
4 changed files with 23 additions and 8 deletions

View file

@ -769,6 +769,7 @@ void M_StartControlPanel(void);
void M_ValidateRestoreMenu(void);
menu_t *M_SpecificMenuRestore(menu_t *torestore);
void M_ClearMenus(boolean callexitmenufunc);
void M_ClearMenusNoTitle(boolean callexitmenufunc);
void M_SelectableClearMenus(INT32 choice);
void M_SetupNextMenu(menu_t *menudef, boolean nofade);
void M_GoBack(INT32 choice);

View file

@ -912,10 +912,6 @@ void M_ClearMenus(boolean callexitmenufunc)
if (currentMenu->quitroutine && callexitmenufunc && !currentMenu->quitroutine())
return; // we can't quit this menu (also used to set parameter from the menu)
#ifndef DC // Save the config file. I'm sick of crashing the game later and losing all my changes!
COM_BufAddText(va("saveconfig \"%s\" -silent\n", configfile));
#endif //Alam: But not on the Dreamcast's VMUs
currentMenu->lastOn = itemOn;
if (gamestate == GS_MENU) // Back to title screen
@ -934,6 +930,24 @@ void M_ClearMenus(boolean callexitmenufunc)
menuactive = false;
}
void M_ClearMenusNoTitle(boolean callexitmenufunc)
{
if (!menuactive)
return;
CON_ClearHUD();
if (currentMenu->quitroutine && callexitmenufunc && !currentMenu->quitroutine())
return; // we can't quit this menu (also used to set parameter from the menu)
currentMenu->lastOn = itemOn;
M_AbortVirtualKeyboard();
menumessage.active = false;
menuactive = false;
}
void M_SelectableClearMenus(INT32 choice)
{
(void)choice;

View file

@ -438,7 +438,7 @@ void EggTV::watch() const
{
restoreMenu = currentMenu;
M_ClearMenus(false);
M_ClearMenusNoTitle(false);
demo.loadfiles = true;
demo.ignorefiles = false;

View file

@ -440,7 +440,7 @@ void M_HandleStaffReplay(INT32 choice)
staffbrief_t *staffbrief;
restoreMenu = &PLAY_TAReplayDef;
M_ClearMenus(true);
M_ClearMenusNoTitle(true);
demo.loadfiles = false;
demo.ignorefiles = true; // Just assume that record attack replays have the files needed
@ -507,7 +507,7 @@ void M_ReplayTimeAttack(INT32 choice)
restoreMenu = &PLAY_TAReplayDef;
M_ClearMenus(true);
M_ClearMenusNoTitle(true);
demo.loadfiles = false;
demo.ignorefiles = true; // Just assume that record attack replays have the files needed
@ -692,7 +692,7 @@ void M_StartTimeAttack(INT32 choice)
false
);
M_ClearMenus(true);
M_ClearMenusNoTitle(true);
G_UpdateTimeStickerMedals(levellist.choosemap, true);
}