summaryrefslogtreecommitdiff
path: root/src/signal_func.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal_func.h')
-rw-r--r--src/signal_func.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/signal_func.h b/src/signal_func.h
index a5479a3e0..7dcf3fd81 100644
--- a/src/signal_func.h
+++ b/src/signal_func.h
@@ -41,7 +41,13 @@ static inline byte SignalOnTrack(Track track)
return _signal_on_track[track];
}
-bool UpdateSignalsOnSegment(TileIndex tile, DiagDirection side, Owner owner);
+/** State of the signal segment */
+enum SigSegState {
+ SIGSEG_FREE, ///< Free and has no pre-signal exits or at least one green exit
+ SIGSEG_FULL, ///< Occupied by a train
+};
+
+SigSegState UpdateSignalsOnSegment(TileIndex tile, DiagDirection side, Owner owner);
void SetSignalsOnBothDir(TileIndex tile, Track track, Owner owner);
void AddTrackToSignalBuffer(TileIndex tile, Track track, Owner owner);
void AddSideToSignalBuffer(TileIndex tile, DiagDirection side, Owner owner);