]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/misc.qh
Kill use of self in player physics code
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / misc.qh
index f6abd8e338296e4f55062601cea24b8dddd4b58f..e0ac0a478074b6778ab39b34ecf4e069e8c2d979 100644 (file)
        #define OVERLOAD(F, ...) OVERLOAD_(F,##__VA_ARGS__)(__VA_ARGS__)
 #endif
 
+#if defined(CSQC)
+       #define etof(e) num_for_edict(e)
+       #define ftoe(i) entitybyindex(i)
+#elif defined(SVQC)
+       #define etof(e) num_for_edict(e)
+       #define ftoe(i) edict_num(i)
+#elif defined(MENUQC)
+       // already defined
+#endif
+
+#undef etof
+// avoid bounds checks
+#define etof(e) stof(sprintf("%i", e))
+
 #define GET(name) name##get
 #define GETTER(type, name) type GET(name)() { return name; }
-
+#define PROPERTY(type, name) type name; GETTER(type, name)
 #define LAMBDA(...) { __VA_ARGS__; }
 
-// Can't wrap with do-while as block may contain continue or break
+// With block may not contain continue or break
 #define WITH(type, name, value, block) \
+       do \
        { \
                type __with_save = (name); \
                name = (value); \
                LAMBDA(block) \
                name = __with_save; \
-       } do \
-       { \
        } \
        while (0)