From 41aa0fb7e9815000f9f789a7a5bff9fbd993221e Mon Sep 17 00:00:00 2001 From: Tanasart Date: Mon, 20 Jan 2025 15:51:51 +0700 Subject: [PATCH] rem arr push rend --- datafiles/data/Nodes/Internal.zip | Bin 9092813 -> 9092813 bytes scripts/node_data/node_data.gml | 34 +++++++------ scripts/node_pixel_sort/node_pixel_sort.gml | 51 +++++++++----------- scripts/node_value/node_value.gml | 4 +- scripts/project_data/project_data.gml | 3 -- scripts/render_data/render_data.gml | 21 -------- 6 files changed, 45 insertions(+), 68 deletions(-) diff --git a/datafiles/data/Nodes/Internal.zip b/datafiles/data/Nodes/Internal.zip index ac9ab11d97214f34185c043bd162eb4f8b8009f0..59ef3feb96e7ba15aab56fd492592092869dda94 100644 GIT binary patch delta 1286 zcmY+?Sxi({7zc2L!Le3p5v|MIq718|1r#?B5WG6WP!+X0R!3YA>%QPVRv7HRGoIU+ zHfiFiFTPkAnDkA}#1KszNlXBVzUfP&F}@jXV*6CP{J*(Z#7Tbn=R4;+OXl4B|0G=Z zDT2{RLpof@z!A&WMdL0;}cB5R7}HkcwpdDM2?V;<(C0t>JZi?A3=P>CumMKx+ri)E-oJ(k}vOMGdC zVg1l=dbHnXPLLw#GfO2e_{&M|p>ft4_hY8Twg|%9EK?k)Kd`?{3waux}Mh*xSlZ$=?$y{}*`=SI`PbHU%vo zGkG~^Ep^F2=2o8mdW%&iMM22!IvTPXrM?rgR!cXVp6AM6`&YYFFPXaYh7PMpiuMkx r&KX?p)Q0v(tb*ar)`;DiT9$B%X`MXzRm3WmHWudF_T<@4YhCsKpWOiV delta 1286 zcmY+?TTGK@7zgkP#d<^$=c%741q4M0C{6`I!B1O?2h?ddtxU(5$4*5z&rtMl>-!m_ ziHWb?c%xEiyi?Pd#$`s5C4j`;&6{Or@ow3cIIp(p{!hP8WF)`*^E~hK9zwsT|0Y~d zDS{EmKqg$s!brF=3ZpRwV=)fnk&OwMh#X8pE+*qcOuI9_{y;GYHG}MP5wasxV*W+oGZ&^{ZWs8^c>ma{t@JK^fbSp!O4c)5BNkhlGRh|?-bgN~Ok2@?w=k=&!DR`5i zTY8jtsJP`6e4C+v?NJ4?k}e7ps^I;rS`+rGVhQ_LIVt&bLKWVX|A{MT1tgn-mXDdd z5ww=Oq>;UYx4+tMl}k|+vZoG*tVXH73t8)BnnN%1rSZDms+UZ^c}s^?EJb^VRp&HU oIklm^5vyouvNd8)rne=WVtOZU{v%?Q$QTRr-FWg;r?si(KSJs%b^rhX diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index ed43f9369..4b2a4d001 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -1283,7 +1283,7 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { } __nextNodesToLoop = noone; - for(var i = 0; i < array_length(outputs); i++) { + for( var i = 0, n = array_length(outputs); i < n; i++ ) { var _ot = outputs[i]; if(!_ot.forward) continue; @@ -1300,30 +1300,36 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { if(__nextNodes != noone) return __nextNodes; var nodes = []; - for(var i = 0; i < array_length(outputs); i++) { + for( var i = 0, n = array_length(outputs); i < n; i++ ) { var _ot = outputs[i]; if(!_ot.forward) continue; - var arr = _ot.getJunctionTo(); - array_map_ext(arr, function(t) /*=>*/ {return t.node}); - nodes = array_concat(nodes, arr); + for( var j = 0, m = array_length(_ot.value_to); j < m; j++ ) { + var _jto = _ot.value_to[j]; + if(_jto.value_from != _jto || !_jto.node.active) continue; + array_push(nodes, _jto.node); + } } - for(var i = 0; i < array_length(junc_meta); i++) { + for( var i = 0, n = array_length(junc_meta); i < n; i++ ) { var _ot = junc_meta[i]; - var arr = _ot.getJunctionTo(); - array_map_ext(arr, function(t) /*=>*/ {return t.node}); - nodes = array_concat(nodes, arr); + for( var j = 0, m = array_length(_ot.value_to); j < m; j++ ) { + var _jto = _ot.value_to[j]; + if(_jto.value_from != _jto || !_jto.node.active) continue; + array_push(nodes, _jto.node); + } } - for(var i = 0; i < array_length(inputs); i++) { + for( var i = 0, n = array_length(inputs); i < n; i++ ) { var _in = inputs[i]; if(_in.bypass_junc == noone) continue; - var arr = _in.bypass_junc.getJunctionTo(); - array_map_ext(arr, function(t) /*=>*/ {return t.node}); - nodes = array_concat(nodes, arr); + for( var j = 0, m = array_length(_in.value_to); j < m; j++ ) { + var _jto = _in.value_to[j]; + if(_jto.value_from != _jto || !_jto.node.active) continue; + array_push(nodes, _jto.node); + } } array_unique_ext(nodes); @@ -1405,8 +1411,6 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { } static refreshNodeDisplay = function() { - // print("refreshNodeDisplay"); printCallStack(); - // if(IS_PLAYING) return; updateIO(); setHeight(); getJunctionList(); diff --git a/scripts/node_pixel_sort/node_pixel_sort.gml b/scripts/node_pixel_sort/node_pixel_sort.gml index 221c666a9..cfc403484 100644 --- a/scripts/node_pixel_sort/node_pixel_sort.gml +++ b/scripts/node_pixel_sort/node_pixel_sort.gml @@ -1,12 +1,6 @@ function Node_Pixel_Sort(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Pixel Sort"; - shader = sh_pixel_sort; - uniform_dim = shader_get_uniform(shader, "dimension"); - uniform_itr = shader_get_uniform(shader, "iteration"); - uniform_tre = shader_get_uniform(shader, "threshold"); - uniform_dir = shader_get_uniform(shader, "direction"); - newInput(0, nodeValue_Surface("Surface in", self)); newInput(1, nodeValue_Int("Iteration", self, 2)); @@ -38,12 +32,14 @@ function Node_Pixel_Sort(_x, _y, _group = noone) : Node_Processor(_x, _y, _group attribute_surface_depth(); - static step = function() { #region - __step_mask_modifier(); - } #endregion + temp_surface = [ 0, 0 ]; - static processData = function(_outSurf, _data, _output_index, _array_index) { #region - var _in = _data[0]; + static step = function() { + __step_mask_modifier(); + } + + static processData = function(_outSurf, _data, _output_index, _array_index) { + var _surf = _data[0]; var _it = _data[1]; var _tr = _data[2]; @@ -52,40 +48,42 @@ function Node_Pixel_Sort(_x, _y, _group = noone) : Node_Processor(_x, _y, _group if(_it <= 0) { surface_set_target(_outSurf); BLEND_OVERRIDE - draw_surface_safe(_in); + draw_surface_safe(_surf); BLEND_NORMAL surface_reset_target(); return _outSurf; } - var sw = surface_get_width_safe(_outSurf); - var sh = surface_get_height_safe(_outSurf); + var sw = surface_get_width_safe(_surf); + var sh = surface_get_height_safe(_surf); + + temp_surface[0] = surface_verify(temp_surface[0], sw, sh); + temp_surface[1] = surface_verify(temp_surface[1], sw, sh); - var pp = [ surface_create_valid(sw, sh), surface_create_valid(sw, sh) ]; var sBase, sDraw; - surface_set_target(pp[1]); + surface_set_target(temp_surface[1]); DRAW_CLEAR BLEND_OVERRIDE - draw_surface_safe(_in); + draw_surface_safe(_surf); BLEND_NORMAL surface_reset_target(); - shader_set(shader); - shader_set_uniform_f(uniform_dim, surface_get_width_safe(_in), surface_get_height_safe(_in)); - shader_set_uniform_f(uniform_tre, _tr); - shader_set_uniform_i(uniform_dir, _dr); + shader_set(sh_pixel_sort); + shader_set_2("dimension", [sw, sh]); + shader_set_f("threshold", _tr); + shader_set_i("direction", _dr); for( var i = 0; i < _it; i++ ) { var it = i % 2; - sBase = pp[it]; - sDraw = pp[!it]; + sBase = temp_surface[it]; + sDraw = temp_surface[!it]; surface_set_target(sBase); DRAW_CLEAR BLEND_OVERRIDE - shader_set_uniform_f(uniform_itr, i); + shader_set_f("iteration", i); draw_surface_safe(sDraw); BLEND_NORMAL surface_reset_target(); @@ -99,13 +97,10 @@ function Node_Pixel_Sort(_x, _y, _group = noone) : Node_Processor(_x, _y, _group BLEND_NORMAL surface_reset_target(); - surface_free(pp[0]); - surface_free(pp[1]); - __process_mask_modifier(_data); _outSurf = mask_apply(_data[0], _outSurf, _data[4], _data[5]); _outSurf = channel_apply(_data[0], _outSurf, _data[7]); return _outSurf; - } #endregion + } } \ No newline at end of file diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index bf972cce4..99e1f5556 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -526,6 +526,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru static setVisible = function(inspector) { var v = visible; + var _ref = false; if(connect_type == CONNECT_TYPE.input) { show_in_inspector = inspector; @@ -534,7 +535,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru } else visible = inspector; - if(NOT_LOAD) node.toRefreshNodeDisplay = true; + if(v != visible && NOT_LOAD) + node.toRefreshNodeDisplay = true; return self; } diff --git a/scripts/project_data/project_data.gml b/scripts/project_data/project_data.gml index e5134abf0..9b0a2f695 100644 --- a/scripts/project_data/project_data.gml +++ b/scripts/project_data/project_data.gml @@ -29,9 +29,6 @@ function Project() constructor { nodeMap = ds_map_create(); nodeNameMap = ds_map_create(); - useRenderList = false; - renderList = []; - pathInputs = []; composer = noone; diff --git a/scripts/render_data/render_data.gml b/scripts/render_data/render_data.gml index 1485d5e56..9554907f9 100644 --- a/scripts/render_data/render_data.gml +++ b/scripts/render_data/render_data.gml @@ -41,8 +41,6 @@ function NodeTopoSort() { array_foreach(PROJECT.allNodes, function(n) /*=>*/ { if(is(n, Node_Collection)) n.refreshNodes(); }); PROJECT.nodeTopo = []; - PROJECT.renderList = []; - PROJECT.useRenderList = true; __topoSort(PROJECT.nodeTopo, PROJECT.nodes); // print(PROJECT.nodeTopo); @@ -171,22 +169,6 @@ function Render(partial = false, runAction = false) { LOG_BLOCK_START(); LOG_IF(global.FLAG.render, $"============================== RENDER START [{partial? "PARTIAL" : "FULL"}] [frame {CURRENT_FRAME}] =============================="); - // global.getvalue_hit = 0; - - // if(PROJECT.useRenderList && !array_empty(PROJECT.renderList)) { - // for( var i = 0, n = array_length(PROJECT.renderList); i < n; i++ ) { - - // var render_pt = get_timer(); - // var rendering = PROJECT.renderList[i]; - - // rendering.doUpdate(); - // rendering.getNextNodes(true); - - // if(PROFILER_STAT) rendering.summarizeReport(render_pt); - // } - // return; - // } - try { var t = get_timer(); var t1 = get_timer(); @@ -237,14 +219,11 @@ function Render(partial = false, runAction = false) { rendering = RENDER_QUEUE.dequeue(); renderable = rendering.isRenderable(); - if(is(rendering, Node_Iterate_Sort_Inline)) - PROJECT.useRenderList = false; // LOG_IF(global.FLAG.render == 1, $"Rendering {rendering.internalName} ({rendering.display_name}) : {renderable? "Update" : "Pass"} ({rendering.rendered})"); if(renderable) { var render_pt = get_timer(); rendering.doUpdate(); - array_push(PROJECT.renderList, rendering); _render_time += get_timer() - render_pt; var nextNodes = rendering.getNextNodes();