summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/entities.c3
-rw-r--r--src/client/parse.c5
-rw-r--r--src/client/sound/al.c2
-rw-r--r--src/client/sound/main.c2
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;