equal
deleted
inserted
replaced
635 if (flags & DC_EXEC) { |
635 if (flags & DC_EXEC) { |
636 SetClearUnderBridge(tile); |
636 SetClearUnderBridge(tile); |
637 MarkTileDirtyByTile(tile); |
637 MarkTileDirtyByTile(tile); |
638 } |
638 } |
639 return cost; |
639 return cost; |
640 } else if (IsWaterUnderBridge(tile) && TilePixelHeight(tile) != 0) { |
640 } else if (IsWaterUnderBridge(tile) && !IsTileOwner(tile, OWNER_WATER)) { |
641 /* delete canal under bridge */ |
641 /* delete canal under bridge */ |
642 |
642 |
643 // check for vehicles under bridge |
643 // check for vehicles under bridge |
644 if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR; |
644 if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR; |
645 |
645 |
708 } else { |
708 } else { |
709 if (IsClearUnderBridge(c)) { |
709 if (IsClearUnderBridge(c)) { |
710 DoClearSquare(c); |
710 DoClearSquare(c); |
711 } else { |
711 } else { |
712 if (GetTileSlope(c, NULL) == SLOPE_FLAT) { |
712 if (GetTileSlope(c, NULL) == SLOPE_FLAT) { |
713 MakeWater(c); |
713 if (IsTileOwner(c, OWNER_WATER)) { |
|
714 MakeWater(c); |
|
715 } else { |
|
716 MakeCanal(c, GetTileOwner(c)); |
|
717 } |
714 } else { |
718 } else { |
715 MakeShore(c); |
719 MakeShore(c); |
716 } |
720 } |
717 MarkTileDirtyByTile(c); |
721 MarkTileDirtyByTile(c); |
718 } |
722 } |
1028 image = (ice ? SPR_FLAT_SNOWY_TILE : SPR_FLAT_GRASS_TILE); |
1032 image = (ice ? SPR_FLAT_SNOWY_TILE : SPR_FLAT_GRASS_TILE); |
1029 DrawGroundSprite(image + _tileh_to_sprite[ti->tileh]); |
1033 DrawGroundSprite(image + _tileh_to_sprite[ti->tileh]); |
1030 } else { |
1034 } else { |
1031 if (ti->tileh == SLOPE_FLAT) { |
1035 if (ti->tileh == SLOPE_FLAT) { |
1032 DrawGroundSprite(SPR_FLAT_WATER_TILE); |
1036 DrawGroundSprite(SPR_FLAT_WATER_TILE); |
1033 if (ti->z != 0) DrawCanalWater(ti->tile); |
1037 if (ti->z != 0 || !IsTileOwner(ti->tile, OWNER_WATER)) DrawCanalWater(ti->tile); |
1034 } else { |
1038 } else { |
1035 DrawGroundSprite(_water_shore_sprites[ti->tileh]); |
1039 DrawGroundSprite(_water_shore_sprites[ti->tileh]); |
1036 } |
1040 } |
1037 } |
1041 } |
1038 } |
1042 } |