Data Structures | Typedefs | Enumerations | Variables

# vehicle_type.h File Reference

Types related to vehicles. More...

`#include "core/enum_type.hpp"`

Go to the source code of this file.

## Data Structures
struct | EnumPropsT< VehicleType >
| Helper information for extract tool. More...
struct | BaseVehicle
| Base vehicle class. More...
## Typedefs
typedef uint32 | VehicleID
| The type all our vehicle IDs have.
typedef SimpleTinyEnumT < VehicleType, byte > | VehicleTypeByte
| It needs to be 8bits, because we save and load it as such.
## Enumerations
enum | VehicleType { VEH_BEGIN, VEH_TRAIN = VEH_BEGIN, VEH_ROAD, VEH_SHIP, VEH_AIRCRAFT, VEH_COMPANY_END, VEH_EFFECT = VEH_COMPANY_END, VEH_DISASTER, VEH_END, VEH_INVALID = 0xFF }
| Available vehicle types. More...
enum | VehiclePathFinders { VPF_OPF = 0, VPF_NPF = 1, VPF_YAPF = 2 }
| Pathfinding option states. More...
enum | DepotCommand { DEPOT_SERVICE = (1U << 28), DEPOT_MASS_SEND = (1U << 29), DEPOT_DONT_CANCEL = (1U << 30), DEPOT_LOCATE_HANGAR = (1U << 31), DEPOT_COMMAND_MASK = 0xFU << 28 }
| Flags to add to p1 for goto depot commands. More...
enum | AccelerationModel { AM_ORIGINAL, AM_REALISTIC }
| Vehicle acceleration models. More...
enum | EngineImageType { EIT_ON_MAP = 0x00, EIT_IN_DEPOT = 0x10, EIT_IN_DETAILS = 0x11, EIT_IN_LIST = 0x12, EIT_PURCHASE = 0x20, EIT_PREVIEW = 0x21 }
| Visualisation contexts of vehicles and engines. More...
## Variables
static const VehicleID | INVALID_VEHICLE = 0xFFFFF
| Constant representing a non-existing vehicle.
static const uint | MAX_LENGTH_VEHICLE_NAME_CHARS = 32
| The maximum length of a vehicle name in characters including ''.
static const uint | VEHICLE_LENGTH = 8
| The length of a vehicle in tile units.

## Detailed Description

Types related to vehicles.

Definition in file vehicle_type.h.

## Typedef Documentation

typedef uint32 VehicleID

The type all our vehicle IDs have.

Definition at line 18 of file vehicle_type.h.

## Enumeration Type Documentation

enum AccelerationModel

Vehicle acceleration models.

Definition at line 81 of file vehicle_type.h.

enum DepotCommand

Flags to add to p1 for goto depot commands.

Enumerator:

  DEPOT_SERVICE | The vehicle will leave the depot right after arrival (serivce only).
  DEPOT_MASS_SEND | Tells that it's a mass send to depot command (type in VLW flag).
  DEPOT_DONT_CANCEL | Don't cancel current goto depot command if any.
  DEPOT_LOCATE_HANGAR | Find another airport if the target one lacks a hangar.

Definition at line 67 of file vehicle_type.h.

enum EngineImageType

Visualisation contexts of vehicles and engines.

Enumerator:

  EIT_ON_MAP | Vehicle drawn in viewport.
  EIT_IN_DEPOT | Vehicle drawn in depot.
  EIT_IN_DETAILS | Vehicle drawn in vehicle details, refit window, ...
  EIT_IN_LIST | Vehicle drawn in vehicle list, group list, ...
  EIT_PURCHASE | Vehicle drawn in purchase list, autoreplace gui, ...
  EIT_PREVIEW | Vehicle drawn in preview window, news, ...

Definition at line 87 of file vehicle_type.h.

enum VehiclePathFinders

Pathfinding option states.

Enumerator:

  VPF_OPF | The Original PathFinder (only for ships).
  VPF_NPF | New PathFinder.
  VPF_YAPF | Yet Another PathFinder.

Definition at line 60 of file vehicle_type.h.

enum VehicleType

Available vehicle types.

Enumerator:

  VEH_TRAIN | Train vehicle type.
  VEH_ROAD | Road vehicle type.
  VEH_SHIP | Ship vehicle type.
  VEH_AIRCRAFT | Aircraft vehicle type.
  VEH_COMPANY_END | Last company-ownable type.
  VEH_EFFECT | Effect vehicle type (smoke, explosions, sparks, bubbles).
  VEH_DISASTER | Disaster vehicle type.
  VEH_INVALID | Non-existing type of vehicle.

Definition at line 21 of file vehicle_type.h.

## Variable Documentation

const uint VEHICLE_LENGTH = 8`[static]`

The length of a vehicle in tile units.

Definition at line 78 of file vehicle_type.h.

Referenced by AddArticulatedParts(), CmdBuildRoadVehicle(), Train::ConsistChanged(), FixupTrainLengths(), Train::GetDisplayImageWidth(), RoadVehicle::GetDisplayImageWidth(), GetRoadVehLength(), Vehicle::ShowVisualEffect(), and Train::UpdateDeltaXY().