mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-09-02 19:39:12 +00:00
(svn r14192) -Fix [FS#2236]: properly update the current timetable's travel/wait times instead of only doing it for one vehicle in the shared order chain and only when some bit has not been set (PhilSophus)
This commit is contained in:
@@ -24,15 +24,14 @@ static void ChangeTimetable(Vehicle *v, VehicleOrderID order_number, uint16 time
|
|||||||
order->wait_time = time;
|
order->wait_time = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (v->cur_order_index == order_number && v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) {
|
|
||||||
if (is_journey) {
|
|
||||||
v->current_order.travel_time = time;
|
|
||||||
} else {
|
|
||||||
v->current_order.wait_time = time;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (v = v->FirstShared(); v != NULL; v = v->NextShared()) {
|
for (v = v->FirstShared(); v != NULL; v = v->NextShared()) {
|
||||||
|
if (v->cur_order_index == order_number && v->current_order.Equals(*order)) {
|
||||||
|
if (is_journey) {
|
||||||
|
v->current_order.travel_time = time;
|
||||||
|
} else {
|
||||||
|
v->current_order.wait_time = time;
|
||||||
|
}
|
||||||
|
}
|
||||||
InvalidateWindow(WC_VEHICLE_TIMETABLE, v->index);
|
InvalidateWindow(WC_VEHICLE_TIMETABLE, v->index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user