return rt;
}
-qboolean Image_WriteTGARGB_preflipped (const char *filename, int width, int height, const qbyte *data)
+qboolean Image_WriteTGARGB_preflipped (const char *filename, int width, int height, const qbyte *data, qbyte *buffer)
{
qboolean ret;
- qbyte *buffer, *out;
+ qbyte *out;
const qbyte *in, *end;
- buffer = Mem_Alloc(tempmempool, width*height*3 + 18);
-
memset (buffer, 0, 18);
buffer[2] = 2; // uncompressed type
buffer[12] = (width >> 0) & 0xFF;
}
ret = FS_WriteFile (filename, buffer, width*height*3 + 18 );
- Mem_Free(buffer);
return ret;
}
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;
Mem_Free(resamplerow1);
resamplerowsize = outwidth*4;
if (!resamplemempool)
- resamplemempool = Mem_AllocPool("Image Scaling Buffer");
+ resamplemempool = Mem_AllocPool("Image Scaling Buffer", 0, NULL);
resamplerow1 = Mem_Alloc(resamplemempool, resamplerowsize*2);
resamplerow2 = resamplerow1 + resamplerowsize;
}
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] = ((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[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[2] = ibumpscale;
VectorNormalize(n);
/*