[Feature] A setting to allow town name tile tooltips to always or never be displayed.

pull/564/head
RoqueDeicide 11 months ago
parent d6041744ca
commit 8eea01717f

@ -2121,6 +2121,12 @@ STR_CONFIG_SETTING_INTERFACE_TOOLTIPS :{ORANGE}Tooltip
STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP :Show viewport tooltips for tiles without a right-click: {STRING2}
STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP_HELPTEXT :Show viewport tooltips for tile types such as industries without requiring a right-click, when the show tooltips setting is set to right-click.
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE :Show viewport tooltips with town names: {STRING2}
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_HELPTEXT :Show viewport tooltips for road and house tiles that belong to towns.
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_OFF :Off
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_ON_IF_HIDDEN :On, if town names are hidden
STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_ALWAYS_ON :Always on
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE :Station rating tooltips: {STRING2}
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :Set whether station rating tooltips are shown and the level of information detail.
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :Off

@ -1933,6 +1933,7 @@ static SettingsContainer &GetSettingsTree()
{
tooltips->Add(new SettingEntry("gui.hover_delay_ms"));
tooltips->Add(new ConditionallyHiddenSettingEntry("gui.instant_tile_tooltip", []() -> bool { return _settings_client.gui.hover_delay_ms != 0; }));
tooltips->Add(new SettingEntry("gui.town_name_tooltip_mode"));
tooltips->Add(new SettingEntry("gui.station_rating_tooltip_mode"));
}

@ -133,6 +133,7 @@ struct GUISettings : public TimeSettings {
byte errmsg_duration; ///< duration of error message
uint16 hover_delay_ms; ///< time required to activate a hover event, in milliseconds
bool instant_tile_tooltip; ///< don't require a right click to activate a hover event to show a tooltip for an in-game tile (e.g. industry).
uint8 town_name_tooltip_mode; ///< when to display town names when hovering over roads and houses. (0 = never, 1 = only if town names are hidden, 2 = always)
uint8 station_rating_tooltip_mode; ///< Station rating tooltip mode
bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars
uint8 smallmap_land_colour; ///< colour used for land and heightmap at the smallmap

@ -4552,6 +4552,17 @@ def = false
str = STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP
strhelp = STR_CONFIG_SETTING_INSTANT_TILE_TOOLTIP_HELPTEXT
[SDTC_VAR]
var = gui.town_name_tooltip_mode
type = SLE_UINT8
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE
strhelp = STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_HELPTEXT
strval = STR_CONFIG_SETTING_TOWN_NAME_TOOLTIP_MODE_OFF
[SDTC_VAR]
var = gui.station_rating_tooltip_mode
type = SLE_UINT8

@ -219,6 +219,20 @@ void ShowExtraViewportWindowForTileUnderCursor()
ShowExtraViewportWindow(pt.x != -1 ? TileVirtXY(pt.x, pt.y) : INVALID_TILE);
}
enum TownNameTooltipMode : uint8 {
TNTM_OFF,
TNTM_ON_IF_HIDDEN,
TNTM_ALWAYS_ON
};
void ShowTownNameTooltip(Window *w, const TileIndex tile)
{
if (_settings_client.gui.town_name_tooltip_mode == TNTM_OFF) return;
if (HasBit(_display_opt, DO_SHOW_TOWN_NAMES) && _settings_client.gui.town_name_tooltip_mode == TNTM_ON_IF_HIDDEN) return; // No need for a town name tooltip when it is already displayed
SetDParam(0, GetTownIndex(tile));
GuiShowTooltips(w, STR_TOWN_NAME_TOOLTIP, 0, nullptr, TCC_HOVER_VIEWPORT);
}
void ShowTooltipForTile(Window *w, const TileIndex tile)
{
switch (GetTileType(tile)) {
@ -226,9 +240,7 @@ void ShowTooltipForTile(Window *w, const TileIndex tile)
if (IsRoadDepot(tile)) return;
/* FALL THROUGH */
case MP_HOUSE: {
if (HasBit(_display_opt, DO_SHOW_TOWN_NAMES)) return; // No need for a town name tooltip when it is already displayed
SetDParam(0, GetTownIndex(tile));
GuiShowTooltips(w, STR_TOWN_NAME_TOOLTIP, 0, nullptr, TCC_HOVER_VIEWPORT);
ShowTownNameTooltip(w, tile);
break;
}
case MP_INDUSTRY: {

Loading…
Cancel
Save