renamed preprocessor constants
[rocksndiamonds.git] / src / libgame / types.h
index 5129f1c874d1131403bfb801425048a981bedb48..f7d8ad462e42b5ce198adfb7c529145d56887820 100644 (file)
@@ -32,39 +32,57 @@ typedef unsigned char byte;
 #undef FALSE
 #endif
 
-#ifdef AUTO
-#undef AUTO
+#ifdef STATE_AUTO
+#undef STATE_AUTO
 #endif
 
-#define TRUE           1
-#define FALSE          0
-#define AUTO           -1
+#ifdef STATE_ASK
+#undef STATE_ASK
+#endif
+
+// values for boolean data type
+#define TRUE                   1
+#define FALSE                  0
+
+// values for 3-state data type (for "yes/no/auto" or "yes/no/ask")
+#define STATE_TRUE             1
+#define STATE_FALSE            0
+#define STATE_AUTO             -1
+#define STATE_ASK              -1
 
 #ifndef MIN
-#define MIN(a,b)       ((a) < (b) ? (a) : (b))
+#define MIN(a, b)              ((a) < (b) ? (a) : (b))
 #endif
 
 #ifndef MAX
-#define MAX(a,b)       ((a) > (b) ? (a) : (b))
+#define MAX(a, b)              ((a) > (b) ? (a) : (b))
 #endif
 
 #ifndef ABS
-#define ABS(a)         ((a) < 0 ? -(a) : (a))
+#define ABS(a)                 ((a) < 0 ? -(a) : (a))
 #endif
 
 #ifndef SIGN
-#define SIGN(a)                ((a) < 0 ? -1 : ((a) > 0 ? 1 : 0))
+#define SIGN(a)                        ((a) < 0 ? -1 : ((a) > 0 ? 1 : 0))
 #endif
 
 #ifndef ODD
-#define ODD(a)         (((a) & 1) == 1)
+#define ODD(a)                 (((a) & 1) == 1)
 #endif
 
 #ifndef EVEN
-#define EVEN(a)                (((a) & 1) == 0)
+#define EVEN(a)                        (((a) & 1) == 0)
 #endif
 
-#define ARRAY_SIZE(array)              (sizeof(array) / sizeof(array[0]))
+#define ARRAY_SIZE(array)      (sizeof(array) / sizeof(array[0]))
+
+#define PTR_TO_INT(p)          ((int) (long) (p))
+#define PTR_TO_UINT(p)         ((unsigned int) (unsigned long) (p))
+
+#define INT_TO_PTR(i)          ((void *) (long) (i))
+#define UINT_TO_PTR(u)         ((void *) (unsigned long) (u))
+
+#define STRUCT_OFFSET(s, m)    (offsetof(s, m))
 
 
 struct ListNode