diff -r 780921b39016 -r 56ee7da4ad56 src/rail.h --- a/src/rail.h Tue Apr 08 11:54:53 2008 +0000 +++ b/src/rail.h Sat Apr 12 21:38:49 2008 +0000 @@ -13,6 +13,16 @@ #include "economy_func.h" #include "tile_cmd.h" +enum RailTypeFlag { + RTF_CATENARY = 0, ///< Set if the rail type should have catenary drawn +}; + +enum RailTypeFlags { + RTFB_NONE = 0, + RTFB_CATENARY = 1 << RTF_CATENARY, +}; +DECLARE_ENUM_AS_BIT_SET(RailTypeFlags); + /** This struct contains all the info that is needed to draw and construct tracks. */ struct RailtypeInfo { @@ -93,6 +103,11 @@ * Multiplier for curve maximum speed advantage */ byte curve_speed; + + /** + * Bit mask of rail type flags + */ + RailTypeFlags flags; }; @@ -190,7 +205,7 @@ */ static inline bool HasCatenary(RailType rt) { - return rt == RAILTYPE_ELECTRIC; + return HasBit(GetRailTypeInfo(rt)->flags, RTF_CATENARY); }