OpenTTD

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

- File List
- Globals

Macros | Variables
engines.h File Reference

This file contains all the data for vehicles. More...

Go to the source code of this file.

## Macros
#define | MT(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 1 << EF_RAIL_FLIPS, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }
| Writes the properties of a train into the EngineInfo struct.
#define | MW(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 1 << EF_RAIL_FLIPS, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }
| Writes the properties of a train carriage into the EngineInfo struct.
#define | MR(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 0, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }
| Writes the properties of a road vehicle into the EngineInfo struct.
#define | MS(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, f, e, 0, 8, 0, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }
| Writes the properties of a ship into the EngineInfo struct.
#define | MA(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, CT_INVALID, 0, 8, 0, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }
| Writes the properties of an aeroplane into the EngineInfo struct.
#define | T 1
#define | A 2
#define | S 4
#define | Y 8
#define | RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, {j}, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0 }
| Writes the properties of a rail vehicle into the RailVehicleInfo struct.
#define | M RAILVEH_MULTIHEAD
#define | W RAILVEH_WAGON
#define | G RAILVEH_SINGLEHEAD
#define | S EC_STEAM
#define | D EC_DIESEL
#define | E EC_ELECTRIC
#define | N EC_MONORAIL
#define | V EC_MAGLEV
#define | A EC_STEAM
#define | R RAILTYPE_RAIL
#define | C RAILTYPE_ELECTRIC
#define | O RAILTYPE_MONO
#define | L RAILTYPE_MAGLEV
#define | RC_S PR_RUNNING_TRAIN_STEAM
#define | RC_D PR_RUNNING_TRAIN_DIESEL
#define | RC_E PR_RUNNING_TRAIN_ELECTRIC
#define | RC_W INVALID_PRICE
#define | SVI(a, b, c, d, e, f, g) { a, b, c, d, e, f, g, VE_DEFAULT, 0, 0 }
| Writes the properties of a ship into the ShipVehicleInfo struct.
#define | AVI(a, b, c, d, e, f, g, h, i) { a, b, c, d, e, f, (g * 128) / 10, h, i, 0 }
| Writes the properties of an aircraft into the AircraftVehicleInfo struct.
#define | H AIR_HELI
#define | P AIR_CTOL
#define | J AIR_CTOL | AIR_FAST
#define | ROV(a, b, c, d, e, f, g, h) { a, b, c, PR_RUNNING_ROADVEH, d, e, f, g, h, 76, 0, VE_DEFAULT, 0 }
| Writes the properties of a road vehicle into the RoadVehicleInfo struct.

## Variables
static const EngineInfo | _orig_engine_info []
static const RailVehicleInfo | _orig_rail_vehicle_info []
static const ShipVehicleInfo | _orig_ship_vehicle_info []
static const AircraftVehicleInfo | _orig_aircraft_vehicle_info []
static const RoadVehicleInfo | _orig_road_vehicle_info []

## Detailed Description

This file contains all the data for vehicles.

Definition in file engines.h.

## Macro Definition Documentation

#define AVI | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f,
|  |  | g,
|  |  | h,
|  |  | i
| ) |  | { a, b, c, d, e, f, (g * 128) / 10, h, i, 0 }

Writes the properties of an aircraft into the AircraftVehicleInfo struct.

See Also
  AircraftVehicleInfo

Parameters

  a | image_index
  b | cost_factor
  c | running_Cost
  d | subtype (bit 0 - plane, bit 1 - large plane)
  e | sound effect
  f | acceleration (1 unit = 3/8 mph/tick = 3/5 km-ish/h/tick) (stays the same in the variable)
  g | max_speed (1 unit = 8 mph = 12.8 km-ish/h) (is converted to km-ish/h by the macro)
  h | mail_capacity (bags)
  i | passenger_capacity (persons)

Definition at line 588 of file engines.h.

#define MA | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e
| ) |  | { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, CT_INVALID, 0, 8, 0, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }

Writes the properties of an aeroplane into the EngineInfo struct.

Parameters

  a | base introduction date (days since 1920-01-01)
  b | decay speed
  c | life length (years)
  d | base life (years)
  e | Bitmask of the climates

Note
  the 20 between b and e is the load amount

Definition at line 78 of file engines.h.

#define MR | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f
| ) |  | { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 0, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }

Writes the properties of a road vehicle into the EngineInfo struct.

See Also
  EngineInfo

Parameters

  a | base introduction date (days since 1920-01-01)
  b | decay speed
  c | life length (years)
  d | base life (years)
  e | cargo type
  f | Bitmask of the climates

Note
  the 5 between b and f is the load amount

Definition at line 55 of file engines.h.

#define MS | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f
| ) |  | { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, f, e, 0, 8, 0, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }

Writes the properties of a ship into the EngineInfo struct.

Parameters

  a | base introduction date (days since 1920-01-01)
  b | decay speed
  c | life length (years)
  d | base life (years)
  e | cargo type
  f | Bitmask of the climates

Note
  the 10 between b and f is the load amount

Definition at line 67 of file engines.h.

#define MT | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f
| ) |  | { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 1 << EF_RAIL_FLIPS, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }

Writes the properties of a train into the EngineInfo struct.

See Also
  EngineInfo

Parameters

  a | base introduction date (days since 1920-01-01)
  b | decay speed
  c | life length (years)
  d | base life (years)
  e | cargo type
  f | Bitmask of the climates

Note
  the 5 between b and f is the load amount

Definition at line 29 of file engines.h.

#define MW | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f
| ) |  | { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 1 << EF_RAIL_FLIPS, 0, 0, STR_EMPTY, CARGO_AGING_TICKS }

Writes the properties of a train carriage into the EngineInfo struct.

Parameters

  a | base introduction date (days since 1920-01-01)
  b | decay speed
  c | life length (years)
  d | base life (years)
  e | cargo type
  f | Bitmask of the climates

See Also
  MT

Note
  the 5 between b and f is the load amount

Definition at line 42 of file engines.h.

#define ROV | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f,
|  |  | g,
|  |  | h
| ) |  | { a, b, c, PR_RUNNING_ROADVEH, d, e, f, g, h, 76, 0, VE_DEFAULT, 0 }

Writes the properties of a road vehicle into the RoadVehicleInfo struct.

See Also
  RoadVehicleInfo

Parameters

  a | image_index
  b | cost_factor
  c | running_cost
  d | sound effect
  e | max_speed (1 unit = 1/3.2 mph = 0.5 km-ish/h)
  f | capacity (persons, bags, tons, pieces, items, cubic metres, ...)
  g | weight (1/4 ton)
  h | power (10 hp) Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76 Air drag value depends on the top speed of the vehicle.

Definition at line 659 of file engines.h.

#define RVI | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f,
|  |  | g,
|  |  | h,
|  |  | i,
|  |  | j,
|  |  | k
| ) |  | { a, b, c, {j}, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0 }

Writes the properties of a rail vehicle into the RailVehicleInfo struct.

See Also
  RailVehicleInfo

Parameters

  a | image_index
  b | type
  c | cost_factor
  d | max_speed (1 unit = 1/1.6 mph = 1 km-ish/h)
  e | power (hp)
  f | weight (tons)
  g | running_cost
  h | running_cost_class
  i | capacity (persons, bags, tons, pieces, items, cubic metres, ...)
  j | railtype
  k | engclass Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76 Air drag value depends on the top speed of the vehicle.

Definition at line 378 of file engines.h.

#define SVI | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d,
|  |  | e,
|  |  | f,
|  |  | g
| ) |  | { a, b, c, d, e, f, g, VE_DEFAULT, 0, 0 }

Writes the properties of a ship into the ShipVehicleInfo struct.

See Also
  ShipVehicleInfo

Parameters

  a | image_index
  b | cost_factor
  c | max_speed (1 unit = 1/3.2 mph = 0.5 km-ish/h)
  d | capacity (persons, bags, tons, pieces, items, cubic metres, ...)
  e | running_cost
  f | sound effect
  g | refittable

Definition at line 555 of file engines.h.

## Variable Documentation

const ShipVehicleInfo _orig_ship_vehicle_info[]
| static

Initial value:
{
SVI( 1, 160, 48, 220, 140, SND_06_SHIP_HORN, 0 ),
SVI( 1, 176, 80, 350, 125, SND_06_SHIP_HORN, 0 ),
SVI( 2, 96, 64, 100, 90, SND_07_FERRY_HORN, 0 ),
SVI( 2, 112, 128, 130, 80, SND_07_FERRY_HORN, 0 ),
SVI( 3, 148, 224, 100, 190, SND_07_FERRY_HORN, 0 ),
SVI( 2, 96, 64, 100, 90, SND_07_FERRY_HORN, 0 ),
SVI( 2, 112, 128, 130, 80, SND_07_FERRY_HORN, 0 ),
SVI( 0, 128, 48, 160, 150, SND_06_SHIP_HORN, 1 ),
SVI( 0, 144, 80, 190, 113, SND_06_SHIP_HORN, 1 ),
SVI( 0, 128, 48, 160, 150, SND_06_SHIP_HORN, 1 ),
SVI( 0, 144, 80, 190, 113, SND_06_SHIP_HORN, 1 ),
}

Definition at line 556 of file engines.h.