OpenTTD
Data Structures | Typedefs | Enumerations
road_type.h File Reference

Enums and other types related to roads. More...

#include "core/enum_type.hpp"

Go to the source code of this file.

Data Structures

struct  EnumPropsT< RoadType >
 
struct  EnumPropsT< RoadTypes >
 
struct  EnumPropsT< RoadBits >
 

Typedefs

typedef SimpleTinyEnumT< RoadTypes, byte > RoadTypesByte
 

Enumerations

enum  RoadType {
  ROADTYPE_BEGIN = 0, ROADTYPE_ROAD = 0, ROADTYPE_TRAM = 1, ROADTYPE_END,
  INVALID_ROADTYPE = 0xFF
}
 The different roadtypes we support. More...
 
enum  RoadTypes {
  ROADTYPES_NONE = 0, ROADTYPES_ROAD = 1 << ROADTYPE_ROAD, ROADTYPES_TRAM = 1 << ROADTYPE_TRAM, ROADTYPES_ALL = ROADTYPES_ROAD | ROADTYPES_TRAM,
  ROADTYPES_END, INVALID_ROADTYPES = 0xFF
}
 The different roadtypes we support, but then a bitmask of them. More...
 
enum  RoadBits {
  ROAD_NONE = 0U, ROAD_NW = 1U, ROAD_SW = 2U, ROAD_SE = 4U,
  ROAD_NE = 8U, ROAD_X = ROAD_SW | ROAD_NE, ROAD_Y = ROAD_NW | ROAD_SE, ROAD_N = ROAD_NE | ROAD_NW,
  ROAD_E = ROAD_NE | ROAD_SE, ROAD_S = ROAD_SE | ROAD_SW, ROAD_W = ROAD_NW | ROAD_SW, ROAD_ALL = ROAD_X | ROAD_Y,
  ROAD_END = ROAD_ALL + 1
}
 Enumeration for the road parts on a tile. More...
 

Detailed Description

Enums and other types related to roads.

Definition in file road_type.h.

Enumeration Type Documentation

◆ RoadBits

enum RoadBits

Enumeration for the road parts on a tile.

This enumeration defines the possible road parts which can be build on a tile.

Enumerator
ROAD_NONE 

No road-part is build.

ROAD_NW 

North-west part.

ROAD_SW 

South-west part.

ROAD_SE 

South-east part.

ROAD_NE 

North-east part.

ROAD_X 

Full road along the x-axis (south-west + north-east)

ROAD_Y 

Full road along the y-axis (north-west + south-east)

ROAD_N 

Road at the two northern edges.

ROAD_E 

Road at the two eastern edges.

ROAD_S 

Road at the two southern edges.

ROAD_W 

Road at the two western edges.

ROAD_ALL 

Full 4-way crossing.

ROAD_END 

Out-of-range roadbits, used for iterations.

Definition at line 55 of file road_type.h.

◆ RoadType

enum RoadType

The different roadtypes we support.

Note
currently only ROADTYPE_ROAD and ROADTYPE_TRAM are supported.
Enumerator
ROADTYPE_BEGIN 

Used for iterations.

ROADTYPE_ROAD 

Basic road type.

ROADTYPE_TRAM 

Trams.

ROADTYPE_END 

Used for iterations.

INVALID_ROADTYPE 

flag for invalid roadtype

Definition at line 22 of file road_type.h.

◆ RoadTypes

enum RoadTypes

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

Note
currently only roadtypes with ROADTYPE_ROAD and ROADTYPE_TRAM are supported.
Enumerator
ROADTYPES_NONE 

No roadtypes.

ROADTYPES_ROAD 

Road.

ROADTYPES_TRAM 

Trams.

ROADTYPES_ALL 

Road + trams.

ROADTYPES_END 

Used for iterations?

INVALID_ROADTYPES 

Invalid roadtypes.

Definition at line 36 of file road_type.h.