- New Strand noise node.
|
@ -220,6 +220,7 @@
|
||||||
{"name":"color selector","order":14,"path":"folders/shader/color selector.yy",},
|
{"name":"color selector","order":14,"path":"folders/shader/color selector.yy",},
|
||||||
{"name":"draw","order":7,"path":"folders/shader/draw.yy",},
|
{"name":"draw","order":7,"path":"folders/shader/draw.yy",},
|
||||||
{"name":"filter","order":4,"path":"folders/shader/filter.yy",},
|
{"name":"filter","order":4,"path":"folders/shader/filter.yy",},
|
||||||
|
{"name":"blend edge","order":50,"path":"folders/shader/filter/blend edge.yy",},
|
||||||
{"name":"blur","order":40,"path":"folders/shader/filter/blur.yy",},
|
{"name":"blur","order":40,"path":"folders/shader/filter/blur.yy",},
|
||||||
{"name":"channels","order":39,"path":"folders/shader/filter/channels.yy",},
|
{"name":"channels","order":39,"path":"folders/shader/filter/channels.yy",},
|
||||||
{"name":"color","order":33,"path":"folders/shader/filter/color.yy",},
|
{"name":"color","order":33,"path":"folders/shader/filter/color.yy",},
|
||||||
|
@ -744,6 +745,7 @@
|
||||||
{"name":"fd_rectangle_get_visualization_shader","order":27,"path":"scripts/fd_rectangle_get_visualization_shader/fd_rectangle_get_visualization_shader.yy",},
|
{"name":"fd_rectangle_get_visualization_shader","order":27,"path":"scripts/fd_rectangle_get_visualization_shader/fd_rectangle_get_visualization_shader.yy",},
|
||||||
{"name":"preset_data","order":8,"path":"scripts/preset_data/preset_data.yy",},
|
{"name":"preset_data","order":8,"path":"scripts/preset_data/preset_data.yy",},
|
||||||
{"name":"_f_h5","order":2,"path":"fonts/_f_h5/_f_h5.yy",},
|
{"name":"_f_h5","order":2,"path":"fonts/_f_h5/_f_h5.yy",},
|
||||||
|
{"name":"node_blend_edge","order":19,"path":"scripts/node_blend_edge/node_blend_edge.yy",},
|
||||||
{"name":"node_string_split","order":3,"path":"scripts/node_string_split/node_string_split.yy",},
|
{"name":"node_string_split","order":3,"path":"scripts/node_string_split/node_string_split.yy",},
|
||||||
{"name":"meta_data","order":12,"path":"scripts/meta_data/meta_data.yy",},
|
{"name":"meta_data","order":12,"path":"scripts/meta_data/meta_data.yy",},
|
||||||
{"name":"node_find_pixel","order":1,"path":"scripts/node_find_pixel/node_find_pixel.yy",},
|
{"name":"node_find_pixel","order":1,"path":"scripts/node_find_pixel/node_find_pixel.yy",},
|
||||||
|
@ -836,6 +838,7 @@
|
||||||
{"name":"sh_spherize","order":11,"path":"shaders/sh_spherize/sh_spherize.yy",},
|
{"name":"sh_spherize","order":11,"path":"shaders/sh_spherize/sh_spherize.yy",},
|
||||||
{"name":"node_VFX_effect_destroy","order":3,"path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},
|
{"name":"node_VFX_effect_destroy","order":3,"path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},
|
||||||
{"name":"node_cache","order":9,"path":"scripts/node_cache/node_cache.yy",},
|
{"name":"node_cache","order":9,"path":"scripts/node_cache/node_cache.yy",},
|
||||||
|
{"name":"sh_noise_strand","order":15,"path":"shaders/sh_noise_strand/sh_noise_strand.yy",},
|
||||||
{"name":"sh_bw","order":3,"path":"shaders/sh_bw/sh_bw.yy",},
|
{"name":"sh_bw","order":3,"path":"shaders/sh_bw/sh_bw.yy",},
|
||||||
{"name":"var_comparison","order":1,"path":"scripts/var_comparison/var_comparison.yy",},
|
{"name":"var_comparison","order":1,"path":"scripts/var_comparison/var_comparison.yy",},
|
||||||
{"name":"node_array_zip","order":13,"path":"scripts/node_array_zip/node_array_zip.yy",},
|
{"name":"node_array_zip","order":13,"path":"scripts/node_array_zip/node_array_zip.yy",},
|
||||||
|
@ -1007,6 +1010,7 @@
|
||||||
{"name":"FirebaseREST_HTTP_Success_Firestore","order":19,"path":"scripts/FirebaseREST_HTTP_Success_Firestore/FirebaseREST_HTTP_Success_Firestore.yy",},
|
{"name":"FirebaseREST_HTTP_Success_Firestore","order":19,"path":"scripts/FirebaseREST_HTTP_Success_Firestore/FirebaseREST_HTTP_Success_Firestore.yy",},
|
||||||
{"name":"s_node_pb_draw_rectangle","order":13,"path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},
|
{"name":"s_node_pb_draw_rectangle","order":13,"path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},
|
||||||
{"name":"panel_animation","order":1,"path":"scripts/panel_animation/panel_animation.yy",},
|
{"name":"panel_animation","order":1,"path":"scripts/panel_animation/panel_animation.yy",},
|
||||||
|
{"name":"sh_blend_edge_blend","order":1,"path":"shaders/sh_blend_edge_blend/sh_blend_edge_blend.yy",},
|
||||||
{"name":"sh_bend_arc","order":13,"path":"shaders/sh_bend_arc/sh_bend_arc.yy",},
|
{"name":"sh_bend_arc","order":13,"path":"shaders/sh_bend_arc/sh_bend_arc.yy",},
|
||||||
{"name":"node_array_rearrange","order":19,"path":"scripts/node_array_rearrange/node_array_rearrange.yy",},
|
{"name":"node_array_rearrange","order":19,"path":"scripts/node_array_rearrange/node_array_rearrange.yy",},
|
||||||
{"name":"sh_pb_to_mask","order":7,"path":"shaders/sh_pb_to_mask/sh_pb_to_mask.yy",},
|
{"name":"sh_pb_to_mask","order":7,"path":"shaders/sh_pb_to_mask/sh_pb_to_mask.yy",},
|
||||||
|
@ -1016,6 +1020,7 @@
|
||||||
{"name":"sh_gradient","order":6,"path":"shaders/sh_gradient/sh_gradient.yy",},
|
{"name":"sh_gradient","order":6,"path":"shaders/sh_gradient/sh_gradient.yy",},
|
||||||
{"name":"sh_region_fill_init","order":2,"path":"shaders/sh_region_fill_init/sh_region_fill_init.yy",},
|
{"name":"sh_region_fill_init","order":2,"path":"shaders/sh_region_fill_init/sh_region_fill_init.yy",},
|
||||||
{"name":"node_json_file_read","order":7,"path":"scripts/node_json_file_read/node_json_file_read.yy",},
|
{"name":"node_json_file_read","order":7,"path":"scripts/node_json_file_read/node_json_file_read.yy",},
|
||||||
|
{"name":"s_node_strand_noise","order":44,"path":"sprites/s_node_strand_noise/s_node_strand_noise.yy",},
|
||||||
{"name":"s_node_array_remove","order":7,"path":"sprites/s_node_array_remove/s_node_array_remove.yy",},
|
{"name":"s_node_array_remove","order":7,"path":"sprites/s_node_array_remove/s_node_array_remove.yy",},
|
||||||
{"name":"s_node_zigzag","order":18,"path":"sprites/s_node_zigzag/s_node_zigzag.yy",},
|
{"name":"s_node_zigzag","order":18,"path":"sprites/s_node_zigzag/s_node_zigzag.yy",},
|
||||||
{"name":"node_FLIP_render","order":3,"path":"scripts/node_FLIP_render/node_FLIP_render.yy",},
|
{"name":"node_FLIP_render","order":3,"path":"scripts/node_FLIP_render/node_FLIP_render.yy",},
|
||||||
|
@ -1607,6 +1612,7 @@
|
||||||
{"name":"s_node_path_trim","order":6,"path":"sprites/s_node_path_trim/s_node_path_trim.yy",},
|
{"name":"s_node_path_trim","order":6,"path":"sprites/s_node_path_trim/s_node_path_trim.yy",},
|
||||||
{"name":"node_channels_hsv","order":1,"path":"scripts/node_channels_hsv/node_channels_hsv.yy",},
|
{"name":"node_channels_hsv","order":1,"path":"scripts/node_channels_hsv/node_channels_hsv.yy",},
|
||||||
{"name":"sh_stripe","order":1,"path":"shaders/sh_stripe/sh_stripe.yy",},
|
{"name":"sh_stripe","order":1,"path":"shaders/sh_stripe/sh_stripe.yy",},
|
||||||
|
{"name":"node_noise_strand","order":15,"path":"scripts/node_noise_strand/node_noise_strand.yy",},
|
||||||
{"name":"s_node_shard","order":33,"path":"sprites/s_node_shard/s_node_shard.yy",},
|
{"name":"s_node_shard","order":33,"path":"sprites/s_node_shard/s_node_shard.yy",},
|
||||||
{"name":"node_path_trim","order":6,"path":"scripts/node_path_trim/node_path_trim.yy",},
|
{"name":"node_path_trim","order":6,"path":"scripts/node_path_trim/node_path_trim.yy",},
|
||||||
{"name":"s_node_rigidSim_deactivate","order":7,"path":"sprites/s_node_rigidSim_deactivate/s_node_rigidSim_deactivate.yy",},
|
{"name":"s_node_rigidSim_deactivate","order":7,"path":"sprites/s_node_rigidSim_deactivate/s_node_rigidSim_deactivate.yy",},
|
||||||
|
@ -1766,6 +1772,7 @@
|
||||||
{"name":"s_node_scatter","order":19,"path":"sprites/s_node_scatter/s_node_scatter.yy",},
|
{"name":"s_node_scatter","order":19,"path":"sprites/s_node_scatter/s_node_scatter.yy",},
|
||||||
{"name":"s_node_bokeh","order":5,"path":"sprites/s_node_bokeh/s_node_bokeh.yy",},
|
{"name":"s_node_bokeh","order":5,"path":"sprites/s_node_bokeh/s_node_bokeh.yy",},
|
||||||
{"name":"s_node_3d_sphere_uv","order":16,"path":"sprites/s_node_3d_sphere_uv/s_node_3d_sphere_uv.yy",},
|
{"name":"s_node_3d_sphere_uv","order":16,"path":"sprites/s_node_3d_sphere_uv/s_node_3d_sphere_uv.yy",},
|
||||||
|
{"name":"sh_blend_edge","order":2,"path":"shaders/sh_blend_edge/sh_blend_edge.yy",},
|
||||||
{"name":"s_biterator_toggler","order":13,"path":"sprites/s_biterator_toggler/s_biterator_toggler.yy",},
|
{"name":"s_biterator_toggler","order":13,"path":"sprites/s_biterator_toggler/s_biterator_toggler.yy",},
|
||||||
{"name":"s_node_smokeSim_render","order":9,"path":"sprites/s_node_smokeSim_render/s_node_smokeSim_render.yy",},
|
{"name":"s_node_smokeSim_render","order":9,"path":"sprites/s_node_smokeSim_render/s_node_smokeSim_render.yy",},
|
||||||
{"name":"sh_vertex_depth_pass","order":2,"path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},
|
{"name":"sh_vertex_depth_pass","order":2,"path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},
|
||||||
|
@ -1921,7 +1928,7 @@
|
||||||
{"name":"draw_surface_functions","order":4,"path":"scripts/draw_surface_functions/draw_surface_functions.yy",},
|
{"name":"draw_surface_functions","order":4,"path":"scripts/draw_surface_functions/draw_surface_functions.yy",},
|
||||||
{"name":"node_rigid_variable","order":8,"path":"scripts/node_rigid_variable/node_rigid_variable.yy",},
|
{"name":"node_rigid_variable","order":8,"path":"scripts/node_rigid_variable/node_rigid_variable.yy",},
|
||||||
{"name":"project_function","order":2,"path":"scripts/project_function/project_function.yy",},
|
{"name":"project_function","order":2,"path":"scripts/project_function/project_function.yy",},
|
||||||
{"name":"node_fold_noise","order":14,"path":"scripts/node_fold_noise/node_fold_noise.yy",},
|
{"name":"node_noise_fold","order":14,"path":"scripts/node_noise_fold/node_noise_fold.yy",},
|
||||||
{"name":"s_node_zoom","order":48,"path":"sprites/s_node_zoom/s_node_zoom.yy",},
|
{"name":"s_node_zoom","order":48,"path":"sprites/s_node_zoom/s_node_zoom.yy",},
|
||||||
{"name":"node_noise_fbm","order":3,"path":"scripts/node_noise_fbm/node_noise_fbm.yy",},
|
{"name":"node_noise_fbm","order":3,"path":"scripts/node_noise_fbm/node_noise_fbm.yy",},
|
||||||
{"name":"sh_channel_V","order":6,"path":"shaders/sh_channel_V/sh_channel_V.yy",},
|
{"name":"sh_channel_V","order":6,"path":"shaders/sh_channel_V/sh_channel_V.yy",},
|
||||||
|
|
|
@ -252,6 +252,7 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color selector","folderPath":"folders/shader/color selector.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color selector","folderPath":"folders/shader/color selector.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/shader/draw.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/shader/draw.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/shader/filter.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/shader/filter.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blend edge","folderPath":"folders/shader/filter/blend edge.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blur","folderPath":"folders/shader/filter/blur.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blur","folderPath":"folders/shader/filter/blur.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"channels","folderPath":"folders/shader/filter/channels.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"channels","folderPath":"folders/shader/filter/channels.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/shader/filter/color.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/shader/filter/color.yy",},
|
||||||
|
@ -757,6 +758,7 @@
|
||||||
{"id":{"name":"__node","path":"scripts/__node/__node.yy",},},
|
{"id":{"name":"__node","path":"scripts/__node/__node.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_add_velocity","path":"scripts/fd_rectangle_add_velocity/fd_rectangle_add_velocity.yy",},},
|
{"id":{"name":"fd_rectangle_add_velocity","path":"scripts/fd_rectangle_add_velocity/fd_rectangle_add_velocity.yy",},},
|
||||||
{"id":{"name":"Obj_FirebaseFirestore_allCallbacks","path":"objects/Obj_FirebaseFirestore_allCallbacks/Obj_FirebaseFirestore_allCallbacks.yy",},},
|
{"id":{"name":"Obj_FirebaseFirestore_allCallbacks","path":"objects/Obj_FirebaseFirestore_allCallbacks/Obj_FirebaseFirestore_allCallbacks.yy",},},
|
||||||
|
{"id":{"name":"sh_blend_edge_extract","path":"shaders/sh_blend_edge_extract/sh_blend_edge_extract.yy",},},
|
||||||
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},},
|
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},},
|
||||||
{"id":{"name":"pcx_ast","path":"scripts/pcx_ast/pcx_ast.yy",},},
|
{"id":{"name":"pcx_ast","path":"scripts/pcx_ast/pcx_ast.yy",},},
|
||||||
{"id":{"name":"s_node_struct","path":"sprites/s_node_struct/s_node_struct.yy",},},
|
{"id":{"name":"s_node_struct","path":"sprites/s_node_struct/s_node_struct.yy",},},
|
||||||
|
@ -997,6 +999,7 @@
|
||||||
{"id":{"name":"fd_rectangle_get_visualization_shader","path":"scripts/fd_rectangle_get_visualization_shader/fd_rectangle_get_visualization_shader.yy",},},
|
{"id":{"name":"fd_rectangle_get_visualization_shader","path":"scripts/fd_rectangle_get_visualization_shader/fd_rectangle_get_visualization_shader.yy",},},
|
||||||
{"id":{"name":"preset_data","path":"scripts/preset_data/preset_data.yy",},},
|
{"id":{"name":"preset_data","path":"scripts/preset_data/preset_data.yy",},},
|
||||||
{"id":{"name":"_f_h5","path":"fonts/_f_h5/_f_h5.yy",},},
|
{"id":{"name":"_f_h5","path":"fonts/_f_h5/_f_h5.yy",},},
|
||||||
|
{"id":{"name":"node_blend_edge","path":"scripts/node_blend_edge/node_blend_edge.yy",},},
|
||||||
{"id":{"name":"node_color","path":"scripts/node_color/node_color.yy",},},
|
{"id":{"name":"node_color","path":"scripts/node_color/node_color.yy",},},
|
||||||
{"id":{"name":"node_string_split","path":"scripts/node_string_split/node_string_split.yy",},},
|
{"id":{"name":"node_string_split","path":"scripts/node_string_split/node_string_split.yy",},},
|
||||||
{"id":{"name":"meta_data","path":"scripts/meta_data/meta_data.yy",},},
|
{"id":{"name":"meta_data","path":"scripts/meta_data/meta_data.yy",},},
|
||||||
|
@ -1106,6 +1109,7 @@
|
||||||
{"id":{"name":"sh_spherize","path":"shaders/sh_spherize/sh_spherize.yy",},},
|
{"id":{"name":"sh_spherize","path":"shaders/sh_spherize/sh_spherize.yy",},},
|
||||||
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},},
|
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},},
|
||||||
{"id":{"name":"node_cache","path":"scripts/node_cache/node_cache.yy",},},
|
{"id":{"name":"node_cache","path":"scripts/node_cache/node_cache.yy",},},
|
||||||
|
{"id":{"name":"sh_noise_strand","path":"shaders/sh_noise_strand/sh_noise_strand.yy",},},
|
||||||
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},},
|
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},},
|
||||||
{"id":{"name":"var_comparison","path":"scripts/var_comparison/var_comparison.yy",},},
|
{"id":{"name":"var_comparison","path":"scripts/var_comparison/var_comparison.yy",},},
|
||||||
{"id":{"name":"sh_sdf_tex","path":"shaders/sh_sdf_tex/sh_sdf_tex.yy",},},
|
{"id":{"name":"sh_sdf_tex","path":"shaders/sh_sdf_tex/sh_sdf_tex.yy",},},
|
||||||
|
@ -1302,6 +1306,7 @@
|
||||||
{"id":{"name":"node_surface_from_color","path":"scripts/node_surface_from_color/node_surface_from_color.yy",},},
|
{"id":{"name":"node_surface_from_color","path":"scripts/node_surface_from_color/node_surface_from_color.yy",},},
|
||||||
{"id":{"name":"s_node_pb_draw_rectangle","path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},},
|
{"id":{"name":"s_node_pb_draw_rectangle","path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},},
|
||||||
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},},
|
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},},
|
||||||
|
{"id":{"name":"sh_blend_edge_blend","path":"shaders/sh_blend_edge_blend/sh_blend_edge_blend.yy",},},
|
||||||
{"id":{"name":"sh_bend_arc","path":"shaders/sh_bend_arc/sh_bend_arc.yy",},},
|
{"id":{"name":"sh_bend_arc","path":"shaders/sh_bend_arc/sh_bend_arc.yy",},},
|
||||||
{"id":{"name":"node_array_rearrange","path":"scripts/node_array_rearrange/node_array_rearrange.yy",},},
|
{"id":{"name":"node_array_rearrange","path":"scripts/node_array_rearrange/node_array_rearrange.yy",},},
|
||||||
{"id":{"name":"sh_pb_to_mask","path":"shaders/sh_pb_to_mask/sh_pb_to_mask.yy",},},
|
{"id":{"name":"sh_pb_to_mask","path":"shaders/sh_pb_to_mask/sh_pb_to_mask.yy",},},
|
||||||
|
@ -1311,6 +1316,7 @@
|
||||||
{"id":{"name":"sh_gradient","path":"shaders/sh_gradient/sh_gradient.yy",},},
|
{"id":{"name":"sh_gradient","path":"shaders/sh_gradient/sh_gradient.yy",},},
|
||||||
{"id":{"name":"sh_region_fill_init","path":"shaders/sh_region_fill_init/sh_region_fill_init.yy",},},
|
{"id":{"name":"sh_region_fill_init","path":"shaders/sh_region_fill_init/sh_region_fill_init.yy",},},
|
||||||
{"id":{"name":"node_json_file_read","path":"scripts/node_json_file_read/node_json_file_read.yy",},},
|
{"id":{"name":"node_json_file_read","path":"scripts/node_json_file_read/node_json_file_read.yy",},},
|
||||||
|
{"id":{"name":"s_node_strand_noise","path":"sprites/s_node_strand_noise/s_node_strand_noise.yy",},},
|
||||||
{"id":{"name":"s_node_array_remove","path":"sprites/s_node_array_remove/s_node_array_remove.yy",},},
|
{"id":{"name":"s_node_array_remove","path":"sprites/s_node_array_remove/s_node_array_remove.yy",},},
|
||||||
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},},
|
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},},
|
||||||
{"id":{"name":"node_FLIP_render","path":"scripts/node_FLIP_render/node_FLIP_render.yy",},},
|
{"id":{"name":"node_FLIP_render","path":"scripts/node_FLIP_render/node_FLIP_render.yy",},},
|
||||||
|
@ -1984,6 +1990,7 @@
|
||||||
{"id":{"name":"sh_d3d_ssao","path":"shaders/sh_d3d_ssao/sh_d3d_ssao.yy",},},
|
{"id":{"name":"sh_d3d_ssao","path":"shaders/sh_d3d_ssao/sh_d3d_ssao.yy",},},
|
||||||
{"id":{"name":"node_channels_hsv","path":"scripts/node_channels_hsv/node_channels_hsv.yy",},},
|
{"id":{"name":"node_channels_hsv","path":"scripts/node_channels_hsv/node_channels_hsv.yy",},},
|
||||||
{"id":{"name":"sh_stripe","path":"shaders/sh_stripe/sh_stripe.yy",},},
|
{"id":{"name":"sh_stripe","path":"shaders/sh_stripe/sh_stripe.yy",},},
|
||||||
|
{"id":{"name":"node_noise_strand","path":"scripts/node_noise_strand/node_noise_strand.yy",},},
|
||||||
{"id":{"name":"s_node_shard","path":"sprites/s_node_shard/s_node_shard.yy",},},
|
{"id":{"name":"s_node_shard","path":"sprites/s_node_shard/s_node_shard.yy",},},
|
||||||
{"id":{"name":"node_path_trim","path":"scripts/node_path_trim/node_path_trim.yy",},},
|
{"id":{"name":"node_path_trim","path":"scripts/node_path_trim/node_path_trim.yy",},},
|
||||||
{"id":{"name":"s_node_rigidSim_deactivate","path":"sprites/s_node_rigidSim_deactivate/s_node_rigidSim_deactivate.yy",},},
|
{"id":{"name":"s_node_rigidSim_deactivate","path":"sprites/s_node_rigidSim_deactivate/s_node_rigidSim_deactivate.yy",},},
|
||||||
|
@ -2169,6 +2176,7 @@
|
||||||
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},},
|
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},},
|
||||||
{"id":{"name":"s_node_bokeh","path":"sprites/s_node_bokeh/s_node_bokeh.yy",},},
|
{"id":{"name":"s_node_bokeh","path":"sprites/s_node_bokeh/s_node_bokeh.yy",},},
|
||||||
{"id":{"name":"s_node_3d_sphere_uv","path":"sprites/s_node_3d_sphere_uv/s_node_3d_sphere_uv.yy",},},
|
{"id":{"name":"s_node_3d_sphere_uv","path":"sprites/s_node_3d_sphere_uv/s_node_3d_sphere_uv.yy",},},
|
||||||
|
{"id":{"name":"sh_blend_edge","path":"shaders/sh_blend_edge/sh_blend_edge.yy",},},
|
||||||
{"id":{"name":"s_biterator_toggler","path":"sprites/s_biterator_toggler/s_biterator_toggler.yy",},},
|
{"id":{"name":"s_biterator_toggler","path":"sprites/s_biterator_toggler/s_biterator_toggler.yy",},},
|
||||||
{"id":{"name":"s_node_smokeSim_render","path":"sprites/s_node_smokeSim_render/s_node_smokeSim_render.yy",},},
|
{"id":{"name":"s_node_smokeSim_render","path":"sprites/s_node_smokeSim_render/s_node_smokeSim_render.yy",},},
|
||||||
{"id":{"name":"sh_vertex_depth_pass","path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},},
|
{"id":{"name":"sh_vertex_depth_pass","path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},},
|
||||||
|
@ -2349,7 +2357,7 @@
|
||||||
{"id":{"name":"sh_mask","path":"shaders/sh_mask/sh_mask.yy",},},
|
{"id":{"name":"sh_mask","path":"shaders/sh_mask/sh_mask.yy",},},
|
||||||
{"id":{"name":"node_rigid_variable","path":"scripts/node_rigid_variable/node_rigid_variable.yy",},},
|
{"id":{"name":"node_rigid_variable","path":"scripts/node_rigid_variable/node_rigid_variable.yy",},},
|
||||||
{"id":{"name":"project_function","path":"scripts/project_function/project_function.yy",},},
|
{"id":{"name":"project_function","path":"scripts/project_function/project_function.yy",},},
|
||||||
{"id":{"name":"node_fold_noise","path":"scripts/node_fold_noise/node_fold_noise.yy",},},
|
{"id":{"name":"node_noise_fold","path":"scripts/node_noise_fold/node_noise_fold.yy",},},
|
||||||
{"id":{"name":"s_node_zoom","path":"sprites/s_node_zoom/s_node_zoom.yy",},},
|
{"id":{"name":"s_node_zoom","path":"sprites/s_node_zoom/s_node_zoom.yy",},},
|
||||||
{"id":{"name":"migration_function","path":"scripts/migration_function/migration_function.yy",},},
|
{"id":{"name":"migration_function","path":"scripts/migration_function/migration_function.yy",},},
|
||||||
{"id":{"name":"node_noise_fbm","path":"scripts/node_noise_fbm/node_noise_fbm.yy",},},
|
{"id":{"name":"node_noise_fbm","path":"scripts/node_noise_fbm/node_noise_fbm.yy",},},
|
||||||
|
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
12
scripts/node_blend_edge/node_alpha_to_grey.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "filter",
|
||||||
|
"path": "folders/nodes/data/filter.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_alpha_to_grey",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
64
scripts/node_blend_edge/node_blend_edge.gml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
function Node_Blend_Edge(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
|
name = "Blend Edge";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1)
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider)
|
||||||
|
.setMappable(5);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("Types",self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Both", "Horizontal", "Vertical" ]);
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||||
|
active_index = 3;
|
||||||
|
|
||||||
|
inputs[| 4] = nodeValue("Channel", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0b1111)
|
||||||
|
.setDisplay(VALUE_DISPLAY.toggle, { data: array_create(4, THEME.inspector_channel) });
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue("Width map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone)
|
||||||
|
.setVisible(false, false);
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue("Blending", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
|
input_display_list = [ 3, 4,
|
||||||
|
["Surfaces", true], 0,
|
||||||
|
["Blend", false], 2, 1, 5, 6,
|
||||||
|
]
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||||
|
|
||||||
|
temp_surface = array_create(1);
|
||||||
|
|
||||||
|
attribute_surface_depth();
|
||||||
|
|
||||||
|
static step = function() { #region
|
||||||
|
inputs[| 1].mappableStep();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||||
|
var _sw = surface_get_width_safe(_data[0]);
|
||||||
|
var _sh = surface_get_height_safe(_data[0]);
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(temp_surface); i < n; i++ )
|
||||||
|
temp_surface[i] = surface_verify(temp_surface[i], _sw, _sh);
|
||||||
|
|
||||||
|
surface_set_shader(_outSurf, sh_blend_edge);
|
||||||
|
shader_set_f("dimension", _sw, _sh);
|
||||||
|
shader_set_f_map("width", clamp(_data[1], 0.001, 0.999), _data[5], inputs[| 1]);
|
||||||
|
shader_set_i("edge" , _data[2]);
|
||||||
|
shader_set_f("blend" , clamp(_data[6], 0.001, 0.999));
|
||||||
|
|
||||||
|
draw_surface(_data[0], 0, 0);
|
||||||
|
surface_reset_shader();
|
||||||
|
|
||||||
|
//return temp_surface[0];
|
||||||
|
|
||||||
|
return _outSurf;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_blend_edge/node_blend_edge.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_blend_edge",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "effects",
|
||||||
|
"path": "folders/nodes/data/filter/effects.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_blend_edge/node_bw.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "filter",
|
||||||
|
"path": "folders/nodes/data/filter.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_bw",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
12
scripts/node_blend_edge/node_color_adjustment.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "filter",
|
||||||
|
"path": "folders/nodes/data/filter.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_color_adjustment",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
12
scripts/node_blend_edge/node_color_replacement.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_color_replacement",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
12
scripts/node_blend_edge/node_greyscale.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "filter",
|
||||||
|
"path": "folders/nodes/data/filter.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_greyscale",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
12
scripts/node_blend_edge/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "node_fold_noise",
|
"name": "node_noise_fold",
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
12
scripts/node_noise_strand/node_gradient.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "generator",
|
||||||
|
"path": "folders/nodes/data/generator.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_gradient",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
38
scripts/node_noise_strand/node_noise_strand.gml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
function Node_Noise_Strand(_x, _y, _group = noone) : Node_Shader_Generator(_x, _y, _group) constructor {
|
||||||
|
name = "Strand Noise";
|
||||||
|
shader = sh_noise_strand;
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector)
|
||||||
|
.setUnitRef(function(index) { return getDimension(index); });
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "position");
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("Density", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "density");
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, seed_random(4));
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "seed");
|
||||||
|
|
||||||
|
inputs[| 4] = nodeValue("Slope", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "slope");
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue("Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "curve");
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue("Curve scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 );
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "curveDetail");
|
||||||
|
|
||||||
|
inputs[| 7] = nodeValue("Thickness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
addShaderProp(SHADER_UNIFORM.float, "thickness");
|
||||||
|
|
||||||
|
input_display_list = [ 3,
|
||||||
|
["Output", true], 0,
|
||||||
|
["Noise", false], 1, 2, 4,
|
||||||
|
["Curve", false], 5, 6,
|
||||||
|
["Render", false], 7,
|
||||||
|
];
|
||||||
|
}
|
11
scripts/node_noise_strand/node_noise_strand.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_noise_strand",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "noise",
|
||||||
|
"path": "folders/nodes/data/generator/noise.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -522,7 +522,7 @@ function __initNodes() {
|
||||||
addNodeObject(filter, "Trail", s_node_trail, "Node_Trail", [1, Node_Trail],, "Blend animation by filling in the pixel 'in-between' two or more frames.").setVersion(1130);
|
addNodeObject(filter, "Trail", s_node_trail, "Node_Trail", [1, Node_Trail],, "Blend animation by filling in the pixel 'in-between' two or more frames.").setVersion(1130);
|
||||||
addNodeObject(filter, "Erode", s_node_erode, "Node_Erode", [1, Node_Erode],, "Remove pixel that are close to the border of the image.");
|
addNodeObject(filter, "Erode", s_node_erode, "Node_Erode", [1, Node_Erode],, "Remove pixel that are close to the border of the image.");
|
||||||
addNodeObject(filter, "Corner", s_node_corner, "Node_Corner", [1, Node_Corner], ["round corner"], "Round out sharp corner of the image.").setVersion(1110);
|
addNodeObject(filter, "Corner", s_node_corner, "Node_Corner", [1, Node_Corner], ["round corner"], "Round out sharp corner of the image.").setVersion(1110);
|
||||||
addNodeObject(filter, "Blobify", s_node_blobify, "Node_Blobify", [1, Node_Blobify]).setVersion(11640);
|
addNodeObject(filter, "Blobify", s_node_blobify, "Node_Blobify", [1, Node_Blobify]).setVersion(11650);
|
||||||
addNodeObject(filter, "2D Light", s_node_2d_light, "Node_2D_light", [1, Node_2D_light],, "Apply different shaped light on the image.");
|
addNodeObject(filter, "2D Light", s_node_2d_light, "Node_2D_light", [1, Node_2D_light],, "Apply different shaped light on the image.");
|
||||||
addNodeObject(filter, "Cast Shadow", s_node_shadow_cast, "Node_Shadow_Cast", [1, Node_Shadow_Cast], ["raycast"], "Apply light that create shadow using shadow mask.").setVersion(1100);
|
addNodeObject(filter, "Cast Shadow", s_node_shadow_cast, "Node_Shadow_Cast", [1, Node_Shadow_Cast], ["raycast"], "Apply light that create shadow using shadow mask.").setVersion(1100);
|
||||||
addNodeObject(filter, "Pixel Expand", s_node_atlas, "Node_Atlas", [1, Node_Atlas], ["atlas"], "Replace transparent pixel with the closet non-transparent pixel.");
|
addNodeObject(filter, "Pixel Expand", s_node_atlas, "Node_Atlas", [1, Node_Atlas], ["atlas"], "Replace transparent pixel with the closet non-transparent pixel.");
|
||||||
|
@ -536,6 +536,7 @@ function __initNodes() {
|
||||||
addNodeObject(filter, "Chromatic Aberration", s_node_chromatic_abarration, "Node_Chromatic_Aberration", [1, Node_Chromatic_Aberration],, "Apply chromatic aberration effect to the image.");
|
addNodeObject(filter, "Chromatic Aberration", s_node_chromatic_abarration, "Node_Chromatic_Aberration", [1, Node_Chromatic_Aberration],, "Apply chromatic aberration effect to the image.");
|
||||||
addNodeObject(filter, "Vignette", s_node_vignette, "Node_Vignette", [1, Node_Vignette],, "Apply vignette effect to the border.").setVersion(11630);
|
addNodeObject(filter, "Vignette", s_node_vignette, "Node_Vignette", [1, Node_Vignette],, "Apply vignette effect to the border.").setVersion(11630);
|
||||||
addNodeObject(filter, "FXAA", s_node_FXAA, "Node_FXAA", [1, Node_FXAA],, "Apply fast approximate anti-aliasing to the image.");
|
addNodeObject(filter, "FXAA", s_node_FXAA, "Node_FXAA", [1, Node_FXAA],, "Apply fast approximate anti-aliasing to the image.");
|
||||||
|
//addNodeObject(filter, "Blend Edge", s_node_FXAA, "Node_Blend_Edge", [1, Node_Blend_Edge]).setVersion(11640);
|
||||||
|
|
||||||
ds_list_add(filter, "Colors");
|
ds_list_add(filter, "Colors");
|
||||||
addNodeObject(filter, "Replace Palette", s_node_replace_palette, "Node_Color_replace", [1, Node_Color_replace], ["isolate color", "select color", "palette swap", "color replace"], "Replace color that match one palette with another palette.");
|
addNodeObject(filter, "Replace Palette", s_node_replace_palette, "Node_Color_replace", [1, Node_Color_replace], ["isolate color", "select color", "palette swap", "color replace"], "Replace color that match one palette with another palette.");
|
||||||
|
@ -639,7 +640,8 @@ function __initNodes() {
|
||||||
addNodeObject(generator, "Shard Noise", s_node_shard, "Node_Shard_Noise", [1, Node_Shard_Noise]).patreonExtra();
|
addNodeObject(generator, "Shard Noise", s_node_shard, "Node_Shard_Noise", [1, Node_Shard_Noise]).patreonExtra();
|
||||||
addNodeObject(generator, "Wavelet Noise", s_node_wavelet, "Node_Wavelet_Noise", [1, Node_Wavelet_Noise]).patreonExtra();
|
addNodeObject(generator, "Wavelet Noise", s_node_wavelet, "Node_Wavelet_Noise", [1, Node_Wavelet_Noise]).patreonExtra();
|
||||||
addNodeObject(generator, "Caustic", s_node_caustic, "Node_Caustic", [1, Node_Caustic]).patreonExtra();
|
addNodeObject(generator, "Caustic", s_node_caustic, "Node_Caustic", [1, Node_Caustic]).patreonExtra();
|
||||||
addNodeObject(generator, "Fold Noise", s_node_fold_noise, "Node_Fold_Noise", [1, Node_Fold_Noise]);
|
addNodeObject(generator, "Fold Noise", s_node_fold_noise, "Node_Fold_Noise", [1, Node_Fold_Noise]).setVersion(11650);
|
||||||
|
addNodeObject(generator, "Strand Noise", s_node_strand_noise, "Node_Noise_Strand", [1, Node_Noise_Strand]).setVersion(11650);
|
||||||
|
|
||||||
ds_list_add(generator, "Patterns");
|
ds_list_add(generator, "Patterns");
|
||||||
addNodeObject(generator, "Stripe", s_node_stripe, "Node_Stripe", [1, Node_Stripe],, "Generate stripe pattern.");
|
addNodeObject(generator, "Stripe", s_node_stripe, "Node_Stripe", [1, Node_Stripe],, "Generate stripe pattern.");
|
||||||
|
|
|
@ -63,11 +63,15 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
inputs[| 13] = nodeValue("Echo amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 8);
|
inputs[| 13] = nodeValue("Echo amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 8);
|
||||||
|
|
||||||
|
inputs[| 14] = nodeValue("Opacity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider);
|
||||||
|
|
||||||
input_display_list = [ 11, 0,
|
input_display_list = [ 11, 0,
|
||||||
["Output", true], 9, 1, 7,
|
["Output", true], 9, 1, 7,
|
||||||
["Position", false], 2, 10,
|
["Position", false], 2, 10,
|
||||||
["Rotation", false], 3, 5, 8,
|
["Rotation", false], 3, 5, 8,
|
||||||
["Scale", false], 6,
|
["Scale", false], 6,
|
||||||
|
["Render", false], 14,
|
||||||
["Echo", true, 12], 13,
|
["Echo", true, 12], 13,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -76,8 +80,8 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
attribute_surface_depth();
|
attribute_surface_depth();
|
||||||
attribute_interpolation();
|
attribute_interpolation();
|
||||||
|
|
||||||
vel = 0;
|
vel = 0;
|
||||||
prev_pos = [ 0, 0 ];
|
prev_pos = [ 0, 0 ];
|
||||||
prev_data = noone;
|
prev_data = noone;
|
||||||
|
|
||||||
static getDimension = function(arr = 0) { #region
|
static getDimension = function(arr = 0) { #region
|
||||||
|
@ -194,6 +198,7 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
|
|
||||||
var echo = _data[12];
|
var echo = _data[12];
|
||||||
var echo_amo = _data[13];
|
var echo_amo = _data[13];
|
||||||
|
var alp = _data[14];
|
||||||
|
|
||||||
var cDep = attrDepth();
|
var cDep = attrDepth();
|
||||||
|
|
||||||
|
@ -261,7 +266,7 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
surface_set_shader(_outSurf);
|
surface_set_shader(_outSurf);
|
||||||
shader_set_interpolation(ins);
|
shader_set_interpolation(ins);
|
||||||
|
|
||||||
draw_surface_tiled_ext_safe(ins, draw_x, draw_y, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_tiled_ext_safe(ins, draw_x, draw_y, sca[0], sca[1], rot, c_white, alp);
|
||||||
|
|
||||||
surface_reset_shader();
|
surface_reset_shader();
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -289,22 +294,22 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
_dy = round(_dy);
|
_dy = round(_dy);
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_surface_ext_safe(ins, _dx, _dy, _sx, _sy, _rt);
|
draw_surface_ext_safe(ins, _dx, _dy, _sx, _sy, _rt, c_white, alp);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
draw_surface_ext_safe(ins, draw_x, draw_y, sca[0], sca[1], rot);
|
draw_surface_ext_safe(ins, draw_x, draw_y, sca[0], sca[1], rot, c_white, alp);
|
||||||
|
|
||||||
if(mode == 2) {
|
if(mode == 2) {
|
||||||
draw_surface_ext_safe(ins, draw_x - _ww, draw_y - _hh, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x - _ww, draw_y - _hh, sca[0], sca[1], rot, c_white, alp);
|
||||||
draw_surface_ext_safe(ins, draw_x, draw_y - _hh, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x, draw_y - _hh, sca[0], sca[1], rot, c_white, alp);
|
||||||
draw_surface_ext_safe(ins, draw_x + _ww, draw_y - _hh, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x + _ww, draw_y - _hh, sca[0], sca[1], rot, c_white, alp);
|
||||||
|
|
||||||
draw_surface_ext_safe(ins, draw_x - _ww, draw_y, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x - _ww, draw_y, sca[0], sca[1], rot, c_white, alp);
|
||||||
draw_surface_ext_safe(ins, draw_x + _ww, draw_y, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x + _ww, draw_y, sca[0], sca[1], rot, c_white, alp);
|
||||||
|
|
||||||
draw_surface_ext_safe(ins, draw_x - _ww, draw_y + _hh, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x - _ww, draw_y + _hh, sca[0], sca[1], rot, c_white, alp);
|
||||||
draw_surface_ext_safe(ins, draw_x, draw_y + _hh, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x, draw_y + _hh, sca[0], sca[1], rot, c_white, alp);
|
||||||
draw_surface_ext_safe(ins, draw_x + _ww, draw_y + _hh, sca[0], sca[1], rot, c_white, 1);
|
draw_surface_ext_safe(ins, draw_x + _ww, draw_y + _hh, sca[0], sca[1], rot, c_white, alp);
|
||||||
}
|
}
|
||||||
surface_reset_shader();
|
surface_reset_shader();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -874,7 +874,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY._default : #region
|
case VALUE_DISPLAY._default : #region
|
||||||
editWidget = new textBox(_txt, function(val) {
|
editWidget = new textBox(_txt, function(val) {
|
||||||
return setValueDirect(val);
|
return setValueInspector(val);
|
||||||
} );
|
} );
|
||||||
editWidget.slidable = true;
|
editWidget.slidable = true;
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlidable();
|
if(type == VALUE_TYPE.integer) editWidget.setSlidable();
|
||||||
|
@ -887,7 +887,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.range : #region
|
case VALUE_DISPLAY.range : #region
|
||||||
editWidget = new rangeBox(_txt, function(index, val) {
|
editWidget = new rangeBox(_txt, function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
@ -905,7 +905,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
|
|
||||||
if(len <= 4) {
|
if(len <= 4) {
|
||||||
editWidget = new vectorBox(len, function(index, val) {
|
editWidget = new vectorBox(len, function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
}, unit );
|
}, unit );
|
||||||
|
|
||||||
if(struct_has(display_data, "label")) editWidget.axis = display_data.label;
|
if(struct_has(display_data, "label")) editWidget.axis = display_data.label;
|
||||||
|
@ -941,7 +941,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
var val = animator.getValue();
|
var val = animator.getValue();
|
||||||
|
|
||||||
editWidget = new vectorRangeBox(array_length(val), _txt, function(index, val) {
|
editWidget = new vectorRangeBox(array_length(val), _txt, function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
}, unit );
|
}, unit );
|
||||||
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
@ -963,14 +963,14 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
var _step = struct_try_get(display_data, "step", -1);
|
var _step = struct_try_get(display_data, "step", -1);
|
||||||
|
|
||||||
editWidget = new rotator(function(val) {
|
editWidget = new rotator(function(val) {
|
||||||
return setValueDirect(val);
|
return setValueInspector(val);
|
||||||
}, _step );
|
}, _step );
|
||||||
|
|
||||||
extract_node = "Node_Number";
|
extract_node = "Node_Number";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.rotation_range : #region
|
case VALUE_DISPLAY.rotation_range : #region
|
||||||
editWidget = new rotatorRange(function(index, val) {
|
editWidget = new rotatorRange(function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
|
@ -980,7 +980,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.rotation_random: #region
|
case VALUE_DISPLAY.rotation_random: #region
|
||||||
editWidget = new rotatorRandom(function(index, val) {
|
editWidget = new rotatorRandom(function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
extract_node = "Node_Vector2";
|
extract_node = "Node_Vector2";
|
||||||
|
@ -989,7 +989,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
var _range = struct_try_get(display_data, "range", [ 0, 1, 0.01 ]);
|
var _range = struct_try_get(display_data, "range", [ 0, 1, 0.01 ]);
|
||||||
|
|
||||||
editWidget = new slider(_range[0], _range[1], _range[2], function(val) {
|
editWidget = new slider(_range[0], _range[1], _range[2], function(val) {
|
||||||
return setValueDirect(toNumber(val));
|
return setValueInspector(toNumber(val));
|
||||||
} );
|
} );
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
|
@ -1002,7 +1002,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
var _range = struct_try_get(display_data, "range", [ 0, 1, 0.01 ]);
|
var _range = struct_try_get(display_data, "range", [ 0, 1, 0.01 ]);
|
||||||
|
|
||||||
editWidget = new sliderRange(_range[0], _range[1], _range[2], function(index, val) {
|
editWidget = new sliderRange(_range[0], _range[1], _range[2], function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
} );
|
} );
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
|
@ -1013,7 +1013,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.area : #region
|
case VALUE_DISPLAY.area : #region
|
||||||
editWidget = new areaBox(function(index, val) {
|
editWidget = new areaBox(function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
}, unit);
|
}, unit);
|
||||||
|
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
@ -1033,7 +1033,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
editWidget = new paddingBox(function(index, val) {
|
editWidget = new paddingBox(function(index, val) {
|
||||||
//var _val = animator.getValue();
|
//var _val = animator.getValue();
|
||||||
//_val[index] = val;
|
//_val[index] = val;
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
}, unit);
|
}, unit);
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
|
@ -1044,7 +1044,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.corner : #region
|
case VALUE_DISPLAY.corner : #region
|
||||||
editWidget = new cornerBox(function(index, val) {
|
editWidget = new cornerBox(function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
}, unit);
|
}, unit);
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
|
@ -1055,9 +1055,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.puppet_control : #region
|
case VALUE_DISPLAY.puppet_control : #region
|
||||||
editWidget = new controlPointBox(function(index, val) {
|
editWidget = new controlPointBox(function(index, val) {
|
||||||
//var _val = animator.getValue();
|
return setValueInspector(val, index);
|
||||||
//_val[index] = val;
|
|
||||||
return setValueDirect(val, index);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
extract_node = "";
|
extract_node = "";
|
||||||
|
@ -1068,7 +1066,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
|
|
||||||
editWidget = new scrollBox(choices, function(val) {
|
editWidget = new scrollBox(choices, function(val) {
|
||||||
if(val == -1) return;
|
if(val == -1) return;
|
||||||
return setValueDirect(toNumber(val));
|
return setValueInspector(toNumber(val));
|
||||||
} );
|
} );
|
||||||
if(struct_has(display_data, "update_hover"))
|
if(struct_has(display_data, "update_hover"))
|
||||||
editWidget.update_hover = display_data.update_hover;
|
editWidget.update_hover = display_data.update_hover;
|
||||||
|
@ -1082,7 +1080,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
var choices = __txt_junction_data(instanceof(node), connect_type, index, display_data.data);
|
var choices = __txt_junction_data(instanceof(node), connect_type, index, display_data.data);
|
||||||
|
|
||||||
editWidget = new buttonGroup(choices, function(val) {
|
editWidget = new buttonGroup(choices, function(val) {
|
||||||
return setValueDirect(val);
|
return setValueInspector(val);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
rejectConnect();
|
rejectConnect();
|
||||||
|
@ -1091,7 +1089,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.matrix : #region
|
case VALUE_DISPLAY.matrix : #region
|
||||||
editWidget = new matrixGrid(_txt, display_data.size, function(index, val) {
|
editWidget = new matrixGrid(_txt, display_data.size, function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
}, unit );
|
}, unit );
|
||||||
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
if(type == VALUE_TYPE.integer) editWidget.setSlideSpeed(1 / 10);
|
||||||
|
|
||||||
|
@ -1102,16 +1100,14 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.transform : #region
|
case VALUE_DISPLAY.transform : #region
|
||||||
editWidget = new transformBox(function(index, val) {
|
editWidget = new transformBox(function(index, val) {
|
||||||
var _val = animator.getValue();
|
return setValueInspector(_val, index);
|
||||||
_val[index] = val;
|
|
||||||
return setValueDirect(_val);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
extract_node = "Node_Transform_Array";
|
extract_node = "Node_Transform_Array";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.toggle : #region
|
case VALUE_DISPLAY.toggle : #region
|
||||||
editWidget = new toggleGroup(display_data.data, function(val) {
|
editWidget = new toggleGroup(display_data.data, function(val) {
|
||||||
return setValueDirect(val);
|
return setValueInspector(val);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
rejectConnect();
|
rejectConnect();
|
||||||
|
@ -1120,7 +1116,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.d3quarternion : #region
|
case VALUE_DISPLAY.d3quarternion : #region
|
||||||
editWidget = new quarternionBox(function(index, val) {
|
editWidget = new quarternionBox(function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
});
|
});
|
||||||
|
|
||||||
extract_node = "Node_Vector4";
|
extract_node = "Node_Vector4";
|
||||||
|
@ -1128,7 +1124,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.path_anchor : #region
|
case VALUE_DISPLAY.path_anchor : #region
|
||||||
editWidget = new pathAnchorBox(function(index, val) {
|
editWidget = new pathAnchorBox(function(index, val) {
|
||||||
return setValueDirect(val, index);
|
return setValueInspector(val, index);
|
||||||
});
|
});
|
||||||
|
|
||||||
extract_node = "Node_Path_Anchor";
|
extract_node = "Node_Path_Anchor";
|
||||||
|
@ -1137,8 +1133,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case VALUE_TYPE.boolean : #region
|
case VALUE_TYPE.boolean : #region
|
||||||
if(name == "Active") editWidget = new checkBoxActive(function() { return setValueDirect(!animator.getValue()); } );
|
if(name == "Active") editWidget = new checkBoxActive(function() { return setValueInspector(!animator.getValue()); } );
|
||||||
else editWidget = new checkBox(function() { return setValueDirect(!animator.getValue()); } );
|
else editWidget = new checkBox( function() { return setValueInspector(!animator.getValue()); } );
|
||||||
|
|
||||||
key_inter = CURVE_TYPE.cut;
|
key_inter = CURVE_TYPE.cut;
|
||||||
extract_node = "Node_Boolean";
|
extract_node = "Node_Boolean";
|
||||||
|
@ -1147,7 +1143,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY._default :
|
case VALUE_DISPLAY._default :
|
||||||
editWidget = new buttonColor(function(color) {
|
editWidget = new buttonColor(function(color) {
|
||||||
return setValueDirect(color);
|
return setValueInspector(color);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
graph_h = ui(16);
|
graph_h = ui(16);
|
||||||
|
@ -1155,7 +1151,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break;
|
break;
|
||||||
case VALUE_DISPLAY.palette :
|
case VALUE_DISPLAY.palette :
|
||||||
editWidget = new buttonPalette(function(color) {
|
editWidget = new buttonPalette(function(color) {
|
||||||
return setValueDirect(color);
|
return setValueInspector(color);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
extract_node = "Node_Palette";
|
extract_node = "Node_Palette";
|
||||||
|
@ -1164,7 +1160,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_TYPE.gradient : #region
|
case VALUE_TYPE.gradient : #region
|
||||||
editWidget = new buttonGradient(function(gradient) {
|
editWidget = new buttonGradient(function(gradient) {
|
||||||
return setValueDirect(gradient);
|
return setValueInspector(gradient);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
extract_node = "Node_Gradient_Out";
|
extract_node = "Node_Gradient_Out";
|
||||||
|
@ -1172,30 +1168,30 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
case VALUE_TYPE.path : #region
|
case VALUE_TYPE.path : #region
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY.path_array :
|
case VALUE_DISPLAY.path_array :
|
||||||
editWidget = new pathArrayBox(node, display_data.filter, function(path) { setValueDirect(path); } );
|
editWidget = new pathArrayBox(node, display_data.filter, function(path) { setValueInspector(path); } );
|
||||||
break;
|
break;
|
||||||
case VALUE_DISPLAY.path_load :
|
case VALUE_DISPLAY.path_load :
|
||||||
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) { setValueDirect(str); } );
|
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) { setValueInspector(str); } );
|
||||||
|
|
||||||
editWidget.align = fa_left;
|
editWidget.align = fa_left;
|
||||||
editWidget.side_button = button(function() {
|
editWidget.side_button = button(function() {
|
||||||
var path = get_open_filename(display_data.filter, "");
|
var path = get_open_filename(display_data.filter, "");
|
||||||
key_release();
|
key_release();
|
||||||
if(path == "") return noone;
|
if(path == "") return noone;
|
||||||
return setValueDirect(path);
|
return setValueInspector(path);
|
||||||
}, THEME.button_path_icon);
|
}, THEME.button_path_icon);
|
||||||
|
|
||||||
extract_node = "Node_String";
|
extract_node = "Node_String";
|
||||||
break;
|
break;
|
||||||
case VALUE_DISPLAY.path_save :
|
case VALUE_DISPLAY.path_save :
|
||||||
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) { setValueDirect(str); } );
|
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) { setValueInspector(str); } );
|
||||||
|
|
||||||
editWidget.align = fa_left;
|
editWidget.align = fa_left;
|
||||||
editWidget.side_button = button(function() {
|
editWidget.side_button = button(function() {
|
||||||
var path = get_save_filename(display_data.filter, "");
|
var path = get_save_filename(display_data.filter, "");
|
||||||
key_release();
|
key_release();
|
||||||
if(path == "") return noone;
|
if(path == "") return noone;
|
||||||
return setValueDirect(path);
|
return setValueInspector(path);
|
||||||
}, THEME.button_path_icon);
|
}, THEME.button_path_icon);
|
||||||
|
|
||||||
extract_node = "Node_String";
|
extract_node = "Node_String";
|
||||||
|
@ -1204,7 +1200,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
case VALUE_DISPLAY.path_font :
|
case VALUE_DISPLAY.path_font :
|
||||||
editWidget = new fontScrollBox(
|
editWidget = new fontScrollBox(
|
||||||
function(val) {
|
function(val) {
|
||||||
return setValueDirect(DIRECTORY + "Fonts/" + FONT_INTERNAL[val]);
|
return setValueInspector(DIRECTORY + "Fonts/" + FONT_INTERNAL[val]);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
@ -1213,28 +1209,28 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
case VALUE_TYPE.curve : #region
|
case VALUE_TYPE.curve : #region
|
||||||
display_type = VALUE_DISPLAY.curve;
|
display_type = VALUE_DISPLAY.curve;
|
||||||
editWidget = new curveBox(function(_modified) {
|
editWidget = new curveBox(function(_modified) {
|
||||||
return setValueDirect(_modified);
|
return setValueInspector(_modified);
|
||||||
});
|
});
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_TYPE.text : #region
|
case VALUE_TYPE.text : #region
|
||||||
switch(display_type) {
|
switch(display_type) {
|
||||||
case VALUE_DISPLAY._default :
|
case VALUE_DISPLAY._default :
|
||||||
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) {
|
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) {
|
||||||
return setValueDirect(str);
|
return setValueInspector(str);
|
||||||
});
|
});
|
||||||
extract_node = "Node_String";
|
extract_node = "Node_String";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VALUE_DISPLAY.text_box :
|
case VALUE_DISPLAY.text_box :
|
||||||
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) {
|
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) {
|
||||||
return setValueDirect(str);
|
return setValueInspector(str);
|
||||||
});
|
});
|
||||||
extract_node = "Node_String";
|
extract_node = "Node_String";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VALUE_DISPLAY.codeLUA :
|
case VALUE_DISPLAY.codeLUA :
|
||||||
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) {
|
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) {
|
||||||
return setValueDirect(str);
|
return setValueInspector(str);
|
||||||
});
|
});
|
||||||
|
|
||||||
editWidget.font = f_code;
|
editWidget.font = f_code;
|
||||||
|
@ -1245,7 +1241,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
|
|
||||||
case VALUE_DISPLAY.codeHLSL:
|
case VALUE_DISPLAY.codeHLSL:
|
||||||
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) {
|
editWidget = new textArea(TEXTBOX_INPUT.text, function(str) {
|
||||||
return setValueDirect(str);
|
return setValueInspector(str);
|
||||||
});
|
});
|
||||||
|
|
||||||
editWidget.autocomplete_server = hlsl_autocomplete_server;
|
editWidget.autocomplete_server = hlsl_autocomplete_server;
|
||||||
|
@ -1261,7 +1257,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
|
|
||||||
case VALUE_DISPLAY.text_tunnel :
|
case VALUE_DISPLAY.text_tunnel :
|
||||||
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) {
|
editWidget = new textBox(TEXTBOX_INPUT.text, function(str) {
|
||||||
return setValueDirect(str);
|
return setValueInspector(str);
|
||||||
});
|
});
|
||||||
extract_node = "Node_String";
|
extract_node = "Node_String";
|
||||||
break;
|
break;
|
||||||
|
@ -1274,7 +1270,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
case VALUE_TYPE.d3Material :
|
case VALUE_TYPE.d3Material :
|
||||||
case VALUE_TYPE.surface : #region
|
case VALUE_TYPE.surface : #region
|
||||||
editWidget = new surfaceBox(function(ind) {
|
editWidget = new surfaceBox(function(ind) {
|
||||||
return setValueDirect(ind);
|
return setValueInspector(ind);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
if(!struct_has(display_data, "atlas")) display_data.atlas = true;
|
if(!struct_has(display_data, "atlas")) display_data.atlas = true;
|
||||||
|
@ -1923,6 +1919,26 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
}
|
}
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
static setValueInspector = function(val = 0, index = noone) { #region
|
||||||
|
INLINE
|
||||||
|
var res = false;
|
||||||
|
|
||||||
|
if(PANEL_INSPECTOR && PANEL_INSPECTOR.inspectGroup == 1) {
|
||||||
|
var ind = self.index;
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(PANEL_INSPECTOR.inspectings); i < n; i++ ) {
|
||||||
|
var _node = PANEL_INSPECTOR.inspectings[i];
|
||||||
|
if(ind >= ds_list_size(_node.inputs)) continue;
|
||||||
|
|
||||||
|
var r = _node.inputs[| ind].setValueDirect(val, index);
|
||||||
|
if(_node == node) res = r;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
res = setValueDirect(val, index);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
static setValueDirect = function(val = 0, index = noone, record = true, time = CURRENT_FRAME, _update = true) { #region
|
static setValueDirect = function(val = 0, index = noone, record = true, time = CURRENT_FRAME, _update = true) { #region
|
||||||
is_modified = true;
|
is_modified = true;
|
||||||
var updated = false;
|
var updated = false;
|
||||||
|
|
|
@ -603,6 +603,8 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
||||||
var _l = ds_list_create_from_array(nodes_selecting);
|
var _l = ds_list_create_from_array(nodes_selecting);
|
||||||
toCenterNode(array_empty(nodes_selecting)? nodes_list : _l);
|
toCenterNode(array_empty(nodes_selecting)? nodes_list : _l);
|
||||||
ds_list_destroy(_l);
|
ds_list_destroy(_l);
|
||||||
|
|
||||||
|
graph_s_to = 1;
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
function dragGraph() { #region
|
function dragGraph() { #region
|
||||||
|
|
|
@ -23,9 +23,11 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
h = ui(640);
|
h = ui(640);
|
||||||
min_w = ui(160);
|
min_w = ui(160);
|
||||||
|
|
||||||
locked = false;
|
locked = false;
|
||||||
inspecting = noone;
|
inspecting = noone;
|
||||||
top_bar_h = ui(100);
|
inspectings = [];
|
||||||
|
inspectGroup = false;
|
||||||
|
top_bar_h = ui(100);
|
||||||
|
|
||||||
static initSize = function() {
|
static initSize = function() {
|
||||||
content_w = w - ui(32);
|
content_w = w - ui(32);
|
||||||
|
@ -397,7 +399,7 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static drawNodeProperties = function(_y, _m, _inspecting = inspecting) { #region
|
static drawNodeProperties = function(_y, _m, _inspecting = inspecting) { #region
|
||||||
var con_w = contentPane.surface_w - ui(4);
|
var con_w = contentPane.surface_w - ui(4);
|
||||||
var _hover = pHOVER && contentPane.hover;
|
var _hover = pHOVER && contentPane.hover;
|
||||||
|
|
||||||
_inspecting.inspecting = true;
|
_inspecting.inspecting = true;
|
||||||
|
@ -405,23 +407,20 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
var jun = noone;
|
var jun = noone;
|
||||||
var amoIn = _inspecting.input_display_list == -1? ds_list_size(_inspecting.inputs) : array_length(_inspecting.input_display_list);
|
var amoIn = _inspecting.input_display_list == -1? ds_list_size(_inspecting.inputs) : array_length(_inspecting.input_display_list);
|
||||||
var amoOut = ds_list_size(_inspecting.outputs);
|
var amoOut = ds_list_size(_inspecting.outputs);
|
||||||
var amo = amoIn + 1 + amoOut;
|
var amo = inspectGroup == 0? amoIn + 1 + amoOut : amoIn;
|
||||||
var hh = ui(40);
|
var hh = 0;
|
||||||
|
|
||||||
//tb_prop_filter.register(contentPane);
|
//tb_prop_filter.register(contentPane);
|
||||||
//tb_prop_filter.setFocusHover(pHOVER, pFOCUS);
|
//tb_prop_filter.setFocusHover(pHOVER, pFOCUS);
|
||||||
//tb_prop_filter.draw(ui(32), _y + ui(4), con_w - ui(64), ui(28), filter_text, _m);
|
//tb_prop_filter.draw(ui(32), _y + ui(4), con_w - ui(64), ui(28), filter_text, _m);
|
||||||
//draw_sprite_ui(THEME.search, 0, ui(32 + 16), _y + ui(4 + 14), 1, 1, 0, COLORS._main_icon, 1);
|
//draw_sprite_ui(THEME.search, 0, ui(32 + 16), _y + ui(4 + 14), 1, 1, 0, COLORS._main_icon, 1);
|
||||||
|
|
||||||
prop_page_button.setFocusHover(pFOCUS, pHOVER);
|
|
||||||
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(28), prop_page, _m, x + contentPane.x, y + contentPane.y);
|
|
||||||
|
|
||||||
var xc = con_w / 2;
|
var xc = con_w / 2;
|
||||||
|
|
||||||
if(prop_page == 1) { #region attribute/settings editor
|
if(prop_page == 1) { #region attribute/settings editor
|
||||||
hh += ui(8);
|
hh += ui(8);
|
||||||
var hg = ui(32);
|
var hg = ui(32);
|
||||||
var yy = hh;
|
var yy = _y + hh;
|
||||||
var wx1 = con_w - ui(8);
|
var wx1 = con_w - ui(8);
|
||||||
var ww = max(ui(180), con_w / 3);
|
var ww = max(ui(180), con_w / 3);
|
||||||
var wx0 = wx1 - ww;
|
var wx0 = wx1 - ww;
|
||||||
|
@ -579,7 +578,7 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
} else if(i == amoIn) { #region output label
|
} else if(i == amoIn) { #region output label
|
||||||
hh += ui(8 + 32 + 8);
|
hh += ui(8 + 32 + 8);
|
||||||
|
|
||||||
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(8), con_w, ui(32), COLORS.panel_inspector_output_label, 0.85);
|
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(8), con_w, ui(32), COLORS.panel_inspector_output_label, 0.8);
|
||||||
draw_set_text(f_p0b, fa_center, fa_center, COLORS._main_text_sub);
|
draw_set_text(f_p0b, fa_center, fa_center, COLORS._main_text_sub);
|
||||||
draw_text_add(xc, yy + ui(8 + 16), __txt("Outputs"));
|
draw_text_add(xc, yy + ui(8 + 16), __txt("Outputs"));
|
||||||
continue;
|
continue;
|
||||||
|
@ -745,7 +744,38 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
prop_selecting = noone;
|
prop_selecting = noone;
|
||||||
|
|
||||||
if(inspecting == noone) return drawMeta(_y, _m);
|
if(inspecting == noone) return drawMeta(_y, _m);
|
||||||
return drawNodeProperties(_y, _m);
|
|
||||||
|
prop_page_button.setFocusHover(pFOCUS, pHOVER);
|
||||||
|
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(28), prop_page, _m, x + contentPane.x, y + contentPane.y);
|
||||||
|
|
||||||
|
var _hh = ui(40);
|
||||||
|
_y += _hh;
|
||||||
|
|
||||||
|
if(inspectGroup >= 0) return drawNodeProperties(_y, _m, inspecting);
|
||||||
|
|
||||||
|
for( var i = 0, n = min(10, array_length(inspectings)); i < n; i++ ) {
|
||||||
|
if(i) {
|
||||||
|
_y += ui(8);
|
||||||
|
_hh += ui(8);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(n > 1) {
|
||||||
|
draw_sprite_stretched_ext(THEME.group_label, 0, 0, _y, con_w, ui(32), COLORS.panel_inspector_output_label, 0.9);
|
||||||
|
draw_set_text(f_p0b, fa_center, fa_center, COLORS._main_text_sub);
|
||||||
|
|
||||||
|
var _tx = inspectings[i].getFullName();
|
||||||
|
draw_text_add(con_w / 2, _y + ui(16), _tx);
|
||||||
|
|
||||||
|
_y += ui(32 + 8);
|
||||||
|
_hh += ui(32 + 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
var _h = drawNodeProperties(_y, _m, inspectings[i]);
|
||||||
|
_y += _h;
|
||||||
|
_hh += _h;
|
||||||
|
}
|
||||||
|
|
||||||
|
return _hh;
|
||||||
}); #endregion
|
}); #endregion
|
||||||
|
|
||||||
function propSelectCopy() { #region
|
function propSelectCopy() { #region
|
||||||
|
@ -760,33 +790,43 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
function drawInspectingNode() { #region
|
function drawInspectingNode() { #region
|
||||||
tb_node_name.font = f_h5;
|
tb_node_name.font = f_h5;
|
||||||
tb_node_name.hide = true;
|
tb_node_name.hide = true;
|
||||||
tb_node_name.setFocusHover(pFOCUS, pHOVER);
|
|
||||||
tb_node_name.align = fa_center;
|
tb_node_name.align = fa_center;
|
||||||
tb_node_name.format = TEXT_AREA_FORMAT.node_title;
|
tb_node_name.format = TEXT_AREA_FORMAT.node_title;
|
||||||
|
tb_node_name.setFocusHover(pFOCUS, pHOVER);
|
||||||
|
|
||||||
var txt = inspecting.renamed? inspecting.display_name : inspecting.name;
|
var txt = inspecting.renamed? inspecting.display_name : inspecting.name;
|
||||||
|
if(inspectGroup == 1) txt = $"[{array_length(PANEL_GRAPH.nodes_selecting)}] {txt}";
|
||||||
|
else if(inspectGroup == -1) txt = $"[{array_length(PANEL_GRAPH.nodes_selecting)}] Multiple nodes";
|
||||||
|
|
||||||
tb_node_name.draw(ui(64), ui(14), w - ui(128), ui(32), txt, [mx, my]);
|
tb_node_name.draw(ui(64), ui(14), w - ui(128), ui(32), txt, [mx, my]);
|
||||||
|
|
||||||
draw_set_text(f_p1, fa_center, fa_center, COLORS._main_text_sub);
|
if(inspectGroup >= 0) {
|
||||||
draw_text_add(w / 2 + ui(8), ui(56), inspecting.name);
|
draw_set_text(f_p1, fa_center, fa_center, COLORS._main_text_sub);
|
||||||
|
draw_text_add(w / 2 + ui(8), ui(56), inspecting.name);
|
||||||
|
|
||||||
draw_set_text(f_p3, fa_center, fa_center, COLORS._main_text_sub);
|
draw_set_text(f_p3, fa_center, fa_center, COLORS._main_text_sub);
|
||||||
draw_set_alpha(0.65);
|
draw_set_alpha(0.65);
|
||||||
draw_text_add(w / 2, ui(76), inspecting.internalName);
|
draw_text_add(w / 2, ui(76), inspecting.internalName);
|
||||||
draw_set_alpha(1);
|
draw_set_alpha(1);
|
||||||
|
}
|
||||||
draw_set_font(f_p1);
|
|
||||||
var lx = w / 2 - string_width(inspecting.name) / 2 - ui(10);
|
|
||||||
var ly = ui(56 - 8);
|
|
||||||
if(buttonInstant(THEME.button_hide, lx, ly, ui(16), ui(16), [mx, my], pFOCUS, pHOVER, __txt("Lock"), THEME.lock, !locked, locked? COLORS._main_icon_light : COLORS._main_icon,, 0.5) == 2)
|
|
||||||
locked = !locked;
|
|
||||||
|
|
||||||
var bx = ui(8);
|
var bx = ui(8);
|
||||||
var by = ui(12);
|
var by = ui(12);
|
||||||
|
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), [mx, my], pFOCUS, pHOVER, __txt("Presets"), THEME.preset, 1) == 2)
|
if(inspectGroup == 0) {
|
||||||
dialogCall(o_dialog_preset, x + bx, y + by + ui(36), { "node": inspecting });
|
draw_set_font(f_p1);
|
||||||
|
var lx = w / 2 - string_width(inspecting.name) / 2 - ui(10);
|
||||||
|
var ly = ui(56 - 8);
|
||||||
|
if(buttonInstant(THEME.button_hide, lx, ly, ui(16), ui(16), [mx, my], pFOCUS, pHOVER, __txt("Lock"), THEME.lock, !locked, locked? COLORS._main_icon_light : COLORS._main_icon,, 0.5) == 2)
|
||||||
|
locked = !locked;
|
||||||
|
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), [mx, my], pFOCUS, pHOVER, __txt("Presets"), THEME.preset, 1) == 2)
|
||||||
|
dialogCall(o_dialog_preset, x + bx, y + by + ui(36), { "node": inspecting });
|
||||||
|
} else {
|
||||||
|
draw_sprite_ui_uniform(THEME.preset, 1, bx + ui(32) / 2, by + ui(32) / 2, 1, COLORS._main_icon_dark);
|
||||||
|
}
|
||||||
|
|
||||||
by += ui(36);
|
by += ui(36);
|
||||||
view_mode_tooltip.index = lineBreak;
|
view_mode_tooltip.index = lineBreak;
|
||||||
|
@ -795,6 +835,8 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
PREFERENCES.inspector_view_default = lineBreak;
|
PREFERENCES.inspector_view_default = lineBreak;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////// INSPECTOR ACTIONS ////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var bx = w - ui(44);
|
var bx = w - ui(44);
|
||||||
var by = ui(12);
|
var by = ui(12);
|
||||||
|
|
||||||
|
@ -802,9 +844,15 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
var icon = inspecting.insp1UpdateIcon;
|
var icon = inspecting.insp1UpdateIcon;
|
||||||
var ac = inspecting.insp1UpdateActive;
|
var ac = inspecting.insp1UpdateActive;
|
||||||
var cc = ac? icon[2] : COLORS._main_icon_dark;
|
var cc = ac? icon[2] : COLORS._main_icon_dark;
|
||||||
|
var tt = inspecting.insp1UpdateTooltip;
|
||||||
|
if(inspectGroup) tt += " [All]";
|
||||||
|
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), [mx, my], pFOCUS && ac, pHOVER && ac, inspecting.insp1UpdateTooltip, icon[0], icon[1], cc) == 2)
|
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), [mx, my], pFOCUS && ac, pHOVER && ac, tt, icon[0], icon[1], cc) == 2) {
|
||||||
inspecting.inspector1Update();
|
if(inspectGroup == 1) {
|
||||||
|
for( var i = 0, n = array_length(inspectings); i < n; i++ ) inspectings[i].inspector1Update();
|
||||||
|
} else
|
||||||
|
inspecting.inspector1Update();
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
draw_sprite_ui(THEME.sequence_control, 1, bx + ui(16), by + ui(16),,,, COLORS._main_icon_dark);
|
draw_sprite_ui(THEME.sequence_control, 1, bx + ui(16), by + ui(16),,,, COLORS._main_icon_dark);
|
||||||
|
|
||||||
|
@ -813,9 +861,15 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
var icon = inspecting.insp2UpdateIcon;
|
var icon = inspecting.insp2UpdateIcon;
|
||||||
var ac = inspecting.insp2UpdateActive;
|
var ac = inspecting.insp2UpdateActive;
|
||||||
var cc = ac? icon[2] : COLORS._main_icon_dark;
|
var cc = ac? icon[2] : COLORS._main_icon_dark;
|
||||||
|
var tt = inspecting.insp2UpdateTooltip;
|
||||||
|
if(inspectGroup) tt += " [All]";
|
||||||
|
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), [mx, my], pFOCUS && ac, pHOVER && ac, inspecting.insp2UpdateTooltip, icon[0], icon[1], cc) = 2)
|
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), [mx, my], pFOCUS && ac, pHOVER && ac, tt, icon[0], icon[1], cc) = 2) {
|
||||||
inspecting.inspector2Update();
|
if(inspectGroup) {
|
||||||
|
for( var i = 0, n = array_length(inspectings); i < n; i++ ) inspectings[i].inspector2Update();
|
||||||
|
} else
|
||||||
|
inspecting.inspector2Update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
@ -828,6 +882,15 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
inspecting = noone;
|
inspecting = noone;
|
||||||
|
|
||||||
if(inspecting) {
|
if(inspecting) {
|
||||||
|
var _ins = instanceof(inspecting);
|
||||||
|
var _nodes = PANEL_GRAPH.nodes_selecting;
|
||||||
|
|
||||||
|
inspectGroup = array_length(_nodes) > 1;
|
||||||
|
inspectings = array_empty(_nodes)? [ inspecting ] : _nodes;
|
||||||
|
|
||||||
|
for( var i = 0, n = array_length(_nodes); i < n; i++ )
|
||||||
|
if(instanceof(_nodes[i]) != _ins) { inspectGroup = -1; break; }
|
||||||
|
|
||||||
title = inspecting.renamed? inspecting.display_name : inspecting.name;
|
title = inspecting.renamed? inspecting.display_name : inspecting.name;
|
||||||
inspecting.inspectorStep();
|
inspecting.inspectorStep();
|
||||||
drawInspectingNode();
|
drawInspectingNode();
|
||||||
|
|
|
@ -443,8 +443,18 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
var dx = mx - d3_camPan_mx;
|
var dx = mx - d3_camPan_mx;
|
||||||
var dy = my - d3_camPan_my;
|
var dy = my - d3_camPan_my;
|
||||||
|
|
||||||
d3_view_camera.focus_angle_x += dx * 0.2 * d3_pan_speed;
|
var px = d3_view_camera.focus_angle_x;
|
||||||
d3_view_camera.focus_angle_y += dy * 0.1 * d3_pan_speed;
|
var py = d3_view_camera.focus_angle_y;
|
||||||
|
var ax = px + dx * 0.2 * d3_pan_speed;
|
||||||
|
var ay = py + dy * 0.1 * d3_pan_speed;
|
||||||
|
|
||||||
|
//if(py < 90 && ay >= 90) ax -= 180;
|
||||||
|
//if(py > 90 && ay <= 90) ax += 180;
|
||||||
|
|
||||||
|
//print($"{ax},\t{ay}");
|
||||||
|
|
||||||
|
d3_view_camera.focus_angle_x = ax;
|
||||||
|
d3_view_camera.focus_angle_y = ay;
|
||||||
}
|
}
|
||||||
|
|
||||||
d3_camPan_mx = mx;
|
d3_camPan_mx = mx;
|
||||||
|
@ -751,8 +761,9 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
sample_x = floor((mx - canvas_x) / canvas_s);
|
sample_x = floor((mx - canvas_x) / canvas_s);
|
||||||
sample_y = floor((my - canvas_y) / canvas_s);
|
sample_y = floor((my - canvas_y) / canvas_s);
|
||||||
var surf = getNodePreviewSurface();
|
var surf = getNodePreviewSurface();
|
||||||
if(is_surface(surf))
|
sample_color = surface_get_pixel_ext(surf, sample_x, sample_y);
|
||||||
sample_color = surface_get_pixel_ext(surf, sample_x, sample_y);
|
|
||||||
|
//print($"{dec_to_hex(sample_color)}: {color_get_alpha(int64(sample_color))}");
|
||||||
}
|
}
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
@ -1328,6 +1339,7 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
if(sample_color != noone) {
|
if(sample_color != noone) {
|
||||||
draw_set_color(sample_color);
|
draw_set_color(sample_color);
|
||||||
draw_rectangle(cx, cy, cx + cw, cy + ch, false);
|
draw_rectangle(cx, cy, cx + cw, cy + ch, false);
|
||||||
|
draw_set_alpha(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_set_color(COLORS.panel_toolbar_outline);
|
draw_set_color(COLORS.panel_toolbar_outline);
|
||||||
|
|
|
@ -207,10 +207,10 @@
|
||||||
function surface_get_pixel_ext(surface, _x, _y) { #region
|
function surface_get_pixel_ext(surface, _x, _y) { #region
|
||||||
INLINE
|
INLINE
|
||||||
|
|
||||||
if(!is_surface(surface)) return;
|
if(!is_surface(surface)) return 0;
|
||||||
var px = surface_getpixel_ext(surface, _x, _y);
|
var px = surface_getpixel_ext(surface, _x, _y);
|
||||||
|
|
||||||
if(is_numeric(px)) return px;
|
if(is_numeric(px)) return int64(px);
|
||||||
return round(px[0] * (255 * power(256, 0))) + round(px[1] * (255 * power(256, 1))) + round(px[2] * (255 * power(256, 2))) + round(px[3] * (255 * power(256, 3)));
|
return round(px[0] * (255 * power(256, 0))) + round(px[1] * (255 * power(256, 1))) + round(px[2] * (255 * power(256, 2))) + round(px[3] * (255 * power(256, 3)));
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
|
36
shaders/sh_blend_edge/sh_blend_edge.fsh
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
uniform vec2 dimension;
|
||||||
|
uniform int edge;
|
||||||
|
|
||||||
|
uniform vec2 width;
|
||||||
|
uniform int widthUseSurf;
|
||||||
|
uniform sampler2D widthSurf;
|
||||||
|
|
||||||
|
uniform float blend;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float wid = width.x;
|
||||||
|
float widMax = max(width.x, width.y);
|
||||||
|
if(widthUseSurf == 1) {
|
||||||
|
vec4 _vMap = texture2D( widthSurf, v_vTexcoord );
|
||||||
|
wid = mix(width.x, width.y, (_vMap.r + _vMap.g + _vMap.b) / 3.);
|
||||||
|
}
|
||||||
|
|
||||||
|
float bnd = 1. - blend;
|
||||||
|
vec4 off;
|
||||||
|
float m = 0.;
|
||||||
|
vec2 v = 1. - max(vec2(0.), abs(v_vTexcoord - 0.5) * 2. / wid - bnd) / (1. - bnd);
|
||||||
|
vec2 vi = 1. - max(vec2(0.), (1. - abs(v_vTexcoord - 0.5) * 2.) / wid - bnd) / (1. - bnd);
|
||||||
|
float mi = 1. - max(vi.x, vi.y);
|
||||||
|
|
||||||
|
if(edge == 0) m = min(max(v.x, v.y), max(v.x, v.y) + mi - 1.);
|
||||||
|
else if(edge == 1) m = v.x;
|
||||||
|
else if(edge == 2) m = v.y;
|
||||||
|
|
||||||
|
m = clamp(m, 0., 1.);
|
||||||
|
//m = smoothstep(0., 1., m);
|
||||||
|
|
||||||
|
gl_FragColor = vec4(vec3(m), 1.);
|
||||||
|
}
|
19
shaders/sh_blend_edge/sh_blend_edge.vsh
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// Simple passthrough vertex shader
|
||||||
|
//
|
||||||
|
attribute vec3 in_Position; // (x,y,z)
|
||||||
|
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||||
|
attribute vec4 in_Colour; // (r,g,b,a)
|
||||||
|
attribute vec2 in_TextureCoord; // (u,v)
|
||||||
|
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||||
|
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||||
|
|
||||||
|
v_vColour = in_Colour;
|
||||||
|
v_vTexcoord = in_TextureCoord;
|
||||||
|
}
|
10
shaders/sh_blend_edge/sh_blend_edge.yy
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMShader",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "sh_blend_edge",
|
||||||
|
"parent": {
|
||||||
|
"name": "blend edge",
|
||||||
|
"path": "folders/shader/filter/blend edge.yy",
|
||||||
|
},
|
||||||
|
"type": 1,
|
||||||
|
}
|
26
shaders/sh_blend_edge_blend/sh_blend_edge_blend.fsh
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
uniform vec2 dimension;
|
||||||
|
uniform int edge;
|
||||||
|
|
||||||
|
uniform sampler2D mask;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float msk = texture2D( mask, v_vTexcoord ).r;
|
||||||
|
vec4 cur = texture2D( gm_BaseTexture, v_vTexcoord );
|
||||||
|
vec4 off;
|
||||||
|
|
||||||
|
if(edge == 0) {
|
||||||
|
off = texture2D( gm_BaseTexture, fract(v_vTexcoord + vec2(0.5, 0.5)) );
|
||||||
|
|
||||||
|
} else if(edge == 1) {
|
||||||
|
off = texture2D( gm_BaseTexture, fract(v_vTexcoord + vec2(0.5, 0.0)) );
|
||||||
|
|
||||||
|
} else if(edge == 2) {
|
||||||
|
off = texture2D( gm_BaseTexture, fract(v_vTexcoord + vec2(0.0, 0.5)) );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
gl_FragColor = mix(off, cur, msk);
|
||||||
|
}
|
19
shaders/sh_blend_edge_blend/sh_blend_edge_blend.vsh
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// Simple passthrough vertex shader
|
||||||
|
//
|
||||||
|
attribute vec3 in_Position; // (x,y,z)
|
||||||
|
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||||
|
attribute vec4 in_Colour; // (r,g,b,a)
|
||||||
|
attribute vec2 in_TextureCoord; // (u,v)
|
||||||
|
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||||
|
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||||
|
|
||||||
|
v_vColour = in_Colour;
|
||||||
|
v_vTexcoord = in_TextureCoord;
|
||||||
|
}
|
10
shaders/sh_blend_edge_blend/sh_blend_edge_blend.yy
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMShader",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "sh_blend_edge_blend",
|
||||||
|
"parent": {
|
||||||
|
"name": "blend edge",
|
||||||
|
"path": "folders/shader/filter/blend edge.yy",
|
||||||
|
},
|
||||||
|
"type": 1,
|
||||||
|
}
|
36
shaders/sh_blend_edge_extract/sh_blend_edge_extract.fsh
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
uniform vec2 dimension;
|
||||||
|
uniform int edge;
|
||||||
|
|
||||||
|
uniform vec2 width;
|
||||||
|
uniform int widthUseSurf;
|
||||||
|
uniform sampler2D widthSurf;
|
||||||
|
|
||||||
|
uniform float blend;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float wid = width.x;
|
||||||
|
float widMax = max(width.x, width.y);
|
||||||
|
if(widthUseSurf == 1) {
|
||||||
|
vec4 _vMap = texture2D( widthSurf, v_vTexcoord );
|
||||||
|
wid = mix(width.x, width.y, (_vMap.r + _vMap.g + _vMap.b) / 3.);
|
||||||
|
}
|
||||||
|
|
||||||
|
float bnd = 1. - blend;
|
||||||
|
vec4 off;
|
||||||
|
float m = 0.;
|
||||||
|
vec2 v = 1. - max(vec2(0.), abs(v_vTexcoord - 0.5) * 2. / wid - bnd) / (1. - bnd);
|
||||||
|
vec2 vi = 1. - max(vec2(0.), (1. - abs(v_vTexcoord - 0.5) * 2.) / wid - bnd) / (1. - bnd);
|
||||||
|
float mi = 1. - max(vi.x, vi.y);
|
||||||
|
|
||||||
|
if(edge == 0) m = min(max(v.x, v.y), max(v.x, v.y) + mi - 1.);
|
||||||
|
else if(edge == 1) m = v.x;
|
||||||
|
else if(edge == 2) m = v.y;
|
||||||
|
|
||||||
|
m = clamp(m, 0., 1.);
|
||||||
|
//m = smoothstep(0., 1., m);
|
||||||
|
|
||||||
|
gl_FragColor = vec4(vec3(m), 1.);
|
||||||
|
}
|
19
shaders/sh_blend_edge_extract/sh_blend_edge_extract.vsh
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// Simple passthrough vertex shader
|
||||||
|
//
|
||||||
|
attribute vec3 in_Position; // (x,y,z)
|
||||||
|
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||||
|
attribute vec4 in_Colour; // (r,g,b,a)
|
||||||
|
attribute vec2 in_TextureCoord; // (u,v)
|
||||||
|
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||||
|
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||||
|
|
||||||
|
v_vColour = in_Colour;
|
||||||
|
v_vTexcoord = in_TextureCoord;
|
||||||
|
}
|
10
shaders/sh_blend_edge_extract/sh_blend_edge_extract.yy
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMShader",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "sh_blend_edge_extract",
|
||||||
|
"parent": {
|
||||||
|
"name": "blend edge",
|
||||||
|
"path": "folders/shader/filter/blend edge.yy",
|
||||||
|
},
|
||||||
|
"type": 1,
|
||||||
|
}
|
42
shaders/sh_noise_strand/sh_noise_strand.fsh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
uniform vec2 u_resolution;
|
||||||
|
uniform vec2 position;
|
||||||
|
uniform float density;
|
||||||
|
uniform float seed;
|
||||||
|
uniform float slope;
|
||||||
|
|
||||||
|
uniform float curve;
|
||||||
|
uniform float curveDetail;
|
||||||
|
uniform float thickness;
|
||||||
|
|
||||||
|
float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(1., 6.), vec2(2., 7.))) * (1. + seed)); }
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec2 tx = 1. / u_resolution;
|
||||||
|
vec2 pos = v_vTexcoord + position;
|
||||||
|
float w = 0.;
|
||||||
|
|
||||||
|
float _t = min(tx.x, tx.y) / 2.;
|
||||||
|
float mt = 1. - _t;
|
||||||
|
float rp = u_resolution.x;
|
||||||
|
int amo = int(density * rp);
|
||||||
|
|
||||||
|
for (int i = 0; i < amo; i++) {
|
||||||
|
float _x = random(vec2(float(i), 1.));
|
||||||
|
float _y = random(vec2(1., float(i)));
|
||||||
|
|
||||||
|
float _s = random(vec2(2., float(i))) - 0.5;
|
||||||
|
float _a = random(vec2(float(i), 2.));
|
||||||
|
|
||||||
|
_x += _s * 2. * (pos.y - _y) * slope;
|
||||||
|
_x += sin((pos.y - _y) * curveDetail * u_resolution.y / 4.) * curve / u_resolution.x * 2.;
|
||||||
|
|
||||||
|
float st = smoothstep(mt - thickness, mt + thickness, 1. - abs(pos.x - _x)) * _a;
|
||||||
|
|
||||||
|
w = max(w, st);
|
||||||
|
}
|
||||||
|
|
||||||
|
gl_FragColor = vec4(vec3(w), 1.);
|
||||||
|
}
|
19
shaders/sh_noise_strand/sh_noise_strand.vsh
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// Simple passthrough vertex shader
|
||||||
|
//
|
||||||
|
attribute vec3 in_Position; // (x,y,z)
|
||||||
|
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||||
|
attribute vec4 in_Colour; // (r,g,b,a)
|
||||||
|
attribute vec2 in_TextureCoord; // (u,v)
|
||||||
|
|
||||||
|
varying vec2 v_vTexcoord;
|
||||||
|
varying vec4 v_vColour;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||||
|
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||||
|
|
||||||
|
v_vColour = in_Colour;
|
||||||
|
v_vTexcoord = in_TextureCoord;
|
||||||
|
}
|
10
shaders/sh_noise_strand/sh_noise_strand.yy
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMShader",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "sh_noise_strand",
|
||||||
|
"parent": {
|
||||||
|
"name": "noise",
|
||||||
|
"path": "folders/shader/generator/noise.yy",
|
||||||
|
},
|
||||||
|
"type": 1,
|
||||||
|
}
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.7 KiB |
74
sprites/s_node_strand_noise/s_node_strand_noise.yy
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMSprite",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "s_node_strand_noise",
|
||||||
|
"bbox_bottom": 63,
|
||||||
|
"bbox_left": 0,
|
||||||
|
"bbox_right": 63,
|
||||||
|
"bbox_top": 0,
|
||||||
|
"bboxMode": 0,
|
||||||
|
"collisionKind": 1,
|
||||||
|
"collisionTolerance": 0,
|
||||||
|
"DynamicTexturePage": false,
|
||||||
|
"edgeFiltering": false,
|
||||||
|
"For3D": false,
|
||||||
|
"frames": [
|
||||||
|
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"58394d46-a521-4621-ad94-582aea25b18e",},
|
||||||
|
],
|
||||||
|
"gridX": 0,
|
||||||
|
"gridY": 0,
|
||||||
|
"height": 64,
|
||||||
|
"HTile": false,
|
||||||
|
"layers": [
|
||||||
|
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"91f7785d-8ec5-4bd2-97c6-09f8c66dba59","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||||
|
],
|
||||||
|
"nineSlice": null,
|
||||||
|
"origin": 4,
|
||||||
|
"parent": {
|
||||||
|
"name": "generator",
|
||||||
|
"path": "folders/nodes/icons/generator.yy",
|
||||||
|
},
|
||||||
|
"preMultiplyAlpha": false,
|
||||||
|
"sequence": {
|
||||||
|
"resourceType": "GMSequence",
|
||||||
|
"resourceVersion": "1.4",
|
||||||
|
"name": "s_node_strand_noise",
|
||||||
|
"autoRecord": true,
|
||||||
|
"backdropHeight": 768,
|
||||||
|
"backdropImageOpacity": 0.5,
|
||||||
|
"backdropImagePath": "",
|
||||||
|
"backdropWidth": 1366,
|
||||||
|
"backdropXOffset": 0.0,
|
||||||
|
"backdropYOffset": 0.0,
|
||||||
|
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||||
|
"eventStubScript": null,
|
||||||
|
"eventToFunction": {},
|
||||||
|
"length": 1.0,
|
||||||
|
"lockOrigin": false,
|
||||||
|
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||||
|
"playback": 1,
|
||||||
|
"playbackSpeed": 30.0,
|
||||||
|
"playbackSpeedType": 0,
|
||||||
|
"showBackdrop": true,
|
||||||
|
"showBackdropImage": false,
|
||||||
|
"timeUnits": 1,
|
||||||
|
"tracks": [
|
||||||
|
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||||
|
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"58394d46-a521-4621-ad94-582aea25b18e","path":"sprites/s_node_strand_noise/s_node_strand_noise.yy",},},},"Disabled":false,"id":"25648bea-fea8-48a3-831d-d0d6e95d3ba7","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||||
|
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||||
|
],
|
||||||
|
"visibleRange": null,
|
||||||
|
"volume": 1.0,
|
||||||
|
"xorigin": 32,
|
||||||
|
"yorigin": 32,
|
||||||
|
},
|
||||||
|
"swatchColours": null,
|
||||||
|
"swfPrecision": 2.525,
|
||||||
|
"textureGroupId": {
|
||||||
|
"name": "Default",
|
||||||
|
"path": "texturegroups/Default",
|
||||||
|
},
|
||||||
|
"type": 0,
|
||||||
|
"VTile": false,
|
||||||
|
"width": 64,
|
||||||
|
}
|