OpenTTD Source: src/order_base.h File Reference

OpenTTD Source 12.2

Data Structures | Typedefs | Functions | Variables
order_base.h File Reference
`#include "order_type.h"`
`#include "core/pool_type.hpp"`
`#include "core/bitmath_func.hpp"`
`#include "cargo_type.h"`
`#include "depot_type.h"`
`#include "station_type.h"`
`#include "vehicle_type.h"`
`#include "date_type.h"`
`#include "saveload/saveload.h"`

Go to the source code of this file.

## Data Structures
struct | Order
struct | OrderList
| Shared order list linking together the linked list of orders and the list of vehicles sharing this order list. More...

## Typedefs
typedef Pool< Order, OrderID, 256, 0xFF0000 > | OrderPool
typedef Pool< OrderList, OrderListID, 128, 64000 > | OrderListPool

## Functions
void | InsertOrder (Vehicle *v, Order *new_o, VehicleOrderID sel_ord)
| Insert a new order but skip the validation. More...
void | DeleteOrder (Vehicle *v, VehicleOrderID sel_ord)
| Delete an order but skip the parameter validation. More...

## Variables
OrderPool | _order_pool
OrderListPool | _orderlist_pool

## Detailed Description

Base class for orders.

Definition in file order_base.h.

## Function Documentation

## ◆ DeleteOrder()

void DeleteOrder | ( | Vehicle * | v,
|  | VehicleOrderID | sel_ord
| ) |  |

Delete an order but skip the parameter validation.

Parameters

  v | The vehicle to delete the order from.
  sel_ord | The id of the order to be deleted.

Definition at line 1056 of file order_cmd.cpp.

References BaseConsist::cur_real_order_index, Vehicle::current_order, OrderList::DeleteOrderAt(), DeleteOrderWarnings(), Vehicle::FirstShared(), Order::IsType(), Vehicle::list, Vehicle::NextShared(), and Vehicle::orders.

Referenced by CmdDeleteOrder().

## ◆ InsertOrder()

void InsertOrder | ( | Vehicle * | v,
|  | Order * | new_o,
|  | VehicleOrderID | sel_ord
| ) |  |

Insert a new order but skip the validation.

Parameters

  v | The vehicle to insert the order to.
  new_o | The new order.
  sel_ord | The position the order should be inserted at.

Definition at line 929 of file order_cmd.cpp.

References BaseConsist::cur_implicit_order_index, BaseConsist::cur_real_order_index, DeleteOrderWarnings(), Vehicle::FirstShared(), Vehicle::GetGroundVehicleFlags(), GVF_SUPPRESS_IMPLICIT_ORDERS, OrderList::InsertOrderAt(), INVALID_VEH_ORDER_ID, InvalidateVehicleOrder(), Vehicle::IsGroundVehicle(), Vehicle::list, Vehicle::NextShared(), Vehicle::orders, Vehicle::Orders(), and SetBit().