]> git.xonotic.org Git - xonotic/darkplaces.git/blob - qtypes.h
Clean up qtypes.h a bit by including stdbool.h no matter what, removing checks
[xonotic/darkplaces.git] / qtypes.h
1
2 #ifndef QTYPES_H
3 #define QTYPES_H
4
5 #include <stdint.h>
6 #include <stdbool.h>
7
8 typedef bool qboolean;
9
10 #ifndef NULL
11 #define NULL ((void *)0)
12 #endif
13
14 // up / down
15 #define PITCH   0
16
17 // left / right
18 #define YAW             1
19
20 // fall over
21 #define ROLL    2
22
23 #if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1400)
24 #define RESTRICT __restrict
25 #else
26 #define RESTRICT
27 #endif
28
29 typedef long long dpint64;
30 typedef unsigned long long dpuint64;
31
32 // LadyHavoc: upgrade the prvm to double precision for better time values
33 // LadyHavoc: to be enabled when bugs are worked out...
34 #define PRVM_64
35 #ifdef PRVM_64
36 typedef double prvm_vec_t;
37 typedef long long prvm_int_t;
38 typedef unsigned long long prvm_uint_t;
39 #else
40 typedef float prvm_vec_t;
41 typedef int prvm_int_t;
42 typedef unsigned int prvm_uint_t;
43 #endif
44 typedef prvm_vec_t prvm_vec3_t[3];
45
46 #ifdef VEC_64
47 typedef double vec_t;
48 #else
49 typedef float vec_t;
50 #endif
51 typedef vec_t vec2_t[2];
52 typedef vec_t vec3_t[3];
53 typedef vec_t vec4_t[4];
54 typedef vec_t vec5_t[5];
55 typedef vec_t vec6_t[6];
56 typedef vec_t vec7_t[7];
57 typedef vec_t vec8_t[8];
58
59 #endif