]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_main.c
new entity protocol has been canceled due to a fatal design flaw only detected today...
[xonotic/darkplaces.git] / cl_main.c
index 341cdccda61887ffbc63e2ad696dc90bbbdb423b..03e340702f19cd01f4900e44344f39289f932fd0 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -446,7 +446,8 @@ dlightsetup:
        //Con_Printf("dlight %i : %f %f %f : %f %f %f\n", i, org[0], org[1], org[2], red * radius, green * radius, blue * radius);
        memset (dl, 0, sizeof(*dl));
        dl->ent = ent;
-       VectorCopy(org, dl->origin);
+       Mod_FindNonSolidLocation(org, dl->origin, cl.worldmodel, 6);
+       //VectorCopy(org, dl->origin);
        dl->radius = radius;
        dl->color[0] = red;
        dl->color[1] = green;
@@ -489,8 +490,8 @@ void CL_RelinkWorld (void)
        if (cl_num_entities < 1)
                cl_num_entities = 1;
        cl_brushmodel_entities[cl_num_brushmodel_entities++] = &ent->render;
-       Matrix4x4_CreateFromQuakeEntity(&ent->render.matrix, ent->render.origin[0], ent->render.origin[1], ent->render.origin[2], ent->render.angles[0], ent->render.angles[1], ent->render.angles[2], ent->render.scale);
-       Matrix4x4_Invert_Simple(&ent->render.inversematrix, &ent->render.matrix);
+       Matrix4x4_CreateIdentity(&ent->render.matrix);
+       Matrix4x4_CreateIdentity(&ent->render.inversematrix);
        CL_BoundingBoxForEntity(&ent->render);
 }
 
@@ -625,7 +626,7 @@ static void CL_RelinkNetworkEntities(void)
                {
                        if (effects & EF_BRIGHTFIELD)
                        {
-                               if (gamemode == GAME_NEXIUZ)
+                               if (gamemode == GAME_NEXUIZ)
                                {
                                        dlightcolor[0] += 100.0f;
                                        dlightcolor[1] += 200.0f;
@@ -940,7 +941,7 @@ void CL_RelinkBeams (void)
                                // have some lag in it's location, so compare to the
                                // previous player state, not the latest
                                if (b->entity == cl.viewentity)
-                                       Matrix4x4_CreateFromQuakeEntity(&matrix, cl.viewentoriginold[0], cl.viewentoriginold[1], cl.viewentoriginold[2] + 16, cl.viewangles[0], cl.viewangles[1], cl.viewangles[2], 1);
+                                       Matrix4x4_CreateFromQuakeEntity(&matrix, p->origin[0], p->origin[1], p->origin[2] + 16, cl.viewangles[0], cl.viewangles[1], cl.viewangles[2], 1);
                                else
                                        Matrix4x4_CreateFromQuakeEntity(&matrix, p->origin[0], p->origin[1], p->origin[2] + 16, p->angles[0], p->angles[1], p->angles[2], 1);
                                Matrix4x4_Invert_Simple(&imatrix, &matrix);
@@ -951,7 +952,7 @@ void CL_RelinkBeams (void)
                        else
                        {
                                if (b->entity == cl.viewentity)
-                                       Matrix4x4_CreateFromQuakeEntity(&matrix, cl.viewentorigin[0], cl.viewentorigin[1], cl.viewentorigin[2] + 16, cl.viewangles[0], cl.viewangles[1], cl.viewangles[2], 1);
+                                       Matrix4x4_CreateFromQuakeEntity(&matrix, r->origin[0], r->origin[1], r->origin[2] + 16, cl.viewangles[0], cl.viewangles[1], cl.viewangles[2], 1);
                                else
                                        Matrix4x4_CreateFromQuakeEntity(&matrix, r->origin[0], r->origin[1], r->origin[2] + 16, r->angles[0], r->angles[1], r->angles[2], 1);
                                Matrix4x4_Transform(&matrix, b->relativestart, b->start);
@@ -1004,7 +1005,7 @@ void CL_RelinkBeams (void)
                        //ent->render.angles[0] = pitch;
                        //ent->render.angles[1] = yaw;
                        //ent->render.angles[2] = rand()%360;
-                       Matrix4x4_CreateFromQuakeEntity(&ent->render.matrix, org[0], org[1], org[2], pitch, yaw, lhrandom(0, 360), 1);
+                       Matrix4x4_CreateFromQuakeEntity(&ent->render.matrix, org[0], org[1], org[2], -pitch, yaw, lhrandom(0, 360), 1);
                        Matrix4x4_Invert_Simple(&ent->render.inversematrix, &ent->render.matrix);
                        CL_BoundingBoxForEntity(&ent->render);
                        VectorMA(org, 30, dist, org);
@@ -1359,19 +1360,6 @@ void CL_LerpPlayer(float frac)
        int i;
        float d;
 
-       if (cl.entitydatabase.numframes && cl.viewentity == cl.playerentity)
-       {
-               cl.viewentorigin[0] = cl.viewentoriginold[0] + frac * (cl.viewentoriginnew[0] - cl.viewentoriginold[0]);
-               cl.viewentorigin[1] = cl.viewentoriginold[1] + frac * (cl.viewentoriginnew[1] - cl.viewentoriginold[1]);
-               cl.viewentorigin[2] = cl.viewentoriginold[2] + frac * (cl.viewentoriginnew[2] - cl.viewentoriginold[2]);
-       }
-       else
-       {
-               VectorCopy (cl_entities[cl.viewentity].state_previous.origin, cl.viewentoriginold);
-               VectorCopy (cl_entities[cl.viewentity].state_current.origin, cl.viewentoriginnew);
-               VectorCopy (cl_entities[cl.viewentity].render.origin, cl.viewentorigin);
-       }
-
        cl.viewzoom = cl.viewzoomold + frac * (cl.viewzoomnew - cl.viewzoomold);
 
        for (i = 0;i < 3;i++)
@@ -1584,7 +1572,7 @@ static void CL_PModel_f (void)
        }
 
        host_client->pmodel = i;
-       if ((val = GETEDICTFIELDVALUE(host_client->edict, eval_pmodel)))
+       if ((val = GETEDICTFIELDVALUE(sv_player, eval_pmodel)))
                val->_float = i;
 }