]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - image.c
improved/modified q1bsp surfmesh stuff for more general use (to make q3bsp able to...
[xonotic/darkplaces.git] / image.c
diff --git a/image.c b/image.c
index 3ecbea398671fe3ecb5310f5cae3f1183e5fdf1b..02ac9233fbfe786127b4b8f62f176fa5059217c6 100644 (file)
--- a/image.c
+++ b/image.c
@@ -931,6 +931,7 @@ void Image_WriteTGARGBA (const char *filename, int width, int height, const qbyt
        buffer[14] = (height >> 0) & 0xFF;
        buffer[15] = (height >> 8) & 0xFF;
        buffer[16] = 32;        // pixel size
+       buffer[17] = 8; // transparent flag? (seems to be needed by gimp)
 
        // swap rgba to bgra and flip upside down
        out = buffer + 18;
@@ -1502,8 +1503,8 @@ void Image_HeightmapToNormalmap(const unsigned char *inpixels, unsigned char *ou
                        n[1] = dv[0][2]*dv[1][0]-dv[0][0]*dv[1][2];
                        n[2] = dv[0][0]*dv[1][1]-dv[0][1]*dv[1][0];
                        */
-                       n[0] = ((p0[0] + p0[1] + p0[2]) - (p1[0] + p1[1] + p1[2]));
-                       n[1] = ((p2[0] + p2[1] + p2[2]) - (p0[0] + p0[1] + p0[2]));
+                       n[0] = ((p1[0] + p1[1] + p1[2]) - (p0[0] + p0[1] + p0[2]));
+                       n[1] = ((p0[0] + p0[1] + p0[2]) - (p2[0] + p2[1] + p2[2]));
                        n[2] = ibumpscale;
                        VectorNormalize(n);
                        /*
@@ -1517,7 +1518,7 @@ void Image_HeightmapToNormalmap(const unsigned char *inpixels, unsigned char *ou
                        out[0] = 128.0f + n[0] * 127.0f;
                        out[1] = 128.0f + n[1] * 127.0f;
                        out[2] = 128.0f + n[2] * 127.0f;
-                       out[3] = 255;
+                       out[3] = (p0[0] + p0[1] + p0[2]) / 3;
                        out += 4;
                }
        }