]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_main.c
added EF_DOUBLESIDED (and internally RENDER_NOCULLFACE)
[xonotic/darkplaces.git] / cl_main.c
index 020fea7d65dd8e5547059e795ff463aa008fb691..0606a8d60653c490c55ec7383c0b14559f1e9c04 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -295,8 +295,9 @@ void CL_EstablishConnection(const char *host)
 
        // stop demo loop in case this fails
        CL_Disconnect();
-       NetConn_ClientFrame();
-       NetConn_ServerFrame();
+
+       // run a network frame
+       //NetConn_ClientFrame();SV_VM_Begin();NetConn_ServerFrame();SV_VM_End();
 
        if (LHNETADDRESS_FromString(&cls.connect_address, host, 26000) && (cls.connect_mysocket = NetConn_ChooseClientSocketForAddress(&cls.connect_address)))
        {
@@ -304,17 +305,14 @@ void CL_EstablishConnection(const char *host)
                cls.connect_remainingtries = 3;
                cls.connect_nextsendtime = 0;
                M_Update_Return_Reason("Trying to connect...");
-               if (sv.active)
-               {
-                       NetConn_ClientFrame();
-                       NetConn_ServerFrame();
-                       NetConn_ClientFrame();
-                       NetConn_ServerFrame();
-                       NetConn_ClientFrame();
-                       NetConn_ServerFrame();
-                       NetConn_ClientFrame();
-                       NetConn_ServerFrame();
-               }
+               // run several network frames to jump into the game quickly
+               //if (sv.active)
+               //{
+               //      NetConn_ClientFrame();SV_VM_Begin();NetConn_ServerFrame();SV_VM_End();
+               //      NetConn_ClientFrame();SV_VM_Begin();NetConn_ServerFrame();SV_VM_End();
+               //      NetConn_ClientFrame();SV_VM_Begin();NetConn_ServerFrame();SV_VM_End();
+               //      NetConn_ClientFrame();SV_VM_Begin();NetConn_ServerFrame();SV_VM_End();
+               //}
        }
        else
        {
@@ -942,18 +940,18 @@ void CL_LinkNetworkEntity(entity_t *e)
                        else if (e->render.model->flags & EF_TRACER)
                        {
                                trailtype = 3;
-                               dlightradius = max(dlightradius, 100);
-                               dlightcolor[0] += 0.25f;
-                               dlightcolor[1] += 1.00f;
-                               dlightcolor[2] += 0.25f;
+                               //dlightradius = max(dlightradius, 100);
+                               //dlightcolor[0] += 0.25f;
+                               //dlightcolor[1] += 1.00f;
+                               //dlightcolor[2] += 0.25f;
                        }
                        else if (e->render.model->flags & EF_TRACER2)
                        {
                                trailtype = 5;
-                               dlightradius = max(dlightradius, 100);
-                               dlightcolor[0] += 1.00f;
-                               dlightcolor[1] += 0.60f;
-                               dlightcolor[2] += 0.20f;
+                               //dlightradius = max(dlightradius, 100);
+                               //dlightcolor[0] += 1.00f;
+                               //dlightcolor[1] += 0.60f;
+                               //dlightcolor[2] += 0.20f;
                        }
                        else if (e->render.model->flags & EF_ROCKET)
                        {
@@ -1032,6 +1030,10 @@ void CL_LinkNetworkEntity(entity_t *e)
                // transparent stuff can't be lit during the opaque stage
                if (e->render.effects & (EF_ADDITIVE | EF_NODEPTHTEST) || e->render.alpha < 1)
                        e->render.flags |= RENDER_TRANSPARENT;
+               // double sided rendering mode causes backfaces to be visible
+               // (mostly useful on transparent stuff)
+               if (e->render.effects & EF_DOUBLESIDED)
+                       e->render.flags |= RENDER_NOCULLFACE;
                // either fullbright or lit
                if (!(e->render.effects & EF_FULLBRIGHT) && !r_fullbright.integer)
                        e->render.flags |= RENDER_LIGHT;