diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-10-14 22:58:28 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-10-14 22:58:28 +0000 |
commit | 8a667c801213131d7445045f4a4fe496f2aa306d (patch) | |
tree | b64500d2d915dc9701bb8cf8567487e0c6f6f3b4 /code | |
parent | c73e700dc42f7572632b39501674709122a1adc2 (diff) | |
download | ioquake3-aero-8a667c801213131d7445045f4a4fe496f2aa306d.tar.gz ioquake3-aero-8a667c801213131d7445045f4a4fe496f2aa306d.zip |
* Removed hard coded mouse acceleration in the unix build(s)
* Added CVAR_ROM cl_platformSensitivity to normalise the scale
of cl_sensitivity across platforms
git-svn-id: svn://svn.icculus.org/quake3/trunk@160 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code')
-rw-r--r-- | code/client/cl_input.c | 3 | ||||
-rw-r--r-- | code/client/cl_main.c | 2 | ||||
-rw-r--r-- | code/client/client.h | 1 | ||||
-rw-r--r-- | code/unix/linux_glimp.c | 22 | ||||
-rw-r--r-- | code/unix/sdl_glimp.c | 6 |
5 files changed, 13 insertions, 21 deletions
diff --git a/code/client/cl_input.c b/code/client/cl_input.c index 06266eb..a58f67a 100644 --- a/code/client/cl_input.c +++ b/code/client/cl_input.c @@ -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; diff --git a/code/client/cl_main.c b/code/client/cl_main.c index d890275..f3405b4 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -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 ); diff --git a/code/client/client.h b/code/client/client.h index 1398619..eace49c 100644 --- a/code/client/client.h +++ b/code/client/client.h @@ -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; diff --git a/code/unix/linux_glimp.c b/code/unix/linux_glimp.c index a5a9fe0..028a810 100644 --- a/code/unix/linux_glimp.c +++ b/code/unix/linux_glimp.c @@ -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 diff --git a/code/unix/sdl_glimp.c b/code/unix/sdl_glimp.c index 2724811..81855f7 100644 --- a/code/unix/sdl_glimp.c +++ b/code/unix/sdl_glimp.c @@ -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 |