fixed Mouse Sensitivity affecting FOV Slider

Your mouse sens scale should now behave exactly the same, regardless of FOV Slider
This commit is contained in:
AL2009man committed 2025-05-16 00:36:17 -04:00
1 parent 8bfaaf63ed
commit a1136f4d61
1 file changed
+82 -82
+82 -82
View File
@@ -328,112 +328,112 @@ void bmoveUpdateSpeedTheta(void)
f32 bmoveGetSpeedVertaLimit(f32 value)
{
if (value > 0) {
return (viGetFovY() * value * -0.7f) / 60.0f;
}
if (value > 0) {
return (value * -0.7f);
}
if (value < 0) {
return (viGetFovY() * -value * 0.7f) / 60.0f;
}
if (value < 0) {
return (-value * 0.7f);
}
return 0;
return 0;
}
void bmoveUpdateSpeedVerta(f32 value)
{
f32 mult = viGetFovY() / 60.0f;
f32 limit = bmoveGetSpeedVertaLimit(value);
f32 mult = 1.0f;
f32 limit = bmoveGetSpeedVertaLimit(value);
if (value > 0) {
if (g_Vars.currentplayer->speedverta > 0) {
g_Vars.currentplayer->speedverta -= 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedverta -= 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (value > 0) {
if (g_Vars.currentplayer->speedverta > 0) {
g_Vars.currentplayer->speedverta -= 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedverta -= 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (g_Vars.currentplayer->speedverta < limit) {
g_Vars.currentplayer->speedverta = limit;
}
} else if (value < 0) {
if (g_Vars.currentplayer->speedverta < 0) {
g_Vars.currentplayer->speedverta += 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedverta += 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (g_Vars.currentplayer->speedverta < limit) {
g_Vars.currentplayer->speedverta = limit;
}
} else if (value < 0) {
if (g_Vars.currentplayer->speedverta < 0) {
g_Vars.currentplayer->speedverta += 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedverta += 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (g_Vars.currentplayer->speedverta > limit) {
g_Vars.currentplayer->speedverta = limit;
}
} else {
if (g_Vars.currentplayer->speedverta > limit) {
g_Vars.currentplayer->speedverta -= 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedverta > limit) {
g_Vars.currentplayer->speedverta = limit;
}
} else {
if (g_Vars.currentplayer->speedverta > limit) {
g_Vars.currentplayer->speedverta -= 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedverta < limit) {
g_Vars.currentplayer->speedverta = limit;
}
} else {
g_Vars.currentplayer->speedverta += 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedverta < limit) {
g_Vars.currentplayer->speedverta = limit;
}
} else {
g_Vars.currentplayer->speedverta += 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedverta > limit) {
g_Vars.currentplayer->speedverta = limit;
}
}
}
if (g_Vars.currentplayer->speedverta > limit) {
g_Vars.currentplayer->speedverta = limit;
}
}
}
}
f32 bmoveGetSpeedThetaControlLimit(f32 value)
{
if (value > 0) {
return (viGetFovY() * value * -0.7f) / 60.0f;
}
if (value > 0) {
return (value * -0.7f);
}
if (value < 0) {
return (viGetFovY() * -value * 0.7f) / 60.0f;
}
if (value < 0) {
return (-value * 0.7f);
}
return 0;
return 0;
}
void bmoveUpdateSpeedThetaControl(f32 value)
{
f32 mult = viGetFovY() / 60.0f;
f32 limit = bmoveGetSpeedThetaControlLimit(value);
f32 mult = 1.0f;
f32 limit = bmoveGetSpeedThetaControlLimit(value);
if (value > 0) {
if (g_Vars.currentplayer->speedthetacontrol > 0) {
g_Vars.currentplayer->speedthetacontrol -= 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedthetacontrol -= 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (value > 0) {
if (g_Vars.currentplayer->speedthetacontrol > 0) {
g_Vars.currentplayer->speedthetacontrol -= 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedthetacontrol -= 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (g_Vars.currentplayer->speedthetacontrol < limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
} else if (value < 0) {
if (g_Vars.currentplayer->speedthetacontrol < 0.0f) {
g_Vars.currentplayer->speedthetacontrol += 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedthetacontrol += 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (g_Vars.currentplayer->speedthetacontrol < limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
} else if (value < 0) {
if (g_Vars.currentplayer->speedthetacontrol < 0.0f) {
g_Vars.currentplayer->speedthetacontrol += 0.05f * g_Vars.lvupdate60freal * mult;
} else {
g_Vars.currentplayer->speedthetacontrol += 0.0125f * g_Vars.lvupdate60freal * mult;
}
if (g_Vars.currentplayer->speedthetacontrol > limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
} else {
if (g_Vars.currentplayer->speedthetacontrol > limit) {
g_Vars.currentplayer->speedthetacontrol -= 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedthetacontrol > limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
} else {
if (g_Vars.currentplayer->speedthetacontrol > limit) {
g_Vars.currentplayer->speedthetacontrol -= 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedthetacontrol < limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
} else {
g_Vars.currentplayer->speedthetacontrol += 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedthetacontrol < limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
} else {
g_Vars.currentplayer->speedthetacontrol += 0.05f * g_Vars.lvupdate60freal * mult;
if (g_Vars.currentplayer->speedthetacontrol > limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
}
}
if (g_Vars.currentplayer->speedthetacontrol > limit) {
g_Vars.currentplayer->speedthetacontrol = limit;
}
}
}
}
/**
@@ -2032,7 +2032,7 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i
}
} else {
if (movedata.cannaturalpitch) {
tmp = viGetFovY() / 60.0f;
tmp = 1.0f;
fVar25 = movedata.analogpitch / 70.0f;
if (fVar25 > 1) {
@@ -2073,7 +2073,7 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i
}
if (movedata.cannaturalturn) {
tmp = viGetFovY() / 60.0f;
tmp = 1.0f;
fVar25 = movedata.analogturn / 70.0f;
if (fVar25 > 1) {