#ifndef SUBS_H
#define SUBS_H
+#ifdef SVQC
+
+ #define SUB_ANGLES(s) (s).angles
+ #define SUB_VELOCITY velocity
+ #define SUB_AVELOCITY avelocity
+ #define SUB_ORIGIN origin
+ #define SUB_SETORIGIN(s,v) setorigin((s), (v))
+ #define SUB_NEXTTHINK nextthink
+ #define SUB_THINK think
+ #define SUB_LTIME ltime
+ #define SUB_FLAGS flags
+
+#elif defined(CSQC)
+
+ void _Movetype_LinkEdict(float touch_triggers);
+
+ #define SUB_ANGLES(s) (s).move_angles
+ #define SUB_VELOCITY move_velocity
+ #define SUB_AVELOCITY move_avelocity
+ #define SUB_ORIGIN move_origin
+ #define SUB_NEXTTHINK move_nextthink
+ #define SUB_THINK move_think
+ #define SUB_LTIME move_ltime
+ #define SUB_FLAGS move_flags
+
+ void SUB_SETORIGIN(entity s, vector v)
+ {
+ s.move_origin = v;
+ entity oldself = self;
+ self = s;
+ _Movetype_LinkEdict(true);
+ self = oldself;
+ }
+
+#endif
+
void SUB_Remove();
void SUB_SetFade (entity ent, float when, float fading_time);
void SUB_VanishOrRemove (entity ent);