Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
If you're looking for a compatible and unchanged single player experience then I'd recommend the {LINK REMOVED}Yamagi Quake II client. If you are mostly concerned with multiplayer use then I'd suggest using {LINK REMOVED}Q2PRO.
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
Quake3 can also use Direct Input to get mouse movements. You can disable DI and use Win32 mouse with in_mouse -1.
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!
I haven't tried Quake2 on Windows 10 yet, perhaps it'll ignore the apps request to turn accel on.
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)