Inline arrays
|
@ -44,6 +44,7 @@
|
||||||
{"name":"bones","order":18,"path":"folders/functions/bones.yy",},
|
{"name":"bones","order":18,"path":"folders/functions/bones.yy",},
|
||||||
{"name":"buffer","order":35,"path":"folders/functions/buffer.yy",},
|
{"name":"buffer","order":35,"path":"folders/functions/buffer.yy",},
|
||||||
{"name":"compat","order":13,"path":"folders/functions/compat.yy",},
|
{"name":"compat","order":13,"path":"folders/functions/compat.yy",},
|
||||||
|
{"name":"connection","order":44,"path":"folders/functions/connection.yy",},
|
||||||
{"name":"control","order":22,"path":"folders/functions/control.yy",},
|
{"name":"control","order":22,"path":"folders/functions/control.yy",},
|
||||||
{"name":"curve","order":12,"path":"folders/functions/curve.yy",},
|
{"name":"curve","order":12,"path":"folders/functions/curve.yy",},
|
||||||
{"name":"debug","order":14,"path":"folders/functions/debug.yy",},
|
{"name":"debug","order":14,"path":"folders/functions/debug.yy",},
|
||||||
|
@ -120,10 +121,13 @@
|
||||||
{"name":"IO","order":1,"path":"folders/nodes/data/IO.yy",},
|
{"name":"IO","order":1,"path":"folders/nodes/data/IO.yy",},
|
||||||
{"name":"network","order":15,"path":"folders/nodes/data/IO/network.yy",},
|
{"name":"network","order":15,"path":"folders/nodes/data/IO/network.yy",},
|
||||||
{"name":"iterate","order":9,"path":"folders/nodes/data/iterate.yy",},
|
{"name":"iterate","order":9,"path":"folders/nodes/data/iterate.yy",},
|
||||||
|
{"name":"_legacy","order":12,"path":"folders/nodes/data/iterate/_legacy.yy",},
|
||||||
|
{"name":"for filter","order":1,"path":"folders/nodes/data/iterate/_legacy/for filter.yy",},
|
||||||
|
{"name":"for sort","order":2,"path":"folders/nodes/data/iterate/_legacy/for sort.yy",},
|
||||||
{"name":"feedback","order":7,"path":"folders/nodes/data/iterate/feedback.yy",},
|
{"name":"feedback","order":7,"path":"folders/nodes/data/iterate/feedback.yy",},
|
||||||
{"name":"for each","order":1,"path":"folders/nodes/data/iterate/for each.yy",},
|
{"name":"for each","order":9,"path":"folders/nodes/data/iterate/for each.yy",},
|
||||||
{"name":"for filter","order":3,"path":"folders/nodes/data/iterate/for filter.yy",},
|
{"name":"for filter","order":10,"path":"folders/nodes/data/iterate/for filter.yy",},
|
||||||
{"name":"for sort","order":5,"path":"folders/nodes/data/iterate/for sort.yy",},
|
{"name":"for sort inline","order":11,"path":"folders/nodes/data/iterate/for sort inline.yy",},
|
||||||
{"name":"lua","order":12,"path":"folders/nodes/data/lua.yy",},
|
{"name":"lua","order":12,"path":"folders/nodes/data/lua.yy",},
|
||||||
{"name":"misc","order":10,"path":"folders/nodes/data/misc.yy",},
|
{"name":"misc","order":10,"path":"folders/nodes/data/misc.yy",},
|
||||||
{"name":"MK effects","order":24,"path":"folders/nodes/data/MK effects.yy",},
|
{"name":"MK effects","order":24,"path":"folders/nodes/data/MK effects.yy",},
|
||||||
|
@ -141,11 +145,11 @@
|
||||||
{"name":"effect","order":4,"path":"folders/nodes/data/pixel builder/effect.yy",},
|
{"name":"effect","order":4,"path":"folders/nodes/data/pixel builder/effect.yy",},
|
||||||
{"name":"render","order":3,"path":"folders/nodes/data/render.yy",},
|
{"name":"render","order":3,"path":"folders/nodes/data/render.yy",},
|
||||||
{"name":"simulation","order":16,"path":"folders/nodes/data/simulation.yy",},
|
{"name":"simulation","order":16,"path":"folders/nodes/data/simulation.yy",},
|
||||||
{"name":"smokeSim","order":2,"path":"folders/nodes/data/simulation/smokeSim.yy",},
|
{"name":"smokeSim","order":1,"path":"folders/nodes/data/simulation/smokeSim.yy",},
|
||||||
{"name":"strandSim","order":1,"path":"folders/nodes/data/simulation/strandSim.yy",},
|
{"name":"strandSim","order":3,"path":"folders/nodes/data/simulation/strandSim.yy",},
|
||||||
{"name":"VFX","order":3,"path":"folders/nodes/data/simulation/VFX.yy",},
|
{"name":"VFX","order":2,"path":"folders/nodes/data/simulation/VFX.yy",},
|
||||||
{"name":"affector","order":9,"path":"folders/nodes/data/simulation/VFX/affector.yy",},
|
{"name":"affector","order":9,"path":"folders/nodes/data/simulation/VFX/affector.yy",},
|
||||||
{"name":"effects","order":11,"path":"folders/nodes/data/simulation/VFX/effects.yy",},
|
{"name":"effects","order":10,"path":"folders/nodes/data/simulation/VFX/effects.yy",},
|
||||||
{"name":"transform","order":8,"path":"folders/nodes/data/transform.yy",},
|
{"name":"transform","order":8,"path":"folders/nodes/data/transform.yy",},
|
||||||
{"name":"value","order":4,"path":"folders/nodes/data/value.yy",},
|
{"name":"value","order":4,"path":"folders/nodes/data/value.yy",},
|
||||||
{"name":"array","order":1,"path":"folders/nodes/data/value/array.yy",},
|
{"name":"array","order":1,"path":"folders/nodes/data/value/array.yy",},
|
||||||
|
@ -300,7 +304,7 @@
|
||||||
{"name":"s_node_frame","order":1,"path":"sprites/s_node_frame/s_node_frame.yy",},
|
{"name":"s_node_frame","order":1,"path":"sprites/s_node_frame/s_node_frame.yy",},
|
||||||
{"name":"sh_mk_tile18_edge_r","order":2,"path":"shaders/sh_mk_tile18_edge_r/sh_mk_tile18_edge_r.yy",},
|
{"name":"sh_mk_tile18_edge_r","order":2,"path":"shaders/sh_mk_tile18_edge_r/sh_mk_tile18_edge_r.yy",},
|
||||||
{"name":"node_active_canvas","order":22,"path":"scripts/node_active_canvas/node_active_canvas.yy",},
|
{"name":"node_active_canvas","order":22,"path":"scripts/node_active_canvas/node_active_canvas.yy",},
|
||||||
{"name":"node_VFX_group_inline","order":12,"path":"scripts/node_VFX_group_inline/node_VFX_group_inline.yy",},
|
{"name":"node_VFX_group_inline","order":11,"path":"scripts/node_VFX_group_inline/node_VFX_group_inline.yy",},
|
||||||
{"name":"s_node_fluidSim_turbulence","order":10,"path":"sprites/s_node_fluidSim_turbulence/s_node_fluidSim_turbulence.yy",},
|
{"name":"s_node_fluidSim_turbulence","order":10,"path":"sprites/s_node_fluidSim_turbulence/s_node_fluidSim_turbulence.yy",},
|
||||||
{"name":"node_pb_fx_hash","order":7,"path":"scripts/node_pb_fx_hash/node_pb_fx_hash.yy",},
|
{"name":"node_pb_fx_hash","order":7,"path":"scripts/node_pb_fx_hash/node_pb_fx_hash.yy",},
|
||||||
{"name":"sh_pb_draw_mask","order":8,"path":"shaders/sh_pb_draw_mask/sh_pb_draw_mask.yy",},
|
{"name":"sh_pb_draw_mask","order":8,"path":"shaders/sh_pb_draw_mask/sh_pb_draw_mask.yy",},
|
||||||
|
@ -439,7 +443,7 @@
|
||||||
{"name":"sh_mk_tile18_edge_l","order":1,"path":"shaders/sh_mk_tile18_edge_l/sh_mk_tile18_edge_l.yy",},
|
{"name":"sh_mk_tile18_edge_l","order":1,"path":"shaders/sh_mk_tile18_edge_l/sh_mk_tile18_edge_l.yy",},
|
||||||
{"name":"sh_palette_shift","order":19,"path":"shaders/sh_palette_shift/sh_palette_shift.yy",},
|
{"name":"sh_palette_shift","order":19,"path":"shaders/sh_palette_shift/sh_palette_shift.yy",},
|
||||||
{"name":"node_array_copy","order":14,"path":"scripts/node_array_copy/node_array_copy.yy",},
|
{"name":"node_array_copy","order":14,"path":"scripts/node_array_copy/node_array_copy.yy",},
|
||||||
{"name":"draw_line_elbow","order":17,"path":"scripts/draw_line_elbow/draw_line_elbow.yy",},
|
{"name":"draw_connect_elbow","order":1,"path":"scripts/draw_connect_elbow/draw_connect_elbow.yy",},
|
||||||
{"name":"node_path_reverse","order":8,"path":"scripts/node_path_reverse/node_path_reverse.yy",},
|
{"name":"node_path_reverse","order":8,"path":"scripts/node_path_reverse/node_path_reverse.yy",},
|
||||||
{"name":"fd_rectangle_get_acceleration_y","order":3,"path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},
|
{"name":"fd_rectangle_get_acceleration_y","order":3,"path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},
|
||||||
{"name":"sh_simplex","order":7,"path":"shaders/sh_simplex/sh_simplex.yy",},
|
{"name":"sh_simplex","order":7,"path":"shaders/sh_simplex/sh_simplex.yy",},
|
||||||
|
@ -678,6 +682,7 @@
|
||||||
{"name":"s_ui_base_white","order":2,"path":"sprites/s_ui_base_white/s_ui_base_white.yy",},
|
{"name":"s_ui_base_white","order":2,"path":"sprites/s_ui_base_white/s_ui_base_white.yy",},
|
||||||
{"name":"node_color_mix","order":14,"path":"scripts/node_color_mix/node_color_mix.yy",},
|
{"name":"node_color_mix","order":14,"path":"scripts/node_color_mix/node_color_mix.yy",},
|
||||||
{"name":"s_node_array_range","order":6,"path":"sprites/s_node_array_range/s_node_array_range.yy",},
|
{"name":"s_node_array_range","order":6,"path":"sprites/s_node_array_range/s_node_array_range.yy",},
|
||||||
|
{"name":"node_iterator_each_inline_output","order":2,"path":"scripts/node_iterator_each_inline_output/node_iterator_each_inline_output.yy",},
|
||||||
{"name":"sh_fd_advect_material_a_16_glsl","order":2,"path":"shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy",},
|
{"name":"sh_fd_advect_material_a_16_glsl","order":2,"path":"shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy",},
|
||||||
{"name":"distribution_function","order":12,"path":"scripts/distribution_function/distribution_function.yy",},
|
{"name":"distribution_function","order":12,"path":"scripts/distribution_function/distribution_function.yy",},
|
||||||
{"name":"sh_blur_radial","order":9,"path":"shaders/sh_blur_radial/sh_blur_radial.yy",},
|
{"name":"sh_blur_radial","order":9,"path":"shaders/sh_blur_radial/sh_blur_radial.yy",},
|
||||||
|
@ -739,6 +744,7 @@
|
||||||
{"name":"node_unicode","order":1,"path":"scripts/node_unicode/node_unicode.yy",},
|
{"name":"node_unicode","order":1,"path":"scripts/node_unicode/node_unicode.yy",},
|
||||||
{"name":"draw_set_text","order":1,"path":"scripts/draw_set_text/draw_set_text.yy",},
|
{"name":"draw_set_text","order":1,"path":"scripts/draw_set_text/draw_set_text.yy",},
|
||||||
{"name":"node_pb_draw","order":1,"path":"scripts/node_pb_draw/node_pb_draw.yy",},
|
{"name":"node_pb_draw","order":1,"path":"scripts/node_pb_draw/node_pb_draw.yy",},
|
||||||
|
{"name":"node_iterator_filter_inline_output","order":2,"path":"scripts/node_iterator_filter_inline_output/node_iterator_filter_inline_output.yy",},
|
||||||
{"name":"s_node_warp","order":9,"path":"sprites/s_node_warp/s_node_warp.yy",},
|
{"name":"s_node_warp","order":9,"path":"sprites/s_node_warp/s_node_warp.yy",},
|
||||||
{"name":"s_node_surface_from_buffer","order":1,"path":"sprites/s_node_surface_from_buffer/s_node_surface_from_buffer.yy",},
|
{"name":"s_node_surface_from_buffer","order":1,"path":"sprites/s_node_surface_from_buffer/s_node_surface_from_buffer.yy",},
|
||||||
{"name":"node_iterator_filter_output","order":2,"path":"scripts/node_iterator_filter_output/node_iterator_filter_output.yy",},
|
{"name":"node_iterator_filter_output","order":2,"path":"scripts/node_iterator_filter_output/node_iterator_filter_output.yy",},
|
||||||
|
@ -757,7 +763,7 @@
|
||||||
{"name":"node_rigid_global","order":5,"path":"scripts/node_rigid_global/node_rigid_global.yy",},
|
{"name":"node_rigid_global","order":5,"path":"scripts/node_rigid_global/node_rigid_global.yy",},
|
||||||
{"name":"sh_rsh_erode","order":2,"path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},
|
{"name":"sh_rsh_erode","order":2,"path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},
|
||||||
{"name":"node_chromatic_aberration","order":4,"path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},
|
{"name":"node_chromatic_aberration","order":4,"path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},
|
||||||
{"name":"draw_line_elbow_diag","order":18,"path":"scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy",},
|
{"name":"draw_connect_elbow_diag","order":2,"path":"scripts/draw_connect_elbow_diag/draw_connect_elbow_diag.yy",},
|
||||||
{"name":"s_node_mk_flag","order":5,"path":"sprites/s_node_mk_flag/s_node_mk_flag.yy",},
|
{"name":"s_node_mk_flag","order":5,"path":"sprites/s_node_mk_flag/s_node_mk_flag.yy",},
|
||||||
{"name":"node_pin","order":2,"path":"scripts/node_pin/node_pin.yy",},
|
{"name":"node_pin","order":2,"path":"scripts/node_pin/node_pin.yy",},
|
||||||
{"name":"_node_fluid_nodes","order":7,"path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},
|
{"name":"_node_fluid_nodes","order":7,"path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},
|
||||||
|
@ -1188,6 +1194,7 @@
|
||||||
{"name":"s_node_vfx_input","order":12,"path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},
|
{"name":"s_node_vfx_input","order":12,"path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},
|
||||||
{"name":"s_node_interpret_number","order":30,"path":"sprites/s_node_interpret_number/s_node_interpret_number.yy",},
|
{"name":"s_node_interpret_number","order":30,"path":"sprites/s_node_interpret_number/s_node_interpret_number.yy",},
|
||||||
{"name":"node_strand_force_apply","order":6,"path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},
|
{"name":"node_strand_force_apply","order":6,"path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},
|
||||||
|
{"name":"node_iterator_sort_inline_input","order":1,"path":"scripts/node_iterator_sort_inline_input/node_iterator_sort_inline_input.yy",},
|
||||||
{"name":"sh_seperate_shape_ite","order":2,"path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},
|
{"name":"sh_seperate_shape_ite","order":2,"path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},
|
||||||
{"name":"node_PCX_fn_surface_width","order":1,"path":"scripts/node_PCX_fn_surface_width/node_PCX_fn_surface_width.yy",},
|
{"name":"node_PCX_fn_surface_width","order":1,"path":"scripts/node_PCX_fn_surface_width/node_PCX_fn_surface_width.yy",},
|
||||||
{"name":"o_main","order":1,"path":"objects/o_main/o_main.yy",},
|
{"name":"o_main","order":1,"path":"objects/o_main/o_main.yy",},
|
||||||
|
@ -1226,6 +1233,7 @@
|
||||||
{"name":"sh_channel_R2B","order":12,"path":"shaders/sh_channel_R2B/sh_channel_R2B.yy",},
|
{"name":"sh_channel_R2B","order":12,"path":"shaders/sh_channel_R2B/sh_channel_R2B.yy",},
|
||||||
{"name":"s_node_voronoi_extra","order":36,"path":"sprites/s_node_voronoi_extra/s_node_voronoi_extra.yy",},
|
{"name":"s_node_voronoi_extra","order":36,"path":"sprites/s_node_voronoi_extra/s_node_voronoi_extra.yy",},
|
||||||
{"name":"s_node_smokeSim_domain","order":11,"path":"sprites/s_node_smokeSim_domain/s_node_smokeSim_domain.yy",},
|
{"name":"s_node_smokeSim_domain","order":11,"path":"sprites/s_node_smokeSim_domain/s_node_smokeSim_domain.yy",},
|
||||||
|
{"name":"node_iterator_each_inline_input","order":1,"path":"scripts/node_iterator_each_inline_input/node_iterator_each_inline_input.yy",},
|
||||||
{"name":"s_node_rigidSim_activate","order":6,"path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},
|
{"name":"s_node_rigidSim_activate","order":6,"path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},
|
||||||
{"name":"s_transparent","order":1,"path":"sprites/s_transparent/s_transparent.yy",},
|
{"name":"s_transparent","order":1,"path":"sprites/s_transparent/s_transparent.yy",},
|
||||||
{"name":"s_gizmo","order":4,"path":"sprites/s_gizmo/s_gizmo.yy",},
|
{"name":"s_gizmo","order":4,"path":"sprites/s_gizmo/s_gizmo.yy",},
|
||||||
|
@ -1356,6 +1364,7 @@
|
||||||
{"name":"draw_rect_border","order":6,"path":"scripts/draw_rect_border/draw_rect_border.yy",},
|
{"name":"draw_rect_border","order":6,"path":"scripts/draw_rect_border/draw_rect_border.yy",},
|
||||||
{"name":"node_composite","order":1,"path":"scripts/node_composite/node_composite.yy",},
|
{"name":"node_composite","order":1,"path":"scripts/node_composite/node_composite.yy",},
|
||||||
{"name":"s_node_path_map","order":2,"path":"sprites/s_node_path_map/s_node_path_map.yy",},
|
{"name":"s_node_path_map","order":2,"path":"sprites/s_node_path_map/s_node_path_map.yy",},
|
||||||
|
{"name":"node_iterator_filter_inline_input","order":1,"path":"scripts/node_iterator_filter_inline_input/node_iterator_filter_inline_input.yy",},
|
||||||
{"name":"s_node_greyscale","order":26,"path":"sprites/s_node_greyscale/s_node_greyscale.yy",},
|
{"name":"s_node_greyscale","order":26,"path":"sprites/s_node_greyscale/s_node_greyscale.yy",},
|
||||||
{"name":"sh_dilate","order":4,"path":"shaders/sh_dilate/sh_dilate.yy",},
|
{"name":"sh_dilate","order":4,"path":"shaders/sh_dilate/sh_dilate.yy",},
|
||||||
{"name":"node_image_sequence","order":1,"path":"scripts/node_image_sequence/node_image_sequence.yy",},
|
{"name":"node_image_sequence","order":1,"path":"scripts/node_image_sequence/node_image_sequence.yy",},
|
||||||
|
@ -1438,6 +1447,7 @@
|
||||||
{"name":"mouse_input","order":1,"path":"scripts/mouse_input/mouse_input.yy",},
|
{"name":"mouse_input","order":1,"path":"scripts/mouse_input/mouse_input.yy",},
|
||||||
{"name":"string_cut","order":2,"path":"scripts/string_cut/string_cut.yy",},
|
{"name":"string_cut","order":2,"path":"scripts/string_cut/string_cut.yy",},
|
||||||
{"name":"__node_3d_prim_cylinder","order":2,"path":"scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.yy",},
|
{"name":"__node_3d_prim_cylinder","order":2,"path":"scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.yy",},
|
||||||
|
{"name":"node_iterator_sort_inline_output","order":2,"path":"scripts/node_iterator_sort_inline_output/node_iterator_sort_inline_output.yy",},
|
||||||
{"name":"Obj_FirebaseFirestore_Collection_Query_options","order":10,"path":"objects/Obj_FirebaseFirestore_Collection_Query_options/Obj_FirebaseFirestore_Collection_Query_options.yy",},
|
{"name":"Obj_FirebaseFirestore_Collection_Query_options","order":10,"path":"objects/Obj_FirebaseFirestore_Collection_Query_options/Obj_FirebaseFirestore_Collection_Query_options.yy",},
|
||||||
{"name":"stack_functions","order":7,"path":"scripts/stack_functions/stack_functions.yy",},
|
{"name":"stack_functions","order":7,"path":"scripts/stack_functions/stack_functions.yy",},
|
||||||
{"name":"panel_nodes","order":2,"path":"scripts/panel_nodes/panel_nodes.yy",},
|
{"name":"panel_nodes","order":2,"path":"scripts/panel_nodes/panel_nodes.yy",},
|
||||||
|
@ -1618,7 +1628,6 @@
|
||||||
{"name":"s_node_dilate","order":19,"path":"sprites/s_node_dilate/s_node_dilate.yy",},
|
{"name":"s_node_dilate","order":19,"path":"sprites/s_node_dilate/s_node_dilate.yy",},
|
||||||
{"name":"panel_patreon","order":2,"path":"scripts/panel_patreon/panel_patreon.yy",},
|
{"name":"panel_patreon","order":2,"path":"scripts/panel_patreon/panel_patreon.yy",},
|
||||||
{"name":"node_value","order":5,"path":"scripts/node_value/node_value.yy",},
|
{"name":"node_value","order":5,"path":"scripts/node_value/node_value.yy",},
|
||||||
{"name":"draw_line_curve","order":5,"path":"scripts/draw_line_curve/draw_line_curve.yy",},
|
|
||||||
{"name":"sh_blend_screen","order":3,"path":"shaders/sh_blend_screen/sh_blend_screen.yy",},
|
{"name":"sh_blend_screen","order":3,"path":"shaders/sh_blend_screen/sh_blend_screen.yy",},
|
||||||
{"name":"node_group_output","order":2,"path":"scripts/node_group_output/node_group_output.yy",},
|
{"name":"node_group_output","order":2,"path":"scripts/node_group_output/node_group_output.yy",},
|
||||||
{"name":"s_node_palette_extract","order":12,"path":"sprites/s_node_palette_extract/s_node_palette_extract.yy",},
|
{"name":"s_node_palette_extract","order":12,"path":"sprites/s_node_palette_extract/s_node_palette_extract.yy",},
|
||||||
|
@ -1659,6 +1668,7 @@
|
||||||
{"name":"directory_functions","order":9,"path":"scripts/directory_functions/directory_functions.yy",},
|
{"name":"directory_functions","order":9,"path":"scripts/directory_functions/directory_functions.yy",},
|
||||||
{"name":"_f_p1","order":1,"path":"fonts/_f_p1/_f_p1.yy",},
|
{"name":"_f_p1","order":1,"path":"fonts/_f_p1/_f_p1.yy",},
|
||||||
{"name":"tuple_functions","order":5,"path":"scripts/tuple_functions/tuple_functions.yy",},
|
{"name":"tuple_functions","order":5,"path":"scripts/tuple_functions/tuple_functions.yy",},
|
||||||
|
{"name":"draw_connect_linear","order":3,"path":"scripts/draw_connect_linear/draw_connect_linear.yy",},
|
||||||
{"name":"node_3d_mesh_obj","order":2,"path":"scripts/node_3d_mesh_obj/node_3d_mesh_obj.yy",},
|
{"name":"node_3d_mesh_obj","order":2,"path":"scripts/node_3d_mesh_obj/node_3d_mesh_obj.yy",},
|
||||||
{"name":"sh_blur_simple","order":6,"path":"shaders/sh_blur_simple/sh_blur_simple.yy",},
|
{"name":"sh_blur_simple","order":6,"path":"shaders/sh_blur_simple/sh_blur_simple.yy",},
|
||||||
{"name":"sh_blend_difference","order":51,"path":"shaders/sh_blend_difference/sh_blend_difference.yy",},
|
{"name":"sh_blend_difference","order":51,"path":"shaders/sh_blend_difference/sh_blend_difference.yy",},
|
||||||
|
|
|
@ -66,6 +66,7 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"bones","folderPath":"folders/functions/bones.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"bones","folderPath":"folders/functions/bones.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"buffer","folderPath":"folders/functions/buffer.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"buffer","folderPath":"folders/functions/buffer.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compat","folderPath":"folders/functions/compat.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compat","folderPath":"folders/functions/compat.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"connection","folderPath":"folders/functions/connection.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"control","folderPath":"folders/functions/control.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"control","folderPath":"folders/functions/control.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"curve","folderPath":"folders/functions/curve.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"curve","folderPath":"folders/functions/curve.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"debug","folderPath":"folders/functions/debug.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"debug","folderPath":"folders/functions/debug.yy",},
|
||||||
|
@ -146,10 +147,14 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"IO","folderPath":"folders/nodes/data/IO.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"IO","folderPath":"folders/nodes/data/IO.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"network","folderPath":"folders/nodes/data/IO/network.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"network","folderPath":"folders/nodes/data/IO/network.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"iterate","folderPath":"folders/nodes/data/iterate.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"iterate","folderPath":"folders/nodes/data/iterate.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"_legacy","folderPath":"folders/nodes/data/iterate/_legacy.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for each","folderPath":"folders/nodes/data/iterate/_legacy/for each.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for filter","folderPath":"folders/nodes/data/iterate/_legacy/for filter.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for sort","folderPath":"folders/nodes/data/iterate/_legacy/for sort.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"feedback","folderPath":"folders/nodes/data/iterate/feedback.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"feedback","folderPath":"folders/nodes/data/iterate/feedback.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for each","folderPath":"folders/nodes/data/iterate/for each.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for each","folderPath":"folders/nodes/data/iterate/for each.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for filter","folderPath":"folders/nodes/data/iterate/for filter.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for filter","folderPath":"folders/nodes/data/iterate/for filter.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for sort","folderPath":"folders/nodes/data/iterate/for sort.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for sort inline","folderPath":"folders/nodes/data/iterate/for sort inline.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for","folderPath":"folders/nodes/data/iterate/for.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for","folderPath":"folders/nodes/data/iterate/for.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"lua","folderPath":"folders/nodes/data/lua.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"lua","folderPath":"folders/nodes/data/lua.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"misc","folderPath":"folders/nodes/data/misc.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"misc","folderPath":"folders/nodes/data/misc.yy",},
|
||||||
|
@ -656,7 +661,7 @@
|
||||||
{"id":{"name":"sh_mk_tile18_edge_l","path":"shaders/sh_mk_tile18_edge_l/sh_mk_tile18_edge_l.yy",},},
|
{"id":{"name":"sh_mk_tile18_edge_l","path":"shaders/sh_mk_tile18_edge_l/sh_mk_tile18_edge_l.yy",},},
|
||||||
{"id":{"name":"sh_palette_shift","path":"shaders/sh_palette_shift/sh_palette_shift.yy",},},
|
{"id":{"name":"sh_palette_shift","path":"shaders/sh_palette_shift/sh_palette_shift.yy",},},
|
||||||
{"id":{"name":"node_array_copy","path":"scripts/node_array_copy/node_array_copy.yy",},},
|
{"id":{"name":"node_array_copy","path":"scripts/node_array_copy/node_array_copy.yy",},},
|
||||||
{"id":{"name":"draw_line_elbow","path":"scripts/draw_line_elbow/draw_line_elbow.yy",},},
|
{"id":{"name":"draw_connect_elbow","path":"scripts/draw_connect_elbow/draw_connect_elbow.yy",},},
|
||||||
{"id":{"name":"node_path_reverse","path":"scripts/node_path_reverse/node_path_reverse.yy",},},
|
{"id":{"name":"node_path_reverse","path":"scripts/node_path_reverse/node_path_reverse.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_get_acceleration_y","path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},},
|
{"id":{"name":"fd_rectangle_get_acceleration_y","path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},},
|
||||||
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},},
|
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},},
|
||||||
|
@ -923,6 +928,7 @@
|
||||||
{"id":{"name":"s_ui_base_white","path":"sprites/s_ui_base_white/s_ui_base_white.yy",},},
|
{"id":{"name":"s_ui_base_white","path":"sprites/s_ui_base_white/s_ui_base_white.yy",},},
|
||||||
{"id":{"name":"node_color_mix","path":"scripts/node_color_mix/node_color_mix.yy",},},
|
{"id":{"name":"node_color_mix","path":"scripts/node_color_mix/node_color_mix.yy",},},
|
||||||
{"id":{"name":"s_node_array_range","path":"sprites/s_node_array_range/s_node_array_range.yy",},},
|
{"id":{"name":"s_node_array_range","path":"sprites/s_node_array_range/s_node_array_range.yy",},},
|
||||||
|
{"id":{"name":"node_iterator_each_inline_output","path":"scripts/node_iterator_each_inline_output/node_iterator_each_inline_output.yy",},},
|
||||||
{"id":{"name":"sh_fd_advect_material_a_16_glsl","path":"shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy",},},
|
{"id":{"name":"sh_fd_advect_material_a_16_glsl","path":"shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy",},},
|
||||||
{"id":{"name":"distribution_function","path":"scripts/distribution_function/distribution_function.yy",},},
|
{"id":{"name":"distribution_function","path":"scripts/distribution_function/distribution_function.yy",},},
|
||||||
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},},
|
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},},
|
||||||
|
@ -1000,6 +1006,7 @@
|
||||||
{"id":{"name":"node_unicode","path":"scripts/node_unicode/node_unicode.yy",},},
|
{"id":{"name":"node_unicode","path":"scripts/node_unicode/node_unicode.yy",},},
|
||||||
{"id":{"name":"draw_set_text","path":"scripts/draw_set_text/draw_set_text.yy",},},
|
{"id":{"name":"draw_set_text","path":"scripts/draw_set_text/draw_set_text.yy",},},
|
||||||
{"id":{"name":"node_pb_draw","path":"scripts/node_pb_draw/node_pb_draw.yy",},},
|
{"id":{"name":"node_pb_draw","path":"scripts/node_pb_draw/node_pb_draw.yy",},},
|
||||||
|
{"id":{"name":"node_iterator_filter_inline_output","path":"scripts/node_iterator_filter_inline_output/node_iterator_filter_inline_output.yy",},},
|
||||||
{"id":{"name":"s_node_array","path":"sprites/s_node_array/s_node_array.yy",},},
|
{"id":{"name":"s_node_array","path":"sprites/s_node_array/s_node_array.yy",},},
|
||||||
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},},
|
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},},
|
||||||
{"id":{"name":"s_node_surface_from_buffer","path":"sprites/s_node_surface_from_buffer/s_node_surface_from_buffer.yy",},},
|
{"id":{"name":"s_node_surface_from_buffer","path":"sprites/s_node_surface_from_buffer/s_node_surface_from_buffer.yy",},},
|
||||||
|
@ -1020,7 +1027,7 @@
|
||||||
{"id":{"name":"node_rigid_global","path":"scripts/node_rigid_global/node_rigid_global.yy",},},
|
{"id":{"name":"node_rigid_global","path":"scripts/node_rigid_global/node_rigid_global.yy",},},
|
||||||
{"id":{"name":"sh_rsh_erode","path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},},
|
{"id":{"name":"sh_rsh_erode","path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},},
|
||||||
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},},
|
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},},
|
||||||
{"id":{"name":"draw_line_elbow_diag","path":"scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy",},},
|
{"id":{"name":"draw_connect_elbow_diag","path":"scripts/draw_connect_elbow_diag/draw_connect_elbow_diag.yy",},},
|
||||||
{"id":{"name":"s_node_mk_flag","path":"sprites/s_node_mk_flag/s_node_mk_flag.yy",},},
|
{"id":{"name":"s_node_mk_flag","path":"sprites/s_node_mk_flag/s_node_mk_flag.yy",},},
|
||||||
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},},
|
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},},
|
||||||
{"id":{"name":"_node_fluid_nodes","path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},},
|
{"id":{"name":"_node_fluid_nodes","path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},},
|
||||||
|
@ -1419,6 +1426,7 @@
|
||||||
{"id":{"name":"fd_rectangle_set_material_maccormack_weight","path":"scripts/fd_rectangle_set_material_maccormack_weight/fd_rectangle_set_material_maccormack_weight.yy",},},
|
{"id":{"name":"fd_rectangle_set_material_maccormack_weight","path":"scripts/fd_rectangle_set_material_maccormack_weight/fd_rectangle_set_material_maccormack_weight.yy",},},
|
||||||
{"id":{"name":"collection_data","path":"scripts/collection_data/collection_data.yy",},},
|
{"id":{"name":"collection_data","path":"scripts/collection_data/collection_data.yy",},},
|
||||||
{"id":{"name":"s_node_flood_fill","path":"sprites/s_node_flood_fill/s_node_flood_fill.yy",},},
|
{"id":{"name":"s_node_flood_fill","path":"sprites/s_node_flood_fill/s_node_flood_fill.yy",},},
|
||||||
|
{"id":{"name":"node_iterate_each_inline","path":"scripts/node_iterate_each_inline/node_iterate_each_inline.yy",},},
|
||||||
{"id":{"name":"json_compare","path":"scripts/json_compare/json_compare.yy",},},
|
{"id":{"name":"json_compare","path":"scripts/json_compare/json_compare.yy",},},
|
||||||
{"id":{"name":"node_rigid_force_apply","path":"scripts/node_rigid_force_apply/node_rigid_force_apply.yy",},},
|
{"id":{"name":"node_rigid_force_apply","path":"scripts/node_rigid_force_apply/node_rigid_force_apply.yy",},},
|
||||||
{"id":{"name":"__node_shader","path":"scripts/__node_shader/__node_shader.yy",},},
|
{"id":{"name":"__node_shader","path":"scripts/__node_shader/__node_shader.yy",},},
|
||||||
|
@ -1504,6 +1512,7 @@
|
||||||
{"id":{"name":"s_node_vfx_input","path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},},
|
{"id":{"name":"s_node_vfx_input","path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},},
|
||||||
{"id":{"name":"s_node_interpret_number","path":"sprites/s_node_interpret_number/s_node_interpret_number.yy",},},
|
{"id":{"name":"s_node_interpret_number","path":"sprites/s_node_interpret_number/s_node_interpret_number.yy",},},
|
||||||
{"id":{"name":"node_strand_force_apply","path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},},
|
{"id":{"name":"node_strand_force_apply","path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},},
|
||||||
|
{"id":{"name":"node_iterator_sort_inline_input","path":"scripts/node_iterator_sort_inline_input/node_iterator_sort_inline_input.yy",},},
|
||||||
{"id":{"name":"s_node_rigidSim","path":"sprites/s_node_rigidSim/s_node_rigidSim.yy",},},
|
{"id":{"name":"s_node_rigidSim","path":"sprites/s_node_rigidSim/s_node_rigidSim.yy",},},
|
||||||
{"id":{"name":"sh_seperate_shape_ite","path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},},
|
{"id":{"name":"sh_seperate_shape_ite","path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},},
|
||||||
{"id":{"name":"node_PCX_fn_surface_width","path":"scripts/node_PCX_fn_surface_width/node_PCX_fn_surface_width.yy",},},
|
{"id":{"name":"node_PCX_fn_surface_width","path":"scripts/node_PCX_fn_surface_width/node_PCX_fn_surface_width.yy",},},
|
||||||
|
@ -1547,6 +1556,7 @@
|
||||||
{"id":{"name":"sh_channel_R2B","path":"shaders/sh_channel_R2B/sh_channel_R2B.yy",},},
|
{"id":{"name":"sh_channel_R2B","path":"shaders/sh_channel_R2B/sh_channel_R2B.yy",},},
|
||||||
{"id":{"name":"s_node_voronoi_extra","path":"sprites/s_node_voronoi_extra/s_node_voronoi_extra.yy",},},
|
{"id":{"name":"s_node_voronoi_extra","path":"sprites/s_node_voronoi_extra/s_node_voronoi_extra.yy",},},
|
||||||
{"id":{"name":"s_node_smokeSim_domain","path":"sprites/s_node_smokeSim_domain/s_node_smokeSim_domain.yy",},},
|
{"id":{"name":"s_node_smokeSim_domain","path":"sprites/s_node_smokeSim_domain/s_node_smokeSim_domain.yy",},},
|
||||||
|
{"id":{"name":"node_iterator_each_inline_input","path":"scripts/node_iterator_each_inline_input/node_iterator_each_inline_input.yy",},},
|
||||||
{"id":{"name":"s_node_rigidSim_activate","path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},},
|
{"id":{"name":"s_node_rigidSim_activate","path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},},
|
||||||
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},},
|
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},},
|
||||||
{"id":{"name":"s_gizmo","path":"sprites/s_gizmo/s_gizmo.yy",},},
|
{"id":{"name":"s_gizmo","path":"sprites/s_gizmo/s_gizmo.yy",},},
|
||||||
|
@ -1567,6 +1577,7 @@
|
||||||
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},},
|
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},},
|
||||||
{"id":{"name":"node_twirl","path":"scripts/node_twirl/node_twirl.yy",},},
|
{"id":{"name":"node_twirl","path":"scripts/node_twirl/node_twirl.yy",},},
|
||||||
{"id":{"name":"node_collection_inline","path":"scripts/node_collection_inline/node_collection_inline.yy",},},
|
{"id":{"name":"node_collection_inline","path":"scripts/node_collection_inline/node_collection_inline.yy",},},
|
||||||
|
{"id":{"name":"node_iterate_filter_inline","path":"scripts/node_iterate_filter_inline/node_iterate_filter_inline.yy",},},
|
||||||
{"id":{"name":"s_node_fluidSim_update_paused","path":"sprites/s_node_fluidSim_update_paused/s_node_fluidSim_update_paused.yy",},},
|
{"id":{"name":"s_node_fluidSim_update_paused","path":"sprites/s_node_fluidSim_update_paused/s_node_fluidSim_update_paused.yy",},},
|
||||||
{"id":{"name":"s_node_decorner","path":"sprites/s_node_decorner/s_node_decorner.yy",},},
|
{"id":{"name":"s_node_decorner","path":"sprites/s_node_decorner/s_node_decorner.yy",},},
|
||||||
{"id":{"name":"s_node_text_combine","path":"sprites/s_node_text_combine/s_node_text_combine.yy",},},
|
{"id":{"name":"s_node_text_combine","path":"sprites/s_node_text_combine/s_node_text_combine.yy",},},
|
||||||
|
@ -1694,6 +1705,7 @@
|
||||||
{"id":{"name":"draw_rect_border","path":"scripts/draw_rect_border/draw_rect_border.yy",},},
|
{"id":{"name":"draw_rect_border","path":"scripts/draw_rect_border/draw_rect_border.yy",},},
|
||||||
{"id":{"name":"node_composite","path":"scripts/node_composite/node_composite.yy",},},
|
{"id":{"name":"node_composite","path":"scripts/node_composite/node_composite.yy",},},
|
||||||
{"id":{"name":"s_node_path_map","path":"sprites/s_node_path_map/s_node_path_map.yy",},},
|
{"id":{"name":"s_node_path_map","path":"sprites/s_node_path_map/s_node_path_map.yy",},},
|
||||||
|
{"id":{"name":"node_iterator_filter_inline_input","path":"scripts/node_iterator_filter_inline_input/node_iterator_filter_inline_input.yy",},},
|
||||||
{"id":{"name":"s_node_greyscale","path":"sprites/s_node_greyscale/s_node_greyscale.yy",},},
|
{"id":{"name":"s_node_greyscale","path":"sprites/s_node_greyscale/s_node_greyscale.yy",},},
|
||||||
{"id":{"name":"sh_dilate","path":"shaders/sh_dilate/sh_dilate.yy",},},
|
{"id":{"name":"sh_dilate","path":"shaders/sh_dilate/sh_dilate.yy",},},
|
||||||
{"id":{"name":"node_image_sequence","path":"scripts/node_image_sequence/node_image_sequence.yy",},},
|
{"id":{"name":"node_image_sequence","path":"scripts/node_image_sequence/node_image_sequence.yy",},},
|
||||||
|
@ -1796,6 +1808,7 @@
|
||||||
{"id":{"name":"mouse_input","path":"scripts/mouse_input/mouse_input.yy",},},
|
{"id":{"name":"mouse_input","path":"scripts/mouse_input/mouse_input.yy",},},
|
||||||
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},},
|
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},},
|
||||||
{"id":{"name":"__node_3d_prim_cylinder","path":"scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.yy",},},
|
{"id":{"name":"__node_3d_prim_cylinder","path":"scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.yy",},},
|
||||||
|
{"id":{"name":"node_iterator_sort_inline_output","path":"scripts/node_iterator_sort_inline_output/node_iterator_sort_inline_output.yy",},},
|
||||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_options","path":"objects/Obj_FirebaseFirestore_Collection_Query_options/Obj_FirebaseFirestore_Collection_Query_options.yy",},},
|
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_options","path":"objects/Obj_FirebaseFirestore_Collection_Query_options/Obj_FirebaseFirestore_Collection_Query_options.yy",},},
|
||||||
{"id":{"name":"stack_functions","path":"scripts/stack_functions/stack_functions.yy",},},
|
{"id":{"name":"stack_functions","path":"scripts/stack_functions/stack_functions.yy",},},
|
||||||
{"id":{"name":"panel_nodes","path":"scripts/panel_nodes/panel_nodes.yy",},},
|
{"id":{"name":"panel_nodes","path":"scripts/panel_nodes/panel_nodes.yy",},},
|
||||||
|
@ -1988,6 +2001,7 @@
|
||||||
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},},
|
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},},
|
||||||
{"id":{"name":"FirebaseREST_Firestore_jsonEncode","path":"scripts/FirebaseREST_Firestore_jsonEncode/FirebaseREST_Firestore_jsonEncode.yy",},},
|
{"id":{"name":"FirebaseREST_Firestore_jsonEncode","path":"scripts/FirebaseREST_Firestore_jsonEncode/FirebaseREST_Firestore_jsonEncode.yy",},},
|
||||||
{"id":{"name":"texture_set_interpolation","path":"scripts/texture_set_interpolation/texture_set_interpolation.yy",},},
|
{"id":{"name":"texture_set_interpolation","path":"scripts/texture_set_interpolation/texture_set_interpolation.yy",},},
|
||||||
|
{"id":{"name":"node_iterate_sort_inline","path":"scripts/node_iterate_sort_inline/node_iterate_sort_inline.yy",},},
|
||||||
{"id":{"name":"node_color_palette_replacement","path":"scripts/node_color_palette_replacement/node_color_palette_replacement.yy",},},
|
{"id":{"name":"node_color_palette_replacement","path":"scripts/node_color_palette_replacement/node_color_palette_replacement.yy",},},
|
||||||
{"id":{"name":"d3d_object_instancer","path":"scripts/d3d_object_instancer/d3d_object_instancer.yy",},},
|
{"id":{"name":"d3d_object_instancer","path":"scripts/d3d_object_instancer/d3d_object_instancer.yy",},},
|
||||||
{"id":{"name":"sh_BGR","path":"shaders/sh_BGR/sh_BGR.yy",},},
|
{"id":{"name":"sh_BGR","path":"shaders/sh_BGR/sh_BGR.yy",},},
|
||||||
|
@ -2004,7 +2018,7 @@
|
||||||
{"id":{"name":"panel_patreon","path":"scripts/panel_patreon/panel_patreon.yy",},},
|
{"id":{"name":"panel_patreon","path":"scripts/panel_patreon/panel_patreon.yy",},},
|
||||||
{"id":{"name":"node_collection","path":"scripts/node_collection/node_collection.yy",},},
|
{"id":{"name":"node_collection","path":"scripts/node_collection/node_collection.yy",},},
|
||||||
{"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},},
|
{"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},},
|
||||||
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},},
|
{"id":{"name":"draw_connect_curve","path":"scripts/draw_connect_curve/draw_connect_curve.yy",},},
|
||||||
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},},
|
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},},
|
||||||
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},},
|
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},},
|
||||||
{"id":{"name":"s_node_palette_extract","path":"sprites/s_node_palette_extract/s_node_palette_extract.yy",},},
|
{"id":{"name":"s_node_palette_extract","path":"sprites/s_node_palette_extract/s_node_palette_extract.yy",},},
|
||||||
|
@ -2050,6 +2064,7 @@
|
||||||
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},},
|
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},},
|
||||||
{"id":{"name":"tuple_functions","path":"scripts/tuple_functions/tuple_functions.yy",},},
|
{"id":{"name":"tuple_functions","path":"scripts/tuple_functions/tuple_functions.yy",},},
|
||||||
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},},
|
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},},
|
||||||
|
{"id":{"name":"draw_connect_linear","path":"scripts/draw_connect_linear/draw_connect_linear.yy",},},
|
||||||
{"id":{"name":"node_3d_mesh_obj","path":"scripts/node_3d_mesh_obj/node_3d_mesh_obj.yy",},},
|
{"id":{"name":"node_3d_mesh_obj","path":"scripts/node_3d_mesh_obj/node_3d_mesh_obj.yy",},},
|
||||||
{"id":{"name":"sh_blur_simple","path":"shaders/sh_blur_simple/sh_blur_simple.yy",},},
|
{"id":{"name":"sh_blur_simple","path":"shaders/sh_blur_simple/sh_blur_simple.yy",},},
|
||||||
{"id":{"name":"sh_blend_difference","path":"shaders/sh_blend_difference/sh_blend_difference.yy",},},
|
{"id":{"name":"sh_blend_difference","path":"shaders/sh_blend_difference/sh_blend_difference.yy",},},
|
||||||
|
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -126,8 +126,6 @@ if(!ready) exit;
|
||||||
draw_text(_bx, _by, _str);
|
draw_text(_bx, _by, _str);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var tx = dialog_x + show_icon * ui(32) + ui(16);
|
|
||||||
|
|
||||||
if(_menuItem.spr != noone) {
|
if(_menuItem.spr != noone) {
|
||||||
var spr = is_array(_menuItem.spr)? _menuItem.spr[0] : _menuItem.spr;
|
var spr = is_array(_menuItem.spr)? _menuItem.spr[0] : _menuItem.spr;
|
||||||
var ind = is_array(_menuItem.spr)? _menuItem.spr[1] : 0;
|
var ind = is_array(_menuItem.spr)? _menuItem.spr[1] : 0;
|
||||||
|
@ -139,6 +137,7 @@ if(!ready) exit;
|
||||||
if(tog) draw_sprite_ui(THEME.icon_toggle, 0, dialog_x + ui(24), yy + hght / 2,,,, COLORS._main_icon);
|
if(tog) draw_sprite_ui(THEME.icon_toggle, 0, dialog_x + ui(24), yy + hght / 2,,,, COLORS._main_icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var tx = dialog_x + show_icon * ui(32) + ui(16);
|
||||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||||
draw_set_alpha(_menuItem.active * 0.75 + 0.25);
|
draw_set_alpha(_menuItem.active * 0.75 + 0.25);
|
||||||
draw_text(tx, yy + hght / 2, label);
|
draw_text(tx, yy + hght / 2, label);
|
||||||
|
|
|
@ -1,4 +1,22 @@
|
||||||
/// @description Insert description here
|
/// @description Insert description here
|
||||||
// You can write your code in this editor
|
// You can write your code in this editor
|
||||||
|
|
||||||
|
#region data
|
||||||
depth = -9999;
|
depth = -9999;
|
||||||
|
|
||||||
|
menu_id = "";
|
||||||
|
menus = [];
|
||||||
|
pie_rad = ui(96);
|
||||||
|
hght = ui(36);
|
||||||
|
|
||||||
|
context = noone;
|
||||||
|
active = true;
|
||||||
|
anim_prog = 0;
|
||||||
|
|
||||||
|
function setMenu(menu) {
|
||||||
|
menus = menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
HOVER = self;
|
||||||
|
FOCUS = self;
|
||||||
|
#endregion
|
84
objects/o_pie_menu/Draw_64.gml
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/// @description Insert description here
|
||||||
|
// You can write your code in this editor
|
||||||
|
|
||||||
|
#region anim
|
||||||
|
anim_prog = lerp_float(anim_prog, active, 5);
|
||||||
|
|
||||||
|
if(anim_prog == 0 && !active) instance_destroy();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region draw
|
||||||
|
var rad = anim_prog * pie_rad;
|
||||||
|
var amo = array_length(menus);
|
||||||
|
var _r = 360 / amo;
|
||||||
|
|
||||||
|
for( var i = 0; i < amo; i++ ) {
|
||||||
|
var _menuItem = menus[i];
|
||||||
|
var label = _menuItem.name;
|
||||||
|
|
||||||
|
var _ba = i * _r;
|
||||||
|
|
||||||
|
var _bx = x + lengthdir_x(rad, _ba);
|
||||||
|
var _by = y + lengthdir_y(rad, _ba);
|
||||||
|
|
||||||
|
var _spr = _menuItem.spr;
|
||||||
|
|
||||||
|
draw_set_font(f_p0);
|
||||||
|
var _spw = string_width(label) + ui(32) + (_spr != noone) * ui(32);
|
||||||
|
_spw = max(8, _spw * anim_prog);
|
||||||
|
var _sph = hght;
|
||||||
|
|
||||||
|
var _bx0 = _bx - _spw / 2;
|
||||||
|
var _by0 = _by - _sph / 2;
|
||||||
|
var _bx1 = _bx + _spw / 2;
|
||||||
|
var _by1 = _by + _sph / 2;
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.menu_bg, 0, _bx0, _by0, _spw, _sph);
|
||||||
|
|
||||||
|
if(point_in_rectangle(mouse_mx, mouse_my, _bx0, _by0, _bx1, _by1)) {
|
||||||
|
draw_sprite_stretched_ext(THEME.textbox, 3, _bx0, _by0, _spw, _sph, COLORS.dialog_menubox_highlight, 0.75);
|
||||||
|
if(mouse_release(mb_left)) {
|
||||||
|
var _dat = {
|
||||||
|
_x: _bx0,
|
||||||
|
x: _bx1,
|
||||||
|
y: _by0,
|
||||||
|
depth: depth,
|
||||||
|
name: _menuItem.name,
|
||||||
|
index: i,
|
||||||
|
context: context,
|
||||||
|
params: _menuItem.params,
|
||||||
|
};
|
||||||
|
|
||||||
|
var _res = _menuItem.func(_dat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_spr != noone) {
|
||||||
|
var spr = is_array(_spr)? _spr[0] : _spr;
|
||||||
|
var ind = is_array(_spr)? _spr[1] : 0;
|
||||||
|
var aa = _menuItem.active * 0.5 + 0.25;
|
||||||
|
draw_sprite_ui(spr, ind, _bx0 + ui(24), _by0 + _sph / 2,,,, COLORS._main_icon, aa * anim_prog);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_menuItem.toggle != noone) {
|
||||||
|
var tog = _menuItem.toggle(_menuItem);
|
||||||
|
if(tog) draw_sprite_ui(THEME.icon_toggle, 0, _bx0 + ui(24), _by0 + _sph / 2,,,, COLORS._main_icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
var tx = _bx0 + ui(16) + (_spr != noone) * ui(32);
|
||||||
|
var aa = _menuItem.active * 0.75 + 0.25;
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||||
|
draw_set_alpha(aa * anim_prog);
|
||||||
|
draw_text(tx, _by0 + _sph / 2, label);
|
||||||
|
draw_set_alpha(1);
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.menu_bg, 1, _bx0, _by0, _spw, _sph);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mouse_release(mb_left)) {
|
||||||
|
HOVER = noone;
|
||||||
|
FOCUS = noone;
|
||||||
|
active = false;
|
||||||
|
}
|
||||||
|
#endregion
|
|
@ -4,6 +4,7 @@
|
||||||
"name": "o_pie_menu",
|
"name": "o_pie_menu",
|
||||||
"eventList": [
|
"eventList": [
|
||||||
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,},
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,},
|
||||||
],
|
],
|
||||||
"managed": true,
|
"managed": true,
|
||||||
"overriddenProperties": [],
|
"overriddenProperties": [],
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
function Node_Iterator_Inject() {
|
|
||||||
selectable = false;
|
|
||||||
|
|
||||||
draw_line_shift_x = 0;
|
|
||||||
draw_line_shift_y = 0;
|
|
||||||
draw_line_thick = 1;
|
|
||||||
draw_line_shift_hover = false;
|
|
||||||
|
|
||||||
attributes.junc_in = [ "", 0 ];
|
|
||||||
attributes.junc_out = [ "", 0 ];
|
|
||||||
|
|
||||||
junc_in = noone;
|
|
||||||
junc_out = noone;
|
|
||||||
|
|
||||||
value_buffer = noone;
|
|
||||||
|
|
||||||
static bypassConnection = function() { #region
|
|
||||||
return false;
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static bypassNextNode = function() { #region
|
|
||||||
return false;
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static getNextNode = function() { return [] };
|
|
||||||
|
|
||||||
static scanJunc = function() { #region
|
|
||||||
var node_in = PROJECT.nodeMap[? attributes.junc_in[0]];
|
|
||||||
var node_out = PROJECT.nodeMap[? attributes.junc_out[0]];
|
|
||||||
|
|
||||||
junc_in = node_in? node_in.inputs[| attributes.junc_in[1]] : noone;
|
|
||||||
junc_out = node_out? node_out.outputs[| attributes.junc_out[1]] : noone;
|
|
||||||
|
|
||||||
if(junc_in) junc_in.value_from_loop = self;
|
|
||||||
if(junc_out) array_push(junc_out.value_to_loop, self);
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static updateValue = function() { #region
|
|
||||||
var type = junc_out.type;
|
|
||||||
var val = junc_out.getValue();
|
|
||||||
|
|
||||||
switch(type) {
|
|
||||||
case VALUE_TYPE.surface :
|
|
||||||
surface_array_free(value_buffer);
|
|
||||||
value_buffer = surface_array_clone(val);
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
value_buffer = variable_clone(val);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static getValue = function() { #region
|
|
||||||
return [ value_buffer, junc_out ];
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static drawConnections = function(params = {}) { #region
|
|
||||||
if(!active) return;
|
|
||||||
if(!junc_in || !junc_out) return;
|
|
||||||
if(!junc_in.node.active || !junc_out.node.active) return;
|
|
||||||
|
|
||||||
params.feedback = true;
|
|
||||||
|
|
||||||
if(drawJuncConnection(junc_out, junc_in, params, self))
|
|
||||||
return self;
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static drawNode = function(_x, _y, _mx, _my, _s, display_parameter = noone) {}
|
|
||||||
|
|
||||||
static pointIn = function(_x, _y, _mx, _my, _s) { return false; }
|
|
||||||
|
|
||||||
static postDeserialize = function() { #region
|
|
||||||
scanJunc();
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
static onDestroy = function() { #region
|
|
||||||
if(junc_in) junc_in.value_from_loop = noone;
|
|
||||||
if(junc_out) array_remove(junc_out.value_to_loop, self);
|
|
||||||
} #endregion
|
|
||||||
}
|
|
|
@ -17,6 +17,21 @@
|
||||||
return dia;
|
return dia;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function pieMenuCall(menu_id = "", _x = mouse_mx, _y = mouse_my, menu = [], context = noone) {
|
||||||
|
var dia = instance_create(_x, _y, o_pie_menu);
|
||||||
|
if(menu_id != "" && ds_map_exists(CONTEXT_MENU_CALLBACK, menu_id)) {
|
||||||
|
var callbacks = CONTEXT_MENU_CALLBACK[? menu_id];
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(callbacks); i < n; i++ )
|
||||||
|
array_append(menu, callbacks[i].populate());
|
||||||
|
}
|
||||||
|
|
||||||
|
dia.menu_id = menu_id;
|
||||||
|
dia.context = context;
|
||||||
|
dia.setMenu(menu);
|
||||||
|
return dia;
|
||||||
|
}
|
||||||
|
|
||||||
function submenuCall(_data, menu = []) {
|
function submenuCall(_data, menu = []) {
|
||||||
var dia = instance_create_depth(_data.x - ui(4), _data.y, _data.depth - 1, o_dialog_menubox);
|
var dia = instance_create_depth(_data.x - ui(4), _data.y, _data.depth - 1, o_dialog_menubox);
|
||||||
dia.context = _data.context;
|
dia.context = _data.context;
|
||||||
|
|
|
@ -1,41 +1,4 @@
|
||||||
enum LINE_STYLE {
|
function draw_line_curve_color(x0, y0, x1, y1, xc = noone, yc = noone, _s = 1, thick = 1, col1 = c_white, col2 = c_white, type = LINE_STYLE.solid) { #region
|
||||||
solid,
|
|
||||||
dashed
|
|
||||||
}
|
|
||||||
|
|
||||||
function draw_line_curve(x0, y0, x1, y1, thick = 1) {
|
|
||||||
var xc = (x0 + x1) / 2;
|
|
||||||
var sample = max(8, ceil((abs(x0 - x1) + abs(y0 - y1)) / 4));
|
|
||||||
|
|
||||||
//var buff = vertex_create_buffer();
|
|
||||||
//vertex_begin(buff, global.format_pc);
|
|
||||||
|
|
||||||
var c = draw_get_color();
|
|
||||||
var ox, oy, nx, ny, t, it;
|
|
||||||
for( var i = 0; i <= sample; i++ ) {
|
|
||||||
t = i / sample;
|
|
||||||
it = 1 - t;
|
|
||||||
|
|
||||||
nx = x0 * t * t * t + 3 * xc * it * t * t + 3 * xc * it * it * t + x1 * it * it * it;
|
|
||||||
ny = y0 * t * t * t + 3 * y0 * it * t * t + 3 * y1 * it * it * t + y1 * it * it * it;
|
|
||||||
|
|
||||||
if(i) {
|
|
||||||
draw_line_width(ox, oy, nx, ny, thick);
|
|
||||||
//vertex_position(buff, ox, oy); vertex_color(buff, c, 1);
|
|
||||||
//vertex_position(buff, nx, ny); vertex_color(buff, c, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
ox = nx;
|
|
||||||
oy = ny;
|
|
||||||
}
|
|
||||||
|
|
||||||
//vertex_end(buff);
|
|
||||||
//vertex_submit(buff, pr_linelist, -1);
|
|
||||||
|
|
||||||
//buffer_delete(buff);
|
|
||||||
}
|
|
||||||
|
|
||||||
function draw_line_curve_color(x0, y0, x1, y1, xc = noone, yc = noone, _s = 1, thick = 1, col1 = c_white, col2 = c_white, type = LINE_STYLE.solid) {
|
|
||||||
if(xc == noone) xc = (x0 + x1) / 2;
|
if(xc == noone) xc = (x0 + x1) / 2;
|
||||||
if(yc == noone) yc = (y0 + y1) / 2;
|
if(yc == noone) yc = (y0 + y1) / 2;
|
||||||
|
|
||||||
|
@ -85,9 +48,9 @@ function draw_line_curve_color(x0, y0, x1, y1, xc = noone, yc = noone, _s = 1, t
|
||||||
oy = ny;
|
oy = ny;
|
||||||
oc = nc;
|
oc = nc;
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function draw_line_curve_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white) {
|
function draw_line_curve_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white) { #region
|
||||||
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 32 * PREFERENCES.connection_line_sample);
|
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 32 * PREFERENCES.connection_line_sample);
|
||||||
sample = clamp(sample, 2, 128);
|
sample = clamp(sample, 2, 128);
|
||||||
|
|
||||||
|
@ -121,9 +84,9 @@ function draw_line_curve_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_whit
|
||||||
oy = ny;
|
oy = ny;
|
||||||
oc = nc;
|
oc = nc;
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function distance_to_curve(mx, my, x0, y0, x1, y1, xc, yc, _s) {
|
function distance_to_curve(mx, my, x0, y0, x1, y1, xc, yc, _s) { #region
|
||||||
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 32 * PREFERENCES.connection_line_sample);
|
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 32 * PREFERENCES.connection_line_sample);
|
||||||
sample = clamp(sample, 2, 128);
|
sample = clamp(sample, 2, 128);
|
||||||
|
|
||||||
|
@ -159,9 +122,9 @@ function distance_to_curve(mx, my, x0, y0, x1, y1, xc, yc, _s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function distance_to_curve_corner(mx, my, x0, y0, x1, y1, _s) {
|
function distance_to_curve_corner(mx, my, x0, y0, x1, y1, _s) { #region
|
||||||
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 32 * PREFERENCES.connection_line_sample);
|
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 32 * PREFERENCES.connection_line_sample);
|
||||||
sample = clamp(sample, 2, 128);
|
sample = clamp(sample, 2, 128);
|
||||||
|
|
||||||
|
@ -195,4 +158,4 @@ function distance_to_curve_corner(mx, my, x0, y0, x1, y1, _s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
} #endregion
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "draw_line_elbow_diag",
|
"name": "draw_connect_curve",
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "draw",
|
"name": "connection",
|
||||||
"path": "folders/functions/draw.yy",
|
"path": "folders/functions/connection.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
function draw_line_elbow_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) {
|
function draw_line_elbow_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) { #region
|
||||||
var sample = corner / 4;
|
var sample = corner / 4;
|
||||||
sample = clamp(sample, 1, 8);
|
sample = clamp(sample, 1, 8);
|
||||||
|
|
||||||
|
@ -68,9 +68,9 @@ function draw_line_elbow_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, t
|
||||||
draw_line_dashed_color(cx, y1, x1, y1, thick, cm, col2, 6 * _s);
|
draw_line_dashed_color(cx, y1, x1, y1, thick, cm, col2, 6 * _s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function draw_line_elbow_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) {
|
function draw_line_elbow_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) { #region
|
||||||
var sample = corner / 4;
|
var sample = corner / 4;
|
||||||
sample = clamp(sample, 1, 8);
|
sample = clamp(sample, 1, 8);
|
||||||
|
|
||||||
|
@ -84,9 +84,9 @@ function draw_line_elbow_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_whit
|
||||||
draw_line_round_color(x0, y0, x1 - corner * sx, y0, thick, col1, colc);
|
draw_line_round_color(x0, y0, x1 - corner * sx, y0, thick, col1, colc);
|
||||||
draw_line_round_color(x1, y0 + corner * sy, x1, y1, thick, colc, col2);
|
draw_line_round_color(x1, y0 + corner * sy, x1, y1, thick, colc, col2);
|
||||||
draw_corner(x1 - corner * sx, y0, x1, y0, x1, y0 + corner * sy, thick, colc, sample);
|
draw_corner(x1 - corner * sx, y0, x1, y0, x1, y0 + corner * sy, thick, colc, sample);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function distance_to_elbow(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, indexOut = 1) {
|
function distance_to_elbow(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, indexOut = 1) { #region
|
||||||
var inv = x1 - 16 * _s * indexOut <= x0 + 16 * _s * indexIn;
|
var inv = x1 - 16 * _s * indexOut <= x0 + 16 * _s * indexIn;
|
||||||
var xx0 = x0 + 16 * _s * indexIn;
|
var xx0 = x0 + 16 * _s * indexIn;
|
||||||
var xx1 = x1 - 16 * _s * indexOut;
|
var xx1 = x1 - 16 * _s * indexOut;
|
||||||
|
@ -104,11 +104,11 @@ function distance_to_elbow(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, inde
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function distance_to_elbow_corner(mx, my, x0, y0, x1, y1) {
|
function distance_to_elbow_corner(mx, my, x0, y0, x1, y1) { #region
|
||||||
var dist = distance_to_line(mx, my, x0, y0, x1, y0);
|
var dist = distance_to_line(mx, my, x0, y0, x1, y0);
|
||||||
dist = min(dist, distance_to_line(mx, my, x1, y0, x1, y1));
|
dist = min(dist, distance_to_line(mx, my, x1, y0, x1, y1));
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
} #endregion
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "draw_line_curve",
|
"name": "draw_connect_elbow",
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "draw",
|
"name": "connection",
|
||||||
"path": "folders/functions/draw.yy",
|
"path": "folders/functions/connection.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
function draw_line_elbow_diag_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, thick = 1, c1 = c_white, c2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) {
|
function draw_line_elbow_diag_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, thick = 1, c1 = c_white, c2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) { #region
|
||||||
var __dash = 6 * _s;
|
var __dash = 6 * _s;
|
||||||
var __line = type == LINE_STYLE.solid? draw_line_width_color : draw_line_dashed_color;
|
var __line = type == LINE_STYLE.solid? draw_line_width_color : draw_line_dashed_color;
|
||||||
|
|
||||||
|
@ -203,9 +203,9 @@ function draw_line_elbow_diag_color(x0, y0, x1, y1, cx = noone, cy = noone, _s =
|
||||||
draw_corner(_xc1 - cor2, y1 - cor2 * iy, _xc1, y1, _xc1 + corn, y1, thick, cm, sample);
|
draw_corner(_xc1 - cor2, y1 - cor2 * iy, _xc1, y1, _xc1 + corn, y1, thick, cm, sample);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function draw_line_elbow_diag_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) {
|
function draw_line_elbow_diag_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) { #region
|
||||||
var sample = floor(corner / 8);
|
var sample = floor(corner / 8);
|
||||||
sample = clamp(sample, 0, 8);
|
sample = clamp(sample, 0, 8);
|
||||||
if(sample == 0) corner = 0;
|
if(sample == 0) corner = 0;
|
||||||
|
@ -228,9 +228,9 @@ function draw_line_elbow_diag_corner(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c
|
||||||
|
|
||||||
//draw_circle(x1 - diag * sx, y0, 4, false);
|
//draw_circle(x1 - diag * sx, y0, 4, false);
|
||||||
//draw_circle(x1, y0 + diag * sy, 4, false);
|
//draw_circle(x1, y0 + diag * sy, 4, false);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function distance_to_elbow_diag(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, indexOut = 1) {
|
function distance_to_elbow_diag(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, indexOut = 1) { #region
|
||||||
var iy = sign(y1 - y0);
|
var iy = sign(y1 - y0);
|
||||||
var xx0 = x0 + 16 * _s * indexIn;
|
var xx0 = x0 + 16 * _s * indexIn;
|
||||||
var xx1 = x1 - 16 * _s * indexOut;
|
var xx1 = x1 - 16 * _s * indexOut;
|
||||||
|
@ -327,9 +327,9 @@ function distance_to_elbow_diag(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1,
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function distance_to_elbow_diag_corner(mx, my, x0, y0, x1, y1) {
|
function distance_to_elbow_diag_corner(mx, my, x0, y0, x1, y1) { #region
|
||||||
var sx = sign(x1 - x0);
|
var sx = sign(x1 - x0);
|
||||||
var sy = sign(y1 - y0);
|
var sy = sign(y1 - y0);
|
||||||
var diag = min(abs(x0 - x1) / 2, abs(y0 - y1) / 2);
|
var diag = min(abs(x0 - x1) / 2, abs(y0 - y1) / 2);
|
||||||
|
@ -340,4 +340,4 @@ function distance_to_elbow_diag_corner(mx, my, x0, y0, x1, y1) {
|
||||||
dist = min(dist, distance_to_line(mx, my, x1, y0 + diag * sy, x1, y1));
|
dist = min(dist, distance_to_line(mx, my, x1, y0 + diag * sy, x1, y1));
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
} #endregion
|
11
scripts/draw_connect_elbow_diag/draw_connect_elbow_diag.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_connect_elbow_diag",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "connection",
|
||||||
|
"path": "folders/functions/connection.yy",
|
||||||
|
},
|
||||||
|
}
|
22
scripts/draw_connect_linear/draw_connect_linear.gml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
function draw_line_feedback(x0, y0, x1, y1, th, c1, c0, _s) { #region
|
||||||
|
draw_line_dashed_color(x0, y0, x1, y1, th, c1, c0, 6 * _s);
|
||||||
|
return;
|
||||||
|
|
||||||
|
var _y0 = y0 - 12 * _s;
|
||||||
|
var _y1 = y1 - 12 * _s;
|
||||||
|
|
||||||
|
var x0e = x0 + 12 * _s * sign(x0 - x1);
|
||||||
|
var x1e = x1 - 12 * _s * sign(x0 - x1);
|
||||||
|
|
||||||
|
draw_line_dashed_color(x0e, y0, x0e, _y0, th, c0, c0, 6 * _s);
|
||||||
|
draw_line_dashed_color(x0, y0, x0e, y0, th, c0, c0, 6 * _s);
|
||||||
|
|
||||||
|
draw_line_dashed_color(x0e, _y0, x1e, _y1, th, c1, c0, 6 * _s);
|
||||||
|
|
||||||
|
draw_line_dashed_color(x1e, y1, x1e, _y1, th, c1, c1, 6 * _s);
|
||||||
|
draw_line_dashed_color(x1e, y1, x1, y1, th, c1, c1, 6 * _s);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
function distance_line_feedback(mx, my, x0, y0, x1, y1) { #region
|
||||||
|
return distance_to_line(mx, my, x0, y0, x1, y1);
|
||||||
|
} #endregion
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "draw_line_elbow",
|
"name": "draw_connect_linear",
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "draw",
|
"name": "connection",
|
||||||
"path": "folders/functions/draw.yy",
|
"path": "folders/functions/connection.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -2,7 +2,14 @@ function Node_VFX_Group_Inline(_x, _y, _group = noone) : Node_Collection_Inline(
|
||||||
name = "VFX";
|
name = "VFX";
|
||||||
color = COLORS.node_blend_vfx;
|
color = COLORS.node_blend_vfx;
|
||||||
icon = THEME.vfx;
|
icon = THEME.vfx;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true )
|
||||||
|
.rejectArray();
|
||||||
|
|
||||||
|
topoList = ds_list_create();
|
||||||
|
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
|
managedRenderOrder = true;
|
||||||
|
|
||||||
if(!LOADING && !APPENDING && !CLONING) { #region
|
if(!LOADING && !APPENDING && !CLONING) { #region
|
||||||
var input = nodeBuild("Node_VFX_Spawner", x, y);
|
var input = nodeBuild("Node_VFX_Spawner", x, y);
|
||||||
|
@ -14,4 +21,46 @@ function Node_VFX_Group_Inline(_x, _y, _group = noone) : Node_Collection_Inline(
|
||||||
addNode(output);
|
addNode(output);
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
static getNextNodes = function() { #region
|
||||||
|
return __nodeLeafList(nodes);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static reset = function() { #region
|
||||||
|
for( var i = 0, n = ds_list_size(nodes); i < n; i++ ) {
|
||||||
|
var node = nodes[| i];
|
||||||
|
if(!struct_has(node, "reset")) continue;
|
||||||
|
node.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
var loop = getInputData(0);
|
||||||
|
if(!loop) return;
|
||||||
|
|
||||||
|
for( var i = 0; i < TOTAL_FRAMES; i++ )
|
||||||
|
for( var j = 0, m = ds_list_size(topoList); j < m; j++ ) {
|
||||||
|
var node = topoList[| j];
|
||||||
|
var _ins = instanceof(node);
|
||||||
|
|
||||||
|
if(!string_pos("Node_VFX", _ins))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(_ins == "Node_VFX_Renderer" || _ins == "Node_VFX_Renderer_Output")
|
||||||
|
continue;
|
||||||
|
|
||||||
|
node.doUpdate(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
for( var i = 0, n = ds_list_size(nodes); i < n; i++ ) {
|
||||||
|
var node = nodes[| i];
|
||||||
|
if(!struct_has(node, "resetSeed")) continue;
|
||||||
|
node.resetSeed();
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function() { #region
|
||||||
|
if(CURRENT_FRAME == 0) {
|
||||||
|
NodeListSort(topoList, nodes);
|
||||||
|
reset();
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
}
|
}
|
|
@ -11,6 +11,9 @@ function Node_Collection_Inline(_x, _y, _group = noone) : Node(_x, _y, _group) c
|
||||||
group_hover_al = 0;
|
group_hover_al = 0;
|
||||||
selectable = false;
|
selectable = false;
|
||||||
|
|
||||||
|
input_node_type = noone;
|
||||||
|
output_node_type = noone;
|
||||||
|
|
||||||
static removeNode = function(node) { #region
|
static removeNode = function(node) { #region
|
||||||
array_remove(attributes.members, node.node_id);
|
array_remove(attributes.members, node.node_id);
|
||||||
ds_list_remove(nodes, node);
|
ds_list_remove(nodes, node);
|
||||||
|
@ -33,9 +36,9 @@ function Node_Collection_Inline(_x, _y, _group = noone) : Node(_x, _y, _group) c
|
||||||
var _rad = 6;
|
var _rad = 6;
|
||||||
var _stp = 15;
|
var _stp = 15;
|
||||||
|
|
||||||
var _nx0 = _node.x - 32 + _rad;
|
var _nx0 = is_instanceof(_node, input_node_type)? _node.x + _node.w / 2 : _node.x - 32 + _rad;
|
||||||
var _ny0 = _node.y - 32 + _rad;
|
var _ny0 = _node.y - 32 + _rad;
|
||||||
var _nx1 = _node.x + (_node == self? _node.w / 2 : _node.w + 32 - _rad);
|
var _nx1 = is_instanceof(_node, output_node_type)? _node.x + _node.w / 2 : _node.x + _node.w + 32 - _rad;
|
||||||
var _ny1 = _node.y + _node.h + 32 - _rad;
|
var _ny1 = _node.y + _node.h + 32 - _rad;
|
||||||
|
|
||||||
for( var i = 0; i < 90; i += _stp ) _vertex[_ind++] = [ _nx1 + lengthdir_x(_rad, i), _ny0 + lengthdir_y(_rad, i) ];
|
for( var i = 0; i < 90; i += _stp ) _vertex[_ind++] = [ _nx1 + lengthdir_x(_rad, i), _ny0 + lengthdir_y(_rad, i) ];
|
||||||
|
|
|
@ -61,6 +61,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
#region ---- display ----
|
#region ---- display ----
|
||||||
color = c_white;
|
color = c_white;
|
||||||
icon = noone;
|
icon = noone;
|
||||||
|
icon_24 = noone;
|
||||||
bg_spr = THEME.node_bg;
|
bg_spr = THEME.node_bg;
|
||||||
bg_sel_spr = THEME.node_active;
|
bg_sel_spr = THEME.node_active;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ function Node_Feedback_Inline(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
||||||
name = "Feedback";
|
name = "Feedback";
|
||||||
color = COLORS.node_blend_feedback;
|
color = COLORS.node_blend_feedback;
|
||||||
icon = THEME.feedback;
|
icon = THEME.feedback;
|
||||||
|
icon_24 = THEME.feedback_24;
|
||||||
|
|
||||||
selectable = false;
|
selectable = false;
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
|
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for each",
|
"name": "for each",
|
||||||
"path": "folders/nodes/data/iterate/for each.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for each.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -0,0 +1,95 @@
|
||||||
|
function Node_Iterate_Each_Inline(_x, _y, _group = noone) : Node_Collection_Inline(_x, _y, _group) constructor {
|
||||||
|
name = "Loop Array";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
|
||||||
|
input_node = noone;
|
||||||
|
output_node = noone;
|
||||||
|
|
||||||
|
input_node_type = Node_Iterator_Each_Inline_Input;
|
||||||
|
output_node_type = Node_Iterator_Each_Inline_Output;
|
||||||
|
iterated = 0;
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING && !CLONING) { #region
|
||||||
|
var input = nodeBuild("Node_Iterator_Each_Inline_Input", x, y);
|
||||||
|
var output = nodeBuild("Node_Iterator_Each_Inline_Output", x + 256, y);
|
||||||
|
|
||||||
|
output.inputs[| 0].setFrom(input.outputs[| 0]);
|
||||||
|
|
||||||
|
addNode(input);
|
||||||
|
addNode(output);
|
||||||
|
|
||||||
|
input_node = input;
|
||||||
|
output_node = output;
|
||||||
|
|
||||||
|
input_node.loop = self;
|
||||||
|
output_node.loop = self;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static getIterationCount = function() { #region
|
||||||
|
var _arr = input_node.inputs[| 0].getValue();
|
||||||
|
return array_length(_arr);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static bypassNextNode = function() { #region
|
||||||
|
return iterated < getIterationCount();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static getNextNodes = function() { #region
|
||||||
|
LOG_BLOCK_START();
|
||||||
|
LOG_IF(global.FLAG.render == 1, "[outputNextNode] Get next node from inline iterate");
|
||||||
|
|
||||||
|
resetRender();
|
||||||
|
LOG_IF(global.FLAG.render == 1, $"Loop restart: iteration {iterated}");
|
||||||
|
var _nodes = __nodeLeafList(nodes);
|
||||||
|
array_push_unique(_nodes, input_node);
|
||||||
|
iterated++;
|
||||||
|
|
||||||
|
LOG_BLOCK_END();
|
||||||
|
|
||||||
|
return _nodes;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static refreshMember = function() { #region
|
||||||
|
ds_list_clear(nodes);
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(attributes.members); i < n; i++ ) {
|
||||||
|
if(!ds_map_exists(PROJECT.nodeMap, attributes.members[i])) {
|
||||||
|
print($"Node not found {attributes.members[i]}");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _node = PROJECT.nodeMap[? attributes.members[i]];
|
||||||
|
array_push_unique(_node.context_data, self);
|
||||||
|
ds_list_add(nodes, _node);
|
||||||
|
|
||||||
|
if(is_instanceof(_node, Node_Iterator_Each_Inline_Input)) {
|
||||||
|
input_node = _node;
|
||||||
|
input_node.loop = self;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_instanceof(_node, Node_Iterator_Each_Inline_Output)) {
|
||||||
|
output_node = _node;
|
||||||
|
output_node.loop = self;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(input_node == noone || output_node == noone) {
|
||||||
|
if(input_node) nodeDelete(input_node);
|
||||||
|
if(output_node) nodeDelete(output_node);
|
||||||
|
nodeDelete(self);
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function() { #region
|
||||||
|
if(input_node == noone || output_node == noone) {
|
||||||
|
if(input_node) nodeDelete(input_node);
|
||||||
|
if(output_node) nodeDelete(output_node);
|
||||||
|
nodeDelete(self);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
iterated = 0;
|
||||||
|
output_node.outputs[| 0].setValue([]);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
}
|
11
scripts/node_iterate_each_inline/node_iterate_each_inline.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterate_each_inline",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for each",
|
||||||
|
"path": "folders/nodes/data/iterate/for each.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for filter",
|
"name": "for filter",
|
||||||
"path": "folders/nodes/data/iterate/for filter.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for filter.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -0,0 +1,95 @@
|
||||||
|
function Node_Iterate_Filter_Inline(_x, _y, _group = noone) : Node_Collection_Inline(_x, _y, _group) constructor {
|
||||||
|
name = "Filter Array";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
|
||||||
|
input_node = noone;
|
||||||
|
output_node = noone;
|
||||||
|
|
||||||
|
input_node_type = Node_Iterator_Filter_Inline_Input;
|
||||||
|
output_node_type = Node_Iterator_Filter_Inline_Output;
|
||||||
|
iterated = 0;
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING && !CLONING) { #region
|
||||||
|
var input = nodeBuild("Node_Iterator_Filter_Inline_Input", x, y);
|
||||||
|
var output = nodeBuild("Node_Iterator_Filter_Inline_Output", x + 256, y);
|
||||||
|
|
||||||
|
output.inputs[| 0].setFrom(input.outputs[| 0]);
|
||||||
|
|
||||||
|
addNode(input);
|
||||||
|
addNode(output);
|
||||||
|
|
||||||
|
input_node = input;
|
||||||
|
output_node = output;
|
||||||
|
|
||||||
|
input_node.loop = self;
|
||||||
|
output_node.loop = self;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static getIterationCount = function() { #region
|
||||||
|
var _arr = input_node.inputs[| 0].getValue();
|
||||||
|
return array_length(_arr);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static bypassNextNode = function() { #region
|
||||||
|
return iterated < getIterationCount();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static getNextNodes = function() { #region
|
||||||
|
LOG_BLOCK_START();
|
||||||
|
LOG_IF(global.FLAG.render == 1, "[outputNextNode] Get next node from inline iterate");
|
||||||
|
|
||||||
|
resetRender();
|
||||||
|
LOG_IF(global.FLAG.render == 1, $"Loop restart: iteration {iterated}");
|
||||||
|
var _nodes = __nodeLeafList(nodes);
|
||||||
|
array_push_unique(_nodes, input_node);
|
||||||
|
iterated++;
|
||||||
|
|
||||||
|
LOG_BLOCK_END();
|
||||||
|
|
||||||
|
return _nodes;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static refreshMember = function() { #region
|
||||||
|
ds_list_clear(nodes);
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(attributes.members); i < n; i++ ) {
|
||||||
|
if(!ds_map_exists(PROJECT.nodeMap, attributes.members[i])) {
|
||||||
|
print($"Node not found {attributes.members[i]}");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _node = PROJECT.nodeMap[? attributes.members[i]];
|
||||||
|
array_push_unique(_node.context_data, self);
|
||||||
|
ds_list_add(nodes, _node);
|
||||||
|
|
||||||
|
if(is_instanceof(_node, Node_Iterator_Filter_Inline_Input)) {
|
||||||
|
input_node = _node;
|
||||||
|
input_node.loop = self;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_instanceof(_node, Node_Iterator_Filter_Inline_Output)) {
|
||||||
|
output_node = _node;
|
||||||
|
output_node.loop = self;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(input_node == noone || output_node == noone) {
|
||||||
|
if(input_node) nodeDelete(input_node);
|
||||||
|
if(output_node) nodeDelete(output_node);
|
||||||
|
nodeDelete(self);
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function() { #region
|
||||||
|
if(input_node == noone || output_node == noone) {
|
||||||
|
if(input_node) nodeDelete(input_node);
|
||||||
|
if(output_node) nodeDelete(output_node);
|
||||||
|
nodeDelete(self);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
iterated = 0;
|
||||||
|
output_node.outputs[| 0].setValue([]);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterate_filter_inline",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for filter",
|
||||||
|
"path": "folders/nodes/data/iterate/for filter.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,12 +1,13 @@
|
||||||
function Node_Iterate_Inline(_x, _y, _group = noone) : Node_Collection_Inline(_x, _y, _group) constructor {
|
function Node_Iterate_Inline(_x, _y, _group = noone) : Node_Collection_Inline(_x, _y, _group) constructor {
|
||||||
name = "Loop";
|
name = "Loop";
|
||||||
color = COLORS.node_blend_loop;
|
color = COLORS.node_blend_loop;
|
||||||
|
icon = THEME.loop;
|
||||||
|
icon_24 = THEME.loop_24;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Repeat", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 )
|
inputs[| 0] = nodeValue("Repeat", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 )
|
||||||
.uncache();
|
.uncache();
|
||||||
|
|
||||||
managedRenderOrder = true;
|
managedRenderOrder = true;
|
||||||
selectable = false;
|
|
||||||
|
|
||||||
draw_line_feed = true;
|
draw_line_feed = true;
|
||||||
draw_line_shift_x = 0;
|
draw_line_shift_x = 0;
|
||||||
|
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for sort",
|
"name": "for sort",
|
||||||
"path": "folders/nodes/data/iterate/for sort.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for sort.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
153
scripts/node_iterate_sort_inline/node_iterate_sort_inline.gml
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
function Node_Iterate_Sort_Inline(_x, _y, _group = noone) : Node_Collection_Inline(_x, _y, _group) constructor {
|
||||||
|
name = "Sort Array";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
|
||||||
|
topoList = ds_list_create();
|
||||||
|
|
||||||
|
input_node = noone;
|
||||||
|
output_node = noone;
|
||||||
|
|
||||||
|
input_node_type = Node_Iterator_Sort_Inline_Input;
|
||||||
|
output_node_type = Node_Iterator_Sort_Inline_Output;
|
||||||
|
iterated = 0;
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING && !CLONING) { #region
|
||||||
|
var input = nodeBuild("Node_Iterator_Sort_Inline_Input", x, y);
|
||||||
|
var output = nodeBuild("Node_Iterator_Sort_Inline_Output", x + 256, y);
|
||||||
|
|
||||||
|
addNode(input);
|
||||||
|
addNode(output);
|
||||||
|
|
||||||
|
input_node = input;
|
||||||
|
output_node = output;
|
||||||
|
|
||||||
|
input_node.loop = self;
|
||||||
|
output_node.loop = self;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static isActiveDynamic = function(frame = CURRENT_FRAME) { #region
|
||||||
|
for( var i = 0, n = ds_list_size(nodes); i < n; i++ )
|
||||||
|
if(nodes[| i].isActiveDynamic(frame)) return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static getNextNodes = function() { #region
|
||||||
|
return output_node.getNextNodes();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static refreshMember = function() { #region
|
||||||
|
ds_list_clear(nodes);
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(attributes.members); i < n; i++ ) {
|
||||||
|
if(!ds_map_exists(PROJECT.nodeMap, attributes.members[i])) {
|
||||||
|
print($"Node not found {attributes.members[i]}");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _node = PROJECT.nodeMap[? attributes.members[i]];
|
||||||
|
array_push_unique(_node.context_data, self);
|
||||||
|
ds_list_add(nodes, _node);
|
||||||
|
|
||||||
|
if(is_instanceof(_node, Node_Iterator_Sort_Inline_Input)) {
|
||||||
|
input_node = _node;
|
||||||
|
input_node.loop = self;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_instanceof(_node, Node_Iterator_Sort_Inline_Output)) {
|
||||||
|
output_node = _node;
|
||||||
|
output_node.loop = self;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(input_node == noone || output_node == noone) {
|
||||||
|
if(input_node) nodeDelete(input_node);
|
||||||
|
if(output_node) nodeDelete(output_node);
|
||||||
|
nodeDelete(self);
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function(frame = CURRENT_FRAME) { #region
|
||||||
|
if(input_node == noone || output_node == noone) {
|
||||||
|
if(input_node) nodeDelete(input_node);
|
||||||
|
if(output_node) nodeDelete(output_node);
|
||||||
|
nodeDelete(self);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(frame == 0 || !IS_PLAYING)
|
||||||
|
NodeListSort(topoList, nodes);
|
||||||
|
|
||||||
|
sortArray();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static swap = function(arr, a, b) { #region
|
||||||
|
var temp = arr[a];
|
||||||
|
arr[@ a] = arr[b];
|
||||||
|
arr[@ b] = temp;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static compareValue = function(val1, val2) { #region
|
||||||
|
input_node.outputs[| 0].setValue(val1,,, false);
|
||||||
|
input_node.outputs[| 1].setValue(val2,,, false);
|
||||||
|
|
||||||
|
resetRender(true);
|
||||||
|
RenderList(topoList);
|
||||||
|
|
||||||
|
var res = output_node.inputs[| 0].getValue();
|
||||||
|
//print($"Comparing value {val1}, {val2} > [{res}]");
|
||||||
|
return res;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static partition = function(arr, low, high) { #region
|
||||||
|
var pv = arr[high];
|
||||||
|
var i = low - 1;
|
||||||
|
|
||||||
|
for(var j = low; j < high; j++) {
|
||||||
|
if(compareValue(arr[j], pv)) continue;
|
||||||
|
|
||||||
|
i++;
|
||||||
|
swap(arr, i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
swap(arr, i + 1, high);
|
||||||
|
return i + 1;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static quickSort = function(arr, low, high) { #region
|
||||||
|
if(low >= high) return;
|
||||||
|
|
||||||
|
var p = partition(arr, low, high);
|
||||||
|
|
||||||
|
quickSort(arr, low, p - 1);
|
||||||
|
quickSort(arr, p + 1, high);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static sortArray = function() { #region
|
||||||
|
iterated = 0;
|
||||||
|
loop_start_time = get_timer();
|
||||||
|
|
||||||
|
var _frj = input_node.inputs[| 0].value_from;
|
||||||
|
var type = _frj == noone? VALUE_TYPE.any : _frj.type;
|
||||||
|
|
||||||
|
input_node.inputs[| 0].setType(type);
|
||||||
|
input_node.outputs[| 0].setType(type);
|
||||||
|
input_node.outputs[| 1].setType(type);
|
||||||
|
|
||||||
|
output_node.outputs[| 0].setType(type);
|
||||||
|
|
||||||
|
if(input_node.inputs[| 0].value_from == noone) return;
|
||||||
|
|
||||||
|
var arrIn = input_node.inputs[| 0].getValue();
|
||||||
|
var arrOut = output_node.outputs[| 0].getValue();
|
||||||
|
|
||||||
|
arrOut = array_clone(arrIn);
|
||||||
|
|
||||||
|
print($"===== Sort begin =====");
|
||||||
|
quickSort(arrOut, 0, array_length(arrOut) - 1);
|
||||||
|
print($"Sorted {arrIn} > {arrOut}")
|
||||||
|
|
||||||
|
output_node.outputs[| 0].setValue(arrOut);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
}
|
11
scripts/node_iterate_sort_inline/node_iterate_sort_inline.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterate_sort_inline",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for sort inline",
|
||||||
|
"path": "folders/nodes/data/iterate/for sort inline.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
function Node_Iterator_Each_Inline_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Loop Input";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
loop = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Array in", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, [] )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Value in", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0 );
|
||||||
|
|
||||||
|
static update = function() { #region
|
||||||
|
if(!is_instanceof(loop, Node_Iterate_Each_Inline)) return;
|
||||||
|
|
||||||
|
var _typ = inputs[| 0].value_from == noone? VALUE_TYPE.any : inputs[| 0].value_from.type;
|
||||||
|
inputs[| 0].setType(_typ);
|
||||||
|
outputs[| 0].setType(_typ);
|
||||||
|
|
||||||
|
var val = inputs[| 0].getValue();
|
||||||
|
var itr = loop.iterated - 1;
|
||||||
|
|
||||||
|
outputs[| 0].setValue(array_safe_get(val, itr));
|
||||||
|
} #endregion
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterator_each_inline_input",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for each",
|
||||||
|
"path": "folders/nodes/data/iterate/for each.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_iterator_each_inline_output/node_group_input.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "group",
|
||||||
|
"path": "folders/nodes/data/group.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_group_input",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
function Node_Iterator_Each_Inline_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Loop Output";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
loop = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Value out", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0 )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Array out", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, [] );
|
||||||
|
|
||||||
|
static getNextNodes = function() { #region
|
||||||
|
if(loop.bypassNextNode())
|
||||||
|
return loop.getNextNodes();
|
||||||
|
return getNextNodesRaw();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function(frame = CURRENT_FRAME) { #region
|
||||||
|
if(!is_instanceof(loop, Node_Iterate_Each_Inline)) return;
|
||||||
|
|
||||||
|
var _typ = inputs[| 0].value_from == noone? VALUE_TYPE.any : inputs[| 0].value_from.type;
|
||||||
|
inputs[| 0].setType(_typ);
|
||||||
|
outputs[| 0].setType(_typ);
|
||||||
|
|
||||||
|
var val = getInputData(0);
|
||||||
|
var arr = outputs[| 0].getValue();
|
||||||
|
var itr = loop.iterated - 1;
|
||||||
|
|
||||||
|
arr[@ itr] = val;
|
||||||
|
outputs[| 0].setValue(arr);
|
||||||
|
|
||||||
|
//print($"Output iteration {itr} = {val} | {arr}");
|
||||||
|
} #endregion
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterator_each_inline_output",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for each",
|
||||||
|
"path": "folders/nodes/data/iterate/for each.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for each",
|
"name": "for each",
|
||||||
"path": "folders/nodes/data/iterate/for each.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for each.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for each",
|
"name": "for each",
|
||||||
"path": "folders/nodes/data/iterate/for each.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for each.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for each",
|
"name": "for each",
|
||||||
"path": "folders/nodes/data/iterate/for each.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for each.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
function Node_Iterator_Filter_Inline_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Filter Input";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
loop = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Array in", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, [] )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Value in", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0 );
|
||||||
|
|
||||||
|
static update = function() { #region
|
||||||
|
if(!is_instanceof(loop, Node_Iterate_Filter_Inline)) return;
|
||||||
|
|
||||||
|
var _typ = inputs[| 0].value_from == noone? VALUE_TYPE.any : inputs[| 0].value_from.type;
|
||||||
|
inputs[| 0].setType(_typ);
|
||||||
|
outputs[| 0].setType(_typ);
|
||||||
|
|
||||||
|
var val = inputs[| 0].getValue();
|
||||||
|
var itr = loop.iterated - 1;
|
||||||
|
|
||||||
|
outputs[| 0].setValue(array_safe_get(val, itr));
|
||||||
|
} #endregion
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterator_filter_inline_input",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for filter",
|
||||||
|
"path": "folders/nodes/data/iterate/for filter.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "group",
|
||||||
|
"path": "folders/nodes/data/group.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_group_input",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
function Node_Iterator_Filter_Inline_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Filter Output";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
loop = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Value out", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0 )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Filter result", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Array out", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, [] );
|
||||||
|
|
||||||
|
static getNextNodes = function() { #region
|
||||||
|
if(loop.bypassNextNode())
|
||||||
|
return loop.getNextNodes();
|
||||||
|
return getNextNodesRaw();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function(frame = CURRENT_FRAME) { #region
|
||||||
|
if(!is_instanceof(loop, Node_Iterate_Filter_Inline)) return;
|
||||||
|
|
||||||
|
var _typ = inputs[| 0].value_from == noone? VALUE_TYPE.any : inputs[| 0].value_from.type;
|
||||||
|
inputs[| 0].setType(_typ);
|
||||||
|
outputs[| 0].setType(_typ);
|
||||||
|
|
||||||
|
var val = getInputData(0);
|
||||||
|
var res = getInputData(1);
|
||||||
|
var arr = outputs[| 0].getValue();
|
||||||
|
var itr = loop.iterated - 1;
|
||||||
|
|
||||||
|
if(res) array_push(arr, val);
|
||||||
|
outputs[| 0].setValue(arr);
|
||||||
|
} #endregion
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterator_filter_inline_output",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for filter",
|
||||||
|
"path": "folders/nodes/data/iterate/for filter.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for filter",
|
"name": "for filter",
|
||||||
"path": "folders/nodes/data/iterate/for filter.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for filter.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for filter",
|
"name": "for filter",
|
||||||
"path": "folders/nodes/data/iterate/for filter.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for filter.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
function Node_Iterator_Sort_Inline_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Sort Input";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
loop = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Array in", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, [] )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Value 1", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0 );
|
||||||
|
|
||||||
|
outputs[| 1] = nodeValue("Value 2", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0 );
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterator_sort_inline_input",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for sort inline",
|
||||||
|
"path": "folders/nodes/data/iterate/for sort inline.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_iterator_sort_inline_output/node_group_input.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "group",
|
||||||
|
"path": "folders/nodes/data/group.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_group_input",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
function Node_Iterator_Sort_Inline_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Sort result";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
loop = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Swap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Array out", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, [] );
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_iterator_sort_inline_output",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "for sort inline",
|
||||||
|
"path": "folders/nodes/data/iterate/for sort inline.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for sort",
|
"name": "for sort",
|
||||||
"path": "folders/nodes/data/iterate/for sort.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for sort.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -6,6 +6,6 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "for sort",
|
"name": "for sort",
|
||||||
"path": "folders/nodes/data/iterate/for sort.yy",
|
"path": "folders/nodes/data/iterate/_legacy/for sort.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -289,6 +289,13 @@ function __initNodes() {
|
||||||
addNodeObject(itere, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent();
|
addNodeObject(itere, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
var itere_il = ds_list_create(); #region
|
||||||
|
addNodeCatagory("Loop", itere_il, ["Node_Iterate_Each_Inline"]);
|
||||||
|
ds_list_add(itere_il, "Loops");
|
||||||
|
addNodeObject(itere_il, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent();
|
||||||
|
addNodeObject(itere_il, "Array Length", s_node_iterator_length, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent();
|
||||||
|
#endregion
|
||||||
|
|
||||||
var filter = ds_list_create(); #region
|
var filter = ds_list_create(); #region
|
||||||
addNodeCatagory("Filter", filter, ["Node_Iterate_Filter"]);
|
addNodeCatagory("Filter", filter, ["Node_Iterate_Filter"]);
|
||||||
ds_list_add(filter, "Groups");
|
ds_list_add(filter, "Groups");
|
||||||
|
@ -301,6 +308,13 @@ function __initNodes() {
|
||||||
addNodeObject(filter, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent();
|
addNodeObject(filter, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
var filter_il = ds_list_create(); #region
|
||||||
|
addNodeCatagory("Filter", filter_il, ["Node_Iterate_Filter_Inline"]);
|
||||||
|
ds_list_add(filter_il, "Loops");
|
||||||
|
addNodeObject(filter_il, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent();
|
||||||
|
addNodeObject(filter_il, "Array Length", s_node_iterator_length, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent();
|
||||||
|
#endregion
|
||||||
|
|
||||||
var feed = ds_list_create(); #region
|
var feed = ds_list_create(); #region
|
||||||
addNodeCatagory("Feedback", feed, ["Node_Feedback"]);
|
addNodeCatagory("Feedback", feed, ["Node_Feedback"]);
|
||||||
ds_list_add(feed, "Groups");
|
ds_list_add(feed, "Groups");
|
||||||
|
@ -727,9 +741,9 @@ function __initNodes() {
|
||||||
addNodeObject(values, "Array Sample", s_node_array_sample, "Node_Array_Sample", [1, Node_Array_Sample]).setVersion(11540);
|
addNodeObject(values, "Array Sample", s_node_array_sample, "Node_Array_Sample", [1, Node_Array_Sample]).setVersion(11540);
|
||||||
addNodeObject(values, "Sort Number", s_node_array_sort, "Node_Array_Sort", [1, Node_Array_Sort], ["array sort"]).setVersion(1120);
|
addNodeObject(values, "Sort Number", s_node_array_sort, "Node_Array_Sort", [1, Node_Array_Sort], ["array sort"]).setVersion(1120);
|
||||||
addNodeObject(values, "Shuffle Array", s_node_array_shuffle, "Node_Array_Shuffle", [1, Node_Array_Shuffle], ["array shuffle"]).setVersion(1120);
|
addNodeObject(values, "Shuffle Array", s_node_array_shuffle, "Node_Array_Shuffle", [1, Node_Array_Shuffle], ["array shuffle"]).setVersion(1120);
|
||||||
addNodeObject(values, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array.");
|
addNodeObject(values, "Loop Array", s_node_loop_array, "Node_Iterate_Each_Inline", [1, Node_Iterate_Each_Inline], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array.");
|
||||||
addNodeObject(values, "Filter Array", s_node_filter_array, "Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").setVersion(1140);
|
addNodeObject(values, "Filter Array", s_node_filter_array, "Node_Iterate_Filter_Inline", [1, Node_Iterate_Filter_Inline],, "Filter array using condition.").setVersion(1140);
|
||||||
addNodeObject(values, "Sort Array", s_node_sort_array, "Node_Iterate_Sort", [1, Node_Iterate_Sort],, "Sort array using node graph.").setVersion(1143);
|
addNodeObject(values, "Sort Array", s_node_sort_array, "Node_Iterate_Sort_Inline", [1, Node_Iterate_Sort_Inline],, "Sort array using node graph.").setVersion(1143);
|
||||||
addNodeObject(values, "Parse CSV", s_node_csv_parse, "Node_Array_CSV_Parse", [1, Node_Array_CSV_Parse]).setVersion(1145);
|
addNodeObject(values, "Parse CSV", s_node_csv_parse, "Node_Array_CSV_Parse", [1, Node_Array_CSV_Parse]).setVersion(1145);
|
||||||
|
|
||||||
ds_list_add(values, "Paths");
|
ds_list_add(values, "Paths");
|
||||||
|
@ -834,8 +848,8 @@ function __initNodes() {
|
||||||
addNodeObject(node, "Group", s_node_group, "Node_Group", [1, Node_Group]);
|
addNodeObject(node, "Group", s_node_group, "Node_Group", [1, Node_Group]);
|
||||||
addNodeObject(node, "Feedback", s_node_feedback, "Node_Feedback", [1, Node_Feedback],, "Create a group that reuse output from last frame to the current one.");
|
addNodeObject(node, "Feedback", s_node_feedback, "Node_Feedback", [1, Node_Feedback],, "Create a group that reuse output from last frame to the current one.");
|
||||||
addNodeObject(node, "Loop", s_node_loop, "Node_Iterate", [1, Node_Iterate], ["iterate", "for"], "Create group that reuse output as input repeatedly in one frame.");
|
addNodeObject(node, "Loop", s_node_loop, "Node_Iterate", [1, Node_Iterate], ["iterate", "for"], "Create group that reuse output as input repeatedly in one frame.");
|
||||||
addNodeObject(node, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array.");
|
addNodeObject(node, "Loop Array", s_node_loop_array, "Node_Iterate_Each_Inline", [1, Node_Iterate_Each_Inline], ["iterate each", "for each", "array loop"], "Create group that iterate to each member in an array.");
|
||||||
addNodeObject(node, "Filter Array", s_node_filter_array,"Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").setVersion(1140);
|
addNodeObject(node, "Filter Array", s_node_filter_array, "Node_Iterate_Filter_Inline", [1, Node_Iterate_Filter_Inline],, "Filter array using condition.").setVersion(1140);
|
||||||
|
|
||||||
if(OS == os_windows) {
|
if(OS == os_windows) {
|
||||||
ds_list_add(node, "Lua");
|
ds_list_add(node, "Lua");
|
||||||
|
@ -1006,6 +1020,16 @@ function __initNodes() {
|
||||||
addNodeObject(hid, "Feedback", s_node_feedback, "Node_Feedback_Inline", [1, Node_Feedback_Inline]).hideRecent();
|
addNodeObject(hid, "Feedback", s_node_feedback, "Node_Feedback_Inline", [1, Node_Feedback_Inline]).hideRecent();
|
||||||
addNodeObject(hid, "Loop", s_node_loop, "Node_Iterate_Inline", [1, Node_Iterate_Inline]).hideRecent();
|
addNodeObject(hid, "Loop", s_node_loop, "Node_Iterate_Inline", [1, Node_Iterate_Inline]).hideRecent();
|
||||||
|
|
||||||
|
addNodeObject(hid, "Loop Array", s_node_loop_array, "Node_Iterate_Each", [1, Node_Iterate_Each]).hideRecent();
|
||||||
|
addNodeObject(hid, "Loop Input", s_node_loop_array, "Node_Iterator_Each_Inline_Input", [1, Node_Iterator_Each_Inline_Input]).hideRecent();
|
||||||
|
addNodeObject(hid, "Loop Output", s_node_loop_array, "Node_Iterator_Each_Inline_Output", [1, Node_Iterator_Each_Inline_Output]).hideRecent();
|
||||||
|
addNodeObject(hid, "Filter Array", s_node_filter_array, "Node_Iterate_Filter", [1, Node_Iterate_Filter],, "Filter array using condition.").hideRecent();
|
||||||
|
addNodeObject(hid, "Filter Input", s_node_filter_array, "Node_Iterator_Filter_Inline_Input", [1, Node_Iterator_Filter_Inline_Input]).hideRecent();
|
||||||
|
addNodeObject(hid, "Filter Output", s_node_filter_array, "Node_Iterator_Filter_Inline_Output", [1, Node_Iterator_Filter_Inline_Output]).hideRecent();
|
||||||
|
addNodeObject(hid, "Sort Array", s_node_sort_array, "Node_Iterate_Sort", [1, Node_Iterate_Sort],, "Sort array using node graph.").hideRecent();
|
||||||
|
addNodeObject(hid, "Sort Input", s_node_sort_array, "Node_Iterator_Sort_Inline_Input", [1, Node_Iterator_Sort_Inline_Input]).hideRecent();
|
||||||
|
addNodeObject(hid, "Sort Output", s_node_sort_array, "Node_Iterator_Sort_Inline_Output", [1, Node_Iterator_Sort_Inline_Output]).hideRecent();
|
||||||
|
|
||||||
ds_list_add(hid, "DynaSurf");
|
ds_list_add(hid, "DynaSurf");
|
||||||
addNodeObject(hid, "Input", s_node_pixel_builder, "Node_DynaSurf_In", [1, Node_DynaSurf_In]).hideRecent();
|
addNodeObject(hid, "Input", s_node_pixel_builder, "Node_DynaSurf_In", [1, Node_DynaSurf_In]).hideRecent();
|
||||||
addNodeObject(hid, "Output", s_node_pixel_builder, "Node_DynaSurf_Out", [1, Node_DynaSurf_Out]).hideRecent();
|
addNodeObject(hid, "Output", s_node_pixel_builder, "Node_DynaSurf_Out", [1, Node_DynaSurf_Out]).hideRecent();
|
||||||
|
|
|
@ -139,6 +139,11 @@ enum VALUE_TAG {
|
||||||
none = 0
|
none = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum LINE_STYLE {
|
||||||
|
solid,
|
||||||
|
dashed
|
||||||
|
}
|
||||||
|
|
||||||
function value_color(i) { #region
|
function value_color(i) { #region
|
||||||
static JUNCTION_COLORS = [
|
static JUNCTION_COLORS = [
|
||||||
#ff9166, //int
|
#ff9166, //int
|
||||||
|
@ -2581,10 +2586,13 @@ function drawJuncConnection(from, to, params, target = to) { #region
|
||||||
#region +++++ CHECK HOVER +++++
|
#region +++++ CHECK HOVER +++++
|
||||||
var hovDist = max(th * 2, 6);
|
var hovDist = max(th * 2, 6);
|
||||||
|
|
||||||
if(PANEL_GRAPH.pHOVER)
|
if(PANEL_GRAPH.pHOVER) {
|
||||||
|
if(feed && from.node == to.node) {
|
||||||
|
hover = distance_line_feedback(mx, my, jx, jy, frx, fry) < hovDist;
|
||||||
|
} else {
|
||||||
switch(PREFERENCES.curve_connection_line) {
|
switch(PREFERENCES.curve_connection_line) {
|
||||||
case 0 :
|
case 0 :
|
||||||
hover = distance_to_line(mx, my, jx, jy, frx, fry) < max(th * 2, 6);
|
hover = distance_to_line(mx, my, jx, jy, frx, fry) < hovDist;
|
||||||
break;
|
break;
|
||||||
case 1 :
|
case 1 :
|
||||||
if(downDirection) hover = distance_to_curve_corner(mx, my, jx, jy, frx, fry, _s) < hovDist;
|
if(downDirection) hover = distance_to_curve_corner(mx, my, jx, jy, frx, fry, _s) < hovDist;
|
||||||
|
@ -2608,6 +2616,8 @@ function drawJuncConnection(from, to, params, target = to) { #region
|
||||||
target.draw_line_shift_hover = hover;
|
target.draw_line_shift_hover = hover;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(_active && hover)
|
if(_active && hover)
|
||||||
hovering = self;
|
hovering = self;
|
||||||
|
@ -2668,6 +2678,9 @@ function drawJuncConnection(from, to, params, target = to) { #region
|
||||||
|
|
||||||
draw_set_color(c0);
|
draw_set_color(c0);
|
||||||
|
|
||||||
|
if(feed && from.node == to.node) {
|
||||||
|
draw_line_feedback(jx, jy, frx, fry, th, c1, c0, ss);
|
||||||
|
} else {
|
||||||
switch(PREFERENCES.curve_connection_line) {
|
switch(PREFERENCES.curve_connection_line) {
|
||||||
case 0 :
|
case 0 :
|
||||||
if(ty == LINE_STYLE.solid) draw_line_width_color(jx, jy, frx, fry, th, c1, c0);
|
if(ty == LINE_STYLE.solid) draw_line_width_color(jx, jy, frx, fry, th, c1, c0);
|
||||||
|
@ -2686,6 +2699,7 @@ function drawJuncConnection(from, to, params, target = to) { #region
|
||||||
else draw_line_elbow_diag_color(frx, fry, jx, jy, cx, cy, ss, th, c0, c1, corner, fromIndex, toIndex, ty);
|
else draw_line_elbow_diag_color(frx, fry, jx, jy, cx, cy, ss, th, c0, c1, corner, fromIndex, toIndex, ty);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return hovering;
|
return hovering;
|
||||||
|
|
|
@ -866,7 +866,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
||||||
var _to = value_focus.value_to_loop[i];
|
var _to = value_focus.value_to_loop[i];
|
||||||
array_push(menu, menuItem($"[{_to.junc_in.node.display_name}] {_to.junc_in.getName()}", function(data) {
|
array_push(menu, menuItem($"[{_to.junc_in.node.display_name}] {_to.junc_in.getName()}", function(data) {
|
||||||
nodeDelete(data.params.juncTo);
|
nodeDelete(data.params.juncTo);
|
||||||
}, THEME.feedback,,, { juncTo: _to }));
|
}, _to.icon_24,,, { juncTo: _to }));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var sep = false;
|
var sep = false;
|
||||||
|
@ -886,7 +886,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
||||||
var _jun = value_focus.value_from_loop.junc_out;
|
var _jun = value_focus.value_from_loop.junc_out;
|
||||||
array_push(menu, menuItem($"[{_jun.node.display_name}] {_jun.getName()}", function(data) {
|
array_push(menu, menuItem($"[{_jun.node.display_name}] {_jun.getName()}", function(data) {
|
||||||
__junction_hovering.removeFromLoop();
|
__junction_hovering.removeFromLoop();
|
||||||
}, THEME.feedback));
|
}, value_focus.value_from_loop.icon_24));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1284,10 +1284,31 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
||||||
if(_connect[1].value_from_loop != noone)
|
if(_connect[1].value_from_loop != noone)
|
||||||
nodeDelete(_connect[1].value_from_loop);
|
nodeDelete(_connect[1].value_from_loop);
|
||||||
|
|
||||||
var feed = nodeBuild(key_mod_press(SHIFT)? "Node_Iterate_Inline" : "Node_Feedback_Inline", 0, 0);
|
var menu = [
|
||||||
feed.attributes.junc_in = [ _connect[1].node.node_id, _connect[1].index ];
|
menuItem("Feedback", function(data) {
|
||||||
feed.attributes.junc_out = [ _connect[2].node.node_id, _connect[2].index ];
|
var junc_in = data.params.junc_in;
|
||||||
|
var junc_out = data.params.junc_out;
|
||||||
|
|
||||||
|
var feed = nodeBuild("Node_Feedback_Inline", 0, 0);
|
||||||
|
feed.attributes.junc_in = [ junc_in .node.node_id, junc_in .index ];
|
||||||
|
feed.attributes.junc_out = [ junc_out.node.node_id, junc_out.index ];
|
||||||
feed.scanJunc();
|
feed.scanJunc();
|
||||||
|
|
||||||
|
}, THEME.feedback_24,,, { junc_in : _connect[1], junc_out : _connect[2] }),
|
||||||
|
|
||||||
|
menuItem("Loop", function(data) {
|
||||||
|
var junc_in = data.params.junc_in;
|
||||||
|
var junc_out = data.params.junc_out;
|
||||||
|
|
||||||
|
var feed = nodeBuild("Node_Iterate_Inline", 0, 0);
|
||||||
|
feed.attributes.junc_in = [ junc_in .node.node_id, junc_in .index ];
|
||||||
|
feed.attributes.junc_out = [ junc_out.node.node_id, junc_out.index ];
|
||||||
|
feed.scanJunc();
|
||||||
|
|
||||||
|
}, THEME.loop_24,,, { junc_in : _connect[1], junc_out : _connect[2] }),
|
||||||
|
];
|
||||||
|
|
||||||
|
menuCall(,,, menu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(!value_dragging && value_focus && mouse_press(mb_left, pFOCUS) && !key_mod_press(ALT)) {
|
} else if(!value_dragging && value_focus && mouse_press(mb_left, pFOCUS) && !key_mod_press(ALT)) {
|
||||||
|
|
|
@ -76,12 +76,18 @@ function __sortGraph(_list, _nodeList) { #region
|
||||||
var _isRoot = true;
|
var _isRoot = true;
|
||||||
|
|
||||||
for( var j = 0, m = ds_list_size(_node.outputs); j < m; j++ ) {
|
for( var j = 0, m = ds_list_size(_node.outputs); j < m; j++ ) {
|
||||||
if(!array_empty(_node.outputs[| j].getJunctionTo())) {
|
var _to = _node.outputs[| j].getJunctionTo();
|
||||||
|
|
||||||
|
for( var k = 0, p = array_length(_to); k < p; k++ ) {
|
||||||
|
if(ds_list_exist(_nodeList, _to[k].node)) {
|
||||||
_isRoot = false;
|
_isRoot = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!_isRoot) break;
|
||||||
|
}
|
||||||
|
|
||||||
if(_isRoot) array_push(_root, _node);
|
if(_isRoot) array_push(_root, _node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,19 +100,20 @@ function __sortGraph(_list, _nodeList) { #region
|
||||||
var _node = ds_stack_pop(_st);
|
var _node = ds_stack_pop(_st);
|
||||||
if(_node.topoSorted) continue;
|
if(_node.topoSorted) continue;
|
||||||
|
|
||||||
var _isLeaf = true;
|
|
||||||
var _childs = [];
|
var _childs = [];
|
||||||
|
|
||||||
for( var i = 0, n = ds_list_size(_node.inputs); i < n; i++ ) {
|
for( var i = 0, n = ds_list_size(_node.inputs); i < n; i++ ) {
|
||||||
var _in = _node.inputs[| i];
|
var _in = _node.inputs[| i];
|
||||||
if(_in.isLeaf()) continue;
|
var _fr = _in.value_from;
|
||||||
if(_in.value_from.node.topoSorted) continue;
|
|
||||||
|
|
||||||
array_push(_childs, _in.value_from.node);
|
if(_fr == noone) continue;
|
||||||
_isLeaf = false;
|
if(!ds_list_exist(_nodeList, _fr.node)) continue;
|
||||||
|
if(_fr.node.topoSorted) continue;
|
||||||
|
|
||||||
|
array_push(_childs, _fr.node);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_isLeaf) {
|
if(array_empty(_childs)) {
|
||||||
ds_list_add(_list, _node);
|
ds_list_add(_list, _node);
|
||||||
_node.topoSorted = true;
|
_node.topoSorted = true;
|
||||||
|
|
||||||
|
@ -120,6 +127,14 @@ function __sortGraph(_list, _nodeList) { #region
|
||||||
}
|
}
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
function NodeListSort(_list, _nodeList) { #region
|
||||||
|
for( var i = 0, n = ds_list_size(_nodeList); i < n; i++ )
|
||||||
|
_nodeList[| i].topoSorted = false;
|
||||||
|
|
||||||
|
ds_list_clear(_list);
|
||||||
|
__sortGraph(_list, _nodeList);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
function __nodeIsRenderLeaf(_node) { #region
|
function __nodeIsRenderLeaf(_node) { #region
|
||||||
if(is_undefined(_node)) { LOG_IF(global.FLAG.render == 1, $"Skip undefiend [{_node}]"); return false; }
|
if(is_undefined(_node)) { LOG_IF(global.FLAG.render == 1, $"Skip undefiend [{_node}]"); return false; }
|
||||||
if(!is_instanceof(_node, Node)) { LOG_IF(global.FLAG.render == 1, $"Skip non-node [{_node}]"); return false; }
|
if(!is_instanceof(_node, Node)) { LOG_IF(global.FLAG.render == 1, $"Skip non-node [{_node}]"); return false; }
|
||||||
|
@ -235,14 +250,6 @@ function Render(partial = false, runAction = false) { #region
|
||||||
LOG_END();
|
LOG_END();
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
function NodeListSort(_list, _nodeList) { #region
|
|
||||||
for( var i = 0, n = ds_list_size(_nodeList); i < n; i++ )
|
|
||||||
_nodeList[| i].topoSorted = false;
|
|
||||||
|
|
||||||
ds_list_clear(_list);
|
|
||||||
__sortGraph(_list, _nodeList);
|
|
||||||
} #endregion
|
|
||||||
|
|
||||||
function __renderListReset(list) { #region
|
function __renderListReset(list) { #region
|
||||||
for( var i = 0; i < ds_list_size(list); i++ ) {
|
for( var i = 0; i < ds_list_size(list); i++ ) {
|
||||||
list[| i].setRenderStatus(false);
|
list[| i].setRenderStatus(false);
|
||||||
|
@ -252,9 +259,9 @@ function __renderListReset(list) { #region
|
||||||
}
|
}
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
function RenderList(list, runAction = false) { #region
|
function RenderList(list) { #region
|
||||||
LOG_BLOCK_START();
|
LOG_BLOCK_START();
|
||||||
LOG_IF(global.FLAG.render == 1, "=============== RENDER LIST START ===============");
|
LOG_IF(global.FLAG.render == 1, $"=============== RENDER LIST START [{ds_list_size(list)}] ===============");
|
||||||
var queue = ds_queue_create();
|
var queue = ds_queue_create();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -295,7 +302,6 @@ function RenderList(list, runAction = false) { #region
|
||||||
LOG_IF(global.FLAG.render == 1, $"Rendering {rendering.internalName} ({rendering.display_name}) : {renderable? "Update" : "Pass"}");
|
LOG_IF(global.FLAG.render == 1, $"Rendering {rendering.internalName} ({rendering.display_name}) : {renderable? "Update" : "Pass"}");
|
||||||
|
|
||||||
if(renderable) {
|
if(renderable) {
|
||||||
if(runAction && rendering.hasInspector1Update()) rendering.inspector1Update();
|
|
||||||
rendering.doUpdate();
|
rendering.doUpdate();
|
||||||
|
|
||||||
var nextNodes = rendering.getNextNodes();
|
var nextNodes = rendering.getNextNodes();
|
||||||
|
|