-void IN_PreMove(void)
-{
-}
-
-void CL_AdjustAngles(void);
-void IN_PostMove(void)
-{
- // clamp after the move as well to prevent messed up rendering angles
- CL_AdjustAngles();
-}
-
-/*
-===========
-IN_DoMove
-===========
-*/
-void IN_ProcessMove(void)
-{
- // get basic movement from keyboard
- CL_BaseMove();
-
- // OS independent code
- IN_PreMove();
-
- // allow mice or other external controllers to add to the move
- IN_Move();
-
- // OS independent code
- IN_PostMove();
-}
-
-
-void IN_Mouse(float mx, float my)
-{
- int mouselook = (in_mlook.state & 1) || freelook.integer;
- float mouse_x, mouse_y;
- static float old_mouse_x = 0, old_mouse_y = 0;
-
- if (m_filter.integer)
- {
- mouse_x = (mx + old_mouse_x) * 0.5;
- mouse_y = (my + old_mouse_y) * 0.5;
- }
- else
- {
- mouse_x = mx;
- mouse_y = my;
- }
-
- old_mouse_x = mx;
- old_mouse_y = my;
-
- in_mouse_x = (float) mouse_x * vid.conwidth / vid.realwidth;
- in_mouse_y = (float) mouse_y * vid.conheight / vid.realheight;
-
- // AK: eveything else is client stuff
- // BTW, this should be seperated somewhen
- if(!in_client_mouse)
- return;
-
- if (cl_prydoncursor.integer)
- {
- cl.cmd.cursor_screen[0] += mouse_x * sensitivity.value / vid.realwidth;
- cl.cmd.cursor_screen[1] += mouse_y * sensitivity.value / vid.realheight;
- V_StopPitchDrift();
- return;
- }
-
- // LordHavoc: viewzoom affects mouse sensitivity for sniping
- mouse_x *= sensitivity.value * cl.viewzoom;
- mouse_y *= sensitivity.value * cl.viewzoom;
-
- // Add mouse X/Y movement to cmd
- if ((in_strafe.state & 1) || (lookstrafe.integer && mouselook))
- cl.cmd.sidemove += m_side.value * mouse_x;
- else
- cl.viewangles[YAW] -= m_yaw.value * mouse_x;
-
- if (mouselook)
- V_StopPitchDrift();
-
- if (mouselook && !(in_strafe.state & 1))
- cl.viewangles[PITCH] += m_pitch.value * mouse_y;
- else
- {
- if ((in_strafe.state & 1) && noclip_anglehack)
- cl.cmd.upmove -= m_forward.value * mouse_y;
- else
- cl.cmd.forwardmove -= m_forward.value * mouse_y;
- }
-}
-