]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - qtypes.h
Add a proper README with build instructions and links to the available chats. To...
[xonotic/darkplaces.git] / qtypes.h
index d0b9f5b76790f18686e02310addfa64cd6a2dff4..69600ec163868685e3a4e4e924747a436ba35f21 100644 (file)
--- a/qtypes.h
+++ b/qtypes.h
@@ -2,24 +2,16 @@
 #ifndef QTYPES_H
 #define QTYPES_H
 
-#undef true
-#undef false
+#include <stdint.h>
+#include <stdbool.h>
+#include <inttypes.h>
 
-#ifndef __cplusplus
-typedef enum qboolean_e {false, true} qboolean;
-#else
-typedef bool qboolean;
-#endif
+typedef bool qbool;
 
 #ifndef NULL
 #define NULL ((void *)0)
 #endif
 
-#ifndef FALSE
-#define FALSE false
-#define TRUE true
-#endif
-
 // up / down
 #define        PITCH   0
 
@@ -29,20 +21,27 @@ typedef bool qboolean;
 // fall over
 #define        ROLL    2
 
-#if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1400)
+#if defined(__GNUC__) || (__clang__) || (__TINYC__) || (_MSC_VER >= 1400)
 #define RESTRICT __restrict
 #else
 #define RESTRICT
 #endif
 
-// LordHavoc: upgrade the prvm to double precision for better time values
-#define PRVM_64
+// 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 long long prvm_int_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 int prvm_int_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];