Changeset - r9509:f14f29c5dc48
[Not reviewed]
master
0 3 0
frosch - 16 years ago 2008-06-12 21:36:56
frosch@openttd.org
(svn r13499) -Codechange: Allow drawing (ugly) leveled foundations on steep slopes, just in case someone needs them for fallback.
3 files changed with 6 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/industry_cmd.cpp
Show inline comments
 
@@ -337,8 +337,7 @@ static Foundation GetFoundation_Industry
 
	IndustryGfx gfx = GetIndustryGfx(tile);
 

	
 
	/* For NewGRF industry tiles we might not be drawing a foundation. We need to
 
	 * account for this, otherwise we might be applying a FOUNDATION_LEVELED
 
	 * on a steep slope which is not allowed. Furthermore other structures should
 
	 * account for this, as other structures should
 
	 * draw the wall of the foundation in this case.
 
	 */
 
	if (gfx >= NEW_INDUSTRYTILEOFFSET) {
src/landscape.cpp
Show inline comments
 
@@ -79,8 +79,9 @@ uint ApplyFoundationToSlope(Foundation f
 
	if (!IsFoundation(f)) return 0;
 

	
 
	if (IsLeveledFoundation(f)) {
 
		uint dz = TILE_HEIGHT + (IsSteepSlope(*s) ? TILE_HEIGHT : 0);
 
		*s = SLOPE_FLAT;
 
		return TILE_HEIGHT;
 
		return dz;
 
	}
 

	
 
	if (f != FOUNDATION_STEEP_BOTH && IsNonContinuousFoundation(f)) {
 
@@ -402,6 +403,9 @@ void DrawFoundation(TileInfo *ti, Founda
 

	
 
			AddSortableSpriteToDraw(inclined_base + inclined, PAL_NONE, ti->x, ti->y, 16, 16, 1, ti->z);
 
			OffsetGroundSprite(31, 9);
 
		} else if (IsLeveledFoundation(f)) {
 
			AddSortableSpriteToDraw(leveled_base + SlopeWithOneCornerRaised(highest_corner), PAL_NONE, ti->x, ti->y, 16, 16, 7, ti->z - TILE_HEIGHT);
 
			OffsetGroundSprite(31, 1);
 
		} else if (f == FOUNDATION_STEEP_LOWER) {
 
			/* one corner raised */
 
			OffsetGroundSprite(31, 1);
src/slope_func.h
Show inline comments
 
@@ -347,13 +347,11 @@ static inline Corner GetRailFoundationCo
 
 * Returns the foundation needed to flatten a slope.
 
 * The returned foundation is either FOUNDATION_NONE if the tile was already flat, or FOUNDATION_LEVELED.
 
 *
 
 * @pre      The slope must not be steep.
 
 * @param s  The current #Slope.
 
 * @return   The needed #Foundation.
 
 */
 
static inline Foundation FlatteningFoundation(Slope s)
 
{
 
	assert(!IsSteepSlope(s));
 
	return (s == SLOPE_FLAT ? FOUNDATION_NONE : FOUNDATION_LEVELED);
 
}
 

	
0 comments (0 inline, 0 general)