From 408cee123df526002b7d39949330f938d29fb349 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 3 Jun 2018 21:58:34 +0100 Subject: Fix: One-way roads could be over-built by road stops (regardless of road owner.) --- src/lang/english.txt | 1 + src/station_cmd.cpp | 2 ++ 2 files changed, 3 insertions(+) (limited to 'src') diff --git a/src/lang/english.txt b/src/lang/english.txt index 3abdcc66e..15acb5578 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4234,6 +4234,7 @@ STR_ERROR_DRIVE_THROUGH_ON_TOWN_ROAD :{WHITE}... this STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... road facing in the wrong direction STR_ERROR_DRIVE_THROUGH_CORNER :{WHITE}... drive through stops can't have corners STR_ERROR_DRIVE_THROUGH_JUNCTION :{WHITE}... drive through stops can't have junctions +STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD :{WHITE}... road is one way or blocked # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}Can't remove part of station... diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 07780de13..07db05856 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -960,6 +960,8 @@ static CommandCost CheckFlatLandRoadStop(TileArea tile_area, DoCommandFlag flags num_roadbits += CountBits(GetRoadBits(cur_tile, ROADTYPE_ROAD)); } + if (GetDisallowedRoadDirections(cur_tile) != DRD_NONE) return_cmd_error(STR_ERROR_DRIVE_THROUGH_ON_ONEWAY_ROAD); + /* There is a tram, check if we can build road+tram stop over it. */ if (HasBit(cur_rts, ROADTYPE_TRAM)) { Owner tram_owner = GetRoadOwner(cur_tile, ROADTYPE_TRAM); -- cgit v1.2.3-54-g00ecf