summaryrefslogtreecommitdiff
path: root/src/rail.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rail.h')
-rw-r--r--src/rail.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rail.h b/src/rail.h
index be7a030c5..b8ef0cb12 100644
--- a/src/rail.h
+++ b/src/rail.h
@@ -96,6 +96,9 @@ enum RailFenceOffset {
RFO_SLOPE_NW,
};
+/** List of rail type labels. */
+typedef SmallVector<RailTypeLabel, 4> RailTypeLabelList;
+
/**
* This struct contains all the info that is needed to draw and construct tracks.
*/
@@ -209,6 +212,11 @@ struct RailtypeInfo {
RailTypeLabel label;
/**
+ * Rail type labels this type provides in addition to the main label.
+ */
+ RailTypeLabelList alternate_labels;
+
+ /**
* Colour on mini-map
*/
byte map_colour;
@@ -404,7 +412,7 @@ RailTypes AddDateIntroducedRailTypes(RailTypes current, Date date);
RailType GetBestRailtype(const CompanyID company);
RailTypes GetCompanyRailtypes(const CompanyID c);
-RailType GetRailTypeByLabel(RailTypeLabel label);
+RailType GetRailTypeByLabel(RailTypeLabel label, bool allow_alternate_labels = true);
void ResetRailTypes();
void InitRailTypes();