src/train_cmd.cpp
changeset 10660 0b325124a42e
parent 10621 3edd349d9c14
child 10703 2c998f3776d1
--- a/src/train_cmd.cpp	Tue May 20 21:55:45 2008 +0000
+++ b/src/train_cmd.cpp	Wed May 21 12:06:05 2008 +0000
@@ -2807,10 +2807,10 @@
 
 	InvalidateWindowClassesData(WC_TRAINS_LIST, 0);
 
-	BEGIN_ENUM_WAGONS(v)
+	for (; v != NULL; v = v->Next()) {
 		v->vehstatus |= VS_CRASHED;
 		MarkSingleVehicleDirty(v);
-	END_ENUM_WAGONS(v)
+	}
 
 	/* must be updated after the train has been marked crashed */
 	if (crossing != INVALID_TILE) UpdateLevelCrossing(crossing);
@@ -2819,9 +2819,11 @@
 static uint CountPassengersInTrain(const Vehicle *v)
 {
 	uint num = 0;
-	BEGIN_ENUM_WAGONS(v)
+
+	for (; v != NULL; v = v->Next()) {
 		if (IsCargoInClass(v->cargo_type, CC_PASSENGERS)) num += v->cargo.Count();
-	END_ENUM_WAGONS(v)
+	}
+
 	return num;
 }
 
@@ -3651,9 +3653,7 @@
 
 	FOR_ALL_VEHICLES(v) {
 		if (v->type == VEH_TRAIN && IsFrontEngine(v)) {
-			Vehicle *u = v;
-
-			BEGIN_ENUM_WAGONS(u) {
+			for (Vehicle *u = v; u != NULL; u = u->Next()) {
 				if (u->u.rail.other_multiheaded_part != NULL) continue; // we already linked this one
 
 				if (IsMultiheaded(u)) {
@@ -3678,7 +3678,7 @@
 						ClearMultiheaded(u);
 					}
 				}
-			} END_ENUM_WAGONS(u)
+			}
 		}
 	}
 }
@@ -3699,9 +3699,7 @@
 	FOR_ALL_VEHICLES(v) {
 		if (v->type == VEH_TRAIN) {
 			if (HasBit(v->subtype, 7) && ((v->subtype & ~0x80) == 0 || (v->subtype & ~0x80) == 4)) {
-				Vehicle *u = v;
-
-				BEGIN_ENUM_WAGONS(u) {
+				for (Vehicle *u = v; u != NULL; u = u->Next()) {
 					const RailVehicleInfo *rvi = RailVehInfo(u->engine_type);
 
 					ClrBit(u->subtype, 7);
@@ -3740,7 +3738,7 @@
 							break;
 						default: NOT_REACHED(); break;
 					}
-				} END_ENUM_WAGONS(u)
+				}
 			}
 		}
 	}