OpenTTD
Data Structures | Typedefs | Enumerations | Variables
engine_type.h File Reference

Types related to engines. More...

#include "economy_type.h"
#include "rail_type.h"
#include "cargo_type.h"
#include "date_type.h"
#include "sound_type.h"
#include "strings_type.h"

Go to the source code of this file.

Data Structures

struct  RailVehicleInfo
 Information about a rail vehicle. More...
 
struct  ShipVehicleInfo
 Information about a ship vehicle. More...
 
struct  AircraftVehicleInfo
 Information about a aircraft vehicle. More...
 
struct  RoadVehicleInfo
 Information about a road vehicle. More...
 
struct  EngineInfo
 Information about a vehicle. More...
 

Typedefs

typedef uint16 EngineID
 Unique identification number of an engine.
 

Enumerations

enum  RailVehicleTypes { RAILVEH_SINGLEHEAD, RAILVEH_MULTIHEAD, RAILVEH_WAGON }
 Available types of rail vehicles. More...
 
enum  EngineClass {
  EC_STEAM, EC_DIESEL, EC_ELECTRIC, EC_MONORAIL,
  EC_MAGLEV
}
 Type of rail engine. More...
 
enum  AircraftSubTypeBits { AIR_HELI = 0, AIR_CTOL = 1, AIR_FAST = 2 }
 AircraftVehicleInfo subtypes, bitmask type. More...
 
enum  EngineMiscFlags {
  EF_RAIL_TILTS = 0, EF_ROAD_TRAM = 0, EF_USES_2CC = 1, EF_RAIL_IS_MU = 2,
  EF_RAIL_FLIPS = 3, EF_AUTO_REFIT = 4, EF_NO_DEFAULT_CARGO_MULTIPLIER = 5, EF_NO_BREAKDOWN_SMOKE = 6,
  EF_SPRITE_STACK = 7
}
 EngineInfo.misc_flags is a bitmask, with the following values. More...
 
enum  EngineFlags { ENGINE_AVAILABLE = 1, ENGINE_EXCLUSIVE_PREVIEW = 2 }
 Engine.flags is a bitmask, with the following values. More...
 

Variables

static const uint MAX_LENGTH_ENGINE_NAME_CHARS = 32
 The maximum length of an engine name in characters including '\0'.
 
static const EngineID INVALID_ENGINE = 0xFFFF
 Constant denoting an invalid engine.
 

Detailed Description

Types related to engines.

Definition in file engine_type.h.

Enumeration Type Documentation

◆ AircraftSubTypeBits

AircraftVehicleInfo subtypes, bitmask type.

If bit 0 is 0 then it is a helicopter, otherwise it is a plane in which case bit 1 tells us whether it's a big(fast) plane or not.

Enumerator
AIR_CTOL 

Conventional Take Off and Landing, i.e. planes.

Definition at line 91 of file engine_type.h.

◆ EngineClass

Type of rail engine.

Enumerator
EC_STEAM 

Steam rail engine.

EC_DIESEL 

Diesel rail engine.

EC_ELECTRIC 

Electric rail engine.

EC_MONORAIL 

Mono rail engine.

EC_MAGLEV 

Maglev engine.

Definition at line 34 of file engine_type.h.

◆ EngineFlags

Engine.flags is a bitmask, with the following values.

Enumerator
ENGINE_AVAILABLE 

This vehicle is available to everyone.

ENGINE_EXCLUSIVE_PREVIEW 

This vehicle is in the exclusive preview stage, either being used or being offered to a company.

Definition at line 167 of file engine_type.h.

◆ EngineMiscFlags

EngineInfo.misc_flags is a bitmask, with the following values.

Enumerator
EF_RAIL_TILTS 

Rail vehicle tilts in curves.

EF_ROAD_TRAM 

Road vehicle is a tram/light rail vehicle.

EF_USES_2CC 

Vehicle uses two company colours.

EF_RAIL_IS_MU 

Rail vehicle is a multiple-unit (DMU/EMU)

EF_RAIL_FLIPS 

Rail vehicle can be flipped in the depot.

EF_AUTO_REFIT 

Automatic refitting is allowed.

EF_NO_DEFAULT_CARGO_MULTIPLIER 

Use the new capacity algorithm. The default cargotype of the vehicle does not affect capacity multipliers. CB 15 is also called in purchase list.

EF_NO_BREAKDOWN_SMOKE 

Do not show black smoke during a breakdown.

EF_SPRITE_STACK 

Draw vehicle by stacking multiple sprites.

Definition at line 152 of file engine_type.h.

◆ RailVehicleTypes

Available types of rail vehicles.

Enumerator
RAILVEH_SINGLEHEAD 

indicates a "standalone" locomotive

RAILVEH_MULTIHEAD 

indicates a combination of two locomotives

RAILVEH_WAGON 

simple wagon, not motorized

Definition at line 27 of file engine_type.h.