image_width = pcx.xmax + 1 - pcx.xmin;
image_height = pcx.ymax + 1 - pcx.ymin;
- if (pcx.manufacturer != 0x0a || pcx.version != 5 || pcx.encoding != 1 || pcx.bits_per_pixel != 8 || image_width > 4096 || image_height > 4096 || image_width <= 0 || image_height <= 0)
+ if (pcx.manufacturer != 0x0a || pcx.version != 5 || pcx.encoding != 1 || pcx.bits_per_pixel != 8 || image_width > 32768 || image_height > 32768 || image_width <= 0 || image_height <= 0)
{
Con_Print("Bad pcx file\n");
return NULL;
targa_header.pixel_size = f[16];
targa_header.attributes = f[17];
- if (image_width > 4096 || image_height > 4096 || image_width <= 0 || image_height <= 0)
+ if (image_width > 32768 || image_height > 32768 || image_width <= 0 || image_height <= 0)
{
Con_Print("LoadTGA: invalid size\n");
PrintTargaHeader(&targa_header);
image_width = LittleLong(inwal->width);
image_height = LittleLong(inwal->height);
- if (image_width > 4096 || image_height > 4096 || image_width <= 0 || image_height <= 0)
+ if (image_width > 32768 || image_height > 32768 || image_width <= 0 || image_height <= 0)
{
Con_Printf("LoadWAL: invalid size %ix%i\n", image_width, image_height);
return NULL;
// this math from http://www.opengl.org/registry/specs/EXT/texture_sRGB.txt
if (!image_linearfromsrgb[255])
for (i = 0;i < 256;i++)
- image_linearfromsrgb[i] = i < 11 ? (int)(i / 12.92f) : (int)(pow((i/256.0f + 0.055f)/1.0555f, 2.4f)*256.0f);
+ image_linearfromsrgb[i] = (unsigned char)(Image_LinearFloatFromsRGB(i) * 256.0f);
for (i = 0;i < numpixels;i++)
{
pout[i*4+0] = image_linearfromsrgb[pin[i*4+0]];
}
extern cvar_t gl_picmip;
-rtexture_t *loadtextureimage (rtexturepool_t *pool, const char *filename, qboolean complain, int flags, qboolean allowFixtrans, qboolean convertsRGB)
+rtexture_t *loadtextureimage (rtexturepool_t *pool, const char *filename, qboolean complain, int flags, qboolean allowFixtrans, qboolean sRGB)
{
unsigned char *data;
rtexture_t *rt;
int miplevel = R_PicmipForFlags(flags);
- if (!(data = loadimagepixelsbgra (filename, complain, allowFixtrans, convertsRGB, &miplevel)))
+ if (!(data = loadimagepixelsbgra (filename, complain, allowFixtrans, false, &miplevel)))
return 0;
- rt = R_LoadTexture2D(pool, filename, image_width, image_height, data, TEXTYPE_BGRA, flags, miplevel, NULL);
+ rt = R_LoadTexture2D(pool, filename, image_width, image_height, data, sRGB ? TEXTYPE_SRGB_BGRA : TEXTYPE_BGRA, flags, miplevel, NULL);
Mem_Free(data);
return rt;
}