X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=r_sky.c;h=d6bea0166b07cb9d80c29b610537e04c040f1253;hp=b58ada98e34467f7c062e9c5526ad5d955177c22;hb=a1f6daea42fca6b37d92ca89ae7a9a18cb77588b;hpb=8b554980f64dffdba3e87209cdc5ab49c4741eca diff --git a/r_sky.c b/r_sky.c index b58ada98..d6bea016 100644 --- a/r_sky.c +++ b/r_sky.c @@ -84,7 +84,7 @@ void R_UnloadSkyBox(void) } } -void R_LoadSkyBox(void) +int R_LoadSkyBox(void) { int i, j, success; int indices[4] = {0,1,2,3}; @@ -95,20 +95,20 @@ void R_LoadSkyBox(void) R_UnloadSkyBox(); if (!skyname[0]) - return; + return true; for (j=0; j<3; j++) { success = 0; for (i=0; i<6; i++) { - if (snprintf(name, sizeof(name), "%s_%s", skyname, suffix[j][i].suffix) >= (int)sizeof(name) || !(image_rgba = loadimagepixels(name, false, 0, 0))) + if (dpsnprintf(name, sizeof(name), "%s_%s", skyname, suffix[j][i].suffix) < 0 || !(image_rgba = loadimagepixels(name, false, 0, 0))) { - if (snprintf(name, sizeof(name), "%s%s", skyname, suffix[j][i].suffix) >= (int)sizeof(name) || !(image_rgba = loadimagepixels(name, false, 0, 0))) + if (dpsnprintf(name, sizeof(name), "%s%s", skyname, suffix[j][i].suffix) < 0 || !(image_rgba = loadimagepixels(name, false, 0, 0))) { - if (snprintf(name, sizeof(name), "env/%s%s", skyname, suffix[j][i].suffix) >= (int)sizeof(name) || !(image_rgba = loadimagepixels(name, false, 0, 0))) + if (dpsnprintf(name, sizeof(name), "env/%s%s", skyname, suffix[j][i].suffix) < 0 || !(image_rgba = loadimagepixels(name, false, 0, 0))) { - if (snprintf(name, sizeof(name), "gfx/env/%s%s", skyname, suffix[j][i].suffix) >= (int)sizeof(name) || !(image_rgba = loadimagepixels(name, false, 0, 0))) + if (dpsnprintf(name, sizeof(name), "gfx/env/%s%s", skyname, suffix[j][i].suffix) < 0 || !(image_rgba = loadimagepixels(name, false, 0, 0))) continue; } } @@ -126,7 +126,9 @@ void R_LoadSkyBox(void) } if (j == 3) - Con_Printf ("Failed to load %s as skybox\n", skyname); + return false; + + return true; } int R_SetSkyBox(const char *sky) @@ -142,11 +144,7 @@ int R_SetSkyBox(const char *sky) strcpy(skyname, sky); - R_LoadSkyBox(); - - if (!skyname[0]) - return true; - return false; + return R_LoadSkyBox(); } // LordHavoc: added LoadSky console command @@ -283,7 +281,7 @@ static void R_SkyBox(void) { m.tex[0] = R_GetTexture(skyboxside[i]); R_Mesh_State(&m); - R_Mesh_Draw(6*4, 2, skyboxelements + i * 6); + R_Mesh_Draw(0, 6*4, 2, skyboxelements + i * 6); } GL_LockArrays(0, 0); } @@ -387,7 +385,7 @@ static void R_SkySphere(void) m.texmatrix[1] = scroll2matrix; R_Mesh_State(&m); GL_LockArrays(0, skysphere_numverts); - R_Mesh_Draw(skysphere_numverts, skysphere_numtriangles, skysphere_element3i); + R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i); GL_LockArrays(0, 0); } else @@ -395,7 +393,7 @@ static void R_SkySphere(void) // two pass R_Mesh_State(&m); GL_LockArrays(0, skysphere_numverts); - R_Mesh_Draw(skysphere_numverts, skysphere_numtriangles, skysphere_element3i); + R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i); GL_LockArrays(0, 0); GL_BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -403,7 +401,7 @@ static void R_SkySphere(void) m.texmatrix[0] = scroll2matrix; R_Mesh_State(&m); GL_LockArrays(0, skysphere_numverts); - R_Mesh_Draw(skysphere_numverts, skysphere_numtriangles, skysphere_element3i); + R_Mesh_Draw(0, skysphere_numverts, skysphere_numtriangles, skysphere_element3i); GL_LockArrays(0, 0); } } @@ -441,7 +439,7 @@ void R_Sky(void) void R_ResetSkyBox(void) { - skyboxside[0] = skyboxside[1] = skyboxside[2] = skyboxside[3] = skyboxside[4] = skyboxside[5] = NULL; + R_UnloadSkyBox(); skyname[0] = 0; R_LoadSkyBox(); } @@ -469,7 +467,7 @@ void R_Sky_Init(void) Cvar_RegisterVariable (&r_sky); Cvar_RegisterVariable (&r_skyscroll1); Cvar_RegisterVariable (&r_skyscroll2); - skyboxside[0] = skyboxside[1] = skyboxside[2] = skyboxside[3] = skyboxside[4] = skyboxside[5] = NULL; + memset(&skyboxside, 0, sizeof(skyboxside)); skyname[0] = 0; R_RegisterModule("R_Sky", r_sky_start, r_sky_shutdown, r_sky_newmap); }