OpenTTD Source  20241108-master-g80f628063a
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. More...
 
bool HasRailCatenaryDrawn (RailType rt)
 Test if we should draw rail catenary. More...
 
void DrawRailCatenary (const TileInfo *ti)
 Draws overhead wires and pylons for electric railways. More...
 
void DrawRailCatenaryOnTunnel (const TileInfo *ti)
 Draws wires on a tunnel tile. More...
 
void DrawRailCatenaryOnBridge (const TileInfo *ti)
 Draws wires on a tunnel tile. More...
 
void SettingsDisableElrail (int32_t new_value)
 _settings_game.disable_elrail callback
 
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 568 of file elrail.cpp.

References GetTileType(), IsRailDepot(), MP_RAILWAY, and TileInfo::tile.

◆ DrawRailCatenaryOnBridge()

void DrawRailCatenaryOnBridge ( const TileInfo ti)

Draws wires on a tunnel tile.

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

Parameters
tiThe Tileinfo to draw the tile for

Definition at line 506 of file elrail.cpp.

References AXIS_X, GetBridgeAxis(), GetOtherBridgeEnd(), GetSouthernBridgeEnd(), GetTLG(), GetTunnelBridgeLength(), and TileInfo::tile.

◆ 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 249 of file elrail.cpp.

References GetTunnelBridgeDirection(), GetWireBase(), and TileInfo::tile.

◆ HasRailCatenary()

bool HasRailCatenary ( RailType  rt)
inline

Test if a rail type has catenary.

Parameters
rtRail type to test

Definition at line 21 of file elrail_func.h.

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

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

◆ HasRailCatenaryDrawn()

bool HasRailCatenaryDrawn ( RailType  rt)
inline

Test if we should draw rail catenary.

Parameters
rtRail type to test

Definition at line 30 of file elrail_func.h.

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