OpenTTD
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. More...
 
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 '\0'.
 
static const uint VEHICLE_LENGTH = 8
 The length of a vehicle in tile units. More...
 

Detailed Description

Types related to vehicles.

Definition in file vehicle_type.h.

Typedef Documentation

◆ VehicleID

typedef uint32 VehicleID

The type all our vehicle IDs have.

Definition at line 18 of file vehicle_type.h.

Enumeration Type Documentation

◆ AccelerationModel

Vehicle acceleration models.

Definition at line 81 of file vehicle_type.h.

◆ 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.

◆ 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.

◆ 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.

◆ 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

◆ VEHICLE_LENGTH

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 FixupTrainLengths(), GetRoadVehLength(), RoadVehicle::UpdateDeltaXY(), and Train::UpdateDeltaXY().