(svn r5497) -Fix: somehow in r5315 slipped some wrong logic, allowed you to build rail on all road pieces without really building it ;)
authortruelight
Fri, 14 Jul 2006 18:14:08 +0000
changeset 4139 e4acf9f12cb9
parent 4138 15f4aa024ad4
child 4140 c294db895325
(svn r5497) -Fix: somehow in r5315 slipped some wrong logic, allowed you to build rail on all road pieces without really building it ;)
rail_cmd.c
--- a/rail_cmd.c	Fri Jul 14 17:54:04 2006 +0000
+++ b/rail_cmd.c	Fri Jul 14 18:14:08 2006 +0000
@@ -286,15 +286,13 @@
 
 			if (!EnsureNoVehicle(tile)) return CMD_ERROR;
 
-			if (GetRoadTileType(tile) == ROAD_TILE_NORMAL) {
-				if (HasRoadWorks(tile)) return_cmd_error(STR_ROAD_WORKS_IN_PROGRESS);
+			if (GetRoadTileType(tile) == ROAD_TILE_NORMAL &&
+					((track == TRACK_X && GetRoadBits(tile) == ROAD_Y) ||
+					(track == TRACK_Y && GetRoadBits(tile) == ROAD_X))) {
+				if (flags & DC_EXEC) {
+					MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_X ? AXIS_Y : AXIS_X), p1, GetTownIndex(tile));
+				}
 
-				if ((track == TRACK_X && GetRoadBits(tile) == ROAD_Y) ||
-						(track == TRACK_Y && GetRoadBits(tile) == ROAD_X)) {
-					if (flags & DC_EXEC) {
-						MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_X ? AXIS_Y : AXIS_X), p1, GetTownIndex(tile));
-					}
-				}
 				break;
 			}