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);