1 .float csqcprojectile_type;
3 float CSQCProjectile_SendEntity(entity to, float sf)
7 if(self.csqcprojectile_clientanimate)
8 sf |= 0x80; // client animated, not interpolated
10 if(self.scale != 0 && self.scale != 1)
11 sf |= 0x40; // scale used
13 WriteByte(MSG_ENTITY, ENT_CLIENT_PROJECTILE);
14 WriteByte(MSG_ENTITY, sf);
18 WriteCoord(MSG_ENTITY, self.origin_x);
19 WriteCoord(MSG_ENTITY, self.origin_y);
20 WriteCoord(MSG_ENTITY, self.origin_z);
24 WriteCoord(MSG_ENTITY, self.velocity_x);
25 WriteCoord(MSG_ENTITY, self.velocity_y);
26 WriteCoord(MSG_ENTITY, self.velocity_z);
27 WriteCoord(MSG_ENTITY, self.gravity);
33 WriteShort(MSG_ENTITY, self.modelindex);
35 WriteByte(MSG_ENTITY, bound(0, self.scale / 16.0, 255));
36 WriteByte(MSG_ENTITY, self.csqcprojectile_type);
42 void CSQCProjectile(entity e, float clientanimate, float type)
44 e.SendEntity = CSQCProjectile_SendEntity;
46 e.csqcprojectile_clientanimate = clientanimate;
48 if(e.movetype == MOVETYPE_TOSS || e.movetype == MOVETYPE_BOUNCE)
56 e.csqcprojectile_type = type;
59 void UpdateCSQCProjectile(entity e)
61 if(e.SendEntity == CSQCProjectile_SendEntity)
62 e.SendFlags |= 1; // send new origin data