]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_parse.c
cleaned up zym cruft from debugging
[xonotic/darkplaces.git] / cl_parse.c
index d7661dd4860ccc5e9991662898048cf39be729aa..4719d72673ee43277f6fdd591c91b8386839700b 100644 (file)
@@ -405,8 +405,6 @@ void CL_ParseServerInfo (void)
 
        Mod_ClearUsed();
 
-       Mem_CheckSentinelsGlobal();
-
 // precache models
        memset (cl.model_precache, 0, sizeof(cl.model_precache));
        for (nummodels=1 ; ; nummodels++)
@@ -416,7 +414,7 @@ void CL_ParseServerInfo (void)
                        break;
                if (nummodels==MAX_MODELS)
                {
-                       Con_Printf ("Server sent too many model precaches\n");
+                       Host_Error ("Server sent too many model precaches\n");
                        return;
                }
                if (strlen(str) >= MAX_QPATH)
@@ -434,7 +432,7 @@ void CL_ParseServerInfo (void)
                        break;
                if (numsounds==MAX_SOUNDS)
                {
-                       Con_Printf ("Server sent too many sound precaches\n");
+                       Host_Error ("Server sent too many sound precaches\n");
                        return;
                }
                if (strlen(str) >= MAX_QPATH)
@@ -443,8 +441,6 @@ void CL_ParseServerInfo (void)
                S_TouchSound (str);
        }
 
-       Mem_CheckSentinelsGlobal();
-
        Mod_PurgeUnused();
 
 //
@@ -456,11 +452,11 @@ void CL_ParseServerInfo (void)
        for (i=1 ; i<nummodels ; i++)
        {
                // LordHavoc: i == 1 means the first model is the world model
-               cl.model_precache[i] = Mod_ForName (model_precache[i], false, true, i == 1);
+               cl.model_precache[i] = Mod_ForName (model_precache[i], false, false, i == 1);
 
                if (cl.model_precache[i] == NULL)
                {
-                       Con_Printf("Model %s not found\n", model_precache[i]);
+                       Host_Error("Model %s not found\n", model_precache[i]);
                        return;
                }
                CL_KeepaliveMessage ();
@@ -485,6 +481,10 @@ void CL_ParseServerInfo (void)
 
        Mem_CheckSentinelsGlobal();
 
+       CL_CGVM_Start();
+
+       Mem_CheckSentinelsGlobal();
+
        noclip_anglehack = false;               // noclip is turned off at start
 }
 
@@ -644,12 +644,13 @@ void CL_ParseUpdate (int bits)
                new.time = ent->state_current.time;
                if (memcmp(&new, &ent->state_current, sizeof(entity_state_t)))
                {
+                       // set it back to what it should be
+                       new.time = cl.mtime[0] + 0.1;
                        // state has changed
                        ent->state_previous = ent->state_current;
                        ent->state_current = new;
                        // assume 10fps animation
-                       ent->state_previous.time = cl.mtime[0];
-                       ent->state_current.time = cl.mtime[0] + 0.1; //ent->state_previous.time + 0.1;
+                       //ent->state_previous.time = cl.mtime[0] - 0.1;
                }
        }
        else
@@ -923,6 +924,8 @@ void CL_ParseEffect2 (void)
 
 #define SHOWNET(x) if(cl_shownet.integer==2)Con_Printf ("%3i:%s\n", msg_readcount-1, x);
 
+static byte cgamenetbuffer[65536];
+
 /*
 =====================
 CL_ParseServerMessage
@@ -989,7 +992,7 @@ void CL_ParseServerMessage (void)
                        temp = "<unknown>";
                        cmdlogname[cmdindex] = temp;
                }
-       
+
                // other commands
                switch (cmd)
                {
@@ -1016,23 +1019,23 @@ void CL_ParseServerMessage (void)
                                Host_Error ("CL_ParseServerMessage: Illegible server message\n");
                        }
                        break;
-                       
+
                case svc_nop:
 //                     Con_Printf ("svc_nop\n");
                        break;
-                       
+
                case svc_time:
                        // handle old protocols which do not have entity update ranges
                        entitiesupdated = true;
                        cl.mtime[1] = cl.mtime[0];
-                       cl.mtime[0] = MSG_ReadFloat ();                 
+                       cl.mtime[0] = MSG_ReadFloat ();
                        break;
 
                case svc_clientdata:
                        i = MSG_ReadShort ();
                        CL_ParseClientdata (i);
                        break;
-               
+
                case svc_version:
                        i = MSG_ReadLong ();
                        if (i != PROTOCOL_VERSION && i != DPPROTOCOL_VERSION && i != 250)
@@ -1051,11 +1054,11 @@ void CL_ParseServerMessage (void)
                case svc_print:
                        Con_Printf ("%s", MSG_ReadString ());
                        break;
-                       
+
                case svc_centerprint:
                        SCR_CenterPrint (MSG_ReadString ());
                        break;
-                       
+
                case svc_stufftext:
                        Cbuf_AddText (MSG_ReadString ());
                        break;
@@ -1086,7 +1089,7 @@ void CL_ParseServerMessage (void)
                        cl_lightstyle[i].map[MAX_STYLESTRING - 1] = 0;
                        cl_lightstyle[i].length = strlen(cl_lightstyle[i].map);
                        break;
-                       
+
                case svc_sound:
                        CL_ParseStartSoundPacket(false);
                        break;
@@ -1106,7 +1109,7 @@ void CL_ParseServerMessage (void)
                                Host_Error ("CL_ParseServerMessage: svc_updatename >= MAX_SCOREBOARD");
                        strcpy (cl.scores[i].name, MSG_ReadString ());
                        break;
-                       
+
                case svc_updatefrags:
                        i = MSG_ReadByte ();
                        if (i >= cl.maxclients)
@@ -1183,7 +1186,7 @@ void CL_ParseServerMessage (void)
                                Host_Error ("svc_updatestat: %i is invalid", i);
                        cl.stats[i] = MSG_ReadLong ();
                        break;
-                       
+
                case svc_spawnstaticsound:
                        CL_ParseStaticSound (false);
                        break;
@@ -1233,6 +1236,25 @@ void CL_ParseServerMessage (void)
                case svc_skybox:
                        R_SetSkyBox(MSG_ReadString());
                        break;
+               case svc_cgame:
+                       {
+                               int length;
+                               length = (int) ((unsigned short) MSG_ReadShort());
+                               /*
+                               if (cgamenetbuffersize < length)
+                               {
+                                       cgamenetbuffersize = length;
+                                       if (cgamenetbuffer)
+                                               Mem_Free(cgamenetbuffer);
+                                       cgamenetbuffer = Mem_Alloc(cgamenetbuffersize);
+                               }
+                               */
+                               for (i = 0;i < length;i++)
+                                       cgamenetbuffer[i] = MSG_ReadByte();
+                               if (!msg_badread)
+                                       CL_CGVM_ParseNetwork(cgamenetbuffer, length);
+                       }
+                       break;
                }
        }