]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_screen.c
DP_QC_GETTIME_CDTRACK: extension to query the playing time of the current cd track.
[xonotic/darkplaces.git] / cl_screen.c
index 3d75c0b828a22e42103922d161ff4eb5e33deedf..12426fd8f1bd40f72e362b89054f2c0562b856f5 100644 (file)
@@ -1634,7 +1634,7 @@ static void SCR_ClearLoadingScreenTexture()
        loadingscreentexture = NULL;
 }
 
-extern rtexturepool_t r_main_texturepool;
+extern rtexturepool_t *r_main_texturepool;
 static void SCR_SetLoadingScreenTexture()
 {
        int w, h;
@@ -1655,7 +1655,7 @@ static void SCR_SetLoadingScreenTexture()
                loadingscreentexture_h = vid.height / (float) h;
        }
 
-       loadingscreentexture = R_LoadTexture2D(&r_main_texturepool, "loadingscreentexture", w, h, NULL, TEXTYPE_BGRA, TEXF_FORCENEAREST | TEXF_CLAMP | TEXF_ALWAYSPRECACHE, NULL);
+       loadingscreentexture = R_LoadTexture2D(r_main_texturepool, "loadingscreentexture", w, h, NULL, TEXTYPE_BGRA, TEXF_FORCENEAREST | TEXF_CLAMP | TEXF_ALWAYSPRECACHE, NULL);
        R_Mesh_TexBind(0, R_GetTexture(loadingscreentexture));
        GL_ActiveTexture(0);
        CHECKGLERROR
@@ -1791,9 +1791,9 @@ static void SCR_DrawLoadingStack()
                verts[7] = verts[10] = vid_conheight.integer;
 
                for(i = 0; i < 16; ++i)
-                       colors[i] = (i % 4 == 3) || (i >= 8 && i % 4 == 2);
-                       //                                     ^^^^^^^^^^ blue component
-                       //                           ^^^^^^ bottom row
+                       colors[i] = (i % 4 == 3) ? 1 : (i >= 8 && i % 4 == 2) ? 1 : 0;
+                       //                                        ^^^^^^^^^^ blue component
+                       //                              ^^^^^^ bottom row
                        //          ^^^^^^^^^^^^ alpha is always on
                R_Mesh_Draw(0, 4, 0, 2, NULL, polygonelements, 0, 0);
 
@@ -1885,10 +1885,13 @@ void SCR_UpdateLoadingScreen (qboolean clear)
        if (vid_hidden || !scr_refresh.integer || cls.state == ca_dedicated)
                return;
        
+       if(loadingscreentime == realtime)
+               clear |= loadingscreencleared;
+
        if(clear)
-               SCR_ClearLoadingScreenTexture();
+               SCR_ClearLoadingScreenTexture();
        else if(loadingscreentime != realtime)
-               SCR_SetLoadingScreenTexture();
+               SCR_SetLoadingScreenTexture();
 
        if(loadingscreentime != realtime)
        {