summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lang/english.txt1
-rw-r--r--src/rail_cmd.cpp4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/lang/english.txt b/src/lang/english.txt
index 6b46ebd12..12f64aac5 100644
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -3474,6 +3474,7 @@ STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(money limit)
# Rail construction errors
STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Impossible track combination
+STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Must remove signals first
STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}No suitable railway track
STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Must remove railway track first
STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Road is one way or blocked
diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp
index 69e13620c..dd6e6c7da 100644
--- a/src/rail_cmd.cpp
+++ b/src/rail_cmd.cpp
@@ -197,7 +197,9 @@ static CommandCost CheckTrackCombination(TileIndex tile, TrackBits to_build, uin
if ((flags & DC_NO_RAIL_OVERLAP) || HasSignals(tile)) {
/* If we are not allowed to overlap (flag is on for ai companies or we have
* signals on the tile), check that */
- if (future != TRACK_BIT_HORZ && future != TRACK_BIT_VERT) return_cmd_error(STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION);
+ if (future != TRACK_BIT_HORZ && future != TRACK_BIT_VERT) {
+ return_cmd_error((flags & DC_NO_RAIL_OVERLAP) ? STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION : STR_ERROR_MUST_REMOVE_SIGNALS_FIRST);
+ }
}
/* Normally, we may overlap and any combination is valid */
return CommandCost();