Quake II

Quake II

View Stats:
Grisly Atoms Feb 13, 2013 @ 3:36am
Request : Mouse Acceleration Fix
I was hoping some of the old-school quake 2 pro's could possibly throw out some mouse acceleration fixes?


I was 8 or so when this game came out and never played it all the way through, however I really want to now. But seeing as the mouse acceleration is driving me nuts I want to wait until I can get rid of it to play Quake II with raw input.

So any fixes or console commands would be appreciated!
< >
Showing 1-15 of 16 comments
Spycrab0.bin Feb 19, 2013 @ 12:03pm 
The best way to remove mouse acceleration is to use a source port that supports raw mouse input.

If you're looking for a compatible and unchanged single player experience then I'd recommend the {LINK REMOVED} client. If you are mostly concerned with multiplayer use then I'd suggest using {LINK REMOVED}.
Hyper Sonic Mar 16, 2014 @ 9:43pm 
EDIT: answered my own question on subsequent posts.
Last edited by Hyper Sonic; Mar 26, 2014 @ 9:31pm
Hyper Sonic Mar 26, 2014 @ 7:50pm 
Examining the source code for 3.21 At first I didn't see any code for mouse acceleration.

function: IN_MouseMove in file: in_win.c

SetCursorPos (window_center_x, window_center_y);
http://msdn.microsoft.com/en-us/library/windows/desktop/ms648394(v=vs.85).aspx

GetCursorPos
http://msdn.microsoft.com/en-us/library/windows/desktop/ms648390(v=vs.85).aspx

It simply sets the pointer to the middle then measures how far from center it travels each frame. I don't see any acceleration set in the Windows control panel nor in my mouse software.

IN_ActivateMouse invokes SystemParametersInfo (SPI_SETMOUSE, 0, newmouseparms, 0)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx

Bingo! "Sets the two mouse threshold values and the mouse acceleration. The pvParam parameter must point to an array of three integers that specifies these values" Guess what newmouseparms is: {0, 0, 1} which means 0 threshold, 0 threshold, 1 acceleration! Now if there was only a way to tell the operating system to ignore an application's request to set mouse acceleration.

Maybe compile with it set to 0, then compile with it set to 1, compare the exe files to find where to hex edit it to remove mouse acceleration.

UPDATE: GLQuake1 has the same problem, just checked the code and verified it in game (been playing source ports so long I didn't check it.)

UPDATE: Microsoft's fancy term for mouse acceleration is 'enchanced pointer precision'. It might work OK for many windows apps, but is no good for FPS games
http://stackoverflow.com/questions/3902477/how-to-configure-mouse-enhance-pointer-precision-programatically
Last edited by Hyper Sonic; Mar 26, 2014 @ 11:24pm
Hyper Sonic Mar 26, 2014 @ 8:17pm 
Why Quake3 doesn't have mouse accel? Well it's equivalent to IN_ActivateMouse is IN_ActivateWin32Mouse, and it simply doesn't invoke SystemParametersInfo, hence the operating system simply assumes 0 threshold, 0 threshold, 0 mouse acceleration when not specified. (well assuming you disabled 'enchanced pointer precision' in ctrl panel.)

Quake3 can also use Direct Input to get mouse movements. You can disable DI and use Win32 mouse with in_mouse -1.
Last edited by Hyper Sonic; Mar 26, 2014 @ 9:32pm
Hyper Sonic Mar 26, 2014 @ 9:31pm 
Alright, there is a registry fix that works for Win7 that I verified to work (and Win8 also it seems.) What it does is change the accel curve to linear, so even if the app turns on accel, it will still be linear. Some links to the registry fix, and how it works:

how it works: http://www.esreality.com/index.php?a=post&id=1945096
downloads to fix: http://www.esreality.com/?a=post&id=1846538
Last edited by Hyper Sonic; Mar 26, 2014 @ 9:33pm
Grisly Atoms Mar 29, 2014 @ 10:28am 
Originally posted by 3DMightyMouse:
Alright, there is a registry fix that works for Win7 that I verified to work (and Win8 also it seems.) What it does is change the accel curve to linear, so even if the app turns on accel, it will still be linear. Some links to the registry fix, and how it works:

how it works: http://www.esreality.com/index.php?a=post&id=1945096
downloads to fix: http://www.esreality.com/?a=post&id=1846538

Wow what a good find!
It only took 13 months, but we have an answer!

Thanks!
Hyper Sonic Dec 10, 2014 @ 8:35pm 
I'm glad I could help. This fix also fixes any other games that try to force mouse acceleration onto it's users. I've added this to my guide on playing the 3.20 shipping version: http://steamcommunity.com/sharedfiles/filedetails/?id=248035586
izzo Jun 9, 2015 @ 5:24am 
i have the solution ... it's very simple ... just open the game console and type "m_filter 0", thst's it
iiekka Jul 27, 2015 @ 1:23pm 
doesnt work for me izzo
Lascera Jul 19, 2016 @ 4:50am 
This is stupid. Why would id intentionally break their game by forcing a pointless funtion on the player?? Quake 1 had an easy fix for the problem: simply writing "-dinput" in the launch options. THATS IT. Unfortunately id is was looking for ways to complicate the whole experience for new players in an attempt to scare them off. Stupid! I don't want no super fancy mods, I want vanilla quake, is that too much to ask..
Hyper Sonic Aug 11, 2016 @ 9:37pm 
Quake 2 came out in 1997, Windows 95 era, back when serial roller mice were all the rage! Perhaps with Windows 95 you could force accel off even if the app trys to set it to on, I'm not sure. Also perhaps with those low dpi roller mice and mediocre fps people didn't notice so much.

I haven't tried Quake2 on Windows 10 yet, perhaps it'll ignore the apps request to turn accel on.
flooffears Dec 30, 2020 @ 12:03pm 
I know this thread's like 4 years old by now, but why not just find and remove the section of code requesting mouse Ecel? Can't be that hard if you know how to open it up.
Downforce Agent Aug 1, 2021 @ 3:07am 
since this thread is still semi-ongoing after nearly a decade i think its worth replying to.

Quake 2 doesn't force enable Aero Mouse Accel. I don't even think Windows 9x had that feature, but if it did, Quake 2 actually will try to disable it. Testing both vanilla q2 and vkQuake2 source ports reveals that your OS's mouse behavior will actually change while the game is open assuming that you have acceleration enabled in your Windows pointer settings.

That being said, the game still suffers from Aero acceleration sometimes, not sure why. Source ports that don't change the windows pointer accel, e.g. kgQuake2, suffer way worse.

I keep Windows pointer accel on because its comfortable on the desktop and most games do not have problems with it. The only games I've ever seen have problems with this were Krunker, Quake 2, and that's about it. Modern Q1 source ports all have modern and well written forms of Raw Input via either SDL or DirectX (usually the former iirc). vanilla Quake 3 had raw input available by default out of the box. Quake 2 never seemed to get this kind of treatment.

So it's either:
1) find a different source port that actually has good Raw Input (i'd rather not)
2) mod our current source port to support proper Raw Input (lots of effort)
3) disable Windows Aero pointer acceleration (this is going to affect my desktop experience and make the entire Windows DE feel very clunky, i'm absolutely not ♥♥♥♥♥♥♥ doing that)
Scorp🦂 Aug 11, 2021 @ 4:20pm 
I use kmquake2 source port and seems posible to disable mouse acceleration by going to Quake II\baseq2\kmq2config.cfg and change set m_noaccel "0" to "1"
< >
Showing 1-15 of 16 comments
Per page: 1530 50

Date Posted: Feb 13, 2013 @ 3:36am
Posts: 16