-#ifdef FTEQCC
-#pragma flag enable subscope
-#pragma flag enable lo
+#ifndef UTIL_PRE_H
+#define UTIL_PRE_H
+
+#ifndef NOCOMPAT
+ #define COMPAT_NO_MOD_IS_XONOTIC
#endif
-// FTEQCC can do this
-#define HAVE_YO_DAWG_CPP
+#ifndef QCC_SUPPORT_ACCUMULATE
+ #ifdef GMQCC
+ #define QCC_SUPPORT_ACCUMULATE
+ #endif
+#endif
-#ifndef NOCOMPAT
-//# define WORKAROUND_XON010
-//# define COMPAT_XON010_CHANNELS
-//# define COMPAT_XON050_ENGINE
-# define COMPAT_NO_MOD_IS_XONOTIC
-# define COMPAT_XON060_DONTCRASH_CHECKPVS
+#ifndef QCC_SUPPORT_NIL
+ #ifdef GMQCC
+ #define QCC_SUPPORT_NIL
+ #endif
+#endif
+
+#ifndef QCC_SUPPORT_INT
+ #define int float
+
+ #define stoi(s) stof(s)
+ #define itos(s) ftos(s)
#endif
-#ifdef FTEQCC
-#ifdef WATERMARK
-string FTEQCC_SUCKS_WATERMARKS_THROUGH_C60_FULLERENES = WATERMARK();
-#undef WATERMARK
-#define WATERMARK FTEQCC_SUCKS_WATERMARKS_THROUGH_C60_FULLERENES
+#ifndef QCC_SUPPORT_BOOL
+ #define bool float
+
+ // Boolean Constants
+ const int true = 1;
+ const int false = 0;
#endif
+
+// Transitional aliases
+[[deprecated("use true")]] [[alias("true")]] const bool TRUE;
+[[deprecated("use false")]] [[alias("false")]] const bool FALSE;
+
#endif