(svn r2091) Small cleanup: uint -> TileIndex, const, don't call FindLandscapeHeightByTile()
authortron
Sun, 27 Mar 2005 16:40:01 +0000
changeset 1587 e6bcc5a3cb86
parent 1586 d2d8ceccd935
child 1588 5cb399cb05e5
(svn r2091) Small cleanup: uint -> TileIndex, const, don't call FindLandscapeHeightByTile()
tunnelbridge_cmd.c
vehicle.h
--- 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;
 }
--- a/vehicle.h	Sun Mar 27 16:19:07 2005 +0000
+++ b/vehicle.h	Sun Mar 27 16:40:01 2005 +0000
@@ -282,7 +282,7 @@
 
 void VehicleInTheWayErrMsg(Vehicle *v);
 Vehicle *FindVehicleBetween(TileIndex from, TileIndex to, byte z);
-uint GetVehicleOutOfTunnelTile(Vehicle *v);
+TileIndex GetVehicleOutOfTunnelTile(const Vehicle *v);
 
 bool UpdateSignalsOnSegment(uint tile, byte direction);
 void SetSignalsOnBothDir(uint tile, byte track);