diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 228c8a00b..a94587acc 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -1567,6 +1567,16 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { return _s > 0.5? drawJunctions(xx, yy, _mx, _my, _s) : drawJunctions_fast(xx, yy, _mx, _my, _s); } #endregion + static drawNodeBehind = function(_x, _y, _mx, _my, _s) { #region + if(draw_graph_culled) return; + if(!active) return; + + var xx = x * _s + _x; + var yy = y * _s + _y; + + onDrawNodeBehind(_x, _y, _mx, _my, _s); + } #endregion + static onDrawNodeBehind = function(_x, _y, _mx, _my, _s) {} static onDrawNode = function(xx, yy, _mx, _my, _s, _hover = false, _focus = false) {} diff --git a/scripts/node_image_sequence/node_image_sequence.gml b/scripts/node_image_sequence/node_image_sequence.gml index e3792e70a..a8416adad 100644 --- a/scripts/node_image_sequence/node_image_sequence.gml +++ b/scripts/node_image_sequence/node_image_sequence.gml @@ -113,6 +113,7 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons var ext = string_lower(filename_ext(path)); setDisplayName(filename_name_only(path)); + edit_time = max(edit_time, file_get_modify_s(path)); switch(ext) { case ".png" : @@ -125,7 +126,6 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons return false; } - edit_time = max(edit_time, file_get_modify_s(path)); array_push(spr, _spr); break; } @@ -139,7 +139,9 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons static step = function() { #region if(attributes.file_checker) for( var i = 0, n = array_length(path_current); i < n; i++ ) { - if(file_get_modify_s(path_current[i]) > edit_time) { + var _ed = file_get_modify_s(path_current[i]); + + if(_ed > edit_time) { updatePaths(); triggerRender(); break; diff --git a/scripts/node_posterize/node_posterize.gml b/scripts/node_posterize/node_posterize.gml index 925b88e40..9d0da719f 100644 --- a/scripts/node_posterize/node_posterize.gml +++ b/scripts/node_posterize/node_posterize.gml @@ -50,22 +50,21 @@ function Node_Posterize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) var _alp = _data[6]; if(_use_gra) { - var _colors = paletteToArray(_gra); - surface_set_shader(_outSurf, sh_posterize_palette); - shader_set_f("palette", _colors); + shader_set_f("palette", paletteToArray(_gra)); shader_set_i("keys", array_length(_gra)); shader_set_i("alpha", _alp); - draw_surface_safe(_data[0], 0, 0); + draw_surface_safe(_data[0]); surface_reset_shader(); + } else { surface_set_shader(_outSurf, sh_posterize); shader_set_i("colors", _data[3]); shader_set_f_map("gamma", _data[4], _data[7], inputs[| 4]); shader_set_i("alpha", _alp); - draw_surface_safe(_data[0], 0, 0); + draw_surface_safe(_data[0]); surface_reset_shader(); } diff --git a/scripts/panel_graph/panel_graph.gml b/scripts/panel_graph/panel_graph.gml index c4756f6d9..2b4c6f057 100644 --- a/scripts/panel_graph/panel_graph.gml +++ b/scripts/panel_graph/panel_graph.gml @@ -1200,7 +1200,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { #region draw node var t = get_timer(); for(var i = 0; i < ds_list_size(nodes_list); i++) - nodes_list[| i].onDrawNodeBehind(gr_x, gr_y, mx, my, graph_s); + nodes_list[| i].drawNodeBehind(gr_x, gr_y, mx, my, graph_s); for(var i = 0; i < ds_list_size(nodes_list); i++) { var _node = nodes_list[| i]; @@ -1376,7 +1376,10 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { } #endregion function drawJunctionConnect() { #region + if(value_dragging) { + if(!value_dragging.node.active) { value_dragging = noone; return; } + var xx = value_dragging.x; var yy = value_dragging.y; var _mx = mx; diff --git a/shaders/sh_posterize_palette/sh_posterize_palette.fsh b/shaders/sh_posterize_palette/sh_posterize_palette.fsh index 698090271..198f4c887 100644 --- a/shaders/sh_posterize_palette/sh_posterize_palette.fsh +++ b/shaders/sh_posterize_palette/sh_posterize_palette.fsh @@ -1,6 +1,3 @@ -// -// Simple passthrough fragment shader -// varying vec2 v_vTexcoord; varying vec4 v_vColour;