Changeset - r17651:17a0d61c6535
[Not reviewed]
master
0 2 0
frosch - 13 years ago 2011-05-07 00:22:46
frosch@openttd.org
(svn r22433) -Add/Fix: Add constants for the palette colours used in the smallmap and fix some windows palette indices.
2 files changed with 95 insertions and 82 deletions:
0 comments (0 inline, 0 general)
src/gfx_func.h
Show inline comments
 
@@ -187,22 +187,28 @@ extern bool _palette_remap_grf[];
 
 * @param level Intensity, 0 = black, 15 = white
 
 * @return colour
 
 */
 
#define GREY_SCALE(level) (level)
 

	
 
static const uint8 PC_BLACK              = GREY_SCALE(1);  ///< Black palette colour.
 
static const uint8 PC_DARK_GREY          = GREY_SCALE(6);  ///< Dark grey palette colour.
 
static const uint8 PC_GREY               = GREY_SCALE(10); ///< Grey palette colour.
 
static const uint8 PC_WHITE              = GREY_SCALE(15); ///< White palette colour.
 

	
 
static const uint8 PC_VERY_DARK_RED      = 0xB2;           ///< Almost-black red palette colour.
 
static const uint8 PC_DARK_RED           = 0xB4;           ///< Dark red palette colour.
 
static const uint8 PC_RED                = 0xB8;           ///< Red palette colour.
 

	
 
static const uint8 PC_VERY_DARK_BROWN    = 0x56;           ///< Almost-black brown palette colour.
 

	
 
static const uint8 PC_ORANGE             = 0xC2;           ///< Orange palette colour.
 

	
 
static const uint8 PC_YELLOW             = 0xBF;           ///< Yellow palette colour.
 
static const uint8 PC_LIGHT_YELLOW       = 0x44;           ///< Light yellow palette colour.
 
static const uint8 PC_VERY_LIGHT_YELLOW  = 0x45;           ///< Almost-white yellow palette colour.
 

	
 
static const uint8 PC_GREEN              = 0xD0;           ///< Green palette colour.
 

	
 
static const uint8 PC_DARK_BLUE          = 0x9D;           ///< Dark blue palette colour.
 
static const uint8 PC_LIGHT_BLUE         = 0x98;           ///< Light blue palette colour.
 

	
 
#endif /* GFX_FUNC_H */
src/smallmap_gui.cpp
Show inline comments
 
@@ -53,12 +53,19 @@ enum SmallMapWindowWidgets {
 

	
 
static int _smallmap_industry_count; ///< Number of used industries
 
static int _smallmap_company_count;  ///< Number of entries in the owner legend.
 

	
 
static const int NUM_NO_COMPANY_ENTRIES = 4; ///< Number of entries in the owner legend that are not companies.
 

	
 
static const uint8 PC_ROUGH_LAND      = 0x52; ///< Dark green palette colour for rough land.
 
static const uint8 PC_GRASS_LAND      = 0x54; ///< Dark green palette colour for grass land.
 
static const uint8 PC_BARE_LAND       = 0x37; ///< Brown palette colour for bare land.
 
static const uint8 PC_FIELDS          = 0x25; ///< Light brown palette colour for fields.
 
static const uint8 PC_TREES           = 0x57; ///< Green palette colour for trees.
 
static const uint8 PC_WATER           = 0xCA; ///< Dark blue palette colour for water.
 

	
 
/** Macro for ordinary entry of LegendAndColour */
 
#define MK(a, b) {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, false}
 

	
 
/** Macro for a height legend entry with configurable colour. */
 
#define MC(height)  {0, STR_TINY_BLACK_HEIGHT, INVALID_INDUSTRYTYPE, height, INVALID_COMPANY, true, false, false}
 

	
 
@@ -95,65 +102,65 @@ static LegendAndColour _legend_land_cont
 
	MC(0),
 
	MC(4),
 
	MC(8),
 
	MC(12),
 
	MC(14),
 

	
 
	MS(0xD7, STR_SMALLMAP_LEGENDA_ROADS),
 
	MK(0x0A, STR_SMALLMAP_LEGENDA_RAILROADS),
 
	MK(0x98, STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS),
 
	MK(0xB5, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MK(0x0F, STR_SMALLMAP_LEGENDA_VEHICLES),
 
	MS(PC_BLACK,           STR_SMALLMAP_LEGENDA_ROADS),
 
	MK(PC_GREY,            STR_SMALLMAP_LEGENDA_RAILROADS),
 
	MK(PC_LIGHT_BLUE,      STR_SMALLMAP_LEGENDA_STATIONS_AIRPORTS_DOCKS),
 
	MK(PC_DARK_RED,        STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MK(PC_WHITE,           STR_SMALLMAP_LEGENDA_VEHICLES),
 
	MKEND()
 
};
 

	
 
static const LegendAndColour _legend_vehicles[] = {
 
	MK(0xB8, STR_SMALLMAP_LEGENDA_TRAINS),
 
	MK(0xBF, STR_SMALLMAP_LEGENDA_ROAD_VEHICLES),
 
	MK(0x98, STR_SMALLMAP_LEGENDA_SHIPS),
 
	MK(0x0F, STR_SMALLMAP_LEGENDA_AIRCRAFT),
 
	MK(PC_RED,             STR_SMALLMAP_LEGENDA_TRAINS),
 
	MK(PC_YELLOW,          STR_SMALLMAP_LEGENDA_ROAD_VEHICLES),
 
	MK(PC_LIGHT_BLUE,      STR_SMALLMAP_LEGENDA_SHIPS),
 
	MK(PC_WHITE,           STR_SMALLMAP_LEGENDA_AIRCRAFT),
 

	
 
	MS(0xD7, STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES),
 
	MK(0xB5, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MS(PC_BLACK,           STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES),
 
	MK(PC_DARK_RED,        STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MKEND()
 
};
 

	
 
static const LegendAndColour _legend_routes[] = {
 
	MK(0xD7, STR_SMALLMAP_LEGENDA_ROADS),
 
	MK(0x0A, STR_SMALLMAP_LEGENDA_RAILROADS),
 
	MK(0xB5, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MK(PC_BLACK,           STR_SMALLMAP_LEGENDA_ROADS),
 
	MK(PC_GREY,            STR_SMALLMAP_LEGENDA_RAILROADS),
 
	MK(PC_DARK_RED,        STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 

	
 
	MS(0x56, STR_SMALLMAP_LEGENDA_RAILROAD_STATION),
 
	MK(0xC2, STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY),
 
	MK(0xBF, STR_SMALLMAP_LEGENDA_BUS_STATION),
 
	MK(0xB8, STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT),
 
	MK(0x98, STR_SMALLMAP_LEGENDA_DOCK),
 
	MS(PC_VERY_DARK_BROWN, STR_SMALLMAP_LEGENDA_RAILROAD_STATION),
 
	MK(PC_ORANGE,          STR_SMALLMAP_LEGENDA_TRUCK_LOADING_BAY),
 
	MK(PC_YELLOW,          STR_SMALLMAP_LEGENDA_BUS_STATION),
 
	MK(PC_RED,             STR_SMALLMAP_LEGENDA_AIRPORT_HELIPORT),
 
	MK(PC_LIGHT_BLUE,      STR_SMALLMAP_LEGENDA_DOCK),
 
	MKEND()
 
};
 

	
 
static const LegendAndColour _legend_vegetation[] = {
 
	MK(0x52, STR_SMALLMAP_LEGENDA_ROUGH_LAND),
 
	MK(0x54, STR_SMALLMAP_LEGENDA_GRASS_LAND),
 
	MK(0x37, STR_SMALLMAP_LEGENDA_BARE_LAND),
 
	MK(0x25, STR_SMALLMAP_LEGENDA_FIELDS),
 
	MK(0x57, STR_SMALLMAP_LEGENDA_TREES),
 
	MK(0xD0, STR_SMALLMAP_LEGENDA_FOREST),
 
	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_FIELDS,          STR_SMALLMAP_LEGENDA_FIELDS),
 
	MK(PC_TREES,           STR_SMALLMAP_LEGENDA_TREES),
 
	MK(PC_GREEN,           STR_SMALLMAP_LEGENDA_FOREST),
 

	
 
	MS(0x0A, STR_SMALLMAP_LEGENDA_ROCKS),
 
	MK(0xC2, STR_SMALLMAP_LEGENDA_DESERT),
 
	MK(0x98, STR_SMALLMAP_LEGENDA_SNOW),
 
	MK(0xD7, STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES),
 
	MK(0xB5, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MS(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),
 
	MK(PC_DARK_RED,        STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
 
	MKEND()
 
};
 

	
 
static LegendAndColour _legend_land_owners[NUM_NO_COMPANY_ENTRIES + MAX_COMPANIES + 1] = {
 
	MO(0xCA, STR_SMALLMAP_LEGENDA_WATER),
 
	MO(0x00, STR_SMALLMAP_LEGENDA_NO_OWNER), // This colour will vary depending on settings.
 
	MO(0xB4, STR_SMALLMAP_LEGENDA_TOWNS),
 
	MO(0x20, STR_SMALLMAP_LEGENDA_INDUSTRIES),
 
	MO(PC_WATER,           STR_SMALLMAP_LEGENDA_WATER),
 
	MO(0x00,               STR_SMALLMAP_LEGENDA_NO_OWNER), // This colour will vary depending on settings.
 
	MO(PC_DARK_RED,        STR_SMALLMAP_LEGENDA_TOWNS),
 
	MO(PC_DARK_GREY,       STR_SMALLMAP_LEGENDA_INDUSTRIES),
 
	/* The legend will be terminated the first time it is used. */
 
	MOEND(),
 
};
 

	
 
#undef MK
 
#undef MC
 
@@ -352,40 +359,40 @@ static inline uint32 ApplyMask(uint32 co
 
	return (colour & mask->mand) | mask->mor;
 
}
 

	
 

	
 
/** Colour masks for "Contour" and "Routes" modes. */
 
static const AndOr _smallmap_contours_andor[] = {
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_CLEAR
 
	{MKCOLOUR_0XX0(0x0A), MKCOLOUR_F00F}, // MP_RAILWAY
 
	{MKCOLOUR_0XX0(0xD7), MKCOLOUR_F00F}, // MP_ROAD
 
	{MKCOLOUR_0XX0(0xB5), MKCOLOUR_F00F}, // MP_HOUSE
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_TREES
 
	{MKCOLOUR_XXXX(0x98), MKCOLOUR_0000}, // MP_STATION
 
	{MKCOLOUR_XXXX(0xCA), MKCOLOUR_0000}, // MP_WATER
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_VOID
 
	{MKCOLOUR_XXXX(0xB5), MKCOLOUR_0000}, // MP_INDUSTRY
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_TUNNELBRIDGE
 
	{MKCOLOUR_0XX0(0xB5), MKCOLOUR_F00F}, // MP_OBJECT
 
	{MKCOLOUR_0XX0(0x0A), MKCOLOUR_F00F},
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_CLEAR
 
	{MKCOLOUR_0XX0(PC_GREY      ), MKCOLOUR_F00F}, // MP_RAILWAY
 
	{MKCOLOUR_0XX0(PC_BLACK     ), MKCOLOUR_F00F}, // MP_ROAD
 
	{MKCOLOUR_0XX0(PC_DARK_RED  ), MKCOLOUR_F00F}, // MP_HOUSE
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_TREES
 
	{MKCOLOUR_XXXX(PC_LIGHT_BLUE), MKCOLOUR_0000}, // MP_STATION
 
	{MKCOLOUR_XXXX(PC_WATER     ), MKCOLOUR_0000}, // MP_WATER
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_VOID
 
	{MKCOLOUR_XXXX(PC_DARK_RED  ), MKCOLOUR_0000}, // MP_INDUSTRY
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_TUNNELBRIDGE
 
	{MKCOLOUR_0XX0(PC_DARK_RED  ), MKCOLOUR_F00F}, // MP_OBJECT
 
	{MKCOLOUR_0XX0(PC_GREY      ), MKCOLOUR_F00F},
 
};
 

	
 
/** Colour masks for "Vehicles", "Industry", and "Vegetation" modes. */
 
static const AndOr _smallmap_vehicles_andor[] = {
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_CLEAR
 
	{MKCOLOUR_0XX0(0xD7), MKCOLOUR_F00F}, // MP_RAILWAY
 
	{MKCOLOUR_0XX0(0xD7), MKCOLOUR_F00F}, // MP_ROAD
 
	{MKCOLOUR_0XX0(0xB5), MKCOLOUR_F00F}, // MP_HOUSE
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_TREES
 
	{MKCOLOUR_0XX0(0xD7), MKCOLOUR_F00F}, // MP_STATION
 
	{MKCOLOUR_XXXX(0xCA), MKCOLOUR_0000}, // MP_WATER
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_VOID
 
	{MKCOLOUR_XXXX(0xB5), MKCOLOUR_0000}, // MP_INDUSTRY
 
	{MKCOLOUR_0000      , MKCOLOUR_FFFF}, // MP_TUNNELBRIDGE
 
	{MKCOLOUR_0XX0(0xB5), MKCOLOUR_F00F}, // MP_OBJECT
 
	{MKCOLOUR_0XX0(0xD7), MKCOLOUR_F00F},
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_CLEAR
 
	{MKCOLOUR_0XX0(PC_BLACK     ), MKCOLOUR_F00F}, // MP_RAILWAY
 
	{MKCOLOUR_0XX0(PC_BLACK     ), MKCOLOUR_F00F}, // MP_ROAD
 
	{MKCOLOUR_0XX0(PC_DARK_RED  ), MKCOLOUR_F00F}, // MP_HOUSE
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_TREES
 
	{MKCOLOUR_0XX0(PC_BLACK     ), MKCOLOUR_F00F}, // MP_STATION
 
	{MKCOLOUR_XXXX(PC_WATER     ), MKCOLOUR_0000}, // MP_WATER
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_VOID
 
	{MKCOLOUR_XXXX(PC_DARK_RED  ), MKCOLOUR_0000}, // MP_INDUSTRY
 
	{MKCOLOUR_0000               , MKCOLOUR_FFFF}, // MP_TUNNELBRIDGE
 
	{MKCOLOUR_0XX0(PC_DARK_RED  ), MKCOLOUR_F00F}, // MP_OBJECT
 
	{MKCOLOUR_0XX0(PC_BLACK     ), MKCOLOUR_F00F},
 
};
 

	
 
/** Mapping of tile type to importance of the tile (higher number means more interesting to show). */
 
static const byte _tiletype_importance[] = {
 
	2, // MP_CLEAR
 
	8, // MP_RAILWAY
 
@@ -474,17 +481,17 @@ static inline uint32 GetSmallMapIndustri
 
 * @return The colour of tile  in the small map in mode "Routes"
 
 */
 
static inline uint32 GetSmallMapRoutesPixels(TileIndex tile, TileType t)
 
{
 
	if (t == MP_STATION) {
 
		switch (GetStationType(tile)) {
 
			case STATION_RAIL:    return MKCOLOUR_XXXX(0x56);
 
			case STATION_AIRPORT: return MKCOLOUR_XXXX(0xB8);
 
			case STATION_TRUCK:   return MKCOLOUR_XXXX(0xC2);
 
			case STATION_BUS:     return MKCOLOUR_XXXX(0xBF);
 
			case STATION_DOCK:    return MKCOLOUR_XXXX(0x98);
 
			case STATION_RAIL:    return MKCOLOUR_XXXX(PC_VERY_DARK_BROWN);
 
			case STATION_AIRPORT: return MKCOLOUR_XXXX(PC_RED);
 
			case STATION_TRUCK:   return MKCOLOUR_XXXX(PC_ORANGE);
 
			case STATION_BUS:     return MKCOLOUR_XXXX(PC_YELLOW);
 
			case STATION_DOCK:    return MKCOLOUR_XXXX(PC_LIGHT_BLUE);
 
			default:              return MKCOLOUR_FFFF;
 
		}
 
	} else if (t == MP_RAILWAY) {
 
		AndOr andor = {
 
			MKCOLOUR_0XX0(GetRailTypeInfo(GetRailType(tile))->map_colour),
 
			_smallmap_contours_andor[t].mand
 
@@ -498,20 +505,20 @@ static inline uint32 GetSmallMapRoutesPi
 
	const SmallMapColourScheme *cs = &_heightmap_schemes[_settings_client.gui.smallmap_land_colour];
 
	return ApplyMask(cs->default_colour, &_smallmap_contours_andor[t]);
 
}
 

	
 

	
 
static const uint32 _vegetation_clear_bits[] = {
 
	MKCOLOUR_XXXX(0x54), ///< full grass
 
	MKCOLOUR_XXXX(0x52), ///< rough land
 
	MKCOLOUR_XXXX(0x0A), ///< rocks
 
	MKCOLOUR_XXXX(0x25), ///< fields
 
	MKCOLOUR_XXXX(0x98), ///< snow
 
	MKCOLOUR_XXXX(0xC2), ///< desert
 
	MKCOLOUR_XXXX(0x54), ///< unused
 
	MKCOLOUR_XXXX(0x54), ///< unused
 
	MKCOLOUR_XXXX(PC_GRASS_LAND), ///< full grass
 
	MKCOLOUR_XXXX(PC_ROUGH_LAND), ///< rough land
 
	MKCOLOUR_XXXX(PC_GREY),       ///< rocks
 
	MKCOLOUR_XXXX(PC_FIELDS),     ///< fields
 
	MKCOLOUR_XXXX(PC_LIGHT_BLUE), ///< snow
 
	MKCOLOUR_XXXX(PC_ORANGE),     ///< desert
 
	MKCOLOUR_XXXX(PC_GRASS_LAND), ///< unused
 
	MKCOLOUR_XXXX(PC_GRASS_LAND), ///< unused
 
};
 

	
 
/**
 
 * Return the colour a tile would be displayed with in the smallmap in mode "Vegetation".
 
 *
 
 * @param tile The tile of which we would like to get the colour.
 
@@ -519,25 +526,25 @@ static const uint32 _vegetation_clear_bi
 
 * @return The colour of tile  in the smallmap in mode "Vegetation"
 
 */
 
static inline uint32 GetSmallMapVegetationPixels(TileIndex tile, TileType t)
 
{
 
	switch (t) {
 
		case MP_CLEAR:
 
			return (IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) < 3) ? MKCOLOUR_XXXX(0x37) : _vegetation_clear_bits[GetClearGround(tile)];
 
			return (IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) < 3) ? MKCOLOUR_XXXX(PC_BARE_LAND) : _vegetation_clear_bits[GetClearGround(tile)];
 

	
 
		case MP_INDUSTRY:
 
			return GetIndustrySpec(Industry::GetByTile(tile)->type)->check_proc == CHECK_FOREST ? MKCOLOUR_XXXX(0xD0) : MKCOLOUR_XXXX(0xB5);
 
			return GetIndustrySpec(Industry::GetByTile(tile)->type)->check_proc == CHECK_FOREST ? MKCOLOUR_XXXX(PC_GREEN) : MKCOLOUR_XXXX(PC_DARK_RED);
 

	
 
		case MP_TREES:
 
			if (GetTreeGround(tile) == TREE_GROUND_SNOW_DESERT || GetTreeGround(tile) == TREE_GROUND_ROUGH_SNOW) {
 
				return (_settings_game.game_creation.landscape == LT_ARCTIC) ? MKCOLOUR_XYYX(0x98, 0x57) : MKCOLOUR_XYYX(0xC2, 0x57);
 
				return (_settings_game.game_creation.landscape == LT_ARCTIC) ? MKCOLOUR_XYYX(PC_LIGHT_BLUE, PC_TREES) : MKCOLOUR_XYYX(PC_ORANGE, PC_TREES);
 
			}
 
			return MKCOLOUR_XYYX(0x54, 0x57);
 
			return MKCOLOUR_XYYX(PC_GRASS_LAND, PC_TREES);
 

	
 
		default:
 
			return ApplyMask(MKCOLOUR_XXXX(0x54), &_smallmap_vehicles_andor[t]);
 
			return ApplyMask(MKCOLOUR_XXXX(PC_GRASS_LAND), &_smallmap_vehicles_andor[t]);
 
	}
 
}
 

	
 
/**
 
 * Return the colour a tile would be displayed with in the small map in mode "Owner".
 
 *
 
@@ -547,35 +554,35 @@ static inline uint32 GetSmallMapVegetati
 
 */
 
static inline uint32 GetSmallMapOwnerPixels(TileIndex tile, TileType t)
 
{
 
	Owner o;
 

	
 
	switch (t) {
 
		case MP_INDUSTRY: return MKCOLOUR_XXXX(0x20);
 
		case MP_HOUSE:    return MKCOLOUR_XXXX(0xB4);
 
		case MP_INDUSTRY: return MKCOLOUR_XXXX(PC_DARK_GREY);
 
		case MP_HOUSE:    return MKCOLOUR_XXXX(PC_DARK_RED);
 
		default:          o = GetTileOwner(tile); break;
 
		/* FIXME: For MP_ROAD there are multiple owners.
 
		 * GetTileOwner returns the rail owner (level crossing) resp. the owner of ROADTYPE_ROAD (normal road),
 
		 * even if there are no ROADTYPE_ROAD bits on the tile.
 
		 */
 
	}
 

	
 
	if ((o < MAX_COMPANIES && !_legend_land_owners[_company_to_list_pos[o]].show_on_map) || o == OWNER_NONE || o == OWNER_WATER) {
 
		if (t == MP_WATER) return MKCOLOUR_XXXX(0xCA);
 
		if (t == MP_WATER) return MKCOLOUR_XXXX(PC_WATER);
 
		const SmallMapColourScheme *cs = &_heightmap_schemes[_settings_client.gui.smallmap_land_colour];
 
		return _smallmap_show_heightmap ? cs->height_colours[TileHeight(tile)] : cs->default_colour;
 
	} else if (o == OWNER_TOWN) {
 
		return MKCOLOUR_XXXX(0xB4);
 
		return MKCOLOUR_XXXX(PC_DARK_RED);
 
	}
 

	
 
	return MKCOLOUR_XXXX(_legend_land_owners[_company_to_list_pos[o]].colour);
 
}
 

	
 
/** Vehicle colours in #SMT_VEHICLES mode. Indexed by #VehicleTypeByte. */
 
static const byte _vehicle_type_colours[6] = {
 
	184, 191, 152, 15, 215, 184
 
	PC_RED, PC_YELLOW, PC_LIGHT_BLUE, PC_WHITE, PC_BLACK, PC_RED
 
};
 

	
 

	
 
/** Class managing the smallmap window. */
 
class SmallMapWindow : public Window {
 
	/** Types of legends in the #SM_WIDGET_LEGEND widget. */
 
@@ -863,13 +870,13 @@ class SmallMapWindow : public Window {
 
				/* Check if we're at the very right edge, and if so draw only a single pixel */
 
				if (x != dpi->width - 1) continue;
 
				skip = true;
 
			}
 

	
 
			/* Calculate pointer to pixel and the colour */
 
			byte colour = (this->map_type == SMT_VEHICLES) ? _vehicle_type_colours[v->type] : 0xF;
 
			byte colour = (this->map_type == SMT_VEHICLES) ? _vehicle_type_colours[v->type] : PC_WHITE;
 

	
 
			/* And draw either one or two pixels depending on clipping */
 
			blitter->SetPixel(dpi->dst_ptr, x, y, colour);
 
			if (!skip) blitter->SetPixel(dpi->dst_ptr, x + 1, y, colour);
 
		}
 
	}
0 comments (0 inline, 0 general)