From aeef0047100f98e9c41e14d0f61defd0094d75ae Mon Sep 17 00:00:00 2001 From: Aaron van Geffen Date: Tue, 7 May 2024 13:56:06 +0200 Subject: [PATCH] Prevent map corners from being cut off (original bug) --- src/openrct2-ui/windows/Map.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/openrct2-ui/windows/Map.cpp b/src/openrct2-ui/windows/Map.cpp index 82f3428d75..d95aee76ff 100644 --- a/src/openrct2-ui/windows/Map.cpp +++ b/src/openrct2-ui/windows/Map.cpp @@ -818,8 +818,6 @@ static Widget window_map_widgets[] = { g1temp.offset = _mapImageData.data(); g1temp.width = getMiniMapWidth(); g1temp.height = getMiniMapWidth(); - g1temp.x_offset = -8; - g1temp.y_offset = -8; GfxSetG1Element(SPR_TEMP, &g1temp); DrawingEngineInvalidateImage(SPR_TEMP); GfxDrawSprite(dpi, ImageId(SPR_TEMP), { 0, 0 }); @@ -1050,7 +1048,7 @@ static Widget window_map_widgets[] = { cx = ((mainWindow->viewport->view_width >> 1) + mainWindow->viewport->viewPos.x) >> 5; dx = ((mainWindow->viewport->view_height >> 1) + mainWindow->viewport->viewPos.y) >> 4; - cx += offset.x * getTechnicalMapSize() - 8; + cx += offset.x * getTechnicalMapSize(); dx += offset.y * getTechnicalMapSize(); // calculate width and height of minimap @@ -1361,11 +1359,14 @@ static Widget window_map_widgets[] = { return; auto offset = MiniMapOffsetFactors[GetCurrentRotation()]; - auto leftTop = ScreenCoordsXY{ (mainViewport->viewPos.x >> 5) + offset.x * getTechnicalMapSize() - 8, - (mainViewport->viewPos.y >> 4) + offset.y * getTechnicalMapSize() }; + offset.x *= getTechnicalMapSize(); + offset.y *= getTechnicalMapSize(); + + auto leftTop = ScreenCoordsXY{ (mainViewport->viewPos.x >> 5) + offset.x, + (mainViewport->viewPos.y >> 4) + offset.y }; auto rightBottom = ScreenCoordsXY{ - ((mainViewport->viewPos.x + mainViewport->view_width) >> 5) + offset.x * getTechnicalMapSize() - 8, - ((mainViewport->viewPos.y + mainViewport->view_height) >> 4) + offset.y * getTechnicalMapSize() + ((mainViewport->viewPos.x + mainViewport->view_width) >> 5) + offset.x, + ((mainViewport->viewPos.y + mainViewport->view_height) >> 4) + offset.y }; auto rightTop = ScreenCoordsXY{ rightBottom.x, leftTop.y }; auto leftBottom = ScreenCoordsXY{ leftTop.x, rightBottom.y }; @@ -1497,7 +1498,7 @@ static Widget window_map_widgets[] = { x /= 32; y /= 32; - return { -x + y + getTechnicalMapSize() - 8, x + y - 8 }; + return { -x + y + getTechnicalMapSize(), x + y }; } void ResizeMap()