diff --git a/Quake/in_sdl.c b/Quake/in_sdl.c index 530d2fb7..b9eb2215 100644 --- a/Quake/in_sdl.c +++ b/Quake/in_sdl.c @@ -666,6 +666,9 @@ void IN_JoyMove (usercmd_t *cmd) if (!joy_active_controller) return; + + if (cl.paused || key_dest != key_game) + return; moveRaw.x = joy_axisstate.axisvalue[SDL_CONTROLLER_AXIS_LEFTX]; moveRaw.y = joy_axisstate.axisvalue[SDL_CONTROLLER_AXIS_LEFTY]; @@ -717,6 +720,10 @@ void IN_MouseMove(usercmd_t *cmd) total_dx = 0; total_dy = 0; + // do pause check after resetting total_d* so mouse movements during pause don't accumulate + if (cl.paused || key_dest != key_game) + return; + if ( (in_strafe.state & 1) || (lookstrafe.value && (in_mlook.state & 1) )) cmd->sidemove += m_side.value * dmx; else