diff options
author | rubidium <rubidium@openttd.org> | 2013-04-30 17:16:32 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2013-04-30 17:16:32 +0000 |
commit | 5730e63a10f8edfe2b1495242f19b9b60589a4e2 (patch) | |
tree | d76689f8ad86c50720c67c76544f09ee2238c76a /src/script/api/script_tile.cpp | |
parent | 5b55afb7bd21ae6fc1cc6480aac2946262d63684 (diff) | |
download | openttd-5730e63a10f8edfe2b1495242f19b9b60589a4e2.tar.xz |
(svn r25213) -Fix [FS#5537]: clarify on which tiles IsDesertTile and IsSnowTile work, i.e. the ones without infrastructure or buildings
-Feature: introduce GetTerrainType which allows one to get that information for tiles with buildings and infrastructure as well
Diffstat (limited to 'src/script/api/script_tile.cpp')
-rw-r--r-- | src/script/api/script_tile.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/script/api/script_tile.cpp b/src/script/api/script_tile.cpp index f6f016213..b14bea649 100644 --- a/src/script/api/script_tile.cpp +++ b/src/script/api/script_tile.cpp @@ -135,6 +135,19 @@ return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_DESERT)); } +/* static */ ScriptTile::TerrainType ScriptTile::GetTerrainType(TileIndex tile) +{ + if (!::IsValidTile(tile)) return TERRAIN_NORMAL; + + switch (::GetTerrainType(tile)) { + default: + case 0: return TERRAIN_NORMAL; + case 1: return TERRAIN_DESERT; + case 2: return TERRAIN_RAINFOREST; + case 4: return TERRAIN_SNOW; + } +} + /* static */ ScriptTile::Slope ScriptTile::GetSlope(TileIndex tile) { if (!::IsValidTile(tile)) return SLOPE_INVALID; |