tile.h
author tron
Sat, 29 Jan 2005 12:19:05 +0000
changeset 1209 a1ac96655b79
parent 1202 map.h@7d8b86bd8ba2
child 1211 6f2f723e5c36
permissions -rw-r--r--
(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
#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