tunnelbridge_cmd.c
changeset 1587 e054351c7bf0
parent 1585 9746fa4b40a7
child 1775 548dc04d50e2
--- a/tunnelbridge_cmd.c	Sun Mar 27 16:19:07 2005 +0000
+++ b/tunnelbridge_cmd.c	Sun Mar 27 16:40:01 2005 +0000
@@ -1498,23 +1498,16 @@
 	return 0;
 }
 
-uint GetVehicleOutOfTunnelTile(Vehicle *v)
+TileIndex GetVehicleOutOfTunnelTile(const Vehicle *v)
 {
-	uint tile = v->tile;
-	int delta_tile;
-	byte z;
+	TileIndex tile;
+	TileIndexDiff delta = (v->direction & 2) ? TILE_XY(0, 1) : TILE_XY(1, 0);
+	byte z = v->z_pos;
 
-	/* locate either ending of the tunnel */
-	delta_tile = (v->direction&2) ? TILE_XY(0,1) : TILE_XY(1,0);
-	z = v->z_pos;
-	for(;;) {
-		TileInfo ti;
-		FindLandscapeHeightByTile(&ti, tile);
-
-		if (ti.type == MP_TUNNELBRIDGE && (ti.map5 & 0xF0)==0 && (byte)ti.z == z)
+	for (tile = v->tile;; tile += delta) {
+		if (IsTileType(tile, MP_TUNNELBRIDGE) && (_map5[tile] & 0xF0) == 0 &&
+				GetTileZ(tile) == z)
 			break;
-
-		tile += delta_tile;
 	}
 	return tile;
 }