summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/smallmap_gui.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp
index 24b72aca6..05fe9cc2f 100644
--- a/src/smallmap_gui.cpp
+++ b/src/smallmap_gui.cpp
@@ -586,14 +586,15 @@ class SmallMapWindow : public Window {
}
/**
- * Decide which tile to show to the user from a group of tiles.
- * @param ta Tile area to investigate.
- * @return Most interesting tile. May be #INVALID_TILE if off-map.
+ * Decide which colours to show to the user for a group of tiles.
+ * @param ta Tile area to investigate.
+ * @param proc Pointer to the colour function.
+ * @return Colours to display.
*/
- inline TileIndex GetMostImportantTileFromGroup(const TileArea &ta) const
+ inline uint32 GetTileColours(const TileArea &ta, GetSmallMapPixels *proc) const
{
int importance = 0;
- TileIndex tile = INVALID_TILE;
+ TileIndex tile = INVALID_TILE; // Position of the most important tile.
TILE_AREA_LOOP(ti, ta) {
TileType ttype = GetEffectiveTileType(ti);
@@ -602,7 +603,7 @@ class SmallMapWindow : public Window {
tile = ti;
}
}
- return tile;
+ return proc(tile);
}
/**
@@ -644,7 +645,7 @@ class SmallMapWindow : public Window {
}
ta.ClampToMap(); // Clamp to map boundaries (may contain MP_VOID tiles!).
- uint32 val = proc(this->GetMostImportantTileFromGroup(ta));
+ uint32 val = this->GetTileColours(ta, proc);
uint8 *val8 = (uint8 *)&val;
int idx = max(0, -start_pos);
for (int pos = max(0, start_pos); pos < end_pos; pos++) {