Add setting to show order number in vehicle view window
This commit is contained in:
@@ -325,6 +325,9 @@ STR_CONFIG_SETTING_SHOW_GROUP_HIERARCHY_NAME_HELPTEXT :When enabled, g
|
|||||||
STR_CONFIG_SETTING_SHOW_VEHICLE_GROUP_HIERARCHY_NAME :Show group hierarchy in vehicle names: {STRING2}
|
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_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_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW :Show order number in vehicle view window: {STRING2}
|
||||||
|
STR_CONFIG_SETTING_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW_HELPTEXT :When enabled, the current vehicle order is shown in the vehicle view window start/stop bar
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
@@ -1489,6 +1492,8 @@ STR_VEHICLE_VIEW_SEND_TO_DEPOT_MENU :{BLACK}Cancel s
|
|||||||
|
|
||||||
STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP_EXTRA :{STRING}{BLACK}{}Shift+Click to toggle showing route overlay even when window is not focused
|
STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP_EXTRA :{STRING}{BLACK}{}Shift+Click to toggle showing route overlay even when window is not focused
|
||||||
|
|
||||||
|
STR_VEHICLE_VIEW_ORDER_NUMBER :{COMMA}: {STRING}
|
||||||
|
|
||||||
STR_VEHICLE_STATUS_LOADING_UNLOADING_ADVANCE :{STRING}, {VELOCITY}
|
STR_VEHICLE_STATUS_LOADING_UNLOADING_ADVANCE :{STRING}, {VELOCITY}
|
||||||
STR_VEHICLE_STATUS_BROKEN_DOWN_VEL :{RED}Broken down - {STRING2}, {LTBLUE} {VELOCITY}
|
STR_VEHICLE_STATUS_BROKEN_DOWN_VEL :{RED}Broken down - {STRING2}, {LTBLUE} {VELOCITY}
|
||||||
STR_VEHICLE_STATUS_BROKEN_DOWN_VEL_SHORT :{RED}Broken down - {STRING2}
|
STR_VEHICLE_STATUS_BROKEN_DOWN_VEL_SHORT :{RED}Broken down - {STRING2}
|
||||||
|
@@ -2079,6 +2079,7 @@ static SettingsContainer &GetSettingsTree()
|
|||||||
vehicle_windows->Add(new SettingEntry("gui.show_group_hierarchy_name"));
|
vehicle_windows->Add(new SettingEntry("gui.show_group_hierarchy_name"));
|
||||||
vehicle_windows->Add(new ConditionallyHiddenSettingEntry("gui.show_vehicle_group_hierarchy_name", []() -> bool { return !_settings_client.gui.show_group_hierarchy_name; }));
|
vehicle_windows->Add(new ConditionallyHiddenSettingEntry("gui.show_vehicle_group_hierarchy_name", []() -> bool { return !_settings_client.gui.show_group_hierarchy_name; }));
|
||||||
vehicle_windows->Add(new SettingEntry("gui.enable_single_veh_shared_order_gui"));
|
vehicle_windows->Add(new SettingEntry("gui.enable_single_veh_shared_order_gui"));
|
||||||
|
vehicle_windows->Add(new SettingEntry("gui.show_order_number_vehicle_view"));
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsPage *departureboards = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_DEPARTUREBOARDS));
|
SettingsPage *departureboards = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_DEPARTUREBOARDS));
|
||||||
|
@@ -277,6 +277,7 @@ struct GUISettings : public TimeSettings {
|
|||||||
bool show_order_management_button; ///< Show order management button in vehicle order window
|
bool show_order_management_button; ///< Show order management button 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
|
bool show_vehicle_group_hierarchy_name;///< Show the full group hierarchy in vehicle names
|
||||||
|
bool show_order_number_vehicle_view; ///< Show order number in vehicle view window
|
||||||
|
|
||||||
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.
|
||||||
|
@@ -5919,6 +5919,14 @@ strhelp = STR_CONFIG_SETTING_SHOW_VEHICLE_GROUP_HIERARCHY_NAME_HELPTEXT
|
|||||||
post_cb = [](auto) { MarkWholeScreenDirty(); }
|
post_cb = [](auto) { MarkWholeScreenDirty(); }
|
||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
|
|
||||||
|
[SDTC_BOOL]
|
||||||
|
var = gui.show_order_number_vehicle_view
|
||||||
|
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
|
||||||
|
def = false
|
||||||
|
str = STR_CONFIG_SETTING_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW
|
||||||
|
strhelp = STR_CONFIG_SETTING_SHOW_ORDER_NUMBER_IN_VEHICLE_VIEW_HELPTEXT
|
||||||
|
post_cb = [](auto) { SetWindowClassesDirty(WC_VEHICLE_VIEW); }
|
||||||
|
|
||||||
; 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
|
||||||
|
@@ -3774,6 +3774,7 @@ public:
|
|||||||
if (widget != WID_VV_START_STOP) return;
|
if (widget != WID_VV_START_STOP) return;
|
||||||
|
|
||||||
const Vehicle *v = Vehicle::Get(this->window_number);
|
const Vehicle *v = Vehicle::Get(this->window_number);
|
||||||
|
bool show_order_number = false;
|
||||||
StringID str;
|
StringID str;
|
||||||
TextColour text_colour = TC_FROMSTRING;
|
TextColour text_colour = TC_FROMSTRING;
|
||||||
if (v->vehstatus & VS_CRASHED) {
|
if (v->vehstatus & VS_CRASHED) {
|
||||||
@@ -3845,15 +3846,10 @@ public:
|
|||||||
} else if (v->type == VEH_AIRCRAFT && HasBit(Aircraft::From(v)->flags, VAF_DEST_TOO_FAR) && !v->current_order.IsType(OT_LOADING)) {
|
} else if (v->type == VEH_AIRCRAFT && HasBit(Aircraft::From(v)->flags, VAF_DEST_TOO_FAR) && !v->current_order.IsType(OT_LOADING)) {
|
||||||
str = STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR;
|
str = STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR;
|
||||||
} else { // vehicle is in a "normal" state, show current order
|
} else { // vehicle is in a "normal" state, show current order
|
||||||
if (mouse_over_start_stop) {
|
|
||||||
if (v->vehstatus & VS_STOPPED || (v->breakdown_ctr == 1 || (v->type == VEH_TRAIN && Train::From(v)->flags & VRF_IS_BROKEN))) {
|
|
||||||
text_colour = TC_RED | TC_FORCED;
|
|
||||||
} else if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_TRAIN_STUCK) && !v->current_order.IsType(OT_LOADING)) {
|
|
||||||
text_colour = TC_ORANGE | TC_FORCED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
switch (v->current_order.GetType()) {
|
switch (v->current_order.GetType()) {
|
||||||
case OT_GOTO_STATION: {
|
case OT_GOTO_STATION: {
|
||||||
|
show_order_number = true;
|
||||||
|
text_colour = TC_LIGHT_BLUE;
|
||||||
SetDParam(0, v->current_order.GetDestination());
|
SetDParam(0, v->current_order.GetDestination());
|
||||||
SetDParam(1, PackVelocity(v->GetDisplaySpeed(), v->type));
|
SetDParam(1, PackVelocity(v->GetDisplaySpeed(), v->type));
|
||||||
str = HasBit(v->vehicle_flags, VF_PATHFINDER_LOST) ? STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL : STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL;
|
str = HasBit(v->vehicle_flags, VF_PATHFINDER_LOST) ? STR_VEHICLE_STATUS_CANNOT_REACH_STATION_VEL : STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL;
|
||||||
@@ -3861,6 +3857,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
case OT_GOTO_DEPOT: {
|
case OT_GOTO_DEPOT: {
|
||||||
|
show_order_number = true;
|
||||||
|
text_colour = TC_ORANGE;
|
||||||
SetDParam(0, v->type);
|
SetDParam(0, v->type);
|
||||||
SetDParam(1, v->current_order.GetDestination());
|
SetDParam(1, v->current_order.GetDestination());
|
||||||
SetDParam(2, PackVelocity(v->GetDisplaySpeed(), v->type));
|
SetDParam(2, PackVelocity(v->GetDisplaySpeed(), v->type));
|
||||||
@@ -3893,6 +3891,8 @@ public:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case OT_GOTO_WAYPOINT: {
|
case OT_GOTO_WAYPOINT: {
|
||||||
|
show_order_number = true;
|
||||||
|
text_colour = TC_LIGHT_BLUE;
|
||||||
assert(v->type == VEH_TRAIN || v->type == VEH_ROAD || v->type == VEH_SHIP);
|
assert(v->type == VEH_TRAIN || v->type == VEH_ROAD || v->type == VEH_SHIP);
|
||||||
SetDParam(0, v->current_order.GetDestination());
|
SetDParam(0, v->current_order.GetDestination());
|
||||||
str = HasBit(v->vehicle_flags, VF_PATHFINDER_LOST) ? STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL : STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL;
|
str = HasBit(v->vehicle_flags, VF_PATHFINDER_LOST) ? STR_VEHICLE_STATUS_CANNOT_REACH_WAYPOINT_VEL : STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL;
|
||||||
@@ -3920,6 +3920,21 @@ public:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mouse_over_start_stop) {
|
||||||
|
if (v->vehstatus & VS_STOPPED || (v->breakdown_ctr == 1 || (v->type == VEH_TRAIN && Train::From(v)->flags & VRF_IS_BROKEN))) {
|
||||||
|
text_colour = TC_RED | TC_FORCED;
|
||||||
|
} else if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_TRAIN_STUCK) && !v->current_order.IsType(OT_LOADING)) {
|
||||||
|
text_colour = TC_ORANGE | TC_FORCED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_settings_client.gui.show_order_number_vehicle_view && show_order_number && v->cur_implicit_order_index < v->GetNumOrders()) {
|
||||||
|
_temp_special_strings[0] = GetString(str);
|
||||||
|
SetDParam(0, v->cur_implicit_order_index + 1);
|
||||||
|
SetDParam(1, SPECSTR_TEMP_START);
|
||||||
|
str = STR_VEHICLE_VIEW_ORDER_NUMBER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw the flag plus orders. */
|
/* Draw the flag plus orders. */
|
||||||
|
Reference in New Issue
Block a user