-/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
-*----------------------------------------------------------*
-* (c) 1995-98 Artsoft Entertainment *
-* Holger Schemel *
-* Oststrasse 11a *
-* 33604 Bielefeld *
-* phone: ++49 +521 290471 *
-* email: aeglos@valinor.owl.de *
-*----------------------------------------------------------*
-* 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
-typedef unsigned char boolean;
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <sys/types.h>
+
+
+#if !defined(PLATFORM_WIN32)
+typedef int boolean;
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
#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
-#endif /* TYPES_H */
+#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
+
+
+struct ListNode
+{
+ char *key;
+ void *content;
+ struct ListNode *prev;
+ struct ListNode *next;
+};
+typedef struct ListNode ListNode;
+
+#endif // TYPES_H