Fix handling of refit with train through-load
This commit is contained in:
@@ -1768,7 +1768,7 @@ static void LoadUnloadVehicle(Vehicle *front)
|
||||
if (v != front && !HasBit(Train::From(v->Previous())->flags, VRF_BEYOND_PLATFORM_END) && length > platform_length_left) {
|
||||
for (Vehicle *skip = v; skip != NULL; skip = skip->Next()) {
|
||||
SetBit(Train::From(skip)->flags, VRF_NOT_YET_IN_PLATFORM);
|
||||
if (skip->cargo.ReservedCount() || skip->cargo.UnloadCount()) {
|
||||
if (skip->cargo.ReservedCount() || skip->cargo.UnloadCount() || (skip->cargo_cap != 0 && front->current_order.IsRefit())) {
|
||||
load_unload_not_yet_in_station = true;
|
||||
}
|
||||
}
|
||||
@@ -1994,7 +1994,7 @@ static void LoadUnloadVehicle(Vehicle *front)
|
||||
}
|
||||
}
|
||||
|
||||
if (pull_through_mode && (front->current_order.IsRefit() || load_unload_not_yet_in_station)) {
|
||||
if (pull_through_mode && load_unload_not_yet_in_station) {
|
||||
finished_loading = false;
|
||||
SetBit(Train::From(front)->flags, VRF_ADVANCE_IN_PLATFORM);
|
||||
}
|
||||
|
Reference in New Issue
Block a user