Browse Source

Fix wrong fail contion in compressed texture and some clean up

(cherry picked from commit 6a3b63eb3616aa71ac9e1866ff6f502b37af8779)
jsjtxietian 1 year ago
parent
commit
8d069c3f5c
1 changed files with 3 additions and 3 deletions
  1. 3 3
      scene/resources/portable_compressed_texture.cpp

+ 3 - 3
scene/resources/portable_compressed_texture.cpp

@@ -63,7 +63,7 @@ void PortableCompressedTexture2D::_set_data(const Vector<uint8_t> &p_data) {
 				uint32_t mipsize = decode_uint32(data);
 				data += 4;
 				data_size -= 4;
-				ERR_FAIL_COND(mipsize < data_size);
+				ERR_FAIL_COND(mipsize > data_size);
 				Ref<Image> img = memnew(Image(data, data_size));
 				ERR_FAIL_COND(img->is_empty());
 				if (img->get_format() != format) { // May happen due to webp/png in the tiny mipmaps.
@@ -75,7 +75,7 @@ void PortableCompressedTexture2D::_set_data(const Vector<uint8_t> &p_data) {
 				data_size -= mipsize;
 			}
 
-			image = Ref<Image>(memnew(Image(size.width, size.height, mipmap_count > 1, format, image_data)));
+			image = Ref<Image>(memnew(Image(size.width, size.height, mipmaps, format, image_data)));
 
 		} break;
 		case COMPRESSION_MODE_BASIS_UNIVERSAL: {
@@ -86,7 +86,7 @@ void PortableCompressedTexture2D::_set_data(const Vector<uint8_t> &p_data) {
 		case COMPRESSION_MODE_S3TC:
 		case COMPRESSION_MODE_ETC2:
 		case COMPRESSION_MODE_BPTC: {
-			image = Ref<Image>(memnew(Image(size.width, size.height, mipmap_count > 1, format, p_data.slice(20))));
+			image = Ref<Image>(memnew(Image(size.width, size.height, mipmaps, format, p_data.slice(20))));
 		} break;
 	}
 	ERR_FAIL_COND(image.is_null());