]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - csprogs.c
we don't need ALL those fields I marked with ???
[xonotic/darkplaces.git] / csprogs.c
index 732b6517c9b7df33f9974e2dc5c6f1a3b781c7bf..47573d3cf8cc446661775e2d4d0cb6d4238f8eb7 100644 (file)
--- a/csprogs.c
+++ b/csprogs.c
@@ -304,6 +304,7 @@ qboolean CSQC_AddRenderEdict(prvm_edict_t *ed, int edictnum)
                entrender->entitynumber = edictnum + MAX_EDICTS;
                //entrender->shadertime = 0; // shadertime was set by spawn()
                entrender->flags = 0;
+               entrender->effects = 0;
                entrender->alpha = 1;
                entrender->scale = 1;
                VectorSet(entrender->colormod, 1, 1, 1);
@@ -450,6 +451,7 @@ qboolean CL_VM_InputEvent (int eventtype, int x, int y)
 }
 
 extern r_refdef_view_t csqc_original_r_refdef_view;
+extern r_refdef_view_t csqc_main_r_refdef_view;
 qboolean CL_VM_UpdateView (void)
 {
        prvm_prog_t *prog = CLVM_prog;
@@ -462,7 +464,9 @@ qboolean CL_VM_UpdateView (void)
                return false;
        R_TimeReport("pre-UpdateView");
        CSQC_BEGIN
+               r_refdef.view.ismain = true;
                csqc_original_r_refdef_view = r_refdef.view;
+               csqc_main_r_refdef_view = r_refdef.view;
                //VectorCopy(cl.viewangles, oldangles);
                PRVM_clientglobalfloat(time) = cl.time;
                PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
@@ -478,8 +482,10 @@ qboolean CL_VM_UpdateView (void)
                //VectorCopy(oldangles, cl.viewangles);
                // Dresk : Reset Dmg Globals Here
                CL_VM_UpdateDmgGlobals(0, 0, emptyvector);
-               r_refdef.view = csqc_original_r_refdef_view;
+               r_refdef.view = csqc_main_r_refdef_view;
+               R_RenderView_UpdateViewVectors(); // we have to do this, as we undid the scene render doing this for us
        CSQC_END
+
        R_TimeReport("UpdateView");
        return true;
 }