summaryrefslogtreecommitdiff
path: root/src/script/api/script_tile.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2013-04-30 17:16:32 +0000
committerrubidium <rubidium@openttd.org>2013-04-30 17:16:32 +0000
commit5730e63a10f8edfe2b1495242f19b9b60589a4e2 (patch)
treed76689f8ad86c50720c67c76544f09ee2238c76a /src/script/api/script_tile.cpp
parent5b55afb7bd21ae6fc1cc6480aac2946262d63684 (diff)
downloadopenttd-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.cpp13
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;