From 35497de8fca1820bb7d5dfc983415511f8275237 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Tue, 11 Jan 2022 21:55:49 +0100 Subject: [PATCH] More fixes in painting tool --- material_maker/panels/paint/paint.gd | 18 ++++++++---------- material_maker/panels/paint/paint_layers.gd | 6 ++++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/material_maker/panels/paint/paint.gd b/material_maker/panels/paint/paint.gd index ce3672e9..446ee959 100644 --- a/material_maker/panels/paint/paint.gd +++ b/material_maker/panels/paint/paint.gd @@ -202,14 +202,6 @@ func set_object(o): mat = o.mesh.surface_get_material(0) if mat == null: mat = SpatialMaterial.new() - """ - for t in [ "albedo_texture", "metallic_texture", "roughness_texture" ]: - if mat[t] != null: - var size = mat[t].get_size() - if size.x == size.y: - layers.set_texture_size(size.x) - break - """ preview_material = SpatialMaterial.new() preview_material.albedo_texture = layers.get_albedo_texture() preview_material.albedo_texture.flags = Texture.FLAGS_DEFAULT @@ -581,8 +573,8 @@ var brush_changed_scheduled : bool = false func on_brush_changed(_p, _v) -> void: if !brush_changed_scheduled: - call_deferred("do_on_brush_changed") brush_changed_scheduled = true + call_deferred("do_on_brush_changed") func do_on_brush_changed(): painter.set_brush_preview_material(brush_view_3d.material) @@ -919,7 +911,13 @@ func undoredo_command(command : Dictionary) -> void: painter.set_state(state) else: layer.set_state(state) - layers._on_layers_changed() + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + layers._on_layers_changed() stroke_history.layers[layer].current = command.index func initialize_layer_history(layer): diff --git a/material_maker/panels/paint/paint_layers.gd b/material_maker/panels/paint/paint_layers.gd index 8f975af5..96de6274 100644 --- a/material_maker/panels/paint/paint_layers.gd +++ b/material_maker/panels/paint/paint_layers.gd @@ -394,9 +394,11 @@ func load(data : Dictionary, file_name : String): var dir_name = file_name.left(file_name.rfind(".")) layers.clear() load_layers(data.layers, layers, dir_name) - if !layers.empty(): - select_layer(layers[0]) _on_layers_changed() + if !layers.empty(): + for i in range(32): + yield(get_tree(), "idle_frame") + select_layer(layers[0]) func load_layers(data_layers : Array, layers_array : Array, path : String, first_index : int = 0) -> int: for l in data_layers: