removed some very stale dead code
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 26 Sep 2004 12:14:37 +0000 (12:14 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 26 Sep 2004 12:14:37 +0000 (12:14 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4539 d7cf8633-e32d-0410-b094-e92efae38249

sv_main.c

index 591884d..c79ee24 100644 (file)
--- a/sv_main.c
+++ b/sv_main.c
@@ -418,340 +418,6 @@ crosses a waterline.
 int sv_writeentitiestoclient_pvsbytes;
 qbyte sv_writeentitiestoclient_pvs[MAX_MAP_LEAFS/8];
 
-/*
-=============
-SV_WriteEntitiesToClient
-
-=============
-*/
-/*
-void SV_WriteEntitiesToClient_QUAKE (client_t *client, edict_t *clent, sizebuf_t *msg)
-{
-       int e, clentnum, bits, alpha, glowcolor, glowsize, scale, effects, lightsize;
-       int culled_pvs, culled_trace, visibleentities, totalentities;
-       qbyte *pvs;
-       vec3_t origin, angles, entmins, entmaxs, testorigin, testeye;
-       float nextfullupdate, alphaf;
-       edict_t *ent;
-       eval_t *val;
-       entity_state_t *baseline; // LordHavoc: delta or startup baseline
-       model_t *model;
-
-       Mod_CheckLoaded(sv.worldmodel);
-
-// find the client's PVS
-       VectorAdd (clent->v->origin, clent->v->view_ofs, testeye);
-       fatbytes = 0;
-       if (sv.worldmodel && sv.worldmodel->brush.FatPVS)
-               fatbytes = sv.worldmodel->brush.FatPVS(sv.worldmodel, testeye, 8, sv_writeentitiestoclient_pvs, sizeof(sv_writeentitiestoclient_pvs));
-
-       culled_pvs = 0;
-       culled_trace = 0;
-       visibleentities = 0;
-       totalentities = 0;
-
-       clentnum = EDICT_TO_PROG(clent); // LordHavoc: for comparison purposes
-       // send all entities that touch the pvs
-       ent = NEXT_EDICT(sv.edicts);
-       for (e = 1;e < sv.num_edicts;e++, ent = NEXT_EDICT(ent))
-       {
-               bits = 0;
-
-               // prevent delta compression against this frame (unless actually sent, which will restore this later)
-               nextfullupdate = client->nextfullupdate[e];
-               client->nextfullupdate[e] = -1;
-
-               if (ent != clent) // LordHavoc: always send player
-               {
-                       if ((val = GETEDICTFIELDVALUE(ent, eval_viewmodelforclient)) && val->edict)
-                       {
-                               if (val->edict != clentnum)
-                               {
-                                       // don't show to anyone else
-                                       continue;
-                               }
-                               else
-                                       bits |= U_VIEWMODEL; // show relative to the view
-                       }
-                       else
-                       {
-                               // LordHavoc: never draw something told not to display to this client
-                               if ((val = GETEDICTFIELDVALUE(ent, eval_nodrawtoclient)) && val->edict == clentnum)
-                                       continue;
-                               if ((val = GETEDICTFIELDVALUE(ent, eval_drawonlytoclient)) && val->edict && val->edict != clentnum)
-                                       continue;
-                       }
-               }
-
-               glowsize = 0;
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_glow_size)))
-                       glowsize = (int) val->_float >> 2;
-               if (glowsize > 255) glowsize = 255;
-               if (glowsize < 0) glowsize = 0;
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_glow_trail)))
-               if (val->_float != 0)
-                       bits |= U_GLOWTRAIL;
-
-               if (ent->v->modelindex >= 0 && ent->v->modelindex < MAX_MODELS && *PR_GetString(ent->v->model))
-               {
-                       model = sv.models[(int)ent->v->modelindex];
-                       Mod_CheckLoaded(model);
-               }
-               else
-               {
-                       model = NULL;
-                       if (ent != clent) // LordHavoc: always send player
-                               if (glowsize == 0 && (bits & U_GLOWTRAIL) == 0) // no effects
-                                       continue;
-               }
-
-               VectorCopy(ent->v->angles, angles);
-               VectorCopy(ent->v->origin, origin);
-
-               // ent has survived every check so far, check if it is visible
-               if (ent != clent && ((bits & U_VIEWMODEL) == 0))
-               {
-                       // use the predicted origin
-                       entmins[0] = origin[0] - 1.0f;
-                       entmins[1] = origin[1] - 1.0f;
-                       entmins[2] = origin[2] - 1.0f;
-                       entmaxs[0] = origin[0] + 1.0f;
-                       entmaxs[1] = origin[1] + 1.0f;
-                       entmaxs[2] = origin[2] + 1.0f;
-                       // using the model's bounding box to ensure things are visible regardless of their physics box
-                       if (model)
-                       {
-                               if (ent->v->angles[0] || ent->v->angles[2]) // pitch and roll
-                               {
-                                       VectorAdd(entmins, model->rotatedmins, entmins);
-                                       VectorAdd(entmaxs, model->rotatedmaxs, entmaxs);
-                               }
-                               else if (ent->v->angles[1])
-                               {
-                                       VectorAdd(entmins, model->yawmins, entmins);
-                                       VectorAdd(entmaxs, model->yawmaxs, entmaxs);
-                               }
-                               else
-                               {
-                                       VectorAdd(entmins, model->normalmins, entmins);
-                                       VectorAdd(entmaxs, model->normalmaxs, entmaxs);
-                               }
-                       }
-
-                       totalentities++;
-
-                       // if not touching a visible leaf
-                       if (sv_cullentities_pvs.integer && fatbytes && sv.worldmodel && sv.worldmodel->brush.BoxTouchingPVS && !sv.worldmodel->brush.BoxTouchingPVS(sv.worldmodel, sv_writeentitiestoclient_pvs, entmins, entmaxs))
-                       {
-                               culled_pvs++;
-                               continue;
-                       }
-
-                       // don't try to cull embedded brush models with this, they're sometimes huge (spanning several rooms)
-                       if (sv_cullentities_trace.integer && (model == NULL || model->name[0] != '*'))
-                       {
-                               // LordHavoc: test random offsets, to maximize chance of detection
-                               testorigin[0] = lhrandom(entmins[0], entmaxs[0]);
-                               testorigin[1] = lhrandom(entmins[1], entmaxs[1]);
-                               testorigin[2] = lhrandom(entmins[2], entmaxs[2]);
-
-                               sv.worldmodel->TraceBox(sv.worldmodel, 0, &trace, testeye, testeye, testorigin, testorigin, SUPERCONTENTS_SOLID);
-                               if (trace.fraction == 1)
-                                       client->visibletime[e] = realtime + 1;
-                               else
-                               {
-                                       //test nearest point on bbox
-                                       testorigin[0] = bound(entmins[0], testeye[0], entmaxs[0]);
-                                       testorigin[1] = bound(entmins[1], testeye[1], entmaxs[1]);
-                                       testorigin[2] = bound(entmins[2], testeye[2], entmaxs[2]);
-
-                                       sv.worldmodel->TraceBox(sv.worldmodel, 0, &trace, testeye, testeye, testorigin, testorigin, SUPERCONTENTS_SOLID);
-                                       if (trace.fraction == 1)
-                                               client->visibletime[e] = realtime + 1;
-                                       else if (realtime > client->visibletime[e])
-                                       {
-                                               culled_trace++;
-                                               continue;
-                                       }
-                               }
-                       }
-                       visibleentities++;
-               }
-
-               alphaf = 255.0f;
-               scale = 16;
-               glowcolor = 254;
-               effects = ent->v->effects;
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_alpha)))
-               if (val->_float != 0)
-                       alphaf = val->_float * 255.0f;
-
-               // HalfLife support
-               if ((val = GETEDICTFIELDVALUE(ent, eval_renderamt)))
-               if (val->_float != 0)
-                       alphaf = val->_float;
-
-               if (alphaf == 0.0f)
-                       alphaf = 255.0f;
-               alpha = bound(0, alphaf, 255);
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_scale)))
-               if ((scale = (int) (val->_float * 16.0)) == 0) scale = 16;
-               if (scale < 0) scale = 0;
-               if (scale > 255) scale = 255;
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_glow_color)))
-               if (val->_float != 0)
-                       glowcolor = (int) val->_float;
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_fullbright)))
-               if (val->_float != 0)
-                       effects |= EF_FULLBRIGHT;
-
-               if (ent != clent)
-               {
-                       if (glowsize == 0 && (bits & U_GLOWTRAIL) == 0) // no effects
-                       {
-                               if (model) // model
-                               {
-                                       // don't send if flagged for NODRAW and there are no effects
-                                       if (model->flags == 0 && ((effects & EF_NODRAW) || scale <= 0 || alpha <= 0))
-                                               continue;
-                               }
-                               else // no model and no effects
-                                       continue;
-                       }
-               }
-
-               if (msg->maxsize - msg->cursize < 32) // LordHavoc: increased check from 16 to 32
-               {
-                       Con_Print("packet overflow\n");
-                       // mark the rest of the entities so they can't be delta compressed against this frame
-                       for (;e < sv.num_edicts;e++)
-                       {
-                               client->nextfullupdate[e] = -1;
-                               client->visibletime[e] = -1;
-                       }
-                       return;
-               }
-
-               if ((val = GETEDICTFIELDVALUE(ent, eval_exteriormodeltoclient)) && val->edict == clentnum)
-                       bits = bits | U_EXTERIORMODEL;
-
-// send an update
-               baseline = &ent->e->baseline;
-
-               if (((int)ent->v->effects & EF_DELTA) && sv_deltacompress.integer)
-               {
-                       // every half second a full update is forced
-                       if (realtime < client->nextfullupdate[e])
-                       {
-                               bits |= U_DELTA;
-                               baseline = &ent->e->deltabaseline;
-                       }
-                       else
-                               nextfullupdate = realtime + 0.5f;
-               }
-               else
-                       nextfullupdate = realtime + 0.5f;
-
-               // restore nextfullupdate since this is being sent for real
-               client->nextfullupdate[e] = nextfullupdate;
-
-               if (e >= 256)
-                       bits |= U_LONGENTITY;
-
-               if (ent->v->movetype == MOVETYPE_STEP)
-                       bits |= U_STEP;
-
-               // LordHavoc: old stuff, but rewritten to have more exact tolerances
-               if (origin[0] != baseline->origin[0])                                                                                   bits |= U_ORIGIN1;
-               if (origin[1] != baseline->origin[1])                                                                                   bits |= U_ORIGIN2;
-               if (origin[2] != baseline->origin[2])                                                                                   bits |= U_ORIGIN3;
-               if (((int)(angles[0]*(256.0/360.0)) & 255) != ((int)(baseline->angles[0]*(256.0/360.0)) & 255)) bits |= U_ANGLE1;
-               if (((int)(angles[1]*(256.0/360.0)) & 255) != ((int)(baseline->angles[1]*(256.0/360.0)) & 255)) bits |= U_ANGLE2;
-               if (((int)(angles[2]*(256.0/360.0)) & 255) != ((int)(baseline->angles[2]*(256.0/360.0)) & 255)) bits |= U_ANGLE3;
-               if (baseline->colormap != (qbyte) ent->v->colormap)                                                             bits |= U_COLORMAP;
-               if (baseline->skin != (qbyte) ent->v->skin)                                                                             bits |= U_SKIN;
-               if ((baseline->frame & 0x00FF) != ((int) ent->v->frame & 0x00FF))                               bits |= U_FRAME;
-               if ((baseline->effects & 0x00FF) != ((int) ent->v->effects & 0x00FF))                   bits |= U_EFFECTS;
-               if ((baseline->modelindex & 0x00FF) != ((int) ent->v->modelindex & 0x00FF))             bits |= U_MODEL;
-
-               // LordHavoc: new stuff
-               if (baseline->alpha != alpha)                                                                                                   bits |= U_ALPHA;
-               if (baseline->scale != scale)                                                                                                   bits |= U_SCALE;
-               if (((int) baseline->effects & 0xFF00) != ((int) ent->v->effects & 0xFF00))             bits |= U_EFFECTS2;
-               if (baseline->glowsize != glowsize)                                                                                             bits |= U_GLOWSIZE;
-               if (baseline->glowcolor != glowcolor)                                                                                   bits |= U_GLOWCOLOR;
-               if (((int) baseline->frame & 0xFF00) != ((int) ent->v->frame & 0xFF00))                 bits |= U_FRAME2;
-               if (((int) baseline->frame & 0xFF00) != ((int) ent->v->modelindex & 0xFF00))            bits |= U_MODEL2;
-
-               // update delta baseline
-               VectorCopy(ent->v->origin, ent->e->deltabaseline.origin);
-               VectorCopy(ent->v->angles, ent->e->deltabaseline.angles);
-               ent->e->deltabaseline.colormap = ent->v->colormap;
-               ent->e->deltabaseline.skin = ent->v->skin;
-               ent->e->deltabaseline.frame = ent->v->frame;
-               ent->e->deltabaseline.effects = ent->v->effects;
-               ent->e->deltabaseline.modelindex = ent->v->modelindex;
-               ent->e->deltabaseline.alpha = alpha;
-               ent->e->deltabaseline.scale = scale;
-               ent->e->deltabaseline.glowsize = glowsize;
-               ent->e->deltabaseline.glowcolor = glowcolor;
-
-               // write the message
-               if (bits >= 16777216)
-                       bits |= U_EXTEND2;
-               if (bits >= 65536)
-                       bits |= U_EXTEND1;
-               if (bits >= 256)
-                       bits |= U_MOREBITS;
-               bits |= U_SIGNAL;
-
-               MSG_WriteByte (msg, bits);
-               if (bits & U_MOREBITS)
-                       MSG_WriteByte (msg, bits>>8);
-               // LordHavoc: extend bytes have to be written here due to delta compression
-               if (bits & U_EXTEND1)
-                       MSG_WriteByte (msg, bits>>16);
-               if (bits & U_EXTEND2)
-                       MSG_WriteByte (msg, bits>>24);
-
-               // LordHavoc: old stuff
-               if (bits & U_LONGENTITY)
-                       MSG_WriteShort (msg,e);
-               else
-                       MSG_WriteByte (msg,e);
-               if (bits & U_MODEL)             MSG_WriteByte(msg,      ent->v->modelindex);
-               if (bits & U_FRAME)             MSG_WriteByte(msg, ent->v->frame);
-               if (bits & U_COLORMAP)  MSG_WriteByte(msg, ent->v->colormap);
-               if (bits & U_SKIN)              MSG_WriteByte(msg, ent->v->skin);
-               if (bits & U_EFFECTS)   MSG_WriteByte(msg, ent->v->effects);
-               if (bits & U_ORIGIN1)   MSG_WriteCoord(msg, origin[0], sv.protocol);
-               if (bits & U_ANGLE1)    MSG_WriteAngle(msg, angles[0], sv.protocol);
-               if (bits & U_ORIGIN2)   MSG_WriteCoord(msg, origin[1], sv.protocol);
-               if (bits & U_ANGLE2)    MSG_WriteAngle(msg, angles[1], sv.protocol);
-               if (bits & U_ORIGIN3)   MSG_WriteCoord(msg, origin[2], sv.protocol);
-               if (bits & U_ANGLE3)    MSG_WriteAngle(msg, angles[2], sv.protocol);
-
-               // LordHavoc: new stuff
-               if (bits & U_ALPHA)             MSG_WriteByte(msg, alpha);
-               if (bits & U_SCALE)             MSG_WriteByte(msg, scale);
-               if (bits & U_EFFECTS2)  MSG_WriteByte(msg, (int)ent->v->effects >> 8);
-               if (bits & U_GLOWSIZE)  MSG_WriteByte(msg, glowsize);
-               if (bits & U_GLOWCOLOR) MSG_WriteByte(msg, glowcolor);
-               if (bits & U_FRAME2)    MSG_WriteByte(msg, (int)ent->v->frame >> 8);
-               if (bits & U_MODEL2)    MSG_WriteByte(msg, (int)ent->v->modelindex >> 8);
-       }
-
-       if (sv_cullentities_stats.integer)
-               Con_Printf("client \"%s\" entities: %d total, %d visible, %d culled by: %d pvs %d trace\n", client->name, totalentities, visibleentities, culled_pvs + culled_trace, culled_pvs, culled_trace);
-}
-*/
-
 static int numsendentities;
 static entity_state_t sendentities[MAX_EDICTS];
 static entity_state_t *sendentitiesindex[MAX_EDICTS];
@@ -1053,158 +719,6 @@ void SV_MarkWriteEntityStateToClient(entity_state_t *s)
 
 entity_state_t sendstates[MAX_EDICTS]; 
 
-/*
-// entityframe4 protocol
-void SV_WriteEntitiesToClient_EF4(client_t *client, edict_t *clent, sizebuf_t *msg)
-{
-       int i;
-       vec3_t testorigin;
-       entity_state_t *s;
-       entityframe4_database_t *d;
-       int n, startnumber;
-       entity_state_t *e, inactiveentitystate;
-       sizebuf_t buf;
-       qbyte data[128];
-
-       // if there isn't enough space to accomplish anything, skip it
-       if (msg->cursize + 24 > msg->maxsize)
-               return;
-
-       // prepare the buffer
-       memset(&buf, 0, sizeof(buf));
-       buf.data = data;
-       buf.maxsize = sizeof(data);
-
-       d = client->entitydatabase4;
-
-       for (i = 0;i < MAX_ENTITY_HISTORY;i++)
-               if (!d->commit[i].numentities)
-                       break;
-       // if commit buffer full, just don't bother writing an update this frame
-       if (i == MAX_ENTITY_HISTORY)
-               return;
-       d->currentcommit = d->commit + i;
-
-       // this state's number gets played around with later
-       inactiveentitystate = defaultstate;
-
-       sv_writeentitiestoclient_client = client;
-
-       sv_writeentitiestoclient_culled_pvs = 0;
-       sv_writeentitiestoclient_culled_trace = 0;
-       sv_writeentitiestoclient_visibleentities = 0;
-       sv_writeentitiestoclient_totalentities = 0;
-
-       Mod_CheckLoaded(sv.worldmodel);
-
-// find the client's PVS
-       // the real place being tested from
-       VectorAdd(clent->v->origin, clent->v->view_ofs, sv_writeentitiestoclient_testeye);
-       sv_writeentitiestoclient_pvsbytes = 0;
-       if (sv.worldmodel && sv.worldmodel->brush.FatPVS)
-               sv_writeentitiestoclient_pvsbytes = sv.worldmodel->brush.FatPVS(sv.worldmodel, sv_writeentitiestoclient_testeye, 8, sv_writeentitiestoclient_pvs, sizeof(sv_writeentitiestoclient_pvs));
-
-       sv_writeentitiestoclient_clentnum = EDICT_TO_PROG(clent); // LordHavoc: for comparison purposes
-
-       sententitiesmark++;
-
-       // the place being reported (to consider the fact the client still
-       // applies the view_ofs[2], so we have to only send the fractional part
-       // of view_ofs[2], undoing what the client will redo)
-       VectorCopy(sv_writeentitiestoclient_testeye, testorigin);
-       i = (int) clent->v->view_ofs[2] & 255;
-       if (i >= 128)
-               i -= 256;
-       testorigin[2] -= (float) i;
-
-       for (i = 0;i < numsendentities;i++)
-               SV_MarkWriteEntityStateToClient(sendentities + i);
-
-       d->currentcommit->numentities = 0;
-       d->currentcommit->framenum = ++d->latestframenumber;
-       MSG_WriteByte(msg, svc_entities);
-       MSG_WriteLong(msg, d->referenceframenum);
-       MSG_WriteLong(msg, d->currentcommit->framenum);
-       if (developer_networkentities.integer >= 1)
-       {
-               Con_Printf("send svc_entities num:%i ref:%i (database: ref:%i commits:", d->currentcommit->framenum, d->referenceframenum, d->referenceframenum);
-               for (i = 0;i < MAX_ENTITY_HISTORY;i++)
-                       if (d->commit[i].numentities)
-                               Con_Printf(" %i", d->commit[i].framenum);
-               Con_Print(")\n");
-       }
-       if (d->currententitynumber >= sv.max_edicts)
-               startnumber = 1;
-       else
-               startnumber = bound(1, d->currententitynumber, sv.max_edicts - 1);
-       MSG_WriteShort(msg, startnumber);
-       // reset currententitynumber so if the loop does not break it we will
-       // start at beginning next frame (if it does break, it will set it)
-       d->currententitynumber = 1;
-       for (i = 0, n = startnumber;n < sv.max_edicts;n++)
-       {
-               // find the old state to delta from
-               e = EntityFrame4_GetReferenceEntity(d, n);
-               // prepare the buffer
-               SZ_Clear(&buf);
-               // make the message
-               if (sententities[n] == sententitiesmark)
-               {
-                       // entity exists, build an update (if empty there is no change)
-                       // find the state in the list
-                       for (;i < numsendentities && sendentities[i].number < n;i++);
-                       s = sendentities + i;
-                       if (s->number != n)
-                               Sys_Error("SV_WriteEntitiesToClient: s->number != n\n");
-                       // build the update
-                       if (s->exteriormodelforclient && s->exteriormodelforclient == sv_writeentitiestoclient_clentnum)
-                       {
-                               s->flags |= RENDER_EXTERIORMODEL;
-                               EntityState_WriteUpdate(s, &buf, e);
-                               s->flags &= ~RENDER_EXTERIORMODEL;
-                       }
-                       else
-                               EntityState_WriteUpdate(s, &buf, e);
-               }
-               else
-               {
-                       s = &inactiveentitystate;
-                       s->number = n;
-                       if (e->active)
-                       {
-                               // entity used to exist but doesn't anymore, send remove
-                               MSG_WriteShort(&buf, n | 0x8000);
-                       }
-               }
-               // if the commit is full, we're done this frame
-               if (msg->cursize + buf.cursize > msg->maxsize - 4)
-               {
-                       // next frame we will continue where we left off
-                       break;
-               }
-               // add the entity to the commit
-               EntityFrame4_AddCommitEntity(d, s);
-               // if the message is empty, skip out now
-               if (buf.cursize)
-               {
-                       // write the message to the packet
-                       SZ_Write(msg, buf.data, buf.cursize);
-               }
-       }
-       d->currententitynumber = n;
-
-       // remove world message (invalid, and thus a good terminator)
-       MSG_WriteShort(msg, 0x8000);
-       // write the number of the end entity
-       MSG_WriteShort(msg, d->currententitynumber);
-       // just to be sure
-       d->currentcommit = NULL;
-
-       if (sv_cullentities_stats.integer)
-               Con_Printf("client \"%s\" entities: %d total, %d visible, %d culled by: %d pvs %d trace\n", client->name, sv_writeentitiestoclient_totalentities, sv_writeentitiestoclient_visibleentities, sv_writeentitiestoclient_culled_pvs + sv_writeentitiestoclient_culled_trace, sv_writeentitiestoclient_culled_pvs, sv_writeentitiestoclient_culled_trace);
-}
-*/
-
 void SV_WriteEntitiesToClient(client_t *client, edict_t *clent, sizebuf_t *msg)
 {
        int i, numsendstates;