Bläddra i källkod

Handle compressed images in TileSetAtlasSource::_create_padded_image_texture

Check for compressed image and decompress if needed

Fixes #78755
aaronp64 1 år sedan
förälder
incheckning
ff60f7b6d4
1 ändrade filer med 5 tillägg och 0 borttagningar
  1. 5 0
      scene/resources/2d/tile_set.cpp

+ 5 - 0
scene/resources/2d/tile_set.cpp

@@ -5591,6 +5591,11 @@ Ref<ImageTexture> TileSetAtlasSource::_create_padded_image_texture(const Ref<Tex
 		ret.instantiate();
 		ret.instantiate();
 		return ret;
 		return ret;
 	}
 	}
+	if (src_image->is_compressed()) {
+		src_image = src_image->duplicate();
+		Error err = src_image->decompress();
+		ERR_FAIL_COND_V_MSG(err != OK, Ref<ImageTexture>(), "Unable to decompress image.");
+	}
 
 
 	Size2 size = get_atlas_grid_size() * (texture_region_size + Vector2i(2, 2));
 	Size2 size = get_atlas_grid_size() * (texture_region_size + Vector2i(2, 2));
 	Ref<Image> image = Image::create_empty(size.x, size.y, false, src_image->get_format());
 	Ref<Image> image = Image::create_empty(size.x, size.y, false, src_image->get_format());