order_type.h File Reference

Types related to orders. More...

#include "core/enum_type.hpp"

Go to the source code of this file.

Typedefs

typedef byte VehicleOrderID
 The index of an order within its current vehicle (not pool related).
typedef uint16 OrderID
typedef uint16 OrderListID
typedef uint16 DestinationID
typedef SimpleTinyEnumT
< OrderType, byte > 
OrderTypeByte
 It needs to be 8bits, because we save and load it as such.

Enumerations

enum  OrderType {
  OT_BEGIN = 0, OT_NOTHING = 0, OT_GOTO_STATION = 1, OT_GOTO_DEPOT = 2,
  OT_LOADING = 3, OT_LEAVESTATION = 4, OT_DUMMY = 5, OT_GOTO_WAYPOINT = 6,
  OT_CONDITIONAL = 7, OT_END
}
enum  OrderUnloadFlags { OUF_UNLOAD_IF_POSSIBLE = 0, OUFB_UNLOAD = 1 << 0, OUFB_TRANSFER = 1 << 1, OUFB_NO_UNLOAD = 1 << 2 }
 

Flags related to the unloading order.

More...
enum  OrderLoadFlags { OLF_LOAD_IF_POSSIBLE = 0, OLFB_FULL_LOAD = 1 << 1, OLF_FULL_LOAD_ANY = 3, OLFB_NO_LOAD = 4 }
 

Flags related to the loading order.

More...
enum  OrderNonStopFlags {
  ONSF_STOP_EVERYWHERE = 0, ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS = 1, ONSF_NO_STOP_AT_DESTINATION_STATION = 2, ONSF_NO_STOP_AT_ANY_STATION = 3,
  ONSF_END
}
 

Non-stop order flags.

More...
enum  OrderStopLocation { OSL_PLATFORM_NEAR_END = 0, OSL_PLATFORM_MIDDLE = 1, OSL_PLATFORM_FAR_END = 2, OSL_END }
 

Where to stop the trains.

More...
enum  OrderDepotTypeFlags { ODTF_MANUAL = 0, ODTFB_SERVICE = 1 << 0, ODTFB_PART_OF_ORDERS = 1 << 1 }
 

Reasons that could cause us to go to the depot.

More...
enum  OrderDepotActionFlags { ODATF_SERVICE_ONLY = 0, ODATFB_HALT = 1 << 0, ODATFB_NEAREST_DEPOT = 1 << 1 }
 

Actions that can be performed when the vehicle enters the depot.

More...
enum  OrderConditionVariable {
  OCV_LOAD_PERCENTAGE, OCV_RELIABILITY, OCV_MAX_SPEED, OCV_AGE,
  OCV_REQUIRES_SERVICE, OCV_UNCONDITIONALLY, OCV_END
}
 

Variables (of a vehicle) to 'cause' skipping on.

More...
enum  OrderConditionComparator {
  OCC_EQUALS, OCC_NOT_EQUALS, OCC_LESS_THAN, OCC_LESS_EQUALS,
  OCC_MORE_THAN, OCC_MORE_EQUALS, OCC_IS_TRUE, OCC_IS_FALSE,
  OCC_END
}
 

Comparator for the skip reasoning.

More...
enum  ModifyOrderFlags {
  MOF_NON_STOP, MOF_STOP_LOCATION, MOF_UNLOAD, MOF_LOAD,
  MOF_DEPOT_ACTION, MOF_COND_VARIABLE, MOF_COND_COMPARATOR, MOF_COND_VALUE,
  MOF_COND_DESTINATION, MOF_END
}
 

Enumeration for the data to set in CmdModifyOrder.

More...
enum  OrderDepotAction { DA_ALWAYS_GO, DA_SERVICE, DA_STOP, DA_END }
 

Depot action to switch to when doing a MOF_DEPOT_ACTION.

More...
enum  { CO_SHARE = 0, CO_COPY = 1, CO_UNSHARE = 2 }

Functions

 DECLARE_ENUM_AS_BIT_SET (OrderDepotActionFlags)

Variables

static const VehicleOrderID INVALID_VEH_ORDER_ID = 0xFF
 Invalid vehicle order index (sentinel).
static const VehicleOrderID MAX_VEH_ORDER_ID = INVALID_VEH_ORDER_ID - 1
 Last valid VehicleOrderID.
static const OrderID INVALID_ORDER = 0xFFFF
 Invalid order (sentinel).

Detailed Description

Types related to orders.

Definition in file order_type.h.


Enumeration Type Documentation

Enumeration for the data to set in CmdModifyOrder.

Enumerator:
MOF_NON_STOP 

Passes an OrderNonStopFlags.

MOF_STOP_LOCATION 

Passes an OrderStopLocation.

MOF_UNLOAD 

Passes an OrderUnloadType.

MOF_LOAD 

Passes an OrderLoadType.

MOF_DEPOT_ACTION 

Selects the OrderDepotAction.

MOF_COND_VARIABLE 

A conditional variable changes.

MOF_COND_COMPARATOR 

A comparator changes.

MOF_COND_VALUE 

The value to set the condition to.

MOF_COND_DESTINATION 

Change the destination of a conditional order.

Definition at line 140 of file order_type.h.

Comparator for the skip reasoning.

Enumerator:
OCC_EQUALS 

Skip if both values are equal.

OCC_NOT_EQUALS 

Skip if both values are not equal.

OCC_LESS_THAN 

Skip if the value is less than the limit.

OCC_LESS_EQUALS 

Skip if the value is less or equal to the limit.

OCC_MORE_THAN 

Skip if the value is more than the limit.

OCC_MORE_EQUALS 

Skip if the value is more or equal to the limit.

OCC_IS_TRUE 

Skip if the variable is true.

OCC_IS_FALSE 

Skip if the variable is false.

Definition at line 124 of file order_type.h.

Variables (of a vehicle) to 'cause' skipping on.

Enumerator:
OCV_LOAD_PERCENTAGE 

Skip based on the amount of load.

OCV_RELIABILITY 

Skip based on the reliability.

OCV_MAX_SPEED 

Skip based on the maximum speed.

OCV_AGE 

Skip based on the age.

OCV_REQUIRES_SERVICE 

Skip when the vehicle requires service.

OCV_UNCONDITIONALLY 

Always skip.

Definition at line 111 of file order_type.h.

Depot action to switch to when doing a MOF_DEPOT_ACTION.

Enumerator:
DA_ALWAYS_GO 

Always go to the depot.

DA_SERVICE 

Service only if needed.

DA_STOP 

Go to the depot and stop there.

Definition at line 156 of file order_type.h.

Actions that can be performed when the vehicle enters the depot.

Enumerator:
ODATF_SERVICE_ONLY 

Only service the vehicle.

ODATFB_HALT 

Service the vehicle and then halt it.

ODATFB_NEAREST_DEPOT 

Send the vehicle to the nearest depot.

Definition at line 101 of file order_type.h.

Reasons that could cause us to go to the depot.

Enumerator:
ODTF_MANUAL 

Manually initiated order.

ODTFB_SERVICE 

This depot order is because of the servicing limit.

ODTFB_PART_OF_ORDERS 

This depot order is because of a regular order.

Definition at line 92 of file order_type.h.

Flags related to the loading order.

Enumerator:
OLF_LOAD_IF_POSSIBLE 

Load as long as there is cargo that fits in the train.

OLFB_FULL_LOAD 

Full load the complete the consist.

OLF_FULL_LOAD_ANY 

Full load the a single cargo of the consist.

OLFB_NO_LOAD 

Do not load anything.

Definition at line 61 of file order_type.h.

Non-stop order flags.

Enumerator:
ONSF_STOP_EVERYWHERE 

The vehicle will stop at any station it passes and the destination.

ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS 

The vehicle will not stop at any stations it passes except the destination.

ONSF_NO_STOP_AT_DESTINATION_STATION 

The vehicle will stop at any station it passes except the destination.

ONSF_NO_STOP_AT_ANY_STATION 

The vehicle will not stop at any stations it passes including the destination.

Definition at line 71 of file order_type.h.

Where to stop the trains.

Enumerator:
OSL_PLATFORM_NEAR_END 

Stop at the near end of the platform.

OSL_PLATFORM_MIDDLE 

Stop at the middle of the platform.

OSL_PLATFORM_FAR_END 

Stop at the far end of the platform.

Definition at line 82 of file order_type.h.

Flags related to the unloading order.

Enumerator:
OUF_UNLOAD_IF_POSSIBLE 

Unload all cargo that the station accepts.

OUFB_UNLOAD 

Force unloading all cargo onto the platform, possibly not getting paid.

OUFB_TRANSFER 

Transfer all cargo onto the platform.

OUFB_NO_UNLOAD 

Totally no unloading will be done.

Definition at line 51 of file order_type.h.


Variable Documentation

Last valid VehicleOrderID.

Definition at line 25 of file order_type.h.

Referenced by CmdInsertOrder().


Generated on Wed Mar 17 23:50:25 2010 for OpenTTD by  doxygen 1.6.1