summaryrefslogtreecommitdiff
path: root/ui/manualCameraController.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-11-15 01:29:24 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2023-11-15 01:29:24 +0000
commit685b33980cc7a346574b24732464f0cbe3115a1f (patch)
tree048db87ad645f54285f0880d20b8acf81f65fea9 /ui/manualCameraController.cpp
parentSend position and rotation matrix to GPU separately (diff)
downloadilt-685b33980cc7a346574b24732464f0cbe3115a1f.tar.bz2
ilt-685b33980cc7a346574b24732464f0cbe3115a1f.tar.xz
ilt-685b33980cc7a346574b24732464f0cbe3115a1f.zip
Switch to millimeters for spatial units
Mostly a case of changing far too many magic numbers, something else to fix I guess. I probably missed something. Also there's some hackery when loading 3D models, which are still assumed to be in metres.
Diffstat (limited to 'ui/manualCameraController.cpp')
-rw-r--r--ui/manualCameraController.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui/manualCameraController.cpp b/ui/manualCameraController.cpp
index 05c1fc5..f6993a8 100644
--- a/ui/manualCameraController.cpp
+++ b/ui/manualCameraController.cpp
@@ -59,12 +59,12 @@ ManualCameraController::handleInput(const SDL_Event & e, const Position &)
pitch = std::clamp(pitch - 0.01F * static_cast<float>(e.motion.yrel), 0.1F, half_pi);
}
else {
- focus += rotate_flat(-direction) * Position2D {-e.motion.xrel, e.motion.yrel};
+ focus += rotate_flat(-direction) * (Position2D {-e.motion.xrel, e.motion.yrel} * dist / 2.0F);
}
}
return true;
case SDL_MOUSEWHEEL:
- dist = std::clamp(dist - static_cast<float>(e.wheel.y) * 4.F, 5.F, 200.F);
+ dist = std::clamp(dist - static_cast<float>(e.wheel.y) * 400.F, 5.F, 200000.F);
break;
}
return false;