From c54015a60d8550e68c04c80fb024eca8ab00ae4b Mon Sep 17 00:00:00 2001 From: Ahmed Samy Date: Thu, 12 Dec 2013 16:21:22 +0200 Subject: [PATCH] Fixup movePixels a little bit Thanks to @dalkon for dis. --- src/client/mapview.cpp | 45 +++++++++++------------------------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/src/client/mapview.cpp b/src/client/mapview.cpp index aa0e1e4c..a25ed9ea 100644 --- a/src/client/mapview.cpp +++ b/src/client/mapview.cpp @@ -566,43 +566,22 @@ Position MapView::getPosition(const Point& point, const Size& mapSize) void MapView::move(int x, int y) { - if(m_moveOffset.x + x > 32) { - if(m_moveOffset.x + x > 64) - m_customCameraPosition.x += 2; - else - m_customCameraPosition.x += 1; - - m_moveOffset.x = x; - requestVisibleTilesCacheUpdate(); - } else if(m_moveOffset.x - x < -32) { - if(m_moveOffset.x - x < -64) - m_customCameraPosition.x -= 2; - else - m_customCameraPosition.x -= 1; + m_moveOffset.x += x; + m_moveOffset.y += y; - m_moveOffset.x = x; + int32_t tmp = m_moveOffset.x / 32; + if(tmp != 0) { + m_customCameraPosition.x += tmp; + m_moveOffset.x %= 32; requestVisibleTilesCacheUpdate(); - } else - m_moveOffset.x += x; - - if(m_moveOffset.y + y > 32) { - if(m_moveOffset.y + y > 64) - m_customCameraPosition.y += 2; - else - m_customCameraPosition.y += 1; - - m_moveOffset.y = y; - requestVisibleTilesCacheUpdate(); - } else if(m_moveOffset.y - y < -32) { - if(m_moveOffset.y - y < -64) - m_customCameraPosition.y -= 2; - else - m_customCameraPosition.y -= 1; + } - m_moveOffset.y = y; + tmp = m_moveOffset.y / 32; + if(tmp != 0) { + m_customCameraPosition.y += tmp; + m_moveOffset.y %= 32; requestVisibleTilesCacheUpdate(); - } else - m_moveOffset.y += y; + } } Rect MapView::calcFramebufferSource(const Size& destSize)