#ifndef QTYPES_H
#define QTYPES_H
-typedef unsigned char qbyte;
-
#undef true
#undef false
-typedef enum {false, true} qboolean;
+#ifndef __cplusplus
+typedef enum qboolean_e {false, true} qboolean;
+#else
+typedef bool qboolean;
+#endif
#ifndef NULL
#define NULL ((void *)0)
#endif
#ifndef FALSE
-#define FALSE 0
-#define TRUE 1
-#endif
-
-//define PARANOID // speed sapping error checking
-#ifdef _DEBUG
-#define ASSERT(condition) if (!(condition)) Sys_Error("assertion (##condition) failed at " __FILE__ ":" __LINE__ "\n");
-#else
-#define ASSERT(condition)
+#define FALSE false
+#define TRUE true
#endif
// up / down
// fall over
#define ROLL 2
+#if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1400)
+#define RESTRICT __restrict
+#else
+#define RESTRICT
+#endif
+
#endif