-#if defined(CSQC)
-#elif defined(MENUQC)
-#elif defined(SVQC)
- #include "../../dpdefs/progsdefs.qh"
- #include "../../common/constants.qh"
- #include "../../common/weapons/weapons.qh"
- #include "csqcprojectile.qh"
- #include "../t_items.qh"
- #include "../constants.qh"
- #include "../defs.qh"
- #include "../command/common.qh"
-#endif
+#include "csqcprojectile.qh"
+
+#include <common/t_items.qh>
+
+#include "../command/common.qh"
+
+#include <common/constants.qh>
+#include <common/weapons/all.qh>
.float csqcprojectile_type;
-float CSQCProjectile_SendEntity(entity to, float sf)
+bool CSQCProjectile_SendEntity(entity this, entity to, int sf)
{
float ft, fr;
if(self.csqcprojectile_clientanimate)
sf |= 0x80; // client animated, not interpolated
- if(self.flags & FL_ONGROUND)
+ if(IS_ONGROUND(self))
sf |= 0x40;
ft = fr = 0;
if(self.gravity != 0)
sf |= 0x10;
- WriteByte(MSG_ENTITY, ENT_CLIENT_PROJECTILE);
+ WriteHeader(MSG_ENTITY, ENT_CLIENT_PROJECTILE);
WriteByte(MSG_ENTITY, sf);
if(sf & 1)
if(sf & 2)
WriteByte(MSG_ENTITY, self.csqcprojectile_type); // TODO maybe put this into sf?
- return 1;
+ return true;
}
.vector csqcprojectile_oldorigin;
void CSQCProjectile_Check(entity e)
{
if(e.csqcprojectile_clientanimate)
- if(e.flags & FL_ONGROUND)
+ if(IS_ONGROUND(e))
if(e.origin != e.csqcprojectile_oldorigin)
UpdateCSQCProjectile(e);
e.csqcprojectile_oldorigin = e.origin;
}
-void CSQCProjectile(entity e, float clientanimate, float type, float docull)
+void CSQCProjectile(entity e, float clientanimate, int type, float docull)
{
Net_LinkEntity(e, docull, 0, CSQCProjectile_SendEntity);
void UpdateCSQCProjectile(entity e)
{
- if(e.SendEntity == CSQCProjectile_SendEntity)
+ if(e.SendEntity3 == CSQCProjectile_SendEntity)
{
// send new origin data
e.SendFlags |= 0x01;
}
// FIXME HACK
- else if(e.SendEntity == ItemSend)
+ else if(e.SendEntity3 == ItemSend)
{
ItemUpdate(e);
}
void UpdateCSQCProjectileAfterTeleport(entity e)
{
- if(e.SendEntity == CSQCProjectile_SendEntity)
+ if(e.SendEntity3 == CSQCProjectile_SendEntity)
{
// send new origin data
e.SendFlags |= 0x01;