diff --git a/src/lang/english.txt b/src/lang/english.txt index b91eaf8c20..1e9ce36b9d 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4650,6 +4650,8 @@ STR_TIMETABLE_AUTOSEP_SINGLE_VEH :{BLACK}This tim STR_TIMETABLE_WARNING_AUTOSEP_CONDITIONAL :{BLACK}Cannot auto separate timetable: conditional order(s) present STR_TIMETABLE_WARNING_AUTOSEP_MISSING_TIMINGS :{BLACK}Cannot auto separate timetable: wait or travel time(s) missing STR_TIMETABLE_WARNING_FULL_LOAD :{BLACK}Timetabling full-load orders is not recommended +STR_TIMETABLE_WARNING_AUTOFILL_CONDITIONAL :{BLACK}Autofill will only update taken branch of conditional orders. +STR_TIMETABLE_NON_TIMETABLED_BRANCH :{BLACK}Not all conditional order branch-taken travel times are timetabled. # Date window (for timetable) diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 65b8b50a49..d7cbf8c70e 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -569,12 +569,14 @@ struct TimetableWindow : Window { bool have_missing_wait = false; bool have_missing_travel = false; bool have_bad_full_load = false; + bool have_non_timetabled_conditional_branch = false; const bool assume_timetabled = HasBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE) || HasBit(v->vehicle_flags, VF_AUTOMATE_TIMETABLE); for (int n = 0; n < v->GetNumOrders(); n++) { const Order *order = v->GetOrder(n); if (order->IsType(OT_CONDITIONAL)) { have_conditional = true; + if (!order->IsWaitTimetabled()) have_non_timetabled_conditional_branch = true; } else { if (order->GetWaitTime() == 0 && order->IsType(OT_GOTO_STATION)) { have_missing_wait = true; @@ -636,6 +638,8 @@ struct TimetableWindow : Window { } } if (have_bad_full_load) draw_info(STR_TIMETABLE_WARNING_FULL_LOAD, true); + if (have_conditional && HasBit(v->vehicle_flags, VF_AUTOFILL_TIMETABLE)) draw_info(STR_TIMETABLE_WARNING_AUTOFILL_CONDITIONAL, true); + if (total_time && have_non_timetabled_conditional_branch) draw_info(STR_TIMETABLE_NON_TIMETABLED_BRANCH, false); if (warning_count != this->summary_warnings) { TimetableWindow *mutable_this = const_cast(this);