changeset 16536:449f88af88ea draft

(svn r21262) -Fix (r18708)[FS#4246]: Custom station foundations using the 'simple foundations'-method did not draw any sprite for WSE-slopes when there are foundations on both neighboured tiles in the north. As there must be at least one sprite to provide the correct offset for the groundsprite draw the (empty) default foundation sprite in that case.
author frosch <frosch@openttd.org>
date Sat, 20 Nov 2010 00:24:50 +0000
parents 215a3956fd96
children abfc3321231b
files src/station_cmd.cpp
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -2649,6 +2649,13 @@
 				if (!HasFoundationNW(ti->tile, slope, z)) ClrBit(parts, 6);
 				if (!HasFoundationNE(ti->tile, slope, z)) ClrBit(parts, 7);
 
+				if (parts == 0) {
+					/* We always have to draw at least one sprite to make sure there is a boundingbox and a sprite with the
+					 * correct offset for the childsprites.
+					 * So, draw the (completely empty) sprite of the default foundations. */
+					goto draw_default_foundation;
+				}
+
 				StartSpriteCombine();
 				for (int i = 0; i < 8; i++) {
 					if (HasBit(parts, i)) {
@@ -2661,6 +2668,7 @@
 			OffsetGroundSprite(31, 1);
 			ti->z += ApplyFoundationToSlope(FOUNDATION_LEVELED, &ti->tileh);
 		} else {
+draw_default_foundation:
 			DrawFoundation(ti, FOUNDATION_LEVELED);
 		}
 	}