OpenTTD

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

- File List
- Globals

Functions
elrail_func.h File Reference

header file for electrified rail specific functions More...

`#include "rail.h"`
`#include "tile_cmd.h"`
`#include "transparency.h"`

Go to the source code of this file.

## Functions
static bool | HasRailCatenary (RailType rt)
| Test if a rail type has catenary.
static bool | HasRailCatenaryDrawn (RailType rt)
| Test if we should draw rail catenary.
void | DrawRailCatenary (const TileInfo *ti)
| Draws overhead wires and pylons for electric railways.
void | DrawRailCatenaryOnTunnel (const TileInfo *ti)
| Draws wires on a tunnel tile.
void | DrawRailCatenaryOnBridge (const TileInfo *ti)
| Draws wires on a tunnel tile.
bool | SettingsDisableElrail (int32 p1)
| _settings_game.disable_elrail callback

## Detailed Description

header file for electrified rail specific functions

Definition in file elrail_func.h.

## Function Documentation

void DrawRailCatenary | ( | const TileInfo * | ti | ) |

Draws overhead wires and pylons for electric railways.

Parameters

  ti | The TileInfo struct of the tile being drawn

See Also
  DrawRailCatenaryRailway

Definition at line 564 of file elrail.cpp.

References AddSortableSpriteToDraw(), DrawRailCatenaryRailway(), GetRailDepotDirection(), GetTileMaxPixelZ(), GetTileType(), GetWireBase(), IsRailDepot(), IsTransparencySet(), MP_RAILWAY, MP_ROAD, MP_STATION, MP_TUNNELBRIDGE, TileInfo::tile, TO_CATENARY, TileInfo::x, and TileInfo::y.

Referenced by DrawTile_Road(), and DrawTile_TunnelBridge().

void DrawRailCatenaryOnBridge | ( | const TileInfo * | ti | ) |

Draws wires on a tunnel tile.

DrawTile_TunnelBridge() calls this function to draw the wires on the bridge.

Parameters

  ti | The Tileinfo to draw the tile for

Definition at line 502 of file elrail.cpp.

References AddSortableSpriteToDraw(), AXIS_X, BB_HEIGHT_UNDER_BRIDGE, DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, DIR_NE, DIR_NW, GetBridgeAxis(), GetBridgePixelHeight(), GetOtherBridgeEnd(), GetPylonBase(), GetSouthernBridgeEnd(), GetTLG(), GetTunnelBridgeLength(), GetWireBase(), HasBit(), IsTransparencySet(), ReverseDir(), TCX_ON_BRIDGE, TileInfo::tile, TO_CATENARY, TileInfo::x, and TileInfo::y.

Referenced by DrawBridgeMiddle().

void DrawRailCatenaryOnTunnel | ( | const TileInfo * | ti | ) |

Draws wires on a tunnel tile.

DrawTile_TunnelBridge() calls this function to draw the wires as SpriteCombine with the tunnel roof.

Parameters

  ti | The Tileinfo to draw the tile for

Definition at line 245 of file elrail.cpp.

References AddSortableSpriteToDraw(), BB_Z_SEPARATOR, GetTilePixelZ(), GetTunnelBridgeDirection(), GetWireBase(), IsTransparencySet(), TileInfo::tile, TO_CATENARY, TileInfo::x, and TileInfo::y.

Referenced by DrawTile_TunnelBridge().

static bool HasRailCatenary | ( | RailType | rt | ) |
| inline static

Test if a rail type has catenary.

Parameters

  rt | Rail type to test

Definition at line 23 of file elrail_func.h.

References GetRailTypeInfo(), HasBit(), and RTF_CATENARY.

Referenced by DrawRailCatenaryRailway(), GetRailTrackBitsUniversal(), HasRailCatenaryDrawn(), and MaskWireBits().

static bool HasRailCatenaryDrawn | ( | RailType | rt | ) |
| inline static

Test if we should draw rail catenary.

Parameters

  rt | Rail type to test

Definition at line 32 of file elrail_func.h.

References _settings_game, VehicleSettings::disable_elrails, HasRailCatenary(), IsInvisibilitySet(), TO_CATENARY, and GameSettings::vehicle.

Referenced by DrawBridgeMiddle(), DrawTile_Road(), and DrawTile_TunnelBridge().