From f1b683b3729a2de7db9b1283fe812435e454642b Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 20 Feb 2025 19:21:39 +0000 Subject: [PATCH] Change: Show the type of land covered by snow. --- src/clear_cmd.cpp | 24 +++++++++++++----------- src/lang/english.txt | 4 +++- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index 8c4f0bb2d1..97b154d5bd 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -335,21 +335,23 @@ static TrackStatus GetTileTrackStatus_Clear(TileIndex, TransportType, uint, Diag return 0; } -static const StringID _clear_land_str[] = { - STR_LAI_CLEAR_DESCRIPTION_GRASS, - STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND, - STR_LAI_CLEAR_DESCRIPTION_ROCKS, - STR_LAI_CLEAR_DESCRIPTION_FIELDS, - STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND, - STR_LAI_CLEAR_DESCRIPTION_DESERT -}; - static void GetTileDesc_Clear(TileIndex tile, TileDesc &td) { - if (IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) == 0) { + /* Each pair holds a normal and a snowy ClearGround description. */ + static constexpr std::pair clear_land_str[] = { + {STR_LAI_CLEAR_DESCRIPTION_GRASS, STR_LAI_CLEAR_DESCRIPTION_SNOWY_GRASS}, + {STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND, STR_LAI_CLEAR_DESCRIPTION_SNOWY_ROUGH_LAND}, + {STR_LAI_CLEAR_DESCRIPTION_ROCKS, STR_LAI_CLEAR_DESCRIPTION_SNOWY_ROCKS}, + {STR_LAI_CLEAR_DESCRIPTION_FIELDS, STR_EMPTY}, + {STR_EMPTY, STR_EMPTY}, // CLEAR_SNOW does not appear in the map. + {STR_LAI_CLEAR_DESCRIPTION_DESERT, STR_EMPTY}, + }; + + if (!IsSnowTile(tile) && IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) == 0) { td.str = STR_LAI_CLEAR_DESCRIPTION_BARE_LAND; } else { - td.str = _clear_land_str[GetClearGround(tile)]; + const auto &[name, snowy_name] = clear_land_str[GetClearGround(tile)]; + td.str = IsSnowTile(tile) ? snowy_name : name; } td.owner[0] = GetTileOwner(tile); } diff --git a/src/lang/english.txt b/src/lang/english.txt index ef9bbddada..d9cdda01e3 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -3157,8 +3157,10 @@ STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Rough land STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Bare land STR_LAI_CLEAR_DESCRIPTION_GRASS :Grass STR_LAI_CLEAR_DESCRIPTION_FIELDS :Fields -STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Snow-covered land STR_LAI_CLEAR_DESCRIPTION_DESERT :Desert +STR_LAI_CLEAR_DESCRIPTION_SNOWY_ROCKS :Snow-covered rocks +STR_LAI_CLEAR_DESCRIPTION_SNOWY_ROUGH_LAND :Snow-covered rough land +STR_LAI_CLEAR_DESCRIPTION_SNOWY_GRASS :Snow-covered grass STR_LAI_RAIL_DESCRIPTION_TRACK :Railway track STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Railway track with block signals