]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - protocol.c
relocated the CL_SendMove call to put it at the end of network parsing (and only...
[xonotic/darkplaces.git] / protocol.c
index 702dbbd6e8f6809f5042c37d6155d22d08fc3656..0f736110ef553856388aadf57515f792cfe49bae 100644 (file)
@@ -1409,11 +1409,11 @@ void EntityFrame5_ExpandEdicts(entityframe5_database_t *d, int newmax)
                d->visiblebits = (void *)data;data += (d->maxedicts+7)/8 * sizeof(qbyte);
                if (oldmaxedicts)
                {
-                       memcpy(d->deltabits, olddeltabits, d->maxedicts * sizeof(int));
-                       memcpy(d->priorities, oldpriorities, d->maxedicts * sizeof(qbyte));
-                       memcpy(d->updateframenum, oldupdateframenum, d->maxedicts * sizeof(int));
-                       memcpy(d->states, oldstates, d->maxedicts * sizeof(entity_state_t));
-                       memcpy(d->visiblebits, oldvisiblebits, (d->maxedicts+7)/8 * sizeof(qbyte));
+                       memcpy(d->deltabits, olddeltabits, oldmaxedicts * sizeof(int));
+                       memcpy(d->priorities, oldpriorities, oldmaxedicts * sizeof(qbyte));
+                       memcpy(d->updateframenum, oldupdateframenum, oldmaxedicts * sizeof(int));
+                       memcpy(d->states, oldstates, oldmaxedicts * sizeof(entity_state_t));
+                       memcpy(d->visiblebits, oldvisiblebits, (oldmaxedicts+7)/8 * sizeof(qbyte));
                        // the previous buffers were a single allocation, so just one free
                        Mem_Free(olddeltabits);
                }
@@ -1480,7 +1480,7 @@ void EntityState5_WriteUpdate(int number, const entity_state_t *s, int changedbi
        else
        {
                bits = changedbits;
-               if ((bits & E5_ORIGIN) && (s->origin[0] < -4096 || s->origin[0] >= 4096 || s->origin[1] < -4096 || s->origin[1] >= 4096 || s->origin[2] < -4096 || s->origin[2] >= 4096))
+               if ((bits & E5_ORIGIN) && (!(s->flags & RENDER_LOWPRECISION) || s->origin[0] < -4096 || s->origin[0] >= 4096 || s->origin[1] < -4096 || s->origin[1] >= 4096 || s->origin[2] < -4096 || s->origin[2] >= 4096))
                        bits |= E5_ORIGIN32;
                if ((bits & E5_ANGLES) && !(s->flags & RENDER_LOWPRECISION))
                        bits |= E5_ANGLES16;