Add setting to show group hierarchy in vehicle names

See: #405
pull/428/head
Jonathan G Rennison 2 years ago
parent e335c86e77
commit 84da7ad7b6

@ -1638,6 +1638,9 @@ STR_CONFIG_SETTING_SHOW_ORDER_OCCUPANCY_BY_DEFAULT_HELPTEXT :Show detailed p
STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME :Show group hierarchy in name: {STRING2} STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME :Show group hierarchy in name: {STRING2}
STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME_HELPTEXT :When enabled, group names include the full hierarchy of their parent group names STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME_HELPTEXT :When enabled, group names include the full hierarchy of their parent group names
STR_CONFIG_SETTING_SHOW_VEHICLE_GROUP_HIERARCHY_NAME :Show group hierarchy in vehicle names: {STRING2}
STR_CONFIG_SETTING_SHOW_VEHICLE_GROUP_HIERARCHY_NAME_HELPTEXT :When enabled, and show group hierarchy in name is enabled, vehicle names which include a group name use the full group name with hierarchy
STR_CONFIG_SETTING_ADV_SIG_BRIDGE_TUN_MODES :Enable signals on bridges/tunnels advanced modes: {STRING2} STR_CONFIG_SETTING_ADV_SIG_BRIDGE_TUN_MODES :Enable signals on bridges/tunnels advanced modes: {STRING2}
STR_CONFIG_SETTING_ADV_SIG_BRIDGE_TUN_MODES_HELPTEXT :Enables use of advanced modes of signal simulation on bridges and tunnels. When disabled, bridges/tunnels which are not already in an advanced mode cannot be changed to an advanced mode, however other players may choose to enable this setting and use an advanced mode. STR_CONFIG_SETTING_ADV_SIG_BRIDGE_TUN_MODES_HELPTEXT :Enables use of advanced modes of signal simulation on bridges and tunnels. When disabled, bridges/tunnels which are not already in an advanced mode cannot be changed to an advanced mode, however other players may choose to enable this setting and use an advanced mode.

@ -1938,6 +1938,7 @@ static SettingsContainer &GetSettingsTree()
interface->Add(new SettingEntry("gui.disable_water_animation")); interface->Add(new SettingEntry("gui.disable_water_animation"));
interface->Add(new SettingEntry("gui.show_order_occupancy_by_default")); interface->Add(new SettingEntry("gui.show_order_occupancy_by_default"));
interface->Add(new SettingEntry("gui.show_group_hierarchy_name")); interface->Add(new SettingEntry("gui.show_group_hierarchy_name"));
interface->Add(new ConditionallyHiddenSettingEntry("gui.show_vehicle_group_hierarchy_name", []() -> bool { return !_settings_client.gui.show_group_hierarchy_name; }));
} }
SettingsPage *advisors = main->Add(new SettingsPage(STR_CONFIG_SETTING_ADVISORS)); SettingsPage *advisors = main->Add(new SettingsPage(STR_CONFIG_SETTING_ADVISORS));

@ -250,6 +250,7 @@ struct GUISettings : public TimeSettings {
uint8 disable_water_animation; ///< Disable water animation depending on zoom level uint8 disable_water_animation; ///< Disable water animation depending on zoom level
bool show_order_occupancy_by_default; ///< Show order occupancy by default in vehicle order window bool show_order_occupancy_by_default; ///< Show order occupancy by default in vehicle order window
bool show_group_hierarchy_name; ///< Show the full hierarchy in group names bool show_group_hierarchy_name; ///< Show the full hierarchy in group names
bool show_vehicle_group_hierarchy_name;///< Show the full group hierarchy in vehicle names
uint16 console_backlog_timeout; ///< the minimum amount of time items should be in the console backlog before they will be removed in ~3 seconds granularity. uint16 console_backlog_timeout; ///< the minimum amount of time items should be in the console backlog before they will be removed in ~3 seconds granularity.
uint16 console_backlog_length; ///< the minimum amount of items in the console backlog before items will be removed. uint16 console_backlog_length; ///< the minimum amount of items in the console backlog before items will be removed.

@ -1853,12 +1853,14 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last); buff = GetStringWithArgs(buff, STR_JUST_RAW_STRING, &tmp_params, last);
} else if (v->group_id != DEFAULT_GROUP && _settings_client.gui.vehicle_names != 0 && v->type < VEH_COMPANY_END) { } else if (v->group_id != DEFAULT_GROUP && _settings_client.gui.vehicle_names != 0 && v->type < VEH_COMPANY_END) {
/* The vehicle has no name, but is member of a group, so print group name */ /* The vehicle has no name, but is member of a group, so print group name */
uint32 group_name = v->group_id;
if (_settings_client.gui.show_vehicle_group_hierarchy_name) group_name |= GROUP_NAME_HIERARCHY;
if (_settings_client.gui.vehicle_names == 1) { if (_settings_client.gui.vehicle_names == 1) {
int64 args_array[] = {v->group_id, v->unitnumber}; int64 args_array[] = {group_name, v->unitnumber};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, STR_FORMAT_GROUP_VEHICLE_NAME, &tmp_params, last); buff = GetStringWithArgs(buff, STR_FORMAT_GROUP_VEHICLE_NAME, &tmp_params, last);
} else { } else {
int64 args_array[] = {v->group_id, STR_TRADITIONAL_TRAIN_NAME + v->type, v->unitnumber}; int64 args_array[] = {group_name, STR_TRADITIONAL_TRAIN_NAME + v->type, v->unitnumber};
StringParameters tmp_params(args_array); StringParameters tmp_params(args_array);
buff = GetStringWithArgs(buff, STR_FORMAT_GROUP_VEHICLE_NAME_LONG, &tmp_params, last); buff = GetStringWithArgs(buff, STR_FORMAT_GROUP_VEHICLE_NAME_LONG, &tmp_params, last);
} }

@ -5557,9 +5557,18 @@ flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = false def = false
str = STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME str = STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME
strhelp = STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME_HELPTEXT strhelp = STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME_HELPTEXT
post_cb = [](auto) { MarkWholeScreenDirty(); } post_cb = [](auto) { InvalidateWindowClassesData(WC_GAME_OPTIONS); MarkWholeScreenDirty(); }
cat = SC_BASIC cat = SC_BASIC
[SDTC_BOOL]
var = gui.show_vehicle_group_hierarchy_name
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
def = false
str = STR_CONFIG_SETTING_SHOW_VEHICLE_GROUP_HIERARCHY_NAME
strhelp = STR_CONFIG_SETTING_SHOW_VEHICLE_GROUP_HIERARCHY_NAME_HELPTEXT
post_cb = [](auto) { MarkWholeScreenDirty(); }
cat = SC_ADVANCED
; For the dedicated build we'll enable dates in logs by default. ; For the dedicated build we'll enable dates in logs by default.
[SDTC_BOOL] [SDTC_BOOL]
ifdef = DEDICATED ifdef = DEDICATED

Loading…
Cancel
Save