
Originally Posted by
Lorfa
your sensitivity and mouseaccel will be scaled when you zoom in, rendering your normal sensitivity and mouseaccel numbers completely different. To correct for this you have to know the scaling algorithm used by quake live, this is:
arctan[ 0.75 * tan( cg_zoomfov / 2 ) ] / arctan[ 0.75 * tan( cg_fov / 2 ) ]
Note: tan(90°) is undefined so use 89.999999999 or so in the case of cg_fov 180 or it will not work. Also make sure to specify that you are using degrees as many programs will assume radians. ALT+0176 is the degrees symbol.
It produces a decimal which is the scaling ratio that the sensitivity and mouseaccel are both multiplied by. So, if my fov was 180, and my zoomfov 95, I would have a ratio of 0.4367.
If I used sensitivity 5 it would change my sensitivity to 5*0.4367 = 2.1835
If I used cl_mouseaccel 0.15, it would change it to 0.15*0.4367 = 0.065505
Now that you have this information it's just a manner of algebra to set your sensitivity and mouseaccel to a corrected value:
Corrected Sensitivity = Previous Sensitivity / ScalingRatio
Corrected Mouseaccel = Previous Mouseaccel / ScalingRatio
So for the above example, this would be sensitivity 5/0.4367 = 11.4495
and mouseaccel 0.15/0.4367 = 0.34348523
Now when zoomed in from fov 180 to zoomfov 95, my sensitivity will be the one I was using before this monkey business.
Personally I don't use this because it is a hassle, and I also like to use a zoom key, so I had to calculate everything again for that fov. I'll make an example vstr for that if you are interested.