Fix bridges not being redrawn after all signals reset when cleared

This commit is contained in:
Jonathan G Rennison
2021-01-05 01:04:52 +00:00
parent 65d5d13a08
commit d32a282112
3 changed files with 20 additions and 7 deletions

View File

@@ -2763,8 +2763,14 @@ static void HandleLastTunnelBridgeSignals(TileIndex tile, TileIndex end, DiagDir
if (free) {
/* Open up the wormhole and clear m2. */
if (IsBridge(end)) {
if (IsTunnelBridgeSignalSimulationEntrance(tile)) SetAllBridgeEntranceSimulatedSignalsGreen(tile);
if (IsTunnelBridgeSignalSimulationEntrance(end)) SetAllBridgeEntranceSimulatedSignalsGreen(end);
bool redraw = false;
if (IsTunnelBridgeSignalSimulationEntrance(tile)) {
redraw |= SetAllBridgeEntranceSimulatedSignalsGreen(tile);
}
if (IsTunnelBridgeSignalSimulationEntrance(end)) {
redraw |= SetAllBridgeEntranceSimulatedSignalsGreen(end);
}
if (redraw) MarkBridgeDirty(tile, end, GetTunnelBridgeDirection(tile), GetBridgeHeight(tile), VMDF_NOT_MAP_MODE);
}
if (IsTunnelBridgeSignalSimulationEntrance(end) && GetTunnelBridgeEntranceSignalState(end) == SIGNAL_STATE_RED) {