Fix replay save dialog activating while chat is open

This commit is contained in:
James R 2022-10-23 13:54:54 -07:00
parent ae02579b09
commit 8e62531ff9
4 changed files with 19 additions and 4 deletions

View file

@ -3937,3 +3937,16 @@ boolean G_DemoTitleResponder(event_t *ev)
return true;
}
boolean G_CheckDemoTitleEntry(void)
{
if (menuactive || chat_on)
return false;
if (!G_PlayerInputDown(0, gc_b, 0) && !G_PlayerInputDown(0, gc_x, 0))
return false;
demo.savemode = DSM_TITLEENTRY;
return true;
}

View file

@ -189,4 +189,6 @@ void G_SaveDemo(void);
boolean G_DemoTitleResponder(event_t *ev);
boolean G_CheckDemoTitleEntry(void);
#endif // __G_DEMO__

View file

@ -728,8 +728,8 @@ void P_Ticker(boolean run)
G_WriteAllGhostTics();
if (cv_recordmultiplayerdemos.value && (demo.savemode == DSM_NOTSAVING || demo.savemode == DSM_WILLAUTOSAVE))
if (demo.savebutton && demo.savebutton + 3*TICRATE < leveltime && !menuactive && (G_PlayerInputDown(0, gc_b, 0) || G_PlayerInputDown(0, gc_x, 0)))
demo.savemode = DSM_TITLEENTRY;
if (demo.savebutton && demo.savebutton + 3*TICRATE < leveltime)
G_CheckDemoTitleEntry();
}
else if (demo.playback) // Use Ghost data for consistency checks.
{

View file

@ -632,8 +632,8 @@ void Y_Ticker(void)
if (demo.recording)
{
if (demo.savemode == DSM_NOTSAVING && !menuactive && (G_PlayerInputDown(0, gc_b, 0) || G_PlayerInputDown(0, gc_x, 0)))
demo.savemode = DSM_TITLEENTRY;
if (demo.savemode == DSM_NOTSAVING)
G_CheckDemoTitleEntry();
if (demo.savemode == DSM_WILLSAVE || demo.savemode == DSM_WILLAUTOSAVE)
G_SaveDemo();