]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_main.c
more stupid error code passing
[xonotic/darkplaces.git] / cl_main.c
index 997bdb785084cf89f76c53edc48dcc21b36c6e69..58241741e50fed9dcff0475145c9530daa4e2b7e 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -873,10 +873,9 @@ void CL_UpdateNetworkEntity(entity_t *e, int recursionlimit, qboolean interpolat
 {
        const matrix4x4_t *matrix;
        matrix4x4_t blendmatrix, tempmatrix, matrix2;
-       int j, k, l, frame;
-       float origin[3], angles[3], lerp, d;
+       int frame;
+       float origin[3], angles[3], lerp;
        entity_t *t;
-       dp_model_t *model;
        //entity_persistent_t *p = &e->persistent;
        //entity_render_t *r = &e->render;
        // skip inactive entities and world
@@ -919,23 +918,15 @@ void CL_UpdateNetworkEntity(entity_t *e, int recursionlimit, qboolean interpolat
                e->render.flags |= t->render.flags & (RENDER_EXTERIORMODEL | RENDER_VIEWMODEL);
                // if a valid tagindex is used, make it relative to that tag instead
                // FIXME: use a model function to get tag info (need to handle skeletal)
-               if (e->state_current.tagentity && e->state_current.tagindex >= 1 && (model = t->render.model))
+               if (e->state_current.tagentity && e->state_current.tagindex >= 1)
                {
-                       // blend the matrices
-                       memset(&blendmatrix, 0, sizeof(blendmatrix));
-                       for (j = 0;j < MAX_FRAMEBLENDS && t->render.frameblend[j].lerp > 0;j++)
+                       if(!CL_BlendTagMatrix(&t->render, e->state_current.tagindex - 1, &blendmatrix)) // i.e. no error
                        {
-                               matrix4x4_t tagmatrix;
-                               Mod_Alias_GetTagMatrix(model, t->render.frameblend[j].subframe, e->state_current.tagindex - 1, &tagmatrix);
-                               d = t->render.frameblend[j].lerp;
-                               for (l = 0;l < 4;l++)
-                                       for (k = 0;k < 4;k++)
-                                               blendmatrix.m[l][k] += d * tagmatrix.m[l][k];
+                               // concat the tag matrices onto the entity matrix
+                               Matrix4x4_Concat(&tempmatrix, &t->render.matrix, &blendmatrix);
+                               // use the constructed tag matrix
+                               matrix = &tempmatrix;
                        }
-                       // concat the tag matrices onto the entity matrix
-                       Matrix4x4_Concat(&tempmatrix, &t->render.matrix, &blendmatrix);
-                       // use the constructed tag matrix
-                       matrix = &tempmatrix;
                }
        }
        else if (e->render.flags & RENDER_VIEWMODEL)
@@ -1878,12 +1869,10 @@ static void CL_Fog_f (void)
 {
        if (Cmd_Argc () == 1)
        {
-               Con_Printf("\"fog\" is \"%f %f %f %f %f %f %f\"\n", r_refdef.fog_density, r_refdef.fog_red, r_refdef.fog_green, r_refdef.fog_blue, r_refdef.fog_alpha, r_refdef.fog_start, r_refdef.fog_end);
+               Con_Printf("\"fog\" is \"%f %f %f %f %f %f %f %f %f\"\n", r_refdef.fog_density, r_refdef.fog_red, r_refdef.fog_green, r_refdef.fog_blue, r_refdef.fog_alpha, r_refdef.fog_start, r_refdef.fog_end, r_refdef.fog_height, r_refdef.fog_fadedepth);
                return;
        }
-       r_refdef.fog_start = 0;
-       r_refdef.fog_end = 16384;
-       r_refdef.fog_alpha = 1;
+       FOG_clear(); // so missing values get good defaults
        if(Cmd_Argc() > 1)
                r_refdef.fog_density = atof(Cmd_Argv(1));
        if(Cmd_Argc() > 2)
@@ -1898,6 +1887,10 @@ static void CL_Fog_f (void)
                r_refdef.fog_start = atof(Cmd_Argv(6));
        if(Cmd_Argc() > 7)
                r_refdef.fog_end = atof(Cmd_Argv(7));
+       if(Cmd_Argc() > 8)
+               r_refdef.fog_height = atof(Cmd_Argv(8));
+       if(Cmd_Argc() > 9)
+               r_refdef.fog_fadedepth = atof(Cmd_Argv(9));
 }
 
 /*