diff --git a/scripts/node_VFX_renderer/node_VFX_renderer.gml b/scripts/node_VFX_renderer/node_VFX_renderer.gml index 0a311ac14..4fef85d16 100644 --- a/scripts/node_VFX_renderer/node_VFX_renderer.gml +++ b/scripts/node_VFX_renderer/node_VFX_renderer.gml @@ -6,7 +6,7 @@ function Node_VFX_Renderer(_x, _y, _group = noone) : Node(_x, _y, _group) constr manual_ungroupable = false; - inputs[| 0] = nodeValue("Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF) + inputs[| 0] = nodeValue("Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF ) .setDisplay(VALUE_DISPLAY.vector); inputs[| 1] = nodeValue("Round position", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true, "Round position to the closest integer value to avoid jittering.") @@ -91,9 +91,9 @@ function Node_VFX_Renderer(_x, _y, _group = noone) : Node(_x, _y, _group) constr inputs[| 3].setVisible(_typ == PARTICLE_RENDER_TYPE.line); - var _outSurf = outputs[| 0].getValue(); - _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); - outputs[| 0].setValue(_outSurf); + //var _outSurf = outputs[| 0].getValue(); + // _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); + //outputs[| 0].setValue(_outSurf); if(previewing && is_instanceof(group, Node_VFX_Group)) group.preview_node = self; diff --git a/scripts/node_VFX_renderer_output/node_VFX_renderer_output.gml b/scripts/node_VFX_renderer_output/node_VFX_renderer_output.gml index c24f8b5f7..7b0c936b7 100644 --- a/scripts/node_VFX_renderer_output/node_VFX_renderer_output.gml +++ b/scripts/node_VFX_renderer_output/node_VFX_renderer_output.gml @@ -106,6 +106,8 @@ function Node_VFX_Renderer_Output(_x, _y, _group = noone) : Node_Group_Output(_x } #endregion static step = function() { #region + if(outParent == undefined) return; + var _dim = getInputData(0); var _typ = getInputData(2); diff --git a/scripts/node_display_image/node_display_image.gml b/scripts/node_display_image/node_display_image.gml index 5f05a34a6..97f217839 100644 --- a/scripts/node_display_image/node_display_image.gml +++ b/scripts/node_display_image/node_display_image.gml @@ -127,6 +127,8 @@ function Node_Display_Image(_x, _y, _group = noone) : Node(_x, _y, _group) const } #endregion static drawNode = function(_x, _y, _mx, _my, _s) { #region + if(spr == noone) return noone; + x = smooth? lerp_float(x, pos_x, 4) : pos_x; y = smooth? lerp_float(y, pos_y, 4) : pos_y; diff --git a/scripts/node_fluid_render/node_fluid_render.gml b/scripts/node_fluid_render/node_fluid_render.gml index 1ade0bf0e..bb0b04149 100644 --- a/scripts/node_fluid_render/node_fluid_render.gml +++ b/scripts/node_fluid_render/node_fluid_render.gml @@ -34,15 +34,6 @@ function Node_Fluid_Render(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) static onInspector2Update = function() { clearCache(); } - static step = function() { - var _dim = getInputData(1); - var _outSurf = outputs[| 0].getValue(); - if(!is_surface(_outSurf)) { - _outSurf = surface_create_valid(_dim[0], _dim[1], attrDepth()); - outputs[| 0].setValue(_outSurf); - } - } - static update = function(frame = CURRENT_FRAME) { if(recoverCache() || !PROJECT.animator.is_playing) return; diff --git a/scripts/node_iterator_each_input/node_iterator_each_input.gml b/scripts/node_iterator_each_input/node_iterator_each_input.gml index 2bfab2f68..61df9de96 100644 --- a/scripts/node_iterator_each_input/node_iterator_each_input.gml +++ b/scripts/node_iterator_each_input/node_iterator_each_input.gml @@ -21,6 +21,7 @@ function Node_Iterator_Each_Input(_x, _y, _group = noone) : Node(_x, _y, _group) } static step = function() { + if(group == noone) return; if(!variable_struct_exists(group, "iterated")) return; if(outputs[| 0].setType(group.inputs[| 0].type)) @@ -28,6 +29,8 @@ function Node_Iterator_Each_Input(_x, _y, _group = noone) : Node(_x, _y, _group) } static getPreviewValues = function() { #region + if(group == noone) return noone; + switch(group.inputs[| 0].type) { case VALUE_TYPE.surface : case VALUE_TYPE.dynaSurface : @@ -40,6 +43,8 @@ function Node_Iterator_Each_Input(_x, _y, _group = noone) : Node(_x, _y, _group) } #endregion static getGraphPreviewSurface = function() { #region + if(group == noone) return noone; + switch(group.inputs[| 0].type) { case VALUE_TYPE.surface : case VALUE_TYPE.dynaSurface : diff --git a/scripts/node_iterator_filter_input/node_iterator_filter_input.gml b/scripts/node_iterator_filter_input/node_iterator_filter_input.gml index 389538cd2..2a0571bb9 100644 --- a/scripts/node_iterator_filter_input/node_iterator_filter_input.gml +++ b/scripts/node_iterator_filter_input/node_iterator_filter_input.gml @@ -18,6 +18,7 @@ function Node_Iterator_Filter_Input(_x, _y, _group = noone) : Node(_x, _y, _grou } #endregion static step = function() { #region + if(group == noone) return noone; if(!variable_struct_exists(group, "iterated")) return; if(outputs[| 0].setType(group.inputs[| 0].type)) @@ -25,6 +26,8 @@ function Node_Iterator_Filter_Input(_x, _y, _group = noone) : Node(_x, _y, _grou } #endregion static getPreviewValues = function() { #region + if(group == noone) return noone; + switch(group.inputs[| 0].type) { case VALUE_TYPE.surface : case VALUE_TYPE.dynaSurface : @@ -37,6 +40,8 @@ function Node_Iterator_Filter_Input(_x, _y, _group = noone) : Node(_x, _y, _grou } #endregion static getGraphPreviewSurface = function() { #region + if(group == noone) return noone; + switch(group.inputs[| 0].type) { case VALUE_TYPE.surface : case VALUE_TYPE.dynaSurface : diff --git a/scripts/node_pb_box_contract/node_pb_box_contract.gml b/scripts/node_pb_box_contract/node_pb_box_contract.gml index b470abc95..61b3d93a5 100644 --- a/scripts/node_pb_box_contract/node_pb_box_contract.gml +++ b/scripts/node_pb_box_contract/node_pb_box_contract.gml @@ -24,6 +24,8 @@ function Node_PB_Box_Contract(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _gro ] static step = function() { + if(array_empty(current_data)) return; + var _typ = current_data[2]; var _axs = current_data[5]; diff --git a/scripts/node_pb_box_inset/node_pb_box_inset.gml b/scripts/node_pb_box_inset/node_pb_box_inset.gml index afa6672e7..5d4e329b0 100644 --- a/scripts/node_pb_box_inset/node_pb_box_inset.gml +++ b/scripts/node_pb_box_inset/node_pb_box_inset.gml @@ -31,6 +31,8 @@ function Node_PB_Box_Inset(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) ] static step = function() { + if(array_empty(current_data)) return; + var _type = current_data[3]; inputs[| 2].setVisible(_type == 0); diff --git a/scripts/node_pb_box_split/node_pb_box_split.gml b/scripts/node_pb_box_split/node_pb_box_split.gml index ef244f442..3876b784b 100644 --- a/scripts/node_pb_box_split/node_pb_box_split.gml +++ b/scripts/node_pb_box_split/node_pb_box_split.gml @@ -26,6 +26,8 @@ function Node_PB_Box_Split(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) ] static step = function() { + if(array_empty(current_data)) return noone; + var _typ = current_data[2]; var _axs = current_data[5]; diff --git a/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml b/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml index 974542012..019767ae1 100644 --- a/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml +++ b/scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.gml @@ -25,6 +25,8 @@ function Node_PB_Draw_Trapezoid(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _ ]; static step = function() { + if(array_empty(current_data)) return; + var _type = current_data[4]; inputs[| 5].setVisible(_type == 0); diff --git a/scripts/node_pb_fx_stack/node_pb_fx_stack.gml b/scripts/node_pb_fx_stack/node_pb_fx_stack.gml index 6022b03ca..8e56897a6 100644 --- a/scripts/node_pb_fx_stack/node_pb_fx_stack.gml +++ b/scripts/node_pb_fx_stack/node_pb_fx_stack.gml @@ -19,6 +19,8 @@ function Node_PB_Fx_Stack(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) c ]; static step = function() { + if(array_empty(current_data)) return; + var _high = current_data[4]; inputs[| 5].setVisible(_high); diff --git a/scripts/node_rigid_render/node_rigid_render.gml b/scripts/node_rigid_render/node_rigid_render.gml index d21290ecd..713df253e 100644 --- a/scripts/node_rigid_render/node_rigid_render.gml +++ b/scripts/node_rigid_render/node_rigid_render.gml @@ -9,8 +9,7 @@ function Node_Rigid_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constr update_on_frame = true; inputs[| 0] = nodeValue("Render dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, DEF_SURF) - .setDisplay(VALUE_DISPLAY.vector) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.vector); inputs[| 1] = nodeValue("Round position", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) @@ -78,14 +77,6 @@ function Node_Rigid_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constr } } #endregion - static step = function() { #region - var _dim = getInputData(0); - var _outSurf = outputs[| 0].getValue(); - - _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); - outputs[| 0].setValue(_outSurf); - } #endregion - static update = function(frame = CURRENT_FRAME) { #region if(recoverCache() || !PROJECT.animator.is_playing) return; diff --git a/scripts/node_rigid_render_output/node_rigid_render_output.gml b/scripts/node_rigid_render_output/node_rigid_render_output.gml index 4953db2d8..4e629a423 100644 --- a/scripts/node_rigid_render_output/node_rigid_render_output.gml +++ b/scripts/node_rigid_render_output/node_rigid_render_output.gml @@ -96,14 +96,6 @@ function Node_Rigid_Render_Output(_x, _y, _group = noone) : Node_Group_Output(_x } } #endregion - static step = function() { #region - var _dim = getInputData(0); - var _outSurf = outParent.getValue(); - - _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); - outParent.setValue(_outSurf); - } #endregion - static update = function(frame = CURRENT_FRAME) { #region if(!is_instanceof(outParent, NodeValue)) return noone; diff --git a/scripts/render_data/render_data.gml b/scripts/render_data/render_data.gml index 8824800b0..a6cf3a2e9 100644 --- a/scripts/render_data/render_data.gml +++ b/scripts/render_data/render_data.gml @@ -77,7 +77,7 @@ function __sortNode(_list, _node) { #region for( var i = 0, n = array_length(_prev); i < n; i++ ) { var _in = _prev[i]; - if(_in.topoSorted) continue; + if(_in == noone || _in.topoSorted) continue; array_push(_childs, _in); }