- SW: Properly scale controller input.

This commit is contained in:
Mitchell Richters 2020-09-14 19:29:12 +10:00
parent 3fc96e8840
commit c5648be2bd

View file

@ -220,8 +220,7 @@ static void processMovement(PLAYERp const pp, ControlInfo* const hidInput, bool
if (strafeKey) if (strafeKey)
{ {
svel -= xs_CRoundToInt(hidInput->mousex * 4.); svel -= xs_CRoundToInt((hidInput->mousex * 4.) + (scaleAdjust * (hidInput->dyaw * keymove)));
svel -= hidInput->dyaw * keymove;
} }
else else
{ {
@ -237,16 +236,19 @@ static void processMovement(PLAYERp const pp, ControlInfo* const hidInput, bool
q16horz = -q16horz; q16horz = -q16horz;
q16horz -= FloatToFixed(scaleAdjust * hidInput->dpitch); q16horz -= FloatToFixed(scaleAdjust * hidInput->dpitch);
svel -= hidInput->dx * keymove; svel -= xs_CRoundToInt(scaleAdjust * (hidInput->dx * keymove));
fvel -= hidInput->dz * keymove; fvel -= xs_CRoundToInt(scaleAdjust * (hidInput->dz * keymove));
if (strafeKey) if (strafeKey)
{
if (abs(svel) < keymove)
{ {
if (buttonMap.ButtonDown(gamefunc_Turn_Left)) if (buttonMap.ButtonDown(gamefunc_Turn_Left))
svel += keymove; svel += keymove;
if (buttonMap.ButtonDown(gamefunc_Turn_Right)) if (buttonMap.ButtonDown(gamefunc_Turn_Right))
svel -= keymove; svel -= keymove;
} }
}
else else
{ {
if (buttonMap.ButtonDown(gamefunc_Turn_Left) || (buttonMap.ButtonDown(gamefunc_Strafe_Left) && pp->sop)) if (buttonMap.ButtonDown(gamefunc_Turn_Left) || (buttonMap.ButtonDown(gamefunc_Strafe_Left) && pp->sop))