(svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station

This commit is contained in:
smatz
2008-01-16 01:18:15 +00:00
parent 40a7ace4fa
commit 9556623281
10 changed files with 124 additions and 31 deletions

View File

@@ -440,10 +440,13 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
TrackBits tracks = GetTrackBits(tile);
do { // there may be two tracks with signals for TRACK_BIT_HORZ and TRACK_BIT_VERT
Track track = RemoveFirstTrack(&tracks);
if (HasSignalOnTrack(tile, track)) SetSignalsOnBothDir(tile, track, new_player);
if (HasSignalOnTrack(tile, track)) AddTrackToSignalBuffer(tile, track, new_player);
} while (tracks != TRACK_BIT_NONE);
}
} while (++tile != MapSize());
/* update signals in buffer */
UpdateSignalsInBuffer();
}
}