summaryrefslogtreecommitdiff
path: root/src/train.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/train.h')
-rw-r--r--src/train.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/train.h b/src/train.h
index b21900ece..557d7040c 100644
--- a/src/train.h
+++ b/src/train.h
@@ -43,6 +43,14 @@ enum VehicleRailFlags {
VRF_TRAIN_STUCK = 8,
};
+/** Modes for ignoring signals. */
+enum TrainForceProceeding {
+ TFP_NONE = 0, ///< Normal operation.
+ TFP_STUCK = 1, ///< Proceed till next signal, but ignore being stuck till then. This includes force leaving depots.
+ TFP_SIGNAL = 2, ///< Ignore next signal, after the signal ignore being stucked.
+};
+typedef SimpleTinyEnumT<TrainForceProceeding, byte> TrainForceProceedingByte;
+
byte FreightWagonMult(CargoID cargo);
void CheckTrainsLengths();
@@ -94,7 +102,7 @@ struct Train : public GroundVehicle<Train, VEH_TRAIN> {
uint16 flags;
TrackBitsByte track;
- byte force_proceed;
+ TrainForceProceedingByte force_proceed;
RailTypeByte railtype;
RailTypes compatible_railtypes;