]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_backend.c
fix external model skins (they weren't rendering)
[xonotic/darkplaces.git] / gl_backend.c
index a815ba6254d857d1bb59351174c9c240c062d471..c5fa542f4783654d115021070022080bcbb7d53c 100644 (file)
@@ -249,7 +249,7 @@ void GL_SetupView_Mode_Perspective (double fovx, double fovy, double zNear, doub
 
        // set up viewpoint
        qglMatrixMode(GL_PROJECTION);CHECKGLERROR
-       qglLoadIdentity ();CHECKGLERROR
+       qglLoadIdentity();CHECKGLERROR
        // pyramid slopes
        xmax = zNear * tan(fovx * M_PI / 360.0);
        ymax = zNear * tan(fovy * M_PI / 360.0);
@@ -261,14 +261,14 @@ void GL_SetupView_Mode_Perspective (double fovx, double fovy, double zNear, doub
 
 void GL_SetupView_Mode_PerspectiveInfiniteFarClip (double fovx, double fovy, double zNear)
 {
-       double nudge, m[16];
+       float nudge, m[16];
 
        if (!r_render.integer)
                return;
 
        // set up viewpoint
        qglMatrixMode(GL_PROJECTION);CHECKGLERROR
-       qglLoadIdentity ();CHECKGLERROR
+       qglLoadIdentity();CHECKGLERROR
        // set view pyramid
        nudge = 1.0 - 1.0 / (1<<23);
        m[ 0] = 1.0 / tan(fovx * M_PI / 360.0);
@@ -287,7 +287,7 @@ void GL_SetupView_Mode_PerspectiveInfiniteFarClip (double fovx, double fovy, dou
        m[13] = 0;
        m[14] = -2 * zNear * nudge;
        m[15] = 0;
-       qglLoadMatrixd(m);
+       qglLoadMatrixf(m);
        qglMatrixMode(GL_MODELVIEW);CHECKGLERROR
        GL_SetupView_Orientation_Identity();
        backend_projectmatrix.m[0][0] = m[0];
@@ -315,7 +315,7 @@ void GL_SetupView_Mode_Ortho (double x1, double y1, double x2, double y2, double
 
        // set up viewpoint
        qglMatrixMode(GL_PROJECTION);CHECKGLERROR
-       qglLoadIdentity ();CHECKGLERROR
+       qglLoadIdentity();CHECKGLERROR
        qglOrtho(x1, x2, y2, y1, zNear, zFar);
        qglMatrixMode(GL_MODELVIEW);CHECKGLERROR
        GL_SetupView_Orientation_Identity();
@@ -842,7 +842,7 @@ void R_Mesh_State(const rmeshstate_t *m)
 qboolean SCR_ScreenShot(char *filename, int x, int y, int width, int height)
 {
        qboolean ret;
-       int i;
+       int i, j;
        qbyte *buffer;
 
        if (!r_render.integer)
@@ -854,8 +854,13 @@ qboolean SCR_ScreenShot(char *filename, int x, int y, int width, int height)
 
        // LordHavoc: compensate for v_overbrightbits when using hardware gamma
        if (v_hwgamma.integer)
+       {
                for (i = 0;i < width * height * 3;i++)
-                       buffer[i] <<= v_overbrightbits.integer;
+               {
+                       j = buffer[i] << v_overbrightbits.integer;
+                       buffer[i] = (qbyte) (bound(0, j, 255));
+               }
+       }
 
        ret = Image_WriteTGARGB_preflipped(filename, width, height, buffer);