summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rail_cmd.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp
index ae7178c18..ddeda2818 100644
--- a/src/rail_cmd.cpp
+++ b/src/rail_cmd.cpp
@@ -319,15 +319,14 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
switch (GetTileType(tile)) {
case MP_RAILWAY:
+ if (!CheckTileOwnership(tile)) return CMD_ERROR;
+
+ if (!IsCompatibleRail(GetRailType(tile), railtype)) return_cmd_error(STR_1001_IMPOSSIBLE_TRACK_COMBINATION);
+
if (!CheckTrackCombination(tile, trackbit, flags) ||
!EnsureNoTrainOnTrack(tile, track)) {
return CMD_ERROR;
}
- if (!IsTileOwner(tile, _current_company) ||
- !IsCompatibleRail(GetRailType(tile), railtype)) {
- /* Get detailed error message */
- return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
- }
ret = CheckRailSlope(tileh, trackbit, GetTrackBits(tile), tile);
if (CmdFailed(ret)) return ret;