src/elrail.cpp
changeset 7764 e594296e90f6
parent 7601 988040ee27f4
child 7849 0a1c0af2c96c
--- a/src/elrail.cpp	Sat Oct 20 14:51:09 2007 +0000
+++ b/src/elrail.cpp	Sat Oct 20 16:50:48 2007 +0000
@@ -213,6 +213,10 @@
 	/* Note that ti->tileh has already been adjusted for Foundations */
 	Slope tileh[TS_END] = { ti->tileh, SLOPE_FLAT };
 
+	/* Half tile slopes coincide only with horizontal/vertical track.
+	 * Faking a flat slope results in the correct sprites on positions. */
+	if (IsHalftileSlope(tileh[TS_HOME])) tileh[TS_HOME] = SLOPE_FLAT;
+
 	TLG tlg = GetTLG(ti->tile);
 	byte PCPstatus = 0;
 	byte OverridePCP = 0;
@@ -291,6 +295,10 @@
 
 		ApplyFoundationToSlope(foundation, &tileh[TS_NEIGHBOUR]);
 
+	/* Half tile slopes coincide only with horizontal/vertical track.
+	 * Faking a flat slope results in the correct sprites on positions. */
+		if (IsHalftileSlope(tileh[TS_NEIGHBOUR])) tileh[TS_NEIGHBOUR] = SLOPE_FLAT;
+
 		AdjustTileh(neighbour, &tileh[TS_NEIGHBOUR]);
 
 		/* If we have a straight (and level) track, we want a pylon only every 2 tiles