X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qtypes.h;h=e0ba637bd257ccbf63cd888fa577b1670be73ae5;hb=8367a30715017e7a497f6baf65dbaff5f72d6cf3;hp=7c525a69c234b731324103548da6f30116e836cb;hpb=6824d8ddc8a43cae0609be5bbe8bee01fa1a4225;p=xonotic%2Fdarkplaces.git diff --git a/qtypes.h b/qtypes.h index 7c525a69..e0ba637b 100644 --- a/qtypes.h +++ b/qtypes.h @@ -11,10 +11,6 @@ typedef enum qboolean_e {false, true} qboolean; typedef bool qboolean; #endif -#if defined(WIN32) && !defined(WIN64) -# define ssize_t long -#endif - #ifndef NULL #define NULL ((void *)0) #endif @@ -33,4 +29,37 @@ typedef bool qboolean; // fall over #define ROLL 2 +#if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1400) +#define RESTRICT __restrict +#else +#define RESTRICT +#endif + +// LordHavoc: upgrade the prvm to double precision for better time values +// LordHavoc: to be enabled when bugs are worked out... +//#define PRVM_64 +#ifdef PRVM_64 +typedef double prvm_vec_t; +typedef long long prvm_int_t; +typedef unsigned long long prvm_uint_t; +#else +typedef float prvm_vec_t; +typedef int prvm_int_t; +typedef unsigned int prvm_uint_t; +#endif +typedef prvm_vec_t prvm_vec3_t[3]; + +#ifdef VEC_64 +typedef double vec_t; +#else +typedef float vec_t; +#endif +typedef vec_t vec2_t[2]; +typedef vec_t vec3_t[3]; +typedef vec_t vec4_t[4]; +typedef vec_t vec5_t[5]; +typedef vec_t vec6_t[6]; +typedef vec_t vec7_t[7]; +typedef vec_t vec8_t[8]; + #endif