OpenTTD: Order Struct Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields | Private Attributes | Friends
Order Struct Reference
Inheritance diagram for Order:

## Public Member Functions
| ~Order ()
| Clean everything up.
| Order (uint32 packed)
| Create an order based on a packed representation of that order.
bool | IsType (OrderType type) const
| Check whether this order is of the given type.
OrderType | GetType () const
| Get the type of order of this order.
void | Free ()
| 'Free' the order
void | MakeGoToStation (StationID destination)
| Makes this order a Go To Station order.
void | MakeGoToDepot (DepotID destination, OrderDepotTypeFlags order, OrderNonStopFlags non_stop_type=ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS, OrderDepotActionFlags action=ODATF_SERVICE_ONLY, CargoID cargo=CT_NO_REFIT)
| Makes this order a Go To Depot order.
void | MakeGoToWaypoint (StationID destination)
| Makes this order a Go To Waypoint order.
void | MakeLoading (bool ordered)
| Makes this order a Loading order.
void | MakeLeaveStation ()
| Makes this order a Leave Station order.
void | MakeDummy ()
| Makes this order a Dummy order.
void | MakeConditional (VehicleOrderID order)
| Makes this order an conditional order.
void | MakeImplicit (StationID destination)
| Makes this order an implicit order.
bool | IsGotoOrder () const
| Is this a 'goto' order with a real destination?
DestinationID | GetDestination () const
| Gets the destination of this order.
void | SetDestination (DestinationID destination)
| Sets the destination of this order.
bool | IsRefit () const
| Is this order a refit order.
bool | IsAutoRefit () const
| Is this order a auto-refit order.
CargoID | GetRefitCargo () const
| Get the cargo to to refit to.
void | SetRefit (CargoID cargo)
| Make this depot/station order also a refit order.
OrderLoadFlags | GetLoadType () const
| How must the consist be loaded?
OrderUnloadFlags | GetUnloadType () const
| How must the consist be unloaded?
OrderNonStopFlags | GetNonStopType () const
| At which stations must we stop?
OrderStopLocation | GetStopLocation () const
| Where must we stop at the platform?
OrderDepotTypeFlags | GetDepotOrderType () const
| What caused us going to the depot?
OrderDepotActionFlags | GetDepotActionType () const
| What are we going to do when in the depot.
OrderConditionVariable | GetConditionVariable () const
| What variable do we have to compare?
OrderConditionComparator | GetConditionComparator () const
| What is the comparator to use?
VehicleOrderID | GetConditionSkipToOrder () const
| Get the order to skip to.
uint16 | GetConditionValue () const
| Get the value to base the skip on.
void | SetLoadType (OrderLoadFlags load_type)
| Set how the consist must be loaded.
void | SetUnloadType (OrderUnloadFlags unload_type)
| Set how the consist must be unloaded.
void | SetNonStopType (OrderNonStopFlags non_stop_type)
| Set whether we must stop at stations or not.
void | SetStopLocation (OrderStopLocation stop_location)
| Set where we must stop at the platform.
void | SetDepotOrderType (OrderDepotTypeFlags depot_order_type)
| Set the cause to go to the depot.
void | SetDepotActionType (OrderDepotActionFlags depot_service_type)
| Set what we are going to do in the depot.
void | SetConditionVariable (OrderConditionVariable condition_variable)
| Set variable we have to compare.
void | SetConditionComparator (OrderConditionComparator condition_comparator)
| Set the comparator to use.
void | SetConditionSkipToOrder (VehicleOrderID order_id)
| Get the order to skip to.
void | SetConditionValue (uint16 value)
| Set the value to base the skip on.
bool | IsWaitTimetabled () const
| Does this order have an explicit wait time set?
bool | IsTravelTimetabled () const
| Does this order have an explicit travel time set?
uint16 | GetTimetabledWait () const
| Get the time in ticks a vehicle should wait at the destination or 0 if it's not timetabled.
uint16 | GetTimetabledTravel () const
| Get the time in ticks a vehicle should take to reach the destination or 0 if it's not timetabled.
uint16 | GetWaitTime () const
| Get the time in ticks a vehicle will probably wait at the destination (timetabled or not).
uint16 | GetTravelTime () const
| Get the time in ticks a vehicle will probably take to reach the destination (timetabled or not).
uint16 | GetMaxSpeed () const
| Get the maxmimum speed in km-ish/h a vehicle is allowed to reach on the way to the destination.
void | SetWaitTimetabled (bool timetabled)
| Set if the wait time is explicitly timetabled (unless the order is conditional).
void | SetTravelTimetabled (bool timetabled)
| Set if the travel time is explicitly timetabled (unless the order is conditional).
void | SetWaitTime (uint16 time)
| Set the time in ticks to wait at the destination.
void | SetTravelTime (uint16 time)
| Set the time in ticks to take for travelling to the destination.
void | SetMaxSpeed (uint16 speed)
| Set the maxmimum speed in km-ish/h a vehicle is allowed to reach on the way to the destination.
bool | ShouldStopAtStation (const Vehicle *v, StationID station) const
| Check whether the given vehicle should stop at the given station based on this order and the non-stop settings.
bool | CanLoadOrUnload () const
bool | CanLeaveWithCargo (bool has_cargo) const
| A vehicle can leave the current station with cargo if:
TileIndex | GetLocation (const Vehicle *v, bool airport=false) const
| Returns a tile somewhat representing the order destination (not suitable for pathfinding).
bool | IsCompletelyTimetabled () const
| Checks if travel_time and wait_time apply to this order and if they are timetabled.
void | AssignOrder (const Order &other)
| Assign data to an order (from another order) This function makes sure that the index is maintained correctly.
bool | Equals (const Order &other) const
| Does this order have the same type, flags and destination?
uint32 | Pack () const
| Pack this order into a 32 bits integer, or actually only the type, flags and destination.
uint16 | MapOldOrder () const
| Pack this order into a 16 bits integer as close to the TTD representation as possible.
void | ConvertFromOldSavegame ()
| Converts this order from an old savegame's version; it moves all bits to the new location.
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_pool >
void * | operator new (size_t size)
| Allocates space for new Titem.
void * | operator new (size_t size, size_t index)
| Allocates space for new Titem with given index.
void * | operator new (size_t size, void *ptr)
| Allocates space for new Titem at given memory address.
void | operator delete (void *p)
| Marks Titem as free.

## Data Fields
Order * | next
| Pointer to next order. If NULL, end of list.
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_pool >
Tindex | index
| Index of this pool item.

## Private Attributes
uint8 | type
| The type of order + non-stop flags.
uint8 | flags
| Load/unload types, depot order/action types.
DestinationID | dest
| The destination of the order.
CargoID | refit_cargo
| Refit CargoID.
uint16 | wait_time
| How long in ticks to wait at the destination.
uint16 | travel_time
| How long in ticks the journey to this destination should take.
uint16 | max_speed
| How fast the vehicle may go on the way to the destination.

## Friends
struct SaveLoad * | GetVehicleDescription (VehicleType vt)
| Saving and loading the current order of vehicles.
void | Load_VEHS ()
| Loading of ancient vehicles.
struct SaveLoad * | GetOrderDescription ()
| Saving and loading of orders.

## Additional Inherited Members
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_pool >
static bool | CanAllocateItem (size_t n=1)
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function()
static bool | CleaningPool ()
| Returns current state of pool cleaning - yes or no.
static bool | IsValidID (size_t index)
| Tests whether given index can be used to get valid (non-NULL) Titem.
static Titem * | Get (size_t index)
| Returns Titem with given index.
static Titem * | GetIfValid (size_t index)
| Returns Titem with given index.
static size_t | GetPoolSize ()
| Returns first unused index.
static size_t | GetNumItems ()
| Returns number of valid items in the pool.
static void | PostDestructor (size_t index)
| Dummy function called after destructor of each member.

## Detailed Description

Definition at line 34 of file order_base.h.

## Constructor & Destructor Documentation

Order::~Order | ( |  | ) |

Clean everything up.

Definition at line 48 of file order_cmd.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::GetIfValid(), InvalidateWindowClassesData(), BaseStation::owner, OWNER_NONE, and WC_STATION_LIST.

Order::Order | ( | uint32 | packed | ) |

Create an order based on a packed representation of that order.

Parameters

  packed | the packed representation.

Definition at line 235 of file order_cmd.cpp.

References CT_NO_REFIT, dest, flags, GB(), max_speed, next, refit_cargo, travel_time, type, and wait_time.

## Member Function Documentation

void Order::AssignOrder | ( | const Order & | other | ) |

Assign data to an order (from another order) This function makes sure that the index is maintained correctly.

Parameters

  other | the data to copy (except next pointer).

Definition at line 274 of file order_cmd.cpp.

References dest, flags, max_speed, refit_cargo, travel_time, type, and wait_time.

Referenced by CmdInsertOrder(), LoadOldVehicle(), and OrderBackup::OrderBackup().

bool Order::CanLeaveWithCargo | ( | bool | has_cargo | ) | const

A vehicle can leave the current station with cargo if:

1. it can load cargo here OR 2a. it could leave the last station with cargo AND 2b. it doesn't have to unload all cargo here.

Definition at line 2283 of file order_cmd.cpp.

References GetLoadType(), GetUnloadType(), OLFB_NO_LOAD, OUFB_TRANSFER, and OUFB_UNLOAD.

Referenced by Vehicle::LeaveStation(), and LinkRefresher::RefreshLinks().

bool Order::Equals | ( | const Order & | other | ) | const

Does this order have the same type, flags and destination?

Parameters

  other | the second order to compare to.

Returns
  true if the type, flags and destination match.

Definition at line 176 of file order_cmd.cpp.

References dest, flags, GetDepotActionType(), GetDepotOrderType(), IsType(), ODATFB_NEAREST_DEPOT, and type.

Referenced by ChangeTimetable(), CheckOrders(), and ProcessOrders().

void Order::Free | ( |  | ) |

'Free' the order

Note
  ONLY use on "current_order" vehicle orders!

Definition at line 64 of file order_cmd.cpp.

References dest, flags, next, and type.

Referenced by AfterLoadVehicles(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), DisasterVehicle::DisasterVehicle(), GetOrderCmdFromTile(), ProcessOrders(), RemoveDock(), and UpdateOrderDest().

VehicleOrderID Order::GetConditionSkipToOrder | ( |  | ) | const
| inline

Get the order to skip to.

Definition at line 145 of file order_base.h.

References flags.

Referenced by CmdInsertOrder(), CmdMoveOrder(), DeleteOrder(), DrawOrderString(), OrderList::GetNextDecisionNode(), OrderList::GetNextStoppingStation(), GetOrderDistance(), InsertOrder(), LinkRefresher::PredictNextOrder(), and ProcessConditionalOrder().

uint16 Order::GetConditionValue | ( |  | ) | const
| inline

Get the value to base the skip on.

Definition at line 147 of file order_base.h.

References dest, and GB().

Referenced by CmdInsertOrder(), CmdModifyOrder(), DrawOrderString(), OrdersWindow::OnClick(), ProcessConditionalOrder(), and OrdersWindow::SetStringParameters().

OrderDepotActionFlags Order::GetDepotActionType | ( |  | ) | const
| inline

What are we going to do when in the depot.

Definition at line 139 of file order_base.h.

References flags, and GB().

Referenced by CmdInsertOrder(), CmdModifyOrder(), CmdOrderRefit(), DrawOrderString(), VehicleViewWindow::DrawWidget(), Equals(), GenerateVehicleSortList(), GetLocation(), OrderList::GetNextDecisionNode(), OrderGoesToStation(), RemoveOrderFromAllVehicles(), Vehicle::SendToDepot(), UpdateOrderDest(), and VehicleEnterDepot().

DestinationID Order::GetDestination | ( |  | ) | const
| inline

Gets the destination of this order.

Precondition
  IsType(OT_GOTO_WAYPOINT) || IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION).

Returns
  the destination of the order.

Definition at line 96 of file order_base.h.

References dest.

Referenced by AfterLoadGame(), AircraftController(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), AircraftNextAirportPos_and_Order(), Vehicle::BeginLoading(), CheckIfTrainNeedsService(), CheckNextTrainTile(), CheckOrders(), CmdCloneOrder(), CmdInsertOrder(), DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DrawOrderString(), VehicleViewWindow::DrawWidget(), GenerateVehicleSortList(), GetLocation(), OrderList::GetNextStoppingStation(), GetTrainStopLocation(), Vehicle::HandleLoading(), HasStationInUse(), OrderList::InsertOrderAt(), MapOldOrder(), Train::OnNewDay(), CYapfCostRailT< Types >::PfCalcCost(), ProcessOrders(), LinkRefresher::RefreshStats(), ReleaseDisastersTargetingIndustry(), ReleaseDisastersTargetingVehicle(), RemoveOrderFromAllVehicles(), UpdateOrderDest(), UpdateWaypointOrder(), VehicleEnterDepot(), and WhoCanServiceIndustry().

TileIndex Order::GetLocation | ( | const Vehicle * | v,
|  | bool | airport = `false`
| ) |  | const

Returns a tile somewhat representing the order destination (not suitable for pathfinding).

Parameters

  v | The vehicle to get the location for.
  airport | Get the airport tile and not the station location for aircraft.

Returns
  destination of order, or INVALID_TILE if none.

Definition at line 670 of file order_cmd.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_pool >::Get(), GetDepotActionType(), GetDestination(), GetType(), INVALID_TILE, ODATFB_NEAREST_DEPOT, BaseVehicle::type, and VEH_AIRCRAFT.

Referenced by GetOrderDistance(), OrdersWindow::OnClick(), and VehicleViewWindow::OnClick().

uint16 Order::GetMaxSpeed | ( |  | ) | const
| inline

Get the maxmimum speed in km-ish/h a vehicle is allowed to reach on the way to the destination.

Returns
  maximum speed.

Definition at line 194 of file order_base.h.

References max_speed.

Referenced by CmdChangeTimetable(), TimetableWindow::DrawWidget(), RoadVehicle::GetCurrentMaxSpeed(), Train::GetCurrentMaxSpeed(), and TimetableWindow::OnClick().

CargoID Order::GetRefitCargo | ( |  | ) | const
| inline

Get the cargo to to refit to.

Precondition
  IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION)

Returns
  the cargo type.

Definition at line 124 of file order_base.h.

References refit_cargo.

Referenced by DrawOrderString(), LoadUnloadVehicle(), LinkRefresher::RefreshLinks(), ReserveConsist(), UpdateOrderDest(), VehicleEnterDepot(), and VerifyAutoreplaceRefitForOrders().

uint16 Order::GetTimetabledTravel | ( |  | ) | const
| inline

Get the time in ticks a vehicle should take to reach the destination or 0 if it's not timetabled.

Definition at line 183 of file order_base.h.

References IsTravelTimetabled(), and travel_time.

Referenced by ChangeTimetable(), OrderList::DeleteOrderAt(), TimetableWindow::DrawWidget(), FillTimetableArrivalDepartureTable(), OrderList::InsertOrderAt(), UpdateOrderDest(), and UpdateVehicleTimetable().

uint16 Order::GetTimetabledWait | ( |  | ) | const
| inline

Get the time in ticks a vehicle should wait at the destination or 0 if it's not timetabled.

Definition at line 181 of file order_base.h.

References IsWaitTimetabled(), and wait_time.

Referenced by ChangeTimetable(), OrderList::DeleteOrderAt(), FillTimetableArrivalDepartureTable(), Vehicle::HandleLoading(), OrderList::InsertOrderAt(), LoadUnloadVehicle(), RemoveOrderFromAllVehicles(), and UpdateVehicleTimetable().

uint16 Order::GetTravelTime | ( |  | ) | const
| inline

Get the time in ticks a vehicle will probably take to reach the destination (timetabled or not).

Definition at line 187 of file order_base.h.

References travel_time.

Referenced by ChangeTimetable(), CmdChangeTimetable(), OrderList::DeleteOrderAt(), TimetableWindow::DrawWidget(), OrderList::InsertOrderAt(), and TimetableWindow::OnClick().

OrderType Order::GetType | ( |  | ) | const
| inline

Get the type of order of this order.

Returns
  the order type.

Definition at line 69 of file order_base.h.

References GB(), and type.

Referenced by AircraftEventHandler_AtTerminal(), CheckForValidOrders(), CheckNextTrainTile(), CmdChangeTimetable(), CmdInsertOrder(), CmdModifyOrder(), ConvertFromOldSavegame(), DrawOrderString(), VehicleViewWindow::DrawWidget(), GetLocation(), Vehicle::HandleLoading(), IsType(), MapOldOrder(), ProcessConditionalOrder(), ProcessOrders(), RemoveOrderFromAllVehicles(), ReverseTrainDirection(), VehicleOrderSaver::SwitchToNextOrder(), and UpdateOrderDest().

uint16 Order::GetWaitTime | ( |  | ) | const
| inline

Get the time in ticks a vehicle will probably wait at the destination (timetabled or not).

Definition at line 185 of file order_base.h.

References wait_time.

Referenced by ChangeTimetable(), CmdChangeTimetable(), OrderList::DeleteOrderAt(), DrawOrderString(), OrderList::InsertOrderAt(), TimetableWindow::OnClick(), RemoveOrderFromAllVehicles(), and UpdateVehicleTimetable().

bool Order::IsAutoRefit | ( |  | ) | const
| inline

Is this order a auto-refit order.

Precondition
  IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION)

Returns
  true if a auto-refit should happen.

Definition at line 117 of file order_base.h.

References CT_AUTO_REFIT, and refit_cargo.

Referenced by DrawOrderString(), LinkRefresher::RefreshLinks(), and VerifyAutoreplaceRefitForOrders().

bool Order::IsCompletelyTimetabled | ( |  | ) | const
| inline

Checks if travel_time and wait_time apply to this order and if they are timetabled.

Definition at line 227 of file order_base.h.

References GetNonStopType(), IsTravelTimetabled(), IsType(), IsWaitTimetabled(), and ONSF_NO_STOP_AT_DESTINATION_STATION.

bool Order::IsGotoOrder | ( |  | ) | const
| inline

Is this a 'goto' order with a real destination?

Returns
  True if the type is either #OT_GOTO_WAYPOINT, #OT_GOTO_DEPOT or #OT_GOTO_STATION.

Definition at line 86 of file order_base.h.

References IsType().

Referenced by DrawOrderString().

bool Order::IsRefit | ( |  | ) | const
| inline

Is this order a refit order.

Precondition
  IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION)

Returns
  true if a refit should happen.

Definition at line 110 of file order_base.h.

References CT_AUTO_REFIT, NUM_CARGO, and refit_cargo.

Referenced by DrawOrderString(), OrderList::GetNextDecisionNode(), LoadUnloadVehicle(), LinkRefresher::RefreshLinks(), ReserveConsist(), VehicleEnterDepot(), and VerifyAutoreplaceRefitForOrders().

bool Order::IsType | ( | OrderType | type | ) | const
| inline

Check whether this order is of the given type.

Parameters

  type | the type to check against.

Returns
  true if the order matches.

Definition at line 63 of file order_base.h.

References GetType(), and type.

Referenced by AfterLoadGame(), AircraftEntersTerminal(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), AircraftNextAirportPos_and_Order(), Vehicle::BeginLoading(), TimetableWindow::BuildArrivalDepartureList(), CalcPercentVehicleFilled(), CancelLoadingDueToDeletedOrder(), CanDetermineTimeTaken(), CheckIfTrainNeedsService(), CheckOrders(), CheckTrainStayInDepot(), CmdBuildSingleSignal(), CmdChangeTimetable(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), CmdRefitVehicle(), CmdReverseTrainDirection(), CmdSkipToOrder(), CmdTurnRoadVeh(), ConvertFromOldSavegame(), DeleteOrder(), OrderList::DeleteOrderAt(), Vehicle::DeleteUnreachedImplicitOrders(), DeleteVehicleOrders(), DrawOrderString(), TimetableWindow::DrawWidget(), VehicleViewWindow::DrawWidget(), Equals(), FillTimetableArrivalDepartureTable(), FixOldVehicles(), GenerateVehicleSortList(), OrderList::GetNextDecisionNode(), OrderList::GetNextStoppingStation(), GetOrderDistance(), GetTrainStopLocation(), Vehicle::HandleBreakdown(), Vehicle::HandleLoading(), Vehicle::HasDepotOrder(), HasStationInUse(), InsertOrder(), OrderList::InsertOrderAt(), IsCompletelyTimetabled(), IsGotoOrder(), IsTravelTimetabled(), IsWaitTimetabled(), Vehicle::LeaveStation(), LoadUnloadVehicle(), MapAircraftMovementAction(), Vehicle::NeedsAutomaticServicing(), OrdersWindow::OnClick(), Train::OnNewDay(), TimetableWindow::OnPaint(), OrdersWindow::OnPlaceObject(), OrderGoesToStation(), CYapfCostRailT< Types >::PfCalcCost(), LinkRefresher::PredictNextOrder(), ProcessOrders(), LinkRefresher::RefreshLinks(), RemoveDock(), RemoveOrderFromAllVehicles(), RemoveRoadStop(), VehicleResolverObject::ResolveReal(), Vehicle::SendToDepot(), OrdersWindow::SetStringParameters(), SetTravelTimetabled(), SetWaitTimetabled(), ShouldStopAtStation(), UnpackOldOrder(), UpdateOldAircraft(), UpdateVehicleTimetable(), UpdateWaypointOrder(), VehicleEnterDepot(), VehicleTimetableSorter(), and WhoCanServiceIndustry().

void Order::MakeConditional | ( | VehicleOrderID | order | ) |

Makes this order an conditional order.

Parameters

  order | the order to jump to.

Definition at line 144 of file order_cmd.cpp.

References dest, flags, and type.

Referenced by OrdersWindow::OnClick().

void Order::MakeGoToDepot | ( | DepotID | destination,
|  | OrderDepotTypeFlags | order,
|  | OrderNonStopFlags | non_stop_type = `ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS`,
|  | OrderDepotActionFlags | action = `ODATF_SERVICE_ONLY`,
|  | CargoID | cargo = `CT_NO_REFIT`
| ) |  |

Makes this order a Go To Depot order.

Parameters

  destination | the depot to go to.
  order | is this order a 'default' order, or an overridden vehicle order?
  non_stop_type | how to get to the depot?
  action | what to do in the depot?
  cargo | the cargo type to change to.

Definition at line 91 of file order_cmd.cpp.

References dest, SetDepotActionType(), SetDepotOrderType(), SetNonStopType(), SetRefit(), and type.

Referenced by CheckIfTrainNeedsService(), GetOrderCmdFromTile(), OrdersWindow::OrderClick_NearestDepot(), Vehicle::SendToDepot(), and UpdateOrderDest().

void Order::MakeGoToStation | ( | StationID | destination | ) |

Makes this order a Go To Station order.

Parameters

  destination | the station to go to.

Definition at line 76 of file order_cmd.cpp.

References dest, flags, and type.

Referenced by GetOrderCmdFromTile().

void Order::MakeGoToWaypoint | ( | StationID | destination | ) |

Makes this order a Go To Waypoint order.

Parameters

  destination | the waypoint to go to.

Definition at line 105 of file order_cmd.cpp.

References dest, flags, and type.

Referenced by GetOrderCmdFromTile(), and UpdateWaypointOrder().

void Order::MakeImplicit | ( | StationID | destination | ) |

Makes this order an implicit order.

Parameters

  destination | the station to go to.

Definition at line 155 of file order_cmd.cpp.

References dest, and type.

Referenced by Vehicle::BeginLoading().

void Order::MakeLoading | ( | bool | ordered | ) |

Makes this order a Loading order.

Parameters

  ordered | is this an ordered stop?

Definition at line 116 of file order_cmd.cpp.

References flags, and type.

Referenced by Vehicle::BeginLoading().

uint16 Order::MapOldOrder | ( |  | ) | const

Pack this order into a 16 bits integer as close to the TTD representation as possible.

Returns
  the TTD-like packed representation.

Definition at line 209 of file order_cmd.cpp.

References GB(), GetDepotOrderType(), GetDestination(), GetLoadType(), GetNonStopType(), GetType(), GetUnloadType(), ODTFB_PART_OF_ORDERS, OLFB_FULL_LOAD, ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS, OUFB_UNLOAD, SetBit(), and type.

uint32 Order::Pack | ( |  | ) | const

Pack this order into a 32 bits integer, or actually only the type, flags and destination.

Returns
  the packed representation.

Note
  unpacking is done in the constructor.

Definition at line 199 of file order_cmd.cpp.

References dest, flags, and type.

Referenced by OrdersWindow::OnClick(), OrdersWindow::OnPlaceObject(), and OrdersWindow::OrderClick_NearestDepot().

void Order::SetConditionComparator | ( | OrderConditionComparator | condition_comparator | ) |
| inline

Set the comparator to use.

Definition at line 164 of file order_base.h.

References SB(), and type.

Referenced by CmdModifyOrder().

void Order::SetConditionSkipToOrder | ( | VehicleOrderID | order_id | ) |
| inline

Get the order to skip to.

Definition at line 166 of file order_base.h.

References flags.

Referenced by CmdModifyOrder(), CmdMoveOrder(), DeleteOrder(), and InsertOrder().

void Order::SetConditionValue | ( | uint16 | value | ) |
| inline

Set the value to base the skip on.

Definition at line 168 of file order_base.h.

References dest, and SB().

Referenced by CmdModifyOrder().

void Order::SetConditionVariable | ( | OrderConditionVariable | condition_variable | ) |
| inline

Set variable we have to compare.

Definition at line 162 of file order_base.h.

References dest, and SB().

Referenced by CmdModifyOrder().

void Order::SetDepotActionType | ( | OrderDepotActionFlags | depot_service_type | ) |
| inline

Set what we are going to do in the depot.

Definition at line 160 of file order_base.h.

References flags, and SB().

Referenced by CmdModifyOrder(), CmdOrderRefit(), ConvertFromOldSavegame(), MakeGoToDepot(), OrdersWindow::OrderClick_NearestDepot(), and Vehicle::SendToDepot().

void Order::SetDepotOrderType | ( | OrderDepotTypeFlags | depot_order_type | ) |
| inline

Set the cause to go to the depot.

Definition at line 158 of file order_base.h.

References flags, and SB().

Referenced by CmdModifyOrder(), CmdOrderRefit(), ConvertFromOldSavegame(), GetOrderCmdFromTile(), MakeGoToDepot(), and Vehicle::SendToDepot().

void Order::SetDestination | ( | DestinationID | destination | ) |
| inline

Sets the destination of this order.

Parameters

  destination | the new destination of the order.

Precondition
  IsType(OT_GOTO_WAYPOINT) || IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION).

Definition at line 103 of file order_base.h.

References dest.

Referenced by DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), ReleaseDisastersTargetingIndustry(), ReleaseDisastersTargetingVehicle(), and UpdateWaypointOrder().

void Order::SetLoadType | ( | OrderLoadFlags | load_type | ) |
| inline

Set how the consist must be loaded.

Definition at line 150 of file order_base.h.

References flags, and SB().

Referenced by AfterLoadGame(), CancelLoadingDueToDeletedOrder(), CmdModifyOrder(), ConvertFromOldSavegame(), and GetOrderCmdFromTile().

void Order::SetMaxSpeed | ( | uint16 | speed | ) |
| inline

Set the maxmimum speed in km-ish/h a vehicle is allowed to reach on the way to the destination.

Parameters

  speed | Speed to be set.

Definition at line 218 of file order_base.h.

References max_speed.

Referenced by ChangeTimetable().

void Order::SetNonStopType | ( | OrderNonStopFlags | non_stop_type | ) |
| inline

Set whether we must stop at stations or not.

Definition at line 154 of file order_base.h.

References SB(), and type.

Referenced by AfterLoadGame(), Vehicle::BeginLoading(), CancelLoadingDueToDeletedOrder(), CmdModifyOrder(), ConvertFromOldSavegame(), GetOrderCmdFromTile(), and MakeGoToDepot().

void Order::SetRefit | ( | CargoID | cargo | ) |

Make this depot/station order also a refit order.

Parameters

  cargo | the cargo type to change to.

Precondition
  IsType(OT_GOTO_DEPOT) || IsType(OT_GOTO_STATION).

Definition at line 166 of file order_cmd.cpp.

References refit_cargo.

Referenced by AfterLoadGame(), CmdModifyOrder(), CmdOrderRefit(), and MakeGoToDepot().

void Order::SetStopLocation | ( | OrderStopLocation | stop_location | ) |
| inline

Set where we must stop at the platform.

Definition at line 156 of file order_base.h.

References SB(), and type.

Referenced by AfterLoadGame(), CmdModifyOrder(), ConvertFromOldSavegame(), and GetOrderCmdFromTile().

void Order::SetTravelTime | ( | uint16 | time | ) |
| inline

Set the time in ticks to take for travelling to the destination.

Parameters

  time | Time to set as travel time.

Definition at line 211 of file order_base.h.

References travel_time.

Referenced by ChangeTimetable().

void Order::SetTravelTimetabled | ( | bool | timetabled | ) |
| inline

Set if the travel time is explicitly timetabled (unless the order is conditional).

Definition at line 199 of file order_base.h.

References flags, IsType(), and SB().

Referenced by ChangeTimetable(), and RemoveOrderFromAllVehicles().

void Order::SetUnloadType | ( | OrderUnloadFlags | unload_type | ) |
| inline

Set how the consist must be unloaded.

Definition at line 152 of file order_base.h.

References flags, and SB().

Referenced by AfterLoadGame(), CmdModifyOrder(), and ConvertFromOldSavegame().

void Order::SetWaitTime | ( | uint16 | time | ) |
| inline

Set the time in ticks to wait at the destination.

Parameters

  time | Time to set as wait time.

Definition at line 205 of file order_base.h.

References wait_time.

Referenced by ChangeTimetable(), RemoveOrderFromAllVehicles(), and UpdateVehicleTimetable().

void Order::SetWaitTimetabled | ( | bool | timetabled | ) |
| inline

Set if the wait time is explicitly timetabled (unless the order is conditional).

Definition at line 197 of file order_base.h.

References flags, IsType(), and SB().

Referenced by ChangeTimetable(), and RemoveOrderFromAllVehicles().

bool Order::ShouldStopAtStation | ( | const Vehicle * | v,
|  | StationID | station
| ) |  | const

Check whether the given vehicle should stop at the given station based on this order and the non-stop settings.

Parameters

  v | the vehicle that might be stopping.
  station | the station to stop at.

Returns
  true if the vehicle should stop.

Definition at line 2259 of file order_cmd.cpp.

References dest, GetDepotOrderType(), GetNonStopType(), IsType(), Vehicle::last_station_visited, ODTFB_PART_OF_ORDERS, ONSF_NO_STOP_AT_DESTINATION_STATION, and ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS.

Referenced by CheckNextTrainTile(), Train::GetCurrentMaxSpeed(), and Vehicle::ShowVisualEffect().

## Friends And Related Function Documentation

struct SaveLoad* GetVehicleDescription | ( | VehicleType | vt | ) |
| friend

Saving and loading the current order of vehicles.

The vehicles have a cargo list (and we want that saved).

Parameters

  vt | the vehicle type. Can be VEH_END for the common vehicle description data

Returns
  the saveload description

Parameters

  vt | the vehicle type. Can be VEH_END for the common vehicle description data

Returns
  the saveload description

Save and load of vehicles

Save and load of vehicles

Definition at line 574 of file vehicle_sl.cpp.

void Load_VEHS | ( |  | ) |
| friend

Loading of ancient vehicles.

Definition at line 883 of file vehicle_sl.cpp.

The documentation for this struct was generated from the following files:

- src/order_base.h
- src/order_cmd.cpp
- src/saveload/order_sl.cpp