(svn r5806) Inline FindLandscapeHeight() into its only remaining caller and remove the attribute "type" from struct TileInfo

This commit is contained in:
tron 2006-08-07 17:32:29 +00:00
parent b62f4ed9d2
commit b3cda6ee62
4 changed files with 19 additions and 32 deletions

View File

@ -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 ChangeTileOwner(TileIndex tile, byte old_player, byte new_player);
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);

View File

@ -55,26 +55,6 @@ const byte _inclined_tileh[] = {
};
/* 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 @@ void ClickTile(TileIndex tile)
_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);

View File

@ -130,7 +130,6 @@ typedef struct TileInfo {
uint x;
uint y;
Slope tileh;
uint type;
TileIndex tile;
uint z;
} TileInfo;

View File

@ -707,7 +707,24 @@ static void ViewportAddLandscape(void)
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 @@ static void ViewportAddLandscape(void)
_added_tile_sprite = false;
_offset_ground_sprites = false;
DrawTile(&ti);
_tile_type_procs[tt]->draw_tile_proc(&ti);
DrawTileSelection(&ti);
} while (--width_cur);