Fix wrong fail contion in compressed texture and some clean up

(cherry picked from commit 6a3b63eb36)
This commit is contained in:
jsjtxietian 2024-01-08 12:53:18 +08:00 committed by Rémi Verschelde
parent a5aa6910bc
commit 8d069c3f5c
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -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());