DEADSOFTWARE

cosmetix in targa loader
authorKetmar Dark <ketmar@ketmar.no-ip.org>
Thu, 7 Apr 2016 07:40:01 +0000 (10:40 +0300)
committerKetmar Dark <ketmar@ketmar.no-ip.org>
Thu, 7 Apr 2016 07:40:01 +0000 (10:40 +0300)
src/engine/e_textures.pas

index e7bcbcf99e89db1f8cd72da1bb77423ea1bde9fd..ef9b660c9254c694f15bdf7900c088ba2e18532c 100644 (file)
@@ -192,6 +192,12 @@ begin
     Exit;
   end;
 
+  if (TGAHeader.ImageInfo and $c0) <> 0 then
+  begin
+    e_WriteLog('Error loading texture: interleaved TGA', MSG_WARNING);
+    Exit;
+  end;
+
   Width  := TGAHeader.Width[0]  + TGAHeader.Width[1]  * 256;
   Height := TGAHeader.Height[0] + TGAHeader.Height[1] * 256;
   BPP := TGAHeader.BPP;
@@ -210,6 +216,8 @@ begin
     Back^  := Temp;
   end;
 
+  //if (TGAHeader.ImageInfo and $20) <> 0 then UpsideDown(Image, Width, Height);
+
   if ( BPP = 24 ) then
     TFmt := GL_RGB
   else
@@ -265,6 +273,12 @@ begin
     Exit;
   end;
 
+  if (TGAHeader.ImageInfo and $c0) <> 0 then
+  begin
+    e_WriteLog('Error loading texture: interleaved TGA', MSG_WARNING);
+    Exit;
+  end;
+
   Width  := TGAHeader.Width[0]  + TGAHeader.Width[1]  * 256;
   Height := TGAHeader.Height[0] + TGAHeader.Height[1] * 256;
   BPP := TGAHeader.BPP;
@@ -301,6 +315,8 @@ begin
   for i := 0 to fHeight-1 do
     CopyMemory( PByte(image) + a*i, Base + b*i, a );
 
+  //if (TGAHeader.ImageInfo and $20) <> 0 then UpsideDown(Image, Width, Height);
+
   if ( BPP = 24 ) then
     TFmt := GL_RGB
   else