Mercurial > hg > openttd
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);