Xonotic
csqcprojectile.qh File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void CSQCProjectile (entity e, float clientanimate, float type, float docull)
 
void CSQCProjectile_Check (entity e)
 
void UpdateCSQCProjectile (entity e)
 
void UpdateCSQCProjectileAfterTeleport (entity e)
 

Variables

float csqcprojectile_clientanimate
 

Function Documentation

◆ CSQCProjectile()

void CSQCProjectile ( entity  e,
float  clientanimate,
float  type,
float  docull 
)

◆ CSQCProjectile_Check()

void CSQCProjectile_Check ( entity  e)

Definition at line 71 of file csqcprojectile.qc.

References IS_ONGROUND, and UpdateCSQCProjectile().

Referenced by StartFrame().

72 {
73  if(e.csqcprojectile_clientanimate)
74  if(IS_ONGROUND(e))
75  if(e.origin != e.csqcprojectile_oldorigin)
77  e.csqcprojectile_oldorigin = e.origin;
78 }
#define IS_ONGROUND(s)
Definition: movetypes.qh:16
void UpdateCSQCProjectile(entity e)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateCSQCProjectile()

void UpdateCSQCProjectile ( entity  e)

Definition at line 99 of file csqcprojectile.qc.

References CSQCProjectile_SendEntity(), getSendEntity, ItemSend(), and ItemUpdate().

Referenced by CSQCProjectile_Check(), Damage(), GrapplingHookThink(), jumppad_push(), trigger_impulse_touch_accel(), trigger_impulse_touch_directional(), trigger_impulse_touch_radial(), and WarpZone_Projectile_Touch_ImpactFilter_Callback().

100 {
102  {
103  // send new origin data
104  e.SendFlags |= 0x01;
105  }
106 // FIXME HACK
107  else if(getSendEntity(e) == ItemSend)
108  {
109  ItemUpdate(e);
110  }
111 // END HACK
112 }
bool CSQCProjectile_SendEntity(entity this, entity to, int sf)
void ItemUpdate(entity this)
Definition: items.qc:86
bool ItemSend(entity this, entity to, int sf)
Definition: items.qc:31
#define getSendEntity(e)
Definition: self.qh:98
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateCSQCProjectileAfterTeleport()

void UpdateCSQCProjectileAfterTeleport ( entity  e)

Definition at line 114 of file csqcprojectile.qc.

References CSQCProjectile_SendEntity(), and getSendEntity.

Referenced by TeleportPlayer(), and WarpZone_PostTeleportPlayer_Callback().

115 {
117  {
118  // send new origin data
119  e.SendFlags |= 0x01;
120  // send full data as the projectile may need resetting
121  // this is a workaround for client-side projectiles erroneously calling their SUB_Stop touch function occasionally
122  // when passing through a warpzone
123  e.SendFlags |= 2;
124  // mark as teleported
125  e.SendFlags |= 0x08;
126  }
127 }
bool CSQCProjectile_SendEntity(entity this, entity to, int sf)
#define getSendEntity(e)
Definition: self.qh:98
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ csqcprojectile_clientanimate

float csqcprojectile_clientanimate

Definition at line 3 of file csqcprojectile.qh.

Referenced by CSQCProjectile_SendEntity().