diff --git a/src/base_consist.cpp b/src/base_consist.cpp index b1925a0fb7..720f770c34 100644 --- a/src/base_consist.cpp +++ b/src/base_consist.cpp @@ -56,4 +56,9 @@ void BaseConsist::CopyConsistPropertiesFrom(const BaseConsist *src) } else { ClrBit(this->vehicle_flags, VF_TIMETABLE_SEPARATION); } + if (HasBit(src->vehicle_flags, VF_SCHEDULED_DISPATCH)) { + SetBit(this->vehicle_flags, VF_SCHEDULED_DISPATCH); + } else { + ClrBit(this->vehicle_flags, VF_SCHEDULED_DISPATCH); + } } diff --git a/src/order_backup.cpp b/src/order_backup.cpp index c806d2aa8a..4283f51b29 100644 --- a/src/order_backup.cpp +++ b/src/order_backup.cpp @@ -68,8 +68,7 @@ OrderBackup::OrderBackup(const Vehicle *v, uint32 user) tail = ©->next; } - if (v->orders != nullptr && HasBit(v->vehicle_flags, VF_SCHEDULED_DISPATCH)) { - SetBit(this->vehicle_flags, VF_SCHEDULED_DISPATCH); + if (v->orders != nullptr) { this->dispatch_schedules = v->orders->GetScheduledDispatchScheduleSet(); } } @@ -90,10 +89,7 @@ void OrderBackup::DoRestore(Vehicle *v) v->orders = new OrderList(this->orders, v); this->orders = nullptr; - if (HasBit(this->vehicle_flags, VF_SCHEDULED_DISPATCH)) { - SetBit(v->vehicle_flags, VF_SCHEDULED_DISPATCH); - v->orders->GetScheduledDispatchScheduleSet() = std::move(this->dispatch_schedules); - } + v->orders->GetScheduledDispatchScheduleSet() = std::move(this->dispatch_schedules); /* Make sure buoys/oil rigs are updated in the station list. */ InvalidateWindowClassesData(WC_STATION_LIST, 0); diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 9b29a9c8e9..f79b9daf93 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -1432,7 +1432,7 @@ void InsertOrder(Vehicle *v, Order *new_o, VehicleOrderID sel_ord) static CommandCost DecloneOrder(Vehicle *dst, DoCommandFlag flags) { if (flags & DC_EXEC) { - /* Clear cheduled dispatch flag if any */ + /* Clear scheduled dispatch flag if any */ if (HasBit(dst->vehicle_flags, VF_SCHEDULED_DISPATCH)) { ClrBit(dst->vehicle_flags, VF_SCHEDULED_DISPATCH); }