OpenTTD Source  1.10.0-RC1
smallmap_gui.cpp File Reference

GUI that shows a small map of the world with metadata like owner or height. More...

#include "stdafx.h"
#include "clear_map.h"
#include "industry.h"
#include "station_map.h"
#include "landscape.h"
#include "tree_map.h"
#include "viewport_func.h"
#include "town.h"
#include "tunnelbridge_map.h"
#include "core/endian_func.hpp"
#include "vehicle_base.h"
#include "sound_func.h"
#include "window_func.h"
#include "company_base.h"
#include "guitimer_func.h"
#include "smallmap_gui.h"
#include "table/strings.h"
#include <bitset>
#include "safeguards.h"
#include "table/heightmap_colours.h"

Go to the source code of this file.

Data Structures

struct  SmallMapColourScheme
 Colour scheme of the smallmap. More...
 
struct  AndOr
 
class  NWidgetSmallmapDisplay
 Custom container class for displaying smallmap with a vertically resizing legend panel. More...
 

Macros

#define MK(a, b)   {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, false}
 Macro for ordinary entry of LegendAndColour.
 
#define MC(col_break)   {0, STR_TINY_BLACK_HEIGHT, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, col_break}
 Macro for a height legend entry with configurable colour. More...
 
#define MO(a, b)   {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, false}
 Macro for non-company owned property entry of LegendAndColour.
 
#define MOEND()   {0, 0, INVALID_INDUSTRYTYPE, 0, OWNER_NONE, true, true, false}
 Macro used for forcing a rebuild of the owner legend the first time it is used. More...
 
#define MKEND()   {0, STR_NULL, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, true, false}
 Macro for end of list marker in arrays of LegendAndColour.
 
#define MS(a, b)   {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, true}
 Macro for break marker in arrays of LegendAndColour. More...
 
#define MKCOLOUR(x)   TO_LE32X(x)
 
#define MKCOLOUR_XXXX(x)   (MKCOLOUR(0x01010101) * (uint)(x))
 
#define MKCOLOUR_X0X0(x)   (MKCOLOUR(0x01000100) * (uint)(x))
 
#define MKCOLOUR_0X0X(x)   (MKCOLOUR(0x00010001) * (uint)(x))
 
#define MKCOLOUR_0XX0(x)   (MKCOLOUR(0x00010100) * (uint)(x))
 
#define MKCOLOUR_X00X(x)   (MKCOLOUR(0x01000001) * (uint)(x))
 
#define MKCOLOUR_XYXY(x, y)   (MKCOLOUR_X0X0(x) | MKCOLOUR_0X0X(y))
 
#define MKCOLOUR_XYYX(x, y)   (MKCOLOUR_X00X(x) | MKCOLOUR_0XX0(y))
 
#define MKCOLOUR_0000   MKCOLOUR_XXXX(0x00)
 
#define MKCOLOUR_0FF0   MKCOLOUR_0XX0(0xFF)
 
#define MKCOLOUR_F00F   MKCOLOUR_X00X(0xFF)
 
#define MKCOLOUR_FFFF   MKCOLOUR_XXXX(0xFF)
 

Functions

void BuildIndustriesLegend ()
 Fills an array for the industries legends.
 
void BuildLinkStatsLegend ()
 Populate legend table for the link stat view.
 
void BuildLandLegend ()
 (Re)build the colour tables for the legends.
 
void BuildOwnerLegend ()
 Completes the array for the owned property legend.
 
static uint32 ApplyMask (uint32 colour, const AndOr *mask)
 
static uint32 GetSmallMapContoursPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the small map in mode "Contour". More...
 
static uint32 GetSmallMapVehiclesPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the small map in mode "Vehicles". More...
 
static uint32 GetSmallMapIndustriesPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the small map in mode "Industries". More...
 
static uint32 GetSmallMapRoutesPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the small map in mode "Routes". More...
 
static uint32 GetSmallMapLinkStatsPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the small map in mode "link stats". More...
 
static uint32 GetSmallMapVegetationPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the smallmap in mode "Vegetation". More...
 
static uint32 GetSmallMapOwnerPixels (TileIndex tile, TileType t)
 Return the colour a tile would be displayed with in the small map in mode "Owner". More...
 
static NWidgetBaseSmallMapDisplay (int *biggest_index)
 
void ShowSmallMap ()
 Show the smallmap window.
 
bool ScrollMainWindowTo (int x, int y, int z, bool instant)
 Scrolls the main window to given coordinates. More...
 

Variables

static int _smallmap_industry_count
 Number of used industries.
 
static int _smallmap_company_count
 Number of entries in the owner legend.
 
static int _smallmap_cargo_count
 Number of cargos in the link stats legend.
 
static uint8 _linkstat_colours_in_legenda [] = {0, 1, 3, 5, 7, 9, 11}
 Link stat colours shown in legenda. More...
 
static const int NUM_NO_COMPANY_ENTRIES = 4
 Number of entries in the owner legend that are not companies.
 
static LegendAndColour _legend_land_contours []
 Legend text giving the colours to look for on the minimap. More...
 
static const LegendAndColour _legend_vehicles []
 
static const LegendAndColour _legend_routes []
 
static const LegendAndColour _legend_vegetation []
 
static LegendAndColour _legend_land_owners [NUM_NO_COMPANY_ENTRIES+MAX_COMPANIES+1]
 
static LegendAndColour _legend_linkstats [NUM_CARGO+lengthof(_linkstat_colours_in_legenda)+1]
 Legend entries for the link stats view. More...
 
static LegendAndColour _legend_from_industries [NUM_INDUSTRYTYPES+1]
 Allow room for all industries, plus a terminator entry This is required in order to have the industry slots all filled up.
 
static uint _industry_to_list_pos [NUM_INDUSTRYTYPES]
 For connecting industry type to position in industries list(small map legend)
 
static bool _smallmap_show_heightmap = false
 Show heightmap in industry and owner mode of smallmap window. More...
 
static IndustryType _smallmap_industry_highlight = INVALID_INDUSTRYTYPE
 Highlight a specific industry type.
 
static bool _smallmap_industry_highlight_state
 State of highlight blinking.
 
static uint _company_to_list_pos [MAX_COMPANIES]
 For connecting company ID to position in owner list (small map legend)
 
static const LegendAndColour *const _legend_table []
 
static SmallMapColourScheme _heightmap_schemes []
 Available colour schemes for height maps. More...
 
static const AndOr _smallmap_contours_andor []
 Colour masks for "Contour" and "Routes" modes. More...
 
static const AndOr _smallmap_vehicles_andor []
 Colour masks for "Vehicles", "Industry", and "Vegetation" modes. More...
 
static const byte _tiletype_importance []
 Mapping of tile type to importance of the tile (higher number means more interesting to show). More...
 
static const uint32 _vegetation_clear_bits []
 
static const byte _vehicle_type_colours [6]
 Vehicle colours in #SMT_VEHICLES mode. More...
 
static const NWidgetPart _nested_smallmap_display []
 Widget parts of the smallmap display. More...
 
static const NWidgetPart _nested_smallmap_bar []
 Widget parts of the smallmap legend bar + image buttons. More...
 
static const NWidgetPart _nested_smallmap_widgets []
 
static WindowDesc _smallmap_desc (WDP_AUTO, "smallmap", 484, 314, WC_SMALLMAP, WC_NONE, 0, _nested_smallmap_widgets, lengthof(_nested_smallmap_widgets))
 

Detailed Description

GUI that shows a small map of the world with metadata like owner or height.

Definition in file smallmap_gui.cpp.

Macro Definition Documentation

◆ MC

#define MC (   col_break)    {0, STR_TINY_BLACK_HEIGHT, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, col_break}

Macro for a height legend entry with configurable colour.

Definition at line 47 of file smallmap_gui.cpp.

◆ MOEND

#define MOEND ( )    {0, 0, INVALID_INDUSTRYTYPE, 0, OWNER_NONE, true, true, false}

Macro used for forcing a rebuild of the owner legend the first time it is used.

Definition at line 53 of file smallmap_gui.cpp.

◆ MS

#define MS (   a,
 
)    {a, b, INVALID_INDUSTRYTYPE, 0, INVALID_COMPANY, true, false, true}

Macro for break marker in arrays of LegendAndColour.

It will have valid data, though

Definition at line 62 of file smallmap_gui.cpp.

Function Documentation

◆ GetSmallMapContoursPixels()

static uint32 GetSmallMapContoursPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the small map in mode "Contour".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the small map in mode "Contour"

Definition at line 412 of file smallmap_gui.cpp.

References _settings_client, ClientSettings::gui, and GUISettings::smallmap_land_colour.

Referenced by GetSmallMapLinkStatsPixels().

◆ GetSmallMapIndustriesPixels()

static uint32 GetSmallMapIndustriesPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the small map in mode "Industries".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the small map in mode "Industries"

Definition at line 438 of file smallmap_gui.cpp.

References _settings_client, ClientSettings::gui, and GUISettings::smallmap_land_colour.

◆ GetSmallMapLinkStatsPixels()

static uint32 GetSmallMapLinkStatsPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the small map in mode "link stats".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the small map in mode "link stats"

Definition at line 507 of file smallmap_gui.cpp.

References _smallmap_show_heightmap, GetSmallMapContoursPixels(), and GetSmallMapRoutesPixels().

◆ GetSmallMapOwnerPixels()

static uint32 GetSmallMapOwnerPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the small map in mode "Owner".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the small map in mode "Owner"

Definition at line 557 of file smallmap_gui.cpp.

References MP_INDUSTRY.

◆ GetSmallMapRoutesPixels()

static uint32 GetSmallMapRoutesPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the small map in mode "Routes".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the small map in mode "Routes"

Definition at line 451 of file smallmap_gui.cpp.

References GetStationType(), and MP_STATION.

Referenced by GetSmallMapLinkStatsPixels().

◆ GetSmallMapVegetationPixels()

static uint32 GetSmallMapVegetationPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the smallmap in mode "Vegetation".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the smallmap in mode "Vegetation"

Definition at line 530 of file smallmap_gui.cpp.

References CLEAR_GRASS, GetClearDensity(), IsClearGround(), and MP_CLEAR.

◆ GetSmallMapVehiclesPixels()

static uint32 GetSmallMapVehiclesPixels ( TileIndex  tile,
TileType  t 
)
inlinestatic

Return the colour a tile would be displayed with in the small map in mode "Vehicles".

Parameters
tileThe tile of which we would like to get the colour.
tEffective tile type of the tile (see SmallMapWindow::GetTileColours).
Returns
The colour of tile in the small map in mode "Vehicles"

Definition at line 425 of file smallmap_gui.cpp.

References _settings_client, ClientSettings::gui, and GUISettings::smallmap_land_colour.

◆ ScrollMainWindowTo()

bool ScrollMainWindowTo ( int  x,
int  y,
int  z,
bool  instant 
)

Scrolls the main window to given coordinates.

Parameters
xx coordinate
yy coordinate
zz coordinate; -1 to scroll to terrain height
instantscroll instantly (meaningful only when smooth_scrolling is active)
Returns
did the viewport position change?

Definition at line 1864 of file smallmap_gui.cpp.

Referenced by NewsWindow::OnClick(), VehicleViewWindow::OnClick(), and ScrollMainWindowToTile().

Variable Documentation

◆ _heightmap_schemes

SmallMapColourScheme _heightmap_schemes[]
static
Initial value:
= {
{nullptr, _green_map_heights, lengthof(_green_map_heights), MKCOLOUR_XXXX(0x54)},
{nullptr, _dark_green_map_heights, lengthof(_dark_green_map_heights), MKCOLOUR_XXXX(0x62)},
{nullptr, _violet_map_heights, lengthof(_violet_map_heights), MKCOLOUR_XXXX(0x81)},
}
static const uint32 _green_map_heights[]
Height map colours for the green colour scheme, ordered by height.
static const uint32 _dark_green_map_heights[]
Height map colours for the dark green colour scheme, ordered by height.
#define lengthof(x)
Return the length of an fixed size array.
Definition: depend.cpp:40
static const uint32 _violet_map_heights[]
Height map colours for the violet colour scheme, ordered by height.

Available colour schemes for height maps.

Definition at line 264 of file smallmap_gui.cpp.

◆ _legend_land_contours

LegendAndColour _legend_land_contours[]
static
Initial value:
= {
MK(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),
MC(true),
MC(false),
MC(false),
MC(false),
MC(false),
MC(false),
MC(true),
MC(false),
MC(false),
MC(false),
MC(false),
MC(false),
}
static const uint8 PC_WHITE
White palette colour.
Definition: gfx_func.h:207
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:206
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
#define MC(col_break)
Macro for a height legend entry with configurable colour.

Legend text giving the colours to look for on the minimap.

Definition at line 65 of file smallmap_gui.cpp.

◆ _legend_land_owners

LegendAndColour _legend_land_owners[NUM_NO_COMPANY_ENTRIES+MAX_COMPANIES+1]
static
Initial value:
= {
MO(PC_WATER, STR_SMALLMAP_LEGENDA_WATER),
MO(0x00, STR_SMALLMAP_LEGENDA_NO_OWNER),
MO(PC_DARK_RED, STR_SMALLMAP_LEGENDA_TOWNS),
MO(PC_DARK_GREY, STR_SMALLMAP_LEGENDA_INDUSTRIES),
MOEND(),
}
#define MOEND()
Macro used for forcing a rebuild of the owner legend the first time it is used.
static const uint8 PC_DARK_GREY
Dark grey palette colour.
Definition: gfx_func.h:205
#define MO(a, b)
Macro for non-company owned property entry of LegendAndColour.
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
static const uint8 PC_WATER
Dark blue palette colour for water.
Definition: gfx_func.h:232

Definition at line 130 of file smallmap_gui.cpp.

◆ _legend_linkstats

Legend entries for the link stats view.

Definition at line 147 of file smallmap_gui.cpp.

◆ _legend_routes

const LegendAndColour _legend_routes[]
static
Initial value:
= {
MK(PC_BLACK, STR_SMALLMAP_LEGENDA_ROADS),
MK(PC_GREY, STR_SMALLMAP_LEGENDA_RAILROADS),
MK(PC_DARK_RED, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
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),
}
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:206
static const uint8 PC_YELLOW
Yellow palette colour.
Definition: gfx_func.h:217
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
static const uint8 PC_ORANGE
Orange palette colour.
Definition: gfx_func.h:215
static const uint8 PC_VERY_DARK_BROWN
Almost-black brown palette colour.
Definition: gfx_func.h:213
static const uint8 PC_RED
Red palette colour.
Definition: gfx_func.h:211
#define MS(a, b)
Macro for break marker in arrays of LegendAndColour.

Definition at line 101 of file smallmap_gui.cpp.

◆ _legend_table

const LegendAndColour* const _legend_table[]
static
Initial value:
= {
_legend_vehicles,
_legend_routes,
_legend_vegetation,
_legend_land_owners,
}
static LegendAndColour _legend_land_contours[]
Legend text giving the colours to look for on the minimap.
static LegendAndColour _legend_linkstats[NUM_CARGO+lengthof(_linkstat_colours_in_legenda)+1]
Legend entries for the link stats view.
static LegendAndColour _legend_from_industries[NUM_INDUSTRYTYPES+1]
Allow room for all industries, plus a terminator entry This is required in order to have the industry...

Definition at line 227 of file smallmap_gui.cpp.

◆ _legend_vegetation

const LegendAndColour _legend_vegetation[]
static
Initial value:
= {
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(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),
}
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_FIELDS
Light brown palette colour for fields.
Definition: gfx_func.h:230
static const uint8 PC_GRASS_LAND
Dark green palette colour for grass land.
Definition: gfx_func.h:228
static const uint8 PC_TREES
Green palette colour for trees.
Definition: gfx_func.h:231
static const uint8 PC_GREEN
Green palette colour.
Definition: gfx_func.h:221
static const uint8 PC_BARE_LAND
Brown palette colour for bare land.
Definition: gfx_func.h:229
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:206
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
static const uint8 PC_ORANGE
Orange palette colour.
Definition: gfx_func.h:215
static const uint8 PC_ROUGH_LAND
Dark green palette colour for rough land.
Definition: gfx_func.h:227
#define MS(a, b)
Macro for break marker in arrays of LegendAndColour.

Definition at line 114 of file smallmap_gui.cpp.

◆ _legend_vehicles

const LegendAndColour _legend_vehicles[]
static
Initial value:
= {
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(PC_BLACK, STR_SMALLMAP_LEGENDA_TRANSPORT_ROUTES),
MK(PC_DARK_RED, STR_SMALLMAP_LEGENDA_BUILDINGS_INDUSTRIES),
}
static const uint8 PC_WHITE
White palette colour.
Definition: gfx_func.h:207
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_YELLOW
Yellow palette colour.
Definition: gfx_func.h:217
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
static const uint8 PC_RED
Red palette colour.
Definition: gfx_func.h:211
#define MS(a, b)
Macro for break marker in arrays of LegendAndColour.

Definition at line 90 of file smallmap_gui.cpp.

◆ _linkstat_colours_in_legenda

uint8 _linkstat_colours_in_legenda[] = {0, 1, 3, 5, 7, 9, 11}
static

Link stat colours shown in legenda.

Definition at line 39 of file smallmap_gui.cpp.

Referenced by BuildLinkStatsLegend(), and SmallMapWindow::OnInit().

◆ _nested_smallmap_bar

const NWidgetPart _nested_smallmap_bar[]
static

Widget parts of the smallmap legend bar + image buttons.

Definition at line 1764 of file smallmap_gui.cpp.

◆ _nested_smallmap_display

const NWidgetPart _nested_smallmap_display[]
static
Initial value:
= {
NWidget(WWT_INSET, COLOUR_BROWN, WID_SM_MAP), SetMinimalSize(346, 140), SetResize(1, 1), SetPadding(2, 2, 2, 2), EndContainer(),
}
static NWidgetPart SetResize(int16 dx, int16 dy)
Widget part function for setting the resize step.
Definition: widget_type.h:928
Panel containing the smallmap.
Pressed (inset) panel, most commonly used as combo box text area.
Definition: widget_type.h:49
static NWidgetPart SetPadding(uint8 top, uint8 right, uint8 bottom, uint8 left)
Widget part function for setting additional space around a widget.
Definition: widget_type.h:1044
static NWidgetPart SetMinimalSize(int16 x, int16 y)
Widget part function for setting the minimal size.
Definition: widget_type.h:945
Simple depressed panel.
Definition: widget_type.h:48
static NWidgetPart NWidget(WidgetType tp, Colours col, int16 idx=-1)
Widget part function for starting a new &#39;real&#39; widget.
Definition: widget_type.h:1112
Border around the smallmap.
static NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME, WWT_INSET, or WWT_PANEL).
Definition: widget_type.h:997

Widget parts of the smallmap display.

Definition at line 1757 of file smallmap_gui.cpp.

◆ _nested_smallmap_widgets

const NWidgetPart _nested_smallmap_widgets[]
static
Initial value:
= {
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN, WID_SM_CAPTION), SetDataTip(STR_SMALLMAP_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_BROWN),
NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN),
NWidget(WWT_STICKYBOX, COLOUR_BROWN),
NWidgetFunction(SmallMapDisplay),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SM_ENABLE_ALL), SetDataTip(STR_SMALLMAP_ENABLE_ALL, STR_NULL),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SM_DISABLE_ALL), SetDataTip(STR_SMALLMAP_DISABLE_ALL, STR_NULL),
NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_SM_SHOW_HEIGHT), SetDataTip(STR_SMALLMAP_SHOW_HEIGHT, STR_SMALLMAP_TOOLTIP_SHOW_HEIGHT),
NWidget(WWT_PANEL, COLOUR_BROWN), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_PANEL, COLOUR_BROWN), SetFill(1, 0), SetResize(1, 0),
NWidget(WWT_RESIZEBOX, COLOUR_BROWN),
}
static NWidgetPart SetResize(int16 dx, int16 dy)
Widget part function for setting the resize step.
Definition: widget_type.h:928
static NWidgetPart NWidgetFunction(NWidgetFunctionType *func_ptr)
Obtain a nested widget (sub)tree from an external source.
Definition: widget_type.h:1144
Horizontal container.
Definition: widget_type.h:73
Resize box (normally at bottom-right of a window)
Definition: widget_type.h:66
Button to disable display of all legend entries.
Close box (at top-left of a window)
Definition: widget_type.h:67
Caption of the window.
Button to enable display of all legend entries.
Default window size box (at top-right of a window, between WWT_SHADEBOX and WWT_STICKYBOX) ...
Definition: widget_type.h:63
static NWidgetPart SetDataTip(uint32 data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1012
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:102
Simple depressed panel.
Definition: widget_type.h:48
static NWidgetPart NWidget(WidgetType tp, Colours col, int16 idx=-1)
Widget part function for starting a new &#39;real&#39; widget.
Definition: widget_type.h:1112
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:59
static NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME, WWT_INSET, or WWT_PANEL).
Definition: widget_type.h:997
Sticky box (at top-right of a window, after WWT_DEFSIZEBOX)
Definition: widget_type.h:64
static NWidgetPart SetFill(uint fill_x, uint fill_y)
Widget part function for setting filling.
Definition: widget_type.h:981
Selection widget for the buttons present in some smallmap modes.
Show heightmap toggle button.
Stacked widgets, only one visible at a time (eg in a panel with tabs).
Definition: widget_type.h:78
Value of the NCB_EQUALSIZE flag.
Definition: widget_type.h:427
Shade box (at top-right of a window, between WWT_DEBUGBOX and WWT_DEFSIZEBOX)
Definition: widget_type.h:62
(Toggle) Button with text
Definition: widget_type.h:53

Definition at line 1815 of file smallmap_gui.cpp.

◆ _smallmap_contours_andor

const AndOr _smallmap_contours_andor[]
static
Initial value:
= {
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_0XX0(PC_GREY ), MKCOLOUR_F00F},
{MKCOLOUR_0XX0(PC_BLACK ), MKCOLOUR_F00F},
{MKCOLOUR_0XX0(PC_DARK_RED ), MKCOLOUR_F00F},
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_XXXX(PC_LIGHT_BLUE), MKCOLOUR_0000},
{MKCOLOUR_XXXX(PC_WATER ), MKCOLOUR_0000},
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_XXXX(PC_DARK_RED ), MKCOLOUR_0000},
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_0XX0(PC_DARK_RED ), MKCOLOUR_F00F},
{MKCOLOUR_0XX0(PC_GREY ), MKCOLOUR_F00F},
}
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:206
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
static const uint8 PC_WATER
Dark blue palette colour for water.
Definition: gfx_func.h:232

Colour masks for "Contour" and "Routes" modes.

Definition at line 358 of file smallmap_gui.cpp.

◆ _smallmap_show_heightmap

bool _smallmap_show_heightmap = false
static

Show heightmap in industry and owner mode of smallmap window.

Definition at line 156 of file smallmap_gui.cpp.

Referenced by GetSmallMapLinkStatsPixels(), and SmallMapWindow::SetupWidgetData().

◆ _smallmap_vehicles_andor

const AndOr _smallmap_vehicles_andor[]
static
Initial value:
= {
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_0XX0(PC_BLACK ), MKCOLOUR_F00F},
{MKCOLOUR_0XX0(PC_BLACK ), MKCOLOUR_F00F},
{MKCOLOUR_0XX0(PC_DARK_RED ), MKCOLOUR_F00F},
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_0XX0(PC_BLACK ), MKCOLOUR_F00F},
{MKCOLOUR_XXXX(PC_WATER ), MKCOLOUR_0000},
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_XXXX(PC_DARK_RED ), MKCOLOUR_0000},
{MKCOLOUR_0000 , MKCOLOUR_FFFF},
{MKCOLOUR_0XX0(PC_DARK_RED ), MKCOLOUR_F00F},
{MKCOLOUR_0XX0(PC_BLACK ), MKCOLOUR_F00F},
}
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:210
static const uint8 PC_WATER
Dark blue palette colour for water.
Definition: gfx_func.h:232

Colour masks for "Vehicles", "Industry", and "Vegetation" modes.

Definition at line 374 of file smallmap_gui.cpp.

◆ _tiletype_importance

const byte _tiletype_importance[]
static
Initial value:
= {
2,
8,
7,
5,
2,
9,
2,
1,
6,
8,
2,
0,
}

Mapping of tile type to importance of the tile (higher number means more interesting to show).

Definition at line 390 of file smallmap_gui.cpp.

◆ _vegetation_clear_bits

const uint32 _vegetation_clear_bits[]
static
Initial value:
= {
MKCOLOUR_XXXX(PC_GRASS_LAND),
MKCOLOUR_XXXX(PC_ROUGH_LAND),
MKCOLOUR_XXXX(PC_GREY),
MKCOLOUR_XXXX(PC_FIELDS),
MKCOLOUR_XXXX(PC_LIGHT_BLUE),
MKCOLOUR_XXXX(PC_ORANGE),
MKCOLOUR_XXXX(PC_GRASS_LAND),
MKCOLOUR_XXXX(PC_GRASS_LAND),
}
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_FIELDS
Light brown palette colour for fields.
Definition: gfx_func.h:230
static const uint8 PC_GRASS_LAND
Dark green palette colour for grass land.
Definition: gfx_func.h:228
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:206
static const uint8 PC_ORANGE
Orange palette colour.
Definition: gfx_func.h:215
static const uint8 PC_ROUGH_LAND
Dark green palette colour for rough land.
Definition: gfx_func.h:227

Definition at line 512 of file smallmap_gui.cpp.

◆ _vehicle_type_colours

const byte _vehicle_type_colours[6]
static
Initial value:
= {
}
static const uint8 PC_WHITE
White palette colour.
Definition: gfx_func.h:207
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:225
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:204
static const uint8 PC_YELLOW
Yellow palette colour.
Definition: gfx_func.h:217
static const uint8 PC_RED
Red palette colour.
Definition: gfx_func.h:211

Vehicle colours in #SMT_VEHICLES mode.

Indexed by VehicleType.

Definition at line 583 of file smallmap_gui.cpp.