Lock user out of menu when replay goes to intermission

- Access to the replay menu in intermission leads to
  various problems
  - Broken options
  - HOM effect
- You can press A on the intermission screen to end it
This commit is contained in:
James R 2024-03-17 04:51:07 -07:00
parent 4d9b0a93f2
commit d68e7072a2
2 changed files with 16 additions and 0 deletions

View file

@ -668,6 +668,15 @@ menu_t *M_SpecificMenuRestore(menu_t *torestore)
//
void M_StartControlPanel(void)
{
if (demo.playback && gamestate == GS_INTERMISSION)
{
// At this point the replay has ended.
// The only menu option that works is "Stop Playback".
// And intermission can be finished by pressing the
// A button, so having a menu at all is useless.
return;
}
INT32 i;
G_ResetAllDeviceGameKeyDown();

View file

@ -2271,6 +2271,13 @@ void Y_StartIntermission(void)
G_SetGamestate(GS_INTERMISSION);
if (demo.playback)
{
// Replay menu is inacessible here.
// Press A to continue!
M_ClearMenus(true);
}
if (musiccountdown == 0)
{
Y_PlayIntermissionMusic();