X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftypes.h;h=0c935a21efd2d6e78e4304559643a74b251312d9;hb=HEAD;hp=56a6d0070e913f6217023af60eb37f8a24a213e7;hpb=bf7f1c667ad861d6cadacd0b9d6fe517be977a6e;p=rocksndiamonds.git diff --git a/src/libgame/types.h b/src/libgame/types.h index 56a6d007..0c935a21 100644 --- a/src/libgame/types.h +++ b/src/libgame/types.h @@ -1,33 +1,51 @@ -/*********************************************************** -* 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 +#include +#include +#include +#include + + +#if !defined(PLATFORM_WINDOWS) +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)) +#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 @@ -35,10 +53,34 @@ 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)) -#define SIZEOF_ARRAY_INT(array) SIZEOF_ARRAY(array, int) +#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; + +struct DelayCounter +{ + unsigned int value; + unsigned int count; +}; +typedef struct DelayCounter DelayCounter; -#endif /* TYPES_H */ +#endif // TYPES_H