1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 09:32:29 +01:00

Render selection grid for Map ownership on the water

This commit is contained in:
Michael Steenbeek
2024-02-01 10:30:33 +01:00
committed by GitHub
parent a377538f0a
commit 40c7e73189
2 changed files with 15 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
0.4.8 (in development)
------------------------------------------------------------------------
- Feature: [#21062] [Plugin] Add API for managing a guest's items.
- Improved: [#18632] Land ownership and construction rights are now shown on top of the water.
- Improved: [#18632, #21306] Land ownership and construction rights are now shown on top of the water.
- Improved: [#20951] Activate OpenRCT2 window after using native file dialog on macOS.
- Improved: [#21184] The construction marker for rides, paths and large scenery is now shown on top of the water.
- Improved: [#21227] Entrance style dropdown is now sorted alphabetically everywhere.

View File

@@ -430,12 +430,16 @@ public:
{
MapInvalidateSelectionRect();
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE;
auto mapCoords = ScreenGetMapXY(screenCoords, nullptr);
if (!mapCoords.has_value())
auto info = GetMapCoordinatesFromPos(
screenCoords, EnumsToFlags(ViewportInteractionItem::Terrain, ViewportInteractionItem::Water));
if (info.SpriteType == ViewportInteractionItem::None)
return;
auto mapCoords = info.Loc;
gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE;
gMapSelectType = MAP_SELECT_TYPE_FULL;
gMapSelectType = MAP_SELECT_TYPE_FULL_LAND_RIGHTS;
int32_t landRightsToolSize = _landRightsToolSize;
if (landRightsToolSize == 0)
@@ -443,11 +447,12 @@ public:
int32_t size = (landRightsToolSize * 32) - 32;
int32_t radius = (landRightsToolSize * 16) - 16;
mapCoords->x = (mapCoords->x - radius) & 0xFFE0;
mapCoords->y = (mapCoords->y - radius) & 0xFFE0;
gMapSelectPositionA = *mapCoords;
gMapSelectPositionB.x = mapCoords->x + size;
gMapSelectPositionB.y = mapCoords->y + size;
mapCoords.x -= radius;
mapCoords.y -= radius;
mapCoords = mapCoords.ToTileStart();
gMapSelectPositionA = mapCoords;
gMapSelectPositionB.x = mapCoords.x + size;
gMapSelectPositionB.y = mapCoords.y + size;
MapInvalidateSelectionRect();
}
@@ -687,7 +692,7 @@ public:
MapInvalidateSelectionRect();
gMapSelectFlags |= MAP_SELECT_FLAG_ENABLE;
gMapSelectType = MAP_SELECT_TYPE_FULL;
gMapSelectType = MAP_SELECT_TYPE_FULL_LAND_RIGHTS;
gMapSelectPositionA = mapCoords;
gMapSelectPositionB = mapCoords + CoordsXY{ size, size };
MapInvalidateSelectionRect();