]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_screen.c
added BoxInsideBox macro
[xonotic/darkplaces.git] / cl_screen.c
index 2da15b322b93597437df166f6babc8661d55826b..57be9af375763d0500912f16c10c0c5c78d2d439 100644 (file)
@@ -44,6 +44,7 @@ cvar_t scr_zoomwindow_viewsizex = {CVAR_SAVE, "scr_zoomwindow_viewsizex", "20",
 cvar_t scr_zoomwindow_viewsizey = {CVAR_SAVE, "scr_zoomwindow_viewsizey", "20", "vertical viewsize of zoom window"};
 cvar_t scr_zoomwindow_fov = {CVAR_SAVE, "scr_zoomwindow_fov", "20", "fov of zoom window"};
 cvar_t scr_stipple = {0, "scr_stipple", "0", "interlacing-like stippling of the display"};
+cvar_t scr_refresh = {0, "scr_refresh", "1", "allows you to completely shut off rendering for benchmarking purposes"};
 
 
 int jpeg_supported = false;
@@ -628,6 +629,7 @@ void CL_Screen_Init(void)
        Cvar_RegisterVariable(&scr_zoomwindow_viewsizey);
        Cvar_RegisterVariable(&scr_zoomwindow_fov);
        Cvar_RegisterVariable(&scr_stipple);
+       Cvar_RegisterVariable(&scr_refresh);
 
        Cmd_AddCommand ("sizeup",SCR_SizeUp_f, "increase view size (increases viewsize cvar)");
        Cmd_AddCommand ("sizedown",SCR_SizeDown_f, "decrease view size (decreases viewsize cvar)");
@@ -826,11 +828,9 @@ static void SCR_CaptureVideo_RIFF_OverflowCheck(int framesize)
        cursize = SCR_CaptureVideo_RIFF_GetPosition() - cls.capturevideo.riffstackstartoffset[0];
        // if this would overflow the windows limit of 1GB per RIFF chunk, we need
        // to close the current RIFF chunk and open another for future frames
-       if (8 + cursize + framesize > 1<<30)
+       if (8 + cursize + framesize + cls.capturevideo.riffindexbuffer.cursize + 8 > 1<<30)
        {
                SCR_CaptureVideo_RIFF_Finish();
-               while (cls.capturevideo.riffstacklevel > 0)
-                       SCR_CaptureVideo_RIFF_Pop();
                // begin a new 1GB extended section of the AVI
                SCR_CaptureVideo_RIFF_Push("RIFF", "AVIX");
                SCR_CaptureVideo_RIFF_Push("LIST", "movi");
@@ -1537,8 +1537,6 @@ void SCR_DrawScreen (void)
 
                if(!CL_VM_UpdateView())
                        R_RenderView();
-               else
-                       SCR_DrawConsole();
 
                if (scr_zoomwindow.integer)
                {
@@ -1574,9 +1572,6 @@ void SCR_DrawScreen (void)
 
        // draw 2D stuff
 
-       //FIXME: force menu if nothing else to look at?
-       //if (key_dest == key_game && cls.signon != SIGNONS && cls.state == ca_disconnected)
-
        if (cls.signon == SIGNONS)
        {
                SCR_DrawNet ();
@@ -1591,8 +1586,7 @@ void SCR_DrawScreen (void)
        CL_DrawVideo();
        R_Shadow_EditLights_DrawSelectedLightProperties();
 
-       if(!csqc_loaded)
-               SCR_DrawConsole();
+       SCR_DrawConsole();
 
        SCR_DrawBrand();
 
@@ -1621,7 +1615,7 @@ void SCR_UpdateLoadingScreen (qboolean clear)
        float vertex3f[12];
        float texcoord2f[8];
        // don't do anything if not initialized yet
-       if (vid_hidden)
+       if (vid_hidden || !scr_refresh.integer)
                return;
        CHECKGLERROR
        qglViewport(0, 0, vid.width, vid.height);CHECKGLERROR
@@ -1683,10 +1677,10 @@ void CL_UpdateScreen(void)
 {
        float conwidth, conheight;
 
-       if (vid_hidden)
+       if (vid_hidden || !scr_refresh.integer)
                return;
 
-       if (!scr_initialized || !con_initialized || vid_hidden)
+       if (!scr_initialized || !con_initialized)
                return;                         // not initialized yet
 
        // don't allow cheats in multiplayer