Reduce viewport invalidation area of signal state changes

This commit is contained in:
Jonathan G Rennison
2020-02-20 19:28:53 +00:00
parent b9eaef9fe1
commit 5240b46d1d
5 changed files with 74 additions and 15 deletions

View File

@@ -84,6 +84,7 @@ bool TryReserveRailTrackdir(TileIndex tile, Trackdir td, bool trigger_stations)
bool success = TryReserveRailTrack(tile, TrackdirToTrack(td), trigger_stations);
if (success && HasPbsSignalOnTrackdir(tile, td)) {
SetSignalStateByTrackdir(tile, td, SIGNAL_STATE_GREEN);
MarkSingleSignalDirty(tile, td);
}
return success;
}
@@ -183,6 +184,7 @@ void UnreserveRailTrackdir(TileIndex tile, Trackdir td)
{
if (HasPbsSignalOnTrackdir(tile, td)) {
SetSignalStateByTrackdir(tile, td, SIGNAL_STATE_RED);
MarkSingleSignalDirty(tile, td);
}
UnreserveRailTrack(tile, TrackdirToTrack(td));
}