X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=cl_input.c;h=fe3e67cfa13cfdca21e49083c443adae960e54fb;hb=92bf206f9d564780e4f7689c01b48e935afde55f;hp=5ee230c616bc323f9897c43f663536729fd663e0;hpb=07957580dd4dfa7461f963ee635d76a5c4759363;p=xonotic%2Fdarkplaces.git diff --git a/cl_input.c b/cl_input.c index 5ee230c6..fe3e67cf 100644 --- a/cl_input.c +++ b/cl_input.c @@ -503,7 +503,7 @@ void CL_AdjustAngles (void) cl.viewangles[ROLL] = bound(-50, cl.viewangles[ROLL], 50); } -qboolean cl_ignoremousemove = false; +int cl_ignoremousemoves = 2; /* ================ @@ -562,9 +562,9 @@ void CL_Input (void) IN_Move (); // ignore a mouse move if mouse was activated/deactivated this frame - if (cl_ignoremousemove) + if (cl_ignoremousemoves) { - cl_ignoremousemove = false; + cl_ignoremousemoves--; in_mouse_x = 0; in_mouse_y = 0; } @@ -583,38 +583,39 @@ void CL_Input (void) // if not in menu, apply mouse move to viewangles/movement if (!cl.csqc_wantsmousemove && in_client_mouse) { + float modulatedsensitivity = sensitivity.value * cl.sensitivityscale; if (cl_prydoncursor.integer) { // mouse interacting with the scene, mostly stationary view V_StopPitchDrift(); - cl.cmd.cursor_screen[0] += in_mouse_x * sensitivity.value / vid.width; - cl.cmd.cursor_screen[1] += in_mouse_y * sensitivity.value / vid.height; + cl.cmd.cursor_screen[0] += in_mouse_x * modulatedsensitivity / vid.width; + cl.cmd.cursor_screen[1] += in_mouse_y * modulatedsensitivity / vid.height; } else if (in_strafe.state & 1) { // strafing mode, all looking is movement V_StopPitchDrift(); - cl.cmd.sidemove += m_side.value * in_mouse_x * sensitivity.value; + cl.cmd.sidemove += m_side.value * in_mouse_x * modulatedsensitivity; if (noclip_anglehack) - cl.cmd.upmove -= m_forward.value * in_mouse_y * sensitivity.value; + cl.cmd.upmove -= m_forward.value * in_mouse_y * modulatedsensitivity; else - cl.cmd.forwardmove -= m_forward.value * in_mouse_y * sensitivity.value; + cl.cmd.forwardmove -= m_forward.value * in_mouse_y * modulatedsensitivity; } else if ((in_mlook.state & 1) || freelook.integer) { // mouselook, lookstrafe causes turning to become strafing V_StopPitchDrift(); if (lookstrafe.integer) - cl.cmd.sidemove += m_side.value * in_mouse_x * sensitivity.value; + cl.cmd.sidemove += m_side.value * in_mouse_x * modulatedsensitivity; else - cl.viewangles[YAW] -= m_yaw.value * in_mouse_x * sensitivity.value * cl.viewzoom; - cl.viewangles[PITCH] += m_pitch.value * in_mouse_y * sensitivity.value * cl.viewzoom; + cl.viewangles[YAW] -= m_yaw.value * in_mouse_x * modulatedsensitivity * cl.viewzoom; + cl.viewangles[PITCH] += m_pitch.value * in_mouse_y * modulatedsensitivity * cl.viewzoom; } else { // non-mouselook, yaw turning and forward/back movement - cl.viewangles[YAW] -= m_yaw.value * in_mouse_x * sensitivity.value * cl.viewzoom; - cl.cmd.forwardmove -= m_forward.value * in_mouse_y * sensitivity.value; + cl.viewangles[YAW] -= m_yaw.value * in_mouse_x * modulatedsensitivity * cl.viewzoom; + cl.cmd.forwardmove -= m_forward.value * in_mouse_y * modulatedsensitivity; } } @@ -1268,6 +1269,8 @@ void CL_ClientMovement_Replay(void) VectorCopy(s.origin, cl.movement_origin); VectorCopy(s.velocity, cl.movement_velocity); } + else if(cls.demoplayback) // for bob, speedometer + VectorCopy(cl.mvelocity[0], cl.movement_velocity); // update the onground flag if appropriate if (cl.movement_predicted)