OpenTTD: src/newgrf_railtype.h File Reference

OpenTTD

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

- File List
- Globals

Data Structures | Functions
newgrf_railtype.h File Reference

NewGRF handling of rail types. More...

`#include "rail.h"`
`#include "newgrf_commons.h"`
`#include "newgrf_spritegroup.h"`

Go to the source code of this file.

## Data Structures
struct | RailTypeScopeResolver
| Resolver for the railtype scope. More...
struct | RailTypeResolverObject
| Resolver object for rail types. More...

## Functions
SpriteID | GetCustomRailSprite (const RailtypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context=TCX_NORMAL)
| Get the sprite to draw for the given tile.
SpriteID | GetCustomSignalSprite (const RailtypeInfo *rti, TileIndex tile, SignalType type, SignalVariant var, SignalState state, bool gui=false)
| Get the sprite to draw for a given signal.
uint8 | GetReverseRailTypeTranslation (RailType railtype, const GRFFile *grffile)
| Perform a reverse railtype lookup to get the GRF internal ID.

## Detailed Description

NewGRF handling of rail types.

Definition in file newgrf_railtype.h.

## Function Documentation

SpriteID GetCustomRailSprite | ( | const RailtypeInfo * | rti,
|  | TileIndex | tile,
|  | RailTypeSpriteGroup | rtsg,
|  | TileContext | context
| ) |  |

Get the sprite to draw for the given tile.

Parameters

  rti | The rail type data (spec).
  tile | The tile to get the sprite for.
  rtsg | The type of sprite to draw.
  content | Where are we drawing the tile?

Returns
  The sprite to draw.

Definition at line 105 of file newgrf_railtype.cpp.

References RailtypeInfo::group, and SpriteGroup::Resolve().

Referenced by DrawBridgeMiddle(), DrawStationTile(), DrawTile_Road(), DrawTile_TunnelBridge(), GetPylonBase(), and GetWireBase().

SpriteID GetCustomSignalSprite | ( | const RailtypeInfo * | rti,
|  | TileIndex | tile,
|  | SignalType | type,
|  | SignalVariant | var,
|  | SignalState | state,
|  | bool | gui
| ) |  |

Get the sprite to draw for a given signal.

Parameters

  rti | The rail type data (spec).
  tile | The tile to get the sprite for.
  type | Signal type.
  var | Signal variant.
  state | Signal state.
  gui | Is the sprite being used on the map or in the GUI?

Returns
  The sprite to draw.

Definition at line 128 of file newgrf_railtype.cpp.

References RailtypeInfo::group, SpriteGroup::Resolve(), RTSG_SIGNALS, and TCX_NORMAL.

uint8 GetReverseRailTypeTranslation | ( | RailType | railtype,
|  | const GRFFile * | grffile
| ) |  |

Perform a reverse railtype lookup to get the GRF internal ID.

Parameters

  railtype | The global (OpenTTD) railtype.
  grffile | The GRF to do the lookup for.

Returns
  the GRF internal ID.

Definition at line 148 of file newgrf_railtype.cpp.

References SmallVector< T, S >::FindIndex(), GetRailTypeInfo(), RailtypeInfo::label, SmallVector< T, S >::Length(), and GRFFile::railtype_list.

Referenced by StationScopeResolver::GetVariable().