(svn r5806) Inline FindLandscapeHeight() into its only remaining caller and remove the attribute "type" from struct TileInfo
authortron
Mon, 07 Aug 2006 17:32:29 +0000
changeset 4238 e017178ca040
parent 4237 d10d168c4d48
child 4239 9ec74a9b8b58
(svn r5806) Inline FindLandscapeHeight() into its only remaining caller and remove the attribute "type" from struct TileInfo
functions.h
landscape.c
openttd.h
viewport.c
--- a/functions.h	Mon Aug 07 16:56:00 2006 +0000
+++ b/functions.h	Mon Aug 07 17:32:29 2006 +0000
@@ -3,9 +3,6 @@
 #ifndef FUNCTIONS_H
 #define FUNCTIONS_H
 
-/* landscape.c */
-void FindLandscapeHeight(TileInfo *ti, uint x, uint y);
-
 void DoClearSquare(TileIndex tile);
 void RunTileLoop(void);
 
@@ -17,7 +14,6 @@
 void AnimateTile(TileIndex tile);
 void ClickTile(TileIndex tile);
 void GetTileDesc(TileIndex tile, TileDesc *td);
-void DrawTile(TileInfo *ti);
 void UpdateTownMaxPass(Town *t);
 
 bool IsValidTile(TileIndex tile);
--- a/landscape.c	Mon Aug 07 16:56:00 2006 +0000
+++ b/landscape.c	Mon Aug 07 17:32:29 2006 +0000
@@ -55,26 +55,6 @@
 };
 
 
-/* find the landscape height for the coordinates x y */
-void FindLandscapeHeight(TileInfo *ti, uint x, uint y)
-{
-	ti->x = x;
-	ti->y = y;
-
-	if (x >= MapMaxX() * TILE_SIZE - 1 || y >= MapMaxY() * TILE_SIZE - 1) {
-		ti->tileh = SLOPE_FLAT;
-		ti->type = MP_VOID;
-		ti->tile = 0;
-		ti->z = 0;
-	} else {
-		TileIndex tile = TileVirtXY(x, y);
-
-		ti->tile = tile;
-		ti->type = GetTileType(tile);
-		ti->tileh = GetTileSlope(tile, &ti->z);
-	}
-}
-
 uint GetPartialZ(int x, int y, Slope corners)
 {
 	int z = 0;
@@ -280,11 +260,6 @@
 	_tile_type_procs[GetTileType(tile)]->click_tile_proc(tile);
 }
 
-void DrawTile(TileInfo *ti)
-{
-	_tile_type_procs[ti->type]->draw_tile_proc(ti);
-}
-
 void GetTileDesc(TileIndex tile, TileDesc *td)
 {
 	_tile_type_procs[GetTileType(tile)]->get_tile_desc_proc(tile, td);
--- a/openttd.h	Mon Aug 07 16:56:00 2006 +0000
+++ b/openttd.h	Mon Aug 07 17:32:29 2006 +0000
@@ -130,7 +130,6 @@
 	uint x;
 	uint y;
 	Slope tileh;
-	uint type;
 	TileIndex tile;
 	uint z;
 } TileInfo;
--- a/viewport.c	Mon Aug 07 16:56:00 2006 +0000
+++ b/viewport.c	Mon Aug 07 17:32:29 2006 +0000
@@ -707,7 +707,24 @@
 		int y_cur = y;
 
 		do {
-			FindLandscapeHeight(&ti, x_cur, y_cur);
+			TileType tt;
+
+			ti.x = x_cur;
+			ti.y = y_cur;
+			if (0 <= x_cur && x_cur < (int)MapMaxX() * TILE_SIZE &&
+					0 <= y_cur && y_cur < (int)MapMaxY() * TILE_SIZE) {
+				TileIndex tile = TileVirtXY(x_cur, y_cur);
+
+				ti.tile = tile;
+				ti.tileh = GetTileSlope(tile, &ti.z);
+				tt = GetTileType(tile);
+			} else {
+				ti.tileh = SLOPE_FLAT;
+				ti.tile = 0;
+				ti.z = 0;
+				tt = MP_VOID;
+			}
+
 #if !defined(NEW_ROTATION)
 			y_cur += 0x10;
 			x_cur -= 0x10;
@@ -718,7 +735,7 @@
 			_added_tile_sprite = false;
 			_offset_ground_sprites = false;
 
-			DrawTile(&ti);
+			_tile_type_procs[tt]->draw_tile_proc(&ti);
 			DrawTileSelection(&ti);
 		} while (--width_cur);