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; 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_DemoTitleResponder(event_t *ev);
boolean G_CheckDemoTitleEntry(void);
#endif // __G_DEMO__ #endif // __G_DEMO__

View file

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