From 90e75871ad88ba5f44c818af11cb6ef52b1ae60b Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Thu, 17 Jun 2021 17:10:52 +0100 Subject: [PATCH] Fix bridge/tunnel building not using DC_AUTO This could result in existing infrastructure being removed at the bridge/tunnel far end --- src/road.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/road.cpp b/src/road.cpp index 16786a6242..7d0a0e545c 100644 --- a/src/road.cpp +++ b/src/road.cpp @@ -408,7 +408,7 @@ static TileIndex BuildTunnel(PathNode *current, TileIndex end_tile = INVALID_TIL assert(!build_tunnel || (IsValidTile(end_tile) && GetTileSlope(start_tile) == ComplementSlope(GetTileSlope(end_tile)))); Backup cur_company(_current_company, OWNER_DEITY, FILE_LINE); - const auto build_tunnel_cmd = CmdBuildTunnel(start_tile, build_tunnel ? DC_EXEC : DC_NONE, _public_road_type | (TRANSPORT_ROAD << 8), 0); + const auto build_tunnel_cmd = CmdBuildTunnel(start_tile, DC_AUTO | (build_tunnel ? DC_EXEC : DC_NONE), _public_road_type | (TRANSPORT_ROAD << 8), 0); cur_company.Restore(); assert(!build_tunnel || build_tunnel_cmd.Succeeded()); @@ -475,7 +475,7 @@ static TileIndex BuildBridge(PathNode *current, TileIndex end_tile = INVALID_TIL const auto bridge_type = available_bridge_types[build_bridge ? RandomRange(uint32(available_bridge_types.size())) : 0]; Backup cur_company(_current_company, OWNER_DEITY, FILE_LINE); - const auto build_bridge_cmd = CmdBuildBridge(end_tile, build_bridge ? DC_EXEC : DC_NONE, start_tile, bridge_type | (_public_road_type << 8) | (TRANSPORT_ROAD << 15)); + const auto build_bridge_cmd = CmdBuildBridge(end_tile, DC_AUTO | (build_bridge ? DC_EXEC : DC_NONE), start_tile, bridge_type | (_public_road_type << 8) | (TRANSPORT_ROAD << 15)); cur_company.Restore(); assert(!build_bridge || build_bridge_cmd.Succeeded()); @@ -534,7 +534,7 @@ static TileIndex BuildRiverBridge(PathNode *current, const DiagDirection road_di const auto bridge_type = available_bridge_types[build_bridge ? RandomRange(uint32(available_bridge_types.size())) : 0]; Backup cur_company(_current_company, OWNER_DEITY, FILE_LINE); - const auto build_bridge_cmd = CmdBuildBridge(end_tile, build_bridge ? DC_EXEC : DC_NONE, start_tile, bridge_type | (_public_road_type << 8) | (TRANSPORT_ROAD << 15)); + const auto build_bridge_cmd = CmdBuildBridge(end_tile, DC_AUTO | (build_bridge ? DC_EXEC : DC_NONE), start_tile, bridge_type | (_public_road_type << 8) | (TRANSPORT_ROAD << 15)); cur_company.Restore(); assert(!build_bridge || build_bridge_cmd.Succeeded());