Schedule dispatch: Warn about and ignore departure slots outside the duration

This commit is contained in:
Jonathan G Rennison
2020-02-09 23:17:19 +00:00
parent babe98cdb1
commit bca0187aaf
4 changed files with 44 additions and 0 deletions

View File

@@ -737,6 +737,7 @@ static DateTicksScaled GetScheduledDispatchTime(Vehicle *v, int wait_offset)
/* Find next available slots */
for (auto current_offset : v->orders.list->GetScheduledDispatch()) {
if (current_offset >= dispatch_duration) continue;
if (int32(current_offset) <= last_dispatched_offset) {
current_offset += dispatch_duration * ((last_dispatched_offset + dispatch_duration - current_offset) / dispatch_duration);
}