9 #define SELFPARAM() noref const entity this = self
14 #define self (RVALUE, self)
16 #define setself(s) (__self = s)
17 #define WITHSELF(value, block) WITH(entity, __self, value, (RVALUE, block))
23 #define self (this, self)
25 #define SELFPARAM() const entity this = __self
26 #define ENGINE_EVENT() const entity this = __self
37 #define self (RVALUE, this)
48 #define WITHSELF(value, block) block
51#define SELFWRAP(T, R, oldargs, args, forward) \
53 noref .R oldargs __##T = T; \
55 R T##_self oldargs { ENGINE_EVENT(); return this.self##T forward; }
58#define SELFWRAP_SET(T, e, f) \
59 (_selftemp = (e), _selftemp.__##T = ((f) ? T##_self : func_null), _selftemp.self##T = (f))
60#define SELFWRAP_GET(T, e) \
62#define _SELFWRAP_SET(T, e, f) \
64#define _SELFWRAP_GET(T, e) \
68#define setthink(e, f) SELFWRAP_SET(think, e, f)
69#define getthink(e) SELFWRAP_GET(think, e)
73#define settouch(e, f) SELFWRAP_SET(touch, e, f)
74#define gettouch(e) SELFWRAP_GET(touch, e)
79#define setblocked(e, f) SELFWRAP_SET(blocked, e, f)
80#define getblocked(e) SELFWRAP_GET(blocked, e)
84#define setpredraw(e, f) SELFWRAP_SET(predraw, e, f)
88#define setcefc(e, f) SELFWRAP_SET(customizeentityforclient, e, f)
89#define getcefc(e) SELFWRAP_GET(customizeentityforclient, e)
93#define setcamera_transform(e, f) SELFWRAP_SET(camera_transform, e, f)
97#define setSendEntity(e, f) SELFWRAP_SET(SendEntity, e, f)
98#define getSendEntity(e) SELFWRAP_GET(SendEntity, e)
100#define ChangeYaw(e, ...) (__self = (e), builtin_ChangeYaw(__VA_ARGS__))
101#define checkclient(e, ...) (__self = (e), builtin_checkclient(__VA_ARGS__))
102#define droptofloor(e, ...) (__self = (e), builtin_droptofloor(__VA_ARGS__))
103#define error(...) (__self = (NULL), builtin_error(__VA_ARGS__))
104#define movetogoal(e, ...) (__self = (e), builtin_movetogoal(__VA_ARGS__))
105#define walkmove(e, ...) (__self = (e), builtin_walkmove(__VA_ARGS__))
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define SELFWRAP(T, R, oldargs, args, forward)