drfrag wrote:mjr4077au wrote:the pre-scaling of 4:1 ends up being 2:1 by the time System_DispatchEvent() has processed it
I don't get why you say "ends up", the end result depended on the different initial prescale you put.
Using Windows as an example, the initial pre-scale was always x << 2.
Assume all mouse scaling CVARs are 1, an x input of 20 and a y input of 20, and a prescale of x by <<2 (4x):
- Code: Select all • Expand view
if (buttonMap.ButtonDown(Button_Mlook) || freelook)
{
int look = int(ev->y * m_pitch * 16.0);
if (invertmouse) look = -look;
G_AddViewPitch(look, true);
ev->y = 0;
}
if (!buttonMap.ButtonDown(Button_Strafe) && !lookstrafe)
{
int turn = int(ev->x * m_yaw * 8.0);
if (invertmousex)
turn = -turn;
G_AddViewAngle(turn, true);
ev->x = 0;
}
For pitch: 20 * 1 * 16 = 320
For angle: 80 * 1 * 8 = 640
From here, we can clearly see that the final ratio before the input is passed to the game for angle/pitch is 2:1. And that's all I'm saying, that a 4:1 pre-scale ends up being a 2:1 scale before the input is passed to the game.