diff options
Diffstat (limited to 'src/tile_type.h')
-rw-r--r-- | src/tile_type.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/tile_type.h b/src/tile_type.h new file mode 100644 index 000000000..4c4f2a9c8 --- /dev/null +++ b/src/tile_type.h @@ -0,0 +1,54 @@ +/* $Id$ */ + +/** @file tile_type.h Types related to tiles. */ + +#ifndef TILE_TYPE_H +#define TILE_TYPE_H + +#include "core/enum_type.hpp" + +/** Maximum allowed tile height */ +#define MAX_TILE_HEIGHT 15 + +/** Maximum allowed snowline height */ +#define MAX_SNOWLINE_HEIGHT (MAX_TILE_HEIGHT - 2) + +/** + * The different type of a tile. + * + * Each tile belongs to one type, according whatever is build on it. + * + * @note A railway with a crossing street is marked as MP_ROAD. + */ +enum TileType { + MP_CLEAR, ///< A tile without any structures, i.e. grass, rocks, farm fields etc. + MP_RAILWAY, ///< A railway + MP_ROAD, ///< A tile with road (or tram tracks) + MP_HOUSE, ///< A house by a town + MP_TREES, ///< Tile got trees + MP_STATION, ///< A tile of a station + MP_WATER, ///< Water tile + MP_VOID, ///< Invisible tiles at the SW and SE border + MP_INDUSTRY, ///< Part of an industry + MP_TUNNELBRIDGE, ///< Tunnel entry/exit and bridge heads + MP_UNMOVABLE, ///< Contains an object with cannot be removed like transmitters +}; + +/** + * Additional infos of a tile on a tropic game. + * + * Each non-water tile in a tropic game is either a rainforest tile or a + * desert one. + */ +enum TropicZone { + TROPICZONE_INVALID = 0, ///< Invalid tropiczone-type + TROPICZONE_DESERT = 1, ///< Tile is desert + TROPICZONE_RAINFOREST = 2, ///< Rainforest tile +}; + +/** + * The index/ID of a Tile. + */ +typedef uint32 TileIndex; + +#endif /* TILE_TYPE_H */ |