From 1caaf5487c20ee4b2c951aa15937679ae79a8354 Mon Sep 17 00:00:00 2001 From: Variable Date: Sun, 1 Sep 2024 14:35:52 +0500 Subject: [PATCH] Some final touches, i think it's ready now --- src/Classes/ResourceProject.gd | 2 +- src/Classes/ShaderLoader.gd | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Classes/ResourceProject.gd b/src/Classes/ResourceProject.gd index 577dc85ab..cedb7d155 100644 --- a/src/Classes/ResourceProject.gd +++ b/src/Classes/ResourceProject.gd @@ -5,4 +5,4 @@ signal resource_updated func _init(_frames: Array[Frame] = [], _name := tr("untitled"), _size := Vector2i(64, 64)) -> void: - super._init(_frames, _name + " (Texture Resource)", _size) + super._init(_frames, _name + " (Virtual Resource)", _size) diff --git a/src/Classes/ShaderLoader.gd b/src/Classes/ShaderLoader.gd index 23d6e6d6b..5131dfdbc 100644 --- a/src/Classes/ShaderLoader.gd +++ b/src/Classes/ShaderLoader.gd @@ -359,9 +359,17 @@ static func _get_loaded_texture(params: Dictionary, parameter_name: String) -> I static func _shader_update_texture( resource_proj: ResourceProject, value_changed: Callable, parameter_name: String ) -> void: + var warnings = "" + if resource_proj.frames.size() > 1: + warnings += "This resource is intended to have 1 frame only. Extra frames will be ignored." + if resource_proj.layers.size() > 1: + warnings += "\nThis resource is intended to have 1 layer only. layers will be blended." + var updated_image = Image.create_empty( resource_proj.size.x, resource_proj.size.y, false, Image.FORMAT_RGBA8 ) var frame = resource_proj.frames[0] DrawingAlgos.blend_layers(updated_image, frame, Vector2i.ZERO, resource_proj) value_changed.call(ImageTexture.create_from_image(updated_image), parameter_name) + if not warnings.is_empty(): + Global.popup_error(warnings)