Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
unsafe.qh
Go to the documentation of this file.
1#pragma once
2
3#define reinterpret_cast(T, it) _unsafe_cast_##T(0, it)
4#define X(T) \
5 T _unsafe_cast_##T(int dummy, ...) \
6 { \
7 return ...(0, T); \
8 } \
9 USING(T##_fld, .T); \
10 T##_fld _unsafe_cast_##T##_fld(int dummy, ...) \
11 { \
12 return ...(0, T##_fld); \
13 }
14X(bool)
15X(int)
16X(float)
17X(vector)
18X(entity)
19X(string)
20USING(rawfunc, float(...));
21X(rawfunc)
22#undef X
23
24#define _strid(s) ITOF(reinterpret_cast(int, s))
25#define strid(s) stof(sprintf("%i", s))
26
27.int _unsafe_fld1, _unsafe_fld2;
29
30#define FTOI(f) ((f) * INTEGER_ONE)
31#define ITOF(i) ((i) / INTEGER_ONE)
32
37
38#define ARRAY_INDEX(T, arr, idx) (reinterpret_cast(T##_fld, reinterpret_cast(int, arr[0]) + FTOI(idx)))
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define USING(name, T)
Definition _all.inc:72
vector
Definition self.qh:96
#define STATIC_INIT(func)
during worldspawn
Definition static.qh:33
#define reinterpret_cast(T, it)
Definition unsafe.qh:3
#define X(T)
Definition unsafe.qh:4
_unsafe_fld2
Definition unsafe.qh:27
int INTEGER_ONE
Definition unsafe.qh:28