Changeset - r13876:df9df30e6118
[Not reviewed]
master
0 1 0
rubidium - 15 years ago 2009-12-06 16:14:13
rubidium@openttd.org
(svn r18415) -Fix [FS#3332]: on slopes the original and better road layouts did not check their minimum distance requirements
1 file changed with 4 insertions and 15 deletions:
0 comments (0 inline, 0 general)
src/town_cmd.cpp
Show inline comments
 
@@ -788,19 +788,8 @@ static bool IsRoadAllowedHere(Town *t, T
 
		}
 

	
 
		cur_slope = _settings_game.construction.build_on_slopes ? GetFoundationSlope(tile, NULL) : GetTileSlope(tile, NULL);
 
		if (cur_slope == SLOPE_FLAT) {
 
no_slope:
 
			/* Tile has no slope */
 
			switch (t->layout) {
 
				default: NOT_REACHED();
 

	
 
				case TL_ORIGINAL: // Disallow the road if any neighboring tile has a road (distance: 1)
 
					return !IsNeighborRoadTile(tile, dir, 1);
 

	
 
				case TL_BETTER_ROADS: // Disallow the road if any neighboring tile has a road (distance: 1 and 2).
 
					return !IsNeighborRoadTile(tile, dir, 2);
 
			}
 
		}
 
		bool ret = !IsNeighborRoadTile(tile, dir, t->layout == TL_ORIGINAL ? 1 : 2);
 
		if (cur_slope == SLOPE_FLAT) return ret;
 

	
 
		/* If the tile is not a slope in the right direction, then
 
		 * maybe terraform some. */
 
@@ -815,12 +804,12 @@ no_slope:
 
				}
 
				if (CmdFailed(res) && Chance16(1, 3)) {
 
					/* We can consider building on the slope, though. */
 
					goto no_slope;
 
					return ret;
 
				}
 
			}
 
			return false;
 
		}
 
		return true;
 
		return ret;
 
	}
 
}
 

	
0 comments (0 inline, 0 general)