Port of the programmable signals patch to recent trunk

Also add some additional changes from the SpringPP patch,
and make some other minor changes/fixes.
This commit is contained in:
patch-import
2014-01-14 20:32:07 +00:00
committed by Jonathan G Rennison
parent 0b09a7ac61
commit fc0efe599e
29 changed files with 2901 additions and 111 deletions

View File

@@ -285,12 +285,6 @@ static inline TrackBits GetDepotReservationTrackBits(TileIndex t)
return HasDepotReservation(t) ? TrackToTrackBits(GetRailDepotTrack(t)) : TRACK_BIT_NONE;
}
static inline bool IsPbsSignal(SignalType s)
{
return s == SIGTYPE_PBS || s == SIGTYPE_PBS_ONEWAY;
}
static inline SignalType GetSignalType(TileIndex t, Track track)
{
assert(GetRailTileType(t) == RAIL_TILE_SIGNALS);
@@ -308,12 +302,22 @@ static inline void SetSignalType(TileIndex t, Track track, SignalType s)
static inline bool IsPresignalEntry(TileIndex t, Track track)
{
return GetSignalType(t, track) == SIGTYPE_ENTRY || GetSignalType(t, track) == SIGTYPE_COMBO;
return IsEntrySignal(GetSignalType(t, track));
}
static inline bool IsPresignalExit(TileIndex t, Track track)
{
return GetSignalType(t, track) == SIGTYPE_EXIT || GetSignalType(t, track) == SIGTYPE_COMBO;
return IsExitSignal(GetSignalType(t, track));
}
static inline bool IsPresignalCombo(TileIndex t, Track track)
{
return IsComboSignal(GetSignalType(t, track));
}
static inline bool IsPresignalProgrammable(TileIndex t, Track track)
{
return IsProgrammableSignal(GetSignalType(t, track));
}
/** One-way signals can't be passed the 'wrong' way. */