OpenTTD Source 20260218-master-g2123fca5ea
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

bool HasRailCatenary (RailType rt)
 Test if a rail type has catenary.
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.
void SettingsDisableElrail (int32_t new_value)
 Callback for changes to the electrified rails setting.
void UpdateDisableElrailSettingState (bool disable, bool update_vehicles)

Detailed Description

Header file for electrified rail specific functions.

Definition in file elrail_func.h.

Function Documentation

◆ DrawRailCatenary()

void DrawRailCatenary ( const TileInfo * ti)

Draws overhead wires and pylons for electric railways.

Parameters
tiThe TileInfo struct of the tile being drawn
See also
DrawRailCatenaryRailway

Definition at line 559 of file elrail.cpp.

References AddSortableSpriteToDraw(), DrawRailCatenaryRailway(), GetRailDepotDirection(), GetTileMaxPixelZ(), GetTileType(), GetWireBase(), IsRailDepot(), IsTransparencySet(), Railway, Road, Station, TileInfo::tile, TO_CATENARY, TunnelBridge, Coord3D< T >::x, and Coord3D< T >::y.

Referenced by DrawTile_Road(), and DrawTile_TunnelBridge().

◆ DrawRailCatenaryOnBridge()

void DrawRailCatenaryOnBridge ( const TileInfo * ti)

◆ DrawRailCatenaryOnTunnel()

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
tiThe Tileinfo to draw the tile for

Definition at line 258 of file elrail.cpp.

References AddSortableSpriteToDraw(), GetTilePixelZ(), GetTunnelBridgeDirection(), GetWireBase(), IsTransparencySet(), TileInfo::tile, TO_CATENARY, Coord3D< T >::x, and Coord3D< T >::y.

Referenced by DrawTile_TunnelBridge().

◆ HasRailCatenary()

bool HasRailCatenary ( RailType rt)
inline

Test if a rail type has catenary.

Parameters
rtRail type to test.
Returns
true iff the rail type has catenary.

Definition at line 22 of file elrail_func.h.

References Catenary, RailTypeInfo::flags, GetRailTypeInfo(), and BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test().

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

◆ HasRailCatenaryDrawn()

bool HasRailCatenaryDrawn ( RailType rt)
inline

Test if we should draw rail catenary.

Parameters
rtRail type to test.
Returns
true iff catenary should be drawn for this rail type.

Definition at line 32 of file elrail_func.h.

References _settings_game, HasRailCatenary(), IsInvisibilitySet(), and TO_CATENARY.

Referenced by DrawTile_Road(), and DrawTile_TunnelBridge().

◆ SettingsDisableElrail()

void SettingsDisableElrail ( int32_t new_value)

Callback for changes to the electrified rails setting.

A callback to denote that a setting has been changed.

Parameters
new_valueThe new value for the setting.

Definition at line 585 of file elrail.cpp.

◆ UpdateDisableElrailSettingState()

void UpdateDisableElrailSettingState ( bool disable,
bool update_vehicles )

Definition at line 591 of file elrail.cpp.