if(self.flags & FL_ONGROUND)
sf |= 0x40;
+ ft = fr = 0;
if(self.fade_time != 0 || self.fade_rate != 0)
{
ft = (self.fade_time - time) / sys_frametime;
WriteByte(MSG_ENTITY, ft);
WriteByte(MSG_ENTITY, fr);
}
+
+ WriteByte(MSG_ENTITY, self.realowner.team);
}
if(sf & 2)
WriteByte(MSG_ENTITY, self.csqcprojectile_type); // TODO maybe put this into sf?
-
+
return 1;
}
void CSQCProjectile(entity e, float clientanimate, float type, float docull)
{
Net_LinkEntity(e, docull, 0, CSQCProjectile_SendEntity);
-
+
e.csqcprojectile_clientanimate = clientanimate;
-
+
if(e.movetype == MOVETYPE_TOSS || e.movetype == MOVETYPE_BOUNCE)
{
if(e.gravity == 0)
else
e.gravity = 0;
- e.csqcprojectile_type = type;
if(!sound_allowed(MSG_BROADCAST, e))
type |= 0x80;
+ e.csqcprojectile_type = type;
}
+// FIXME HACK
+float ItemSend(entity to, float sf);
+void ItemUpdate(entity item);
+// END HACK
void UpdateCSQCProjectile(entity e)
{
if(e.SendEntity == CSQCProjectile_SendEntity)
// send new origin data
e.SendFlags |= 0x01;
}
+// FIXME HACK
+ else if(e.SendEntity == ItemSend)
+ {
+ ItemUpdate(e);
+ }
+// END HACK
}
void UpdateCSQCProjectileAfterTeleport(entity e)