Codechange: Use anonymous union for vehicle orders/old orders list
This commit is contained in:
@@ -2161,7 +2161,7 @@ void Vehicle::BeginLoading()
|
||||
break;
|
||||
}
|
||||
target_index++;
|
||||
if (target_index >= this->orders.list->GetNumOrders()) {
|
||||
if (target_index >= this->orders->GetNumOrders()) {
|
||||
if (this->GetNumManualOrders() == 0 &&
|
||||
this->GetNumOrders() < IMPLICIT_ORDER_ONLY_CAP) {
|
||||
break;
|
||||
@@ -2199,7 +2199,7 @@ void Vehicle::BeginLoading()
|
||||
}
|
||||
}
|
||||
} else if (!suppress_implicit_orders &&
|
||||
((this->orders.list == nullptr ? OrderList::CanAllocateItem() : this->orders.list->GetNumOrders() < MAX_VEH_ORDER_ID)) &&
|
||||
((this->orders == nullptr ? OrderList::CanAllocateItem() : this->orders->GetNumOrders() < MAX_VEH_ORDER_ID)) &&
|
||||
Order::CanAllocateItem()) {
|
||||
/* Insert new implicit order */
|
||||
Order *implicit_order = new Order();
|
||||
@@ -2770,10 +2770,10 @@ void Vehicle::AddToShared(Vehicle *shared_chain)
|
||||
{
|
||||
assert(this->previous_shared == nullptr && this->next_shared == nullptr);
|
||||
|
||||
if (shared_chain->orders.list == nullptr) {
|
||||
if (shared_chain->orders == nullptr) {
|
||||
assert(shared_chain->previous_shared == nullptr);
|
||||
assert(shared_chain->next_shared == nullptr);
|
||||
this->orders.list = shared_chain->orders.list = new OrderList(nullptr, shared_chain);
|
||||
this->orders = shared_chain->orders = new OrderList(nullptr, shared_chain);
|
||||
}
|
||||
|
||||
this->next_shared = shared_chain->next_shared;
|
||||
@@ -2783,7 +2783,7 @@ void Vehicle::AddToShared(Vehicle *shared_chain)
|
||||
|
||||
if (this->next_shared != nullptr) this->next_shared->previous_shared = this;
|
||||
|
||||
shared_chain->orders.list->AddVehicle(this);
|
||||
shared_chain->orders->AddVehicle(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2796,7 +2796,7 @@ void Vehicle::RemoveFromShared()
|
||||
bool were_first = (this->FirstShared() == this);
|
||||
VehicleListIdentifier vli(VL_SHARED_ORDERS, this->type, this->owner, this->FirstShared()->index);
|
||||
|
||||
this->orders.list->RemoveVehicle(this);
|
||||
this->orders->RemoveVehicle(this);
|
||||
|
||||
if (!were_first) {
|
||||
/* We are not the first shared one, so only relink our previous one. */
|
||||
@@ -2806,7 +2806,7 @@ void Vehicle::RemoveFromShared()
|
||||
if (this->next_shared != nullptr) this->next_shared->previous_shared = this->previous_shared;
|
||||
|
||||
|
||||
if (this->orders.list->GetNumVehicles() == 1) {
|
||||
if (this->orders->GetNumVehicles() == 1) {
|
||||
/* When there is only one vehicle, remove the shared order list window. */
|
||||
CloseWindowById(GetWindowClassForVehicleType(this->type), vli.Pack());
|
||||
InvalidateVehicleOrder(this->FirstShared(), VIWD_MODIFY_ORDERS);
|
||||
|
Reference in New Issue
Block a user