Changeset - r19967:9ab7ba21d985
[Not reviewed]
master
0 1 0
planetmaker - 12 years ago 2013-01-20 12:43:25
planetmaker@openttd.org
(svn r24923) -Fix [FS#5441]: When an object built on a river is removed, restore the river, if possible also on slopes (based on patch by Supercheese)
1 file changed with 10 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/water_cmd.cpp
Show inline comments
 
@@ -161,7 +161,9 @@ void MakeWaterKeepingClass(TileIndex til
 

	
 
	/* Autoslope might turn an originally canal or river tile into land */
 
	int z;
 
	if (GetTileSlope(tile, &z) != SLOPE_FLAT) {
 
	Slope slope = GetTileSlope(tile, &z);
 

	
 
	if (slope != SLOPE_FLAT) {
 
		if (wc == WATER_CLASS_CANAL) {
 
			/* If we clear the canal, we have to remove it from the infrastructure count as well. */
 
			Company *c = Company::GetIfValid(o);
 
@@ -169,8 +171,14 @@ void MakeWaterKeepingClass(TileIndex til
 
				c->infrastructure.water--;
 
				DirtyCompanyInfrastructureWindows(c->index);
 
			}
 
			/* Sloped canals are locks and no natural water remains whatever the slope direction */
 
			wc = WATER_CLASS_INVALID;
 
		}
 
		wc = WATER_CLASS_INVALID;
 

	
 
		/* There must not be water sloped invalidly, whatever class it may be */
 
		if (GetInclinedSlopeDirection(slope) == INVALID_DIAGDIR) {
 
			wc = WATER_CLASS_INVALID;
 
		}
 
	}
 

	
 
	if (wc == WATER_CLASS_SEA && z > 0) {
0 comments (0 inline, 0 general)