From 72ee11a7c63211a3ffe34c834d7ca579d83af1f4 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 11 Jul 2010 17:28:19 +0000 Subject: (svn r20126) -Fix [FS#3883]: Make railtype Terrain Type variable aware of RAIL_GROUND_HALF_SNOW. That is, resolve the sprites for upper and lower part of the foundation independently. --- src/newgrf_commons.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/newgrf_commons.cpp') diff --git a/src/newgrf_commons.cpp b/src/newgrf_commons.cpp index ec4810461..821d1362d 100644 --- a/src/newgrf_commons.cpp +++ b/src/newgrf_commons.cpp @@ -280,9 +280,10 @@ void IndustryTileOverrideManager::SetEntitySpec(const IndustryTileSpec *its) /** 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 + * @param upper_halftile If true, query upper halftile in case of rail tiles. * @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) +uint32 GetTerrainType(TileIndex tile, bool upper_halftile) { switch (_settings_game.game_creation.landscape) { case LT_TROPIC: return GetTropicZone(tile); @@ -295,7 +296,7 @@ uint32 GetTerrainType(TileIndex tile) case MP_RAILWAY: { RailGroundType ground = GetRailGroundType(tile); - has_snow = (ground == RAIL_GROUND_ICE_DESERT); + has_snow = (ground == RAIL_GROUND_ICE_DESERT || (upper_halftile && ground == RAIL_GROUND_HALF_SNOW)); break; } -- cgit v1.2.3-54-g00ecf