summaryrefslogtreecommitdiff
path: root/signs.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
commit505566da5ca515428eed3b618f2f67aac2077f32 (patch)
tree618708068f10739a382af83313db9c96b4744ef5 /signs.h
parent650b9be724863bb91a2bd0b25d4e26858bc8b3fa (diff)
downloadopenttd-505566da5ca515428eed3b618f2f67aac2077f32.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 'signs.h')
-rw-r--r--signs.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/signs.h b/signs.h
index 1da92266d..726fa2695 100644
--- a/signs.h
+++ b/signs.h
@@ -20,14 +20,6 @@ typedef struct SignStruct {
extern MemoryPool _sign_pool;
/**
- * Check if a Sign really exists.
- */
-static inline bool IsValidSign(const SignStruct* ss)
-{
- return ss->str != 0;
-}
-
-/**
* Get the pointer to the sign with index 'index'
*/
static inline SignStruct *GetSign(uint index)
@@ -48,7 +40,15 @@ static inline bool IsSignIndex(uint index)
return index < GetSignPoolSize();
}
-#define FOR_ALL_SIGNS_FROM(ss, start) for (ss = GetSign(start); ss != NULL; ss = (ss->index + 1 < GetSignPoolSize()) ? GetSign(ss->index + 1) : NULL)
+/**
+ * Check if a Sign really exists.
+ */
+static inline bool IsValidSign(const SignStruct* ss)
+{
+ return ss->str != STR_NULL;
+}
+
+#define FOR_ALL_SIGNS_FROM(ss, start) for (ss = GetSign(start); ss != NULL; ss = (ss->index + 1 < GetSignPoolSize()) ? GetSign(ss->index + 1) : NULL) if (IsValidSign(ss))
#define FOR_ALL_SIGNS(ss) FOR_ALL_SIGNS_FROM(ss, 0)
VARDEF bool _sign_sort_dirty;