summaryrefslogtreecommitdiff
path: root/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'map.h')
-rw-r--r--map.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/map.h b/map.h
index 126bdd0b3..1ff6109e6 100644
--- a/map.h
+++ b/map.h
@@ -79,6 +79,14 @@ static inline uint TileHeight(TileIndex tile)
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;
@@ -90,6 +98,13 @@ static inline int TileType(TileIndex tile)
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;