diff options
author | peter1138 <peter1138@openttd.org> | 2007-05-28 17:07:19 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2007-05-28 17:07:19 +0000 |
commit | f8120ef5a0bddaca7644df0c735399b0aa8ac2f2 (patch) | |
tree | 70f664fc26ca4bb0a04c26860587fbc13450cf26 | |
parent | 2851f58efa0d4e69a1113195af0f865dc944d414 (diff) | |
download | openttd-f8120ef5a0bddaca7644df0c735399b0aa8ac2f2.tar.xz |
(svn r9963) -Fix (r9962): 'smooth_scroll' patch setting was ignored (always on) in some places.
-rw-r--r-- | src/viewport.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/viewport.cpp b/src/viewport.cpp index a06547051..1fc915ec5 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1397,10 +1397,15 @@ void UpdateViewportPosition(Window *w) int delta_y = dest_y - y; if (delta_x != 0 || delta_y != 0) { - int max_scroll = ScaleByMapSize1D(512); - /* Not at our desired positon yet... */ - x += clamp(delta_x / 8, -max_scroll, max_scroll); - y += clamp(delta_y / 8, -max_scroll, max_scroll); + if (_patches.smooth_scroll) { + int max_scroll = ScaleByMapSize1D(512); + /* Not at our desired positon yet... */ + x += clamp(delta_x / 8, -max_scroll, max_scroll); + y += clamp(delta_y / 8, -max_scroll, max_scroll); + } else { + x = dest_x; + y = dest_y; + } } /* Convert viewport coordinates to map coordinates @@ -1868,7 +1873,7 @@ bool ScrollWindowTo(int x , int y, Window *w, bool instant) if (WP(w, vp_d).dest_scrollpos_x == pt.x && WP(w, vp_d).dest_scrollpos_y == pt.y) return false; - if (!_patches.smooth_scroll || instant) { + if (instant) { WP(w, vp_d).scrollpos_x = pt.x; WP(w, vp_d).scrollpos_y = pt.y; } |