added back r_speeds2, with masses of information (6 lines high), and made it print...
[xonotic/darkplaces.git] / cl_main.c
index 34a0b42..56d77ab 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -225,7 +225,7 @@ Con_DPrintf ("CL_SignonReply: %i\n", cls.signon);
        case 4:
                SCR_EndLoadingPlaque ();                // allow normal screen updates
                // LordHavoc: debugging purposes
-               Con_DPrintf("GLQuake texture slots in use: %i : %i : %i texels\n", texture_extension_number, numgltextures, texels);
+               Con_DPrintf("Texture slots in use: %i : %i : %i texels\n", texture_extension_number, numgltextures, texels);
                break;
        }
 }
@@ -350,7 +350,9 @@ void CL_DecayLights (void)
        {
                if (dl->die < cl.time || !dl->radius)
                        continue;
-               
+
+               c_dlights++; // count every dlight in use
+
                dl->radius -= time*dl->decay;
                if (dl->radius < 0)
                        dl->radius = 0;
@@ -466,9 +468,31 @@ void CL_RelinkEntities (void)
                if (ent->msgtime != cl.mtime[0])
                {
                        ent->model = NULL;
+                       // LordHavoc: free on the same frame, not the next
+                       if (ent->forcelink)
+                               R_RemoveEfrags (ent);   // just became empty
                        continue;
                }
 
+               // LordHavoc: animation interpolation, note: framegroups partially override this in the renderer
+               /*
+               if (ent->model != ent->lerp_model || ent->lerp_time > cl.time)
+               {
+                       ent->lerp_frame1 = ent->lerp_frame2 = ent->frame;
+                       ent->lerp_time = cl.time;
+                       ent->lerp = 0;
+               }
+               else if (ent->frame != ent->lerp_frame2)
+               {
+                       ent->lerp_frame1 = ent->lerpframe2;
+                       ent->lerp_frame2 = ent->frame;
+                       ent->lerp_time = cl.time;
+                       ent->lerp = 0;
+               }
+               else
+                       ent->lerp = bound(0, (cl.time - ent->lerp_time) * 10.0f, 1);
+               */
+
                VectorCopy (ent->origin, oldorg);
 
                if (ent->forcelink)
@@ -515,8 +539,7 @@ void CL_RelinkEntities (void)
                        AngleVectors (ent->angles, fv, rv, uv);
                         
                        VectorMA (dl->origin, 18, fv, dl->origin);
-                       dl->radius = 200 + (rand()&31);
-                       dl->minlight = 32;
+                       dl->radius = 100 + (rand()&31);
                        dl->die = cl.time + 0.1;
                        dl->color[0] = 1.0;dl->color[1] = 1.0;dl->color[2] = 1.0;
                }
@@ -761,7 +784,6 @@ void CL_PModel_f (void)
 CL_Fog_f
 ======================
 */
-extern float fog_density, fog_red, fog_green, fog_blue;
 void CL_Fog_f (void)
 {
        if (Cmd_Argc () == 1)