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

The different types of rail. More...

#include "core/enum_type.hpp"

Go to the source code of this file.

Data Structures

struct  EnumPropsT< RailType >
 Allow incrementing of Track variables. More...
 

Typedefs

typedef uint32 RailTypeLabel
 
typedef TinyEnumT< RailTypeRailTypeByte
 

Enumerations

enum  RailType {
  RAILTYPE_BEGIN = 0, RAILTYPE_RAIL = 0, RAILTYPE_ELECTRIC = 1, RAILTYPE_MONO = 2,
  RAILTYPE_MAGLEV = 3, RAILTYPE_END = 16, INVALID_RAILTYPE = 0xFF, DEF_RAILTYPE_FIRST = RAILTYPE_END,
  DEF_RAILTYPE_LAST, DEF_RAILTYPE_MOST_USED
}
 Enumeration for all possible railtypes. More...
 
enum  RailTypes {
  RAILTYPES_NONE = 0, RAILTYPES_RAIL = 1 << RAILTYPE_RAIL, RAILTYPES_ELECTRIC = 1 << RAILTYPE_ELECTRIC, RAILTYPES_MONO = 1 << RAILTYPE_MONO,
  RAILTYPES_MAGLEV = 1 << RAILTYPE_MAGLEV, INVALID_RAILTYPES = UINT_MAX
}
 The different roadtypes we support, but then a bitmask of them. More...
 

Variables

static const RailTypeLabel RAILTYPE_RAIL_LABEL = 'RAIL'
 
static const RailTypeLabel RAILTYPE_ELECTRIC_LABEL = 'ELRL'
 
static const RailTypeLabel RAILTYPE_MONO_LABEL = 'MONO'
 
static const RailTypeLabel RAILTYPE_MAGLEV_LABEL = 'MGLV'
 

Detailed Description

The different types of rail.

Definition in file rail_type.h.

Enumeration Type Documentation

◆ RailType

enum RailType

Enumeration for all possible railtypes.

This enumeration defines all 4 possible railtypes.

Enumerator
RAILTYPE_BEGIN 

Used for iterations.

RAILTYPE_RAIL 

Standard non-electric rails.

RAILTYPE_ELECTRIC 

Electric rails.

RAILTYPE_MONO 

Monorail.

RAILTYPE_MAGLEV 

Maglev.

RAILTYPE_END 

Used for iterations.

INVALID_RAILTYPE 

Flag for invalid railtype.

DEF_RAILTYPE_FIRST 

Default railtype: first available.

DEF_RAILTYPE_LAST 

Default railtype: last available.

DEF_RAILTYPE_MOST_USED 

Default railtype: most used.

Definition at line 29 of file rail_type.h.

◆ RailTypes

enum RailTypes

The different roadtypes we support, but then a bitmask of them.

Enumerator
RAILTYPES_NONE 

No rail types.

RAILTYPES_RAIL 

Non-electrified rails.

RAILTYPES_ELECTRIC 

Electrified rails.

RAILTYPES_MONO 

Monorail!

RAILTYPES_MAGLEV 

Ever fast maglev.

INVALID_RAILTYPES 

Invalid railtypes.

Definition at line 52 of file rail_type.h.