]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_sky.c
adding two new extensions: DP_QC_WHICHPACK (identify a pk3 containing a file), and...
[xonotic/darkplaces.git] / r_sky.c
diff --git a/r_sky.c b/r_sky.c
index 63df9efb869cb026909d10a800cab38f57b691ee..c5e842598de8a1859bd64e0cdff49f26de3f2c33 100644 (file)
--- a/r_sky.c
+++ b/r_sky.c
@@ -76,12 +76,18 @@ R_SetSkyBox
 void R_UnloadSkyBox(void)
 {
        int i;
+       int c = 0;
        for (i = 0;i < 6;i++)
        {
                if (skyboxside[i])
+               {
                        R_FreeTexture(skyboxside[i]);
+                       c++;
+               }
                skyboxside[i] = NULL;
        }
+       if (c && developer_loading.integer)
+               Con_Printf("unloading skybox\n");
 }
 
 int R_LoadSkyBox(void)
@@ -128,6 +134,9 @@ int R_LoadSkyBox(void)
        if (j == 3)
                return false;
 
+       if (developer_loading.integer)
+               Con_Printf("loading skybox \"%s\"\n", name);
+
        return true;
 }
 
@@ -243,7 +252,7 @@ static const float skyboxtexcoord2f[6*4*2] =
        0, 0
 };
 
-static const int skyboxelements[6*2*3] =
+static const unsigned short skyboxelements[6*2*3] =
 {
        // skyside[3]
         0,  1,  2,
@@ -285,7 +294,7 @@ static void R_SkyBox(void)
        for (i = 0;i < 6;i++)
        {
                R_Mesh_TexBind(0, R_GetTexture(skyboxside[i]));
-               R_Mesh_Draw(0, 6*4, 2, skyboxelements + i * 6, 0, 0);
+               R_Mesh_Draw(0, 6*4, i*2, 2, NULL, skyboxelements, 0, 0);
        }
 
        if(r_refdef.fogenabled)
@@ -296,7 +305,7 @@ static void R_SkyBox(void)
                for (i = 0;i < 6;i++)
                {
                        R_Mesh_TexBind(0, 0);
-                       R_Mesh_Draw(0, 6*4, 2, skyboxelements + i * 6, 0, 0);
+                       R_Mesh_Draw(0, 6*4, i*2, 2, NULL, skyboxelements, 0, 0);
                }
        }
 
@@ -313,11 +322,12 @@ static void R_SkyBox(void)
 #define skysphere_numtriangles (skygridx * skygridy * 2)
 static float skysphere_vertex3f[skysphere_numverts * 3];
 static float skysphere_texcoord2f[skysphere_numverts * 2];
-static int skysphere_element3i[skysphere_numtriangles * 3];
+static unsigned short skysphere_elements[skysphere_numtriangles * 3];
 
 static void skyspherecalc(void)
 {
-       int i, j, *e;
+       int i, j;
+       unsigned short *e;
        float a, b, x, ax, ay, v[3], length, *vertex3f, *texcoord2f;
        float dx, dy, dz;
        dx = 16;
@@ -345,7 +355,7 @@ static void skyspherecalc(void)
                        *vertex3f++ = v[2];
                }
        }
-       e = skysphere_element3i;
+       e = skysphere_elements;
        for (j = 0;j < skygridy;j++)
        {
                for (i = 0;i < skygridx;i++)
@@ -405,7 +415,7 @@ static void R_SkySphere(void)
                R_Mesh_TexCoordPointer(1, 2, skysphere_texcoord2f, 0, 0);
                R_Mesh_TexMatrix(1, &scroll2matrix);
                GL_LockArrays(0, skysphere_numverts);
-               R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i, 0, 0);
+               R_Mesh_Draw(0, skysphere_numverts, 0, skysphere_numtriangles, NULL, skysphere_elements, 0, 0);
                GL_LockArrays(0, 0);
                R_Mesh_TexBind(1, 0);
        }
@@ -414,13 +424,13 @@ static void R_SkySphere(void)
                // two pass
                R_SetupGenericShader(true);
                GL_LockArrays(0, skysphere_numverts);
-               R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i, 0, 0);
+               R_Mesh_Draw(0, skysphere_numverts, 0, skysphere_numtriangles, NULL, skysphere_elements, 0, 0);
 
                GL_BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
                R_Mesh_TexBind(0, R_GetTexture(r_refdef.scene.worldmodel->brush.alphaskytexture));
                R_Mesh_TexMatrix(0, &scroll2matrix);
                GL_LockArrays(0, skysphere_numverts);
-               R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i, 0, 0);
+               R_Mesh_Draw(0, skysphere_numverts, 0, skysphere_numtriangles, NULL, skysphere_elements, 0, 0);
                GL_LockArrays(0, 0);
        }
 
@@ -431,7 +441,7 @@ static void R_SkySphere(void)
                GL_BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
                GL_Color(r_refdef.fogcolor[0], r_refdef.fogcolor[1], r_refdef.fogcolor[2], 1 - r_refdef.fogmasktable[FOGMASKTABLEWIDTH-1]);
                GL_LockArrays(0, skysphere_numverts);
-               R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i, 0, 0);
+               R_Mesh_Draw(0, skysphere_numverts, 0, skysphere_numtriangles, NULL, skysphere_elements, 0, 0);
                GL_LockArrays(0, 0);
        }
 }