* Removed hard coded mouse acceleration in the unix build(s)

* Added CVAR_ROM cl_platformSensitivity to normalise the scale
  of cl_sensitivity across platforms
This commit is contained in:
Tim Angus 2005-10-14 22:58:28 +00:00
parent 149006bc2d
commit 20c5bc38cf
5 changed files with 13 additions and 21 deletions

View file

@ -435,7 +435,8 @@ void CL_MouseMove( usercmd_t *cmd ) {
cl.mouseDy[cl.mouseIndex] = 0;
rate = sqrt( mx * mx + my * my ) / (float)frame_msec;
accelSensitivity = cl_sensitivity->value + rate * cl_mouseAccel->value;
accelSensitivity = ( cl_sensitivity->value *
cl_platformSensitivity->value ) + rate * cl_mouseAccel->value;
// scale by FOV
accelSensitivity *= cl.cgameSensitivity;

View file

@ -48,6 +48,7 @@ cvar_t *cl_forceavidemo;
cvar_t *cl_freelook;
cvar_t *cl_sensitivity;
cvar_t *cl_platformSensitivity;
cvar_t *cl_mouseAccel;
cvar_t *cl_showMouseRate;
@ -2307,6 +2308,7 @@ void CL_Init( void ) {
cl_run = Cvar_Get ("cl_run", "1", CVAR_ARCHIVE);
cl_sensitivity = Cvar_Get ("sensitivity", "5", CVAR_ARCHIVE);
cl_platformSensitivity = Cvar_Get ("cl_platformSensitivity", "1.0", CVAR_ROM);
cl_mouseAccel = Cvar_Get ("cl_mouseAccel", "0", CVAR_ARCHIVE);
cl_freelook = Cvar_Get( "cl_freelook", "1", CVAR_ARCHIVE );

View file

@ -330,6 +330,7 @@ extern cvar_t *cl_run;
extern cvar_t *cl_anglespeedkey;
extern cvar_t *cl_sensitivity;
extern cvar_t *cl_platformSensitivity;
extern cvar_t *cl_freelook;
extern cvar_t *cl_mouseAccel;

View file

@ -573,14 +573,8 @@ static void HandleEvents(void)
{
if (in_dgamouse->value)
{
if (abs(event.xmotion.x_root) > 1)
mx += event.xmotion.x_root * 2;
else
mx += event.xmotion.x_root;
if (abs(event.xmotion.y_root) > 1)
my += event.xmotion.y_root * 2;
else
my += event.xmotion.y_root;
mx += event.xmotion.x_root;
my += event.xmotion.y_root;
if (t - mouseResetTime > MOUSE_RESET_DELAY )
{
Sys_QueEvent( t, SE_MOUSE, mx, my, 0, NULL );
@ -604,14 +598,8 @@ static void HandleEvents(void)
dx = ((int)event.xmotion.x - mwx);
dy = ((int)event.xmotion.y - mwy);
if (abs(dx) > 1)
mx += dx * 2;
else
mx += dx;
if (abs(dy) > 1)
my += dy * 2;
else
my += dy;
mx += dx;
my += dy;
mwx = event.xmotion.x;
mwy = event.xmotion.y;
@ -1725,6 +1713,8 @@ void IN_Init(void) {
in_joystickDebug = Cvar_Get ("in_debugjoystick", "0", CVAR_TEMP);
joy_threshold = Cvar_Get ("joy_threshold", "0.15", CVAR_ARCHIVE); // FIXME: in_joythreshold
Cvar_Set( "cl_platformSensitivity", "2.0" );
if (in_mouse->value)
mouse_avail = qtrue;
else

View file

@ -320,10 +320,6 @@ static void HandleEvents(void)
case SDL_MOUSEMOTION:
if (mouse_active)
{
if (abs(e.motion.xrel) > 1)
e.motion.xrel *= 2;
if (abs(e.motion.yrel) > 1)
e.motion.yrel *= 2;
Sys_QueEvent( t, SE_MOUSE, e.motion.xrel, e.motion.yrel, 0, NULL );
}
break;
@ -1204,6 +1200,8 @@ void IN_Init(void) {
in_joystickDebug = Cvar_Get ("in_debugjoystick", "0", CVAR_TEMP);
joy_threshold = Cvar_Get ("joy_threshold", "0.15", CVAR_ARCHIVE); // FIXME: in_joythreshold
Cvar_Set( "cl_platformSensitivity", "2.0" );
if (in_mouse->value)
mouse_avail = qtrue;
else