diff options
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r-- | src/tunnelbridge_cmd.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index aa2279d7d..e386da262 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -696,6 +696,16 @@ static int32 ClearTile_TunnelBridge(TileIndex tile, byte flags) return CMD_ERROR; } +/** + * Switches the rail type for a tunnel or a bridgehead. As the railtype + * on the bridge are determined by the one of the bridgehead, this + * functions converts the railtype on the entire bridge. + * @param tile The tile on which the railtype is to be convert. + * @param totype The railtype we want to convert to + * @param exec Switches between test and execute mode + * @return The cost and state of the operation + * @retval CMD_ERROR An error occured during the operation. + */ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec) { TileIndex endtile; @@ -724,7 +734,7 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec) YapfNotifyTrackLayoutChange(tile, track); YapfNotifyTrackLayoutChange(endtile, track); } - return (length + 1) * (_price.build_rail >> 1); + return (length + 1) * (_price.build_rail / 2); } else if (IsBridge(tile) && GetBridgeTransportType(tile) == TRANSPORT_RAIL) { if (!CheckTileOwnership(tile)) return CMD_ERROR; @@ -758,7 +768,7 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec) } } - return (DistanceManhattan(tile, endtile) + 1) * (_price.build_rail >> 1); + return (DistanceManhattan(tile, endtile) + 1) * (_price.build_rail / 2); } else { return CMD_ERROR; } |