Fix redrawing of bridge signals more than 2 middle signals need updating
On exit signal aspect change, with 5+ aspect signalling
This commit is contained in:
@@ -1244,10 +1244,11 @@ static void RefreshBridgeOnExitAspectChange(TileIndex entrance, TileIndex exit)
|
||||
const TileIndexDiffC offset = TileIndexDiffCByDiagDir(GetTunnelBridgeDirection(entrance));
|
||||
const TileIndexDiff diff = TileDiffXY(offset.x * simulated_wormhole_signals, offset.y * simulated_wormhole_signals);
|
||||
const uint signal_count = bridge_length / simulated_wormhole_signals;
|
||||
TileIndex tile = entrance;
|
||||
for (uint i = signal_count; i > 0; i--) {
|
||||
tile += diff;
|
||||
if (i <= 2) MarkTileDirtyByTile(tile, VMDF_NOT_MAP_MODE);
|
||||
TileIndex tile = entrance + ((int)signal_count * diff);
|
||||
const uint redraw_count = std::min<uint>(_extra_aspects, signal_count);
|
||||
for (uint i = 0; i < redraw_count; i++) {
|
||||
MarkTileDirtyByTile(tile, VMDF_NOT_MAP_MODE);
|
||||
tile -= diff;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user