Add drive-through train depot emulation (default off)

This commit is contained in:
Jonathan G Rennison
2020-09-26 17:56:58 +01:00
parent b6f583a799
commit 84dd35b685
10 changed files with 93 additions and 2 deletions

View File

@@ -3356,8 +3356,12 @@ public:
} else if (v->type == VEH_TRAIN && HasBit(Train::From(v)->flags, VRF_TRAIN_STUCK) && !v->current_order.IsType(OT_LOADING) && !mouse_over_start_stop) {
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());
if (Train::From(v)->track == TRACK_BIT_DEPOT) {
str = STR_VEHICLE_STATUS_TRAIN_MOVING_DEPOT;
} else {
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