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;