diff --git a/src/g_game.c b/src/g_game.c index 85d7df1f7..2e9d47725 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -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) {