changeset 4238:14b9f163b20f draft

(svn r5806) Inline FindLandscapeHeight() into its only remaining caller and remove the attribute "type" from struct TileInfo
author tron <tron@openttd.org>
date Mon, 07 Aug 2006 17:32:29 +0000
parents c7dd991de988
children ad111318aea5
files functions.h landscape.c openttd.h viewport.c
diffstat 4 files changed, 19 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/functions.h
+++ b/functions.h
@@ -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
+++ b/landscape.c
@@ -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
+++ b/openttd.h
@@ -130,7 +130,6 @@
 	uint x;
 	uint y;
 	Slope tileh;
-	uint type;
 	TileIndex tile;
 	uint z;
 } TileInfo;
--- a/viewport.c
+++ b/viewport.c
@@ -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);