X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qtypes.h;h=e385e286a7dffc73d8541b0e040f78dd683ae75d;hb=055003a1c78341222d3909cea3413de18808a621;hp=24ab64b4a6a23f90aadea273d098efb4613da46c;hpb=3a16e432521bf1f1bb796a76c3819a5334b59b9b;p=xonotic%2Fdarkplaces.git diff --git a/qtypes.h b/qtypes.h index 24ab64b4..e385e286 100644 --- a/qtypes.h +++ b/qtypes.h @@ -2,28 +2,16 @@ #ifndef QTYPES_H #define QTYPES_H -typedef unsigned char qbyte; +#include +#include +#include -#undef true -#undef false - -typedef enum {false, true} qboolean; - -#ifdef WIN64 -# define ssize_t long long -#elifdef WIN32 -# define ssize_t long -#endif +typedef bool qboolean; #ifndef NULL #define NULL ((void *)0) #endif -#ifndef FALSE -#define FALSE 0 -#define TRUE 1 -#endif - // up / down #define PITCH 0 @@ -33,4 +21,41 @@ typedef enum {false, true} qboolean; // fall over #define ROLL 2 +#if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1400) +#define RESTRICT __restrict +#else +#define RESTRICT +#endif + +// LadyHavoc: upgrade the prvm to double precision for better time values +// LadyHavoc: to be enabled when bugs are worked out... +//#define PRVM_64 +#ifdef PRVM_64 +typedef double prvm_vec_t; +typedef int64_t prvm_int_t; +typedef uint64_t prvm_uint_t; +#define PRVM_PRIi PRIi64 +#define PRVM_PRIu PRIu64 +#else +typedef float prvm_vec_t; +typedef int32_t prvm_int_t; +typedef uint32_t prvm_uint_t; +#define PRVM_PRIi PRIi32 +#define PRVM_PRIu PRIu32 +#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