Codechange: Use anonymous union for vehicle orders/old orders list
This commit is contained in:
@@ -123,7 +123,7 @@ static void FillTimetableArrivalDepartureTable(const Vehicle *v, VehicleOrderID
|
||||
if (i >= v->GetNumOrders()) {
|
||||
i = 0;
|
||||
assert(order == nullptr);
|
||||
order = v->orders.list->GetFirstOrder();
|
||||
order = v->orders->GetFirstOrder();
|
||||
}
|
||||
} while (i != start);
|
||||
|
||||
@@ -322,9 +322,9 @@ struct TimetableWindow : Window {
|
||||
this->SetWidgetDisabledState(WID_VT_CLEAR_SPEED, disable_speed);
|
||||
this->SetWidgetDisabledState(WID_VT_SHARED_ORDER_LIST, !v->IsOrderListShared());
|
||||
|
||||
this->SetWidgetDisabledState(WID_VT_START_DATE, v->orders.list == nullptr);
|
||||
this->SetWidgetDisabledState(WID_VT_RESET_LATENESS, v->orders.list == nullptr);
|
||||
this->SetWidgetDisabledState(WID_VT_AUTOFILL, v->orders.list == nullptr);
|
||||
this->SetWidgetDisabledState(WID_VT_START_DATE, v->orders == nullptr);
|
||||
this->SetWidgetDisabledState(WID_VT_RESET_LATENESS, v->orders == nullptr);
|
||||
this->SetWidgetDisabledState(WID_VT_AUTOFILL, v->orders == nullptr);
|
||||
} else {
|
||||
this->DisableWidget(WID_VT_START_DATE);
|
||||
this->DisableWidget(WID_VT_CHANGE_TIME);
|
||||
@@ -424,7 +424,7 @@ struct TimetableWindow : Window {
|
||||
* i.e. are only shown if we can calculate all times.
|
||||
* Excluding order lists with only one order makes some things easier.
|
||||
*/
|
||||
Ticks total_time = v->orders.list != nullptr ? v->orders.list->GetTimetableDurationIncomplete() : 0;
|
||||
Ticks total_time = v->orders != nullptr ? v->orders->GetTimetableDurationIncomplete() : 0;
|
||||
if (total_time <= 0 || v->GetNumOrders() <= 1 || !HasBit(v->vehicle_flags, VF_TIMETABLE_STARTED)) break;
|
||||
|
||||
TimetableArrivalDeparture *arr_dep = AllocaM(TimetableArrivalDeparture, v->GetNumOrders());
|
||||
@@ -475,10 +475,10 @@ struct TimetableWindow : Window {
|
||||
case WID_VT_SUMMARY_PANEL: {
|
||||
int y = r.top + WD_FRAMERECT_TOP;
|
||||
|
||||
Ticks total_time = v->orders.list != nullptr ? v->orders.list->GetTimetableDurationIncomplete() : 0;
|
||||
Ticks total_time = v->orders != nullptr ? v->orders->GetTimetableDurationIncomplete() : 0;
|
||||
if (total_time != 0) {
|
||||
SetTimetableParams(0, 1, total_time);
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, v->orders.list->IsCompleteTimetable() ? STR_TIMETABLE_TOTAL_TIME : STR_TIMETABLE_TOTAL_TIME_INCOMPLETE);
|
||||
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, v->orders->IsCompleteTimetable() ? STR_TIMETABLE_TOTAL_TIME : STR_TIMETABLE_TOTAL_TIME_INCOMPLETE);
|
||||
}
|
||||
y += FONT_HEIGHT_NORMAL;
|
||||
|
||||
@@ -531,7 +531,7 @@ struct TimetableWindow : Window {
|
||||
}
|
||||
|
||||
case WID_VT_START_DATE: // Change the date that the timetable starts.
|
||||
ShowSetDateWindow(this, v->index, _date, _cur_year, _cur_year + 15, ChangeTimetableStartCallback, reinterpret_cast<void *>(static_cast<uintptr_t>(v->orders.list->IsCompleteTimetable() && _ctrl_pressed)));
|
||||
ShowSetDateWindow(this, v->index, _date, _cur_year, _cur_year + 15, ChangeTimetableStartCallback, reinterpret_cast<void *>(static_cast<uintptr_t>(v->orders->IsCompleteTimetable() && _ctrl_pressed)));
|
||||
break;
|
||||
|
||||
case WID_VT_CHANGE_TIME: { // "Wait For" button.
|
||||
|
Reference in New Issue
Block a user