G_Responder: Call HU_Responder in Playing(), instead of a whitelisted set of gamestates

Neatly sidesteps a class of bugs where whenever we added a new gamestate accessible in netplay, chat was console-only.
This commit is contained in:
toaster 2023-09-01 19:24:27 +01:00
parent 94db9ac3a6
commit c46889c924

View file

@ -1326,13 +1326,20 @@ boolean G_Responder(event_t *ev)
return false;
}
if (gamestate == GS_LEVEL)
if (Playing())
{
// If you're playing, chat is real.
// Neatly sidesteps a class of bugs where whenever we add a
// new gamestate accessible in netplay, chat was console-only.
if (HU_Responder(ev))
{
hu_keystrokes = true;
return true; // chat ate the event
}
}
if (gamestate == GS_LEVEL)
{
if (AM_Responder(ev))
return true; // automap ate it
// map the event (key/mouse/joy) to a gamecontrol
@ -1348,12 +1355,6 @@ boolean G_Responder(event_t *ev)
}
else if (gamestate == GS_CUTSCENE)
{
if (HU_Responder(ev))
{
hu_keystrokes = true;
return true; // chat ate the event
}
if (F_CutsceneResponder(ev))
{
D_StartTitle();
@ -1362,12 +1363,6 @@ boolean G_Responder(event_t *ev)
}
else if (gamestate == GS_CREDITS)
{
if (HU_Responder(ev))
{
hu_keystrokes = true;
return true; // chat ate the event
}
if (F_CreditResponder(ev))
{
return true;
@ -1375,12 +1370,6 @@ boolean G_Responder(event_t *ev)
}
else if (gamestate == GS_EVALUATION)
{
if (HU_Responder(ev))
{
hu_keystrokes = true;
return true; // chat ate the event
}
if (F_EvaluationResponder(ev))
{
return true;
@ -1388,12 +1377,6 @@ boolean G_Responder(event_t *ev)
}
else if (gamestate == GS_CEREMONY)
{
if (HU_Responder(ev))
{
hu_keystrokes = true;
return true; // chat ate the event
}
if (K_CeremonyResponder(ev))
{
if (grandprixinfo.gp == true
@ -1411,18 +1394,6 @@ boolean G_Responder(event_t *ev)
return true;
}
}
else if (gamestate == GS_CONTINUING)
{
return true;
}
else if (gamestate == GS_INTERMISSION || gamestate == GS_VOTING || gamestate == GS_EVALUATION)
{
if (HU_Responder(ev))
{
hu_keystrokes = true;
return true; // chat ate the event
}
}
if (gamestate == GS_LEVEL && ev->type == ev_keydown && multiplayer && demo.playback && !demo.freecam)
{