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