diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-08 14:53:43 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-08 14:53:43 +0100 |
commit | 84e205b5a17bfe7ace96b78c410ec10aa52241d2 (patch) | |
tree | 1201a49e71bf1d0f8ded04e02a532f230146aafc | |
parent | c6671d9961eb8e2354b29ad4c25c71fb518ca6a8 (diff) | |
parent | 6a3b63eb3616aa71ac9e1866ff6f502b37af8779 (diff) | |
download | redot-engine-84e205b5a17bfe7ace96b78c410ec10aa52241d2.tar.gz |
Merge pull request #86950 from jsjtxietian/fix-compress-image-error
Fix wrong fail condition in compressed texture's `_set_data`
-rw-r--r-- | scene/resources/portable_compressed_texture.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/scene/resources/portable_compressed_texture.cpp b/scene/resources/portable_compressed_texture.cpp index 19a96d6ab2..918b5c0b41 100644 --- a/scene/resources/portable_compressed_texture.cpp +++ b/scene/resources/portable_compressed_texture.cpp @@ -75,7 +75,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 = loader_func == nullptr ? memnew(Image(data, data_size)) : Ref<Image>(loader_func(data, data_size)); @@ -89,7 +89,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: { @@ -100,7 +100,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()); |