mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-16 06:39:17 +00:00
ZVISION: Clamp the rotation velocity to never be zero
Before, if we set the in-game preferences to have very low rotation speed, the velocity ends up always being 0 - 0.99 Hence, when we convert back to an int, everything gets truncated to zero. Therefore, we clamp, in order to ensure the user can always move, no matter which setting they use.
This commit is contained in:
parent
6548300a41
commit
40bd4c485f
@ -299,7 +299,7 @@ void ZVision::onMouseMove(const Common::Point &pos) {
|
||||
if (mspeed <= 0) {
|
||||
mspeed = 25;
|
||||
}
|
||||
_mouseVelocity = ((Common::Rational(mspeed, ROTATION_SCREEN_EDGE_OFFSET) * (clippedPos.x - _workingWindow.left)) - mspeed).toInt();
|
||||
_mouseVelocity = MIN(((Common::Rational(mspeed, ROTATION_SCREEN_EDGE_OFFSET) * (clippedPos.x - _workingWindow.left)) - mspeed).toInt(), -1);
|
||||
|
||||
|
||||
_cursorManager->changeCursor(CursorIndex_Left);
|
||||
@ -310,7 +310,7 @@ void ZVision::onMouseMove(const Common::Point &pos) {
|
||||
if (mspeed <= 0) {
|
||||
mspeed = 25;
|
||||
}
|
||||
_mouseVelocity = (Common::Rational(mspeed, ROTATION_SCREEN_EDGE_OFFSET) * (clippedPos.x - _workingWindow.right + ROTATION_SCREEN_EDGE_OFFSET)).toInt();
|
||||
_mouseVelocity = MAX((Common::Rational(mspeed, ROTATION_SCREEN_EDGE_OFFSET) * (clippedPos.x - _workingWindow.right + ROTATION_SCREEN_EDGE_OFFSET)).toInt(), 1);
|
||||
|
||||
_cursorManager->changeCursor(CursorIndex_Right);
|
||||
cursorWasChanged = true;
|
||||
@ -324,7 +324,7 @@ void ZVision::onMouseMove(const Common::Point &pos) {
|
||||
if (mspeed <= 0) {
|
||||
mspeed = 25;
|
||||
}
|
||||
_mouseVelocity = ((Common::Rational(mspeed, ROTATION_SCREEN_EDGE_OFFSET) * (pos.y - _workingWindow.top)) - mspeed).toInt();
|
||||
_mouseVelocity = MIN(((Common::Rational(mspeed, ROTATION_SCREEN_EDGE_OFFSET) * (pos.y - _workingWindow.top)) - mspeed).toInt(), -1);
|
||||
|
||||
_cursorManager->changeCursor(CursorIndex_UpArr);
|
||||
cursorWasChanged = true;
|
||||
@ -334,7 +334,7 @@ void ZVision::onMouseMove(const Common::Point &pos) {
|
||||
if (mspeed <= 0) {
|
||||
mspeed = 25;
|
||||
}
|
||||
_mouseVelocity = (Common::Rational(MAX_ROTATION_SPEED, ROTATION_SCREEN_EDGE_OFFSET) * (pos.y - _workingWindow.bottom + ROTATION_SCREEN_EDGE_OFFSET)).toInt();
|
||||
_mouseVelocity = MAX((Common::Rational(MAX_ROTATION_SPEED, ROTATION_SCREEN_EDGE_OFFSET) * (pos.y - _workingWindow.bottom + ROTATION_SCREEN_EDGE_OFFSET)).toInt(), 1);
|
||||
|
||||
_cursorManager->changeCursor(CursorIndex_DownArr);
|
||||
cursorWasChanged = true;
|
||||
|
Loading…
Reference in New Issue
Block a user