summaryrefslogtreecommitdiff
path: root/vehicle.h
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2006-08-22 15:33:35 +0000
committertruelight <truelight@openttd.org>2006-08-22 15:33:35 +0000
commit0461d896123b918b492a3d16439bb46b041528cd (patch)
tree618708068f10739a382af83313db9c96b4744ef5 /vehicle.h
parent4c2abf1de53e28a5c3c6c6920efabc4653693c4c (diff)
downloadopenttd-0461d896123b918b492a3d16439bb46b041528cd.tar.xz
(svn r6047) -Codechange: FOR_ALL now _only_ loops valid items, and skips invalid ones
-Codechange: use IsValidXXX where ever possible Note: both changes to prepare for new pool system, which needs those changes. For every pool there are 2 ugly lines, which will be removed when done implementing new pool system. Based on FS#13 by blathijs, partly implemented.
Diffstat (limited to 'vehicle.h')
-rw-r--r--vehicle.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/vehicle.h b/vehicle.h
index 616e7495e..760cfb8ea 100644
--- a/vehicle.h
+++ b/vehicle.h
@@ -359,9 +359,6 @@ static inline uint16 GetVehiclePoolSize(void)
return _vehicle_pool.total_items;
}
-#define FOR_ALL_VEHICLES_FROM(v, start) for (v = GetVehicle(start); v != NULL; v = (v->index + 1 < GetVehiclePoolSize()) ? GetVehicle(v->index + 1) : NULL)
-#define FOR_ALL_VEHICLES(v) FOR_ALL_VEHICLES_FROM(v, 0)
-
/**
* Check if a Vehicle really exists.
*/
@@ -370,6 +367,9 @@ static inline bool IsValidVehicle(const Vehicle *v)
return v->type != 0;
}
+#define FOR_ALL_VEHICLES_FROM(v, start) for (v = GetVehicle(start); v != NULL; v = (v->index + 1 < GetVehiclePoolSize()) ? GetVehicle(v->index + 1) : NULL) if (IsValidVehicle(v))
+#define FOR_ALL_VEHICLES(v) FOR_ALL_VEHICLES_FROM(v, 0)
+
/**
* Check if an index is a vehicle-index (so between 0 and max-vehicles)
*