fixed compiler warning
[rocksndiamonds.git] / src / libgame / types.h
index 19a0f8705f77132d3cc5234d3217ef5e3a17a30e..7dc2a7d4a2d1b7f3b666b37d4916ed17e428544f 100644 (file)
@@ -32,12 +32,12 @@ typedef unsigned char byte;
 #undef FALSE
 #endif
 
-#ifdef MODE_AUTO
-#undef MODE_AUTO
+#ifdef STATE_AUTO
+#undef STATE_AUTO
 #endif
 
-#ifdef MODE_ASK
-#undef MODE_ASK
+#ifdef STATE_ASK
+#undef STATE_ASK
 #endif
 
 // values for boolean data type
@@ -45,10 +45,10 @@ typedef unsigned char byte;
 #define FALSE                  0
 
 // values for 3-state data type (for "yes/no/auto" or "yes/no/ask")
-#define MODE_TRUE              1
-#define MODE_FALSE             0
-#define MODE_AUTO              -1
-#define MODE_ASK               -1
+#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))
@@ -76,12 +76,24 @@ typedef unsigned char byte;
 
 #define ARRAY_SIZE(array)      (sizeof(array) / sizeof(array[0]))
 
+#if defined(__x86_64__)
+
+#define PTR_TO_INT(p)          ((int) (long long) (p))
+#define PTR_TO_UINT(p)         ((unsigned int) (unsigned long long) (p))
+
+#define INT_TO_PTR(i)          ((void *) (long long) (i))
+#define UINT_TO_PTR(u)         ((void *) (unsigned long long) (u))
+
+#else
+
 #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))
 
+#endif
+
 #define STRUCT_OFFSET(s, m)    (offsetof(s, m))