tunnelbridge_cmd.c
changeset 1192 cd9b8a18a183
parent 1109 1bab892228cd
child 1209 a1ac96655b79
--- a/tunnelbridge_cmd.c	Thu Jan 27 11:33:14 2005 +0000
+++ b/tunnelbridge_cmd.c	Thu Jan 27 12:52:20 2005 +0000
@@ -905,9 +905,7 @@
 static uint GetBridgeHeight(const TileInfo *ti)
 {
 	uint delta;
-	TileInfo ti_end;
-	uint tile = ti->tile;
-	uint z_correction = 0;
+	TileIndex tile = ti->tile;
 
 	// find the end tile of the bridge.
 	delta = (_map5[tile] & 1) ? TILE_XY(0,1) : TILE_XY(1,0);
@@ -916,14 +914,10 @@
 		tile += delta;
 	} while (_map5[tile] & 0x40);	// while bridge middle parts
 
-	// if the end of the bridge is on a tileh 7, the z coordinate is 1 tile too low
-	// correct it.
-	FindLandscapeHeightByTile(&ti_end, tile);
-	if (HASBIT(1 << 7, ti_end.tileh))
-		z_correction += 8;
-
-	// return the height there (the height of the NORTH CORNER)
-	return TilePixelHeight(tile) + z_correction;
+	/* Return the height there (the height of the NORTH CORNER)
+	 * If the end of the bridge is on a tileh 7 (all raised, except north corner),
+	 * the z coordinate is 1 height level too low. Compensate for that */
+	return TilePixelHeight(tile) + (GetTileSlope(tile, NULL) == 7 ? 8 : 0);
 }
 
 static const byte _bridge_foundations[2][16] = {