removed unused array for SDL key state
[rocksndiamonds.git] / src / libgame / types.h
index 76f1f9e02f1acdfcbe9ab28b89d8c8d03ea76ba1..15b25ce8da23c4449a74e2506dc34bca1f0203a0 100644 (file)
@@ -1,41 +1,94 @@
-/***********************************************************
-* Artsoft Retro-Game Library                               *
-*----------------------------------------------------------*
-* (c) 1994-2001 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
+//                 https://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// types.h
+// ============================================================================
 
 #ifndef TYPES_H
 #define TYPES_H
 
-typedef unsigned char boolean;
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <sys/types.h>
+
+
+#if !defined(PLATFORM_WINDOWS)
+typedef int boolean;
 typedef unsigned char byte;
+#endif
+
+#ifdef TRUE
+#undef TRUE
+#endif
 
-#ifndef FALSE
-#define FALSE          0
-#define TRUE           (!FALSE)
+#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))
+#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)
 #endif
 
-#endif /* TYPES_H */
+#ifndef EVEN
+#define EVEN(a)                        (((a) & 1) == 0)
+#endif
+
+#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
+{
+  char *key;
+  void *content;
+  struct ListNode *prev;
+  struct ListNode *next;
+};
+typedef struct ListNode ListNode;
+
+struct DelayCounter
+{
+  unsigned int value;
+  unsigned int count;
+};
+typedef struct DelayCounter DelayCounter;
+
+#endif // TYPES_H