OpenTTD

tile_type.h
Go to the documentation of this file.
1 /* $Id: tile_type.h 27987 2018-03-11 13:25:26Z frosch $ */
2
3 /*
4 * This file is part of OpenTTD.
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 */
9
12 #ifndef TILE_TYPE_H
13 #define TILE_TYPE_H
14
15 static const uint TILE_SIZE = 16;
16 static const uint TILE_UNIT_MASK = TILE_SIZE - 1;
17 static const uint TILE_PIXELS = 32;
18 static const uint TILE_HEIGHT = 8;
19
20 static const uint MAX_BUILDING_PIXELS = 200;
21 static const int MAX_VEHICLE_PIXEL_X = 192;
22 static const int MAX_VEHICLE_PIXEL_Y = 96;
23
24 static const uint MAX_TILE_HEIGHT = 255;
25
26 static const uint MIN_MAX_HEIGHTLEVEL = 15;
27 static const uint DEF_MAX_HEIGHTLEVEL = 30;
28 static const uint MAX_MAX_HEIGHTLEVEL = MAX_TILE_HEIGHT;
29
30 static const uint MIN_SNOWLINE_HEIGHT = 2;
31 static const uint DEF_SNOWLINE_HEIGHT = 15;
32 static const uint MAX_SNOWLINE_HEIGHT = (MAX_TILE_HEIGHT - 2);
33
34
42 enum TileType {
43 MP_CLEAR,
44 MP_RAILWAY,
45 MP_ROAD,
46 MP_HOUSE,
47 MP_TREES,
48 MP_STATION,
49 MP_WATER,
50 MP_VOID,
51 MP_INDUSTRY,
52 MP_TUNNELBRIDGE,
53 MP_OBJECT,
54 };
55
71 enum TropicZone {
72 TROPICZONE_NORMAL = 0,
73 TROPICZONE_DESERT = 1,
74 TROPICZONE_RAINFOREST = 2,
75 };
76
80 typedef uint32 TileIndex;
81
85 static const TileIndex INVALID_TILE = (TileIndex)-1;
86
87 #endif /* TILE_TYPE_H */
TILE_PIXELS
static const uint TILE_PIXELS
Pixel distance between tile columns/rows in #ZOOM_LVL_BASE.
Definition: tile_type.h:17
TROPICZONE_RAINFOREST
Rainforest tile.
Definition: tile_type.h:74
TROPICZONE_NORMAL
Normal tropiczone.
Definition: tile_type.h:72
TROPICZONE_DESERT
Tile is desert.
Definition: tile_type.h:73
MAX_TILE_HEIGHT
static const uint MAX_TILE_HEIGHT
Maximum allowed tile height.
Definition: tile_type.h:24
TropicZone
TropicZone
Additional infos of a tile on a tropic game.
Definition: tile_type.h:71
MP_INDUSTRY
Part of an industry.
Definition: tile_type.h:51
MAX_MAX_HEIGHTLEVEL
static const uint MAX_MAX_HEIGHTLEVEL
Upper bound of maximum allowed heightlevel (in the construction settings)
Definition: tile_type.h:28
TileType
TileType
The different types of tiles.
Definition: tile_type.h:42
MP_ROAD
A tile with road (or tram tracks)
Definition: tile_type.h:45
MP_RAILWAY
A railway.
Definition: tile_type.h:44
MP_OBJECT
Contains objects such as transmitters and owned land.
Definition: tile_type.h:53
TILE_SIZE
static const uint TILE_SIZE
Tile size in world coordinates.
Definition: tile_type.h:15
DEF_MAX_HEIGHTLEVEL
static const uint DEF_MAX_HEIGHTLEVEL
Default maximum allowed heightlevel (in the construction settings)
Definition: tile_type.h:27
MP_WATER
Water tile.
Definition: tile_type.h:49
TILE_HEIGHT
static const uint TILE_HEIGHT
Height of a height level in world coordinate AND in pixels in #ZOOM_LVL_BASE.
Definition: tile_type.h:18
MIN_SNOWLINE_HEIGHT
static const uint MIN_SNOWLINE_HEIGHT
Minimum snowline height.
Definition: tile_type.h:30
MP_TREES
Tile got trees.
Definition: tile_type.h:47
MIN_MAX_HEIGHTLEVEL
static const uint MIN_MAX_HEIGHTLEVEL
Lower bound of maximum allowed heightlevel (in the construction settings)
Definition: tile_type.h:26
MP_TUNNELBRIDGE
Tunnel entry/exit and bridge heads.
Definition: tile_type.h:52
MP_VOID
Invisible tiles at the SW and SE border.
Definition: tile_type.h:50
MAX_VEHICLE_PIXEL_X
static const int MAX_VEHICLE_PIXEL_X
Maximum width of a vehicle in pixels in #ZOOM_LVL_BASE.
Definition: tile_type.h:21
TileIndex
uint32 TileIndex
The index/ID of a Tile.
Definition: tile_type.h:80
MAX_VEHICLE_PIXEL_Y
static const int MAX_VEHICLE_PIXEL_Y
Maximum height of a vehicle in pixels in #ZOOM_LVL_BASE.
Definition: tile_type.h:22
MP_STATION
A tile of a station.
Definition: tile_type.h:48
MAX_BUILDING_PIXELS
static const uint MAX_BUILDING_PIXELS
Maximum height of a building in pixels in #ZOOM_LVL_BASE. (Also applies to "bridge buildings" on the ...
Definition: tile_type.h:20
TILE_UNIT_MASK
static const uint TILE_UNIT_MASK
For masking in/out the inner-tile world coordinate units.
Definition: tile_type.h:16
DEF_SNOWLINE_HEIGHT
static const uint DEF_SNOWLINE_HEIGHT
Default snowline height.
Definition: tile_type.h:31
INVALID_TILE
static const TileIndex INVALID_TILE
The very nice invalid tile marker.
Definition: tile_type.h:85
MP_CLEAR
A tile without any structures, i.e. grass, rocks, farm fields etc.
Definition: tile_type.h:43
MP_HOUSE
A house by a town.
Definition: tile_type.h:46
MAX_SNOWLINE_HEIGHT
static const uint MAX_SNOWLINE_HEIGHT
Maximum allowed snowline height.
Definition: tile_type.h:32