mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-24 00:03:11 +01:00
Prevent map corners from being cut off (original bug)
This commit is contained in:
@@ -818,8 +818,6 @@ static Widget window_map_widgets[] = {
|
|||||||
g1temp.offset = _mapImageData.data();
|
g1temp.offset = _mapImageData.data();
|
||||||
g1temp.width = getMiniMapWidth();
|
g1temp.width = getMiniMapWidth();
|
||||||
g1temp.height = getMiniMapWidth();
|
g1temp.height = getMiniMapWidth();
|
||||||
g1temp.x_offset = -8;
|
|
||||||
g1temp.y_offset = -8;
|
|
||||||
GfxSetG1Element(SPR_TEMP, &g1temp);
|
GfxSetG1Element(SPR_TEMP, &g1temp);
|
||||||
DrawingEngineInvalidateImage(SPR_TEMP);
|
DrawingEngineInvalidateImage(SPR_TEMP);
|
||||||
GfxDrawSprite(dpi, ImageId(SPR_TEMP), { 0, 0 });
|
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;
|
cx = ((mainWindow->viewport->view_width >> 1) + mainWindow->viewport->viewPos.x) >> 5;
|
||||||
dx = ((mainWindow->viewport->view_height >> 1) + mainWindow->viewport->viewPos.y) >> 4;
|
dx = ((mainWindow->viewport->view_height >> 1) + mainWindow->viewport->viewPos.y) >> 4;
|
||||||
cx += offset.x * getTechnicalMapSize() - 8;
|
cx += offset.x * getTechnicalMapSize();
|
||||||
dx += offset.y * getTechnicalMapSize();
|
dx += offset.y * getTechnicalMapSize();
|
||||||
|
|
||||||
// calculate width and height of minimap
|
// calculate width and height of minimap
|
||||||
@@ -1361,11 +1359,14 @@ static Widget window_map_widgets[] = {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
auto offset = MiniMapOffsetFactors[GetCurrentRotation()];
|
auto offset = MiniMapOffsetFactors[GetCurrentRotation()];
|
||||||
auto leftTop = ScreenCoordsXY{ (mainViewport->viewPos.x >> 5) + offset.x * getTechnicalMapSize() - 8,
|
offset.x *= getTechnicalMapSize();
|
||||||
(mainViewport->viewPos.y >> 4) + offset.y * getTechnicalMapSize() };
|
offset.y *= getTechnicalMapSize();
|
||||||
|
|
||||||
|
auto leftTop = ScreenCoordsXY{ (mainViewport->viewPos.x >> 5) + offset.x,
|
||||||
|
(mainViewport->viewPos.y >> 4) + offset.y };
|
||||||
auto rightBottom = ScreenCoordsXY{
|
auto rightBottom = ScreenCoordsXY{
|
||||||
((mainViewport->viewPos.x + mainViewport->view_width) >> 5) + offset.x * getTechnicalMapSize() - 8,
|
((mainViewport->viewPos.x + mainViewport->view_width) >> 5) + offset.x,
|
||||||
((mainViewport->viewPos.y + mainViewport->view_height) >> 4) + offset.y * getTechnicalMapSize()
|
((mainViewport->viewPos.y + mainViewport->view_height) >> 4) + offset.y
|
||||||
};
|
};
|
||||||
auto rightTop = ScreenCoordsXY{ rightBottom.x, leftTop.y };
|
auto rightTop = ScreenCoordsXY{ rightBottom.x, leftTop.y };
|
||||||
auto leftBottom = ScreenCoordsXY{ leftTop.x, rightBottom.y };
|
auto leftBottom = ScreenCoordsXY{ leftTop.x, rightBottom.y };
|
||||||
@@ -1497,7 +1498,7 @@ static Widget window_map_widgets[] = {
|
|||||||
x /= 32;
|
x /= 32;
|
||||||
y /= 32;
|
y /= 32;
|
||||||
|
|
||||||
return { -x + y + getTechnicalMapSize() - 8, x + y - 8 };
|
return { -x + y + getTechnicalMapSize(), x + y };
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResizeMap()
|
void ResizeMap()
|
||||||
|
|||||||
Reference in New Issue
Block a user