summaryrefslogtreecommitdiff
path: root/src/station_cmd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-09-08 09:52:02 +0000
committerrubidium <rubidium@openttd.org>2007-09-08 09:52:02 +0000
commit91a49cee55bd2162099ef7bd35c318b7e77ab590 (patch)
treed8567cb4c3be776942b6892104b1373991293490 /src/station_cmd.cpp
parent8141fe0898de18d0f6a5e8da7231a1adbe7790da (diff)
downloadopenttd-91a49cee55bd2162099ef7bd35c318b7e77ab590.tar.xz
(svn r11059) -Fix [FS#1182]: inconsistency between Rail<->ElRail conversions of different kinds of rail containing tiles (normal rail, stations, depots, etc). Patch by SmatZ.
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r--src/station_cmd.cpp12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 19d838b0c..4f75d932f 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -1227,22 +1227,14 @@ static CommandCost RemoveRailroadStation(Station *st, TileIndex tile, uint32 fla
*/
CommandCost DoConvertStationRail(TileIndex tile, RailType totype, bool exec)
{
- const Station* st = GetStationByTile(tile);
-
- if (!CheckOwnership(st->owner) || !EnsureNoVehicle(tile)) return CMD_ERROR;
-
- // tile is not a railroad station?
+ /* Tile is not a railroad station? */
if (!IsRailwayStation(tile)) return CMD_ERROR;
- if (GetRailType(tile) == totype) return CMD_ERROR;
-
- // 'hidden' elrails can't be downgraded to normal rail when elrails are disabled
- if (_patches.disable_elrails && totype == RAILTYPE_RAIL && GetRailType(tile) == RAILTYPE_ELECTRIC) return CMD_ERROR;
-
if (exec) {
SetRailType(tile, totype);
MarkTileDirtyByTile(tile);
YapfNotifyTrackLayoutChange(tile, GetRailStationTrack(tile));
+ VehicleFromPos(tile, &tile, UpdateTrainPowerProc);
}
return CommandCost(_price.build_rail / 2);