X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftypes.h;h=7dc2a7d4a2d1b7f3b666b37d4916ed17e428544f;hb=ed44c040b637f60a46e9051d1e939e62d3646a0b;hp=19a0f8705f77132d3cc5234d3217ef5e3a17a30e;hpb=c128739405acf7f7fc4414cb68803e9b966ade69;p=rocksndiamonds.git diff --git a/src/libgame/types.h b/src/libgame/types.h index 19a0f870..7dc2a7d4 100644 --- a/src/libgame/types.h +++ b/src/libgame/types.h @@ -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))