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