OpenTTD
Data Structures | Macros | Functions | Variables
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 "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 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.
 
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 55 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 61 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 70 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 #GetTileColours).
Returns
The colour of tile in the small map in mode "Contour"

Definition at line 422 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 #GetTileColours).
Returns
The colour of tile in the small map in mode "Industries"

Definition at line 448 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 #GetTileColours).
Returns
The colour of tile in the small map in mode "link stats"

Definition at line 494 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 #GetTileColours).
Returns
The colour of tile in the small map in mode "Owner"

Definition at line 544 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 #GetTileColours).
Returns
The colour of tile in the small map in mode "Routes"

Definition at line 461 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 #GetTileColours).
Returns
The colour of tile in the smallmap in mode "Vegetation"

Definition at line 517 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 #GetTileColours).
Returns
The colour of tile in the small map in mode "Vehicles"

Definition at line 435 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 1861 of file smallmap_gui.cpp.

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

Variable Documentation

◆ _heightmap_schemes

SmallMapColourScheme _heightmap_schemes[]
static
Initial value:
= {
{NULL, _green_map_heights, lengthof(_green_map_heights), MKCOLOUR_XXXX(0x54)},
{NULL, _dark_green_map_heights, lengthof(_dark_green_map_heights), MKCOLOUR_XXXX(0x62)},
{NULL, _violet_map_heights, lengthof(_violet_map_heights), MKCOLOUR_XXXX(0x82)},
}
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:42
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 273 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:210
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:227
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:207
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:209
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213
#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 73 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:208
#define MO(a, b)
Macro for non-company owned property entry of LegendAndColour.
static const uint8 PC_WATER
Dark blue palette colour for water.
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213

Definition at line 138 of file smallmap_gui.cpp.

◆ _legend_linkstats

Legend entries for the link stats view.

Definition at line 155 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:227
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:207
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:209
static const uint8 PC_YELLOW
Yellow palette colour.
Definition: gfx_func.h:220
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213
static const uint8 PC_ORANGE
Orange palette colour.
Definition: gfx_func.h:218
static const uint8 PC_VERY_DARK_BROWN
Almost-black brown palette colour.
Definition: gfx_func.h:216
static const uint8 PC_RED
Red palette colour.
Definition: gfx_func.h:214
#define MS(a, b)
Macro for break marker in arrays of LegendAndColour.

Definition at line 109 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 236 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),
}
static const uint8 PC_TREES
Green palette colour for trees.
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:227
static const uint8 PC_FIELDS
Light brown palette colour for fields.
static const uint8 PC_GREEN
Green palette colour.
Definition: gfx_func.h:224
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:207
static const uint8 PC_BARE_LAND
Brown palette colour for bare land.
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:209
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213
static const uint8 PC_ORANGE
Orange palette colour.
Definition: gfx_func.h:218
static const uint8 PC_ROUGH_LAND
Dark green palette colour for rough land.
#define MS(a, b)
Macro for break marker in arrays of LegendAndColour.
static const uint8 PC_GRASS_LAND
Dark green palette colour for grass land.

Definition at line 122 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:210
#define MK(a, b)
Macro for ordinary entry of LegendAndColour.
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:227
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:207
static const uint8 PC_YELLOW
Yellow palette colour.
Definition: gfx_func.h:220
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213
static const uint8 PC_RED
Red palette colour.
Definition: gfx_func.h:214
#define MS(a, b)
Macro for break marker in arrays of LegendAndColour.

Definition at line 98 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 40 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 1761 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:930
Panel containing the smallmap.
Pressed (inset) panel, most commonly used as combo box text area.
Definition: widget_type.h:51
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:1046
static NWidgetPart SetMinimalSize(int16 x, int16 y)
Widget part function for setting the minimal size.
Definition: widget_type.h:947
Simple depressed panel.
Definition: widget_type.h:50
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:1114
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:999

Widget parts of the smallmap display.

Definition at line 1754 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:930
static NWidgetPart NWidgetFunction(NWidgetFunctionType *func_ptr)
Obtain a nested widget (sub)tree from an external source.
Definition: widget_type.h:1146
Horizontal container.
Definition: widget_type.h:75
Resize box (normally at bottom-right of a window)
Definition: widget_type.h:68
Button to disable display of all legend entries.
Close box (at top-left of a window)
Definition: widget_type.h:69
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:65
static NWidgetPart SetDataTip(uint32 data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1014
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:104
Simple depressed panel.
Definition: widget_type.h:50
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:1114
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:61
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:999
Sticky box (at top-right of a window, after WWT_DEFSIZEBOX)
Definition: widget_type.h:66
static NWidgetPart SetFill(uint fill_x, uint fill_y)
Widget part function for setting filling.
Definition: widget_type.h:983
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:80
Value of the NCB_EQUALSIZE flag.
Definition: widget_type.h:429
Shade box (at top-right of a window, between WWT_DEBUGBOX and WWT_DEFSIZEBOX)
Definition: widget_type.h:64
(Toggle) Button with text
Definition: widget_type.h:55

Definition at line 1812 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:227
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:207
static const uint8 PC_WATER
Dark blue palette colour for water.
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:209
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213

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

Definition at line 368 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 164 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:207
static const uint8 PC_WATER
Dark blue palette colour for water.
static const uint8 PC_DARK_RED
Dark red palette colour.
Definition: gfx_func.h:213

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

Definition at line 384 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 400 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:227
static const uint8 PC_FIELDS
Light brown palette colour for fields.
static const uint8 PC_GREY
Grey palette colour.
Definition: gfx_func.h:209
static const uint8 PC_ORANGE
Orange palette colour.
Definition: gfx_func.h:218
static const uint8 PC_ROUGH_LAND
Dark green palette colour for rough land.
static const uint8 PC_GRASS_LAND
Dark green palette colour for grass land.

Definition at line 499 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:210
static const uint8 PC_LIGHT_BLUE
Light blue palette colour.
Definition: gfx_func.h:227
static const uint8 PC_BLACK
Black palette colour.
Definition: gfx_func.h:207
static const uint8 PC_YELLOW
Yellow palette colour.
Definition: gfx_func.h:220
static const uint8 PC_RED
Red palette colour.
Definition: gfx_func.h:214

Vehicle colours in #SMT_VEHICLES mode.

Indexed by VehicleTypeByte.

Definition at line 570 of file smallmap_gui.cpp.