diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -969,8 +969,7 @@ void InsertOrder(Vehicle *v, Order *new_ /* As we insert an order, the order to skip to will be 'wrong'. */ VehicleOrderID cur_order_id = 0; - Order *order; - FOR_VEHICLE_ORDERS(v, order) { + for (Order *order : v->Orders()) { if (order->IsType(OT_CONDITIONAL)) { VehicleOrderID order_id = order->GetConditionSkipToOrder(); if (order_id >= sel_ord) { @@ -1090,8 +1089,7 @@ void DeleteOrder(Vehicle *v, VehicleOrde /* As we delete an order, the order to skip to will be 'wrong'. */ VehicleOrderID cur_order_id = 0; - Order *order = nullptr; - FOR_VEHICLE_ORDERS(v, order) { + for (Order *order : v->Orders()) { if (order->IsType(OT_CONDITIONAL)) { VehicleOrderID order_id = order->GetConditionSkipToOrder(); if (order_id >= sel_ord) { @@ -1225,8 +1223,7 @@ CommandCost CmdMoveOrder(TileIndex tile, } /* As we move an order, the order to skip to will be 'wrong'. */ - Order *order; - FOR_VEHICLE_ORDERS(v, order) { + for (Order *order : v->Orders()) { if (order->IsType(OT_CONDITIONAL)) { VehicleOrderID order_id = order->GetConditionSkipToOrder(); if (order_id == moving_order) { @@ -1560,9 +1557,7 @@ CommandCost CmdCloneOrder(TileIndex tile /* Is the vehicle already in the shared list? */ if (src->FirstShared() == dst->FirstShared()) return CMD_ERROR; - const Order *order; - - FOR_VEHICLE_ORDERS(src, order) { + for (const Order *order : src->Orders()) { if (!OrderGoesToStation(dst, order)) continue; /* Allow copying unreachable destinations if they were already unreachable for the source. @@ -1613,8 +1608,7 @@ CommandCost CmdCloneOrder(TileIndex tile /* Trucks can't copy all the orders from busses (and visa versa), * and neither can helicopters and aircraft. */ - const Order *order; - FOR_VEHICLE_ORDERS(src, order) { + for (const Order *order : src->Orders()) { if (OrderGoesToStation(dst, order) && !CanVehicleUseStation(dst, Station::Get(order->GetDestination()))) { return_cmd_error(STR_ERROR_CAN_T_COPY_SHARE_ORDER); @@ -1632,7 +1626,6 @@ CommandCost CmdCloneOrder(TileIndex tile } if (flags & DC_EXEC) { - const Order *order; Order *first = nullptr; Order **order_dst; @@ -1642,7 +1635,7 @@ CommandCost CmdCloneOrder(TileIndex tile DeleteVehicleOrders(dst, true, dst->GetNumOrders() != src->GetNumOrders()); order_dst = &first; - FOR_VEHICLE_ORDERS(src, order) { + for (const Order *order : src->Orders()) { *order_dst = new Order(); (*order_dst)->AssignOrder(*order); order_dst = &(*order_dst)->next; @@ -1749,13 +1742,12 @@ void CheckOrders(const Vehicle *v) /* Only check every 20 days, so that we don't flood the message log */ if (v->owner == _local_company && v->day_counter % 20 == 0) { - const Order *order; StringID message = INVALID_STRING_ID; /* Check the order list */ int n_st = 0; - FOR_VEHICLE_ORDERS(v, order) { + for (const Order *order : v->Orders()) { /* Dummy order? */ if (order->IsType(OT_DUMMY)) { message = STR_NEWS_VEHICLE_HAS_VOID_ORDER; @@ -1829,7 +1821,7 @@ void RemoveOrderFromAllVehicles(OrderTyp /* Clear the order from the order-list */ int id = -1; - FOR_VEHICLE_ORDERS(v, order) { + for (Order *order : v->Orders()) { id++; restart: @@ -1879,9 +1871,7 @@ restart: */ bool Vehicle::HasDepotOrder() const { - const Order *order; - - FOR_VEHICLE_ORDERS(this, order) { + for (const Order *order : this->Orders()) { if (order->IsType(OT_GOTO_DEPOT)) return true; } @@ -1940,9 +1930,7 @@ uint16 GetServiceIntervalClamped(uint in */ static bool CheckForValidOrders(const Vehicle *v) { - const Order *order; - - FOR_VEHICLE_ORDERS(v, order) { + for (const Order *order : v->Orders()) { switch (order->GetType()) { case OT_GOTO_STATION: case OT_GOTO_DEPOT: