diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 56e41d4bf..d1d8e3769 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -398,6 +398,7 @@ {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger_s.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hamburger.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_heart.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, + {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_hide_preview.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_32.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",}, diff --git a/datafiles/data/themes/default.zip b/datafiles/data/themes/default.zip index 7295c7737..304de2c12 100644 Binary files a/datafiles/data/themes/default.zip and b/datafiles/data/themes/default.zip differ diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index c82711c93..f40fc9cf3 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -26,7 +26,7 @@ LATEST_VERSION = 11500; VERSION = 11588; - SAVE_VERSION = 11600; + SAVE_VERSION = 11600.1; VERSION_STRING = "1.16rc8"; BUILD_NUMBER = 11588; diff --git a/scripts/node_3d_point_affector/node_3d_point_affector.gml b/scripts/node_3d_point_affector/node_3d_point_affector.gml index 609de5d81..9373a87de 100644 --- a/scripts/node_3d_point_affector/node_3d_point_affector.gml +++ b/scripts/node_3d_point_affector/node_3d_point_affector.gml @@ -1,6 +1,5 @@ function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group) constructor { name = "Point Affector"; - previewable = false; gizmo_sphere = [ new __3dGizmoSphere(,, 0.75), new __3dGizmoSphere(,, 0.5) ]; gizmo_plane = [ new __3dGizmoPlaneFalloff(,, 0.75) ]; diff --git a/scripts/node_FFT/node_FFT.gml b/scripts/node_FFT/node_FFT.gml index bad40d362..f1d07acb7 100644 --- a/scripts/node_FFT/node_FFT.gml +++ b/scripts/node_FFT/node_FFT.gml @@ -1,6 +1,5 @@ function Node_FFT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "FFT"; - previewable = false; w = 96; h = 72; diff --git a/scripts/node_VFX_effector/node_VFX_effector.gml b/scripts/node_VFX_effector/node_VFX_effector.gml index 9c07b2428..ecea96161 100644 --- a/scripts/node_VFX_effector/node_VFX_effector.gml +++ b/scripts/node_VFX_effector/node_VFX_effector.gml @@ -14,7 +14,6 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr icon = THEME.vfx; reloop = true; - previewable = false; node_draw_icon = s_node_vfx_accel; w = 96; diff --git a/scripts/node_VFX_override/node_VFX_override.gml b/scripts/node_VFX_override/node_VFX_override.gml index d3be39993..5068a5dd9 100644 --- a/scripts/node_VFX_override/node_VFX_override.gml +++ b/scripts/node_VFX_override/node_VFX_override.gml @@ -1,8 +1,7 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "VFX Override"; + name = "VFX Override"; color = COLORS.node_blend_vfx; icon = THEME.vfx; - previewable = false; node_draw_icon = s_node_vfx_override; w = 96; diff --git a/scripts/node_VFX_trail_path/node_VFX_trail_path.gml b/scripts/node_VFX_trail_path/node_VFX_trail_path.gml index 2cfa2d9fc..6428c2588 100644 --- a/scripts/node_VFX_trail_path/node_VFX_trail_path.gml +++ b/scripts/node_VFX_trail_path/node_VFX_trail_path.gml @@ -1,6 +1,5 @@ function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "VFX Trail"; - previewable = false; w = 96; length = []; diff --git a/scripts/node_VFX_variable/node_VFX_variable.gml b/scripts/node_VFX_variable/node_VFX_variable.gml index ba754dc9e..0e4526070 100644 --- a/scripts/node_VFX_variable/node_VFX_variable.gml +++ b/scripts/node_VFX_variable/node_VFX_variable.gml @@ -1,8 +1,7 @@ function Node_VFX_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "VFX Variable"; + name = "VFX Variable"; color = COLORS.node_blend_vfx; icon = THEME.vfx; - previewable = false; node_draw_icon = s_node_vfx_variable; w = 96; diff --git a/scripts/node_animate_curve/node_animate_curve.gml b/scripts/node_animate_curve/node_animate_curve.gml index cd68b2737..ef98e2d77 100644 --- a/scripts/node_animate_curve/node_animate_curve.gml +++ b/scripts/node_animate_curve/node_animate_curve.gml @@ -1,7 +1,6 @@ function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Evaluate Curve"; update_on_frame = true; - previewable = false; w = 96; diff --git a/scripts/node_area/node_area.gml b/scripts/node_area/node_area.gml index d022738fe..b1432e394 100644 --- a/scripts/node_area/node_area.gml +++ b/scripts/node_area/node_area.gml @@ -1,7 +1,6 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { - name = "Area"; + name = "Area"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_armature_sample/node_armature_sample.gml b/scripts/node_armature_sample/node_armature_sample.gml index 23feaf186..1a4fd4410 100644 --- a/scripts/node_armature_sample/node_armature_sample.gml +++ b/scripts/node_armature_sample/node_armature_sample.gml @@ -1,6 +1,5 @@ function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Armature Sample"; - previewable = false; w = 96; h = 72; min_h = h; diff --git a/scripts/node_armature_to_path/node_armature_to_path.gml b/scripts/node_armature_to_path/node_armature_to_path.gml index 1a9e4a310..cb00dd93f 100644 --- a/scripts/node_armature_to_path/node_armature_to_path.gml +++ b/scripts/node_armature_to_path/node_armature_to_path.gml @@ -1,6 +1,5 @@ function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Armature Path"; - previewable = false; w = 96; h = 72; min_h = h; diff --git a/scripts/node_array/node_array.gml b/scripts/node_array/node_array.gml index f98351c53..3269a4f1e 100644 --- a/scripts/node_array/node_array.gml +++ b/scripts/node_array/node_array.gml @@ -1,6 +1,5 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array"; - previewable = false; w = 96; @@ -173,13 +172,10 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { outputs[| 0].setType(inputs[| input_fix_len].value_from.type); outputs[| 0].setValue(res); - if(outputs[| 0].type == VALUE_TYPE.surface) { + if(outputs[| 0].type == VALUE_TYPE.surface) w = 128; - previewable = true; - } else { + else w = 96; - previewable = false; - } } #endregion static postConnect = function() { #region diff --git a/scripts/node_array_add/node_array_add.gml b/scripts/node_array_add/node_array_add.gml index 6606cd63c..c75593949 100644 --- a/scripts/node_array_add/node_array_add.gml +++ b/scripts/node_array_add/node_array_add.gml @@ -1,6 +1,5 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Add"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_composite/node_array_composite.gml b/scripts/node_array_composite/node_array_composite.gml index 3c9bc7762..12b09f2a1 100644 --- a/scripts/node_array_composite/node_array_composite.gml +++ b/scripts/node_array_composite/node_array_composite.gml @@ -1,6 +1,5 @@ function Node_Array_Composite(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Composite"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_convolute/node_array_convolute.gml b/scripts/node_array_convolute/node_array_convolute.gml index 644772a5a..255daf643 100644 --- a/scripts/node_array_convolute/node_array_convolute.gml +++ b/scripts/node_array_convolute/node_array_convolute.gml @@ -1,6 +1,5 @@ function Node_Array_Convolute(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Convolute"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_copy/node_array_copy.gml b/scripts/node_array_copy/node_array_copy.gml index 674969a56..b36d94bda 100644 --- a/scripts/node_array_copy/node_array_copy.gml +++ b/scripts/node_array_copy/node_array_copy.gml @@ -1,6 +1,5 @@ function Node_Array_Copy(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Copy"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_csv_parse/node_array_csv_parse.gml b/scripts/node_array_csv_parse/node_array_csv_parse.gml index 1c830f6ae..da02cb6e5 100644 --- a/scripts/node_array_csv_parse/node_array_csv_parse.gml +++ b/scripts/node_array_csv_parse/node_array_csv_parse.gml @@ -1,6 +1,5 @@ function Node_Array_CSV_Parse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "CSV Parse"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_find/node_array_find.gml b/scripts/node_array_find/node_array_find.gml index 5078118df..d8454d983 100644 --- a/scripts/node_array_find/node_array_find.gml +++ b/scripts/node_array_find/node_array_find.gml @@ -1,6 +1,5 @@ function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Find"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_get/node_array_get.gml b/scripts/node_array_get/node_array_get.gml index 4d4eb9af2..be2f80a01 100644 --- a/scripts/node_array_get/node_array_get.gml +++ b/scripts/node_array_get/node_array_get.gml @@ -1,6 +1,5 @@ function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Get"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_insert/node_array_insert.gml b/scripts/node_array_insert/node_array_insert.gml index c7c7b9648..9e64cd491 100644 --- a/scripts/node_array_insert/node_array_insert.gml +++ b/scripts/node_array_insert/node_array_insert.gml @@ -1,6 +1,5 @@ function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Insert"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_length/node_array_length.gml b/scripts/node_array_length/node_array_length.gml index 7f2ae9b66..18509e857 100644 --- a/scripts/node_array_length/node_array_length.gml +++ b/scripts/node_array_length/node_array_length.gml @@ -1,6 +1,5 @@ function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Length"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_range/node_array_range.gml b/scripts/node_array_range/node_array_range.gml index de9e9ad7c..6a7d6996f 100644 --- a/scripts/node_array_range/node_array_range.gml +++ b/scripts/node_array_range/node_array_range.gml @@ -1,6 +1,5 @@ function Node_Array_Range(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Range"; - previewable = false; w = 96; diff --git a/scripts/node_array_remove/node_array_remove.gml b/scripts/node_array_remove/node_array_remove.gml index a729ebd4c..bd1c48981 100644 --- a/scripts/node_array_remove/node_array_remove.gml +++ b/scripts/node_array_remove/node_array_remove.gml @@ -1,6 +1,5 @@ function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Remove"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_reverse/node_array_reverse.gml b/scripts/node_array_reverse/node_array_reverse.gml index 111234972..78b73157f 100644 --- a/scripts/node_array_reverse/node_array_reverse.gml +++ b/scripts/node_array_reverse/node_array_reverse.gml @@ -1,6 +1,5 @@ function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Reverse"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_sample/node_array_sample.gml b/scripts/node_array_sample/node_array_sample.gml index 0a8f45cf9..0a4be49ec 100644 --- a/scripts/node_array_sample/node_array_sample.gml +++ b/scripts/node_array_sample/node_array_sample.gml @@ -1,6 +1,5 @@ function Node_Array_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Sample"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_set/node_array_set.gml b/scripts/node_array_set/node_array_set.gml index 367dfd70a..1088fedad 100644 --- a/scripts/node_array_set/node_array_set.gml +++ b/scripts/node_array_set/node_array_set.gml @@ -1,6 +1,5 @@ function Node_Array_Set(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Set"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_shift/node_array_shift.gml b/scripts/node_array_shift/node_array_shift.gml index e979c466d..1d4b1e99b 100644 --- a/scripts/node_array_shift/node_array_shift.gml +++ b/scripts/node_array_shift/node_array_shift.gml @@ -1,6 +1,5 @@ function Node_Array_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Shift"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_array_shuffle/node_array_shuffle.gml b/scripts/node_array_shuffle/node_array_shuffle.gml index 60e646a62..6e2119287 100644 --- a/scripts/node_array_shuffle/node_array_shuffle.gml +++ b/scripts/node_array_shuffle/node_array_shuffle.gml @@ -1,6 +1,5 @@ function Node_Array_Shuffle(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Shuffle Array"; - previewable = false; w = 96; diff --git a/scripts/node_array_sort/node_array_sort.gml b/scripts/node_array_sort/node_array_sort.gml index 1ac56de4a..5fc344028 100644 --- a/scripts/node_array_sort/node_array_sort.gml +++ b/scripts/node_array_sort/node_array_sort.gml @@ -1,6 +1,5 @@ function Node_Array_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Sort Array"; - previewable = false; w = 96; diff --git a/scripts/node_array_zip/node_array_zip.gml b/scripts/node_array_zip/node_array_zip.gml index 928340328..ae2f8ec05 100644 --- a/scripts/node_array_zip/node_array_zip.gml +++ b/scripts/node_array_zip/node_array_zip.gml @@ -1,6 +1,5 @@ function Node_Array_Zip(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Array Zip"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_ase_layer/node_ase_layer.gml b/scripts/node_ase_layer/node_ase_layer.gml index 8864c6539..9bfc6fbcd 100644 --- a/scripts/node_ase_layer/node_ase_layer.gml +++ b/scripts/node_ase_layer/node_ase_layer.gml @@ -1,7 +1,6 @@ function Node_ASE_layer(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "ASE Layer"; update_on_frame = true; - previewable = false; inputs[| 0] = nodeValue("ASE data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone) .setVisible(false, true) diff --git a/scripts/node_audio_loudness/node_audio_loudness.gml b/scripts/node_audio_loudness/node_audio_loudness.gml index 285bc2c89..abe0ea6f0 100644 --- a/scripts/node_audio_loudness/node_audio_loudness.gml +++ b/scripts/node_audio_loudness/node_audio_loudness.gml @@ -1,6 +1,5 @@ function Node_Audio_Loudness(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Audio Loudness"; - previewable = false; w = 96; h = 72; diff --git a/scripts/node_audio_window/node_audio_window.gml b/scripts/node_audio_window/node_audio_window.gml index 50827aade..325efd432 100644 --- a/scripts/node_audio_window/node_audio_window.gml +++ b/scripts/node_audio_window/node_audio_window.gml @@ -1,6 +1,5 @@ function Node_Audio_Window(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Audio Window"; - previewable = false; w = 128; h = 128; diff --git a/scripts/node_base_convert/node_base_convert.gml b/scripts/node_base_convert/node_base_convert.gml index 066301555..458b0ce91 100644 --- a/scripts/node_base_convert/node_base_convert.gml +++ b/scripts/node_base_convert/node_base_convert.gml @@ -1,7 +1,6 @@ function Node_Base_Convert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Convert Base"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_boolean/node_boolean.gml b/scripts/node_boolean/node_boolean.gml index cd076177a..2d0affc28 100644 --- a/scripts/node_boolean/node_boolean.gml +++ b/scripts/node_boolean/node_boolean.gml @@ -1,7 +1,6 @@ function Node_Boolean(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { - name = "Boolean"; + name = "Boolean"; color = COLORS.node_blend_number; - previewable = false; w = 64; min_h = 64; diff --git a/scripts/node_color/node_color.gml b/scripts/node_color/node_color.gml index 1a96e7739..c42fc92b8 100644 --- a/scripts/node_color/node_color.gml +++ b/scripts/node_color/node_color.gml @@ -1,6 +1,5 @@ function Node_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Color"; - previewable = false; w = 96; inputs[| 0] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); diff --git a/scripts/node_color_data/node_color_data.gml b/scripts/node_color_data/node_color_data.gml index 1e0aadcdf..7fc111cb6 100644 --- a/scripts/node_color_data/node_color_data.gml +++ b/scripts/node_color_data/node_color_data.gml @@ -1,6 +1,5 @@ function Node_Color_Data(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Color Data"; - previewable = false; w = 96; diff --git a/scripts/node_color_from_hsv/node_color_from_hsv.gml b/scripts/node_color_from_hsv/node_color_from_hsv.gml index 183ae2ebc..42f2be71d 100644 --- a/scripts/node_color_from_hsv/node_color_from_hsv.gml +++ b/scripts/node_color_from_hsv/node_color_from_hsv.gml @@ -1,6 +1,5 @@ function Node_Color_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "HSV Color"; - previewable = false; w = 96; diff --git a/scripts/node_color_from_rgb/node_color_from_rgb.gml b/scripts/node_color_from_rgb/node_color_from_rgb.gml index 62f8160e8..e595f152e 100644 --- a/scripts/node_color_from_rgb/node_color_from_rgb.gml +++ b/scripts/node_color_from_rgb/node_color_from_rgb.gml @@ -1,6 +1,5 @@ function Node_Color_RGB(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "RGB Color"; - previewable = false; w = 96; diff --git a/scripts/node_color_mix/node_color_mix.gml b/scripts/node_color_mix/node_color_mix.gml index ec3b00baa..decd4ca1f 100644 --- a/scripts/node_color_mix/node_color_mix.gml +++ b/scripts/node_color_mix/node_color_mix.gml @@ -1,6 +1,5 @@ function Node_Color_Mix(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Mix Color"; - previewable = false; w = 96; diff --git a/scripts/node_compare/node_compare.gml b/scripts/node_compare/node_compare.gml index 69c52ce7e..ef7a6a24b 100644 --- a/scripts/node_compare/node_compare.gml +++ b/scripts/node_compare/node_compare.gml @@ -25,7 +25,6 @@ function Node_create_Compare(_x, _y, _group = noone, _param = {}) { function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Compare"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_condition/node_condition.gml b/scripts/node_condition/node_condition.gml index 13aacfa00..d9a647a63 100644 --- a/scripts/node_condition/node_condition.gml +++ b/scripts/node_condition/node_condition.gml @@ -1,6 +1,5 @@ function Node_Condition(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Condition"; - previewable = false; w = 96; diff --git a/scripts/node_counter/node_counter.gml b/scripts/node_counter/node_counter.gml index ba484b0ec..ac9092cdc 100644 --- a/scripts/node_counter/node_counter.gml +++ b/scripts/node_counter/node_counter.gml @@ -1,7 +1,6 @@ function Node_Counter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Frame Index"; update_on_frame = true; - previewable = false; w = 96; diff --git a/scripts/node_csv_file_read/node_csv_file_read.gml b/scripts/node_csv_file_read/node_csv_file_read.gml index 85b301295..29ccc1810 100644 --- a/scripts/node_csv_file_read/node_csv_file_read.gml +++ b/scripts/node_csv_file_read/node_csv_file_read.gml @@ -24,9 +24,8 @@ function Node_create_CSV_File_Read_path(_x, _y, path) { #region } #endregion function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "CSV File In"; + name = "CSV File In"; color = COLORS.node_blend_input; - previewable = false; w = 128; diff --git a/scripts/node_csv_file_write/node_csv_file_write.gml b/scripts/node_csv_file_write/node_csv_file_write.gml index cd378b206..9e4b92eab 100644 --- a/scripts/node_csv_file_write/node_csv_file_write.gml +++ b/scripts/node_csv_file_write/node_csv_file_write.gml @@ -11,7 +11,6 @@ function Node_create_CSV_File_Write(_x, _y, _group = noone) { #region function Node_CSV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "CSV File Out"; color = COLORS.node_blend_input; - previewable = false; w = 128; diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 4c7660430..a08e4dbc2 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -337,7 +337,6 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x for( var i = 0; i < ds_list_size(outputs); i++ ) if(outputs[| i].isVisible()) _ho += 24; - //w = max(min_w, attributes.node_width); h = max(min_h, _prev_surf * 128, _hi, _ho, attributes.node_height); } run_in(1, function() { setHeight(); }); #endregion @@ -623,6 +622,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x if(!is_instanceof(self, Node_Collection)) render_time = get_timer() - render_timer; + setHeight(); LOG_BLOCK_END(); } #endregion @@ -1250,10 +1250,16 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x draw_sprite_stretched_ext(THEME.node_glow, 0, xx - 9, yy - 9, w * _s + 18, h * _s + 18, COLORS._main_value_negative, 1); drawNodeBase(xx, yy, _s); - if(previewable) drawPreview(xx, yy, _s); drawDimension(xx, yy, _s); - onDrawNode(xx, yy, _mx, _my, _s, PANEL_GRAPH.node_hovering == self, PANEL_GRAPH.getFocusingNode() == self); + if(previewable) { + drawPreview(xx, yy, _s); + onDrawNode(xx, yy, _mx, _my, _s, PANEL_GRAPH.node_hovering == self, PANEL_GRAPH.getFocusingNode() == self); + } else { + var bbox = drawGetBbox(xx, yy, _s); + draw_sprite_ext(THEME.preview_hide, 0, bbox.xc, bbox.yc, _s, _s, 0, c_white, 0.25); + } + drawNodeName(xx, yy, _s); if(active_draw_index > -1) { @@ -1682,8 +1688,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x _map.y = y; _map.type = instanceof(self); _map.group = group == noone? group : group.node_id; - _map.preview = previewable; _map.tool = isTool; + _map.previewable = previewable; } _map.attri = attributeSerialize(); @@ -1748,7 +1754,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x x = struct_try_get(load_map, "x"); y = struct_try_get(load_map, "y"); renderActive = struct_try_get(load_map, "render", true); - previewable = struct_try_get(load_map, "preview", previewable); + previewable = struct_try_get(load_map, "previewable", previewable); isTool = struct_try_get(load_map, "tool"); } diff --git a/scripts/node_equation/node_equation.gml b/scripts/node_equation/node_equation.gml index 098885351..c814c7094 100644 --- a/scripts/node_equation/node_equation.gml +++ b/scripts/node_equation/node_equation.gml @@ -32,7 +32,6 @@ function Node_create_Equation(_x, _y, _group = noone, _param = {}) { #region function Node_Equation(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Equation"; color = COLORS.node_blend_number; - previewable = false; w = 96; ast = []; diff --git a/scripts/node_fluid_domain_queue/node_fluid_domain_queue.gml b/scripts/node_fluid_domain_queue/node_fluid_domain_queue.gml index 516178376..3d1d1f6d1 100644 --- a/scripts/node_fluid_domain_queue/node_fluid_domain_queue.gml +++ b/scripts/node_fluid_domain_queue/node_fluid_domain_queue.gml @@ -1,6 +1,5 @@ function Node_Fluid_Domain_Queue(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) constructor { name = "Queue Domain"; - previewable = false; w = 96; diff --git a/scripts/node_gradient_extract/node_gradient_extract.gml b/scripts/node_gradient_extract/node_gradient_extract.gml index 517f746c0..cd7f1689b 100644 --- a/scripts/node_gradient_extract/node_gradient_extract.gml +++ b/scripts/node_gradient_extract/node_gradient_extract.gml @@ -1,6 +1,5 @@ function Node_Gradient_Extract(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Gradient Data"; - previewable = false; w = 96; diff --git a/scripts/node_gradient_output/node_gradient_output.gml b/scripts/node_gradient_output/node_gradient_output.gml index 6e4fab547..b0e56a892 100644 --- a/scripts/node_gradient_output/node_gradient_output.gml +++ b/scripts/node_gradient_output/node_gradient_output.gml @@ -1,6 +1,5 @@ function Node_Gradient_Out(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Gradient"; - previewable = false; w = 96; diff --git a/scripts/node_gradient_palette/node_gradient_palette.gml b/scripts/node_gradient_palette/node_gradient_palette.gml index 17c8254e5..6c57a44d8 100644 --- a/scripts/node_gradient_palette/node_gradient_palette.gml +++ b/scripts/node_gradient_palette/node_gradient_palette.gml @@ -1,6 +1,5 @@ function Node_Gradient_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Palette to Gradient"; - previewable = false; w = 96; diff --git a/scripts/node_gradient_replace/node_gradient_replace.gml b/scripts/node_gradient_replace/node_gradient_replace.gml index 37c5e7a9a..692c3de3d 100644 --- a/scripts/node_gradient_replace/node_gradient_replace.gml +++ b/scripts/node_gradient_replace/node_gradient_replace.gml @@ -1,6 +1,5 @@ function Node_Gradient_Replace_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Gradient Replace"; - previewable = false; w = 96; diff --git a/scripts/node_gradient_shift/node_gradient_shift.gml b/scripts/node_gradient_shift/node_gradient_shift.gml index f6f8bb9ea..8cdb8a9b0 100644 --- a/scripts/node_gradient_shift/node_gradient_shift.gml +++ b/scripts/node_gradient_shift/node_gradient_shift.gml @@ -1,6 +1,5 @@ function Node_Gradient_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Gradient Shift"; - previewable = false; w = 96; diff --git a/scripts/node_group_input/node_group_input.gml b/scripts/node_group_input/node_group_input.gml index 6031dbb41..bf84866ca 100644 --- a/scripts/node_group_input/node_group_input.gml +++ b/scripts/node_group_input/node_group_input.gml @@ -1,7 +1,6 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Group Input"; color = COLORS.node_blend_collection; - previewable = false; is_group_io = true; destroy_when_upgroup = true; @@ -121,15 +120,18 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru outputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0) .uncache(); - attributes.inherit_name = !LOADING && !APPENDING; - attributes.inherit_type = !LOADING && !APPENDING; + attributes.inherit_name = true; + attributes.inherit_type = true; doTrigger = 0; - _onSetDisplayName = function() { - attributes.inherit_name = false; - } + onSetDisplayName = function() { attributes.inherit_name = false; } outputs[| 0].onSetTo = function(juncTo) { + if(attributes.inherit_name) { + setDisplayName(juncTo.name); + attributes.inherit_name = false; + } + if(!attributes.inherit_type) return; attributes.inherit_type = false; @@ -322,17 +324,6 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru group.inputMap[? string_replace_all(display_name, " ", "_")] = inParent; } - var _to_list = outputs[| 0].value_to; - onSetDisplayName = _onSetDisplayName; - if(!renamed && attributes.inherit_name && !ds_list_empty(_to_list)) { - for( var i = 0; i < ds_list_size(_to_list); i++ ) { - if(_to_list[| i].value_from != outputs[| 0]) continue; - if(display_name == _to_list[| i].name) break; - onSetDisplayName = noone; - setDisplayName(_to_list[| i].name); - } - } - if(inParent.type == VALUE_TYPE.trigger) { if(doTrigger == 1) { outputs[| 0].setValue(true); diff --git a/scripts/node_group_output/node_group_output.gml b/scripts/node_group_output/node_group_output.gml index 72301ce60..339ced6ce 100644 --- a/scripts/node_group_output/node_group_output.gml +++ b/scripts/node_group_output/node_group_output.gml @@ -1,7 +1,6 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Group Output"; color = COLORS.node_blend_collection; - previewable = false; is_group_io = true; destroy_when_upgroup = true; @@ -17,11 +16,18 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr .uncache() .setVisible(true, true); - attributes.inherit_name = !LOADING && !APPENDING; + attributes.inherit_name = true; outParent = undefined; output_index = -1; - _onSetDisplayName = function() { attributes.inherit_name = false; } + onSetDisplayName = function() { attributes.inherit_name = false; } + + inputs[| 0].onSetFrom = function(juncFrom) { + if(attributes.inherit_name) { + setDisplayName(juncFrom.name); + attributes.inherit_name = false; + } + } static setRenderStatus = function(result) { #region if(rendered == result) return; @@ -99,14 +105,6 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr outParent.setType(inputs[| 0].type); outParent.display_type = inputs[| 0].display_type; - - onSetDisplayName = _onSetDisplayName; - if(!renamed && attributes.inherit_name && inputs[| 0].value_from != noone) { - if(display_name != inputs[| 0].value_from.name) { - onSetDisplayName = noone; - setDisplayName(inputs[| 0].value_from.name); - } - } } #endregion static postDeserialize = function() { #region diff --git a/scripts/node_iterator_each_size/node_iterator_each_size.gml b/scripts/node_iterator_each_size/node_iterator_each_size.gml index 57a8dc96f..53cd7d18d 100644 --- a/scripts/node_iterator_each_size/node_iterator_each_size.gml +++ b/scripts/node_iterator_each_size/node_iterator_each_size.gml @@ -1,8 +1,7 @@ function Node_Iterator_Each_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Array Length"; - destroy_when_upgroup = true; + name = "Array Length"; color = COLORS.node_blend_loop; - previewable = false; + destroy_when_upgroup = true; w = 96; min_h = 80; diff --git a/scripts/node_iterator_index/node_iterator_index.gml b/scripts/node_iterator_index/node_iterator_index.gml index 00be30262..170dd2789 100644 --- a/scripts/node_iterator_index/node_iterator_index.gml +++ b/scripts/node_iterator_index/node_iterator_index.gml @@ -1,8 +1,7 @@ function Node_Iterator_Index(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Index"; - destroy_when_upgroup = true; + name = "Index"; color = COLORS.node_blend_loop; - previewable = false; + destroy_when_upgroup = true; w = 96; min_h = 80; diff --git a/scripts/node_iterator_length/node_iterator_length.gml b/scripts/node_iterator_length/node_iterator_length.gml index 78ff5793b..35515059c 100644 --- a/scripts/node_iterator_length/node_iterator_length.gml +++ b/scripts/node_iterator_length/node_iterator_length.gml @@ -1,8 +1,7 @@ function Node_Iterator_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Loop Amount"; - destroy_when_upgroup = true; + name = "Loop Amount"; color = COLORS.node_blend_loop; - previewable = false; + destroy_when_upgroup = true; w = 96; min_h = 80; diff --git a/scripts/node_json_file_read/node_json_file_read.gml b/scripts/node_json_file_read/node_json_file_read.gml index bc06d9f51..6fee09388 100644 --- a/scripts/node_json_file_read/node_json_file_read.gml +++ b/scripts/node_json_file_read/node_json_file_read.gml @@ -26,7 +26,6 @@ function Node_create_Json_File_Read_path(_x, _y, path) { function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "JSON File In"; color = COLORS.node_blend_input; - previewable = false; w = 128; diff --git a/scripts/node_json_file_write/node_json_file_write.gml b/scripts/node_json_file_write/node_json_file_write.gml index 0894d2da5..f22cda8da 100644 --- a/scripts/node_json_file_write/node_json_file_write.gml +++ b/scripts/node_json_file_write/node_json_file_write.gml @@ -1,7 +1,6 @@ function Node_Json_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "JSON File Out"; + name = "JSON File Out"; color = COLORS.node_blend_input; - previewable = false; w = 128; diff --git a/scripts/node_lerp/node_lerp.gml b/scripts/node_lerp/node_lerp.gml index befea32f5..e4d6459a9 100644 --- a/scripts/node_lerp/node_lerp.gml +++ b/scripts/node_lerp/node_lerp.gml @@ -1,7 +1,6 @@ function Node_Lerp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Lerp"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_logic_operate/node_logic_operate.gml b/scripts/node_logic_operate/node_logic_operate.gml index 557051601..d3a088602 100644 --- a/scripts/node_logic_operate/node_logic_operate.gml +++ b/scripts/node_logic_operate/node_logic_operate.gml @@ -27,7 +27,6 @@ function Node_create_Logic(_x, _y, _group = noone, _param = {}) { function Node_Logic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Logic Opr"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_lua_compute/node_lua_compute.gml b/scripts/node_lua_compute/node_lua_compute.gml index 7f72aafc7..3e66cff46 100644 --- a/scripts/node_lua_compute/node_lua_compute.gml +++ b/scripts/node_lua_compute/node_lua_compute.gml @@ -1,6 +1,5 @@ function Node_Lua_Compute(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Lua Compute"; - previewable = false; inputs[| 0] = nodeValue("Function name", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "render" + string(irandom_range(100000, 999999))); diff --git a/scripts/node_lua_global/node_lua_global.gml b/scripts/node_lua_global/node_lua_global.gml index 88ae824d3..b45cea8b0 100644 --- a/scripts/node_lua_global/node_lua_global.gml +++ b/scripts/node_lua_global/node_lua_global.gml @@ -1,7 +1,6 @@ function Node_Lua_Global(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Lua Global"; preview_channel = 1; - previewable = false; inputs[| 0] = nodeValue("Lua code", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "", o_dialog_lua_reference) .setDisplay(VALUE_DISPLAY.codeLUA); diff --git a/scripts/node_math/node_math.gml b/scripts/node_math/node_math.gml index a4d9cec18..3fe0ea410 100644 --- a/scripts/node_math/node_math.gml +++ b/scripts/node_math/node_math.gml @@ -52,7 +52,6 @@ function Node_create_Math(_x, _y, _group = noone, _param = {}) { function Node_Math(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Math"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_mesh_create_path/node_mesh_create_path.gml b/scripts/node_mesh_create_path/node_mesh_create_path.gml index 6f28c728b..5417026a1 100644 --- a/scripts/node_mesh_create_path/node_mesh_create_path.gml +++ b/scripts/node_mesh_create_path/node_mesh_create_path.gml @@ -1,6 +1,5 @@ function Node_Mesh_Create_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Path to Mesh"; - previewable = false; w = 96; diff --git a/scripts/node_mesh_to_path/node_mesh_to_path.gml b/scripts/node_mesh_to_path/node_mesh_to_path.gml index 1a8cb1af0..cf119a23a 100644 --- a/scripts/node_mesh_to_path/node_mesh_to_path.gml +++ b/scripts/node_mesh_to_path/node_mesh_to_path.gml @@ -1,6 +1,5 @@ function Node_Mesh_To_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Mesh to Path"; - previewable = false; w = 96; diff --git a/scripts/node_mesh_transform/node_mesh_transform.gml b/scripts/node_mesh_transform/node_mesh_transform.gml index d982021b5..aaaf8d4cb 100644 --- a/scripts/node_mesh_transform/node_mesh_transform.gml +++ b/scripts/node_mesh_transform/node_mesh_transform.gml @@ -1,6 +1,5 @@ function Node_Mesh_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Mesh Transform"; - previewable = false; w = 96; diff --git a/scripts/node_number/node_number.gml b/scripts/node_number/node_number.gml index 646b7b7c3..fc3d03fc4 100644 --- a/scripts/node_number/node_number.gml +++ b/scripts/node_number/node_number.gml @@ -1,7 +1,6 @@ function Node_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region - name = "Number"; + name = "Number"; color = COLORS.node_blend_number; - previewable = false; w = 96; min_h = 32 + 24 * 1; @@ -242,7 +241,6 @@ function Node_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region name = "Vector2"; color = COLORS.node_blend_number; - previewable = false; w = 96; min_h = 32 + 24 * 2; @@ -524,9 +522,8 @@ function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c } #endregion function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region - name = "Vector3"; + name = "Vector3"; color = COLORS.node_blend_number; - previewable = false; w = 96; min_h = 32 + 24 * 3; @@ -580,9 +577,8 @@ function Node_Vector3(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c } #endregion function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region - name = "Vector4"; + name = "Vector4"; color = COLORS.node_blend_number; - previewable = false; w = 96; min_h = 32 + 24 * 4; @@ -640,9 +636,8 @@ function Node_Vector4(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c } #endregion function Node_Vector_Split(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { #region - name = "Vector Split"; + name = "Vector Split"; color = COLORS.node_blend_number; - previewable = false; w = 96; min_h = 32; diff --git a/scripts/node_palette/node_palette.gml b/scripts/node_palette/node_palette.gml index dc91cc7b7..71d0cb34e 100644 --- a/scripts/node_palette/node_palette.gml +++ b/scripts/node_palette/node_palette.gml @@ -1,6 +1,5 @@ function Node_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Palette"; - previewable = false; w = 96; diff --git a/scripts/node_palette_sort/node_palette_sort.gml b/scripts/node_palette_sort/node_palette_sort.gml index 2a40c1477..eac819fc0 100644 --- a/scripts/node_palette_sort/node_palette_sort.gml +++ b/scripts/node_palette_sort/node_palette_sort.gml @@ -1,6 +1,5 @@ function Node_Palette_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Sort Palette"; - previewable = false; w = 96; diff --git a/scripts/node_path/node_path.gml b/scripts/node_path/node_path.gml index eb139809b..e036071c0 100644 --- a/scripts/node_path/node_path.gml +++ b/scripts/node_path/node_path.gml @@ -11,7 +11,6 @@ enum _ANCHOR { function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_anchor/node_path_anchor.gml b/scripts/node_path_anchor/node_path_anchor.gml index 3adaa9157..cb8308698 100644 --- a/scripts/node_path_anchor/node_path_anchor.gml +++ b/scripts/node_path_anchor/node_path_anchor.gml @@ -1,7 +1,6 @@ function Node_Path_Anchor(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { - name = "Path Anchor"; + name = "Path Anchor"; color = COLORS.node_blend_number; - previewable = false; w = 96; inputs[| 0] = nodeValue("Postion", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) diff --git a/scripts/node_path_array/node_path_array.gml b/scripts/node_path_array/node_path_array.gml index 916f7ce15..564be6c9b 100644 --- a/scripts/node_path_array/node_path_array.gml +++ b/scripts/node_path_array/node_path_array.gml @@ -1,6 +1,5 @@ function Node_Path_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Path Array"; - previewable = false; w = 96; diff --git a/scripts/node_path_blend/node_path_blend.gml b/scripts/node_path_blend/node_path_blend.gml index fc893793d..e743abaf4 100644 --- a/scripts/node_path_blend/node_path_blend.gml +++ b/scripts/node_path_blend/node_path_blend.gml @@ -1,6 +1,5 @@ function Node_Path_Blend(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Blend Path"; - previewable = false; w = 96; length = 0; diff --git a/scripts/node_path_builder/node_path_builder.gml b/scripts/node_path_builder/node_path_builder.gml index df83e4bb4..aca5b01e1 100644 --- a/scripts/node_path_builder/node_path_builder.gml +++ b/scripts/node_path_builder/node_path_builder.gml @@ -1,6 +1,5 @@ function Node_Path_Builder(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Path Builder"; - previewable = false; w = 96; length = []; diff --git a/scripts/node_path_l_system/node_path_l_system.gml b/scripts/node_path_l_system/node_path_l_system.gml index d2ea09e3b..4c2aaa49e 100644 --- a/scripts/node_path_l_system/node_path_l_system.gml +++ b/scripts/node_path_l_system/node_path_l_system.gml @@ -12,7 +12,6 @@ function L_Turtle(x = 0, y = 0, ang = 90, w = 1, color = c_white) constructor { function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "L System"; - previewable = false; w = 96; inputs[| 0] = nodeValue("Length", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 8); diff --git a/scripts/node_path_map_area/node_path_map_area.gml b/scripts/node_path_map_area/node_path_map_area.gml index 0b7584395..625146ad3 100644 --- a/scripts/node_path_map_area/node_path_map_area.gml +++ b/scripts/node_path_map_area/node_path_map_area.gml @@ -1,6 +1,5 @@ function Node_Path_Map_Area(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Remap Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_plot/node_path_plot.gml b/scripts/node_path_plot/node_path_plot.gml index d2c872f0e..000156a5c 100644 --- a/scripts/node_path_plot/node_path_plot.gml +++ b/scripts/node_path_plot/node_path_plot.gml @@ -1,6 +1,5 @@ function Node_Path_Plot(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Plot Path"; - previewable = false; length = 0; w = 96; diff --git a/scripts/node_path_reverse/node_path_reverse.gml b/scripts/node_path_reverse/node_path_reverse.gml index d1c65377a..78a1145c2 100644 --- a/scripts/node_path_reverse/node_path_reverse.gml +++ b/scripts/node_path_reverse/node_path_reverse.gml @@ -1,6 +1,5 @@ function Node_Path_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Reverse Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_sample/node_path_sample.gml b/scripts/node_path_sample/node_path_sample.gml index ea94856e6..73185c1c6 100644 --- a/scripts/node_path_sample/node_path_sample.gml +++ b/scripts/node_path_sample/node_path_sample.gml @@ -1,6 +1,5 @@ function Node_Path_Sample(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Sample Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_shift/node_path_shift.gml b/scripts/node_path_shift/node_path_shift.gml index 3b77f368a..d24c4a072 100644 --- a/scripts/node_path_shift/node_path_shift.gml +++ b/scripts/node_path_shift/node_path_shift.gml @@ -1,6 +1,5 @@ function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Shift Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_transform/node_path_transform.gml b/scripts/node_path_transform/node_path_transform.gml index fc4c8faf5..a7a460d87 100644 --- a/scripts/node_path_transform/node_path_transform.gml +++ b/scripts/node_path_transform/node_path_transform.gml @@ -1,6 +1,5 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Transform Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_trim/node_path_trim.gml b/scripts/node_path_trim/node_path_trim.gml index 59333c1fe..0e3293fbf 100644 --- a/scripts/node_path_trim/node_path_trim.gml +++ b/scripts/node_path_trim/node_path_trim.gml @@ -1,6 +1,5 @@ function Node_Path_Trim(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Trim Path"; - previewable = false; w = 96; diff --git a/scripts/node_path_wave/node_path_wave.gml b/scripts/node_path_wave/node_path_wave.gml index 8af87d4af..55fe96de2 100644 --- a/scripts/node_path_wave/node_path_wave.gml +++ b/scripts/node_path_wave/node_path_wave.gml @@ -1,6 +1,5 @@ function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Wave Path"; - previewable = false; w = 96; diff --git a/scripts/node_pin/node_pin.gml b/scripts/node_pin/node_pin.gml index 356e8e574..393386b63 100644 --- a/scripts/node_pin/node_pin.gml +++ b/scripts/node_pin/node_pin.gml @@ -5,7 +5,6 @@ function Node_Pin(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { auto_height = false; junction_shift_y = 16; - previewable = false; isHovering = false; hover_scale = 0; diff --git a/scripts/node_point_move/node_point_move.gml b/scripts/node_point_move/node_point_move.gml index 5e56779d4..85b221d6d 100644 --- a/scripts/node_point_move/node_point_move.gml +++ b/scripts/node_point_move/node_point_move.gml @@ -1,7 +1,6 @@ function Node_Move_Point(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Translate Point"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_random/node_random.gml b/scripts/node_random/node_random.gml index af4492646..d9c0770de 100644 --- a/scripts/node_random/node_random.gml +++ b/scripts/node_random/node_random.gml @@ -1,7 +1,6 @@ function Node_Random(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Random"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_render_sprite_sheet/node_render_sprite_sheet.gml b/scripts/node_render_sprite_sheet/node_render_sprite_sheet.gml index b206ff6c2..630077496 100644 --- a/scripts/node_render_sprite_sheet/node_render_sprite_sheet.gml +++ b/scripts/node_render_sprite_sheet/node_render_sprite_sheet.gml @@ -10,6 +10,8 @@ enum SPRITE_ANIM_GROUP { } function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { + static log = false; + name = "Render Spritesheet"; anim_drawn = array_create(TOTAL_FRAMES + 1, false); @@ -46,8 +48,6 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) outputs[| 1] = nodeValue("Atlas Data", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, []) .setArrayDepth(1); - refreshSurface = false; - input_display_list = [ ["Surfaces", false], 0, 1, 2, ["Sprite", false], 3, 8, @@ -56,6 +56,23 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) attribute_surface_depth(); + static onInspector1Update = function(updateAll = true) { #region + var key = ds_map_find_first(PROJECT.nodeMap); + + repeat(ds_map_size(PROJECT.nodeMap)) { + var node = PROJECT.nodeMap[? key]; + key = ds_map_find_next(PROJECT.nodeMap, key); + + if(!node.active) continue; + if(instanceof(node) != "Node_Render_Sprite_Sheet") continue; + + initSurface(); + } + + PROJECT.animator.render(); + array_push(RENDERING, node_id); + } #endregion + static step = function() { #region var grup = getInputData(1); var pack = getInputData(3); @@ -71,8 +88,197 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) } #endregion static update = function(frame = CURRENT_FRAME) { #region + var grup = getInputData(1); + + if(grup == SPRITE_ANIM_GROUP.animation) + animationRender(); + else + arrayRender(); + } #endregion + + static initSurface = function() { #region + for(var i = 0; i < TOTAL_FRAMES; i++) anim_drawn[i] = false; + + var grup = getInputData(1); + + if(grup == SPRITE_ANIM_GROUP.animation) + animationInit(); + else + arrayRender(); + } #endregion + + static arrayRender = function() { #region var inpt = getInputData(0); var grup = getInputData(1); + var pack = getInputData(3); + var alig = getInputData(5); + var spac = getInputData(6); + var padd = getInputData(7); + var rang = getInputData(8); + + var cDep = attrDepth(); + + if(!is_array(inpt)) { + outputs[| 0].setValue(inpt); + outputs[| 1].setValue([]); + return; + } + + #region frame + var _st, _ed; + var _ln = array_length(inpt); + + if(rang[0] < 0) _st = _ln + rang[0]; + else _st = rang[0]; + + if(rang[1] == 0) _ed = _ln; + else if(rang[1] < 0) _ed = _ln + rang[1]; + else _ed = rang[1]; + + _st = clamp(_st, 0, _ln); + _ed = clamp(_ed, 0, _ln); + + if(_ed <= _st) return; + var amo = _ed - _st; + #endregion + + var ww = 0; + var hh = 0; + var _atl = []; + + #region surface generate + switch(pack) { + case SPRITE_STACK.horizontal : + for(var i = _st; i < _ed; i++) { + ww += surface_get_width_safe(inpt[i]); + if(i > _st) ww += spac; + hh = max(hh, surface_get_height_safe(inpt[i])); + } + break; + case SPRITE_STACK.vertical : + for(var i = _st; i < _ed; i++) { + ww = max(ww, surface_get_width_safe(inpt[i])); + hh += surface_get_height_safe(inpt[i]); + if(i > _st) hh += spac; + } + break; + case SPRITE_STACK.grid : + var col = getInputData(4); + var row = ceil(amo / col); + + for(var i = 0; i < row; i++) { + var row_w = 0; + var row_h = 0; + + for(var j = 0; j < col; j++) { + var index = _st + i * col + j; + if(index >= _ed) break; + + row_w += surface_get_width_safe(inpt[index]); + if(j) row_w += spac; + row_h = max(row_h, surface_get_height_safe(inpt[index])); + } + + ww = max(ww, row_w); + hh += row_h + if(i) hh += spac; + } + break; + } + + ww += padd[0] + padd[2]; + hh += padd[1] + padd[3]; + var _surf = surface_create_valid(ww, hh, cDep); + #endregion + + #region draw + surface_set_target(_surf); + DRAW_CLEAR + + BLEND_OVERRIDE; + switch(pack) { + case SPRITE_STACK.horizontal : + var px = padd[2]; + var py = padd[1]; + for(var i = _st; i < _ed; i++) { + var _w = surface_get_width_safe(inpt[i]); + var _h = surface_get_height_safe(inpt[i]); + var _sx = px; + var _sy = py; + + switch(alig) { + case 1 : _sy = py + (hh - _h) / 2; break; + case 2 : _sy = py + (hh - _h); break; + } + + array_push(_atl, new SurfaceAtlas(inpt[i], _sx, _sy)); + draw_surface_safe(inpt[i], _sx, _sy); + + px += _w + spac; + } + break; + case SPRITE_STACK.vertical : + var px = padd[2]; + var py = padd[1]; + for(var i = _st; i < _ed; i++) { + var _w = surface_get_width_safe(inpt[i]); + var _h = surface_get_height_safe(inpt[i]); + var _sx = px; + var _sy = py; + + switch(alig) { + case 1 : _sx = px + (ww - _w) / 2; break; + case 2 : _sx = px + (ww - _w); break; + } + + array_push(_atl, new SurfaceAtlas(inpt[i], _sx, _sy)); + draw_surface_safe(inpt[i], _sx, _sy); + + py += _h + spac; + } + break; + case SPRITE_STACK.grid : + var amo = array_length(inpt); + var col = getInputData(4); + var row = ceil(amo / col); + + var row_w = 0; + var row_h = 0; + var px = padd[2]; + var py = padd[1]; + + for(var i = 0; i < row; i++) { + row_w = 0; + row_h = 0; + px = padd[2]; + + for(var j = 0; j < col; j++) { + var index = _st + i * col + j; + if(index >= _ed) break; + + var _w = surface_get_width_safe(inpt[index]); + var _h = surface_get_height_safe(inpt[index]); + + array_push(_atl, new SurfaceAtlas(inpt[index], px, py)); + draw_surface_safe(inpt[index], px, py); + + px += _w + spac; + row_h = max(row_h, _h); + } + py += row_h + spac; + } + break; + } + BLEND_NORMAL; + surface_reset_target(); + #endregion + + outputs[| 0].setValue(_surf); + outputs[| 1].setValue(_atl); + } #endregion + + static animationInit = function() { #region + var inpt = getInputData(0); var skip = getInputData(2); var pack = getInputData(3); var grid = getInputData(4); @@ -84,357 +290,209 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) var _atl = outputs[| 1].getValue(); var cDep = attrDepth(); - if(grup != SPRITE_ANIM_GROUP.animation) { - initRender(); - return; - } + printIf(log, $"Init animation"); - if(IS_RENDERING && PROJECT.animator.frame_progress && CURRENT_FRAME == 0 && !refreshSurface) { - var skip = getInputData(2); + var arr = is_array(inpt); + if(arr && array_length(inpt) == 0) return; + if(!arr) inpt = [ inpt ]; + + #region frame + var _st, _ed; - var arr = is_array(inpt); - if(arr && array_length(inpt) == 0) return; - if(!arr) inpt = [ inpt ]; - var _surf = []; + if(rang[0] < 0) _st = TOTAL_FRAMES + rang[0]; + else _st = rang[0]; + + if(rang[1] == 0) _ed = TOTAL_FRAMES; + else if(rang[1] < 0) _ed = TOTAL_FRAMES + rang[1]; + else _ed = rang[1]; - var amo = floor(TOTAL_FRAMES / skip); - var _st = clamp(rang[0], 0, amo); - var _ed = rang[1]; - if(rang[1] == 0) _ed = amo; - else if(rang[1] < 0) _ed = amo + rang[1]; - _ed = clamp(_ed, 0, amo); if(_ed <= _st) return; - amo = _ed - _st; - - for(var i = 0; i < array_length(inpt); i++) { - _atl[i] = []; + var amo = floor((_ed - _st) / skip); + #endregion + + var skip = getInputData(2); + var _surf = []; + + var ww = 1, hh = 1; - if(!is_surface(inpt[i])) continue; - var sw = surface_get_width_safe(inpt[i]); - var sh = surface_get_height_safe(inpt[i]); - var ww = sw, hh = sh; + for(var i = 0; i < array_length(inpt); i++) { + var _surfi = inpt[i]; + if(!is_surface(_surfi)) continue; + + _atl[i] = []; + + var sw = surface_get_width_safe(_surfi); + var sh = surface_get_height_safe(_surfi); + ww = sw; + hh = sh; - switch(pack) { - case SPRITE_STACK.horizontal : - ww = sw * amo + spac * (amo - 1); - break; - case SPRITE_STACK.vertical : - hh = sh * amo + spac * (amo - 1); - break; - case SPRITE_STACK.grid : - var amo = floor(TOTAL_FRAMES / skip); - var col = getInputData(4); - var row = ceil(amo / col); + switch(pack) { + case SPRITE_STACK.horizontal : + ww = sw * amo + spac * (amo - 1); + break; + case SPRITE_STACK.vertical : + hh = sh * amo + spac * (amo - 1); + break; + case SPRITE_STACK.grid : + var col = getInputData(4); + var row = ceil(amo / col); - ww = sw * col + spac * (col - 1); - hh = sh * row + spac * (row - 1); - break; - } + ww = sw * col + spac * (col - 1); + hh = sh * row + spac * (row - 1); + break; + } - ww += padd[0] + padd[2]; - hh += padd[1] + padd[3]; - _surf[i] = surface_create_valid(ww, hh, cDep); - surface_set_target(_surf[i]); + ww += padd[0] + padd[2]; + hh += padd[1] + padd[3]; + + _surf[i] = surface_create_valid(ww, hh, cDep); + surface_set_target(_surf[i]); DRAW_CLEAR - surface_reset_target(); + surface_reset_target(); + } + + if(!arr) _surf = array_safe_get(_surf, 0); + outputs[| 0].setValue(_surf); + outputs[| 1].setValue(_atl); - refreshSurface = true; - } + printIf(log, $"Surface generated [{ww}, {hh}]"); + } #endregion + + static animationRender = function() { #region + if(!IS_RENDERING) return; + + var inpt = getInputData(0); + var skip = getInputData(2); + var pack = getInputData(3); + var grid = getInputData(4); + var alig = getInputData(5); + var spac = getInputData(6); + var padd = getInputData(7); + var rang = getInputData(8); + + var _atl = outputs[| 1].getValue(); + var cDep = attrDepth(); + + printIf(log, $"Rendering animation {name}/{CURRENT_FRAME}"); + + var arr = is_array(inpt); + if(arr && array_length(inpt) == 0) return; + if(!arr) inpt = [ inpt ]; + + #region frame + var _st, _ed; - if(!arr) _surf = array_safe_get(_surf, 0); - outputs[| 0].setValue(_surf); - outputs[| 1].setValue(_atl); + if(rang[0] < 0) _st = TOTAL_FRAMES + rang[0]; + else _st = rang[0]; + + if(rang[1] == 0) _ed = TOTAL_FRAMES; + else if(rang[1] < 0) _ed = TOTAL_FRAMES + rang[1]; + else _ed = rang[1]; + + if(_ed <= _st) return; + var amo = floor((_ed - _st) / skip); + #endregion + + if(safe_mod(CURRENT_FRAME - _st, skip) != 0) { + printIf(log, $" > Skip frame"); + return; } - if(safe_mod(CURRENT_FRAME, skip) != 0) return; - - if(array_length(anim_drawn) != TOTAL_FRAMES) - array_resize(anim_drawn, TOTAL_FRAMES); - - if(CURRENT_FRAME >= 0 && CURRENT_FRAME < TOTAL_FRAMES) { - if(anim_drawn[CURRENT_FRAME]) return; - - if(PROJECT.animator.is_playing && PROJECT.animator.frame_progress) { - if(is_array(inpt) && array_length(inpt) == 0) return; - if(!is_array(inpt)) inpt = [ inpt ]; + #region check overlap + if(array_length(anim_drawn) != TOTAL_FRAMES) + array_resize(anim_drawn, TOTAL_FRAMES); + + if(CURRENT_FRAME >= 0 && CURRENT_FRAME < TOTAL_FRAMES && anim_drawn[CURRENT_FRAME]) { + printIf(log, $" > Skip drawn"); + return; } - } + #endregion - var oupt = outputs[| 0].getValue(); - if(is_array(oupt) && (array_length(inpt) != array_length(oupt))) return; - if(CURRENT_FRAME % skip != 0) return; - - var amo = floor(TOTAL_FRAMES / skip); - var _st = clamp(rang[0], 0, amo); - var _ed = rang[1]; - if(rang[1] == 0) _ed = amo; - else if(rang[1] < 0) _ed = amo + rang[1]; - _ed = clamp(_ed, 0, amo); - if(_ed <= _st) return; - - var _frame = floor(CURRENT_FRAME / skip); - - if(_frame < _st || _frame > _ed) return; - _frame -= _st; - - var drawn = false; + var oupt = outputs[| 0].getValue(); + var _frame = floor((CURRENT_FRAME - _st) / skip); + var drawn = false; var px = padd[2]; var py = padd[1]; - - for(var i = 0; i < array_length(inpt); i++) { - if(!is_surface(inpt[i])) { + + for(var i = 0; i < array_length(inpt); i++) { #region + var _surfi = inpt[i]; + + if(!is_surface(_surfi)) { + printIf(log, $" > Skip input not surface"); _atl[i] = noone; break; - } + } + + if(!is_array(array_safe_get(_atl, i))) + _atl[i] = []; + var _atli = _atl[i]; var oo = noone; - if(!is_array(oupt)) oo = oupt; - else oo = oupt[i]; - if(!is_surface(oo)) break; + if(!is_array(oupt)) oo = oupt; + else oo = oupt[i]; + + if(!is_surface(oo)) { + printIf(log, $" > Skip output not surface"); + break; + } var ww = surface_get_width_safe(oo); var hh = surface_get_height_safe(oo); - var _w = surface_get_width_safe(inpt[i]); - var _h = surface_get_height_safe(inpt[i]); + var _w = surface_get_width_safe(_surfi); + var _h = surface_get_height_safe(_surfi); + + var px; + var _sx = 0; + var _sy = 0; surface_set_target(oo); BLEND_OVERRIDE switch(pack) { case SPRITE_STACK.horizontal : - var px = padd[2] + _frame * _w + max(0, _frame) * spac; - var _sx = px; - var _sy = py; + px = padd[2] + _frame * _w + max(0, _frame) * spac; + _sx = px; + _sy = py; switch(alig) { case 1 : _sy = py + (hh - _h) / 2; break; case 2 : _sy = py + (hh - _h); break; } - _atl[i] = array_push_create(_atl[i], new SurfaceAtlas(inpt[i], _sx, _sy)); - draw_surface_safe(inpt[i], _sx, _sy); break; case SPRITE_STACK.vertical : - var py = padd[1] + _frame * _h + max(0, _frame) * spac; - var _sx = px; - var _sy = py; + py = padd[1] + _frame * _h + max(0, _frame) * spac; + _sx = px; + _sy = py; switch(alig) { case 1 : _sx = px + (ww - _w) / 2; break; case 2 : _sx = px + (ww - _w); break; } - _atl[i] = array_push_create(_atl[i], new SurfaceAtlas(inpt[i], _sx, _sy)); - draw_surface_safe(inpt[i], _sx, _sy); - break; case SPRITE_STACK.grid : var col = getInputData(4); var _row = floor(_frame / col); var _col = safe_mod(_frame, col); - px = padd[2] + _col * _w + max(0, _col) * spac; - py = padd[1] + _row * _h + max(0, _row) * spac; - - _atl[i] = array_push_create(_atl[i], new SurfaceAtlas(inpt[i], px, py)); - draw_surface_safe(inpt[i], px, py); + _sx = px + _col * _w + max(0, _col) * spac; + _sy = py + _row * _h + max(0, _row) * spac; break; } + + printIf(log, $" > Drawing frame ({CURRENT_FRAME}) at {_sx}, {_sy}"); + array_push(_atli, new SurfaceAtlas(_surfi, _sx, _sy)); + draw_surface_safe(inpt[i], _sx, _sy); + drawn = true; BLEND_NORMAL; surface_reset_target(); - } + } #endregion if(drawn) array_safe_set(anim_drawn, CURRENT_FRAME, true); outputs[| 1].setValue(_atl); } #endregion - - static onInspector1Update = function(updateAll = true) { #region - var key = ds_map_find_first(PROJECT.nodeMap); - - repeat(ds_map_size(PROJECT.nodeMap)) { - var node = PROJECT.nodeMap[? key]; - key = ds_map_find_next(PROJECT.nodeMap, key); - - if(!node.active) continue; - if(instanceof(node) != "Node_Render_Sprite_Sheet") continue; - - node.initRender(); - } - - array_push(RENDERING, node_id); - } #endregion - - static initRender = function() { #region - for(var i = 0; i < array_length(anim_drawn); i++) anim_drawn[i] = false; - - var inpt = getInputData(0); - var grup = getInputData(1); - var pack = getInputData(3); - var alig = getInputData(5); - var spac = getInputData(6); - var padd = getInputData(7); - var rang = getInputData(8); - - var cDep = attrDepth(); - - if(grup == SPRITE_ANIM_GROUP.animation) { - refreshSurface = false; - if(!LOADING && !APPENDING) - PROJECT.animator.render(); - - outputs[| 1].setValue([]); - return; - } - - if(!is_array(inpt)) { - outputs[| 0].setValue(inpt); - outputs[| 1].setValue([]); - return; - } - - var amo = array_length(inpt); - var _st = clamp(rang[0], 0, amo); - var _ed = rang[1]; - if(rang[1] == 0) _ed = amo; - else if(rang[1] < 0) _ed = amo + rang[1]; - _ed = clamp(_ed, 0, amo); - - amo = _ed - _st; - - if(_ed <= _st) return; - var ww = 0; - var hh = 0; - var _atl = []; - - switch(pack) { - case SPRITE_STACK.horizontal : - for(var i = _st; i < _ed; i++) { - ww += surface_get_width_safe(inpt[i]); - if(i > _st) ww += spac; - hh = max(hh, surface_get_height_safe(inpt[i])); - } - break; - case SPRITE_STACK.vertical : - for(var i = _st; i < _ed; i++) { - ww = max(ww, surface_get_width_safe(inpt[i])); - hh += surface_get_height_safe(inpt[i]); - if(i > _st) hh += spac; - } - break; - case SPRITE_STACK.grid : - var col = getInputData(4); - var row = ceil(amo / col); - - var row_w = 0; - var row_h = 0; - - for(var i = 0; i < row; i++) { - var row_w = 0; - var row_h = 0; - - for(var j = 0; j < col; j++) { - var index = _st + i * col + j; - if(index >= amo) break; - row_w += surface_get_width_safe(inpt[index]); - if(j) row_w += spac; - row_h = max(row_h, surface_get_height_safe(inpt[index])); - } - - ww = max(ww, row_w); - hh += row_h - if(i) hh += spac; - } - break; - } - - ww += padd[0] + padd[2]; - hh += padd[1] + padd[3]; - var _surf = surface_create_valid(ww, hh, cDep); - - surface_set_target(_surf); - DRAW_CLEAR - - BLEND_OVERRIDE; - switch(pack) { - case SPRITE_STACK.horizontal : - var px = padd[2]; - var py = padd[1]; - for(var i = _st; i < _ed; i++) { - var _w = surface_get_width_safe(inpt[i]); - var _h = surface_get_height_safe(inpt[i]); - var _sx = px; - var _sy = py; - - switch(alig) { - case 1 : _sy = py + (hh - _h) / 2; break; - case 2 : _sy = py + (hh - _h); break; - } - - array_push(_atl, new SurfaceAtlas(inpt[i], _sx, _sy)); - draw_surface_safe(inpt[i], _sx, _sy); - - px += _w + spac; - } - break; - case SPRITE_STACK.vertical : - var px = padd[2]; - var py = padd[1]; - for(var i = _st; i < _ed; i++) { - var _w = surface_get_width_safe(inpt[i]); - var _h = surface_get_height_safe(inpt[i]); - var _sx = px; - var _sy = py; - - switch(alig) { - case 1 : _sx = px + (ww - _w) / 2; break; - case 2 : _sx = px + (ww - _w); break; - } - - array_push(_atl, new SurfaceAtlas(inpt[i], _sx, _sy)); - draw_surface_safe(inpt[i], _sx, _sy); - - py += _h + spac; - } - break; - case SPRITE_STACK.grid : - var amo = array_length(inpt); - var col = getInputData(4); - var row = ceil(amo / col); - - var row_w = 0; - var row_h = 0; - var px = padd[2]; - var py = padd[1]; - - for(var i = 0; i < row; i++) { - var row_w = 0; - var row_h = 0; - px = padd[2]; - - for(var j = 0; j < col; j++) { - var index = _st + i * col + j; - if(index >= amo) break; - - var _w = surface_get_width_safe(inpt[index]); - var _h = surface_get_height_safe(inpt[index]); - - array_push(_atl, new SurfaceAtlas(inpt[index], px, py)); - draw_surface_safe(inpt[index], px, py); - - px += _w + spac; - row_h = max(row_h, _h); - } - py += row_h + spac; - } - break; - } - BLEND_NORMAL; - surface_reset_target(); - - outputs[| 0].setValue(_surf); - outputs[| 1].setValue(_atl); - } #endregion } \ No newline at end of file diff --git a/scripts/node_rigid_override/node_rigid_override.gml b/scripts/node_rigid_override/node_rigid_override.gml index e31355cc3..a455a1b0c 100644 --- a/scripts/node_rigid_override/node_rigid_override.gml +++ b/scripts/node_rigid_override/node_rigid_override.gml @@ -1,8 +1,7 @@ function Node_Rigid_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Rigidbody Override"; + name = "Rigidbody Override"; color = COLORS.node_blend_simulation; icon = THEME.rigidSim; - previewable = false; node_draw_icon = s_node_rigid_override; w = 96; diff --git a/scripts/node_rigid_variable/node_rigid_variable.gml b/scripts/node_rigid_variable/node_rigid_variable.gml index 3e0682ea5..154dd0051 100644 --- a/scripts/node_rigid_variable/node_rigid_variable.gml +++ b/scripts/node_rigid_variable/node_rigid_variable.gml @@ -1,8 +1,7 @@ function Node_Rigid_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Rigidbody Variable"; + name = "Rigidbody Variable"; color = COLORS.node_blend_simulation; icon = THEME.rigidSim; - previewable = false; node_draw_icon = s_node_rigid_variable; w = 96; diff --git a/scripts/node_scatter_points/node_scatter_points.gml b/scripts/node_scatter_points/node_scatter_points.gml index 7bf3331b1..3c2c47e40 100644 --- a/scripts/node_scatter_points/node_scatter_points.gml +++ b/scripts/node_scatter_points/node_scatter_points.gml @@ -1,7 +1,6 @@ function Node_Scatter_Points(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Scatter Points"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_statistic/node_statistic.gml b/scripts/node_statistic/node_statistic.gml index 204dfa0e4..9e3197894 100644 --- a/scripts/node_statistic/node_statistic.gml +++ b/scripts/node_statistic/node_statistic.gml @@ -24,7 +24,6 @@ function Node_create_Statistic(_x, _y, _group = noone, _param = {}) { function Node_Statistic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Statistic"; - previewable = false; w = 96; diff --git a/scripts/node_string/node_string.gml b/scripts/node_string/node_string.gml index 58b2bbd7c..9929b69b2 100644 --- a/scripts/node_string/node_string.gml +++ b/scripts/node_string/node_string.gml @@ -1,6 +1,5 @@ function Node_String(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Text"; - previewable = false; w = 96; diff --git a/scripts/node_string_get_char/node_string_get_char.gml b/scripts/node_string_get_char/node_string_get_char.gml index 32b41d8c9..42935bd63 100644 --- a/scripts/node_string_get_char/node_string_get_char.gml +++ b/scripts/node_string_get_char/node_string_get_char.gml @@ -1,6 +1,5 @@ function Node_String_Get_Char(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Get Character"; - previewable = false; w = 96; inputs[| 0] = nodeValue("Text", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "") diff --git a/scripts/node_string_join/node_string_join.gml b/scripts/node_string_join/node_string_join.gml index 141aa6d75..162e3a073 100644 --- a/scripts/node_string_join/node_string_join.gml +++ b/scripts/node_string_join/node_string_join.gml @@ -1,6 +1,5 @@ function Node_String_Join(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Join Text"; - previewable = false; w = 96; diff --git a/scripts/node_string_length/node_string_length.gml b/scripts/node_string_length/node_string_length.gml index 612a7ecf8..2a0df79d4 100644 --- a/scripts/node_string_length/node_string_length.gml +++ b/scripts/node_string_length/node_string_length.gml @@ -1,6 +1,5 @@ function Node_String_Length(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Text Length"; - previewable = false; w = 96; diff --git a/scripts/node_string_merge/node_string_merge.gml b/scripts/node_string_merge/node_string_merge.gml index 633b4343b..45f6482ba 100644 --- a/scripts/node_string_merge/node_string_merge.gml +++ b/scripts/node_string_merge/node_string_merge.gml @@ -1,6 +1,5 @@ function Node_String_Merge(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Combine Text"; - previewable = false; w = 96; diff --git a/scripts/node_string_path_separate_folder/node_string_path_separate_folder.gml b/scripts/node_string_path_separate_folder/node_string_path_separate_folder.gml index ae07a13e4..c492c4aff 100644 --- a/scripts/node_string_path_separate_folder/node_string_path_separate_folder.gml +++ b/scripts/node_string_path_separate_folder/node_string_path_separate_folder.gml @@ -1,6 +1,5 @@ function Node_Path_Separate_Folder(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Separate File Path"; - previewable = false; w = 96; diff --git a/scripts/node_string_regex_match/node_string_regex_match.gml b/scripts/node_string_regex_match/node_string_regex_match.gml index 2c6116411..ff7bb8820 100644 --- a/scripts/node_string_regex_match/node_string_regex_match.gml +++ b/scripts/node_string_regex_match/node_string_regex_match.gml @@ -1,6 +1,5 @@ function Node_String_Regex_Match(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "RegEx Match"; - previewable = false; w = 96; diff --git a/scripts/node_string_regex_replace/node_string_regex_replace.gml b/scripts/node_string_regex_replace/node_string_regex_replace.gml index 10a3d687c..db9bcb26d 100644 --- a/scripts/node_string_regex_replace/node_string_regex_replace.gml +++ b/scripts/node_string_regex_replace/node_string_regex_replace.gml @@ -1,6 +1,5 @@ function Node_String_Regex_Replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "RegEx Replace"; - previewable = false; w = 96; diff --git a/scripts/node_string_regex_search/node_string_regex_search.gml b/scripts/node_string_regex_search/node_string_regex_search.gml index 18aceceea..83b5d4046 100644 --- a/scripts/node_string_regex_search/node_string_regex_search.gml +++ b/scripts/node_string_regex_search/node_string_regex_search.gml @@ -1,6 +1,5 @@ function Node_String_Regex_Search(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "RegEx Search"; - previewable = false; w = 96; diff --git a/scripts/node_string_split/node_string_split.gml b/scripts/node_string_split/node_string_split.gml index fdac223dd..6adc7db0f 100644 --- a/scripts/node_string_split/node_string_split.gml +++ b/scripts/node_string_split/node_string_split.gml @@ -1,6 +1,5 @@ function Node_String_Split(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Split Text"; - previewable = false; w = 96; inputs[| 0] = nodeValue("Text", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "") diff --git a/scripts/node_string_trim/node_string_trim.gml b/scripts/node_string_trim/node_string_trim.gml index f855265d5..d8a1461f7 100644 --- a/scripts/node_string_trim/node_string_trim.gml +++ b/scripts/node_string_trim/node_string_trim.gml @@ -1,6 +1,5 @@ function Node_String_Trim(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Trim Text"; - previewable = false; w = 96; diff --git a/scripts/node_struct/node_struct.gml b/scripts/node_struct/node_struct.gml index 0314baec2..9c67ab65d 100644 --- a/scripts/node_struct/node_struct.gml +++ b/scripts/node_struct/node_struct.gml @@ -1,6 +1,5 @@ function Node_Struct(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Struct"; - previewable = false; w = 96; diff --git a/scripts/node_struct_get/node_struct_get.gml b/scripts/node_struct_get/node_struct_get.gml index 40dc74985..5f725a704 100644 --- a/scripts/node_struct_get/node_struct_get.gml +++ b/scripts/node_struct_get/node_struct_get.gml @@ -1,6 +1,5 @@ function Node_Struct_Get(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Struct Get"; - previewable = false; w = 96; diff --git a/scripts/node_struct_json_parse/node_struct_json_parse.gml b/scripts/node_struct_json_parse/node_struct_json_parse.gml index 2633a5ab7..ab4241af4 100644 --- a/scripts/node_struct_json_parse/node_struct_json_parse.gml +++ b/scripts/node_struct_json_parse/node_struct_json_parse.gml @@ -1,6 +1,5 @@ function Node_Struct_JSON_Parse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "JSON Parse"; - previewable = false; w = 96; h = 32 + 24; diff --git a/scripts/node_struct_set/node_struct_set.gml b/scripts/node_struct_set/node_struct_set.gml index fc58293b8..584a7e2b9 100644 --- a/scripts/node_struct_set/node_struct_set.gml +++ b/scripts/node_struct_set/node_struct_set.gml @@ -1,6 +1,5 @@ function Node_Struct_Set(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Struct Set"; - previewable = false; w = 96; diff --git a/scripts/node_surface_data/node_surface_data.gml b/scripts/node_surface_data/node_surface_data.gml index e200a1ec7..168822e30 100644 --- a/scripts/node_surface_data/node_surface_data.gml +++ b/scripts/node_surface_data/node_surface_data.gml @@ -1,7 +1,6 @@ function Node_Surface_data(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Surface data"; color = COLORS.node_blend_number; - previewable = false; inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); diff --git a/scripts/node_switch/node_switch.gml b/scripts/node_switch/node_switch.gml index ec5556614..89c8b556c 100644 --- a/scripts/node_switch/node_switch.gml +++ b/scripts/node_switch/node_switch.gml @@ -1,6 +1,5 @@ function Node_Switch(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Switch"; - previewable = false; w = 96; diff --git a/scripts/node_text_file_read/node_text_file_read.gml b/scripts/node_text_file_read/node_text_file_read.gml index 71807b8de..4f258b8c2 100644 --- a/scripts/node_text_file_read/node_text_file_read.gml +++ b/scripts/node_text_file_read/node_text_file_read.gml @@ -26,7 +26,6 @@ function Node_create_Text_File_Read_path(_x, _y, path) { function Node_Text_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Text File In"; color = COLORS.node_blend_input; - previewable = false; w = 128; diff --git a/scripts/node_text_file_write/node_text_file_write.gml b/scripts/node_text_file_write/node_text_file_write.gml index e8eea57ce..73bb7bdb3 100644 --- a/scripts/node_text_file_write/node_text_file_write.gml +++ b/scripts/node_text_file_write/node_text_file_write.gml @@ -1,7 +1,6 @@ function Node_Text_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Text File Out"; + name = "Text File Out"; color = COLORS.node_blend_input; - previewable = false; w = 128; diff --git a/scripts/node_to_number/node_to_number.gml b/scripts/node_to_number/node_to_number.gml index 22d16c78a..6f746bb6c 100644 --- a/scripts/node_to_number/node_to_number.gml +++ b/scripts/node_to_number/node_to_number.gml @@ -1,7 +1,6 @@ function Node_To_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "To Number"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_to_text/node_to_text.gml b/scripts/node_to_text/node_to_text.gml index 84890267b..efe5b07d9 100644 --- a/scripts/node_to_text/node_to_text.gml +++ b/scripts/node_to_text/node_to_text.gml @@ -1,6 +1,5 @@ function Node_To_Text(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "To Text"; - previewable = false; w = 96; diff --git a/scripts/node_transform_array/node_transform_array.gml b/scripts/node_transform_array/node_transform_array.gml index 4ae8634b9..103f1cff6 100644 --- a/scripts/node_transform_array/node_transform_array.gml +++ b/scripts/node_transform_array/node_transform_array.gml @@ -1,7 +1,6 @@ function Node_Transform_Array(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { - name = "Transform Array"; + name = "Transform Array"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_trigger/node_trigger.gml b/scripts/node_trigger/node_trigger.gml index 10f0e58db..a0c37e24c 100644 --- a/scripts/node_trigger/node_trigger.gml +++ b/scripts/node_trigger/node_trigger.gml @@ -1,6 +1,5 @@ function Node_Trigger(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Trigger"; - previewable = false; update_on_frame = true; w = 96; diff --git a/scripts/node_trigger_bool/node_trigger_bool.gml b/scripts/node_trigger_bool/node_trigger_bool.gml index d232a7e47..b35a2367b 100644 --- a/scripts/node_trigger_bool/node_trigger_bool.gml +++ b/scripts/node_trigger_bool/node_trigger_bool.gml @@ -1,6 +1,5 @@ function Node_Trigger_Bool(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Boolean Trigger"; - previewable = false; update_on_frame = true; w = 96; diff --git a/scripts/node_tunnel_in/node_tunnel_in.gml b/scripts/node_tunnel_in/node_tunnel_in.gml index eac0f80bf..8065d8dc9 100644 --- a/scripts/node_tunnel_in/node_tunnel_in.gml +++ b/scripts/node_tunnel_in/node_tunnel_in.gml @@ -1,6 +1,5 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Tunnel In"; - previewable = false; + name = "Tunnel In"; color = COLORS.node_blend_tunnel; is_group_io = true; diff --git a/scripts/node_tunnel_out/node_tunnel_out.gml b/scripts/node_tunnel_out/node_tunnel_out.gml index d06c8a94d..fc2fcdb64 100644 --- a/scripts/node_tunnel_out/node_tunnel_out.gml +++ b/scripts/node_tunnel_out/node_tunnel_out.gml @@ -1,7 +1,6 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "Tunnel Out"; + name = "Tunnel Out"; color = COLORS.node_blend_tunnel; - previewable = false; is_group_io = true; w = 96; diff --git a/scripts/node_unicode/node_unicode.gml b/scripts/node_unicode/node_unicode.gml index a975649ea..0363bc693 100644 --- a/scripts/node_unicode/node_unicode.gml +++ b/scripts/node_unicode/node_unicode.gml @@ -1,7 +1,6 @@ function Node_Unicode(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { - name = "Unicode"; + name = "Unicode"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index 852917183..18ffb9528 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -1906,11 +1906,13 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru static isRendered = function() { #region if(type == VALUE_TYPE.node) return true; - if( value_from == noone) return true; - if(!value_from.node.active) return true; - if(!value_from.node.isRenderActive()) return true; + if( value_from == noone) return true; - return value_from.node.rendered; + var controlNode = struct_has(value_from, "from")? value_from.from : value_from.node; + if(!controlNode.active) return true; + if(!controlNode.isRenderActive()) return true; + + return controlNode.rendered; } #endregion static setFrom = function(_valueFrom, _update = true, checkRecur = true, log = false) { #region diff --git a/scripts/node_vector_cross2D/node_vector_cross2D.gml b/scripts/node_vector_cross2D/node_vector_cross2D.gml index ec6b0d1b6..a23b2d4e5 100644 --- a/scripts/node_vector_cross2D/node_vector_cross2D.gml +++ b/scripts/node_vector_cross2D/node_vector_cross2D.gml @@ -1,7 +1,6 @@ function Node_Vector_Cross_2D(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Cross Product 2D"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_vector_cross3D/node_vector_cross3D.gml b/scripts/node_vector_cross3D/node_vector_cross3D.gml index fb1824099..978d8fbe1 100644 --- a/scripts/node_vector_cross3D/node_vector_cross3D.gml +++ b/scripts/node_vector_cross3D/node_vector_cross3D.gml @@ -1,7 +1,6 @@ function Node_Vector_Cross_3D(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Cross Product 3D"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_vector_dot/node_vector_dot.gml b/scripts/node_vector_dot/node_vector_dot.gml index c85eef363..e139ba41a 100644 --- a/scripts/node_vector_dot/node_vector_dot.gml +++ b/scripts/node_vector_dot/node_vector_dot.gml @@ -1,7 +1,6 @@ function Node_Vector_Dot(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Dot Product"; color = COLORS.node_blend_number; - previewable = false; w = 96; diff --git a/scripts/node_wav_file_read/node_wav_file_read.gml b/scripts/node_wav_file_read/node_wav_file_read.gml index f8318ee27..c275e8ec3 100644 --- a/scripts/node_wav_file_read/node_wav_file_read.gml +++ b/scripts/node_wav_file_read/node_wav_file_read.gml @@ -24,9 +24,8 @@ function Node_create_WAV_File_Read_path(_x, _y, path) { #region } #endregion function Node_WAV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "WAV File In"; + name = "WAV File In"; color = COLORS.node_blend_input; - previewable = false; w = 128; h = 128; diff --git a/scripts/node_wav_file_write/node_wav_file_write.gml b/scripts/node_wav_file_write/node_wav_file_write.gml index f30861c7a..968532e26 100644 --- a/scripts/node_wav_file_write/node_wav_file_write.gml +++ b/scripts/node_wav_file_write/node_wav_file_write.gml @@ -1,7 +1,6 @@ function Node_WAV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "WAV File Out"; + name = "WAV File Out"; color = COLORS.node_blend_input; - previewable = false; h = 72; min_h = h; diff --git a/scripts/node_wiggler/node_wiggler.gml b/scripts/node_wiggler/node_wiggler.gml index 1aa093f28..7ead76539 100644 --- a/scripts/node_wiggler/node_wiggler.gml +++ b/scripts/node_wiggler/node_wiggler.gml @@ -1,7 +1,6 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Wiggler"; update_on_frame = true; - previewable = false; w = 96; diff --git a/scripts/panel_graph/panel_graph.gml b/scripts/panel_graph/panel_graph.gml index 4be2e883e..25fe2c63a 100644 --- a/scripts/panel_graph/panel_graph.gml +++ b/scripts/panel_graph/panel_graph.gml @@ -320,6 +320,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { array_foreach(nodes_selecting, function(node, index) { if(index == 0) __temp_show = !node.previewable; node.previewable = __temp_show; + node.setHeight(); }); } #endregion diff --git a/scripts/panel_nodes/panel_nodes.gml b/scripts/panel_nodes/panel_nodes.gml index 6fa98f007..a8c017730 100644 --- a/scripts/panel_nodes/panel_nodes.gml +++ b/scripts/panel_nodes/panel_nodes.gml @@ -70,12 +70,12 @@ function Panel_Nodes() : PanelContent() constructor { var _n = ALL_NODES[? instanceof(node)]; var spr = _n.spr; - draw_sprite_ui(spr, 1, _x0 + ui(4 + 16), _y + hg / 2, 0.5, 0.5, 0, c_white, 0.75); + draw_sprite_ui(spr, 1, _x0 + ui(4 + 16), _y + hg / 2, 0.25, 0.25, 0, c_white, 0.75); var cc = COLORS._main_text; draw_set_text(f_p1, fa_left, fa_center, cc); draw_text(_x0 + hg + ui(8) + (isGroup * ui(20)), _y + hg / 2, name); if(isGroup) - draw_sprite_ui(THEME.arrow, node_collapse[? node.node_id] * 3, _x0 + hg + ui(16), _y + hg / 2,,,,, 0.75); + draw_sprite_ui(THEME.arrow, (!node_collapse[? node.node_id]) * 3, _x0 + hg + ui(16), _y + hg / 2,,,,, 0.75); _y += hg + ui(4); _h += hg + ui(4); diff --git a/scripts/render_data/render_data.gml b/scripts/render_data/render_data.gml index c003d6472..6f4c566ff 100644 --- a/scripts/render_data/render_data.gml +++ b/scripts/render_data/render_data.gml @@ -6,8 +6,8 @@ enum RENDER_TYPE { #region globalvar globalvar UPDATE, RENDER_QUEUE, RENDER_ORDER, UPDATE_RENDER_ORDER; - UPDATE_RENDER_ORDER = false; - global.FLAG.render = 0; + UPDATE_RENDER_ORDER = false; + global.FLAG.render = 0; global.FLAG.renderTime = false; #macro RENDER_ALL_REORDER UPDATE_RENDER_ORDER = true; UPDATE |= RENDER_TYPE.full; @@ -204,8 +204,12 @@ function Render(partial = false, runAction = false) { #region var nextNodes = rendering.getNextNodes(); for( var i = 0, n = array_length(nextNodes); i < n; i++ ) { - if(nextNodes[i].isRenderable()) + if(nextNodes[i].isRenderable()) { + //LOG($"push {nextNodes[i].internalName} to render stack."); RENDER_QUEUE.enqueue(nextNodes[i]); + } else { + //LOG($"skip {nextNodes[i].internalName}."); + } } if(runAction && rendering.hasInspector1Update())