Mercurial > hg > openttd
diff src/signal.cpp @ 9222:6ad7fc7fbcaf draft
(svn r13088) -Codechange: use SigSegState enum instead of bool variable (michi_cc)
author | smatz <smatz@openttd.org> |
---|---|
date | Wed, 14 May 2008 16:38:53 +0000 (2008-05-14) |
parents | 3667cbc7dc1d |
children | 063312d220a0 |
line wrap: on
line diff
--- a/src/signal.cpp +++ b/src/signal.cpp @@ -468,12 +468,12 @@ * @return false iff presignal entry would be green (needed for trains leaving depot) * @pre IsValidPlayer(owner) */ -static bool UpdateSignalsInBuffer(Owner owner) +static SigSegState UpdateSignalsInBuffer(Owner owner) { assert(IsValidPlayer(owner)); bool first = true; // first block? - bool state = false; // value to return + SigSegState state = SIGSEG_FREE; // value to return TileIndex tile; DiagDirection dir; @@ -532,7 +532,10 @@ if (first) { first = false; - state = (flags & SF_TRAIN) || (flags & SF_EXIT && !(flags & SF_GREEN)) || (flags & SF_FULL); // true iff train CAN'T leave the depot + if ((flags & SF_TRAIN) || (flags & SF_EXIT && !(flags & SF_GREEN)) || (flags & SF_FULL)) { + /* SIGSEG_FREE is set by default */ + state = SIGSEG_FULL; + } } /* do not do anything when some buffer was full */ @@ -629,7 +632,7 @@ * @param owner owner whose signals we will update * @return false iff train can leave depot */ -bool UpdateSignalsOnSegment(TileIndex tile, DiagDirection side, Owner owner) +SigSegState UpdateSignalsOnSegment(TileIndex tile, DiagDirection side, Owner owner) { assert(_globset.IsEmpty()); _globset.Add(tile, side);