From 386a3f1d208a67af646da9a0bedba375858f822c Mon Sep 17 00:00:00 2001 From: smatz Date: Thu, 8 May 2008 16:48:29 +0000 Subject: (svn r13016) -Codechange: unify the detection if rail catenary should be drawn --- src/elrail_func.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/elrail_func.h (limited to 'src/elrail_func.h') diff --git a/src/elrail_func.h b/src/elrail_func.h new file mode 100644 index 000000000..c65be6fa5 --- /dev/null +++ b/src/elrail_func.h @@ -0,0 +1,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) && !_patches.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); ///< _patches.disable_elrail callback + +#endif /* ELRAIL_FUNC_H */ -- cgit v1.2.3-54-g00ecf