diff options
author | smatz <smatz@openttd.org> | 2008-01-16 01:18:15 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2008-01-16 01:18:15 +0000 |
commit | 9556623281832d25d73b2f65ff6a66f4680ed866 (patch) | |
tree | d2832ab2fdd3e69fe8370853e648a983e902b0b9 /src/economy.cpp | |
parent | 40a7ace4fa87ecc8230d0972ec00f182ecea2cf1 (diff) | |
download | openttd-9556623281832d25d73b2f65ff6a66f4680ed866.tar.xz |
(svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station
Diffstat (limited to 'src/economy.cpp')
-rw-r--r-- | src/economy.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/economy.cpp b/src/economy.cpp index d9f51bb82..9377a7a80 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -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(); } } |