summaryrefslogtreecommitdiff
path: root/src/server/sv_snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/sv_snapshot.c')
-rw-r--r--src/server/sv_snapshot.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/sv_snapshot.c b/src/server/sv_snapshot.c
index 58136388..57d4e64b 100644
--- a/src/server/sv_snapshot.c
+++ b/src/server/sv_snapshot.c
@@ -349,10 +349,13 @@ static void SV_AddEntitiesVisibleFromPoint( vec3_t origin, clientSnapshot_t *fra
}
// entities can be flagged to be sent to a given mask of clients
if ( ent->r.svFlags & SVF_CLIENTMASK ) {
- if (frame->ps.clientNum >= 32)
- Com_Error( ERR_DROP, "SVF_CLIENTMASK: clientNum >= 32" );
- if (~ent->r.singleClient & (1 << frame->ps.clientNum))
- continue;
+ if ( frame->ps.clientNum >= 32 ) {
+ if ( ~ent->r.hack.generic1 & ( 1 << ( frame->ps.clientNum - 32 ) ) )
+ continue;
+ } else {
+ if ( ~ent->r.singleClient & ( 1 << frame->ps.clientNum ) )
+ continue;
+ }
}
svEnt = SV_SvEntityForGentity( ent );