blob: bf3e416323613cd36b45aa2035820d5f29c4b069 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/* $Id$ */
/** @file elrail_func.h header file for electrified rail specific functions */
#ifndef ELRAIL_FUNC_H
#define ELRAIL_FUNC_H
#include "rail.h"
#include "transparency.h"
#include "tile_cmd.h"
#include "settings_type.h"
/**
* Test if a rail type has catenary
* @param rt Rail type to test
*/
static inline bool HasCatenary(RailType rt)
{
return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY);
}
/**
* Test if we should draw rail catenary
* @param rt Rail type to test
*/
static inline bool HasCatenaryDrawn(RailType rt)
{
return HasCatenary(rt) && !IsInvisibilitySet(TO_CATENARY) && !_settings.vehicle.disable_elrails;
}
/**
* Draws overhead wires and pylons for electric railways.
* @param ti The TileInfo struct of the tile being drawn
* @see DrawCatenaryRailway
*/
void DrawCatenary(const TileInfo *ti);
void DrawCatenaryOnTunnel(const TileInfo *ti);
void DrawCatenaryOnBridge(const TileInfo *ti);
int32 SettingsDisableElrail(int32 p1); ///< _settings.disable_elrail callback
#endif /* ELRAIL_FUNC_H */
|