mirror of
https://github.com/FWGS/xash3d-fwgs
synced 2024-12-23 17:25:24 +01:00
imagelib: support for 16-bit transparent tga
This commit is contained in:
parent
13c1e807ad
commit
9a1414505a
@ -111,7 +111,7 @@ qboolean Image_LoadTGA( const char *name, const byte *buffer, fs_offset_t filesi
|
||||
else if( targa_header.image_type == 3 || targa_header.image_type == 11 )
|
||||
{
|
||||
// uncompressed greyscale
|
||||
if( targa_header.pixel_size != 8 )
|
||||
if( targa_header.pixel_size != 8 && targa_header.pixel_size != 16 )
|
||||
{
|
||||
Con_DPrintf( S_ERROR "Image_LoadTGA: (%s) Only 8 bit images supported for type 3 and 11\n", name );
|
||||
return false;
|
||||
@ -160,11 +160,14 @@ qboolean Image_LoadTGA( const char *name, const byte *buffer, fs_offset_t filesi
|
||||
case 9:
|
||||
// colormapped image
|
||||
blue = *buf_p++;
|
||||
red = palette[blue][0];
|
||||
green = palette[blue][1];
|
||||
alpha = palette[blue][3];
|
||||
blue = palette[blue][2];
|
||||
if( alpha != 255 ) image.flags |= IMAGE_HAS_ALPHA;
|
||||
if( blue < targa_header.colormap_length )
|
||||
{
|
||||
red = palette[blue][0];
|
||||
green = palette[blue][1];
|
||||
alpha = palette[blue][3];
|
||||
blue = palette[blue][2];
|
||||
if( alpha != 255 ) image.flags |= IMAGE_HAS_ALPHA;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 10:
|
||||
@ -184,7 +187,14 @@ qboolean Image_LoadTGA( const char *name, const byte *buffer, fs_offset_t filesi
|
||||
case 11:
|
||||
// greyscale image
|
||||
blue = green = red = *buf_p++;
|
||||
alpha = 255;
|
||||
if( targa_header.pixel_size == 16 )
|
||||
{
|
||||
alpha = *buf_p++;
|
||||
if( alpha != 255 )
|
||||
image.flags |= IMAGE_HAS_ALPHA;
|
||||
}
|
||||
else
|
||||
alpha = 255;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user