--- 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)
+ }
}
}
}