VFX group
|
@ -18,11 +18,12 @@
|
||||||
{"id":{"name":"o_dialog_menubox","path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},"order":1,},
|
{"id":{"name":"o_dialog_menubox","path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},"order":7,},
|
{"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},"order":7,},
|
||||||
{"id":{"name":"libdlgmodule","path":"extensions/libdlgmodule/libdlgmodule.yy",},"order":2,},
|
{"id":{"name":"libdlgmodule","path":"extensions/libdlgmodule/libdlgmodule.yy",},"order":2,},
|
||||||
{"id":{"name":"node_line","path":"scripts/node_line/node_line.yy",},"order":11,},
|
{"id":{"name":"node_line","path":"scripts/node_line/node_line.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_frame","path":"sprites/s_node_frame/s_node_frame.yy",},"order":79,},
|
{"id":{"name":"s_node_frame","path":"sprites/s_node_frame/s_node_frame.yy",},"order":79,},
|
||||||
{"id":{"name":"node_2d_light","path":"scripts/node_2d_light/node_2d_light.yy",},"order":40,},
|
{"id":{"name":"node_2d_light","path":"scripts/node_2d_light/node_2d_light.yy",},"order":40,},
|
||||||
{"id":{"name":"s_node_color","path":"sprites/s_node_color/s_node_color.yy",},"order":17,},
|
{"id":{"name":"s_node_color","path":"sprites/s_node_color/s_node_color.yy",},"order":17,},
|
||||||
{"id":{"name":"s_node_image_gif","path":"sprites/s_node_image_gif/s_node_image_gif.yy",},"order":69,},
|
{"id":{"name":"s_node_image_gif","path":"sprites/s_node_image_gif/s_node_image_gif.yy",},"order":69,},
|
||||||
|
{"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":114,},
|
{"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},"order":114,},
|
||||||
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":45,},
|
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":45,},
|
||||||
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":37,},
|
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":37,},
|
||||||
|
@ -45,7 +46,7 @@
|
||||||
{"id":{"name":"s_node_alpha_grey","path":"sprites/s_node_alpha_grey/s_node_alpha_grey.yy",},"order":110,},
|
{"id":{"name":"s_node_alpha_grey","path":"sprites/s_node_alpha_grey/s_node_alpha_grey.yy",},"order":110,},
|
||||||
{"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":13,},
|
||||||
{"id":{"name":"s_node_level","path":"sprites/s_node_level/s_node_level.yy",},"order":64,},
|
{"id":{"name":"s_node_level","path":"sprites/s_node_level/s_node_level.yy",},"order":64,},
|
||||||
{"id":{"name":"node_scatter","path":"scripts/node_scatter/node_scatter.yy",},"order":4,},
|
{"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":104,},
|
{"id":{"name":"s_node_bloom","path":"sprites/s_node_bloom/s_node_bloom.yy",},"order":104,},
|
||||||
{"id":{"name":"node_image","path":"scripts/node_image/node_image.yy",},"order":0,},
|
{"id":{"name":"node_image","path":"scripts/node_image/node_image.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},"order":0,},
|
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},"order":0,},
|
||||||
|
@ -60,7 +61,7 @@
|
||||||
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
{"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":"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":"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":15,},
|
{"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":0,},
|
||||||
{"id":{"name":"s_node_displace","path":"sprites/s_node_displace/s_node_displace.yy",},"order":83,},
|
{"id":{"name":"s_node_displace","path":"sprites/s_node_displace/s_node_displace.yy",},"order":83,},
|
||||||
{"id":{"name":"sh_polar","path":"shaders/sh_polar/sh_polar.yy",},"order":31,},
|
{"id":{"name":"sh_polar","path":"shaders/sh_polar/sh_polar.yy",},"order":31,},
|
||||||
|
@ -80,16 +81,19 @@
|
||||||
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},"order":28,},
|
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},"order":28,},
|
||||||
{"id":{"name":"string_eval","path":"scripts/string_eval/string_eval.yy",},"order":0,},
|
{"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":"globals","path":"scripts/globals/globals.yy",},"order":1,},
|
||||||
|
{"id":{"name":"s_node_vfx_repel","path":"sprites/s_node_vfx_repel/s_node_vfx_repel.yy",},"order":123,},
|
||||||
{"id":{"name":"s_node_noise_perlin","path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},"order":57,},
|
{"id":{"name":"s_node_noise_perlin","path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},"order":57,},
|
||||||
{"id":{"name":"s_node_dithering","path":"sprites/s_node_dithering/s_node_dithering.yy",},"order":82,},
|
{"id":{"name":"s_node_dithering","path":"sprites/s_node_dithering/s_node_dithering.yy",},"order":82,},
|
||||||
{"id":{"name":"node_normal_light","path":"scripts/node_normal_light/node_normal_light.yy",},"order":0,},
|
{"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":"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,},
|
{"id":{"name":"panel_inspector","path":"scripts/panel_inspector/panel_inspector.yy",},"order":0,},
|
||||||
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},"order":10,},
|
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},"order":10,},
|
||||||
|
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":50,},
|
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":50,},
|
||||||
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":12,},
|
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":89,},
|
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":89,},
|
||||||
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":86,},
|
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":86,},
|
||||||
|
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},"order":3,},
|
||||||
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},"order":2,},
|
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_blend_multiply","path":"shaders/sh_blend_multiply/sh_blend_multiply.yy",},"order":0,},
|
{"id":{"name":"sh_blend_multiply","path":"shaders/sh_blend_multiply/sh_blend_multiply.yy",},"order":0,},
|
||||||
{"id":{"name":"node_bevel","path":"scripts/node_bevel/node_bevel.yy",},"order":3,},
|
{"id":{"name":"node_bevel","path":"scripts/node_bevel/node_bevel.yy",},"order":3,},
|
||||||
|
@ -113,7 +117,7 @@
|
||||||
{"id":{"name":"s_node_group","path":"sprites/s_node_group/s_node_group.yy",},"order":5,},
|
{"id":{"name":"s_node_group","path":"sprites/s_node_group/s_node_group.yy",},"order":5,},
|
||||||
{"id":{"name":"o_dialog_splash","path":"objects/o_dialog_splash/o_dialog_splash.yy",},"order":19,},
|
{"id":{"name":"o_dialog_splash","path":"objects/o_dialog_splash/o_dialog_splash.yy",},"order":19,},
|
||||||
{"id":{"name":"json_file","path":"scripts/json_file/json_file.yy",},"order":4,},
|
{"id":{"name":"json_file","path":"scripts/json_file/json_file.yy",},"order":4,},
|
||||||
{"id":{"name":"node_gradient","path":"scripts/node_gradient/node_gradient.yy",},"order":1,},
|
{"id":{"name":"node_gradient","path":"scripts/node_gradient/node_gradient.yy",},"order":0,},
|
||||||
{"id":{"name":"textBox","path":"scripts/textBox/textBox.yy",},"order":17,},
|
{"id":{"name":"textBox","path":"scripts/textBox/textBox.yy",},"order":17,},
|
||||||
{"id":{"name":"node_statistic","path":"scripts/node_statistic/node_statistic.yy",},"order":15,},
|
{"id":{"name":"node_statistic","path":"scripts/node_statistic/node_statistic.yy",},"order":15,},
|
||||||
{"id":{"name":"sh_draw_surface_part_tiled","path":"shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy",},"order":32,},
|
{"id":{"name":"sh_draw_surface_part_tiled","path":"shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy",},"order":32,},
|
||||||
|
@ -122,7 +126,7 @@
|
||||||
{"id":{"name":"s_node_curve","path":"sprites/s_node_curve/s_node_curve.yy",},"order":85,},
|
{"id":{"name":"s_node_curve","path":"sprites/s_node_curve/s_node_curve.yy",},"order":85,},
|
||||||
{"id":{"name":"sh_blend_normal","path":"shaders/sh_blend_normal/sh_blend_normal.yy",},"order":1,},
|
{"id":{"name":"sh_blend_normal","path":"shaders/sh_blend_normal/sh_blend_normal.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},"order":16,},
|
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},"order":16,},
|
||||||
{"id":{"name":"node_processor","path":"scripts/node_processor/node_processor.yy",},"order":1,},
|
{"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":"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":41,},
|
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},"order":41,},
|
||||||
{"id":{"name":"sh_zigzag","path":"shaders/sh_zigzag/sh_zigzag.yy",},"order":11,},
|
{"id":{"name":"sh_zigzag","path":"shaders/sh_zigzag/sh_zigzag.yy",},"order":11,},
|
||||||
|
@ -133,6 +137,7 @@
|
||||||
{"id":{"name":"s_node_vec3","path":"sprites/s_node_vec3/s_node_vec3.yy",},"order":25,},
|
{"id":{"name":"s_node_vec3","path":"sprites/s_node_vec3/s_node_vec3.yy",},"order":25,},
|
||||||
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":3,},
|
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":18,},
|
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":18,},
|
||||||
|
{"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":65,},
|
{"id":{"name":"s_node_invert","path":"sprites/s_node_invert/s_node_invert.yy",},"order":65,},
|
||||||
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":14,},
|
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":14,},
|
||||||
{"id":{"name":"sh_grid","path":"shaders/sh_grid/sh_grid.yy",},"order":14,},
|
{"id":{"name":"sh_grid","path":"shaders/sh_grid/sh_grid.yy",},"order":14,},
|
||||||
|
@ -145,7 +150,7 @@
|
||||||
{"id":{"name":"s_ui_base_white","path":"sprites/s_ui_base_white/s_ui_base_white.yy",},"order":2,},
|
{"id":{"name":"s_ui_base_white","path":"sprites/s_ui_base_white/s_ui_base_white.yy",},"order":2,},
|
||||||
{"id":{"name":"node_blur","path":"scripts/node_blur/node_blur.yy",},"order":16,},
|
{"id":{"name":"node_blur","path":"scripts/node_blur/node_blur.yy",},"order":16,},
|
||||||
{"id":{"name":"s_node_loop","path":"sprites/s_node_loop/s_node_loop.yy",},"order":4,},
|
{"id":{"name":"s_node_loop","path":"sprites/s_node_loop/s_node_loop.yy",},"order":4,},
|
||||||
{"id":{"name":"node_zigzag","path":"scripts/node_zigzag/node_zigzag.yy",},"order":16,},
|
{"id":{"name":"node_zigzag","path":"scripts/node_zigzag/node_zigzag.yy",},"order":12,},
|
||||||
{"id":{"name":"preset_data","path":"scripts/preset_data/preset_data.yy",},"order":7,},
|
{"id":{"name":"preset_data","path":"scripts/preset_data/preset_data.yy",},"order":7,},
|
||||||
{"id":{"name":"_f_h5","path":"fonts/_f_h5/_f_h5.yy",},"order":2,},
|
{"id":{"name":"_f_h5","path":"fonts/_f_h5/_f_h5.yy",},"order":2,},
|
||||||
{"id":{"name":"node_color","path":"scripts/node_color/node_color.yy",},"order":0,},
|
{"id":{"name":"node_color","path":"scripts/node_color/node_color.yy",},"order":0,},
|
||||||
|
@ -171,14 +176,17 @@
|
||||||
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},"order":23,},
|
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},"order":23,},
|
||||||
{"id":{"name":"color_function","path":"scripts/color_function/color_function.yy",},"order":9,},
|
{"id":{"name":"color_function","path":"scripts/color_function/color_function.yy",},"order":9,},
|
||||||
{"id":{"name":"node_color_data","path":"scripts/node_color_data/node_color_data.yy",},"order":4,},
|
{"id":{"name":"node_color_data","path":"scripts/node_color_data/node_color_data.yy",},"order":4,},
|
||||||
{"id":{"name":"node_noise_ani","path":"scripts/node_noise_ani/node_noise_ani.yy",},"order":7,},
|
{"id":{"name":"node_noise_ani","path":"scripts/node_noise_ani/node_noise_ani.yy",},"order":5,},
|
||||||
|
{"id":{"name":"s_node_vfx_turb","path":"sprites/s_node_vfx_turb/s_node_vfx_turb.yy",},"order":122,},
|
||||||
{"id":{"name":"s_node_transform","path":"sprites/s_node_transform/s_node_transform.yy",},"order":30,},
|
{"id":{"name":"s_node_transform","path":"sprites/s_node_transform/s_node_transform.yy",},"order":30,},
|
||||||
{"id":{"name":"node_canvas","path":"scripts/node_canvas/node_canvas.yy",},"order":6,},
|
{"id":{"name":"node_canvas","path":"scripts/node_canvas/node_canvas.yy",},"order":6,},
|
||||||
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},"order":4,},
|
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},"order":4,},
|
||||||
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},"order":45,},
|
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},"order":45,},
|
||||||
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_noise","path":"shaders/sh_noise/sh_noise.yy",},"order":16,},
|
{"id":{"name":"sh_noise","path":"shaders/sh_noise/sh_noise.yy",},"order":16,},
|
||||||
|
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},"order":14,},
|
||||||
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},"order":1,},
|
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},"order":1,},
|
||||||
|
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},"order":125,},
|
||||||
{"id":{"name":"real_comparison","path":"scripts/real_comparison/real_comparison.yy",},"order":1,},
|
{"id":{"name":"real_comparison","path":"scripts/real_comparison/real_comparison.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stripe","path":"sprites/s_node_stripe/s_node_stripe.yy",},"order":36,},
|
{"id":{"name":"s_node_stripe","path":"sprites/s_node_stripe/s_node_stripe.yy",},"order":36,},
|
||||||
{"id":{"name":"sh_grey_alpha","path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},"order":11,},
|
{"id":{"name":"sh_grey_alpha","path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},"order":11,},
|
||||||
|
@ -193,11 +201,13 @@
|
||||||
{"id":{"name":"node_keyframe","path":"scripts/node_keyframe/node_keyframe.yy",},"order":4,},
|
{"id":{"name":"node_keyframe","path":"scripts/node_keyframe/node_keyframe.yy",},"order":4,},
|
||||||
{"id":{"name":"ac_flash","path":"animcurves/ac_flash/ac_flash.yy",},"order":0,},
|
{"id":{"name":"ac_flash","path":"animcurves/ac_flash/ac_flash.yy",},"order":0,},
|
||||||
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},"order":2,},
|
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},"order":2,},
|
||||||
|
{"id":{"name":"node_VFX_effect_repel","path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},"order":111,},
|
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},"order":111,},
|
||||||
|
{"id":{"name":"node_VFX_effect_attract","path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},"order":10,},
|
||||||
{"id":{"name":"sh_blend_multiply_alpha","path":"shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy",},"order":4,},
|
{"id":{"name":"sh_blend_multiply_alpha","path":"shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy",},"order":4,},
|
||||||
{"id":{"name":"draw_sprite_ext_override","path":"scripts/draw_sprite_ext_override/draw_sprite_ext_override.yy",},"order":9,},
|
{"id":{"name":"draw_sprite_ext_override","path":"scripts/draw_sprite_ext_override/draw_sprite_ext_override.yy",},"order":9,},
|
||||||
{"id":{"name":"node_noise_cell","path":"scripts/node_noise_cell/node_noise_cell.yy",},"order":3,},
|
{"id":{"name":"node_noise_cell","path":"scripts/node_noise_cell/node_noise_cell.yy",},"order":2,},
|
||||||
{"id":{"name":"node_noise","path":"scripts/node_noise/node_noise.yy",},"order":21,},
|
{"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":"mtl_reader","path":"scripts/mtl_reader/mtl_reader.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_scale2x","path":"shaders/sh_scale2x/sh_scale2x.yy",},"order":32,},
|
{"id":{"name":"sh_scale2x","path":"shaders/sh_scale2x/sh_scale2x.yy",},"order":32,},
|
||||||
{"id":{"name":"ds_priority","path":"scripts/ds_priority/ds_priority.yy",},"order":3,},
|
{"id":{"name":"ds_priority","path":"scripts/ds_priority/ds_priority.yy",},"order":3,},
|
||||||
|
@ -221,7 +231,7 @@
|
||||||
{"id":{"name":"boneObject","path":"scripts/boneObject/boneObject.yy",},"order":0,},
|
{"id":{"name":"boneObject","path":"scripts/boneObject/boneObject.yy",},"order":0,},
|
||||||
{"id":{"name":"node_color_remove","path":"scripts/node_color_remove/node_color_remove.yy",},"order":38,},
|
{"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":73,},
|
{"id":{"name":"s_node_grid","path":"sprites/s_node_grid/s_node_grid.yy",},"order":73,},
|
||||||
{"id":{"name":"node_perlin","path":"scripts/node_perlin/node_perlin.yy",},"order":2,},
|
{"id":{"name":"node_perlin","path":"scripts/node_perlin/node_perlin.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":"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":"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":"sh_color_adjust","path":"shaders/sh_color_adjust/sh_color_adjust.yy",},"order":2,},
|
||||||
|
@ -234,13 +244,17 @@
|
||||||
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},"order":4,},
|
{"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":8,},
|
{"id":{"name":"sh_gradient","path":"shaders/sh_gradient/sh_gradient.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},"order":20,},
|
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},"order":20,},
|
||||||
|
{"id":{"name":"s_node_vfx_spawn","path":"sprites/s_node_vfx_spawn/s_node_vfx_spawn.yy",},"order":129,},
|
||||||
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},"order":21,},
|
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},"order":21,},
|
||||||
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":23,},
|
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":23,},
|
||||||
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":60,},
|
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":60,},
|
||||||
|
{"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":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
|
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
|
||||||
{"id":{"name":"rotator","path":"scripts/rotator/rotator.yy",},"order":11,},
|
{"id":{"name":"rotator","path":"scripts/rotator/rotator.yy",},"order":11,},
|
||||||
|
{"id":{"name":"s_node_vfx_wind","path":"sprites/s_node_vfx_wind/s_node_vfx_wind.yy",},"order":120,},
|
||||||
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},"order":2,},
|
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},"order":2,},
|
||||||
|
{"id":{"name":"s_node_vfx","path":"sprites/s_node_vfx/s_node_vfx.yy",},"order":127,},
|
||||||
{"id":{"name":"node_blur_radial","path":"scripts/node_blur_radial/node_blur_radial.yy",},"order":29,},
|
{"id":{"name":"node_blur_radial","path":"scripts/node_blur_radial/node_blur_radial.yy",},"order":29,},
|
||||||
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},"order":15,},
|
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},"order":15,},
|
||||||
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},"order":3,},
|
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},"order":3,},
|
||||||
|
@ -248,18 +262,18 @@
|
||||||
{"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},"order":4,},
|
{"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_shape","path":"shaders/sh_shape/sh_shape.yy",},"order":3,},
|
{"id":{"name":"sh_shape","path":"shaders/sh_shape/sh_shape.yy",},"order":3,},
|
||||||
{"id":{"name":"draw_line_width2","path":"scripts/draw_line_width2/draw_line_width2.yy",},"order":2,},
|
{"id":{"name":"draw_line_width2","path":"scripts/draw_line_width2/draw_line_width2.yy",},"order":2,},
|
||||||
{"id":{"name":"node_particle_effector","path":"scripts/node_particle_effector/node_particle_effector.yy",},"order":9,},
|
{"id":{"name":"_node_VFX_effector","path":"scripts/_node_VFX_effector/_node_VFX_effector.yy",},"order":1,},
|
||||||
{"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,},
|
{"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":81,},
|
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":81,},
|
||||||
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":0,},
|
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":19,},
|
||||||
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_graph_grid","path":"objects/o_dialog_graph_grid/o_dialog_graph_grid.yy",},"order":3,},
|
{"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":"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":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_invert","path":"shaders/sh_invert/sh_invert.yy",},"order":30,},
|
{"id":{"name":"sh_invert","path":"shaders/sh_invert/sh_invert.yy",},"order":30,},
|
||||||
{"id":{"name":"save_function","path":"scripts/save_function/save_function.yy",},"order":0,},
|
{"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":10,},
|
{"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":"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":12,},
|
{"id":{"name":"sh_channel_R","path":"shaders/sh_channel_R/sh_channel_R.yy",},"order":12,},
|
||||||
{"id":{"name":"draw_circle_border","path":"scripts/draw_circle_border/draw_circle_border.yy",},"order":3,},
|
{"id":{"name":"draw_circle_border","path":"scripts/draw_circle_border/draw_circle_border.yy",},"order":3,},
|
||||||
|
@ -267,19 +281,20 @@
|
||||||
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
|
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},"order":105,},
|
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},"order":105,},
|
||||||
{"id":{"name":"color_selector","path":"scripts/color_selector/color_selector.yy",},"order":4,},
|
{"id":{"name":"color_selector","path":"scripts/color_selector/color_selector.yy",},"order":4,},
|
||||||
|
{"id":{"name":"node_VFX_effect_turbulence","path":"scripts/node_VFX_effect_turbulence/node_VFX_effect_turbulence.yy",},"order":13,},
|
||||||
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":37,},
|
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":37,},
|
||||||
{"id":{"name":"node_timeline_preview","path":"scripts/node_timeline_preview/node_timeline_preview.yy",},"order":2,},
|
{"id":{"name":"node_timeline_preview","path":"scripts/node_timeline_preview/node_timeline_preview.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_greyscale","path":"shaders/sh_greyscale/sh_greyscale.yy",},"order":6,},
|
{"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":"node_global","path":"scripts/node_global/node_global.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_outline","path":"shaders/sh_outline/sh_outline.yy",},"order":21,},
|
{"id":{"name":"sh_outline","path":"shaders/sh_outline/sh_outline.yy",},"order":21,},
|
||||||
{"id":{"name":"node_checkerboard","path":"scripts/node_checkerboard/node_checkerboard.yy",},"order":17,},
|
{"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":"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":18,},
|
{"id":{"name":"display_refresh","path":"scripts/display_refresh/display_refresh.yy",},"order":18,},
|
||||||
{"id":{"name":"s_node_grey_alpha","path":"sprites/s_node_grey_alpha/s_node_grey_alpha.yy",},"order":75,},
|
{"id":{"name":"s_node_grey_alpha","path":"sprites/s_node_grey_alpha/s_node_grey_alpha.yy",},"order":75,},
|
||||||
{"id":{"name":"o_dialog_color_selector","path":"objects/o_dialog_color_selector/o_dialog_color_selector.yy",},"order":0,},
|
{"id":{"name":"o_dialog_color_selector","path":"objects/o_dialog_color_selector/o_dialog_color_selector.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_bloom_pass1","path":"shaders/sh_bloom_pass1/sh_bloom_pass1.yy",},"order":0,},
|
{"id":{"name":"sh_bloom_pass1","path":"shaders/sh_bloom_pass1/sh_bloom_pass1.yy",},"order":0,},
|
||||||
{"id":{"name":"node_seperate_shapes","path":"scripts/node_seperate_shapes/node_seperate_shapes.yy",},"order":13,},
|
{"id":{"name":"node_seperate_shapes","path":"scripts/node_seperate_shapes/node_seperate_shapes.yy",},"order":9,},
|
||||||
{"id":{"name":"node_sequence_to_anim","path":"scripts/node_sequence_to_anim/node_sequence_to_anim.yy",},"order":3,},
|
{"id":{"name":"node_sequence_to_anim","path":"scripts/node_sequence_to_anim/node_sequence_to_anim.yy",},"order":3,},
|
||||||
{"id":{"name":"node_image_sheet","path":"scripts/node_image_sheet/node_image_sheet.yy",},"order":4,},
|
{"id":{"name":"node_image_sheet","path":"scripts/node_image_sheet/node_image_sheet.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_posterize_palette","path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",},"order":8,},
|
{"id":{"name":"sh_posterize_palette","path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",},"order":8,},
|
||||||
|
@ -289,7 +304,7 @@
|
||||||
{"id":{"name":"s_node_BW","path":"sprites/s_node_BW/s_node_BW.yy",},"order":100,},
|
{"id":{"name":"s_node_BW","path":"sprites/s_node_BW/s_node_BW.yy",},"order":100,},
|
||||||
{"id":{"name":"node_shadow","path":"scripts/node_shadow/node_shadow.yy",},"order":17,},
|
{"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":96,},
|
{"id":{"name":"s_node_color_data","path":"sprites/s_node_color_data/s_node_color_data.yy",},"order":96,},
|
||||||
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":5,},
|
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":4,},
|
||||||
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
|
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
|
||||||
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},"order":1,},
|
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},"order":99,},
|
{"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},"order":99,},
|
||||||
|
@ -310,9 +325,10 @@
|
||||||
{"id":{"name":"area_function","path":"scripts/area_function/area_function.yy",},"order":2,},
|
{"id":{"name":"area_function","path":"scripts/area_function/area_function.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_statistic","path":"sprites/s_node_statistic/s_node_statistic.yy",},"order":3,},
|
{"id":{"name":"s_node_statistic","path":"sprites/s_node_statistic/s_node_statistic.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_blend_alpha_addition","path":"shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy",},"order":13,},
|
{"id":{"name":"sh_blend_alpha_addition","path":"shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy",},"order":13,},
|
||||||
|
{"id":{"name":"node_VFX_effect_vortex","path":"scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":118,},
|
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":118,},
|
||||||
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":20,},
|
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":20,},
|
||||||
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":19,},
|
{"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":"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,},
|
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_animation","path":"objects/o_dialog_animation/o_dialog_animation.yy",},"order":1,},
|
{"id":{"name":"o_dialog_animation","path":"objects/o_dialog_animation/o_dialog_animation.yy",},"order":1,},
|
||||||
|
@ -324,7 +340,7 @@
|
||||||
{"id":{"name":"s_node_gradient","path":"sprites/s_node_gradient/s_node_gradient.yy",},"order":77,},
|
{"id":{"name":"s_node_gradient","path":"sprites/s_node_gradient/s_node_gradient.yy",},"order":77,},
|
||||||
{"id":{"name":"s_node_padding","path":"sprites/s_node_padding/s_node_padding.yy",},"order":55,},
|
{"id":{"name":"s_node_padding","path":"sprites/s_node_padding/s_node_padding.yy",},"order":55,},
|
||||||
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},"order":2,},
|
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},"order":2,},
|
||||||
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},"order":14,},
|
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},"order":10,},
|
||||||
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},"order":7,},
|
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},"order":7,},
|
||||||
{"id":{"name":"lerp_float","path":"scripts/lerp_float/lerp_float.yy",},"order":1,},
|
{"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":"vectorRangeBox","path":"scripts/vectorRangeBox/vectorRangeBox.yy",},"order":19,},
|
||||||
|
@ -344,6 +360,7 @@
|
||||||
{"id":{"name":"byte_reader","path":"scripts/byte_reader/byte_reader.yy",},"order":0,},
|
{"id":{"name":"byte_reader","path":"scripts/byte_reader/byte_reader.yy",},"order":0,},
|
||||||
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
||||||
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
||||||
|
{"id":{"name":"_node_VFX","path":"scripts/_node_VFX/_node_VFX.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},"order":8,},
|
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},"order":8,},
|
||||||
{"id":{"name":"distance_to_line","path":"scripts/distance_to_line/distance_to_line.yy",},"order":0,},
|
{"id":{"name":"distance_to_line","path":"scripts/distance_to_line/distance_to_line.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_sprite_sheet","path":"sprites/s_node_sprite_sheet/s_node_sprite_sheet.yy",},"order":38,},
|
{"id":{"name":"s_node_sprite_sheet","path":"sprites/s_node_sprite_sheet/s_node_sprite_sheet.yy",},"order":38,},
|
||||||
|
@ -353,6 +370,7 @@
|
||||||
{"id":{"name":"curve_bounce_function","path":"scripts/curve_bounce_function/curve_bounce_function.yy",},"order":1,},
|
{"id":{"name":"curve_bounce_function","path":"scripts/curve_bounce_function/curve_bounce_function.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_number","path":"sprites/s_node_number/s_node_number.yy",},"order":12,},
|
{"id":{"name":"s_node_number","path":"sprites/s_node_number/s_node_number.yy",},"order":12,},
|
||||||
{"id":{"name":"gif_reader","path":"scripts/gif_reader/gif_reader.yy",},"order":4,},
|
{"id":{"name":"gif_reader","path":"scripts/gif_reader/gif_reader.yy",},"order":4,},
|
||||||
|
{"id":{"name":"s_node_vfx_vortex","path":"sprites/s_node_vfx_vortex/s_node_vfx_vortex.yy",},"order":121,},
|
||||||
{"id":{"name":"_f_p3","path":"fonts/_f_p3/_f_p3.yy",},"order":7,},
|
{"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":"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":"draw_rect_border","path":"scripts/draw_rect_border/draw_rect_border.yy",},"order":6,},
|
||||||
|
@ -393,8 +411,9 @@
|
||||||
{"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},"order":43,},
|
{"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},"order":43,},
|
||||||
{"id":{"name":"mouse_input","path":"scripts/mouse_input/mouse_input.yy",},"order":1,},
|
{"id":{"name":"mouse_input","path":"scripts/mouse_input/mouse_input.yy",},"order":1,},
|
||||||
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},"order":4,},
|
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},"order":4,},
|
||||||
|
{"id":{"name":"s_node_vfx_destroy","path":"sprites/s_node_vfx_destroy/s_node_vfx_destroy.yy",},"order":124,},
|
||||||
{"id":{"name":"node_3d_prim_cylinder","path":"scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.yy",},"order":7,},
|
{"id":{"name":"node_3d_prim_cylinder","path":"scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.yy",},"order":7,},
|
||||||
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},"order":20,},
|
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},"order":16,},
|
||||||
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},"order":44,},
|
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},"order":44,},
|
||||||
{"id":{"name":"node_anim_priority","path":"scripts/node_anim_priority/node_anim_priority.yy",},"order":2,},
|
{"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":"s_texture_default","path":"sprites/s_texture_default/s_texture_default.yy",},"order":1,},
|
||||||
|
@ -417,6 +436,7 @@
|
||||||
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},"order":18,},
|
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},"order":18,},
|
||||||
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,},
|
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":119,},
|
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":119,},
|
||||||
|
{"id":{"name":"s_node_vfx_render","path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},"order":128,},
|
||||||
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":34,},
|
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":34,},
|
||||||
{"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},"order":63,},
|
{"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},"order":63,},
|
||||||
|
@ -456,11 +476,13 @@
|
||||||
{"id":{"name":"node_collection","path":"scripts/node_collection/node_collection.yy",},"order":0,},
|
{"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,},
|
{"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},"order":6,},
|
||||||
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},"order":5,},
|
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},"order":5,},
|
||||||
|
{"id":{"name":"s_node_vfx_accel","path":"sprites/s_node_vfx_accel/s_node_vfx_accel.yy",},"order":126,},
|
||||||
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},"order":3,},
|
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},"order":3,},
|
||||||
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},"order":2,},
|
{"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":43,},
|
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},"order":43,},
|
||||||
{"id":{"name":"_f_p2","path":"fonts/_f_p2/_f_p2.yy",},"order":4,},
|
{"id":{"name":"_f_p2","path":"fonts/_f_p2/_f_p2.yy",},"order":4,},
|
||||||
{"id":{"name":"button","path":"scripts/button/button.yy",},"order":2,},
|
{"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":1,},
|
||||||
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":115,},
|
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":115,},
|
||||||
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":27,},
|
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":27,},
|
||||||
|
@ -476,7 +498,7 @@
|
||||||
{"id":{"name":"o_dialog_warning","path":"objects/o_dialog_warning/o_dialog_warning.yy",},"order":14,},
|
{"id":{"name":"o_dialog_warning","path":"objects/o_dialog_warning/o_dialog_warning.yy",},"order":14,},
|
||||||
{"id":{"name":"string_scale","path":"scripts/string_scale/string_scale.yy",},"order":6,},
|
{"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":71,},
|
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":71,},
|
||||||
{"id":{"name":"node_value_processor","path":"scripts/node_value_processor/node_value_processor.yy",},"order":1,},
|
{"id":{"name":"node_value_processor","path":"scripts/node_value_processor/node_value_processor.yy",},"order":7,},
|
||||||
{"id":{"name":"sample_projects","path":"scripts/sample_projects/sample_projects.yy",},"order":5,},
|
{"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":"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":"ds_map","path":"scripts/ds_map/ds_map.yy",},"order":0,},
|
||||||
|
@ -488,6 +510,7 @@
|
||||||
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},"order":7,},
|
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},"order":7,},
|
||||||
{"id":{"name":"node_group","path":"scripts/node_group/node_group.yy",},"order":0,},
|
{"id":{"name":"node_group","path":"scripts/node_group/node_group.yy",},"order":0,},
|
||||||
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},"order":10,},
|
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},"order":10,},
|
||||||
|
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},"order":9,},
|
||||||
{"id":{"name":"node_frame","path":"scripts/node_frame/node_frame.yy",},"order":1,},
|
{"id":{"name":"node_frame","path":"scripts/node_frame/node_frame.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},"order":44,},
|
{"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},"order":44,},
|
||||||
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":20,},
|
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":20,},
|
||||||
|
@ -508,7 +531,7 @@
|
||||||
{"id":{"name":"dialog_management","path":"scripts/dialog_management/dialog_management.yy",},"order":5,},
|
{"id":{"name":"dialog_management","path":"scripts/dialog_management/dialog_management.yy",},"order":5,},
|
||||||
{"id":{"name":"node_channels","path":"scripts/node_channels/node_channels.yy",},"order":24,},
|
{"id":{"name":"node_channels","path":"scripts/node_channels/node_channels.yy",},"order":24,},
|
||||||
{"id":{"name":"execute_shell_simple_ext","path":"extensions/execute_shell_simple_ext/execute_shell_simple_ext.yy",},"order":5,},
|
{"id":{"name":"execute_shell_simple_ext","path":"extensions/execute_shell_simple_ext/execute_shell_simple_ext.yy",},"order":5,},
|
||||||
{"id":{"name":"node_solid","path":"scripts/node_solid/node_solid.yy",},"order":18,},
|
{"id":{"name":"node_solid","path":"scripts/node_solid/node_solid.yy",},"order":14,},
|
||||||
{"id":{"name":"node_iteration_output","path":"scripts/node_iteration_output/node_iteration_output.yy",},"order":3,},
|
{"id":{"name":"node_iteration_output","path":"scripts/node_iteration_output/node_iteration_output.yy",},"order":3,},
|
||||||
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},"order":9,},
|
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},"order":9,},
|
||||||
{"id":{"name":"o_dialog_assetbox","path":"objects/o_dialog_assetbox/o_dialog_assetbox.yy",},"order":3,},
|
{"id":{"name":"o_dialog_assetbox","path":"objects/o_dialog_assetbox/o_dialog_assetbox.yy",},"order":3,},
|
||||||
|
@ -575,19 +598,19 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"scritps","folderPath":"folders/main/scritps.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"scritps","folderPath":"folders/main/scritps.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"nodes","folderPath":"folders/nodes.yy","order":4,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"nodes","folderPath":"folders/nodes.yy","order":4,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/nodes/data.yy","order":10,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/nodes/data.yy","order":10,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"__base__","folderPath":"folders/nodes/data/__base__.yy","order":21,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"__base__","folderPath":"folders/nodes/data/__base__.yy","order":12,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3D","folderPath":"folders/nodes/data/3D.yy","order":11,},
|
{"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":9,},
|
{"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":16,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/nodes/data/color.yy","order":9,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/data/filter.yy","order":3,},
|
{"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":8,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/nodes/data/generator.yy","order":4,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"group","folderPath":"folders/nodes/data/group.yy","order":10,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"group","folderPath":"folders/nodes/data/group.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"input","folderPath":"folders/nodes/data/input.yy","order":2,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"input","folderPath":"folders/nodes/data/input.yy","order":0,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"iterate","folderPath":"folders/nodes/data/iterate.yy","order":19,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"iterate","folderPath":"folders/nodes/data/iterate.yy","order":10,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy","order":20,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy","order":11,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"number","folderPath":"folders/nodes/data/number.yy","order":5,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"number","folderPath":"folders/nodes/data/number.yy","order":3,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"render","folderPath":"folders/nodes/data/render.yy","order":4,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"render","folderPath":"folders/nodes/data/render.yy","order":2,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"transform","folderPath":"folders/nodes/data/transform.yy","order":12,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"transform","folderPath":"folders/nodes/data/transform.yy","order":8,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"icons","folderPath":"folders/nodes/icons.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"icons","folderPath":"folders/nodes/icons.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"panels","folderPath":"folders/panels.yy","order":3,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"panels","folderPath":"folders/panels.yy","order":3,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/panels/data.yy","order":9,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/panels/data.yy","order":9,},
|
||||||
|
@ -605,6 +628,7 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/sprites.yy","order":10,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/sprites.yy","order":10,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"texture","folderPath":"folders/sprites/texture.yy","order":2,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"texture","folderPath":"folders/sprites/texture.yy","order":2,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy","order":6,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"VFX","folderPath":"folders/nodes/data/VFX.yy","order":13,},
|
||||||
],
|
],
|
||||||
"AudioGroups": [
|
"AudioGroups": [
|
||||||
{"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,},
|
{"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,},
|
||||||
|
@ -717,7 +741,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_keyframe_selecting.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_keyframe_selecting.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_ease_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_ease_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_area.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_area.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_single_hover_strip12.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_path.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_path.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junction_name_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junction_name_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
|
@ -788,7 +811,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_left_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_left_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_right_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_right_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"colors.json","CopyToMask":-1,"filePath":"datafiles/data/themes/default",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"colors.json","CopyToMask":-1,"filePath":"datafiles/data/themes/default",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_single_strip12.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_group_label.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_group_label.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_grid_setting.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_grid_setting.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_menu_white.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_menu_white.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
|
@ -825,7 +847,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_padding.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_padding.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_prop_on_end_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_prop_on_end_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_hover_strip12.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/timeline",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_keyframes_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_keyframes_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ui_scroll_bar.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ui_scroll_bar.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
|
@ -838,7 +859,6 @@
|
||||||
{"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":"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":"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":"s_node_bg_name.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_strip12.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":"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",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_area_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cache.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cache.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
@ -854,7 +874,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_refresh_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_refresh_16.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_file_save.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_file_save.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_file_load.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_file_load.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_state_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_state_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_dialog_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_dialog_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
|
@ -865,10 +884,16 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_animation_stretch.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_animation_stretch.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_visible.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_visible.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_junc_visible_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_junc_visible_strip2.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":"graphics.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/tool",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/tool",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_path_tools_circle.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/tool",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_path_tools_circle.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/tool",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_path_tools_rectangle.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/tool",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_path_tools_rectangle.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/tool",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_single.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
|
{"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":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_vfx.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":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
|
||||||
],
|
],
|
||||||
"MetaData": {
|
"MetaData": {
|
||||||
|
|
|
@ -263,6 +263,13 @@
|
||||||
"yorigin": 16,
|
"yorigin": 16,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
|
"vfx": {
|
||||||
|
"path": "./icon/s_vfx.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
"minus": {
|
"minus": {
|
||||||
"path": "./icon/s_minus_24.png",
|
"path": "./icon/s_minus_24.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
|
@ -487,28 +494,28 @@
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"node_junctions_array": {
|
"node_junctions_array": {
|
||||||
"path": "./node/s_node_junctions_array_strip12.png",
|
"path": "./node/s_node_junctions_array.png",
|
||||||
"subimages": 12,
|
"subimages": 12,
|
||||||
"xorigin": 16,
|
"xorigin": 16,
|
||||||
"yorigin": 16,
|
"yorigin": 16,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"node_junctions_array_hover": {
|
"node_junctions_array_hover": {
|
||||||
"path": "./node/s_node_junctions_array_hover_strip12.png",
|
"path": "./node/s_node_junctions_array_hover.png",
|
||||||
"subimages": 12,
|
"subimages": 12,
|
||||||
"xorigin": 16,
|
"xorigin": 16,
|
||||||
"yorigin": 16,
|
"yorigin": 16,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"node_junctions_single": {
|
"node_junctions_single": {
|
||||||
"path": "./node/s_node_junctions_single_strip12.png",
|
"path": "./node/s_node_junctions_single.png",
|
||||||
"subimages": 12,
|
"subimages": 12,
|
||||||
"xorigin": 16,
|
"xorigin": 16,
|
||||||
"yorigin": 16,
|
"yorigin": 16,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"node_junctions_single_hover": {
|
"node_junctions_single_hover": {
|
||||||
"path": "./node/s_node_junctions_single_hover_strip12.png",
|
"path": "./node/s_node_junctions_single_hover.png",
|
||||||
"subimages": 12,
|
"subimages": 12,
|
||||||
"xorigin": 16,
|
"xorigin": 16,
|
||||||
"yorigin": 16,
|
"yorigin": 16,
|
||||||
|
|
BIN
datafiles/data/themes/default/graphics/icon/s_vfx.png
Normal file
After Width: | Height: | Size: 392 B |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 4.2 KiB |
|
@ -24,7 +24,7 @@ event_inherited();
|
||||||
|
|
||||||
anchor = ANCHOR.left | ANCHOR.top;
|
anchor = ANCHOR.left | ANCHOR.top;
|
||||||
|
|
||||||
page_key = ADD_NODE_PAGE == ""? NODE_CATAGORY[| 2] : ADD_NODE_PAGE;
|
page_key = ADD_NODE_PAGE == ""? NODE_CATAGORY[| 3] : ADD_NODE_PAGE;
|
||||||
page = ALL_NODES[? page_key];
|
page = ALL_NODES[? page_key];
|
||||||
|
|
||||||
function buildNode(_node, _param = "") {
|
function buildNode(_node, _param = "") {
|
||||||
|
@ -119,6 +119,10 @@ event_inherited();
|
||||||
if(context != "Node_Iterate") continue;
|
if(context != "Node_Iterate") continue;
|
||||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
||||||
break;
|
break;
|
||||||
|
case "VFX" :
|
||||||
|
if(context != "Node_VFX_Group") continue;
|
||||||
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(key == page_key) {
|
if(key == page_key) {
|
||||||
|
|
|
@ -81,25 +81,41 @@ event_inherited();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region tools
|
#region tools
|
||||||
function sortPalette() {
|
function __sortBright(c1, c2) {
|
||||||
array_sort(palette, function(c1, c2) {
|
var r1 = color_get_red(c1);
|
||||||
var h1 = color_get_hue(c1);
|
var g1 = color_get_green(c1);
|
||||||
var h2 = color_get_hue(c2);
|
var b1 = color_get_blue(c1);
|
||||||
|
var l1 = 0.299 * r1 + 0.587 * g1 + 0.114 * b1;
|
||||||
|
|
||||||
if(h1 != h2) return h1 - h2;
|
var r2 = color_get_red(c2);
|
||||||
|
var g2 = color_get_green(c2);
|
||||||
|
var b2 = color_get_blue(c2);
|
||||||
|
var l2 = 0.299 * r2 + 0.587 * g2 + 0.224 * b2;
|
||||||
|
|
||||||
var r1 = color_get_red(c1);
|
return l2 - l1;
|
||||||
var g1 = color_get_green(c1);
|
}
|
||||||
var b1 = color_get_blue(c1);
|
|
||||||
var l1 = 0.299 * r1 + 0.587 * g1 + 0.114 * b1;
|
function __sortDark(c1, c2) {
|
||||||
|
return -__sortBright(c1, c2);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __sortHue(c1, c2) {
|
||||||
|
var h1 = color_get_hue(c1);
|
||||||
|
var s1 = color_get_saturation(c1);
|
||||||
|
var v1 = color_get_value(c1);
|
||||||
|
var l1 = 0.8 * h1 + 0.1 * s1 + 0.1 * v1;
|
||||||
|
|
||||||
var r2 = color_get_red(c2);
|
var h2 = color_get_hue(c2);
|
||||||
var g2 = color_get_green(c2);
|
var s2 = color_get_saturation(c2);
|
||||||
var b2 = color_get_blue(c2);
|
var v2 = color_get_value(c2);
|
||||||
var l2 = 0.299 * r2 + 0.587 * g2 + 0.224 * b2;
|
var l2 = 0.8 * h2 + 0.1 * s2 + 0.1 * v2;
|
||||||
|
|
||||||
return l2 - l1;
|
return l2 - l1;
|
||||||
});
|
}
|
||||||
|
|
||||||
|
function sortPalette(sortFunc) {
|
||||||
|
array_sort(palette, sortFunc);
|
||||||
|
onApply(palette);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -91,8 +91,12 @@ if palette == 0 exit;
|
||||||
var by = dialog_y + ui(16);
|
var by = dialog_y + ui(16);
|
||||||
|
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Sort color", THEME.sort) == 2) {
|
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Sort color", THEME.sort) == 2) {
|
||||||
sortPalette();
|
var dia = dialogCall(o_dialog_menubox, bx + ui(32), by);
|
||||||
onApply(palette);
|
dia.setMenu([
|
||||||
|
[ "Brighter", function() { sortPalette(__sortBright); } ],
|
||||||
|
[ "Darker", function() { sortPalette(__sortDark); } ],
|
||||||
|
[ "Hue", function() { sortPalette(__sortHue); } ],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
bx -= ui(32);
|
bx -= ui(32);
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
room_height = WIN_H;
|
room_height = WIN_H;
|
||||||
|
|
||||||
draw_set_circle_precision(64);
|
draw_set_circle_precision(64);
|
||||||
globalvar CURSOR, UPDATE, TOOLTIP, DIALOG_DEPTH_HOVER;
|
|
||||||
globalvar RENDER_STACK, KEYBOARD_STRING;
|
|
||||||
DIALOG_DEPTH_HOVER = 0;
|
DIALOG_DEPTH_HOVER = 0;
|
||||||
UPDATE = RENDER_TYPE.none;
|
UPDATE = RENDER_TYPE.none;
|
||||||
CURSOR = cr_default;
|
CURSOR = cr_default;
|
||||||
|
|
186
scripts/__VFX/__VFX.gml
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
enum ANIM_END_ACTION {
|
||||||
|
loop,
|
||||||
|
pingpong,
|
||||||
|
destroy,
|
||||||
|
}
|
||||||
|
|
||||||
|
enum PARTICLE_BLEND_MODE {
|
||||||
|
normal,
|
||||||
|
additive
|
||||||
|
}
|
||||||
|
|
||||||
|
function __part() constructor {
|
||||||
|
seed = irandom(99999);
|
||||||
|
active = false;
|
||||||
|
surf = noone;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
sx = 0;
|
||||||
|
sy = 0;
|
||||||
|
ac = 0;
|
||||||
|
g = 0;
|
||||||
|
wig = 0;
|
||||||
|
|
||||||
|
boundary_data = -1;
|
||||||
|
|
||||||
|
fx = 0;
|
||||||
|
fy = 0;
|
||||||
|
|
||||||
|
gy = 0;
|
||||||
|
|
||||||
|
scx = 1;
|
||||||
|
scy = 1;
|
||||||
|
scx_s = 1;
|
||||||
|
scy_s = 1;
|
||||||
|
|
||||||
|
rot = 0;
|
||||||
|
follow = false;
|
||||||
|
rot_s = 0;
|
||||||
|
|
||||||
|
col = -1;
|
||||||
|
alp = 1;
|
||||||
|
alp_draw = alp;
|
||||||
|
alp_fade = 0;
|
||||||
|
|
||||||
|
life = 0;
|
||||||
|
life_total = 0;
|
||||||
|
|
||||||
|
anim_speed = 1;
|
||||||
|
anim_end = ANIM_END_ACTION.loop;
|
||||||
|
|
||||||
|
function create(_surf, _x, _y, _life) {
|
||||||
|
active = true;
|
||||||
|
surf = _surf;
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
gy = 0;
|
||||||
|
|
||||||
|
life = _life;
|
||||||
|
life_total = life;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setPhysic(_sx, _sy, _ac, _g, _wig) {
|
||||||
|
sx = _sx;
|
||||||
|
sy = _sy;
|
||||||
|
ac = _ac;
|
||||||
|
g = _g;
|
||||||
|
|
||||||
|
wig = _wig;
|
||||||
|
}
|
||||||
|
function setTransform(_scx, _scy, _scxs, _scys, _rot, _rots, _follow) {
|
||||||
|
scx = _scx;
|
||||||
|
scy = _scy;
|
||||||
|
scx_s = _scxs;
|
||||||
|
scy_s = _scys;
|
||||||
|
rot = _rot;
|
||||||
|
rot_s = _rots;
|
||||||
|
follow = _follow;
|
||||||
|
}
|
||||||
|
function setDraw(_col, _alp, _fade) {
|
||||||
|
col = _col;
|
||||||
|
alp = _alp;
|
||||||
|
alp_draw = _alp;
|
||||||
|
alp_fade = _fade;
|
||||||
|
}
|
||||||
|
|
||||||
|
function kill() {
|
||||||
|
active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static step = function() {
|
||||||
|
if(!active) return;
|
||||||
|
var xp = x, yp = y;
|
||||||
|
x += sx;
|
||||||
|
y += sy;
|
||||||
|
|
||||||
|
var dirr = point_direction(0, 0, sx, sy);
|
||||||
|
var diss = point_distance(0, 0, sx, sy);
|
||||||
|
if(diss > 0) {
|
||||||
|
diss += ac;
|
||||||
|
dirr += random_range(-wig, wig);
|
||||||
|
sx = lengthdir_x(diss, dirr);
|
||||||
|
sy = lengthdir_y(diss, dirr);
|
||||||
|
}
|
||||||
|
|
||||||
|
gy += g;
|
||||||
|
y += gy;
|
||||||
|
|
||||||
|
if(scx_s < 0) scx = max(scx + scx_s, 0);
|
||||||
|
else scx = scx + scx_s;
|
||||||
|
if(scy_s < 0) scy = max(scy + scy_s, 0);
|
||||||
|
else scy = scy + scy_s;
|
||||||
|
|
||||||
|
if(follow)
|
||||||
|
rot = point_direction(xp, yp, x, y);
|
||||||
|
else
|
||||||
|
rot += rot_s;
|
||||||
|
alp_draw = alp * eval_bezier_cubic(1 - life / life_total, alp_fade[0], alp_fade[1], alp_fade[2], alp_fade[3]);
|
||||||
|
|
||||||
|
if(life-- < 0) kill();
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw(exact) {
|
||||||
|
if(!active) return;
|
||||||
|
var ss = surf;
|
||||||
|
if(is_array(surf)) {
|
||||||
|
var ind = abs(round((life_total - life) * anim_speed));
|
||||||
|
var len = array_length(surf);
|
||||||
|
|
||||||
|
switch(anim_end) {
|
||||||
|
case ANIM_END_ACTION.loop:
|
||||||
|
ss = surf[safe_mod(ind, len)];
|
||||||
|
break;
|
||||||
|
case ANIM_END_ACTION.pingpong:
|
||||||
|
var ping = safe_mod(ind, (len - 1) * 2 + 1);
|
||||||
|
ss = surf[ping >= len? (len - 1) * 2 - ping : ping];
|
||||||
|
break;
|
||||||
|
case ANIM_END_ACTION.destroy:
|
||||||
|
if(ind >= len) return;
|
||||||
|
else ss = surf[ind];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!is_surface(ss)) return;
|
||||||
|
|
||||||
|
var cc = (col == -1)? c_white : gradient_eval(col, 1 - life / life_total);
|
||||||
|
var _xx, _yy;
|
||||||
|
var s_w = surface_get_width(ss) * scx;
|
||||||
|
var s_h = surface_get_height(ss) * scy;
|
||||||
|
|
||||||
|
if(boundary_data == -1) {
|
||||||
|
var _pp = point_rotate(-s_w / 2, -s_h / 2, 0, 0, rot);
|
||||||
|
_xx = x + _pp[0];
|
||||||
|
_yy = y + _pp[1];
|
||||||
|
} else {
|
||||||
|
var ww = boundary_data[2] + boundary_data[0];
|
||||||
|
var hh = boundary_data[3] + boundary_data[1];
|
||||||
|
|
||||||
|
var cx = (boundary_data[0] + boundary_data[2]) / 2;
|
||||||
|
var cy = (boundary_data[1] + boundary_data[3]) / 2;
|
||||||
|
|
||||||
|
var _pp = point_rotate(-cx, -cy, 0, 0, rot);
|
||||||
|
|
||||||
|
_xx = x + cx + _pp[0] * scx;
|
||||||
|
_yy = y + cy + _pp[1] * scy;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(exact) {
|
||||||
|
_xx = round(_xx);
|
||||||
|
_yy = round(_yy);
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_surface_ext_safe(ss, _xx, _yy, scx, scy, rot, cc, alp_draw);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPivot() {
|
||||||
|
if(boundary_data == -1)
|
||||||
|
return [x, y];
|
||||||
|
|
||||||
|
var ww = (boundary_data[2] - boundary_data[0]) * scx;
|
||||||
|
var hh = (boundary_data[3] - boundary_data[1]) * scy;
|
||||||
|
var cx = x + boundary_data[0] + ww / 2;
|
||||||
|
var cy = y + boundary_data[1] + hh / 2;
|
||||||
|
|
||||||
|
return [cx, cy];
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "node_particle_effector",
|
"name": "__VFX",
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "generator",
|
"name": "VFX",
|
||||||
"path": "folders/nodes/data/generator.yy",
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
375
scripts/_node_VFX/_node_VFX.gml
Normal file
|
@ -0,0 +1,375 @@
|
||||||
|
/* Backup
|
||||||
|
function Node_create_VFX(_x, _y) {
|
||||||
|
var node = new Node_VFX(_x, _y);
|
||||||
|
//ds_list_add(PANEL_GRAPH.nodes_list, node);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "VFX";
|
||||||
|
auto_update = false;
|
||||||
|
use_cache = true;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0)
|
||||||
|
.setDisplay(noone, "particles");
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue(2, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
||||||
|
inputs[| 3] = nodeValue(3, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
||||||
|
inputs[| 4] = nodeValue(4, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue(5, "Spawn distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]);
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue(6, "Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 7] = nodeValue(7, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
inputs[| 8] = nodeValue(8, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 9] = nodeValue(9, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0])
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
|
||||||
|
inputs[| 10] = nodeValue(10, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 11] = nodeValue(11, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
|
inputs[| 12] = nodeValue(12, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 13] = nodeValue(13, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
||||||
|
.setDisplay(VALUE_DISPLAY.gradient);
|
||||||
|
inputs[| 14] = nodeValue(14, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
inputs[| 15] = nodeValue(15, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [1, 1, 1, 1]);
|
||||||
|
|
||||||
|
inputs[| 16] = nodeValue(16, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
|
inputs[| 17] = nodeValue(17, "Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]);
|
||||||
|
|
||||||
|
inputs[| 18] = nodeValue(18, "Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 19] = nodeValue(19, "Draw exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
|
inputs[| 20] = nodeValue(20, "Spawn velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [1, 2] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 21] = nodeValue(21, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
inputs[| 22] = nodeValue(22, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
|
inputs[| 23] = nodeValue(23, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
|
inputs[| 24] = nodeValue(24, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]);
|
||||||
|
|
||||||
|
inputs[| 25] = nodeValue(25, "Surface array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation" ])
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 26] = nodeValue(26, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 )
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 27] = nodeValue(27, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]);
|
||||||
|
|
||||||
|
inputs[| 28] = nodeValue(28, "Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [])
|
||||||
|
.setVisible(false, true);
|
||||||
|
|
||||||
|
inputs[| 29] = nodeValue(29, "On animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, ANIM_END_ACTION.loop)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Loop", "Ping pong", "Destroy" ])
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
input_display_list = [
|
||||||
|
["Output", true], 1,
|
||||||
|
["Sprite", false], 0, 25, 26, 29,
|
||||||
|
["Spawn", true], 17, 2, 3, 4, 5, 27, 28, 6,
|
||||||
|
["Movement", true], 7, 20, 8,
|
||||||
|
["Physics", true], 21, 22,
|
||||||
|
["Rotation", true], 16, 9, 10,
|
||||||
|
["Scale", true], 11, 18, 12,
|
||||||
|
["Color", true], 13, 14, 15,
|
||||||
|
["Render", true], 24, 19, 23
|
||||||
|
];
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
|
||||||
|
|
||||||
|
seed_origin = irandom(9999999);
|
||||||
|
seed = seed_origin;
|
||||||
|
def_surface = -1;
|
||||||
|
|
||||||
|
parts = ds_list_create();
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
||||||
|
ds_list_add(parts, new __part());
|
||||||
|
|
||||||
|
outputs[| 1] = nodeValue(1, "Particle data", self, JUNCTION_CONNECT.output, VALUE_TYPE.object, parts );
|
||||||
|
|
||||||
|
static spawn = function(_time = ANIMATOR.current_frame) {
|
||||||
|
random_set_seed(seed++);
|
||||||
|
|
||||||
|
var _inSurf = inputs[| 0].getValue(_time);
|
||||||
|
|
||||||
|
if(_inSurf == 0) {
|
||||||
|
if(def_surface == -1 || !surface_exists(def_surface)) {
|
||||||
|
def_surface = PIXEL_SURFACE;
|
||||||
|
surface_set_target(def_surface);
|
||||||
|
draw_clear(c_white);
|
||||||
|
surface_reset_target();
|
||||||
|
}
|
||||||
|
_inSurf = def_surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _spawn_amount = inputs[| 3].getValue(_time);
|
||||||
|
var _amo = _spawn_amount;
|
||||||
|
|
||||||
|
var _spawn_area = inputs[| 4].getValue(_time);
|
||||||
|
var _distrib = inputs[| 5].getValue(_time);
|
||||||
|
var _scatter = inputs[| 27].getValue(_time);
|
||||||
|
|
||||||
|
var _life = inputs[| 6].getValue(_time);
|
||||||
|
var _direction = inputs[| 7].getValue(_time);
|
||||||
|
var _velocity = inputs[| 20].getValue(_time);
|
||||||
|
|
||||||
|
var _accel = inputs[| 8].getValue(_time);
|
||||||
|
var _grav = inputs[| 21].getValue(_time);
|
||||||
|
var _wigg = inputs[| 22].getValue(_time);
|
||||||
|
|
||||||
|
var _follow = inputs[| 16].getValue(_time);
|
||||||
|
var _rotation = inputs[| 9].getValue(_time);
|
||||||
|
var _rotation_speed = inputs[| 10].getValue(_time);
|
||||||
|
var _scale = inputs[| 11].getValue(_time);
|
||||||
|
var _size = inputs[| 18].getValue(_time);
|
||||||
|
var _scale_speed = inputs[| 12].getValue(_time);
|
||||||
|
|
||||||
|
var _loop = inputs[| 23].getValue(_time);
|
||||||
|
|
||||||
|
var _color = inputs[| 13].getValue(_time);
|
||||||
|
var _alpha = inputs[| 14].getValue(_time);
|
||||||
|
var _fade = inputs[| 15].getValue(_time);
|
||||||
|
|
||||||
|
var _arr_type = inputs[| 25].getValue(_time);
|
||||||
|
var _anim_speed = inputs[| 26].getValue(_time);
|
||||||
|
var _anim_end = inputs[| 29].getValue(_time);
|
||||||
|
|
||||||
|
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
||||||
|
if(!parts[| i].active) {
|
||||||
|
var _spr = _inSurf, _index = 0;
|
||||||
|
if(is_array(_inSurf)) {
|
||||||
|
if(_arr_type == 0) {
|
||||||
|
_index = irandom(array_length(_inSurf) - 1);
|
||||||
|
_spr = _inSurf[_index];
|
||||||
|
} else if(_arr_type == 1) {
|
||||||
|
_index = safe_mod(spawn_index, array_length(_inSurf));
|
||||||
|
_spr = _inSurf[_index];
|
||||||
|
} else if(_arr_type == 2)
|
||||||
|
_spr = _inSurf;
|
||||||
|
}
|
||||||
|
var xx = 0;
|
||||||
|
var yy = 0;
|
||||||
|
|
||||||
|
if(_scatter == 2) {
|
||||||
|
var _b_data = inputs[| 28].getValue(_time);
|
||||||
|
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
||||||
|
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
||||||
|
if(!is_array(_b) || array_length(_b) != 4) return;
|
||||||
|
|
||||||
|
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
||||||
|
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
||||||
|
|
||||||
|
parts[| i].boundary_data = _b;
|
||||||
|
} else {
|
||||||
|
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount);
|
||||||
|
xx = sp[0];
|
||||||
|
yy = sp[1];
|
||||||
|
|
||||||
|
parts[| i].boundary_data = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _lif = random_range(_life[0], _life[1]);
|
||||||
|
|
||||||
|
var _rot = random_range(_rotation[0], _rotation[1]);
|
||||||
|
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
||||||
|
|
||||||
|
var _dirr = random_range(_direction[0], _direction[1]);
|
||||||
|
|
||||||
|
var _velo = random_range(_velocity[0], _velocity[1]);
|
||||||
|
var _vx = lengthdir_x(_velo, _dirr);
|
||||||
|
var _vy = lengthdir_y(_velo, _dirr);
|
||||||
|
var _acc = random_range(_accel[0], _accel[1]);
|
||||||
|
|
||||||
|
var _ss = random_range(_size[0], _size[1]);
|
||||||
|
var _scx = random_range(_scale[0], _scale[1]) * _ss;
|
||||||
|
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
||||||
|
|
||||||
|
var _alp = random_range(_alpha[0], _alpha[1]);
|
||||||
|
|
||||||
|
parts[| i].create(_spr, xx, yy, _lif);
|
||||||
|
parts[| i].anim_speed = _anim_speed;
|
||||||
|
parts[| i].anim_end = _anim_end;
|
||||||
|
|
||||||
|
parts[| i].setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
||||||
|
parts[| i].setTransform(_scx, _scy, _scale_speed[0], _scale_speed[1], _rot, _rot_spd, _follow);
|
||||||
|
parts[| i].setDraw(_color, _alp, _fade);
|
||||||
|
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
||||||
|
|
||||||
|
if(--_amo <= 0)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function reset() {
|
||||||
|
spawn_index = 0;
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
||||||
|
parts[| i].kill();
|
||||||
|
}
|
||||||
|
render();
|
||||||
|
seed = seed_origin;
|
||||||
|
|
||||||
|
var _loop = inputs[| 23].getValue();
|
||||||
|
if(!_loop) return;
|
||||||
|
|
||||||
|
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
||||||
|
runFrame(i);
|
||||||
|
|
||||||
|
seed = seed_origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateParticle(_time = ANIMATOR.current_frame) {
|
||||||
|
var jun = outputs[| 1];
|
||||||
|
for(var j = 0; j < ds_list_size(jun.value_to); j++) {
|
||||||
|
if(jun.value_to[| j].value_from == jun)
|
||||||
|
jun.value_to[| j].node.doUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
render(_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkPartPool() {
|
||||||
|
var _part_amo = PREF_MAP[? "part_max_amount"];
|
||||||
|
var _curr_amo = ds_list_size(parts);
|
||||||
|
|
||||||
|
if(_part_amo > _curr_amo) {
|
||||||
|
repeat(_part_amo - _curr_amo)
|
||||||
|
ds_list_add(parts, new __part());
|
||||||
|
} else if(_part_amo < _curr_amo) {
|
||||||
|
repeat(_curr_amo - _part_amo)
|
||||||
|
ds_list_delete(parts, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static runFrame = function(_time = ANIMATOR.current_frame) {
|
||||||
|
var _spawn_delay = inputs[| 2].getValue(_time);
|
||||||
|
var _spawn_type = inputs[| 17].getValue(_time);
|
||||||
|
|
||||||
|
switch(_spawn_type) {
|
||||||
|
case 0 :
|
||||||
|
if(safe_mod(_time, _spawn_delay) == 0)
|
||||||
|
spawn(_time);
|
||||||
|
break;
|
||||||
|
case 1 :
|
||||||
|
if(_time == _spawn_delay)
|
||||||
|
spawn(_time);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i = 0; i < ds_list_size(parts); i++)
|
||||||
|
parts[| i].step();
|
||||||
|
updateParticle(_time);
|
||||||
|
triggerRender();
|
||||||
|
}
|
||||||
|
|
||||||
|
static step = function() {
|
||||||
|
var _inSurf = inputs[| 0].getValue();
|
||||||
|
var _scatt = inputs[| 27].getValue();
|
||||||
|
var _loop = inputs[| 23].getValue();
|
||||||
|
|
||||||
|
inputs[| 25].setVisible(false);
|
||||||
|
inputs[| 26].setVisible(false);
|
||||||
|
inputs[| 28].setVisible(_scatt == 2);
|
||||||
|
|
||||||
|
if(is_array(_inSurf)) {
|
||||||
|
inputs[| 25].setVisible(true);
|
||||||
|
var _type = inputs[| 25].getValue();
|
||||||
|
if(_type == 2) {
|
||||||
|
inputs[| 26].setVisible(true);
|
||||||
|
inputs[| 29].setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
checkPartPool();
|
||||||
|
var _spawn_type = inputs[| 17].getValue();
|
||||||
|
if(_spawn_type == 0) inputs[| 2].name = "Spawn delay";
|
||||||
|
else inputs[| 2].name = "Spawn frame";
|
||||||
|
|
||||||
|
if(ANIMATOR.frame_progress) {
|
||||||
|
if(recoverCache()) {
|
||||||
|
triggerRender();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!ANIMATOR.is_playing) return;
|
||||||
|
|
||||||
|
if(ANIMATOR.current_frame == 0) {
|
||||||
|
reset();
|
||||||
|
runFrame(ANIMATOR.current_frame);
|
||||||
|
} else if(cached_output[ANIMATOR.current_frame - 1] != 0) {
|
||||||
|
runFrame(ANIMATOR.current_frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
|
inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
if(onDrawOverlay != -1)
|
||||||
|
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawOverlay = -1;
|
||||||
|
|
||||||
|
function render(_time = ANIMATOR.current_frame) {
|
||||||
|
var _dim = inputs[| 1].getValue(_time);
|
||||||
|
var _exact = inputs[| 19].getValue(_time);
|
||||||
|
var _blend = inputs[| 24].getValue(_time);
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
surface_set_target(_outSurf);
|
||||||
|
draw_clear_alpha(c_white, 0);
|
||||||
|
|
||||||
|
switch(_blend) {
|
||||||
|
case PARTICLE_BLEND_MODE.normal : gpu_set_blendmode(bm_normal); break;
|
||||||
|
case PARTICLE_BLEND_MODE.additive : gpu_set_blendmode(bm_add); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
||||||
|
parts[| i].draw(_exact);
|
||||||
|
|
||||||
|
gpu_set_blendmode(bm_normal);
|
||||||
|
surface_reset_target();
|
||||||
|
|
||||||
|
cacheCurrentFrame(_outSurf);
|
||||||
|
}
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
reset();
|
||||||
|
}
|
||||||
|
doUpdate();
|
||||||
|
render();
|
||||||
|
}
|
11
scripts/_node_VFX/_node_VFX.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "_node_VFX",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_Particle_Effector(_x, _y) {
|
|
||||||
var node = new Node_Particle_Effector(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum FORCE_TYPE {
|
enum FORCE_TYPE {
|
||||||
Wind,
|
Wind,
|
||||||
Accelerate,
|
Accelerate,
|
||||||
|
@ -14,7 +8,7 @@ enum FORCE_TYPE {
|
||||||
Destroy
|
Destroy
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_Particle_Effector(_x, _y) : Node(_x, _y) constructor {
|
function Node_Particle_Effector(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
name = "Effector";
|
name = "Effector";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
11
scripts/_node_VFX_effector/_node_VFX_effector.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "_node_VFX_effector",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -7,4 +7,11 @@ function colorFromRGBArray(arr) {
|
||||||
|
|
||||||
function colorArrayFromReal(clr) {
|
function colorArrayFromReal(clr) {
|
||||||
return [color_get_red(clr) / 255, color_get_green(clr) / 255, color_get_blue(clr) / 255 ];
|
return [color_get_red(clr) / 255, color_get_green(clr) / 255, color_get_blue(clr) / 255 ];
|
||||||
|
}
|
||||||
|
|
||||||
|
function colorBrightness(clr) {
|
||||||
|
var r2 = color_get_red(clr) / 255;
|
||||||
|
var g2 = color_get_green(clr) / 255;
|
||||||
|
var b2 = color_get_blue(clr) / 255;
|
||||||
|
return 0.299 * r2 + 0.587 * g2 + 0.224 * b2;
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
#region save
|
#region save
|
||||||
globalvar LOADING, APPENDING, MODIFIED, CURRENT_PATH, READONLY, CONNECTION_CONFLICT, GLOBAL_SEED;
|
globalvar LOADING, APPENDING, MODIFIED, CURRENT_PATH, READONLY, CONNECTION_CONFLICT, GLOBAL_SEED, ALWAYS_FULL;
|
||||||
LOADING = false;
|
LOADING = false;
|
||||||
APPENDING = false;
|
APPENDING = false;
|
||||||
READONLY = false;
|
READONLY = false;
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
randomize();
|
randomize();
|
||||||
GLOBAL_SEED = irandom(9999999999);
|
GLOBAL_SEED = irandom(9999999999);
|
||||||
|
ALWAYS_FULL = false;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region main
|
#region main
|
||||||
|
@ -33,6 +34,9 @@
|
||||||
HOTKEY_CONTEXT = ds_list_create();
|
HOTKEY_CONTEXT = ds_list_create();
|
||||||
HOTKEY_CONTEXT[| 0] = "";
|
HOTKEY_CONTEXT[| 0] = "";
|
||||||
|
|
||||||
|
globalvar CURSOR, TOOLTIP, DIALOG_DEPTH_HOVER, KEYBOARD_STRING;
|
||||||
|
globalvar UPDATE, RENDER_STACK;
|
||||||
|
|
||||||
enum ANIMATOR_END {
|
enum ANIMATOR_END {
|
||||||
loop,
|
loop,
|
||||||
stop
|
stop
|
||||||
|
@ -110,6 +114,11 @@
|
||||||
#macro PIXEL_SURFACE surface_create_valid(1, 1)
|
#macro PIXEL_SURFACE surface_create_valid(1, 1)
|
||||||
#macro print show_debug_message
|
#macro print show_debug_message
|
||||||
#macro printlog if(log) show_debug_message
|
#macro printlog if(log) show_debug_message
|
||||||
|
|
||||||
|
function printIf(cond, log) {
|
||||||
|
if(!cond) return;
|
||||||
|
show_debug_message(log);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region presets
|
#region presets
|
||||||
|
|
|
@ -31,6 +31,7 @@ function LOAD_PATH(path, readonly = false) {
|
||||||
if(file_exists(temp_path)) file_delete(temp_path);
|
if(file_exists(temp_path)) file_delete(temp_path);
|
||||||
file_copy(path, temp_path);
|
file_copy(path, temp_path);
|
||||||
|
|
||||||
|
ALWAYS_FULL = false;
|
||||||
LOADING = true;
|
LOADING = true;
|
||||||
READONLY = readonly;
|
READONLY = readonly;
|
||||||
SET_PATH(path);
|
SET_PATH(path);
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_2D_light(_x, _y) {
|
|
||||||
var node = new Node_2D_light(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum LIGHT_SHAPE_2D {
|
enum LIGHT_SHAPE_2D {
|
||||||
point,
|
point,
|
||||||
line,
|
line,
|
||||||
|
@ -11,7 +5,7 @@ enum LIGHT_SHAPE_2D {
|
||||||
spot
|
spot
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_2D_light(_x, _y) : Node_Processor(_x, _y) constructor {
|
function Node_2D_light(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "2D light";
|
name = "2D light";
|
||||||
|
|
||||||
uniform_colr = shader_get_uniform(sh_2d_light, "color");
|
uniform_colr = shader_get_uniform(sh_2d_light, "color");
|
||||||
|
|
|
@ -1,22 +1,16 @@
|
||||||
function Node_create_3D_Obj(_x, _y) {
|
function Node_create_3D_Obj_path(_x, _y, _group = 1, path) {
|
||||||
var node = new Node_3D_Obj(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_create_3D_Obj_path(_x, _y, path) {
|
|
||||||
if(!file_exists(path)) return noone;
|
if(!file_exists(path)) return noone;
|
||||||
|
|
||||||
var node = new Node_3D_Obj(_x, _y);
|
var node = new Node_3D_Obj(_x, _y, _group);
|
||||||
node.inputs[| 0].setValue(path);
|
node.inputs[| 0].setValue(path);
|
||||||
node.updateObj();
|
node.updateObj();
|
||||||
node.doUpdate();
|
node.doUpdate();
|
||||||
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
//ds_list_add(PANEL_GRAPH.nodes_list, node);
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_3D_Obj(_x, _y) : Node(_x, _y) constructor {
|
function Node_3D_Obj(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
name = "3D Obj";
|
name = "3D Obj";
|
||||||
|
|
||||||
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
||||||
|
@ -93,7 +87,7 @@ function Node_3D_Obj(_x, _y) : Node(_x, _y) constructor {
|
||||||
|
|
||||||
inputs[| index].setFrom(sol.outputs[| 0]);
|
inputs[| index].setFrom(sol.outputs[| 0]);
|
||||||
} else {
|
} else {
|
||||||
var sol = nodeBuild("Solid", x - (w + 64), matY + m_index * (128 + 32));
|
var sol = nodeBuild("Node_Solid", x - (w + 64), matY + m_index * (128 + 32));
|
||||||
sol.name = mat.name + " texture";
|
sol.name = mat.name + " texture";
|
||||||
sol.inputs[| 1].setValue(mat.diff);
|
sol.inputs[| 1].setValue(mat.diff);
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_3D_Extrude(_x, _y) {
|
function Node_3D_Extrude(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_3D_Extrude(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_3D_Extrude(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "3D Extrude";
|
name = "3D Extrude";
|
||||||
|
|
||||||
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
||||||
|
@ -46,8 +40,10 @@ function Node_3D_Extrude(_x, _y) : Node(_x, _y) constructor {
|
||||||
inputs[| 10] = nodeValue(10, "Light color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
inputs[| 10] = nodeValue(10, "Light color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
||||||
inputs[| 11] = nodeValue(11, "Ambient color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_grey);
|
inputs[| 11] = nodeValue(11, "Ambient color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_grey);
|
||||||
|
|
||||||
input_display_list = [1,
|
inputs[| 12] = nodeValue(12, "Height map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||||
["Geometry", false], 0, 6,
|
|
||||||
|
input_display_list = [1,
|
||||||
|
["Geometry", false], 0, 12, 6,
|
||||||
["Transform", false], 2, 3, 4, 5,
|
["Transform", false], 2, 3, 4, 5,
|
||||||
["Light", false], 7, 8, 9, 10, 11
|
["Light", false], 7, 8, 9, 10, 11
|
||||||
];
|
];
|
||||||
|
@ -59,12 +55,13 @@ function Node_3D_Extrude(_x, _y) : Node(_x, _y) constructor {
|
||||||
vertex_end(VB);
|
vertex_end(VB);
|
||||||
|
|
||||||
static onValueUpdate = function(index) {
|
static onValueUpdate = function(index) {
|
||||||
if(index == 0)
|
if(index == 0 || index == 12)
|
||||||
generateMesh();
|
generateMesh();
|
||||||
}
|
}
|
||||||
|
|
||||||
static generateMesh = function() {
|
static generateMesh = function() {
|
||||||
var _ins = inputs[| 0].getValue();
|
var _ins = inputs[| 0].getValue();
|
||||||
|
var _hei = inputs[| 12].getValue();
|
||||||
if(!is_surface(_ins)) return;
|
if(!is_surface(_ins)) return;
|
||||||
|
|
||||||
var ww = surface_get_width(_ins);
|
var ww = surface_get_width(_ins);
|
||||||
|
@ -73,6 +70,24 @@ function Node_3D_Extrude(_x, _y) : Node(_x, _y) constructor {
|
||||||
var th = 1 / hh;
|
var th = 1 / hh;
|
||||||
var sw = -ww / 2 * tw;
|
var sw = -ww / 2 * tw;
|
||||||
var sh = -hh / 2 * th;
|
var sh = -hh / 2 * th;
|
||||||
|
var useH = is_surface(_hei);
|
||||||
|
|
||||||
|
if(useH) {
|
||||||
|
var height_buffer = buffer_create(ww * hh * 4, buffer_fixed, 2);
|
||||||
|
buffer_get_surface(height_buffer, _hei, 0);
|
||||||
|
buffer_seek(height_buffer, buffer_seek_start, 0);
|
||||||
|
|
||||||
|
var hei = array_create(ww, hh);
|
||||||
|
|
||||||
|
for( var j = 0; j < hh; j++ )
|
||||||
|
for( var i = 0; i < ww; i++ ) {
|
||||||
|
var cc = buffer_read(height_buffer, buffer_u32);
|
||||||
|
var _b = colorBrightness(cc & ~0b11111111);
|
||||||
|
hei[i][j] = _b;
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer_delete(height_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
var surface_buffer = buffer_create(ww * hh * 4, buffer_fixed, 2);
|
var surface_buffer = buffer_create(ww * hh * 4, buffer_fixed, 2);
|
||||||
buffer_get_surface(surface_buffer, _ins, 0);
|
buffer_get_surface(surface_buffer, _ins, 0);
|
||||||
|
@ -88,6 +103,8 @@ function Node_3D_Extrude(_x, _y) : Node(_x, _y) constructor {
|
||||||
ap[i][j] = _a;
|
ap[i][j] = _a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buffer_delete(surface_buffer);
|
||||||
|
|
||||||
for( var i = 0; i < ww; i++ )
|
for( var i = 0; i < ww; i++ )
|
||||||
for( var j = 0; j < hh; j++ ) {
|
for( var j = 0; j < hh; j++ ) {
|
||||||
if(ap[i][j] == 0) continue;
|
if(ap[i][j] == 0) continue;
|
||||||
|
@ -97,60 +114,62 @@ function Node_3D_Extrude(_x, _y) : Node(_x, _y) constructor {
|
||||||
var tx0 = tw * i, tx1 = tx0 + tw;
|
var tx0 = tw * i, tx1 = tx0 + tw;
|
||||||
var ty0 = th * j, ty1 = ty0 + th;
|
var ty0 = th * j, ty1 = ty0 + th;
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i1, j0, -0.5], [0, 0, -1], [tx1, ty0]);
|
var dep = (useH? hei[i][j] : 1) * 0.5;
|
||||||
vertex_add_pnt(VB, [i0, j0, -0.5], [0, 0, -1], [tx0, ty0]);
|
|
||||||
vertex_add_pnt(VB, [i1, j1, -0.5], [0, 0, -1], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j0, -dep], [0, 0, -1], [tx1, ty0]);
|
||||||
|
vertex_add_pnt(VB, [i0, j0, -dep], [0, 0, -1], [tx0, ty0]);
|
||||||
|
vertex_add_pnt(VB, [i1, j1, -dep], [0, 0, -1], [tx1, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i1, j1, -0.5], [0, 0, -1], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j1, -dep], [0, 0, -1], [tx1, ty1]);
|
||||||
vertex_add_pnt(VB, [i0, j0, -0.5], [0, 0, -1], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j0, -dep], [0, 0, -1], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j1, -0.5], [0, 0, -1], [tx0, ty1]);
|
vertex_add_pnt(VB, [i0, j1, -dep], [0, 0, -1], [tx0, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i1, j0, 0.5], [0, 0, 1], [tx1, ty0]);
|
vertex_add_pnt(VB, [i1, j0, dep], [0, 0, 1], [tx1, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j0, 0.5], [0, 0, 1], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j0, dep], [0, 0, 1], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j1, 0.5], [0, 0, 1], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j1, dep], [0, 0, 1], [tx1, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i1, j1, 0.5], [0, 0, 1], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j1, dep], [0, 0, 1], [tx1, ty1]);
|
||||||
vertex_add_pnt(VB, [i0, j0, 0.5], [0, 0, 1], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j0, dep], [0, 0, 1], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j1, 0.5], [0, 0, 1], [tx0, ty1]);
|
vertex_add_pnt(VB, [i0, j1, dep], [0, 0, 1], [tx0, ty1]);
|
||||||
|
|
||||||
if(j == 0 || ap[i][j - 1] == 0) {
|
if((useH && dep > hei[i][j - 1]) || (j == 0 || ap[i][j - 1] == 0)) {
|
||||||
vertex_add_pnt(VB, [i0, j0, 0.5], [0, -1, 0], [tx1, ty0]);
|
vertex_add_pnt(VB, [i0, j0, dep], [0, -1, 0], [tx1, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j0, -0.5], [0, -1, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j0, -dep], [0, -1, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j0, 0.5], [0, -1, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j0, dep], [0, -1, 0], [tx1, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i0, j0, -0.5], [0, -1, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i0, j0, -dep], [0, -1, 0], [tx1, ty1]);
|
||||||
vertex_add_pnt(VB, [i1, j0, -0.5], [0, -1, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i1, j0, -dep], [0, -1, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j0, 0.5], [0, -1, 0], [tx0, ty1]);
|
vertex_add_pnt(VB, [i1, j0, dep], [0, -1, 0], [tx0, ty1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(j == hh - 1 || ap[i][j + 1] == 0) {
|
if((useH && dep > hei[i][j + 1]) || (j == hh - 1 || ap[i][j + 1] == 0)) {
|
||||||
vertex_add_pnt(VB, [i0, j1, 0.5], [0, 1, 0], [tx1, ty0]);
|
vertex_add_pnt(VB, [i0, j1, dep], [0, 1, 0], [tx1, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j1, -0.5], [0, 1, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j1, -dep], [0, 1, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j1, 0.5], [0, 1, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j1, dep], [0, 1, 0], [tx1, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i0, j1, -0.5], [0, 1, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i0, j1, -dep], [0, 1, 0], [tx1, ty1]);
|
||||||
vertex_add_pnt(VB, [i1, j1, -0.5], [0, 1, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i1, j1, -dep], [0, 1, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j1, 0.5], [0, 1, 0], [tx0, ty1]);
|
vertex_add_pnt(VB, [i1, j1, dep], [0, 1, 0], [tx0, ty1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(i == 0 || ap[i - 1][j] == 0) {
|
if((useH && dep > hei[i - 1][j]) || (i == 0 || ap[i - 1][j] == 0)) {
|
||||||
vertex_add_pnt(VB, [i0, j0, 0.5], [1, 0, 0], [tx1, ty0]);
|
vertex_add_pnt(VB, [i0, j0, dep], [1, 0, 0], [tx1, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j0, -0.5], [1, 0, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j0, -dep], [1, 0, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j1, 0.5], [1, 0, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i0, j1, dep], [1, 0, 0], [tx1, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i0, j0, -0.5], [1, 0, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i0, j0, -dep], [1, 0, 0], [tx1, ty1]);
|
||||||
vertex_add_pnt(VB, [i0, j1, -0.5], [1, 0, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i0, j1, -dep], [1, 0, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i0, j1, 0.5], [1, 0, 0], [tx0, ty1]);
|
vertex_add_pnt(VB, [i0, j1, dep], [1, 0, 0], [tx0, ty1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(i == ww - 1 || ap[i + 1][j] == 0) {
|
if((useH && dep > hei[i + 1][j]) || (i == ww - 1 || ap[i + 1][j] == 0)) {
|
||||||
vertex_add_pnt(VB, [i1, j0, 0.5], [-1, 0, 0], [tx1, ty0]);
|
vertex_add_pnt(VB, [i1, j0, dep], [-1, 0, 0], [tx1, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j0, -0.5], [-1, 0, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i1, j0, -dep], [-1, 0, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j1, 0.5], [-1, 0, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j1, dep], [-1, 0, 0], [tx1, ty1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [i1, j0, -0.5], [-1, 0, 0], [tx1, ty1]);
|
vertex_add_pnt(VB, [i1, j0, -dep], [-1, 0, 0], [tx1, ty1]);
|
||||||
vertex_add_pnt(VB, [i1, j1, -0.5], [-1, 0, 0], [tx0, ty0]);
|
vertex_add_pnt(VB, [i1, j1, -dep], [-1, 0, 0], [tx0, ty0]);
|
||||||
vertex_add_pnt(VB, [i1, j1, 0.5], [-1, 0, 0], [tx0, ty1]);
|
vertex_add_pnt(VB, [i1, j1, dep], [-1, 0, 0], [tx0, ty1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
vertex_end(VB);
|
vertex_end(VB);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_3D_Cube(_x, _y) {
|
function Node_3D_Cube(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_3D_Cube(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_3D_Cube(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "3D Cube";
|
name = "3D Cube";
|
||||||
|
|
||||||
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_3D_Cylinder(_x, _y) {
|
function Node_3D_Cylinder(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_3D_Cylinder(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_3D_Cylinder(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "3D Cylinder";
|
name = "3D Cylinder";
|
||||||
|
|
||||||
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
uniVertex_lightFor = shader_get_uniform(sh_vertex_pnt_light, "u_LightForward");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_3D_Transform(_x, _y) {
|
function Node_3D_Transform(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_3D_Transform(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_3D_Transform(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "3D Transform";
|
name = "3D Transform";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_9Slice(_x, _y) {
|
function Node_9Slice(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_9Slice(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_9Slice(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Nine slice";
|
name = "Nine slice";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
function Node_VFX_Accelerate(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Accelerate";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _vect = current_data[4];
|
||||||
|
var _sten = current_data[5];
|
||||||
|
var _rot_range = current_data[6];
|
||||||
|
var _sca_range = current_data[7];
|
||||||
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
|
part.sx = part.sx + _vect[0] * _sten * str;
|
||||||
|
part.sy = part.sy + _vect[1] * _sten * str;
|
||||||
|
|
||||||
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
var scx_s = _sca[0] * str;
|
||||||
|
var scy_s = _sca[1] * str;
|
||||||
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
|
else part.scx += sign(part.scx) * scx_s;
|
||||||
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
|
else part.scy += sign(part.scy) * scy_s;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_accelerate",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
30
scripts/node_VFX_effect_attract/node_VFX_effect_attract.gml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
function Node_VFX_Attract(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Attract";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _area = current_data[1];
|
||||||
|
var _area_x = _area[0];
|
||||||
|
var _area_y = _area[1];
|
||||||
|
|
||||||
|
var _vect = current_data[4];
|
||||||
|
var _sten = current_data[5];
|
||||||
|
var _rot_range = current_data[6];
|
||||||
|
var _sca_range = current_data[7];
|
||||||
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
var dirr = point_direction(pv[0], pv[1], _area_x, _area_y);
|
||||||
|
part.x = part.x + lengthdir_x(_sten * str, dirr);
|
||||||
|
part.y = part.y + lengthdir_y(_sten * str, dirr);
|
||||||
|
|
||||||
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
var scx_s = _sca[0] * str;
|
||||||
|
var scy_s = _sca[1] * str;
|
||||||
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
|
else part.scx += sign(part.scx) * scx_s;
|
||||||
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
|
else part.scy += sign(part.scy) * scy_s;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_attract",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
10
scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.gml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
function Node_VFX_Destroy(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Destroy";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _sten = current_data[5];
|
||||||
|
|
||||||
|
if(random(1) < str * _sten)
|
||||||
|
part.kill();
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_destroy",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
30
scripts/node_VFX_effect_repel/node_VFX_effect_repel.gml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
function Node_VFX_Repel(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Repel";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _area = current_data[1];
|
||||||
|
var _area_x = _area[0];
|
||||||
|
var _area_y = _area[1];
|
||||||
|
|
||||||
|
var _vect = current_data[4];
|
||||||
|
var _sten = current_data[5];
|
||||||
|
var _rot_range = current_data[6];
|
||||||
|
var _sca_range = current_data[7];
|
||||||
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
var dirr = point_direction(_area_x, _area_y, pv[0], pv[1]);
|
||||||
|
part.x = part.x + lengthdir_x(_sten * str, dirr);
|
||||||
|
part.y = part.y + lengthdir_y(_sten * str, dirr);
|
||||||
|
|
||||||
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
var scx_s = _sca[0] * str;
|
||||||
|
var scy_s = _sca[1] * str;
|
||||||
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
|
else part.scx += sign(part.scx) * scx_s;
|
||||||
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
|
else part.scy += sign(part.scy) * scy_s;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_repel",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
function Node_VFX_Turbulence(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Turbulence";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _vect = current_data[4];
|
||||||
|
var _sten = current_data[5];
|
||||||
|
var _rot_range = current_data[6];
|
||||||
|
var _sca_range = current_data[7];
|
||||||
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
|
||||||
|
var t_scale = current_data[10];
|
||||||
|
var per = (perlin_noise(pv[0] / t_scale, pv[1] / t_scale, 4, part.seed) - 0.5) * 2;
|
||||||
|
per *= str;
|
||||||
|
|
||||||
|
part.x = part.x + _vect[0] * per;
|
||||||
|
part.y = part.y + _vect[1] * per;
|
||||||
|
|
||||||
|
part.rot += _rot * per;
|
||||||
|
|
||||||
|
var scx_s = _sca[0] * str;
|
||||||
|
var scy_s = _sca[1] * str;
|
||||||
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
|
else part.scx += sign(part.scx) * scx_s;
|
||||||
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
|
else part.scy += sign(part.scy) * scy_s;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_turbulence",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
31
scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.gml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
function Node_VFX_Vortex(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Vortex";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _area = current_data[1];
|
||||||
|
var _area_x = _area[0];
|
||||||
|
var _area_y = _area[1];
|
||||||
|
|
||||||
|
var _vect = current_data[4];
|
||||||
|
var _sten = current_data[5];
|
||||||
|
var _rot_range = current_data[6];
|
||||||
|
var _sca_range = current_data[7];
|
||||||
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
var dirr = point_direction(_area_x, _area_y, pv[0], pv[1]) + 90;
|
||||||
|
|
||||||
|
part.x = part.x + lengthdir_x(_sten * str, dirr);
|
||||||
|
part.y = part.y + lengthdir_y(_sten * str, dirr);
|
||||||
|
|
||||||
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
var scx_s = _sca[0] * str;
|
||||||
|
var scy_s = _sca[1] * str;
|
||||||
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
|
else part.scx += sign(part.scx) * scx_s;
|
||||||
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
|
else part.scy += sign(part.scy) * scy_s;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_vortex",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
24
scripts/node_VFX_effect_wind/node_VFX_effect_wind.gml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
function Node_VFX_Wind(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
|
name = "Wind";
|
||||||
|
|
||||||
|
function onAffect(part, str) {
|
||||||
|
var _vect = current_data[4];
|
||||||
|
var _sten = current_data[5];
|
||||||
|
var _rot_range = current_data[6];
|
||||||
|
var _sca_range = current_data[7];
|
||||||
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
|
part.x = part.x + _vect[0] * _sten * str;
|
||||||
|
part.y = part.y + _vect[1] * _sten * str;
|
||||||
|
|
||||||
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
var scx_s = _sca[0] * str;
|
||||||
|
var scy_s = _sca[1] * str;
|
||||||
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
|
else part.scx += sign(part.scx) * scx_s;
|
||||||
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
|
else part.scy += sign(part.scy) * scy_s;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_effect_wind/node_VFX_effect_wind.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effect_wind",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
109
scripts/node_VFX_effector/node_VFX_effector.gml
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Effector";
|
||||||
|
previewable = false;
|
||||||
|
|
||||||
|
w = 64;
|
||||||
|
h = 64;
|
||||||
|
min_h = h;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, -1 )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue(1, "Area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16, 4, 4, AREA_SHAPE.rectangle ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.area);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue(2, "Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [0, 0, 1, 1] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.curve);
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue(3, "Falloff distance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4 );
|
||||||
|
|
||||||
|
inputs[| 4] = nodeValue(4, "Effect Vector", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ -1, 0 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue(5, "Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 );
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue(6, "Rotate particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
|
||||||
|
inputs[| 7] = nodeValue(7, "Scale particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 0 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
|
|
||||||
|
inputs[| 8] = nodeValue(8, "Turbulence scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
|
input_display_list = [ 0,
|
||||||
|
["Area", false], 1, 2, 3,
|
||||||
|
["Effect", false], 4, 5, 6, 7,
|
||||||
|
];
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.output, VALUE_TYPE.object, -1 );
|
||||||
|
|
||||||
|
current_data = [];
|
||||||
|
|
||||||
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
|
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
}
|
||||||
|
|
||||||
|
function onAffect(part, str) {}
|
||||||
|
|
||||||
|
function affect(part) {
|
||||||
|
if(!part.active) return;
|
||||||
|
|
||||||
|
var _area = current_data[1];
|
||||||
|
var _fall = current_data[2];
|
||||||
|
var _fads = current_data[3];
|
||||||
|
|
||||||
|
var _area_x = _area[0];
|
||||||
|
var _area_y = _area[1];
|
||||||
|
var _area_w = _area[2];
|
||||||
|
var _area_h = _area[3];
|
||||||
|
var _area_t = _area[4];
|
||||||
|
|
||||||
|
var _area_x0 = _area_x - _area_w;
|
||||||
|
var _area_x1 = _area_x + _area_w;
|
||||||
|
var _area_y0 = _area_y - _area_h;
|
||||||
|
var _area_y1 = _area_y + _area_h;
|
||||||
|
|
||||||
|
random_set_seed(part.seed);
|
||||||
|
|
||||||
|
var str = 0;
|
||||||
|
var pv = part.getPivot();
|
||||||
|
|
||||||
|
if(_area_t == AREA_SHAPE.rectangle) {
|
||||||
|
if(point_in_rectangle(pv[0], pv[1], _area_x0, _area_y0, _area_x1, _area_y1)) {
|
||||||
|
var _dst = min( distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x1, _area_y0),
|
||||||
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
||||||
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
||||||
|
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
||||||
|
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
||||||
|
}
|
||||||
|
} else if(_area_t == AREA_SHAPE.elipse) {
|
||||||
|
if(point_in_circle(pv[0], pv[1], _area_x, _area_y, min(_area_w, _area_h))) {
|
||||||
|
var _dst = point_distance(pv[0], pv[1], _area_x, _area_y);
|
||||||
|
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(str == 0) return;
|
||||||
|
|
||||||
|
onAffect(part, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var val = inputs[| 0].getValue();
|
||||||
|
outputs[| 0].setValue(val);
|
||||||
|
if(val == -1) return;
|
||||||
|
|
||||||
|
for( var i = 0; i < ds_list_size(inputs); i++ ) {
|
||||||
|
current_data[i] = inputs[| i].getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
for( var i = 0; i < ds_list_size(val); i++ )
|
||||||
|
affect(val[| i]);
|
||||||
|
|
||||||
|
var jun = outputs[| 0];
|
||||||
|
for(var j = 0; j < ds_list_size(jun.value_to); j++) {
|
||||||
|
if(jun.value_to[| j].value_from == jun)
|
||||||
|
jun.value_to[| j].node.doUpdate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_effector/node_VFX_effector.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_effector",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
14
scripts/node_VFX_group/node_VFX_group.gml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
function Node_VFX_Group(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) constructor {
|
||||||
|
name = "VFX";
|
||||||
|
color = COLORS.node_blend_collection;
|
||||||
|
ungroupable = false;
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING) {
|
||||||
|
var input = nodeBuild("Node_VFX_Spawner", -256, -32, self);
|
||||||
|
var renderer = nodeBuild("Node_VFX_Renderer", 256, -32, self);
|
||||||
|
var output = nodeBuild("Node_Group_Output", 256 + 32 * 5, -32, self);
|
||||||
|
|
||||||
|
renderer.inputs[| 0].setFrom(input.outputs[| 0]);
|
||||||
|
output.inputs[| 0].setFrom(renderer.outputs[| 0]);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_group/node_VFX_group.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_group",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
48
scripts/node_VFX_renderer/node_VFX_renderer.gml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Renderer";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue(2, "Round position", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue(3, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
|
||||||
|
|
||||||
|
function update(_time = ANIMATOR.current_frame) {
|
||||||
|
var parts = inputs[| 0].getValue(_time);
|
||||||
|
var _dim = inputs[| 1].getValue(_time);
|
||||||
|
var _exact = inputs[| 2].getValue(_time);
|
||||||
|
var _blend = inputs[| 3].getValue(_time);
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
surface_set_target(_outSurf);
|
||||||
|
draw_clear_alpha(c_white, 0);
|
||||||
|
|
||||||
|
switch(_blend) {
|
||||||
|
case PARTICLE_BLEND_MODE.normal : gpu_set_blendmode(bm_normal); break;
|
||||||
|
case PARTICLE_BLEND_MODE.additive : gpu_set_blendmode(bm_add); break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
||||||
|
parts[| i].draw(_exact);
|
||||||
|
|
||||||
|
gpu_set_blendmode(bm_normal);
|
||||||
|
surface_reset_target();
|
||||||
|
|
||||||
|
cacheCurrentFrame(_outSurf);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_VFX_renderer/node_VFX_renderer.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_renderer",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
305
scripts/node_VFX_spawner/node_VFX_spawner.gml
Normal file
|
@ -0,0 +1,305 @@
|
||||||
|
function Node_VFX_Spawner(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Spawner";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0)
|
||||||
|
.setDisplay(noone, "particles");
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue(1, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
||||||
|
inputs[| 2] = nodeValue(2, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
||||||
|
inputs[| 3] = nodeValue(3, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
||||||
|
|
||||||
|
inputs[| 4] = nodeValue(4, "Spawn distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]);
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue(5, "Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue(6, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
inputs[| 7] = nodeValue(7, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 8] = nodeValue(8, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0])
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
|
||||||
|
inputs[| 9] = nodeValue(9, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 10] = nodeValue(10, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
|
inputs[| 11] = nodeValue(11, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 12] = nodeValue(12, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
||||||
|
.setDisplay(VALUE_DISPLAY.gradient);
|
||||||
|
inputs[| 13] = nodeValue(13, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
inputs[| 14] = nodeValue(14, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [1, 1, 1, 1]);
|
||||||
|
|
||||||
|
inputs[| 15] = nodeValue(15, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
|
inputs[| 16] = nodeValue(16, "Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]);
|
||||||
|
|
||||||
|
inputs[| 17] = nodeValue(17, "Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 18] = nodeValue(18, "Spawn velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [1, 2] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 19] = nodeValue(19, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
inputs[| 20] = nodeValue(20, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
|
inputs[| 21] = nodeValue(21, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
|
inputs[| 22] = nodeValue(22, "Surface array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation" ])
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 23] = nodeValue(23, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 )
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 24] = nodeValue(24, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]);
|
||||||
|
|
||||||
|
inputs[| 25] = nodeValue(25, "Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [])
|
||||||
|
.setVisible(false, true);
|
||||||
|
|
||||||
|
inputs[| 26] = nodeValue(26, "On animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, ANIM_END_ACTION.loop)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Loop", "Ping pong", "Destroy" ])
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
input_display_list = [
|
||||||
|
["Sprite", false], 0, 22, 23, 26,
|
||||||
|
["Spawn", true], 16, 1, 2, 3, 4, 24, 25, 5,
|
||||||
|
["Movement", true], 6, 18, 7,
|
||||||
|
["Physics", true], 19, 20,
|
||||||
|
["Rotation", true], 15, 8, 9,
|
||||||
|
["Scale", true], 10, 17, 11,
|
||||||
|
["Color", true], 12, 13, 14,
|
||||||
|
["Render", true], 21
|
||||||
|
];
|
||||||
|
|
||||||
|
parts = ds_list_create();
|
||||||
|
outputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.output, VALUE_TYPE.object, parts );
|
||||||
|
|
||||||
|
seed_origin = irandom(9999999);
|
||||||
|
seed = seed_origin;
|
||||||
|
spawn_index = 0;
|
||||||
|
def_surface = -1;
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
||||||
|
ds_list_add(parts, new __part());
|
||||||
|
|
||||||
|
static spawn = function(_time = ANIMATOR.current_frame) {
|
||||||
|
random_set_seed(seed++);
|
||||||
|
|
||||||
|
var _inSurf = inputs[| 0].getValue(_time);
|
||||||
|
|
||||||
|
if(_inSurf == 0) {
|
||||||
|
if(def_surface == -1 || !surface_exists(def_surface)) {
|
||||||
|
def_surface = PIXEL_SURFACE;
|
||||||
|
surface_set_target(def_surface);
|
||||||
|
draw_clear(c_white);
|
||||||
|
surface_reset_target();
|
||||||
|
}
|
||||||
|
_inSurf = def_surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _spawn_amount = inputs[| 2].getValue(_time);
|
||||||
|
var _amo = _spawn_amount;
|
||||||
|
|
||||||
|
var _spawn_area = inputs[| 3].getValue(_time);
|
||||||
|
var _distrib = inputs[| 4].getValue(_time);
|
||||||
|
var _scatter = inputs[| 24].getValue(_time);
|
||||||
|
|
||||||
|
var _life = inputs[| 5].getValue(_time);
|
||||||
|
var _direction = inputs[| 6].getValue(_time);
|
||||||
|
var _velocity = inputs[| 18].getValue(_time);
|
||||||
|
|
||||||
|
var _accel = inputs[| 7].getValue(_time);
|
||||||
|
var _grav = inputs[| 19].getValue(_time);
|
||||||
|
var _wigg = inputs[| 20].getValue(_time);
|
||||||
|
|
||||||
|
var _follow = inputs[| 15].getValue(_time);
|
||||||
|
var _rotation = inputs[| 8].getValue(_time);
|
||||||
|
var _rotation_speed = inputs[| 9].getValue(_time);
|
||||||
|
var _scale = inputs[| 10].getValue(_time);
|
||||||
|
var _size = inputs[| 17].getValue(_time);
|
||||||
|
var _scale_speed = inputs[| 11].getValue(_time);
|
||||||
|
|
||||||
|
var _color = inputs[| 12].getValue(_time);
|
||||||
|
var _alpha = inputs[| 13].getValue(_time);
|
||||||
|
var _fade = inputs[| 14].getValue(_time);
|
||||||
|
|
||||||
|
var _arr_type = inputs[| 22].getValue(_time);
|
||||||
|
var _anim_speed = inputs[| 23].getValue(_time);
|
||||||
|
var _anim_end = inputs[| 26].getValue(_time);
|
||||||
|
|
||||||
|
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
||||||
|
if(!parts[| i].active) {
|
||||||
|
var _spr = _inSurf, _index = 0;
|
||||||
|
if(is_array(_inSurf)) {
|
||||||
|
if(_arr_type == 0) {
|
||||||
|
_index = irandom(array_length(_inSurf) - 1);
|
||||||
|
_spr = _inSurf[_index];
|
||||||
|
} else if(_arr_type == 1) {
|
||||||
|
_index = safe_mod(spawn_index, array_length(_inSurf));
|
||||||
|
_spr = _inSurf[_index];
|
||||||
|
} else if(_arr_type == 2)
|
||||||
|
_spr = _inSurf;
|
||||||
|
}
|
||||||
|
var xx = 0;
|
||||||
|
var yy = 0;
|
||||||
|
|
||||||
|
if(_scatter == 2) {
|
||||||
|
var _b_data = inputs[| 25].getValue(_time);
|
||||||
|
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
||||||
|
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
||||||
|
if(!is_array(_b) || array_length(_b) != 4) return;
|
||||||
|
|
||||||
|
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
||||||
|
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
||||||
|
|
||||||
|
parts[| i].boundary_data = _b;
|
||||||
|
} else {
|
||||||
|
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount);
|
||||||
|
xx = sp[0];
|
||||||
|
yy = sp[1];
|
||||||
|
|
||||||
|
parts[| i].boundary_data = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _lif = random_range(_life[0], _life[1]);
|
||||||
|
|
||||||
|
var _rot = random_range(_rotation[0], _rotation[1]);
|
||||||
|
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
||||||
|
|
||||||
|
var _dirr = random_range(_direction[0], _direction[1]);
|
||||||
|
|
||||||
|
var _velo = random_range(_velocity[0], _velocity[1]);
|
||||||
|
var _vx = lengthdir_x(_velo, _dirr);
|
||||||
|
var _vy = lengthdir_y(_velo, _dirr);
|
||||||
|
var _acc = random_range(_accel[0], _accel[1]);
|
||||||
|
|
||||||
|
var _ss = random_range(_size[0], _size[1]);
|
||||||
|
var _scx = random_range(_scale[0], _scale[1]) * _ss;
|
||||||
|
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
||||||
|
|
||||||
|
var _alp = random_range(_alpha[0], _alpha[1]);
|
||||||
|
|
||||||
|
parts[| i].create(_spr, xx, yy, _lif);
|
||||||
|
parts[| i].anim_speed = _anim_speed;
|
||||||
|
parts[| i].anim_end = _anim_end;
|
||||||
|
|
||||||
|
parts[| i].setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
||||||
|
parts[| i].setTransform(_scx, _scy, _scale_speed[0], _scale_speed[1], _rot, _rot_spd, _follow);
|
||||||
|
parts[| i].setDraw(_color, _alp, _fade);
|
||||||
|
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
||||||
|
|
||||||
|
if(--_amo <= 0)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function reset() {
|
||||||
|
spawn_index = 0;
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
||||||
|
parts[| i].kill();
|
||||||
|
}
|
||||||
|
render();
|
||||||
|
seed = seed_origin;
|
||||||
|
|
||||||
|
var _loop = inputs[| 21].getValue();
|
||||||
|
if(!_loop) return;
|
||||||
|
|
||||||
|
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
||||||
|
runFrame(i);
|
||||||
|
|
||||||
|
seed = seed_origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkPartPool() {
|
||||||
|
var _part_amo = PREF_MAP[? "part_max_amount"];
|
||||||
|
var _curr_amo = ds_list_size(parts);
|
||||||
|
|
||||||
|
if(_part_amo > _curr_amo) {
|
||||||
|
repeat(_part_amo - _curr_amo)
|
||||||
|
ds_list_add(parts, new __part());
|
||||||
|
} else if(_part_amo < _curr_amo) {
|
||||||
|
repeat(_curr_amo - _part_amo)
|
||||||
|
ds_list_delete(parts, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static runFrame = function(_time = ANIMATOR.current_frame) {
|
||||||
|
var _spawn_delay = inputs[| 1].getValue(_time);
|
||||||
|
var _spawn_type = inputs[| 16].getValue(_time);
|
||||||
|
|
||||||
|
switch(_spawn_type) {
|
||||||
|
case 0 :
|
||||||
|
if(safe_mod(_time, _spawn_delay) == 0)
|
||||||
|
spawn(_time);
|
||||||
|
break;
|
||||||
|
case 1 :
|
||||||
|
if(_time == _spawn_delay)
|
||||||
|
spawn(_time);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i = 0; i < ds_list_size(parts); i++)
|
||||||
|
parts[| i].step();
|
||||||
|
triggerRender();
|
||||||
|
render(_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
static step = function() {
|
||||||
|
var _inSurf = inputs[| 0].getValue();
|
||||||
|
var _scatt = inputs[| 24].getValue();
|
||||||
|
var _loop = inputs[| 21].getValue();
|
||||||
|
|
||||||
|
inputs[| 22].setVisible(false);
|
||||||
|
inputs[| 23].setVisible(false);
|
||||||
|
inputs[| 25].setVisible(_scatt == 2);
|
||||||
|
|
||||||
|
if(is_array(_inSurf)) {
|
||||||
|
inputs[| 22].setVisible(true);
|
||||||
|
var _type = inputs[| 22].getValue();
|
||||||
|
if(_type == 2) {
|
||||||
|
inputs[| 23].setVisible(true);
|
||||||
|
inputs[| 26].setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
checkPartPool();
|
||||||
|
var _spawn_type = inputs[| 16].getValue();
|
||||||
|
if(_spawn_type == 0) inputs[| 1].name = "Spawn delay";
|
||||||
|
else inputs[| 1].name = "Spawn frame";
|
||||||
|
|
||||||
|
onStep();
|
||||||
|
}
|
||||||
|
|
||||||
|
static onStep = function() {
|
||||||
|
if(!ANIMATOR.frame_progress) return;
|
||||||
|
if(!ANIMATOR.is_playing) return;
|
||||||
|
|
||||||
|
if(ANIMATOR.current_frame == 0)
|
||||||
|
reset();
|
||||||
|
runFrame(ANIMATOR.current_frame);
|
||||||
|
}
|
||||||
|
|
||||||
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
|
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
if(onDrawOverlay != -1)
|
||||||
|
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawOverlay = -1;
|
||||||
|
|
||||||
|
static update = function() {}
|
||||||
|
static render = function() {}
|
||||||
|
}
|
11
scripts/node_VFX_spawner/node_VFX_spawner.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_VFX_spawner",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "VFX",
|
||||||
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Alpha_Cutoff(_x, _y) {
|
function Node_Alpha_Cutoff(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Alpha_Cutoff(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Alpha_Cutoff(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Alpha cutoff";
|
name = "Alpha cutoff";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Alpha_Grey(_x, _y) {
|
function Node_Alpha_Grey(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Alpha_Grey(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Alpha_Grey(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Alpha to grey";
|
name = "Alpha to grey";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_Anim_Curve(_x, _y) {
|
|
||||||
var node = new Node_Anim_Curve(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Anim_Curve(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
function Node_Anim_Curve(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
||||||
name = "Anim Curve";
|
name = "Anim Curve";
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_Area(_x, _y) {
|
|
||||||
var node = new Node_Area(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Area(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
function Node_Area(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
||||||
name = "Area";
|
name = "Area";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Array(_x, _y) {
|
function Node_Array(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Array(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Array(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Array";
|
name = "Array";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Array_Get(_x, _y) {
|
function Node_Array_Get(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Array_Get(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Array_Get(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Array Get";
|
name = "Array Get";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Array_Length(_x, _y) {
|
function Node_Array_Length(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Array_Length(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Array_Length(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Array Length";
|
name = "Array Length";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Atlas(_x, _y) {
|
function Node_Atlas(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Atlas(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Atlas(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Atlas";
|
name = "Atlas";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_atlas, "dimension");
|
uniform_dim = shader_get_uniform(sh_atlas, "dimension");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Bevel(_x, _y) {
|
function Node_Bevel(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Bevel(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Bevel(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Bevel";
|
name = "Bevel";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_bevel, "dimension");
|
uniform_dim = shader_get_uniform(sh_bevel, "dimension");
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
function Node_create_Blend(_x, _y, _param = "") {
|
function Node_create_Blend(_x, _y, _group = 1, _param = "") {
|
||||||
var node = new Node_Blend(_x, _y);
|
var node = new Node_Blend(_x, _y, _group);
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
|
|
||||||
switch(_param) {
|
switch(_param) {
|
||||||
case "normal" : node.inputs[| 2].setValue(BLEND_MODE.normal) break;
|
case "normal" : node.inputs[| 2].setValue(BLEND_MODE.normal) break;
|
||||||
|
@ -14,7 +13,7 @@ function Node_create_Blend(_x, _y, _param = "") {
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_Blend(_x, _y) : Node_Processor(_x, _y) constructor {
|
function Node_Blend(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Blend";
|
name = "Blend";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, DEF_SURFACE);
|
inputs[| 0] = nodeValue(0, "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, DEF_SURFACE);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Bloom(_x, _y) {
|
function Node_Bloom(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Bloom(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Bloom(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Bloom";
|
name = "Bloom";
|
||||||
|
|
||||||
uniform_size = shader_get_uniform(sh_bloom_pass1, "size");
|
uniform_size = shader_get_uniform(sh_bloom_pass1, "size");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Blur(_x, _y) {
|
function Node_Blur(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Blur(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Blur(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Blur";
|
name = "Blur";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Blur_Contrast(_x, _y) {
|
function Node_Blur_Contrast(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Blur_Contrast(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Blur_Contrast(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Blur contrast";
|
name = "Blur contrast";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_blur_box_contrast, "dimension");
|
uniform_dim = shader_get_uniform(sh_blur_box_contrast, "dimension");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Blur_Directional(_x, _y) {
|
function Node_Blur_Directional(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Blur_Directional(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Blur_Directional(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Directional blur";
|
name = "Directional blur";
|
||||||
|
|
||||||
uniform_str = shader_get_uniform(sh_blur_directional, "strength");
|
uniform_str = shader_get_uniform(sh_blur_directional, "strength");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Blur_Radial(_x, _y) {
|
function Node_Blur_Radial(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Blur_Radial(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Blur_Radial(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Blur_Radial";
|
name = "Blur_Radial";
|
||||||
|
|
||||||
uniform_str = shader_get_uniform(sh_blur_radial, "strength");
|
uniform_str = shader_get_uniform(sh_blur_radial, "strength");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_BW(_x, _y) {
|
function Node_BW(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_BW(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_BW(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "BW";
|
name = "BW";
|
||||||
|
|
||||||
uniform_exp = shader_get_uniform(sh_bw, "brightness");
|
uniform_exp = shader_get_uniform(sh_bw, "brightness");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Canvas(_x, _y) {
|
function Node_Canvas(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Canvas(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Canvas(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Canvas";
|
name = "Canvas";
|
||||||
color = COLORS.node_blend_canvas;
|
color = COLORS.node_blend_canvas;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_RGB_Channel(_x, _y) {
|
function Node_RGB_Channel(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_RGB_Channel(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_RGB_Channel(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "RGB Channel";
|
name = "RGB Channel";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_Unicode(_x, _y) {
|
|
||||||
var node = new Node_Unicode(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Unicode(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
function Node_Unicode(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
||||||
name = "Unicode";
|
name = "Unicode";
|
||||||
color = COLORS.node_blend_number;
|
color = COLORS.node_blend_number;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Checker(_x, _y) {
|
function Node_Checker(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Checker(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Checker(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Checker";
|
name = "Checker";
|
||||||
|
|
||||||
shader = sh_checkerboard;
|
shader = sh_checkerboard;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Chromatic_Aberration(_x, _y) {
|
function Node_Chromatic_Aberration(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Chromatic_Aberration(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Chromatic_Aberration(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Chromatic aberration";
|
name = "Chromatic aberration";
|
||||||
|
|
||||||
shader = sh_chromatic_aberration;
|
shader = sh_chromatic_aberration;
|
||||||
|
|
|
@ -3,8 +3,9 @@ enum COLLECTION_TAG {
|
||||||
loop = 2
|
loop = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_Collection(_x, _y) : Node(_x, _y) constructor {
|
function Node_Collection(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
nodes = ds_list_create();
|
nodes = ds_list_create();
|
||||||
|
ungroupable = true;
|
||||||
|
|
||||||
custom_input_index = 0;
|
custom_input_index = 0;
|
||||||
custom_output_index = 0;
|
custom_output_index = 0;
|
||||||
|
@ -25,11 +26,8 @@ function Node_Collection(_x, _y) : Node(_x, _y) constructor {
|
||||||
|
|
||||||
if(!result && group != -1)
|
if(!result && group != -1)
|
||||||
group.setRenderStatus(result);
|
group.setRenderStatus(result);
|
||||||
postSetRenderStatus(result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static postSetRenderStatus = function(result) {}
|
|
||||||
|
|
||||||
function add(_node) {
|
function add(_node) {
|
||||||
ds_list_add(nodes, _node);
|
ds_list_add(nodes, _node);
|
||||||
var list = _node.group == -1? PANEL_GRAPH.nodes_list : _node.group.nodes;
|
var list = _node.group == -1? PANEL_GRAPH.nodes_list : _node.group.nodes;
|
||||||
|
@ -101,9 +99,9 @@ function Node_Collection(_x, _y) : Node(_x, _y) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static doUpdate = function() {
|
static doUpdate = function() {
|
||||||
for(var i = 0; i < ds_list_size(nodes); i++) {
|
//for(var i = 0; i < ds_list_size(nodes); i++) {
|
||||||
nodes[| i].doUpdate();
|
// nodes[| i].doUpdate();
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
static step = function() {
|
static step = function() {
|
||||||
|
@ -183,11 +181,11 @@ function Node_Collection(_x, _y) : Node(_x, _y) constructor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static resetRenderStatus = function() {
|
static resetAllRenderStatus = function() {
|
||||||
for( var i = 0; i < ds_list_size(nodes); i++ ) {
|
for( var i = 0; i < ds_list_size(nodes); i++ ) {
|
||||||
nodes[| i].setUpdate();
|
nodes[| i].setRenderStatus(false);
|
||||||
if(variable_struct_exists(nodes[| i], "nodes"))
|
if(variable_struct_exists(nodes[| i], "nodes"))
|
||||||
nodes[| i].resetRenderStatus();
|
nodes[| i].resetAllRenderStatus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Color(_x, _y) {
|
function Node_Color(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Color(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Color";
|
name = "Color";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Color_adjust(_x, _y) {
|
function Node_Color_adjust(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Color_adjust(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color_adjust(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Color adjust";
|
name = "Color adjust";
|
||||||
|
|
||||||
uniform_bri = shader_get_uniform(sh_color_adjust, "brightness");
|
uniform_bri = shader_get_uniform(sh_color_adjust, "brightness");
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_Color_Data(_x, _y) {
|
|
||||||
var node = new Node_Color_Data(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color_Data(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
function Node_Color_Data(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
||||||
name = "Color data";
|
name = "Color data";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Color_HSV(_x, _y) {
|
function Node_Color_HSV(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Color_HSV(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color_HSV(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "HSV Color";
|
name = "HSV Color";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Color_RGB(_x, _y) {
|
function Node_Color_RGB(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Color_RGB(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color_RGB(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "RGB Color";
|
name = "RGB Color";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Color_Remove(_x, _y) {
|
function Node_Color_Remove(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Color_Remove(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color_Remove(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Color Remove";
|
name = "Color Remove";
|
||||||
|
|
||||||
uniform_from = shader_get_uniform(sh_color_remove, "colorFrom");
|
uniform_from = shader_get_uniform(sh_color_remove, "colorFrom");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Color_replace(_x, _y) {
|
function Node_Color_replace(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Color_replace(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Color_replace(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Color replace";
|
name = "Color replace";
|
||||||
|
|
||||||
uniform_from = shader_get_uniform(sh_color_replace, "colorFrom");
|
uniform_from = shader_get_uniform(sh_color_replace, "colorFrom");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Sampler(_x, _y) {
|
function Node_Sampler(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Sampler(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Sampler(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Sampler";
|
name = "Sampler";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Colorize(_x, _y) {
|
function Node_Colorize(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Colorize(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Colorize(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Colorize";
|
name = "Colorize";
|
||||||
|
|
||||||
uniform_grad_blend = shader_get_uniform(sh_colorize, "gradient_blend");
|
uniform_grad_blend = shader_get_uniform(sh_colorize, "gradient_blend");
|
||||||
|
|
|
@ -1,16 +1,10 @@
|
||||||
function Node_create_Composite(_x, _y) {
|
|
||||||
var node = new Node_Composite(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum COMPOSE_OUTPUT_SCALING {
|
enum COMPOSE_OUTPUT_SCALING {
|
||||||
first,
|
first,
|
||||||
largest,
|
largest,
|
||||||
constant
|
constant
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_Composite(_x, _y) : Node_Processor(_x, _y) constructor {
|
function Node_Composite(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Composite";
|
name = "Composite";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_blend_normal_dim, "dimension");
|
uniform_dim = shader_get_uniform(sh_blend_normal_dim, "dimension");
|
||||||
|
|
|
@ -1,56 +1,72 @@
|
||||||
function Node_create_Condition(_x, _y) {
|
function Node_Condition(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Condition(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Condition(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Condition";
|
name = "Condition";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 0;
|
min_h = 0;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue( 0, "Check", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
inputs[| 0] = nodeValue( 0, "Check value", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[| 1] = nodeValue( 1, "If", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
inputs[| 1] = nodeValue( 1, "Condition", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Equal", "Not equal", "Less", "Less or equal", "Greater", "Greater or equal"]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Equal", "Not equal", "Less", "Less or equal", "Greater", "Greater or equal"]);
|
||||||
inputs[| 2] = nodeValue( 2, "To / Than", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
inputs[| 2] = nodeValue( 2, "Compare to", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
inputs[| 3] = nodeValue( 3, "True", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 )
|
inputs[| 3] = nodeValue( 3, "True", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 )
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
inputs[| 4] = nodeValue( 4, "False", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 )
|
inputs[| 4] = nodeValue( 4, "False", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 )
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
input_display_list = [
|
inputs[| 5] = nodeValue( 5, "Eval mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
["Condition", false], 0, 1, 2,
|
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Boolean", "Comparison"]);
|
||||||
["Result", false], 3, 4
|
|
||||||
|
inputs[| 6] = nodeValue( 6, "Boolean", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false )
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
input_display_list = [ 5,
|
||||||
|
["Condition", false], 0, 1, 2, 6,
|
||||||
|
["Result", true], 3, 4
|
||||||
]
|
]
|
||||||
|
|
||||||
outputs[| 0] = nodeValue(0, "Result", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, []);
|
outputs[| 0] = nodeValue(0, "Result", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, []);
|
||||||
|
outputs[| 1] = nodeValue(1, "Bool", self, JUNCTION_CONNECT.output, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
|
static step = function() {
|
||||||
|
var _mode = inputs[| 5].getValue();
|
||||||
|
|
||||||
|
inputs[| 0].setVisible(_mode);
|
||||||
|
inputs[| 1].setVisible(_mode);
|
||||||
|
inputs[| 2].setVisible(_mode);
|
||||||
|
inputs[| 6].setVisible(!_mode);
|
||||||
|
}
|
||||||
|
|
||||||
static update = function() {
|
static update = function() {
|
||||||
|
var _true = inputs[| 3].getValue();
|
||||||
|
var _fals = inputs[| 4].getValue();
|
||||||
|
|
||||||
|
var _mode = inputs[| 5].getValue();
|
||||||
|
|
||||||
var _chck = inputs[| 0].getValue();
|
var _chck = inputs[| 0].getValue();
|
||||||
var _cond = inputs[| 1].getValue();
|
var _cond = inputs[| 1].getValue();
|
||||||
var _valu = inputs[| 2].getValue();
|
var _valu = inputs[| 2].getValue();
|
||||||
|
var _bool = inputs[| 6].getValue();
|
||||||
var _true = inputs[| 3].getValue();
|
|
||||||
var _fals = inputs[| 4].getValue();
|
|
||||||
|
|
||||||
inputs[| 3].type = inputs[| 3].value_from == noone? VALUE_TYPE.any : inputs[| 3].value_from.type;
|
inputs[| 3].type = inputs[| 3].value_from == noone? VALUE_TYPE.any : inputs[| 3].value_from.type;
|
||||||
inputs[| 4].type = inputs[| 4].value_from == noone? VALUE_TYPE.any : inputs[| 4].value_from.type;
|
inputs[| 4].type = inputs[| 4].value_from == noone? VALUE_TYPE.any : inputs[| 4].value_from.type;
|
||||||
|
|
||||||
var res = false;
|
var res = false;
|
||||||
|
|
||||||
switch(_cond) {
|
if(_mode) {
|
||||||
case 0 : res = _chck == _valu; break;
|
switch(_cond) {
|
||||||
case 1 : res = _chck != _valu; break;
|
case 0 : res = _chck == _valu; break;
|
||||||
case 2 : res = _chck < _valu; break;
|
case 1 : res = _chck != _valu; break;
|
||||||
case 3 : res = _chck <= _valu; break;
|
case 2 : res = _chck < _valu; break;
|
||||||
case 4 : res = _chck > _valu; break;
|
case 3 : res = _chck <= _valu; break;
|
||||||
case 5 : res = _chck >= _valu; break;
|
case 4 : res = _chck > _valu; break;
|
||||||
}
|
case 5 : res = _chck >= _valu; break;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
res = _bool;
|
||||||
|
|
||||||
if(res) {
|
if(res) {
|
||||||
outputs[| 0].setValue(_true);
|
outputs[| 0].setValue(_true);
|
||||||
|
@ -59,5 +75,19 @@ function Node_Condition(_x, _y) : Node(_x, _y) constructor {
|
||||||
outputs[| 0].setValue(_fals);
|
outputs[| 0].setValue(_fals);
|
||||||
outputs[| 0].type = inputs[| 4].type;
|
outputs[| 0].type = inputs[| 4].type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
outputs[| 1].setValue(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
function onDrawNode(xx, yy, _mx, _my, _s) {
|
||||||
|
var val = outputs[| 1].getValue();
|
||||||
|
var frm = val? inputs[| 3] : inputs[| 4];
|
||||||
|
var to = outputs[| 0];
|
||||||
|
var c0 = value_color(frm.type);
|
||||||
|
|
||||||
|
draw_set_color(c0);
|
||||||
|
draw_set_alpha(0.5);
|
||||||
|
draw_line_width(frm.x, frm.y, to.x, to.y, _s * 4);
|
||||||
|
draw_set_alpha(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Corner(_x, _y) {
|
function Node_Corner(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Corner(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Corner(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Round corner";
|
name = "Round corner";
|
||||||
|
|
||||||
uniform_er_dim = shader_get_uniform(sh_erode, "dimension");
|
uniform_er_dim = shader_get_uniform(sh_erode, "dimension");
|
||||||
|
|
|
@ -1,9 +1,3 @@
|
||||||
function Node_create_Counter(_x, _y) {
|
|
||||||
var node = new Node_Counter(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Counter(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
function Node_Counter(_x, _y) : Node_Value_Processor(_x, _y) constructor {
|
||||||
name = "Counter";
|
name = "Counter";
|
||||||
update_on_frame = true;
|
update_on_frame = true;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Crop(_x, _y) {
|
function Node_Crop(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Crop(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Crop(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Crop";
|
name = "Crop";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
function Node(_x, _y) constructor {
|
function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
active = true;
|
active = true;
|
||||||
node_id = generateUUID();
|
node_id = generateUUID();
|
||||||
group = -1;
|
group = _group;
|
||||||
|
ds_list_add(PANEL_GRAPH.getNodeList(_group), self);
|
||||||
|
|
||||||
color = c_white;
|
color = c_white;
|
||||||
icon = noone;
|
icon = noone;
|
||||||
bg_spr = THEME.node_bg;
|
bg_spr = THEME.node_bg;
|
||||||
|
@ -11,7 +13,6 @@ function Node(_x, _y) constructor {
|
||||||
if(!LOADING && !APPENDING) {
|
if(!LOADING && !APPENDING) {
|
||||||
recordAction(ACTION_TYPE.node_added, self);
|
recordAction(ACTION_TYPE.node_added, self);
|
||||||
NODE_MAP[? node_id] = self;
|
NODE_MAP[? node_id] = self;
|
||||||
group = PANEL_GRAPH.getCurrentContext();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
name = "";
|
name = "";
|
||||||
|
@ -24,6 +25,7 @@ function Node(_x, _y) constructor {
|
||||||
auto_height = true;
|
auto_height = true;
|
||||||
|
|
||||||
input_display_list = -1;
|
input_display_list = -1;
|
||||||
|
output_display_list = -1;
|
||||||
inspector_display_list = -1;
|
inspector_display_list = -1;
|
||||||
is_dynamic_output = false;
|
is_dynamic_output = false;
|
||||||
inputs = ds_list_create();
|
inputs = ds_list_create();
|
||||||
|
@ -72,6 +74,12 @@ function Node(_x, _y) constructor {
|
||||||
return jun_list_arr;
|
return jun_list_arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static getOutputJunctionIndex = function(index) {
|
||||||
|
if(output_display_list == -1)
|
||||||
|
return index;
|
||||||
|
return output_display_list[index];
|
||||||
|
}
|
||||||
|
|
||||||
static setHeight = function() {
|
static setHeight = function() {
|
||||||
var _hi = ui(32);
|
var _hi = ui(32);
|
||||||
var _ho = ui(32);
|
var _ho = ui(32);
|
||||||
|
@ -201,12 +209,12 @@ function Node(_x, _y) constructor {
|
||||||
static preDraw = function(_x, _y, _s) {
|
static preDraw = function(_x, _y, _s) {
|
||||||
var xx = x * _s + _x;
|
var xx = x * _s + _x;
|
||||||
var yy = y * _s + _y;
|
var yy = y * _s + _y;
|
||||||
|
|
||||||
var jun;
|
var jun;
|
||||||
var amo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
|
||||||
|
var inamo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
||||||
var _in = yy + ui(32) * _s;
|
var _in = yy + ui(32) * _s;
|
||||||
|
|
||||||
for(var i = 0; i < amo; i++) {
|
for(var i = 0; i < inamo; i++) {
|
||||||
var idx = getInputJunctionIndex(i);
|
var idx = getInputJunctionIndex(i);
|
||||||
if(idx == noone) continue;
|
if(idx == noone) continue;
|
||||||
|
|
||||||
|
@ -217,10 +225,13 @@ function Node(_x, _y) constructor {
|
||||||
_in += 24 * _s * jun.isVisible();
|
_in += 24 * _s * jun.isVisible();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var outamo = output_display_list == -1? ds_list_size(outputs) : array_length(output_display_list);
|
||||||
|
|
||||||
xx = xx + w * _s;
|
xx = xx + w * _s;
|
||||||
_in = yy + ui(32) * _s;
|
_in = yy + ui(32) * _s;
|
||||||
for(var i = 0; i < ds_list_size(outputs); i++) {
|
for(var i = 0; i < outamo; i++) {
|
||||||
jun = outputs[| i];
|
var idx = getOutputJunctionIndex(i);
|
||||||
|
jun = outputs[| idx];
|
||||||
|
|
||||||
jun.x = xx;
|
jun.x = xx;
|
||||||
jun.y = _in;
|
jun.y = _in;
|
||||||
|
@ -314,7 +325,7 @@ function Node(_x, _y) constructor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static drawConnections = function(_x, _y, mx, my, _s) {
|
static drawConnections = function(_x, _y, _s, mx, my, active) {
|
||||||
var hovering = noone;
|
var hovering = noone;
|
||||||
for(var i = 0; i < ds_list_size(inputs); i++) {
|
for(var i = 0; i < ds_list_size(inputs); i++) {
|
||||||
var jun = inputs[| i];
|
var jun = inputs[| i];
|
||||||
|
@ -345,9 +356,9 @@ function Node(_x, _y) constructor {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(hover)
|
if(active && hover)
|
||||||
hovering = jun;
|
hovering = jun;
|
||||||
if(PANEL_GRAPH.junction_hovering == jun)
|
if(PANEL_GRAPH.junction_hovering == jun || (instance_exists(o_dialog_add_node) && o_dialog_add_node.junction_hovering == jun))
|
||||||
th *= 2;
|
th *= 2;
|
||||||
|
|
||||||
var ty = LINE_STYLE.solid;
|
var ty = LINE_STYLE.solid;
|
||||||
|
@ -626,6 +637,7 @@ function Node(_x, _y) constructor {
|
||||||
var _data = serialize();
|
var _data = serialize();
|
||||||
_node.deserialize(ds_map_clone(_data));
|
_node.deserialize(ds_map_clone(_data));
|
||||||
_node.node_id = generateUUID();
|
_node.node_id = generateUUID();
|
||||||
|
NODE_MAP[? _node.node_id] = _node;
|
||||||
|
|
||||||
return _node;
|
return _node;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_De_Corner(_x, _y) {
|
function Node_De_Corner(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_De_Corner(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_De_Corner(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "De-Corner";
|
name = "De-Corner";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_de_corner, "dimension");
|
uniform_dim = shader_get_uniform(sh_de_corner, "dimension");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_De_Stray(_x, _y) {
|
function Node_De_Stray(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_De_Stray(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_De_Stray(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "De-Stray";
|
name = "De-Stray";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_de_stray, "dimension");
|
uniform_dim = shader_get_uniform(sh_de_stray, "dimension");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Dilate(_x, _y) {
|
function Node_Dilate(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Dilate(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Dilate(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Dilate";
|
name = "Dilate";
|
||||||
|
|
||||||
uniform_dim = shader_get_uniform(sh_dilate, "dimension");
|
uniform_dim = shader_get_uniform(sh_dilate, "dimension");
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Displace(_x, _y) {
|
function Node_Displace(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Displace(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Displace(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
name = "Displace";
|
name = "Displace";
|
||||||
|
|
||||||
shader = sh_displace;
|
shader = sh_displace;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
function Node_create_Display_Image(_x, _y) {
|
function Node_create_Display_Image(_x, _y, _group = -1) {
|
||||||
var path = "";
|
var path = "";
|
||||||
if(!LOADING && !APPENDING) {
|
if(!LOADING && !APPENDING) {
|
||||||
path = get_open_filename(".png", "");
|
path = get_open_filename(".png", "");
|
||||||
if(path == "") return noone;
|
if(path == "") return noone;
|
||||||
}
|
}
|
||||||
|
|
||||||
var node = new Node_Display_Image(_x, _y);
|
var node = new Node_Display_Image(_x, _y, _group);
|
||||||
node.inputs[| 0].setValue(path);
|
node.inputs[| 0].setValue(path);
|
||||||
node.doUpdate();
|
node.doUpdate();
|
||||||
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
//ds_list_add(PANEL_GRAPH.nodes_list, node);
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,11 +20,11 @@ function Node_create_Display_Image_path(_x, _y, path) {
|
||||||
node.inputs[| 0].setValue(path);
|
node.inputs[| 0].setValue(path);
|
||||||
node.doUpdate();
|
node.doUpdate();
|
||||||
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
//ds_list_add(PANEL_GRAPH.nodes_list, node);
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
function Node_Display_Image(_x, _y) : Node(_x, _y) constructor {
|
function Node_Display_Image(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
name = "";
|
name = "";
|
||||||
always_output = true;
|
always_output = true;
|
||||||
auto_height = false;
|
auto_height = false;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Display_Text(_x, _y) {
|
function Node_Display_Text(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var node = new Node_Display_Text(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Display_Text(_x, _y) : Node(_x, _y) constructor {
|
|
||||||
name = "Display text";
|
name = "Display text";
|
||||||
w = 240;
|
w = 240;
|
||||||
h = 160;
|
h = 160;
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
function Node_create_Dither(_x, _y) {
|
function Node_Dither(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
var node = new Node_Dither(_x, _y);
|
|
||||||
ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_Dither(_x, _y) : Node_Processor(_x, _y) constructor {
|
|
||||||
static dither2 = [ 0, 2,
|
static dither2 = [ 0, 2,
|
||||||
3, 1 ];
|
3, 1 ];
|
||||||
static dither4 = [ 0, 8, 2, 10,
|
static dither4 = [ 0, 8, 2, 10,
|
||||||
|
|