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 101 of file newgrf_railtype.cpp.

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

Referenced by DrawBridgeMiddle(), 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 124 of file newgrf_railtype.cpp.

References RailtypeInfo::grffile, 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 144 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().