12 WriteHeader(MSG_ENTITY, ENT_CLIENT_MODELEFFECT);
26 WriteVector(MSG_ENTITY, this.
origin);
29 WriteVector(MSG_ENTITY, this.
velocity);
33 WriteAngleVector(MSG_ENTITY, this.
angles);
37 WriteAngleVector(MSG_ENTITY, this.
avelocity);
48 void modeleffect_spawn(
string m,
float s,
float f,
vector o,
vector v,
vector ang,
vector angv,
float s0,
float s2,
float a,
float t1,
float t2)
50 entity e =
new(modeleffect);
62 e.scale = s0 / max6(-e.mins.x, -e.mins.y, -e.mins.z, e.maxs.x, e.maxs.y, e.maxs.z);
66 e.scale2 = s2 / max6(-e.mins.x, -e.mins.y, -e.mins.z, e.maxs.x, e.maxs.y, e.maxs.z);
69 float sz =
max(e.scale, e.scale2);
70 setsize(e, e.mins * sz, e.maxs * sz);
71 Net_LinkEntity(e,
false, 0.1, modeleffect_SendEntity);
88 void ModelEffect_Draw(
entity this)
107 NET_HANDLE(ENT_CLIENT_MODELEFFECT,
bool isnew)
113 entity e =
new(modeleffect);
114 e.model =
"from network";
115 e.modelindex = ReadShort();
117 e.frame = ReadByte();
119 e.origin = ReadVector();
123 e.velocity = ReadVector();
127 e.angles = ReadAngleVector();
131 e.avelocity = ReadAngleVector();
133 e.scale1 = ReadShort() / 256.0;
134 e.scale2 = ReadShort() / 256.0;
135 e.lifetime =
time + ReadByte() * 0.01;
136 e.fadetime = ReadByte() * 0.01;
137 e.teleport_time =
time;
138 e.cnt = ReadByte() / 255.0;
140 e.draw = ModelEffect_Draw;
143 if (!isnew)
delete(e);
const float ALPHA_MIN_VISIBLE
#define REGISTER_NET_LINKED(id)
spree_inf s1 s2 s3loc s2 spree_inf s1 s2 s3loc s2 spree_inf s1 s2 s3loc s2 s1 s2loc s1 s2loc s1 s2loc s1 s2loc s1 s2loc s1 s2loc s1 s2loc s1 s2 f1 f1points s1 s2
#define NET_HANDLE(id, param)
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
vector(float skel, float bonenum) _skel_get_boneabs_hidden
float frame
primary framegroup animation (strength = 1 - lerpfrac - lerpfrac3 - lerpfrac4)
IntrusiveList g_drawables
float frame1time
start time of framegroup animation