summaryrefslogtreecommitdiff
path: root/src/order_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/order_cmd.cpp')
-rw-r--r--src/order_cmd.cpp156
1 files changed, 78 insertions, 78 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp
index 2bfe5d29b..1a9d648c6 100644
--- a/src/order_cmd.cpp
+++ b/src/order_cmd.cpp
@@ -53,7 +53,7 @@ Order::~Order()
* the list of stations. So, we need to invalidate that window if needed. */
if (this->IsType(OT_GOTO_STATION) || this->IsType(OT_GOTO_WAYPOINT)) {
BaseStation *bs = BaseStation::GetIfValid(this->GetDestination());
- if (bs != NULL && bs->owner == OWNER_NONE) InvalidateWindowClassesData(WC_STATION_LIST, 0);
+ if (bs != nullptr && bs->owner == OWNER_NONE) InvalidateWindowClassesData(WC_STATION_LIST, 0);
}
}
@@ -66,7 +66,7 @@ void Order::Free()
this->type = OT_NOTHING;
this->flags = 0;
this->dest = 0;
- this->next = NULL;
+ this->next = nullptr;
}
/**
@@ -237,7 +237,7 @@ Order::Order(uint32 packed)
this->type = (OrderType)GB(packed, 0, 8);
this->flags = GB(packed, 8, 8);
this->dest = GB(packed, 16, 16);
- this->next = NULL;
+ this->next = nullptr;
this->refit_cargo = CT_NO_REFIT;
this->wait_time = 0;
this->travel_time = 0;
@@ -300,19 +300,19 @@ void OrderList::Initialize(Order *chain, Vehicle *v)
this->timetable_duration = 0;
this->total_duration = 0;
- for (Order *o = this->first; o != NULL; o = o->next) {
+ for (Order *o = this->first; o != nullptr; o = o->next) {
++this->num_orders;
if (!o->IsType(OT_IMPLICIT)) ++this->num_manual_orders;
this->timetable_duration += o->GetTimetabledWait() + o->GetTimetabledTravel();
this->total_duration += o->GetWaitTime() + o->GetTravelTime();
}
- for (Vehicle *u = this->first_shared->PreviousShared(); u != NULL; u = u->PreviousShared()) {
+ for (Vehicle *u = this->first_shared->PreviousShared(); u != nullptr; u = u->PreviousShared()) {
++this->num_vehicles;
this->first_shared = u;
}
- for (const Vehicle *u = v->NextShared(); u != NULL; u = u->NextShared()) ++this->num_vehicles;
+ for (const Vehicle *u = v->NextShared(); u != nullptr; u = u->NextShared()) ++this->num_vehicles;
}
/**
@@ -323,13 +323,13 @@ void OrderList::Initialize(Order *chain, Vehicle *v)
void OrderList::FreeChain(bool keep_orderlist)
{
Order *next;
- for (Order *o = this->first; o != NULL; o = next) {
+ for (Order *o = this->first; o != nullptr; o = next) {
next = o->next;
delete o;
}
if (keep_orderlist) {
- this->first = NULL;
+ this->first = nullptr;
this->num_orders = 0;
this->num_manual_orders = 0;
this->timetable_duration = 0;
@@ -345,11 +345,11 @@ void OrderList::FreeChain(bool keep_orderlist)
*/
Order *OrderList::GetOrderAt(int index) const
{
- if (index < 0) return NULL;
+ if (index < 0) return nullptr;
Order *order = this->first;
- while (order != NULL && index-- > 0) {
+ while (order != nullptr && index-- > 0) {
order = order->next;
}
return order;
@@ -364,11 +364,11 @@ Order *OrderList::GetOrderAt(int index) const
* \li a station order
* \li a refitting depot order
* \li a non-trivial conditional order
- * \li NULL if the vehicle won't stop anymore.
+ * \li nullptr if the vehicle won't stop anymore.
*/
const Order *OrderList::GetNextDecisionNode(const Order *next, uint hops) const
{
- if (hops > this->GetNumOrders() || next == NULL) return NULL;
+ if (hops > this->GetNumOrders() || next == nullptr) return nullptr;
if (next->IsType(OT_CONDITIONAL)) {
if (next->GetConditionVariable() != OCV_UNCONDITIONALLY) return next;
@@ -381,7 +381,7 @@ const Order *OrderList::GetNextDecisionNode(const Order *next, uint hops) const
}
if (next->IsType(OT_GOTO_DEPOT)) {
- if (next->GetDepotActionType() == ODATFB_HALT) return NULL;
+ if (next->GetDepotActionType() == ODATFB_HALT) return nullptr;
if (next->IsRefit()) return next;
}
@@ -395,7 +395,7 @@ const Order *OrderList::GetNextDecisionNode(const Order *next, uint hops) const
/**
* Recursively determine the next deterministic station to stop at.
* @param v The vehicle we're looking at.
- * @param first Order to start searching at or NULL to start at cur_implicit_order_index + 1.
+ * @param first Order to start searching at or nullptr to start at cur_implicit_order_index + 1.
* @param hops Number of orders we have already looked at.
* @return Next stoppping station or INVALID_STATION.
* @pre The vehicle is currently loading and v->last_station_visited is meaningful.
@@ -405,17 +405,17 @@ StationIDStack OrderList::GetNextStoppingStation(const Vehicle *v, const Order *
{
const Order *next = first;
- if (first == NULL) {
+ if (first == nullptr) {
next = this->GetOrderAt(v->cur_implicit_order_index);
- if (next == NULL) {
+ if (next == nullptr) {
next = this->GetFirstOrder();
- if (next == NULL) return INVALID_STATION;
+ if (next == nullptr) return INVALID_STATION;
} else {
- /* GetNext never returns NULL if there is a valid station in the list.
+ /* GetNext never returns nullptr if there is a valid station in the list.
* As the given "next" is already valid and a station in the list, we
- * don't have to check for NULL here. */
+ * don't have to check for nullptr here. */
next = this->GetNext(next);
- assert(next != NULL);
+ assert(next != nullptr);
}
}
@@ -423,16 +423,16 @@ StationIDStack OrderList::GetNextStoppingStation(const Vehicle *v, const Order *
next = this->GetNextDecisionNode(next, ++hops);
/* Resolve possibly nested conditionals by estimation. */
- while (next != NULL && next->IsType(OT_CONDITIONAL)) {
+ while (next != nullptr && next->IsType(OT_CONDITIONAL)) {
/* We return both options of conditional orders. */
const Order *skip_to = this->GetNextDecisionNode(
this->GetOrderAt(next->GetConditionSkipToOrder()), hops);
const Order *advance = this->GetNextDecisionNode(
this->GetNext(next), hops);
- if (advance == NULL || advance == first || skip_to == advance) {
- next = (skip_to == first) ? NULL : skip_to;
- } else if (skip_to == NULL || skip_to == first) {
- next = (advance == first) ? NULL : advance;
+ if (advance == nullptr || advance == first || skip_to == advance) {
+ next = (skip_to == first) ? nullptr : skip_to;
+ } else if (skip_to == nullptr || skip_to == first) {
+ next = (advance == first) ? nullptr : advance;
} else {
StationIDStack st1 = this->GetNextStoppingStation(v, skip_to, hops);
StationIDStack st2 = this->GetNextStoppingStation(v, advance, hops);
@@ -443,7 +443,7 @@ StationIDStack OrderList::GetNextStoppingStation(const Vehicle *v, const Order *
}
/* Don't return a next stop if the vehicle has to unload everything. */
- if (next == NULL || ((next->IsType(OT_GOTO_STATION) || next->IsType(OT_IMPLICIT)) &&
+ if (next == nullptr || ((next->IsType(OT_GOTO_STATION) || next->IsType(OT_IMPLICIT)) &&
next->GetDestination() == v->last_station_visited &&
(next->GetUnloadType() & (OUFB_TRANSFER | OUFB_UNLOAD)) != 0)) {
return INVALID_STATION;
@@ -460,7 +460,7 @@ StationIDStack OrderList::GetNextStoppingStation(const Vehicle *v, const Order *
*/
void OrderList::InsertOrderAt(Order *new_order, int index)
{
- if (this->first == NULL) {
+ if (this->first == nullptr) {
this->first = new_order;
} else {
if (index == 0) {
@@ -566,7 +566,7 @@ void OrderList::RemoveVehicle(Vehicle *v)
*/
bool OrderList::IsVehicleInSharedOrdersList(const Vehicle *v) const
{
- for (const Vehicle *v_shared = this->first_shared; v_shared != NULL; v_shared = v_shared->NextShared()) {
+ for (const Vehicle *v_shared = this->first_shared; v_shared != nullptr; v_shared = v_shared->NextShared()) {
if (v_shared == v) return true;
}
@@ -581,7 +581,7 @@ bool OrderList::IsVehicleInSharedOrdersList(const Vehicle *v) const
int OrderList::GetPositionInSharedOrderList(const Vehicle *v) const
{
int count = 0;
- for (const Vehicle *v_shared = v->PreviousShared(); v_shared != NULL; v_shared = v_shared->PreviousShared()) count++;
+ for (const Vehicle *v_shared = v->PreviousShared(); v_shared != nullptr; v_shared = v_shared->PreviousShared()) count++;
return count;
}
@@ -591,7 +591,7 @@ int OrderList::GetPositionInSharedOrderList(const Vehicle *v) const
*/
bool OrderList::IsCompleteTimetable() const
{
- for (Order *o = this->first; o != NULL; o = o->next) {
+ for (Order *o = this->first; o != nullptr; o = o->next) {
/* Implicit orders are, by definition, not timetabled. */
if (o->IsType(OT_IMPLICIT)) continue;
if (!o->IsCompletelyTimetabled()) return false;
@@ -612,7 +612,7 @@ void OrderList::DebugCheckSanity() const
DEBUG(misc, 6, "Checking OrderList %hu for sanity...", this->index);
- for (const Order *o = this->first; o != NULL; o = o->next) {
+ for (const Order *o = this->first; o != nullptr; o = o->next) {
++check_num_orders;
if (!o->IsType(OT_IMPLICIT)) ++check_num_manual_orders;
check_timetable_duration += o->GetTimetabledWait() + o->GetTimetabledTravel();
@@ -623,7 +623,7 @@ void OrderList::DebugCheckSanity() const
assert(this->timetable_duration == check_timetable_duration);
assert(this->total_duration == check_total_duration);
- for (const Vehicle *v = this->first_shared; v != NULL; v = v->NextShared()) {
+ for (const Vehicle *v = this->first_shared; v != nullptr; v = v->NextShared()) {
++check_num_vehicles;
assert(v->orders.list == this);
}
@@ -702,7 +702,7 @@ uint GetOrderDistance(const Order *prev, const Order *cur, const Vehicle *v, int
conditional_depth++;
int dist1 = GetOrderDistance(prev, v->GetOrder(cur->GetConditionSkipToOrder()), v, conditional_depth);
- int dist2 = GetOrderDistance(prev, cur->next == NULL ? v->orders.list->GetFirstOrder() : cur->next, v, conditional_depth);
+ int dist2 = GetOrderDistance(prev, cur->next == nullptr ? v->orders.list->GetFirstOrder() : cur->next, v, conditional_depth);
return max(dist1, dist2);
}
@@ -732,7 +732,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
Order new_order(p2);
Vehicle *v = Vehicle::GetIfValid(veh);
- if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
+ if (v == nullptr || !v->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
@@ -742,7 +742,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
switch (new_order.GetType()) {
case OT_GOTO_STATION: {
const Station *st = Station::GetIfValid(new_order.GetDestination());
- if (st == NULL) return CMD_ERROR;
+ if (st == nullptr) return CMD_ERROR;
if (st->owner != OWNER_NONE) {
CommandCost ret = CheckOwnership(st->owner);
@@ -750,7 +750,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
}
if (!CanVehicleUseStation(v, st)) return_cmd_error(STR_ERROR_CAN_T_ADD_ORDER);
- for (Vehicle *u = v->FirstShared(); u != NULL; u = u->NextShared()) {
+ for (Vehicle *u = v->FirstShared(); u != nullptr; u = u->NextShared()) {
if (!CanVehicleUseStation(u, st)) return_cmd_error(STR_ERROR_CAN_T_ADD_ORDER_SHARED);
}
@@ -789,7 +789,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
if (v->type == VEH_AIRCRAFT) {
const Station *st = Station::GetIfValid(new_order.GetDestination());
- if (st == NULL) return CMD_ERROR;
+ if (st == nullptr) return CMD_ERROR;
CommandCost ret = CheckOwnership(st->owner);
if (ret.Failed()) return ret;
@@ -800,7 +800,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
} else {
const Depot *dp = Depot::GetIfValid(new_order.GetDestination());
- if (dp == NULL) return CMD_ERROR;
+ if (dp == nullptr) return CMD_ERROR;
CommandCost ret = CheckOwnership(GetTileOwner(dp->xy));
if (ret.Failed()) return ret;
@@ -832,7 +832,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
case OT_GOTO_WAYPOINT: {
const Waypoint *wp = Waypoint::GetIfValid(new_order.GetDestination());
- if (wp == NULL) return CMD_ERROR;
+ if (wp == nullptr) return CMD_ERROR;
switch (v->type) {
default: return CMD_ERROR;
@@ -897,7 +897,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
if (v->GetNumOrders() >= MAX_VEH_ORDER_ID) return_cmd_error(STR_ERROR_TOO_MANY_ORDERS);
if (!Order::CanAllocateItem()) return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
- if (v->orders.list == NULL && !OrderList::CanAllocateItem()) return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
+ if (v->orders.list == nullptr && !OrderList::CanAllocateItem()) return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
if (flags & DC_EXEC) {
Order *new_o = new Order();
@@ -917,7 +917,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
void InsertOrder(Vehicle *v, Order *new_o, VehicleOrderID sel_ord)
{
/* Create new order and link in list */
- if (v->orders.list == NULL) {
+ if (v->orders.list == nullptr) {
v->orders.list = new OrderList(new_o, v);
} else {
v->orders.list->InsertOrderAt(new_o, sel_ord);
@@ -925,7 +925,7 @@ void InsertOrder(Vehicle *v, Order *new_o, VehicleOrderID sel_ord)
Vehicle *u = v->FirstShared();
DeleteOrderWarnings(u);
- for (; u != NULL; u = u->NextShared()) {
+ for (; u != nullptr; u = u->NextShared()) {
assert(v->orders.list == u->orders.list);
/* If there is added an order before the current one, we need
@@ -1008,7 +1008,7 @@ CommandCost CmdDeleteOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
Vehicle *v = Vehicle::GetIfValid(veh_id);
- if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
+ if (v == nullptr || !v->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
@@ -1016,7 +1016,7 @@ CommandCost CmdDeleteOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
/* If we did not select an order, we maybe want to de-clone the orders */
if (sel_ord >= v->GetNumOrders()) return DecloneOrder(v, flags);
- if (v->GetOrder(sel_ord) == NULL) return CMD_ERROR;
+ if (v->GetOrder(sel_ord) == nullptr) return CMD_ERROR;
if (flags & DC_EXEC) DeleteOrder(v, sel_ord);
return CommandCost();
@@ -1048,7 +1048,7 @@ void DeleteOrder(Vehicle *v, VehicleOrderID sel_ord)
Vehicle *u = v->FirstShared();
DeleteOrderWarnings(u);
- for (; u != NULL; u = u->NextShared()) {
+ for (; u != nullptr; u = u->NextShared()) {
assert(v->orders.list == u->orders.list);
if (sel_ord == u->cur_real_order_index && u->current_order.IsType(OT_LOADING)) {
@@ -1080,7 +1080,7 @@ void DeleteOrder(Vehicle *v, VehicleOrderID sel_ord)
/* As we delete an order, the order to skip to will be 'wrong'. */
VehicleOrderID cur_order_id = 0;
- Order *order = NULL;
+ Order *order = nullptr;
FOR_VEHICLE_ORDERS(v, order) {
if (order->IsType(OT_CONDITIONAL)) {
VehicleOrderID order_id = order->GetConditionSkipToOrder();
@@ -1114,7 +1114,7 @@ CommandCost CmdSkipToOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
Vehicle *v = Vehicle::GetIfValid(veh_id);
- if (v == NULL || !v->IsPrimaryVehicle() || sel_ord == v->cur_implicit_order_index || sel_ord >= v->GetNumOrders() || v->GetNumOrders() < 2) return CMD_ERROR;
+ if (v == nullptr || !v->IsPrimaryVehicle() || sel_ord == v->cur_implicit_order_index || sel_ord >= v->GetNumOrders() || v->GetNumOrders() < 2) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
@@ -1155,7 +1155,7 @@ CommandCost CmdMoveOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
VehicleOrderID target_order = GB(p2, 16, 16);
Vehicle *v = Vehicle::GetIfValid(veh);
- if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
+ if (v == nullptr || !v->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
@@ -1166,7 +1166,7 @@ CommandCost CmdMoveOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
Order *moving_one = v->GetOrder(moving_order);
/* Don't move an empty order */
- if (moving_one == NULL) return CMD_ERROR;
+ if (moving_one == nullptr) return CMD_ERROR;
if (flags & DC_EXEC) {
v->orders.list->MoveOrder(moving_order, target_order);
@@ -1176,7 +1176,7 @@ CommandCost CmdMoveOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
DeleteOrderWarnings(u);
- for (; u != NULL; u = u->NextShared()) {
+ for (; u != nullptr; u = u->NextShared()) {
/* Update the current order.
* There are multiple ways to move orders, which result in cur_implicit_order_index
* and cur_real_order_index to not longer make any sense. E.g. moving another
@@ -1262,7 +1262,7 @@ CommandCost CmdModifyOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
if (mof >= MOF_END) return CMD_ERROR;
Vehicle *v = Vehicle::GetIfValid(veh);
- if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
+ if (v == nullptr || !v->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
@@ -1459,7 +1459,7 @@ CommandCost CmdModifyOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
/* Update the windows and full load flags, also for vehicles that share the same order list */
Vehicle *u = v->FirstShared();
DeleteOrderWarnings(u);
- for (; u != NULL; u = u->NextShared()) {
+ for (; u != nullptr; u = u->NextShared()) {
/* Toggle u->current_order "Full load" flag if it changed.
* However, as the same flag is used for depot orders, check
* whether we are not going to a depot as there are three
@@ -1490,17 +1490,17 @@ CommandCost CmdModifyOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
*/
static bool CheckAircraftOrderDistance(const Aircraft *v_new, const Vehicle *v_order, const Order *first)
{
- if (first == NULL || v_new->acache.cached_max_range == 0) return true;
+ if (first == nullptr || v_new->acache.cached_max_range == 0) return true;
/* Iterate over all orders to check the distance between all
* 'goto' orders and their respective next order (of any type). */
- for (const Order *o = first; o != NULL; o = o->next) {
+ for (const Order *o = first; o != nullptr; o = o->next) {
switch (o->GetType()) {
case OT_GOTO_STATION:
case OT_GOTO_DEPOT:
case OT_GOTO_WAYPOINT:
/* If we don't have a next order, we've reached the end and must check the first order instead. */
- if (GetOrderDistance(o, o->next != NULL ? o->next : first, v_order) > v_new->acache.cached_max_range_sqr) return false;
+ if (GetOrderDistance(o, o->next != nullptr ? o->next : first, v_order) > v_new->acache.cached_max_range_sqr) return false;
break;
default: break;
@@ -1527,7 +1527,7 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
VehicleID veh_dst = GB(p1, 0, 20);
Vehicle *dst = Vehicle::GetIfValid(veh_dst);
- if (dst == NULL || !dst->IsPrimaryVehicle()) return CMD_ERROR;
+ if (dst == nullptr || !dst->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(dst->owner);
if (ret.Failed()) return ret;
@@ -1537,7 +1537,7 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
Vehicle *src = Vehicle::GetIfValid(veh_src);
/* Sanity checks */
- if (src == NULL || !src->IsPrimaryVehicle() || dst->type != src->type || dst == src) return CMD_ERROR;
+ if (src == nullptr || !src->IsPrimaryVehicle() || dst->type != src->type || dst == src) return CMD_ERROR;
CommandCost ret = CheckOwnership(src->owner);
if (ret.Failed()) return ret;
@@ -1569,7 +1569,7 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
return_cmd_error(STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE);
}
- if (src->orders.list == NULL && !OrderList::CanAllocateItem()) {
+ if (src->orders.list == nullptr && !OrderList::CanAllocateItem()) {
return_cmd_error(STR_ERROR_NO_MORE_SPACE_FOR_ORDERS);
}
@@ -1596,7 +1596,7 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
Vehicle *src = Vehicle::GetIfValid(veh_src);
/* Sanity checks */
- if (src == NULL || !src->IsPrimaryVehicle() || dst->type != src->type || dst == src) return CMD_ERROR;
+ if (src == nullptr || !src->IsPrimaryVehicle() || dst->type != src->type || dst == src) return CMD_ERROR;
CommandCost ret = CheckOwnership(src->owner);
if (ret.Failed()) return ret;
@@ -1623,7 +1623,7 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
if (flags & DC_EXEC) {
const Order *order;
- Order *first = NULL;
+ Order *first = nullptr;
Order **order_dst;
/* If the destination vehicle had an order list, destroy the chain but keep the OrderList.
@@ -1637,10 +1637,10 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
(*order_dst)->AssignOrder(*order);
order_dst = &(*order_dst)->next;
}
- if (dst->orders.list == NULL) {
+ if (dst->orders.list == nullptr) {
dst->orders.list = new OrderList(first, dst);
} else {
- assert(dst->orders.list->GetFirstOrder() == NULL);
+ assert(dst->orders.list->GetFirstOrder() == nullptr);
assert(!dst->orders.list->IsShared());
delete dst->orders.list;
assert(OrderList::CanAllocateItem());
@@ -1681,13 +1681,13 @@ CommandCost CmdOrderRefit(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
if (cargo >= NUM_CARGO && cargo != CT_NO_REFIT && cargo != CT_AUTO_REFIT) return CMD_ERROR;
const Vehicle *v = Vehicle::GetIfValid(veh);
- if (v == NULL || !v->IsPrimaryVehicle()) return CMD_ERROR;
+ if (v == nullptr || !v->IsPrimaryVehicle()) return CMD_ERROR;
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return ret;
Order *order = v->GetOrder(order_number);
- if (order == NULL) return CMD_ERROR;
+ if (order == nullptr) return CMD_ERROR;
/* Automatic refit cargo is only supported for goto station orders. */
if (cargo == CT_AUTO_REFIT && !order->IsType(OT_GOTO_STATION)) return CMD_ERROR;
@@ -1703,7 +1703,7 @@ CommandCost CmdOrderRefit(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
order->SetDepotActionType((OrderDepotActionFlags)(order->GetDepotActionType() & ~ODATFB_HALT));
}
- for (Vehicle *u = v->FirstShared(); u != NULL; u = u->NextShared()) {
+ for (Vehicle *u = v->FirstShared(); u != nullptr; u = u->NextShared()) {
/* Update any possible open window of the vehicle */
InvalidateVehicleOrder(u, VIWD_MODIFY_ORDERS);
@@ -1781,7 +1781,7 @@ void CheckOrders(const Vehicle *v)
if (n_st < 2 && message == INVALID_STRING_ID) message = STR_NEWS_VEHICLE_HAS_TOO_FEW_ORDERS;
#ifndef NDEBUG
- if (v->orders.list != NULL) v->orders.list->DebugCheckSanity();
+ if (v->orders.list != nullptr) v->orders.list->DebugCheckSanity();
#endif
/* We don't have a problem */
@@ -1836,7 +1836,7 @@ restart:
if (order->IsType(OT_IMPLICIT)) {
order = order->next; // DeleteOrder() invalidates current order
DeleteOrder(v, id);
- if (order != NULL) goto restart;
+ if (order != nullptr) goto restart;
break;
}
@@ -1853,7 +1853,7 @@ restart:
order->MakeDummy();
order->SetTravelTimetabled(travel_timetabled);
- for (const Vehicle *w = v->FirstShared(); w != NULL; w = w->NextShared()) {
+ for (const Vehicle *w = v->FirstShared(); w != nullptr; w = w->NextShared()) {
/* In GUI, simulate by removing the order and adding it back */
InvalidateVehicleOrder(w, id | (INVALID_VEH_ORDER_ID << 8));
InvalidateVehicleOrder(w, (INVALID_VEH_ORDER_ID << 8) | id);
@@ -1896,11 +1896,11 @@ void DeleteVehicleOrders(Vehicle *v, bool keep_orderlist, bool reset_order_indic
if (v->IsOrderListShared()) {
/* Remove ourself from the shared order list. */
v->RemoveFromShared();
- v->orders.list = NULL;
- } else if (v->orders.list != NULL) {
+ v->orders.list = nullptr;
+ } else if (v->orders.list != nullptr) {
/* Remove the orders */
v->orders.list->FreeChain(keep_orderlist);
- if (!keep_orderlist) v->orders.list = NULL;
+ if (!keep_orderlist) v->orders.list = nullptr;
}
if (reset_order_indices) {
@@ -1982,7 +1982,7 @@ VehicleOrderID ProcessConditionalOrder(const Order *order, const Vehicle *v)
uint16 value = order->GetConditionValue();
switch (order->GetConditionVariable()) {
- case OCV_LOAD_PERCENTAGE: skip_order = OrderConditionCompare(occ, CalcPercentVehicleFilled(v, NULL), value); break;
+ case OCV_LOAD_PERCENTAGE: skip_order = OrderConditionCompare(occ, CalcPercentVehicleFilled(v, nullptr), value); break;
case OCV_RELIABILITY: skip_order = OrderConditionCompare(occ, ToPercent16(v->reliability), value); break;
case OCV_MAX_RELIABILITY: skip_order = OrderConditionCompare(occ, ToPercent16(v->GetEngine()->reliability), value); break;
case OCV_MAX_SPEED: skip_order = OrderConditionCompare(occ, v->GetDisplayMaxSpeed() * 10 / 16, value); break;
@@ -2109,12 +2109,12 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth, bool
/* Get the current order */
order = v->GetOrder(v->cur_real_order_index);
- if (order != NULL && order->IsType(OT_IMPLICIT)) {
+ if (order != nullptr && order->IsType(OT_IMPLICIT)) {
assert(v->GetNumManualOrders() == 0);
- order = NULL;
+ order = nullptr;
}
- if (order == NULL) {
+ if (order == nullptr) {
v->current_order.Free();
v->SetDestTile(0);
return false;
@@ -2177,13 +2177,13 @@ bool ProcessOrders(Vehicle *v)
v->UpdateRealOrderIndex();
const Order *order = v->GetOrder(v->cur_real_order_index);
- if (order != NULL && order->IsType(OT_IMPLICIT)) {
+ if (order != nullptr && order->IsType(OT_IMPLICIT)) {
assert(v->GetNumManualOrders() == 0);
- order = NULL;
+ order = nullptr;
}
/* If no order, do nothing. */
- if (order == NULL || (v->type == VEH_AIRCRAFT && !CheckForValidOrders(v))) {
+ if (order == nullptr || (v->type == VEH_AIRCRAFT && !CheckForValidOrders(v))) {
if (v->type == VEH_AIRCRAFT) {
/* Aircraft do something vastly different here, so handle separately */
extern void HandleMissingAircraftOrders(Aircraft *v);