diff --git a/src/boomer.nim b/src/boomer.nim index 4c89573..ec01333 100644 --- a/src/boomer.nim +++ b/src/boomer.nim @@ -301,7 +301,10 @@ proc main() = if mouse.drag: let delta = world(camera, mouse.prev) - world(camera, mouse.curr) camera.position += delta - camera.velocity = delta * config.dragVelocityFactor + # delta is the distance the mouse traveled in a single + # frame. To turn the velocity into units/second we need to + # multiple it by FPS. + camera.velocity = delta * config.fps.float mouse.prev = mouse.curr diff --git a/src/config.nim b/src/config.nim index 1221923..4a5d1ed 100644 --- a/src/config.nim +++ b/src/config.nim @@ -2,15 +2,13 @@ import macros, strutils type Config* = object scrollSpeed*: float - dragVelocityFactor*: float dragFriction*: float scaleFriction*: float fps*: int const defaultConfig* = Config( - scrollSpeed: 1.0, - dragVelocityFactor: 10.0, - dragFriction: 2.0, + scrollSpeed: 1.5, + dragFriction: 6.0, scaleFriction: 4.0, fps: 60 )