mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-03-03 22:24:48 +01:00
1.0.0 update
This commit is contained in:
parent
119095a461
commit
9c5e39a11f
386 changed files with 4506 additions and 1834 deletions
|
@ -3,55 +3,59 @@
|
||||||
"resourceVersion": "1.6",
|
"resourceVersion": "1.6",
|
||||||
"name": "Pixels Composer",
|
"name": "Pixels Composer",
|
||||||
"resources": [
|
"resources": [
|
||||||
{"id":{"name":"s_node_corner","path":"sprites/s_node_corner/s_node_corner.yy",},"order":88,},
|
{"id":{"name":"s_node_corner","path":"sprites/s_node_corner/s_node_corner.yy",},"order":14,},
|
||||||
{"id":{"name":"panel_function","path":"scripts/panel_function/panel_function.yy",},"order":5,},
|
{"id":{"name":"panel_function","path":"scripts/panel_function/panel_function.yy",},"order":5,},
|
||||||
{"id":{"name":"node_time_remap","path":"scripts/node_time_remap/node_time_remap.yy",},"order":33,},
|
{"id":{"name":"node_time_remap","path":"scripts/node_time_remap/node_time_remap.yy",},"order":33,},
|
||||||
{"id":{"name":"sh_perlin","path":"shaders/sh_perlin/sh_perlin.yy",},"order":1,},
|
{"id":{"name":"sh_perlin","path":"shaders/sh_perlin/sh_perlin.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_normal_light","path":"shaders/sh_normal_light/sh_normal_light.yy",},"order":0,},
|
{"id":{"name":"sh_normal_light","path":"shaders/sh_normal_light/sh_normal_light.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_scale3x","path":"shaders/sh_scale3x/sh_scale3x.yy",},"order":33,},
|
{"id":{"name":"sh_scale3x","path":"shaders/sh_scale3x/sh_scale3x.yy",},"order":33,},
|
||||||
{"id":{"name":"surface_modify","path":"scripts/surface_modify/surface_modify.yy",},"order":2,},
|
{"id":{"name":"surface_functions","path":"scripts/surface_functions/surface_functions.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_normal","path":"sprites/s_node_normal/s_node_normal.yy",},"order":19,},
|
{"id":{"name":"s_node_normal","path":"sprites/s_node_normal/s_node_normal.yy",},"order":28,},
|
||||||
{"id":{"name":"buffer_surface","path":"scripts/buffer_surface/buffer_surface.yy",},"order":3,},
|
{"id":{"name":"buffer_surface","path":"scripts/buffer_surface/buffer_surface.yy",},"order":3,},
|
||||||
|
{"id":{"name":"node_pixel_sort","path":"scripts/node_pixel_sort/node_pixel_sort.yy",},"order":46,},
|
||||||
{"id":{"name":"sh_dither","path":"shaders/sh_dither/sh_dither.yy",},"order":32,},
|
{"id":{"name":"sh_dither","path":"shaders/sh_dither/sh_dither.yy",},"order":32,},
|
||||||
{"id":{"name":"panel_data","path":"scripts/panel_data/panel_data.yy",},"order":0,},
|
{"id":{"name":"panel_data","path":"scripts/panel_data/panel_data.yy",},"order":0,},
|
||||||
{"id":{"name":"node_3d_obj","path":"scripts/node_3d_obj/node_3d_obj.yy",},"order":8,},
|
{"id":{"name":"node_3d_obj","path":"scripts/node_3d_obj/node_3d_obj.yy",},"order":8,},
|
||||||
{"id":{"name":"o_dialog_menubox","path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},"order":1,},
|
{"id":{"name":"o_dialog_menubox","path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},"order":7,},
|
{"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},"order":5,},
|
||||||
{"id":{"name":"libdlgmodule","path":"extensions/libdlgmodule/libdlgmodule.yy",},"order":2,},
|
{"id":{"name":"libdlgmodule","path":"extensions/libdlgmodule/libdlgmodule.yy",},"order":2,},
|
||||||
{"id":{"name":"node_line","path":"scripts/node_line/node_line.yy",},"order":7,},
|
{"id":{"name":"node_line","path":"scripts/node_line/node_line.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_frame","path":"sprites/s_node_frame/s_node_frame.yy",},"order":79,},
|
{"id":{"name":"s_node_frame","path":"sprites/s_node_frame/s_node_frame.yy",},"order":1,},
|
||||||
{"id":{"name":"node_2d_light","path":"scripts/node_2d_light/node_2d_light.yy",},"order":40,},
|
{"id":{"name":"node_2d_light","path":"scripts/node_2d_light/node_2d_light.yy",},"order":40,},
|
||||||
{"id":{"name":"s_node_color","path":"sprites/s_node_color/s_node_color.yy",},"order":17,},
|
{"id":{"name":"s_node_color","path":"sprites/s_node_color/s_node_color.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_image_gif","path":"sprites/s_node_image_gif/s_node_image_gif.yy",},"order":69,},
|
{"id":{"name":"s_node_image_gif","path":"sprites/s_node_image_gif/s_node_image_gif.yy",},"order":7,},
|
||||||
{"id":{"name":"node_VFX_effect_wind","path":"scripts/node_VFX_effect_wind/node_VFX_effect_wind.yy",},"order":7,},
|
{"id":{"name":"node_VFX_effect_wind","path":"scripts/node_VFX_effect_wind/node_VFX_effect_wind.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},"order":114,},
|
{"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":45,},
|
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":36,},
|
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":36,},
|
||||||
{"id":{"name":"node_dither","path":"scripts/node_dither/node_dither.yy",},"order":11,},
|
{"id":{"name":"node_dither","path":"scripts/node_dither/node_dither.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},"order":7,},
|
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_corner","path":"shaders/sh_corner/sh_corner.yy",},"order":23,},
|
{"id":{"name":"sh_corner","path":"shaders/sh_corner/sh_corner.yy",},"order":23,},
|
||||||
{"id":{"name":"node_array","path":"scripts/node_array/node_array.yy",},"order":3,},
|
{"id":{"name":"node_array","path":"scripts/node_array/node_array.yy",},"order":8,},
|
||||||
{"id":{"name":"sh_colorize","path":"shaders/sh_colorize/sh_colorize.yy",},"order":5,},
|
{"id":{"name":"sh_colorize","path":"shaders/sh_colorize/sh_colorize.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_particle_effector","path":"sprites/s_node_particle_effector/s_node_particle_effector.yy",},"order":52,},
|
{"id":{"name":"node_string","path":"scripts/node_string/node_string.yy",},"order":13,},
|
||||||
|
{"id":{"name":"s_node_particle_effector","path":"sprites/s_node_particle_effector/s_node_particle_effector.yy",},"order":13,},
|
||||||
|
{"id":{"name":"s_node_loop_input","path":"sprites/s_node_loop_input/s_node_loop_input.yy",},"order":14,},
|
||||||
{"id":{"name":"perlin_noise","path":"scripts/perlin_noise/perlin_noise.yy",},"order":5,},
|
{"id":{"name":"perlin_noise","path":"scripts/perlin_noise/perlin_noise.yy",},"order":5,},
|
||||||
{"id":{"name":"node_functions","path":"scripts/node_functions/node_functions.yy",},"order":2,},
|
{"id":{"name":"node_functions","path":"scripts/node_functions/node_functions.yy",},"order":2,},
|
||||||
{"id":{"name":"node_math","path":"scripts/node_math/node_math.yy",},"order":6,},
|
{"id":{"name":"node_math","path":"scripts/node_math/node_math.yy",},"order":1,},
|
||||||
{"id":{"name":"array_functions","path":"scripts/array_functions/array_functions.yy",},"order":2,},
|
{"id":{"name":"array_functions","path":"scripts/array_functions/array_functions.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_blur_final","path":"shaders/sh_blur_final/sh_blur_final.yy",},"order":3,},
|
{"id":{"name":"sh_blur_final","path":"shaders/sh_blur_final/sh_blur_final.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_colorize","path":"sprites/s_node_colorize/s_node_colorize.yy",},"order":90,},
|
{"id":{"name":"s_node_colorize","path":"sprites/s_node_colorize/s_node_colorize.yy",},"order":13,},
|
||||||
{"id":{"name":"panel_preview","path":"scripts/panel_preview/panel_preview.yy",},"order":3,},
|
{"id":{"name":"panel_preview","path":"scripts/panel_preview/panel_preview.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_sepearte_shape","path":"sprites/s_node_sepearte_shape/s_node_sepearte_shape.yy",},"order":42,},
|
{"id":{"name":"s_node_sepearte_shape","path":"sprites/s_node_sepearte_shape/s_node_sepearte_shape.yy",},"order":33,},
|
||||||
{"id":{"name":"s_node_polar","path":"sprites/s_node_polar/s_node_polar.yy",},"order":49,},
|
{"id":{"name":"s_node_polar","path":"sprites/s_node_polar/s_node_polar.yy",},"order":5,},
|
||||||
{"id":{"name":"o_dialog_notifications","path":"objects/o_dialog_notifications/o_dialog_notifications.yy",},"order":28,},
|
{"id":{"name":"o_dialog_notifications","path":"objects/o_dialog_notifications/o_dialog_notifications.yy",},"order":28,},
|
||||||
{"id":{"name":"s_node_alpha_grey","path":"sprites/s_node_alpha_grey/s_node_alpha_grey.yy",},"order":110,},
|
{"id":{"name":"s_node_alpha_grey","path":"sprites/s_node_alpha_grey/s_node_alpha_grey.yy",},"order":2,},
|
||||||
{"id":{"name":"node_blend","path":"scripts/node_blend/node_blend.yy",},"order":13,},
|
{"id":{"name":"node_blend","path":"scripts/node_blend/node_blend.yy",},"order":13,},
|
||||||
{"id":{"name":"s_node_level","path":"sprites/s_node_level/s_node_level.yy",},"order":64,},
|
{"id":{"name":"s_node_level","path":"sprites/s_node_level/s_node_level.yy",},"order":26,},
|
||||||
{"id":{"name":"node_scatter","path":"scripts/node_scatter/node_scatter.yy",},"order":3,},
|
{"id":{"name":"node_scatter","path":"scripts/node_scatter/node_scatter.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_bloom","path":"sprites/s_node_bloom/s_node_bloom.yy",},"order":104,},
|
{"id":{"name":"s_node_bloom","path":"sprites/s_node_bloom/s_node_bloom.yy",},"order":6,},
|
||||||
{"id":{"name":"node_image","path":"scripts/node_image/node_image.yy",},"order":0,},
|
{"id":{"name":"node_image","path":"scripts/node_image/node_image.yy",},"order":0,},
|
||||||
|
{"id":{"name":"s_node_vfx_render","path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},"order":0,},
|
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_blend_max","path":"shaders/sh_blend_max/sh_blend_max.yy",},"order":8,},
|
{"id":{"name":"sh_blend_max","path":"shaders/sh_blend_max/sh_blend_max.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_color_out","path":"sprites/s_node_color_out/s_node_color_out.yy",},"order":93,},
|
{"id":{"name":"s_node_color_out","path":"sprites/s_node_color_out/s_node_color_out.yy",},"order":5,},
|
||||||
{"id":{"name":"_3D","path":"scripts/_3D/_3D.yy",},"order":6,},
|
{"id":{"name":"_3D","path":"scripts/_3D/_3D.yy",},"order":6,},
|
||||||
{"id":{"name":"node_outline","path":"scripts/node_outline/node_outline.yy",},"order":0,},
|
{"id":{"name":"node_outline","path":"scripts/node_outline/node_outline.yy",},"order":0,},
|
||||||
{"id":{"name":"math_function","path":"scripts/math_function/math_function.yy",},"order":7,},
|
{"id":{"name":"math_function","path":"scripts/math_function/math_function.yy",},"order":7,},
|
||||||
|
@ -59,41 +63,42 @@
|
||||||
{"id":{"name":"o_dialog_exit","path":"objects/o_dialog_exit/o_dialog_exit.yy",},"order":27,},
|
{"id":{"name":"o_dialog_exit","path":"objects/o_dialog_exit/o_dialog_exit.yy",},"order":27,},
|
||||||
{"id":{"name":"node_gradient_points","path":"scripts/node_gradient_points/node_gradient_points.yy",},"order":20,},
|
{"id":{"name":"node_gradient_points","path":"scripts/node_gradient_points/node_gradient_points.yy",},"order":20,},
|
||||||
{"id":{"name":"colToVec4","path":"scripts/colToVec4/colToVec4.yy",},"order":0,},
|
{"id":{"name":"colToVec4","path":"scripts/colToVec4/colToVec4.yy",},"order":0,},
|
||||||
|
{"id":{"name":"s_node_vfx","path":"sprites/s_node_vfx/s_node_vfx.yy",},"order":9,},
|
||||||
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
||||||
{"id":{"name":"blurSurface","path":"scripts/blurSurface/blurSurface.yy",},"order":0,},
|
{"id":{"name":"blurSurface","path":"scripts/blurSurface/blurSurface.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_cell_noise_edge","path":"shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy",},"order":5,},
|
{"id":{"name":"sh_cell_noise_edge","path":"shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy",},"order":5,},
|
||||||
{"id":{"name":"node_stripe","path":"scripts/node_stripe/node_stripe.yy",},"order":11,},
|
{"id":{"name":"node_stripe","path":"scripts/node_stripe/node_stripe.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_texture_atlas","path":"shaders/sh_texture_atlas/sh_texture_atlas.yy",},"order":0,},
|
{"id":{"name":"sh_texture_atlas","path":"shaders/sh_texture_atlas/sh_texture_atlas.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_displace","path":"sprites/s_node_displace/s_node_displace.yy",},"order":83,},
|
{"id":{"name":"s_node_displace","path":"sprites/s_node_displace/s_node_displace.yy",},"order":18,},
|
||||||
{"id":{"name":"sh_polar","path":"shaders/sh_polar/sh_polar.yy",},"order":1,},
|
{"id":{"name":"sh_polar","path":"shaders/sh_polar/sh_polar.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_warp_mesh","path":"sprites/s_node_warp_mesh/s_node_warp_mesh.yy",},"order":22,},
|
{"id":{"name":"s_node_warp_mesh","path":"sprites/s_node_warp_mesh/s_node_warp_mesh.yy",},"order":10,},
|
||||||
{"id":{"name":"sh_pixel_cloud","path":"shaders/sh_pixel_cloud/sh_pixel_cloud.yy",},"order":13,},
|
{"id":{"name":"sh_pixel_cloud","path":"shaders/sh_pixel_cloud/sh_pixel_cloud.yy",},"order":13,},
|
||||||
{"id":{"name":"node_iterate","path":"scripts/node_iterate/node_iterate.yy",},"order":1,},
|
{"id":{"name":"node_iterate","path":"scripts/node_iterate/node_iterate.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_de_stray","path":"shaders/sh_de_stray/sh_de_stray.yy",},"order":16,},
|
{"id":{"name":"sh_de_stray","path":"shaders/sh_de_stray/sh_de_stray.yy",},"order":16,},
|
||||||
{"id":{"name":"sh_chromatic_aberration","path":"shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy",},"order":35,},
|
{"id":{"name":"sh_chromatic_aberration","path":"shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy",},"order":35,},
|
||||||
{"id":{"name":"sh_cell_noise_round","path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},"order":9,},
|
{"id":{"name":"sh_cell_noise_round","path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},"order":9,},
|
||||||
{"id":{"name":"event_recorder","path":"scripts/event_recorder/event_recorder.yy",},"order":3,},
|
{"id":{"name":"event_recorder","path":"scripts/event_recorder/event_recorder.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_noise_cell","path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},"order":58,},
|
{"id":{"name":"s_node_noise_cell","path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},"order":10,},
|
||||||
{"id":{"name":"node_colorize","path":"scripts/node_colorize/node_colorize.yy",},"order":9,},
|
{"id":{"name":"node_colorize","path":"scripts/node_colorize/node_colorize.yy",},"order":9,},
|
||||||
{"id":{"name":"s_node_color_adjust","path":"sprites/s_node_color_adjust/s_node_color_adjust.yy",},"order":97,},
|
{"id":{"name":"s_node_color_adjust","path":"sprites/s_node_color_adjust/s_node_color_adjust.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_channel_B","path":"shaders/sh_channel_B/sh_channel_B.yy",},"order":13,},
|
{"id":{"name":"sh_channel_B","path":"shaders/sh_channel_B/sh_channel_B.yy",},"order":13,},
|
||||||
{"id":{"name":"s_node_2d_light","path":"sprites/s_node_2d_light/s_node_2d_light.yy",},"order":117,},
|
{"id":{"name":"s_node_2d_light","path":"sprites/s_node_2d_light/s_node_2d_light.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_trail","path":"sprites/s_node_trail/s_node_trail.yy",},"order":31,},
|
{"id":{"name":"s_node_trail","path":"sprites/s_node_trail/s_node_trail.yy",},"order":38,},
|
||||||
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},"order":27,},
|
{"id":{"name":"sh_level_selector","path":"shaders/sh_level_selector/sh_level_selector.yy",},"order":27,},
|
||||||
{"id":{"name":"string_eval","path":"scripts/string_eval/string_eval.yy",},"order":0,},
|
{"id":{"name":"string_eval","path":"scripts/string_eval/string_eval.yy",},"order":0,},
|
||||||
{"id":{"name":"globals","path":"scripts/globals/globals.yy",},"order":1,},
|
{"id":{"name":"globals","path":"scripts/globals/globals.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_vfx_repel","path":"sprites/s_node_vfx_repel/s_node_vfx_repel.yy",},"order":123,},
|
{"id":{"name":"s_node_noise_perlin","path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_noise_perlin","path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},"order":57,},
|
{"id":{"name":"s_node_dithering","path":"sprites/s_node_dithering/s_node_dithering.yy",},"order":19,},
|
||||||
{"id":{"name":"s_node_dithering","path":"sprites/s_node_dithering/s_node_dithering.yy",},"order":82,},
|
|
||||||
{"id":{"name":"node_normal_light","path":"scripts/node_normal_light/node_normal_light.yy",},"order":0,},
|
{"id":{"name":"node_normal_light","path":"scripts/node_normal_light/node_normal_light.yy",},"order":0,},
|
||||||
{"id":{"name":"o_dialog_release_note","path":"objects/o_dialog_release_note/o_dialog_release_note.yy",},"order":16,},
|
{"id":{"name":"o_dialog_release_note","path":"objects/o_dialog_release_note/o_dialog_release_note.yy",},"order":16,},
|
||||||
{"id":{"name":"panel_inspector","path":"scripts/panel_inspector/panel_inspector.yy",},"order":0,},
|
{"id":{"name":"panel_inspector","path":"scripts/panel_inspector/panel_inspector.yy",},"order":0,},
|
||||||
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},"order":10,},
|
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},"order":10,},
|
||||||
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},"order":6,},
|
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":50,},
|
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},"order":8,},
|
||||||
|
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":30,},
|
||||||
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":8,},
|
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":89,},
|
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":86,},
|
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":2,},
|
||||||
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},"order":3,},
|
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},"order":3,},
|
||||||
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},"order":2,},
|
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_blend_multiply","path":"shaders/sh_blend_multiply/sh_blend_multiply.yy",},"order":0,},
|
{"id":{"name":"sh_blend_multiply","path":"shaders/sh_blend_multiply/sh_blend_multiply.yy",},"order":0,},
|
||||||
|
@ -102,66 +107,70 @@
|
||||||
{"id":{"name":"font_loader","path":"scripts/font_loader/font_loader.yy",},"order":8,},
|
{"id":{"name":"font_loader","path":"scripts/font_loader/font_loader.yy",},"order":8,},
|
||||||
{"id":{"name":"point_rotate","path":"scripts/point_rotate/point_rotate.yy",},"order":1,},
|
{"id":{"name":"point_rotate","path":"scripts/point_rotate/point_rotate.yy",},"order":1,},
|
||||||
{"id":{"name":"node_displacement","path":"scripts/node_displacement/node_displacement.yy",},"order":8,},
|
{"id":{"name":"node_displacement","path":"scripts/node_displacement/node_displacement.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_vec4","path":"sprites/s_node_vec4/s_node_vec4.yy",},"order":24,},
|
{"id":{"name":"s_node_vfx_wind","path":"sprites/s_node_vfx_wind/s_node_vfx_wind.yy",},"order":3,},
|
||||||
|
{"id":{"name":"s_node_vec4","path":"sprites/s_node_vec4/s_node_vec4.yy",},"order":8,},
|
||||||
{"id":{"name":"buttonGroup","path":"scripts/buttonGroup/buttonGroup.yy",},"order":5,},
|
{"id":{"name":"buttonGroup","path":"scripts/buttonGroup/buttonGroup.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_image_sheet","path":"sprites/s_node_image_sheet/s_node_image_sheet.yy",},"order":67,},
|
{"id":{"name":"s_node_image_sheet","path":"sprites/s_node_image_sheet/s_node_image_sheet.yy",},"order":10,},
|
||||||
{"id":{"name":"o_dialog_scrollbox","path":"objects/o_dialog_scrollbox/o_dialog_scrollbox.yy",},"order":2,},
|
{"id":{"name":"o_dialog_scrollbox","path":"objects/o_dialog_scrollbox/o_dialog_scrollbox.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_palette","path":"sprites/s_node_palette/s_node_palette.yy",},"order":54,},
|
{"id":{"name":"s_node_palette","path":"sprites/s_node_palette/s_node_palette.yy",},"order":9,},
|
||||||
{"id":{"name":"curve_damping_function","path":"scripts/curve_damping_function/curve_damping_function.yy",},"order":2,},
|
{"id":{"name":"curve_damping_function","path":"scripts/curve_damping_function/curve_damping_function.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_blur_box_contrast","path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},"order":24,},
|
{"id":{"name":"sh_blur_box_contrast","path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},"order":24,},
|
||||||
{"id":{"name":"node_color_from_rgb","path":"scripts/node_color_from_rgb/node_color_from_rgb.yy",},"order":5,},
|
{"id":{"name":"node_color_from_rgb","path":"scripts/node_color_from_rgb/node_color_from_rgb.yy",},"order":5,},
|
||||||
{"id":{"name":"node_transform","path":"scripts/node_transform/node_transform.yy",},"order":0,},
|
{"id":{"name":"node_transform","path":"scripts/node_transform/node_transform.yy",},"order":0,},
|
||||||
{"id":{"name":"curveBox","path":"scripts/curveBox/curveBox.yy",},"order":8,},
|
{"id":{"name":"curveBox","path":"scripts/curveBox/curveBox.yy",},"order":8,},
|
||||||
{"id":{"name":"sh_gradient_display","path":"shaders/sh_gradient_display/sh_gradient_display.yy",},"order":18,},
|
{"id":{"name":"sh_gradient_display","path":"shaders/sh_gradient_display/sh_gradient_display.yy",},"order":18,},
|
||||||
{"id":{"name":"s_node_chromatic_abarration","path":"sprites/s_node_chromatic_abarration/s_node_chromatic_abarration.yy",},"order":1,},
|
{"id":{"name":"s_node_chromatic_abarration","path":"sprites/s_node_chromatic_abarration/s_node_chromatic_abarration.yy",},"order":12,},
|
||||||
{"id":{"name":"node_blur_directional","path":"scripts/node_blur_directional/node_blur_directional.yy",},"order":26,},
|
{"id":{"name":"node_blur_directional","path":"scripts/node_blur_directional/node_blur_directional.yy",},"order":26,},
|
||||||
{"id":{"name":"s_node_group","path":"sprites/s_node_group/s_node_group.yy",},"order":5,},
|
{"id":{"name":"s_node_group","path":"sprites/s_node_group/s_node_group.yy",},"order":4,},
|
||||||
{"id":{"name":"o_dialog_splash","path":"objects/o_dialog_splash/o_dialog_splash.yy",},"order":19,},
|
{"id":{"name":"o_dialog_splash","path":"objects/o_dialog_splash/o_dialog_splash.yy",},"order":19,},
|
||||||
{"id":{"name":"json_file","path":"scripts/json_file/json_file.yy",},"order":4,},
|
{"id":{"name":"json_file","path":"scripts/json_file/json_file.yy",},"order":4,},
|
||||||
{"id":{"name":"node_gradient","path":"scripts/node_gradient/node_gradient.yy",},"order":0,},
|
{"id":{"name":"node_gradient","path":"scripts/node_gradient/node_gradient.yy",},"order":0,},
|
||||||
{"id":{"name":"textBox","path":"scripts/textBox/textBox.yy",},"order":17,},
|
{"id":{"name":"textBox","path":"scripts/textBox/textBox.yy",},"order":17,},
|
||||||
{"id":{"name":"node_statistic","path":"scripts/node_statistic/node_statistic.yy",},"order":15,},
|
{"id":{"name":"node_statistic","path":"scripts/node_statistic/node_statistic.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_draw_surface_part_tiled","path":"shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy",},"order":1,},
|
{"id":{"name":"sh_draw_surface_part_tiled","path":"shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_blend_subtract_alpha","path":"shaders/sh_blend_subtract_alpha/sh_blend_subtract_alpha.yy",},"order":14,},
|
{"id":{"name":"sh_blend_subtract_alpha","path":"shaders/sh_blend_subtract_alpha/sh_blend_subtract_alpha.yy",},"order":14,},
|
||||||
{"id":{"name":"o_dialog_add_node","path":"objects/o_dialog_add_node/o_dialog_add_node.yy",},"order":1,},
|
{"id":{"name":"o_dialog_add_node","path":"objects/o_dialog_add_node/o_dialog_add_node.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_curve","path":"sprites/s_node_curve/s_node_curve.yy",},"order":85,},
|
{"id":{"name":"s_node_curve","path":"sprites/s_node_curve/s_node_curve.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_blend_normal","path":"shaders/sh_blend_normal/sh_blend_normal.yy",},"order":1,},
|
{"id":{"name":"sh_blend_normal","path":"shaders/sh_blend_normal/sh_blend_normal.yy",},"order":1,},
|
||||||
|
{"id":{"name":"node_feedback_output","path":"scripts/node_feedback_output/node_feedback_output.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},"order":15,},
|
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},"order":15,},
|
||||||
{"id":{"name":"node_processor","path":"scripts/node_processor/node_processor.yy",},"order":8,},
|
{"id":{"name":"node_processor","path":"scripts/node_processor/node_processor.yy",},"order":8,},
|
||||||
{"id":{"name":"animation_controller","path":"scripts/animation_controller/animation_controller.yy",},"order":1,},
|
{"id":{"name":"animation_controller","path":"scripts/animation_controller/animation_controller.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},"order":41,},
|
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},"order":34,},
|
||||||
{"id":{"name":"sh_zigzag","path":"shaders/sh_zigzag/sh_zigzag.yy",},"order":11,},
|
{"id":{"name":"sh_zigzag","path":"shaders/sh_zigzag/sh_zigzag.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_color_remove","path":"shaders/sh_color_remove/sh_color_remove.yy",},"order":26,},
|
{"id":{"name":"sh_color_remove","path":"shaders/sh_color_remove/sh_color_remove.yy",},"order":26,},
|
||||||
{"id":{"name":"s_node_blur","path":"sprites/s_node_blur/s_node_blur.yy",},"order":103,},
|
{"id":{"name":"s_node_blur","path":"sprites/s_node_blur/s_node_blur.yy",},"order":7,},
|
||||||
{"id":{"name":"textArea","path":"scripts/textArea/textArea.yy",},"order":20,},
|
{"id":{"name":"textArea","path":"scripts/textArea/textArea.yy",},"order":20,},
|
||||||
{"id":{"name":"s_node_gradient_4points","path":"sprites/s_node_gradient_4points/s_node_gradient_4points.yy",},"order":130,},
|
{"id":{"name":"s_node_gradient_4points","path":"sprites/s_node_gradient_4points/s_node_gradient_4points.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_gradient_out","path":"sprites/s_node_gradient_out/s_node_gradient_out.yy",},"order":76,},
|
{"id":{"name":"s_node_gradient_out","path":"sprites/s_node_gradient_out/s_node_gradient_out.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_vec3","path":"sprites/s_node_vec3/s_node_vec3.yy",},"order":25,},
|
{"id":{"name":"s_node_vec3","path":"sprites/s_node_vec3/s_node_vec3.yy",},"order":7,},
|
||||||
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":3,},
|
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":17,},
|
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":17,},
|
||||||
{"id":{"name":"node_VFX_renderer","path":"scripts/node_VFX_renderer/node_VFX_renderer.yy",},"order":5,},
|
{"id":{"name":"node_VFX_renderer","path":"scripts/node_VFX_renderer/node_VFX_renderer.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_invert","path":"sprites/s_node_invert/s_node_invert.yy",},"order":65,},
|
{"id":{"name":"s_node_invert","path":"sprites/s_node_invert/s_node_invert.yy",},"order":25,},
|
||||||
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":14,},
|
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":10,},
|
||||||
{"id":{"name":"sh_grid","path":"shaders/sh_grid/sh_grid.yy",},"order":14,},
|
{"id":{"name":"sh_grid","path":"shaders/sh_grid/sh_grid.yy",},"order":14,},
|
||||||
{"id":{"name":"sh_twirl","path":"shaders/sh_twirl/sh_twirl.yy",},"order":3,},
|
{"id":{"name":"sh_twirl","path":"shaders/sh_twirl/sh_twirl.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_shape","path":"sprites/s_node_shape/s_node_shape.yy",},"order":40,},
|
{"id":{"name":"s_node_shape","path":"sprites/s_node_shape/s_node_shape.yy",},"order":14,},
|
||||||
{"id":{"name":"string_formatting","path":"scripts/string_formatting/string_formatting.yy",},"order":7,},
|
{"id":{"name":"string_formatting","path":"scripts/string_formatting/string_formatting.yy",},"order":7,},
|
||||||
{"id":{"name":"node_level_selector","path":"scripts/node_level_selector/node_level_selector.yy",},"order":39,},
|
{"id":{"name":"node_level_selector","path":"scripts/node_level_selector/node_level_selector.yy",},"order":39,},
|
||||||
{"id":{"name":"node_posterize","path":"scripts/node_posterize/node_posterize.yy",},"order":10,},
|
{"id":{"name":"node_posterize","path":"scripts/node_posterize/node_posterize.yy",},"order":10,},
|
||||||
{"id":{"name":"o_dialog_image_array_edit","path":"objects/o_dialog_image_array_edit/o_dialog_image_array_edit.yy",},"order":0,},
|
{"id":{"name":"o_dialog_image_array_edit","path":"objects/o_dialog_image_array_edit/o_dialog_image_array_edit.yy",},"order":0,},
|
||||||
{"id":{"name":"s_ui_base_white","path":"sprites/s_ui_base_white/s_ui_base_white.yy",},"order":2,},
|
{"id":{"name":"s_ui_base_white","path":"sprites/s_ui_base_white/s_ui_base_white.yy",},"order":2,},
|
||||||
|
{"id":{"name":"s_node_array_range","path":"sprites/s_node_array_range/s_node_array_range.yy",},"order":14,},
|
||||||
{"id":{"name":"node_blur","path":"scripts/node_blur/node_blur.yy",},"order":16,},
|
{"id":{"name":"node_blur","path":"scripts/node_blur/node_blur.yy",},"order":16,},
|
||||||
{"id":{"name":"s_node_loop","path":"sprites/s_node_loop/s_node_loop.yy",},"order":4,},
|
{"id":{"name":"s_node_loop","path":"sprites/s_node_loop/s_node_loop.yy",},"order":5,},
|
||||||
{"id":{"name":"node_zigzag","path":"scripts/node_zigzag/node_zigzag.yy",},"order":12,},
|
{"id":{"name":"node_zigzag","path":"scripts/node_zigzag/node_zigzag.yy",},"order":12,},
|
||||||
{"id":{"name":"preset_data","path":"scripts/preset_data/preset_data.yy",},"order":7,},
|
{"id":{"name":"preset_data","path":"scripts/preset_data/preset_data.yy",},"order":7,},
|
||||||
{"id":{"name":"_f_h5","path":"fonts/_f_h5/_f_h5.yy",},"order":2,},
|
{"id":{"name":"_f_h5","path":"fonts/_f_h5/_f_h5.yy",},"order":2,},
|
||||||
{"id":{"name":"node_color","path":"scripts/node_color/node_color.yy",},"order":0,},
|
{"id":{"name":"node_color","path":"scripts/node_color/node_color.yy",},"order":0,},
|
||||||
{"id":{"name":"node_surface_data","path":"scripts/node_surface_data/node_surface_data.yy",},"order":10,},
|
{"id":{"name":"node_string_split","path":"scripts/node_string_split/node_string_split.yy",},"order":14,},
|
||||||
|
{"id":{"name":"node_surface_data","path":"scripts/node_surface_data/node_surface_data.yy",},"order":4,},
|
||||||
{"id":{"name":"load_palette","path":"scripts/load_palette/load_palette.yy",},"order":3,},
|
{"id":{"name":"load_palette","path":"scripts/load_palette/load_palette.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_alpha_cutoff","path":"shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy",},"order":25,},
|
{"id":{"name":"sh_alpha_cutoff","path":"shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy",},"order":25,},
|
||||||
{"id":{"name":"checkbox","path":"scripts/checkbox/checkbox.yy",},"order":7,},
|
{"id":{"name":"checkbox","path":"scripts/checkbox/checkbox.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},"order":53,},
|
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_color_remove","path":"sprites/s_node_color_remove/s_node_color_remove.yy",},"order":92,},
|
{"id":{"name":"s_node_color_remove","path":"sprites/s_node_color_remove/s_node_color_remove.yy",},"order":6,},
|
||||||
{"id":{"name":"node_mirror","path":"scripts/node_mirror/node_mirror.yy",},"order":3,},
|
{"id":{"name":"node_mirror","path":"scripts/node_mirror/node_mirror.yy",},"order":3,},
|
||||||
{"id":{"name":"node_corner","path":"scripts/node_corner/node_corner.yy",},"order":35,},
|
{"id":{"name":"node_corner","path":"scripts/node_corner/node_corner.yy",},"order":35,},
|
||||||
{"id":{"name":"vertex_function","path":"scripts/vertex_function/vertex_function.yy",},"order":0,},
|
{"id":{"name":"vertex_function","path":"scripts/vertex_function/vertex_function.yy",},"order":0,},
|
||||||
|
@ -172,16 +181,15 @@
|
||||||
{"id":{"name":"sh_seperate_shape_index","path":"shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy",},"order":0,},
|
{"id":{"name":"sh_seperate_shape_index","path":"shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy",},"order":0,},
|
||||||
{"id":{"name":"node_registry","path":"scripts/node_registry/node_registry.yy",},"order":5,},
|
{"id":{"name":"node_registry","path":"scripts/node_registry/node_registry.yy",},"order":5,},
|
||||||
{"id":{"name":"sh_checkerboard","path":"shaders/sh_checkerboard/sh_checkerboard.yy",},"order":12,},
|
{"id":{"name":"sh_checkerboard","path":"shaders/sh_checkerboard/sh_checkerboard.yy",},"order":12,},
|
||||||
{"id":{"name":"node_character","path":"scripts/node_character/node_character.yy",},"order":9,},
|
{"id":{"name":"node_unicode","path":"scripts/node_unicode/node_unicode.yy",},"order":3,},
|
||||||
{"id":{"name":"draw_set_text","path":"scripts/draw_set_text/draw_set_text.yy",},"order":1,},
|
{"id":{"name":"draw_set_text","path":"scripts/draw_set_text/draw_set_text.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_array","path":"sprites/s_node_array/s_node_array.yy",},"order":108,},
|
{"id":{"name":"s_node_array","path":"sprites/s_node_array/s_node_array.yy",},"order":10,},
|
||||||
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},"order":23,},
|
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},"order":9,},
|
||||||
{"id":{"name":"color_function","path":"scripts/color_function/color_function.yy",},"order":9,},
|
{"id":{"name":"color_function","path":"scripts/color_function/color_function.yy",},"order":9,},
|
||||||
{"id":{"name":"node_color_data","path":"scripts/node_color_data/node_color_data.yy",},"order":4,},
|
{"id":{"name":"node_color_data","path":"scripts/node_color_data/node_color_data.yy",},"order":4,},
|
||||||
{"id":{"name":"node_noise_ani","path":"scripts/node_noise_ani/node_noise_ani.yy",},"order":5,},
|
{"id":{"name":"node_noise_ani","path":"scripts/node_noise_ani/node_noise_ani.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_vfx_turb","path":"sprites/s_node_vfx_turb/s_node_vfx_turb.yy",},"order":122,},
|
{"id":{"name":"s_node_transform","path":"sprites/s_node_transform/s_node_transform.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_transform","path":"sprites/s_node_transform/s_node_transform.yy",},"order":30,},
|
{"id":{"name":"node_canvas","path":"scripts/node_canvas/node_canvas.yy",},"order":5,},
|
||||||
{"id":{"name":"node_canvas","path":"scripts/node_canvas/node_canvas.yy",},"order":6,},
|
|
||||||
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},"order":4,},
|
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},"order":4,},
|
||||||
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},"order":45,},
|
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},"order":45,},
|
||||||
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
||||||
|
@ -189,37 +197,38 @@
|
||||||
{"id":{"name":"sh_skew","path":"shaders/sh_skew/sh_skew.yy",},"order":6,},
|
{"id":{"name":"sh_skew","path":"shaders/sh_skew/sh_skew.yy",},"order":6,},
|
||||||
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},"order":14,},
|
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},"order":14,},
|
||||||
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},"order":1,},
|
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},"order":125,},
|
|
||||||
{"id":{"name":"real_comparison","path":"scripts/real_comparison/real_comparison.yy",},"order":1,},
|
{"id":{"name":"real_comparison","path":"scripts/real_comparison/real_comparison.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stripe","path":"sprites/s_node_stripe/s_node_stripe.yy",},"order":36,},
|
{"id":{"name":"s_node_stripe","path":"sprites/s_node_stripe/s_node_stripe.yy",},"order":16,},
|
||||||
{"id":{"name":"sh_grey_alpha","path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},"order":10,},
|
{"id":{"name":"sh_grey_alpha","path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},"order":10,},
|
||||||
{"id":{"name":"sh_normal","path":"shaders/sh_normal/sh_normal.yy",},"order":1,},
|
{"id":{"name":"sh_normal","path":"shaders/sh_normal/sh_normal.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_time_map","path":"sprites/s_node_time_map/s_node_time_map.yy",},"order":33,},
|
{"id":{"name":"s_node_time_map","path":"sprites/s_node_time_map/s_node_time_map.yy",},"order":37,},
|
||||||
{"id":{"name":"node_crop","path":"scripts/node_crop/node_crop.yy",},"order":8,},
|
{"id":{"name":"node_crop","path":"scripts/node_crop/node_crop.yy",},"order":8,},
|
||||||
{"id":{"name":"buttonPalette","path":"scripts/buttonPalette/buttonPalette.yy",},"order":6,},
|
{"id":{"name":"buttonPalette","path":"scripts/buttonPalette/buttonPalette.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_wiggler","path":"sprites/s_node_wiggler/s_node_wiggler.yy",},"order":21,},
|
{"id":{"name":"s_node_wiggler","path":"sprites/s_node_wiggler/s_node_wiggler.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_edge_detect","path":"shaders/sh_edge_detect/sh_edge_detect.yy",},"order":34,},
|
{"id":{"name":"sh_edge_detect","path":"shaders/sh_edge_detect/sh_edge_detect.yy",},"order":34,},
|
||||||
{"id":{"name":"s_node_area","path":"sprites/s_node_area/s_node_area.yy",},"order":109,},
|
{"id":{"name":"s_node_area","path":"sprites/s_node_area/s_node_area.yy",},"order":0,},
|
||||||
{"id":{"name":"type_conversion","path":"scripts/type_conversion/type_conversion.yy",},"order":8,},
|
{"id":{"name":"type_conversion","path":"scripts/type_conversion/type_conversion.yy",},"order":8,},
|
||||||
{"id":{"name":"node_keyframe","path":"scripts/node_keyframe/node_keyframe.yy",},"order":4,},
|
{"id":{"name":"node_keyframe","path":"scripts/node_keyframe/node_keyframe.yy",},"order":4,},
|
||||||
{"id":{"name":"ac_flash","path":"animcurves/ac_flash/ac_flash.yy",},"order":0,},
|
{"id":{"name":"ac_flash","path":"animcurves/ac_flash/ac_flash.yy",},"order":0,},
|
||||||
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},"order":2,},
|
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},"order":2,},
|
||||||
{"id":{"name":"node_VFX_effect_repel","path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},"order":11,},
|
{"id":{"name":"node_VFX_effect_repel","path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},"order":111,},
|
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},"order":1,},
|
||||||
{"id":{"name":"node_VFX_effect_attract","path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},"order":10,},
|
{"id":{"name":"node_VFX_effect_attract","path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},"order":10,},
|
||||||
|
{"id":{"name":"s_node_text_splice","path":"sprites/s_node_text_splice/s_node_text_splice.yy",},"order":17,},
|
||||||
{"id":{"name":"sh_blend_multiply_alpha","path":"shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy",},"order":4,},
|
{"id":{"name":"sh_blend_multiply_alpha","path":"shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy",},"order":4,},
|
||||||
{"id":{"name":"draw_sprite_ext_override","path":"scripts/draw_sprite_ext_override/draw_sprite_ext_override.yy",},"order":9,},
|
{"id":{"name":"draw_sprite_ext_override","path":"scripts/draw_sprite_ext_override/draw_sprite_ext_override.yy",},"order":9,},
|
||||||
|
{"id":{"name":"node_array_add","path":"scripts/node_array_add/node_array_add.yy",},"order":9,},
|
||||||
{"id":{"name":"node_noise_cell","path":"scripts/node_noise_cell/node_noise_cell.yy",},"order":2,},
|
{"id":{"name":"node_noise_cell","path":"scripts/node_noise_cell/node_noise_cell.yy",},"order":2,},
|
||||||
{"id":{"name":"node_noise","path":"scripts/node_noise/node_noise.yy",},"order":17,},
|
{"id":{"name":"node_noise","path":"scripts/node_noise/node_noise.yy",},"order":17,},
|
||||||
{"id":{"name":"mtl_reader","path":"scripts/mtl_reader/mtl_reader.yy",},"order":6,},
|
{"id":{"name":"mtl_reader","path":"scripts/mtl_reader/mtl_reader.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_scale2x","path":"shaders/sh_scale2x/sh_scale2x.yy",},"order":31,},
|
{"id":{"name":"sh_scale2x","path":"shaders/sh_scale2x/sh_scale2x.yy",},"order":31,},
|
||||||
{"id":{"name":"ds_priority","path":"scripts/ds_priority/ds_priority.yy",},"order":3,},
|
{"id":{"name":"ds_priority","path":"scripts/ds_priority/ds_priority.yy",},"order":3,},
|
||||||
{"id":{"name":"node_vector","path":"scripts/node_vector/node_vector.yy",},"order":2,},
|
{"id":{"name":"node_vector","path":"scripts/node_vector/node_vector.yy",},"order":0,},
|
||||||
{"id":{"name":"node_palette","path":"scripts/node_palette/node_palette.yy",},"order":2,},
|
{"id":{"name":"node_palette","path":"scripts/node_palette/node_palette.yy",},"order":2,},
|
||||||
{"id":{"name":"buttonColor","path":"scripts/buttonColor/buttonColor.yy",},"order":3,},
|
{"id":{"name":"buttonColor","path":"scripts/buttonColor/buttonColor.yy",},"order":3,},
|
||||||
{"id":{"name":"notification_system","path":"scripts/notification_system/notification_system.yy",},"order":6,},
|
{"id":{"name":"notification_system","path":"scripts/notification_system/notification_system.yy",},"order":6,},
|
||||||
{"id":{"name":"node_color_from_hsv","path":"scripts/node_color_from_hsv/node_color_from_hsv.yy",},"order":6,},
|
{"id":{"name":"node_color_from_hsv","path":"scripts/node_color_from_hsv/node_color_from_hsv.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_image_copy","path":"sprites/s_node_image_copy/s_node_image_copy.yy",},"order":0,},
|
{"id":{"name":"s_node_image_copy","path":"sprites/s_node_image_copy/s_node_image_copy.yy",},"order":6,},
|
||||||
{"id":{"name":"node_grid_tri","path":"scripts/node_grid_tri/node_grid_tri.yy",},"order":21,},
|
{"id":{"name":"node_grid_tri","path":"scripts/node_grid_tri/node_grid_tri.yy",},"order":21,},
|
||||||
{"id":{"name":"window_command_hook","path":"extensions/window_command_hook/window_command_hook.yy",},"order":6,},
|
{"id":{"name":"window_command_hook","path":"extensions/window_command_hook/window_command_hook.yy",},"order":6,},
|
||||||
{"id":{"name":"slider","path":"scripts/slider/slider.yy",},"order":15,},
|
{"id":{"name":"slider","path":"scripts/slider/slider.yy",},"order":15,},
|
||||||
|
@ -227,20 +236,23 @@
|
||||||
{"id":{"name":"sh_grid_hex","path":"shaders/sh_grid_hex/sh_grid_hex.yy",},"order":21,},
|
{"id":{"name":"sh_grid_hex","path":"shaders/sh_grid_hex/sh_grid_hex.yy",},"order":21,},
|
||||||
{"id":{"name":"node_data","path":"scripts/node_data/node_data.yy",},"order":1,},
|
{"id":{"name":"node_data","path":"scripts/node_data/node_data.yy",},"order":1,},
|
||||||
{"id":{"name":"node_wiggler","path":"scripts/node_wiggler/node_wiggler.yy",},"order":2,},
|
{"id":{"name":"node_wiggler","path":"scripts/node_wiggler/node_wiggler.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_checker","path":"sprites/s_node_checker/s_node_checker.yy",},"order":98,},
|
{"id":{"name":"s_node_checker","path":"sprites/s_node_checker/s_node_checker.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_grid_noise","path":"sprites/s_node_grid_noise/s_node_grid_noise.yy",},"order":72,},
|
{"id":{"name":"s_node_grid_noise","path":"sprites/s_node_grid_noise/s_node_grid_noise.yy",},"order":5,},
|
||||||
{"id":{"name":"o_dialog_preview_grid","path":"objects/o_dialog_preview_grid/o_dialog_preview_grid.yy",},"order":0,},
|
{"id":{"name":"o_dialog_preview_grid","path":"objects/o_dialog_preview_grid/o_dialog_preview_grid.yy",},"order":0,},
|
||||||
{"id":{"name":"node_image_gif","path":"scripts/node_image_gif/node_image_gif.yy",},"order":7,},
|
{"id":{"name":"node_image_gif","path":"scripts/node_image_gif/node_image_gif.yy",},"order":6,},
|
||||||
{"id":{"name":"o_dialog_anim_time_scaler","path":"objects/o_dialog_anim_time_scaler/o_dialog_anim_time_scaler.yy",},"order":0,},
|
{"id":{"name":"o_dialog_anim_time_scaler","path":"objects/o_dialog_anim_time_scaler/o_dialog_anim_time_scaler.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_blend_screen_alpha","path":"shaders/sh_blend_screen_alpha/sh_blend_screen_alpha.yy",},"order":6,},
|
{"id":{"name":"sh_blend_screen_alpha","path":"shaders/sh_blend_screen_alpha/sh_blend_screen_alpha.yy",},"order":6,},
|
||||||
{"id":{"name":"boneObject","path":"scripts/boneObject/boneObject.yy",},"order":0,},
|
{"id":{"name":"boneObject","path":"scripts/boneObject/boneObject.yy",},"order":0,},
|
||||||
{"id":{"name":"node_color_remove","path":"scripts/node_color_remove/node_color_remove.yy",},"order":38,},
|
{"id":{"name":"node_color_remove","path":"scripts/node_color_remove/node_color_remove.yy",},"order":38,},
|
||||||
{"id":{"name":"s_node_grid","path":"sprites/s_node_grid/s_node_grid.yy",},"order":73,},
|
{"id":{"name":"s_node_grid","path":"sprites/s_node_grid/s_node_grid.yy",},"order":3,},
|
||||||
{"id":{"name":"node_perlin","path":"scripts/node_perlin/node_perlin.yy",},"order":1,},
|
{"id":{"name":"node_perlin","path":"scripts/node_perlin/node_perlin.yy",},"order":1,},
|
||||||
|
{"id":{"name":"node_feedback_input","path":"scripts/node_feedback_input/node_feedback_input.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_add_multiple_images","path":"objects/o_dialog_add_multiple_images/o_dialog_add_multiple_images.yy",},"order":0,},
|
{"id":{"name":"o_dialog_add_multiple_images","path":"objects/o_dialog_add_multiple_images/o_dialog_add_multiple_images.yy",},"order":0,},
|
||||||
{"id":{"name":"assets_data","path":"scripts/assets_data/assets_data.yy",},"order":0,},
|
{"id":{"name":"assets_data","path":"scripts/assets_data/assets_data.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_color_adjust","path":"shaders/sh_color_adjust/sh_color_adjust.yy",},"order":2,},
|
{"id":{"name":"sh_color_adjust","path":"shaders/sh_color_adjust/sh_color_adjust.yy",},"order":2,},
|
||||||
{"id":{"name":"surface_get_palette","path":"scripts/surface_get_palette/surface_get_palette.yy",},"order":2,},
|
{"id":{"name":"surface_get_palette","path":"scripts/surface_get_palette/surface_get_palette.yy",},"order":2,},
|
||||||
|
{"id":{"name":"sh_pixel_sort","path":"shaders/sh_pixel_sort/sh_pixel_sort.yy",},"order":41,},
|
||||||
|
{"id":{"name":"s_node_vfx_destroy","path":"sprites/s_node_vfx_destroy/s_node_vfx_destroy.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_texture_remap","path":"shaders/sh_texture_remap/sh_texture_remap.yy",},"order":28,},
|
{"id":{"name":"sh_texture_remap","path":"shaders/sh_texture_remap/sh_texture_remap.yy",},"order":28,},
|
||||||
{"id":{"name":"ds_list","path":"scripts/ds_list/ds_list.yy",},"order":1,},
|
{"id":{"name":"ds_list","path":"scripts/ds_list/ds_list.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_gradient","path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},"order":1,},
|
{"id":{"name":"o_dialog_gradient","path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},"order":1,},
|
||||||
|
@ -248,19 +260,16 @@
|
||||||
{"id":{"name":"o_dialog_file_name","path":"objects/o_dialog_file_name/o_dialog_file_name.yy",},"order":0,},
|
{"id":{"name":"o_dialog_file_name","path":"objects/o_dialog_file_name/o_dialog_file_name.yy",},"order":0,},
|
||||||
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},"order":4,},
|
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_gradient","path":"shaders/sh_gradient/sh_gradient.yy",},"order":17,},
|
{"id":{"name":"sh_gradient","path":"shaders/sh_gradient/sh_gradient.yy",},"order":17,},
|
||||||
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},"order":20,},
|
{"id":{"name":"s_node_zigzag","path":"sprites/s_node_zigzag/s_node_zigzag.yy",},"order":18,},
|
||||||
{"id":{"name":"s_node_vfx_spawn","path":"sprites/s_node_vfx_spawn/s_node_vfx_spawn.yy",},"order":129,},
|
|
||||||
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},"order":39,},
|
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},"order":39,},
|
||||||
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":22,},
|
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":22,},
|
||||||
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":60,},
|
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":3,},
|
||||||
{"id":{"name":"node_VFX_spawner","path":"scripts/node_VFX_spawner/node_VFX_spawner.yy",},"order":2,},
|
{"id":{"name":"node_VFX_spawner","path":"scripts/node_VFX_spawner/node_VFX_spawner.yy",},"order":2,},
|
||||||
{"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,},
|
{"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
|
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
|
||||||
{"id":{"name":"rotator","path":"scripts/rotator/rotator.yy",},"order":11,},
|
{"id":{"name":"rotator","path":"scripts/rotator/rotator.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_vfx_wind","path":"sprites/s_node_vfx_wind/s_node_vfx_wind.yy",},"order":120,},
|
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},"order":20,},
|
||||||
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},"order":2,},
|
|
||||||
{"id":{"name":"node_grid_hex","path":"scripts/node_grid_hex/node_grid_hex.yy",},"order":22,},
|
{"id":{"name":"node_grid_hex","path":"scripts/node_grid_hex/node_grid_hex.yy",},"order":22,},
|
||||||
{"id":{"name":"s_node_vfx","path":"sprites/s_node_vfx/s_node_vfx.yy",},"order":127,},
|
|
||||||
{"id":{"name":"node_blur_radial","path":"scripts/node_blur_radial/node_blur_radial.yy",},"order":29,},
|
{"id":{"name":"node_blur_radial","path":"scripts/node_blur_radial/node_blur_radial.yy",},"order":29,},
|
||||||
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},"order":15,},
|
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},"order":15,},
|
||||||
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},"order":3,},
|
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},"order":3,},
|
||||||
|
@ -271,9 +280,10 @@
|
||||||
{"id":{"name":"_node_VFX_effector","path":"scripts/_node_VFX_effector/_node_VFX_effector.yy",},"order":1,},
|
{"id":{"name":"_node_VFX_effector","path":"scripts/_node_VFX_effector/_node_VFX_effector.yy",},"order":1,},
|
||||||
{"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,},
|
{"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":81,},
|
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":21,},
|
||||||
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":19,},
|
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":19,},
|
||||||
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
||||||
|
{"id":{"name":"node_array_range","path":"scripts/node_array_range/node_array_range.yy",},"order":12,},
|
||||||
{"id":{"name":"o_dialog_graph_grid","path":"objects/o_dialog_graph_grid/o_dialog_graph_grid.yy",},"order":3,},
|
{"id":{"name":"o_dialog_graph_grid","path":"objects/o_dialog_graph_grid/o_dialog_graph_grid.yy",},"order":3,},
|
||||||
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},"order":1,},
|
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},"order":1,},
|
||||||
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},"order":2,},
|
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},"order":2,},
|
||||||
|
@ -285,19 +295,20 @@
|
||||||
{"id":{"name":"draw_circle_border","path":"scripts/draw_circle_border/draw_circle_border.yy",},"order":3,},
|
{"id":{"name":"draw_circle_border","path":"scripts/draw_circle_border/draw_circle_border.yy",},"order":3,},
|
||||||
{"id":{"name":"sliderRange","path":"scripts/sliderRange/sliderRange.yy",},"order":16,},
|
{"id":{"name":"sliderRange","path":"scripts/sliderRange/sliderRange.yy",},"order":16,},
|
||||||
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
|
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},"order":105,},
|
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},"order":4,},
|
||||||
{"id":{"name":"color_selector","path":"scripts/color_selector/color_selector.yy",},"order":4,},
|
{"id":{"name":"color_selector","path":"scripts/color_selector/color_selector.yy",},"order":4,},
|
||||||
{"id":{"name":"node_VFX_effect_turbulence","path":"scripts/node_VFX_effect_turbulence/node_VFX_effect_turbulence.yy",},"order":13,},
|
{"id":{"name":"node_VFX_effect_turbulence","path":"scripts/node_VFX_effect_turbulence/node_VFX_effect_turbulence.yy",},"order":13,},
|
||||||
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":37,},
|
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":35,},
|
||||||
{"id":{"name":"node_timeline_preview","path":"scripts/node_timeline_preview/node_timeline_preview.yy",},"order":2,},
|
{"id":{"name":"node_timeline_preview","path":"scripts/node_timeline_preview/node_timeline_preview.yy",},"order":2,},
|
||||||
|
{"id":{"name":"s_node_vfx_output","path":"sprites/s_node_vfx_output/s_node_vfx_output.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_greyscale","path":"shaders/sh_greyscale/sh_greyscale.yy",},"order":6,},
|
{"id":{"name":"sh_greyscale","path":"shaders/sh_greyscale/sh_greyscale.yy",},"order":6,},
|
||||||
{"id":{"name":"node_global","path":"scripts/node_global/node_global.yy",},"order":3,},
|
{"id":{"name":"node_global","path":"scripts/node_global/node_global.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_outline","path":"shaders/sh_outline/sh_outline.yy",},"order":20,},
|
{"id":{"name":"sh_outline","path":"shaders/sh_outline/sh_outline.yy",},"order":20,},
|
||||||
{"id":{"name":"node_checkerboard","path":"scripts/node_checkerboard/node_checkerboard.yy",},"order":13,},
|
{"id":{"name":"node_checkerboard","path":"scripts/node_checkerboard/node_checkerboard.yy",},"order":13,},
|
||||||
{"id":{"name":"node_gradient_output","path":"scripts/node_gradient_output/node_gradient_output.yy",},"order":3,},
|
{"id":{"name":"node_gradient_output","path":"scripts/node_gradient_output/node_gradient_output.yy",},"order":3,},
|
||||||
{"id":{"name":"display_refresh","path":"scripts/display_refresh/display_refresh.yy",},"order":18,},
|
{"id":{"name":"display_refresh","path":"scripts/display_refresh/display_refresh.yy",},"order":17,},
|
||||||
{"id":{"name":"s_node_grey_alpha","path":"sprites/s_node_grey_alpha/s_node_grey_alpha.yy",},"order":75,},
|
{"id":{"name":"s_node_grey_alpha","path":"sprites/s_node_grey_alpha/s_node_grey_alpha.yy",},"order":23,},
|
||||||
{"id":{"name":"o_dialog_color_selector","path":"objects/o_dialog_color_selector/o_dialog_color_selector.yy",},"order":0,},
|
{"id":{"name":"o_dialog_color_selector","path":"objects/o_dialog_color_selector/o_dialog_color_selector.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_bloom_pass1","path":"shaders/sh_bloom_pass1/sh_bloom_pass1.yy",},"order":0,},
|
{"id":{"name":"sh_bloom_pass1","path":"shaders/sh_bloom_pass1/sh_bloom_pass1.yy",},"order":0,},
|
||||||
{"id":{"name":"node_seperate_shapes","path":"scripts/node_seperate_shapes/node_seperate_shapes.yy",},"order":9,},
|
{"id":{"name":"node_seperate_shapes","path":"scripts/node_seperate_shapes/node_seperate_shapes.yy",},"order":9,},
|
||||||
|
@ -306,46 +317,52 @@
|
||||||
{"id":{"name":"sh_posterize_palette","path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",},"order":8,},
|
{"id":{"name":"sh_posterize_palette","path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",},"order":8,},
|
||||||
{"id":{"name":"collection_data","path":"scripts/collection_data/collection_data.yy",},"order":8,},
|
{"id":{"name":"collection_data","path":"scripts/collection_data/collection_data.yy",},"order":8,},
|
||||||
{"id":{"name":"safe_operation","path":"scripts/safe_operation/safe_operation.yy",},"order":6,},
|
{"id":{"name":"safe_operation","path":"scripts/safe_operation/safe_operation.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_array_get","path":"sprites/s_node_array_get/s_node_array_get.yy",},"order":6,},
|
{"id":{"name":"s_node_array_get","path":"sprites/s_node_array_get/s_node_array_get.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_BW","path":"sprites/s_node_BW/s_node_BW.yy",},"order":100,},
|
{"id":{"name":"s_node_BW","path":"sprites/s_node_BW/s_node_BW.yy",},"order":11,},
|
||||||
|
{"id":{"name":"s_node_vfx_spawn","path":"sprites/s_node_vfx_spawn/s_node_vfx_spawn.yy",},"order":2,},
|
||||||
{"id":{"name":"node_shadow","path":"scripts/node_shadow/node_shadow.yy",},"order":17,},
|
{"id":{"name":"node_shadow","path":"scripts/node_shadow/node_shadow.yy",},"order":17,},
|
||||||
{"id":{"name":"s_node_color_data","path":"sprites/s_node_color_data/s_node_color_data.yy",},"order":96,},
|
{"id":{"name":"s_node_color_data","path":"sprites/s_node_color_data/s_node_color_data.yy",},"order":2,},
|
||||||
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":4,},
|
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":4,},
|
||||||
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
|
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
|
||||||
|
{"id":{"name":"s_node_feedback","path":"sprites/s_node_feedback/s_node_feedback.yy",},"order":3,},
|
||||||
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},"order":1,},
|
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},"order":99,},
|
{"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},"order":1,},
|
||||||
{"id":{"name":"node_glow","path":"scripts/node_glow/node_glow.yy",},"order":14,},
|
{"id":{"name":"node_glow","path":"scripts/node_glow/node_glow.yy",},"order":14,},
|
||||||
{"id":{"name":"sh_blend_min","path":"shaders/sh_blend_min/sh_blend_min.yy",},"order":9,},
|
{"id":{"name":"sh_blend_min","path":"shaders/sh_blend_min/sh_blend_min.yy",},"order":9,},
|
||||||
{"id":{"name":"node_polar","path":"scripts/node_polar/node_polar.yy",},"order":5,},
|
{"id":{"name":"node_polar","path":"scripts/node_polar/node_polar.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_twirl","path":"sprites/s_node_twirl/s_node_twirl.yy",},"order":29,},
|
{"id":{"name":"s_node_twirl","path":"sprites/s_node_twirl/s_node_twirl.yy",},"order":39,},
|
||||||
{"id":{"name":"sh_2d_light","path":"shaders/sh_2d_light/sh_2d_light.yy",},"order":11,},
|
{"id":{"name":"sh_2d_light","path":"shaders/sh_2d_light/sh_2d_light.yy",},"order":11,},
|
||||||
{"id":{"name":"node_image_animated","path":"scripts/node_image_animated/node_image_animated.yy",},"order":2,},
|
{"id":{"name":"node_image_animated","path":"scripts/node_image_animated/node_image_animated.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_solid","path":"sprites/s_node_solid/s_node_solid.yy",},"order":39,},
|
{"id":{"name":"s_node_solid","path":"sprites/s_node_solid/s_node_solid.yy",},"order":15,},
|
||||||
{"id":{"name":"string_hexadecimal","path":"scripts/string_hexadecimal/string_hexadecimal.yy",},"order":1,},
|
{"id":{"name":"string_hexadecimal","path":"scripts/string_hexadecimal/string_hexadecimal.yy",},"order":1,},
|
||||||
|
{"id":{"name":"s_node_camera","path":"sprites/s_node_camera/s_node_camera.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_vertex_pnt_light","path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},"order":4,},
|
{"id":{"name":"sh_vertex_pnt_light","path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},"order":4,},
|
||||||
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},"order":22,},
|
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},"order":22,},
|
||||||
{"id":{"name":"s_node_array_length","path":"sprites/s_node_array_length/s_node_array_length.yy",},"order":107,},
|
{"id":{"name":"s_node_array_length","path":"sprites/s_node_array_length/s_node_array_length.yy",},"order":12,},
|
||||||
{"id":{"name":"string_splice","path":"scripts/string_splice/string_splice.yy",},"order":5,},
|
{"id":{"name":"string_splice","path":"scripts/string_splice/string_splice.yy",},"order":5,},
|
||||||
|
{"id":{"name":"s_node_vfx_input","path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},"order":12,},
|
||||||
{"id":{"name":"sh_seperate_shape_ite","path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},"order":2,},
|
{"id":{"name":"sh_seperate_shape_ite","path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},"order":2,},
|
||||||
{"id":{"name":"o_main","path":"objects/o_main/o_main.yy",},"order":1,},
|
{"id":{"name":"o_main","path":"objects/o_main/o_main.yy",},"order":1,},
|
||||||
{"id":{"name":"area_function","path":"scripts/area_function/area_function.yy",},"order":2,},
|
{"id":{"name":"area_function","path":"scripts/area_function/area_function.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_statistic","path":"sprites/s_node_statistic/s_node_statistic.yy",},"order":3,},
|
{"id":{"name":"s_node_statistic","path":"sprites/s_node_statistic/s_node_statistic.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_blend_alpha_addition","path":"shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy",},"order":13,},
|
{"id":{"name":"sh_blend_alpha_addition","path":"shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy",},"order":13,},
|
||||||
{"id":{"name":"node_VFX_effect_vortex","path":"scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.yy",},"order":12,},
|
{"id":{"name":"node_VFX_effect_vortex","path":"scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":118,},
|
{"id":{"name":"s_node_skew","path":"sprites/s_node_skew/s_node_skew.yy",},"order":11,},
|
||||||
|
{"id":{"name":"s_node_feedback_input","path":"sprites/s_node_feedback_input/s_node_feedback_input.yy",},"order":10,},
|
||||||
|
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":8,},
|
||||||
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":19,},
|
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":19,},
|
||||||
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":15,},
|
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":15,},
|
||||||
{"id":{"name":"sh_alpha_grey","path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},"order":9,},
|
{"id":{"name":"sh_alpha_grey","path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},"order":9,},
|
||||||
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},"order":1,},
|
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_animation","path":"objects/o_dialog_animation/o_dialog_animation.yy",},"order":1,},
|
{"id":{"name":"o_dialog_animation","path":"objects/o_dialog_animation/o_dialog_animation.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_grid_tri","path":"sprites/s_node_grid_tri/s_node_grid_tri.yy",},"order":131,},
|
{"id":{"name":"s_node_grid_tri","path":"sprites/s_node_grid_tri/s_node_grid_tri.yy",},"order":6,},
|
||||||
{"id":{"name":"_f_p0b","path":"fonts/_f_p0b/_f_p0b.yy",},"order":5,},
|
{"id":{"name":"_f_p0b","path":"fonts/_f_p0b/_f_p0b.yy",},"order":5,},
|
||||||
{"id":{"name":"o_dialog_keyframe_curve","path":"objects/o_dialog_keyframe_curve/o_dialog_keyframe_curve.yy",},"order":2,},
|
{"id":{"name":"o_dialog_keyframe_curve","path":"objects/o_dialog_keyframe_curve/o_dialog_keyframe_curve.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},"order":26,},
|
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},"order":6,},
|
||||||
{"id":{"name":"node_twirl","path":"scripts/node_twirl/node_twirl.yy",},"order":30,},
|
{"id":{"name":"node_twirl","path":"scripts/node_twirl/node_twirl.yy",},"order":30,},
|
||||||
{"id":{"name":"s_node_decorner","path":"sprites/s_node_decorner/s_node_decorner.yy",},"order":10,},
|
{"id":{"name":"s_node_decorner","path":"sprites/s_node_decorner/s_node_decorner.yy",},"order":15,},
|
||||||
{"id":{"name":"s_node_gradient","path":"sprites/s_node_gradient/s_node_gradient.yy",},"order":77,},
|
{"id":{"name":"s_node_gradient","path":"sprites/s_node_gradient/s_node_gradient.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_padding","path":"sprites/s_node_padding/s_node_padding.yy",},"order":55,},
|
{"id":{"name":"s_node_padding","path":"sprites/s_node_padding/s_node_padding.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},"order":2,},
|
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},"order":2,},
|
||||||
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},"order":10,},
|
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},"order":10,},
|
||||||
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},"order":7,},
|
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},"order":7,},
|
||||||
|
@ -353,49 +370,50 @@
|
||||||
{"id":{"name":"vectorRangeBox","path":"scripts/vectorRangeBox/vectorRangeBox.yy",},"order":19,},
|
{"id":{"name":"vectorRangeBox","path":"scripts/vectorRangeBox/vectorRangeBox.yy",},"order":19,},
|
||||||
{"id":{"name":"sh_draw_vertex_aa","path":"shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy",},"order":0,},
|
{"id":{"name":"sh_draw_vertex_aa","path":"shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_outline_only","path":"shaders/sh_outline_only/sh_outline_only.yy",},"order":40,},
|
{"id":{"name":"sh_outline_only","path":"shaders/sh_outline_only/sh_outline_only.yy",},"order":40,},
|
||||||
{"id":{"name":"s_node_destray","path":"sprites/s_node_destray/s_node_destray.yy",},"order":9,},
|
{"id":{"name":"s_node_destray","path":"sprites/s_node_destray/s_node_destray.yy",},"order":16,},
|
||||||
{"id":{"name":"node_color_sampler","path":"scripts/node_color_sampler/node_color_sampler.yy",},"order":1,},
|
{"id":{"name":"node_color_sampler","path":"scripts/node_color_sampler/node_color_sampler.yy",},"order":1,},
|
||||||
{"id":{"name":"ase_reader","path":"scripts/ase_reader/ase_reader.yy",},"order":1,},
|
{"id":{"name":"ase_reader","path":"scripts/ase_reader/ase_reader.yy",},"order":1,},
|
||||||
{"id":{"name":"node_path","path":"scripts/node_path/node_path.yy",},"order":8,},
|
{"id":{"name":"node_path","path":"scripts/node_path/node_path.yy",},"order":2,},
|
||||||
{"id":{"name":"node_wrap_area","path":"scripts/node_wrap_area/node_wrap_area.yy",},"order":11,},
|
{"id":{"name":"node_wrap_area","path":"scripts/node_wrap_area/node_wrap_area.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_seperate_shape_sep","path":"shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy",},"order":3,},
|
{"id":{"name":"sh_seperate_shape_sep","path":"shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_image_sequence","path":"sprites/s_node_image_sequence/s_node_image_sequence.yy",},"order":68,},
|
{"id":{"name":"s_node_image_sequence","path":"sprites/s_node_image_sequence/s_node_image_sequence.yy",},"order":8,},
|
||||||
{"id":{"name":"sh_content_sampler","path":"shaders/sh_content_sampler/sh_content_sampler.yy",},"order":34,},
|
{"id":{"name":"sh_content_sampler","path":"shaders/sh_content_sampler/sh_content_sampler.yy",},"order":34,},
|
||||||
{"id":{"name":"s_menu_white","path":"sprites/s_menu_white/s_menu_white.yy",},"order":1,},
|
{"id":{"name":"s_menu_white","path":"sprites/s_menu_white/s_menu_white.yy",},"order":1,},
|
||||||
{"id":{"name":"color_loader","path":"scripts/color_loader/color_loader.yy",},"order":13,},
|
{"id":{"name":"color_loader","path":"scripts/color_loader/color_loader.yy",},"order":13,},
|
||||||
{"id":{"name":"node_trail","path":"scripts/node_trail/node_trail.yy",},"order":6,},
|
{"id":{"name":"node_trail","path":"scripts/node_trail/node_trail.yy",},"order":6,},
|
||||||
{"id":{"name":"byte_reader","path":"scripts/byte_reader/byte_reader.yy",},"order":0,},
|
{"id":{"name":"byte_reader","path":"scripts/byte_reader/byte_reader.yy",},"order":0,},
|
||||||
|
{"id":{"name":"s_node_loop_output","path":"sprites/s_node_loop_output/s_node_loop_output.yy",},"order":13,},
|
||||||
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
||||||
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
||||||
{"id":{"name":"_node_VFX","path":"scripts/_node_VFX/_node_VFX.yy",},"order":4,},
|
{"id":{"name":"_node_VFX","path":"scripts/_node_VFX/_node_VFX.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},"order":8,},
|
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},"order":9,},
|
||||||
{"id":{"name":"distance_to_line","path":"scripts/distance_to_line/distance_to_line.yy",},"order":0,},
|
{"id":{"name":"distance_to_line","path":"scripts/distance_to_line/distance_to_line.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_sprite_sheet","path":"sprites/s_node_sprite_sheet/s_node_sprite_sheet.yy",},"order":38,},
|
{"id":{"name":"s_node_sprite_sheet","path":"sprites/s_node_sprite_sheet/s_node_sprite_sheet.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_grid_hex","path":"sprites/s_node_grid_hex/s_node_grid_hex.yy",},"order":132,},
|
{"id":{"name":"s_node_grid_hex","path":"sprites/s_node_grid_hex/s_node_grid_hex.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_3d_cube","path":"sprites/s_node_3d_cube/s_node_3d_cube.yy",},"order":116,},
|
{"id":{"name":"s_node_3d_cube","path":"sprites/s_node_3d_cube/s_node_3d_cube.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_sampler","path":"sprites/s_node_sampler/s_node_sampler.yy",},"order":46,},
|
{"id":{"name":"s_node_sampler","path":"sprites/s_node_sampler/s_node_sampler.yy",},"order":10,},
|
||||||
{"id":{"name":"node_animate_curve","path":"scripts/node_animate_curve/node_animate_curve.yy",},"order":0,},
|
{"id":{"name":"node_animate_curve","path":"scripts/node_animate_curve/node_animate_curve.yy",},"order":0,},
|
||||||
{"id":{"name":"curve_bounce_function","path":"scripts/curve_bounce_function/curve_bounce_function.yy",},"order":1,},
|
{"id":{"name":"curve_bounce_function","path":"scripts/curve_bounce_function/curve_bounce_function.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_number","path":"sprites/s_node_number/s_node_number.yy",},"order":12,},
|
{"id":{"name":"s_node_number","path":"sprites/s_node_number/s_node_number.yy",},"order":9,},
|
||||||
{"id":{"name":"gif_reader","path":"scripts/gif_reader/gif_reader.yy",},"order":4,},
|
{"id":{"name":"gif_reader","path":"scripts/gif_reader/gif_reader.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_vfx_vortex","path":"sprites/s_node_vfx_vortex/s_node_vfx_vortex.yy",},"order":121,},
|
|
||||||
{"id":{"name":"_f_p3","path":"fonts/_f_p3/_f_p3.yy",},"order":7,},
|
{"id":{"name":"_f_p3","path":"fonts/_f_p3/_f_p3.yy",},"order":7,},
|
||||||
{"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},"order":1,},
|
{"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},"order":1,},
|
||||||
{"id":{"name":"draw_rect_border","path":"scripts/draw_rect_border/draw_rect_border.yy",},"order":6,},
|
{"id":{"name":"draw_rect_border","path":"scripts/draw_rect_border/draw_rect_border.yy",},"order":6,},
|
||||||
{"id":{"name":"node_composite","path":"scripts/node_composite/node_composite.yy",},"order":4,},
|
{"id":{"name":"node_composite","path":"scripts/node_composite/node_composite.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_greyscale","path":"sprites/s_node_greyscale/s_node_greyscale.yy",},"order":74,},
|
{"id":{"name":"s_node_greyscale","path":"sprites/s_node_greyscale/s_node_greyscale.yy",},"order":24,},
|
||||||
{"id":{"name":"sh_dilate","path":"shaders/sh_dilate/sh_dilate.yy",},"order":4,},
|
{"id":{"name":"sh_dilate","path":"shaders/sh_dilate/sh_dilate.yy",},"order":4,},
|
||||||
{"id":{"name":"node_image_sequence","path":"scripts/node_image_sequence/node_image_sequence.yy",},"order":1,},
|
{"id":{"name":"node_image_sequence","path":"scripts/node_image_sequence/node_image_sequence.yy",},"order":1,},
|
||||||
{"id":{"name":"s_menu_transparent","path":"sprites/s_menu_transparent/s_menu_transparent.yy",},"order":0,},
|
{"id":{"name":"s_menu_transparent","path":"sprites/s_menu_transparent/s_menu_transparent.yy",},"order":0,},
|
||||||
{"id":{"name":"key_press","path":"scripts/key_press/key_press.yy",},"order":0,},
|
{"id":{"name":"key_press","path":"scripts/key_press/key_press.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_mirror","path":"shaders/sh_mirror/sh_mirror.yy",},"order":0,},
|
{"id":{"name":"sh_mirror","path":"shaders/sh_mirror/sh_mirror.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_cell_noise_random","path":"shaders/sh_cell_noise_random/sh_cell_noise_random.yy",},"order":6,},
|
{"id":{"name":"sh_cell_noise_random","path":"shaders/sh_cell_noise_random/sh_cell_noise_random.yy",},"order":6,},
|
||||||
{"id":{"name":"node_iteration_input","path":"scripts/node_iteration_input/node_iteration_input.yy",},"order":2,},
|
{"id":{"name":"node_iterator_input","path":"scripts/node_iterator_input/node_iterator_input.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_atlas","path":"sprites/s_node_atlas/s_node_atlas.yy",},"order":106,},
|
{"id":{"name":"s_node_atlas","path":"sprites/s_node_atlas/s_node_atlas.yy",},"order":3,},
|
||||||
{"id":{"name":"node_normal","path":"scripts/node_normal/node_normal.yy",},"order":1,},
|
{"id":{"name":"node_normal","path":"scripts/node_normal/node_normal.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_glow","path":"sprites/s_node_glow/s_node_glow.yy",},"order":78,},
|
{"id":{"name":"s_node_glow","path":"sprites/s_node_glow/s_node_glow.yy",},"order":22,},
|
||||||
{"id":{"name":"s_node_condition","path":"sprites/s_node_condition/s_node_condition.yy",},"order":11,},
|
{"id":{"name":"s_node_condition","path":"sprites/s_node_condition/s_node_condition.yy",},"order":0,},
|
||||||
{"id":{"name":"node_array_length","path":"scripts/node_array_length/node_array_length.yy",},"order":13,},
|
{"id":{"name":"s_node_vfx_repel","path":"sprites/s_node_vfx_repel/s_node_vfx_repel.yy",},"order":6,},
|
||||||
|
{"id":{"name":"node_array_length","path":"scripts/node_array_length/node_array_length.yy",},"order":11,},
|
||||||
{"id":{"name":"node_erode","path":"scripts/node_erode/node_erode.yy",},"order":31,},
|
{"id":{"name":"node_erode","path":"scripts/node_erode/node_erode.yy",},"order":31,},
|
||||||
{"id":{"name":"node_wrap_mesh","path":"scripts/node_wrap_mesh/node_wrap_mesh.yy",},"order":7,},
|
{"id":{"name":"node_wrap_mesh","path":"scripts/node_wrap_mesh/node_wrap_mesh.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_blur_alpha","path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},"order":2,},
|
{"id":{"name":"sh_blur_alpha","path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},"order":2,},
|
||||||
|
@ -409,24 +427,23 @@
|
||||||
{"id":{"name":"node_blur_contrast","path":"scripts/node_blur_contrast/node_blur_contrast.yy",},"order":36,},
|
{"id":{"name":"node_blur_contrast","path":"scripts/node_blur_contrast/node_blur_contrast.yy",},"order":36,},
|
||||||
{"id":{"name":"s_fx_pixel","path":"sprites/s_fx_pixel/s_fx_pixel.yy",},"order":0,},
|
{"id":{"name":"s_fx_pixel","path":"sprites/s_fx_pixel/s_fx_pixel.yy",},"order":0,},
|
||||||
{"id":{"name":"gradients_function","path":"scripts/gradients_function/gradients_function.yy",},"order":0,},
|
{"id":{"name":"gradients_function","path":"scripts/gradients_function/gradients_function.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_border","path":"sprites/s_node_border/s_node_border.yy",},"order":101,},
|
{"id":{"name":"s_node_border","path":"sprites/s_node_border/s_node_border.yy",},"order":10,},
|
||||||
{"id":{"name":"d3_vector","path":"scripts/d3_vector/d3_vector.yy",},"order":1,},
|
{"id":{"name":"d3_vector","path":"scripts/d3_vector/d3_vector.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_pin","path":"sprites/s_node_pin/s_node_pin.yy",},"order":16,},
|
{"id":{"name":"s_node_pin","path":"sprites/s_node_pin/s_node_pin.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_9patch","path":"sprites/s_node_9patch/s_node_9patch.yy",},"order":112,},
|
{"id":{"name":"s_node_9patch","path":"sprites/s_node_9patch/s_node_9patch.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_blur_contrast","path":"sprites/s_node_blur_contrast/s_node_blur_contrast.yy",},"order":102,},
|
{"id":{"name":"s_node_blur_contrast","path":"sprites/s_node_blur_contrast/s_node_blur_contrast.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_text","path":"sprites/s_node_text/s_node_text.yy",},"order":35,},
|
{"id":{"name":"s_node_text_render","path":"sprites/s_node_text_render/s_node_text_render.yy",},"order":17,},
|
||||||
{"id":{"name":"s_node_color_from_rgb","path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},"order":94,},
|
{"id":{"name":"s_node_color_from_rgb","path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},"order":4,},
|
||||||
{"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},"order":43,},
|
{"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},"order":13,},
|
||||||
{"id":{"name":"mouse_input","path":"scripts/mouse_input/mouse_input.yy",},"order":1,},
|
{"id":{"name":"mouse_input","path":"scripts/mouse_input/mouse_input.yy",},"order":1,},
|
||||||
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},"order":4,},
|
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_vfx_destroy","path":"sprites/s_node_vfx_destroy/s_node_vfx_destroy.yy",},"order":124,},
|
|
||||||
{"id":{"name":"node_3d_prim_cylinder","path":"scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.yy",},"order":7,},
|
{"id":{"name":"node_3d_prim_cylinder","path":"scripts/node_3d_prim_cylinder/node_3d_prim_cylinder.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_gradient_points","path":"shaders/sh_gradient_points/sh_gradient_points.yy",},"order":19,},
|
{"id":{"name":"sh_gradient_points","path":"shaders/sh_gradient_points/sh_gradient_points.yy",},"order":19,},
|
||||||
|
{"id":{"name":"s_node_vfx_turb","path":"sprites/s_node_vfx_turb/s_node_vfx_turb.yy",},"order":5,},
|
||||||
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},"order":16,},
|
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},"order":16,},
|
||||||
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},"order":44,},
|
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},"order":44,},
|
||||||
{"id":{"name":"node_anim_priority","path":"scripts/node_anim_priority/node_anim_priority.yy",},"order":2,},
|
{"id":{"name":"node_anim_priority","path":"scripts/node_anim_priority/node_anim_priority.yy",},"order":2,},
|
||||||
{"id":{"name":"s_texture_default","path":"sprites/s_texture_default/s_texture_default.yy",},"order":1,},
|
{"id":{"name":"s_texture_default","path":"sprites/s_texture_default/s_texture_default.yy",},"order":1,},
|
||||||
{"id":{"name":"FileDropper","path":"extensions/FileDropper/FileDropper.yy",},"order":4,},
|
|
||||||
{"id":{"name":"directory_object","path":"scripts/directory_object/directory_object.yy",},"order":3,},
|
{"id":{"name":"directory_object","path":"scripts/directory_object/directory_object.yy",},"order":3,},
|
||||||
{"id":{"name":"node_dilate","path":"scripts/node_dilate/node_dilate.yy",},"order":34,},
|
{"id":{"name":"node_dilate","path":"scripts/node_dilate/node_dilate.yy",},"order":34,},
|
||||||
{"id":{"name":"sh_stripe","path":"shaders/sh_stripe/sh_stripe.yy",},"order":10,},
|
{"id":{"name":"sh_stripe","path":"shaders/sh_stripe/sh_stripe.yy",},"order":10,},
|
||||||
|
@ -435,86 +452,93 @@
|
||||||
{"id":{"name":"node_3d_transform","path":"scripts/node_3d_transform/node_3d_transform.yy",},"order":2,},
|
{"id":{"name":"node_3d_transform","path":"scripts/node_3d_transform/node_3d_transform.yy",},"order":2,},
|
||||||
{"id":{"name":"node_display_text","path":"scripts/node_display_text/node_display_text.yy",},"order":3,},
|
{"id":{"name":"node_display_text","path":"scripts/node_display_text/node_display_text.yy",},"order":3,},
|
||||||
{"id":{"name":"s_kenney","path":"sprites/s_kenney/s_kenney.yy",},"order":0,},
|
{"id":{"name":"s_kenney","path":"sprites/s_kenney/s_kenney.yy",},"order":0,},
|
||||||
|
{"id":{"name":"node_feedback","path":"scripts/node_feedback/node_feedback.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_grid_noise","path":"shaders/sh_grid_noise/sh_grid_noise.yy",},"order":8,},
|
{"id":{"name":"sh_grid_noise","path":"shaders/sh_grid_noise/sh_grid_noise.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_line","path":"sprites/s_node_line/s_node_line.yy",},"order":62,},
|
{"id":{"name":"s_node_line","path":"sprites/s_node_line/s_node_line.yy",},"order":7,},
|
||||||
{"id":{"name":"panel_graph","path":"scripts/panel_graph/panel_graph.yy",},"order":1,},
|
{"id":{"name":"panel_graph","path":"scripts/panel_graph/panel_graph.yy",},"order":1,},
|
||||||
{"id":{"name":"node_counter","path":"scripts/node_counter/node_counter.yy",},"order":1,},
|
{"id":{"name":"node_counter","path":"scripts/node_counter/node_counter.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_color_picker_hue","path":"shaders/sh_color_picker_hue/sh_color_picker_hue.yy",},"order":3,},
|
{"id":{"name":"sh_color_picker_hue","path":"shaders/sh_color_picker_hue/sh_color_picker_hue.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_timeline_preview","path":"sprites/s_node_timeline_preview/s_node_timeline_preview.yy",},"order":32,},
|
{"id":{"name":"s_node_timeline_preview","path":"sprites/s_node_timeline_preview/s_node_timeline_preview.yy",},"order":2,},
|
||||||
{"id":{"name":"scrollPane","path":"scripts/scrollPane/scrollPane.yy",},"order":14,},
|
{"id":{"name":"scrollPane","path":"scripts/scrollPane/scrollPane.yy",},"order":14,},
|
||||||
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},"order":18,},
|
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},"order":29,},
|
||||||
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,},
|
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":119,},
|
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_vfx_render","path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},"order":128,},
|
|
||||||
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":34,},
|
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":36,},
|
||||||
{"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},"order":63,},
|
{"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},"order":27,},
|
||||||
{"id":{"name":"random_function","path":"scripts/random_function/random_function.yy",},"order":3,},
|
{"id":{"name":"random_function","path":"scripts/random_function/random_function.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_input","path":"sprites/s_node_input/s_node_input.yy",},"order":66,},
|
{"id":{"name":"s_node_input","path":"sprites/s_node_input/s_node_input.yy",},"order":6,},
|
||||||
{"id":{"name":"string_decimal","path":"scripts/string_decimal/string_decimal.yy",},"order":0,},
|
{"id":{"name":"string_decimal","path":"scripts/string_decimal/string_decimal.yy",},"order":0,},
|
||||||
{"id":{"name":"_f_h3","path":"fonts/_f_h3/_f_h3.yy",},"order":3,},
|
{"id":{"name":"_f_h3","path":"fonts/_f_h3/_f_h3.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_math","path":"sprites/s_node_math/s_node_math.yy",},"order":61,},
|
{"id":{"name":"s_node_math","path":"sprites/s_node_math/s_node_math.yy",},"order":2,},
|
||||||
{"id":{"name":"node_iteration_index","path":"scripts/node_iteration_index/node_iteration_index.yy",},"order":4,},
|
{"id":{"name":"node_iterator_index","path":"scripts/node_iterator_index/node_iterator_index.yy",},"order":4,},
|
||||||
{"id":{"name":"node_greyscale","path":"scripts/node_greyscale/node_greyscale.yy",},"order":19,},
|
{"id":{"name":"node_greyscale","path":"scripts/node_greyscale/node_greyscale.yy",},"order":19,},
|
||||||
{"id":{"name":"node_color_adjustment","path":"scripts/node_color_adjustment/node_color_adjustment.yy",},"order":5,},
|
{"id":{"name":"node_color_adjustment","path":"scripts/node_color_adjustment/node_color_adjustment.yy",},"order":5,},
|
||||||
{"id":{"name":"sh_ani_noise","path":"shaders/sh_ani_noise/sh_ani_noise.yy",},"order":4,},
|
{"id":{"name":"sh_ani_noise","path":"shaders/sh_ani_noise/sh_ani_noise.yy",},"order":4,},
|
||||||
{"id":{"name":"rectangle_collision","path":"scripts/rectangle_collision/rectangle_collision.yy",},"order":0,},
|
{"id":{"name":"rectangle_collision","path":"scripts/rectangle_collision/rectangle_collision.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_level","path":"shaders/sh_level/sh_level.yy",},"order":7,},
|
{"id":{"name":"sh_level","path":"shaders/sh_level/sh_level.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_grid_tri","path":"shaders/sh_grid_tri/sh_grid_tri.yy",},"order":20,},
|
{"id":{"name":"sh_grid_tri","path":"shaders/sh_grid_tri/sh_grid_tri.yy",},"order":20,},
|
||||||
|
{"id":{"name":"s_node_text","path":"sprites/s_node_text/s_node_text.yy",},"order":16,},
|
||||||
{"id":{"name":"panel_menu","path":"scripts/panel_menu/panel_menu.yy",},"order":2,},
|
{"id":{"name":"panel_menu","path":"scripts/panel_menu/panel_menu.yy",},"order":2,},
|
||||||
{"id":{"name":"draw_line_round","path":"scripts/draw_line_round/draw_line_round.yy",},"order":4,},
|
{"id":{"name":"draw_line_round","path":"scripts/draw_line_round/draw_line_round.yy",},"order":4,},
|
||||||
{"id":{"name":"vectorBox","path":"scripts/vectorBox/vectorBox.yy",},"order":18,},
|
{"id":{"name":"vectorBox","path":"scripts/vectorBox/vectorBox.yy",},"order":18,},
|
||||||
{"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},"order":10,},
|
{"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},"order":10,},
|
||||||
{"id":{"name":"node_skew","path":"scripts/node_skew/node_skew.yy",},"order":12,},
|
{"id":{"name":"node_skew","path":"scripts/node_skew/node_skew.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},"order":15,},
|
{"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},"order":38,},
|
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},"order":38,},
|
||||||
{"id":{"name":"path_parser","path":"scripts/path_parser/path_parser.yy",},"order":3,},
|
{"id":{"name":"path_parser","path":"scripts/path_parser/path_parser.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_unicode","path":"sprites/s_node_unicode/s_node_unicode.yy",},"order":28,},
|
{"id":{"name":"s_node_unicode","path":"sprites/s_node_unicode/s_node_unicode.yy",},"order":15,},
|
||||||
{"id":{"name":"s_node_color_from_hsv","path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},"order":95,},
|
{"id":{"name":"s_node_color_from_hsv","path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},"order":3,},
|
||||||
{"id":{"name":"node_area","path":"scripts/node_area/node_area.yy",},"order":11,},
|
{"id":{"name":"node_area","path":"scripts/node_area/node_area.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_posterize","path":"sprites/s_node_posterize/s_node_posterize.yy",},"order":48,},
|
{"id":{"name":"s_node_vfx_accel","path":"sprites/s_node_vfx_accel/s_node_vfx_accel.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_counter","path":"sprites/s_node_counter/s_node_counter.yy",},"order":87,},
|
{"id":{"name":"s_node_posterize","path":"sprites/s_node_posterize/s_node_posterize.yy",},"order":31,},
|
||||||
{"id":{"name":"s_node_image_sequence_to_anim","path":"sprites/s_node_image_sequence_to_anim/s_node_image_sequence_to_anim.yy",},"order":13,},
|
{"id":{"name":"s_node_vfx_vortex","path":"sprites/s_node_vfx_vortex/s_node_vfx_vortex.yy",},"order":4,},
|
||||||
|
{"id":{"name":"s_node_array_add","path":"sprites/s_node_array_add/s_node_array_add.yy",},"order":13,},
|
||||||
|
{"id":{"name":"s_node_counter","path":"sprites/s_node_counter/s_node_counter.yy",},"order":0,},
|
||||||
|
{"id":{"name":"s_node_image_sequence_to_anim","path":"sprites/s_node_image_sequence_to_anim/s_node_image_sequence_to_anim.yy",},"order":9,},
|
||||||
|
{"id":{"name":"_node_VFX_spawner","path":"scripts/_node_VFX_spawner/_node_VFX_spawner.yy",},"order":15,},
|
||||||
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},"order":8,},
|
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},"order":8,},
|
||||||
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},"order":4,},
|
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},"order":47,},
|
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},"order":32,},
|
||||||
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},"order":80,},
|
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},"order":0,},
|
||||||
{"id":{"name":"node_grey_to_alpha","path":"scripts/node_grey_to_alpha/node_grey_to_alpha.yy",},"order":23,},
|
{"id":{"name":"node_grey_to_alpha","path":"scripts/node_grey_to_alpha/node_grey_to_alpha.yy",},"order":23,},
|
||||||
{"id":{"name":"sh_blend_add","path":"shaders/sh_blend_add/sh_blend_add.yy",},"order":7,},
|
{"id":{"name":"sh_blend_add","path":"shaders/sh_blend_add/sh_blend_add.yy",},"order":7,},
|
||||||
{"id":{"name":"node_de_stray","path":"scripts/node_de_stray/node_de_stray.yy",},"order":27,},
|
{"id":{"name":"node_de_stray","path":"scripts/node_de_stray/node_de_stray.yy",},"order":27,},
|
||||||
{"id":{"name":"sh_channel_G","path":"shaders/sh_channel_G/sh_channel_G.yy",},"order":12,},
|
{"id":{"name":"sh_channel_G","path":"shaders/sh_channel_G/sh_channel_G.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_dilate","path":"sprites/s_node_dilate/s_node_dilate.yy",},"order":84,},
|
{"id":{"name":"s_node_dilate","path":"sprites/s_node_dilate/s_node_dilate.yy",},"order":17,},
|
||||||
{"id":{"name":"node_collection","path":"scripts/node_collection/node_collection.yy",},"order":0,},
|
{"id":{"name":"node_collection","path":"scripts/node_collection/node_collection.yy",},"order":0,},
|
||||||
{"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},"order":6,},
|
{"id":{"name":"node_value","path":"scripts/node_value/node_value.yy",},"order":6,},
|
||||||
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},"order":5,},
|
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_vfx_accel","path":"sprites/s_node_vfx_accel/s_node_vfx_accel.yy",},"order":126,},
|
|
||||||
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},"order":3,},
|
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},"order":3,},
|
||||||
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},"order":2,},
|
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},"order":43,},
|
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},"order":19,},
|
||||||
{"id":{"name":"_f_p2","path":"fonts/_f_p2/_f_p2.yy",},"order":4,},
|
{"id":{"name":"_f_p2","path":"fonts/_f_p2/_f_p2.yy",},"order":4,},
|
||||||
{"id":{"name":"button","path":"scripts/button/button.yy",},"order":2,},
|
{"id":{"name":"button","path":"scripts/button/button.yy",},"order":2,},
|
||||||
{"id":{"name":"node_VFX_effector","path":"scripts/node_VFX_effector/node_VFX_effector.yy",},"order":8,},
|
{"id":{"name":"node_VFX_effector","path":"scripts/node_VFX_effector/node_VFX_effector.yy",},"order":8,},
|
||||||
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},"order":1,},
|
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":115,},
|
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":27,},
|
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":5,},
|
||||||
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},"order":9,},
|
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},"order":9,},
|
||||||
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},"order":1,},
|
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},"order":1,},
|
||||||
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},"order":0,},
|
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_image_animation","path":"sprites/s_node_image_animation/s_node_image_animation.yy",},"order":70,},
|
{"id":{"name":"s_node_image_animation","path":"sprites/s_node_image_animation/s_node_image_animation.yy",},"order":5,},
|
||||||
|
{"id":{"name":"s_node_feedback_output","path":"sprites/s_node_feedback_output/s_node_feedback_output.yy",},"order":9,},
|
||||||
{"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},"order":7,},
|
{"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},"order":7,},
|
||||||
{"id":{"name":"regex","path":"scripts/regex/regex.yy",},"order":0,},
|
{"id":{"name":"regex","path":"scripts/regex/regex.yy",},"order":0,},
|
||||||
{"id":{"name":"node_invert","path":"scripts/node_invert/node_invert.yy",},"order":41,},
|
{"id":{"name":"node_invert","path":"scripts/node_invert/node_invert.yy",},"order":41,},
|
||||||
{"id":{"name":"s_node_path","path":"sprites/s_node_path/s_node_path.yy",},"order":51,},
|
{"id":{"name":"s_node_path","path":"sprites/s_node_path/s_node_path.yy",},"order":3,},
|
||||||
{"id":{"name":"node_level","path":"scripts/node_level/node_level.yy",},"order":12,},
|
{"id":{"name":"node_level","path":"scripts/node_level/node_level.yy",},"order":12,},
|
||||||
{"id":{"name":"o_dialog_warning","path":"objects/o_dialog_warning/o_dialog_warning.yy",},"order":14,},
|
{"id":{"name":"o_dialog_warning","path":"objects/o_dialog_warning/o_dialog_warning.yy",},"order":14,},
|
||||||
|
{"id":{"name":"s_node_group_output","path":"sprites/s_node_group_output/s_node_group_output.yy",},"order":15,},
|
||||||
{"id":{"name":"string_scale","path":"scripts/string_scale/string_scale.yy",},"order":6,},
|
{"id":{"name":"string_scale","path":"scripts/string_scale/string_scale.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":71,},
|
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":4,},
|
||||||
{"id":{"name":"node_value_processor","path":"scripts/node_value_processor/node_value_processor.yy",},"order":7,},
|
{"id":{"name":"node_value_processor","path":"scripts/node_value_processor/node_value_processor.yy",},"order":7,},
|
||||||
|
{"id":{"name":"s_node_group_input","path":"sprites/s_node_group_input/s_node_group_input.yy",},"order":16,},
|
||||||
{"id":{"name":"sample_projects","path":"scripts/sample_projects/sample_projects.yy",},"order":5,},
|
{"id":{"name":"sample_projects","path":"scripts/sample_projects/sample_projects.yy",},"order":5,},
|
||||||
{"id":{"name":"load_function","path":"scripts/load_function/load_function.yy",},"order":2,},
|
{"id":{"name":"load_function","path":"scripts/load_function/load_function.yy",},"order":2,},
|
||||||
{"id":{"name":"ds_map","path":"scripts/ds_map/ds_map.yy",},"order":0,},
|
{"id":{"name":"ds_map","path":"scripts/ds_map/ds_map.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_3d_transform","path":"sprites/s_node_3d_transform/s_node_3d_transform.yy",},"order":113,},
|
{"id":{"name":"s_node_3d_transform","path":"sprites/s_node_3d_transform/s_node_3d_transform.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_output","path":"sprites/s_node_output/s_node_output.yy",},"order":56,},
|
{"id":{"name":"s_node_output","path":"sprites/s_node_output/s_node_output.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_atlas","path":"shaders/sh_atlas/sh_atlas.yy",},"order":30,},
|
{"id":{"name":"sh_atlas","path":"shaders/sh_atlas/sh_atlas.yy",},"order":30,},
|
||||||
{"id":{"name":"node_3d_extrude","path":"scripts/node_3d_extrude/node_3d_extrude.yy",},"order":9,},
|
{"id":{"name":"node_3d_extrude","path":"scripts/node_3d_extrude/node_3d_extrude.yy",},"order":9,},
|
||||||
{"id":{"name":"node_scale","path":"scripts/node_scale/node_scale.yy",},"order":9,},
|
{"id":{"name":"node_scale","path":"scripts/node_scale/node_scale.yy",},"order":9,},
|
||||||
|
@ -523,32 +547,39 @@
|
||||||
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},"order":10,},
|
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},"order":10,},
|
||||||
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},"order":9,},
|
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},"order":9,},
|
||||||
{"id":{"name":"node_frame","path":"scripts/node_frame/node_frame.yy",},"order":1,},
|
{"id":{"name":"node_frame","path":"scripts/node_frame/node_frame.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},"order":44,},
|
{"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},"order":7,},
|
||||||
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":20,},
|
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":20,},
|
||||||
{"id":{"name":"sh_de_corner","path":"shaders/sh_de_corner/sh_de_corner.yy",},"order":14,},
|
{"id":{"name":"sh_de_corner","path":"shaders/sh_de_corner/sh_de_corner.yy",},"order":14,},
|
||||||
|
{"id":{"name":"file_dropper","path":"extensions/file_dropper/file_dropper.yy",},"order":7,},
|
||||||
{"id":{"name":"sprite_loader","path":"scripts/sprite_loader/sprite_loader.yy",},"order":12,},
|
{"id":{"name":"sprite_loader","path":"scripts/sprite_loader/sprite_loader.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_iterator_index","path":"sprites/s_node_iterator_index/s_node_iterator_index.yy",},"order":14,},
|
{"id":{"name":"s_node_iterator_index","path":"sprites/s_node_iterator_index/s_node_iterator_index.yy",},"order":8,},
|
||||||
{"id":{"name":"node_de_corner","path":"scripts/node_de_corner/node_de_corner.yy",},"order":25,},
|
{"id":{"name":"node_de_corner","path":"scripts/node_de_corner/node_de_corner.yy",},"order":25,},
|
||||||
{"id":{"name":"preferences","path":"scripts/preferences/preferences.yy",},"order":4,},
|
{"id":{"name":"preferences","path":"scripts/preferences/preferences.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_solid","path":"shaders/sh_solid/sh_solid.yy",},"order":15,},
|
{"id":{"name":"sh_solid","path":"shaders/sh_solid/sh_solid.yy",},"order":15,},
|
||||||
{"id":{"name":"timer_function","path":"scripts/timer_function/timer_function.yy",},"order":0,},
|
{"id":{"name":"timer_function","path":"scripts/timer_function/timer_function.yy",},"order":0,},
|
||||||
|
{"id":{"name":"font_data","path":"scripts/font_data/font_data.yy",},"order":9,},
|
||||||
{"id":{"name":"animation_curve","path":"scripts/animation_curve/animation_curve.yy",},"order":0,},
|
{"id":{"name":"animation_curve","path":"scripts/animation_curve/animation_curve.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_color_replace","path":"sprites/s_node_color_replace/s_node_color_replace.yy",},"order":91,},
|
{"id":{"name":"node_camera","path":"scripts/node_camera/node_camera.yy",},"order":3,},
|
||||||
|
{"id":{"name":"s_node_color_replace","path":"sprites/s_node_color_replace/s_node_color_replace.yy",},"order":7,},
|
||||||
|
{"id":{"name":"draw_surface_functions","path":"scripts/draw_surface_functions/draw_surface_functions.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_mask","path":"shaders/sh_mask/sh_mask.yy",},"order":36,},
|
{"id":{"name":"sh_mask","path":"shaders/sh_mask/sh_mask.yy",},"order":36,},
|
||||||
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},"order":21,},
|
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},"order":21,},
|
||||||
|
{"id":{"name":"shell_helper","path":"scripts/shell_helper/shell_helper.yy",},"order":20,},
|
||||||
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},"order":15,},
|
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},"order":15,},
|
||||||
{"id":{"name":"node_wrap","path":"scripts/node_wrap/node_wrap.yy",},"order":2,},
|
{"id":{"name":"node_wrap","path":"scripts/node_wrap/node_wrap.yy",},"order":2,},
|
||||||
{"id":{"name":"o_dialog_about","path":"objects/o_dialog_about/o_dialog_about.yy",},"order":13,},
|
{"id":{"name":"o_dialog_about","path":"objects/o_dialog_about/o_dialog_about.yy",},"order":13,},
|
||||||
{"id":{"name":"dialog_management","path":"scripts/dialog_management/dialog_management.yy",},"order":5,},
|
{"id":{"name":"dialog_management","path":"scripts/dialog_management/dialog_management.yy",},"order":5,},
|
||||||
|
{"id":{"name":"draw_shapes","path":"scripts/draw_shapes/draw_shapes.yy",},"order":10,},
|
||||||
{"id":{"name":"node_channels","path":"scripts/node_channels/node_channels.yy",},"order":24,},
|
{"id":{"name":"node_channels","path":"scripts/node_channels/node_channels.yy",},"order":24,},
|
||||||
{"id":{"name":"execute_shell_simple_ext","path":"extensions/execute_shell_simple_ext/execute_shell_simple_ext.yy",},"order":5,},
|
{"id":{"name":"execute_shell_simple_ext","path":"extensions/execute_shell_simple_ext/execute_shell_simple_ext.yy",},"order":5,},
|
||||||
{"id":{"name":"node_solid","path":"scripts/node_solid/node_solid.yy",},"order":14,},
|
{"id":{"name":"node_solid","path":"scripts/node_solid/node_solid.yy",},"order":14,},
|
||||||
{"id":{"name":"node_iteration_output","path":"scripts/node_iteration_output/node_iteration_output.yy",},"order":3,},
|
{"id":{"name":"node_iterator_output","path":"scripts/node_iterator_output/node_iterator_output.yy",},"order":3,},
|
||||||
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},"order":9,},
|
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},"order":9,},
|
||||||
{"id":{"name":"o_dialog_assetbox","path":"objects/o_dialog_assetbox/o_dialog_assetbox.yy",},"order":3,},
|
{"id":{"name":"o_dialog_assetbox","path":"objects/o_dialog_assetbox/o_dialog_assetbox.yy",},"order":3,},
|
||||||
{"id":{"name":"node_lerp","path":"scripts/node_lerp/node_lerp.yy",},"order":12,},
|
{"id":{"name":"node_lerp","path":"scripts/node_lerp/node_lerp.yy",},"order":6,},
|
||||||
|
{"id":{"name":"s_node_pixel_sort","path":"sprites/s_node_pixel_sort/s_node_pixel_sort.yy",},"order":40,},
|
||||||
{"id":{"name":"node_texture_remap","path":"scripts/node_texture_remap/node_texture_remap.yy",},"order":32,},
|
{"id":{"name":"node_texture_remap","path":"scripts/node_texture_remap/node_texture_remap.yy",},"order":32,},
|
||||||
{"id":{"name":"s_node_noise_aniso","path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},"order":59,},
|
{"id":{"name":"s_node_noise_aniso","path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},"order":9,},
|
||||||
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},"order":2,},
|
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_time_remap","path":"shaders/sh_time_remap/sh_time_remap.yy",},"order":2,},
|
{"id":{"name":"sh_time_remap","path":"shaders/sh_time_remap/sh_time_remap.yy",},"order":2,},
|
||||||
{"id":{"name":"rm_main","path":"rooms/rm_main/rm_main.yy",},"order":0,},
|
{"id":{"name":"rm_main","path":"rooms/rm_main/rm_main.yy",},"order":0,},
|
||||||
|
@ -587,20 +618,20 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"font","folderPath":"folders/font.yy","order":8,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"font","folderPath":"folders/font.yy","order":8,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"functions","folderPath":"folders/functions.yy","order":7,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"functions","folderPath":"folders/functions.yy","order":7,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3d","folderPath":"folders/functions/3d.yy","order":0,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3d","folderPath":"folders/functions/3d.yy","order":0,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/functions/animation.yy","order":21,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/functions/animation.yy","order":19,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"bones","folderPath":"folders/functions/bones.yy","order":20,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"bones","folderPath":"folders/functions/bones.yy","order":18,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compat","folderPath":"folders/functions/compat.yy","order":13,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compat","folderPath":"folders/functions/compat.yy","order":13,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"curve","folderPath":"folders/functions/curve.yy","order":12,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"curve","folderPath":"folders/functions/curve.yy","order":12,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"debug","folderPath":"folders/functions/debug.yy","order":15,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"debug","folderPath":"folders/functions/debug.yy","order":14,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/functions/draw.yy","order":2,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/functions/draw.yy","order":2,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"ds","folderPath":"folders/functions/ds.yy","order":5,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"ds","folderPath":"folders/functions/ds.yy","order":5,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"eval","folderPath":"folders/functions/eval.yy","order":10,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"eval","folderPath":"folders/functions/eval.yy","order":10,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"files","folderPath":"folders/functions/files.yy","order":16,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"files","folderPath":"folders/functions/files.yy","order":15,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"importers","folderPath":"folders/functions/importers.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"importers","folderPath":"folders/functions/importers.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"inputs","folderPath":"folders/functions/inputs.yy","order":7,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"inputs","folderPath":"folders/functions/inputs.yy","order":7,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"physics","folderPath":"folders/functions/physics.yy","order":14,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"physics","folderPath":"folders/functions/physics.yy","order":21,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"regex","folderPath":"folders/functions/regex.yy","order":11,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"regex","folderPath":"folders/functions/regex.yy","order":11,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shader","folderPath":"folders/functions/shader.yy","order":17,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shader","folderPath":"folders/functions/shader.yy","order":16,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"string","folderPath":"folders/functions/string.yy","order":4,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"string","folderPath":"folders/functions/string.yy","order":4,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"surface","folderPath":"folders/functions/surface.yy","order":8,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"surface","folderPath":"folders/functions/surface.yy","order":8,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"value","folderPath":"folders/functions/value.yy","order":1,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"value","folderPath":"folders/functions/value.yy","order":1,},
|
||||||
|
@ -613,16 +644,29 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3D","folderPath":"folders/nodes/data/3D.yy","order":7,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3D","folderPath":"folders/nodes/data/3D.yy","order":7,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/nodes/data/animation.yy","order":5,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/nodes/data/animation.yy","order":5,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/nodes/data/color.yy","order":9,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/nodes/data/color.yy","order":9,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"feedback","folderPath":"folders/nodes/data/feedback.yy","order":14,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/data/filter.yy","order":1,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/data/filter.yy","order":1,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/nodes/data/generator.yy","order":4,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/nodes/data/generator.yy","order":4,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"group","folderPath":"folders/nodes/data/group.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"group","folderPath":"folders/nodes/data/group.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"input","folderPath":"folders/nodes/data/input.yy","order":0,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"input","folderPath":"folders/nodes/data/input.yy","order":0,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"iterate","folderPath":"folders/nodes/data/iterate.yy","order":10,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"iterate","folderPath":"folders/nodes/data/iterate.yy","order":10,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy","order":11,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy","order":11,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"number","folderPath":"folders/nodes/data/number.yy","order":3,},
|
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"render","folderPath":"folders/nodes/data/render.yy","order":2,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"render","folderPath":"folders/nodes/data/render.yy","order":2,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"transform","folderPath":"folders/nodes/data/transform.yy","order":8,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"transform","folderPath":"folders/nodes/data/transform.yy","order":8,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"value","folderPath":"folders/nodes/data/value.yy","order":3,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"VFX","folderPath":"folders/nodes/data/VFX.yy","order":13,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"icons","folderPath":"folders/nodes/icons.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"icons","folderPath":"folders/nodes/icons.yy","order":6,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3D","folderPath":"folders/nodes/icons/3D.yy","order":133,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/nodes/icons/animation.yy","order":135,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"color","folderPath":"folders/nodes/icons/color.yy","order":136,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/icons/filter.yy","order":141,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/nodes/icons/generator.yy","order":142,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"input","folderPath":"folders/nodes/icons/input.yy","order":143,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/icons/node.yy","order":139,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"render","folderPath":"folders/nodes/icons/render.yy","order":140,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"transform","folderPath":"folders/nodes/icons/transform.yy","order":145,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"value","folderPath":"folders/nodes/icons/value.yy","order":144,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"VFX","folderPath":"folders/nodes/icons/VFX.yy","order":134,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"panels","folderPath":"folders/panels.yy","order":3,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"panels","folderPath":"folders/panels.yy","order":3,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/panels/data.yy","order":9,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/panels/data.yy","order":9,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"inspectors","folderPath":"folders/panels/data/inspectors.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"inspectors","folderPath":"folders/panels/data/inspectors.yy","order":6,},
|
||||||
|
@ -636,11 +680,10 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/shader/generator.yy","order":19,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/shader/generator.yy","order":19,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shape seperator","folderPath":"folders/shader/shape seperator.yy","order":35,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shape seperator","folderPath":"folders/shader/shape seperator.yy","order":35,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/shader/sprites.yy","order":20,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/shader/sprites.yy","order":20,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"warp","folderPath":"folders/shader/warp.yy","order":41,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/sprites.yy","order":10,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/sprites.yy","order":10,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"texture","folderPath":"folders/sprites/texture.yy","order":2,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"texture","folderPath":"folders/sprites/texture.yy","order":2,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"VFX","folderPath":"folders/nodes/data/VFX.yy","order":13,},
|
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"warp","folderPath":"folders/shader/warp.yy","order":41,},
|
|
||||||
],
|
],
|
||||||
"AudioGroups": [
|
"AudioGroups": [
|
||||||
{"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,},
|
{"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,},
|
||||||
|
@ -702,7 +745,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"5 Particle and effectors.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"5 Particle and effectors.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"4 Looping operation.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"4 Looping operation.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"2 animation.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"2 animation.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Assets.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"tile_0126.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"tile_0126.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"card_back.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"card_back.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"card_clubs_02.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"card_clubs_02.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
|
@ -890,7 +932,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_dialog_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_dialog_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_refresh_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_refresh_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Collections.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_tile_view_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_tile_view_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_preset.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_preset.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_animation_stretch.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_animation_stretch.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
@ -907,8 +948,10 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_vfx.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_vfx.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Collections.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Assets.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||||
],
|
],
|
||||||
"MetaData": {
|
"MetaData": {
|
||||||
"IDEVersion": "2022.11.0.54",
|
"IDEVersion": "2022.11.1.56",
|
||||||
},
|
},
|
||||||
}
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -60,7 +60,9 @@
|
||||||
"node_blend_default": "blue_ltgrey",
|
"node_blend_default": "blue_ltgrey",
|
||||||
"node_blend_number": "cyan",
|
"node_blend_number": "cyan",
|
||||||
"node_blend_input": ["white", "lime", 0.5],
|
"node_blend_input": ["white", "lime", 0.5],
|
||||||
"node_blend_loop": "lime",
|
"node_blend_loop": "cyan",
|
||||||
|
"node_blend_vfx": "lime",
|
||||||
|
"node_blend_feedback": "pink",
|
||||||
"node_blend_collection": "yellow",
|
"node_blend_collection": "yellow",
|
||||||
"node_blend_canvas": ["white", "orange", 0.5],
|
"node_blend_canvas": ["white", "orange", 0.5],
|
||||||
"node_path_overlay_control_line": "blue_grey",
|
"node_path_overlay_control_line": "blue_grey",
|
||||||
|
@ -89,7 +91,6 @@
|
||||||
"panel_bg_clear_inner": "blue_dkblack",
|
"panel_bg_clear_inner": "blue_dkblack",
|
||||||
"panel_bg_clear": "blue_black",
|
"panel_bg_clear": "blue_black",
|
||||||
|
|
||||||
"panel_graph_grid": "blue_dkgrey",
|
|
||||||
"panel_graph_minimap_outline": "blue_dkgrey",
|
"panel_graph_minimap_outline": "blue_dkgrey",
|
||||||
"panel_graph_node_dimension": "blue_grey",
|
"panel_graph_node_dimension": "blue_grey",
|
||||||
"panel_graph_minimap_focus": "blue_ltgrey",
|
"panel_graph_minimap_focus": "blue_ltgrey",
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,91 +0,0 @@
|
||||||
{
|
|
||||||
"resourceType": "GMExtension",
|
|
||||||
"resourceVersion": "1.2",
|
|
||||||
"name": "FileDropper",
|
|
||||||
"optionsFile": "options.json",
|
|
||||||
"options": [],
|
|
||||||
"exportToGame": true,
|
|
||||||
"supportedTargets": 202375362,
|
|
||||||
"extensionVersion": "1.0.0",
|
|
||||||
"packageId": "",
|
|
||||||
"productId": "",
|
|
||||||
"author": "",
|
|
||||||
"date": "2019-05-07T04:22:47",
|
|
||||||
"license": "Free to use, also for commercial games.",
|
|
||||||
"description": "",
|
|
||||||
"helpfile": "",
|
|
||||||
"iosProps": false,
|
|
||||||
"tvosProps": false,
|
|
||||||
"androidProps": false,
|
|
||||||
"installdir": "",
|
|
||||||
"files": [
|
|
||||||
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"","filename":"FileDropper.dll","origname":"extensions\\FileDropper.dll","init":"","final":"","kind":1,"uncompress":false,"functions":[
|
|
||||||
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dnd_get_enabled","externalName":"file_dnd_get_enabled","kind":12,"help":"file_dnd_get_enabled()","hidden":false,"returnType":2,"argCount":-1,"args":[],"documentation":"",},
|
|
||||||
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dnd_set_enabled","externalName":"file_dnd_set_enabled","kind":12,"help":"file_dnd_set_enabled(enable)","hidden":false,"returnType":2,"argCount":1,"args":[
|
|
||||||
2,
|
|
||||||
],"documentation":"",},
|
|
||||||
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dnd_get_files","externalName":"file_dnd_get_files","kind":12,"help":"file_dnd_get_files()","hidden":false,"returnType":1,"argCount":-1,"args":[],"documentation":"",},
|
|
||||||
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dnd_set_files","externalName":"file_dnd_set_files","kind":12,"help":"file_dnd_set_files(pattern,allowfiles,allowdirs,allowmulti)","hidden":false,"returnType":2,"argCount":4,"args":[
|
|
||||||
1,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
],"documentation":"",},
|
|
||||||
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dnd_get_hwnd","externalName":"file_dnd_get_hwnd","kind":1,"help":"file_dnd_get_hwnd()","hidden":false,"returnType":1,"argCount":0,"args":[],"documentation":"",},
|
|
||||||
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dnd_set_hwnd","externalName":"file_dnd_set_hwnd","kind":1,"help":"file_dnd_set_hwnd(hwnd)","hidden":false,"returnType":2,"argCount":0,"args":[
|
|
||||||
1,
|
|
||||||
],"documentation":"",},
|
|
||||||
],"constants":[
|
|
||||||
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"hwnd_main","value":"window_handle()","hidden":false,},
|
|
||||||
{"resourceType":"GMExtensionConstant","resourceVersion":"1.0","name":"hwnd_default","value":"pointer_null","hidden":false,},
|
|
||||||
],"ProxyFiles":[
|
|
||||||
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"FileDropper.dylib","TargetMask":1,},
|
|
||||||
],"copyToTargets":66,"usesRunnerInterface":false,"order":[
|
|
||||||
{"name":"file_dnd_get_enabled","path":"extensions/FileDropper/FileDropper.yy",},
|
|
||||||
{"name":"file_dnd_set_enabled","path":"extensions/FileDropper/FileDropper.yy",},
|
|
||||||
{"name":"file_dnd_get_files","path":"extensions/FileDropper/FileDropper.yy",},
|
|
||||||
{"name":"file_dnd_set_files","path":"extensions/FileDropper/FileDropper.yy",},
|
|
||||||
{"name":"file_dnd_get_hwnd","path":"extensions/FileDropper/FileDropper.yy",},
|
|
||||||
{"name":"file_dnd_set_hwnd","path":"extensions/FileDropper/FileDropper.yy",},
|
|
||||||
],},
|
|
||||||
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"","filename":"FileDropper.dll.zip","origname":"extensions\\FileDropper.dll.zip","init":"","final":"","kind":4,"uncompress":false,"functions":[],"constants":[],"ProxyFiles":[],"copyToTargets":0,"usesRunnerInterface":false,"order":[],},
|
|
||||||
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"","filename":"FileDropper.dylib.zip","origname":"extensions\\FileDropper.dylib.zip","init":"","final":"","kind":4,"uncompress":false,"functions":[],"constants":[],"ProxyFiles":[],"copyToTargets":0,"usesRunnerInterface":false,"order":[],},
|
|
||||||
],
|
|
||||||
"classname": "",
|
|
||||||
"tvosclassname": "",
|
|
||||||
"tvosdelegatename": "",
|
|
||||||
"iosdelegatename": "",
|
|
||||||
"androidclassname": "",
|
|
||||||
"sourcedir": "",
|
|
||||||
"androidsourcedir": "",
|
|
||||||
"macsourcedir": "",
|
|
||||||
"maccompilerflags": "",
|
|
||||||
"tvosmaccompilerflags": "",
|
|
||||||
"maclinkerflags": "",
|
|
||||||
"tvosmaclinkerflags": "",
|
|
||||||
"iosplistinject": "",
|
|
||||||
"tvosplistinject": "",
|
|
||||||
"androidinject": "",
|
|
||||||
"androidmanifestinject": "",
|
|
||||||
"androidactivityinject": "",
|
|
||||||
"gradleinject": "",
|
|
||||||
"androidcodeinjection": "",
|
|
||||||
"hasConvertedCodeInjection": true,
|
|
||||||
"ioscodeinjection": "",
|
|
||||||
"tvoscodeinjection": "",
|
|
||||||
"iosSystemFrameworkEntries": [],
|
|
||||||
"tvosSystemFrameworkEntries": [],
|
|
||||||
"iosThirdPartyFrameworkEntries": [],
|
|
||||||
"tvosThirdPartyFrameworkEntries": [],
|
|
||||||
"IncludedResources": [],
|
|
||||||
"androidPermissions": [],
|
|
||||||
"copyToTargets": 202375362,
|
|
||||||
"iosCocoaPods": "",
|
|
||||||
"tvosCocoaPods": "",
|
|
||||||
"iosCocoaPodDependencies": "",
|
|
||||||
"tvosCocoaPodDependencies": "",
|
|
||||||
"parent": {
|
|
||||||
"name": "Extensions",
|
|
||||||
"path": "folders/Extensions.yy",
|
|
||||||
},
|
|
||||||
}
|
|
6
extensions/file_dropper/autogen.gml
Normal file
6
extensions/file_dropper/autogen.gml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#define file_dropper_init
|
||||||
|
/// file_dropper_init()->bool
|
||||||
|
var _buf = file_dropper_prepare_buffer(8);
|
||||||
|
buffer_write(_buf, buffer_u64, int64(window_handle()));
|
||||||
|
return file_dropper_init_raw(buffer_get_address(_buf), 8);
|
||||||
|
|
495
extensions/file_dropper/file_dropper.cpp
Normal file
495
extensions/file_dropper/file_dropper.cpp
Normal file
|
@ -0,0 +1,495 @@
|
||||||
|
#pragma once
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
// As per http://help.yoyogames.com/hc/en-us/articles/216755258:
|
||||||
|
typedef int gml_ds_map;
|
||||||
|
//
|
||||||
|
typedef void (*gml_event_perform_async_t)(gml_ds_map map, int event_type);
|
||||||
|
typedef int (*gml_ds_map_create_ext_t)(int n, ...);
|
||||||
|
typedef bool (*gml_ds_map_set_double_t)(gml_ds_map map, char* key, double value);
|
||||||
|
typedef bool (*gml_ds_map_set_string_t)(gml_ds_map map, char* key, const char* value);
|
||||||
|
//
|
||||||
|
extern gml_event_perform_async_t gml_event_perform_async;
|
||||||
|
extern gml_ds_map_create_ext_t gml_ds_map_create_ext;
|
||||||
|
extern gml_ds_map_set_double_t gml_ds_map_set_double;
|
||||||
|
extern gml_ds_map_set_string_t gml_ds_map_set_string;
|
||||||
|
//
|
||||||
|
inline gml_ds_map gml_ds_map_create() {
|
||||||
|
return gml_ds_map_create_ext(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// A wrapper for queuing async events for GML easier.
|
||||||
|
class gml_async_event {
|
||||||
|
private:
|
||||||
|
gml_ds_map map;
|
||||||
|
public:
|
||||||
|
gml_async_event() {
|
||||||
|
map = gml_ds_map_create();
|
||||||
|
}
|
||||||
|
gml_async_event(char* type) {
|
||||||
|
map = gml_ds_map_create();
|
||||||
|
gml_ds_map_set_string(map, "event_type", type);
|
||||||
|
}
|
||||||
|
~gml_async_event() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
/// Dispatches this event and cleans up the map.
|
||||||
|
void dispatch(int kind) {
|
||||||
|
gml_event_perform_async(map, kind);
|
||||||
|
}
|
||||||
|
bool set(char* key, double value) {
|
||||||
|
return gml_ds_map_set_double(map, key, value);
|
||||||
|
}
|
||||||
|
bool set(char* key, const char* value) {
|
||||||
|
return gml_ds_map_set_string(map, key, value);
|
||||||
|
}
|
||||||
|
};#pragma once
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include <vector>
|
||||||
|
#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
|
||||||
|
#include <optional>
|
||||||
|
#endif
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <cstring>
|
||||||
|
#include <tuple>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
#define dllg /* tag */
|
||||||
|
|
||||||
|
#if defined(WIN32)
|
||||||
|
#define dllx extern "C" __declspec(dllexport)
|
||||||
|
#elif defined(GNUC)
|
||||||
|
#define dllx extern "C" __attribute__ ((visibility("default")))
|
||||||
|
#else
|
||||||
|
#define dllx extern "C"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WINDEF_
|
||||||
|
typedef HWND GAME_HWND;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct gml_buffer {
|
||||||
|
private:
|
||||||
|
uint8_t* _data;
|
||||||
|
int32_t _size;
|
||||||
|
int32_t _tell;
|
||||||
|
public:
|
||||||
|
gml_buffer() : _data(nullptr), _tell(0), _size(0) {}
|
||||||
|
gml_buffer(uint8_t* data, int32_t size, int32_t tell) : _data(data), _size(size), _tell(tell) {}
|
||||||
|
|
||||||
|
inline uint8_t* data() { return _data; }
|
||||||
|
inline int32_t tell() { return _tell; }
|
||||||
|
inline int32_t size() { return _size; }
|
||||||
|
};
|
||||||
|
|
||||||
|
class gml_istream {
|
||||||
|
uint8_t* pos;
|
||||||
|
uint8_t* start;
|
||||||
|
public:
|
||||||
|
gml_istream(void* origin) : pos((uint8_t*)origin), start((uint8_t*)origin) {}
|
||||||
|
|
||||||
|
template<class T> T read() {
|
||||||
|
static_assert(std::is_trivially_copyable_v<T>, "T must be trivially copyable to be read");
|
||||||
|
T result{};
|
||||||
|
std::memcpy(&result, pos, sizeof(T));
|
||||||
|
pos += sizeof(T);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
char* read_string() {
|
||||||
|
char* r = (char*)pos;
|
||||||
|
while (*pos != 0) pos++;
|
||||||
|
pos++;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class T> std::vector<T> read_vector() {
|
||||||
|
static_assert(std::is_trivially_copyable_v<T>, "T must be trivially copyable to be read");
|
||||||
|
auto n = read<uint32_t>();
|
||||||
|
std::vector<T> vec(n);
|
||||||
|
std::memcpy(vec.data(), pos, sizeof(T) * n);
|
||||||
|
pos += sizeof(T) * n;
|
||||||
|
return vec;
|
||||||
|
}
|
||||||
|
|
||||||
|
gml_buffer read_gml_buffer() {
|
||||||
|
auto _data = (uint8_t*)read<int64_t>();
|
||||||
|
auto _size = read<int32_t>();
|
||||||
|
auto _tell = read<int32_t>();
|
||||||
|
return gml_buffer(_data, _size, _tell);
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma region Tuples
|
||||||
|
#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
|
||||||
|
template<typename... Args>
|
||||||
|
std::tuple<Args...> read_tuple() {
|
||||||
|
std::tuple<Args...> tup;
|
||||||
|
std::apply([this](auto&&... arg) {
|
||||||
|
((
|
||||||
|
arg = this->read<std::remove_reference_t<decltype(arg)>>()
|
||||||
|
), ...);
|
||||||
|
}, tup);
|
||||||
|
return tup;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class T> optional<T> read_optional() {
|
||||||
|
if (read<bool>()) {
|
||||||
|
return read<T>;
|
||||||
|
} else return {};
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
template<class A, class B> std::tuple<A, B> read_tuple() {
|
||||||
|
A a = read<A>();
|
||||||
|
B b = read<B>();
|
||||||
|
return std::tuple<A, B>(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class A, class B, class C> std::tuple<A, B, C> read_tuple() {
|
||||||
|
A a = read<A>();
|
||||||
|
B b = read<B>();
|
||||||
|
C c = read<C>();
|
||||||
|
return std::tuple<A, B, C>(a, b, c);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class A, class B, class C, class D> std::tuple<A, B, C, D> read_tuple() {
|
||||||
|
A a = read<A>();
|
||||||
|
B b = read<B>();
|
||||||
|
C c = read<C>();
|
||||||
|
D d = read<d>();
|
||||||
|
return std::tuple<A, B, C, D>(a, b, c, d);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
class gml_ostream {
|
||||||
|
uint8_t* pos;
|
||||||
|
uint8_t* start;
|
||||||
|
public:
|
||||||
|
gml_ostream(void* origin) : pos((uint8_t*)origin), start((uint8_t*)origin) {}
|
||||||
|
|
||||||
|
template<class T> void write(T val) {
|
||||||
|
static_assert(std::is_trivially_copyable_v<T>, "T must be trivially copyable to be write");
|
||||||
|
memcpy(pos, &val, sizeof(T));
|
||||||
|
pos += sizeof(T);
|
||||||
|
}
|
||||||
|
|
||||||
|
void write_string(const char* s) {
|
||||||
|
for (int i = 0; s[i] != 0; i++) write<char>(s[i]);
|
||||||
|
write<char>(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class T> void write_vector(std::vector<T>& vec) {
|
||||||
|
static_assert(std::is_trivially_copyable_v<T>, "T must be trivially copyable to be write");
|
||||||
|
auto n = vec.size();
|
||||||
|
write<uint32_t>(n);
|
||||||
|
memcpy(pos, vec.data(), n * sizeof(T));
|
||||||
|
pos += n * sizeof(T);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
|
||||||
|
template<typename... Args>
|
||||||
|
void write_tuple(std::tuple<Args...> tup) {
|
||||||
|
std::apply([this](auto&&... arg) {
|
||||||
|
(this->write(arg), ...);
|
||||||
|
}, tup);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class T> void write_optional(optional<T>& val) {
|
||||||
|
auto hasValue = val.has_value();
|
||||||
|
write<bool>(hasValue);
|
||||||
|
if (hasValue) write<T>(val.value());
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
template<class A, class B> void write_tuple(std::tuple<A, B>& tup) {
|
||||||
|
write<A>(std::get<0>(tup));
|
||||||
|
write<B>(std::get<1>(tup));
|
||||||
|
}
|
||||||
|
template<class A, class B, class C> void write_tuple(std::tuple<A, B, C>& tup) {
|
||||||
|
write<A>(std::get<0>(tup));
|
||||||
|
write<B>(std::get<1>(tup));
|
||||||
|
write<C>(std::get<2>(tup));
|
||||||
|
}
|
||||||
|
template<class A, class B, class C, class D> void write_tuple(std::tuple<A, B, C, D>& tup) {
|
||||||
|
write<A>(std::get<0>(tup));
|
||||||
|
write<B>(std::get<1>(tup));
|
||||||
|
write<C>(std::get<2>(tup));
|
||||||
|
write<D>(std::get<3>(tup));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
// Used by file_dropper.rc
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 101
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
// stdafx.h : include file for standard system include files,
|
||||||
|
// or project specific include files that are used frequently, but
|
||||||
|
// are changed infrequently
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef _WINDOWS
|
||||||
|
#include "targetver.h"
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(WIN32)
|
||||||
|
#define dllx extern "C" __declspec(dllexport)
|
||||||
|
#elif defined(GNUC)
|
||||||
|
#define dllx extern "C" __attribute__ ((visibility("default")))
|
||||||
|
#else
|
||||||
|
#define dllx extern "C"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define trace(...) { printf("[file_dropper:%d] ", __LINE__); printf(__VA_ARGS__); printf("\n"); fflush(stdout); }
|
||||||
|
|
||||||
|
#include "gml_ext.h"
|
||||||
|
|
||||||
|
// TODO: reference additional headers your program requires here#pragma once
|
||||||
|
|
||||||
|
// Including SDKDDKVer.h defines the highest available Windows platform.
|
||||||
|
|
||||||
|
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
|
||||||
|
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
|
||||||
|
|
||||||
|
#include <SDKDDKVer.h>
|
||||||
|
#pragma once
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
template<typename T> T* malloc_arr(size_t count) {
|
||||||
|
return (T*)malloc(sizeof(T) * count);
|
||||||
|
}
|
||||||
|
template<typename T> T* realloc_arr(T* arr, size_t count) {
|
||||||
|
return (T*)realloc(arr, sizeof(T) * count);
|
||||||
|
}
|
||||||
|
template<typename T> T* memcpy_arr(T* dst, const T* src, size_t count) {
|
||||||
|
return (T*)memcpy(dst, src, sizeof(T) * count);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename C> class tiny_string_t {
|
||||||
|
C* _data = nullptr;
|
||||||
|
size_t _size = 0;
|
||||||
|
size_t _capacity = 0;
|
||||||
|
public:
|
||||||
|
tiny_string_t() {}
|
||||||
|
inline void init(size_t capacity = 32) {
|
||||||
|
_data = malloc_arr<C>(capacity);
|
||||||
|
_size = 0;
|
||||||
|
_capacity = capacity;
|
||||||
|
}
|
||||||
|
inline void init(const C* val) {
|
||||||
|
init(4);
|
||||||
|
set(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns current size, in characters (not including final NUL)
|
||||||
|
inline size_t size() { return _size; }
|
||||||
|
inline void setSize(size_t size) { _size = size; }
|
||||||
|
|
||||||
|
inline bool empty() {
|
||||||
|
return _size == 0;
|
||||||
|
}
|
||||||
|
inline C* c_str() {
|
||||||
|
return _data;
|
||||||
|
}
|
||||||
|
inline C* prepare(size_t capacity) {
|
||||||
|
if (_capacity < capacity) {
|
||||||
|
auto new_data = realloc_arr(_data, capacity);
|
||||||
|
if (new_data == nullptr) {
|
||||||
|
trace("Failed to reallocate %zu bytes in tiny_string::prepare", sizeof(C) * capacity);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
_data = new_data;
|
||||||
|
_capacity = capacity;
|
||||||
|
}
|
||||||
|
return _data;
|
||||||
|
}
|
||||||
|
inline const C* set(const C* value, size_t len = SIZE_MAX) {
|
||||||
|
if (len == SIZE_MAX) {
|
||||||
|
const C* iter = value;
|
||||||
|
len = 1;
|
||||||
|
while (*iter) { iter++; len++; }
|
||||||
|
}
|
||||||
|
C* result = prepare(len);
|
||||||
|
memcpy_arr(result, value, len);
|
||||||
|
_size = len - 1;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
inline void operator=(const C* value) { set(value); }
|
||||||
|
template<size_t size> inline void operator =(const C(&value)[size]) { set(value, size); }
|
||||||
|
};
|
||||||
|
struct tiny_string : public tiny_string_t<char> {
|
||||||
|
public:
|
||||||
|
inline char* conv(const wchar_t* wstr) {
|
||||||
|
auto size = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
|
||||||
|
auto str = prepare(size);
|
||||||
|
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, size, NULL, NULL);
|
||||||
|
setSize(size - 1);
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void operator=(const char* value) { set(value); }
|
||||||
|
template<size_t size> inline void operator =(const char(&value)[size]) { set(value, size); }
|
||||||
|
};
|
||||||
|
struct tiny_wstring : public tiny_string_t<wchar_t> {
|
||||||
|
public:
|
||||||
|
inline wchar_t* conv(const char* str) {
|
||||||
|
auto size = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
|
||||||
|
auto wstr = prepare(size);
|
||||||
|
MultiByteToWideChar(CP_UTF8, 0, str, -1, wstr, size);
|
||||||
|
setSize(size - 1);
|
||||||
|
return wstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void operator=(const wchar_t* value) { set(value); }
|
||||||
|
template<size_t size> inline void operator =(const wchar_t(&value)[size]) { set(value, size); }
|
||||||
|
};#include "gml_ext.h"
|
||||||
|
extern bool file_dropper_init(GAME_HWND hwnd);
|
||||||
|
dllx double file_dropper_init_raw(void* _in_ptr, double _in_ptr_size) {
|
||||||
|
gml_istream _in(_in_ptr);
|
||||||
|
GAME_HWND _arg_hwnd;
|
||||||
|
_arg_hwnd = (GAME_HWND)_in.read<uint64_t>();
|
||||||
|
return file_dropper_init(_arg_hwnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
// dllmain.cpp : Defines the entry point for the DLL application.
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
BOOL APIENTRY DllMain( HMODULE hModule,
|
||||||
|
DWORD ul_reason_for_call,
|
||||||
|
LPVOID lpReserved
|
||||||
|
)
|
||||||
|
{
|
||||||
|
switch (ul_reason_for_call)
|
||||||
|
{
|
||||||
|
case DLL_PROCESS_ATTACH:
|
||||||
|
case DLL_THREAD_ATTACH:
|
||||||
|
case DLL_THREAD_DETACH:
|
||||||
|
case DLL_PROCESS_DETACH:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @author YellowAfterlife
|
||||||
|
|
||||||
|
#include <oleidl.h>
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "gml_async_glue.h"
|
||||||
|
#include "tiny_string.h"
|
||||||
|
|
||||||
|
static tiny_string utf8c;
|
||||||
|
static UINT GMDropTarget_refCount = 0;
|
||||||
|
|
||||||
|
struct GMDropTarget : IDropTarget {
|
||||||
|
// Inherited via IDropTarget
|
||||||
|
virtual HRESULT __stdcall QueryInterface(REFIID riid, void** ppvObject) override {
|
||||||
|
if (IsEqualIID(riid, IID_IDropTarget) || IsEqualIID(riid, IID_IUnknown)) {
|
||||||
|
*ppvObject = this;
|
||||||
|
this->AddRef();
|
||||||
|
return NOERROR;
|
||||||
|
} else {
|
||||||
|
*ppvObject = nullptr;
|
||||||
|
return E_NOINTERFACE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
virtual ULONG __stdcall AddRef(void) override {
|
||||||
|
return ++GMDropTarget_refCount;
|
||||||
|
}
|
||||||
|
virtual ULONG __stdcall Release(void) override {
|
||||||
|
return --GMDropTarget_refCount;
|
||||||
|
}
|
||||||
|
virtual HRESULT __stdcall DragEnter(IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) override {
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
virtual HRESULT __stdcall DragOver(DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) override {
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
virtual HRESULT __stdcall DragLeave(void) override {
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
virtual HRESULT __stdcall Drop(IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect) override {
|
||||||
|
//trace("drop");
|
||||||
|
FORMATETC formatEtc;
|
||||||
|
formatEtc.cfFormat = CF_HDROP;
|
||||||
|
formatEtc.dwAspect = DVASPECT_CONTENT;
|
||||||
|
formatEtc.lindex = -1;
|
||||||
|
formatEtc.ptd = NULL;
|
||||||
|
formatEtc.tymed = TYMED_HGLOBAL;
|
||||||
|
|
||||||
|
STGMEDIUM medium;
|
||||||
|
auto hr = pDataObj->GetData(&formatEtc, &medium);
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
if (medium.tymed != TYMED_HGLOBAL) return S_OK;
|
||||||
|
|
||||||
|
auto drop = (HDROP)medium.hGlobal;
|
||||||
|
auto fileCount = DragQueryFileW(drop, UINT32_MAX, NULL, 0);
|
||||||
|
//trace("fileCount=%d", fileCount);
|
||||||
|
for (auto k = 0u; k < fileCount; k++) {
|
||||||
|
auto nameLen = DragQueryFileW(drop, k, nullptr, 0);
|
||||||
|
if (nameLen == 0) continue;
|
||||||
|
|
||||||
|
auto wname = malloc_arr<wchar_t>(nameLen + 1);
|
||||||
|
DragQueryFile(drop, k, wname, nameLen + 1);
|
||||||
|
auto name = utf8c.conv(wname);
|
||||||
|
|
||||||
|
gml_async_event e("file_drop");
|
||||||
|
e.set("filename", name);
|
||||||
|
e.dispatch(75); // async system
|
||||||
|
delete wname;
|
||||||
|
}
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
static GMDropTarget* dropTarget = nullptr;
|
||||||
|
|
||||||
|
dllg bool file_dropper_init(GAME_HWND hwnd) {
|
||||||
|
if (dropTarget != nullptr) return true;
|
||||||
|
|
||||||
|
auto hr = OleInitialize(0);
|
||||||
|
if (hr != S_OK && hr != S_FALSE) {
|
||||||
|
trace("OleInitialize failed, hresult=0x%x", hr);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
dropTarget = new GMDropTarget();
|
||||||
|
utf8c.init();
|
||||||
|
hr = RegisterDragDrop(hwnd, dropTarget);
|
||||||
|
if (FAILED(hr)) trace("RegisterDragDrop failed, hresult=0x%x", hr);
|
||||||
|
return SUCCEEDED(hr);
|
||||||
|
}
|
||||||
|
#include "gml_async_glue.h"
|
||||||
|
|
||||||
|
gml_event_perform_async_t gml_event_perform_async = nullptr;
|
||||||
|
gml_ds_map_create_ext_t gml_ds_map_create_ext = nullptr;
|
||||||
|
gml_ds_map_set_double_t gml_ds_map_set_double = nullptr;
|
||||||
|
gml_ds_map_set_string_t gml_ds_map_set_string = nullptr;
|
||||||
|
|
||||||
|
// Called by GM on DLL init
|
||||||
|
dllx double RegisterCallbacks(void* f1, void* f2, void* f3, void* f4) {
|
||||||
|
gml_event_perform_async = (gml_event_perform_async_t)f1;
|
||||||
|
gml_ds_map_create_ext = (gml_ds_map_create_ext_t)f2;
|
||||||
|
gml_ds_map_set_double = (gml_ds_map_set_double_t)f3;
|
||||||
|
gml_ds_map_set_string = (gml_ds_map_set_string_t)f4;
|
||||||
|
return 0;
|
||||||
|
}// stdafx.cpp : source file that includes just the standard includes
|
||||||
|
// file_dropper.pch will be the pre-compiled header
|
||||||
|
// stdafx.obj will contain the pre-compiled type information
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
// TODO: reference any additional headers you need in STDAFX.H
|
||||||
|
// and not in this file
|
BIN
extensions/file_dropper/file_dropper.dll
Normal file
BIN
extensions/file_dropper/file_dropper.dll
Normal file
Binary file not shown.
13
extensions/file_dropper/file_dropper.gml
Normal file
13
extensions/file_dropper/file_dropper.gml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#define file_dropper_prepare_buffer
|
||||||
|
/// (size:int)->buffer~
|
||||||
|
var _size = argument0;
|
||||||
|
gml_pragma("global", "global.__file_dropper_buffer = undefined");
|
||||||
|
var _buf = global.__file_dropper_buffer;
|
||||||
|
if (_buf == undefined) {
|
||||||
|
_buf = buffer_create(_size, buffer_grow, 1);
|
||||||
|
global.__file_dropper_buffer = _buf;
|
||||||
|
} else if (buffer_get_size(_buf) < _size) {
|
||||||
|
buffer_resize(_buf, _size);
|
||||||
|
}
|
||||||
|
buffer_seek(_buf, buffer_seek_start, 0);
|
||||||
|
return _buf;
|
89
extensions/file_dropper/file_dropper.yy
Normal file
89
extensions/file_dropper/file_dropper.yy
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMExtension",
|
||||||
|
"resourceVersion": "1.2",
|
||||||
|
"name": "file_dropper",
|
||||||
|
"optionsFile": "options.json",
|
||||||
|
"options": [],
|
||||||
|
"exportToGame": true,
|
||||||
|
"supportedTargets": 113497714299118,
|
||||||
|
"extensionVersion": "1.0.0",
|
||||||
|
"packageId": "",
|
||||||
|
"productId": "",
|
||||||
|
"author": "",
|
||||||
|
"date": "2019-12-12T01:34:29",
|
||||||
|
"license": "Proprietary",
|
||||||
|
"description": "",
|
||||||
|
"helpfile": "",
|
||||||
|
"iosProps": true,
|
||||||
|
"tvosProps": false,
|
||||||
|
"androidProps": true,
|
||||||
|
"installdir": "",
|
||||||
|
"files": [
|
||||||
|
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"","filename":"file_dropper.dll","origname":"extensions\\file_dropper.dll","init":"","final":"","kind":1,"uncompress":false,"functions":[
|
||||||
|
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dropper_init_raw","externalName":"file_dropper_init_raw","kind":11,"help":"","hidden":true,"returnType":2,"argCount":2,"args":[
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
],"documentation":"",},
|
||||||
|
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"RegisterCallbacks","externalName":"RegisterCallbacks","kind":11,"help":"","hidden":true,"returnType":2,"argCount":4,"args":[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
],"documentation":"",},
|
||||||
|
],"constants":[],"ProxyFiles":[
|
||||||
|
{"resourceType":"GMProxyFile","resourceVersion":"1.0","name":"file_dropper_x64.dll","TargetMask":6,},
|
||||||
|
],"copyToTargets":9223372036854775807,"usesRunnerInterface":false,"order":[
|
||||||
|
{"name":"file_dropper_init_raw","path":"extensions/file_dropper/file_dropper.yy",},
|
||||||
|
{"name":"RegisterCallbacks","path":"extensions/file_dropper/file_dropper.yy",},
|
||||||
|
],},
|
||||||
|
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"","filename":"file_dropper.gml","origname":"extensions\\gml.gml","init":"","final":"","kind":2,"uncompress":false,"functions":[
|
||||||
|
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dropper_prepare_buffer","externalName":"file_dropper_prepare_buffer","kind":11,"help":"","hidden":true,"returnType":2,"argCount":1,"args":[
|
||||||
|
2,
|
||||||
|
],"documentation":"",},
|
||||||
|
],"constants":[],"ProxyFiles":[],"copyToTargets":9223372036854775807,"usesRunnerInterface":false,"order":[
|
||||||
|
{"name":"file_dropper_prepare_buffer","path":"extensions/file_dropper/file_dropper.yy",},
|
||||||
|
],},
|
||||||
|
{"resourceType":"GMExtensionFile","resourceVersion":"1.0","name":"","filename":"autogen.gml","origname":"extensions\\autogen.gml","init":"","final":"","kind":2,"uncompress":false,"functions":[
|
||||||
|
{"resourceType":"GMExtensionFunction","resourceVersion":"1.0","name":"file_dropper_init","externalName":"file_dropper_init","kind":2,"help":"file_dropper_init()->bool","hidden":false,"returnType":2,"argCount":0,"args":[],"documentation":"",},
|
||||||
|
],"constants":[],"ProxyFiles":[],"copyToTargets":-1,"usesRunnerInterface":false,"order":[
|
||||||
|
{"name":"file_dropper_init","path":"extensions/file_dropper/file_dropper.yy",},
|
||||||
|
],},
|
||||||
|
],
|
||||||
|
"classname": "",
|
||||||
|
"tvosclassname": "",
|
||||||
|
"tvosdelegatename": "",
|
||||||
|
"iosdelegatename": "",
|
||||||
|
"androidclassname": "",
|
||||||
|
"sourcedir": "",
|
||||||
|
"androidsourcedir": "",
|
||||||
|
"macsourcedir": "",
|
||||||
|
"maccompilerflags": "",
|
||||||
|
"tvosmaccompilerflags": "",
|
||||||
|
"maclinkerflags": "",
|
||||||
|
"tvosmaclinkerflags": "",
|
||||||
|
"iosplistinject": "",
|
||||||
|
"tvosplistinject": "",
|
||||||
|
"androidinject": "",
|
||||||
|
"androidmanifestinject": "",
|
||||||
|
"androidactivityinject": "",
|
||||||
|
"gradleinject": "",
|
||||||
|
"androidcodeinjection": "",
|
||||||
|
"hasConvertedCodeInjection": true,
|
||||||
|
"ioscodeinjection": "",
|
||||||
|
"tvoscodeinjection": "",
|
||||||
|
"iosSystemFrameworkEntries": [],
|
||||||
|
"tvosSystemFrameworkEntries": [],
|
||||||
|
"iosThirdPartyFrameworkEntries": [],
|
||||||
|
"tvosThirdPartyFrameworkEntries": [],
|
||||||
|
"IncludedResources": [],
|
||||||
|
"androidPermissions": [],
|
||||||
|
"copyToTargets": 113497714299118,
|
||||||
|
"iosCocoaPods": "",
|
||||||
|
"tvosCocoaPods": "",
|
||||||
|
"iosCocoaPodDependencies": "",
|
||||||
|
"tvosCocoaPodDependencies": "",
|
||||||
|
"parent": {
|
||||||
|
"name": "Extensions",
|
||||||
|
"path": "folders/Extensions.yy",
|
||||||
|
},
|
||||||
|
}
|
BIN
extensions/file_dropper/file_dropper_x64.dll
Normal file
BIN
extensions/file_dropper/file_dropper_x64.dll
Normal file
Binary file not shown.
|
@ -16,6 +16,7 @@ event_inherited();
|
||||||
[ "Chromatic aberration shader", "jcant0n" ],
|
[ "Chromatic aberration shader", "jcant0n" ],
|
||||||
[ "gif importer\nWindow commands\nExecute shell simple", "YellowAfterLife" ],
|
[ "gif importer\nWindow commands\nExecute shell simple", "YellowAfterLife" ],
|
||||||
[ "Triangle grid", "Farini" ],
|
[ "Triangle grid", "Farini" ],
|
||||||
|
[ "Pixel sort", "Ciphrd" ],
|
||||||
]
|
]
|
||||||
|
|
||||||
sc_thank = new scrollPane(dialog_w - ui(64), thank_h, function(_y, _m) {
|
sc_thank = new scrollPane(dialog_w - ui(64), thank_h, function(_y, _m) {
|
||||||
|
|
|
@ -13,11 +13,10 @@ event_inherited();
|
||||||
|
|
||||||
function setPath(path) {
|
function setPath(path) {
|
||||||
paths = path;
|
paths = path;
|
||||||
is_dir = directory_exists(path);
|
is_dir = directory_exists(path[0]);
|
||||||
|
|
||||||
if(is_dir) {
|
if(is_dir)
|
||||||
dialog_h += ui(96);
|
dialog_h += ui(96);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cb_recursive = new checkBox(function(val) { dir_recursive = !dir_recursive; });
|
cb_recursive = new checkBox(function(val) { dir_recursive = !dir_recursive; });
|
||||||
|
@ -27,8 +26,8 @@ event_inherited();
|
||||||
|
|
||||||
#region nodes
|
#region nodes
|
||||||
nodes = [
|
nodes = [
|
||||||
nodeFind("Image"),
|
ALL_NODES[? "Node_Image"],
|
||||||
nodeFind("Image array"),
|
ALL_NODES[? "Node_Image_Sequence"],
|
||||||
nodeFind("Animation"),
|
ALL_NODES[? "Node_Image_Animated"],
|
||||||
];
|
];
|
||||||
#endregion
|
#endregion
|
|
@ -29,7 +29,7 @@ if !ready exit;
|
||||||
if(sHOVER && point_in_rectangle(mouse_mx, mouse_my, xx, yy, xx + grid_width, yy + grid_size)) {
|
if(sHOVER && point_in_rectangle(mouse_mx, mouse_my, xx, yy, xx + grid_width, yy + grid_size)) {
|
||||||
draw_sprite_stretched_ext(THEME.node_active, 0, xx, yy, grid_size, grid_size, COLORS._main_accent, 1);
|
draw_sprite_stretched_ext(THEME.node_active, 0, xx, yy, grid_size, grid_size, COLORS._main_accent, 1);
|
||||||
if(mouse_press(mb_left, sFOCUS)) {
|
if(mouse_press(mb_left, sFOCUS)) {
|
||||||
var path_arr = paths_to_array(paths, dir_recursive, dir_filter);
|
var path_arr = path_search(paths, dir_recursive, dir_filter);
|
||||||
switch(i) {
|
switch(i) {
|
||||||
case 0 :
|
case 0 :
|
||||||
for( var i = 0; i < array_length(path_arr); i++ ) {
|
for( var i = 0; i < array_length(path_arr); i++ ) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ event_inherited();
|
||||||
|
|
||||||
if(ADD_NODE_W == -1 || ADD_NODE_H == -1) {
|
if(ADD_NODE_W == -1 || ADD_NODE_H == -1) {
|
||||||
ADD_NODE_W = ui(532);
|
ADD_NODE_W = ui(532);
|
||||||
ADD_NODE_H = ui(346);
|
ADD_NODE_H = ui(400);
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog_w = ADD_NODE_W;
|
dialog_w = ADD_NODE_W;
|
||||||
|
@ -24,8 +24,11 @@ event_inherited();
|
||||||
|
|
||||||
anchor = ANCHOR.left | ANCHOR.top;
|
anchor = ANCHOR.left | ANCHOR.top;
|
||||||
|
|
||||||
page_key = ADD_NODE_PAGE == ""? NODE_CATAGORY[| 3] : ADD_NODE_PAGE;
|
function setPage(pageIndex) {
|
||||||
page = ALL_NODES[? page_key];
|
ADD_NODE_PAGE = pageIndex;
|
||||||
|
node_list = NODE_CATEGORY[| ADD_NODE_PAGE].list;
|
||||||
|
}
|
||||||
|
setPage(ADD_NODE_PAGE);
|
||||||
|
|
||||||
function buildNode(_node, _param = "") {
|
function buildNode(_node, _param = "") {
|
||||||
instance_destroy();
|
instance_destroy();
|
||||||
|
@ -36,7 +39,7 @@ event_inherited();
|
||||||
var _inputs = 0, _outputs = 0;
|
var _inputs = 0, _outputs = 0;
|
||||||
|
|
||||||
if(is_struct(_node) && instanceof(_node) == "NodeObject") {
|
if(is_struct(_node) && instanceof(_node) == "NodeObject") {
|
||||||
_new_node = _node.build(node_target_x, node_target_y, _param);
|
_new_node = _node.build(node_target_x, node_target_y,, _param);
|
||||||
if(!_new_node) return;
|
if(!_new_node) return;
|
||||||
_inputs = _new_node.inputs;
|
_inputs = _new_node.inputs;
|
||||||
_outputs = _new_node.outputs;
|
_outputs = _new_node.outputs;
|
||||||
|
@ -102,54 +105,44 @@ event_inherited();
|
||||||
|
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
var hg = ui(28);
|
var hg = ui(28);
|
||||||
var key = ds_map_find_first(ALL_NODES);
|
|
||||||
var cnt = PANEL_GRAPH.getCurrentContext();
|
var cnt = PANEL_GRAPH.getCurrentContext();
|
||||||
var context = cnt == -1? "" : instanceof(cnt);
|
var context = cnt == -1? "" : instanceof(cnt);
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(NODE_CATAGORY); i++) {
|
for(var i = 0; i < ds_list_size(NODE_CATEGORY); i++) {
|
||||||
var key = NODE_CATAGORY[| i];
|
var cat = NODE_CATEGORY[| i];
|
||||||
|
var name = cat.name;
|
||||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||||
|
|
||||||
switch(key) {
|
if(cat.filter != "") {
|
||||||
case "Group" :
|
if(context != cat.filter) {
|
||||||
if(context != "Node_Group") continue;
|
if(ADD_NODE_PAGE == i) setPage(NODE_PAGE_DEFAULT);
|
||||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
continue;
|
||||||
break;
|
}
|
||||||
case "Loop" :
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
||||||
if(context != "Node_Iterate") continue;
|
|
||||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
|
||||||
break;
|
|
||||||
case "VFX" :
|
|
||||||
if(context != "Node_VFX_Group") continue;
|
|
||||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_accent);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(key == page_key) {
|
if(i == ADD_NODE_PAGE) {
|
||||||
draw_sprite_stretched(THEME.ui_panel_bg, 0, 0, _y + hh, ui(132), hg);
|
draw_sprite_stretched(THEME.ui_panel_bg, 0, 0, _y + hh, ui(132), hg);
|
||||||
} else if(sHOVER && point_in_rectangle(_m[0], _m[1], 0, _y + hh, ui(100), _y + hh + hg - 1)) {
|
} else if(sHOVER && point_in_rectangle(_m[0], _m[1], 0, _y + hh, ui(100), _y + hh + hg - 1)) {
|
||||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y + hh + ui(3), ui(103), hg - ui(6), c_white, 0.75);
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y + hh, ui(132), hg, c_white, 0.75);
|
||||||
if(mouse_click(mb_left, sFOCUS)) {
|
if(mouse_click(mb_left, sFOCUS)) {
|
||||||
page_key = key;
|
setPage(i);
|
||||||
ADD_NODE_PAGE = key;
|
|
||||||
page = ALL_NODES[? page_key];
|
|
||||||
content_pane.scroll_y = 0;
|
content_pane.scroll_y = 0;
|
||||||
content_pane.scroll_y_to = 0;
|
content_pane.scroll_y_to = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_text(ui(8), _y + hh + hg / 2, key);
|
draw_text(ui(8), _y + hh + hg / 2, name);
|
||||||
hh += hg;
|
hh += hg;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hh;
|
return hh;
|
||||||
});
|
});
|
||||||
|
|
||||||
content_pane = new scrollPane(dialog_w - ui(144), dialog_h - ui(66), function(_y, _m) {
|
content_pane = new scrollPane(dialog_w - ui(136), dialog_h - ui(66), function(_y, _m) {
|
||||||
draw_clear_alpha(c_white, 0);
|
draw_clear_alpha(c_white, 0);
|
||||||
|
|
||||||
var nodes = page;
|
var node_count = ds_list_size(node_list);
|
||||||
var node_count = ds_list_size(nodes);
|
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
|
|
||||||
if(ADD_NODE_MODE == 0) {
|
if(ADD_NODE_MODE == 0) {
|
||||||
|
@ -167,7 +160,7 @@ event_inherited();
|
||||||
for(var j = 0; j < col; j++) {
|
for(var j = 0; j < col; j++) {
|
||||||
var index = i * col + j;
|
var index = i * col + j;
|
||||||
if(index < node_count) {
|
if(index < node_count) {
|
||||||
var _node = nodes[| index];
|
var _node = node_list[| index];
|
||||||
if(!_node) continue;
|
if(!_node) continue;
|
||||||
|
|
||||||
var _nx = grid_space + (grid_width + grid_space) * j;
|
var _nx = grid_space + (grid_width + grid_space) * j;
|
||||||
|
@ -204,7 +197,7 @@ event_inherited();
|
||||||
hh += list_height;
|
hh += list_height;
|
||||||
|
|
||||||
for(var i = 0; i < node_count; i++) {
|
for(var i = 0; i < node_count; i++) {
|
||||||
var _node = nodes[| i];
|
var _node = node_list[| i];
|
||||||
if(!_node) continue;
|
if(!_node) continue;
|
||||||
|
|
||||||
if(i % 2) {
|
if(i % 2) {
|
||||||
|
@ -242,13 +235,13 @@ event_inherited();
|
||||||
dialog_resizable = true;
|
dialog_resizable = true;
|
||||||
dialog_w_min = ui(200);
|
dialog_w_min = ui(200);
|
||||||
dialog_h_min = ui(120);
|
dialog_h_min = ui(120);
|
||||||
dialog_w_max = ui(800);
|
dialog_w_max = ui(960);
|
||||||
dialog_h_max = ui(640);
|
dialog_h_max = ui(800);
|
||||||
|
|
||||||
onResize = function() {
|
onResize = function() {
|
||||||
catagory_pane.resize(ui(132), dialog_h - ui(66));
|
catagory_pane.resize(ui(132), dialog_h - ui(66));
|
||||||
content_pane.resize(dialog_w - ui(144), dialog_h - ui(66));
|
content_pane.resize(dialog_w - ui(136), dialog_h - ui(66));
|
||||||
search_pane.resize(dialog_w - ui(40), dialog_h - ui(66));
|
search_pane.resize(dialog_w - ui(32), dialog_h - ui(66));
|
||||||
|
|
||||||
ADD_NODE_W = dialog_w;
|
ADD_NODE_W = dialog_w;
|
||||||
ADD_NODE_H = dialog_h;
|
ADD_NODE_H = dialog_h;
|
||||||
|
@ -276,18 +269,15 @@ event_inherited();
|
||||||
var context = cnt == -1? "" : instanceof(cnt);
|
var context = cnt == -1? "" : instanceof(cnt);
|
||||||
var search_lower = string_lower(search_string);
|
var search_lower = string_lower(search_string);
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(NODE_CATAGORY); i++) {
|
for(var i = 0; i < ds_list_size(NODE_CATEGORY); i++) {
|
||||||
var key = NODE_CATAGORY[| i];
|
var cat = NODE_CATEGORY[| i];
|
||||||
|
|
||||||
switch(key) {
|
if(cat.filter != "" && context != cat.filter)
|
||||||
case "Group" : if(context != "Node_Group") continue; break;
|
continue;
|
||||||
case "Loop" : if(context != "Node_Iterate") continue; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _page = ALL_NODES[? key];
|
var _content = cat.list;
|
||||||
|
for(var j = 0; j < ds_list_size(_content); j++) {
|
||||||
for(var j = 0; j < ds_list_size(_page); j++) {
|
var _node = _content[| j];
|
||||||
var _node = _page[| j];
|
|
||||||
|
|
||||||
if(!_node) continue;
|
if(!_node) continue;
|
||||||
var match = string_pos(search_lower, string_lower(_node.name)) > 0;
|
var match = string_pos(search_lower, string_lower(_node.name)) > 0;
|
||||||
|
@ -307,7 +297,7 @@ event_inherited();
|
||||||
searchCollection(search_list, search_string, false);
|
searchCollection(search_list, search_string, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
search_pane = new scrollPane(dialog_w - ui(40), dialog_h - ui(66), function(_y, _m) {
|
search_pane = new scrollPane(dialog_w - ui(32), dialog_h - ui(66), function(_y, _m) {
|
||||||
draw_clear_alpha(c_white, 0);
|
draw_clear_alpha(c_white, 0);
|
||||||
|
|
||||||
var amo = ds_list_size(search_list);
|
var amo = ds_list_size(search_list);
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/// @description init
|
/// @description init
|
||||||
#region pos
|
#region pos
|
||||||
var hght = line_height(f_p0, 8);
|
var hght = line_height(f_p0, 8);
|
||||||
var hh = array_length(scrollbox.data_list) * hght;
|
var hh = array_length(scrollbox.data) * hght;
|
||||||
|
|
||||||
dialog_h = hh;
|
dialog_h = min(max_h, hh);
|
||||||
|
sc_content.resize(dialog_w, dialog_h);
|
||||||
#endregion
|
#endregion
|
||||||
event_inherited();
|
event_inherited();
|
|
@ -2,6 +2,7 @@
|
||||||
event_inherited();
|
event_inherited();
|
||||||
|
|
||||||
#region
|
#region
|
||||||
|
max_h = 640;
|
||||||
align = fa_center;
|
align = fa_center;
|
||||||
draggable = false;
|
draggable = false;
|
||||||
destroy_on_click_out = true;
|
destroy_on_click_out = true;
|
||||||
|
@ -9,4 +10,33 @@ event_inherited();
|
||||||
scrollbox = noone;
|
scrollbox = noone;
|
||||||
|
|
||||||
anchor = ANCHOR.top | ANCHOR.left;
|
anchor = ANCHOR.top | ANCHOR.left;
|
||||||
|
|
||||||
|
sc_content = new scrollPane(0, 0, function(_y, _m) {
|
||||||
|
draw_clear_alpha(COLORS.panel_bg_clear, 0);
|
||||||
|
var hght = line_height(f_p0, 8);
|
||||||
|
var data = scrollbox.data;
|
||||||
|
var _h = array_length(data) * hght;
|
||||||
|
var _dw = sc_content.surface_w;
|
||||||
|
|
||||||
|
for(var i = 0; i < array_length(data); i++) {
|
||||||
|
var _ly = _y + i * hght;
|
||||||
|
|
||||||
|
if(sHOVER && point_in_rectangle(_m[0], _m[1], 0, _ly + 1, _dw, _ly + hght - 1)) {
|
||||||
|
draw_sprite_stretched_ext(THEME.textbox, 3, 0, _ly, _dw, hght, COLORS.dialog_menubox_highlight, 1);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS)) {
|
||||||
|
scrollbox.onModify(i);
|
||||||
|
instance_destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_set_text(f_p0, align, fa_center, COLORS._main_text);
|
||||||
|
if(align == fa_center)
|
||||||
|
draw_text_cut(_dw / 2, _ly + hght / 2, data[i], _dw);
|
||||||
|
else if(align == fa_left)
|
||||||
|
draw_text_cut(ui(8), _ly + hght / 2, data[i], _dw);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _h;
|
||||||
|
});
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -1,25 +1,6 @@
|
||||||
/// @description init
|
/// @description init
|
||||||
#region draw
|
#region draw
|
||||||
var hght = line_height(f_p0, 8);
|
|
||||||
|
|
||||||
draw_sprite_stretched(THEME.textbox, 1, dialog_x, dialog_y, dialog_w, dialog_h);
|
draw_sprite_stretched(THEME.textbox, 1, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||||
|
sc_content.active = sHOVER;
|
||||||
for(var i = 0; i < array_length(scrollbox.data_list); i++) {
|
sc_content.draw(dialog_x, dialog_y);
|
||||||
var _ly = dialog_y + i * hght;
|
|
||||||
|
|
||||||
if(sHOVER && point_in_rectangle(mouse_mx, mouse_my, dialog_x, _ly + 1, dialog_x + dialog_w, _ly + hght - 1)) {
|
|
||||||
draw_sprite_stretched_ext(THEME.textbox, 3, dialog_x, _ly, dialog_w, hght, COLORS.dialog_menubox_highlight, 1);
|
|
||||||
|
|
||||||
if(mouse_press(mb_left, sFOCUS)) {
|
|
||||||
scrollbox.onModify(i);
|
|
||||||
instance_destroy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
draw_set_text(f_p0, align, fa_center, COLORS._main_text);
|
|
||||||
if(align == fa_center)
|
|
||||||
draw_text(dialog_x + dialog_w / 2, _ly + hght / 2, scrollbox.data_list[i]);
|
|
||||||
else if(align == fa_left)
|
|
||||||
draw_text(dialog_x + ui(8), _ly + hght / 2, scrollbox.data_list[i]);
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
|
@ -14,7 +14,7 @@ event_inherited();
|
||||||
var y0 = dialog_y + ui(128);
|
var y0 = dialog_y + ui(128);
|
||||||
var y1 = dialog_y + dialog_h - ui(16);
|
var y1 = dialog_y + dialog_h - ui(16);
|
||||||
|
|
||||||
sp_recent = new scrollPane(x1 - x0 - ui(12), y1 - y0, function(_y, _m) {
|
sp_recent = new scrollPane(x1 - x0 - ui(8), y1 - y0, function(_y, _m) {
|
||||||
draw_clear_alpha(COLORS.panel_bg_clear_inner, 0);
|
draw_clear_alpha(COLORS.panel_bg_clear_inner, 0);
|
||||||
var ww = sp_recent.surface_w - ui(2);
|
var ww = sp_recent.surface_w - ui(2);
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
|
@ -54,7 +54,7 @@ event_inherited();
|
||||||
x0 = x1 + ui(16);
|
x0 = x1 + ui(16);
|
||||||
x1 = dialog_x + dialog_w - ui(16);
|
x1 = dialog_x + dialog_w - ui(16);
|
||||||
|
|
||||||
sp_sample = new scrollPane(x1 - x0 - ui(12), y1 - y0, function(_y, _m) {
|
sp_sample = new scrollPane(x1 - x0 - ui(8), y1 - y0, function(_y, _m) {
|
||||||
draw_clear_alpha(COLORS.panel_bg_clear_inner, 0);
|
draw_clear_alpha(COLORS.panel_bg_clear_inner, 0);
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
var grid_heigh = ui(96);
|
var grid_heigh = ui(96);
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/// @description file drop
|
/// @description file drop
|
||||||
#region drop
|
#region drop
|
||||||
PANEL_GRAPH.stepBegin();
|
PANEL_GRAPH.stepBegin();
|
||||||
|
|
||||||
if(PANEL_GRAPH.dropFile(file_dropping)) {
|
|
||||||
Render(false);
|
|
||||||
} else
|
|
||||||
load_file_path(file_dropping, true);
|
|
||||||
file_dropping = "";
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -59,47 +59,43 @@
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region file drop
|
#region file drop
|
||||||
file_dnd_set_hwnd(window_handle());
|
file_dropper_init();
|
||||||
file_dnd_set_enabled(true);
|
drop_path = [];
|
||||||
file_dnd_filelist = "";
|
|
||||||
file_dropping = "";
|
|
||||||
file_dnd_pattern = "*.*";
|
|
||||||
file_dnd_allowfiles = true;
|
|
||||||
file_dnd_allowdirs = true;
|
|
||||||
file_dnd_allowmulti = true;
|
|
||||||
|
|
||||||
function load_file_path(path, _new = false) {
|
function load_file_path(path) {
|
||||||
if(string_pos("\n", path) == 1) path = string_replace(path, "\n", "");
|
if(array_length(path) == 0) return;
|
||||||
|
var is_multi = array_length(path) > 1 || directory_exists(path[0]);
|
||||||
var is_multi = string_pos("\n", path) != 0 || directory_exists(path);
|
|
||||||
|
|
||||||
if(is_multi) {
|
if(is_multi) {
|
||||||
with(dialogCall(o_dialog_add_multiple_images, WIN_W / 2, WIN_H / 2)) {
|
with(dialogCall(o_dialog_add_multiple_images, WIN_W / 2, WIN_H / 2)) {
|
||||||
setPath(path);
|
setPath(path);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
PANEL_GRAPH.stepBegin();
|
PANEL_GRAPH.onStepBegin();
|
||||||
|
path = path[0];
|
||||||
var ext = filename_ext(path);
|
var ext = filename_ext(path);
|
||||||
|
var node = noone;
|
||||||
|
|
||||||
switch(ext) {
|
switch(ext) {
|
||||||
case ".png" :
|
case ".png" :
|
||||||
case ".jpg" :
|
case ".jpg" :
|
||||||
case ".jpeg" :
|
case ".jpeg" :
|
||||||
Node_create_Image_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
node = Node_create_Image_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
||||||
break;
|
break;
|
||||||
case ".gif" :
|
case ".gif" :
|
||||||
Node_create_Image_gif_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
node = Node_create_Image_gif_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
||||||
break;
|
break;
|
||||||
case ".obj" :
|
case ".obj" :
|
||||||
Node_create_3D_Obj_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
node = Node_create_3D_Obj_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
||||||
break;
|
break;
|
||||||
case ".json" :
|
case ".json" :
|
||||||
case ".pxc" :
|
case ".pxc" :
|
||||||
if(_new) NEW();
|
|
||||||
LOAD_PATH(path);
|
LOAD_PATH(path);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
PANEL_GRAPH.fullView();
|
|
||||||
|
if(node)
|
||||||
|
PANEL_GRAPH.toCenterNode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
__initCollection();
|
__initCollection();
|
||||||
__initAssets();
|
__initAssets();
|
||||||
__initPresets();
|
__initPresets();
|
||||||
|
__initFontFolder();
|
||||||
|
|
||||||
PREF_LOAD();
|
PREF_LOAD();
|
||||||
loadFonts();
|
loadFonts();
|
||||||
|
|
5
objects/o_main/Other_75.gml
Normal file
5
objects/o_main/Other_75.gml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
/// @description
|
||||||
|
if(async_load[?"event_type"] == "file_drop") {
|
||||||
|
dropping = async_load[?"filename"];
|
||||||
|
array_push(drop_path, dropping);
|
||||||
|
}
|
|
@ -87,20 +87,9 @@
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region file drop
|
#region file drop
|
||||||
file_dnd_set_files(file_dnd_pattern, file_dnd_allowfiles, file_dnd_allowdirs, file_dnd_allowmulti);
|
if(array_length(drop_path)) {
|
||||||
file_dnd_filelist = file_dnd_get_files();
|
load_file_path(drop_path);
|
||||||
|
drop_path = [];
|
||||||
file_dnd_set_enabled(true);
|
|
||||||
|
|
||||||
if(file_dnd_filelist != "" && file_dnd_filelist != 0) {
|
|
||||||
file_dropping = file_dnd_filelist;
|
|
||||||
if(string_pos("\n", file_dropping) == 1)
|
|
||||||
file_dropping = string_replace(file_dropping, "\n", "");
|
|
||||||
|
|
||||||
alarm[3] = 2;
|
|
||||||
|
|
||||||
file_dnd_set_enabled(false);
|
|
||||||
file_dnd_filelist = "";
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,11 @@
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region nodes
|
#region nodes
|
||||||
for(var i = 0; i < ds_list_size(NODES); i++) {
|
var _k = ds_map_find_first(NODE_MAP);
|
||||||
NODES[| i].stepBegin();
|
var _a = ds_map_size(NODE_MAP);
|
||||||
|
repeat(_a) {
|
||||||
|
NODE_MAP[? _k].stepBegin();
|
||||||
|
_k = ds_map_find_next(NODE_MAP, _k);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(UPDATE & RENDER_TYPE.full)
|
if(UPDATE & RENDER_TYPE.full)
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":3,"eventType":7,"collisionObjectId":null,},
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":3,"eventType":7,"collisionObjectId":null,},
|
||||||
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":1,"eventType":5,"collisionObjectId":null,},
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":1,"eventType":5,"collisionObjectId":null,},
|
||||||
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":1,"eventType":10,"collisionObjectId":null,},
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":1,"eventType":10,"collisionObjectId":null,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":75,"eventType":7,"collisionObjectId":null,},
|
||||||
],
|
],
|
||||||
"properties": [],
|
"properties": [],
|
||||||
"overriddenProperties": [],
|
"overriddenProperties": [],
|
||||||
|
|
9
options/extensions/file_dropper.json
Normal file
9
options/extensions/file_dropper.json
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"extensionId": {
|
||||||
|
"name": "file_dropper",
|
||||||
|
"path": "extensions/file_dropper/file_dropper.yy"
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"resourceType": "GMExtensionConfigSet",
|
||||||
|
"configurables": null
|
||||||
|
}
|
|
@ -9,8 +9,9 @@ enum PARTICLE_BLEND_MODE {
|
||||||
additive
|
additive
|
||||||
}
|
}
|
||||||
|
|
||||||
function __part() constructor {
|
function __part(_node) constructor {
|
||||||
seed = irandom(99999);
|
seed = irandom(99999);
|
||||||
|
node = _node;
|
||||||
active = false;
|
active = false;
|
||||||
surf = noone;
|
surf = noone;
|
||||||
x = 0;
|
x = 0;
|
||||||
|
@ -44,6 +45,7 @@ function __part() constructor {
|
||||||
|
|
||||||
life = 0;
|
life = 0;
|
||||||
life_total = 0;
|
life_total = 0;
|
||||||
|
step_int = 0;
|
||||||
|
|
||||||
anim_speed = 1;
|
anim_speed = 1;
|
||||||
anim_end = ANIM_END_ACTION.loop;
|
anim_end = ANIM_END_ACTION.loop;
|
||||||
|
@ -57,6 +59,7 @@ function __part() constructor {
|
||||||
|
|
||||||
life = _life;
|
life = _life;
|
||||||
life_total = life;
|
life_total = life;
|
||||||
|
node.onPartCreate(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPhysic(_sx, _sy, _ac, _g, _wig) {
|
function setPhysic(_sx, _sy, _ac, _g, _wig) {
|
||||||
|
@ -85,6 +88,7 @@ function __part() constructor {
|
||||||
|
|
||||||
function kill() {
|
function kill() {
|
||||||
active = false;
|
active = false;
|
||||||
|
node.onPartDestroy(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
static step = function() {
|
static step = function() {
|
||||||
|
@ -116,6 +120,8 @@ function __part() constructor {
|
||||||
rot += rot_s;
|
rot += rot_s;
|
||||||
alp_draw = alp * eval_bezier_cubic(1 - life / life_total, alp_fade[0], alp_fade[1], alp_fade[2], alp_fade[3]);
|
alp_draw = alp * eval_bezier_cubic(1 - life / life_total, alp_fade[0], alp_fade[1], alp_fade[2], alp_fade[3]);
|
||||||
|
|
||||||
|
if(step_int > 0 && safe_mod(life, step_int) == 0)
|
||||||
|
node.onPartStep(self);
|
||||||
if(life-- < 0) kill();
|
if(life-- < 0) kill();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/* Backup
|
/* Backup
|
||||||
function Node_create_VFX(_x, _y) {
|
|
||||||
var node = new Node_VFX(_x, _y);
|
|
||||||
//ds_list_add(PANEL_GRAPH.nodes_list, node);
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
name = "VFX";
|
name = "VFX";
|
||||||
auto_update = false;
|
auto_update = false;
|
||||||
|
@ -239,7 +233,7 @@ function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
if(!_loop) return;
|
if(!_loop) return;
|
||||||
|
|
||||||
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
||||||
runFrame(i);
|
runVFX(i);
|
||||||
|
|
||||||
seed = seed_origin;
|
seed = seed_origin;
|
||||||
}
|
}
|
||||||
|
@ -267,7 +261,7 @@ function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static runFrame = function(_time = ANIMATOR.current_frame) {
|
static runVFX = function(_time = ANIMATOR.current_frame) {
|
||||||
var _spawn_delay = inputs[| 2].getValue(_time);
|
var _spawn_delay = inputs[| 2].getValue(_time);
|
||||||
var _spawn_type = inputs[| 17].getValue(_time);
|
var _spawn_type = inputs[| 17].getValue(_time);
|
||||||
|
|
||||||
|
@ -321,9 +315,9 @@ function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
|
||||||
if(ANIMATOR.current_frame == 0) {
|
if(ANIMATOR.current_frame == 0) {
|
||||||
reset();
|
reset();
|
||||||
runFrame(ANIMATOR.current_frame);
|
runVFX(ANIMATOR.current_frame);
|
||||||
} else if(cached_output[ANIMATOR.current_frame - 1] != 0) {
|
} else if(cached_output[ANIMATOR.current_frame - 1] != 0) {
|
||||||
runFrame(ANIMATOR.current_frame);
|
runVFX(ANIMATOR.current_frame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
320
scripts/_node_VFX_spawner/_node_VFX_spawner.gml
Normal file
320
scripts/_node_VFX_spawner/_node_VFX_spawner.gml
Normal file
|
@ -0,0 +1,320 @@
|
||||||
|
function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Spawner";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0)
|
||||||
|
.setDisplay(noone, "particles");
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue(1, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
||||||
|
inputs[| 2] = nodeValue(2, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
||||||
|
inputs[| 3] = nodeValue(3, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
||||||
|
|
||||||
|
inputs[| 4] = nodeValue(4, "Spawn distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]);
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue(5, "Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue(6, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
inputs[| 7] = nodeValue(7, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 8] = nodeValue(8, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0])
|
||||||
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
|
||||||
|
inputs[| 9] = nodeValue(9, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 10] = nodeValue(10, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
|
inputs[| 11] = nodeValue(11, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 12] = nodeValue(12, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
||||||
|
.setDisplay(VALUE_DISPLAY.gradient);
|
||||||
|
inputs[| 13] = nodeValue(13, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
inputs[| 14] = nodeValue(14, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [1, 1, 1, 1]);
|
||||||
|
|
||||||
|
inputs[| 15] = nodeValue(15, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
|
inputs[| 16] = nodeValue(16, "Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]);
|
||||||
|
|
||||||
|
inputs[| 17] = nodeValue(17, "Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 18] = nodeValue(18, "Spawn velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [1, 2] )
|
||||||
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
inputs[| 19] = nodeValue(19, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
inputs[| 20] = nodeValue(20, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
|
inputs[| 21] = nodeValue(21, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
|
inputs[| 22] = nodeValue(22, "Surface array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation" ])
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 23] = nodeValue(23, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 )
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 24] = nodeValue(24, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]);
|
||||||
|
|
||||||
|
inputs[| 25] = nodeValue(25, "Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [])
|
||||||
|
.setVisible(false, true);
|
||||||
|
|
||||||
|
inputs[| 26] = nodeValue(26, "On animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, ANIM_END_ACTION.loop)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Loop", "Ping pong", "Destroy" ])
|
||||||
|
.setVisible(false);
|
||||||
|
|
||||||
|
inputs[| 27] = nodeValue(27, "Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||||
|
input_len = ds_list_size(inputs);
|
||||||
|
|
||||||
|
input_display_list = [
|
||||||
|
["Sprite", false], 0, 22, 23, 26,
|
||||||
|
["Spawn", true], 27, 16, 1, 2, 3, 4, 24, 25, 5,
|
||||||
|
["Movement", true], 6, 18, 7,
|
||||||
|
["Physics", true], 19, 20,
|
||||||
|
["Rotation", true], 15, 8, 9,
|
||||||
|
["Scale", true], 10, 17, 11,
|
||||||
|
["Color", true], 12, 13, 14,
|
||||||
|
["Render", true], 21
|
||||||
|
];
|
||||||
|
|
||||||
|
parts = ds_list_create();
|
||||||
|
|
||||||
|
seed_origin = irandom(9999999);
|
||||||
|
seed = seed_origin;
|
||||||
|
spawn_index = 0;
|
||||||
|
def_surface = -1;
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
||||||
|
ds_list_add(parts, new __part(self));
|
||||||
|
|
||||||
|
static spawn = function(_time = ANIMATOR.current_frame, _pos = -1) {
|
||||||
|
random_set_seed(seed++);
|
||||||
|
|
||||||
|
var _inSurf = inputs[| 0].getValue(_time);
|
||||||
|
|
||||||
|
if(_inSurf == 0) {
|
||||||
|
if(def_surface == -1 || !surface_exists(def_surface)) {
|
||||||
|
def_surface = PIXEL_SURFACE;
|
||||||
|
surface_set_target(def_surface);
|
||||||
|
draw_clear(c_white);
|
||||||
|
surface_reset_target();
|
||||||
|
}
|
||||||
|
_inSurf = def_surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _spawn_amount = inputs[| 2].getValue(_time);
|
||||||
|
var _amo = _spawn_amount;
|
||||||
|
|
||||||
|
var _spawn_area = inputs[| 3].getValue(_time);
|
||||||
|
var _distrib = inputs[| 4].getValue(_time);
|
||||||
|
var _scatter = inputs[| 24].getValue(_time);
|
||||||
|
|
||||||
|
var _life = inputs[| 5].getValue(_time);
|
||||||
|
var _direction = inputs[| 6].getValue(_time);
|
||||||
|
var _velocity = inputs[| 18].getValue(_time);
|
||||||
|
|
||||||
|
var _accel = inputs[| 7].getValue(_time);
|
||||||
|
var _grav = inputs[| 19].getValue(_time);
|
||||||
|
var _wigg = inputs[| 20].getValue(_time);
|
||||||
|
|
||||||
|
var _follow = inputs[| 15].getValue(_time);
|
||||||
|
var _rotation = inputs[| 8].getValue(_time);
|
||||||
|
var _rotation_speed = inputs[| 9].getValue(_time);
|
||||||
|
var _scale = inputs[| 10].getValue(_time);
|
||||||
|
var _size = inputs[| 17].getValue(_time);
|
||||||
|
var _scale_speed = inputs[| 11].getValue(_time);
|
||||||
|
|
||||||
|
var _color = inputs[| 12].getValue(_time);
|
||||||
|
var _alpha = inputs[| 13].getValue(_time);
|
||||||
|
var _fade = inputs[| 14].getValue(_time);
|
||||||
|
|
||||||
|
var _arr_type = inputs[| 22].getValue(_time);
|
||||||
|
var _anim_speed = inputs[| 23].getValue(_time);
|
||||||
|
var _anim_end = inputs[| 26].getValue(_time);
|
||||||
|
|
||||||
|
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
||||||
|
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
||||||
|
if(parts[| i].active) continue;
|
||||||
|
|
||||||
|
var _spr = _inSurf, _index = 0;
|
||||||
|
if(is_array(_inSurf)) {
|
||||||
|
if(_arr_type == 0) {
|
||||||
|
_index = irandom(array_length(_inSurf) - 1);
|
||||||
|
_spr = _inSurf[_index];
|
||||||
|
} else if(_arr_type == 1) {
|
||||||
|
_index = safe_mod(spawn_index, array_length(_inSurf));
|
||||||
|
_spr = _inSurf[_index];
|
||||||
|
} else if(_arr_type == 2)
|
||||||
|
_spr = _inSurf;
|
||||||
|
}
|
||||||
|
var xx = 0;
|
||||||
|
var yy = 0;
|
||||||
|
|
||||||
|
if(_pos == -1) {
|
||||||
|
if(_scatter == 2) {
|
||||||
|
var _b_data = inputs[| 25].getValue(_time);
|
||||||
|
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
||||||
|
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
||||||
|
if(!is_array(_b) || array_length(_b) != 4) return;
|
||||||
|
|
||||||
|
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
||||||
|
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
||||||
|
|
||||||
|
parts[| i].boundary_data = _b;
|
||||||
|
} else {
|
||||||
|
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount);
|
||||||
|
xx = sp[0];
|
||||||
|
yy = sp[1];
|
||||||
|
|
||||||
|
parts[| i].boundary_data = -1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
xx = _pos[0];
|
||||||
|
yy = _pos[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
var _lif = irandom_range(_life[0], _life[1]);
|
||||||
|
|
||||||
|
var _rot = random_range(_rotation[0], _rotation[1]);
|
||||||
|
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
||||||
|
|
||||||
|
var _dirr = random_range(_direction[0], _direction[1]);
|
||||||
|
|
||||||
|
var _velo = random_range(_velocity[0], _velocity[1]);
|
||||||
|
var _vx = lengthdir_x(_velo, _dirr);
|
||||||
|
var _vy = lengthdir_y(_velo, _dirr);
|
||||||
|
var _acc = random_range(_accel[0], _accel[1]);
|
||||||
|
|
||||||
|
var _ss = random_range(_size[0], _size[1]);
|
||||||
|
var _scx = random_range(_scale[0], _scale[1]) * _ss;
|
||||||
|
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
||||||
|
|
||||||
|
var _alp = random_range(_alpha[0], _alpha[1]);
|
||||||
|
|
||||||
|
parts[| i].create(_spr, xx, yy, _lif);
|
||||||
|
parts[| i].anim_speed = _anim_speed;
|
||||||
|
parts[| i].anim_end = _anim_end;
|
||||||
|
|
||||||
|
parts[| i].setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
||||||
|
parts[| i].setTransform(_scx, _scy, _scale_speed[0], _scale_speed[1], _rot, _rot_spd, _follow);
|
||||||
|
parts[| i].setDraw(_color, _alp, _fade);
|
||||||
|
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
||||||
|
onSpawn(_time, parts[| i]);
|
||||||
|
|
||||||
|
if(--_amo <= 0) return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static onSpawn = function(_time, part) {}
|
||||||
|
|
||||||
|
function reset() {
|
||||||
|
spawn_index = 0;
|
||||||
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
||||||
|
parts[| i].kill();
|
||||||
|
}
|
||||||
|
render();
|
||||||
|
seed = seed_origin;
|
||||||
|
|
||||||
|
var _loop = inputs[| 21].getValue();
|
||||||
|
if(!_loop) return;
|
||||||
|
|
||||||
|
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
||||||
|
runVFX(i);
|
||||||
|
|
||||||
|
seed = seed_origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkPartPool() {
|
||||||
|
var _part_amo = PREF_MAP[? "part_max_amount"];
|
||||||
|
var _curr_amo = ds_list_size(parts);
|
||||||
|
|
||||||
|
if(_part_amo > _curr_amo) {
|
||||||
|
repeat(_part_amo - _curr_amo)
|
||||||
|
ds_list_add(parts, new __part(self));
|
||||||
|
} else if(_part_amo < _curr_amo) {
|
||||||
|
repeat(_curr_amo - _part_amo)
|
||||||
|
ds_list_delete(parts, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static runVFX = function(_time = ANIMATOR.current_frame) {
|
||||||
|
var _spawn_delay = inputs[| 1].getValue(_time);
|
||||||
|
var _spawn_type = inputs[| 16].getValue(_time);
|
||||||
|
var _spawn_active = inputs[| 27].getValue(_time);
|
||||||
|
|
||||||
|
if(_spawn_active) {
|
||||||
|
switch(_spawn_type) {
|
||||||
|
case 0 :
|
||||||
|
if(safe_mod(_time, _spawn_delay) == 0)
|
||||||
|
spawn(_time);
|
||||||
|
break;
|
||||||
|
case 1 :
|
||||||
|
if(_time == _spawn_delay)
|
||||||
|
spawn(_time);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(var i = 0; i < ds_list_size(parts); i++)
|
||||||
|
parts[| i].step();
|
||||||
|
triggerRender();
|
||||||
|
render(_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
static step = function() {
|
||||||
|
var _inSurf = inputs[| 0].getValue();
|
||||||
|
var _scatt = inputs[| 24].getValue();
|
||||||
|
|
||||||
|
inputs[| 22].setVisible(false);
|
||||||
|
inputs[| 23].setVisible(false);
|
||||||
|
inputs[| 25].setVisible(_scatt == 2);
|
||||||
|
|
||||||
|
if(is_array(_inSurf)) {
|
||||||
|
inputs[| 22].setVisible(true);
|
||||||
|
var _type = inputs[| 22].getValue();
|
||||||
|
if(_type == 2) {
|
||||||
|
inputs[| 23].setVisible(true);
|
||||||
|
inputs[| 26].setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
checkPartPool();
|
||||||
|
var _spawn_type = inputs[| 16].getValue();
|
||||||
|
if(_spawn_type == 0) inputs[| 1].name = "Spawn delay";
|
||||||
|
else inputs[| 1].name = "Spawn frame";
|
||||||
|
|
||||||
|
onStep();
|
||||||
|
}
|
||||||
|
|
||||||
|
static onStep = function() {
|
||||||
|
if(!ANIMATOR.frame_progress) return;
|
||||||
|
if(!ANIMATOR.is_playing) return;
|
||||||
|
|
||||||
|
if(ANIMATOR.current_frame == 0)
|
||||||
|
reset();
|
||||||
|
runVFX(ANIMATOR.current_frame);
|
||||||
|
}
|
||||||
|
|
||||||
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
|
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
if(onDrawOverlay != -1)
|
||||||
|
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawOverlay = -1;
|
||||||
|
|
||||||
|
static update = function() {}
|
||||||
|
static render = function() {}
|
||||||
|
|
||||||
|
static onPartCreate = function(part) {}
|
||||||
|
static onPartStep = function(part) {}
|
||||||
|
static onPartDestroy = function(part) {}
|
||||||
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "node_character",
|
"name": "_node_VFX_spawner",
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "number",
|
"name": "VFX",
|
||||||
"path": "folders/nodes/data/number.yy",
|
"path": "folders/nodes/data/VFX.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -41,3 +41,11 @@ function array_merge() {
|
||||||
|
|
||||||
return arr;
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function array_clone(arr) {
|
||||||
|
var _res = array_create(array_length(arr));
|
||||||
|
for( var i = 0; i < array_length(arr); i++ ) {
|
||||||
|
_res[i] = arr[i];
|
||||||
|
}
|
||||||
|
return _res;
|
||||||
|
}
|
|
@ -6,7 +6,8 @@ function buttonClass(_onClick) constructor {
|
||||||
active = false;
|
active = false;
|
||||||
hover = false;
|
hover = false;
|
||||||
|
|
||||||
icon = noone;
|
icon = noone;
|
||||||
|
icon_blend = c_white;
|
||||||
icon_index = 0;
|
icon_index = 0;
|
||||||
|
|
||||||
text = "";
|
text = "";
|
||||||
|
@ -14,8 +15,10 @@ function buttonClass(_onClick) constructor {
|
||||||
|
|
||||||
onClick = _onClick;
|
onClick = _onClick;
|
||||||
|
|
||||||
static setIcon = function(_icon, _index = 0) {
|
static setIcon = function(_icon, _index = 0, _blend = c_white) {
|
||||||
icon = _icon; icon_index = _index
|
icon = _icon;
|
||||||
|
icon_index = _index;
|
||||||
|
icon_blend = _blend;
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +46,7 @@ function buttonClass(_onClick) constructor {
|
||||||
} else {
|
} else {
|
||||||
draw_sprite_stretched_ext(spr, 0, _x, _y, _w, _h, blend, 1);
|
draw_sprite_stretched_ext(spr, 0, _x, _y, _w, _h, blend, 1);
|
||||||
}
|
}
|
||||||
if(icon) draw_sprite_ui_uniform(icon, icon_index, _x + _w / 2, _y + _h / 2);
|
if(icon) draw_sprite_ui_uniform(icon, icon_index, _x + _w / 2, _y + _h / 2,, icon_blend);
|
||||||
if(text != "") {
|
if(text != "") {
|
||||||
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
||||||
draw_text(_x + _w / 2, _y + _h / 2, text);
|
draw_text(_x + _w / 2, _y + _h / 2, text);
|
||||||
|
|
|
@ -109,8 +109,8 @@ function draw_line_elbow_color(x0, y0, x1, y1, thick, col1, col2, type = LINE_ST
|
||||||
draw_line_width_color(cx, y0 - thick / 2, cx, y1 + thick / 2, thick, cm, cm);
|
draw_line_width_color(cx, y0 - thick / 2, cx, y1 + thick / 2, thick, cm, cm);
|
||||||
draw_line_width_color(cx, y1, x1, y1, thick, cm, col2);
|
draw_line_width_color(cx, y1, x1, y1, thick, cm, col2);
|
||||||
} else {
|
} else {
|
||||||
draw_line_dashed(x0, y0, cx, y0, thick, col1, cm, 12);
|
draw_line_dashed_color(x0, y0, cx, y0, thick, col1, cm, 12);
|
||||||
draw_line_dashed(cx, y0 - thick / 2, cx, y1 + thick / 2, thick, cm, cm, 12);
|
draw_line_dashed_color(cx, y0 - thick / 2, cx, y1 + thick / 2, thick, cm, cm, 12);
|
||||||
draw_line_dashed(cx, y1, x1, y1, thick, cm, col2, 12);
|
draw_line_dashed_color(cx, y1, x1, y1, thick, cm, col2, 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,28 @@
|
||||||
function draw_line_dashed(x0, y0, x1, y1, th, c0, c1, dash_distance = 8) {
|
function draw_line_dashed(x0, y0, x1, y1, th, dash_distance = 8) {
|
||||||
|
var dis = point_distance(x0, y0, x1, y1);
|
||||||
|
var dir = point_direction(x0, y0, x1, y1);
|
||||||
|
var part = ceil(dis / dash_distance);
|
||||||
|
|
||||||
|
var dx = lengthdir_x(1, dir);
|
||||||
|
var dy = lengthdir_y(1, dir);
|
||||||
|
|
||||||
|
var ox, oy, nx, ny;
|
||||||
|
var dd = 0;
|
||||||
|
|
||||||
|
for( var i = 0; i <= part; i++ ) {
|
||||||
|
dd = min(dis, i * dash_distance);
|
||||||
|
nx = x0 + dx * dd;
|
||||||
|
ny = y0 + dy * dd;
|
||||||
|
|
||||||
|
if(i && i % 2)
|
||||||
|
draw_line_width(ox, oy, nx, ny, th);
|
||||||
|
|
||||||
|
ox = nx;
|
||||||
|
oy = ny;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw_line_dashed_color(x0, y0, x1, y1, th, c0, c1, dash_distance = 8) {
|
||||||
var dis = point_distance(x0, y0, x1, y1);
|
var dis = point_distance(x0, y0, x1, y1);
|
||||||
var dir = point_direction(x0, y0, x1, y1);
|
var dir = point_direction(x0, y0, x1, y1);
|
||||||
var part = ceil(dis / dash_distance);
|
var part = ceil(dis / dash_distance);
|
||||||
|
|
67
scripts/draw_shapes/draw_shapes.gml
Normal file
67
scripts/draw_shapes/draw_shapes.gml
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
function draw_rectangle_width(x0, y0, x1, y1, th = 1) {
|
||||||
|
draw_line_width(x0 - th / 2, y0, x1 + th / 2, y0, th);
|
||||||
|
draw_line_width(x0 - th / 2, y1, x1 + th / 2, y1, th);
|
||||||
|
|
||||||
|
draw_line_width(x0, y0 - th / 2, x0, y1 + th / 2, th);
|
||||||
|
draw_line_width(x1, y0 - th / 2, x1, y1 + th / 2, th);
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw_rectangle_dashed(x0, y0, x1, y1, th = 1, dash = 8) {
|
||||||
|
draw_line_dashed(x0 - th / 2, y0, x1 + th / 2, y0, th, dash);
|
||||||
|
draw_line_dashed(x0 - th / 2, y1, x1 + th / 2, y1, th, dash);
|
||||||
|
|
||||||
|
draw_line_dashed(x0, y0 - th / 2, x0, y1 + th / 2, th, dash);
|
||||||
|
draw_line_dashed(x1, y0 - th / 2, x1, y1 + th / 2, th, dash);
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw_ellipse_width(x0, y0, x1, y1, th = 1) {
|
||||||
|
var cx = (x0 + x1) / 2;
|
||||||
|
var cy = (y0 + y1) / 2;
|
||||||
|
var ww = abs(x0 - x1) / 2;
|
||||||
|
var hh = abs(y0 - y1) / 2;
|
||||||
|
|
||||||
|
var samp = 32;
|
||||||
|
var ox, oy, nx, ny;
|
||||||
|
|
||||||
|
for( var i = 0; i < samp; i++ ) {
|
||||||
|
nx = cx + lengthdir_x(ww, i * 360 / samp);
|
||||||
|
ny = cy + lengthdir_y(hh, i * 360 / samp);
|
||||||
|
|
||||||
|
if(i)
|
||||||
|
draw_line_width(ox, oy, nx, ny, th);
|
||||||
|
|
||||||
|
ox = nx;
|
||||||
|
oy = ny;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function draw_ellipse_dash(x0, y0, x1, y1, th = 1, dash = 8) {
|
||||||
|
var cx = (x0 + x1) / 2;
|
||||||
|
var cy = (y0 + y1) / 2;
|
||||||
|
var ww = abs(x0 - x1) / 2;
|
||||||
|
var hh = abs(y0 - y1) / 2;
|
||||||
|
var rd = max(ww, hh);
|
||||||
|
|
||||||
|
var dash_dist = 0, is_dash = true;
|
||||||
|
var samp = 64;
|
||||||
|
var ox, oy, nx, ny;
|
||||||
|
|
||||||
|
for( var i = 0; i < samp; i++ ) {
|
||||||
|
nx = cx + lengthdir_x(ww, i * 360 / samp);
|
||||||
|
ny = cy + lengthdir_y(hh, i * 360 / samp);
|
||||||
|
|
||||||
|
if(i) {
|
||||||
|
dash_dist += point_distance(ox, oy, nx, ny);
|
||||||
|
if(dash_dist >= dash) {
|
||||||
|
dash_dist -= dash;
|
||||||
|
is_dash = !is_dash;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_dash)
|
||||||
|
draw_line_width(ox, oy, nx, ny, th);
|
||||||
|
}
|
||||||
|
|
||||||
|
ox = nx;
|
||||||
|
oy = ny;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/draw_shapes/draw_shapes.yy
Normal file
11
scripts/draw_shapes/draw_shapes.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_shapes",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "draw",
|
||||||
|
"path": "folders/functions/draw.yy",
|
||||||
|
},
|
||||||
|
}
|
19
scripts/draw_surface_functions/draw_surface_functions.gml
Normal file
19
scripts/draw_surface_functions/draw_surface_functions.gml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
function draw_surface_align(surface, _x, _y, _s, _halign = fa_left, _valign = fa_top) {
|
||||||
|
var w = surface_get_width(surface) * _s;
|
||||||
|
var h = surface_get_height(surface) * _s;
|
||||||
|
|
||||||
|
var _sx = _x, _sy = _y;
|
||||||
|
switch(_halign) {
|
||||||
|
case fa_left: _sx = _x; break;
|
||||||
|
case fa_center: _sx = _x - w / 2; break;
|
||||||
|
case fa_right: _sx = _x - w; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(_valign) {
|
||||||
|
case fa_top: _sy = _y; break;
|
||||||
|
case fa_center: _sy = _y - h / 2; break;
|
||||||
|
case fa_bottom: _sy = _y - h; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_surface_ext(surface, _sx, _sy, _s, _s, 0, c_white, 1);
|
||||||
|
}
|
11
scripts/draw_surface_functions/draw_surface_functions.yy
Normal file
11
scripts/draw_surface_functions/draw_surface_functions.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_surface_functions",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "surface",
|
||||||
|
"path": "folders/functions/surface.yy",
|
||||||
|
},
|
||||||
|
}
|
5
scripts/font_data/font_data.gml
Normal file
5
scripts/font_data/font_data.gml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
function __initFontFolder() {
|
||||||
|
var root = DIRECTORY + "Fonts";
|
||||||
|
if(!directory_exists(root))
|
||||||
|
directory_create(root);
|
||||||
|
}
|
11
scripts/font_data/font_data.yy
Normal file
11
scripts/font_data/font_data.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "font_data",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "scritps",
|
||||||
|
"path": "folders/main/scritps.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -56,7 +56,7 @@
|
||||||
DIALOG_CLICK = true;
|
DIALOG_CLICK = true;
|
||||||
|
|
||||||
globalvar ADD_NODE_PAGE, ADD_NODE_W, ADD_NODE_H, ADD_NODE_MODE;
|
globalvar ADD_NODE_PAGE, ADD_NODE_W, ADD_NODE_H, ADD_NODE_MODE;
|
||||||
ADD_NODE_PAGE = "";
|
ADD_NODE_PAGE = 0;
|
||||||
ADD_NODE_W = -1;
|
ADD_NODE_W = -1;
|
||||||
ADD_NODE_H = -1;
|
ADD_NODE_H = -1;
|
||||||
ADD_NODE_MODE = 0;
|
ADD_NODE_MODE = 0;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
function LOAD() {
|
function LOAD() {
|
||||||
var path = get_open_filename("*.pxc;*.json", "");
|
var path = get_open_filename("Pixel Composer project (.pxc)|*.pxc", "");
|
||||||
if(path == "") return;
|
if(path == "") return;
|
||||||
if(filename_ext(path) != ".json" && filename_ext(path) != ".pxc") return;
|
if(filename_ext(path) != ".json" && filename_ext(path) != ".pxc") return;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Accelerate(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Accelerate(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Accelerate";
|
name = "Accelerate";
|
||||||
|
node_draw_icon = s_node_vfx_accel;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _vect = current_data[4];
|
var _vect = current_data[4];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Attract(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Attract(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Attract";
|
name = "Attract";
|
||||||
|
node_draw_icon = s_node_vfx_attract;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _area = current_data[1];
|
var _area = current_data[1];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Destroy(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Destroy(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Destroy";
|
name = "Destroy";
|
||||||
|
node_draw_icon = s_node_vfx_destroy;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _sten = current_data[5];
|
var _sten = current_data[5];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Repel(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Repel(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Repel";
|
name = "Repel";
|
||||||
|
node_draw_icon = s_node_vfx_repel;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _area = current_data[1];
|
var _area = current_data[1];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Turbulence(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Turbulence(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Turbulence";
|
name = "Turbulence";
|
||||||
|
node_draw_icon = s_node_vfx_turb;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _vect = current_data[4];
|
var _vect = current_data[4];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Vortex(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Vortex(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Vortex";
|
name = "Vortex";
|
||||||
|
node_draw_icon = s_node_vfx_vortex;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _area = current_data[1];
|
var _area = current_data[1];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_VFX_Wind(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
function Node_VFX_Wind(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group) constructor {
|
||||||
name = "Wind";
|
name = "Wind";
|
||||||
|
node_draw_icon = s_node_vfx_wind;
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _vect = current_data[4];
|
var _vect = current_data[4];
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
name = "Effector";
|
name = "Effector";
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
node_draw_icon = s_node_vfx_accel;
|
||||||
|
|
||||||
w = 64;
|
w = 96;
|
||||||
h = 64;
|
h = 80;
|
||||||
min_h = h;
|
min_h = h;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, -1 )
|
inputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, -1 )
|
||||||
|
@ -41,6 +42,44 @@ function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my);
|
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
|
||||||
|
var area = inputs[| 1].getValue();
|
||||||
|
var cx = _x + area[0] * _s;
|
||||||
|
var cy = _y + area[1] * _s;
|
||||||
|
var cw = area[2] * _s;
|
||||||
|
var ch = area[3] * _s;
|
||||||
|
var cs = area[4];
|
||||||
|
|
||||||
|
var fall = inputs[| 3].getValue() * _s;
|
||||||
|
var x0 = cx - cw + fall;
|
||||||
|
var x1 = cx + cw - fall;
|
||||||
|
var y0 = cy - ch + fall;
|
||||||
|
var y1 = cy + ch - fall;
|
||||||
|
|
||||||
|
if(x1 > x0 && y1 > y0) {
|
||||||
|
draw_set_color(COLORS._main_accent);
|
||||||
|
draw_set_alpha(0.5);
|
||||||
|
switch(cs) {
|
||||||
|
case AREA_SHAPE.elipse : draw_ellipse_dash(x0, y0, x1, y1); break;
|
||||||
|
case AREA_SHAPE.rectangle : draw_rectangle_dashed(x0, y0, x1, y1); break;
|
||||||
|
}
|
||||||
|
draw_set_alpha(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
x0 = cx - cw - fall;
|
||||||
|
x1 = cx + cw + fall;
|
||||||
|
y0 = cy - ch - fall;
|
||||||
|
y1 = cy + ch + fall;
|
||||||
|
|
||||||
|
if(x1 > x0 && y1 > y0) {
|
||||||
|
draw_set_color(COLORS._main_accent);
|
||||||
|
draw_set_alpha(0.5);
|
||||||
|
switch(cs) {
|
||||||
|
case AREA_SHAPE.elipse : draw_ellipse_dash(x0, y0, x1, y1); break;
|
||||||
|
case AREA_SHAPE.rectangle : draw_rectangle_dashed(x0, y0, x1, y1); break;
|
||||||
|
}
|
||||||
|
draw_set_alpha(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onAffect(part, str) {}
|
function onAffect(part, str) {}
|
||||||
|
@ -65,24 +104,30 @@ function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
|
|
||||||
random_set_seed(part.seed);
|
random_set_seed(part.seed);
|
||||||
|
|
||||||
var str = 0;
|
var str = 0, in, _dst;
|
||||||
var pv = part.getPivot();
|
var pv = part.getPivot();
|
||||||
|
|
||||||
if(_area_t == AREA_SHAPE.rectangle) {
|
if(_area_t == AREA_SHAPE.rectangle) {
|
||||||
if(point_in_rectangle(pv[0], pv[1], _area_x0, _area_y0, _area_x1, _area_y1)) {
|
in = point_in_rectangle(pv[0], pv[1], _area_x0, _area_y0, _area_x1, _area_y1)
|
||||||
var _dst = min( distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x1, _area_y0),
|
_dst = min( distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x1, _area_y0),
|
||||||
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
||||||
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
||||||
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
|
||||||
}
|
|
||||||
} else if(_area_t == AREA_SHAPE.elipse) {
|
} else if(_area_t == AREA_SHAPE.elipse) {
|
||||||
if(point_in_circle(pv[0], pv[1], _area_x, _area_y, min(_area_w, _area_h))) {
|
var _dirr = point_direction(_area_x, _area_y, pv[0], pv[1]);
|
||||||
var _dst = point_distance(pv[0], pv[1], _area_x, _area_y);
|
var _epx = _area_x + lengthdir_x(_area_w / 2, _dirr);
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
var _epy = _area_y + lengthdir_y(_area_h / 2, _dirr);
|
||||||
}
|
|
||||||
|
in = point_distance(_area_x, _area_y, pv[0], pv[1]) < point_distance(_area_x, _area_y, _epx, _epy);
|
||||||
|
_dst = point_distance(pv[0], pv[1], _epx, _epy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(_dst <= _fads) {
|
||||||
|
var inf = in? 0.5 + _dst / _fads : 0.5 - _dst / _fads;
|
||||||
|
str = eval_curve_bezier_cubic(_fall, clamp(inf, 0., 1.));
|
||||||
|
} else if(in)
|
||||||
|
str = 1;
|
||||||
|
|
||||||
if(str == 0) return;
|
if(str == 0) return;
|
||||||
|
|
||||||
onAffect(part, str);
|
onAffect(part, str);
|
||||||
|
@ -106,4 +151,10 @@ function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
jun.value_to[| j].node.doUpdate();
|
jun.value_to[| j].node.doUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
||||||
|
var cx = xx + w * _s / 2;
|
||||||
|
var cy = yy + 10 + (h - 10) * _s / 2;
|
||||||
|
draw_sprite_uniform(node_draw_icon, 0, cx, cy, _s);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
function Node_VFX_Group(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) constructor {
|
function Node_VFX_Group(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) constructor {
|
||||||
name = "VFX";
|
name = "VFX";
|
||||||
color = COLORS.node_blend_collection;
|
color = COLORS.node_blend_vfx;
|
||||||
ungroupable = false;
|
ungroupable = false;
|
||||||
|
|
||||||
if(!LOADING && !APPENDING) {
|
if(!LOADING && !APPENDING) {
|
||||||
|
@ -8,7 +8,7 @@ function Node_VFX_Group(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) c
|
||||||
var renderer = nodeBuild("Node_VFX_Renderer", 256, -32, self);
|
var renderer = nodeBuild("Node_VFX_Renderer", 256, -32, self);
|
||||||
var output = nodeBuild("Node_Group_Output", 256 + 32 * 5, -32, self);
|
var output = nodeBuild("Node_Group_Output", 256 + 32 * 5, -32, self);
|
||||||
|
|
||||||
renderer.inputs[| 0].setFrom(input.outputs[| 0]);
|
renderer.inputs[| renderer.input_index].setFrom(input.outputs[| 0]);
|
||||||
output.inputs[| 0].setFrom(renderer.outputs[| 0]);
|
output.inputs[| 0].setFrom(renderer.outputs[| 0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,24 +1,50 @@
|
||||||
function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
name = "Renderer";
|
name = "Renderer";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone )
|
inputs[| 0] = nodeValue(0, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
|
||||||
.setVisible(true, true);
|
|
||||||
|
|
||||||
inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
inputs[| 2] = nodeValue(2, "Round position", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
inputs[| 1] = nodeValue(1, "Round position", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
inputs[| 3] = nodeValue(3, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
inputs[| 2] = nodeValue(2, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]);
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]);
|
||||||
|
|
||||||
|
input_index = ds_list_size(inputs);
|
||||||
|
|
||||||
|
static createNewInput = function() {
|
||||||
|
var index = ds_list_size(inputs);
|
||||||
|
inputs[| index] = nodeValue( index, "Particles", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone )
|
||||||
|
.setVisible(true, true);
|
||||||
|
}
|
||||||
|
createNewInput();
|
||||||
|
|
||||||
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
|
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
|
||||||
|
|
||||||
|
static updateValueFrom = function(index) {
|
||||||
|
if(index < input_index) return;
|
||||||
|
|
||||||
|
var _l = ds_list_create();
|
||||||
|
for( var i = 0; i < ds_list_size(inputs); i++ ) {
|
||||||
|
if(i < input_index || inputs[| i].value_from)
|
||||||
|
ds_list_add(_l, inputs[| i]);
|
||||||
|
else
|
||||||
|
delete inputs[| i];
|
||||||
|
}
|
||||||
|
|
||||||
|
for( var i = 0; i < ds_list_size(_l); i++ ) {
|
||||||
|
_l[| i].index = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
ds_list_destroy(inputs);
|
||||||
|
inputs = _l;
|
||||||
|
|
||||||
|
createNewInput();
|
||||||
|
}
|
||||||
|
|
||||||
function update(_time = ANIMATOR.current_frame) {
|
function update(_time = ANIMATOR.current_frame) {
|
||||||
var parts = inputs[| 0].getValue(_time);
|
var _dim = inputs[| 0].getValue(_time);
|
||||||
var _dim = inputs[| 1].getValue(_time);
|
var _exact = inputs[| 1].getValue(_time);
|
||||||
var _exact = inputs[| 2].getValue(_time);
|
var _blend = inputs[| 2].getValue(_time);
|
||||||
var _blend = inputs[| 3].getValue(_time);
|
|
||||||
|
|
||||||
var _outSurf = outputs[| 0].getValue();
|
var _outSurf = outputs[| 0].getValue();
|
||||||
|
|
||||||
|
@ -37,12 +63,23 @@ function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
case PARTICLE_BLEND_MODE.additive : gpu_set_blendmode(bm_add); break;
|
case PARTICLE_BLEND_MODE.additive : gpu_set_blendmode(bm_add); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
for( var i = input_index; i < ds_list_size(inputs) - 1; i++ ) {
|
||||||
parts[| i].draw(_exact);
|
var parts = inputs[| i].getValue(_time);
|
||||||
|
for(var j = 0; j < PREF_MAP[? "part_max_amount"]; j++)
|
||||||
|
parts[| j].draw(_exact);
|
||||||
|
}
|
||||||
|
|
||||||
gpu_set_blendmode(bm_normal);
|
gpu_set_blendmode(bm_normal);
|
||||||
surface_reset_target();
|
surface_reset_target();
|
||||||
|
|
||||||
cacheCurrentFrame(_outSurf);
|
cacheCurrentFrame(_outSurf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static postDeserialize = function() {
|
||||||
|
var _inputs = load_map[? "inputs"];
|
||||||
|
|
||||||
|
for(var i = input_index; i < ds_list_size(_inputs); i++)
|
||||||
|
createNewInput();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,305 +1,74 @@
|
||||||
function Node_VFX_Spawner(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
function Node_VFX_Spawner(_x, _y, _group = -1) : Node_VFX_Spawner_Base(_x, _y, _group) constructor {
|
||||||
name = "Spawner";
|
name = "Spawner";
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0)
|
inputs[| input_len + 0] = nodeValue(input_len + 0, "Spawn trigger", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, false)
|
||||||
.setDisplay(noone, "particles");
|
.setVisible(true, true);
|
||||||
|
|
||||||
inputs[| 1] = nodeValue(1, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
inputs[| input_len + 1] = nodeValue(input_len + 1, "Step interval", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1);
|
||||||
inputs[| 2] = nodeValue(2, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
|
||||||
inputs[| 3] = nodeValue(3, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
|
||||||
|
|
||||||
inputs[| 4] = nodeValue(4, "Spawn distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]);
|
|
||||||
|
|
||||||
inputs[| 5] = nodeValue(5, "Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 6] = nodeValue(6, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
|
||||||
inputs[| 7] = nodeValue(7, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 8] = nodeValue(8, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0])
|
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
|
||||||
|
|
||||||
inputs[| 9] = nodeValue(9, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 10] = nodeValue(10, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector_range);
|
|
||||||
inputs[| 11] = nodeValue(11, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
|
||||||
|
|
||||||
inputs[| 12] = nodeValue(12, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
|
||||||
.setDisplay(VALUE_DISPLAY.gradient);
|
|
||||||
inputs[| 13] = nodeValue(13, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
inputs[| 14] = nodeValue(14, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, [1, 1, 1, 1]);
|
|
||||||
|
|
||||||
inputs[| 15] = nodeValue(15, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
|
||||||
|
|
||||||
inputs[| 16] = nodeValue(16, "Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]);
|
|
||||||
|
|
||||||
inputs[| 17] = nodeValue(17, "Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 18] = nodeValue(18, "Spawn velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [1, 2] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 19] = nodeValue(19, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
|
||||||
inputs[| 20] = nodeValue(20, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
|
||||||
|
|
||||||
inputs[| 21] = nodeValue(21, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
|
||||||
|
|
||||||
inputs[| 22] = nodeValue(22, "Surface array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation" ])
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 23] = nodeValue(23, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 )
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 24] = nodeValue(24, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]);
|
|
||||||
|
|
||||||
inputs[| 25] = nodeValue(25, "Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [])
|
|
||||||
.setVisible(false, true);
|
|
||||||
|
|
||||||
inputs[| 26] = nodeValue(26, "On animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, ANIM_END_ACTION.loop)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Loop", "Ping pong", "Destroy" ])
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
input_display_list = [
|
|
||||||
["Sprite", false], 0, 22, 23, 26,
|
|
||||||
["Spawn", true], 16, 1, 2, 3, 4, 24, 25, 5,
|
|
||||||
["Movement", true], 6, 18, 7,
|
|
||||||
["Physics", true], 19, 20,
|
|
||||||
["Rotation", true], 15, 8, 9,
|
|
||||||
["Scale", true], 10, 17, 11,
|
|
||||||
["Color", true], 12, 13, 14,
|
|
||||||
["Render", true], 21
|
|
||||||
];
|
|
||||||
|
|
||||||
parts = ds_list_create();
|
|
||||||
outputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.output, VALUE_TYPE.object, parts );
|
outputs[| 0] = nodeValue(0, "Particles", self, JUNCTION_CONNECT.output, VALUE_TYPE.object, parts );
|
||||||
|
outputs[| 1] = nodeValue(1, "On create", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, noone );
|
||||||
|
outputs[| 2] = nodeValue(2, "On step", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, noone );
|
||||||
|
outputs[| 3] = nodeValue(3, "On destroy", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, noone );
|
||||||
|
|
||||||
seed_origin = irandom(9999999);
|
array_insert(input_display_list, 0, ["Trigger", true], input_len + 0, input_len + 1);
|
||||||
seed = seed_origin;
|
|
||||||
spawn_index = 0;
|
|
||||||
def_surface = -1;
|
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
static onSpawn = function(_time, part) {
|
||||||
ds_list_add(parts, new __part());
|
part.step_int = inputs[| input_len + 1].getValue(_time);
|
||||||
|
}
|
||||||
|
|
||||||
static spawn = function(_time = ANIMATOR.current_frame) {
|
static onPartCreate = function(part) {
|
||||||
random_set_seed(seed++);
|
var pv = part.getPivot();
|
||||||
|
|
||||||
var _inSurf = inputs[| 0].getValue(_time);
|
var vt = outputs[| 1];
|
||||||
|
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
||||||
|
var _n = vt.value_to[| i];
|
||||||
|
if(_n.value_from != vt) continue;
|
||||||
|
_n.node.spawn(, pv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(_inSurf == 0) {
|
static onPartStep = function(part) {
|
||||||
|
var pv = part.getPivot();
|
||||||
|
|
||||||
|
var vt = outputs[| 2];
|
||||||
|
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
||||||
|
var _n = vt.value_to[| i];
|
||||||
|
if(_n.value_from != vt) continue;
|
||||||
|
_n.node.spawn(, pv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static onPartDestroy = function(part) {
|
||||||
|
var pv = part.getPivot();
|
||||||
|
|
||||||
|
var vt = outputs[| 3];
|
||||||
|
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
||||||
|
var _n = vt.value_to[| i];
|
||||||
|
if(_n.value_from != vt) continue;
|
||||||
|
_n.node.spawn(, pv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
||||||
|
var spr = inputs[| 0].getValue();
|
||||||
|
|
||||||
|
if(spr == 0) {
|
||||||
if(def_surface == -1 || !surface_exists(def_surface)) {
|
if(def_surface == -1 || !surface_exists(def_surface)) {
|
||||||
def_surface = PIXEL_SURFACE;
|
def_surface = PIXEL_SURFACE;
|
||||||
surface_set_target(def_surface);
|
surface_set_target(def_surface);
|
||||||
draw_clear(c_white);
|
draw_clear(c_white);
|
||||||
surface_reset_target();
|
surface_reset_target();
|
||||||
}
|
}
|
||||||
_inSurf = def_surface;
|
spr = def_surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
var _spawn_amount = inputs[| 2].getValue(_time);
|
if(is_array(spr))
|
||||||
var _amo = _spawn_amount;
|
spr = spr[safe_mod(round(current_time / 100), array_length(spr))];
|
||||||
|
|
||||||
var _spawn_area = inputs[| 3].getValue(_time);
|
var cx = xx + w * _s / 2;
|
||||||
var _distrib = inputs[| 4].getValue(_time);
|
var cy = yy + h * _s / 2;
|
||||||
var _scatter = inputs[| 24].getValue(_time);
|
var ss = min((w - 8) / surface_get_width(spr), (h - 8) / surface_get_height(spr)) * _s;
|
||||||
|
draw_surface_align(spr, cx, cy, ss, fa_center, fa_center);
|
||||||
var _life = inputs[| 5].getValue(_time);
|
|
||||||
var _direction = inputs[| 6].getValue(_time);
|
|
||||||
var _velocity = inputs[| 18].getValue(_time);
|
|
||||||
|
|
||||||
var _accel = inputs[| 7].getValue(_time);
|
|
||||||
var _grav = inputs[| 19].getValue(_time);
|
|
||||||
var _wigg = inputs[| 20].getValue(_time);
|
|
||||||
|
|
||||||
var _follow = inputs[| 15].getValue(_time);
|
|
||||||
var _rotation = inputs[| 8].getValue(_time);
|
|
||||||
var _rotation_speed = inputs[| 9].getValue(_time);
|
|
||||||
var _scale = inputs[| 10].getValue(_time);
|
|
||||||
var _size = inputs[| 17].getValue(_time);
|
|
||||||
var _scale_speed = inputs[| 11].getValue(_time);
|
|
||||||
|
|
||||||
var _color = inputs[| 12].getValue(_time);
|
|
||||||
var _alpha = inputs[| 13].getValue(_time);
|
|
||||||
var _fade = inputs[| 14].getValue(_time);
|
|
||||||
|
|
||||||
var _arr_type = inputs[| 22].getValue(_time);
|
|
||||||
var _anim_speed = inputs[| 23].getValue(_time);
|
|
||||||
var _anim_end = inputs[| 26].getValue(_time);
|
|
||||||
|
|
||||||
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
|
||||||
if(!parts[| i].active) {
|
|
||||||
var _spr = _inSurf, _index = 0;
|
|
||||||
if(is_array(_inSurf)) {
|
|
||||||
if(_arr_type == 0) {
|
|
||||||
_index = irandom(array_length(_inSurf) - 1);
|
|
||||||
_spr = _inSurf[_index];
|
|
||||||
} else if(_arr_type == 1) {
|
|
||||||
_index = safe_mod(spawn_index, array_length(_inSurf));
|
|
||||||
_spr = _inSurf[_index];
|
|
||||||
} else if(_arr_type == 2)
|
|
||||||
_spr = _inSurf;
|
|
||||||
}
|
|
||||||
var xx = 0;
|
|
||||||
var yy = 0;
|
|
||||||
|
|
||||||
if(_scatter == 2) {
|
|
||||||
var _b_data = inputs[| 25].getValue(_time);
|
|
||||||
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
|
||||||
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
|
||||||
if(!is_array(_b) || array_length(_b) != 4) return;
|
|
||||||
|
|
||||||
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
|
||||||
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
|
||||||
|
|
||||||
parts[| i].boundary_data = _b;
|
|
||||||
} else {
|
|
||||||
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount);
|
|
||||||
xx = sp[0];
|
|
||||||
yy = sp[1];
|
|
||||||
|
|
||||||
parts[| i].boundary_data = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _lif = random_range(_life[0], _life[1]);
|
|
||||||
|
|
||||||
var _rot = random_range(_rotation[0], _rotation[1]);
|
|
||||||
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
|
||||||
|
|
||||||
var _dirr = random_range(_direction[0], _direction[1]);
|
|
||||||
|
|
||||||
var _velo = random_range(_velocity[0], _velocity[1]);
|
|
||||||
var _vx = lengthdir_x(_velo, _dirr);
|
|
||||||
var _vy = lengthdir_y(_velo, _dirr);
|
|
||||||
var _acc = random_range(_accel[0], _accel[1]);
|
|
||||||
|
|
||||||
var _ss = random_range(_size[0], _size[1]);
|
|
||||||
var _scx = random_range(_scale[0], _scale[1]) * _ss;
|
|
||||||
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
|
||||||
|
|
||||||
var _alp = random_range(_alpha[0], _alpha[1]);
|
|
||||||
|
|
||||||
parts[| i].create(_spr, xx, yy, _lif);
|
|
||||||
parts[| i].anim_speed = _anim_speed;
|
|
||||||
parts[| i].anim_end = _anim_end;
|
|
||||||
|
|
||||||
parts[| i].setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
|
||||||
parts[| i].setTransform(_scx, _scy, _scale_speed[0], _scale_speed[1], _rot, _rot_spd, _follow);
|
|
||||||
parts[| i].setDraw(_color, _alp, _fade);
|
|
||||||
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
|
||||||
|
|
||||||
if(--_amo <= 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function reset() {
|
|
||||||
spawn_index = 0;
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
|
||||||
parts[| i].kill();
|
|
||||||
}
|
|
||||||
render();
|
|
||||||
seed = seed_origin;
|
|
||||||
|
|
||||||
var _loop = inputs[| 21].getValue();
|
|
||||||
if(!_loop) return;
|
|
||||||
|
|
||||||
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
|
||||||
runFrame(i);
|
|
||||||
|
|
||||||
seed = seed_origin;
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkPartPool() {
|
|
||||||
var _part_amo = PREF_MAP[? "part_max_amount"];
|
|
||||||
var _curr_amo = ds_list_size(parts);
|
|
||||||
|
|
||||||
if(_part_amo > _curr_amo) {
|
|
||||||
repeat(_part_amo - _curr_amo)
|
|
||||||
ds_list_add(parts, new __part());
|
|
||||||
} else if(_part_amo < _curr_amo) {
|
|
||||||
repeat(_curr_amo - _part_amo)
|
|
||||||
ds_list_delete(parts, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static runFrame = function(_time = ANIMATOR.current_frame) {
|
|
||||||
var _spawn_delay = inputs[| 1].getValue(_time);
|
|
||||||
var _spawn_type = inputs[| 16].getValue(_time);
|
|
||||||
|
|
||||||
switch(_spawn_type) {
|
|
||||||
case 0 :
|
|
||||||
if(safe_mod(_time, _spawn_delay) == 0)
|
|
||||||
spawn(_time);
|
|
||||||
break;
|
|
||||||
case 1 :
|
|
||||||
if(_time == _spawn_delay)
|
|
||||||
spawn(_time);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(parts); i++)
|
|
||||||
parts[| i].step();
|
|
||||||
triggerRender();
|
|
||||||
render(_time);
|
|
||||||
}
|
|
||||||
|
|
||||||
static step = function() {
|
|
||||||
var _inSurf = inputs[| 0].getValue();
|
|
||||||
var _scatt = inputs[| 24].getValue();
|
|
||||||
var _loop = inputs[| 21].getValue();
|
|
||||||
|
|
||||||
inputs[| 22].setVisible(false);
|
|
||||||
inputs[| 23].setVisible(false);
|
|
||||||
inputs[| 25].setVisible(_scatt == 2);
|
|
||||||
|
|
||||||
if(is_array(_inSurf)) {
|
|
||||||
inputs[| 22].setVisible(true);
|
|
||||||
var _type = inputs[| 22].getValue();
|
|
||||||
if(_type == 2) {
|
|
||||||
inputs[| 23].setVisible(true);
|
|
||||||
inputs[| 26].setVisible(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
checkPartPool();
|
|
||||||
var _spawn_type = inputs[| 16].getValue();
|
|
||||||
if(_spawn_type == 0) inputs[| 1].name = "Spawn delay";
|
|
||||||
else inputs[| 1].name = "Spawn frame";
|
|
||||||
|
|
||||||
onStep();
|
|
||||||
}
|
|
||||||
|
|
||||||
static onStep = function() {
|
|
||||||
if(!ANIMATOR.frame_progress) return;
|
|
||||||
if(!ANIMATOR.is_playing) return;
|
|
||||||
|
|
||||||
if(ANIMATOR.current_frame == 0)
|
|
||||||
reset();
|
|
||||||
runFrame(ANIMATOR.current_frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
|
||||||
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my);
|
|
||||||
if(onDrawOverlay != -1)
|
|
||||||
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
|
||||||
}
|
|
||||||
|
|
||||||
static onDrawOverlay = -1;
|
|
||||||
|
|
||||||
static update = function() {}
|
|
||||||
static render = function() {}
|
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "number",
|
"name": "value",
|
||||||
"path": "folders/nodes/data/number.yy",
|
"path": "folders/nodes/data/value.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "number",
|
"name": "value",
|
||||||
"path": "folders/nodes/data/number.yy",
|
"path": "folders/nodes/data/value.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
36
scripts/node_array_add/node_array_add.gml
Normal file
36
scripts/node_array_add/node_array_add.gml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
function Node_Array_Add(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Array add";
|
||||||
|
previewable = false;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
h = 32 + 24;
|
||||||
|
min_h = h;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue(1, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0)
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue(2, "Spread array", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Size", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _arr = inputs[| 0].getValue();
|
||||||
|
var _val = inputs[| 1].getValue();
|
||||||
|
var _app = inputs[| 2].getValue();
|
||||||
|
|
||||||
|
inputs[| 2].setVisible(is_array(_val));
|
||||||
|
|
||||||
|
if(!is_array(_arr)) return;
|
||||||
|
var _out = array_clone(_arr);
|
||||||
|
if(is_array(_val) && _app)
|
||||||
|
array_append(_out, _val);
|
||||||
|
else
|
||||||
|
array_push(_out, _val);
|
||||||
|
outputs[| 0].setValue(_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
doUpdate();
|
||||||
|
}
|
11
scripts/node_array_add/node_array_add.yy
Normal file
11
scripts/node_array_add/node_array_add.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_array_add",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "value",
|
||||||
|
"path": "folders/nodes/data/value.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_array_add/node_counter.yy
Normal file
12
scripts/node_array_add/node_counter.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "variable",
|
||||||
|
"path": "folders/nodes/data/variable.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_counter",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "number",
|
"name": "value",
|
||||||
"path": "folders/nodes/data/number.yy",
|
"path": "folders/nodes/data/value.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "number",
|
"name": "value",
|
||||||
"path": "folders/nodes/data/number.yy",
|
"path": "folders/nodes/data/value.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
27
scripts/node_array_range/node_array_range.gml
Normal file
27
scripts/node_array_range/node_array_range.gml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
function Node_Array_Range(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Array range";
|
||||||
|
previewable = false;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
min_h = 0;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Start", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0);
|
||||||
|
inputs[| 1] = nodeValue(1, "End", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 10);
|
||||||
|
inputs[| 2] = nodeValue(2, "Step", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Array", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, []);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var st = inputs[| 0].getValue();
|
||||||
|
var ed = inputs[| 1].getValue();
|
||||||
|
var step = inputs[| 2].getValue();
|
||||||
|
var arr = [];
|
||||||
|
|
||||||
|
if((step > 0 && st <= ed) || (step < 0 && st >= ed)) {
|
||||||
|
for( var i = st; i <= ed; i += step )
|
||||||
|
array_push(arr, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputs[| 0].setValue(arr);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_array_range/node_array_range.yy
Normal file
11
scripts/node_array_range/node_array_range.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_array_range",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "value",
|
||||||
|
"path": "folders/nodes/data/value.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_array_range/node_counter.yy
Normal file
12
scripts/node_array_range/node_counter.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "variable",
|
||||||
|
"path": "folders/nodes/data/variable.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_counter",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
42
scripts/node_camera/node_camera.gml
Normal file
42
scripts/node_camera/node_camera.gml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
function Node_Camera(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
|
name = "Camera";
|
||||||
|
preview_alpha = 0.5;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue(0, "Scene", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
|
inputs[| 1] = nodeValue(1, "Focus area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 16, 16, 4, 4, AREA_SHAPE.rectangle ])
|
||||||
|
.setDisplay(VALUE_DISPLAY.area);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
|
||||||
|
|
||||||
|
static getPreviewValue = function() { return inputs[| 0]; }
|
||||||
|
|
||||||
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
|
var _out = outputs[| 0].getValue();
|
||||||
|
var _area = current_data[1];
|
||||||
|
var _px = _x + (_area[0] - _area[2]) * _s;
|
||||||
|
var _py = _y + (_area[1] - _area[3]) * _s;
|
||||||
|
|
||||||
|
draw_surface_ext_safe(_out, _px, _py, _s, _s);
|
||||||
|
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
|
}
|
||||||
|
|
||||||
|
static process_data = function(_outSurf, _data, _output_index) {
|
||||||
|
var _area = _data[1];
|
||||||
|
|
||||||
|
var _dw = surface_valid_size(_area[2]) * 2;
|
||||||
|
var _dh = surface_valid_size(_area[3]) * 2;
|
||||||
|
surface_size_to(_outSurf, _dw, _dh);
|
||||||
|
|
||||||
|
var _px = _area[0] - _dw / 2;
|
||||||
|
var _py = _area[1] - _dh / 2;
|
||||||
|
|
||||||
|
surface_set_target(_outSurf);
|
||||||
|
draw_clear_alpha(0, 0);
|
||||||
|
BLEND_ADD
|
||||||
|
draw_surface_safe(_data[0], -_px, -_py);
|
||||||
|
BLEND_NORMAL
|
||||||
|
surface_reset_target();
|
||||||
|
|
||||||
|
return _outSurf;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_camera/node_camera.yy
Normal file
11
scripts/node_camera/node_camera.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_camera",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "render",
|
||||||
|
"path": "folders/nodes/data/render.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_camera/node_color_adjustment.yy
Normal file
12
scripts/node_camera/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_camera/node_color_replacement.yy
Normal file
12
scripts/node_camera/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_camera/node_greyscale.yy
Normal file
12
scripts/node_camera/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_camera/node_outline.yy
Normal file
12
scripts/node_camera/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",
|
||||||
|
}
|
|
@ -10,6 +10,15 @@ function Node_Collection(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
|
||||||
custom_input_index = 0;
|
custom_input_index = 0;
|
||||||
custom_output_index = 0;
|
custom_output_index = 0;
|
||||||
|
|
||||||
|
static getNextNodes = function() {
|
||||||
|
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
||||||
|
var _in = inputs[| i].from;
|
||||||
|
|
||||||
|
ds_stack_push(RENDER_STACK, _in);
|
||||||
|
printIf(global.RENDER_LOG, "Push group input " + _in.name + " to stack");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static setRenderStatus = function(result) {
|
static setRenderStatus = function(result) {
|
||||||
rendered = result;
|
rendered = result;
|
||||||
|
|
||||||
|
@ -96,6 +105,7 @@ function Node_Collection(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
|
||||||
}
|
}
|
||||||
|
|
||||||
setHeight();
|
setHeight();
|
||||||
|
doStepBegin();
|
||||||
}
|
}
|
||||||
|
|
||||||
static doUpdate = function() {
|
static doUpdate = function() {
|
||||||
|
@ -115,8 +125,12 @@ function Node_Collection(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
|
||||||
PANEL_GRAPH.addContext(self);
|
PANEL_GRAPH.addContext(self);
|
||||||
DOUBLE_CLICK = false;
|
DOUBLE_CLICK = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onStep();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static onStep = function() {}
|
||||||
|
|
||||||
static triggerRender = function() {
|
static triggerRender = function() {
|
||||||
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
||||||
var jun_node = inputs[| i].from;
|
var jun_node = inputs[| i].from;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function Node_Crop(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
function Node_Crop(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor {
|
||||||
name = "Crop";
|
name = "Crop";
|
||||||
|
preview_alpha = 0.5;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
inputs[| 0] = nodeValue(0, "Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||||
inputs[| 1] = nodeValue(1, "Crop", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0 ])
|
inputs[| 1] = nodeValue(1, "Crop", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0 ])
|
||||||
|
@ -12,23 +13,27 @@ function Node_Crop(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constru
|
||||||
drag_my = 0;
|
drag_my = 0;
|
||||||
drag_sv = 0;
|
drag_sv = 0;
|
||||||
|
|
||||||
|
static getPreviewValue = function() { return inputs[| 0]; }
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {
|
||||||
if(array_length(current_data) < 2) return;
|
if(array_length(current_data) < 2) return;
|
||||||
|
|
||||||
var _inSurf = current_data[0];
|
var _inSurf = current_data[0];
|
||||||
var _dim = [ surface_get_width(_inSurf), surface_get_height(_inSurf) ];
|
|
||||||
var _splice = current_data[1];
|
var _splice = current_data[1];
|
||||||
|
|
||||||
var sp_r = _x + (_dim[0] - _splice[0] - _splice[2]) * _s;
|
var dim = [ surface_get_width(_inSurf), surface_get_height(_inSurf) ]
|
||||||
var sp_l = _x;
|
|
||||||
|
|
||||||
var sp_t = _y;
|
var sp_r = _x + (dim[0] - _splice[0]) * _s;
|
||||||
var sp_b = _y + (_dim[1] - _splice[1] - _splice[3]) * _s;
|
var sp_l = _x + _splice[2] * _s;
|
||||||
|
|
||||||
|
var sp_t = _y + _splice[1] * _s;
|
||||||
|
var sp_b = _y + (dim[1] - _splice[3]) * _s;
|
||||||
|
|
||||||
var ww = WIN_W;
|
var ww = WIN_W;
|
||||||
var hh = WIN_H;
|
var hh = WIN_H;
|
||||||
|
|
||||||
draw_surface_ext_safe(_inSurf, _x - _splice[2] * _s, _y - _splice[1] * _s, _s, _s, 0, c_white, 0.1);
|
var _out = outputs[| 0].getValue();
|
||||||
|
draw_surface_ext_safe(_out, sp_l, sp_t, _s, _s);
|
||||||
|
|
||||||
draw_set_color(COLORS._main_accent);
|
draw_set_color(COLORS._main_accent);
|
||||||
draw_line(sp_r, -hh, sp_r, hh);
|
draw_line(sp_r, -hh, sp_r, hh);
|
||||||
|
@ -94,9 +99,6 @@ function Node_Crop(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constru
|
||||||
var _crop = _data[1];
|
var _crop = _data[1];
|
||||||
var _dim = [ surface_get_width(_inSurf) - _crop[0] - _crop[2], surface_get_height(_inSurf) - _crop[1] - _crop[3] ];
|
var _dim = [ surface_get_width(_inSurf) - _crop[0] - _crop[2], surface_get_height(_inSurf) - _crop[1] - _crop[3] ];
|
||||||
|
|
||||||
preview_x = _crop[2];
|
|
||||||
preview_y = _crop[1];
|
|
||||||
|
|
||||||
surface_size_to(_outSurf, _dim[0], _dim[1]);
|
surface_size_to(_outSurf, _dim[0], _dim[1]);
|
||||||
|
|
||||||
surface_set_target(_outSurf);
|
surface_set_target(_outSurf);
|
||||||
|
|
|
@ -43,6 +43,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
preview_speed = 0;
|
preview_speed = 0;
|
||||||
preview_index = 0;
|
preview_index = 0;
|
||||||
preview_channel = 0;
|
preview_channel = 0;
|
||||||
|
preview_alpha = 1;
|
||||||
preview_x = 0;
|
preview_x = 0;
|
||||||
preview_y = 0;
|
preview_y = 0;
|
||||||
|
|
||||||
|
@ -101,28 +102,25 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static stepBegin = function() {
|
static stepBegin = function() {
|
||||||
if(use_cache) {
|
if(use_cache)
|
||||||
cacheArrayCheck();
|
cacheArrayCheck();
|
||||||
}
|
|
||||||
var stack_push = false;
|
var stack_push = false;
|
||||||
|
|
||||||
if(always_output) {
|
if(always_output) {
|
||||||
for(var i = 0; i < ds_list_size(outputs); i++) {
|
for(var i = 0; i < ds_list_size(outputs); i++) {
|
||||||
if(outputs[| i].type == VALUE_TYPE.surface) {
|
if(outputs[| i].type != VALUE_TYPE.surface)
|
||||||
var val = outputs[| i].getValue();
|
continue;
|
||||||
|
var val = outputs[| i].getValue();
|
||||||
|
|
||||||
if(is_array(val)) {
|
if(is_array(val)) {
|
||||||
for(var j = 0; j < array_length(val); j++) {
|
for(var j = 0; j < array_length(val); j++) {
|
||||||
var _surf = val[j];
|
var _surf = val[j];
|
||||||
if(!is_surface(_surf) || _surf == DEF_SURFACE) {
|
if(is_surface(_surf) && _surf != DEF_SURFACE)
|
||||||
stack_push = true;
|
continue;
|
||||||
}
|
stack_push = true;
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if(!is_surface(val) || val == DEF_SURFACE) {
|
|
||||||
stack_push = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} else if(!is_surface(val) || val == DEF_SURFACE) {
|
||||||
|
stack_push = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -143,7 +141,11 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
|
|
||||||
if(auto_height)
|
if(auto_height)
|
||||||
setHeight();
|
setHeight();
|
||||||
|
|
||||||
|
doStepBegin();
|
||||||
}
|
}
|
||||||
|
static doStepBegin = function() {}
|
||||||
|
|
||||||
static step = function() {}
|
static step = function() {}
|
||||||
static focusStep = function() {}
|
static focusStep = function() {}
|
||||||
|
|
||||||
|
@ -370,7 +372,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
if(ty == LINE_STYLE.solid)
|
if(ty == LINE_STYLE.solid)
|
||||||
draw_line_width_color(jx, jy, frx, fry, th, c0, c1);
|
draw_line_width_color(jx, jy, frx, fry, th, c0, c1);
|
||||||
else
|
else
|
||||||
draw_line_dashed(jx, jy, frx, fry, th, c0, c1, 12);
|
draw_line_dashed_color(jx, jy, frx, fry, th, c0, c1, 12);
|
||||||
break;
|
break;
|
||||||
case 1 : draw_line_curve_color(jx, jy, frx, fry, th, c0, c1, ty); break;
|
case 1 : draw_line_curve_color(jx, jy, frx, fry, th, c0, c1, ty); break;
|
||||||
case 2 : draw_line_elbow_color(jx, jy, frx, fry, th, c0, c1, ty); break;
|
case 2 : draw_line_elbow_color(jx, jy, frx, fry, th, c0, c1, ty); break;
|
||||||
|
@ -449,8 +451,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
drawNodeBase(xx, yy, _s);
|
drawNodeBase(xx, yy, _s);
|
||||||
if(previewable && ds_list_size(outputs) > 0)
|
if(previewable && ds_list_size(outputs) > 0)
|
||||||
drawPreview(outputs[| preview_channel], xx, yy, _s);
|
drawPreview(outputs[| preview_channel], xx, yy, _s);
|
||||||
drawNodeName(xx, yy, _s);
|
|
||||||
onDrawNode(xx, yy, _mx, _my, _s);
|
onDrawNode(xx, yy, _mx, _my, _s);
|
||||||
|
drawNodeName(xx, yy, _s);
|
||||||
|
|
||||||
if(active_draw_index > -1) {
|
if(active_draw_index > -1) {
|
||||||
draw_sprite_stretched_ext(bg_sel_spr, 0, xx, yy, w * _s, h * _s, active_draw_index > 1? COLORS.node_border_file_drop : COLORS._main_accent, 1);
|
draw_sprite_stretched_ext(bg_sel_spr, 0, xx, yy, w * _s, h * _s, active_draw_index > 1? COLORS.node_border_file_drop : COLORS._main_accent, 1);
|
||||||
|
@ -484,6 +486,11 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {}
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my) {}
|
||||||
|
|
||||||
|
static getPreviewValue = function() {
|
||||||
|
if(preview_channel > ds_list_size(outputs)) return noone;
|
||||||
|
return outputs[| preview_channel];
|
||||||
|
}
|
||||||
|
|
||||||
static destroy = function(_merge = false) {
|
static destroy = function(_merge = false) {
|
||||||
active = false;
|
active = false;
|
||||||
if(PANEL_GRAPH.node_hover == self) PANEL_GRAPH.node_hover = noone;
|
if(PANEL_GRAPH.node_hover == self) PANEL_GRAPH.node_hover = noone;
|
||||||
|
@ -530,6 +537,26 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
|
|
||||||
static onDestroy = function() {}
|
static onDestroy = function() {}
|
||||||
|
|
||||||
|
static getNextNodes = function() {
|
||||||
|
for(var i = 0; i < ds_list_size(outputs); i++) {
|
||||||
|
var _ot = outputs[| i];
|
||||||
|
if(_ot.type == VALUE_TYPE.node) continue;
|
||||||
|
|
||||||
|
for(var j = 0; j < ds_list_size(_ot.value_to); j++) {
|
||||||
|
var _to = _ot.value_to[| j];
|
||||||
|
if(!_to.node.active || _to.value_from == noone) continue;
|
||||||
|
if(_to.value_from.node != self) continue;
|
||||||
|
|
||||||
|
_to.node.triggerRender();
|
||||||
|
if(_to.node.isUpdateReady()) {
|
||||||
|
ds_stack_push(RENDER_STACK, _to.node);
|
||||||
|
printIf(global.RENDER_LOG, " > Push " + _to.node.name + " node to stack");
|
||||||
|
} else
|
||||||
|
printIf(global.RENDER_LOG, " > Node " + _to.node.name + " not ready");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static cacheArrayCheck = function() {
|
static cacheArrayCheck = function() {
|
||||||
if(array_length(cached_output) != ANIMATOR.frames_total + 1)
|
if(array_length(cached_output) != ANIMATOR.frames_total + 1)
|
||||||
array_resize(cached_output, ANIMATOR.frames_total + 1);
|
array_resize(cached_output, ANIMATOR.frames_total + 1);
|
||||||
|
@ -632,7 +659,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
|
|
||||||
static clone = function() {
|
static clone = function() {
|
||||||
var _type = instanceof(self);
|
var _type = instanceof(self);
|
||||||
var _node = NODE_CREATE_FUCTION[? _type](x, y);
|
var _node = nodeBuild(_type, x, y);
|
||||||
|
|
||||||
var _data = serialize();
|
var _data = serialize();
|
||||||
_node.deserialize(ds_map_clone(_data));
|
_node.deserialize(ds_map_clone(_data));
|
||||||
|
|
31
scripts/node_feedback/node_feedback.gml
Normal file
31
scripts/node_feedback/node_feedback.gml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
function Node_Feedback(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) constructor {
|
||||||
|
name = "Feedback";
|
||||||
|
color = COLORS.node_blend_feedback;
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING) {
|
||||||
|
var input = nodeBuild("Node_Feedback_Input", -256, -32, self);
|
||||||
|
var output = nodeBuild("Node_Feedback_Output", 256, -32, self);
|
||||||
|
|
||||||
|
input.inputs[| 2].setValue(4);
|
||||||
|
output.inputs[| 0].setFrom(input.outputs[| 0]);
|
||||||
|
output.inputs[| 2].setFrom(input.outputs[| 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static doStepBegin = function() {
|
||||||
|
if(!ANIMATOR.frame_progress) return;
|
||||||
|
setRenderStatus(false);
|
||||||
|
UPDATE |= RENDER_TYPE.full;
|
||||||
|
}
|
||||||
|
|
||||||
|
static getNextNodes = function() {
|
||||||
|
var allReady = true;
|
||||||
|
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
||||||
|
var _in = inputs[| i].from;
|
||||||
|
allReady &= _in.isUpdateReady()
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!allReady) return;
|
||||||
|
|
||||||
|
__nodeLeafList(nodes, RENDER_STACK);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_feedback/node_feedback.yy
Normal file
11
scripts/node_feedback/node_feedback.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_feedback",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "feedback",
|
||||||
|
"path": "folders/nodes/data/feedback.yy",
|
||||||
|
},
|
||||||
|
}
|
26
scripts/node_feedback_input/node_feedback_input.gml
Normal file
26
scripts/node_feedback_input/node_feedback_input.gml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
function Node_Feedback_Input(_x, _y, _group = -1) : Node_Group_Input(_x, _y, _group) constructor {
|
||||||
|
name = "Input";
|
||||||
|
color = COLORS.node_blend_feedback;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
h = 32 + 24 * 2;
|
||||||
|
min_h = h;
|
||||||
|
|
||||||
|
outputs[| 0].getValueRecursive = function(_time) {
|
||||||
|
var _node_output = noone;
|
||||||
|
for( var i = 0; i < ds_list_size(outputs[| 1].value_to); i++ ) {
|
||||||
|
var vt = outputs[| 1].value_to[| i];
|
||||||
|
if(vt.value_from == outputs[| 1])
|
||||||
|
_node_output = vt;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ANIMATOR.current_frame > 1 && _node_output != noone)
|
||||||
|
return [ _node_output.node.cache_value, inputs[| 2].getValue() ];
|
||||||
|
|
||||||
|
if(inParent.value_from == noone)
|
||||||
|
return [ -1, VALUE_TYPE.any ];
|
||||||
|
return inParent.value_from.getValueRecursive(_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputs[| 1] = nodeValue(1, "Feedback loop", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, 0);
|
||||||
|
}
|
11
scripts/node_feedback_input/node_feedback_input.yy
Normal file
11
scripts/node_feedback_input/node_feedback_input.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_feedback_input",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "feedback",
|
||||||
|
"path": "folders/nodes/data/feedback.yy",
|
||||||
|
},
|
||||||
|
}
|
28
scripts/node_feedback_output/node_feedback_output.gml
Normal file
28
scripts/node_feedback_output/node_feedback_output.gml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
function Node_Feedback_Output(_x, _y, _group = -1) : Node_Group_Output(_x, _y, _group) constructor {
|
||||||
|
name = "Output";
|
||||||
|
color = COLORS.node_blend_feedback;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
h = 32 + 24 * 2;
|
||||||
|
min_h = h;
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue(2, "Feedback loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, -1)
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
cache_value = -1;
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _val_get = inputs[| 0].getValue();
|
||||||
|
|
||||||
|
switch(inputs[| 0].type) {
|
||||||
|
case VALUE_TYPE.surface :
|
||||||
|
if(is_surface(cache_value))
|
||||||
|
surface_free(cache_value);
|
||||||
|
if(is_surface(_val_get))
|
||||||
|
cache_value = surface_clone(_val_get);
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
cache_value = _val_get;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_feedback_output/node_feedback_output.yy
Normal file
11
scripts/node_feedback_output/node_feedback_output.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_feedback_output",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "feedback",
|
||||||
|
"path": "folders/nodes/data/feedback.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -5,7 +5,6 @@ function Node_Group_Input(_x, _y, _group = -1) : Node(_x, _y, _group) constructo
|
||||||
auto_height = false;
|
auto_height = false;
|
||||||
input_index = -1;
|
input_index = -1;
|
||||||
|
|
||||||
group = _group;
|
|
||||||
inParent = undefined;
|
inParent = undefined;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
|
|
|
@ -4,8 +4,6 @@ function Node_Group_Output(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
previewable = false;
|
previewable = false;
|
||||||
auto_height = false;
|
auto_height = false;
|
||||||
|
|
||||||
self.group = _group;
|
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
min_h = h;
|
min_h = h;
|
||||||
|
@ -24,6 +22,33 @@ function Node_Group_Output(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
group.sortIO();
|
group.sortIO();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static getNextNodes = function() {
|
||||||
|
group.setRenderStatus(true);
|
||||||
|
printIf(global.RENDER_LOG, "Value to amount " + string(ds_list_size(outParent.value_to)));
|
||||||
|
|
||||||
|
for(var j = 0; j < ds_list_size(outParent.value_to); j++) {
|
||||||
|
var _to = outParent.value_to[| j];
|
||||||
|
printIf(global.RENDER_LOG, "Value to " + _to.name);
|
||||||
|
|
||||||
|
if(!_to.node.active || _to.value_from == noone) {
|
||||||
|
printIf(global.RENDER_LOG, "no value from");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_to.value_from.node != group) {
|
||||||
|
printIf(global.RENDER_LOG, "value from not equal group");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
printIf(global.RENDER_LOG, "Group output ready " + string(_to.node.isUpdateReady()));
|
||||||
|
|
||||||
|
if(_to.node.isUpdateReady()) {
|
||||||
|
ds_stack_push(RENDER_STACK, _to.node);
|
||||||
|
printIf(global.RENDER_LOG, "Push node " + _to.node.name + " to stack");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static createOutput = function(override_order = true) {
|
static createOutput = function(override_order = true) {
|
||||||
if(group && is_struct(group)) {
|
if(group && is_struct(group)) {
|
||||||
if(override_order) {
|
if(override_order) {
|
||||||
|
|
|
@ -37,6 +37,19 @@ function Node_Iterate(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) con
|
||||||
printIf(global.RENDER_LOG, "LOOP INIT");
|
printIf(global.RENDER_LOG, "LOOP INIT");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static getNextNodes = function() {
|
||||||
|
var allReady = true;
|
||||||
|
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
||||||
|
var _in = inputs[| i].from;
|
||||||
|
allReady &= _in.isUpdateReady()
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!allReady) return;
|
||||||
|
|
||||||
|
__nodeLeafList(nodes, RENDER_STACK);
|
||||||
|
initLoop();
|
||||||
|
}
|
||||||
|
|
||||||
static iterationStatus = function() {
|
static iterationStatus = function() {
|
||||||
var iter = true;
|
var iter = true;
|
||||||
for( var i = 0; i < ds_list_size(outputs); i++ ) {
|
for( var i = 0; i < ds_list_size(outputs); i++ ) {
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
function Node_Iterator_Index(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
|
||||||
name = "Index";
|
|
||||||
color = COLORS.node_blend_number;
|
|
||||||
previewable = false;
|
|
||||||
|
|
||||||
w = 96;
|
|
||||||
min_h = 32 + 24 * 1;
|
|
||||||
|
|
||||||
outputs[| 0] = nodeValue(0, "Loop index", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0);
|
|
||||||
|
|
||||||
static update = function() {
|
|
||||||
if(variable_struct_exists(group, "iterated"))
|
|
||||||
outputs[| 0].setValue(group.iterated);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,227 +0,0 @@
|
||||||
function Node_Iterator_Input(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
|
||||||
name = "Input";
|
|
||||||
color = COLORS.node_blend_collection;
|
|
||||||
previewable = false;
|
|
||||||
auto_height = false;
|
|
||||||
input_index = -1;
|
|
||||||
|
|
||||||
inParent = undefined;
|
|
||||||
local_output = noone;
|
|
||||||
|
|
||||||
w = 96;
|
|
||||||
h = 32 + 24 * 2;
|
|
||||||
min_h = h;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Display type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Default", "Range", "Enum Scroll", "Enum Button", "Rotation", "Rotation range",
|
|
||||||
"Slider", "Slider range", "Gradient", "Palette", "Padding", "Vector", "Vector range", "Area", "Curve" ]);
|
|
||||||
|
|
||||||
inputs[| 1] = nodeValue(1, "Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 1])
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector)
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 2] = nodeValue(2, "Input type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Integer", "Float", "Boolean", "Color", "Surface", "Path", "Curve", "Text", "Object", "Any" ]);
|
|
||||||
|
|
||||||
inputs[| 3] = nodeValue(3, "Enum label", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "")
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 4] = nodeValue(4, "Vector size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "2", "3", "4" ])
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 5] = nodeValue(5, "Order", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0);
|
|
||||||
|
|
||||||
input_display_list = [
|
|
||||||
["Display", false], 5,
|
|
||||||
["Data", false], 2, 0, 4, 1, 3,
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs[| 0] = nodeValue(0, "Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0);
|
|
||||||
outputs[| 0].getValueDefault = method(outputs[| 0], outputs[| 0].getValueRecursive); //Get value from outside loop
|
|
||||||
outputs[| 0].getValueRecursive = function() {
|
|
||||||
//show_debug_message("iteration " + string(group.iterated));
|
|
||||||
if(!variable_struct_exists(group, "iterated"))
|
|
||||||
return outputs[| 0].getValueDefault();
|
|
||||||
|
|
||||||
var _node_output = noone;
|
|
||||||
for( var i = 0; i < ds_list_size(outputs[| 1].value_to); i++ ) {
|
|
||||||
var vt = outputs[| 1].value_to[| i];
|
|
||||||
if(vt.value_from == outputs[| 1])
|
|
||||||
_node_output = vt;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(_node_output == noone || group.iterated == 0)
|
|
||||||
return outputs[| 0].getValueDefault();
|
|
||||||
|
|
||||||
return [ _node_output.node.cache_value, inputs[| 2].getValue() ];
|
|
||||||
}
|
|
||||||
|
|
||||||
outputs[| 1] = nodeValue(1, "Loop entrance", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, 0);
|
|
||||||
|
|
||||||
output_display_list = [
|
|
||||||
1, 0
|
|
||||||
]
|
|
||||||
|
|
||||||
static onValueUpdate = function(index) {
|
|
||||||
if(is_undefined(inParent)) return;
|
|
||||||
|
|
||||||
var _dtype = inputs[| 0].getValue();
|
|
||||||
var _range = inputs[| 1].getValue();
|
|
||||||
var _val_type = inputs[| 2].getValue();
|
|
||||||
var _enum_label = inputs[| 3].getValue();
|
|
||||||
var _vec_size = inputs[| 4].getValue();
|
|
||||||
|
|
||||||
if(index == 2) {
|
|
||||||
var _o = outputs[| 0];
|
|
||||||
for(var j = 0; j < ds_list_size(_o.value_to); j++) {
|
|
||||||
var _to = _o.value_to[| j];
|
|
||||||
if(_to.value_from == _o)
|
|
||||||
_to.removeFrom();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inParent.type = _val_type;
|
|
||||||
outputs[| 0].type = _val_type;
|
|
||||||
var _val = inParent.getValue();
|
|
||||||
|
|
||||||
switch(_dtype) {
|
|
||||||
case VALUE_DISPLAY.range :
|
|
||||||
case VALUE_DISPLAY.slider :
|
|
||||||
inParent.setDisplay(_dtype, [_range[0], _range[1], 0.01]);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.slider_range :
|
|
||||||
inParent.setDisplay(_dtype, [_range[0], _range[1], 0.01]);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.rotation_range :
|
|
||||||
if(!is_array(_val) || array_length(_val) != 2)
|
|
||||||
inParent.animator = new valueAnimator([0, 0], inParent);
|
|
||||||
inParent.setDisplay(_dtype);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.enum_button :
|
|
||||||
case VALUE_DISPLAY.enum_scroll :
|
|
||||||
inParent.setDisplay(_dtype, string_splice(_enum_label, ","));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.padding :
|
|
||||||
if(!is_array(_val) || array_length(_val) != 4)
|
|
||||||
inParent.animator = new valueAnimator([0, 0, 0, 0], inParent);
|
|
||||||
inParent.setDisplay(_dtype);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.area :
|
|
||||||
if(!is_array(_val) || array_length(_val) != 5)
|
|
||||||
inParent.animator = new valueAnimator([0, 0, 0, 0, 5], inParent);
|
|
||||||
inParent.setDisplay(_dtype);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.vector :
|
|
||||||
case VALUE_DISPLAY.vector_range :
|
|
||||||
switch(_vec_size) {
|
|
||||||
case 0 :
|
|
||||||
if(!is_array(_val) || array_length(_val) != 2)
|
|
||||||
inParent.animator = new valueAnimator([0, 0], inParent);
|
|
||||||
break;
|
|
||||||
case 1 :
|
|
||||||
if(!is_array(_val) || array_length(_val) != 3)
|
|
||||||
inParent.animator = new valueAnimator([0, 0, 0], inParent);
|
|
||||||
break;
|
|
||||||
case 2 :
|
|
||||||
if(!is_array(_val) || array_length(_val) != 4)
|
|
||||||
inParent.animator = new valueAnimator([0, 0, 0, 0], inParent);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
inParent.setDisplay(_dtype);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VALUE_DISPLAY.palette :
|
|
||||||
if(!is_array(_val))
|
|
||||||
inParent.animator = new valueAnimator([c_black], inParent);
|
|
||||||
inParent.setDisplay(_dtype);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default :
|
|
||||||
inParent.setDisplay(_dtype);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(index == 5) {
|
|
||||||
group.sortIO();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static createInput = function(override_order = true) {
|
|
||||||
if(group && is_struct(group)) {
|
|
||||||
if(override_order = true) {
|
|
||||||
input_index = ds_list_size(group.inputs);
|
|
||||||
inputs[| 5].setValue(input_index);
|
|
||||||
} else {
|
|
||||||
input_index = inputs[| 5].getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
inParent = nodeValue(ds_list_size(group.inputs), "Value", group, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1)
|
|
||||||
.setVisible(true, true);
|
|
||||||
inParent.from = self;
|
|
||||||
|
|
||||||
ds_list_add(group.inputs, inParent);
|
|
||||||
outputs[| 0].setFrom(inParent, false, false);
|
|
||||||
group.setHeight();
|
|
||||||
group.sortIO();
|
|
||||||
|
|
||||||
onValueUpdate(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!LOADING && !APPENDING)
|
|
||||||
createInput();
|
|
||||||
|
|
||||||
dtype = -1;
|
|
||||||
range = 0;
|
|
||||||
|
|
||||||
static step = function() {
|
|
||||||
if(is_undefined(inParent)) return;
|
|
||||||
|
|
||||||
inParent.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
static update = function() {
|
|
||||||
if(is_undefined(inParent)) return;
|
|
||||||
|
|
||||||
var _dtype = inputs[| 0].getValue();
|
|
||||||
|
|
||||||
inputs[| 1].setVisible(false);
|
|
||||||
inputs[| 3].setVisible(false);
|
|
||||||
inputs[| 4].setVisible(false);
|
|
||||||
|
|
||||||
switch(_dtype) {
|
|
||||||
case VALUE_DISPLAY.range :
|
|
||||||
case VALUE_DISPLAY.slider :
|
|
||||||
case VALUE_DISPLAY.slider_range :
|
|
||||||
inputs[| 1].setVisible(true);
|
|
||||||
break;
|
|
||||||
case VALUE_DISPLAY.enum_button :
|
|
||||||
case VALUE_DISPLAY.enum_scroll :
|
|
||||||
inputs[| 3].setVisible(true);
|
|
||||||
break;
|
|
||||||
case VALUE_DISPLAY.vector :
|
|
||||||
case VALUE_DISPLAY.vector_range :
|
|
||||||
inputs[| 4].setVisible(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static postDeserialize = function() {
|
|
||||||
createInput(false);
|
|
||||||
onValueUpdate(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static onDestroy = function() {
|
|
||||||
if(is_undefined(inParent)) return;
|
|
||||||
|
|
||||||
ds_list_remove(group.inputs, inParent);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,104 +0,0 @@
|
||||||
function Node_Iterator_Output(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
|
||||||
name = "Output";
|
|
||||||
color = COLORS.node_blend_collection;
|
|
||||||
previewable = false;
|
|
||||||
auto_height = false;
|
|
||||||
|
|
||||||
self.group = _group;
|
|
||||||
|
|
||||||
w = 96;
|
|
||||||
h = 32 + 24 * 2;
|
|
||||||
min_h = h;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1)
|
|
||||||
.setVisible(true, true);
|
|
||||||
|
|
||||||
inputs[| 1] = nodeValue(1, "Order", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0);
|
|
||||||
|
|
||||||
inputs[| 2] = nodeValue(2, "Loop exit", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, -1)
|
|
||||||
.setVisible(true, true);
|
|
||||||
|
|
||||||
input_display_list = [
|
|
||||||
2, 0, 1
|
|
||||||
]
|
|
||||||
|
|
||||||
cache_value = -1;
|
|
||||||
outParent = undefined;
|
|
||||||
output_index = -1;
|
|
||||||
|
|
||||||
static onValueUpdate = function(index) {
|
|
||||||
if(is_undefined(outParent)) return;
|
|
||||||
group.sortIO();
|
|
||||||
}
|
|
||||||
|
|
||||||
static initLoop = function() {
|
|
||||||
cache_value = noone;
|
|
||||||
}
|
|
||||||
|
|
||||||
static createOutput = function(override_order = true) {
|
|
||||||
if(group && is_struct(group)) {
|
|
||||||
if(override_order) {
|
|
||||||
output_index = ds_list_size(group.outputs);
|
|
||||||
inputs[| 1].setValue(output_index);
|
|
||||||
} else {
|
|
||||||
output_index = inputs[| 1].getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
outParent = nodeValue(ds_list_size(group.outputs), "Value", group, JUNCTION_CONNECT.output, VALUE_TYPE.any, -1)
|
|
||||||
.setVisible(true, true);
|
|
||||||
outParent.from = self;
|
|
||||||
|
|
||||||
ds_list_add(group.outputs, outParent);
|
|
||||||
group.setHeight();
|
|
||||||
group.sortIO();
|
|
||||||
|
|
||||||
outParent.setFrom(inputs[| 0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!LOADING && !APPENDING)
|
|
||||||
createOutput();
|
|
||||||
|
|
||||||
static step = function() {
|
|
||||||
if(is_undefined(outParent)) return;
|
|
||||||
|
|
||||||
outParent.name = name;
|
|
||||||
|
|
||||||
inputs[| 0].type = inputs[| 0].value_from == noone? VALUE_TYPE.any : inputs[| 0].value_from.type;
|
|
||||||
outParent.type = inputs[| 0].type;
|
|
||||||
}
|
|
||||||
|
|
||||||
static triggerRender = function() {
|
|
||||||
if(is_undefined(outParent)) return;
|
|
||||||
|
|
||||||
for(var j = 0; j < ds_list_size(outParent.value_to); j++) {
|
|
||||||
if(outParent.value_to[| j].value_from == outParent)
|
|
||||||
outParent.value_to[| j].node.triggerRender();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static update = function() {
|
|
||||||
var _val_get = inputs[| 0].getValue();
|
|
||||||
|
|
||||||
switch(inputs[| 0].type) {
|
|
||||||
case VALUE_TYPE.surface :
|
|
||||||
if(is_surface(cache_value))
|
|
||||||
surface_free(cache_value);
|
|
||||||
if(is_surface(_val_get))
|
|
||||||
cache_value = surface_clone(_val_get);
|
|
||||||
printIf(global.RENDER_LOG, "LOOP cache result");
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
cache_value = _val_get;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static postDeserialize = function() {
|
|
||||||
createOutput(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
static onDestroy = function() {
|
|
||||||
if(is_undefined(outParent)) return;
|
|
||||||
ds_list_delete(group.outputs, ds_list_find_index(group.outputs, outParent));
|
|
||||||
}
|
|
||||||
}
|
|
21
scripts/node_iterator_index/node_iterator_index.gml
Normal file
21
scripts/node_iterator_index/node_iterator_index.gml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
function Node_Iterator_Index(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Index";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
previewable = false;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
min_h = 80;
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue(0, "Loop index", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, 0);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
if(!variable_struct_exists(group, "iterated")) return;
|
||||||
|
outputs[| 0].setValue(group.iterated);
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
||||||
|
var cx = xx + w * _s / 2;
|
||||||
|
var cy = yy + 10 + (h - 10) * _s / 2;
|
||||||
|
draw_sprite_uniform(s_node_iterator_index, 0, cx, cy, _s * 0.8);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "node_iteration_index",
|
"name": "node_iterator_index",
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
31
scripts/node_iterator_input/node_iterator_input.gml
Normal file
31
scripts/node_iterator_input/node_iterator_input.gml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
function Node_Iterator_Input(_x, _y, _group = -1) : Node_Group_Input(_x, _y, _group) constructor {
|
||||||
|
name = "Input";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
|
||||||
|
local_output = noone;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
h = 32 + 24 * 2;
|
||||||
|
min_h = h;
|
||||||
|
|
||||||
|
outputs[| 0].getValueDefault = method(outputs[| 0], outputs[| 0].getValueRecursive); //Get value from outside loop
|
||||||
|
outputs[| 0].getValueRecursive = function() {
|
||||||
|
//show_debug_message("iteration " + string(group.iterated));
|
||||||
|
if(!variable_struct_exists(group, "iterated"))
|
||||||
|
return outputs[| 0].getValueDefault();
|
||||||
|
|
||||||
|
var _node_output = noone;
|
||||||
|
for( var i = 0; i < ds_list_size(outputs[| 1].value_to); i++ ) {
|
||||||
|
var vt = outputs[| 1].value_to[| i];
|
||||||
|
if(vt.value_from == outputs[| 1])
|
||||||
|
_node_output = vt;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_node_output == noone || group.iterated == 0)
|
||||||
|
return outputs[| 0].getValueDefault();
|
||||||
|
|
||||||
|
return [ _node_output.node.cache_value, inputs[| 2].getValue() ];
|
||||||
|
}
|
||||||
|
|
||||||
|
outputs[| 1] = nodeValue(1, "Loop entrance", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, 0);
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "node_iteration_input",
|
"name": "node_iterator_input",
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
12
scripts/node_iterator_output/node_group_input.yy
Normal file
12
scripts/node_iterator_output/node_group_input.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "group",
|
||||||
|
"path": "folders/nodes/data/group.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_group_input",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
58
scripts/node_iterator_output/node_iterator_output.gml
Normal file
58
scripts/node_iterator_output/node_iterator_output.gml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
function Node_Iterator_Output(_x, _y, _group = -1) : Node_Group_Output(_x, _y, _group) constructor {
|
||||||
|
name = "Output";
|
||||||
|
color = COLORS.node_blend_loop;
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
h = 32 + 24 * 2;
|
||||||
|
min_h = h;
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue(2, "Loop exit", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, -1)
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
cache_value = -1;
|
||||||
|
|
||||||
|
static getNextNodes = function() {
|
||||||
|
var _node_it = group;
|
||||||
|
var _ren = _node_it.iterationStatus();
|
||||||
|
|
||||||
|
if(_ren == ITERATION_STATUS.loop) { //Go back to the beginning of the loop, reset render status for leaf node inside?
|
||||||
|
printIf(global.RENDER_LOG, " > Loop restart: iteration " + string(group.iterated));
|
||||||
|
__nodeLeafList(group.nodes, RENDER_STACK);
|
||||||
|
var loopEnt = inputs[| 2].value_from.node;
|
||||||
|
ds_stack_push(RENDER_STACK, loopEnt);
|
||||||
|
} else if(_ren == ITERATION_STATUS.complete) { //Go out of loop
|
||||||
|
printIf(global.RENDER_LOG, " > Loop completed");
|
||||||
|
group.setRenderStatus(true);
|
||||||
|
var _ot = outParent;
|
||||||
|
for(var j = 0; j < ds_list_size(_ot.value_to); j++) {
|
||||||
|
var _to = _ot.value_to[| j];
|
||||||
|
|
||||||
|
if(_to.node.active && _to.value_from != noone && _to.value_from.node == group) {
|
||||||
|
_to.node.triggerRender();
|
||||||
|
if(_to.node.isUpdateReady()) ds_stack_push(RENDER_STACK, _to.node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
printIf(global.RENDER_LOG, " > Loop not ready");
|
||||||
|
}
|
||||||
|
|
||||||
|
static initLoop = function() {
|
||||||
|
cache_value = noone;
|
||||||
|
}
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _val_get = inputs[| 0].getValue();
|
||||||
|
|
||||||
|
switch(inputs[| 0].type) {
|
||||||
|
case VALUE_TYPE.surface :
|
||||||
|
if(is_surface(cache_value))
|
||||||
|
surface_free(cache_value);
|
||||||
|
if(is_surface(_val_get))
|
||||||
|
cache_value = surface_clone(_val_get);
|
||||||
|
printIf(global.RENDER_LOG, "LOOP cache result");
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
cache_value = _val_get;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "node_iteration_output",
|
"name": "node_iterator_output",
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
|
@ -5,7 +5,7 @@
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "number",
|
"name": "value",
|
||||||
"path": "folders/nodes/data/number.yy",
|
"path": "folders/nodes/data/value.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -66,21 +66,41 @@ function Node_Math(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
|
|
||||||
static _eval = function(mode, a, b, deg = true) {
|
static _eval = function(mode, a, b, deg = true) {
|
||||||
switch(mode) {
|
switch(mode) {
|
||||||
case MATH_OPERATOR.add : return a + b;
|
case MATH_OPERATOR.add :
|
||||||
case MATH_OPERATOR.subtract : return a - b;
|
if(is_real(a) && is_real(b)) return a + b;
|
||||||
case MATH_OPERATOR.multiply : return a * b;
|
else if(is_string(a) || is_string(b)) return string(a) + string(b);
|
||||||
case MATH_OPERATOR.divide : return b == 0? 0 : a / b;
|
|
||||||
case MATH_OPERATOR.power : return power(a, b);
|
|
||||||
case MATH_OPERATOR.root : return b == 0? 0 : power(a, 1 / b);
|
|
||||||
|
|
||||||
case MATH_OPERATOR.sin : return sin(degtorad(a)) * b;
|
case MATH_OPERATOR.subtract :
|
||||||
case MATH_OPERATOR.cos : return cos(degtorad(a)) * b;
|
if(is_real(a) && is_real(b)) return a - b;
|
||||||
case MATH_OPERATOR.tan : return tan(degtorad(a)) * b;
|
else if(is_string(a) || is_string(b)) return string_replace(string(a), string(b), "");
|
||||||
case MATH_OPERATOR.modulo : return safe_mod(a, b);
|
|
||||||
|
|
||||||
case MATH_OPERATOR.floor : return floor(a);
|
case MATH_OPERATOR.multiply :
|
||||||
case MATH_OPERATOR.ceiling : return ceil(a);
|
if(is_real(a) && is_real(b)) return a * b;
|
||||||
case MATH_OPERATOR.round : return round(a);
|
else if(is_string(a) || is_real(b)) {
|
||||||
|
var s = "";
|
||||||
|
repeat(b) s += a;
|
||||||
|
return s;
|
||||||
|
} else if(is_string(b) || is_real(a)) {
|
||||||
|
var s = "";
|
||||||
|
repeat(a) s += b;
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
case MATH_OPERATOR.divide :
|
||||||
|
if(is_real(a) && is_real(b)) return b == 0? 0 : a / b;
|
||||||
|
else if(is_string(a) || is_string(b)) return string_replace_all(string(a), string(b), "");
|
||||||
|
|
||||||
|
case MATH_OPERATOR.power : if(is_real(a) && is_real(b)) return power(a, b);
|
||||||
|
case MATH_OPERATOR.root : if(is_real(a) && is_real(b)) return b == 0? 0 : power(a, 1 / b);
|
||||||
|
|
||||||
|
case MATH_OPERATOR.sin : if(is_real(a) && is_real(b)) return sin(degtorad(a)) * b;
|
||||||
|
case MATH_OPERATOR.cos : if(is_real(a) && is_real(b)) return cos(degtorad(a)) * b;
|
||||||
|
case MATH_OPERATOR.tan : if(is_real(a) && is_real(b)) return tan(degtorad(a)) * b;
|
||||||
|
case MATH_OPERATOR.modulo : if(is_real(a) && is_real(b)) return safe_mod(a, b);
|
||||||
|
|
||||||
|
case MATH_OPERATOR.floor : if(is_real(a)) return floor(a);
|
||||||
|
case MATH_OPERATOR.ceiling : if(is_real(a)) return ceil(a);
|
||||||
|
case MATH_OPERATOR.round : if(is_real(a)) return round(a);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue