(svn r1574) -Fix [ 1105281 ] upgrade rail fails when train under bridge
This commit is contained in:
		@@ -864,17 +864,25 @@ int32 DoConvertTunnelBridgeRail(uint tile, uint totype, bool exec)
 | 
			
		||||
	} else if ((_map5[tile]&0xC6) == 0x80) {
 | 
			
		||||
		uint starttile;
 | 
			
		||||
		int32 cost;
 | 
			
		||||
		uint z = TilePixelHeight(tile);
 | 
			
		||||
 | 
			
		||||
		z += 8;
 | 
			
		||||
 | 
			
		||||
		if (!CheckTileOwnership(tile)) return CMD_ERROR;
 | 
			
		||||
 | 
			
		||||
		// railway bridge
 | 
			
		||||
		starttile = tile = FindEdgesOfBridge(tile, &endtile);
 | 
			
		||||
		// Make sure there's no vehicle on the bridge
 | 
			
		||||
		if ((v=FindVehicleBetween(tile, endtile, 0xff)) != NULL) {
 | 
			
		||||
		if ((v=FindVehicleBetween(tile, endtile, z)) != NULL) {
 | 
			
		||||
			VehicleInTheWayErrMsg(v);
 | 
			
		||||
			return CMD_ERROR;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (!EnsureNoVehicle(starttile) || !EnsureNoVehicle(endtile)) {
 | 
			
		||||
			_error_message = STR_8803_TRAIN_IN_THE_WAY;
 | 
			
		||||
			return CMD_ERROR;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ( (uint)(_map3_lo[tile] & 0xF) == totype) return CMD_ERROR;
 | 
			
		||||
		cost = 0;
 | 
			
		||||
		do {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user