Browse Source

Don't error if a compressed texture with no mipmap information is passed into love.graphics.newImage and the mipmaps flag is true.

Alex Szpakowski 10 years ago
parent
commit
12450c9657
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/modules/graphics/opengl/Image.cpp

+ 6 - 1
src/modules/graphics/opengl/Image.cpp

@@ -119,7 +119,12 @@ Image::Image(const std::vector<love::image::CompressedImageData *> &compressedda
 	if (verifyMipmapLevels(compresseddata))
 		this->flags.mipmaps = true;
 	else if (flags.mipmaps && getMipmapCount(width, height) != compresseddata[0]->getMipmapCount())
-		throw love::Exception("Image cannot have mipmaps: compressed image data does not have all required mipmap levels.");
+	{
+		if (compresseddata[0]->getMipmapCount() == 1)
+			this->flags.mipmaps = false;
+		else
+			throw love::Exception("Image cannot have mipmaps: compressed image data does not have all required mipmap levels.");
+	}
 
 	for (const auto &cd : compresseddata)
 	{