This commit is contained in:
Tanasart 2022-12-27 10:00:50 +07:00
parent 55e5ae283a
commit efcf643382
269 changed files with 5781 additions and 3485 deletions

View file

@ -8,12 +8,12 @@
{"id":{"name":"node_time_remap","path":"scripts/node_time_remap/node_time_remap.yy",},"order":33,},
{"id":{"name":"sh_perlin","path":"shaders/sh_perlin/sh_perlin.yy",},"order":1,},
{"id":{"name":"sh_normal_light","path":"shaders/sh_normal_light/sh_normal_light.yy",},"order":0,},
{"id":{"name":"sh_scale3x","path":"shaders/sh_scale3x/sh_scale3x.yy",},"order":33,},
{"id":{"name":"sh_scale3x","path":"shaders/sh_scale3x/sh_scale3x.yy",},"order":31,},
{"id":{"name":"surface_functions","path":"scripts/surface_functions/surface_functions.yy",},"order":5,},
{"id":{"name":"s_node_normal","path":"sprites/s_node_normal/s_node_normal.yy",},"order":28,},
{"id":{"name":"buffer_surface","path":"scripts/buffer_surface/buffer_surface.yy",},"order":3,},
{"id":{"name":"node_pixel_sort","path":"scripts/node_pixel_sort/node_pixel_sort.yy",},"order":46,},
{"id":{"name":"sh_dither","path":"shaders/sh_dither/sh_dither.yy",},"order":32,},
{"id":{"name":"sh_dither","path":"shaders/sh_dither/sh_dither.yy",},"order":30,},
{"id":{"name":"control_function","path":"scripts/control_function/control_function.yy",},"order":0,},
{"id":{"name":"panel_data","path":"scripts/panel_data/panel_data.yy",},"order":0,},
{"id":{"name":"node_3d_obj","path":"scripts/node_3d_obj/node_3d_obj.yy",},"order":8,},
@ -29,10 +29,10 @@
{"id":{"name":"node_VFX_effect_wind","path":"scripts/node_VFX_effect_wind/node_VFX_effect_wind.yy",},"order":7,},
{"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},"order":3,},
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":6,},
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":36,},
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":34,},
{"id":{"name":"node_dither","path":"scripts/node_dither/node_dither.yy",},"order":11,},
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},"order":7,},
{"id":{"name":"sh_corner","path":"shaders/sh_corner/sh_corner.yy",},"order":23,},
{"id":{"name":"sh_corner","path":"shaders/sh_corner/sh_corner.yy",},"order":21,},
{"id":{"name":"node_array","path":"scripts/node_array/node_array.yy",},"order":8,},
{"id":{"name":"sh_colorize","path":"shaders/sh_colorize/sh_colorize.yy",},"order":5,},
{"id":{"name":"node_string","path":"scripts/node_string/node_string.yy",},"order":13,},
@ -42,19 +42,22 @@
{"id":{"name":"node_functions","path":"scripts/node_functions/node_functions.yy",},"order":2,},
{"id":{"name":"node_math","path":"scripts/node_math/node_math.yy",},"order":1,},
{"id":{"name":"array_functions","path":"scripts/array_functions/array_functions.yy",},"order":2,},
{"id":{"name":"sh_blur_final","path":"shaders/sh_blur_final/sh_blur_final.yy",},"order":3,},
{"id":{"name":"sh_blur_final","path":"shaders/sh_blur_final/sh_blur_final.yy",},"order":2,},
{"id":{"name":"s_node_colorize","path":"sprites/s_node_colorize/s_node_colorize.yy",},"order":13,},
{"id":{"name":"panel_preview","path":"scripts/panel_preview/panel_preview.yy",},"order":3,},
{"id":{"name":"s_node_sepearte_shape","path":"sprites/s_node_sepearte_shape/s_node_sepearte_shape.yy",},"order":33,},
{"id":{"name":"s_node_polar","path":"sprites/s_node_polar/s_node_polar.yy",},"order":5,},
{"id":{"name":"o_dialog_notifications","path":"objects/o_dialog_notifications/o_dialog_notifications.yy",},"order":28,},
{"id":{"name":"sh_flip","path":"shaders/sh_flip/sh_flip.yy",},"order":7,},
{"id":{"name":"s_node_alpha_grey","path":"sprites/s_node_alpha_grey/s_node_alpha_grey.yy",},"order":2,},
{"id":{"name":"node_blend","path":"scripts/node_blend/node_blend.yy",},"order":13,},
{"id":{"name":"node_blend","path":"scripts/node_blend/node_blend.yy",},"order":0,},
{"id":{"name":"s_node_level","path":"sprites/s_node_level/s_node_level.yy",},"order":26,},
{"id":{"name":"node_scatter","path":"scripts/node_scatter/node_scatter.yy",},"order":3,},
{"id":{"name":"s_node_bloom","path":"sprites/s_node_bloom/s_node_bloom.yy",},"order":6,},
{"id":{"name":"node_image","path":"scripts/node_image/node_image.yy",},"order":0,},
{"id":{"name":"s_node_flip","path":"sprites/s_node_flip/s_node_flip.yy",},"order":12,},
{"id":{"name":"s_node_vfx_render","path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},"order":1,},
{"id":{"name":"node_stack","path":"scripts/node_stack/node_stack.yy",},"order":2,},
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},"order":0,},
{"id":{"name":"sh_blend_max","path":"shaders/sh_blend_max/sh_blend_max.yy",},"order":8,},
{"id":{"name":"s_node_color_out","path":"sprites/s_node_color_out/s_node_color_out.yy",},"order":5,},
@ -63,34 +66,37 @@
{"id":{"name":"math_function","path":"scripts/math_function/math_function.yy",},"order":7,},
{"id":{"name":"scrollBox","path":"scripts/scrollBox/scrollBox.yy",},"order":13,},
{"id":{"name":"o_dialog_exit","path":"objects/o_dialog_exit/o_dialog_exit.yy",},"order":27,},
{"id":{"name":"node_flip","path":"scripts/node_flip/node_flip.yy",},"order":14,},
{"id":{"name":"node_gradient_points","path":"scripts/node_gradient_points/node_gradient_points.yy",},"order":20,},
{"id":{"name":"sh_combine_rgb","path":"shaders/sh_combine_rgb/sh_combine_rgb.yy",},"order":46,},
{"id":{"name":"colToVec4","path":"scripts/colToVec4/colToVec4.yy",},"order":0,},
{"id":{"name":"s_node_vfx","path":"sprites/s_node_vfx/s_node_vfx.yy",},"order":9,},
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
{"id":{"name":"blurSurface","path":"scripts/blurSurface/blurSurface.yy",},"order":0,},
{"id":{"name":"sh_cell_noise_edge","path":"shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy",},"order":5,},
{"id":{"name":"node_stripe","path":"scripts/node_stripe/node_stripe.yy",},"order":11,},
{"id":{"name":"sh_texture_atlas","path":"shaders/sh_texture_atlas/sh_texture_atlas.yy",},"order":0,},
{"id":{"name":"sh_texture_atlas","path":"shaders/sh_texture_atlas/sh_texture_atlas.yy",},"order":45,},
{"id":{"name":"s_node_displace","path":"sprites/s_node_displace/s_node_displace.yy",},"order":18,},
{"id":{"name":"sh_polar","path":"shaders/sh_polar/sh_polar.yy",},"order":1,},
{"id":{"name":"s_node_warp_mesh","path":"sprites/s_node_warp_mesh/s_node_warp_mesh.yy",},"order":10,},
{"id":{"name":"sh_pixel_cloud","path":"shaders/sh_pixel_cloud/sh_pixel_cloud.yy",},"order":13,},
{"id":{"name":"node_iterate","path":"scripts/node_iterate/node_iterate.yy",},"order":1,},
{"id":{"name":"sh_de_stray","path":"shaders/sh_de_stray/sh_de_stray.yy",},"order":16,},
{"id":{"name":"sh_chromatic_aberration","path":"shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy",},"order":35,},
{"id":{"name":"sh_chromatic_aberration","path":"shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy",},"order":33,},
{"id":{"name":"sh_cell_noise_round","path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},"order":9,},
{"id":{"name":"event_recorder","path":"scripts/event_recorder/event_recorder.yy",},"order":3,},
{"id":{"name":"s_node_noise_cell","path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},"order":10,},
{"id":{"name":"node_colorize","path":"scripts/node_colorize/node_colorize.yy",},"order":9,},
{"id":{"name":"s_node_color_adjust","path":"sprites/s_node_color_adjust/s_node_color_adjust.yy",},"order":1,},
{"id":{"name":"sh_channel_B","path":"shaders/sh_channel_B/sh_channel_B.yy",},"order":13,},
{"id":{"name":"sh_channel_B","path":"shaders/sh_channel_B/sh_channel_B.yy",},"order":1,},
{"id":{"name":"s_node_2d_light","path":"sprites/s_node_2d_light/s_node_2d_light.yy",},"order":0,},
{"id":{"name":"s_node_trail","path":"sprites/s_node_trail/s_node_trail.yy",},"order":38,},
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},"order":27,},
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},"order":25,},
{"id":{"name":"string_eval","path":"scripts/string_eval/string_eval.yy",},"order":0,},
{"id":{"name":"globals","path":"scripts/globals/globals.yy",},"order":1,},
{"id":{"name":"s_node_noise_perlin","path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},"order":11,},
{"id":{"name":"s_node_dithering","path":"sprites/s_node_dithering/s_node_dithering.yy",},"order":19,},
{"id":{"name":"s_node_HSV_combine","path":"sprites/s_node_HSV_combine/s_node_HSV_combine.yy",},"order":42,},
{"id":{"name":"node_normal_light","path":"scripts/node_normal_light/node_normal_light.yy",},"order":0,},
{"id":{"name":"o_dialog_release_note","path":"objects/o_dialog_release_note/o_dialog_release_note.yy",},"order":16,},
{"id":{"name":"panel_inspector","path":"scripts/panel_inspector/panel_inspector.yy",},"order":0,},
@ -99,6 +105,7 @@
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},"order":8,},
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":30,},
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":8,},
{"id":{"name":"s_node_HSV","path":"sprites/s_node_HSV/s_node_HSV.yy",},"order":44,},
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":1,},
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":2,},
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},"order":3,},
@ -116,7 +123,7 @@
{"id":{"name":"o_dialog_scrollbox","path":"objects/o_dialog_scrollbox/o_dialog_scrollbox.yy",},"order":2,},
{"id":{"name":"s_node_palette","path":"sprites/s_node_palette/s_node_palette.yy",},"order":9,},
{"id":{"name":"curve_damping_function","path":"scripts/curve_damping_function/curve_damping_function.yy",},"order":2,},
{"id":{"name":"sh_blur_box_contrast","path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},"order":24,},
{"id":{"name":"sh_blur_box_contrast","path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},"order":3,},
{"id":{"name":"node_color_from_rgb","path":"scripts/node_color_from_rgb/node_color_from_rgb.yy",},"order":5,},
{"id":{"name":"node_transform","path":"scripts/node_transform/node_transform.yy",},"order":0,},
{"id":{"name":"curveBox","path":"scripts/curveBox/curveBox.yy",},"order":8,},
@ -135,19 +142,19 @@
{"id":{"name":"s_node_curve","path":"sprites/s_node_curve/s_node_curve.yy",},"order":1,},
{"id":{"name":"sh_blend_normal","path":"shaders/sh_blend_normal/sh_blend_normal.yy",},"order":1,},
{"id":{"name":"node_feedback_output","path":"scripts/node_feedback_output/node_feedback_output.yy",},"order":2,},
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},"order":15,},
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},"order":4,},
{"id":{"name":"node_processor","path":"scripts/node_processor/node_processor.yy",},"order":8,},
{"id":{"name":"animation_controller","path":"scripts/animation_controller/animation_controller.yy",},"order":1,},
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},"order":34,},
{"id":{"name":"sh_zigzag","path":"shaders/sh_zigzag/sh_zigzag.yy",},"order":11,},
{"id":{"name":"sh_color_remove","path":"shaders/sh_color_remove/sh_color_remove.yy",},"order":26,},
{"id":{"name":"sh_color_remove","path":"shaders/sh_color_remove/sh_color_remove.yy",},"order":24,},
{"id":{"name":"s_node_blur","path":"sprites/s_node_blur/s_node_blur.yy",},"order":7,},
{"id":{"name":"textArea","path":"scripts/textArea/textArea.yy",},"order":20,},
{"id":{"name":"s_node_gradient_4points","path":"sprites/s_node_gradient_4points/s_node_gradient_4points.yy",},"order":2,},
{"id":{"name":"s_node_gradient_out","path":"sprites/s_node_gradient_out/s_node_gradient_out.yy",},"order":8,},
{"id":{"name":"s_node_vec3","path":"sprites/s_node_vec3/s_node_vec3.yy",},"order":7,},
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":6,},
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":17,},
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":5,},
{"id":{"name":"node_VFX_renderer","path":"scripts/node_VFX_renderer/node_VFX_renderer.yy",},"order":5,},
{"id":{"name":"s_node_invert","path":"sprites/s_node_invert/s_node_invert.yy",},"order":25,},
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":10,},
@ -169,7 +176,8 @@
{"id":{"name":"node_string_split","path":"scripts/node_string_split/node_string_split.yy",},"order":14,},
{"id":{"name":"node_surface_data","path":"scripts/node_surface_data/node_surface_data.yy",},"order":4,},
{"id":{"name":"load_palette","path":"scripts/load_palette/load_palette.yy",},"order":3,},
{"id":{"name":"sh_alpha_cutoff","path":"shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy",},"order":25,},
{"id":{"name":"sh_alpha_cutoff","path":"shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy",},"order":23,},
{"id":{"name":"node_combine_rgb","path":"scripts/node_combine_rgb/node_combine_rgb.yy",},"order":49,},
{"id":{"name":"checkbox","path":"scripts/checkbox/checkbox.yy",},"order":7,},
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},"order":12,},
{"id":{"name":"s_node_color_remove","path":"sprites/s_node_color_remove/s_node_color_remove.yy",},"order":6,},
@ -208,7 +216,7 @@
{"id":{"name":"node_crop","path":"scripts/node_crop/node_crop.yy",},"order":8,},
{"id":{"name":"buttonPalette","path":"scripts/buttonPalette/buttonPalette.yy",},"order":6,},
{"id":{"name":"s_node_wiggler","path":"sprites/s_node_wiggler/s_node_wiggler.yy",},"order":2,},
{"id":{"name":"sh_edge_detect","path":"shaders/sh_edge_detect/sh_edge_detect.yy",},"order":34,},
{"id":{"name":"sh_edge_detect","path":"shaders/sh_edge_detect/sh_edge_detect.yy",},"order":32,},
{"id":{"name":"s_node_area","path":"sprites/s_node_area/s_node_area.yy",},"order":0,},
{"id":{"name":"type_conversion","path":"scripts/type_conversion/type_conversion.yy",},"order":8,},
{"id":{"name":"node_keyframe","path":"scripts/node_keyframe/node_keyframe.yy",},"order":4,},
@ -222,9 +230,10 @@
{"id":{"name":"draw_sprite_ext_override","path":"scripts/draw_sprite_ext_override/draw_sprite_ext_override.yy",},"order":9,},
{"id":{"name":"node_array_add","path":"scripts/node_array_add/node_array_add.yy",},"order":9,},
{"id":{"name":"node_noise_cell","path":"scripts/node_noise_cell/node_noise_cell.yy",},"order":2,},
{"id":{"name":"sh_combine_hsv","path":"shaders/sh_combine_hsv/sh_combine_hsv.yy",},"order":47,},
{"id":{"name":"node_noise","path":"scripts/node_noise/node_noise.yy",},"order":17,},
{"id":{"name":"mtl_reader","path":"scripts/mtl_reader/mtl_reader.yy",},"order":6,},
{"id":{"name":"sh_scale2x","path":"shaders/sh_scale2x/sh_scale2x.yy",},"order":31,},
{"id":{"name":"sh_scale2x","path":"shaders/sh_scale2x/sh_scale2x.yy",},"order":29,},
{"id":{"name":"ds_priority","path":"scripts/ds_priority/ds_priority.yy",},"order":3,},
{"id":{"name":"node_vector","path":"scripts/node_vector/node_vector.yy",},"order":0,},
{"id":{"name":"node_palette","path":"scripts/node_palette/node_palette.yy",},"order":2,},
@ -249,14 +258,15 @@
{"id":{"name":"node_color_remove","path":"scripts/node_color_remove/node_color_remove.yy",},"order":38,},
{"id":{"name":"s_node_grid","path":"sprites/s_node_grid/s_node_grid.yy",},"order":3,},
{"id":{"name":"node_perlin","path":"scripts/node_perlin/node_perlin.yy",},"order":1,},
{"id":{"name":"node_blur_simple","path":"scripts/node_blur_simple/node_blur_simple.yy",},"order":48,},
{"id":{"name":"node_feedback_input","path":"scripts/node_feedback_input/node_feedback_input.yy",},"order":1,},
{"id":{"name":"o_dialog_add_multiple_images","path":"objects/o_dialog_add_multiple_images/o_dialog_add_multiple_images.yy",},"order":0,},
{"id":{"name":"assets_data","path":"scripts/assets_data/assets_data.yy",},"order":0,},
{"id":{"name":"sh_color_adjust","path":"shaders/sh_color_adjust/sh_color_adjust.yy",},"order":2,},
{"id":{"name":"surface_get_palette","path":"scripts/surface_get_palette/surface_get_palette.yy",},"order":2,},
{"id":{"name":"sh_pixel_sort","path":"shaders/sh_pixel_sort/sh_pixel_sort.yy",},"order":41,},
{"id":{"name":"sh_pixel_sort","path":"shaders/sh_pixel_sort/sh_pixel_sort.yy",},"order":38,},
{"id":{"name":"s_node_vfx_destroy","path":"sprites/s_node_vfx_destroy/s_node_vfx_destroy.yy",},"order":7,},
{"id":{"name":"sh_texture_remap","path":"shaders/sh_texture_remap/sh_texture_remap.yy",},"order":28,},
{"id":{"name":"sh_texture_remap","path":"shaders/sh_texture_remap/sh_texture_remap.yy",},"order":26,},
{"id":{"name":"ds_list","path":"scripts/ds_list/ds_list.yy",},"order":1,},
{"id":{"name":"o_dialog_gradient","path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},"order":1,},
{"id":{"name":"sh_blend_subtract","path":"shaders/sh_blend_subtract/sh_blend_subtract.yy",},"order":5,},
@ -264,10 +274,11 @@
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},"order":4,},
{"id":{"name":"sh_gradient","path":"shaders/sh_gradient/sh_gradient.yy",},"order":17,},
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},"order":18,},
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},"order":39,},
{"id":{"name":"sh_clean_shape","path":"shaders/sh_clean_shape/sh_clean_shape.yy",},"order":42,},
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":22,},
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},"order":36,},
{"id":{"name":"sh_clean_shape","path":"shaders/sh_clean_shape/sh_clean_shape.yy",},"order":39,},
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":20,},
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":3,},
{"id":{"name":"s_node_blur_simple","path":"sprites/s_node_blur_simple/s_node_blur_simple.yy",},"order":41,},
{"id":{"name":"node_VFX_spawner","path":"scripts/node_VFX_spawner/node_VFX_spawner.yy",},"order":2,},
{"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,},
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
@ -291,11 +302,11 @@
{"id":{"name":"o_dialog_graph_grid","path":"objects/o_dialog_graph_grid/o_dialog_graph_grid.yy",},"order":3,},
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},"order":1,},
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},"order":2,},
{"id":{"name":"sh_invert","path":"shaders/sh_invert/sh_invert.yy",},"order":29,},
{"id":{"name":"sh_invert","path":"shaders/sh_invert/sh_invert.yy",},"order":27,},
{"id":{"name":"save_function","path":"scripts/save_function/save_function.yy",},"order":0,},
{"id":{"name":"node_perlin_smear","path":"scripts/node_perlin_smear/node_perlin_smear.yy",},"order":6,},
{"id":{"name":"node_alpha_cutoff","path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",},"order":37,},
{"id":{"name":"sh_channel_R","path":"shaders/sh_channel_R/sh_channel_R.yy",},"order":11,},
{"id":{"name":"sh_channel_R","path":"shaders/sh_channel_R/sh_channel_R.yy",},"order":4,},
{"id":{"name":"draw_circle_border","path":"scripts/draw_circle_border/draw_circle_border.yy",},"order":3,},
{"id":{"name":"sliderRange","path":"scripts/sliderRange/sliderRange.yy",},"order":16,},
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
@ -308,7 +319,8 @@
{"id":{"name":"s_node_vfx_output","path":"sprites/s_node_vfx_output/s_node_vfx_output.yy",},"order":11,},
{"id":{"name":"sh_greyscale","path":"shaders/sh_greyscale/sh_greyscale.yy",},"order":6,},
{"id":{"name":"node_global","path":"scripts/node_global/node_global.yy",},"order":3,},
{"id":{"name":"sh_outline","path":"shaders/sh_outline/sh_outline.yy",},"order":20,},
{"id":{"name":"s_node_draw_stack","path":"sprites/s_node_draw_stack/s_node_draw_stack.yy",},"order":4,},
{"id":{"name":"sh_outline","path":"shaders/sh_outline/sh_outline.yy",},"order":19,},
{"id":{"name":"node_checkerboard","path":"scripts/node_checkerboard/node_checkerboard.yy",},"order":13,},
{"id":{"name":"node_gradient_output","path":"scripts/node_gradient_output/node_gradient_output.yy",},"order":3,},
{"id":{"name":"display_refresh","path":"scripts/display_refresh/display_refresh.yy",},"order":17,},
@ -327,6 +339,7 @@
{"id":{"name":"node_shadow","path":"scripts/node_shadow/node_shadow.yy",},"order":17,},
{"id":{"name":"s_node_color_data","path":"sprites/s_node_color_data/s_node_color_data.yy",},"order":2,},
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":4,},
{"id":{"name":"sh_channel_A","path":"shaders/sh_channel_A/sh_channel_A.yy",},"order":0,},
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
{"id":{"name":"s_node_feedback","path":"sprites/s_node_feedback/s_node_feedback.yy",},"order":3,},
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},"order":1,},
@ -354,7 +367,7 @@
{"id":{"name":"s_node_skew","path":"sprites/s_node_skew/s_node_skew.yy",},"order":11,},
{"id":{"name":"s_node_feedback_input","path":"sprites/s_node_feedback_input/s_node_feedback_input.yy",},"order":10,},
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":8,},
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":19,},
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":18,},
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":15,},
{"id":{"name":"sh_alpha_grey","path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},"order":9,},
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},"order":1,},
@ -373,7 +386,7 @@
{"id":{"name":"lerp_float","path":"scripts/lerp_float/lerp_float.yy",},"order":1,},
{"id":{"name":"vectorRangeBox","path":"scripts/vectorRangeBox/vectorRangeBox.yy",},"order":19,},
{"id":{"name":"sh_draw_vertex_aa","path":"shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy",},"order":0,},
{"id":{"name":"sh_outline_only","path":"shaders/sh_outline_only/sh_outline_only.yy",},"order":40,},
{"id":{"name":"sh_outline_only","path":"shaders/sh_outline_only/sh_outline_only.yy",},"order":37,},
{"id":{"name":"s_node_destray","path":"sprites/s_node_destray/s_node_destray.yy",},"order":16,},
{"id":{"name":"node_color_sampler","path":"scripts/node_color_sampler/node_color_sampler.yy",},"order":1,},
{"id":{"name":"ase_reader","path":"scripts/ase_reader/ase_reader.yy",},"order":1,},
@ -403,12 +416,13 @@
{"id":{"name":"_f_p3","path":"fonts/_f_p3/_f_p3.yy",},"order":7,},
{"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},"order":1,},
{"id":{"name":"draw_rect_border","path":"scripts/draw_rect_border/draw_rect_border.yy",},"order":6,},
{"id":{"name":"node_composite","path":"scripts/node_composite/node_composite.yy",},"order":4,},
{"id":{"name":"node_composite","path":"scripts/node_composite/node_composite.yy",},"order":1,},
{"id":{"name":"s_node_greyscale","path":"sprites/s_node_greyscale/s_node_greyscale.yy",},"order":24,},
{"id":{"name":"sh_dilate","path":"shaders/sh_dilate/sh_dilate.yy",},"order":4,},
{"id":{"name":"node_image_sequence","path":"scripts/node_image_sequence/node_image_sequence.yy",},"order":1,},
{"id":{"name":"s_menu_transparent","path":"sprites/s_menu_transparent/s_menu_transparent.yy",},"order":0,},
{"id":{"name":"key_press","path":"scripts/key_press/key_press.yy",},"order":0,},
{"id":{"name":"curve_power_function","path":"scripts/curve_power_function/curve_power_function.yy",},"order":3,},
{"id":{"name":"sh_mirror","path":"shaders/sh_mirror/sh_mirror.yy",},"order":0,},
{"id":{"name":"sh_cell_noise_random","path":"shaders/sh_cell_noise_random/sh_cell_noise_random.yy",},"order":6,},
{"id":{"name":"node_iterator_input","path":"scripts/node_iterator_input/node_iterator_input.yy",},"order":2,},
@ -420,7 +434,7 @@
{"id":{"name":"node_array_length","path":"scripts/node_array_length/node_array_length.yy",},"order":11,},
{"id":{"name":"node_erode","path":"scripts/node_erode/node_erode.yy",},"order":31,},
{"id":{"name":"node_wrap_mesh","path":"scripts/node_wrap_mesh/node_wrap_mesh.yy",},"order":7,},
{"id":{"name":"sh_blur_alpha","path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},"order":2,},
{"id":{"name":"sh_blur_alpha","path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},"order":1,},
{"id":{"name":"node_sprite_sheet","path":"scripts/node_sprite_sheet/node_sprite_sheet.yy",},"order":0,},
{"id":{"name":"value_snap","path":"scripts/value_snap/value_snap.yy",},"order":10,},
{"id":{"name":"compat_path_array","path":"scripts/compat_path_array/compat_path_array.yy",},"order":0,},
@ -450,7 +464,9 @@
{"id":{"name":"node_anim_priority","path":"scripts/node_anim_priority/node_anim_priority.yy",},"order":2,},
{"id":{"name":"s_texture_default","path":"sprites/s_texture_default/s_texture_default.yy",},"order":1,},
{"id":{"name":"directory_object","path":"scripts/directory_object/directory_object.yy",},"order":3,},
{"id":{"name":"node_combine_hsv","path":"scripts/node_combine_hsv/node_combine_hsv.yy",},"order":50,},
{"id":{"name":"node_dilate","path":"scripts/node_dilate/node_dilate.yy",},"order":34,},
{"id":{"name":"node_channels_hsv","path":"scripts/node_channels_hsv/node_channels_hsv.yy",},"order":47,},
{"id":{"name":"sh_stripe","path":"shaders/sh_stripe/sh_stripe.yy",},"order":10,},
{"id":{"name":"sh_blend_contrast","path":"shaders/sh_blend_contrast/sh_blend_contrast.yy",},"order":16,},
{"id":{"name":"node_3d_prim_cube","path":"scripts/node_3d_prim_cube/node_3d_prim_cube.yy",},"order":5,},
@ -490,7 +506,7 @@
{"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},"order":10,},
{"id":{"name":"node_skew","path":"scripts/node_skew/node_skew.yy",},"order":12,},
{"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},"order":3,},
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},"order":38,},
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},"order":35,},
{"id":{"name":"path_parser","path":"scripts/path_parser/path_parser.yy",},"order":3,},
{"id":{"name":"s_node_unicode","path":"sprites/s_node_unicode/s_node_unicode.yy",},"order":15,},
{"id":{"name":"s_node_color_from_hsv","path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},"order":3,},
@ -503,13 +519,15 @@
{"id":{"name":"s_node_image_sequence_to_anim","path":"sprites/s_node_image_sequence_to_anim/s_node_image_sequence_to_anim.yy",},"order":9,},
{"id":{"name":"_node_VFX_spawner","path":"scripts/_node_VFX_spawner/_node_VFX_spawner.yy",},"order":15,},
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},"order":8,},
{"id":{"name":"s_node_RGB_combine","path":"sprites/s_node_RGB_combine/s_node_RGB_combine.yy",},"order":43,},
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},"order":4,},
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},"order":3,},
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},"order":32,},
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},"order":0,},
{"id":{"name":"node_grey_to_alpha","path":"scripts/node_grey_to_alpha/node_grey_to_alpha.yy",},"order":23,},
{"id":{"name":"sh_blend_add","path":"shaders/sh_blend_add/sh_blend_add.yy",},"order":7,},
{"id":{"name":"node_de_stray","path":"scripts/node_de_stray/node_de_stray.yy",},"order":27,},
{"id":{"name":"sh_channel_G","path":"shaders/sh_channel_G/sh_channel_G.yy",},"order":12,},
{"id":{"name":"sh_channel_G","path":"shaders/sh_channel_G/sh_channel_G.yy",},"order":2,},
{"id":{"name":"s_node_dilate","path":"sprites/s_node_dilate/s_node_dilate.yy",},"order":17,},
{"id":{"name":"node_collection","path":"scripts/node_collection/node_collection.yy",},"order":0,},
{"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},"order":6,},
@ -518,14 +536,16 @@
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},"order":2,},
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},"order":19,},
{"id":{"name":"_f_p2","path":"fonts/_f_p2/_f_p2.yy",},"order":4,},
{"id":{"name":"sh_lum2alpha","path":"shaders/sh_lum2alpha/sh_lum2alpha.yy",},"order":43,},
{"id":{"name":"button","path":"scripts/button/button.yy",},"order":2,},
{"id":{"name":"node_VFX_effector","path":"scripts/node_VFX_effector/node_VFX_effector.yy",},"order":8,},
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},"order":1,},
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},"order":0,},
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":1,},
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":5,},
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},"order":9,},
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},"order":1,},
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},"order":0,},
{"id":{"name":"sh_blur_simple","path":"shaders/sh_blur_simple/sh_blur_simple.yy",},"order":6,},
{"id":{"name":"s_node_image_animation","path":"sprites/s_node_image_animation/s_node_image_animation.yy",},"order":5,},
{"id":{"name":"s_node_feedback_output","path":"sprites/s_node_feedback_output/s_node_feedback_output.yy",},"order":9,},
{"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},"order":7,},
@ -535,16 +555,17 @@
{"id":{"name":"node_level","path":"scripts/node_level/node_level.yy",},"order":12,},
{"id":{"name":"o_dialog_warning","path":"objects/o_dialog_warning/o_dialog_warning.yy",},"order":14,},
{"id":{"name":"s_node_group_output","path":"sprites/s_node_group_output/s_node_group_output.yy",},"order":15,},
{"id":{"name":"sh_channel_S","path":"shaders/sh_channel_S/sh_channel_S.yy",},"order":5,},
{"id":{"name":"string_scale","path":"scripts/string_scale/string_scale.yy",},"order":6,},
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":4,},
{"id":{"name":"node_value_processor","path":"scripts/node_value_processor/node_value_processor.yy",},"order":7,},
{"id":{"name":"__node_value_processor","path":"scripts/__node_value_processor/__node_value_processor.yy",},"order":7,},
{"id":{"name":"s_node_group_input","path":"sprites/s_node_group_input/s_node_group_input.yy",},"order":16,},
{"id":{"name":"sample_projects","path":"scripts/sample_projects/sample_projects.yy",},"order":5,},
{"id":{"name":"load_function","path":"scripts/load_function/load_function.yy",},"order":2,},
{"id":{"name":"ds_map","path":"scripts/ds_map/ds_map.yy",},"order":0,},
{"id":{"name":"s_node_3d_transform","path":"sprites/s_node_3d_transform/s_node_3d_transform.yy",},"order":4,},
{"id":{"name":"s_node_output","path":"sprites/s_node_output/s_node_output.yy",},"order":7,},
{"id":{"name":"sh_atlas","path":"shaders/sh_atlas/sh_atlas.yy",},"order":30,},
{"id":{"name":"sh_atlas","path":"shaders/sh_atlas/sh_atlas.yy",},"order":28,},
{"id":{"name":"node_3d_extrude","path":"scripts/node_3d_extrude/node_3d_extrude.yy",},"order":9,},
{"id":{"name":"node_scale","path":"scripts/node_scale/node_scale.yy",},"order":9,},
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},"order":5,},
@ -568,6 +589,7 @@
{"id":{"name":"s_node_color_replace","path":"sprites/s_node_color_replace/s_node_color_replace.yy",},"order":7,},
{"id":{"name":"draw_surface_functions","path":"scripts/draw_surface_functions/draw_surface_functions.yy",},"order":4,},
{"id":{"name":"sh_mask","path":"shaders/sh_mask/sh_mask.yy",},"order":36,},
{"id":{"name":"sh_channel_V","path":"shaders/sh_channel_V/sh_channel_V.yy",},"order":6,},
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},"order":21,},
{"id":{"name":"shell_helper","path":"scripts/shell_helper/shell_helper.yy",},"order":20,},
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},"order":15,},
@ -650,6 +672,7 @@
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3D","folderPath":"folders/nodes/data/3D.yy","order":7,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/nodes/data/animation.yy","order":5,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/nodes/data/color.yy","order":9,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compose","folderPath":"folders/nodes/data/compose.yy","order":15,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"feedback","folderPath":"folders/nodes/data/feedback.yy","order":14,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/data/filter.yy","order":1,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/nodes/data/generator.yy","order":4,},
@ -681,6 +704,7 @@
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3d","folderPath":"folders/shader/3d.yy","order":29,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blend","folderPath":"folders/shader/blend.yy","order":18,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blur","folderPath":"folders/shader/blur.yy","order":38,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"channels","folderPath":"folders/shader/channels.yy","order":42,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/shader/draw.yy","order":39,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/shader/filter.yy","order":30,},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/shader/generator.yy","order":19,},
@ -817,7 +841,6 @@
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_reset_when_preview_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_minus_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_processor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_padding_link_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_delete_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_circle_12.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_scroll_box_arrow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
@ -890,7 +913,6 @@
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_menu_separator.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_panel_active_split.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_resize.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_frame_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_prop_gradient_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_text_valign_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
@ -916,7 +938,6 @@
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"A9Rwvus4g_1fk5bwb_iqs.tmp","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_checkbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_bg_name.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_area_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
@ -949,15 +970,21 @@
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_single_hover.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_hover.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_vfx.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"anchor_arrow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Collections.zip","CopyToMask":-1,"filePath":"datafiles/data",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_tick.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Assets.zip","CopyToMask":-1,"filePath":"datafiles/data",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_resize.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_feedback_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_unit_ref.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_padding_link_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_new_badge.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
],
"MetaData": {
"IDEVersion": "2022.11.1.56",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -256,6 +256,13 @@
"yorigin": 64,
"slice": null
},
"feedback": {
"path": "./icon/s_feedback_16.png",
"subimages": 1,
"xorigin": 16,
"yorigin": 16,
"slice": null
},
"loop": {
"path": "./icon/s_loop_16.png",
"subimages": 1,
@ -263,6 +270,13 @@
"yorigin": 16,
"slice": null
},
"unit_ref": {
"path": "./icon/s_unit_ref.png",
"subimages": 2,
"xorigin": 20,
"yorigin": 20,
"slice": null
},
"vfx": {
"path": "./icon/s_vfx.png",
"subimages": 1,
@ -284,7 +298,7 @@
"yorigin": 16,
"slice": null
},
"padding_link": {
"value_link": {
"path": "./icon/s_padding_link_strip2.png",
"subimages": 2,
"xorigin": 24,
@ -521,6 +535,13 @@
"yorigin": 16,
"slice": null
},
"node_new_badge": {
"path": "./node/s_node_new_badge.png",
"subimages": 1,
"xorigin": 36,
"yorigin": 18,
"slice": null
},
"node_pin_bg": {
"path": "./node/s_node_pin.png",
"subimages": 1,
@ -626,7 +647,7 @@
}
},
"node_resize": {
"path": "./node/s_node_resize.png",
"path": "./icon/s_node_resize.png",
"subimages": 1,
"xorigin": 16,
"yorigin": 16,

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 982 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

View file

@ -25,7 +25,7 @@ event_inherited();
var yy = _y;
draw_clear_alpha(COLORS.dialog_about_bg, 0);
BLEND_ADD
BLEND_OVER
draw_set_font(f_p2);
draw_set_color(COLORS._main_text_sub);
draw_text(cx, yy, "Special Thanks");

View file

@ -167,7 +167,7 @@ event_inherited();
var _nx = grid_space + (grid_width + grid_space) * j;
var _boxx = _nx + (grid_width - grid_size) / 2;
BLEND_ADD
BLEND_OVER
draw_sprite_stretched(THEME.node_bg, 0, _boxx, yy, grid_size, grid_size);
BLEND_NORMAL
@ -181,7 +181,10 @@ event_inherited();
var spr_y = yy + grid_size / 2;
if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr))
draw_sprite_ui_uniform(_node.spr, 0, spr_x, spr_y);
if(_node.new_node)
draw_sprite_ui_uniform(THEME.node_new_badge, 0, _boxx + grid_size - ui(12), yy + ui(6));
draw_set_text(f_p2, fa_center, fa_top, COLORS._main_text);
name_height = max(name_height, string_height_ext(_node.name, -1, grid_width) + 8);
draw_text_ext_add(_boxx + grid_size / 2, yy + grid_size + 4, _node.name, -1, grid_width);
@ -202,7 +205,7 @@ event_inherited();
if(!_node) continue;
if(i % 2) {
BLEND_ADD
BLEND_OVER
draw_sprite_stretched_ext(THEME.node_bg, 0, ui(4), yy, list_width - ui(8), list_height, c_white, 0.2);
BLEND_NORMAL
}
@ -212,7 +215,7 @@ event_inherited();
if(mouse_press(mb_left, sFOCUS))
buildNode(_node);
}
var spr_x = list_height / 2 + ui(14);
var spr_y = yy + list_height / 2;
if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr)) {
@ -220,8 +223,15 @@ event_inherited();
draw_sprite_ext(_node.spr, 0, spr_x, spr_y, ss, ss, 0, c_white, 1);
}
var tx = list_height + ui(20);
if(_node.new_node) {
draw_sprite_ui_uniform(THEME.node_new_badge, 0, tx + ui(16), yy + list_height / 2 + ui(1));
tx += ui(40);
}
draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text);
draw_text_add(list_height + ui(20), yy + list_height / 2, _node.name);
draw_text_add(tx, yy + list_height / 2, _node.name);
yy += list_height;
hh += list_height;
@ -269,6 +279,7 @@ event_inherited();
var cnt = PANEL_GRAPH.getCurrentContext();
var context = cnt == -1? "" : instanceof(cnt);
var search_lower = string_lower(search_string);
var search_map = ds_map_create();
for(var i = 0; i < ds_list_size(NODE_CATEGORY); i++) {
var cat = NODE_CATEGORY[| i];
@ -281,20 +292,26 @@ event_inherited();
var _node = _content[| j];
if(!_node) continue;
if(ds_map_exists(search_map, _node.node)) continue;
var match = string_pos(search_lower, string_lower(_node.name)) > 0;
var param = "";
for( var k = 0; k < array_length(_node.tags); k++ ) {
if(string_pos(search_lower, _node.tags[k]) > 0) {
match = true;
param = _node.tags[k];
}
if(string_pos(search_lower, _node.tags[k]) == 0)
continue;
match = true;
param = _node.tags[k];
}
if(match)
ds_list_add(search_list, [_node, param]);
if(!match) continue;
ds_list_add(search_list, [_node, param]);
search_map[? _node.node] = 1;
}
}
ds_map_destroy(search_map);
searchCollection(search_list, search_string, false);
}
@ -328,7 +345,7 @@ event_inherited();
var _nx = grid_space + (grid_width + grid_space) * index;
var _boxx = _nx + (grid_width - grid_size) / 2;
BLEND_ADD
BLEND_OVER
if(is_array(s_res))
draw_sprite_stretched(THEME.node_bg, 0, _boxx, yy, grid_size, grid_size);
else
@ -351,7 +368,7 @@ event_inherited();
draw_sprite_ext(_node.spr, _si, _sx, _sy, _ss, _ss, 0, c_white, 1);
}
draw_set_text(f_p2, fa_center, fa_top, COLORS._main_text);
var txt = _node.name;
name_height = max(name_height, string_height_ext(txt, -1, grid_width) + ui(8));
@ -396,7 +413,7 @@ event_inherited();
_node = s_res;
if(i % 2) {
BLEND_ADD
BLEND_OVER
draw_sprite_stretched_ext(THEME.node_bg, 0, ui(4), yy, list_width - ui(8), list_height, c_white, 0.2);
BLEND_NORMAL
}

View file

@ -75,7 +75,7 @@ event_inherited();
var content = contents[| index];
var xx = grid_space + (grid_size + grid_space) * j;
BLEND_ADD
BLEND_OVER
draw_sprite_stretched(THEME.node_bg, 0, xx, yy, grid_size, grid_size);
BLEND_NORMAL

View file

@ -13,7 +13,7 @@ event_inherited();
sp_note = new scrollPane(dialog_w - ui(80), dialog_h - ui(88), function(_y, _m) {
draw_clear_alpha(COLORS.panel_bg_clear, 0);
BLEND_ADD
BLEND_OVER
var yy = 0;
var txt = note;

View file

@ -3,19 +3,14 @@
if(TOOLTIP != "") {
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text);
var mx = mouse_mx + ui(16);
var my = mouse_my + ui(16);
var tw = string_width(TOOLTIP);
var th = string_height(TOOLTIP);
if(mouse_mx + tw + ui(16) > WIN_W)
mx = max(0, mouse_mx - ui(16) - tw);
if(mouse_my + th + ui(16) > WIN_H)
my = max(mouse_my - ui(16) - th);
var mx = min(mouse_mx + ui(16), WIN_W - (tw + ui(16)));
var my = min(mouse_my + ui(16), WIN_H - (th + ui(16)));
draw_sprite_stretched(THEME.textbox, 0, mx - ui(8), my - ui(8), tw + ui(16), th + ui(16));
draw_text(mx, my, TOOLTIP);
draw_sprite_stretched(THEME.textbox, 0, mx, my, tw + ui(16), th + ui(16));
draw_text(mx + ui(8), my + ui(8), TOOLTIP);
}
TOOLTIP = "";
#endregion

View file

@ -104,19 +104,21 @@
MOUSE_WRAPPING = max(0, MOUSE_WRAPPING - 1);
if(MOUSE_WRAP) {
if(mouse_x < 0) {
window_mouse_set(window_get_width(), mouse_y);
var _pad = 2;
if(mouse_x < _pad) {
window_mouse_set(window_get_width() - _pad, mouse_y);
MOUSE_WRAPPING = 2;
} else if(mouse_x > window_get_width()) {
window_mouse_set(0, mouse_y);
} else if(mouse_x > window_get_width() - _pad) {
window_mouse_set(_pad, mouse_y);
MOUSE_WRAPPING = 2;
}
if(mouse_y < 0) {
window_mouse_set(mouse_x, window_get_height());
if(mouse_y < _pad) {
window_mouse_set(mouse_x, window_get_height() - _pad);
MOUSE_WRAPPING = 2;
} else if(mouse_y > window_get_height()) {
window_mouse_set(mouse_x, 0);
} else if(mouse_y > window_get_height() - _pad) {
window_mouse_set(mouse_x, _pad);
MOUSE_WRAPPING = 2;
}
}

View file

@ -2,9 +2,9 @@
"resourceType": "GMWindowsOptions",
"resourceVersion": "1.1",
"name": "Windows",
"option_windows_display_name": "Pixel Composer 1.0.6",
"option_windows_executable_name": "${project_name} 1.0.6.exe",
"option_windows_version": "1.0.6.0",
"option_windows_display_name": "Pixel Composer 1.0.7",
"option_windows_executable_name": "${project_name} 1.0.7.exe",
"option_windows_version": "1.0.7.0",
"option_windows_company_info": "MakhamDev",
"option_windows_product_info": "Pixel Composer",
"option_windows_copyright_info": "",

View file

@ -0,0 +1,69 @@
/*
function Node_Processor(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
array_process = ARRAY_PROCESS.loop;
process_amount = 0;
inputs_data = [];
function process_data(_output, _data, _index) { return noone; }
function preProcess(_outindex) {
var _out = outputs[| _outindex].getValue();
if(process_amount == 0) //render single data
return process_data(_out, inputs_data, _outindex);
if(!is_array(_out))
_out = array_create(process_amount);
else if(array_length(_out) != process_amount)
array_resize(_out, process_amount);
var _data = array_create(ds_list_size(inputs));
for(var l = 0; l < process_amount; l++) {
for(var i = 0; i < ds_list_size(inputs); i++) { //input prepare
var _in = inputs_data[i];
if(!inputs[| i].isArray(_in)) {
_data[i] = inputs_data[i];
continue;
}
if(array_length(_in) == 0) {
_data[i] = 0;
continue;
}
var _index = 0;
switch(array_process) {
case ARRAY_PROCESS.loop : _index = safe_mod(l, array_length(_in)); break;
case ARRAY_PROCESS.hold : _index = min(l, array_length(_in) - 1); break;
}
_data[i] = _in[_index];
}
_out[l] = process_data(_out[l], _data, _outindex);
}
return _out;
}
static update = function() {
process_amount = 0;
inputs_data = array_create(ds_list_size(inputs));
for(var i = 0; i < ds_list_size(inputs); i++) { //pre-collect current input data
inputs_data[i] = inputs[| i].getValue();
if(!is_array(inputs_data[i])) continue;
if(array_length(inputs_data[i]) == 0) continue;
if(!inputs[| i].isArray(inputs_data[i])) continue;
if(typeArray(inputs[| i].display_type)) {
process_amount = max(process_amount, array_length(inputs_data[i][0]));
} else
process_amount = max(process_amount, array_length(inputs_data[i]));
}
for(var i = 0; i < ds_list_size(outputs); i++) {
outputs[| i].setValue(preProcess(i));
}
}
}

View file

@ -1,7 +1,7 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_value_processor",
"name": "__node_value_processor",
"isDnD": false,
"isCompatibility": false,
"parent": {

View file

@ -3,8 +3,9 @@ enum AREA_SHAPE {
elipse
}
function areaBox(_onModify) constructor {
function areaBox(_onModify, _unit = noone) constructor {
onModify = _onModify;
unit = _unit;
onSurfaceSize = -1;
active = false;
@ -46,8 +47,15 @@ function areaBox(_onModify) constructor {
tb[0].draw(_x - ui(56) - ui(48), _y - ui(28), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 0), _m);
tb[1].draw(_x + ui(56) - ui(48), _y - ui(28), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
tb[2].draw(_x - ui(36), _y + ui(64 + 48 + 8), ui(64), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
tb[3].draw(_x + ui(64), _y + ui(64 - 16), ui(64), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
tb[2].draw(_x - ui(48), _y + ui(64 + 48 + 8), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
tb[3].draw(_x + ui(68), _y + ui(64 - 16), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
if(unit != noone && unit.reference != noone) {
unit.triggerButton.hover = hover;
unit.triggerButton.active = active;
unit.draw(_x + ui(56 + 48 + 8), _y - ui(28), ui(32), ui(32), _m);
}
active = false;
hover = false;

View file

@ -1,10 +1,13 @@
function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp_border = false) {
function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp_border = false, mask = noone) {
static uni_bor = shader_get_uniform(sh_blur_gaussian, "clamp_border");
static uni_dim = shader_get_uniform(sh_blur_gaussian, "dimension");
static uni_hor = shader_get_uniform(sh_blur_gaussian, "horizontal");
static uni_wei = shader_get_uniform(sh_blur_gaussian, "weight");
static uni_sze = shader_get_uniform(sh_blur_gaussian, "size");
static uni_umk = shader_get_uniform(sh_blur_gaussian, "useMask");
static uni_msk = shader_get_sampler_index(sh_blur_gaussian, "mask");
var hori = surface_create_valid(surface_get_width(surface), surface_get_height(surface));
var vert = surface_create_valid(surface_get_width(surface), surface_get_height(surface));
@ -33,6 +36,9 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp
shader_set_uniform_i(uni_sze, size);
shader_set_uniform_i(uni_hor, 1);
shader_set_uniform_i(uni_umk, is_surface(mask));
texture_set_stage(uni_msk, surface_get_texture(mask));
draw_surface_safe(surface, 0, 0);
shader_reset();
surface_reset_target();

View file

@ -24,7 +24,7 @@ function bezier_range(c0, c1, c2, c3) {
return [ min(c0, c1, c2, c3), max(c0, c1, c2, c3) ];
}
function bezier_interpol_x(a, b, t, iteration = 16) {
function bezier_interpol_x(a, b, t, iteration = 10) {
var fx, _x = 0.5, _x1, slope;
repeat(iteration) {
fx = (3 * a - 3 * b + 1) * _x * _x * _x
@ -41,8 +41,12 @@ function bezier_interpol_x(a, b, t, iteration = 16) {
return 3 * (1 - _x) * _x * _x + _x * _x * _x;
}
function ease_bezier(t, a, b) {
return 3 * power(1 - t, 2) * t * a + 3 * (1 - t) * power(t, 2) * b + power(t, 3);
}
function ease_cubic_in(rat) {
return rat * rat * rat;
return power(rat, 3);
}
function ease_cubic_out(rat) {
return 1 - power(1 - rat, 3);

View file

@ -44,7 +44,7 @@ function ease_damp_in(rat, amount) {
var c1 = amount;
var c3 = c1 + 1;
return c3 * rat * rat * rat - c1 * rat * rat;
return c3 * power(rat, 3) - c1 * power(rat, 2);
}
function ease_damp_out(rat, amount) {
var c1 = amount;

View file

@ -0,0 +1,23 @@
function draw_line_power(x0, y0, _w, _h, c0, c1, c2, c3) {
static SAMPLE = 32;
var _oy;
for(var i = 0; i <= SAMPLE; i++) {
var t = i / SAMPLE;
var _ry = eval_bezier_cubic(t, c0, c1, c2, c3);
var _ny = (_h? _ry : 1 - _ry) * abs(_h) + y0;
if(i) draw_line((i - 1) / SAMPLE * _w + x0, _oy, t * _w + x0, _ny);
_oy = _ny;
}
}
function ease_power_in(rat, pow) {
return power(rat, pow);
}
function ease_power_out(rat, pow) {
return 1 - power(1 - rat, pow);
}
function ease_power_inout(rat, pow) {
return rat < 0.5 ? ease_power_in(2 * rat, pow) / 2 : (ease_power_out(2 * rat - 1, pow) + 1) / 2;
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "curve_power_function",
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "curve",
"path": "folders/functions/curve.yy",
},
}

View file

@ -1,4 +1,4 @@
function draw_line_dashed(x0, y0, x1, y1, th, dash_distance = 8) {
function draw_line_dashed(x0, y0, x1, y1, th = 1, dash_distance = 8) {
var dis = point_distance(x0, y0, x1, y1);
var dir = point_direction(x0, y0, x1, y1);
var part = ceil(dis / dash_distance);

View file

@ -1,11 +1,11 @@
function draw_text_add(_x, _y, _text){
BLEND_ADD
BLEND_OVER
draw_text(_x, _y, _text);
BLEND_NORMAL
}
function draw_text_ext_add(_x, _y, _text, _sep, _w){
BLEND_ADD
BLEND_OVER
draw_text_ext(_x, _y, _text, _sep, _w);
BLEND_NORMAL
}

View file

@ -16,6 +16,11 @@ function ds_list_to_array(list) {
return a;
}
function ds_list_add_list(list, list_add) {
ds_list_add(list, list_add);
ds_list_mark_as_list(list, ds_list_size(list) - 1);
}
function ds_list_add_map(list, map) {
ds_list_add(list, map);
ds_list_mark_as_map(list, ds_list_size(list) - 1);

View file

@ -21,9 +21,9 @@
COLOR_KEYS = [];
globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING;
VERSION = 1060;
SAVEFILE_VERSION = 1060;
VERSION_STRING = "1.0.6";
VERSION = 1070;
SAVEFILE_VERSION = 1070;
VERSION_STRING = "1.0.7";
globalvar NODES, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT;
@ -102,8 +102,9 @@
#endregion
#region functions
#macro BLEND_ADD gpu_set_blendmode_ext(bm_one, bm_zero);
#macro BLEND_OVER gpu_set_blendmode_ext(bm_one, bm_zero);
#macro BLEND_NORMAL gpu_set_blendmode(bm_normal);
#macro BLEND_ADD gpu_set_blendmode(bm_add);
#macro BLEND_OVERRIDE gpu_set_blendmode_ext(bm_one, bm_zero);
#endregion

View file

@ -12,7 +12,7 @@ function histogramDraw(_x, _y, _w, _h) {
var ox, oy = array_create(4);
draw_set_alpha(0.5);
BLEND_ADD
BLEND_OVER
for( var i = 0; i < _levels; i++ ) {
var _lx = _x + i * lw, _lh = [];

View file

@ -19,7 +19,8 @@ function Node_2D_light(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) con
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Point", "Line", "Line asymmetric", "Spot" ]);
inputs[| 2] = nodeValue(2, "Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(0, index); });
inputs[| 3] = nodeValue(3, "Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 16);
inputs[| 4] = nodeValue(4, "Intensity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
@ -124,9 +125,8 @@ function Node_2D_light(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) con
if(_output_index == 0) {
draw_clear_alpha(0, 0);
draw_surface_safe(_data[0], 0, 0);
} else {
} else
draw_clear_alpha(c_black, 1);
}
BLEND_ADD
shader_set(shader);
@ -182,7 +182,7 @@ function Node_2D_light(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) con
gpu_set_colorwriteenable(1, 1, 1, 1);
shader_reset();
BLEND_NORMAL
surface_reset_target();
surface_reset_target();
return _outSurf;
}

View file

@ -30,7 +30,8 @@ function Node_3D_Obj(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
.setDisplay(VALUE_DISPLAY.vector);
inputs[| 3] = nodeValue(3, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef( function() { return inputs[| 2].getValue(); });
inputs[| 4] = nodeValue(4, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 180 ])
.setDisplay(VALUE_DISPLAY.vector);
@ -254,11 +255,8 @@ function Node_3D_Obj(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
var _lsc = inputs[| 11].getValue();
var _outSurf = outputs[| 0].getValue();
if(!is_surface(_outSurf)) {
_outSurf = surface_create_valid(_dim[0], _dim[1]);
outputs[| 0].setValue(_outSurf);
} else
surface_size_to(_outSurf, _dim[0], _dim[1]);
outputs[| 0].setValue(_outSurf);
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
var TM = matrix_build(_pos[0], _pos[1], 0, _rot[0], _rot[1], _rot[2], _dim[0] * _sca[0], _dim[1] * _sca[1], 1);
var cam_proj = matrix_build_projection_ortho(_dim[0], _dim[1], 1, 100);

View file

@ -13,7 +13,8 @@ function Node_3D_Extrude(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
.setDisplay(VALUE_DISPLAY.vector);
inputs[| 2] = nodeValue(2, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef( function() { return inputs[| 1].getValue(); });
inputs[| 3] = nodeValue(3, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
@ -308,11 +309,7 @@ function Node_3D_Extrude(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
var _aclr = inputs[| 11].getValue();
var _outSurf = outputs[| 0].getValue();
if(!is_surface(_outSurf)) {
_outSurf = surface_create_valid(_dim[0], _dim[1]);
outputs[| 0].setValue(_outSurf);
} else
surface_size_to(_outSurf, _dim[0], _dim[1]);
outputs[| 0].setValue(surface_verify(_outSurf, _dim[0], _dim[1]));
if(!is_surface(_ins)) return _outSurf;

View file

@ -12,7 +12,8 @@ function Node_3D_Cube(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) cons
.setDisplay(VALUE_DISPLAY.vector);
inputs[| 2] = nodeValue(2, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(1, index); });
inputs[| 3] = nodeValue(3, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
@ -174,10 +175,7 @@ function Node_3D_Cube(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) cons
for(var i = 6; i <= 11; i++) inputs[| i].setVisible(_usetex);
inputs[| 0].setVisible(true, !_usetex);
if(!is_surface(_outSurf))
_outSurf = surface_create_valid(_dim[0], _dim[1]);
else
surface_size_to(_outSurf, _dim[0], _dim[1]);
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
TM = matrix_build(_pos[0], _pos[1], 0, _rot[0], _rot[1], _rot[2], _ww * _sca[0], _hh * _sca[1], 1);
cam_proj = matrix_build_projection_ortho(_ww, _hh, 1, 100);

View file

@ -15,7 +15,8 @@ function Node_3D_Cylinder(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
.setDisplay(VALUE_DISPLAY.vector);
inputs[| 3] = nodeValue(3, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(2, index); });
inputs[| 4] = nodeValue(4, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
@ -226,10 +227,7 @@ function Node_3D_Cylinder(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
var _lclr = _data[13];
var _aclr = _data[14];
if(!is_surface(_outSurf))
_outSurf = surface_create_valid(_dim[0], _dim[1]);
else
surface_size_to(_outSurf, _dim[0], _dim[1]);
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
TM = matrix_build(_pos[0], _pos[1], 0, _rot[0], _rot[1], _rot[2], _dim[0] * _sca[0], _dim[1] * _sca[1], 1);
cam_proj = matrix_build_projection_ortho(_dim[0], _dim[1], 1, 100);

View file

@ -4,7 +4,8 @@ function Node_3D_Transform(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(0, index); });
inputs[| 2] = nodeValue(2, "Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
@ -152,7 +153,7 @@ function Node_3D_Transform(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
}
if(_ww <= 0 || _hh <= 0) return;
surface_size_to(_outSurf, _ww, _hh);
_outSurf = surface_verify(_outSurf, _ww, _hh);
var _pos = _data[1];
var _rot = _data[2];
@ -165,7 +166,7 @@ function Node_3D_Transform(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(sh_vertex_pt);
camera_apply(cam);

View file

@ -2,11 +2,13 @@ function Node_9Slice(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
name = "Nine slice";
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
.setDisplay(VALUE_DISPLAY.vector);
inputs[| 2] = nodeValue(2, "Splice", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0 ])
.setDisplay(VALUE_DISPLAY.padding);
.setDisplay(VALUE_DISPLAY.padding)
.setUnitRef(function(index) { return getDimension(0, index); });
inputs[| 3] = nodeValue(3, "Filling modes", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Scale", "Repeat" ]);
@ -27,12 +29,13 @@ function Node_9Slice(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
}
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
if(process_multiple) return;
if(array_length(current_data) < 1) return;
var _dim = current_data[1];
var _splice = current_data[2];
for( var i = 0; i < array_length(_splice); i++ )
_splice[i] = round(_splice[i]);
var sp_r = _x + (_dim[0] - _splice[0]) * _s;
var sp_l = _x + _splice[2] * _s;
@ -66,39 +69,39 @@ function Node_9Slice(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
}
}
if(!inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) {
if(distance_to_line_infinite(_mx, _my, sp_r, -hh, sp_r, hh) < 12) {
draw_line_width(sp_r, -hh, sp_r, hh, 3);
if(mouse_press(mb_left, active)) {
drag_side = 0;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[0];
}
} else if(distance_to_line_infinite(_mx, _my, -ww, sp_t, ww, sp_t) < 12) {
draw_line_width(-ww, sp_t, ww, sp_t, 3);
if(mouse_press(mb_left, active)) {
drag_side = 1;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[1];
}
} else if(distance_to_line_infinite(_mx, _my, sp_l, -hh, sp_l, hh) < 12) {
draw_line_width(sp_l, -hh, sp_l, hh, 3);
if(mouse_press(mb_left, active)) {
drag_side = 2;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[2];
}
} else if(distance_to_line_infinite(_mx, _my, -ww, sp_b, ww, sp_b) < 12) {
draw_line_width(-ww, sp_b, ww, sp_b, 3);
if(mouse_press(mb_left, active)) {
drag_side = 3;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[3];
}
if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) return;
if(distance_to_line_infinite(_mx, _my, sp_r, -hh, sp_r, hh) < 12) {
draw_line_width(sp_r, -hh, sp_r, hh, 3);
if(mouse_press(mb_left, active)) {
drag_side = 0;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[0];
}
} else if(distance_to_line_infinite(_mx, _my, -ww, sp_t, ww, sp_t) < 12) {
draw_line_width(-ww, sp_t, ww, sp_t, 3);
if(mouse_press(mb_left, active)) {
drag_side = 1;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[1];
}
} else if(distance_to_line_infinite(_mx, _my, sp_l, -hh, sp_l, hh) < 12) {
draw_line_width(sp_l, -hh, sp_l, hh, 3);
if(mouse_press(mb_left, active)) {
drag_side = 2;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[2];
}
} else if(distance_to_line_infinite(_mx, _my, -ww, sp_b, ww, sp_b) < 12) {
draw_line_width(-ww, sp_b, ww, sp_b, 3);
if(mouse_press(mb_left, active)) {
drag_side = 3;
drag_mx = _mx;
drag_my = _my;
drag_sv = _splice[3];
}
}
}
@ -110,11 +113,11 @@ function Node_9Slice(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
var _fill = _data[3];
if(!surface_exists(_inSurf)) return;
surface_size_to(_outSurf, _dim[0], _dim[1]);
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
var ww = _dim[0];
var hh = _dim[1];
@ -176,5 +179,7 @@ function Node_9Slice(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
BLEND_NORMAL
surface_reset_target();
return _outSurf;
}
}

View file

@ -32,9 +32,8 @@ function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) construct
delete inputs[| i];
}
for( var i = 0; i < ds_list_size(_l); i++ ) {
_l[| i].index = i;
}
for( var i = 0; i < ds_list_size(_l); i++ )
_l[| i].index = i;
ds_list_destroy(inputs);
inputs = _l;
@ -49,12 +48,8 @@ function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) construct
var _outSurf = outputs[| 0].getValue();
if(is_surface(_outSurf))
surface_size_to(_outSurf, _dim[0], _dim[1]);
else {
_outSurf = surface_create_valid(_dim[0], _dim[1]);
outputs[| 0].setValue(_outSurf);
}
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
outputs[| 0].setValue(_outSurf);
surface_set_target(_outSurf);
draw_clear_alpha(c_white, 0);

View file

@ -10,7 +10,7 @@ function Node_Alpha_Cutoff(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
static process_data = function(_outSurf, _data, _output_index) {
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(sh_alpha_cutoff);
shader_set_uniform_f(shader_get_uniform(sh_alpha_cutoff, "cutoff"), _data[1]);

View file

@ -8,7 +8,7 @@ function Node_Alpha_Grey(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) c
static process_data = function(_outSurf, _data, _output_index) {
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(sh_alpha_grey);
draw_surface_safe(_data[0], 0, 0);
shader_reset();

View file

@ -1,4 +1,4 @@
function Node_Anim_Curve(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group) constructor {
function Node_Anim_Curve(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Anim Curve";
update_on_frame = true;
previewable = false;
@ -15,7 +15,7 @@ function Node_Anim_Curve(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _gr
outputs[| 0] = nodeValue(0, "Curve", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, []);
function process_value_data(_data, index = 0) {
function process_data(_output, _data, index = 0) {
var curve = _data[0];
var time = _data[1];
var _min = _data[2];

View file

@ -1,4 +1,4 @@
function Node_Area(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group) constructor {
function Node_Area(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Area";
color = COLORS.node_blend_number;
previewable = false;
@ -42,7 +42,7 @@ function Node_Area(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group) c
inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny);
}
function process_value_data(_data, index = 0) {
function process_data(_output, _data, index = 0) {
return [_data[0][0], _data[0][1], _data[1][0], _data[1][1], _data[2]];
}

View file

@ -39,6 +39,10 @@ function Node_Array(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
for( var i = 0; i < ds_list_size(inputs) - 1; i++ ) {
res[i] = inputs[| i].getValue();
inputs[| i].type = inputs[| i].value_from? inputs[| i].value_from.type : VALUE_TYPE.any;
if(i == 0)
outputs[| 0].type = inputs[| i].value_from? inputs[| i].value_from.type : VALUE_TYPE.any;
}
outputs[| 0].setValue(res);

View file

@ -12,15 +12,22 @@ function Node_Array_Add(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
inputs[| 1] = nodeValue(1, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
.setVisible(true, true);
inputs[| 2] = nodeValue(2, "Spread array", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
inputs[| 2] = nodeValue(2, "Combine member", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
outputs[| 0] = nodeValue(0, "Size", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0);
outputs[| 0] = nodeValue(0, "Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0);
static update = function() {
var _arr = inputs[| 0].getValue();
var _val = inputs[| 1].getValue();
var _app = inputs[| 2].getValue();
if(inputs[| 0].value_from == noone) {
inputs[| 0].type = VALUE_TYPE.any;
inputs[| 1].type = VALUE_TYPE.any;
outputs[| 0].type = VALUE_TYPE.any;
return;
}
inputs[| 2].setVisible(is_array(_val));
if(!is_array(_arr)) return;
@ -29,6 +36,12 @@ function Node_Array_Add(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
array_append(_out, _val);
else
array_push(_out, _val);
var _type = inputs[| 0].value_from.type
inputs[| 0].type = _type;
inputs[| 1].type = _type;
outputs[| 0].type = _type;
outputs[| 0].setValue(_out);
}

View file

@ -1,4 +1,4 @@
function Node_Array_Length(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group) constructor {
function Node_Array_Length(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Array Length";
previewable = false;
@ -11,7 +11,7 @@ function Node_Array_Length(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _
outputs[| 0] = nodeValue(0, "Size", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0);
function process_value_data(_data, index = 0) {
function process_data(_output, _data, index = 0) {
var _arr = _data[0];
if(!is_array(_arr)) return 0;

View file

@ -10,7 +10,7 @@ function Node_Atlas(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constr
static process_data = function(_outSurf, _data, _output_index) {
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(sh_atlas);
shader_set_uniform_f_array(uniform_dim, [surface_get_width(_data[0]), surface_get_height(_data[0])]);

View file

@ -25,7 +25,7 @@ function Node_Bevel(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constr
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f(uniform_hei, _hei);

View file

@ -6,6 +6,7 @@ function Node_create_Blend(_x, _y, _group = -1, _param = "") {
case "add" : node.inputs[| 2].setValue(BLEND_MODE.add); break;
case "subtract" : node.inputs[| 2].setValue(BLEND_MODE.subtract); break;
case "multiply" : node.inputs[| 2].setValue(BLEND_MODE.multiply); break;
case "overlay" : node.inputs[| 2].setValue(BLEND_MODE.overlay); break;
case "screen" : node.inputs[| 2].setValue(BLEND_MODE.screen); break;
case "maxx" : node.inputs[| 2].setValue(BLEND_MODE.maxx); break;
case "minn" : node.inputs[| 2].setValue(BLEND_MODE.minn); break;

View file

@ -5,7 +5,7 @@
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
"name": "compose",
"path": "folders/nodes/data/compose.yy",
},
}

View file

@ -37,7 +37,7 @@ function Node_Bloom(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constr
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
var uniform_foreground = shader_get_sampler_index(sh_blend_add_alpha_adj, "fore");
var uniform_opacity = shader_get_uniform(sh_blend_add_alpha_adj, "opacity");

View file

@ -7,15 +7,18 @@ function Node_Blur(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constru
inputs[| 2] = nodeValue(2, "Clamp border", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
//inputs[| 3] = nodeValue(3, "Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
static process_data = function(_outSurf, _data, _output_index) {
var _size = _data[1];
var _clamp = _data[2];
//var _mask = _data[3];
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
draw_surface_safe(surface_apply_gaussian(_data[0], _size, false, c_white, _clamp), 0, 0);

View file

@ -26,12 +26,11 @@ function Node_Blur_Contrast(_x, _y, _group = -1) : Node_Processor(_x, _y, _group
var ww = surface_get_width(_surf);
var hh = surface_get_height(_surf);
if(is_surface(pass)) surface_size_to(pass, ww, hh);
else pass = surface_create_valid(ww, hh);
pass = surface_verify(pass, ww, hh);
surface_set_target(pass);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f_array(uniform_dim, [ ww, hh ]);
shader_set_uniform_f(uniform_siz, _size);
@ -44,7 +43,7 @@ function Node_Blur_Contrast(_x, _y, _group = -1) : Node_Processor(_x, _y, _group
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_i(uniform_dir, 1);
draw_surface_safe(pass, 0, 0);

View file

@ -32,7 +32,7 @@ function Node_Blur_Directional(_x, _y, _group = -1) : Node_Processor(_x, _y, _gr
var _dir = _data[2];
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f(uniform_str, _str);

View file

@ -1,18 +1,29 @@
function Node_Blur_Radial(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Blur_Radial";
name = "Radial blur";
shader = sh_blur_radial;
uniform_str = shader_get_uniform(shader, "strength");
uniform_cen = shader_get_uniform(shader, "center");
uniform_sam = shader_get_uniform(shader, "sampleMode");
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2);
inputs[| 2] = nodeValue(2, "Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(0, index); });
inputs[| 3] = nodeValue(3, "Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
input_display_list = [
["Surface", false], 0, 3,
["Effect", false], 1, 2,
];
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
var pos = inputs[| 2].getValue();
var px = _x + pos[0] * _s;
@ -25,16 +36,18 @@ function Node_Blur_Radial(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
static process_data = function(_outSurf, _data, _output_index) {
var _str = _data[1];
var _cen = _data[2];
var _sam = _data[3];
_cen[0] /= surface_get_width(_outSurf);
_cen[1] /= surface_get_height(_outSurf);
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f(uniform_str, _str);
shader_set_uniform_f_array(uniform_cen, _cen);
shader_set_uniform_i(uniform_sam, _sam);
draw_surface_safe(_data[0], 0, 0);
shader_reset();

View file

@ -0,0 +1,55 @@
function Node_Blur_Simple(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Simple blur";
shader = sh_blur_simple;
uniform_dim = shader_get_uniform(shader, "dimension");
uniform_siz = shader_get_uniform(shader, "size");
uniform_sam = shader_get_uniform(shader, "sampleMode");
uniform_umk = shader_get_uniform(shader, "useMask");
uniform_msk = shader_get_sampler_index(shader, "mask");
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3)
.setDisplay(VALUE_DISPLAY.slider, [1, 32, 1]);
inputs[| 2] = nodeValue(2, "Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
inputs[| 3] = nodeValue(3, "Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
input_display_list = [
["Surface", false], 0, 3, 2,
["Effect", false], 1,
];
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
static process_data = function(_outSurf, _data, _output_index) {
if(!is_surface(_data[0])) return _outSurf;
var _size = _data[1];
var _samp = _data[2];
var _mask = _data[3];
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_OVER
shader_set(shader);
shader_set_uniform_f(uniform_dim, surface_get_width(_data[0]), surface_get_height(_data[0]));
shader_set_uniform_f(uniform_siz, _size);
shader_set_uniform_i(uniform_sam, _samp);
shader_set_uniform_i(uniform_umk, is_surface(_mask));
if(is_surface(_mask))
texture_set_stage(uniform_msk, surface_get_texture(_mask));
draw_surface_safe(_data[0], 0, 0);
shader_reset();
BLEND_NORMAL
surface_reset_target();
return _outSurf;
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_blur_simple",
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_color_adjustment",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_color_replacement",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_glow",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_outline",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -19,7 +19,7 @@ function Node_BW(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) construct
var _con = _data[2];
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f(uniform_exp, _exp);

View file

@ -4,13 +4,16 @@ function Node_Camera(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
inputs[| 0] = nodeValue(0, "Scene", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Focus area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 16, 16, 4, 4, AREA_SHAPE.rectangle ])
.setDisplay(VALUE_DISPLAY.area);
.setDisplay(VALUE_DISPLAY.area)
.setUnitRef(function(index) { return getDimension(0, index); });
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
static getPreviewValue = function() { return inputs[| 0]; }
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
if(array_length(current_data) == 0) return;
var _out = outputs[| 0].getValue();
var _area = current_data[1];
var _px = _x + (_area[0] - _area[2]) * _s;
@ -25,14 +28,14 @@ function Node_Camera(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) const
var _dw = surface_valid_size(_area[2]) * 2;
var _dh = surface_valid_size(_area[3]) * 2;
surface_size_to(_outSurf, _dw, _dh);
_outSurf = surface_verify(_outSurf, _dw, _dh);
var _px = _area[0] - _dw / 2;
var _py = _area[1] - _dh / 2;
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
draw_surface_safe(_data[0], -_px, -_py);
BLEND_NORMAL
surface_reset_target();

View file

@ -3,18 +3,20 @@ function Node_RGB_Channel(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
outputs[| 0] = nodeValue(0, "Surface red", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 1] = nodeValue(1, "Surface green", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 2] = nodeValue(2, "Surface blue", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 0] = nodeValue(0, "Red", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 1] = nodeValue(1, "Green", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 2] = nodeValue(2, "Blue", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 3] = nodeValue(3, "Alpha", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
static process_data = function(_outSurf, _data, output_index) {
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
switch(output_index) {
case 0 : shader_set(sh_channel_R); break;
case 1 : shader_set(sh_channel_G); break;
case 2 : shader_set(sh_channel_B); break;
case 3 : shader_set(sh_channel_A); break;
}
draw_surface_safe(_data[0], 0, 0);
shader_reset();

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_bw",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,26 @@
function Node_HSV_Channel(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "HSV extract";
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
outputs[| 0] = nodeValue(0, "Hue", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 1] = nodeValue(1, "Saturation", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
outputs[| 2] = nodeValue(2, "Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
static process_data = function(_outSurf, _data, output_index) {
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_OVER
switch(output_index) {
case 0 : shader_set(sh_channel_H); break;
case 1 : shader_set(sh_channel_S); break;
case 2 : shader_set(sh_channel_V); break;
}
draw_surface_safe(_data[0], 0, 0);
shader_reset();
BLEND_NORMAL
surface_reset_target();
return _outSurf;
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_channels_hsv",
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_color_adjustment",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_color_replacement",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_greyscale",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_outline",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -20,7 +20,8 @@ function Node_Checker(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) cons
.setDisplay(VALUE_DISPLAY.rotation);
inputs[| 3] = nodeValue(3, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0] )
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(0, index); });
inputs[| 4] = nodeValue(4, "Color 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
inputs[| 5] = nodeValue(5, "Color 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black);
@ -51,10 +52,7 @@ function Node_Checker(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) cons
var _col1 = _data[4];
var _col2 = _data[5];
if(!is_surface(_outSurf))
_outSurf = surface_create_valid(_dim[0], _dim[1]);
else
surface_size_to(_outSurf, _dim[0], _dim[1]);
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
surface_set_target(_outSurf);
shader_set(shader);

View file

@ -8,10 +8,11 @@ function Node_Chromatic_Aberration(_x, _y, _group = -1) : Node_Processor(_x, _y,
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(0, index); });
inputs[| 2] = nodeValue(2, "Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
.setDisplay(VALUE_DISPLAY.slider, [0, 16, 0.01]);
.setDisplay(VALUE_DISPLAY.slider, [-16, 16, 0.01]);
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
@ -26,7 +27,7 @@ function Node_Chromatic_Aberration(_x, _y, _group = -1) : Node_Processor(_x, _y,
static process_data = function(_outSurf, _data, _output_index) {
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
var center = _data[1];
var stren = _data[2];

View file

@ -69,7 +69,7 @@ function Node_Color_adjust(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_i(uniform_mask_use, _m != DEF_SURFACE);

View file

@ -1,4 +1,4 @@
function Node_Color_Data(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group) constructor {
function Node_Color_Data(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Color data";
previewable = false;
@ -17,7 +17,7 @@ function Node_Color_Data(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _gr
outputs[| 6] = nodeValue(6, "Brightness", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0);
function process_value_data(_data, index = 0) {
function process_data(_output, _data, index = 0) {
var c = _data[0];
switch(index) {

View file

@ -30,7 +30,7 @@ function Node_Color_Remove(_x, _y, _group = -1) : Node_Processor(_x, _y, _group)
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f_array(uniform_from, _colors);

View file

@ -52,7 +52,7 @@ function Node_Color_replace(_x, _y, _group = -1) : Node_Processor(_x, _y, _group
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_f_array(uniform_from, _colors);

View file

@ -1,10 +1,11 @@
function Node_Sampler(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group) constructor {
function Node_Sampler(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "Sampler";
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(0, index); });
outputs[| 0] = nodeValue(0, "Color", self, JUNCTION_CONNECT.output, VALUE_TYPE.color, c_white);
@ -14,7 +15,7 @@ function Node_Sampler(_x, _y, _group = -1) : Node_Value_Processor(_x, _y, _group
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
}
function process_value_data(_data, index = 0) {
function process_data(_output, _data, index = 0) {
var _surf = _data[0];
var _pos = _data[1];
if(!is_surface(_surf)) return c_black;

View file

@ -35,7 +35,7 @@ function Node_Colorize(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) con
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_ADD
BLEND_OVER
shader_set(shader);
shader_set_uniform_i(uniform_grad_blend, ds_list_get(_gra_data, 0));

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_color_adjustment",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_color_replacement",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,37 @@
function Node_Combine_HSV(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
name = "HSV Combine";
shader = sh_combine_hsv;
uniform_h = shader_get_sampler_index(shader, "samH");
uniform_s = shader_get_sampler_index(shader, "samS");
uniform_v = shader_get_sampler_index(shader, "samV");
inputs[| 0] = nodeValue(0, "Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 1] = nodeValue(1, "Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
inputs[| 2] = nodeValue(2, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
static process_data = function(_outSurf, _data, _output_index) {
var _h = _data[0];
var _s = _data[1];
var _v = _data[2];
surface_set_target(_outSurf);
draw_clear_alpha(0, 0);
BLEND_OVER
shader_set(shader);
texture_set_stage(uniform_h, surface_get_texture(_h));
texture_set_stage(uniform_s, surface_get_texture(_s));
texture_set_stage(uniform_v, surface_get_texture(_v));
draw_sprite_ext(s_fx_pixel, 0, 0, 0, surface_get_width(_outSurf), surface_get_width(_outSurf), 0, c_white, 1);
shader_reset();
BLEND_NORMAL
surface_reset_target();
return _outSurf;
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_combine_hsv",
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_greyscale",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_outline",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "filter",
"path": "folders/nodes/data/filter.yy",
},
"resourceVersion": "1.0",
"name": "node_color_adjustment",
"tags": [],
"resourceType": "GMScript",
}

View file

@ -0,0 +1,12 @@
{
"isDnD": false,
"isCompatibility": false,
"parent": {
"name": "process",
"path": "folders/nodes/data/process.yy",
},
"resourceVersion": "1.0",
"name": "node_color_replacement",
"tags": [],
"resourceType": "GMScript",
}

Some files were not shown because too many files have changed in this diff Show more