OpenTTD Source
20241108-master-g80f628063a
|
NewGRF handling of rail types. More...
#include "stdafx.h"
#include "core/container_func.hpp"
#include "debug.h"
#include "newgrf_railtype.h"
#include "timer/timer_game_calendar.h"
#include "depot_base.h"
#include "town.h"
#include "safeguards.h"
Go to the source code of this file.
Functions | |
SpriteID | GetCustomRailSprite (const RailTypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context, uint *num_results) |
Get the sprite to draw for the given tile. More... | |
SpriteID | GetCustomSignalSprite (const RailTypeInfo *rti, TileIndex tile, SignalType type, SignalVariant var, SignalState state, bool gui) |
Get the sprite to draw for a given signal. More... | |
RailType | GetRailTypeTranslation (uint8_t railtype, const GRFFile *grffile) |
Translate an index to the GRF-local railtype-translation table into a RailType. More... | |
uint8_t | GetReverseRailTypeTranslation (RailType railtype, const GRFFile *grffile) |
Perform a reverse railtype lookup to get the GRF internal ID. More... | |
NewGRF handling of rail types.
Definition in file newgrf_railtype.cpp.
SpriteID GetCustomRailSprite | ( | const RailTypeInfo * | rti, |
TileIndex | tile, | ||
RailTypeSpriteGroup | rtsg, | ||
TileContext | context, | ||
uint * | num_results | ||
) |
Get the sprite to draw for the given tile.
rti | The rail type data (spec). | |
tile | The tile to get the sprite for. | |
rtsg | The type of sprite to draw. | |
context | Where are we drawing the tile? | |
[out] | num_results | If not nullptr, return the number of sprites in the spriteset. |
Definition at line 96 of file newgrf_railtype.cpp.
Referenced by DrawTile_TunnelBridge(), DrawTrackDetails(), 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.
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? |
Definition at line 121 of file newgrf_railtype.cpp.
References RailTypeInfo::group, SpriteGroup::Resolve(), RTSG_SIGNALS, and TCX_NORMAL.
Translate an index to the GRF-local railtype-translation table into a RailType.
railtype | Index into GRF-local translation table. |
grffile | Originating GRF file. |
Definition at line 141 of file newgrf_railtype.cpp.
References GetRailTypeByLabel(), GetRailTypeInfo(), INVALID_RAILTYPE, RAILTYPE_END, and GRFFile::railtype_list.
Perform a reverse railtype lookup to get the GRF internal ID.
railtype | The global (OpenTTD) railtype. |
grffile | The GRF to do the lookup for. |
Definition at line 163 of file newgrf_railtype.cpp.
References find_index(), GetRailTypeInfo(), RailTypeInfo::label, and GRFFile::railtype_list.