diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index 6c03de201f..72567920e5 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -7,7 +7,7 @@ #include "stdafx.h" #include "openttd.h" #include "variables.h" -#include "clear_map.h" +#include "landscape.h" #include "town.h" #include "industry.h" #include "newgrf.h" @@ -229,7 +229,7 @@ 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; + case LT_ARCTIC: return GetTileZ(tile) >= GetSnowLine() ? 4 : 0; default: return 0; } } diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index d00d925af0..e53e4d9125 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -15,6 +15,7 @@ #include "station_map.h" #include "newgrf.h" #include "newgrf_callbacks.h" +#include "newgrf_commons.h" #include "newgrf_station.h" #include "newgrf_spritegroup.h" #include "date.h" @@ -388,10 +389,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by /* Calculated station variables */ case 0x40: return GetPlatformInfoHelper(tile, false, false, false); case 0x41: return GetPlatformInfoHelper(tile, true, false, false); - case 0x42: // Terrain and rail type - return ((_opt.landscape == LT_ARCTIC && GetTileZ(tile) > GetSnowLine()) ? 4 : 0) | - (_opt.landscape == LT_TROPIC ? GetTropicZone(tile) : 0) | - (GetRailType(tile) << 8); + case 0x42: return GetTerrainType(tile) | (GetRailType(tile) << 8); case 0x43: return st->owner; // Station owner case 0x44: return 2; // PBS status case 0x45: return GetRailContinuationInfo(tile);