diff options
-rw-r--r-- | src/client/entities.c | 3 | ||||
-rw-r--r-- | src/client/parse.c | 5 | ||||
-rw-r--r-- | src/client/sound/al.c | 2 | ||||
-rw-r--r-- | src/client/sound/main.c | 2 |
4 files changed, 7 insertions, 5 deletions
diff --git a/src/client/entities.c b/src/client/entities.c index acf1e8d..4983e04 100644 --- a/src/client/entities.c +++ b/src/client/entities.c @@ -151,7 +151,8 @@ static void entity_update(const entity_state_t *state) vec3_t origin_v; // if entity is solid, decode mins/maxs and add to the list - if (state->solid && state->number != cl.frame.clientNum + 1) { + if (state->solid && state->number != cl.frame.clientNum + 1 + && cl.numSolidEntities < MAX_PACKET_ENTITIES) { cl.solidEntities[cl.numSolidEntities++] = ent; if (state->solid != PACKED_BSP) { // encoded bbox diff --git a/src/client/parse.c b/src/client/parse.c index 699e896..ce77b2b 100644 --- a/src/client/parse.c +++ b/src/client/parse.c @@ -34,8 +34,9 @@ static inline void CL_ParseDeltaEntity(server_frame_t *frame, { entity_state_t *state; - if (frame->numEntities >= MAX_PACKET_ENTITIES) { - Com_Error(ERR_DROP, "%s: MAX_PACKET_ENTITIES exceeded", __func__); + // suck up to MAX_EDICTS for servers that don't cap at MAX_PACKET_ENTITIES + if (frame->numEntities >= MAX_EDICTS) { + Com_Error(ERR_DROP, "%s: MAX_EDICTS exceeded", __func__); } state = &cl.entityStates[cl.numEntityStates & PARSE_ENTITIES_MASK]; diff --git a/src/client/sound/al.c b/src/client/sound/al.c index 7e5b7ea..b6bac51 100644 --- a/src/client/sound/al.c +++ b/src/client/sound/al.c @@ -251,7 +251,7 @@ static channel_t *AL_FindLoopingSound(int entnum, sfx_t *sfx) static void AL_AddLoopSounds(void) { int i; - int sounds[MAX_PACKET_ENTITIES]; + int sounds[MAX_EDICTS]; channel_t *ch; sfx_t *sfx; sfxcache_t *sc; diff --git a/src/client/sound/main.c b/src/client/sound/main.c index 73c2125..1bd2f82 100644 --- a/src/client/sound/main.c +++ b/src/client/sound/main.c @@ -962,7 +962,7 @@ as the entities are sent to the client static void S_AddLoopSounds(void) { int i, j; - int sounds[MAX_PACKET_ENTITIES]; + int sounds[MAX_EDICTS]; int left, right, left_total, right_total; channel_t *ch; sfx_t *sfx; |