From 5838ec2bb1c3146ce4fc564c8eb4547304d89671 Mon Sep 17 00:00:00 2001 From: lordhavoc Date: Sat, 12 May 2001 11:03:05 +0000 Subject: [PATCH] disabled wad3 loading from "wad" key in worldspawn of map when not loading an HL map minor tweaks to entity update range code git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@199 d7cf8633-e32d-0410-b094-e92efae38249 --- cl_parse.c | 50 +++++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/cl_parse.c b/cl_parse.c index c4a95074..4e449e00 100644 --- a/cl_parse.c +++ b/cl_parse.c @@ -293,27 +293,30 @@ void CL_ParseEntityLump(char *entdata) fog_blue = atof(value); else if (!strcmp("wad", key)) // for HalfLife maps { - j = 0; - for (i = 0;i < 4096;i++) - if (value[i] != ';' && value[i] != '\\' && value[i] != '/' && value[i] != ':') - break; - if (value[i]) + if (hlbsp) { - for (;i < 4096;i++) + j = 0; + for (i = 0;i < 4096;i++) + if (value[i] != ';' && value[i] != '\\' && value[i] != '/' && value[i] != ':') + break; + if (value[i]) { - // ignore path - the \\ check is for HalfLife... stupid windoze 'programmers'... - if (value[i] == '\\' || value[i] == '/' || value[i] == ':') - j = i+1; - else if (value[i] == ';' || value[i] == 0) + for (;i < 4096;i++) { - k = value[i]; - value[i] = 0; - strcpy(wadname, "textures/"); - strcat(wadname, &value[j]); - W_LoadTextureWadFile (wadname, false); - j = i+1; - if (!k) - break; + // ignore path - the \\ check is for HalfLife... stupid windoze 'programmers'... + if (value[i] == '\\' || value[i] == '/' || value[i] == ':') + j = i+1; + else if (value[i] == ';' || value[i] == 0) + { + k = value[i]; + value[i] = 0; + strcpy(wadname, "textures/"); + strcat(wadname, &value[j]); + W_LoadTextureWadFile (wadname, false); + j = i+1; + if (!k) + break; + } } } } @@ -609,13 +612,17 @@ void CL_ParseUpdate (int bits) } } +void CL_EntityUpdateSetup() +{ + memset(entkill, 1, MAX_EDICTS); +} + int entityupdatestart; void CL_EntityUpdateBegin(int start) { if (start < 0 || start >= MAX_EDICTS) Host_Error("CL_EntityUpdateBegin: start (%i) < 0 or >= MAX_EDICTS (%i)\n", start, MAX_EDICTS); entityupdatestart = start; - memset(entkill, 1, MAX_EDICTS); } void CL_EntityUpdateEnd(int end) @@ -625,7 +632,7 @@ void CL_EntityUpdateEnd(int end) Host_Error("CL_EntityUpdateEnd: end (%i) < 0 or > MAX_EDICTS (%i)\n", end, MAX_EDICTS); for (i = entityupdatestart;i < end;i++) if (entkill[i]) - cl_entities[i].state_current.active = 0; + cl_entities[i].state_previous.active = cl_entities[i].state_current.active = 0; } /* @@ -866,6 +873,7 @@ void CL_ParseServerMessage (void) MSG_BeginReading (); updateend = false; + CL_EntityUpdateSetup(); while (1) { @@ -937,7 +945,7 @@ void CL_ParseServerMessage (void) case svc_time: // handle old protocols which do not have entity update ranges - CL_EntityUpdateBegin(0); + CL_EntityUpdateBegin(1); updateend = true; cl.mtime[1] = cl.mtime[0]; cl.mtime[0] = MSG_ReadFloat (); -- 2.39.2