(svn r21816) -Fix [FS#4378] (r14012): Allow dragging of combo signals (again)

This commit is contained in:
planetmaker 2011-01-15 22:50:49 +00:00
parent 7645c5ac43
commit 9b4beb0a5c
2 changed files with 11 additions and 2 deletions

View File

@ -259,3 +259,12 @@ OpenTTD hangs when started on 32 bits Windows [FS#4083]
The reason we do not use the "win32" music driver as default are The reason we do not use the "win32" music driver as default are
described in the "Long delay between switching music/song" section described in the "Long delay between switching music/song" section
of this document. of this document.
Pre- and exit signals are not dragged [FS#4378]
Unlike all other signal types, the entry- and exit signals are not
dragged but instead normal signals are placed on subsequent track
sections. This is done on purpose as this is the usually more con-
venient solution. There are little to no occasions where more than
one entry or exit signal in a row are useful. This is different
for all other signal types where several in a row can serve one
purpose or another.

View File

@ -1182,8 +1182,8 @@ static CommandCost CmdSignalTrackHelper(TileIndex tile, DoCommandFlag flags, uin
semaphores = GetSignalVariant(tile, track) != SIG_ELECTRIC; semaphores = GetSignalVariant(tile, track) != SIG_ELECTRIC;
sigtype = GetSignalType(tile, track); sigtype = GetSignalType(tile, track);
/* Don't but copy pre-signal type */ /* Don't but copy entry or exit-signal type */
if (sigtype < SIGTYPE_PBS) sigtype = SIGTYPE_NORMAL; if (sigtype == SIGTYPE_ENTRY || sigtype == SIGTYPE_EXIT) sigtype = SIGTYPE_NORMAL;
} else { // no signals exist, drag a two-way signal stretch } else { // no signals exist, drag a two-way signal stretch
signals = IsPbsSignal(sigtype) ? SignalAlongTrackdir(trackdir) : SignalOnTrack(track); signals = IsPbsSignal(sigtype) ? SignalAlongTrackdir(trackdir) : SignalOnTrack(track);
} }