summaryrefslogtreecommitdiff
path: root/src/smallmap_gui.cpp
diff options
context:
space:
mode:
authorSamuXarick <43006711+SamuXarick@users.noreply.github.com>2021-01-12 20:32:17 +0000
committerCharles Pigott <charlespigott@googlemail.com>2021-01-13 15:05:15 +0000
commitf9dee5aaa0a557987eeef41690a2a88536f4902b (patch)
tree5e94e36bbda02754e5d54c7ba3e57228ca603f8f /src/smallmap_gui.cpp
parentde44ce2092a74a88236b08c8afba9f5af59af76d (diff)
downloadopenttd-f9dee5aaa0a557987eeef41690a2a88536f4902b.tar.xz
Feature: Show rainforest under vegetation on small map
Diffstat (limited to 'src/smallmap_gui.cpp')
-rw-r--r--src/smallmap_gui.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp
index 8ece48d93..ef1638d2f 100644
--- a/src/smallmap_gui.cpp
+++ b/src/smallmap_gui.cpp
@@ -115,11 +115,12 @@ static const LegendAndColour _legend_vegetation[] = {
MK(PC_ROUGH_LAND, STR_SMALLMAP_LEGENDA_ROUGH_LAND),
MK(PC_GRASS_LAND, STR_SMALLMAP_LEGENDA_GRASS_LAND),
MK(PC_BARE_LAND, STR_SMALLMAP_LEGENDA_BARE_LAND),
+ MK(PC_RAINFOREST, STR_SMALLMAP_LEGENDA_RAINFOREST),
MK(PC_FIELDS, STR_SMALLMAP_LEGENDA_FIELDS),
MK(PC_TREES, STR_SMALLMAP_LEGENDA_TREES),
- MK(PC_GREEN, STR_SMALLMAP_LEGENDA_FOREST),
- MS(PC_GREY, STR_SMALLMAP_LEGENDA_ROCKS),
+ MS(PC_GREEN, STR_SMALLMAP_LEGENDA_FOREST),
+ MK(PC_GREY, STR_SMALLMAP_LEGENDA_ROCKS),
MK(PC_ORANGE, STR_SMALLMAP_LEGENDA_DESERT),
MK(PC_LIGHT_BLUE, STR_SMALLMAP_LEGENDA_SNOW),
MK(PC_BLACK, STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES),
@@ -531,7 +532,11 @@ static inline uint32 GetSmallMapVegetationPixels(TileIndex tile, TileType t)
{
switch (t) {
case MP_CLEAR:
- return (IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) < 3) ? MKCOLOUR_XXXX(PC_BARE_LAND) : _vegetation_clear_bits[GetClearGround(tile)];
+ if (IsClearGround(tile, CLEAR_GRASS)) {
+ if (GetClearDensity(tile) < 3) return MKCOLOUR_XXXX(PC_BARE_LAND);
+ if (GetTropicZone(tile) == TROPICZONE_RAINFOREST) return MKCOLOUR_XXXX(PC_RAINFOREST);
+ }
+ return _vegetation_clear_bits[GetClearGround(tile)];
case MP_INDUSTRY:
return IsTileForestIndustry(tile) ? MKCOLOUR_XXXX(PC_GREEN) : MKCOLOUR_XXXX(PC_DARK_RED);
@@ -540,7 +545,7 @@ static inline uint32 GetSmallMapVegetationPixels(TileIndex tile, TileType t)
if (GetTreeGround(tile) == TREE_GROUND_SNOW_DESERT || GetTreeGround(tile) == TREE_GROUND_ROUGH_SNOW) {
return (_settings_game.game_creation.landscape == LT_ARCTIC) ? MKCOLOUR_XYYX(PC_LIGHT_BLUE, PC_TREES) : MKCOLOUR_XYYX(PC_ORANGE, PC_TREES);
}
- return MKCOLOUR_XYYX(PC_GRASS_LAND, PC_TREES);
+ return (GetTropicZone(tile) == TROPICZONE_RAINFOREST) ? MKCOLOUR_XYYX(PC_RAINFOREST, PC_TREES) : MKCOLOUR_XYYX(PC_GRASS_LAND, PC_TREES);
default:
return ApplyMask(MKCOLOUR_XXXX(PC_GRASS_LAND), &_smallmap_vehicles_andor[t]);