diff options
author | tron <tron@openttd.org> | 2005-01-29 12:19:05 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2005-01-29 12:19:05 +0000 |
commit | 5885b31bb41066c2c5b01162570e3aab91ed9f23 (patch) | |
tree | 5a259a26ab08aa8888231856fb02ed934a69fb6f /tile.h | |
parent | 3b6901f7fdba7b9a7ee516e2e8d4ab9ec66cf654 (diff) | |
download | openttd-5885b31bb41066c2c5b01162570e3aab91ed9f23.tar.xz |
(svn r1713) Split off several functions which query/set information about a single tile from map.h and put them into a seperate file tile.h
Diffstat (limited to 'tile.h')
-rw-r--r-- | tile.h | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +#ifndef TILE_H +#define TILE_H + +#include "map.h" + +static inline uint TileHeight(TileIndex tile) +{ + assert(tile < MapSize()); + return _map_type_and_height[tile] & 0xf; +} + +static inline void SetTileHeight(TileIndex tile, uint height) +{ + assert(tile < MapSize()); + assert(height < 16); + _map_type_and_height[tile] &= ~0x0F; + _map_type_and_height[tile] |= height; +} + +static inline uint TilePixelHeight(TileIndex tile) +{ + return TileHeight(tile) * 8; +} + +static inline int TileType(TileIndex tile) +{ + assert(tile < MapSize()); + return _map_type_and_height[tile] >> 4; +} + +static inline void SetTileType(TileIndex tile, uint type) +{ + assert(tile < MapSize()); + _map_type_and_height[tile] &= ~0xF0; + _map_type_and_height[tile] |= type << 4; +} + +static inline bool IsTileType(TileIndex tile, int type) +{ + return TileType(tile) == type; +} + +#endif |