diff --git a/src/openrct2-ui/windows/Scenery.cpp b/src/openrct2-ui/windows/Scenery.cpp index 1d9099a441..dd6050f407 100644 --- a/src/openrct2-ui/windows/Scenery.cpp +++ b/src/openrct2-ui/windows/Scenery.cpp @@ -1899,18 +1899,6 @@ namespace OpenRCT2::Ui::Windows } auto* sceneryEntry = ObjectManager::GetObjectEntry(selection.EntryIndex); - MapSelection::ClearSelectedTiles(); - - for (auto& tile : sceneryEntry->tiles) - { - CoordsXY tileLocation = { tile.offset }; - auto rotatedTileCoords = tileLocation.Rotate(direction); - - rotatedTileCoords.x += mapTile.x; - rotatedTileCoords.y += mapTile.y; - - MapSelection::AddSelectedTile(rotatedTileCoords); - } gMapSelectFlags.set(MapSelectFlag::enableConstruct); @@ -1922,6 +1910,12 @@ namespace OpenRCT2::Ui::Windows return; } + MapSelection::ClearSelectedTiles(); + for (auto& tile : sceneryEntry->tiles) + { + MapSelection::AddSelectedTile(mapTile + tile.offset.Rotate(direction)); + } + SceneryRemoveGhostToolPlacement(); gSceneryPlaceObject.SceneryType = SCENERY_TYPE_LARGE;