added enabling/disabling virtual button overlay depending on input events
[rocksndiamonds.git] / src / libgame / types.h
index 558f180c526865d33504600f409218996c9de100..acc2c236f35a3f06ba434e90c973015bb9bcaa63 100644 (file)
@@ -1,15 +1,13 @@
-/***********************************************************
-* Artsoft Retro-Game Library                               *
-*----------------------------------------------------------*
-* (c) 1994-2002 Artsoft Entertainment                      *
-*               Holger Schemel                             *
-*               Detmolder Strasse 189                      *
-*               33604 Bielefeld                            *
-*               Germany                                    *
-*               e-mail: info@artsoft.org                   *
-*----------------------------------------------------------*
-* types.h                                                  *
-***********************************************************/
+// ============================================================================
+// Artsoft Retro-Game Library
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+//                         Holger Schemel
+//                 info@artsoft.org
+//                 http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// types.h
+// ============================================================================
 
 #ifndef TYPES_H
 #define TYPES_H
 #include <string.h>
 #include <sys/types.h>
 
-typedef unsigned char boolean;
+typedef int boolean;
 
 #if !defined(PLATFORM_WIN32)
 typedef unsigned char byte;
 #endif
 
-#ifndef FALSE
-#define FALSE          0
-#define TRUE           (!FALSE)
+#ifdef TRUE
+#undef TRUE
+#endif
+
+#ifdef FALSE
+#undef FALSE
 #endif
 
+#ifdef AUTO
+#undef AUTO
+#endif
+
+#define TRUE           1
+#define FALSE          0
+#define AUTO           -1
+
 #ifndef MIN
 #define MIN(a,b)       ((a) < (b) ? (a) : (b))
 #endif
@@ -44,7 +53,15 @@ typedef unsigned char byte;
 #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)
+#endif
+
+#ifndef EVEN
+#define EVEN(a)                (((a) & 1) == 0)
 #endif
 
 #define SIZEOF_ARRAY(array, type)      (sizeof(array) / sizeof(type))
@@ -55,6 +72,7 @@ struct ListNode
 {
   char *key;
   void *content;
+  struct ListNode *prev;
   struct ListNode *next;
 };
 typedef struct ListNode ListNode;