(svn r10040) -Codechange: Make the function GetTerrainType public, as other functions require it
--- a/src/newgrf_commons.cpp Mon Jun 04 20:46:01 2007 +0000
+++ b/src/newgrf_commons.cpp Tue Jun 05 01:49:08 2007 +0000
@@ -6,6 +6,8 @@
#include "stdafx.h"
#include "openttd.h"
+#include "variables.h"
+#include "clear_map.h"
#include "town.h"
#include "industry.h"
#include "newgrf.h"
@@ -148,3 +150,18 @@
entity_overrides[i] = invalid_ID;
}
}
+
+/** Function used by houses (and soon industries) to get information
+ * on type of "terrain" the tile it is queries sits on.
+ * @param tile TileIndex of the tile been queried
+ * @return value corresponding to the grf expected format:
+ * Terrain type: 0 normal, 1 desert, 2 rainforest, 4 on or above snowline */
+uint32 GetTerrainType(TileIndex tile)
+{
+ switch (_opt.landscape) {
+ case LT_TROPIC: return GetTropicZone(tile) == TROPICZONE_DESERT ? 1 : 2;
+ case LT_ARCTIC: return (GetClearGround(tile) == CLEAR_SNOW) ? 4 : 0;
+ default: return 0;
+ }
+}
+
--- a/src/newgrf_commons.h Mon Jun 04 20:46:01 2007 +0000
+++ b/src/newgrf_commons.h Tue Jun 05 01:49:08 2007 +0000
@@ -66,4 +66,6 @@
extern HouseOverrideManager _house_mngr;
+uint32 GetTerrainType(TileIndex tile);
+
#endif /* NEWGRF_COMMONS_H */
--- a/src/newgrf_house.cpp Mon Jun 04 20:46:01 2007 +0000
+++ b/src/newgrf_house.cpp Tue Jun 05 01:49:08 2007 +0000
@@ -169,15 +169,6 @@
return map_class_count << 24 | town_class_count << 16 | map_id_count << 8 | town_id_count;
}
-static uint32 GetTerrainType(TileIndex tile)
-{
- switch (_opt.landscape) {
- case LT_TROPIC: return GetTropicZone(tile) == TROPICZONE_DESERT ? 1 : 2;
- case LT_ARCTIC: return GetTileZ(tile) >= GetSnowLine() ? 4 : 0;
- default: return 0;
- }
-}
-
static uint32 GetGRFParameter(HouseID house_id, byte parameter)
{
const HouseSpec *hs = GetHouseSpecs(house_id);