Go to the documentation of this file.
35 #define MAX_PROJECTILES 64
36 edict_t *projectiles[MAX_PROJECTILES];
43 sv_projectiles =
Cvar_Get(
"sv_projectiles",
"1", 0);
45 if (!sv_projectiles->
value)
48 if (!(ent->
svflags & SVF_PROJECTILE))
50 if (numprojs == MAX_PROJECTILES)
53 projectiles[numprojs++] = ent;
70 for (n=0 ; n<numprojs ; n++)
81 bits[len++] = (
x>>8) | (
y<<4);
96 bits[len++] = (
x>>8) | (
y<<4);
106 bits[len++] = (ent->
s.
number & 0x7f);
109 bits[len++] = (ent->
s.
number >> 7);
112 for (
i=0 ;
i<len ;
i++)
128 int oldindex, newindex;
130 int from_num_entities;
141 from_num_entities = 0;
147 while (newindex < to->num_entities || oldindex < from_num_entities)
157 if (oldindex >= from_num_entities)
165 if (newnum == oldnum)
191 if (bits & 0x0000ff00)
208 SV_EmitProjectileUpdate(
msg);
231 memset (&dummy, 0,
sizeof(dummy));
403 if (statbits & (1<<
i) )
483 for (
i=0 ;
i<3 ;
i++)
485 mins[
i] = org[
i] - 8;
486 maxs[
i] = org[
i] + 8;
502 for (
j=0 ;
j<
i ;
j++)
503 if (leafs[
i] == leafs[
j])
508 for (
j=0 ;
j<longs ;
j++)
509 ((
long *)
fatpvs)[
j] |= ((
long *)src)[
j];
531 int clientarea, clientcluster;
537 clent = client->
edict;
551 for (
i=0 ;
i<3 ;
i++)
603 if ( !(clientphs[l >> 3] & (1 << (l&7) )) )
628 if (bitvector[l >> 3] & (1 << (l&7) ))
649 if (SV_AddProjectileUpdate(ent))
686 byte buf_data[32768];
692 memset (&nostate, 0,
sizeof(nostate));
693 SZ_Init (&buf, buf_data,
sizeof(buf_data));
703 while (e < ge->num_edicts)
byte areabits[MAX_MAP_AREAS/8]
CONST PIXELFORMATDESCRIPTOR int
#define VectorSubtract(a, b, c)
void SV_FatPVS(vec3_t org)
void SV_WritePlayerstateToClient(client_frame_t *from, client_frame_t *to, sizebuf_t *msg)
#define PS_M_DELTA_ANGLES
void SV_WriteFrameToClient(client_t *client, sizebuf_t *msg)
int CM_WriteAreaBits(byte *buffer, int area)
struct gclient_s * client
void MSG_WriteLong(sizebuf_t *sb, int c)
void SZ_Init(sizebuf_t *buf, byte *data, int length)
int clusternums[MAX_ENT_CLUSTERS]
void SV_RecordDemoMessage(void)
cvar_t * Cvar_Get(char *var_name, char *var_value, int flags)
void SZ_Write(sizebuf_t *buf, void *data, int length)
void SZ_Clear(sizebuf_t *buf)
void SV_EmitPacketEntities(client_frame_t *from, client_frame_t *to, sizebuf_t *msg)
int CM_LeafArea(int leafnum)
entity_state_t baselines[MAX_EDICTS]
entity_state_t * client_entities
void SV_BuildClientFrame(client_t *client)
byte * CM_ClusterPVS(int cluster)
qboolean CM_AreasConnected(int area1, int area2)
vec_t VectorLength(vec3_t v)
client_frame_t frames[UPDATE_BACKUP]
void MSG_WriteShort(sizebuf_t *sb, int c)
void MSG_WriteByte(sizebuf_t *sb, int c)
void Com_Error(int code, char *fmt,...)
void MSG_WriteChar(sizebuf_t *sb, int c)
int CM_BoxLeafnums(vec3_t mins, vec3_t maxs, int *list, int listsize, int *topnode)
byte * CM_ClusterPHS(int cluster)
int CM_LeafCluster(int leafnum)
void Com_DPrintf(char *fmt,...)
void MSG_WriteAngle16(sizebuf_t *sb, float f)
void MSG_WriteDeltaEntity(entity_state_t *from, entity_state_t *to, sizebuf_t *msg, qboolean force, qboolean newentity)
qboolean CM_HeadnodeVisible(int nodenum, byte *visbits)
int CM_PointLeafnum(vec3_t p)