Show reversing and timetable waiting in vehicle status bar

pull/73/head
Jonathan G Rennison 6 years ago
parent 940314a3c7
commit 5732e4f7ff

@ -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

@ -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;

Loading…
Cancel
Save