From 5732e4f7ff6f7a2cd26e0a211c82eaaba925802c Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 14 Aug 2018 11:24:40 +0100 Subject: [PATCH] Show reversing and timetable waiting in vehicle status bar --- src/lang/english.txt | 2 ++ src/vehicle_gui.cpp | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/lang/english.txt b/src/lang/english.txt index 2ea3174400..7fcb75441c 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4329,6 +4329,8 @@ STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}No power STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Waiting for free path STR_VEHICLE_STATUS_TRAIN_STUCK_WAIT_RESTRICTION :{ORANGE}Waiting due to routing restriction STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Too far to next destination +STR_VEHICLE_STATUS_TRAIN_WAITING_TIMETABLE :{ORANGE}Waiting due to timetable +STR_VEHICLE_STATUS_TRAIN_REVERSING :{ORANGE}Reversing, {VELOCITY} STR_BREAKDOWN_TYPE_CRITICAL :Mechanical failure STR_BREAKDOWN_TYPE_EM_STOP :Emergency stop diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 079b403a08..5b25232c66 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -3196,6 +3196,9 @@ public: } } else if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_TRAIN_STUCK) && !v->current_order.IsType(OT_LOADING)) { str = HasBit(Train::From(v)->flags, VRF_WAITING_RESTRICTION) ? STR_VEHICLE_STATUS_TRAIN_STUCK_WAIT_RESTRICTION : STR_VEHICLE_STATUS_TRAIN_STUCK; + } else if (v->type == VEH_TRAIN && Train::From(v)->reverse_distance > 1) { + str = STR_VEHICLE_STATUS_TRAIN_REVERSING; + SetDParam(0, v->GetDisplaySpeed()); } 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; } else { // vehicle is in a "normal" state, show current order @@ -3247,6 +3250,11 @@ public: break; } + case OT_WAITING: { + str = STR_VEHICLE_STATUS_TRAIN_WAITING_TIMETABLE; + break; + } + case OT_LEAVESTATION: if (v->type != VEH_AIRCRAFT) { str = STR_VEHICLE_STATUS_LEAVING;