From 15586cc767e20fede1e32c3d3b1e66ec0f00c2fb Mon Sep 17 00:00:00 2001 From: Tanasart Date: Thu, 14 Mar 2024 20:35:19 +0700 Subject: [PATCH] 1.16.7 --- PixelComposer.resource_order | 22 +- PixelComposer.yyp | 18 +- datafiles/data/Theme.zip | Bin 4240203 -> 4239471 bytes fonts/_f_sdf/_f_sdf.old.png | Bin 82361 -> 82361 bytes fonts/_f_sdf/_f_sdf.png | Bin 82361 -> 82361 bytes fonts/_f_sdf_medium/_f_sdf_medium.old.png | Bin 59906 -> 59906 bytes fonts/_f_sdf_medium/_f_sdf_medium.png | Bin 59906 -> 59906 bytes objects/_p_dialog/Create_0.gml | 71 +++--- objects/_p_dialog/Destroy_0.gml | 3 +- objects/o_dialog_add_node/Create_0.gml | 50 ++-- objects/o_dialog_add_node/Draw_64.gml | 15 +- objects/o_dialog_preference/Create_0.gml | 6 + scripts/__3D/__3D.gml | 2 +- .../__node_3d_combine/__node_3d_combine.gml | 2 +- .../__node_3d_displace/__node_3d_displace.gml | 2 +- .../__node_3d_extrude/__node_3d_extrude.gml | 2 +- scripts/__node_3d_obj/__node_3d_obj.gml | 2 +- scripts/__node_3d_plane/__node_3d_plane.gml | 6 +- .../__node_3d_prim_cone.gml | 6 +- .../__node_3d_prim_cube.gml | 14 +- .../__node_3d_prim_cylinder.gml | 8 +- .../__node_3d_prim_sphere.gml | 4 +- scripts/__node_3d_render/__node_3d_render.gml | 2 +- scripts/__node_3d_repeat/__node_3d_repeat.gml | 2 +- .../__node_3d_transform.gml | 2 +- .../__node_VFX_effector.gml | 4 +- .../__node_process_template.gml | 6 +- scripts/__node_template/__node_template.gml | 6 +- .../_node_VFX_spawner/_node_VFX_spawner.gml | 8 +- .../_node_strand_affector.gml | 8 +- scripts/array_functions/array_functions.gml | 10 + .../draw_surface_blend/draw_surface_blend.gml | 4 +- scripts/event_recorder/event_recorder.gml | 1 + scripts/globals/globals.gml | 14 +- scripts/nodeValue_drawer/nodeValue_drawer.gml | 3 +- scripts/node_2d_light/node_2d_light.gml | 12 +- scripts/node_9slice/node_9slice.gml | 6 +- .../node_FLIP_apply_force.gml | 4 +- .../node_FLIP_apply_velocity.gml | 6 +- scripts/node_FLIP_domain/node_FLIP_domain.gml | 2 +- .../node_FLIP_spawner/node_FLIP_spawner.gml | 4 +- scripts/node_FLIP_wall/node_FLIP_wall.gml | 4 +- scripts/node_FXAA/node_FXAA.gml | 2 +- scripts/node_VFX_trail/node_VFX_trail.gml | 2 +- .../node_active_canvas/node_active_canvas.gml | 4 +- .../node_alpha_cutoff/node_alpha_cutoff.gml | 4 +- scripts/node_alpha_grey/node_alpha_grey.gml | 2 +- scripts/node_alpha_hash/node_alpha_hash.gml | 2 +- scripts/node_area/node_area.gml | 6 +- scripts/node_armature/node_armature.gml | 2 +- .../node_armature_bind/node_armature_bind.gml | 8 +- .../node_armature_path/node_armature_path.gml | 2 +- .../node_armature_pose/node_armature_pose.gml | 2 +- .../node_armature_sample.gml | 2 +- .../node_ase_file_read/node_ase_file_read.gml | 35 ++- scripts/node_atlas/node_atlas.gml | 2 +- scripts/node_average/node_average.gml | 4 +- scripts/node_bend/node_bend.gml | 4 +- scripts/node_bevel/node_bevel.gml | 8 +- scripts/node_blend/node_blend.gml | 10 +- scripts/node_blend_edge/node_blend_edge.gml | 2 +- scripts/node_blobify/node_blobify.gml | 2 +- scripts/node_bloom/node_bloom.gml | 6 +- scripts/node_blur/node_blur.gml | 4 +- scripts/node_blur_bokeh/node_blur_bokeh.gml | 4 +- .../node_blur_contrast/node_blur_contrast.gml | 4 +- .../node_blur_directional.gml | 8 +- scripts/node_blur_radial/node_blur_radial.gml | 10 +- scripts/node_blur_shape/node_blur_shape.gml | 2 +- scripts/node_blur_simple/node_blur_simple.gml | 6 +- scripts/node_blur_slope/node_blur_slope.gml | 4 +- scripts/node_blur_zoom/node_blur_zoom.gml | 12 +- scripts/node_bw/node_bw.gml | 4 +- .../node_byte_file_read.gml | 80 ++++++ .../node_byte_file_read.yy | 11 + .../node_byte_file_write.gml | 34 +++ .../node_byte_file_write.yy | 11 + scripts/node_cache/node_cache.gml | 4 +- scripts/node_cache_array/node_cache_array.gml | 2 +- scripts/node_camera/node_camera.gml | 8 +- scripts/node_canvas/node_canvas.gml | 2 +- scripts/node_cellular/node_cellular.gml | 4 +- scripts/node_checker/node_checker.gml | 6 +- .../node_chromatic_aberration.gml | 6 +- scripts/node_collection/node_collection.gml | 4 +- .../node_color_adjust/node_color_adjust.gml | 4 +- .../node_color_remove/node_color_remove.gml | 4 +- .../node_color_replace/node_color_replace.gml | 4 +- scripts/node_colorize/node_colorize.gml | 8 +- .../node_colors_replace.gml | 4 +- scripts/node_combine_hsv/node_combine_hsv.gml | 6 +- scripts/node_composite/node_composite.gml | 231 +++++++++++------- scripts/node_convolution/node_convolution.gml | 4 +- scripts/node_corner/node_corner.gml | 4 +- scripts/node_crop/node_crop.gml | 4 +- .../node_crop_content/node_crop_content.gml | 2 +- .../node_csv_file_read/node_csv_file_read.gml | 33 ++- scripts/node_curve/node_curve.gml | 4 +- scripts/node_data/node_data.gml | 24 +- scripts/node_de_corner/node_de_corner.gml | 2 +- scripts/node_de_stray/node_de_stray.gml | 2 +- scripts/node_diffuse/node_diffuse.gml | 2 +- scripts/node_dilate/node_dilate.gml | 10 +- scripts/node_displace/node_displace.gml | 4 +- .../node_display_image/node_display_image.gml | 2 +- scripts/node_dither/node_dither.gml | 14 +- scripts/node_edge_detect/node_edge_detect.gml | 4 +- scripts/node_edge_shade/node_edge_shade.gml | 2 +- scripts/node_erode/node_erode.gml | 4 +- scripts/node_export/node_export.gml | 2 +- scripts/node_find_pixel/node_find_pixel.gml | 6 +- scripts/node_flip/node_flip.gml | 2 +- scripts/node_flood_fill/node_flood_fill.gml | 8 +- scripts/node_fluid_add/node_fluid_add.gml | 4 +- .../node_fluid_add_collider.gml | 4 +- .../node_fluid_apply_velocity.gml | 4 +- .../node_fluid_repulse/node_fluid_repulse.gml | 6 +- .../node_fluid_turbulence.gml | 4 +- .../node_fluid_vortex/node_fluid_vortex.gml | 6 +- scripts/node_gamma_map/node_gamma_map.gml | 2 +- scripts/node_global/node_global.gml | 19 +- scripts/node_glow/node_glow.gml | 4 +- scripts/node_gradient/node_gradient.gml | 6 +- .../node_gradient_palette.gml | 2 +- .../node_gradient_points.gml | 10 +- scripts/node_grey_alpha/node_grey_alpha.gml | 2 +- scripts/node_greyscale/node_greyscale.gml | 4 +- scripts/node_grid/node_grid.gml | 8 +- scripts/node_grid_hex/node_grid_hex.gml | 6 +- scripts/node_grid_noise/node_grid_noise.gml | 6 +- scripts/node_grid_tri/node_grid_tri.gml | 8 +- scripts/node_group_input/node_group_input.gml | 4 +- .../node_herringbone_tile.gml | 6 +- scripts/node_hlsl/node_hlsl.gml | 3 +- scripts/node_hsv_channel/node_hsv_channel.gml | 2 +- scripts/node_image/node_image.gml | 63 +++-- .../node_image_animated.gml | 46 ++-- scripts/node_image_gif/node_image_gif.gml | 36 ++- .../node_image_sequence.gml | 44 ++-- scripts/node_image_sheet/node_image_sheet.gml | 4 +- .../node_interpret_number.gml | 4 +- scripts/node_invert/node_invert.gml | 4 +- .../node_json_file_read.gml | 77 +++--- scripts/node_kuwahara/node_kuwahara.gml | 2 +- scripts/node_level/node_level.gml | 4 +- .../node_level_selector.gml | 4 +- scripts/node_line/node_line.gml | 2 +- .../node_local_analyze/node_local_analyze.gml | 4 +- scripts/node_lua_compute/node_lua_compute.gml | 4 +- scripts/node_lua_global/node_lua_global.gml | 2 - scripts/node_lua_surface/node_lua_surface.gml | 2 - .../node_mesh_create_path.gml | 2 +- .../node_mesh_to_path/node_mesh_to_path.gml | 2 +- .../node_mesh_transform.gml | 8 +- scripts/node_mesh_warp/node_mesh_warp.gml | 6 +- scripts/node_mirror/node_mirror.gml | 8 +- scripts/node_mk_brownian/node_mk_brownian.gml | 4 +- scripts/node_mk_cable/node_mk_cable.gml | 6 +- scripts/node_mk_fall/node_mk_fall.gml | 4 +- scripts/node_mk_flag/node_mk_flag.gml | 4 +- scripts/node_mk_flare/node_mk_flare.gml | 6 +- .../node_mk_gridballs/node_mk_gridballs.gml | 6 +- scripts/node_mk_gridflip/node_mk_gridflip.gml | 6 +- scripts/node_mk_rain/node_mk_rain.gml | 2 +- scripts/node_mk_saber/node_mk_saber.gml | 6 +- scripts/node_mk_tile/node_mk_tile.gml | 2 +- .../node_morph_surface/node_morph_surface.gml | 4 +- scripts/node_noise_aniso/node_noise_aniso.gml | 4 +- scripts/node_noise_hex/node_noise_hex.gml | 6 +- scripts/node_noise_tri/node_noise_tri.gml | 6 +- scripts/node_normal/node_normal.gml | 2 +- .../node_normal_light/node_normal_light.gml | 10 +- scripts/node_number/node_number.gml | 4 +- scripts/node_offset/node_offset.gml | 2 +- scripts/node_onion_skin/node_onion_skin.gml | 4 +- scripts/node_outline/node_outline.gml | 4 +- .../node_pack_sprites/node_pack_sprites.gml | 4 +- scripts/node_padding/node_padding.gml | 2 +- .../node_palette_extract.gml | 2 +- .../node_palette_shift/node_palette_shift.gml | 4 +- scripts/node_path/node_path.gml | 26 +- scripts/node_path_anchor/node_path_anchor.gml | 8 +- scripts/node_path_array/node_path_array.gml | 4 +- scripts/node_path_bake/node_path_bake.gml | 4 +- scripts/node_path_blend/node_path_blend.gml | 6 +- scripts/node_path_bridge/node_path_bridge.gml | 4 +- .../node_path_builder/node_path_builder.gml | 2 +- .../node_path_from_mask.gml | 2 +- .../node_path_l_system/node_path_l_system.gml | 4 +- scripts/node_path_map/node_path_map.gml | 4 +- .../node_path_map_area/node_path_map_area.gml | 4 +- scripts/node_path_plot/node_path_plot.gml | 4 +- .../node_path_profile/node_path_profile.gml | 4 +- .../node_path_reverse/node_path_reverse.gml | 4 +- scripts/node_path_sample/node_path_sample.gml | 4 +- scripts/node_path_shift/node_path_shift.gml | 4 +- scripts/node_path_smooth/node_path_smooth.gml | 4 +- .../node_path_transform.gml | 8 +- scripts/node_path_trim/node_path_trim.gml | 4 +- scripts/node_path_wave/node_path_wave.gml | 4 +- scripts/node_pb/node_pb.gml | 2 +- .../node_pb_box_transform.gml | 2 +- .../node_pb_draw_blob/node_pb_draw_blob.gml | 4 +- scripts/node_pixel_cloud/node_pixel_cloud.gml | 4 +- scripts/node_pixel_sort/node_pixel_sort.gml | 4 +- scripts/node_plot_linear/node_plot_linear.gml | 18 +- scripts/node_polar/node_polar.gml | 4 +- scripts/node_posterize/node_posterize.gml | 2 +- .../node_pytagorean_tile.gml | 6 +- .../node_quasicrystal/node_quasicrystal.gml | 6 +- scripts/node_random_tile/node_random_tile.gml | 6 +- scripts/node_registry/node_registry.gml | 6 +- scripts/node_repeat/node_repeat.gml | 10 +- scripts/node_rgb_channel/node_rgb_channel.gml | 2 +- .../node_rigid_force_apply.gml | 12 +- .../node_rigid_object/node_rigid_object.gml | 4 +- .../node_rigid_object_spawner.gml | 4 +- .../node_rigid_render/node_rigid_render.gml | 2 +- .../node_rigid_render_output.gml | 2 +- scripts/node_sampler/node_sampler.gml | 6 +- scripts/node_scale/node_scale.gml | 2 +- scripts/node_scale_algo/node_scale_algo.gml | 2 +- scripts/node_scatter/node_scatter.gml | 20 +- .../node_scatter_points.gml | 8 +- scripts/node_sdf/node_sdf.gml | 2 +- .../node_seperate_shape.gml | 2 +- scripts/node_shadow/node_shadow.gml | 8 +- scripts/node_shadow_cast/node_shadow_cast.gml | 10 +- scripts/node_shape/node_shape.gml | 8 +- scripts/node_shape_map/node_shape_map.gml | 2 +- .../node_shape_polygon/node_shape_polygon.gml | 2 +- scripts/node_skew/node_skew.gml | 8 +- scripts/node_spherize/node_spherize.gml | 8 +- .../node_sprite_stack/node_sprite_stack.gml | 25 +- .../node_strand_collision.gml | 2 +- .../node_strand_create/node_strand_create.gml | 4 +- .../node_strand_render/node_strand_render.gml | 2 +- .../node_strand_render_texture.gml | 4 +- scripts/node_stripe/node_stripe.gml | 8 +- .../node_surface_data/node_surface_data.gml | 2 +- scripts/node_text/node_text.gml | 80 ++++-- .../node_text_file_read.gml | 77 +++--- .../node_text_file_write.gml | 2 +- .../node_texture_remap/node_texture_remap.gml | 4 +- scripts/node_threshold/node_threshold.gml | 4 +- scripts/node_tile/node_tile.gml | 2 +- scripts/node_tile_random/node_tile_random.gml | 2 +- scripts/node_time_remap/node_time_remap.gml | 4 +- .../node_timeline_preview.gml | 2 +- scripts/node_trail/node_trail.gml | 2 +- scripts/node_transform/node_transform.gml | 2 +- .../node_transform_array.gml | 6 +- .../node_transform_single.gml | 4 +- scripts/node_twirl/node_twirl.gml | 10 +- scripts/node_value/node_value.gml | 36 ++- scripts/node_vector2/node_vector2.gml | 2 +- scripts/node_vignette/node_vignette.gml | 2 +- scripts/node_warp/node_warp.gml | 12 +- .../node_wav_file_read/node_wav_file_read.gml | 21 +- scripts/node_wrap_area/node_wrap_area.gml | 6 +- .../node_wrap_perspective.gml | 20 +- scripts/node_zigzag/node_zigzag.gml | 4 +- scripts/pack_best_fit/pack_best_fit.gml | 32 +-- scripts/pack_bottom_left/pack_bottom_left.gml | 4 +- scripts/panel_graph/panel_graph.gml | 22 +- scripts/panel_inspector/panel_inspector.gml | 28 ++- scripts/panel_preview/panel_preview.gml | 4 +- scripts/path_parser/path_parser.gml | 21 +- scripts/preferences/preferences.gml | 2 + scripts/project_data/project_data.gml | 55 ++++- scripts/render_data/render_data.gml | 12 +- .../09941d0a-3bfe-4452-9cf1-33da4f83fb67.png | Bin 0 -> 1782 bytes .../73bb7ea0-23d2-4c09-acba-ffb7bdb51acd.png | Bin 0 -> 1782 bytes .../s_node_byte_file_read.yy | 74 ++++++ .../0eaa8003-157f-4ef6-b4bc-ecbc3987be17.png | Bin 0 -> 1728 bytes .../c5d46dc6-9208-4fea-8e67-042a0d9c58b7.png | Bin 0 -> 1728 bytes .../s_node_byte_file_write.yy | 74 ++++++ .../59746e35-8a9c-4624-8676-8eefedf4b76e.png | Bin 1865 -> 0 bytes .../a65b6a5b-56f0-424f-b384-c99ee314f30e.png | Bin 0 -> 2074 bytes .../61553495-93d6-4951-ac0b-4f9302aada09.png | Bin 1865 -> 0 bytes .../bf597068-214e-4b87-aa51-281d01051226.png | Bin 0 -> 2074 bytes .../s_node_csv_file_read.yy | 6 +- .../5056ed3c-88f5-426c-93a0-241530cdd87a.png | Bin 0 -> 2025 bytes .../8f1efea1-d911-4244-8e8f-f84b5f07e265.png | Bin 1784 -> 0 bytes .../4b9b0bbb-ea29-4526-a38f-2152f2a31447.png | Bin 0 -> 2025 bytes .../4242e5f2-a92f-441f-a61f-332c1fccc063.png | Bin 1784 -> 0 bytes .../s_node_csv_file_write.yy | 6 +- .../1e63bb4b-0c46-47b5-b9f2-7fcac7a18e48.png | Bin 0 -> 1968 bytes .../544e3062-0349-46ed-91f5-9f4543ed3b38.png | Bin 1756 -> 0 bytes .../cdd5f205-6187-4180-ae8a-0bc0ffbe4928.png | Bin 0 -> 1968 bytes .../71f87406-6969-4ed3-8bae-a0a16b96ea70.png | Bin 1756 -> 0 bytes .../s_node_json_file_read.yy | 6 +- .../22e621aa-1f12-4860-8436-205e6e945b46.png | Bin 0 -> 1916 bytes .../920af631-b5b3-482c-9f81-7131062b0597.png | Bin 1676 -> 0 bytes .../60fd2805-b9d7-4f84-a617-ae4e17792da3.png | Bin 0 -> 1916 bytes .../ba5b41df-ebef-4082-9daa-d4c343cfc6ed.png | Bin 1676 -> 0 bytes .../s_node_json_file_write.yy | 6 +- .../32854c1a-8616-4ac3-9960-1b941a4738a2.png | Bin 1555 -> 0 bytes .../837626c2-2be3-41ab-8cc0-8c24fe9652ed.png | Bin 0 -> 1783 bytes .../017e13dc-6670-43d9-907a-66709f235aad.png | Bin 1555 -> 0 bytes .../d72129fa-11d5-4404-8aea-afa16481c655.png | Bin 0 -> 1783 bytes .../s_node_text_file_read.yy | 6 +- .../89b07064-c4f6-496b-a3f8-b99cace28835.png | Bin 1476 -> 0 bytes .../d01d0d5b-77fa-433a-ad2e-80ce3722b213.png | Bin 0 -> 1738 bytes .../474efa0a-2e27-4818-aa98-a75708f4fa19.png | Bin 1476 -> 0 bytes .../5f955162-e42d-43db-8cae-634ba913384c.png | Bin 0 -> 1738 bytes .../s_node_text_file_write.yy | 6 +- .../e3356a24-b9f4-4c0b-972b-da970f6bbbe3.png | Bin 0 -> 1940 bytes .../f600e086-97a1-4550-abca-174b3b243d48.png | Bin 1974 -> 0 bytes .../fdec83a8-23f6-4244-abe9-6a2a3b41d171.png | Bin 0 -> 1940 bytes .../9875a4ef-d711-48b8-b516-a9d19283bd1a.png | Bin 1974 -> 0 bytes .../s_node_wav_file_write.yy | 6 +- 312 files changed, 1593 insertions(+), 1058 deletions(-) create mode 100644 scripts/node_byte_file_read/node_byte_file_read.gml create mode 100644 scripts/node_byte_file_read/node_byte_file_read.yy create mode 100644 scripts/node_byte_file_write/node_byte_file_write.gml create mode 100644 scripts/node_byte_file_write/node_byte_file_write.yy create mode 100644 sprites/s_node_byte_file_read/09941d0a-3bfe-4452-9cf1-33da4f83fb67.png create mode 100644 sprites/s_node_byte_file_read/layers/09941d0a-3bfe-4452-9cf1-33da4f83fb67/73bb7ea0-23d2-4c09-acba-ffb7bdb51acd.png create mode 100644 sprites/s_node_byte_file_read/s_node_byte_file_read.yy create mode 100644 sprites/s_node_byte_file_write/0eaa8003-157f-4ef6-b4bc-ecbc3987be17.png create mode 100644 sprites/s_node_byte_file_write/layers/0eaa8003-157f-4ef6-b4bc-ecbc3987be17/c5d46dc6-9208-4fea-8e67-042a0d9c58b7.png create mode 100644 sprites/s_node_byte_file_write/s_node_byte_file_write.yy delete mode 100644 sprites/s_node_csv_file_read/59746e35-8a9c-4624-8676-8eefedf4b76e.png create mode 100644 sprites/s_node_csv_file_read/a65b6a5b-56f0-424f-b384-c99ee314f30e.png delete mode 100644 sprites/s_node_csv_file_read/layers/59746e35-8a9c-4624-8676-8eefedf4b76e/61553495-93d6-4951-ac0b-4f9302aada09.png create mode 100644 sprites/s_node_csv_file_read/layers/a65b6a5b-56f0-424f-b384-c99ee314f30e/bf597068-214e-4b87-aa51-281d01051226.png create mode 100644 sprites/s_node_csv_file_write/5056ed3c-88f5-426c-93a0-241530cdd87a.png delete mode 100644 sprites/s_node_csv_file_write/8f1efea1-d911-4244-8e8f-f84b5f07e265.png create mode 100644 sprites/s_node_csv_file_write/layers/5056ed3c-88f5-426c-93a0-241530cdd87a/4b9b0bbb-ea29-4526-a38f-2152f2a31447.png delete mode 100644 sprites/s_node_csv_file_write/layers/8f1efea1-d911-4244-8e8f-f84b5f07e265/4242e5f2-a92f-441f-a61f-332c1fccc063.png create mode 100644 sprites/s_node_json_file_read/1e63bb4b-0c46-47b5-b9f2-7fcac7a18e48.png delete mode 100644 sprites/s_node_json_file_read/544e3062-0349-46ed-91f5-9f4543ed3b38.png create mode 100644 sprites/s_node_json_file_read/layers/1e63bb4b-0c46-47b5-b9f2-7fcac7a18e48/cdd5f205-6187-4180-ae8a-0bc0ffbe4928.png delete mode 100644 sprites/s_node_json_file_read/layers/544e3062-0349-46ed-91f5-9f4543ed3b38/71f87406-6969-4ed3-8bae-a0a16b96ea70.png create mode 100644 sprites/s_node_json_file_write/22e621aa-1f12-4860-8436-205e6e945b46.png delete mode 100644 sprites/s_node_json_file_write/920af631-b5b3-482c-9f81-7131062b0597.png create mode 100644 sprites/s_node_json_file_write/layers/22e621aa-1f12-4860-8436-205e6e945b46/60fd2805-b9d7-4f84-a617-ae4e17792da3.png delete mode 100644 sprites/s_node_json_file_write/layers/920af631-b5b3-482c-9f81-7131062b0597/ba5b41df-ebef-4082-9daa-d4c343cfc6ed.png delete mode 100644 sprites/s_node_text_file_read/32854c1a-8616-4ac3-9960-1b941a4738a2.png create mode 100644 sprites/s_node_text_file_read/837626c2-2be3-41ab-8cc0-8c24fe9652ed.png delete mode 100644 sprites/s_node_text_file_read/layers/32854c1a-8616-4ac3-9960-1b941a4738a2/017e13dc-6670-43d9-907a-66709f235aad.png create mode 100644 sprites/s_node_text_file_read/layers/837626c2-2be3-41ab-8cc0-8c24fe9652ed/d72129fa-11d5-4404-8aea-afa16481c655.png delete mode 100644 sprites/s_node_text_file_write/89b07064-c4f6-496b-a3f8-b99cace28835.png create mode 100644 sprites/s_node_text_file_write/d01d0d5b-77fa-433a-ad2e-80ce3722b213.png delete mode 100644 sprites/s_node_text_file_write/layers/89b07064-c4f6-496b-a3f8-b99cace28835/474efa0a-2e27-4818-aa98-a75708f4fa19.png create mode 100644 sprites/s_node_text_file_write/layers/d01d0d5b-77fa-433a-ad2e-80ce3722b213/5f955162-e42d-43db-8cae-634ba913384c.png create mode 100644 sprites/s_node_wav_file_write/e3356a24-b9f4-4c0b-972b-da970f6bbbe3.png delete mode 100644 sprites/s_node_wav_file_write/f600e086-97a1-4550-abca-174b3b243d48.png create mode 100644 sprites/s_node_wav_file_write/layers/e3356a24-b9f4-4c0b-972b-da970f6bbbe3/fdec83a8-23f6-4244-abe9-6a2a3b41d171.png delete mode 100644 sprites/s_node_wav_file_write/layers/f600e086-97a1-4550-abca-174b3b243d48/9875a4ef-d711-48b8-b516-a9d19283bd1a.png diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 0f69063fb..0e2bf898f 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -307,7 +307,6 @@ {"name":"node_region_fill","order":1,"path":"scripts/node_region_fill/node_region_fill.yy",}, {"name":"sh_mk_tile55_edge_r","order":7,"path":"shaders/sh_mk_tile55_edge_r/sh_mk_tile55_edge_r.yy",}, {"name":"sh_d3d_normal","order":18,"path":"shaders/sh_d3d_normal/sh_d3d_normal.yy",}, - {"name":"s_node_text_file_read","order":13,"path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",}, {"name":"s_node_text_trim","order":7,"path":"sprites/s_node_text_trim/s_node_text_trim.yy",}, {"name":"s_node_pb_fx_shading","order":3,"path":"sprites/s_node_pb_fx_shading/s_node_pb_fx_shading.yy",}, {"name":"sh_noise_grid_hex","order":2,"path":"shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy",}, @@ -322,6 +321,7 @@ {"name":"o_dialog_menubox","order":2,"path":"objects/o_dialog_menubox/o_dialog_menubox.yy",}, {"name":"s_node_blend","order":7,"path":"sprites/s_node_blend/s_node_blend.yy",}, {"name":"node_wrap_perspective","order":15,"path":"scripts/node_wrap_perspective/node_wrap_perspective.yy",}, + {"name":"s_node_json_file_write","order":32,"path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",}, {"name":"s_node_rigidSim_object_spawner","order":5,"path":"sprites/s_node_rigidSim_object_spawner/s_node_rigidSim_object_spawner.yy",}, {"name":"node_pb_draw_round_rectangle","order":4,"path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",}, {"name":"draw_text_function","order":10,"path":"scripts/draw_text_function/draw_text_function.yy",}, @@ -446,6 +446,7 @@ {"name":"FirebaseREST_asyncFunction_Firestore","order":4,"path":"scripts/FirebaseREST_asyncFunction_Firestore/FirebaseREST_asyncFunction_Firestore.yy",}, {"name":"sh_corner_erode","order":1,"path":"shaders/sh_corner_erode/sh_corner_erode.yy",}, {"name":"node_outline","order":11,"path":"scripts/node_outline/node_outline.yy",}, + {"name":"s_node_byte_file_read","order":28,"path":"sprites/s_node_byte_file_read/s_node_byte_file_read.yy",}, {"name":"sh_mesh_generation","order":4,"path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",}, {"name":"math_function","order":7,"path":"scripts/math_function/math_function.yy",}, {"name":"panel_preview_snap_setting","order":5,"path":"scripts/panel_preview_snap_setting/panel_preview_snap_setting.yy",}, @@ -874,6 +875,7 @@ {"name":"sh_kuwahara","order":51,"path":"shaders/sh_kuwahara/sh_kuwahara.yy",}, {"name":"sh_grey_alpha","order":12,"path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",}, {"name":"node_mk_cable","order":4,"path":"scripts/node_mk_cable/node_mk_cable.yy",}, + {"name":"s_node_json_file_read","order":33,"path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",}, {"name":"s_node_time_map","order":36,"path":"sprites/s_node_time_map/s_node_time_map.yy",}, {"name":"node_crop","order":7,"path":"scripts/node_crop/node_crop.yy",}, {"name":"s_biterator_tab_content","order":14,"path":"sprites/s_biterator_tab_content/s_biterator_tab_content.yy",}, @@ -899,6 +901,7 @@ {"name":"node_VFX_repel","order":4,"path":"scripts/node_VFX_repel/node_VFX_repel.yy",}, {"name":"s_node_alpha_cut","order":3,"path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",}, {"name":"sh_gamma_map","order":53,"path":"shaders/sh_gamma_map/sh_gamma_map.yy",}, + {"name":"node_byte_file_write","order":21,"path":"scripts/node_byte_file_write/node_byte_file_write.yy",}, {"name":"node_iterator_length","order":4,"path":"scripts/node_iterator_length/node_iterator_length.yy",}, {"name":"node_VFX_attract","order":2,"path":"scripts/node_VFX_attract/node_VFX_attract.yy",}, {"name":"sh_d3d_ssao_blur","order":1,"path":"shaders/sh_d3d_ssao_blur/sh_d3d_ssao_blur.yy",}, @@ -1058,7 +1061,6 @@ {"name":"dynaSurf_square_outline","order":3,"path":"scripts/dynaSurf_square_outline/dynaSurf_square_outline.yy",}, {"name":"node_3d_repeat","order":1,"path":"scripts/node_3d_repeat/node_3d_repeat.yy",}, {"name":"node_pb_fx_add","order":6,"path":"scripts/node_pb_fx_add/node_pb_fx_add.yy",}, - {"name":"s_node_csv_file_write","order":8,"path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",}, {"name":"s_node_csv_parse","order":15,"path":"sprites/s_node_csv_parse/s_node_csv_parse.yy",}, {"name":"sh_glow","order":19,"path":"shaders/sh_glow/sh_glow.yy",}, {"name":"sh_clean_shape","order":22,"path":"shaders/sh_clean_shape/sh_clean_shape.yy",}, @@ -1104,7 +1106,6 @@ {"name":"sh_blend_overlay","order":15,"path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",}, {"name":"node_sprite_stack","order":3,"path":"scripts/node_sprite_stack/node_sprite_stack.yy",}, {"name":"s_node_smokeSim_vortex","order":4,"path":"sprites/s_node_smokeSim_vortex/s_node_smokeSim_vortex.yy",}, - {"name":"s_node_json_file_read","order":11,"path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",}, {"name":"s_node_wavelet","order":34,"path":"sprites/s_node_wavelet/s_node_wavelet.yy",}, {"name":"s_workshop_badge_version","order":3,"path":"sprites/s_workshop_badge_version/s_workshop_badge_version.yy",}, {"name":"node_override_channel","order":2,"path":"scripts/node_override_channel/node_override_channel.yy",}, @@ -1142,6 +1143,7 @@ {"name":"s_node_tunnel_in","order":21,"path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",}, {"name":"s_node_pb_draw_trapezoid","order":10,"path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",}, {"name":"sh_rd_render","order":2,"path":"shaders/sh_rd_render/sh_rd_render.yy",}, + {"name":"s_node_csv_file_write","order":30,"path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",}, {"name":"append_function","order":1,"path":"scripts/append_function/append_function.yy",}, {"name":"node_3dsurf","order":4,"path":"scripts/node_3dsurf/node_3dsurf.yy",}, {"name":"fd_rectangle_reset_target","order":17,"path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",}, @@ -1163,7 +1165,6 @@ {"name":"node_alpha_cutoff","order":10,"path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",}, {"name":"sh_channel_R","order":4,"path":"shaders/sh_channel_R/sh_channel_R.yy",}, {"name":"draw_circle_functions","order":3,"path":"scripts/draw_circle_functions/draw_circle_functions.yy",}, - {"name":"s_node_text_file_write","order":12,"path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",}, {"name":"sliderRange","order":16,"path":"scripts/sliderRange/sliderRange.yy",}, {"name":"point_rect_overlap","order":2,"path":"scripts/point_rect_overlap/point_rect_overlap.yy",}, {"name":"s_node_bevel","order":6,"path":"sprites/s_node_bevel/s_node_bevel.yy",}, @@ -1248,6 +1249,7 @@ {"name":"collection_data","order":9,"path":"scripts/collection_data/collection_data.yy",}, {"name":"s_node_flood_fill","order":24,"path":"sprites/s_node_flood_fill/s_node_flood_fill.yy",}, {"name":"json_compare","order":21,"path":"scripts/json_compare/json_compare.yy",}, + {"name":"s_node_text_file_write","order":34,"path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",}, {"name":"node_rigid_force_apply","order":4,"path":"scripts/node_rigid_force_apply/node_rigid_force_apply.yy",}, {"name":"checkboxActive","order":38,"path":"scripts/checkboxActive/checkboxActive.yy",}, {"name":"__node_shader","order":21,"path":"scripts/__node_shader/__node_shader.yy",}, @@ -1259,6 +1261,7 @@ {"name":"s_node_array_get","order":3,"path":"sprites/s_node_array_get/s_node_array_get.yy",}, {"name":"d3d_bbox","order":8,"path":"scripts/d3d_bbox/d3d_bbox.yy",}, {"name":"s_node_mk_brownian","order":8,"path":"sprites/s_node_mk_brownian/s_node_mk_brownian.yy",}, + {"name":"s_node_wav_file_write","order":29,"path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",}, {"name":"Obj_FirebaseFirestore_Collection_Query_AscendingDescending","order":1,"path":"objects/Obj_FirebaseFirestore_Collection_Query_AscendingDescending/Obj_FirebaseFirestore_Collection_Query_AscendingDescending.yy",}, {"name":"o_dialog_save","order":12,"path":"objects/o_dialog_save/o_dialog_save.yy",}, {"name":"s_node_BW","order":10,"path":"sprites/s_node_BW/s_node_BW.yy",}, @@ -1323,7 +1326,6 @@ {"name":"surfaceBox","order":22,"path":"scripts/surfaceBox/surfaceBox.yy",}, {"name":"s_node_array_composite","order":17,"path":"sprites/s_node_array_composite/s_node_array_composite.yy",}, {"name":"node_gradient_palette","order":11,"path":"scripts/node_gradient_palette/node_gradient_palette.yy",}, - {"name":"s_node_csv_file_read","order":9,"path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",}, {"name":"node_fluid_domain","order":1,"path":"scripts/node_fluid_domain/node_fluid_domain.yy",}, {"name":"Obj_FirebaseFirestore_Collection_Query_LessEqualThan","order":6,"path":"objects/Obj_FirebaseFirestore_Collection_Query_LessEqualThan/Obj_FirebaseFirestore_Collection_Query_LessEqualThan.yy",}, {"name":"s_node_repeat","order":23,"path":"sprites/s_node_repeat/s_node_repeat.yy",}, @@ -1341,6 +1343,7 @@ {"name":"__node_shader_processor","order":23,"path":"scripts/__node_shader_processor/__node_shader_processor.yy",}, {"name":"Obj_FirebaseFirestore_Collection_Query_options_value","order":11,"path":"objects/Obj_FirebaseFirestore_Collection_Query_options_value/Obj_FirebaseFirestore_Collection_Query_options_value.yy",}, {"name":"__node_3d_mesh","order":1,"path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",}, + {"name":"s_node_csv_file_read","order":31,"path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",}, {"name":"d3d_surface_extrude","order":7,"path":"scripts/d3d_surface_extrude/d3d_surface_extrude.yy",}, {"name":"node_mesh_to_path","order":3,"path":"scripts/node_mesh_to_path/node_mesh_to_path.yy",}, {"name":"sh_kuwahara_ani","order":52,"path":"shaders/sh_kuwahara_ani/sh_kuwahara_ani.yy",}, @@ -1512,6 +1515,7 @@ {"name":"node_group_input","order":1,"path":"scripts/node_group_input/node_group_input.yy",}, {"name":"fd_rectangle_set_material_dissipation_type","order":4,"path":"scripts/fd_rectangle_set_material_dissipation_type/fd_rectangle_set_material_dissipation_type.yy",}, {"name":"s_node_gradient_shift","order":15,"path":"sprites/s_node_gradient_shift/s_node_gradient_shift.yy",}, + {"name":"node_byte_file_read","order":22,"path":"scripts/node_byte_file_read/node_byte_file_read.yy",}, {"name":"node_blobify","order":10,"path":"scripts/node_blobify/node_blobify.yy",}, {"name":"node_cache_array","order":8,"path":"scripts/node_cache_array/node_cache_array.yy",}, {"name":"node_array_convolute","order":16,"path":"scripts/node_array_convolute/node_array_convolute.yy",}, @@ -1526,6 +1530,7 @@ {"name":"node_image_sequence","order":1,"path":"scripts/node_image_sequence/node_image_sequence.yy",}, {"name":"node_text_file_read","order":6,"path":"scripts/node_text_file_read/node_text_file_read.yy",}, {"name":"node_note","order":17,"path":"scripts/node_note/node_note.yy",}, + {"name":"s_node_text_file_read","order":26,"path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",}, {"name":"node_pb_box_divide_grid","order":7,"path":"scripts/node_pb_box_divide_grid/node_pb_box_divide_grid.yy",}, {"name":"FirebaseREST_firestore_cursor","order":8,"path":"scripts/FirebaseREST_firestore_cursor/FirebaseREST_firestore_cursor.yy",}, {"name":"panel_preview_onion_setting","order":7,"path":"scripts/panel_preview_onion_setting/panel_preview_onion_setting.yy",}, @@ -1644,7 +1649,7 @@ {"name":"directory_object","order":3,"path":"scripts/directory_object/directory_object.yy",}, {"name":"s_node_isosurf","order":2,"path":"sprites/s_node_isosurf/s_node_isosurf.yy",}, {"name":"node_pb_box_divide","order":5,"path":"scripts/node_pb_box_divide/node_pb_box_divide.yy",}, - {"name":"FLIP","order":5,"path":"extensions/FLIP/FLIP.yy",}, + {"name":"FLIP","order":17,"path":"extensions/FLIP/FLIP.yy",}, {"name":"node_websocket_sender","order":1,"path":"scripts/node_websocket_sender/node_websocket_sender.yy",}, {"name":"fd_rectangle_get_acceleration_b","order":1,"path":"scripts/fd_rectangle_get_acceleration_b/fd_rectangle_get_acceleration_b.yy",}, {"name":"surface_draw_functions","order":7,"path":"scripts/surface_draw_functions/surface_draw_functions.yy",}, @@ -1712,13 +1717,14 @@ {"name":"s_biterator_tab_active","order":12,"path":"sprites/s_biterator_tab_active/s_biterator_tab_active.yy",}, {"name":"dynaSurf_3d","order":2,"path":"scripts/dynaSurf_3d/dynaSurf_3d.yy",}, {"name":"s_node_3d_extrude","order":2,"path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",}, - {"name":"YYFirebaseFirestore","order":2,"path":"extensions/YYFirebaseFirestore/YYFirebaseFirestore.yy",}, + {"name":"YYFirebaseFirestore","order":3,"path":"extensions/YYFirebaseFirestore/YYFirebaseFirestore.yy",}, {"name":"buttonGradient","order":2,"path":"scripts/buttonGradient/buttonGradient.yy",}, {"name":"sh_draw_downsample","order":2,"path":"shaders/sh_draw_downsample/sh_draw_downsample.yy",}, {"name":"__view_get","order":1,"path":"scripts/__view_get/__view_get.yy",}, {"name":"export_portable","order":3,"path":"scripts/export_portable/export_portable.yy",}, {"name":"s_node_texture_map","order":35,"path":"sprites/s_node_texture_map/s_node_texture_map.yy",}, {"name":"fd_rectangle_create","order":7,"path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",}, + {"name":"s_node_byte_file_write","order":27,"path":"sprites/s_node_byte_file_write/s_node_byte_file_write.yy",}, {"name":"s_node_level_selector","order":26,"path":"sprites/s_node_level_selector/s_node_level_selector.yy",}, {"name":"s_node_herringbone_tile","order":39,"path":"sprites/s_node_herringbone_tile/s_node_herringbone_tile.yy",}, {"name":"node_vector_split","order":19,"path":"scripts/node_vector_split/node_vector_split.yy",}, @@ -1838,7 +1844,6 @@ {"name":"s_node_group_thumbnail","order":34,"path":"sprites/s_node_group_thumbnail/s_node_group_thumbnail.yy",}, {"name":"__node_VFX_effector","order":8,"path":"scripts/__node_VFX_effector/__node_VFX_effector.yy",}, {"name":"node_path_shift","order":5,"path":"scripts/node_path_shift/node_path_shift.yy",}, - {"name":"s_node_wav_file_write","order":17,"path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",}, {"name":"s_node_3d_cylinder","order":1,"path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",}, {"name":"sh_pb_brick","order":9,"path":"shaders/sh_pb_brick/sh_pb_brick.yy",}, {"name":"node_strand_break","order":9,"path":"scripts/node_strand_break/node_strand_break.yy",}, @@ -1970,7 +1975,6 @@ {"name":"sh_solid","order":5,"path":"shaders/sh_solid/sh_solid.yy",}, {"name":"panel_animation_scaler","order":1,"path":"scripts/panel_animation_scaler/panel_animation_scaler.yy",}, {"name":"wav_file_object","order":2,"path":"scripts/wav_file_object/wav_file_object.yy",}, - {"name":"s_node_json_file_write","order":10,"path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",}, {"name":"node_pb_fx_intersect","order":5,"path":"scripts/node_pb_fx_intersect/node_pb_fx_intersect.yy",}, {"name":"fd_rectangle_get_material_time_step","order":13,"path":"scripts/fd_rectangle_get_material_time_step/fd_rectangle_get_material_time_step.yy",}, {"name":"node_vector3","order":17,"path":"scripts/node_vector3/node_vector3.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 1dd73795c..d6631cc16 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -501,7 +501,6 @@ {"id":{"name":"sh_mk_tile55_edge_r","path":"shaders/sh_mk_tile55_edge_r/sh_mk_tile55_edge_r.yy",},}, {"id":{"name":"sh_d3d_normal","path":"shaders/sh_d3d_normal/sh_d3d_normal.yy",},}, {"id":{"name":"panel_data","path":"scripts/panel_data/panel_data.yy",},}, - {"id":{"name":"s_node_text_file_read","path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},}, {"id":{"name":"s_node_text_trim","path":"sprites/s_node_text_trim/s_node_text_trim.yy",},}, {"id":{"name":"s_node_pb_fx_shading","path":"sprites/s_node_pb_fx_shading/s_node_pb_fx_shading.yy",},}, {"id":{"name":"sh_noise_grid_hex","path":"shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy",},}, @@ -516,6 +515,7 @@ {"id":{"name":"o_dialog_menubox","path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},}, {"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},}, {"id":{"name":"node_wrap_perspective","path":"scripts/node_wrap_perspective/node_wrap_perspective.yy",},}, + {"id":{"name":"s_node_json_file_write","path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},}, {"id":{"name":"s_node_rigidSim_object_spawner","path":"sprites/s_node_rigidSim_object_spawner/s_node_rigidSim_object_spawner.yy",},}, {"id":{"name":"node_pb_draw_round_rectangle","path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",},}, {"id":{"name":"draw_text_function","path":"scripts/draw_text_function/draw_text_function.yy",},}, @@ -661,6 +661,7 @@ {"id":{"name":"sh_corner_erode","path":"shaders/sh_corner_erode/sh_corner_erode.yy",},}, {"id":{"name":"__init_view","path":"scripts/__init_view/__init_view.yy",},}, {"id":{"name":"node_outline","path":"scripts/node_outline/node_outline.yy",},}, + {"id":{"name":"s_node_byte_file_read","path":"sprites/s_node_byte_file_read/s_node_byte_file_read.yy",},}, {"id":{"name":"sh_mesh_generation","path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",},}, {"id":{"name":"math_function","path":"scripts/math_function/math_function.yy",},}, {"id":{"name":"panel_preview_snap_setting","path":"scripts/panel_preview_snap_setting/panel_preview_snap_setting.yy",},}, @@ -1149,6 +1150,7 @@ {"id":{"name":"sh_grey_alpha","path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},}, {"id":{"name":"node_mk_cable","path":"scripts/node_mk_cable/node_mk_cable.yy",},}, {"id":{"name":"sh_normal","path":"shaders/sh_normal/sh_normal.yy",},}, + {"id":{"name":"s_node_json_file_read","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},}, {"id":{"name":"s_node_time_map","path":"sprites/s_node_time_map/s_node_time_map.yy",},}, {"id":{"name":"node_crop","path":"scripts/node_crop/node_crop.yy",},}, {"id":{"name":"s_biterator_tab_content","path":"sprites/s_biterator_tab_content/s_biterator_tab_content.yy",},}, @@ -1176,6 +1178,7 @@ {"id":{"name":"node_VFX_repel","path":"scripts/node_VFX_repel/node_VFX_repel.yy",},}, {"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},}, {"id":{"name":"sh_gamma_map","path":"shaders/sh_gamma_map/sh_gamma_map.yy",},}, + {"id":{"name":"node_byte_file_write","path":"scripts/node_byte_file_write/node_byte_file_write.yy",},}, {"id":{"name":"node_iterator_length","path":"scripts/node_iterator_length/node_iterator_length.yy",},}, {"id":{"name":"node_VFX_attract","path":"scripts/node_VFX_attract/node_VFX_attract.yy",},}, {"id":{"name":"node_fluid_repulse","path":"scripts/node_fluid_repulse/node_fluid_repulse.yy",},}, @@ -1355,7 +1358,6 @@ {"id":{"name":"dynaSurf_square_outline","path":"scripts/dynaSurf_square_outline/dynaSurf_square_outline.yy",},}, {"id":{"name":"node_3d_repeat","path":"scripts/node_3d_repeat/node_3d_repeat.yy",},}, {"id":{"name":"node_pb_fx_add","path":"scripts/node_pb_fx_add/node_pb_fx_add.yy",},}, - {"id":{"name":"s_node_csv_file_write","path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},}, {"id":{"name":"node_credit","path":"sprites/node_credit/node_credit.yy",},}, {"id":{"name":"s_node_csv_parse","path":"sprites/s_node_csv_parse/s_node_csv_parse.yy",},}, {"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},}, @@ -1410,7 +1412,6 @@ {"id":{"name":"sh_blend_overlay","path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},}, {"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},}, {"id":{"name":"s_node_smokeSim_vortex","path":"sprites/s_node_smokeSim_vortex/s_node_smokeSim_vortex.yy",},}, - {"id":{"name":"s_node_json_file_read","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},}, {"id":{"name":"s_node_wavelet","path":"sprites/s_node_wavelet/s_node_wavelet.yy",},}, {"id":{"name":"s_workshop_badge_version","path":"sprites/s_workshop_badge_version/s_workshop_badge_version.yy",},}, {"id":{"name":"node_override_channel","path":"scripts/node_override_channel/node_override_channel.yy",},}, @@ -1450,6 +1451,7 @@ {"id":{"name":"s_node_tunnel_in","path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},}, {"id":{"name":"s_node_pb_draw_trapezoid","path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},}, {"id":{"name":"sh_rd_render","path":"shaders/sh_rd_render/sh_rd_render.yy",},}, + {"id":{"name":"s_node_csv_file_write","path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},}, {"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},}, {"id":{"name":"node_3dsurf","path":"scripts/node_3dsurf/node_3dsurf.yy",},}, {"id":{"name":"fd_rectangle_reset_target","path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},}, @@ -1474,7 +1476,6 @@ {"id":{"name":"pack_best_fit","path":"scripts/pack_best_fit/pack_best_fit.yy",},}, {"id":{"name":"sh_channel_R","path":"shaders/sh_channel_R/sh_channel_R.yy",},}, {"id":{"name":"draw_circle_functions","path":"scripts/draw_circle_functions/draw_circle_functions.yy",},}, - {"id":{"name":"s_node_text_file_write","path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},}, {"id":{"name":"sliderRange","path":"scripts/sliderRange/sliderRange.yy",},}, {"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},}, {"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},}, @@ -1567,6 +1568,7 @@ {"id":{"name":"s_node_flood_fill","path":"sprites/s_node_flood_fill/s_node_flood_fill.yy",},}, {"id":{"name":"node_iterate_each_inline","path":"scripts/node_iterate_each_inline/node_iterate_each_inline.yy",},}, {"id":{"name":"json_compare","path":"scripts/json_compare/json_compare.yy",},}, + {"id":{"name":"s_node_text_file_write","path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},}, {"id":{"name":"node_rigid_force_apply","path":"scripts/node_rigid_force_apply/node_rigid_force_apply.yy",},}, {"id":{"name":"checkboxActive","path":"scripts/checkboxActive/checkboxActive.yy",},}, {"id":{"name":"__node_shader","path":"scripts/__node_shader/__node_shader.yy",},}, @@ -1578,6 +1580,7 @@ {"id":{"name":"s_node_array_get","path":"sprites/s_node_array_get/s_node_array_get.yy",},}, {"id":{"name":"d3d_bbox","path":"scripts/d3d_bbox/d3d_bbox.yy",},}, {"id":{"name":"s_node_mk_brownian","path":"sprites/s_node_mk_brownian/s_node_mk_brownian.yy",},}, + {"id":{"name":"s_node_wav_file_write","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},}, {"id":{"name":"Obj_FirebaseFirestore_Collection_Query_AscendingDescending","path":"objects/Obj_FirebaseFirestore_Collection_Query_AscendingDescending/Obj_FirebaseFirestore_Collection_Query_AscendingDescending.yy",},}, {"id":{"name":"dynaSurf","path":"scripts/dynaSurf/dynaSurf.yy",},}, {"id":{"name":"o_dialog_save","path":"objects/o_dialog_save/o_dialog_save.yy",},}, @@ -1652,7 +1655,6 @@ {"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},}, {"id":{"name":"s_node_array_composite","path":"sprites/s_node_array_composite/s_node_array_composite.yy",},}, {"id":{"name":"node_gradient_palette","path":"scripts/node_gradient_palette/node_gradient_palette.yy",},}, - {"id":{"name":"s_node_csv_file_read","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},}, {"id":{"name":"node_fluid_domain","path":"scripts/node_fluid_domain/node_fluid_domain.yy",},}, {"id":{"name":"Obj_FirebaseFirestore_Collection_Query_LessEqualThan","path":"objects/Obj_FirebaseFirestore_Collection_Query_LessEqualThan/Obj_FirebaseFirestore_Collection_Query_LessEqualThan.yy",},}, {"id":{"name":"s_node_repeat","path":"sprites/s_node_repeat/s_node_repeat.yy",},}, @@ -1671,6 +1673,7 @@ {"id":{"name":"__node_shader_processor","path":"scripts/__node_shader_processor/__node_shader_processor.yy",},}, {"id":{"name":"Obj_FirebaseFirestore_Collection_Query_options_value","path":"objects/Obj_FirebaseFirestore_Collection_Query_options_value/Obj_FirebaseFirestore_Collection_Query_options_value.yy",},}, {"id":{"name":"__node_3d_mesh","path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},}, + {"id":{"name":"s_node_csv_file_read","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},}, {"id":{"name":"Obj_FirebaseFirestore_Collection_Query","path":"objects/Obj_FirebaseFirestore_Collection_Query/Obj_FirebaseFirestore_Collection_Query.yy",},}, {"id":{"name":"d3d_surface_extrude","path":"scripts/d3d_surface_extrude/d3d_surface_extrude.yy",},}, {"id":{"name":"sh_mk_tile18_edge_b","path":"shaders/sh_mk_tile18_edge_b/sh_mk_tile18_edge_b.yy",},}, @@ -1866,6 +1869,7 @@ {"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},}, {"id":{"name":"fd_rectangle_set_material_dissipation_type","path":"scripts/fd_rectangle_set_material_dissipation_type/fd_rectangle_set_material_dissipation_type.yy",},}, {"id":{"name":"s_node_gradient_shift","path":"sprites/s_node_gradient_shift/s_node_gradient_shift.yy",},}, + {"id":{"name":"node_byte_file_read","path":"scripts/node_byte_file_read/node_byte_file_read.yy",},}, {"id":{"name":"node_blobify","path":"scripts/node_blobify/node_blobify.yy",},}, {"id":{"name":"node_cache_array","path":"scripts/node_cache_array/node_cache_array.yy",},}, {"id":{"name":"node_array_convolute","path":"scripts/node_array_convolute/node_array_convolute.yy",},}, @@ -1881,6 +1885,7 @@ {"id":{"name":"node_text_file_read","path":"scripts/node_text_file_read/node_text_file_read.yy",},}, {"id":{"name":"node_note","path":"scripts/node_note/node_note.yy",},}, {"id":{"name":"s_menu_transparent","path":"sprites/s_menu_transparent/s_menu_transparent.yy",},}, + {"id":{"name":"s_node_text_file_read","path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},}, {"id":{"name":"node_pb_box_divide_grid","path":"scripts/node_pb_box_divide_grid/node_pb_box_divide_grid.yy",},}, {"id":{"name":"FirebaseREST_firestore_cursor","path":"scripts/FirebaseREST_firestore_cursor/FirebaseREST_firestore_cursor.yy",},}, {"id":{"name":"draw_tooltip","path":"scripts/draw_tooltip/draw_tooltip.yy",},}, @@ -2111,6 +2116,7 @@ {"id":{"name":"sh_sample","path":"shaders/sh_sample/sh_sample.yy",},}, {"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},}, {"id":{"name":"fd_rectangle_create","path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},}, + {"id":{"name":"s_node_byte_file_write","path":"sprites/s_node_byte_file_write/s_node_byte_file_write.yy",},}, {"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},}, {"id":{"name":"s_node_herringbone_tile","path":"sprites/s_node_herringbone_tile/s_node_herringbone_tile.yy",},}, {"id":{"name":"node_vector_split","path":"scripts/node_vector_split/node_vector_split.yy",},}, @@ -2248,7 +2254,6 @@ {"id":{"name":"__node_VFX_effector","path":"scripts/__node_VFX_effector/__node_VFX_effector.yy",},}, {"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},}, {"id":{"name":"node_path_shift","path":"scripts/node_path_shift/node_path_shift.yy",},}, - {"id":{"name":"s_node_wav_file_write","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},}, {"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},}, {"id":{"name":"sh_pb_brick","path":"shaders/sh_pb_brick/sh_pb_brick.yy",},}, {"id":{"name":"node_strand_break","path":"scripts/node_strand_break/node_strand_break.yy",},}, @@ -2399,7 +2404,6 @@ {"id":{"name":"sh_solid","path":"shaders/sh_solid/sh_solid.yy",},}, {"id":{"name":"panel_animation_scaler","path":"scripts/panel_animation_scaler/panel_animation_scaler.yy",},}, {"id":{"name":"wav_file_object","path":"scripts/wav_file_object/wav_file_object.yy",},}, - {"id":{"name":"s_node_json_file_write","path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},}, {"id":{"name":"node_pb_fx_intersect","path":"scripts/node_pb_fx_intersect/node_pb_fx_intersect.yy",},}, {"id":{"name":"timer_function","path":"scripts/timer_function/timer_function.yy",},}, {"id":{"name":"fd_rectangle_get_material_time_step","path":"scripts/fd_rectangle_get_material_time_step/fd_rectangle_get_material_time_step.yy",},}, diff --git a/datafiles/data/Theme.zip b/datafiles/data/Theme.zip index 8433d2ea7d5045f374d72536c197faa1fd5bac8c..5262fdb24eec5aabd0034d66097f03df980b0e9f 100644 GIT binary patch delta 344850 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

A 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

#mK4je^b31dha5@4!Ynou<;(R~Kkr+4rIvf;A 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 HEA0knPEH3|u zBZzb$#5gZ<)Y%RuIawCy11Ipn(0#^4R;ojkDL7mi;6>A-gV@mhhe)^_CJPoEi!@$V z4G9A#WcB)AWg2+~`iDr21(u|%7psMFT`V;saAPc7K15=)n*~^G{6i#aorBqlq<;;T z7kVKM_wY8SPw2twDSBl+MXw<9p|_ZopclG5gx;cbYj`11i{3!M2=qYX3-lBMG=yHm zk?O!!p_j2V5Jb9!I-O-y+efBx%i3k?=kETrOkAL6N+pN{P1WJlcuzoEr^;I(qUA#* zQX)-VEznxW|3f5Rpj?8=VsNf5mVX*ac)&!=#o|LGKm_sf;D<;cLBYmH z^~*6pYNN}4h{S|Je7OVXc?Qf^z>K7}AOYjGb7RMb?r}J3(v+YhJaIOT%;DG0I z_PdQP4FxYp%8eE-3wtp*J%190&?&G9SDA(oW??)7-73SG5FD5vA`v^tQK}aY3JS0` zw1kxw=!cp-o>2}^NVCp>=?c14#v~cX%bOaKvwn!g<4gwzXG2N`VsZix0oH&u_>i^E zEy2>OtzLkh2+o|xRy%R1Tav2`Ni7Pt&ua*Pr7&Zo)xvm4n}^)s?SBf+8E(f0K1AZ7 zUJTCJM5DPRTowcaCBtLvN>J`~Bui4+rQ)7NdpjXJ< zR%wYH8qj$7kRSSqUeNH+)Xr?c9W@cyo;nWL5^^{)00u(?M1OJu8ayn_q;oitX%w}4IaEasmDOWf_|heW()8Z6^Cm$3O=09Oo6wB0Z>#61-PgH z574q&IUbtT!R|w9N;KK1p-jaqzH70PS56BY$WBv1TTN2R6&A2TuVOZw;}A zr@&$MT?9-8iwIVs0!UKk^d35n7m!*YP#{~!HjUQKMsgZ*Ain4Qm?|UkiR1{!0P)V; zr$LGkOIUDzo*3sp6{Av5(R}%bfjFF+0F>3^7$b-*ov%ObWPx;A90FP(YxD6)X@QKC z7IZOP?0>VIPU69&@ff$#l(<#Jtu&4Z!ldz*y27o#iUGbr1Ln&s9$%nZbV58-;k^8W zc;gwBMn;NWrUDS=teb5*>p-MLsT!C?;~0#vdK|%z-*~RASwhcnW}tr3ZuK6O zMn;05oDUjc$)X63lZToX1Bv zk*yAfT@$weC&_MoIqEt^c9}l?)u2Y9%PA(bAsW%nPiLKk(p4)x4ywPA=XPza8!R7&K6DjwuBJ8%3QXy}!U zMt??vMl42km99f69FNO4`4n)&5D7hGfMZlvO|wgdNNIs`0*IH7kWT>#HW-$vi_w9S zgMeDZapMw(52IEPTr%>2Wn$D0W?)gzj7COUbFp!XwKb5VX2VuL8AUNF@@QJK6G?A+ zR_cz8c-DqG&IF8?SQ5-XKzWlMZ+~tRi%|(Y&gw%3j9yP|EM!s_g~?)PRvd~! zCP1mg;lNVFnt+y9mCJ*iHMKH5Je{pTyo&(IvA=@P3$TD4Uc-EZqs>79S(b>VLr2Dd zz)N9fk^-1C^B`xAOo2~|X6CSj^_N`gtDXv@fDCPf$1ir5W|9qt&-S8jtLe~@CVwhH z2xvz-G<8ECG`n$R}Er%U?!`(jQsY3xP!439jZlEsE2X1mkL>&f(@Zgrm2M=}y zod=z_ljZo2ssxdk+s)+%Fx$h=$=5`u0CdLXc` z<`SjSKHch;U>FOL)Bzk|;m%r?7#tr7p8{e`O^5D`MdKeLF^QBY6$JS#P=8A97P_7= zgl-{~G7?h(SyTeXHvw)gH@&POpYgMVF5cWY2z?+ji%|-0IW`K`U{vZxrIC@3ORRwm zKTGHzBJoKCNIA;m!^tHnuIB4;2DIF=Lv8lwfK(aS)Kuj)HdbaazT8}VqFW6H#HbZg zYoNh#6eR_VoB}k2o@Z8qo_|6;MQ^n`q9@C}Lq1aok5wjxV1c;pU1fzMB0SzP%f)Dh zbOSm9G@GLni`K;iLkV8AN998#1Oym%11*Hz)wm`lf@O4OGA`Ft}u7 zc9ba9g8?z>LqSx6p%m_{l#^wFUPykt2Lj7@iwNm(UFK zTN=Gw;|XOX$RxqMSms>9=3?WIT#~Mw!WS4wFdu#rFpkNoLVvFh1t0QZYmG(AEeMUq zc)b#(V!LX^D2QTi{DP64H4-UN>LlWd(aDYS__8*D`Ao#tKyo&fQ6Clwy)qHSsJ-7| za4bX+1{k%RTp8KffEblR!<}{FxE;E~r+^%>w)z1Vb?B<5*<~)_mY@iFLN{QsK8x}3 zCnpj*!R_X9tA8u_Kn4g9UcN!_xIDnk(lHUR0|icvuj&g!#=JL`u?m=ggRIhtUOTS-eL znB!Jz5PydCCr1>cAa2Mh{N|<#eLQVK0>(QzTLnAN&_Muc%yKb`A~|66Vpgpfy*7~n zN7SJe1lM>ap8{5Ho6B1yAV!UNWKk^>O^0IYC%SlvHISQ)gi#4V2b4;gxMH-DaV$_P zI!TXRsTn+OoU)KH>ej^?$PhtgRFp$U(iH`s_%XKIR=8};dEMe5IlCy>??5mo53OE8qlScU9>_k#jfT#d9`49=m zLw|(kjq#S5S&V`#O$la&TY}iSVw9d-q*su7{Ok5%y%{QH4})ZoZbhu&&U%olm~ULZ&uPmrkjO7Wdil;k zH~8#hATlxDDsZO$C-y5I3INLuerg4sSam3v_c!@TSw{9&|Vd-AB?EA%E>b zW6(SS+D@l?$T`eP@Mp7!hS}or5?}-fyh`wQt_PRS!Ihi2RJaD$L(G*LF}&*LauqZj zG`xh|3kalC0lN>8@Ng;z)C`qtK;dGjQ^JD_rMj(9yV)s0*C0yaTsD-$fk!(f)I_KR zRQW=EHnfHcz==?v&GulSEFihqX@4bB-4aB*293b!lz^%YB%BxsIqP}5$KiA&1XKlw zA#L7iGX{*VoWg6TAykm0^&t|e5yPugu$1ND5m&__Kt4nQ5)cdd?s2$TC|8^4mI4Hf z3Y$ytsGuI+){!(epydfHMrw3WoI^*_hk~#KX-SS{0>;5jSb}1ifbj=~C4cx3up7o^ z*ZCAfAXmzL!x$!T=;jtsBp_}wx`6CQ-hdblKu+FzK4)(r3jvd|i=8e=E}%WB2a>tiKas%q>{!TmOw#vR!YmFad(|MRCII6NYO^ZsEnCS z^|qD4HEku2#w!tp4@n>aoqu&_NzqL6w)^TW;{yFu3xRc^hBk-Qbf^TjSv^A{aM`dJ z^+B=_(14LC^v&YIbb`l(e2PmM|q#!V8d||>akDx8Hm?^+#MsESc z$9oTPWXe7Yeu6NIL|zu(%QqSr=`Zs#^ z31Y}2lT3NAZ^%kTa9~ADgAYPJOHhLgF_6duT*1pZquL{WD|N5<*7Ak6pMHJU7h`Ox z)>dn*sr`N5^Q9KQwttwG>$~1Mj~F8ouS`Ez{F-h{s~#zRM1qzbze4M`dHh^$cAal_ zS~uN#w3z-)xEZN+<6O`qyo z?blp;Yjed`RCwJvyLPL!k9&Ki@6|J3enR zl+qV{YcV20v(}?6UVVtfK&9Wp!CJc!ttHdR95}K7%w9H{#dkDY&UIGz`Zb&lt-8iO5=x z)rUxU6jr~Bio0D@ycAybw%O|c``5iZ}%mK6d$^o3OfB>+850MxR#D5XNO`W`i(MwNYT6xj>rNn2x$3jazfnUm!!DN+Ry|?$bf}Jt=)xk%aNwU-VJ_;M1e{Bso5Uu zMdsz2xqlJ^iG(1S&U)Jva6T768JV?+CPo7!kOis_Y7UzA;hU}@r|=Tb=d8&TU6@9K z0qOh@iB|yal2I_QgwEPQRcKup6=8r;ZRr`6RETkQUu9T46U${&w+sLqV5LqE)-OD? z)u(O=j%I50*K|wpGW@Fbz^D**m;Vy&5_(;J!GB3z-gHZFoNO*{n!$FDXCa^v39lga zaKIGu39_XU;|5BgBqu;RB@GH_KNL+G}Y z=R;aH=&XMk&PrrrXzlSe+Y59MBlS670UF)H&N`G+5ms*s(8|=)qKT@8lSy9AClprGIetwZYB-(GfIDuSAOa&t>Khmn}djR4uugaTzI@^ zWO@8UsyLsknB2V*S*e$h#pRvc?L&UG%+d50Us>LsJP-Al8czKAQP374m6oSu>+ik;qZ0L1bcb zsnx$eMB)Y3vEgX&50TJ4NF7@9yczX8p-g`@15j2^aTt8a5KF(DaUa+G5Q*1^NR%HU zA&_CK*HrWIo{=sfcL@d}vs0^m&I*HSfikRjR?vm;IU}e#icmg8;zJ|?%qC|I2oQ;w z1q=_9l4XGkbj*g+f${Jm33l!AwA?NL4Vk*Z5hgZDkUBS{gds_7cP~@$U=rk z8Cnc43{4o`NPK~w!T18bQ9VVEV0?j|WmbZojz${Zhe&{&fRT+x8Xjo@86G4%d>$@e z76qafJzYm)ZXDxgC1~+h3$y~W%xr%s*edkG+{S?bTZP^?zCdpipds`g3~r6k^DrM$ z05NKZ=8bni3Vw>V2_khJnae$}ktV^gp23NQXzA8D)g&0|8&T?3Agkye9&ILjc(-7D zfu0t%#o-Y+$LkO>%t8;lT+AZn9zF4S@hN0L*Hs8i(~wj?R#TrzVX zr;uisqveuR+=P=$hO=CZI##V1ZDCCGo)8c3DnnAzz*%2d;g;Y9H65CBD@Lt+A6DiQ zARgp_@&U;l=&lW*Bk9Aur6Yf-!*r_By-vDN1~*t19;(;?u6++5*1IZf=2FcNW+Wv~ zGm?s=nT6Gsi=?*a?DADE1Q$KINV4P#L$0lBZD`A6vMrRriuQN|Zvx|73}Ov4fW=5M zrG^7Tgdu5>7cs>WJt&gaMg|NtxFuL;1s}2^h)76DMAF4Wcu$CvArXJ6J)g7MHIb3C z3nU{V>BbCXt~Ow8E^~4RTGVePKJR+RUl(oCB8sU z=mfeQJ_sDPayy{Z1e1vz$I%knCXiV!Mje~RMu4@UxrA_aQIkeOZP9X7=_2edUruZd zB9;X62(KV2!J5*P;4goO$_Igy4~+#%NxRj5h=fR<5KnMyGOdNGD>VZX$w<&h!T@=g z=TO*J_rO!YPYT5P$^t?Fl3?CaVF{mGgn*VOmBv3K*7i&J0Buo$X)d%|s!N~m! zS)*J&1L3URghli670(Rx3l!Ym8aEHSveGh*G4sa0+o0V<-yUR0|q_<#f>&;hA3utOjT>op4qqkhTSPz$cD zenM%1a=D0&a0q{U9+AkC5~YqKO$kzypHL)q=!7K*GN_n`>{hzbCG@suAoK<*kcT%p zeM0Z_KyY{olK_T?fh^E~Pc@`ijGD8&>AJJA-R}kC647+yX=%T+~@|H7Z?iXoPbi03r{cx?j_ zkU6@eKTWk(rs^gNA2QV$WonKVAX85mL+Bg{%kh7xFl4>VigW}FQuIKS0?|{Q6iTJY z#sKjMEDfv-4g!i{*sR`iLBO6*fu7JkDh>5Wm#@^s(Gl5TQ$wpmX+uuot8OnU`3Yz_ z3c;3;oQdGo0^O8c;{)VVaQjE=h=fItcvl~_kJ$J1@lreb)2h(agY~%YyN^`6-*;Rs zyN-XmYCP&uk1mc{yQpw6XW!VhzT>SwzEc-#cCpg0FZzqyw{I8q-j#lRQSa` z$Ldt)y>%X~iz5Ef+8?cpuJNT=Q|*Yv%f(z@Tfdolrd!kTzE~Ys`Zep(MMUD2x5YW* z`gnX-c-GoSD!OZXv#oWky4wBjcf8a`Bwl|mKK1>2Z@1&k_p?}au3{CdSVhr_*LS6K z=g}%|{yMtie#Rqq{FGWfy4SonweM8hyQx3Mwc`7f`cqo#XkAh3)4lT@t>?WxkN(zv z_5F^kd)8N1*Z+U%9Da3kALk`Z2iZaMTOgUyLJ7yG;8Yh^VMHJQ;V&o zSdTZ03T$_!f2no+v~Fwft)kPvIA`Bij~3&7M~dCEsBm4aZ~Tt+-aEVgN=KaE@zx`) z)o!hA78O@#yr0tQ+iR}aALr_p{;q%Z-fZbeE3H{nWV)Yv{&ByU>2~|~TCB&Kebg^1 zs;)azs`tBftUW)j_wUwq>-fc5|K6Ij&TdDV-D&j^JI+^QoN?Y`&f5C8 zt9bGMV|=aa5x=#&VrsYVYO`?V~V$rG>ZzWsiijC(QeNc+i~Mc^|tup?Bm=0Sl9eoQ|n{>ORM(LzV%vP z?@C8(GscdurZtb&+MBb+Z*Q&Q&Hi8Q=(*CoH`Y{RcYL#TeLe47#rM2#rrGc3tZS{* zTB>RN@w2@f)2uJOyIQUHwsn8g>)CG=^S##Mokaz9t!WnB6?eowVzJi0<3=Q2`$f-- z<5k?hK4S6K5s%le9q}Ep9xqM=Kyj;fU(b7g-W%hpbJqDY-a1q5cIUnKzB>SlcZ#=L zJZ`U6+g+)ql;TVu<(@76z3<IuukL#s>_h{eizWC|*wcdZnyLz?>jiU5D z_&;B)_s(?uO|ytZ4PU3!A`&%!sllQ;SH{ zvTxUvULQ5R;SpEQm~DSY;Z}RykN16ix7V$0-MiL|HO+N@&Hor%Y6DP*>bZ6N5nF33 zeXs71HGN7i^{Sn2OE(^I{c+Rq=+?)2_uhH$t*EqK?YQ2t((rhxkGa|cZ7sI+j*n2F zM@y^YV@m18Ti3n!t|PWK@ljYs0CokIW{XJBavrO;cyw(OcHe)SEq&?i8#}fz2TV*R z(&1XVf|yKXv#vK8jfTO#J&)D8c>TTVw=OEKrM71G`&HLkX+CM2ZLN3jJ61|R|7%y= zop)8ZwY00V#ygK0Uxl{$dcHJD@6~yGRp@;&rq^%wtuxNoV!X${_D74a;%&BcQ+jKq zwAa{bN@*VJ^=*H%)O!4)4_qMd!yY=X_ z{rDmhHBGhWn+TBqwchu-#$$EV)!MP=s>gcWb=8l3-1wd{^*n0NTF2lJ^F$&s2Tf_M z7(d;$Vt0^vZmnK*9%;4O!BMdH-@EtYAFqA4uietCx2=C8z1r#avDTXifZ_?h()a3q zviK>bHHS#NT(Q6Yzaqclx83&Q@&5K#xZ9hr^=j+*|Nd?hH$NV!f-0!pR9F9vF@25w zYPX-Y@0#(Yhy;mZ&s1-%y;i;Ty*OuTFQ)lgOsS>x>)!v5tG4*{YfCZxYA@Cp@A^3Z z-(9!O^}2udo$1@BJKxvTZmm7vzgp*v?TgxRzV~yzTKng0b=LU*b;fpM?YiRE6kkj; z9ku3tr&?z^ZpT}@rIk`jU+0=fSGa%PSl_GgueW-( zwfb*r_t)%s-)k|hm|CmAul?G*F&=ld*{kcFZGC@hUuTPN)uY`t(-e-g?|SXMuj$U# zQjM$iY8~%Nvv!@e9lu(yw$j(SR-14B>i^p6TeJVQ+oIU_E%yC*XNtG}Yp-ifX&v*` zjr*u7A|Ox83&QiWRl)ulK92IbW^)QhhVNzbVCIrFAPX z-Tr@8RMe|6wfa`Of5iJ0**bnpbGQ5ReXKoOzazfmrj}lN^QKjy9lN{6*(CQ-BnXOW?J2f3cA1U(Y-2u-nI{n&20N1g9|O1J)e_1^yWYW#n=V#m885+3^3iVEyM(iGS$BJr|x%(N=7 zTT$T}Yu8$PeU0^av$giti)nSIlxE+L$Lm&9T)L^n+IPN)gvX9gDP8;?9`#)Y<5s4c1YV&Amy^l!j-a<#Zx3<*gt*d|4 zqpm(?Pp#JO?AOPewa41L@6}Fs#qMLSc`Uf%J#K9E+l@Efzp))J&6L)v^;-`f>81Y} zkJW=nSSY=|>BcnYQF}7>ys!N`;*CgHevemMt-t0wQtA|ExB9WyAFZZV+uv4OQCrWJ z)_1SF>b$Sb)G5|q-`Yy|==Za>BKCi`)$-f!Y%%sYb~|FPcjLzy-|>!jk5+*%&iiJ| zk92#c_m0$(t*FR5|F*W`8h+wo0lM(;`Ff0;`hGU}1R8eM3 z9~6KCX-YU!I5;3C56DB&SR@n$qbLr7C1@@t!*;b(i_Ar zsmuRFXy(A!`Gq_Z4R?sVwbwvMp}-%M+C%-~h9=U7EG}w?hUfMAJ(e{hcIvEU?%b`e zrEIU(U$R`I3hkxi`d>FrK5~D%u6jjkEt@RVvr7xOV!kLYEq4~x@R0&tMp1`3E1@qSsF20N6PKk#mvj~1P6?1{G zCMU})3%Qk#3JLW#K?)u}Cktm|@ms8HqYf-*Q1csJ8L&_UOQOw|sSmMP>ziDwa3ZGgAI4$f#zAnF=bX++5 z^6J?f7oCDg!sUtad@HI2@zqJwab#aXkD)=Q3Ju*33T4zY~87)HEZdkr=3z+p#foC}3&$ys$PodcH)JXS7B_lRA#A=ld^uFqbgr!QxoR(sP&-`R z>WQ|VCjcx6bg_Rpjhv85nXQM$bJhGK9{yU*jTNJ?RXp-`C3b#Y`Bs|Y^b&b4g<8F= zh;mV~jeLhqS8;RBtS;ZOa_IB!RO+=gW@c^^N^MGXNynp$CJ`JDmpqicOEMj8ljL8W z7}s)|HFs>5Ek(Lr9#>BlDc3Qj6k0OEHftI-pikQEc3OXI+%Q|?n5Ook^L4F496_XT20grGW0X6z|n2lS%>VPe`XGAfPd0&;Epsw+k;g zJd!9-a%X?8HPTHu&q3ato6uedqR;KWJL4Uc`-zEfpTC?V)wQd{Sg9As8(sC#uo^Q_(fRT+!`hJ> zPdz6k6I~%`#EnD~RCn|w^>8jz*?!qM%FI)xDffThMNJ%D4I>>zZ~nTnbPrqU{)Rco zJ()W@#)BkA3v-a8n}36vTVZl&5!GWeMO`A9m*%*uZDV;}cGXMIQc{_Wq-{^7ino+1 zW@FYaYiREBearA{%D5+q-7~Jl54|kQd2*p2JY`$BVod&>(Yw`3$(dtn2<5Xe7dg9VL`2~lP5~6>2)U20>$<`H(r#AS4_r$xb+BGIyYUWXZ zg5rNQc>fDgF229SX4$W?q8>~k6Fe?=XbfpOcT=sV=?7Wt<7Yr$m|b>SXVkqlrVb2LOP8d_scVhZg4m(NQIKh_sYU z54&_hdF428PmV1W-)4q}X2d2k<>X!)BC!;@9y`!r6F1G>Ri2GkU3~&)xfrWuvHbR* zN+m0l{cv7yuF`$tPP8AgVjaP1B|m@c{`X@B8^skO)AEa*U=oJENmA1ay`?o(7h6Bp z8>a5ES}Rv`{dnM6oMHsK+3_7>SM8@}H#^fy&phY~P;#z`7Q)2;MnoOvps$4Q!SkW& zBT^-x_%9s#^zYoY-9}jHsFVAV6Jx9%f?29tBzlAdv}sK#Q_HM`RSH9T<2-+~K@re& zz5HMS5bTxm$lzTY2lI@ik0m1y(lMWDxd-!lGJVc6Rm@!7q~w3xl&o;|gE_k??UR%~ z1-sPAo*}e)2f8+B?R~iWbx(1`xeE?YAMm0lFFa#FG_yk+f z+3{ls^;e4g_VNCY7BvTmGc1oC#63SX%=EXd9qZ0j*Lg8e#5HBz0DOP(AED3W-TE)I z)DJe7wjKo15x4B+Y^h3#1Y(o!1xhUpl5$bmn6OqkE94YUDD48LaMiv`p<9EU)RsX zQT@sZ&yCfJf2dDbDg}R{`qorbo97=e8MH*Wa1v-5RM1p3Lt&vx{=o=-0)QGo10~1k z*m?j()^tweoCMlDv?3Yi74RQnZ)E}?a3u(k+r{42!uq)WM74PvQC{hB1WS~Zvq#H3 z-Bx7u0p#f=ziUtAp@zoxHGAAc5(K-AgGGmkX^HUB&e#ho7A zCy2#HV$|)~XD3A4lMh9h8EIAvY(_3tjzzd)WN1PVJX%8r-1HTwZ&%d(*$lynDp|qN z6-i+`hx+CkkpO>ih1k?8wI4!b886B4v>#9ku~Fml>>mINTHgUV9e^ydV7G|BOms)_ zQKI;Y$K#N1(JN@_)Nl)~46$x0aB84o-v86xFlJxtJK~6A;+2Rs2PtR;T6bu~-MpBz z7HVlggxdq?p@&?@Zce6(Rv6OlU;A>W`(MzDxT4v-6H|YbE&9>9Z9DTC&>e73U+f}m5j5YB_ijjE1K-i2)u2T z5*+2N$qHQzqo}b#)gL^VHT-(yj9?J8mlQ(vEoEv##D0#d{|2*{mT5ea=zu@CyHfI0 zPeQ2vF`$2@P87vw>RJ#tcrHPqb&)zhEw<%{3G8U+H3HTI-O%2_b@Ejq1 z;!p31t+gN@48*Fh*4QDS*^XD7N?n8R8~Kn2f$4t_=5I#P@yyXc_m3%w;Q@3BzNO#> zWBY}N4rKMZE2RHGiM~ti&g8{{8U}3H@TtkeIx_naedL9B)C^&VLJuE))SMs1oV11;#8{G5v1L~sgOxW<#Ki(%;sgZW=Am> zB2QU!@v-nOg>UdMMtAprES_Y2P8{{tT-Jx$(=)!s5A{L+>(ndwk9$Pa?K4I6;c;^cZ==Tq z8UTt0Ay#?QRAGA7HgQ3xUlnDDRM|MV zJfhH=P#)_Jf$O1tYxH>rSsEp)ARbnX>PHPLL*!HqJTL{KNh1M*4~w(WHp9(}E_Oku z8e7eJpmJ>A4xE10<*xnVEeCA)Qj0@EV8iWsF;|DhE0f$sEb#z7o9NOw zBu*a6!$74VcFOWPyHZOkOKL0g*PnJ{jyamGAstw>5?doR2wx8s>EA8$D0AtA7LZaA z*r$in{|N<7hAD(Rdym%n>NeW(zTyW~doXJUX<0K{;v*YtG{Mr7s&t$aKGPC&ECQTevi|6V8Q5rVoM2S;of9Lc@PYm@;bw zOnRn203lidS06j(5CMPw2`D3+Vapaxv{O~9FsVil9IoXxej}>Pm&>RyQw!8& z9MkXsJ2gWGabU8ESrQ`}OJ^Z+#gaWg#!5@f8(S)EXGZVKC{!lp4b|rEIW_B}qDPXF zIi_nOo;G;%$0+<~o0wr{<01l?mwaQZD#UggvAiM*)Z`@P&uf3HOn2`sqx(Q4#?es)mQ`Mi}8(G_XEChL=N84Z+ArV+9H><^GzpW#3sOqkZcGMrP*RA z*J;yggS+QgQmoy6E@p?D*sgXT^Jivs%httY!Ek9{L}fQy9G>jK^VhJ781l@0;EH#b zXbzpDy8FL}xil|)7gEj59qb=*lO1`R5;l{0>?L(LWFLS3Ri@oi2osxL48`j1UNM!D z%y3*+;=&o7IQm?U&d6a(?3x$YE<^a#s;I0xV5@8Fp#QI1& zjXty1$fWybvGyA_U7T11?E=YB93aUA1R&>MZJ~utaE-Pb&(rMtgn=-xor;Hk9Sky7$0$|-mB6}oO=kVJw3Hi3VFkpY*qhOHQh*z2X@Iq-YfyQdJameIj7cK7h z*Cd`hoK0x9K9a-N*Wjpmmol6IVd&xk=dwVD&!|F)q-4(FhGK|W8dr*TE(J{5H*Trc z`ewd;!BZ|EFIoX({PO97DFBvod-vsSZ4IM@(&)|81ajAEraZZ=sH5P>gi@Y*=)8ZI zy25nU^$V6Ng~7!)Ke2N3%ZYwibwJfPj$F;7o4Am{Ovlr4W}WSH%T1L;tj`RMehjV4uv65!)0(KX|$QN)O!1KL&$BfWhC)jnvj?T@uY7r>1ZZIfgm)9KUB=@8Nmqz#%sYb|hPBtS2rjKB{>fI?FEswpl z`;xJ{FM^YDOL{16oU7WCVA6jWkTm}RT=(VE=r04KDU|7m9EJRTpNfRD>I)gg{Bvzd zzk-mn%)FX3Dmx>m7+V_~5Q53(7HLjvJ2d0udv&n;FM)1pm`8sU&Ivf;58(_*u0QQ+ zR#z0D=|F`UKHXP$XThV%Ox!3PmTm2xF9hh?aeFhvs%w~m3${f)0waGUM?5T2i{pC3 z0J%xL0H3I)e^np^99BCyY3k4o~7XcazlTWR$Vtv5uMyPV4&= z4d1X+47egPE^~0v=)5nSIU?jx9pz3Eh<(em_Tm#LO4^g}YEC@@UKH(e%*zTlU(^bI zWzllK2jTV_MN4qnplg4-!goJh*6A;j1$b~&0xyztJCWY7PZhje$19>kVgwaKNK!D- zh~emyi|+UcqnIW9V}bpTt0FDUw+g6ig_8_D3ma*8F5WI#(iXvyOrRzQuV&xY<^Z(H z1;cL26lHdgRd`7;dd0&Lm@JMV)Nb=Yvplm!OGNO4AAhM8;d6gBkxg-~7p}-lT}T*% z(u6-h-c`#qUx)|NeisQ-rklM$Tls2RE+S2%#k_WDrSJSpHO*ifEsz)SWvoMIkd+yQ zU|S`ou1VGr{BQbfR$y32fCcV ztgo)Tzr^Acc0?2#-V9Ud2KkKAv~C>?~rIa>PU^>()uWy+Dl?vWZH!{U;-DQe0; zTgDbpf=G{C_TmOk284LIZ4G622msbS!XPFwQ{hdXB;S94QVCG#cvWyq*GsFrR_l3# zgw=5eL;a32tK^X-0$#%p@X!WYO2LOiww-d9UfGj@z*R_9}9mq#w15EgoWhBi`^Cl?Q;KUn|!bMFeqtN8>uSMN;cbRqOi+7b`a_p}6 zflp)RMeUwvbnSxaDaQC%{ym5hZiz&sazO@6Ux*`|>a3-5WHB&kcP)i}q)d~!VvR|f z;((A6v>APh!dA??$kA^P+!Zf><&V>a%X^c&k~e?cFxNaP2<0G2t6|A>lIVxHz*9-Y zW<3p_O~4IZql)!9CgA0Br9zyU34;)cL>lOQe8SJrHI)LOODBY%|xO#aPrmDwh&RbO`C zKpcOO0B5KQ#yk{Ju6Uz+>ajbP0B6O1IS0apH~lS0h3jYQ;6*%meyH?Ym@!It1(fbZ zOzhNvr70}lgc?jO78er!tg=FNT~sV(kXtSClZK(HS-Uu@cC5SEGWZHL{c+|X(DDV~ z+zM2h7{WhV-fdya0vxC3jy6c8+d*dtFK>T^2Psy!j~O8$Y01&3z?If4zAK6ORI@^G z8+W=l6WSTn88-*-M0MTc^*XoW(ta)Zii?;RDo9ZVMkS<7NavxSu}HKe3au3gd3N2n zM@D_SfR3#1V1J-$8I)EKz8x`8Zp>k7Pz>SFW)GAagMvN5y6He^b5TI~B>6yn3oL(s zk_h2y6Nhq-$tR{rmW0drNNR9l!^wL}CRwTQKuRo*NEOtH&HA_+{ShvUaYUu4m^Pds zd?Ui85+w&{;A{(5YWEcq#TKs;E)Y3XMc$SWF7(Deb9F++(_RNy2u&@aB2YwG`5p)w zQQ&Z3MMYE^d!QRp_~C_?BBVytOD=yXqAVZIM%1BC)e}V&4;oRCmnkk%M5T>*5JSd| zsIQ~`vlLOpM42tBskt$59xI{_3uY0GsGI1f$PO|>5!EO#nHoKJ6j5!5pml3{LpGvr zv(o8SmPQd3L_un58n2*(LqHKl9E9G^YegI1?MU*!SJP=u%A_;$qTrwx& zq~XUZ1&dc=wZf3MqTU)&5A6;#^@A#+PBm8}O3Q6rh$4#oji@P(UMiw=tHIE&h|srN z$!eFW4JxACbtj^$q)8)+IMGKKZj%yv(gpV~Q^u3SnYgwQB@}d^$o*o%i6RQ;m!Fw` zQ4lh5RwD{(atfVMM6E-al}3LQ+-rPnrHC@l$=GD98&Mmp8Ul)_A-?#81QxL*im3QC zqFnb+K~qH86MMuZ$6DgvCSO(&UWtYID2eaL2YJHZi8%lD|!rgz;XYIdD3)$H1 z%ctw>sI=U$GGLOW5r6_4+--PL+LKKQEoAVgW5^uxl>eG_t+P_vlJkGz^e$A7)5K}t z!Zt6Fc1h@FzK{yWMEUt=m+CBq6cVx3{zj|5XKovdtrfXtP=`5M*rJ@rWGWNi&m2qm2rl?h%dl&rb# z;agf(E%~Ldi|$aSL@X-Qhq=Z)YU-p|!&UFBn}W1-I15KA0zR_T9;j|>7&>OW#uKE= z$Rsc+i_WIQE-5mN#qZbb!ju<84I$Ss`VqTgA^R?h(wo zI5_{af;%VmHC2BpS^O*q`_H1Oknx}dwxK?9gyYZQ`T}U95 z&vNIWWu)nEu1F~Tvlg?3jtGACqy7{Nug>?`y!lyJl-!YWPyygxwF%j){*|Y&&o-iD z%Swb{HD6RfK!S4e8%bro$-H2keF9Mruy8{fVb^z%3z9> zfP>QJ*JW-%=)RZsLg*sE|@?H;`uyNhc_&XA(;G4Uj$6`N)Brs~8$jHx15;4Syn_LCOCNp8boX@7_pXGlKT{#z8D_>{G=4Y99&8Xk{&sxIr zB>-{a0hXbN4?~SQNi#@zpmnyxjKKhh!z-}~ucYZAK>^@r5sY~@?+Q$>i^^y@}7uCZN1b89Iyu9%lGBPH!vtk7v z=GiiPM>>+FlK2B=XHnkuu3H3x=!DPl{99879uIH|@w%2?_4%-&HR>9d)K9IsN^(#;ug^@uAm z)3t%01?rDW6M!f;da!qL<7e3sRB3I(9^kBW8m3jmWIP)ifJd2u2=TyBBLToe5fZHo z=jV*P(k0|`Zlo)*w(Vci4dD69p*Vj$sSJjk^CHgKNF5Z*hvj1=P^&Qd<(siJ!$B8(hN3TgnW` z7H%%-Q&F-%W0Jp}9KWixS3d}^OTBQJ(pQY;ziVGOOga_yi9as_)By=T+Fp&-Zx%{k2{QxLD zdex)zR@+MrfzMT{P(p$v*;viYt1PRA=59salwB!jiIf*FT~kkykLV`ALM7$I&4u~% zf#f<@K41}gB0&5cH#O?gknMkSr>@1Ghz8do^Qw!0S_$O3D*B|MR`P-5XT@xPJNrWE zJ;PO6y?vMeEUa!h?PaMha{gHiR+-_t*{Wm>;T>Dj5p6_B`B^Zp0B(LIQpq+b2+KCN z7~bcZIzZd?8+LNNVR%(+r%04R7^(V}7l`TQ=-wZ22lc&rC&~@-7zBS8Caiy@Q47Yi z3XJc#v}{@Pgk}J0Ij<5CULx|Q_J0;Rq;`p+q^V@EW;WvYGpG+F{KNB4o}eh+=z5bB z)`Kdw8{}t63Pyg{1!B1g*#rV07axEPOud}2oY@9xeh1JLbhqmdgNO*r6 zf0du5Q8&oMC(+i%iq``C1Fc}%So!?3EZ#*4gk-g(ZABu`T6P^z1|JuCk@NqDRF1T^ zfd#zC`T5^AH~auRv(7D|*-c2NR4WIjl~FJSpWCz^%YFxBME=)CZV@-H zDyQQnc+jnK^NqQA5{ig&8NLP)D-d_Tsay&~W}JUk&gFy2W^8WO>Pls7n)9`ge9Kb}-4}C?aHvNnuXKrJ1EZJViq1J|Y_T zZ%hF9O&hl}cKIa#tj;#yCYI8ZvE=`7cHYQswXl{%uzAU`=!8 z6mv8NQ5f+x?RAP+zS=f$BpYW8-dlKOuERK)`AW~Ne9eEg#j;g^VpO73fno`5*&SA; zY}^eXaUYJTCQEi&3v2l#&EVg754``Z`px2cU7H+A1}@uQGe+cREmuiSxaBAjbsn+& z1>$!%+gL2&Fv1-h5@iUY_|MWhw#+!Oq)%BP*)&~&S>Ch)CXAnz3#}%Psg)Z%#J9K)i{o$ei-udZhZs}@8A()D<`?w1>e8zf@)MozJ!-OKKb8(c3_IMQ|s5+frr*X69}En zWltL#gNX@_CK;KCNMaMWcq}4)dM~8f9%_>U%@l3)J%k)SW9X;W{uKPx7~0Gh$ja1^ zk#c{dNmLt^nr(o~DK1zdSSk>HE|WFmssQ!)kOcI$>KX+0u^0=gfICN$CYSPl5NJ;J zD2+p+wurSKLE%^MEmF|@>QiL5_sL=TRTCb*SjUKd!38Lzd|v(X&)lrwdhwSKj@Y}LRqQw#d?LS6n+XdfO)v$f%Nh#4b` zMq|q5rZ1FrKpk+c14q{(qDERiJa`;O9)A0pXIO5D! zB6N7{`u;X2Opu>F^v3 zQm@@HkgG&P4OX5M=qEy2l&G-7@rvA=x_h*5ls~l927SA zH>7}JT3zDx48!Y0ADJ-xMEz!~>s&SK6$ZEMAxlZ>uC$|Tpbb<5^EE)6)ebKjPX6+L zzzEkD7~+U0Z;P5^FUi}$Ya;sp*FRe7&NS8oF1@S1N;ncnX1U7zLgRn6qH|*>`O3Tr zUTBGVNfQ}`Qu12HhfY?F^#sk& zOL?u&2vXp?Mk=dieB}>R8}N3D0Auk{hA0(V@;y_gRSMwRZFf2 zt%XyM68#M=RG#8|JWGFf&KK;|9-$Xe(Z=`weR*(`817SyY40*E2h5G5oX)Rn%YHRb z%`ZSs4$vjle|HRJjPu-|X4wPlu8!hnZC619r(&YGV~6GQ+Dh5ou&^@?+j-TuY_NFV z{})NWjYm86D+lw(~*Bys5{=;!=%lqRwjJd z_(^CJXr9Na2pThva#KKzh)xW_ZfS_spYJSP*oWP(Qgq}$__QX`xMmQfC>7gRL%0RnD08TYPs4(|#t78$j}9!!7gP`$onOsk=Z42b*H zQH<>%>{ZcUIxv6q9)$g;={lE0VJ5{QpM>#{-=?jgotr$~fyg(gKP=?mT~0?SY@OBK z0$#M+T?N?Gzyt{PCh*N-Pbl#t3Je<&reXfCx1ox(BBV|*A+ZF+K(`q-Ebhj+jebQ? zmP|j{&7o?#=uNCaknIPlQ>k=$HG*8d1_AO_)NE6*D;9s7@D}2KTgdfNFf=|V^!5e! z;I8!MKug@lq;JmNknIw}zC$$bmcSwlUbX(Otza;U`DblHqEd)T($I#45>oU7)iN6s z99-b1vS{y2w$0@){cPf+7$5-xF}{(03BO}iF0`UHbNEy}N&~?%$!x(bBMyxJb&>oj zr4w^-G)sTMCyS4)LijrRD6P1=HUSMCd(PM94u2dbFW1?Pf8qgED~mt5?uXQPU+!=I zQxsy+1{>w;SRAF37CTXMqF9V%af<84a#?0xx+=g%k2x`JoFGW5p zVdw4+fNd^jJR_WOIo+>s@UK1)HyCjke|>`j0qK8*8$9VZC=?n+R~Mf&2L|v!QDC_E4w4?s@Maa`aLC}S+;FVo1V(+&MwU1Pqu=#5Cxe5q zS>qsp!@0q$8VCALd*U4P*i}U*9~0O+=k(w^%cJu$5I-@j_48esjT^r`@eNFh6hM#oHBPS% zC!~FR3iJLu7anCGft*w4Cluwk8qVegJjs83x~u_h%hVZ%Rd>Gk#zu5V!p)QZWJxWF z3R^*=*+O>&3dTcl5gQA5xb{Y0l;sUngKvO2cckHJmz-sJc=^$^?IJ?h@%YI|1Dc!D=1$Z5!AsVBB7 zQ#=61dt=4pVT0}Y(^kd|ggZ^e|*t#u~z=j;lnF)jW+R@*#-1IW{Gy2cml%m1+=k@C~(97>A~o_eo3 zniY4}(&&nvZW_^H6E@EOR z)k>Lc2*xZeO&-4$N*qrXMg{ptweE(0>MWE%4HL4L6wb~Oil$ND72G6*ip7v)1v>y4{yrHPN=(j!R)&V`hInV6YuzRc`CL zLkERyHu`fJl)8dB;0`oI>pJ#~>t;E6+%3Ac)cN}#bk zJ9y0UIc(A~aNrG6kA*CLKmWZbpdbR@s%Z7fPgFs^Z9;N{Of(5thV#1<9v2Gd%LC{Z z3~@{Ytph>9?o|5U!Q6j&mTvq5$aWhF_q9O_wN#>yD5;n>kRcd5w*XNFq_X?sryior z`9L%zE#aN#FdLC&u<5C^9^1mo)i-TBu51FFzR{nTnk6Ew{XV9&s&SSYNxR>`j*;OJ z_9B*Z>YRa9@AxWk(#w=^15&JYiA?(cFE%4fsJVx1CF977{ z;XxhpX!irraw~s1m@uDT)5A_M%j{~Ew(F5|R9;z?&#C2P9E*$bBI%WWqId_J%}Q+x zE;eG0LR0FG$fXf&sqPhF08K!$zf_ONgG?JHLp>@e?ly~?g-i9Q4oP!0P^MVBp!QB& zy~9Rs%JA*Pj{t@ue}RCt5o}3O`oxB^K61We#`IN{myKM|)QIqZEqJIRkeRS}5+tc0 zoscyY*_pRdnOun%L~qSQ25(sDV2G|2Ud8cc10Z(@UMW}d2@k?6D^+%1GX6o$RfeW2 z(Ugr>%wx$=k(Fdj>KL=PMe{%a(@BM?Y|R%5?Hqz7g(?Uw1;RoRK{fkrSZ!K!jK>XI z2rXGqJmd9qV`?IQb3^47!cSUX$x7oq(S?sL&!^^u(SD;oN%Nc1A9R0h1kju zFm3EcNOtOoGqRK!21MWz`w4T6Pr`o!$uAf08~HGpP>;)dSrx*=a*5-25gM>Eh@&e5 zed+TTlQ>3Qs^_cpBDtO&G+tQ-0pY00P&}eczeIZ@GU4NYa-k|^NaswfO;TymYn_hO zYU^^Ofj|W6W=jj8${6_H8;(Fi`l^q?H$q%g)KlOl6YP9ttQ?(!TfVk1s*hs5a!S(l zn9x4q-ZuC*ef~}*+ytzXKIqvqyoZr|tdS)Uwi4AAuvh~zN8yCvuPhUjt29JB!F)pr z>})^~9D)mfv&C#rPK-egWGTZon<3PkG7rN#BY8d`1HOE>R7-CHsmzQqq*s3hR(Qq5 zje6j#R7M$G<(0m;mJjTx@9QbW1o~jiaxNdpw7X@iTd{2s|pQDfCEJC&A2 zA)>%%hwB`{p|aDld3!b!%`5w0$)+1Q{-Gzf(k=go*kBXtWOC99r7s@Fm$^zmnmCNc zREf@D3>8${+^7t=k0*^Q1Q-~}r!F>sDIsrw0j#Li7of|ZM0TgyT(mlzohwLw1tc}f zB9-ueZ(xGAq=0sq$N8)!KO_*QauL#ck4UMUN0!7X6iulV^-6NzBwos!+5HO+h;MO@ zk;XdWjym7$ONpjW(TF1>TO}jA15#9#!)HH_~Jy~ zEWG#=X2Yz?I%6r?LL`-G({r^Ow#I;Hcv>WX9!dxVp7Y|^6=pu%Zw5A3rKEK)GLpz6 zQ!#6wi=L+qNe)9D-^j?+_clbRU5RH6gdG^UZs`5!$!__Vr<|uk@kNe=cOnJ8hws`Q z(Fh5}fdJ!5M+4ynI{dEZsJ$gX%CLM-c}>=>-&?_m+}qlmqq$Ri2(onXbifTsno*E{ z$fXGb&tTF&oO$-_6PI)%j^|cKmerZ0;QuDfM1$Ad`UNyp?gR3m@%4Xogo}d%KrT4O z3@|U6(^2$19G6bAWO|g#gV?ePCP|qbGTEvRZ514ojwP8PBU%}Hzg;hTkUWIFwV=Wc zK@*!DWrZ^T-%42DNabLDiJh7c*OAG8xe(3+1}ZIl8S4>4v%M}Rz-7Jw{54;Recq2V z$xGFkRuoq4A93v?o9MmhD*$6?DbZcNwL=0hOH-tu*)-omip@xA$gRP8Hfgw%A%Mr9 z9L{FI2|{Xp8urdIYT|l(XCSeDYpz35Sw?b@FVlpl9-&2AtAd~juE<`r7Ab{)g7=D$ zIZ2B(UmT8Dx?PWbm&V%jW#AJV-}ebkQ?(^nQCB6wbN!$ahXb<_yuM7~W9^ao zO~4hYZNm1=EklqbY0$>RT?JS>C!KXJ` zTLX?J8YM~Yo}8kyDYm#&ptZG{6Hg+gB8>q1b7fKxLPX@$&~5Q2aQPk|JE-Dmn*P#{ zW#R&p1UxlotE5Wv2uduocr14DvnguQlO#9AF-X|`65@Q~;&9e#@}?wzI)!nZ-EHwX z02S&Ul6c~yWbq3OSUKqq15f-!MT-ZOzgo<%7y1oZASc4&3tRJ>Lcb(2@#$LpRh_~B zI!m?v(!bQU7YK<+&Bh8aqk650PvKiV;Oi|!;$;L*tbgBpEU9-Ac#i=HS@;M3yX84W zRtRbs*}s*keuK#$-mSEMmvC|Xdwr5~i`m7|yUKl3NItxiINbc(0}jb8WiHzQxBdGW zKbu-vm8E|Zl9yOJAVCipM*aJm4PzH0K zXZcQQB$f$@iK6d-0-s{>-Gy078H{+3-fWoQt4(6LC%r|4SD1h4}Myuzx& zQra>+Q?3`5%P4eT1VXz>OJ!D_Tp{&GmEevVaV2D9HVW0V*lERZb0cp;^EPRqli^Jl zk(iKg)$%VCy6INPqF1P#iVyjtc^3BsS02#gfrr5Dskw!-eXW8_C*;f)%(0GXV30!S z7yT6z%qWR}l|e@yuQ=3mUZ`G@=FOyCNX@pyyL!clkIu&~fzSU#s@S4@fPbQdy&jHJ z0`T|&lFkzJZ*Qjp6f7%|)lhwgQ|CCo%;I=Y_R)DSTp8X4nv2ZjX^Y&laEaBIYBDTM za1Gte&>R7OX?U5tJCOK3oc=mlJ(N{l*${m5;3wRFZr5ioFJ2JGD^t8>k1Ufh`Rzg8 zhVO4DE@m}W4tp8RRi4wxWbHL@jimNFLpMGENx~%0@q4S+xFiJ|NiU2dzEg{ zN)aJ{bSVUcio&HjQ+X2;%fOsYlAE-^Ufy(Ex@3M$q`?X%s+Y zlOPWl?G@U9*mwdLdP4LxRejpv`3SujM%h4r{V^eNfRCUh*2zQQ0bYIIuRL+fAmE=r ztNu#yfOM3s70QxsbVY<~rmgmR10HtS$od1GuEYnfg;_S#pK0kG;@PKJ>2Q6}#m9G; z`a>~fb?6Q_IU^DoA{XKinaSL&iQSyfzE<3X3q*D$F`?#vgstkfQN(=_gdbT);vTtw z(ZhhdhO6+k*af&tX1~Jx{jY*_n#$CH>&$Q|(x}jP8|(}R6X7Y3l2xV5IWd|-Em`1) z4FN#BJ3v^27jMI&4#?y@wdg71TpGLvA&HZP8js8E&nq|*!cbF^b)llmgS0dwnI>^=y@83Sy8YUYFA z_FG@^sB0S|n&|CdZlBQhC!f9M_(iH?XJ;|Jklj#9ch)3FCpiJXPk7*)y#4tqMx3nh ze5*_v?maB)>9+YM{oLEZ!N%3y0SZ!OauK5{z_tWnz(ocB`6@(2TzQ?j6Di=*cRL8& zi!Hnt?Z^HE%(;yh0Eb1ozs0kE?-8%(`YclLvIR|@hxPvKGWk?3B8ON4vV80W+PC*? zG;aO%ch|<>?%A*D?aft^cSmR%I$C6xL$W(Gxs3)OWsxaFfCI#G19$dn(-hUWo1dTO zw&B}A)^BcrBxDodkH9Up!#BO^seD_!(lkyAhb?zzT+Te|*v;V?s>=$0t((Umx23zB zw>RK&>Bd6cFj?QKR@`hm8E3WmUG8~tdRs&>KpdvDq2tByf>YT&R9|YT$3(d!x?_=$ z^5cbZ$CnJ2t{!vC#(^=)G&Iw=80W!_a0Bw3&vamJJ}$&ahP|$c?L*XFWf#DUb!$0R z8q;>~Jy~Kv=0#X4c>SAyC+D8gkkJ@HzHk0<%3L&Eg_XoQ0jQ!A%!@BkC&nk^uBI~( zmJ}x8z*k0Wwo{t0q!P2<(TrHEBMJ`G(2<;;zs*tsxz^N*i9uBO@Ng!cCB-N{+b?Q< zA|7x=mQ=Ru6N)|Fsh3m>XM`oix&gbrq#6-*Po zHokZPi*Tr8!o;gNfeJxp19Heq{QER%q+al6f7mu4$U2ku2GrjIsuub|A}~#w6dMrI zqs`43p8(A@CpJeuVR!dVDT{c>g8_q5y$S{Z1Q!G(1ku`mhBv#p`9qEFX#U``%uo16 zv*AaIbeJagk+mLrRI++FOVk5P5?xd+Hnnt9)Wf`{ukw(i>I$h^yw*3dfr62hm6cVo zN>Ffss8qRJF6a9a6dbtM0FexDj?dj~NZ}W~rv2h?UKmP+Q)gis%DyOOk>cdu?8uX) z^v&bcu_+UOo1Q4Km*s?3XZ`JMSxv}xn^zcitVoGbuf$ezNsq#xGa(xjvdMXTp2@6y zo1MpY+}wxiK1F`HE=(tp$G+vJ$}JiV%}|X`E{{-ucCmk=egEmroV20RFNk=o*iIyl zV%ekHlsy}fTPg_~BDK+q0TDBsO#uV-s1*?-({QaBx5X5Rk`fdo$lV-qqRc&#QY*9au@~E0(#RrZr1W)RcQwYb&FutQ)r^skA2RAI zNJM@nzVqW4qOvNKS7ux4c3p@O=_0mfW*48887s=@>KAl}iW$vZmmE!$opNz0_N%al zS47f(vb|_qr~5Bcb4B7UhwjWuIuciJm5>~TxCZLpA)%XByflS|M^W=L{}>a`7&Y%nM20*R1{6RQyOX&TIaoB&exTTtH?tdZ zGWpc1e)vRmVRMMLd$mSFcNABP*y>I`)G1RVo*DHELz&j&ycU&gOtxcqIf>nw(egxp zQ&hxioy97hlt`r^l3T_y{>bn9*(#y_9nJ7Yk`cO|V!3J6v7BlrlH79Gj{Oo~Kmr9G z;D7^6U;qd>Kmh_6AiJvCjV)k-0~E$**SgI-paKaHFhH5c15c{cIDg}6y@EBNi0P+^ zpIk>_9DXL}2xTBSA@CiL(lU=HW2ngxwBiUXRy9%psiw1py$& z#UPAiMV$?kEBjfqj2tysDTp*o83oZIo*_YjfukIP0)K>H!&76s36u878p0a6Rge~o z+LS^e9Q-1O9b{<^Q)r(tYE;pe3;owGJZsB5Boi`)sgXH`43%6dCMv42S=Ao7JW#kho6qNUs_}R{o=-vOx|Zw%fALTru6#3)u2%LJYNbzC zVuvN=d4KvT1@DT`{zgxTKT+KoXDV!T_G_29;qTv$9eVh-rfB!Wzf*pNe82Bz;jgZi zw=y(PIj1TrB4YEMd7yu=Cm{UD7F1GigNmRaVUXcwC`u@*`(k34hM9M&!qnmI({Ii^ zX4|cv%WRw3Zzh|Z?=QA(wOXyUNz1V&rG+ZG0Dr_!t3>{np2kR6_<#T3ziz(|rGC?U;;y%>CQNLXidYJlh7hFu1-Os)ZY_Zf+UEeE@B18*o6Pfl)N#VDNvvT$YD@|s?2oIsv4MrfY% zOMepA*oA@Q8dGj)6_QR)j&x>ptcLIGYa z3>JWUNee^43S(nMF@>VG1#?krHHrJy!U15HaoZ3le`S;?j=+nzK$${}P|zgCD4Bz( z0~)I+#~hA1g>ivFoWg}&s0>1bXbLhFWnfhZ5=AYvKu}w5*hOn7e@J*Lks*U&!a5w(?rKLJgk{x1%&G`q z7%b9?vpZqbN>Fg%acjf+Puvd-&M#PbG5>-AKjw@ZRF}*(`AWWPtz^rvZs*lD0RSLh zVE8^$5i}GLk{i4X&U!fq1O)~~GHV*2204(PfwbsB3<(MhOb20a^`;b4kttxf(l9Q6 ze@rD*_A8$)ZBID&4yQ*<5fT}H##|N~F_EifGk(pThV9gywYgi-S)COP*vJ$>Qo>SC zL$Pl;W^i3cyI(_cITS|MyE{>-1M!4)T2W8}*$9-$ zy(DHKGGo1}v#JP;g-G?5QCl8s0KB7c$(;DvBEDV!B^e z2UXLKQ`UOzZluaON_|o$onjFYtIXzpljxj@#*d6TFpv(n$Nsp3+L#27gH5Wx8i^j` zgyd@vu8!;&SKxRb*}5sMpdiUYKM`iQv7%{8hy6bf1q}t zwWvZhmb%0A=|nKzCzA5O13p54#P{@bn0%*@UT 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ℜ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 z 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 diff --git a/fonts/_f_sdf/_f_sdf.old.png b/fonts/_f_sdf/_f_sdf.old.png index 8554ae3bd2a9ee08cfebc51406117b23858555c4..10b355e613edc061e9e96605c6c095604cd8810f 100644 GIT binary patch delta 99 zcmdnl%(}CgwP6dRv7@M=Nr-`gm8p@Hv4u8}VPKG9cQ9qTha;m5rj%rI<&Ei;j*Rk( V7`pt*BG?&#z|+;wWt~$(696nw8D0PY delta 99 zcmdnl%(}CgwP6dRv7@MgQHX(&m5HU5fw8uMft7(l=H`XVrh7Ot%3w-KypxogUg^jv XuZW?`|F^|a1|aZs^>bP0l+XkKOmP~0 diff --git a/fonts/_f_sdf/_f_sdf.png b/fonts/_f_sdf/_f_sdf.png index 56410dca4de499612913fbc4b89b3112eaa36528..80285fea488ec4c618e1c7cfaadf8bcf39cc55ba 100644 GIT binary patch delta 99 zcmdnl%(}CgwP6dRv7@M=Nr<7Lm9eRnk%6{>ft7*5-R`uI=^l=ZGMG|puHAbvz0#3U XUJ*mr@5BGi8Gyjk)z4*}Q$iB}ns*%U delta 99 zcmdnl%(}CgwP6dRv7@MgQHX)Lm7%4Tsj;?!ft7)Qul9z?(>)v+WiX{|$~g3=S2{Av WD`M!%PS*Uu00f?{elF{r5}E)IqZv8? diff --git a/fonts/_f_sdf_medium/_f_sdf_medium.old.png b/fonts/_f_sdf_medium/_f_sdf_medium.old.png index 80082c64efa48909a9d1e17ed7918c134296ec6b..e446791330af079d2bb0a87edb535c0354bbcfab 100644 GIT binary patch delta 121 zcmZp=!rXL)c|*-hQA3ju0|P5lBP(MIZ6L$IAj9rp%H)YJWkNAzB$F#|FfcG^l(6xeq2!d?^!(A;Y!sY77GdgGPyK vL`h0wNvc&zW^QV6Nn&mRgOP!eiLQaME{2}iEnk{}dKf%i{an^LB{Ts5LFgpV delta 121 zcmZp=!rXL)c|*-hQ3In819K}wODj`jZ36=<0|Q^}4U;ENd?^!(A!Ad4}+(xpUXO@geCx?BqB}# diff --git a/objects/_p_dialog/Create_0.gml b/objects/_p_dialog/Create_0.gml index 3be40f86e..4fc8331de 100644 --- a/objects/_p_dialog/Create_0.gml +++ b/objects/_p_dialog/Create_0.gml @@ -39,6 +39,8 @@ dialog_drag_mx = 0; dialog_drag_my = 0; + passthrough = false; + function doDrag() { if(!active) return; @@ -128,14 +130,22 @@ #endregion #region focus + function point_in(mx, my) { + INLINE + + var _r = dialog_resizable * 6; + var x0 = dialog_x - _r; + var x1 = dialog_x + dialog_w + _r; + var y0 = dialog_y - _r; + var y1 = dialog_y + dialog_h + _r; + + return point_in_rectangle(mx, my, x0, y0, x1, y1); + } + function checkFocus() { if(!active) return; - var x0 = dialog_x - dialog_resizable * 6; - var x1 = dialog_x + dialog_w + dialog_resizable * 6; - var y0 = dialog_y - dialog_resizable * 6; - var y1 = dialog_y + dialog_h + dialog_resizable * 6; - - if(point_in_rectangle(mouse_mx, mouse_my, x0, y0, x1, y1)) { + + if(point_in(mouse_mx, mouse_my)) { if(depth < DIALOG_DEPTH_HOVER) { DIALOG_DEPTH_HOVER = depth; HOVER = self.id; @@ -169,42 +179,35 @@ dialog_x = round(clamp(dialog_x, 2, WIN_SW - dialog_w - 2)); dialog_y = round(clamp(dialog_y, 2, WIN_SH - dialog_h - 2)); } - + + function isTop() { + with(_p_dialog) if(depth < other.depth) return false; + return true; + } + function checkMouse() { - if(!active) return; - if(!DIALOG_CLICK) { - //printIf(mouse_press(mb_any), $"Check {object_get_name(object_index)} : Click"); - return; - } + if(!active) return; + if(!destroy_on_click_out) return; + if(!DIALOG_CLICK) return; - with(_p_dialog) if(depth < other.depth) { - //printIf(mouse_press(mb_any), $"Check {object_get_name(object_index)} : Top"); - return; - } - - for( var i = 0, n = array_length(children); i < n; i++ ) - if(instance_exists(children[i])) { - //printIf(mouse_press(mb_any), $"Check {object_get_name(object_index)} : Children"); - return; + if(mouse_press(mb_any)) { + if(!checkClosable()) return; + if(!isTop()) return; + + for( var i = 0, n = array_length(children); i < n; i++ ) + if(instance_exists(children[i])) return; + + if(!point_in(mouse_mx, mouse_my)) { + instance_destroy(self); + onDestroy(); + DIALOG_CLICK = false; } - - var x0 = dialog_x - dialog_resizable * 6; - var x1 = dialog_x + dialog_w + dialog_resizable * 6; - var y0 = dialog_y - dialog_resizable * 6; - var y1 = dialog_y + dialog_h + dialog_resizable * 6; - - if(destroy_on_click_out && mouse_press(mb_any) && !point_in_rectangle(mouse_mx, mouse_my, x0, y0, x1, y1) - && checkClosable()) { - - instance_destroy(self); - onDestroy(); - DIALOG_CLICK = false; } } function checkClosable() { return true; } - function onDestroy() {} + function onDestroy() { } #endregion #region children diff --git a/objects/_p_dialog/Destroy_0.gml b/objects/_p_dialog/Destroy_0.gml index 84dd21d60..a69c66beb 100644 --- a/objects/_p_dialog/Destroy_0.gml +++ b/objects/_p_dialog/Destroy_0.gml @@ -7,4 +7,5 @@ ds_list_remove(DIALOGS, self); if(parent) array_remove(parent.children, id); -MOUSE_BLOCK = true; \ No newline at end of file +if(!passthrough) + MOUSE_BLOCK = true; \ No newline at end of file diff --git a/objects/o_dialog_add_node/Create_0.gml b/objects/o_dialog_add_node/Create_0.gml index 2cecb3eb3..9d125a784 100644 --- a/objects/o_dialog_add_node/Create_0.gml +++ b/objects/o_dialog_add_node/Create_0.gml @@ -122,30 +122,17 @@ event_inherited(); return false; } #endregion - #region ---- set page ---- - function setPage(pageIndex) { - ADD_NODE_PAGE = min(pageIndex, ds_list_size(category) - 1); - node_list = pageIndex < 0? noone : category[| ADD_NODE_PAGE].list; - } - - ADD_NODE_PAGE = 0; - setPage(NODE_PAGE_DEFAULT); - #endregion - function buildNode(_node, _param = {}) { #region - if(!_node) { - instance_destroy(); - instance_destroy(o_dialog_menubox); - return; - } + instance_destroy(); + instance_destroy(o_dialog_menubox); + + if(!_node) return; if(is_instanceof(_node, AddNodeItem)) { _node.onClick({ node_called, junction_hovering }); - instance_destroy(o_dialog_menubox); - instance_destroy(); return; } @@ -154,11 +141,7 @@ event_inherited(); if(is_instanceof(_node, NodeObject)) { _new_node = _node.build(node_target_x, node_target_y,, _param); - if(!_new_node) { - instance_destroy(); - instance_destroy(o_dialog_menubox); - return; - } + if(!_new_node) return; if(category == NODE_CATEGORY && _node.show_in_recent) { array_remove(global.RECENT_NODES, _node.node); @@ -258,9 +241,6 @@ event_inherited(); } } } - - instance_destroy(); - instance_destroy(o_dialog_menubox); } #endregion catagory_pane = new scrollPane(category_width, dialog_h - ui(66), function(_y, _m) { #region @@ -273,13 +253,12 @@ event_inherited(); for(var i = start; i < ds_list_size(category); i++) { var name = ""; - var color = noone; if(i == -2) name = "All"; else if(i == -1) name = "New"; else { var cat = category[| i]; - name = cat.name; + name = cat.name; if(array_length(cat.filter)) { if(!array_exists(cat.filter, instanceof(context))) { @@ -287,7 +266,6 @@ event_inherited(); setPage(NODE_PAGE_DEFAULT); continue; } - color = context.color; draw_set_color(COLORS._main_text_accent); } } @@ -662,6 +640,22 @@ event_inherited(); }); #endregion content_pane.always_scroll = true; + + #region ---- set page ---- + function setPage(pageIndex) { + ADD_NODE_PAGE = min(pageIndex, ds_list_size(category) - 1); + node_list = pageIndex < 0? noone : category[| ADD_NODE_PAGE].list; + } + + if(PREFERENCES.add_node_remember) { + content_pane.scroll_y_raw = ADD_NODE_SCROLL; + content_pane.scroll_y_to = ADD_NODE_SCROLL; + } else + ADD_NODE_PAGE = 0; + + setPage(ADD_NODE_PAGE); + #endregion + #endregion #region resize diff --git a/objects/o_dialog_add_node/Draw_64.gml b/objects/o_dialog_add_node/Draw_64.gml index e4957df8c..2ce85833f 100644 --- a/objects/o_dialog_add_node/Draw_64.gml +++ b/objects/o_dialog_add_node/Draw_64.gml @@ -87,16 +87,5 @@ if !ready exit; } node_tooltip = noone; -#endregion - -//#region dec -// if(node_called) { -// var jx = 0; -// var jy = dialog_y + ui(26); - -// if(node_called.connect_type == JUNCTION_CONNECT.input) -// jx = dialog_x; -// else -// jx = dialog_x + dialog_w; -// } -//#endregion \ No newline at end of file + ADD_NODE_SCROLL = content_pane.scroll_y_to; +#endregion \ No newline at end of file diff --git a/objects/o_dialog_preference/Create_0.gml b/objects/o_dialog_preference/Create_0.gml index f48eefe11..14054bf38 100644 --- a/objects/o_dialog_preference/Create_0.gml +++ b/objects/o_dialog_preference/Create_0.gml @@ -348,6 +348,12 @@ event_inherited(); ds_list_add(pref_appr, __txt("Graph")); + ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference( + __txtx("pref_add_node_remember", "Remember add node position"), + "add_node_remember", + new checkBox(function() { PREFERENCES.add_node_remember = !PREFERENCES.add_node_remember; }) + )); + ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference( __txtx("pref_connection_type", "Connection type"), "curve_connection_line", diff --git a/scripts/__3D/__3D.gml b/scripts/__3D/__3D.gml index 3c36ec811..dc8c162ef 100644 --- a/scripts/__3D/__3D.gml +++ b/scripts/__3D/__3D.gml @@ -486,7 +486,7 @@ enum CAMERA_PROJ { drag_my = _my; } - inputs[| global_pos].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| global_pos].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); #endregion } diff --git a/scripts/__node_3d_combine/__node_3d_combine.gml b/scripts/__node_3d_combine/__node_3d_combine.gml index 4bdcd81f8..74eeee628 100644 --- a/scripts/__node_3d_combine/__node_3d_combine.gml +++ b/scripts/__node_3d_combine/__node_3d_combine.gml @@ -119,7 +119,7 @@ function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constr refreshDynamicInput(); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_displace/__node_3d_displace.gml b/scripts/__node_3d_displace/__node_3d_displace.gml index 3050183a3..4dda1a651 100644 --- a/scripts/__node_3d_displace/__node_3d_displace.gml +++ b/scripts/__node_3d_displace/__node_3d_displace.gml @@ -80,7 +80,7 @@ function __Node_3D_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr vertexObjects = []; _3d_node_init(1, /*Transform*/ 4, 5, 1, 2, 3); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_extrude/__node_3d_extrude.gml b/scripts/__node_3d_extrude/__node_3d_extrude.gml index 6ccf0b1ff..de8577e22 100644 --- a/scripts/__node_3d_extrude/__node_3d_extrude.gml +++ b/scripts/__node_3d_extrude/__node_3d_extrude.gml @@ -408,7 +408,7 @@ function __Node_3D_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro } } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_obj/__node_3d_obj.gml b/scripts/__node_3d_obj/__node_3d_obj.gml index 0b99ae796..46a70347c 100644 --- a/scripts/__node_3d_obj/__node_3d_obj.gml +++ b/scripts/__node_3d_obj/__node_3d_obj.gml @@ -170,7 +170,7 @@ function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructo } do_reset_material = false; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_plane/__node_3d_plane.gml b/scripts/__node_3d_plane/__node_3d_plane.gml index 0daa79f15..a61ce9257 100644 --- a/scripts/__node_3d_plane/__node_3d_plane.gml +++ b/scripts/__node_3d_plane/__node_3d_plane.gml @@ -1,7 +1,7 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "3D Plane"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Render position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -117,8 +117,8 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group vertexObjects[0] = pln; } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; var _out = outputs[| 0].getValue(); if(!is_surface(_out) || !surface_exists(_out)) return; diff --git a/scripts/__node_3d_prim_cone/__node_3d_prim_cone.gml b/scripts/__node_3d_prim_cone/__node_3d_prim_cone.gml index 534310b3e..db5a95c88 100644 --- a/scripts/__node_3d_prim_cone/__node_3d_prim_cone.gml +++ b/scripts/__node_3d_prim_cone/__node_3d_prim_cone.gml @@ -44,9 +44,9 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 14] = nodeValue("Sides", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 16); - inputs[| 15] = nodeValue("Textures base", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 15] = nodeValue("Textures base", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 16] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 16] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 17] = nodeValue("Scale view with dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) @@ -124,7 +124,7 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) } generate_vb(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_prim_cube/__node_3d_prim_cube.gml b/scripts/__node_3d_prim_cube/__node_3d_prim_cube.gml index 4bdeedec1..8142a97fd 100644 --- a/scripts/__node_3d_prim_cube/__node_3d_prim_cube.gml +++ b/scripts/__node_3d_prim_cube/__node_3d_prim_cube.gml @@ -19,12 +19,12 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 5] = nodeValue("Textures per face", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); - inputs[| 6] = nodeValue("Textures 0", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false); - inputs[| 7] = nodeValue("Textures 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false); - inputs[| 8] = nodeValue("Textures 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false); - inputs[| 9] = nodeValue("Textures 3", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false); - inputs[| 10] = nodeValue("Textures 4", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false); - inputs[| 11] = nodeValue("Textures 5", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false); + inputs[| 6] = nodeValue("Textures 0", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false); + inputs[| 7] = nodeValue("Textures 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false); + inputs[| 8] = nodeValue("Textures 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false); + inputs[| 9] = nodeValue("Textures 3", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false); + inputs[| 10] = nodeValue("Textures 4", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false); + inputs[| 11] = nodeValue("Textures 5", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false); inputs[| 12] = nodeValue("Object scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -82,7 +82,7 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) _3d_node_init(1, /*Transform*/ 2, 4, 19, 18, 12); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny, _panel) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _panel) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.gml b/scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.gml index fb2a2cf97..04241f1f9 100644 --- a/scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.gml +++ b/scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.gml @@ -19,9 +19,9 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr inputs[| 5] = nodeValue("Render scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 6] = nodeValue("Textures top", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); - inputs[| 7] = nodeValue("Textures bottom", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); - inputs[| 8] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 6] = nodeValue("Textures top", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); + inputs[| 7] = nodeValue("Textures bottom", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); + inputs[| 8] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 9] = nodeValue("Object scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -137,7 +137,7 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr } generate_vb(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_prim_sphere/__node_3d_prim_sphere.gml b/scripts/__node_3d_prim_sphere/__node_3d_prim_sphere.gml index 22fed03c7..3b4977d30 100644 --- a/scripts/__node_3d_prim_sphere/__node_3d_prim_sphere.gml +++ b/scripts/__node_3d_prim_sphere/__node_3d_prim_sphere.gml @@ -18,7 +18,7 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 4] = nodeValue("Render scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 5] = nodeValue("Textures", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Textures", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Object scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -139,7 +139,7 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou } generate_vb(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_render/__node_3d_render.gml b/scripts/__node_3d_render/__node_3d_render.gml index 378aedb6a..fbed18525 100644 --- a/scripts/__node_3d_render/__node_3d_render.gml +++ b/scripts/__node_3d_render/__node_3d_render.gml @@ -146,7 +146,7 @@ // } // do_reset_material = false; -// static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { +// static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { // _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); // } diff --git a/scripts/__node_3d_repeat/__node_3d_repeat.gml b/scripts/__node_3d_repeat/__node_3d_repeat.gml index b53597c1c..cd48a40da 100644 --- a/scripts/__node_3d_repeat/__node_3d_repeat.gml +++ b/scripts/__node_3d_repeat/__node_3d_repeat.gml @@ -89,7 +89,7 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru _3d_node_init(1, /*Transform*/ 4, 5, 1, 2, 3); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_3d_transform/__node_3d_transform.gml b/scripts/__node_3d_transform/__node_3d_transform.gml index 35544896e..8ea56cb3e 100644 --- a/scripts/__node_3d_transform/__node_3d_transform.gml +++ b/scripts/__node_3d_transform/__node_3d_transform.gml @@ -64,7 +64,7 @@ function __Node_3D_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _g _3d_node_init(1, /*Transform*/ 4, 5, 1, 2, 3); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny); } diff --git a/scripts/__node_VFX_effector/__node_VFX_effector.gml b/scripts/__node_VFX_effector/__node_VFX_effector.gml index 23dbb114b..1b03bcdd1 100644 --- a/scripts/__node_VFX_effector/__node_VFX_effector.gml +++ b/scripts/__node_VFX_effector/__node_VFX_effector.gml @@ -64,8 +64,8 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr UPDATE_PART_FORWARD - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); var area = getInputData(1); var cx = _x + area[0] * _s; diff --git a/scripts/__node_process_template/__node_process_template.gml b/scripts/__node_process_template/__node_process_template.gml index fc9f459c5..9e3e3e308 100644 --- a/scripts/__node_process_template/__node_process_template.gml +++ b/scripts/__node_process_template/__node_process_template.gml @@ -1,13 +1,13 @@ function Node_Process_Template(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = ""; - inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0); + outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ 0 ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {} + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {} static step = function() {} diff --git a/scripts/__node_template/__node_template.gml b/scripts/__node_template/__node_template.gml index 1e02f2947..5fe324fe9 100644 --- a/scripts/__node_template/__node_template.gml +++ b/scripts/__node_template/__node_template.gml @@ -1,13 +1,13 @@ function Node_Template(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = ""; - inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0); + outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ 0 ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {} + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {} static step = function() {} diff --git a/scripts/_node_VFX_spawner/_node_VFX_spawner.gml b/scripts/_node_VFX_spawner/_node_VFX_spawner.gml index 52352a695..8e7b37648 100644 --- a/scripts/_node_VFX_spawner/_node_VFX_spawner.gml +++ b/scripts/_node_VFX_spawner/_node_VFX_spawner.gml @@ -2,7 +2,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co name = "Spawner"; update_on_frame = true; - inputs[| 0] = nodeValue("Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0 ); + inputs[| 0] = nodeValue("Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone ); inputs[| 1] = nodeValue("Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4, "Frames delay between each particle spawn." ) .rejectArray(); @@ -96,7 +96,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co inputs[| 29] = nodeValue("Directed from center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Make particle move away from the spawn center.") .rejectArray(); - inputs[| 30] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 30] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .rejectArray() inputs[| 31] = nodeValue("Atlas", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, [] ) @@ -501,12 +501,12 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co onStep(); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _spr = getInputData(0); if(is_array(_spr)) _spr = _spr[0]; var _flag = is_instanceof(_spr, SurfaceAtlas)? 0b0001 : 0b0011; - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, _flag); + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _flag); if(onDrawOverlay != -1) onDrawOverlay(active, _x, _y, _s, _mx, _my); } #endregion diff --git a/scripts/_node_strand_affector/_node_strand_affector.gml b/scripts/_node_strand_affector/_node_strand_affector.gml index ff83f9fd9..53ffab0bf 100644 --- a/scripts/_node_strand_affector/_node_strand_affector.gml +++ b/scripts/_node_strand_affector/_node_strand_affector.gml @@ -65,7 +65,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co ["Shape", false], 1, 2, 3, 4, 5, ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _typ = getInputData(1); var _pos = getInputData(2); var _ran = getInputData(3); @@ -142,9 +142,9 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co draw_line_dashed(px0, py0, px1, py1); } - active &= inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - active &= inputs[| 4].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); - active &= inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); + active &= inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + active &= inputs[| 4].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); + active &= inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); } static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/array_functions/array_functions.gml b/scripts/array_functions/array_functions.gml index 6e5661a1f..a362c9e31 100644 --- a/scripts/array_functions/array_functions.gml +++ b/scripts/array_functions/array_functions.gml @@ -286,4 +286,14 @@ function array_insert_before(arr, before, values) { #region for( var i = 0, n = array_length(values); i < n; i++ ) array_insert(arr, _ind + i, values[i]); +} #endregion + +#macro array_equals array_equals_overwrite +#macro __array_equals array_equals + +function array_equals_overwrite(arr1, arr2) { #region + if(!is_array(arr1) && is_array(arr2)) return false; + if( is_array(arr1) && !is_array(arr2)) return false; + if(!is_array(arr1) && !is_array(arr2)) return arr1 == arr2; + return __array_equals(arr1, arr2) } #endregion \ No newline at end of file diff --git a/scripts/draw_surface_blend/draw_surface_blend.gml b/scripts/draw_surface_blend/draw_surface_blend.gml index 63a66cbbf..b04dd6898 100644 --- a/scripts/draw_surface_blend/draw_surface_blend.gml +++ b/scripts/draw_surface_blend/draw_surface_blend.gml @@ -49,11 +49,11 @@ function draw_surface_blend(background, foreground, blend = 0, alpha = 1, _pre_a shader_reset(); } -function draw_surface_blend_ext(bg, fg, _x, _y, _sx = 1, _sy = 1, _rot = 0, _col = c_white, _alpha = 1, _blend = 0) { +function draw_surface_blend_ext(bg, fg, _x, _y, _sx = 1, _sy = 1, _rot = 0, _col = c_white, _alpha = 1, _blend = 0, _pre_alp = false) { surface_set_shader(blend_temp_surface); shader_set_interpolation(fg); draw_surface_ext_safe(fg, _x, _y, _sx, _sy, _rot, _col, 1); surface_reset_shader(); - draw_surface_blend(bg, blend_temp_surface, _blend, _alpha, false); + draw_surface_blend(bg, blend_temp_surface, _blend, _alpha, _pre_alp); } \ No newline at end of file diff --git a/scripts/event_recorder/event_recorder.gml b/scripts/event_recorder/event_recorder.gml index 1758a4026..b1a8c9c88 100644 --- a/scripts/event_recorder/event_recorder.gml +++ b/scripts/event_recorder/event_recorder.gml @@ -59,6 +59,7 @@ function Action(_type, _object, _data, _trigger = 0) constructor { break; case ACTION_TYPE.list_insert : if(!ds_exists(obj, ds_type_list)) return; + ds_list_delete(obj, data[1]); break; case ACTION_TYPE.list_modify : diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index 07248989f..be4399a38 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -28,10 +28,10 @@ globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER, LATEST_VERSION; LATEST_VERSION = 11600; - VERSION = 11661; - SAVE_VERSION = 11660; - VERSION_STRING = "1.16.6.1"; - BUILD_NUMBER = 11661; + VERSION = 11670; + SAVE_VERSION = 11670; + VERSION_STRING = "1.16.7"; + BUILD_NUMBER = 11670; globalvar APPEND_MAP; APPEND_MAP = ds_map_create(); @@ -61,8 +61,10 @@ DIALOG_CLICK = true; - globalvar ADD_NODE_PAGE; - ADD_NODE_PAGE = 0; + globalvar ADD_NODE_PAGE, ADD_NODE_SCROLL; + + ADD_NODE_PAGE = 0; + ADD_NODE_SCROLL = 0; #endregion #region macro diff --git a/scripts/nodeValue_drawer/nodeValue_drawer.gml b/scripts/nodeValue_drawer/nodeValue_drawer.gml index 2ce364806..e5af07f0d 100644 --- a/scripts/nodeValue_drawer/nodeValue_drawer.gml +++ b/scripts/nodeValue_drawer/nodeValue_drawer.gml @@ -234,7 +234,8 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc bx -= ui(28); var ic_b = jun.expUse? c_white : COLORS._main_icon; if(buttonInstant(THEME.button_hide, bx - ui(12), by - ui(12), ui(24), ui(24), _m, _focus, _hover, __txtx("panel_inspector_use_expression", "Use expression"), THEME.node_use_expression, jun.expUse, ic_b) == 2) { - jun.expUse = !jun.expUse; + jun.setUseExpression(!jun.expUse); + if(!jun.expUse) WIDGET_CURRENT = noone; } diff --git a/scripts/node_2d_light/node_2d_light.gml b/scripts/node_2d_light/node_2d_light.gml index 8a57fe5d0..a24d665f5 100644 --- a/scripts/node_2d_light/node_2d_light.gml +++ b/scripts/node_2d_light/node_2d_light.gml @@ -14,7 +14,7 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) uniform_band = shader_get_uniform(shader, "band"); uniform_attn = shader_get_uniform(shader, "atten"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Light shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Point", s_node_2d_light_shape, 0), @@ -76,7 +76,7 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _shape = getInputData(1); switch(_shape) { @@ -85,14 +85,14 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); break; case LIGHT_SHAPE_2D.line : case LIGHT_SHAPE_2D.line_asym : case LIGHT_SHAPE_2D.spot : - inputs[| 6].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 7].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 6].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 7].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); break; } } diff --git a/scripts/node_9slice/node_9slice.gml b/scripts/node_9slice/node_9slice.gml index 76875045a..8729910de 100644 --- a/scripts/node_9slice/node_9slice.gml +++ b/scripts/node_9slice/node_9slice.gml @@ -1,7 +1,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Nine Slice"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF) .setDisplay(VALUE_DISPLAY.vector); @@ -33,7 +33,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co inputs[| 1].setValue( [ surface_get_width_safe(s), surface_get_height_safe(s) ] ); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(array_length(current_data) < 1) return; var _dim = current_data[1]; @@ -75,7 +75,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co } } - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) return; if(distance_to_line_infinite(_mx, _my, sp_r, -hh, sp_r, hh) < 12) { diff --git a/scripts/node_FLIP_apply_force/node_FLIP_apply_force.gml b/scripts/node_FLIP_apply_force/node_FLIP_apply_force.gml index 3eac7cc89..b2b51dfc3 100644 --- a/scripts/node_FLIP_apply_force/node_FLIP_apply_force.gml +++ b/scripts/node_FLIP_apply_force/node_FLIP_apply_force.gml @@ -50,7 +50,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co obstracle = new FLIP_Obstracle(); index = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _posit = getInputData(1); var _rad = getInputData(2); var _shp = getInputData(3); @@ -75,7 +75,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co if(_shp == 0) draw_circle(_px, _py, _r, true); else if(_shp == 1) draw_rectangle(_px - _w, _py - _h, _px + _w, _py + _h, true); - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; } #endregion diff --git a/scripts/node_FLIP_apply_velocity/node_FLIP_apply_velocity.gml b/scripts/node_FLIP_apply_velocity/node_FLIP_apply_velocity.gml index 630777289..e8b7224fc 100644 --- a/scripts/node_FLIP_apply_velocity/node_FLIP_apply_velocity.gml +++ b/scripts/node_FLIP_apply_velocity/node_FLIP_apply_velocity.gml @@ -31,7 +31,7 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group) outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.fdomain, noone ); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _posit = getInputData(1); var _rad = getInputData(2); var _velo = getInputData(3); @@ -57,8 +57,8 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group) draw_line_width2(_px, _py, _vx, _vy, 6, 2); draw_set_alpha(1); - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 3].drawOverlay(active, _px, _py, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 3].drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny)) active = false; } #endregion diff --git a/scripts/node_FLIP_domain/node_FLIP_domain.gml b/scripts/node_FLIP_domain/node_FLIP_domain.gml index 77976393c..0a28c0f24 100644 --- a/scripts/node_FLIP_domain/node_FLIP_domain.gml +++ b/scripts/node_FLIP_domain/node_FLIP_domain.gml @@ -98,7 +98,7 @@ function Node_FLIP_Domain(_x, _y, _group = noone) : Node(_x, _y, _group) constru static update = function(frame = CURRENT_FRAME) { var _dim = getInputData(0); - var _siz = getInputData(1); + var _siz = getInputData(1); _siz = max(_siz, 1); var _den = getInputData(2); var _flp = getInputData(3); diff --git a/scripts/node_FLIP_spawner/node_FLIP_spawner.gml b/scripts/node_FLIP_spawner/node_FLIP_spawner.gml index 8c47a24ea..1b387e32b 100644 --- a/scripts/node_FLIP_spawner/node_FLIP_spawner.gml +++ b/scripts/node_FLIP_spawner/node_FLIP_spawner.gml @@ -49,7 +49,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr spawn_amo = 0; prev_position = [ 0, 0 ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _shp = getInputData(1); var _posit = getInputData(2); @@ -71,7 +71,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr draw_surface_ext(_surf, _px - _sw * _s / 2, _py - _sh * _s / 2, _s, _s, 0, c_white, 0.5); } - if(inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; } #endregion diff --git a/scripts/node_FLIP_wall/node_FLIP_wall.gml b/scripts/node_FLIP_wall/node_FLIP_wall.gml index e824f4ea5..8163c1ef9 100644 --- a/scripts/node_FLIP_wall/node_FLIP_wall.gml +++ b/scripts/node_FLIP_wall/node_FLIP_wall.gml @@ -22,8 +22,8 @@ function Node_FLIP_Wall(_x, _y, _group = noone) : Node(_x, _y, _group) construct obstracle = new FLIP_Obstracle(); index = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; } #endregion static update = function(frame = CURRENT_FRAME) { #region diff --git a/scripts/node_FXAA/node_FXAA.gml b/scripts/node_FXAA/node_FXAA.gml index 875fde906..a58a33925 100644 --- a/scripts/node_FXAA/node_FXAA.gml +++ b/scripts/node_FXAA/node_FXAA.gml @@ -1,7 +1,7 @@ function Node_FXAA(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "FXAA"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); diff --git a/scripts/node_VFX_trail/node_VFX_trail.gml b/scripts/node_VFX_trail/node_VFX_trail.gml index 09c207f6d..d9ceb8987 100644 --- a/scripts/node_VFX_trail/node_VFX_trail.gml +++ b/scripts/node_VFX_trail/node_VFX_trail.gml @@ -19,7 +19,7 @@ function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) construct outputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.pathnode, self); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region draw_set_color(COLORS._main_accent); for( var i = 0, n = array_length(lines); i < n; i++ ) { diff --git a/scripts/node_active_canvas/node_active_canvas.gml b/scripts/node_active_canvas/node_active_canvas.gml index 89fd35dd6..6e825ed77 100644 --- a/scripts/node_active_canvas/node_active_canvas.gml +++ b/scripts/node_active_canvas/node_active_canvas.gml @@ -37,8 +37,8 @@ function Node_Active_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) const temp_surface = [ surface_create(1, 1) ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_alpha_cutoff/node_alpha_cutoff.gml b/scripts/node_alpha_cutoff/node_alpha_cutoff.gml index 6b3b08987..724126df2 100644 --- a/scripts/node_alpha_cutoff/node_alpha_cutoff.gml +++ b/scripts/node_alpha_cutoff/node_alpha_cutoff.gml @@ -1,12 +1,12 @@ function Node_Alpha_Cutoff(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Alpha Cutoff"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Minimum", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2, "Any pixel with less alpha (more transparent) than this will be removed.") .setDisplay(VALUE_DISPLAY.slider); - inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 3] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_alpha_grey/node_alpha_grey.gml b/scripts/node_alpha_grey/node_alpha_grey.gml index 28696bbde..ce92cf2f7 100644 --- a/scripts/node_alpha_grey/node_alpha_grey.gml +++ b/scripts/node_alpha_grey/node_alpha_grey.gml @@ -1,7 +1,7 @@ function Node_Alpha_Grey(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Alpha to Grey"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_alpha_hash/node_alpha_hash.gml b/scripts/node_alpha_hash/node_alpha_hash.gml index 824d72a33..ce9497a66 100644 --- a/scripts/node_alpha_hash/node_alpha_hash.gml +++ b/scripts/node_alpha_hash/node_alpha_hash.gml @@ -14,7 +14,7 @@ function Node_Alpha_Hash(_x, _y, _group = noone) : Node_Processor(_x, _y, _group 15, 47, 7, 39, 13, 45, 5, 37, 63, 31, 55, 23, 61, 29, 53, 21]; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); diff --git a/scripts/node_area/node_area.gml b/scripts/node_area/node_area.gml index 675b52ecd..a41ac66a3 100644 --- a/scripts/node_area/node_area.gml +++ b/scripts/node_area/node_area.gml @@ -17,7 +17,7 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons outputs[| 0] = nodeValue("Area", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0, AREA_SHAPE.rectangle ]) .setDisplay(VALUE_DISPLAY.vector); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(process_amount > 1) return; var _pos = getInputData(0); @@ -38,8 +38,8 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons break; } - inputs[| 0].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + inputs[| 0].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); } static processData = function(_output, _data, _output_index, _array_index = 0) { diff --git a/scripts/node_armature/node_armature.gml b/scripts/node_armature/node_armature.gml index 5aa4251d7..d5dc27b7d 100644 --- a/scripts/node_armature/node_armature.gml +++ b/scripts/node_armature/node_armature.gml @@ -188,7 +188,7 @@ function Node_Armature(_x, _y, _group = noone) : Node(_x, _y, _group) constructo moving = false; scaling = false; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var mx = (_mx - _x) / _s; var my = (_my - _y) / _s; diff --git a/scripts/node_armature_bind/node_armature_bind.gml b/scripts/node_armature_bind/node_armature_bind.gml index dc6d95c59..53d683165 100644 --- a/scripts/node_armature_bind/node_armature_bind.gml +++ b/scripts/node_armature_bind/node_armature_bind.gml @@ -387,7 +387,7 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr var index = ds_list_size(inputs); var _s = floor((index - input_fix_len) / data_length); - inputs[| index + 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| index + 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| index + 0].surface_index = index; inputs[| index + 0].hover_effect = 0; inputs[| index + 0].display_data.bone_id = ""; @@ -490,7 +490,7 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr ds_stack_destroy(_bst); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var dim = getInputData(0); var _bind = getInputData(2); @@ -500,8 +500,8 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr if(bone == noone) return; bone.draw(attributes, false, _x + _dpos[0] * _s, _y + _dpos[1] * _s, _s * _dsca, _mx, _my, anchor_selecting); - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - //inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + //inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); var mx = (_mx - _x) / _s; var my = (_my - _y) / _s; diff --git a/scripts/node_armature_path/node_armature_path.gml b/scripts/node_armature_path/node_armature_path.gml index cb00dd93f..0c9705a34 100644 --- a/scripts/node_armature_path/node_armature_path.gml +++ b/scripts/node_armature_path/node_armature_path.gml @@ -30,7 +30,7 @@ function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) const })]); #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _b = getInputData(0); if(_b == noone) return; diff --git a/scripts/node_armature_pose/node_armature_pose.gml b/scripts/node_armature_pose/node_armature_pose.gml index c97704c13..e5d210748 100644 --- a/scripts/node_armature_pose/node_armature_pose.gml +++ b/scripts/node_armature_pose/node_armature_pose.gml @@ -108,7 +108,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const posing_mx = 0; posing_my = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _b = outputs[| 0].getValue(); if(_b == noone) return; diff --git a/scripts/node_armature_sample/node_armature_sample.gml b/scripts/node_armature_sample/node_armature_sample.gml index 1a4fd4410..627351494 100644 --- a/scripts/node_armature_sample/node_armature_sample.gml +++ b/scripts/node_armature_sample/node_armature_sample.gml @@ -31,7 +31,7 @@ function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) con })]); #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _b = getInputData(0); if(_b == noone) return; diff --git a/scripts/node_ase_file_read/node_ase_file_read.gml b/scripts/node_ase_file_read/node_ase_file_read.gml index ce1e76986..0bd12ef5c 100644 --- a/scripts/node_ase_file_read/node_ase_file_read.gml +++ b/scripts/node_ase_file_read/node_ase_file_read.gml @@ -1,7 +1,7 @@ function Node_create_ASE_File_Read(_x, _y, _group = noone) { #region var path = ""; if(!LOADING && !APPENDING && !CLONING) { - path = get_open_filename("aseprite|*.ase", ""); + path = get_open_filename("Aseprite file (*.aseprite, *.ase)|*.aseprite;*.ase", ""); key_release(); if(path == "") return noone; } @@ -160,9 +160,10 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const ["Tags", false], 2, tag_renderer, ]; - attributes.file_checker = true; attributes.layer_visible = []; + edit_time = 0; + attributes.file_checker = true; array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); @@ -171,7 +172,6 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const tags = []; _tag_delay = 0; path_current = ""; - edit_time = 0; first_update = false; @@ -217,13 +217,12 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const } } #endregion - function updatePaths(path) { #region - path_current = path; - edit_time = file_get_modify_s(path_current); - - path = try_get_path(path); + function updatePaths(path = path_current) { #region if(path == -1) return false; + path_current = path; + edit_time = max(edit_time, file_get_modify_s(path_current)); + var ext = string_lower(filename_ext(path)); var _name = string_replace(filename_name(path), filename_ext(path), ""); @@ -301,27 +300,21 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; static onInspector1Update = function() { #region - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - + updatePaths(path_get(getInputData(0))); triggerRender(); } #endregion - static step = function() { + static step = function() { #region if(attributes.file_checker && path_current != "") { - var _ms = file_get_modify_s(path_current); - - if(_ms > edit_time) { - edit_time = _ms; - updatePaths(path_current); - update(); + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); } } - } + } #endregion static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); + var path = path_get(getInputData(0)); var current_tag = getInputData(2); if(path_current != path) updatePaths(path); diff --git a/scripts/node_atlas/node_atlas.gml b/scripts/node_atlas/node_atlas.gml index a6c87f1e4..c6a3f5966 100644 --- a/scripts/node_atlas/node_atlas.gml +++ b/scripts/node_atlas/node_atlas.gml @@ -1,7 +1,7 @@ function Node_Atlas(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Pixel Expand"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_average/node_average.gml b/scripts/node_average/node_average.gml index 1121a2db8..616606243 100644 --- a/scripts/node_average/node_average.gml +++ b/scripts/node_average/node_average.gml @@ -4,9 +4,9 @@ function Node_Average(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c shader = sh_average; uniform_dim = shader_get_uniform(shader, "dimension"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_bend/node_bend.gml b/scripts/node_bend/node_bend.gml index 80a616a29..ea4ea8dc1 100644 --- a/scripts/node_bend/node_bend.gml +++ b/scripts/node_bend/node_bend.gml @@ -1,7 +1,7 @@ function Node_Bend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Bend"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; @@ -30,7 +30,7 @@ function Node_Bend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons attribute_surface_depth(); attribute_interpolation(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region draw_set_color(COLORS._main_accent); //for( var i = 0, n = array_length(mesh); i < n; i++ ) { diff --git a/scripts/node_bevel/node_bevel.gml b/scripts/node_bevel/node_bevel.gml index a16eef8ab..490d7112e 100644 --- a/scripts/node_bevel/node_bevel.gml +++ b/scripts/node_bevel/node_bevel.gml @@ -1,7 +1,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Bevel"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Height", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4) .setMappable(11); @@ -17,7 +17,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con new scrollItem("Smooth", s_node_curve, 4), new scrollItem("Circular", s_node_curve, 5), ]); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -47,7 +47,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con attribute_surface_depth(); attribute_oversample(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region PROCESSOR_OVERLAY_CHECK var _surf = current_data[0]; @@ -56,7 +56,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con var _pw = surface_get_width_safe(_surf) * _s / 2; var _ph = surface_get_height_safe(_surf) * _s / 2; - inputs[| 2].drawOverlay(active, _x + _pw, _y + _ph, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x + _pw, _y + _ph, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_blend/node_blend.gml b/scripts/node_blend/node_blend.gml index daada4882..6d42ed7c2 100644 --- a/scripts/node_blend/node_blend.gml +++ b/scripts/node_blend/node_blend.gml @@ -8,12 +8,8 @@ function Node_create_Blend(_x, _y, _group = noone, _param = {}) { var node = new Node_Blend(_x, _y, _group); var query = struct_try_get(_param, "query", ""); - var ind = -1; - - switch(query) { - default : ind = array_find(global.node_blend_keys, query); - } + var ind = array_find(global.node_blend_keys, query); if(ind >= 0) node.inputs[| 2].setValue(ind); return node; @@ -34,7 +30,7 @@ function Node_Blend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 3] = nodeValue("Opacity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); - inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Fill mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "None", "Stretch", "Tile" ]); @@ -84,7 +80,7 @@ function Node_Blend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con drag_mx = 0; drag_my = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _surf = outputs[| 0].getValue(); if(is_array(_surf)) _surf = array_safe_get(_surf, preview_index); if(is_struct(_surf)) return; diff --git a/scripts/node_blend_edge/node_blend_edge.gml b/scripts/node_blend_edge/node_blend_edge.gml index 4ba4cd408..61b4010de 100644 --- a/scripts/node_blend_edge/node_blend_edge.gml +++ b/scripts/node_blend_edge/node_blend_edge.gml @@ -1,7 +1,7 @@ function Node_Blend_Edge(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Blend Edge"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) .setDisplay(VALUE_DISPLAY.slider) diff --git a/scripts/node_blobify/node_blobify.gml b/scripts/node_blobify/node_blobify.gml index 4752f19a9..f63d4f358 100644 --- a/scripts/node_blobify/node_blobify.gml +++ b/scripts/node_blobify/node_blobify.gml @@ -1,7 +1,7 @@ function Node_Blobify(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Blobify"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); diff --git a/scripts/node_bloom/node_bloom.gml b/scripts/node_bloom/node_bloom.gml index d32e027d9..5194a285e 100644 --- a/scripts/node_bloom/node_bloom.gml +++ b/scripts/node_bloom/node_bloom.gml @@ -1,7 +1,7 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Bloom"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3, "Bloom blur radius.") .setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] }); @@ -11,9 +11,9 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 3] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .25, "Blend intensity.") .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01] }); - inputs[| 4] = nodeValue("Bloom mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Bloom mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur/node_blur.gml b/scripts/node_blur/node_blur.gml index 599f8dd72..9d6875378 100644 --- a/scripts/node_blur/node_blur.gml +++ b/scripts/node_blur/node_blur.gml @@ -1,7 +1,7 @@ function Node_Blur(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3) .setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] }); @@ -12,7 +12,7 @@ function Node_Blur(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 4] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur_bokeh/node_blur_bokeh.gml b/scripts/node_blur_bokeh/node_blur_bokeh.gml index ace68a35b..762e9a72e 100644 --- a/scripts/node_blur_bokeh/node_blur_bokeh.gml +++ b/scripts/node_blur_bokeh/node_blur_bokeh.gml @@ -1,13 +1,13 @@ function Node_Blur_Bokeh(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Lens Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) .setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.01] }) .setMappable(8); - inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 3] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur_contrast/node_blur_contrast.gml b/scripts/node_blur_contrast/node_blur_contrast.gml index 64e3926aa..dfe923ddb 100644 --- a/scripts/node_blur_contrast/node_blur_contrast.gml +++ b/scripts/node_blur_contrast/node_blur_contrast.gml @@ -1,7 +1,7 @@ function Node_Blur_Contrast(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Contrast Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3) .setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] }); @@ -9,7 +9,7 @@ function Node_Blur_Contrast(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr inputs[| 2] = nodeValue("Threshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2, "Brightness different to be blur together.") .setDisplay(VALUE_DISPLAY.slider); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur_directional/node_blur_directional.gml b/scripts/node_blur_directional/node_blur_directional.gml index 76880948f..b590654cb 100644 --- a/scripts/node_blur_directional/node_blur_directional.gml +++ b/scripts/node_blur_directional/node_blur_directional.gml @@ -1,7 +1,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Directional Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) .setDisplay(VALUE_DISPLAY.slider, { range: [0, 0.5, 0.001] }) @@ -11,7 +11,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y, .setDisplay(VALUE_DISPLAY.rotation) .setMappable(10); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -42,7 +42,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y, attribute_surface_depth(); attribute_oversample(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _surf = outputs[| 0].getValue(); if(is_array(_surf)) { if(array_length(_surf) == 0) return; @@ -52,7 +52,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y, var ww = surface_get_width_safe(_surf); var hh = surface_get_height_safe(_surf); - inputs[| 2].drawOverlay(active, _x + ww / 2 * _s, _y + hh / 2 * _s, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x + ww / 2 * _s, _y + hh / 2 * _s, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_blur_radial/node_blur_radial.gml b/scripts/node_blur_radial/node_blur_radial.gml index e04222cb0..252657d84 100644 --- a/scripts/node_blur_radial/node_blur_radial.gml +++ b/scripts/node_blur_radial/node_blur_radial.gml @@ -1,7 +1,7 @@ function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Radial Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 45) .setDisplay(VALUE_DISPLAY.rotation) @@ -14,7 +14,7 @@ function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 3] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -44,13 +44,13 @@ function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou attribute_oversample(); attribute_interpolation(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(2); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_blur_shape/node_blur_shape.gml b/scripts/node_blur_shape/node_blur_shape.gml index a12d33f00..428d09c66 100644 --- a/scripts/node_blur_shape/node_blur_shape.gml +++ b/scripts/node_blur_shape/node_blur_shape.gml @@ -6,7 +6,7 @@ function Node_Blur_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group inputs[| 2] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur_simple/node_blur_simple.gml b/scripts/node_blur_simple/node_blur_simple.gml index 15ef6c81e..560ae2d79 100644 --- a/scripts/node_blur_simple/node_blur_simple.gml +++ b/scripts/node_blur_simple/node_blur_simple.gml @@ -1,20 +1,20 @@ function Node_Blur_Simple(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Non-Uniform Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3) .setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] }); inputs[| 2] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 3] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Override color", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Replace all color while keeping the alpha. Used to\nfix grey outline when bluring transparent pixel."); inputs[| 5] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); - inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur_slope/node_blur_slope.gml b/scripts/node_blur_slope/node_blur_slope.gml index 0e0f3b54d..2c27a5993 100644 --- a/scripts/node_blur_slope/node_blur_slope.gml +++ b/scripts/node_blur_slope/node_blur_slope.gml @@ -1,7 +1,7 @@ function Node_Blur_Slope(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Slope Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4) .setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] }) @@ -9,7 +9,7 @@ function Node_Blur_Slope(_x, _y, _group = noone) : Node_Processor(_x, _y, _group inputs[| 2] = nodeValue("Slope Map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_blur_zoom/node_blur_zoom.gml b/scripts/node_blur_zoom/node_blur_zoom.gml index ac1e41b13..44ef36d9b 100644 --- a/scripts/node_blur_zoom/node_blur_zoom.gml +++ b/scripts/node_blur_zoom/node_blur_zoom.gml @@ -1,7 +1,7 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Zoom Blur"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) .setMappable(12); @@ -16,9 +16,9 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 4] = nodeValue("Zoom mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Start", "Middle", "End" ]); - inputs[| 5] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -47,13 +47,13 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); attribute_oversample(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(2); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 64, THEME.anchor_scale_hori); - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 64, THEME.anchor_scale_hori); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_bw/node_bw.gml b/scripts/node_bw/node_bw.gml index b654457cc..6db945165 100644 --- a/scripts/node_bw/node_bw.gml +++ b/scripts/node_bw/node_bw.gml @@ -1,7 +1,7 @@ function Node_BW(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "BW"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01] }) @@ -11,7 +11,7 @@ function Node_BW(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constr .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 4, 0.01] }) .setMappable(10); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_byte_file_read/node_byte_file_read.gml b/scripts/node_byte_file_read/node_byte_file_read.gml new file mode 100644 index 000000000..bce10f167 --- /dev/null +++ b/scripts/node_byte_file_read/node_byte_file_read.gml @@ -0,0 +1,80 @@ +function Node_Byte_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { + name = "Byte File In"; + color = COLORS.node_blend_input; + + w = 128; + + inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") + .setDisplay(VALUE_DISPLAY.path_load, { filter: "any file|*" }) + .rejectArray(); + + outputs[| 0] = nodeValue("Content", self, JUNCTION_CONNECT.output, VALUE_TYPE.buffer, noone); + outputs[| 1] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "") + .setVisible(true, true); + + content = noone; + + on_drop_file = function(path) { #region + path = path_get(path); + inputs[| 0].setValue(path); + + if(updatePaths(path)) { + doUpdate(); + return true; + } + + return false; + } #endregion + + path_current = ""; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); + + insp1UpdateTooltip = __txt("Refresh"); + insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; + + static onInspector1Update = function() { #region + updatePaths(path_get(getInputData(0))); + triggerRender(); + } #endregion + + function updatePaths(path = path_current) { #region + if(path == -1) return false; + + path_current = path; + edit_time = max(edit_time, file_get_modify_s(path_current)); + + outputs[| 1].setValue(path_current); + content = buffer_load(path_current); + + return true; + } #endregion + + static step = function() { #region + if(attributes.file_checker && path_current != "") { + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); + } + } + } #endregion + + static update = function(frame = CURRENT_FRAME) { #region + var path = path_get(getInputData(0)); + if(path_current != path) + updatePaths(path); + + outputs[| 0].setValue(content); + } #endregion + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region + var bbox = drawGetBbox(xx, yy, _s); + var str = filename_name(getInputData(0)); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } #endregion +} \ No newline at end of file diff --git a/scripts/node_byte_file_read/node_byte_file_read.yy b/scripts/node_byte_file_read/node_byte_file_read.yy new file mode 100644 index 000000000..41c2deedf --- /dev/null +++ b/scripts/node_byte_file_read/node_byte_file_read.yy @@ -0,0 +1,11 @@ +{ + "resourceType": "GMScript", + "resourceVersion": "1.0", + "name": "node_byte_file_read", + "isCompatibility": false, + "isDnD": false, + "parent": { + "name": "IO", + "path": "folders/nodes/data/IO.yy", + }, +} \ No newline at end of file diff --git a/scripts/node_byte_file_write/node_byte_file_write.gml b/scripts/node_byte_file_write/node_byte_file_write.gml new file mode 100644 index 000000000..7f683120a --- /dev/null +++ b/scripts/node_byte_file_write/node_byte_file_write.gml @@ -0,0 +1,34 @@ +function Node_Byte_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { + name = "Byte File Out"; + color = COLORS.node_blend_input; + + w = 128; + + inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") + .setDisplay(VALUE_DISPLAY.path_save, { filter: "any file|*" }) + .rejectArray(); + + inputs[| 1] = nodeValue("Content", self, JUNCTION_CONNECT.input, VALUE_TYPE.buffer, noone) + .setVisible(true, true); + + static writeFile = function() { + var path = getInputData(0); + if(path == "") return; + + var cont = getInputData(1); + if(cont == noone) return; + + buffer_save(cont, path); + } + + static update = function(frame = CURRENT_FRAME) { writeFile(); } + static onInspector1Update = function() { getInputs(); writeFile(); } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var bbox = drawGetBbox(xx, yy, _s); + var str = filename_name(getInputData(0)); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_byte_file_write/node_byte_file_write.yy b/scripts/node_byte_file_write/node_byte_file_write.yy new file mode 100644 index 000000000..a7e0bb614 --- /dev/null +++ b/scripts/node_byte_file_write/node_byte_file_write.yy @@ -0,0 +1,11 @@ +{ + "resourceType": "GMScript", + "resourceVersion": "1.0", + "name": "node_byte_file_write", + "isCompatibility": false, + "isDnD": false, + "parent": { + "name": "IO", + "path": "folders/nodes/data/IO.yy", + }, +} \ No newline at end of file diff --git a/scripts/node_cache/node_cache.gml b/scripts/node_cache/node_cache.gml index c622c41fc..6ecaf3f95 100644 --- a/scripts/node_cache/node_cache.gml +++ b/scripts/node_cache/node_cache.gml @@ -2,9 +2,9 @@ function Node_Cache(_x, _y, _group = noone) : __Node_Cache(_x, _y, _group) const name = "Cache"; use_cache = CACHE_USE.auto; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - outputs[| 0] = nodeValue("Cache surface", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0); + outputs[| 0] = nodeValue("Cache surface", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ ["Surfaces", true], 0, diff --git a/scripts/node_cache_array/node_cache_array.gml b/scripts/node_cache_array/node_cache_array.gml index b8e17e4b4..8de2410ad 100644 --- a/scripts/node_cache_array/node_cache_array.gml +++ b/scripts/node_cache_array/node_cache_array.gml @@ -2,7 +2,7 @@ function Node_Cache_Array(_x, _y, _group = noone) : __Node_Cache(_x, _y, _group) name = "Cache Array"; use_cache = CACHE_USE.manual; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Start frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, -1, "Frame index to start caching, set to -1 to start at the first frame."); diff --git a/scripts/node_camera/node_camera.gml b/scripts/node_camera/node_camera.gml index 206cc6310..0cf72edd6 100644 --- a/scripts/node_camera/node_camera.gml +++ b/scripts/node_camera/node_camera.gml @@ -2,7 +2,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co name = "Camera"; preview_alpha = 0.5; - inputs[| 0] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); onSurfaceSize = function() { return surface_get_dimension(getInputData(0)); }; inputs[| 1] = nodeValue("Focus area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 16, 16, AREA_SHAPE.rectangle ]) @@ -46,7 +46,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co var index = ds_list_size(inputs); var _s = floor((index - input_fix_len) / data_length); - inputs[| index + 0] = nodeValue($"Element {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| index + 0] = nodeValue($"Element {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| index + 1] = nodeValue($"Parallax {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ] ) .setDisplay(VALUE_DISPLAY.vector) @@ -103,7 +103,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co static getPreviewValues = function() { return getInputData(0); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region if(array_length(current_data) == 0) return; var _out = outputs[| 0].getValue(); @@ -114,7 +114,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co var _cam_y = _y + (_area[1] - _area[3] * _zoom) * _s; draw_surface_ext_safe(_out, _cam_x, _cam_y, _s * _zoom, _s * _zoom); - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); draw_set_color(COLORS._main_accent); var x0 = _cam_x; diff --git a/scripts/node_canvas/node_canvas.gml b/scripts/node_canvas/node_canvas.gml index b7374ba12..7e710ec25 100644 --- a/scripts/node_canvas/node_canvas.gml +++ b/scripts/node_canvas/node_canvas.gml @@ -708,7 +708,7 @@ function Node_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) constructor draw_set_alpha(1); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region if(instance_exists(o_dialog_color_picker)) return; mouse_cur_x = round((_mx - _x) / _s - 0.5); diff --git a/scripts/node_cellular/node_cellular.gml b/scripts/node_cellular/node_cellular.gml index 8dcee0c69..33dc1b4f6 100644 --- a/scripts/node_cellular/node_cellular.gml +++ b/scripts/node_cellular/node_cellular.gml @@ -50,8 +50,8 @@ function Node_Cellular(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static step = function() { #region diff --git a/scripts/node_checker/node_checker.gml b/scripts/node_checker/node_checker.gml index e66f4fdd6..e32e7e9eb 100644 --- a/scripts/node_checker/node_checker.gml +++ b/scripts/node_checker/node_checker.gml @@ -38,13 +38,13 @@ function Node_Checker(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var pos = getInputData(3); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); } static step = function() { #region diff --git a/scripts/node_chromatic_aberration/node_chromatic_aberration.gml b/scripts/node_chromatic_aberration/node_chromatic_aberration.gml index 7c39fca39..ebd46a507 100644 --- a/scripts/node_chromatic_aberration/node_chromatic_aberration.gml +++ b/scripts/node_chromatic_aberration/node_chromatic_aberration.gml @@ -1,7 +1,7 @@ function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Chromatic Aberration"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -30,12 +30,12 @@ function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x, attribute_surface_depth(); attribute_interpolation(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(1); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_collection/node_collection.gml b/scripts/node_collection/node_collection.gml index 3b9f1306c..1ef9ddabb 100644 --- a/scripts/node_collection/node_collection.gml +++ b/scripts/node_collection/node_collection.gml @@ -262,7 +262,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc h = max(min_h, preH, _hi, _ho); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region if(!draw_input_overlay) return; for(var i = custom_input_index; i < ds_list_size(inputs); i++) { @@ -270,7 +270,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc var _show = _in.from.getInputData(6); if(!_show) continue; - var _hov = _in.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + var _hov = _in.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); if(_hov != undefined) active &= !_hov; } } #endregion diff --git a/scripts/node_color_adjust/node_color_adjust.gml b/scripts/node_color_adjust/node_color_adjust.gml index 3e92264ff..7069499ab 100644 --- a/scripts/node_color_adjust/node_color_adjust.gml +++ b/scripts/node_color_adjust/node_color_adjust.gml @@ -1,7 +1,7 @@ function Node_Color_adjust(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Color Adjust"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] }) @@ -29,7 +29,7 @@ function Node_Color_adjust(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro .setDisplay(VALUE_DISPLAY.slider) .setMappable(23); - inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 9] = nodeValue("Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider) diff --git a/scripts/node_color_remove/node_color_remove.gml b/scripts/node_color_remove/node_color_remove.gml index a6ff4ad15..06ef9dd05 100644 --- a/scripts/node_color_remove/node_color_remove.gml +++ b/scripts/node_color_remove/node_color_remove.gml @@ -1,7 +1,7 @@ function Node_Color_Remove(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Remove Color"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Colors", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE ) .setDisplay(VALUE_DISPLAY.palette); @@ -10,7 +10,7 @@ function Node_Color_Remove(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro .setDisplay(VALUE_DISPLAY.slider) .setMappable(10); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_color_replace/node_color_replace.gml b/scripts/node_color_replace/node_color_replace.gml index 75aa597ba..0d715ca4d 100644 --- a/scripts/node_color_replace/node_color_replace.gml +++ b/scripts/node_color_replace/node_color_replace.gml @@ -1,7 +1,7 @@ function Node_Color_replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Replace Palette"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Palette from", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE, "Color to be replaced.") .setDisplay(VALUE_DISPLAY.palette); @@ -17,7 +17,7 @@ function Node_Color_replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr inputs[| 6] = nodeValue("Hard replace", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true, "Completely override pixel with new color instead of blending between it."); - inputs[| 7] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 7] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 8] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_colorize/node_colorize.gml b/scripts/node_colorize/node_colorize.gml index 6263271e9..6cd77c8ee 100644 --- a/scripts/node_colorize/node_colorize.gml +++ b/scripts/node_colorize/node_colorize.gml @@ -1,7 +1,7 @@ function Node_Colorize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Colorize"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Gradient", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject([ c_black, c_white ]) ) .setMappable(11); @@ -10,7 +10,7 @@ function Node_Colorize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, .01 ] }) .setMappable(10); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -44,8 +44,8 @@ function Node_Colorize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 12].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, surface_get_dimension(getSingleValue(0))); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 12].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, surface_get_dimension(getSingleValue(0))); } #endregion static step = function() { #region diff --git a/scripts/node_colors_replace/node_colors_replace.gml b/scripts/node_colors_replace/node_colors_replace.gml index 8af34fcb5..b59f174f0 100644 --- a/scripts/node_colors_replace/node_colors_replace.gml +++ b/scripts/node_colors_replace/node_colors_replace.gml @@ -1,7 +1,7 @@ function Node_Colors_Replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Replace Colors"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Palette from", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, []) .setDisplay(VALUE_DISPLAY.palette); @@ -12,7 +12,7 @@ function Node_Colors_Replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _g inputs[| 3] = nodeValue("Threshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) .setDisplay(VALUE_DISPLAY.slider); - inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_combine_hsv/node_combine_hsv.gml b/scripts/node_combine_hsv/node_combine_hsv.gml index 54e9d1356..8eda95a9a 100644 --- a/scripts/node_combine_hsv/node_combine_hsv.gml +++ b/scripts/node_combine_hsv/node_combine_hsv.gml @@ -6,9 +6,9 @@ function Node_Combine_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou uniform_s = shader_get_sampler_index(shader, "samS"); uniform_v = shader_get_sampler_index(shader, "samV"); - inputs[| 0] = nodeValue("Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); - inputs[| 1] = nodeValue("Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); - inputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); + inputs[| 1] = nodeValue("Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); + inputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); diff --git a/scripts/node_composite/node_composite.gml b/scripts/node_composite/node_composite.gml index aace0644a..4a297d564 100644 --- a/scripts/node_composite/node_composite.gml +++ b/scripts/node_composite/node_composite.gml @@ -26,10 +26,9 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); attribute_interpolation(); - setIsDynamicInput(4); - attributes.layer_visible = []; attributes.layer_selectable = []; + properties_expand = []; hold_visibility = true; hold_select = true; @@ -39,18 +38,24 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) var amo = (ds_list_size(inputs) - input_fix_len) / data_length - 1; if(array_length(current_data) != ds_list_size(inputs)) return 0; - var lh = 32; - var _h = 8 + max(1, amo) * (lh + 4) + 8; + var lh = 28; + var eh = 36; + + properties_expand = array_verify(properties_expand, amo); + var _h = 4; + for(var i = 0; i < amo; i++) + _h += lh + 4 + properties_expand[i] * eh; layer_renderer.h = _h; + draw_sprite_stretched_ext(THEME.ui_panel_bg, 1, _x, _y, _w, _h, COLORS.node_composite_bg_blend, 1); var _vis = attributes.layer_visible; var _sel = attributes.layer_selectable; - var ly = _y + 8; - var ssh = lh - 6; + var ly = _y + 4; + var ssh = lh - 4; var hoverIndex = noone; - draw_set_color(COLORS.node_composite_separator); - draw_line(_x + 16, ly, _x + _w - 16, ly); + + var _cy = ly; layer_remove = -1; for(var i = 0; i < amo; i++) { @@ -60,7 +65,41 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) var _pos = current_data[index + 1]; var _bx = _x + _w - 24; - var _cy = ly + i * (lh + 4); + var aa = (ind != layer_dragging || layer_dragging == noone)? 1 : 0.5; + var vis = _vis[ind]; + var sel = _sel[ind]; + + var _exp = properties_expand[i]; + var _lh = lh + 4 + _exp * eh; + + if(_exp) { #region extended + var _px = _x + 4; + var _py = _cy + lh + 4; + var _pw = _w - 8; + var _ph = eh - 4; + + var _pww = (_pw - 8) / 2 - 8; + var _pwh = _ph - 8; + + draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, _px, _py, _pw, _ph, COLORS.node_composite_bg_blend, 1); + + var jun = inputs[| index + 4]; + var bl_wid = jun.editWidget; + + var _param = new widgetParam(_px + 4, _py + 4, _pww, _pwh, jun.showValue(), jun.display_data, _m, layer_renderer.rx, layer_renderer.ry); + bl_wid.setFocusHover(_focus, _hover); + + bl_wid.font = f_p2; + bl_wid.drawParam(_param); + bl_wid.font = f_p0; + + var jun = inputs[| index + 5]; + var bl_wid = jun.editWidget; + + var _param = new widgetParam(_px + 4 + _pww + 8, _py + 4, _pww, _pwh, jun.showValue(), jun.display_data, _m, layer_renderer.rx, layer_renderer.ry); + bl_wid.setFocusHover(_focus, _hover); + bl_wid.drawParam(_param); + } #endregion if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 16)) { draw_sprite_ui_uniform(THEME.icon_delete, 3, _bx, _cy + lh / 2, 1, COLORS._main_value_negative); @@ -72,15 +111,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) if(!is_surface(_surf)) continue; - var aa = (ind != layer_dragging || layer_dragging == noone)? 1 : 0.5; - var vis = _vis[ind]; - var sel = _sel[ind]; - var hover = point_in_rectangle(_m[0], _m[1], _x, _cy, _x + _w, _cy + lh); - - draw_set_color(COLORS.node_composite_separator); - draw_line(_x + 16, _cy + lh + 2, _x + _w - 16, _cy + lh + 2); - - var _bx = _x + 24 * 2 + 8; + var _bx = _x + 16 + 24; if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 12)) { draw_sprite_ui_uniform(THEME.junc_visible, vis, _bx, _cy + lh / 2, 1, c_white); @@ -94,7 +125,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) } else draw_sprite_ui_uniform(THEME.junc_visible, vis, _bx, _cy + lh / 2, 1, COLORS._main_icon, 0.5 + 0.5 * vis); - _bx += 24 + 8; + _bx += 12 + 1 + 12; if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 12)) { draw_sprite_ui_uniform(THEME.cursor_select, sel, _bx, _cy + lh / 2, 1, c_white); @@ -106,21 +137,21 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) } else draw_sprite_ui_uniform(THEME.cursor_select, sel, _bx, _cy + lh / 2, 1, COLORS._main_icon, 0.5 + 0.5 * sel); - draw_set_color(COLORS.node_composite_bg); - var _sx0 = _bx + 24; + var hover = point_in_rectangle(_m[0], _m[1], _bx + 12 + 6, _cy, _x + _w - 48, _cy + lh - 1); + + var _sx0 = _bx + 12 + 6; var _sx1 = _sx0 + ssh; var _sy0 = _cy + 3; var _sy1 = _sy0 + ssh; - draw_rectangle(_sx0, _sy0, _sx1, _sy1, true); var _ssw = surface_get_width_safe(_surf); var _ssh = surface_get_height_safe(_surf); var _sss = min(ssh / _ssw, ssh / _ssh); draw_surface_ext_safe(_surf, _sx0, _sy0, _sss, _sss, 0, c_white, 1); - draw_set_text(f_p1, fa_left, fa_center, hover? COLORS._main_text : COLORS._main_text); + draw_set_text(f_p1, fa_left, fa_center, hover? COLORS._main_text_accent : COLORS._main_text); draw_set_alpha(aa); - draw_text(_sx1 + 12, _cy + lh / 2, inputs[| index].name); + draw_text(_sx1 + 12, _cy + lh / 2 + 2, inputs[| index].name); draw_set_alpha(1); if(_hover && point_in_rectangle(_m[0], _m[1], _x, _cy, _x + _w, _cy + lh)) { @@ -134,16 +165,23 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) } } - if(layer_dragging == noone || layer_dragging == ind) { - var _bx = _x + 24; - if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 16)) { - draw_sprite_ui_uniform(THEME.hamburger_s, 3, _bx, _cy + lh / 2, 1, c_white); + var _bx = _x + 8 + 8; + var cc = COLORS._main_icon; + if(point_in_rectangle(_m[0], _m[1], _bx - 8, _cy + 4, _bx + 8, _cy + lh - 4)) { + cc = c_white; - if(mouse_press(mb_left, _focus)) - layer_dragging = ind; - } else - draw_sprite_ui_uniform(THEME.hamburger_s, 3, _bx, _cy + lh / 2, 1, COLORS._main_icon); + if(mouse_press(mb_left, _focus)) + properties_expand[i] = !properties_expand[i]; } + + draw_sprite_ui_uniform(THEME.arrow, _exp? 3 : 0, _bx, _cy + lh / 2 + _exp * 2, 1, cc); + + if(hover && layer_dragging == noone || layer_dragging == ind) { + if(mouse_press(mb_left, _focus)) + layer_dragging = ind; + } + + _cy += _lh; } if(layer_dragging != noone && mouse_release(mb_left)) { @@ -184,10 +222,13 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) ["Layers", false], layer_renderer, ["Surfaces", true], ]; + input_display_list_len = array_length(input_display_list); + setIsDynamicInput(6); function deleteLayer(index) { #region var idx = input_fix_len + index * data_length; + for( var i = 0; i < data_length; i++ ) { ds_list_delete(inputs, idx); array_remove(input_display_list, idx + i); @@ -207,36 +248,37 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) var index = ds_list_size(inputs); var _s = floor((index - input_fix_len) / data_length); - inputs[| index + 0] = nodeValue(_s? ("Surface " + string(_s)) : "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); - inputs[| index + 0].surface_index = index; + inputs[| index + 0] = nodeValue(_s? ($"Surface {_s}") : "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| index + 0].hover_effect = 0; - inputs[| index + 1] = nodeValue("Position " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) + inputs[| index + 1] = nodeValue($"Position {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) .setDisplay(VALUE_DISPLAY.vector) .setUnitRef(function(index) { return [ overlay_w, overlay_h ]; }); - inputs[| index + 1].surface_index = index; - inputs[| index + 2] = nodeValue("Rotation " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) + inputs[| index + 2] = nodeValue($"Rotation {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) .setDisplay(VALUE_DISPLAY.rotation); - inputs[| index + 2].surface_index = index; - inputs[| index + 3] = nodeValue("Scale " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) + inputs[| index + 3] = nodeValue($"Scale {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| index + 3].surface_index = index; - array_push(input_display_list, index + 0); - array_push(input_display_list, index + 1); - array_push(input_display_list, index + 2); - array_push(input_display_list, index + 3); + inputs[| index + 4] = nodeValue($"Blend {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_scroll, BLEND_TYPES ); + + inputs[| index + 5] = nodeValue($"Opacity {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + .setDisplay(VALUE_DISPLAY.slider); + + for( var i = 0; i < data_length; i++ ) { + array_push(input_display_list, index + i); + inputs[| index + i].surface_index = index; + } while(_s >= array_length(attributes.layer_visible)) array_push(attributes.layer_visible, true); + while(_s >= array_length(attributes.layer_selectable)) array_push(attributes.layer_selectable, true); - } #endregion - if(!LOADING && !APPENDING) createNewInput(); - - //function getInput() { return inputs[| ds_list_size(inputs) - data_length]; } + + } if(!LOADING && !APPENDING) createNewInput(); #endregion outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); @@ -248,11 +290,11 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) surf_dragging = -1; input_dragging = -1; - drag_type = 0; - dragging_sx = 0; - dragging_sy = 0; - dragging_mx = 0; - dragging_my = 0; + drag_type = 0; + dragging_sx = 0; + dragging_sy = 0; + dragging_mx = 0; + dragging_my = 0; rot_anc_x = 0; rot_anc_y = 0; @@ -264,11 +306,11 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) surface_selecting = noone; - static getInputAmount = function() { #region - return input_fix_len + (ds_list_size(inputs) - input_fix_len) / data_length; - } #endregion + static getInputAmount = function() { INLINE return input_fix_len + (ds_list_size(inputs) - input_fix_len) / data_length; } static getInputIndex = function(index) { #region + INLINE + if(index < input_fix_len) return index; return input_fix_len + (index - input_fix_len) * data_length; } #endregion @@ -458,7 +500,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) createNewInput(); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pad = getInputData(0); var ww = overlay_w; var hh = overlay_h; @@ -740,56 +782,64 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) if(_output_index == 1) return atlas_data; if(_output_index == 0 && _array_index == 0) atlas_data = []; - if(array_length(_data) < 4) return _outSurf; + if(array_length(_data) <= input_fix_len) return _outSurf; var _pad = _data[0]; var _dim_type = _data[1]; var _dim = _data[2]; var base = _data[3]; var cDep = attrDepth(); - var ww = 0, hh = 0; - switch(_dim_type) { - case COMPOSE_OUTPUT_SCALING.first : - ww = surface_get_width_safe(base); - hh = surface_get_height_safe(base); - break; - case COMPOSE_OUTPUT_SCALING.largest : - for(var i = input_fix_len; i < array_length(_data) - data_length; i += data_length) { - var _s = _data[i]; - ww = max(ww, surface_get_width_safe(_s)); - hh = max(hh, surface_get_height_safe(_s)); - } - break; - case COMPOSE_OUTPUT_SCALING.constant : - ww = _dim[0]; - hh = _dim[1]; - break; - } - ww += _pad[0] + _pad[2]; - hh += _pad[1] + _pad[3]; + #region dimension + var ww = 0, hh = 0; - overlay_w = ww; - overlay_h = hh; + switch(_dim_type) { + case COMPOSE_OUTPUT_SCALING.first : + ww = surface_get_width_safe(base); + hh = surface_get_height_safe(base); + break; + case COMPOSE_OUTPUT_SCALING.largest : + for(var i = input_fix_len; i < array_length(_data) - data_length; i += data_length) { + var _s = _data[i]; + ww = max(ww, surface_get_width_safe(_s)); + hh = max(hh, surface_get_height_safe(_s)); + } + break; + case COMPOSE_OUTPUT_SCALING.constant : + ww = _dim[0]; + hh = _dim[1]; + break; + } + ww += _pad[0] + _pad[2]; + hh += _pad[1] + _pad[3]; + + overlay_w = ww; + overlay_h = hh; + #endregion for(var i = 0; i < 3; i++) { temp_surface[i] = surface_verify(temp_surface[i], ww, hh, cDep); surface_clear(temp_surface[i]); } - var res_index = 0, bg = 0; - var imageAmo = (ds_list_size(inputs) - input_fix_len) / data_length; - var _vis = attributes.layer_visible; - var _bg = 0; + var res_index = 0; + var imageAmo = (ds_list_size(inputs) - input_fix_len) / data_length; + var _vis = attributes.layer_visible; + var bg = 0; + var _bg = 0; + + blend_temp_surface = temp_surface[2]; for(var i = 0; i < imageAmo; i++) { var vis = _vis[i]; if(!vis) continue; - var startDataIndex = input_fix_len + i * data_length; - var _s = _data[startDataIndex + 0]; - var _pos = _data[startDataIndex + 1]; - var _rot = _data[startDataIndex + 2]; - var _sca = _data[startDataIndex + 3]; + var _ind = input_fix_len + i * data_length; + var _s = _data[_ind + 0]; + var _pos = _data[_ind + 1]; + var _rot = _data[_ind + 2]; + var _sca = _data[_ind + 3]; + var _bld = _data[_ind + 4]; + var _alp = _data[_ind + 5]; if(!_s || is_array(_s)) continue; @@ -806,8 +856,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) array_push(atlas_data, new SurfaceAtlas(_s, _d0[0], _d0[1], _rot, _sca[0], _sca[1])); surface_set_shader(temp_surface[_bg], sh_sample, true, BLEND.over); - blend_temp_surface = temp_surface[2]; - draw_surface_blend_ext(temp_surface[!_bg], _s, _d0[0], _d0[1], _sca[0], _sca[1], _rot); + draw_surface_blend_ext(temp_surface[!_bg], _s, _d0[0], _d0[1], _sca[0], _sca[1], _rot, c_white, _alp, _bld, true); surface_reset_shader(); _bg = !_bg; diff --git a/scripts/node_convolution/node_convolution.gml b/scripts/node_convolution/node_convolution.gml index e898aedd8..8d2e59f53 100644 --- a/scripts/node_convolution/node_convolution.gml +++ b/scripts/node_convolution/node_convolution.gml @@ -1,7 +1,7 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Convolution"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Kernel", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, array_create(9)) .setDisplay(VALUE_DISPLAY.matrix, { size: 3 }); @@ -9,7 +9,7 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 2] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_corner/node_corner.gml b/scripts/node_corner/node_corner.gml index a157166f1..d91ddb911 100644 --- a/scripts/node_corner/node_corner.gml +++ b/scripts/node_corner/node_corner.gml @@ -1,12 +1,12 @@ function Node_Corner(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Round corner"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2) .setDisplay(VALUE_DISPLAY.slider, { range: [2, 16, 1] }); - inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 3] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_crop/node_crop.gml b/scripts/node_crop/node_crop.gml index b3c795722..641ee353c 100644 --- a/scripts/node_crop/node_crop.gml +++ b/scripts/node_crop/node_crop.gml @@ -2,7 +2,7 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons name = "Crop"; preview_alpha = 0.5; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Crop", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.padding) @@ -28,7 +28,7 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons static getPreviewValues = function() { return getInputData(0); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny, params) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, params) { #region var _inSurf = getSingleValue(0); var _spRaw = getSingleValue(1); var _splice; diff --git a/scripts/node_crop_content/node_crop_content.gml b/scripts/node_crop_content/node_crop_content.gml index 24f87e053..680a103a7 100644 --- a/scripts/node_crop_content/node_crop_content.gml +++ b/scripts/node_crop_content/node_crop_content.gml @@ -1,7 +1,7 @@ function Node_Crop_Content(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Crop Content"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); diff --git a/scripts/node_csv_file_read/node_csv_file_read.gml b/scripts/node_csv_file_read/node_csv_file_read.gml index 77db6f56e..13c665353 100644 --- a/scripts/node_csv_file_read/node_csv_file_read.gml +++ b/scripts/node_csv_file_read/node_csv_file_read.gml @@ -41,9 +41,14 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const outputs[| 1] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "") .setVisible(true, true); - content = ""; + content = ""; path_current = ""; + edit_time = 0; + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); + first_update = false; on_drop_file = function(path) { #region @@ -55,8 +60,8 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const return false; } #endregion - function updatePaths(path) { #region - path = try_get_path(path); + function updatePaths(path = path_current) { #region + path = path_get(path); if(path == -1) return false; var ext = string_lower(filename_ext(path)); @@ -84,8 +89,10 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const if(path_current == "") first_update = true; + path_current = path; - + edit_time = max(edit_time, file_get_modify_s(path_current)); + return true; } #endregion @@ -93,15 +100,21 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; static onInspector1Update = function() { #region - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - update(); + updatePaths(path_get(getInputData(0))); + triggerRender(); + } #endregion + + static step = function() { #region + if(attributes.file_checker && path_current != "") { + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); + } + } } #endregion static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); - if(path == "") return; + var path = path_get(getInputData(0)); if(path_current != path) updatePaths(path); outputs[| 0].setValue(content); diff --git a/scripts/node_curve/node_curve.gml b/scripts/node_curve/node_curve.gml index 776e5d63c..a3e7edfe5 100644 --- a/scripts/node_curve/node_curve.gml +++ b/scripts/node_curve/node_curve.gml @@ -1,7 +1,7 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Curve"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01); @@ -11,7 +11,7 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 4] = nodeValue("Blue", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 8801ea5d2..4748939bb 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -1017,14 +1017,14 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { static drawJunctions = function(_x, _y, _mx, _my, _s) { #region if(!active) return; var hover = noone; - var amo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list); - var jun; + var amo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list); gpu_set_texfilter(true); for(var i = 0; i < amo; i++) { var ind = getInputJunctionIndex(i); if(ind == noone) continue; - jun = ds_list_get(inputs, ind, noone); + + var jun = ds_list_get(inputs, ind, noone); if(jun == noone || is_undefined(jun)) continue; if(jun.drawJunction(_s, _mx, _my)) @@ -1032,17 +1032,21 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { } for(var i = 0; i < ds_list_size(outputs); i++) { - jun = outputs[| i]; + var jun = outputs[| i]; if(jun.drawJunction(_s, _mx, _my)) hover = jun; } - if(hasInspector1Update() && inspectInput1.drawJunction(_s, _mx, _my)) - hover = inspectInput1; + if(hasInspector1Update()) { + if(inspectInput1.drawJunction(_s, _mx, _my)) + hover = inspectInput1; + } - if(hasInspector2Update() && inspectInput2.drawJunction(_s, _mx, _my)) - hover = inspectInput2; + if(hasInspector2Update()) { + if(inspectInput2.drawJunction(_s, _mx, _my)) + hover = inspectInput2; + } if(attributes.show_update_trigger) { if(updatedInTrigger.drawJunction(_s, _mx, _my)) hover = updatedInTrigger; @@ -1408,9 +1412,9 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { if(display_parameter.highlight) drawBranch(); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {} + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {} - static drawPreviewToolOverlay = function(active, _mx, _my, _panel) { return false; } + static drawPreviewToolOverlay = function(hover, active, _mx, _my, _panel) { return false; } static drawAnimationTimeline = function(_w, _h, _s) {} diff --git a/scripts/node_de_corner/node_de_corner.gml b/scripts/node_de_corner/node_de_corner.gml index 4556146e5..51fcde946 100644 --- a/scripts/node_de_corner/node_de_corner.gml +++ b/scripts/node_de_corner/node_de_corner.gml @@ -1,7 +1,7 @@ function Node_De_Corner(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "De-Corner"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_de_stray/node_de_stray.gml b/scripts/node_de_stray/node_de_stray.gml index 223efb7f8..1d6731b90 100644 --- a/scripts/node_de_stray/node_de_stray.gml +++ b/scripts/node_de_stray/node_de_stray.gml @@ -1,7 +1,7 @@ function Node_De_Stray(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "De-Stray"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Tolerance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_diffuse/node_diffuse.gml b/scripts/node_diffuse/node_diffuse.gml index 91cb16c72..385df014c 100644 --- a/scripts/node_diffuse/node_diffuse.gml +++ b/scripts/node_diffuse/node_diffuse.gml @@ -38,7 +38,7 @@ function Node_Diffuse(_x, _y, _group = noone) : Node(_x, _y, _group) constructor bufferStore.velocity = buffer_create(1, buffer_grow, 4); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _surf = getInputData(0); var _sw = surface_get_width_safe(_surf); var _sh = surface_get_height_safe(_surf); diff --git a/scripts/node_dilate/node_dilate.gml b/scripts/node_dilate/node_dilate.gml index 4aa2cdc89..983ad76fa 100644 --- a/scripts/node_dilate/node_dilate.gml +++ b/scripts/node_dilate/node_dilate.gml @@ -1,7 +1,7 @@ function Node_Dilate(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Dilate"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -17,7 +17,7 @@ function Node_Dilate(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co inputs[| 4] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -51,14 +51,14 @@ function Node_Dilate(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co attribute_oversample(); attribute_interpolation(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(1); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); } #endregion static step = function() { #region diff --git a/scripts/node_displace/node_displace.gml b/scripts/node_displace/node_displace.gml index 1c335d9d7..dbea6c327 100644 --- a/scripts/node_displace/node_displace.gml +++ b/scripts/node_displace/node_displace.gml @@ -1,7 +1,7 @@ function Node_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Displace"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Displace map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); @@ -27,7 +27,7 @@ If set, then strength value control how many times the effect applies on itself. inputs[| 7] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 9] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_display_image/node_display_image.gml b/scripts/node_display_image/node_display_image.gml index 97f217839..357f72511 100644 --- a/scripts/node_display_image/node_display_image.gml +++ b/scripts/node_display_image/node_display_image.gml @@ -78,7 +78,7 @@ function Node_Display_Image(_x, _y, _group = noone) : Node(_x, _y, _group) const } #endregion function updatePaths(path) { #region - path = try_get_path(path); + path = path_get(path); if(path == -1) return false; var ext = string_lower(filename_ext(path)); diff --git a/scripts/node_dither/node_dither.gml b/scripts/node_dither/node_dither.gml index 58dcee0b8..36afec855 100644 --- a/scripts/node_dither/node_dither.gml +++ b/scripts/node_dither/node_dither.gml @@ -16,7 +16,7 @@ function Node_Dither(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co name = "Dither"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Palette", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE ) .setDisplay(VALUE_DISPLAY.palette); @@ -24,18 +24,18 @@ function Node_Dither(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co inputs[| 2] = nodeValue("Pattern", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "2 x 2 Bayer", "4 x 4 Bayer", "8 x 8 Bayer", "Custom" ]); - inputs[| 3] = nodeValue("Dither map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 3] = nodeValue("Dither map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .setVisible(false); inputs[| 4] = nodeValue("Contrast", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider, { range: [1, 5, 0.1] }); - inputs[| 5] = nodeValue("Contrast map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Contrast map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_button, [ "Color", "Alpha" ]); - inputs[| 7] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 7] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 8] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -105,11 +105,11 @@ function Node_Dither(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co } break; } - + if(_mode == 0) { shader_set_f("contrast", _con); - shader_set_i("useConMap", _conMap != DEF_SURFACE); - shader_set_surface("conMap", surface_get_texture(_conMap)); + shader_set_i("useConMap", is_surface(_conMap)); + shader_set_surface("conMap", _conMap); shader_set_f("palette", paletteToArray(_pal)); shader_set_i("keys", array_length(_pal)); diff --git a/scripts/node_edge_detect/node_edge_detect.gml b/scripts/node_edge_detect/node_edge_detect.gml index 878dcd64d..120c00564 100644 --- a/scripts/node_edge_detect/node_edge_detect.gml +++ b/scripts/node_edge_detect/node_edge_detect.gml @@ -6,7 +6,7 @@ function Node_Edge_Detect(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou uniform_filter = shader_get_uniform(shader, "filter"); uniform_sam = shader_get_uniform(shader, "sampleMode"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Algorithm", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Sobel", "Prewitt", "Laplacian", "Neighbor max diff"] ); @@ -14,7 +14,7 @@ function Node_Edge_Detect(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 2] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_edge_shade/node_edge_shade.gml b/scripts/node_edge_shade/node_edge_shade.gml index a87bebbfe..cefecb743 100644 --- a/scripts/node_edge_shade/node_edge_shade.gml +++ b/scripts/node_edge_shade/node_edge_shade.gml @@ -1,7 +1,7 @@ function Node_Edge_Shade(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Edge Shade"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_erode/node_erode.gml b/scripts/node_erode/node_erode.gml index 6da1d03d1..29e041119 100644 --- a/scripts/node_erode/node_erode.gml +++ b/scripts/node_erode/node_erode.gml @@ -1,7 +1,7 @@ function Node_Erode(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Erode"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) .setMappable(10); @@ -10,7 +10,7 @@ function Node_Erode(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 3] = nodeValue("Use alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); - inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_export/node_export.gml b/scripts/node_export/node_export.gml index be22091c2..1fc109a3c 100644 --- a/scripts/node_export/node_export.gml +++ b/scripts/node_export/node_export.gml @@ -52,7 +52,7 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor _format_still = { filter: "Portable Network Graphics (.png)|*.png|Joint Photographic Experts Group (.jpg)|*.jpg" }; _format_anim = { filter: "Graphics Interchange Format (.gif)|*.gif|Animated WebP (.webp)|*.webp" }; - inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Paths", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") .setDisplay(VALUE_DISPLAY.path_save, _format_still) diff --git a/scripts/node_find_pixel/node_find_pixel.gml b/scripts/node_find_pixel/node_find_pixel.gml index 3fefd0ac2..e641bad39 100644 --- a/scripts/node_find_pixel/node_find_pixel.gml +++ b/scripts/node_find_pixel/node_find_pixel.gml @@ -2,16 +2,16 @@ function Node_Find_Pixel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group name = "Find pixel"; w = 96; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Search color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); inputs[| 2] = nodeValue("Tolerance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider); - inputs[| 3] = nodeValue("Find all", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) + inputs[| 3] = nodeValue("Find all", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); - inputs[| 4] = nodeValue("Include alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) + inputs[| 4] = nodeValue("Include alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 5] = nodeValue("Alpha tolerance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_flip/node_flip.gml b/scripts/node_flip/node_flip.gml index 6ad800322..676582561 100644 --- a/scripts/node_flip/node_flip.gml +++ b/scripts/node_flip/node_flip.gml @@ -4,7 +4,7 @@ function Node_Flip(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons shader = sh_flip; uniform_axs = shader_get_uniform(shader, "axis"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_button, ["x", "y"]); diff --git a/scripts/node_flood_fill/node_flood_fill.gml b/scripts/node_flood_fill/node_flood_fill.gml index 2b930eb56..a9d7f303a 100644 --- a/scripts/node_flood_fill/node_flood_fill.gml +++ b/scripts/node_flood_fill/node_flood_fill.gml @@ -1,10 +1,10 @@ function Node_Flood_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Flood Fill"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .rejectArray(); - inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -43,8 +43,8 @@ function Node_Flood_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _group triggerRender(); })]); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static step = function() { #region diff --git a/scripts/node_fluid_add/node_fluid_add.gml b/scripts/node_fluid_add/node_fluid_add.gml index a9176c84b..d88be6e16 100644 --- a/scripts/node_fluid_add/node_fluid_add.gml +++ b/scripts/node_fluid_add/node_fluid_add.gml @@ -40,7 +40,7 @@ function Node_Fluid_Add(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) con temp_surface = [ surface_create(1, 1) ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _mat = getInputData(1); var _pos = getInputData(2); @@ -53,7 +53,7 @@ function Node_Fluid_Add(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) con draw_surface_ext_safe(_mat, mx, my, _s, _s, 0, c_white, 0.5); } - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/node_fluid_add_collider/node_fluid_add_collider.gml b/scripts/node_fluid_add_collider/node_fluid_add_collider.gml index 5543d5363..abfe3d02a 100644 --- a/scripts/node_fluid_add_collider/node_fluid_add_collider.gml +++ b/scripts/node_fluid_add_collider/node_fluid_add_collider.gml @@ -20,7 +20,7 @@ function Node_Fluid_Add_Collider(_x, _y, _group = noone) : Node_Fluid(_x, _y, _g outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.sdomain, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _mat = getInputData(1); var _area = getInputData(2); @@ -33,7 +33,7 @@ function Node_Fluid_Add_Collider(_x, _y, _group = noone) : Node_Fluid(_x, _y, _g draw_surface_stretched_ext(_mat, x0, y0, x1 - x0, y1 - y0, c_white, 0.5); } - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/node_fluid_apply_velocity/node_fluid_apply_velocity.gml b/scripts/node_fluid_apply_velocity/node_fluid_apply_velocity.gml index 6a9e7c795..ae79fdd1c 100644 --- a/scripts/node_fluid_apply_velocity/node_fluid_apply_velocity.gml +++ b/scripts/node_fluid_apply_velocity/node_fluid_apply_velocity.gml @@ -25,7 +25,7 @@ function Node_Fluid_Apply_Velocity(_x, _y, _group = noone) : Node_Fluid(_x, _y, outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.sdomain, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _mat = getInputData(1); var _pos = getInputData(2); @@ -38,7 +38,7 @@ function Node_Fluid_Apply_Velocity(_x, _y, _group = noone) : Node_Fluid(_x, _y, draw_surface_ext_safe(_mat, mx, my, _s, _s, 0, c_white, 0.5); } - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/node_fluid_repulse/node_fluid_repulse.gml b/scripts/node_fluid_repulse/node_fluid_repulse.gml index 4f08d34b0..c2e67b785 100644 --- a/scripts/node_fluid_repulse/node_fluid_repulse.gml +++ b/scripts/node_fluid_repulse/node_fluid_repulse.gml @@ -26,7 +26,7 @@ function Node_Fluid_Repulse(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.sdomain, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _pos = getInputData(1); var _rad = getInputData(2); var px = _x + _pos[0] * _s; @@ -35,8 +35,8 @@ function Node_Fluid_Repulse(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) draw_set_color(COLORS._main_accent); draw_circle_prec(px, py, _rad * _s, true); - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); } static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/node_fluid_turbulence/node_fluid_turbulence.gml b/scripts/node_fluid_turbulence/node_fluid_turbulence.gml index e24531d5b..ae8fe323d 100644 --- a/scripts/node_fluid_turbulence/node_fluid_turbulence.gml +++ b/scripts/node_fluid_turbulence/node_fluid_turbulence.gml @@ -29,8 +29,8 @@ function Node_Fluid_Turbulence(_x, _y, _group = noone) : Node_Fluid(_x, _y, _gro outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.sdomain, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/node_fluid_vortex/node_fluid_vortex.gml b/scripts/node_fluid_vortex/node_fluid_vortex.gml index c30eab726..034a6165a 100644 --- a/scripts/node_fluid_vortex/node_fluid_vortex.gml +++ b/scripts/node_fluid_vortex/node_fluid_vortex.gml @@ -30,7 +30,7 @@ function Node_Fluid_Vortex(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.sdomain, noone); outputs[| 1] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _pos = getInputData(1); var _rad = getInputData(2); var px = _x + _pos[0] * _s; @@ -39,8 +39,8 @@ function Node_Fluid_Vortex(_x, _y, _group = noone) : Node_Fluid(_x, _y, _group) draw_set_color(COLORS._main_accent); draw_circle_prec(px, py, _rad * _s, true); - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); } static update = function(frame = CURRENT_FRAME) { diff --git a/scripts/node_gamma_map/node_gamma_map.gml b/scripts/node_gamma_map/node_gamma_map.gml index ac63a6ab7..896298a5b 100644 --- a/scripts/node_gamma_map/node_gamma_map.gml +++ b/scripts/node_gamma_map/node_gamma_map.gml @@ -1,7 +1,7 @@ function Node_Gamma_Map(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Gamma Map"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Invert", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); diff --git a/scripts/node_global/node_global.gml b/scripts/node_global/node_global.gml index 2cd3ec53f..8f8e55b11 100644 --- a/scripts/node_global/node_global.gml +++ b/scripts/node_global/node_global.gml @@ -1,4 +1,4 @@ -function variable_editor(nodeVal) constructor { #region +function variable_editor(nodeVal) constructor { value = nodeVal; val_type = [ VALUE_TYPE.integer, VALUE_TYPE.float, VALUE_TYPE.boolean, VALUE_TYPE.color, VALUE_TYPE.gradient, VALUE_TYPE.path, VALUE_TYPE.curve, VALUE_TYPE.text ]; @@ -61,19 +61,17 @@ function variable_editor(nodeVal) constructor { #region slider_range = [ 0, 1 ]; slider_step = 0.01; - static refreshInput = function() { + static refreshInput = function() { #region value.setType(val_type[type_index]); value.name = value_name; if(_type_index != type_index || _disp_index != disp_index) { - _type_index = type_index; - _disp_index = disp_index; - switch(value.type) { case VALUE_TYPE.integer : case VALUE_TYPE.float : switch(sc_disp.data_list[disp_index]) { case "Vector2" : + case "Range" : case "Vector range" : case "Slider range" : case "Rotation range" : @@ -121,6 +119,9 @@ function variable_editor(nodeVal) constructor { #region } } + _type_index = type_index; + _disp_index = disp_index; + switch(sc_disp.data_list[disp_index]) { case "Default" : value.setDisplay(VALUE_DISPLAY._default); break; case "Range" : value.setDisplay(VALUE_DISPLAY.range); break; @@ -145,9 +146,9 @@ function variable_editor(nodeVal) constructor { #region case "Export" : value.setDisplay(VALUE_DISPLAY.path_save, { filter: "" }); break; case "Font" : value.setDisplay(VALUE_DISPLAY.path_font); break; } - } + } #endregion - static draw = function(_x, _y, _w, _m, _focus, _hover) { + static draw = function(_x, _y, _w, _m, _focus, _hover) { #region var _h = 0; switch(sc_disp.data_list[disp_index]) { @@ -176,8 +177,8 @@ function variable_editor(nodeVal) constructor { #region } return _h; - } -} #endregion + } #endregion +} function Node_Global(_x = 0, _y = 0) : __Node_Base(_x, _y) constructor { name = "GLOBAL"; diff --git a/scripts/node_glow/node_glow.gml b/scripts/node_glow/node_glow.gml index 95758652e..f15af435f 100644 --- a/scripts/node_glow/node_glow.gml +++ b/scripts/node_glow/node_glow.gml @@ -1,7 +1,7 @@ function Node_Glow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Glow"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Border", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [0, 4, 1] }); @@ -14,7 +14,7 @@ function Node_Glow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 4] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_gradient/node_gradient.gml b/scripts/node_gradient/node_gradient.gml index da16468f6..bb22fdfc8 100644 --- a/scripts/node_gradient/node_gradient.gml +++ b/scripts/node_gradient/node_gradient.gml @@ -68,9 +68,9 @@ function Node_Gradient(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - var a = inputs[| 6].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 16].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + var a = inputs[| 6].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 16].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } #endregion static step = function() { #region diff --git a/scripts/node_gradient_palette/node_gradient_palette.gml b/scripts/node_gradient_palette/node_gradient_palette.gml index 419317a8f..fc8eac570 100644 --- a/scripts/node_gradient_palette/node_gradient_palette.gml +++ b/scripts/node_gradient_palette/node_gradient_palette.gml @@ -12,7 +12,7 @@ function Node_Gradient_Palette(_x, _y, _group = noone) : Node_Processor(_x, _y, .setVisible(true, true); inputs[| 2].array_depth = 1; - inputs[| 3] = nodeValue("Blending", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) + inputs[| 3] = nodeValue("Color Space", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) .setDisplay(VALUE_DISPLAY.enum_button, [ "Hard", "RGB", "HSV", "OKLAB", "sRGB" ]); outputs[| 0] = nodeValue("Gradient", self, JUNCTION_CONNECT.output, VALUE_TYPE.gradient, new gradientObject(c_white) ) diff --git a/scripts/node_gradient_points/node_gradient_points.gml b/scripts/node_gradient_points/node_gradient_points.gml index 79a323070..d3848c536 100644 --- a/scripts/node_gradient_points/node_gradient_points.gml +++ b/scripts/node_gradient_points/node_gradient_points.gml @@ -54,11 +54,11 @@ function Node_Gradient_Points(_x, _y, _group = noone) : Node_Processor(_x, _y, _ attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 5].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 7].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 5].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 7].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; } #endregion static step = function() { #region diff --git a/scripts/node_grey_alpha/node_grey_alpha.gml b/scripts/node_grey_alpha/node_grey_alpha.gml index bf43b0950..e1b2c8f48 100644 --- a/scripts/node_grey_alpha/node_grey_alpha.gml +++ b/scripts/node_grey_alpha/node_grey_alpha.gml @@ -1,7 +1,7 @@ function Node_Grey_Alpha(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Grey to Alpha"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Replace color", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true, "Replace output with solid color."); diff --git a/scripts/node_greyscale/node_greyscale.gml b/scripts/node_greyscale/node_greyscale.gml index a80f8ccdb..841d930f4 100644 --- a/scripts/node_greyscale/node_greyscale.gml +++ b/scripts/node_greyscale/node_greyscale.gml @@ -1,7 +1,7 @@ function Node_Greyscale(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Greyscale"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01] }) @@ -11,7 +11,7 @@ function Node_Greyscale(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) .setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 4, 0.01] }) .setMappable(10); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_grid/node_grid.gml b/scripts/node_grid/node_grid.gml index 16d0c044c..50111e0c1 100644 --- a/scripts/node_grid/node_grid.gml +++ b/scripts/node_grid/node_grid.gml @@ -25,7 +25,7 @@ function Node_Grid(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 6] = nodeValue("Gap color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); - inputs[| 7] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 7] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 8] = nodeValue("Shift", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [-0.5, 0.5, 0.01] }) @@ -79,9 +79,9 @@ function Node_Grid(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 21].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 21].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static step = function() { #region diff --git a/scripts/node_grid_hex/node_grid_hex.gml b/scripts/node_grid_hex/node_grid_hex.gml index 6ec6194df..6ec211a6d 100644 --- a/scripts/node_grid_hex/node_grid_hex.gml +++ b/scripts/node_grid_hex/node_grid_hex.gml @@ -73,9 +73,9 @@ function Node_Grid_Hex(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 18].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 18].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static step = function() { #region diff --git a/scripts/node_grid_noise/node_grid_noise.gml b/scripts/node_grid_noise/node_grid_noise.gml index 83b2c24fa..4cdef4edc 100644 --- a/scripts/node_grid_noise/node_grid_noise.gml +++ b/scripts/node_grid_noise/node_grid_noise.gml @@ -16,7 +16,7 @@ function Node_Grid_Noise(_x, _y, _group = noone) : Node_Processor(_x, _y, _group inputs[| 4] = nodeValue("Shift", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [-0.5, 0.5, 0.01] }); - inputs[| 5] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Shift axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_button, ["x", "y"]); @@ -43,8 +43,8 @@ function Node_Grid_Noise(_x, _y, _group = noone) : Node_Processor(_x, _y, _group attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_grid_tri/node_grid_tri.gml b/scripts/node_grid_tri/node_grid_tri.gml index e033abc46..fd003d0ed 100644 --- a/scripts/node_grid_tri/node_grid_tri.gml +++ b/scripts/node_grid_tri/node_grid_tri.gml @@ -25,7 +25,7 @@ function Node_Grid_Tri(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 6] = nodeValue("Gap color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); - inputs[| 7] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 7] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 8] = nodeValue("Render type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Colored tile", "Height map", "Texture grid", "Texture sample"]); @@ -73,9 +73,9 @@ function Node_Grid_Tri(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 18].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 18].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static step = function() { #region diff --git a/scripts/node_group_input/node_group_input.gml b/scripts/node_group_input/node_group_input.gml index 699bde0e5..75a996b00 100644 --- a/scripts/node_group_input/node_group_input.gml +++ b/scripts/node_group_input/node_group_input.gml @@ -145,9 +145,9 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru inputs[| 2].setValue(ind); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region if(inParent.isArray()) return; - return inParent.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + return inParent.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static onValueUpdate = function(index = 0) { #region diff --git a/scripts/node_herringbone_tile/node_herringbone_tile.gml b/scripts/node_herringbone_tile/node_herringbone_tile.gml index ee25c500e..bc563f1cf 100644 --- a/scripts/node_herringbone_tile/node_herringbone_tile.gml +++ b/scripts/node_herringbone_tile/node_herringbone_tile.gml @@ -75,9 +75,9 @@ function Node_Herringbone_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 19].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 19].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static step = function() { #region diff --git a/scripts/node_hlsl/node_hlsl.gml b/scripts/node_hlsl/node_hlsl.gml index 21f53c0a9..d5987e152 100644 --- a/scripts/node_hlsl/node_hlsl.gml +++ b/scripts/node_hlsl/node_hlsl.gml @@ -261,8 +261,7 @@ struct PixelShaderOutput { } if(!LOADING && !APPENDING) refreshShader(); #endregion static onValueUpdate = function(index) { #region - var _refresh = index == 0 || index == 1 || - (index >= input_fix_len && (index - input_fix_len) % data_length != 2); + var _refresh = index == 0 || index == 1 || (index >= input_fix_len && (index - input_fix_len) % data_length != 2); if(_refresh) { refreshShader(); diff --git a/scripts/node_hsv_channel/node_hsv_channel.gml b/scripts/node_hsv_channel/node_hsv_channel.gml index 79986fbe4..a0b637e92 100644 --- a/scripts/node_hsv_channel/node_hsv_channel.gml +++ b/scripts/node_hsv_channel/node_hsv_channel.gml @@ -1,7 +1,7 @@ function Node_HSV_Channel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "HSV Extract"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); outputs[| 0] = nodeValue("Hue", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); outputs[| 1] = nodeValue("Saturation", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); diff --git a/scripts/node_image/node_image.gml b/scripts/node_image/node_image.gml index f10bf3144..ce4dd446d 100644 --- a/scripts/node_image/node_image.gml +++ b/scripts/node_image/node_image.gml @@ -37,11 +37,14 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { attribute_surface_depth(); - spr = []; - path_current = []; - first_update = false; - edit_time = []; + spr = []; + path_current = []; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); on_drop_file = function(path) { #region inputs[| 0].setValue(path); @@ -55,10 +58,8 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { } #endregion function createSprite(path) { #region - path = try_get_path(path); if(path == -1) return noone; - var spr; var ext = string_lower(filename_ext(path)); var _name = filename_name_only(path); @@ -68,31 +69,32 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { case ".jpeg": case ".gif": setDisplayName(_name); - spr = sprite_add(path, 1, false, false, 0, 0); + var spr = sprite_add(path, 1, false, false, 0, 0); if(spr == -1) { noti_warning($"Image node: File not a valid image."); break; } - edit_time = file_get_modify_s(path); + edit_time = max(edit_time, file_get_modify_s(path)); return spr; } return noone; } #endregion - function updatePaths(path, index = 0) { #region + function updatePaths(path = path_current) { #region if(array_empty(path_current)) first_update = true; - path_current = path; for( var i = 0, n = array_length(spr); i < n; i++ ) sprite_delete(spr[i]); - + spr = []; + if(!is_array(path)) path = [ path ]; - spr = []; for( var i = 0, n = array_length(path); i < n; i++ ) { + path_current[i] = path_get(path[i]); + var s = createSprite(path[i]); if(s) array_push(spr, s); } @@ -102,37 +104,32 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; static onInspector1Update = function() { #region - var path = getInputData(0); - if(path == "") return; - - update(); + updatePaths(path_get(getInputData(0))); + triggerRender(); + } #endregion + + static step = function() { #region + if(attributes.file_checker) + for( var i = 0, n = array_length(path_current); i < n; i++ ) { + if(file_get_modify_s(path_current[i]) > edit_time) { + updatePaths(); + triggerRender(); + break; + } + } } #endregion static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); + var path = path_get(getInputData(0)); var pad = getInputData(1); outputs[| 1].setValue(path); - if(path_current != path) + if(!array_equals(path_current, path)) updatePaths(path); - else { - //if(!is_array(path)) path = [ path ]; - //var _upd = false; - - //for( var i = 0, n = array_length(path); i < n; i++ ) { - // var _et = array_safe_get(edit_time, i); - // var _ms = file_get_modify_s(path[i]); - - // if(_ms > edit_time[i]) _upd = true; - // edit_time[i] = _ms; - //} - - //if(_upd) updatePaths(path); - } if(array_empty(spr)) return; - var _arr = is_array(spr) && array_length(spr) > 1; + var _arr = array_length(spr) > 1; var _outsurf = outputs[| 0].getValue(); if(!is_array(_outsurf)) _outsurf = [ _outsurf ]; diff --git a/scripts/node_image_animated/node_image_animated.gml b/scripts/node_image_animated/node_image_animated.gml index 91997cc5c..2a011ea53 100644 --- a/scripts/node_image_animated/node_image_animated.gml +++ b/scripts/node_image_animated/node_image_animated.gml @@ -78,7 +78,12 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons attribute_surface_depth(); - path_loaded = []; + path_current = []; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); on_drop_file = function(path) { #region if(directory_exists(path)) { @@ -100,7 +105,7 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons return false; } #endregion - function updatePaths(paths) { #region + function updatePaths(paths = path_current) { #region if(!is_array(paths) && ds_exists(paths, ds_type_list)) paths = ds_list_to_array(paths); @@ -108,17 +113,18 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons if(spr[i] && sprite_exists(spr[i])) sprite_delete(spr[i]); } - spr = []; - path_loaded = array_create(array_length(paths)); + spr = []; + path_current = []; for( var i = 0, n = array_length(paths); i < n; i++ ) { - path_loaded[i] = paths[i]; - var path = try_get_path(paths[i]); - if(path == -1) continue; - setDisplayName(filename_name_only(path)); + var _path = path_get(paths[i]); + if(_path == -1) continue; - var ext = string_lower(filename_ext(path)); + array_push(path_current, _path); + setDisplayName(filename_name_only(_path)); + + var ext = string_lower(filename_ext(_path)); switch(ext) { case ".png" : @@ -131,6 +137,7 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons return false; } + edit_time = max(edit_time, file_get_modify_s(_path)); array_push(spr, _spr); break; } @@ -143,10 +150,8 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; static onInspector1Update = function() { #region - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - update(); + updatePaths(path_get(getInputData(0))); + triggerRender(); } #endregion static step = function() { #region @@ -156,13 +161,22 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons inputs[| 2].setVisible(!_cus); inputs[| 3].setVisible(!_cus && !str); inputs[| 4].setVisible(!_cus && !str); + + if(attributes.file_checker) + for( var i = 0, n = array_length(path_current); i < n; i++ ) { + if(file_get_modify_s(path_current[i]) > edit_time) { + updatePaths(); + triggerRender(); + break; + } + } } #endregion static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); - if(path == "") return; - if(is_array(path) && !array_equals(path, path_loaded)) + var path = path_get(getInputData(0)); + if(!array_equals(path_current, path)) updatePaths(path); + if(array_length(spr) == 0) return; var _pad = getInputData(1); diff --git a/scripts/node_image_gif/node_image_gif.gml b/scripts/node_image_gif/node_image_gif.gml index 8fafc94a9..541b4c9bb 100644 --- a/scripts/node_image_gif/node_image_gif.gml +++ b/scripts/node_image_gif/node_image_gif.gml @@ -72,7 +72,12 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct spr_builder = noone; surfaces = []; - on_drop_file = function(path) { + edit_time = 0; + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); + + on_drop_file = function(path) { #region inputs[| 0].setValue(path); if(updatePaths(path)) { @@ -81,20 +86,16 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct } return false; - } + } #endregion insp1UpdateTooltip = __txt("Refresh"); insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; static onInspector1Update = function() { #region - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - update(); + updatePaths(path_get(getInputData(0))); } #endregion - function updatePaths(path) { #region - path = try_get_path(path); + function updatePaths(path = path_current) { #region if(path == -1) return false; var ext = string_lower(filename_ext(path)); @@ -115,8 +116,9 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct if(path_current == "") first_update = true; - path_current = path; - + path_current = path; + edit_time = max(edit_time, file_get_modify_s(path_current)); + return true; } #endregion @@ -133,19 +135,27 @@ function Node_Image_gif(_x, _y, _group = noone) : Node(_x, _y, _group) construct if(loading == 2 && spr_builder != noone && spr_builder.building()) { surfaces = []; spr = spr_builder._spr; - print($"{spr}: {sprite_get_width(spr)}, {sprite_get_height(spr)}"); + //print($"{spr}: {sprite_get_width(spr)}, {sprite_get_height(spr)}"); triggerRender(); loading = 0; gc_collect(); } + + if(attributes.file_checker && path_current != "") { + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); + } + + } } #endregion static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); - if(path == "") return; + var path = path_get(getInputData(0)); if(path_current != path) updatePaths(path); + if(!spr || !sprite_exists(spr)) return; var ww = sprite_get_width(spr); diff --git a/scripts/node_image_sequence/node_image_sequence.gml b/scripts/node_image_sequence/node_image_sequence.gml index 2e9c49f53..c58c7bb68 100644 --- a/scripts/node_image_sequence/node_image_sequence.gml +++ b/scripts/node_image_sequence/node_image_sequence.gml @@ -61,7 +61,12 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons attribute_surface_depth(); - path_loaded = []; + path_current = []; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); on_drop_file = function(path) { #region if(directory_exists(path)) { @@ -87,25 +92,25 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; static onInspector1Update = function() { #region - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - update(); + updatePaths(path_get(getInputData(0))); + triggerRender(); } #endregion - function updatePaths(paths) { #region + function updatePaths(paths = path_current) { #region for(var i = 0; i < array_length(spr); i++) { if(spr[i] && sprite_exists(spr[i])) sprite_delete(spr[i]); } - spr = []; - path_loaded = array_create(array_length(paths)); + spr = []; + path_current = []; for( var i = 0, n = array_length(paths); i < n; i++ ) { - path_loaded[i] = paths[i]; - var path = try_get_path(paths[i]); + var path = path_get(paths[i]); if(path == -1) continue; + + array_push(path_current, path); + var ext = string_lower(filename_ext(path)); setDisplayName(filename_name_only(path)); @@ -120,6 +125,7 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons return false; } + edit_time = max(edit_time, file_get_modify_s(path)); array_push(spr, _spr); break; } @@ -130,11 +136,21 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons return true; } #endregion + static step = function() { #region + if(attributes.file_checker) + for( var i = 0, n = array_length(path_current); i < n; i++ ) { + if(file_get_modify_s(path_current[i]) > edit_time) { + updatePaths(); + triggerRender(); + break; + } + } + } #endregion + static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); - if(path == "") return; - if(!is_array(path)) path = [ path ]; - if(!array_equals(path, path_loaded)) + var path = path_get(getInputData(0)); + + if(!array_equals(path_current, path)) updatePaths(path); var pad = getInputData(1); diff --git a/scripts/node_image_sheet/node_image_sheet.gml b/scripts/node_image_sheet/node_image_sheet.gml index 6125091c3..7bce34938 100644 --- a/scripts/node_image_sheet/node_image_sheet.gml +++ b/scripts/node_image_sheet/node_image_sheet.gml @@ -1,7 +1,7 @@ function Node_Image_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Splice Spritesheet"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Sprite size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 32, 32 ]) .setDisplay(VALUE_DISPLAY.vector); @@ -128,7 +128,7 @@ function Node_Image_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) constru else return [ _y, _x ]; } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _inSurf = getInputData(0); if(!is_surface(_inSurf)) return; diff --git a/scripts/node_interpret_number/node_interpret_number.gml b/scripts/node_interpret_number/node_interpret_number.gml index b69715baa..3555e0ba5 100644 --- a/scripts/node_interpret_number/node_interpret_number.gml +++ b/scripts/node_interpret_number/node_interpret_number.gml @@ -31,8 +31,8 @@ function Node_Interpret_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 5].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getDimension()); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 5].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getDimension()); active &= !a; } static step = function() { diff --git a/scripts/node_invert/node_invert.gml b/scripts/node_invert/node_invert.gml index bfd6b4a87..8d1ddee65 100644 --- a/scripts/node_invert/node_invert.gml +++ b/scripts/node_invert/node_invert.gml @@ -1,9 +1,9 @@ function Node_Invert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Invert"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_json_file_read/node_json_file_read.gml b/scripts/node_json_file_read/node_json_file_read.gml index abf2b822d..9db607fdd 100644 --- a/scripts/node_json_file_read/node_json_file_read.gml +++ b/scripts/node_json_file_read/node_json_file_read.gml @@ -1,4 +1,4 @@ -function Node_create_Json_File_Read(_x, _y, _group = noone) { +function Node_create_Json_File_Read(_x, _y, _group = noone) { #region var path = ""; if(!LOADING && !APPENDING && !CLONING) { path = get_open_filename("JSON file|*.json", ""); @@ -11,9 +11,9 @@ function Node_create_Json_File_Read(_x, _y, _group = noone) { node.doUpdate(); return node; -} +} #endregion -function Node_create_Json_File_Read_path(_x, _y, path) { +function Node_create_Json_File_Read_path(_x, _y, path) { #region if(!file_exists_empty(path)) return noone; var node = new Node_Json_File_Read(_x, _y, PANEL_GRAPH.getCurrentContext()); @@ -21,15 +21,14 @@ function Node_create_Json_File_Read_path(_x, _y, path) { node.doUpdate(); return node; -} +} #endregion function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { - name = "JSON File In"; + name = "JSON File In"; color = COLORS.node_blend_input; w = 128; - inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") .setDisplay(VALUE_DISPLAY.path_load, { filter: "JSON file|*.json" }) .rejectArray(); @@ -42,7 +41,7 @@ function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons setIsDynamicInput(1); output_fix_len = ds_list_size(outputs); - static createNewInput = function() { + static createNewInput = function() { #region var index = ds_list_size(inputs); inputs[| index] = nodeValue("Key", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "" ) .setVisible(true, true); @@ -50,34 +49,36 @@ function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons var index = ds_list_size(outputs); outputs[| index] = nodeValue("Values", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0 ) .setVisible(true, true); - } - if(!LOADING && !APPENDING) createNewInput(); + } if(!LOADING && !APPENDING) createNewInput(); #endregion - content = {}; + content = {}; path_current = ""; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); first_update = false; - on_drop_file = function(path) { + on_drop_file = function(path) { #region if(updatePaths(path)) { doUpdate(); return true; } return false; - } + } #endregion insp1UpdateTooltip = __txt("Refresh"); insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; - static onInspector1Update = function() { - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - update(); - } + static onInspector1Update = function() { #region + updatePaths(path_get(getInputData(0))); + triggerRender(); + } #endregion - static refreshDynamicInput = function() { + static refreshDynamicInput = function() { #region var _in = ds_list_create(); var _ot = ds_list_create(); @@ -109,20 +110,19 @@ function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons outputs = _ot; createNewInput(); - } + } #endregion - static onValueUpdate = function(index = 0) { + static onValueUpdate = function(index = 0) { #region if(index < input_fix_len) return; if(LOADING || APPENDING) return; refreshDynamicInput(); - } + } #endregion - function updatePaths(path) { - path = try_get_path(path); + function updatePaths(path) { #region if(path == -1) return false; - var ext = string_lower(filename_ext(path)); + var ext = string_lower(filename_ext(path)); var _name = string_replace(filename_name(path), filename_ext(path), ""); if(ext != ".json") return false; @@ -134,13 +134,22 @@ function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons if(path_current == "") first_update = true; path_current = path; + edit_time = max(edit_time, file_get_modify_s(path_current)); return true; - } + } #endregion - static update = function(frame = CURRENT_FRAME) { - var path = getInputData(0); - if(path == "") return; + static step = function() { #region + if(attributes.file_checker && path_current != "") { + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); + } + } + } #endregion + + static update = function(frame = CURRENT_FRAME) { #region + var path = path_get(getInputData(0)); if(path_current != path) updatePaths(path); outputs[| 1].setValue(content); @@ -178,17 +187,15 @@ function Node_Json_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons else break; } } - } + } #endregion - static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); var str = filename_name(path_current); var bbox = drawGetBbox(xx, yy, _s); var ss = string_scale(str, bbox.w, bbox.h); draw_text_transformed(bbox.xc, bbox.yc, str, ss, ss, 0); - } + } #endregion - static doApplyDeserialize = function() { - refreshDynamicInput(); - } + static doApplyDeserialize = function() { refreshDynamicInput(); } } \ No newline at end of file diff --git a/scripts/node_kuwahara/node_kuwahara.gml b/scripts/node_kuwahara/node_kuwahara.gml index da41346bc..76455d33c 100644 --- a/scripts/node_kuwahara/node_kuwahara.gml +++ b/scripts/node_kuwahara/node_kuwahara.gml @@ -1,7 +1,7 @@ function Node_Kuwahara(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Kuwahara"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_level/node_level.gml b/scripts/node_level/node_level.gml index 4278a4911..529274805 100644 --- a/scripts/node_level/node_level.gml +++ b/scripts/node_level/node_level.gml @@ -1,7 +1,7 @@ function Node_Level(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Level"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("White in", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [0, 1]) .setDisplay(VALUE_DISPLAY.slider_range); @@ -18,7 +18,7 @@ function Node_Level(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 5] = nodeValue("Alpha in", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [0, 1]) .setDisplay(VALUE_DISPLAY.slider_range); - inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_level_selector/node_level_selector.gml b/scripts/node_level_selector/node_level_selector.gml index 6565bbe00..89b3f4086 100644 --- a/scripts/node_level_selector/node_level_selector.gml +++ b/scripts/node_level_selector/node_level_selector.gml @@ -1,7 +1,7 @@ function Node_Level_Selector(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Level Selector"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Midpoint", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider) @@ -11,7 +11,7 @@ function Node_Level_Selector(_x, _y, _group = noone) : Node_Processor(_x, _y, _g .setDisplay(VALUE_DISPLAY.slider) .setMappable(10); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_line/node_line.gml b/scripts/node_line/node_line.gml index e2f95a03a..89da5ebec 100644 --- a/scripts/node_line/node_line.gml +++ b/scripts/node_line/node_line.gml @@ -86,7 +86,7 @@ function Node_Line(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons attribute_surface_depth(); attribute_interpolation(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region draw_set_color(COLORS._main_accent); for( var i = 0, n = array_length(lines); i < n; i++ ) { var points = lines[i]; diff --git a/scripts/node_local_analyze/node_local_analyze.gml b/scripts/node_local_analyze/node_local_analyze.gml index ae901226e..28cb48910 100644 --- a/scripts/node_local_analyze/node_local_analyze.gml +++ b/scripts/node_local_analyze/node_local_analyze.gml @@ -1,7 +1,7 @@ function Node_Local_Analyze(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Local Analyze"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Algorithm", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Average (Blur)", "Maximum", "Minimum" ]); @@ -17,7 +17,7 @@ function Node_Local_Analyze(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr new scrollItem("Circle", s_node_shape, 1), new scrollItem("Diamond", s_node_shape_misc, 0) ]); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_lua_compute/node_lua_compute.gml b/scripts/node_lua_compute/node_lua_compute.gml index 789238217..282557125 100644 --- a/scripts/node_lua_compute/node_lua_compute.gml +++ b/scripts/node_lua_compute/node_lua_compute.gml @@ -17,7 +17,7 @@ function Node_Lua_Compute(_x, _y, _group = noone) : Node(_x, _y, _group) constru outputs[| 0] = nodeValue("Execution thread", self, JUNCTION_CONNECT.output, VALUE_TYPE.node, noone ); - outputs[| 1] = nodeValue("Return value", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0); + outputs[| 1] = nodeValue("Return value", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); argumentRenderer(global.lua_arguments); @@ -181,7 +181,5 @@ function Node_Lua_Compute(_x, _y, _group = noone) : Node(_x, _y, _group) constru static onDestroy = function() { #region lua_state_destroy(lua_state); - if(error_notification != noone) - noti_remove(error_notification); } #endregion } \ No newline at end of file diff --git a/scripts/node_lua_global/node_lua_global.gml b/scripts/node_lua_global/node_lua_global.gml index 3d76df16c..19632c446 100644 --- a/scripts/node_lua_global/node_lua_global.gml +++ b/scripts/node_lua_global/node_lua_global.gml @@ -38,7 +38,5 @@ function Node_Lua_Global(_x, _y, _group = noone) : Node(_x, _y, _group) construc static onDestroy = function() { #region lua_state_destroy(lua_state); - if(error_notification != noone) - noti_remove(error_notification); } #endregion } \ No newline at end of file diff --git a/scripts/node_lua_surface/node_lua_surface.gml b/scripts/node_lua_surface/node_lua_surface.gml index 9c294fdcf..10306ed57 100644 --- a/scripts/node_lua_surface/node_lua_surface.gml +++ b/scripts/node_lua_surface/node_lua_surface.gml @@ -181,7 +181,5 @@ function Node_Lua_Surface(_x, _y, _group = noone) : Node(_x, _y, _group) constru static onDestroy = function() { #region lua_state_destroy(lua_state); - if(error_notification != noone) - noti_remove(error_notification); } #endregion } \ No newline at end of file diff --git a/scripts/node_mesh_create_path/node_mesh_create_path.gml b/scripts/node_mesh_create_path/node_mesh_create_path.gml index 5417026a1..310a17770 100644 --- a/scripts/node_mesh_create_path/node_mesh_create_path.gml +++ b/scripts/node_mesh_create_path/node_mesh_create_path.gml @@ -13,7 +13,7 @@ function Node_Mesh_Create_Path(_x, _y, _group = noone) : Node(_x, _y, _group) co outputs[| 0] = nodeValue("Mesh", self, JUNCTION_CONNECT.output, VALUE_TYPE.mesh, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var mesh = outputs[| 0].getValue(); if(mesh == noone) return; diff --git a/scripts/node_mesh_to_path/node_mesh_to_path.gml b/scripts/node_mesh_to_path/node_mesh_to_path.gml index cf119a23a..a6e371be2 100644 --- a/scripts/node_mesh_to_path/node_mesh_to_path.gml +++ b/scripts/node_mesh_to_path/node_mesh_to_path.gml @@ -12,7 +12,7 @@ function Node_Mesh_To_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constr length = 0; lengths = []; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var mesh = getInputData(0); if(mesh == noone) return; diff --git a/scripts/node_mesh_transform/node_mesh_transform.gml b/scripts/node_mesh_transform/node_mesh_transform.gml index aaaf8d4cb..337d4510e 100644 --- a/scripts/node_mesh_transform/node_mesh_transform.gml +++ b/scripts/node_mesh_transform/node_mesh_transform.gml @@ -20,15 +20,15 @@ function Node_Mesh_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons outputs[| 0] = nodeValue("Mesh", self, JUNCTION_CONNECT.output, VALUE_TYPE.mesh, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var pos = getInputData(1); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - active &= !inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - active &= !inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); - active &= !inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, THEME.anchor ); + active &= !inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, THEME.anchor ); var mesh = outputs[| 0].getValue(); if(mesh == noone) return; diff --git a/scripts/node_mesh_warp/node_mesh_warp.gml b/scripts/node_mesh_warp/node_mesh_warp.gml index 0c2db7b5b..151c64120 100644 --- a/scripts/node_mesh_warp/node_mesh_warp.gml +++ b/scripts/node_mesh_warp/node_mesh_warp.gml @@ -202,7 +202,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) anchor_drag_mx = -1; anchor_drag_my = -1; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 8, "Amount of grid subdivision. Higher number means more grid, detail.") .setDisplay(VALUE_DISPLAY.slider, { range: [ 2, 32, 1 ] }); @@ -296,7 +296,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) Mesh_setTriangle(); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var mx = (_mx - _x) / _s; var my = (_my - _y) / _s; @@ -399,7 +399,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) var _hover = -1; for(var i = control_index; i < ds_list_size(inputs); i++) { - if(inputs[| i].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) + if(inputs[| i].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) _hover = i; } diff --git a/scripts/node_mirror/node_mirror.gml b/scripts/node_mirror/node_mirror.gml index ec3457ba1..deb992dad 100644 --- a/scripts/node_mirror/node_mirror.gml +++ b/scripts/node_mirror/node_mirror.gml @@ -1,7 +1,7 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Mirror"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -24,7 +24,7 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _pos = getInputData(1); var _ang = getInputData(2); var _posx = _pos[0] * _s + _x; @@ -38,8 +38,8 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co draw_set_color(COLORS._main_accent); draw_line(dx0, dy0, dx1, dy1); - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 2].drawOverlay(active, _posx, _posy, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _posx, _posy, _s, _mx, _my, _snx, _sny); } #endregion static processData = function(_outSurf, _data, _output_index, _array_index) { #region diff --git a/scripts/node_mk_brownian/node_mk_brownian.gml b/scripts/node_mk_brownian/node_mk_brownian.gml index 0eaddb5d2..091f38220 100644 --- a/scripts/node_mk_brownian/node_mk_brownian.gml +++ b/scripts/node_mk_brownian/node_mk_brownian.gml @@ -48,8 +48,8 @@ function Node_MK_Brownian(_x, _y, _group = noone) : Node(_x, _y, _group) constru ["Render", false], 13, 6, 7, ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static getPosition = function(ind, t, _area, _sped, _dire, _dirs, _turn, _dira) { #region diff --git a/scripts/node_mk_cable/node_mk_cable.gml b/scripts/node_mk_cable/node_mk_cable.gml index f4155b192..1ad11a7f8 100644 --- a/scripts/node_mk_cable/node_mk_cable.gml +++ b/scripts/node_mk_cable/node_mk_cable.gml @@ -16,9 +16,9 @@ function Node_MK_Cable(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - var _a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; - var _a = inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + var _a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; + var _a = inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; } #endregion static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_mk_fall/node_mk_fall.gml b/scripts/node_mk_fall/node_mk_fall.gml index 63f746300..fea1a16dc 100644 --- a/scripts/node_mk_fall/node_mk_fall.gml +++ b/scripts/node_mk_fall/node_mk_fall.gml @@ -95,7 +95,7 @@ function Node_MK_Fall(_x, _y, _group = noone) : Node(_x, _y, _group) constructor traj = []; traj_index = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region draw_set_color(COLORS._main_accent); for( var i = 0, n = array_length(traj); i < n; i++ ) { @@ -116,7 +116,7 @@ function Node_MK_Fall(_x, _y, _group = noone) : Node(_x, _y, _group) constructor } } - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); if(getInputData(15)) { var _gr = getInputData(16); diff --git a/scripts/node_mk_flag/node_mk_flag.gml b/scripts/node_mk_flag/node_mk_flag.gml index 759bc8501..625a61244 100644 --- a/scripts/node_mk_flag/node_mk_flag.gml +++ b/scripts/node_mk_flag/node_mk_flag.gml @@ -181,8 +181,8 @@ function Node_MK_Flag(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c } } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - var _a = inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + var _a = inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; //for( var i = 0, n = array_length(links); i < n; i++ ) { // var _l = links[i]; diff --git a/scripts/node_mk_flare/node_mk_flare.gml b/scripts/node_mk_flare/node_mk_flare.gml index 4b5c600c3..ca8aa175a 100644 --- a/scripts/node_mk_flare/node_mk_flare.gml +++ b/scripts/node_mk_flare/node_mk_flare.gml @@ -328,9 +328,9 @@ function Node_MK_Flare(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) dir = 0; dis = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 6].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 6].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static getDimension = function(arr = 0) { #region diff --git a/scripts/node_mk_gridballs/node_mk_gridballs.gml b/scripts/node_mk_gridballs/node_mk_gridballs.gml index d0b1617b9..7afee66d5 100644 --- a/scripts/node_mk_gridballs/node_mk_gridballs.gml +++ b/scripts/node_mk_gridballs/node_mk_gridballs.gml @@ -1,7 +1,7 @@ function Node_MK_GridBalls(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "MK GridBalls"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF) .setDisplay(VALUE_DISPLAY.vector); @@ -57,8 +57,8 @@ function Node_MK_GridBalls(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro dimension_index = 1; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 8].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 8].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_mk_gridflip/node_mk_gridflip.gml b/scripts/node_mk_gridflip/node_mk_gridflip.gml index a3017dc4f..11e6e8534 100644 --- a/scripts/node_mk_gridflip/node_mk_gridflip.gml +++ b/scripts/node_mk_gridflip/node_mk_gridflip.gml @@ -1,7 +1,7 @@ function Node_MK_GridFlip(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "MK GridFlip"; - inputs[| 0] = nodeValue("Surface front", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface front", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF) .setDisplay(VALUE_DISPLAY.vector); @@ -11,7 +11,7 @@ function Node_MK_GridFlip(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 3] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom_range(100000, 999999)); - inputs[| 4] = nodeValue("Surface back", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Surface back", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Rotation", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.rotation); @@ -44,7 +44,7 @@ function Node_MK_GridFlip(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou dimension_index = 1; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { } diff --git a/scripts/node_mk_rain/node_mk_rain.gml b/scripts/node_mk_rain/node_mk_rain.gml index 655442fe6..292cb77ad 100644 --- a/scripts/node_mk_rain/node_mk_rain.gml +++ b/scripts/node_mk_rain/node_mk_rain.gml @@ -2,7 +2,7 @@ function Node_MK_Rain(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c name = "MK Rain"; update_on_frame = true; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 45) .setDisplay(VALUE_DISPLAY.rotation); diff --git a/scripts/node_mk_saber/node_mk_saber.gml b/scripts/node_mk_saber/node_mk_saber.gml index b6be3e337..d108ba585 100644 --- a/scripts/node_mk_saber/node_mk_saber.gml +++ b/scripts/node_mk_saber/node_mk_saber.gml @@ -41,7 +41,7 @@ function Node_MK_Saber(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) temp_surface = [ surface_create(1, 1), surface_create(1, 1), surface_create(1, 1) ]; surface_blur_init(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _p1 = getSingleValue(1); var _p2 = getSingleValue(2); @@ -53,8 +53,8 @@ function Node_MK_Saber(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) draw_set_color(COLORS._main_accent); draw_line(_p1x, _p1y, _p2x, _p2y); - var _a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; - var _a = inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; + var _a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; + var _a = inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= _a; draw_set_text(f_p1, fa_left, fa_bottom, COLORS._main_accent); draw_text(_p1x + ui(4), _p1y - ui(4), "1"); diff --git a/scripts/node_mk_tile/node_mk_tile.gml b/scripts/node_mk_tile/node_mk_tile.gml index 79c6c0675..95491fdd5 100644 --- a/scripts/node_mk_tile/node_mk_tile.gml +++ b/scripts/node_mk_tile/node_mk_tile.gml @@ -136,7 +136,7 @@ function Node_MK_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region } #endregion diff --git a/scripts/node_morph_surface/node_morph_surface.gml b/scripts/node_morph_surface/node_morph_surface.gml index 8a333d3e7..c2e4a5b90 100644 --- a/scripts/node_morph_surface/node_morph_surface.gml +++ b/scripts/node_morph_surface/node_morph_surface.gml @@ -1,9 +1,9 @@ function Node_Morph_Surface(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Morph Surface"; - inputs[| 0] = nodeValue("Surface from", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface from", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Surface to", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Surface to", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Morph amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_noise_aniso/node_noise_aniso.gml b/scripts/node_noise_aniso/node_noise_aniso.gml index 0f52cf40c..26aa1315e 100644 --- a/scripts/node_noise_aniso/node_noise_aniso.gml +++ b/scripts/node_noise_aniso/node_noise_aniso.gml @@ -43,8 +43,8 @@ function Node_Noise_Aniso(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static step = function() { #region diff --git a/scripts/node_noise_hex/node_noise_hex.gml b/scripts/node_noise_hex/node_noise_hex.gml index 68c0d934b..41e04d468 100644 --- a/scripts/node_noise_hex/node_noise_hex.gml +++ b/scripts/node_noise_hex/node_noise_hex.gml @@ -22,7 +22,7 @@ function Node_Noise_Hex(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 8, 8 ] ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 4] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); @@ -38,8 +38,8 @@ function Node_Noise_Hex(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); attribute_oversample(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_noise_tri/node_noise_tri.gml b/scripts/node_noise_tri/node_noise_tri.gml index 7366414bb..569610606 100644 --- a/scripts/node_noise_tri/node_noise_tri.gml +++ b/scripts/node_noise_tri/node_noise_tri.gml @@ -22,7 +22,7 @@ function Node_Noise_Tri(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 4] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); @@ -38,8 +38,8 @@ function Node_Noise_Tri(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attribute_surface_depth(); attribute_oversample(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_normal/node_normal.gml b/scripts/node_normal/node_normal.gml index 04e9c3941..90a9ef5cf 100644 --- a/scripts/node_normal/node_normal.gml +++ b/scripts/node_normal/node_normal.gml @@ -5,7 +5,7 @@ function Node_Normal(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co uniform_hei = shader_get_uniform(sh_normal, "height"); uniform_smt = shader_get_uniform(sh_normal, "smooth"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Height", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); diff --git a/scripts/node_normal_light/node_normal_light.gml b/scripts/node_normal_light/node_normal_light.gml index b2709c11c..4dab477ce 100644 --- a/scripts/node_normal_light/node_normal_light.gml +++ b/scripts/node_normal_light/node_normal_light.gml @@ -1,9 +1,9 @@ function Node_Normal_Light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Normal Light"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Normal map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Normal map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Normal intensity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); @@ -34,13 +34,13 @@ function Node_Normal_Light(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var pos = getInputData(4); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 5].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 5].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_number/node_number.gml b/scripts/node_number/node_number.gml index c6ad5dec0..c36467dfc 100644 --- a/scripts/node_number/node_number.gml +++ b/scripts/node_number/node_number.gml @@ -40,11 +40,11 @@ function Node_Number(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co outputs[| 0] = nodeValue("Number", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var __ax = getInputData(0); if(is_array(__ax)) return; - inputs[| 0].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 0].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_offset/node_offset.gml b/scripts/node_offset/node_offset.gml index 2bd01dc73..e3cd7b566 100644 --- a/scripts/node_offset/node_offset.gml +++ b/scripts/node_offset/node_offset.gml @@ -1,7 +1,7 @@ function Node_Offset(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Offset"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("X Offset", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_onion_skin/node_onion_skin.gml b/scripts/node_onion_skin/node_onion_skin.gml index d5c0e1230..4b6c924c0 100644 --- a/scripts/node_onion_skin/node_onion_skin.gml +++ b/scripts/node_onion_skin/node_onion_skin.gml @@ -3,7 +3,7 @@ function Node_Onion_Skin(_x, _y, _group = noone) : Node(_x, _y, _group) construc use_cache = CACHE_USE.manual; clearCacheOnChange = false; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [-1, 1]) .setDisplay(VALUE_DISPLAY.slider_range, { range: [ -16, 16, 1 ] }); @@ -19,7 +19,7 @@ function Node_Onion_Skin(_x, _y, _group = noone) : Node(_x, _y, _group) construc inputs[| 6] = nodeValue("On top", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true, "Render current frame on top of all frames.") - outputs[| 0] = nodeValue("Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0); + outputs[| 0] = nodeValue("Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ ["Surface", false], 0, 1, 5, diff --git a/scripts/node_outline/node_outline.gml b/scripts/node_outline/node_outline.gml index da2b6900d..75b5918d3 100644 --- a/scripts/node_outline/node_outline.gml +++ b/scripts/node_outline/node_outline.gml @@ -1,7 +1,7 @@ function Node_Outline(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Outline"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setMappable(15); @@ -25,7 +25,7 @@ function Node_Outline(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c inputs[| 8] = nodeValue("Start", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "Shift outline inside, outside the shape.") .setMappable(17); - inputs[| 9] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 9] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 10] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_pack_sprites/node_pack_sprites.gml b/scripts/node_pack_sprites/node_pack_sprites.gml index 9ec26402b..a2ed629f6 100644 --- a/scripts/node_pack_sprites/node_pack_sprites.gml +++ b/scripts/node_pack_sprites/node_pack_sprites.gml @@ -4,7 +4,7 @@ function Node_Pack_Sprites(_x, _y, _group = noone) : Node(_x, _y, _group) constr inputs[| 0] = nodeValue("Sprites", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Algorithm", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.enum_scroll, { data: [ "Skyline", "Shelf", "Top left", "Best fit" ], update_hover: false }) + .setDisplay(VALUE_DISPLAY.enum_scroll, { data: [ "Skyline", "Shelf", "Top left", "Best fit" ], update_hover: false }); inputs[| 2] = nodeValue("Max width", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 128); @@ -18,7 +18,7 @@ function Node_Pack_Sprites(_x, _y, _group = noone) : Node(_x, _y, _group) constr input_display_list = [ 0, 4, 1, 2, 3 ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var rect = outputs[| 1].getValue(); var spac = getInputData(4); diff --git a/scripts/node_padding/node_padding.gml b/scripts/node_padding/node_padding.gml index 2ab1f56a8..55db92f32 100644 --- a/scripts/node_padding/node_padding.gml +++ b/scripts/node_padding/node_padding.gml @@ -2,7 +2,7 @@ function Node_Padding(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c name = "Padding"; dimension_index = -1; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Padding", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0, 0, 0]) .setDisplay(VALUE_DISPLAY.padding) diff --git a/scripts/node_palette_extract/node_palette_extract.gml b/scripts/node_palette_extract/node_palette_extract.gml index 2dcb2edfa..ca8152036 100644 --- a/scripts/node_palette_extract/node_palette_extract.gml +++ b/scripts/node_palette_extract/node_palette_extract.gml @@ -2,7 +2,7 @@ function Node_Palette_Extract(_x, _y, _group = noone) : Node_Processor(_x, _y, _ name = "Palette Extract"; w = 96; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Max colors", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 5, "Amount of color in a palette.") .rejectArray(); diff --git a/scripts/node_palette_shift/node_palette_shift.gml b/scripts/node_palette_shift/node_palette_shift.gml index 5b330f460..708d23e49 100644 --- a/scripts/node_palette_shift/node_palette_shift.gml +++ b/scripts/node_palette_shift/node_palette_shift.gml @@ -1,7 +1,7 @@ function Node_Palette_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Palette Shift"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Palette", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE) .setDisplay(VALUE_DISPLAY.palette); @@ -9,7 +9,7 @@ function Node_Palette_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr inputs[| 2] = nodeValue("Shift", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.slider, { range: [-1, 1, 1] }); - inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_path/node_path.gml b/scripts/node_path/node_path.gml index d3b974fc8..81e9fd134 100644 --- a/scripts/node_path/node_path.gml +++ b/scripts/node_path/node_path.gml @@ -100,14 +100,16 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { } } #endregion - static createNewInput = function(_x = 0, _y = 0, _dxx = 0, _dxy = 0, _dyx = 0, _dyy = 0) { #region + static createNewInput = function(_x = 0, _y = 0, _dxx = 0, _dxy = 0, _dyx = 0, _dyy = 0, rec = true) { #region var index = ds_list_size(inputs); inputs[| index] = nodeValue("Anchor", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ _x, _y, _dxx, _dxy, _dyx, _dyy, false ]) .setDisplay(VALUE_DISPLAY.path_anchor); - recordAction(ACTION_TYPE.list_insert, inputs, [ inputs[| index], index, "add path anchor point" ]); - resetDisplayList(); + if(rec) { + recordAction(ACTION_TYPE.list_insert, inputs, [ inputs[| index], index, $"add path anchor point {index}" ]); + resetDisplayList(); + } return inputs[| index]; } #endregion @@ -126,7 +128,7 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var sample = PREFERENCES.path_resolution; var loop = getInputData(1); var ansize = ds_list_size(inputs) - input_fix_len; @@ -732,9 +734,10 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { draw_sprite_ui_uniform(THEME.cursor_path_remove, 0, _mx + 16, _my + 16); if(mouse_press(mb_left, active)) { - recordAction(ACTION_TYPE.list_delete, inputs, [ inputs[| input_fix_len + anchor_hover], input_fix_len + anchor_hover, "remove path anchor point" ]); - - ds_list_delete(inputs, input_fix_len + anchor_hover); + var _indx = input_fix_len + anchor_hover; + recordAction(ACTION_TYPE.list_delete, inputs, [ inputs[| _indx], _indx, "remove path anchor point" ]); + + ds_list_delete(inputs, _indx); resetDisplayList(); doUpdate(); } @@ -768,8 +771,8 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { draw_sprite_ui_uniform(THEME.cursor_path_add, 0, _mx + 16, _my + 16); if(mouse_press(mb_left, active)) { - var anc = createNewInput(value_snap((_mx - _x) / _s, _snx), value_snap((_my - _y) / _s, _sny)); - UNDO_HOLDING = true; + var ind = ds_list_size(inputs); + var anc = createNewInput(value_snap((_mx - _x) / _s, _snx), value_snap((_my - _y) / _s, _sny), 0, 0, 0, 0, false); if(_line_hover == -1) { drag_point = ds_list_size(inputs) - input_fix_len - 1; @@ -777,8 +780,13 @@ function Node_Path(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { ds_list_remove(inputs, anc); ds_list_insert(inputs, input_fix_len + _line_hover + 1, anc); drag_point = _line_hover + 1; + ind = input_fix_len + _line_hover + 1; } + recordAction(ACTION_TYPE.list_insert, inputs, [ inputs[| ind], ind, $"add path anchor point {ind}" ]); + resetDisplayList(); + UNDO_HOLDING = true; + drag_type = -1; drag_point_mx = _mx; drag_point_my = _my; diff --git a/scripts/node_path_anchor/node_path_anchor.gml b/scripts/node_path_anchor/node_path_anchor.gml index febfcd6bb..997298256 100644 --- a/scripts/node_path_anchor/node_path_anchor.gml +++ b/scripts/node_path_anchor/node_path_anchor.gml @@ -22,7 +22,7 @@ function Node_Path_Anchor(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou new NodeTool( "Adjust control point", THEME.path_tools_anchor ), ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _pos = getInputData(0); var _cn1 = getInputData(1); var _cn2 = getInputData(2); @@ -40,11 +40,11 @@ function Node_Path_Anchor(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou draw_line(px, py, c1x, c1y); draw_line(px, py, c2x, c2y); - active &= !inputs[| 0].drawOverlay(!isUsingTool(0) && active, _x, _y, _s, _mx, _my, _snx, _sny); - active &= !inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 0].drawOverlay(hover, !isUsingTool(0) && active, _x, _y, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); if(!_mir) - active &= !inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); else draw_circle_prec(c2x, c2y, 4, false); } diff --git a/scripts/node_path_array/node_path_array.gml b/scripts/node_path_array/node_path_array.gml index 1c2f5630d..4d3d0ce9d 100644 --- a/scripts/node_path_array/node_path_array.gml +++ b/scripts/node_path_array/node_path_array.gml @@ -125,12 +125,12 @@ function Node_Path_Array(_x, _y, _group = noone) : Node(_x, _y, _group) construc return 0; } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region for( var i = input_fix_len; i < ds_list_size(inputs) - 1; i += data_length ) { var _path = getInputData(i); if(!struct_has(_path, "drawOverlay")) continue; - _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } } #endregion diff --git a/scripts/node_path_bake/node_path_bake.gml b/scripts/node_path_bake/node_path_bake.gml index 4dd0a5130..52c3869bb 100644 --- a/scripts/node_path_bake/node_path_bake.gml +++ b/scripts/node_path_bake/node_path_bake.gml @@ -11,9 +11,9 @@ function Node_Path_Bake(_x, _y, _group = noone) : Node(_x, _y, _group) construct .setDisplay(VALUE_DISPLAY.vector) .setArrayDepth(1); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); var _segs = outputs[| 0].getValue(); var ox, oy, nx, ny; diff --git a/scripts/node_path_blend/node_path_blend.gml b/scripts/node_path_blend/node_path_blend.gml index 251e3f0c5..99e749221 100644 --- a/scripts/node_path_blend/node_path_blend.gml +++ b/scripts/node_path_blend/node_path_blend.gml @@ -19,12 +19,12 @@ function Node_Path_Blend(_x, _y, _group = noone) : Node(_x, _y, _group) construc cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _p0 = getInputData(0); var _p1 = getInputData(1); - if(_p0) _p0.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - if(_p1) _p1.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_p0) _p0.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_p1) _p1.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); draw_set_color(COLORS._main_icon); diff --git a/scripts/node_path_bridge/node_path_bridge.gml b/scripts/node_path_bridge/node_path_bridge.gml index 40f3bd497..b5ed26813 100644 --- a/scripts/node_path_bridge/node_path_bridge.gml +++ b/scripts/node_path_bridge/node_path_bridge.gml @@ -31,10 +31,10 @@ function Node_Path_Bridge(_x, _y, _group = noone) : Node(_x, _y, _group) constru cached_pos = ds_map_create(); #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); var _smt = getInputData(2); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); var _amo = array_length(anchors); var ox, oy, nx, ny; diff --git a/scripts/node_path_builder/node_path_builder.gml b/scripts/node_path_builder/node_path_builder.gml index 547c91a42..20d380ba5 100644 --- a/scripts/node_path_builder/node_path_builder.gml +++ b/scripts/node_path_builder/node_path_builder.gml @@ -15,7 +15,7 @@ function Node_Path_Builder(_x, _y, _group = noone) : Node(_x, _y, _group) constr cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region draw_set_color(COLORS._main_accent); for( var i = 0, n = array_length(lines); i < n; i++ ) { diff --git a/scripts/node_path_from_mask/node_path_from_mask.gml b/scripts/node_path_from_mask/node_path_from_mask.gml index 150d91765..c12b09f18 100644 --- a/scripts/node_path_from_mask/node_path_from_mask.gml +++ b/scripts/node_path_from_mask/node_path_from_mask.gml @@ -65,7 +65,7 @@ function Node_Path_From_Mask(_x, _y, _group = noone) : Node(_x, _y, _group) cons return getPointDistance(pix, _ind, out); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region draw_set_color(COLORS._main_accent); var ox, oy, nx, ny, sx, sy; diff --git a/scripts/node_path_l_system/node_path_l_system.gml b/scripts/node_path_l_system/node_path_l_system.gml index d53d8deb3..89e9b8298 100644 --- a/scripts/node_path_l_system/node_path_l_system.gml +++ b/scripts/node_path_l_system/node_path_l_system.gml @@ -143,8 +143,8 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const refreshDynamicInput(); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); draw_set_color(COLORS._main_accent); for( var i = 0, n = array_length(lines); i < n; i++ ) { diff --git a/scripts/node_path_map/node_path_map.gml b/scripts/node_path_map/node_path_map.gml index 3cc93e7c0..527d00c21 100644 --- a/scripts/node_path_map/node_path_map.gml +++ b/scripts/node_path_map/node_path_map.gml @@ -19,9 +19,9 @@ function Node_Path_Map(_x, _y, _group = noone) : Node(_x, _y, _group) constructo ["Mapping", false], 1, 2, 3, ] - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static update = function() { #region diff --git a/scripts/node_path_map_area/node_path_map_area.gml b/scripts/node_path_map_area/node_path_map_area.gml index 1921deba0..26a9c4ac6 100644 --- a/scripts/node_path_map_area/node_path_map_area.gml +++ b/scripts/node_path_map_area/node_path_map_area.gml @@ -13,8 +13,8 @@ function Node_Path_Map_Area(_x, _y, _group = noone) : Node(_x, _y, _group) const cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static getLineCount = function() { diff --git a/scripts/node_path_plot/node_path_plot.gml b/scripts/node_path_plot/node_path_plot.gml index 4511d3135..0c9eac1ef 100644 --- a/scripts/node_path_plot/node_path_plot.gml +++ b/scripts/node_path_plot/node_path_plot.gml @@ -40,8 +40,8 @@ function Node_Path_Plot(_x, _y, _group = noone) : Node(_x, _y, _group) construct boundary = new BoundingBox( 0, 0, 1, 1 ); cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 5].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 5].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static getLineCount = function() { return 1; } diff --git a/scripts/node_path_profile/node_path_profile.gml b/scripts/node_path_profile/node_path_profile.gml index d0181c7f0..48deb437d 100644 --- a/scripts/node_path_profile/node_path_profile.gml +++ b/scripts/node_path_profile/node_path_profile.gml @@ -35,9 +35,9 @@ function Node_Path_Profile(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro temp_surface = [ surface_create(1, 1) ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(1); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static processData = function(_outSurf, _data, _output_index, _array_index = 0) { #region diff --git a/scripts/node_path_reverse/node_path_reverse.gml b/scripts/node_path_reverse/node_path_reverse.gml index 067b4e3dc..112a73465 100644 --- a/scripts/node_path_reverse/node_path_reverse.gml +++ b/scripts/node_path_reverse/node_path_reverse.gml @@ -9,9 +9,9 @@ function Node_Path_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) constr cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static getLineCount = function() { #region diff --git a/scripts/node_path_sample/node_path_sample.gml b/scripts/node_path_sample/node_path_sample.gml index 76515de41..f2cc59f67 100644 --- a/scripts/node_path_sample/node_path_sample.gml +++ b/scripts/node_path_sample/node_path_sample.gml @@ -15,9 +15,9 @@ function Node_Path_Sample(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou outputs[| 1] = nodeValue("Direction", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); var _pnt = outputs[| 0].getValue(); if(process_amount == 1) _pnt = [ _pnt ]; diff --git a/scripts/node_path_shift/node_path_shift.gml b/scripts/node_path_shift/node_path_shift.gml index 74fd5ee5d..9e49134b8 100644 --- a/scripts/node_path_shift/node_path_shift.gml +++ b/scripts/node_path_shift/node_path_shift.gml @@ -11,9 +11,9 @@ function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) construc cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); draw_set_color(COLORS._main_icon); diff --git a/scripts/node_path_smooth/node_path_smooth.gml b/scripts/node_path_smooth/node_path_smooth.gml index 2da44d38a..447ce20fe 100644 --- a/scripts/node_path_smooth/node_path_smooth.gml +++ b/scripts/node_path_smooth/node_path_smooth.gml @@ -66,7 +66,7 @@ function Node_Path_Smooth(_x, _y, _group = noone) : Node(_x, _y, _group) constru return inputs[| index]; } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var sample = PREFERENCES.path_resolution; var ansize = ds_list_size(inputs) - input_fix_len; var loop = getInputData(0); @@ -101,7 +101,7 @@ function Node_Path_Smooth(_x, _y, _group = noone) : Node(_x, _y, _group) constru var _act = active && !isUsingTool(0); for(var i = input_fix_len; i < ds_list_size(inputs); i++) { - var a = inputs[| i].drawOverlay(_act, _x, _y, _s, _mx, _my, _snx, _sny); + var a = inputs[| i].drawOverlay(hover, _act, _x, _y, _s, _mx, _my, _snx, _sny); _act &= !a; if(a) _anchor_hover = i; } diff --git a/scripts/node_path_transform/node_path_transform.gml b/scripts/node_path_transform/node_path_transform.gml index 9b9415cb3..1f6928a94 100644 --- a/scripts/node_path_transform/node_path_transform.gml +++ b/scripts/node_path_transform/node_path_transform.gml @@ -21,15 +21,15 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pth = getInputData(0); var pos = getInputData(4); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - active &= !inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - active &= !inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); - active &= !inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, THEME.anchor ); + active &= !inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); + active &= !inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, THEME.anchor ); } #endregion static getLineCount = function() { #region diff --git a/scripts/node_path_trim/node_path_trim.gml b/scripts/node_path_trim/node_path_trim.gml index eaf2829db..89f164066 100644 --- a/scripts/node_path_trim/node_path_trim.gml +++ b/scripts/node_path_trim/node_path_trim.gml @@ -12,9 +12,9 @@ function Node_Path_Trim(_x, _y, _group = noone) : Node(_x, _y, _group) construct cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); draw_set_color(COLORS._main_icon); diff --git a/scripts/node_path_wave/node_path_wave.gml b/scripts/node_path_wave/node_path_wave.gml index 5a550050d..aa6e1d372 100644 --- a/scripts/node_path_wave/node_path_wave.gml +++ b/scripts/node_path_wave/node_path_wave.gml @@ -54,9 +54,9 @@ function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) construct cached_pos = ds_map_create(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(0); - if(_path) _path.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + if(_path) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); draw_set_color(COLORS._main_icon); diff --git a/scripts/node_pb/node_pb.gml b/scripts/node_pb/node_pb.gml index cfdc1f90a..0dffb3aaf 100644 --- a/scripts/node_pb/node_pb.gml +++ b/scripts/node_pb/node_pb.gml @@ -9,7 +9,7 @@ function Node_PB(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constr static getNextNodesRaw = getNextNodes; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(drawOverlayPB != noone) drawOverlayPB(active, _x, _y, _s, _mx, _my, _snx, _sny); diff --git a/scripts/node_pb_box_transform/node_pb_box_transform.gml b/scripts/node_pb_box_transform/node_pb_box_transform.gml index 41cada8d4..8b6737fa3 100644 --- a/scripts/node_pb_box_transform/node_pb_box_transform.gml +++ b/scripts/node_pb_box_transform/node_pb_box_transform.gml @@ -14,7 +14,7 @@ function Node_PB_Box_Transform(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _gr ] static drawOverlayPB = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_pb_draw_blob/node_pb_draw_blob.gml b/scripts/node_pb_draw_blob/node_pb_draw_blob.gml index c4912c7ed..8633ac1c8 100644 --- a/scripts/node_pb_draw_blob/node_pb_draw_blob.gml +++ b/scripts/node_pb_draw_blob/node_pb_draw_blob.gml @@ -22,7 +22,7 @@ function Node_PB_Draw_Blob(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group x0 = _x + x0 * _s; y0 = _y + y0 * _s; - //inputs[| 2].drawOverlay(active, x0, y0, _s, _mx, _my, _snx, _sny); + //inputs[| 2].drawOverlay(hover, active, x0, y0, _s, _mx, _my, _snx, _sny); var x0 = _pbox.x + _pbox.w / 2; var y0 = _pbox.y + _pbox.h; @@ -30,7 +30,7 @@ function Node_PB_Draw_Blob(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group x0 = _x + x0 * _s; y0 = _y + y0 * _s; - //inputs[| 3].drawOverlay(active, x0, y0, _s, _mx, _my, _snx, _sny); + //inputs[| 3].drawOverlay(hover, active, x0, y0, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_pixel_cloud/node_pixel_cloud.gml b/scripts/node_pixel_cloud/node_pixel_cloud.gml index f91d5d6d9..79cb79a1c 100644 --- a/scripts/node_pixel_cloud/node_pixel_cloud.gml +++ b/scripts/node_pixel_cloud/node_pixel_cloud.gml @@ -1,14 +1,14 @@ function Node_Pixel_Cloud(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Pixel Cloud"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(100000)); inputs[| 2] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) .setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01] }); - inputs[| 3] = nodeValue("Strength map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 3] = nodeValue("Strength map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 4] = nodeValue("Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject(c_white) ) .setMappable(9); diff --git a/scripts/node_pixel_sort/node_pixel_sort.gml b/scripts/node_pixel_sort/node_pixel_sort.gml index f241f32f2..5fd60e83a 100644 --- a/scripts/node_pixel_sort/node_pixel_sort.gml +++ b/scripts/node_pixel_sort/node_pixel_sort.gml @@ -7,7 +7,7 @@ function Node_Pixel_Sort(_x, _y, _group = noone) : Node_Processor(_x, _y, _group uniform_tre = shader_get_uniform(shader, "threshold"); uniform_dir = shader_get_uniform(shader, "direction"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Iteration", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2); @@ -17,7 +17,7 @@ function Node_Pixel_Sort(_x, _y, _group = noone) : Node_Processor(_x, _y, _group inputs[| 3] = nodeValue("Direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.rotation, { step: 90 }); - inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_plot_linear/node_plot_linear.gml b/scripts/node_plot_linear/node_plot_linear.gml index 4c4bcb946..a0f14f2de 100644 --- a/scripts/node_plot_linear/node_plot_linear.gml +++ b/scripts/node_plot_linear/node_plot_linear.gml @@ -59,15 +59,15 @@ function Node_Plot_Linear(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 14] = nodeValue("Trim mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Range", "Window" ]); - inputs[| 15] = nodeValue("Window Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 8) + inputs[| 15] = nodeValue("Window Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 8); - inputs[| 16] = nodeValue("Window Offset", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) + inputs[| 16] = nodeValue("Window Offset", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); - inputs[| 17] = nodeValue("Spacing", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + inputs[| 17] = nodeValue("Spacing", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1); - inputs[| 18] = nodeValue("Bar Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4) + inputs[| 18] = nodeValue("Bar Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4); - inputs[| 19] = nodeValue("Rounded Bar", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) + inputs[| 19] = nodeValue("Rounded Bar", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); inputs[| 20] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.pathnode, noone) .setVisible(true, true); @@ -135,16 +135,16 @@ function Node_Plot_Linear(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 24].mappableStep(); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _use_path = getSingleValue(20) != noone; if(!_use_path) { - var a = inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + var a = inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; } - var a = inputs[| 28].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; - var a = inputs[| 30].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + var a = inputs[| 28].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + var a = inputs[| 30].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_polar/node_polar.gml b/scripts/node_polar/node_polar.gml index e74145ac0..8716031c3 100644 --- a/scripts/node_polar/node_polar.gml +++ b/scripts/node_polar/node_polar.gml @@ -1,9 +1,9 @@ function Node_Polar(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Polar"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_posterize/node_posterize.gml b/scripts/node_posterize/node_posterize.gml index c2df0f1f2..daf0de761 100644 --- a/scripts/node_posterize/node_posterize.gml +++ b/scripts/node_posterize/node_posterize.gml @@ -1,7 +1,7 @@ function Node_Posterize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Posterize"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Palette", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE ) .setDisplay(VALUE_DISPLAY.palette); diff --git a/scripts/node_pytagorean_tile/node_pytagorean_tile.gml b/scripts/node_pytagorean_tile/node_pytagorean_tile.gml index d5a0616b5..47448cdad 100644 --- a/scripts/node_pytagorean_tile/node_pytagorean_tile.gml +++ b/scripts/node_pytagorean_tile/node_pytagorean_tile.gml @@ -76,9 +76,9 @@ function Node_Pytagorean_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _ attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 19].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 19].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static step = function() { #region diff --git a/scripts/node_quasicrystal/node_quasicrystal.gml b/scripts/node_quasicrystal/node_quasicrystal.gml index 72c7954c6..8852347de 100644 --- a/scripts/node_quasicrystal/node_quasicrystal.gml +++ b/scripts/node_quasicrystal/node_quasicrystal.gml @@ -47,13 +47,13 @@ function Node_Quasicrystal(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(3); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - var a = inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); active &= !a; } #endregion static step = function() { #region diff --git a/scripts/node_random_tile/node_random_tile.gml b/scripts/node_random_tile/node_random_tile.gml index 01a6cab4c..214571d9b 100644 --- a/scripts/node_random_tile/node_random_tile.gml +++ b/scripts/node_random_tile/node_random_tile.gml @@ -73,9 +73,9 @@ function Node_Random_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - var a = inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 18].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + var a = inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 18].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } static step = function() { #region diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index a8183b43b..1ddd46a58 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -253,9 +253,9 @@ function addNodeObject(_list, _name, _spr, _node, _fun, _tag = [], tooltip = "") return _n; } #endregion -function addNodeCatagory(name, list, filter = []) { #region +function addNodeCatagory(name, list, filter = [], color = noone) { #region global.__currPage = name; - ds_list_add(NODE_CATEGORY, { name: name, list: list, filter: filter }); + ds_list_add(NODE_CATEGORY, { name, list, filter, color }); } #endregion function addNodePBCatagory(name, list, filter = []) { #region @@ -492,6 +492,8 @@ function __initNodes() { addNodeObject(input, "ASE Layer", s_node_ase_layer, "Node_ASE_layer", [1, Node_ASE_layer],, "Load Aseprite project file").setVersion(1100); addNodeObject(input, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144); addNodeObject(input, "WAV File Out", s_node_wav_file_write, "Node_WAV_File_Write", [1, Node_WAV_File_Write],, "Save wav audio file.").setVersion(1145); + addNodeObject(input, "Byte File In", s_node_byte_file_read, "Node_Byte_File_Read", [1, Node_Byte_File_Read],, "Load any file to buffer.").setVersion(11670); + addNodeObject(input, "Byte File Out", s_node_byte_file_write, "Node_Byte_File_Write", [1, Node_Byte_File_Write],, "Save buffer content to a file.").setVersion(11670); ds_list_add(input, "External"); addNodeObject(input, "Websocket Receiver", s_node_websocket_receive, "Node_Websocket_Receiver", [1, Node_Websocket_Receiver],, "Create websocket server to receive data from the network.").setVersion(1145); diff --git a/scripts/node_repeat/node_repeat.gml b/scripts/node_repeat/node_repeat.gml index 4b9c26c08..ec8a35c68 100644 --- a/scripts/node_repeat/node_repeat.gml +++ b/scripts/node_repeat/node_repeat.gml @@ -119,8 +119,8 @@ function Node_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constructor return [ surface_get_width_safe(_surf), surface_get_height_safe(_surf) ]; } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - var a = inputs[| 9].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, THEME.anchor); active &= !a; + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + var a = inputs[| 9].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, THEME.anchor); active &= !a; var _pat = getInputData(3); var _spos = getInputData(9); @@ -129,16 +129,16 @@ function Node_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constructor var py = _y + _spos[1] * _s; if(_pat == 0 || _pat == 1) { - var a = inputs[| 4].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + var a = inputs[| 4].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); active &= !a; } else if(_pat == 2) { - var a = inputs[| 8].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + var a = inputs[| 8].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); active &= !a; } - var a = inputs[| 31].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getInputData(1)); active &= !a; + var a = inputs[| 31].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getInputData(1)); active &= !a; } #endregion static step = function() { #region diff --git a/scripts/node_rgb_channel/node_rgb_channel.gml b/scripts/node_rgb_channel/node_rgb_channel.gml index cf5cc8fa1..a758b24ec 100644 --- a/scripts/node_rgb_channel/node_rgb_channel.gml +++ b/scripts/node_rgb_channel/node_rgb_channel.gml @@ -1,7 +1,7 @@ function Node_RGB_Channel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "RGBA Extract"; - inputs[| 0] = nodeValue("Surface In", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface In", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Output Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Channel value", "Greyscale"]); diff --git a/scripts/node_rigid_force_apply/node_rigid_force_apply.gml b/scripts/node_rigid_force_apply/node_rigid_force_apply.gml index 537d8c775..496bfc858 100644 --- a/scripts/node_rigid_force_apply/node_rigid_force_apply.gml +++ b/scripts/node_rigid_force_apply/node_rigid_force_apply.gml @@ -60,7 +60,7 @@ function Node_Rigid_Force_Apply(_x, _y, _group = noone) : Node(_x, _y, _group) c attributes.display_scale = val; })]); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(attributes.show_objects) for( var i = 0, n = ds_list_size(group.nodes); i < n; i++ ) { var _node = group.nodes[| i]; @@ -85,8 +85,8 @@ function Node_Rigid_Force_Apply(_x, _y, _group = noone) : Node(_x, _y, _group) c draw_line_width2(px, py, fx, fy, 8, 2); draw_set_alpha(1); - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 5].drawOverlay(active, px, py, _s * attributes.display_scale, _mx, _my, _snx, _sny, THEME.anchor, 10); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 5].drawOverlay(hover, active, px, py, _s * attributes.display_scale, _mx, _my, _snx, _sny, THEME.anchor, 10); } else if(_typ == 3) { var _rad = getInputData(8); @@ -95,10 +95,10 @@ function Node_Rigid_Force_Apply(_x, _y, _group = noone) : Node(_x, _y, _group) c draw_circle_prec(px, py, _rad * _s, 1); draw_set_alpha(1); - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 8].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 8].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); } else - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static step = function() { diff --git a/scripts/node_rigid_object/node_rigid_object.gml b/scripts/node_rigid_object/node_rigid_object.gml index 8cae8619e..d8a473bc3 100644 --- a/scripts/node_rigid_object/node_rigid_object.gml +++ b/scripts/node_rigid_object/node_rigid_object.gml @@ -163,10 +163,10 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr } else drawOverlayPreviewSingle(0, _x, _y, _s, _pr_x, _pr_y, _tex); - return inputs[| 7].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + return inputs[| 7].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var gr = is_instanceof(group, Node_Rigid_Group)? group : noone; if(inline_context != noone) gr = inline_context; diff --git a/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml b/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml index d9de529a7..6818ab592 100644 --- a/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml +++ b/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml @@ -49,7 +49,7 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group attributes.show_objects = !attributes.show_objects; })]); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(attributes.show_objects) for( var i = 0, n = ds_list_size(group.nodes); i < n; i++ ) { var _node = group.nodes[| i]; @@ -58,7 +58,7 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group active &= !_hov; } - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static reset = function() { diff --git a/scripts/node_rigid_render/node_rigid_render.gml b/scripts/node_rigid_render/node_rigid_render.gml index 713df253e..3630347cc 100644 --- a/scripts/node_rigid_render/node_rigid_render.gml +++ b/scripts/node_rigid_render/node_rigid_render.gml @@ -62,7 +62,7 @@ function Node_Rigid_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constr refreshDynamicInput(); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var gr = is_instanceof(group, Node_Rigid_Group)? group : noone; if(inline_context != noone) gr = inline_context; diff --git a/scripts/node_rigid_render_output/node_rigid_render_output.gml b/scripts/node_rigid_render_output/node_rigid_render_output.gml index 4e629a423..fcfd92c34 100644 --- a/scripts/node_rigid_render_output/node_rigid_render_output.gml +++ b/scripts/node_rigid_render_output/node_rigid_render_output.gml @@ -81,7 +81,7 @@ function Node_Rigid_Render_Output(_x, _y, _group = noone) : Node_Group_Output(_x refreshDynamicInput(); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var gr = is_instanceof(group, Node_Rigid_Group)? group : noone; if(inline_context != noone) gr = inline_context; diff --git a/scripts/node_sampler/node_sampler.gml b/scripts/node_sampler/node_sampler.gml index aedf679a0..a677a48bf 100644 --- a/scripts/node_sampler/node_sampler.gml +++ b/scripts/node_sampler/node_sampler.gml @@ -2,7 +2,7 @@ function Node_Sampler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c name = "Sampler"; w = 96; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -17,8 +17,8 @@ function Node_Sampler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c static getPreviewValues = function() { return getInputData(0); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); var _suf = current_data[0]; if(!is_surface(_suf)) return; diff --git a/scripts/node_scale/node_scale.gml b/scripts/node_scale/node_scale.gml index e47afd4b1..028f5690e 100644 --- a/scripts/node_scale/node_scale.gml +++ b/scripts/node_scale/node_scale.gml @@ -4,7 +4,7 @@ function Node_Scale(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con manage_atlas = false; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY._default, { slide_speed: 0.01 }); diff --git a/scripts/node_scale_algo/node_scale_algo.gml b/scripts/node_scale_algo/node_scale_algo.gml index c21a46720..e73472f57 100644 --- a/scripts/node_scale_algo/node_scale_algo.gml +++ b/scripts/node_scale_algo/node_scale_algo.gml @@ -15,7 +15,7 @@ function Node_Scale_Algo(_x, _y, _group = noone) : Node_Processor(_x, _y, _group manage_atlas = false; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Algorithm", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Scale2x", "Scale3x" ]); diff --git a/scripts/node_scatter/node_scatter.gml b/scripts/node_scatter/node_scatter.gml index 17ba0adb4..6609d2338 100644 --- a/scripts/node_scatter/node_scatter.gml +++ b/scripts/node_scatter/node_scatter.gml @@ -46,7 +46,7 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c inputs[| 12] = nodeValue("Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ]) .setDisplay(VALUE_DISPLAY.slider_range); - inputs[| 13] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 13] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 14] = nodeValue("Distribution data", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, []) .setDisplay(VALUE_DISPLAY.vector); @@ -114,7 +114,9 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c inputs[| 36] = nodeValue("Shift position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); - + + inputs[| 37] = nodeValue("Exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false) + outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); outputs[| 1] = nodeValue("Atlas data", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, []) @@ -125,7 +127,7 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c ["Surfaces", true], 0, 1, 15, 24, 25, 26, 27, ["Scatter", false], 6, 5, 13, 14, 17, 9, 31, 2, 30, 35, ["Path", false], 19, 20, 21, 22, - ["Position", false], 33, 36, + ["Position", false], 33, 36, 37, ["Rotation", false], 7, 4, 32, ["Scale", false], 3, 8, 34, ["Render", false], 18, 11, 28, 12, 16, 23, @@ -143,15 +145,15 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c scatter_maps = 0; scatter_mapp = []; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _distType = current_data[6]; if(_distType < 3) { - var a = inputs[| 5].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + var a = inputs[| 5].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; } - var a = inputs[| 29].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(1)); active &= !a; + var a = inputs[| 29].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(1)); active &= !a; } #endregion static onValueUpdate = function(index) { #region @@ -268,6 +270,7 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c var uniSca = _data[34]; var cirRng = _data[35]; var posShf = _data[36]; + var posExt = _data[37]; var _in_w, _in_h; @@ -551,6 +554,11 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c var alp = _alpUni? alpha[0] : random_range(alpha[0], alpha[1]); var _atl = _sct_len >= _datLen? noone : scatter_data[_sct_len]; + if(posExt) { + _x = round(_x); + _y = round(_y); + } + if(_useAtl) { if(!is_instanceof(_atl, SurfaceAtlasFast)) _atl = new SurfaceAtlasFast(surf, _x, _y, _r, _scx, _scy, clr, alp); else _atl.set(surf, _x, _y, _r, _scx, _scy, clr, alp); diff --git a/scripts/node_scatter_points/node_scatter_points.gml b/scripts/node_scatter_points/node_scatter_points.gml index 413d9a918..69f0702d1 100644 --- a/scripts/node_scatter_points/node_scatter_points.gml +++ b/scripts/node_scatter_points/node_scatter_points.gml @@ -19,7 +19,7 @@ function Node_Scatter_Points(_x, _y, _group = noone) : Node(_x, _y, _group) cons inputs[| 3] = nodeValue("Point amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2, "Amount of particle spawn in that frame.") .rejectArray(); - inputs[| 4] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 4] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .rejectArray(); inputs[| 5] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, irandom(99999)) @@ -30,7 +30,7 @@ function Node_Scatter_Points(_x, _y, _group = noone) : Node(_x, _y, _group) cons inputs[| 7] = nodeValue("Reference dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 8] = nodeValue("Reference value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 8] = nodeValue("Reference value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 9] = nodeValue("Output 3D", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); @@ -55,8 +55,8 @@ function Node_Scatter_Points(_x, _y, _group = noone) : Node(_x, _y, _group) cons inputs[| 4].setVisible(_dist == 2, _dist == 2); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 0].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 0].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static getPreviewValues = function() { return inputs[| 8].getValue(); } diff --git a/scripts/node_sdf/node_sdf.gml b/scripts/node_sdf/node_sdf.gml index bf129e372..8c1aaf1bb 100644 --- a/scripts/node_sdf/node_sdf.gml +++ b/scripts/node_sdf/node_sdf.gml @@ -8,7 +8,7 @@ function Node_SDF(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const uniform_dst_sid = shader_get_uniform(sh_sdf_dist, "side"); uniform_dst_dst = shader_get_uniform(sh_sdf_dist, "max_distance"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_seperate_shape/node_seperate_shape.gml b/scripts/node_seperate_shape/node_seperate_shape.gml index eb3822952..1a2b36caf 100644 --- a/scripts/node_seperate_shape/node_seperate_shape.gml +++ b/scripts/node_seperate_shape/node_seperate_shape.gml @@ -2,7 +2,7 @@ function Node_Seperate_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) cons name = "Separate Shape"; //error_update_enabled = true; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .rejectArray(); inputs[| 1] = nodeValue("Tolerance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2) diff --git a/scripts/node_shadow/node_shadow.gml b/scripts/node_shadow/node_shadow.gml index b97abf294..416c7a1ba 100644 --- a/scripts/node_shadow/node_shadow.gml +++ b/scripts/node_shadow/node_shadow.gml @@ -1,7 +1,7 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Shadow"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); inputs[| 2] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .5) @@ -17,7 +17,7 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co inputs[| 5] = nodeValue("Blur", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3) .setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 1] }); - inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -37,7 +37,7 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co surface_blur_init(); attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _surf = outputs[| 0].getValue(); if(is_array(_surf)) { if(array_length(_surf) == 0) return; @@ -47,7 +47,7 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co var ww = surface_get_width_safe(_surf) * _s; var hh = surface_get_height_safe(_surf) * _s; - inputs[| 3].drawOverlay(active, _x + ww / 2, _y + hh / 2, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, _x + ww / 2, _y + hh / 2, _s, _mx, _my, _snx, _sny); } static step = function() { #region diff --git a/scripts/node_shadow_cast/node_shadow_cast.gml b/scripts/node_shadow_cast/node_shadow_cast.gml index 59eddb176..9da91d67c 100644 --- a/scripts/node_shadow_cast/node_shadow_cast.gml +++ b/scripts/node_shadow_cast/node_shadow_cast.gml @@ -1,9 +1,9 @@ function Node_Shadow_Cast(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Cast Shadow"; - inputs[| 0] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("Solid", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 1] = nodeValue("Solid", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 2] = nodeValue("Light Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -78,8 +78,8 @@ function Node_Shadow_Cast(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); if(array_length(current_data) != ds_list_size(inputs)) return; var _type = current_data[5]; @@ -88,7 +88,7 @@ function Node_Shadow_Cast(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 8].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1 / 4, THEME.anchor_scale_hori); + inputs[| 8].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1 / 4, THEME.anchor_scale_hori); } } diff --git a/scripts/node_shape/node_shape.gml b/scripts/node_shape/node_shape.gml index 5d1d5a3a5..1ae0e9fae 100644 --- a/scripts/node_shape/node_shape.gml +++ b/scripts/node_shape/node_shape.gml @@ -110,21 +110,21 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _path = getInputData(14); if(_path != noone && struct_has(_path, "getPointRatio")) return; var _type = getInputData(15); if(_type == 0) { - inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } else if(_type == 1) { var _pos = getInputData(16); var _px = _x + _pos[0] * _s; var _py = _y + _pos[1] * _s; - inputs[| 16].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 17].drawOverlay(active, _px, _py, _s, _mx, _my, _snx, _sny); + inputs[| 16].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 17].drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny); } } #endregion diff --git a/scripts/node_shape_map/node_shape_map.gml b/scripts/node_shape_map/node_shape_map.gml index 820815c79..47ca671df 100644 --- a/scripts/node_shape_map/node_shape_map.gml +++ b/scripts/node_shape_map/node_shape_map.gml @@ -1,7 +1,7 @@ function Node_Shape_Map(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Shape Map"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_shape_polygon/node_shape_polygon.gml b/scripts/node_shape_polygon/node_shape_polygon.gml index 94c1f2bd0..4875d3ca8 100644 --- a/scripts/node_shape_polygon/node_shape_polygon.gml +++ b/scripts/node_shape_polygon/node_shape_polygon.gml @@ -70,7 +70,7 @@ function Node_Shape_Polygon(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr node_draw_transform_init(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(array_length(current_data) != ds_list_size(inputs)) return; if(process_amount > 1) return; diff --git a/scripts/node_skew/node_skew.gml b/scripts/node_skew/node_skew.gml index a20eff27d..b19bd5638 100644 --- a/scripts/node_skew/node_skew.gml +++ b/scripts/node_skew/node_skew.gml @@ -1,7 +1,7 @@ function Node_Skew(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Skew"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_button, ["x", "y"]); @@ -19,7 +19,7 @@ function Node_Skew(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 5] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -57,8 +57,8 @@ function Node_Skew(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 4].setValue([ww / 2, hh / 2]); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region - inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_spherize/node_spherize.gml b/scripts/node_spherize/node_spherize.gml index f1c700e88..e3684854a 100644 --- a/scripts/node_spherize/node_spherize.gml +++ b/scripts/node_spherize/node_spherize.gml @@ -1,7 +1,7 @@ function Node_Spherize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Spherize"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ DEF_SURF_W / 2, DEF_SURF_H / 2 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -18,7 +18,7 @@ function Node_Spherize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 4] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -57,13 +57,13 @@ function Node_Spherize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) attributes.oversample = 2; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(1); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } #endregion static step = function() { #region diff --git a/scripts/node_sprite_stack/node_sprite_stack.gml b/scripts/node_sprite_stack/node_sprite_stack.gml index d19ef341f..9287fd154 100644 --- a/scripts/node_sprite_stack/node_sprite_stack.gml +++ b/scripts/node_sprite_stack/node_sprite_stack.gml @@ -55,17 +55,17 @@ function Node_Sprite_Stack(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro preview_custom_x_to = 0; preview_custom_x_max = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(4); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, THEME.anchor); - inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 5].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + var a = inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, THEME.anchor); active &= a; + var a = inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= a; + var a = inputs[| 5].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); active &= a; } #endregion - static drawPreviewToolOverlay = function(active, _mx, _my, _panel) { #region + static drawPreviewToolOverlay = function(hover, active, _mx, _my, _panel) { #region var _surf = getInputData(0); if(!is_array(_surf)) return false; @@ -85,18 +85,21 @@ function Node_Sprite_Stack(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro var _sw = surface_get_width_safe(_s); var _sh = surface_get_height_safe(_s); - var _ss = prev_size / min(_sw, _sh); + var _ss = prev_size / max(_sw, _sh); var _sx = sx + (prev_size / 2 - _sw * _ss / 2); var _sy = sy + (prev_size / 2 - _sh * _ss / 2); draw_surface_ext_safe(_s, _sx, _sy, _ss, _ss); - draw_set_color(COLORS.panel_preview_surface_outline); - draw_rectangle(_sx, _sy, _sx + _sw * _ss, _sy + _sh * _ss, true); - if(point_in_rectangle(_mx, _my, _sx - ui(4), _sy, _sx + _sw * _ss + ui(4), _sy + _sh * _ss)) { + if(hover && point_in_rectangle(_mx, _my, _sx - ui(4), _sy, _sx + _sw * _ss + ui(4), _sy + _sh * _ss)) { hov = true; preview_custom_index = i; - } + + draw_set_color(COLORS._main_accent); + } else + draw_set_color(COLORS.panel_preview_surface_outline); + + draw_rectangle(_sx, _sy, _sx + _sw * _ss, _sy + _sh * _ss, true); sx += prev_size + ui(8); preview_custom_x_max += prev_size + ui(8); @@ -206,7 +209,7 @@ function Node_Sprite_Stack(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro var _hig = _data[ 9]; var _hiC = _data[10]; - //var _hiA = _data[11]; + var _hiA = _data[11]; var _arr = _data[12]; _pos = [ _pos[0], _pos[1] ]; diff --git a/scripts/node_strand_collision/node_strand_collision.gml b/scripts/node_strand_collision/node_strand_collision.gml index 43703d9f1..cc1d44775 100644 --- a/scripts/node_strand_collision/node_strand_collision.gml +++ b/scripts/node_strand_collision/node_strand_collision.gml @@ -14,7 +14,7 @@ function Node_Strand_Collision(_x, _y, _group = noone) : Node(_x, _y, _group) co outputs[| 0] = nodeValue("Strand", self, JUNCTION_CONNECT.output, VALUE_TYPE.strands, noone); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _msh = getInputData(1); if(_msh == noone) return; diff --git a/scripts/node_strand_create/node_strand_create.gml b/scripts/node_strand_create/node_strand_create.gml index 3ff1dfdbb..11376c70c 100644 --- a/scripts/node_strand_create/node_strand_create.gml +++ b/scripts/node_strand_create/node_strand_create.gml @@ -119,7 +119,7 @@ function Node_Strand_Create(_x, _y, _group = noone) : Node(_x, _y, _group) const tool_grabbing = []; #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _typ = getInputData(0); var _pre = getInputData(16); if(!attributes.use_groom) @@ -129,7 +129,7 @@ function Node_Strand_Create(_x, _y, _group = noone) : Node(_x, _y, _group) const if(_typ == 0) { if(tool_dragging == noone) - inputs[| 6].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 6].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } else if(_typ == 1) { var _pth = getInputData(5); var _sid = getInputData(7); diff --git a/scripts/node_strand_render/node_strand_render.gml b/scripts/node_strand_render/node_strand_render.gml index ea77e9621..f6511593a 100644 --- a/scripts/node_strand_render/node_strand_render.gml +++ b/scripts/node_strand_render/node_strand_render.gml @@ -40,7 +40,7 @@ function Node_Strand_Render(_x, _y, _group = noone) : Node(_x, _y, _group) const static onInspector2Update = function() { clearCache(); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _str = getInputData(1); if(_str == noone) return; if(!is_array(_str)) _str = [ _str ]; diff --git a/scripts/node_strand_render_texture/node_strand_render_texture.gml b/scripts/node_strand_render_texture/node_strand_render_texture.gml index e18877de0..600a937b0 100644 --- a/scripts/node_strand_render_texture/node_strand_render_texture.gml +++ b/scripts/node_strand_render_texture/node_strand_render_texture.gml @@ -17,7 +17,7 @@ function Node_Strand_Render_Texture(_x, _y, _group = noone) : Node(_x, _y, _grou inputs[| 3] = nodeValue("Random color", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject(c_white)); - inputs[| 4] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, irandom_range(10000, 99999)); @@ -34,7 +34,7 @@ function Node_Strand_Render_Texture(_x, _y, _group = noone) : Node(_x, _y, _grou static onInspector2Update = function() { clearCache(); } - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var _str = getInputData(1); if(instanceof(_str) != "StrandMesh") return; diff --git a/scripts/node_stripe/node_stripe.gml b/scripts/node_stripe/node_stripe.gml index fcdc509cd..ffdf563fa 100644 --- a/scripts/node_stripe/node_stripe.gml +++ b/scripts/node_stripe/node_stripe.gml @@ -62,14 +62,14 @@ function Node_Stripe(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(4); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - var a = inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); active &= !a; - var a = inputs[| 16].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; + var a = inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); active &= !a; + var a = inputs[| 16].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, getSingleValue(0)); active &= !a; } #endregion static step = function() { #region diff --git a/scripts/node_surface_data/node_surface_data.gml b/scripts/node_surface_data/node_surface_data.gml index 168822e30..bf13238b8 100644 --- a/scripts/node_surface_data/node_surface_data.gml +++ b/scripts/node_surface_data/node_surface_data.gml @@ -2,7 +2,7 @@ function Node_Surface_data(_x, _y, _group = noone) : Node(_x, _y, _group) constr name = "Surface data"; color = COLORS.node_blend_number; - inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); outputs[| 0] = nodeValue("Dimension", self, JUNCTION_CONNECT.output, VALUE_TYPE.integer, [ 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); diff --git a/scripts/node_text/node_text.gml b/scripts/node_text/node_text.gml index 6c8dcbb33..bf8d570ab 100644 --- a/scripts/node_text/node_text.gml +++ b/scripts/node_text/node_text.gml @@ -69,10 +69,12 @@ function Node_Text(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons .setDisplay(VALUE_DISPLAY.enum_button, [ "Character", "Word", "Line" ]); inputs[| 26] = nodeValue("Use full text size", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ); + + inputs[| 27] = nodeValue("Max line width", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 ); input_display_list = [ ["Output", true], 9, 6, 10, - ["Text", false], 0, 13, 14, 7, 8, + ["Text", false], 0, 13, 14, 7, 8, 27, ["Font", false], 1, 2, 15, 3, 11, 12, ["Rendering", false], 5, ["Background", true, 16], 17, @@ -173,6 +175,8 @@ function Node_Text(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons var _typeC = _data[25]; var _typeF = _data[26]; + var _lineW = _data[27]; + generateFont(_font, _size, _aa); draw_set_font(font); @@ -210,37 +214,63 @@ function Node_Text(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons #endregion #region cut string - var _str_lines = string_splice(str, "\n"); - _line_widths = []; - - __temp_len = string_length(str); - __temp_lw = 0; - __temp_ww = 0; - __temp_hh = line_get_height(); - __temp_trck = _trck; - __temp_line = _line; + var _cut_lines = string_splice(str, "\n"); - string_foreach(strRaw, function(_chr, _ind) { - if(_chr == "\n") { - var _lw = max(0, __temp_lw - __temp_trck); - array_push(_line_widths, _lw); - __temp_ww = max(__temp_ww, _lw); - __temp_hh += string_height(_chr) + __temp_line; - __temp_lw = 0; - } else - __temp_lw += string_width(_chr) + __temp_trck; - }); + var _str_lines = []; + var _line_widths = []; + var _ind = 0; + + for( var i = 0, n = array_length(_cut_lines); i < n; i++ ) { + var _str_line = _cut_lines[i]; + + if(_lineW == 0) { + _str_lines[_ind] = _str_line; + _line_widths[_ind] = string_width(_str_line) + _trck * (string_length(_str_line) - 1); + _ind++; + } else { + var _lw = 0; + var _lne = ""; + + for( var j = 1; j <= string_length(_str_line); j++ ) { + var _chr = string_char_at(_str_line, j); + var _chw = string_width(_chr) + _trck; + + if(_lw + _chw >= _lineW) { + _str_lines[_ind] = _lne; + _line_widths[_ind] = _lw - _trck; + _ind++; + + _lne = ""; + _lw = 0; + } + + _lne += _chr; + _lw += _chw; + } + + if(_lne != "") { + _str_lines[_ind] = _lne; + _line_widths[_ind] = _lw - _trck; + _ind++; + } + } + } + + var _max_ww = 0; + var _max_hh = 0; + + for( var i = 0, n = array_length(_str_lines); i < n; i++ ) { + _max_ww = max(_max_ww, _line_widths[i]); + _max_hh += string_height(_str_lines[i]); + } #endregion #region dimension var ww = 0, _sw = 0; var hh = 0, _sh = 0; - var _lw = max(0, __temp_lw - __temp_trck); - array_push(_line_widths, _lw); - __temp_ww = max(__temp_ww, _lw); - ww = __temp_ww; - hh = __temp_hh; + ww = _max_ww; + hh = _max_hh; var _use_path = _path != noone && struct_has(_path, "getPointDistance"); var _ss = 1; diff --git a/scripts/node_text_file_read/node_text_file_read.gml b/scripts/node_text_file_read/node_text_file_read.gml index b8e5f9970..88e0a303a 100644 --- a/scripts/node_text_file_read/node_text_file_read.gml +++ b/scripts/node_text_file_read/node_text_file_read.gml @@ -1,4 +1,4 @@ -function Node_create_Text_File_Read(_x, _y, _group = noone) { +function Node_create_Text_File_Read(_x, _y, _group = noone) { #region var path = ""; if(!LOADING && !APPENDING && !CLONING) { path = get_open_filename("text file|*.txt", ""); @@ -11,9 +11,9 @@ function Node_create_Text_File_Read(_x, _y, _group = noone) { node.doUpdate(); return node; -} +} #endregion -function Node_create_Text_File_Read_path(_x, _y, path) { +function Node_create_Text_File_Read_path(_x, _y, path) { #region if(!file_exists_empty(path)) return noone; var node = new Node_Text_File_Read(_x, _y, PANEL_GRAPH.getCurrentContext()); @@ -21,7 +21,7 @@ function Node_create_Text_File_Read_path(_x, _y, path) { node.doUpdate(); return node; -} +} #endregion function Node_Text_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Text File In"; @@ -30,73 +30,80 @@ function Node_Text_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) cons w = 128; inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "") - .setDisplay(VALUE_DISPLAY.path_load, { filter: "text file|*.txt" }) + .setDisplay(VALUE_DISPLAY.path_load, { filter: "any file|*" }) .rejectArray(); outputs[| 0] = nodeValue("Content", self, JUNCTION_CONNECT.output, VALUE_TYPE.text, ""); outputs[| 1] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "") .setVisible(true, true); - content = ""; + content = ""; path_current = ""; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); first_update = false; - on_drop_file = function(path) { + on_drop_file = function(path) { #region if(updatePaths(path)) { doUpdate(); return true; } return false; - } + } #endregion insp1UpdateTooltip = __txt("Refresh"); insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ]; - static onInspector1Update = function() { - var path = getInputData(0); - if(path == "") return; - updatePaths(path); - update(); - } + static onInspector1Update = function() { #region + updatePaths(path_get(getInputData(0))); + triggerRender(); + } #endregion - function updatePaths(path) { - path = try_get_path(path); + function updatePaths(path) { #region if(path == -1) return false; - var ext = string_lower(filename_ext(path)); + var ext = string_lower(filename_ext(path)); var _name = string_replace(filename_name(path), filename_ext(path), ""); - switch(ext) { - case ".txt": - outputs[| 1].setValue(path); + outputs[| 1].setValue(path); - content = file_read_all(path); + content = file_read_all(path); - if(path_current == "") - first_update = true; - path_current = path; - - return true; - } - return false; - } + if(path_current == "") + first_update = true; + path_current = path; + edit_time = max(edit_time, file_get_modify_s(path_current)); + + return true; + } #endregion - static update = function(frame = CURRENT_FRAME) { - var path = getInputData(0); - if(path == "") return; + static step = function() { #region + if(attributes.file_checker && path_current != "") { + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); + } + } + } #endregion + + static update = function(frame = CURRENT_FRAME) { #region + var path = path_get(getInputData(0)); if(path_current != path) updatePaths(path); outputs[| 0].setValue(content); - } + } #endregion - static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region var bbox = drawGetBbox(xx, yy, _s); var str = filename_name(path_current); draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); var ss = string_scale(str, bbox.w, bbox.h); draw_text_transformed(bbox.xc, bbox.yc, str, ss, ss, 0); - } + } #endregion } \ No newline at end of file diff --git a/scripts/node_text_file_write/node_text_file_write.gml b/scripts/node_text_file_write/node_text_file_write.gml index 4df6a37ac..6b1ca0ba2 100644 --- a/scripts/node_text_file_write/node_text_file_write.gml +++ b/scripts/node_text_file_write/node_text_file_write.gml @@ -14,7 +14,7 @@ function Node_Text_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) con static writeFile = function() { var path = getInputData(0); if(path == "") return; - if(filename_ext(path) != ".txt") + if(filename_ext(path) == "") path += ".txt"; var cont = getInputData(1); diff --git a/scripts/node_texture_remap/node_texture_remap.gml b/scripts/node_texture_remap/node_texture_remap.gml index aac62c8f0..35c72d9fa 100644 --- a/scripts/node_texture_remap/node_texture_remap.gml +++ b/scripts/node_texture_remap/node_texture_remap.gml @@ -4,9 +4,9 @@ function Node_Texture_Remap(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr shader = sh_texture_remap; uniform_map = shader_get_sampler_index(shader, "map"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - inputs[| 1] = nodeValue("RG Map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0, "Displacement map where red retermine the X position, and green determine the Y position."); + inputs[| 1] = nodeValue("RG Map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone, "Displacement map where red retermine the X position, and green determine the Y position."); inputs[| 2] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 2; diff --git a/scripts/node_threshold/node_threshold.gml b/scripts/node_threshold/node_threshold.gml index 91a45371b..859b007e9 100644 --- a/scripts/node_threshold/node_threshold.gml +++ b/scripts/node_threshold/node_threshold.gml @@ -1,7 +1,7 @@ function Node_Threshold(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Threshold"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); @@ -12,7 +12,7 @@ function Node_Threshold(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) inputs[| 3] = nodeValue("Brightness Smoothness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider); - inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); diff --git a/scripts/node_tile/node_tile.gml b/scripts/node_tile/node_tile.gml index 60d30f1e8..d03e65747 100644 --- a/scripts/node_tile/node_tile.gml +++ b/scripts/node_tile/node_tile.gml @@ -5,7 +5,7 @@ function Node_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons inputs[| 1] = nodeValue("Border texture", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); - outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0); + outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ 0 ]; diff --git a/scripts/node_tile_random/node_tile_random.gml b/scripts/node_tile_random/node_tile_random.gml index 586445772..8e742461b 100644 --- a/scripts/node_tile_random/node_tile_random.gml +++ b/scripts/node_tile_random/node_tile_random.gml @@ -2,7 +2,7 @@ function Node_Tile_Random(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou name = "Tile Random"; dimension_index = -1; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, DEF_SURF) .setDisplay(VALUE_DISPLAY.vector); diff --git a/scripts/node_time_remap/node_time_remap.gml b/scripts/node_time_remap/node_time_remap.gml index 55d8ce78c..e31461a93 100644 --- a/scripts/node_time_remap/node_time_remap.gml +++ b/scripts/node_time_remap/node_time_remap.gml @@ -8,10 +8,10 @@ function Node_Time_Remap(_x, _y, _group = noone) : Node(_x, _y, _group) construc uniform_min = shader_get_uniform(shader, "vMin"); uniform_max = shader_get_uniform(shader, "vMax"); - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .rejectArray(); - inputs[| 1] = nodeValue("Map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0) + inputs[| 1] = nodeValue("Map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) .rejectArray(); inputs[| 2] = nodeValue("Max life", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 3) diff --git a/scripts/node_timeline_preview/node_timeline_preview.gml b/scripts/node_timeline_preview/node_timeline_preview.gml index 3773a417a..bd6c1c0e6 100644 --- a/scripts/node_timeline_preview/node_timeline_preview.gml +++ b/scripts/node_timeline_preview/node_timeline_preview.gml @@ -8,7 +8,7 @@ function Node_Timeline_Preview(_x, _y, _group = noone) : Node(_x, _y, _group) co PANEL_ANIMATION.timeline_preview = self; - inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); static update = function(frame = CURRENT_FRAME) { var _inSurf = getInputData(0); diff --git a/scripts/node_trail/node_trail.gml b/scripts/node_trail/node_trail.gml index 735c1c004..2657033ad 100644 --- a/scripts/node_trail/node_trail.gml +++ b/scripts/node_trail/node_trail.gml @@ -3,7 +3,7 @@ function Node_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { use_cache = CACHE_USE.manual; clearCacheOnChange = false; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Max life", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 5); diff --git a/scripts/node_transform/node_transform.gml b/scripts/node_transform/node_transform.gml index bd1f0e09e..b63d60f24 100644 --- a/scripts/node_transform/node_transform.gml +++ b/scripts/node_transform/node_transform.gml @@ -335,7 +335,7 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) overlay_drag_ma = 0; overlay_drag_sa = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region PROCESSOR_OVERLAY_CHECK var _surf = getInputData(0); diff --git a/scripts/node_transform_array/node_transform_array.gml b/scripts/node_transform_array/node_transform_array.gml index 103f1cff6..eafa925cc 100644 --- a/scripts/node_transform_array/node_transform_array.gml +++ b/scripts/node_transform_array/node_transform_array.gml @@ -19,13 +19,13 @@ function Node_Transform_Array(_x, _y, _group = noone) : Node_Processor(_x, _y, _ outputs[| 0] = nodeValue("Transform", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 1, 1 ]) .setDisplay(VALUE_DISPLAY.vector); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { var pos = getInputData(0); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 0].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny); + inputs[| 0].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny); } static processData = function(_output, _data, _output_index, _array_index = 0) { diff --git a/scripts/node_transform_single/node_transform_single.gml b/scripts/node_transform_single/node_transform_single.gml index 31e6c810f..5384f4c4a 100644 --- a/scripts/node_transform_single/node_transform_single.gml +++ b/scripts/node_transform_single/node_transform_single.gml @@ -1,7 +1,7 @@ function Node_Transform_Single(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Transform single"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Position x", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); inputs[| 2] = nodeValue("Position y", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0); @@ -47,7 +47,7 @@ function Node_Transform_Single(_x, _y, _group = noone) : Node_Processor(_x, _y, overlay_drag_ma = 0; overlay_drag_sa = 0; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(array_length(current_data) < ds_list_size(inputs)) return; var _surf = outputs[| 0].getValue(); diff --git a/scripts/node_twirl/node_twirl.gml b/scripts/node_twirl/node_twirl.gml index 289eb0b62..dab697abd 100644 --- a/scripts/node_twirl/node_twirl.gml +++ b/scripts/node_twirl/node_twirl.gml @@ -1,7 +1,7 @@ function Node_Twirl(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Twirl"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector) @@ -17,7 +17,7 @@ function Node_Twirl(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 4] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.") .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); - inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) .setDisplay(VALUE_DISPLAY.slider); @@ -51,13 +51,13 @@ function Node_Twirl(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con attribute_oversample(); attribute_interpolation(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var pos = getInputData(1); var px = _x + pos[0] * _s; var py = _y + pos[1] * _s; - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori); } #endregion static step = function() { #region diff --git a/scripts/node_value/node_value.gml b/scripts/node_value/node_value.gml index bc637a1db..400a4d1f3 100644 --- a/scripts/node_value/node_value.gml +++ b/scripts/node_value/node_value.gml @@ -1384,6 +1384,13 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru return true; } #endregion + static setUseExpression = function(useExp) { #region + INLINE + if(expUse == useExp) return; + expUse = useExp; + node.triggerRender(); + } #endregion + static setExpression = function(_expression) { #region expUse = true; expression = _expression; @@ -1413,7 +1420,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru break; } - if(try_get_path(path) == -1) { + if(path_get(path) == -1) { value_validation = VALIDATION.error; str = $"File not exist: {path}"; } @@ -1422,7 +1429,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru var paths = animator.getValue(); if(is_array(paths)) { for( var i = 0, n = array_length(paths); i < n; i++ ) { - if(try_get_path(paths[i]) != -1) continue; + if(path_get(paths[i]) != -1) continue; value_validation = VALIDATION.error; str = "File not exist: " + string(paths[i]); } @@ -2216,36 +2223,38 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru _v[| i].value = unit.convertUnit(_v[| i].value, mode); } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region if(type != VALUE_TYPE.integer && type != VALUE_TYPE.float) return -1; if(value_from != noone) return -1; if(expUse) return -1; + var arc = 9; + switch(display_type) { case VALUE_DISPLAY._default : - var _angle = argument_count > 8? argument[ 8] : 0; - var _scale = argument_count > 9? argument[ 9] : 1; - var _spr = argument_count > 10? argument[10] : THEME.anchor_selector; + var _angle = argument_count > arc + 0? argument[arc + 0] : 0; + var _scale = argument_count > arc + 1? argument[arc + 1] : 1; + var _spr = argument_count > arc + 2? argument[arc + 2] : THEME.anchor_selector; return preview_overlay_scalar(isLeaf(), active, _x, _y, _s, _mx, _my, _snx, _sny, _angle, _scale, _spr); case VALUE_DISPLAY.rotation : - var _rad = argument_count > 8? argument[ 8] : 64; + var _rad = argument_count > arc + 0? argument[ arc + 0] : 64; return preview_overlay_rotation(isLeaf(), active, _x, _y, _s, _mx, _my, _snx, _sny, _rad); case VALUE_DISPLAY.vector : - var _spr = argument_count > 8? argument[8] : THEME.anchor_selector; - var _sca = argument_count > 9? argument[9] : 1; + var _spr = argument_count > arc + 0? argument[arc + 0] : THEME.anchor_selector; + var _sca = argument_count > arc + 1? argument[arc + 1] : 1; return preview_overlay_vector(isLeaf(), active, _x, _y, _s, _mx, _my, _snx, _sny, _spr); case VALUE_DISPLAY.gradient_range : - var _dim = argument[8]; + var _dim = argument[arc]; if(mappedJunc.attributes.mapped) return preview_overlay_gradient_range(isLeaf(), active, _x, _y, _s, _mx, _my, _snx, _sny, _dim); break; case VALUE_DISPLAY.area : - var _flag = argument_count > 8? argument[8] : 0b0011; + var _flag = argument_count > arc + 0? argument[arc + 0] : 0b0011; return preview_overlay_area(isLeaf(), active, _x, _y, _s, _mx, _my, _snx, _sny, _flag, struct_try_get(display_data, "onSurfaceSize")); case VALUE_DISPLAY.puppet_control : @@ -2407,6 +2416,8 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru if(value_from) return true; if(!visible) return false; + if(index == -1) return true; + if(is_array(node.input_display_list)) return array_exists(node.input_display_list, index); return true; @@ -2653,8 +2664,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru } #endregion static cleanUp = function() { #region - animator.cleanUp(); - delete animator; + } #endregion static toString = function() { return (connect_type == JUNCTION_CONNECT.input? "Input" : "Output") + $" junction {index} of [{name}]: {node}"; } diff --git a/scripts/node_vector2/node_vector2.gml b/scripts/node_vector2/node_vector2.gml index 1b75387c3..8db983093 100644 --- a/scripts/node_vector2/node_vector2.gml +++ b/scripts/node_vector2/node_vector2.gml @@ -56,7 +56,7 @@ function Node_Vector2(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c }), ]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var __ax = getInputData(0); var __ay = getInputData(1); diff --git a/scripts/node_vignette/node_vignette.gml b/scripts/node_vignette/node_vignette.gml index 51a0a94ef..5bfdb5549 100644 --- a/scripts/node_vignette/node_vignette.gml +++ b/scripts/node_vignette/node_vignette.gml @@ -1,7 +1,7 @@ function Node_Vignette(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Vignette"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; diff --git a/scripts/node_warp/node_warp.gml b/scripts/node_warp/node_warp.gml index febb47552..be7d61c34 100644 --- a/scripts/node_warp/node_warp.gml +++ b/scripts/node_warp/node_warp.gml @@ -1,7 +1,7 @@ function Node_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Warp"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Top left", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) .setDisplay(VALUE_DISPLAY.vector) @@ -70,7 +70,7 @@ function Node_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons dimension_index = _useDim? 7 : 0; } #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny, params) { #region + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, params) { #region PROCESSOR_OVERLAY_CHECK var _surf = outputs[| 0].getValue(); @@ -234,10 +234,10 @@ function Node_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons } } - if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; #endregion } #endregion diff --git a/scripts/node_wav_file_read/node_wav_file_read.gml b/scripts/node_wav_file_read/node_wav_file_read.gml index b2194bd39..3016f33ee 100644 --- a/scripts/node_wav_file_read/node_wav_file_read.gml +++ b/scripts/node_wav_file_read/node_wav_file_read.gml @@ -35,7 +35,7 @@ function Node_WAV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const .setDisplay(VALUE_DISPLAY.path_load, { filter: "audio|*.wav" }) .rejectArray(); - inputs[| 1] = nodeValue("Sync lenght", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + inputs[| 1] = nodeValue("Sync length", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, 0) .setDisplay(VALUE_DISPLAY.button, { name: "Sync", onClick: function() { if(content == noone) return; var frm = max(1, ceil(content.duration * PROJECT.animator.framerate)); @@ -59,8 +59,13 @@ function Node_WAV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const outputs[| 4] = nodeValue("Duration (s)", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0) .setVisible(false); - content = noone; + content = noone; path_current = ""; + edit_time = 0; + + attributes.file_checker = true; + array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; }, + new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]); first_update = false; @@ -100,12 +105,12 @@ function Node_WAV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const } #endregion function updatePaths(path) { #region - path = try_get_path(path); if(path == -1) return false; if(path_current == "") first_update = true; path_current = path; + edit_time = max(edit_time, file_get_modify_s(path_current)); var ext = string_lower(filename_ext(path)); var _name = string_replace(filename_name(path), filename_ext(path), ""); @@ -191,12 +196,18 @@ function Node_WAV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const if(!audio_is_playing(preview_audio)) preview_id = audio_play_sound(preview_audio, 1, false, attributes.preview_gain, dur); } + + if(attributes.file_checker && path_current != "") { + if(file_get_modify_s(path_current) > edit_time) { + updatePaths(); + triggerRender(); + } + } } #endregion static update = function(frame = CURRENT_FRAME) { #region - var path = getInputData(0); + var path = path_get(getInputData(0)); var mono = getInputData(2); - if(path == "") return; if(path_current != path) updatePaths(path); if(!is_instanceof(content, audioObject)) return; diff --git a/scripts/node_wrap_area/node_wrap_area.gml b/scripts/node_wrap_area/node_wrap_area.gml index e07307b18..573f4632b 100644 --- a/scripts/node_wrap_area/node_wrap_area.gml +++ b/scripts/node_wrap_area/node_wrap_area.gml @@ -1,7 +1,7 @@ function Node_Wrap_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Area Warp"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); onSurfaceSize = function() { return surface_get_dimension(getInputData(0)); }; inputs[| 1] = nodeValue("Area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16, 4, 4, AREA_SHAPE.rectangle ]) @@ -35,8 +35,8 @@ function Node_Wrap_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) } } if(!LOADING && !APPENDING) run_in(1, function() { onValueFromUpdate(0); }) #endregion - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_wrap_perspective/node_wrap_perspective.gml b/scripts/node_wrap_perspective/node_wrap_perspective.gml index 3402475a3..9370a9eac 100644 --- a/scripts/node_wrap_perspective/node_wrap_perspective.gml +++ b/scripts/node_wrap_perspective/node_wrap_perspective.gml @@ -1,7 +1,7 @@ function Node_Warp_Perspective(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { name = "Perspective Warp"; - inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); active_index = 1; @@ -54,7 +54,7 @@ function Node_Warp_Perspective(_x, _y, _group = noone) : Node_Processor(_x, _y, drag_my = 0; drag_s = [[0, 0], [0, 0]]; - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { if(array_length(current_data) < ds_list_size(inputs)) return; var _surf = outputs[| 0].getValue(); @@ -96,10 +96,10 @@ function Node_Warp_Perspective(_x, _y, _group = noone) : Node_Processor(_x, _y, draw_line(br[0], br[1], tr[0], tr[1]); draw_line(br[0], br[1], bl[0], bl[1]); - if(inputs[| tool * 4 + 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| tool * 4 + 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| tool * 4 + 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; - if(inputs[| tool * 4 + 5].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| tool * 4 + 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| tool * 4 + 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| tool * 4 + 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; + if(inputs[| tool * 4 + 5].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false; var dx = 0; var dy = 0; @@ -186,10 +186,10 @@ function Node_Warp_Perspective(_x, _y, _group = noone) : Node_Processor(_x, _y, } } - inputs[| tool * 4 + 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| tool * 4 + 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| tool * 4 + 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); - inputs[| tool * 4 + 5].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| tool * 4 + 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| tool * 4 + 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| tool * 4 + 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| tool * 4 + 5].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static processData = function(_outSurf, _data, _output_index, _array_index) { diff --git a/scripts/node_zigzag/node_zigzag.gml b/scripts/node_zigzag/node_zigzag.gml index 7b264195d..21bc68458 100644 --- a/scripts/node_zigzag/node_zigzag.gml +++ b/scripts/node_zigzag/node_zigzag.gml @@ -34,8 +34,8 @@ function Node_Zigzag(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co attribute_surface_depth(); - static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { + inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } static step = function() { #region diff --git a/scripts/pack_best_fit/pack_best_fit.gml b/scripts/pack_best_fit/pack_best_fit.gml index 0cfc0f236..597b45500 100644 --- a/scripts/pack_best_fit/pack_best_fit.gml +++ b/scripts/pack_best_fit/pack_best_fit.gml @@ -26,25 +26,25 @@ function sprite_pack_best_fit(rectangles) { var bestSpace = noone; var bestArea = new Rectangle(0, 0, 0, 0); - for (var xx = area.x; xx <= area.x + area.w; xx += grW) { - for (var yy = area.y; yy <= area.y + area.h; yy += grH) { - var space = new Rectangle(xx, yy, rect.w, rect.h); - if (space.x + space.w > area.x + area.w || space.y + space.h > area.y + area.h) - continue; + + for (var xx = area.x; xx <= area.x + area.w; xx += grW) + for (var yy = area.y; yy <= area.y + area.h; yy += grH) { + var space = new Rectangle(xx, yy, rect.w, rect.h); + if (space.x + space.w > area.x + area.w || space.y + space.h > area.y + area.h) + continue; - var overlaps = false; - for (var j = 0; j < i; j++) { - var otherRect = rectangles[j]; - if (rectangleOverlap(space, otherRect)) { - overlaps = true; - break; - } + var overlaps = false; + for (var j = 0; j < i; j++) { + var otherRect = rectangles[j]; + if (rectangleOverlap(space, otherRect)) { + overlaps = true; + break; } + } - if (!overlaps && (bestSpace == noone || space.w * space.h < bestSpace.w * bestSpace.h)) { - bestSpace = space; - bestArea = new Rectangle(area.x, area.y, area.w, area.h); - } + if (!overlaps && (bestSpace == noone || space.w * space.h < bestSpace.w * bestSpace.h)) { + bestSpace = space; + bestArea = new Rectangle(area.x, area.y, area.w, area.h); } } diff --git a/scripts/pack_bottom_left/pack_bottom_left.gml b/scripts/pack_bottom_left/pack_bottom_left.gml index ff65d067b..a754e1a82 100644 --- a/scripts/pack_bottom_left/pack_bottom_left.gml +++ b/scripts/pack_bottom_left/pack_bottom_left.gml @@ -3,9 +3,7 @@ function sprite_pack_bottom_left(rectangles, height = 999999) { var maxW = 0; var maxH = 0; - array_sort(rectangles, function(a, b) { - return b.h - a.h; - }); + array_sort(rectangles, function(a, b) { return b.h - a.h; }); var xx = 0; for (var i = 0; i < array_length(rectangles); i++) { diff --git a/scripts/panel_graph/panel_graph.gml b/scripts/panel_graph/panel_graph.gml index beb28ba3f..6fcfefae1 100644 --- a/scripts/panel_graph/panel_graph.gml +++ b/scripts/panel_graph/panel_graph.gml @@ -1079,12 +1079,13 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { }, THEME.cross)); } } - - var ctx = is_instanceof(frame_hovering, Node_Collection_Inline)? frame_hovering : getCurrentContext(); - callAddDialog(ctx); - menuCall("graph_node_selected_menu", o_dialog_add_node.dialog_x - ui(8), o_dialog_add_node.dialog_y + ui(4), menu, fa_right ); - setFocus(o_dialog_add_node.id, "Dialog"); + var ctx = is_instanceof(frame_hovering, Node_Collection_Inline)? frame_hovering : getCurrentContext(); + var _diaAdd = callAddDialog(ctx); + + var _dia = menuCall("graph_node_selected_menu", o_dialog_add_node.dialog_x - ui(8), o_dialog_add_node.dialog_y + ui(4), menu, fa_right ); + _dia.passthrough = true; + setFocus(_diaAdd, "Dialog"); } } #endregion @@ -1377,7 +1378,9 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { if(mouse_release(mb_left)) { // CONNECT junction var _connect = [ 0, noone, noone ]; - if(target != noone) { + if(PANEL_INSPECTOR && PANEL_INSPECTOR.attribute_hovering != noone) { + PANEL_INSPECTOR.attribute_hovering(value_dragging); + } else if(target != noone) { var _addInput = false; if(target.isLeaf() && target.connect_type == JUNCTION_CONNECT.input && target.node.auto_input) _addInput = true; @@ -1412,7 +1415,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { } } - value_dragging = noone; + value_dragging = noone; connection_draw_mouse = noone; if(_connect[0] == -9) { @@ -1509,8 +1512,9 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { } #endregion function callAddDialog(ctx = getCurrentContext()) { #region + var _dia = dialogCall(o_dialog_add_node, mouse_mx + 8, mouse_my + 8, { context: ctx }); - with(dialogCall(o_dialog_add_node, mouse_mx + 8, mouse_my + 8, { context: ctx })) { + with(_dia) { node_target_x = other.mouse_grid_x; node_target_y = other.mouse_grid_y; junction_hovering = other.junction_hovering; @@ -1518,6 +1522,8 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { resetPosition(); alarm[0] = 1; } + + return _dia; } #endregion function drawContext() { #region diff --git a/scripts/panel_inspector/panel_inspector.gml b/scripts/panel_inspector/panel_inspector.gml index e9080bcbf..0aa09a3b2 100644 --- a/scripts/panel_inspector/panel_inspector.gml +++ b/scripts/panel_inspector/panel_inspector.gml @@ -221,7 +221,7 @@ function Panel_Inspector() : PanelContent() constructor { } #endregion static drawMeta = function(_y, _m) { #region - var con_w = contentPane.surface_w - ui(4); + var con_w = contentPane.surface_w - ui(4); var _hover = pHOVER && contentPane.hover; var context = PANEL_GRAPH.getCurrentContext(); @@ -235,6 +235,8 @@ function Panel_Inspector() : PanelContent() constructor { var rx = x + ui(16); var ry = y + top_bar_h; + attribute_hovering = noone; + for( var i = 0, n = array_length(meta_display); i < n; i++ ) { if(i == 3) { var context = PANEL_GRAPH.getCurrentContext(); @@ -280,7 +282,11 @@ function Panel_Inspector() : PanelContent() constructor { var title = _edt[j][0]; var param = _edt[j][1]; var editW = _edt[j][2]; + var drpFn = _edt[j][3]; + var widx = ui(8); + var widy = yy; + draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_inner); draw_text_add(ui(16), yy, __txt(title)); yy += line_get_height() + ui(6); @@ -288,12 +294,22 @@ function Panel_Inspector() : PanelContent() constructor { editW.setFocusHover(pFOCUS, _hover); if(pFOCUS) editW.register(contentPane); - + var wh = 0; - var _data = PROJECT.attributes[$ param]; - - wh = editW.drawParam(new widgetParam(ui(16), yy, w - ui(16 + 48), TEXTBOX_HEIGHT, _data, {}, _m, rx, ry)); - + var _data = PROJECT.attributes[$ param]; + var _param = new widgetParam(ui(16), yy, w - ui(16 + 48), TEXTBOX_HEIGHT, _data, {}, _m, rx, ry); + + wh = editW.drawParam(_param); + + var jun = PANEL_GRAPH.value_dragging; + var widw = con_w - ui(16); + var widh = line_get_height() + ui(6) + wh + ui(4); + + if(jun != noone && _hover && point_in_rectangle(_m[0], _m[1], widx, widy, widx + widw, widy + widh)) { + draw_sprite_stretched_ext(THEME.ui_panel_active, 0, widx, widy, widw, widh, COLORS._main_value_positive, 1); + attribute_hovering = drpFn; + } + yy += wh + ui(8); hh += wh + ui(8); } diff --git a/scripts/panel_preview/panel_preview.gml b/scripts/panel_preview/panel_preview.gml index 99d55ae90..db90f6b66 100644 --- a/scripts/panel_preview/panel_preview.gml +++ b/scripts/panel_preview/panel_preview.gml @@ -1177,13 +1177,13 @@ function Panel_Preview() : PanelContent() constructor { _sny = PROJECT.previewGrid.size[1]; } - _node.drawOverlay(overlayHover, cx, cy, canvas_s, _mx, _my, _snx, _sny, params); + _node.drawOverlay(isHover, overlayHover, cx, cy, canvas_s, _mx, _my, _snx, _sny, params); } #region node overlay overlay_hovering = false; - if(_node.drawPreviewToolOverlay(pHOVER && pFOCUS, _mx, _my, { x, y, w, h, toolbar_height, + if(_node.drawPreviewToolOverlay(pHOVER, pFOCUS, _mx, _my, { x, y, w, h, toolbar_height, x0: _node.tools == -1? 0 : ui(40), x1: w, y0: toolbar_height - ui(8), diff --git a/scripts/path_parser/path_parser.gml b/scripts/path_parser/path_parser.gml index 47e662e94..bd2d22337 100644 --- a/scripts/path_parser/path_parser.gml +++ b/scripts/path_parser/path_parser.gml @@ -1,10 +1,23 @@ -function try_get_path(path) { - if(file_exists_empty(path)) - return path; +function __path_get(path) { + INLINE + + if(file_exists_empty(path)) return path; - var local_path = filename_dir(PROJECT.path) + "/" + path; + var local_path = $"{filename_dir(PROJECT.path)}/{path}"; if(file_exists_empty(local_path)) return local_path; return -1; +} + +function path_get(path) { + INLINE + + if(!is_array(path)) return __path_get(path); + + var _res = array_create(array_length(path)); + for( var i = 0, n = array_length(path); i < n; i++ ) + _res[i] = __path_get(path[i]); + + return _res; } \ No newline at end of file diff --git a/scripts/preferences/preferences.gml b/scripts/preferences/preferences.gml index a292856f9..166d97dda 100644 --- a/scripts/preferences/preferences.gml +++ b/scripts/preferences/preferences.gml @@ -96,6 +96,8 @@ PREFERENCES.caret_blink = 0.75; + PREFERENCES.add_node_remember = true; + PREFERENCES_DEF = variable_clone(PREFERENCES); #endregion diff --git a/scripts/project_data/project_data.gml b/scripts/project_data/project_data.gml index f3550fe4c..16adf0e1c 100644 --- a/scripts/project_data/project_data.gml +++ b/scripts/project_data/project_data.gml @@ -13,9 +13,9 @@ version = SAVE_VERSION; /// @is {number} seed = irandom_range(100000, 999999); /// @is {number} - modified = false; /// @is {bool} - readonly = false; /// @is {bool} - safeMode = false; + modified = false; /// @is {bool} + readonly = false; /// @is {bool} + safeMode = false; nodes = ds_list_create(); nodeArray = []; @@ -63,15 +63,48 @@ palette_fix : false, } - var _bpal = new buttonPalette(function(pal) { setPalette(pal); RENDER_ALL return true; }); - - //_bpal.side_button = button(function() { attributes.palette_fix = !attributes.palette_fix; RENDER_ALL return true; }) - // .setIcon( THEME.project_fix_palette, [ function() { return attributes.palette_fix; } ], COLORS._main_icon ) - // .setTooltip("Fix palette"); - attributeEditor = [ - [ "Default Surface", "surface_dimension", new vectorBox(2, function(ind, val) { attributes.surface_dimension[ind] = val; RENDER_ALL return true; }) ], - [ "Palette", "palette", _bpal ], + [ "Default Surface", "surface_dimension", new vectorBox(2, function(ind, val) { attributes.surface_dimension[ind] = val; RENDER_ALL return true; }), + function(junc) { + if(!is_struct(junc)) return; + if(!is_instanceof(junc, NodeValue)) return; + + var attr = attributes.surface_dimension; + var _val = junc.getValue(); + var _res = [ attr[0], attr[1] ]; + + switch(junc.type) { + case VALUE_TYPE.float : + case VALUE_TYPE.integer : + if(is_real(_val)) + _res = [ _val, _val ]; + else if(is_array(_val) && array_length(_val) >= 2) { + _res[0] = is_real(_val[0])? _val[0] : 1; + _res[1] = is_real(_val[1])? _val[1] : 1; + } + break; + + case VALUE_TYPE.surface : + if(is_array(_val)) _val = array_safe_get(_val, 0); + if(is_surface(_val)) + _res = surface_get_dimension(_val); + break; + } + + attr[0] = _res[0]; + attr[1] = _res[1]; + } ], + + [ "Palette", "palette", new buttonPalette(function(pal) { setPalette(pal); RENDER_ALL return true; }), + function(junc) { + if(!is_struct(junc)) return; + if(!is_instanceof(junc, NodeValue)) return; + if(junc.type != VALUE_TYPE.color) return; + if(junc.display_type != VALUE_DISPLAY.palette) return; + + setPalette(junc.getValue()); + } + ], ]; static setPalette = function(pal = noone) { diff --git a/scripts/render_data/render_data.gml b/scripts/render_data/render_data.gml index 7beb4ccf3..7451754e2 100644 --- a/scripts/render_data/render_data.gml +++ b/scripts/render_data/render_data.gml @@ -64,7 +64,7 @@ function NodeTopoSort() { #region } ds_list_clear(PROJECT.nodeTopo); - topoSort(PROJECT.nodeTopo, PROJECT.nodes); + __topoSort(PROJECT.nodeTopo, PROJECT.nodes); LOG_IF(global.FLAG.render == 1, $"+++++++ Topo Sort Completed: {ds_list_size(PROJECT.nodeTopo)} nodes sorted in {(get_timer() - _t) / 1000} ms +++++++"); } #endregion @@ -86,7 +86,7 @@ function __sortNode(_list, _node) { #region if(array_empty(_childs)) { if(is_instanceof(_node, Node_Collection) && !_node.managedRenderOrder) - topoSort(_list, _node.nodes); + __topoSort(_list, _node.nodes); } else { for( var i = 0, n = array_length(_childs); i < n; i++ ) @@ -101,12 +101,10 @@ function __sortNode(_list, _node) { #region } } #endregion -function topoSort(_list, _nodeList) { #region +function __topoSort(_list, _nodeList) { #region var _root = []; var _leftOver = []; - //print($"Sorting..."); - for( var i = 0, n = ds_list_size(_nodeList); i < n; i++ ) { var _node = _nodeList[| i]; var _isRoot = true; @@ -132,8 +130,6 @@ function topoSort(_list, _nodeList) { #region if(_isRoot) array_push(_root, _node); } - //print($" > Roots: {_root}"); - for( var i = 0, n = array_length(_root); i < n; i++ ) __sortNode(_list, _root[i]); @@ -148,7 +144,7 @@ function NodeListSort(_list, _nodeList) { #region _nodeList[| i].topoSorted = false; ds_list_clear(_list); - topoSort(_list, _nodeList); + __topoSort(_list, _nodeList); } #endregion function __nodeIsRenderLeaf(_node) { #region diff --git a/sprites/s_node_byte_file_read/09941d0a-3bfe-4452-9cf1-33da4f83fb67.png b/sprites/s_node_byte_file_read/09941d0a-3bfe-4452-9cf1-33da4f83fb67.png new file mode 100644 index 0000000000000000000000000000000000000000..2505bf78b210ffb11fa87bae6bbf6b5e9f0b090d GIT binary patch literal 1782 zcmZ{lc{JN;7sr3GrqNQh)Y4jOX=(`}tyo?Zks?G16>B8Oi`rtTHH;!^r=_KgHA26^w~CH1tr3%s6fLS{yy-u4&ipawp67ngdG7h#@43%;&bc%<4C)v}2?7AX zF|?zdyFjhKAF!Apw~=Ew0#OTgbaw%OWNiSTW&^-i!4-840ODZ)zzYNbWEB9MjIJ5P zS_lea1SgaoaQHob9HN&4fao7+I~$Lrh4t!1S6MHGXBi5&2mJR2nlk5Jn@ZutC9GO%g@=bn5G#BZLHd+O2^V}(^*x1h+`(;bHQSDYTScY`;>A zs&9a+P>pDk3Ix7dJ+?4j6_v%UkFH_It5a(j7^+DYe5Sr2ZPGcHfI7^^3F-NOh|*s( zKLLqRh21@0pzA4>@&Pfsvjef${CApZWhOhIT&ny?t+;=Bpn|vaZVt0(3bY(v-BDpU zykD_<4xzko_^4~*{*!&0?y%SZXYp;^|Hk~Ifc3bBilF`4{WB#3(iexXr3ZsVrv%|ek2A~i<0QxO`Ug}KWwCQ3>+*@~o8eOj?a( z>}!mI(kbHFvq1mxleXEu*fx8Wk;D%PES2Q-2~VoW3`^?hirT0~R6=czP}tJJ7KtU| zcsVoX^e-p7QN;1n;-QvAV!pXQ^Tvz#!q%&9FeZt;86IzRY&j3^eS zdkM59%35FjBBgWI(C`g>uO+O-TK#xU&C2xk8xAwPHM~AB5~2HaZ7k0}?grmsZLS~1 z;HPlhc53-4Pgnb`gn)*_4qjg*7*w!<0ou(2O%aa)#WWRFRf*1lPR9HygW1qGoRgpb zA`e^og#TBef*h#R96JB-ZR0`?clC&~$m?*H=kw9gF6Kw?QyYBI<>FHFK}7GiDVRC9 z|GkHE(pCR%eT(z#Mw*)VP|5>yXv_tuqN+q|`kux^-aDqS6djDQ^t^BB!t_{Qax;}UnY6$%AgkQ~O-&_muNKFnqlYv< zfWd!#%HH_Z;#I3c{}0{fP!}B|EBQQ$Z&~Xi!4JB++L#9r!J9ah;or$4%l{~;biYFK zS|i7jL-q+de0MJ+-o6;0p%+*cOI6{Z;RxfiCBQvj;usH8UGURLXBXtCW*vK8?Sf$( z25B^1yca4q`HVy;nm)r9UZ6@g@h19@IT`o&&8co<3QgSxE?&kRSGA^l%>Ef17eXjC z$!|Us@BiHl$Evu57pws-ioG|57(^iH2g&awWqXb1p|2q@Pi-{L70NNg7$FvR1`acJ3 BAbkJ; literal 0 HcmV?d00001 diff --git a/sprites/s_node_byte_file_read/layers/09941d0a-3bfe-4452-9cf1-33da4f83fb67/73bb7ea0-23d2-4c09-acba-ffb7bdb51acd.png b/sprites/s_node_byte_file_read/layers/09941d0a-3bfe-4452-9cf1-33da4f83fb67/73bb7ea0-23d2-4c09-acba-ffb7bdb51acd.png new file mode 100644 index 0000000000000000000000000000000000000000..2505bf78b210ffb11fa87bae6bbf6b5e9f0b090d GIT binary patch literal 1782 zcmZ{lc{JN;7sr3GrqNQh)Y4jOX=(`}tyo?Zks?G16>B8Oi`rtTHH;!^r=_KgHA26^w~CH1tr3%s6fLS{yy-u4&ipawp67ngdG7h#@43%;&bc%<4C)v}2?7AX zF|?zdyFjhKAF!Apw~=Ew0#OTgbaw%OWNiSTW&^-i!4-840ODZ)zzYNbWEB9MjIJ5P zS_lea1SgaoaQHob9HN&4fao7+I~$Lrh4t!1S6MHGXBi5&2mJR2nlk5Jn@ZutC9GO%g@=bn5G#BZLHd+O2^V}(^*x1h+`(;bHQSDYTScY`;>A zs&9a+P>pDk3Ix7dJ+?4j6_v%UkFH_It5a(j7^+DYe5Sr2ZPGcHfI7^^3F-NOh|*s( zKLLqRh21@0pzA4>@&Pfsvjef${CApZWhOhIT&ny?t+;=Bpn|vaZVt0(3bY(v-BDpU zykD_<4xzko_^4~*{*!&0?y%SZXYp;^|Hk~Ifc3bBilF`4{WB#3(iexXr3ZsVrv%|ek2A~i<0QxO`Ug}KWwCQ3>+*@~o8eOj?a( z>}!mI(kbHFvq1mxleXEu*fx8Wk;D%PES2Q-2~VoW3`^?hirT0~R6=czP}tJJ7KtU| zcsVoX^e-p7QN;1n;-QvAV!pXQ^Tvz#!q%&9FeZt;86IzRY&j3^eS zdkM59%35FjBBgWI(C`g>uO+O-TK#xU&C2xk8xAwPHM~AB5~2HaZ7k0}?grmsZLS~1 z;HPlhc53-4Pgnb`gn)*_4qjg*7*w!<0ou(2O%aa)#WWRFRf*1lPR9HygW1qGoRgpb zA`e^og#TBef*h#R96JB-ZR0`?clC&~$m?*H=kw9gF6Kw?QyYBI<>FHFK}7GiDVRC9 z|GkHE(pCR%eT(z#Mw*)VP|5>yXv_tuqN+q|`kux^-aDqS6djDQ^t^BB!t_{Qax;}UnY6$%AgkQ~O-&_muNKFnqlYv< zfWd!#%HH_Z;#I3c{}0{fP!}B|EBQQ$Z&~Xi!4JB++L#9r!J9ah;or$4%l{~;biYFK zS|i7jL-q+de0MJ+-o6;0p%+*cOI6{Z;RxfiCBQvj;usH8UGURLXBXtCW*vK8?Sf$( z25B^1yca4q`HVy;nm)r9UZ6@g@h19@IT`o&&8co<3QgSxE?&kRSGA^l%>Ef17eXjC z$!|Us@BiHl$Evu57pws-ioG|57(^iH2g&awWqXb1p|2q@Pi-{L70NNg7$FvR1`acJ3 BAbkJ; literal 0 HcmV?d00001 diff --git a/sprites/s_node_byte_file_read/s_node_byte_file_read.yy b/sprites/s_node_byte_file_read/s_node_byte_file_read.yy new file mode 100644 index 000000000..41a8054d3 --- /dev/null +++ b/sprites/s_node_byte_file_read/s_node_byte_file_read.yy @@ -0,0 +1,74 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "s_node_byte_file_read", + "bbox_bottom": 63, + "bbox_left": 0, + "bbox_right": 63, + "bbox_top": 1, + "bboxMode": 0, + "collisionKind": 1, + "collisionTolerance": 0, + "DynamicTexturePage": false, + "edgeFiltering": false, + "For3D": false, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"09941d0a-3bfe-4452-9cf1-33da4f83fb67",}, + ], + "gridX": 0, + "gridY": 0, + "height": 64, + "HTile": false, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"73bb7ea0-23d2-4c09-acba-ffb7bdb51acd","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + ], + "nineSlice": null, + "origin": 4, + "parent": { + "name": "IO", + "path": "folders/nodes/icons/IO.yy", + }, + "preMultiplyAlpha": false, + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "s_node_byte_file_read", + "autoRecord": true, + "backdropHeight": 768, + "backdropImageOpacity": 0.5, + "backdropImagePath": "", + "backdropWidth": 1366, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "events": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "eventStubScript": null, + "eventToFunction": {}, + "length": 1.0, + "lockOrigin": false, + "moments": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "showBackdrop": true, + "showBackdropImage": false, + "timeUnits": 1, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"09941d0a-3bfe-4452-9cf1-33da4f83fb67","path":"sprites/s_node_byte_file_read/s_node_byte_file_read.yy",},},},"Disabled":false,"id":"54194e15-a84f-4e21-8355-38c49e7b828f","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange": null, + "volume": 1.0, + "xorigin": 32, + "yorigin": 32, + }, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "type": 0, + "VTile": false, + "width": 64, +} \ No newline at end of file diff --git a/sprites/s_node_byte_file_write/0eaa8003-157f-4ef6-b4bc-ecbc3987be17.png b/sprites/s_node_byte_file_write/0eaa8003-157f-4ef6-b4bc-ecbc3987be17.png new file mode 100644 index 0000000000000000000000000000000000000000..28f249d7a9c770c3cd70db8d72508f213418d82d GIT binary patch literal 1728 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","resourceVersion":"1.0","Keyframes":[],}, + "eventStubScript": null, + "eventToFunction": {}, + "length": 1.0, + "lockOrigin": false, + "moments": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "showBackdrop": true, + "showBackdropImage": false, + "timeUnits": 1, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"0eaa8003-157f-4ef6-b4bc-ecbc3987be17","path":"sprites/s_node_byte_file_write/s_node_byte_file_write.yy",},},},"Disabled":false,"id":"b2a89c29-b081-43c5-b91a-06cbbb991e26","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange": null, + "volume": 1.0, + "xorigin": 32, + "yorigin": 32, + }, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "type": 0, + "VTile": false, + "width": 64, +} \ No newline at end of file diff --git a/sprites/s_node_csv_file_read/59746e35-8a9c-4624-8676-8eefedf4b76e.png b/sprites/s_node_csv_file_read/59746e35-8a9c-4624-8676-8eefedf4b76e.png deleted file mode 100644 index 5e44c9f8a2fa64a725fca8e726ed7a8e4eb9658c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1865 zcmV-P2e$Z$P)1 z-%lJx9G`~;vDk8GY)PR3T7s?G0!g8vh5|7Wq7RThnA8`fzF8B{Kfq%D01JseTIq{@ zGwp+>H8K3s5|9QcXj>!&BD6pwJ*pJsOz`{J?vS~;*}d7jy}dj9B*QH`GvA%>=lf%3 z=jM#9tu6L{hLP+6sPO5>pOn)_CzV={MD|f>zi{#Mv9ut-W96A83o`4{g@9W8si~`E zFYkRZEa1An?+8Z|ai>#PwrjnyGSQl8erld|yBHpLc8w&kfHu&=>J5^uBGBVV| zrZx<1@JSfA`Z~f;+-tX#_gZld$USe7TNjN4vS5(B0By&~wfBq+Pq6AYDwJ(e2lppD zfqe9JOF%c3mZ&OtgEA`|bV!&b5-^XC+RY47#;-*mok1AFb*GQY$3lYb%%Gd`od~F- z(&lpT$shqU1M<^(J~IG9#{bMI<2w=1?bK-T!2@<@V#1Bw2vk&6u|RIF7bJ98B((ha z!%ea3GV0up%bd!k*w|oKzPiL_rl;M?jX=-!8|?IZXIObV zuviIDDu3yVFWKV4LPTAx`1YGC=4ZSlSlJz(U@EPX?VSiHS5*x5^?9ni*CfQNxJW>m zs$z85e1%L1G)X`vze*)mC4<7s(~$sm@0AtheIH3E^k`;UwTMK5oYf}44``6!)ylKQ z%5@!bvNRI;*sRMq9S1e|_X*&!{F`JC-OV%d)O0ATZ< zb=x|_$8n@2jARdBM-UKv{Df_8hFFM7MrH=fq!P$|wq0e1<)uH(Pu?f{gc0U;Xr%>8+G@9vCwEd$ErAIM|HhYo}(Hbw32`hc_o z^f_2SZ=sJd zZeX}+i~;b$0EkIhc{_x819=cE>y*?~VK6_xWF|uqxEIzwkpu*#xaTpf16W3M=h2a0 zO+sHkR_aKi*pFLVv~oP|@0tJ^PV=%1#4{`|$21D=mmWE&Bm(_#pNG(6GJ;5e=>B2? z^@RYpfct_pBvKI|1qI$9=K%l;^FB}*?fA9aE~NdyTzZvZB5Pnn-G2?YWH ze9nifi|&vAb@P#D1cVf;IUQi2@CLX&lol=F^@EViyH0W-0__`3vM*O=_LY_{O2_xA9NLd0h>B|JC{q%GK zba5hJoJz!A)6%1L^9#nEfcnM;_NuyS+^`N3MG#P3TT6!{Clhi~%unRy=bO6NV9c-% z3PhX{#k1 zuyllZP>K_P!-QQ)JTdM!y7&P~L%7*){VvGw-wgPT%T%_1M`S46Vl2TwnMoE_bq`8* z3P(#5@uMlf5z|rGSt|TAB~ESQbfp(RoAVP|ho%1mOm$VDNl_0c00000NkvXXu0mjf D-5qZg diff --git a/sprites/s_node_csv_file_read/a65b6a5b-56f0-424f-b384-c99ee314f30e.png b/sprites/s_node_csv_file_read/a65b6a5b-56f0-424f-b384-c99ee314f30e.png new file mode 100644 index 0000000000000000000000000000000000000000..2614d5e7687142d73a0fc6acabc0ea23c949a389 GIT binary patch literal 2074 zcmZ{lc{J4B1IE85FJr5jtnWnjQ7OKbER#gW8e%NXkQuU+Wf)@`QE#TGhF+03q9L+m z8Br?h7>d+H$dawHWQ&opWDW21&+nYyAMd&6-sha>KA-cPbI-l!#ydG$ONb&w0RWJ& zwLxR}YW90Vh4^bpVE9+QDEZo88~`912>`S>0NCJLv}pji2m-*2Hvpj00YH|NS?g@V z-w--?${G#q{2n>=h5rD6u!Jqz-1XAn1mjDXl$%^jOmh2R#ba(zK65D1YoMp($~`RT z7H*ygON7^hulB*U)vqlI!?=o_X=rWrpH@HYYcOgj_uY_i;$jlg2CI`RJV0s{Gq_J7 zC0a+%|NLYdx9zIT#^(=hm)kR^qE57DWau$vWMy%j3q`8{+Ndj{T2cI#k%(pEx@d^q|6R~A*(q8Y4K8Am! zYv)_erY$WGh*6sdO$~5ljc>mH{JP7^n_XhV%#OG#UK@MGFia`itd3H}O>ZTk{~!&B z<|Ken`CZjl!mqC{58oMTFWi}2d?PZ)OCP)sW6GEAq5@g8atLdz5lp5Ij@WdJDvv1G z293Nl#QP;yaXxJib0Nbqk^6CMF;YcULs(K)eedDUn<;viX)mRf@bsvA2Ll@)!8U0= zICh;eHT3T@)KH6*=BBiXy5{!8!13}TB2hVkW^riUPSS8p)Q%!8J<2aJ=w+`jjG$@> zgDNj>XYK1wzzg+%9vY6!!w$C~K@46IE%qpqkN}NsEF^{fj-8%6#D;oER125{`s;6Q&i^9+48k3*3K_cD zF<+$@?jk9qV?BGne(SHz&v%#t1zlpCDYCKSmGI2wWeRRwp#AFQgjLi2Q&XRwxFbE( zjNqfNgznwNZ+Br$xKd3eZ{EBy7p%!{oiN%Sm}*0QDSyp%LJN{)MNDa5x7oRsR7kUP zPv0oF*d=po#nqB?#v+dVQAuSFNL|46hHm^kqX8roSjfvAvWU}Pb$?h1p?h|GaB~1| zshHUM2Rx3FQclY4kx-b~0GIh$I-vxgUyQwt`8M`h^FgZx4Uv!|@-eAm(90CkgB5hj z_3_4uGFsMeFWj@pV?|v8u8O=OF_!9+~=nx;@Hd zuW8IuSGYl)*-CZ{ktiBIwL*9taWzIS#kzzA@KXyzN6JnklO@KF3R(zwczQx_LQv26 zj!k=;=+LEl2fq7y)*^puvIbUnu9iLf97TDYHUq~oFutA46C_v~4*WJmwCz-2^W ztZ*V9(}H&mZh^W%2jvdnvme-xtQty+|BUT`J3dHZZ z*yC3=`{U<6YPtBNWXHH$8)@@?-E^2kX}^q&b5M!zYP4~ef;%=Tp3SFCTb+)KyWxhb zDE@>%wiMd?vA!Z*uI}T!i^AQ%o=Ybow#x)TN88ZQaasB!w;zhuRyT}8B9l&Tl3x#J z0k|b{Mf!a);oh>zI{M#8^xz}Iqg?~s>&1x-UZlENP5;y4FBrkZo{VlCpDdkdSIL~r z8A61BJ{*6CIWi=>T0V3r&_xQnx&h7?yt3_~d5zO=iaBv4_(VXbRUJ94 z;RcBXTa0F4`xc9Sw2<+WZQtcyIROm~87!1_umS&sFRIu(AbHUY-th`52mgW%EAR{s z7W2*PqpWJ7L8${9<7d(Uz_a$@x3=%;-zPa4xK<4l)fd7D&CA&vN`7%^Lhf^RA~7Um zG5+-lNus9azv$j3Tzb~MSgXLnydHiDzqEu_<~8XZOb-TNB#EplaI5umLTq&BBx|>(PWBqu_9Bi&&X3_13N)F{m3PuR6%zMC zg=UYhRKTG^-|u*A$4CJ&>X#m|T0kMbq^ z^99fab@h*cdPhKGR~=oHjxkEdKobN}AZVUDE%Sc>G0ZP8AnLyXaL1{H4;=Vk10|5? bA3^aUlKz`HKNEhD&j7ZTj_9(J-q-&Hd?m)M literal 0 HcmV?d00001 diff --git a/sprites/s_node_csv_file_read/layers/59746e35-8a9c-4624-8676-8eefedf4b76e/61553495-93d6-4951-ac0b-4f9302aada09.png b/sprites/s_node_csv_file_read/layers/59746e35-8a9c-4624-8676-8eefedf4b76e/61553495-93d6-4951-ac0b-4f9302aada09.png deleted file mode 100644 index 5e44c9f8a2fa64a725fca8e726ed7a8e4eb9658c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1865 zcmV-P2e$Z$P)1 z-%lJx9G`~;vDk8GY)PR3T7s?G0!g8vh5|7Wq7RThnA8`fzF8B{Kfq%D01JseTIq{@ zGwp+>H8K3s5|9QcXj>!&BD6pwJ*pJsOz`{J?vS~;*}d7jy}dj9B*QH`GvA%>=lf%3 z=jM#9tu6L{hLP+6sPO5>pOn)_CzV={MD|f>zi{#Mv9ut-W96A83o`4{g@9W8si~`E zFYkRZEa1An?+8Z|ai>#PwrjnyGSQl8erld|yBHpLc8w&kfHu&=>J5^uBGBVV| zrZx<1@JSfA`Z~f;+-tX#_gZld$USe7TNjN4vS5(B0By&~wfBq+Pq6AYDwJ(e2lppD zfqe9JOF%c3mZ&OtgEA`|bV!&b5-^XC+RY47#;-*mok1AFb*GQY$3lYb%%Gd`od~F- z(&lpT$shqU1M<^(J~IG9#{bMI<2w=1?bK-T!2@<@V#1Bw2vk&6u|RIF7bJ98B((ha z!%ea3GV0up%bd!k*w|oKzPiL_rl;M?jX=-!8|?IZXIObV zuviIDDu3yVFWKV4LPTAx`1YGC=4ZSlSlJz(U@EPX?VSiHS5*x5^?9ni*CfQNxJW>m zs$z85e1%L1G)X`vze*)mC4<7s(~$sm@0AtheIH3E^k`;UwTMK5oYf}44``6!)ylKQ z%5@!bvNRI;*sRMq9S1e|_X*&!{F`JC-OV%d)O0ATZ< zb=x|_$8n@2jARdBM-UKv{Df_8hFFM7MrH=fq!P$|wq0e1<)uH(Pu?f{gc0U;Xr%>8+G@9vCwEd$ErAIM|HhYo}(Hbw32`hc_o z^f_2SZ=sJd zZeX}+i~;b$0EkIhc{_x819=cE>y*?~VK6_xWF|uqxEIzwkpu*#xaTpf16W3M=h2a0 zO+sHkR_aKi*pFLVv~oP|@0tJ^PV=%1#4{`|$21D=mmWE&Bm(_#pNG(6GJ;5e=>B2? z^@RYpfct_pBvKI|1qI$9=K%l;^FB}*?fA9aE~NdyTzZvZB5Pnn-G2?YWH ze9nifi|&vAb@P#D1cVf;IUQi2@CLX&lol=F^@EViyH0W-0__`3vM*O=_LY_{O2_xA9NLd0h>B|JC{q%GK zba5hJoJz!A)6%1L^9#nEfcnM;_NuyS+^`N3MG#P3TT6!{Clhi~%unRy=bO6NV9c-% z3PhX{#k1 zuyllZP>K_P!-QQ)JTdM!y7&P~L%7*){VvGw-wgPT%T%_1M`S46Vl2TwnMoE_bq`8* z3P(#5@uMlf5z|rGSt|TAB~ESQbfp(RoAVP|ho%1mOm$VDNl_0c00000NkvXXu0mjf D-5qZg diff --git a/sprites/s_node_csv_file_read/layers/a65b6a5b-56f0-424f-b384-c99ee314f30e/bf597068-214e-4b87-aa51-281d01051226.png b/sprites/s_node_csv_file_read/layers/a65b6a5b-56f0-424f-b384-c99ee314f30e/bf597068-214e-4b87-aa51-281d01051226.png new file mode 100644 index 0000000000000000000000000000000000000000..2614d5e7687142d73a0fc6acabc0ea23c949a389 GIT binary patch literal 2074 zcmZ{lc{J4B1IE85FJr5jtnWnjQ7OKbER#gW8e%NXkQuU+Wf)@`QE#TGhF+03q9L+m z8Br?h7>d+H$dawHWQ&opWDW21&+nYyAMd&6-sha>KA-cPbI-l!#ydG$ONb&w0RWJ& zwLxR}YW90Vh4^bpVE9+QDEZo88~`912>`S>0NCJLv}pji2m-*2Hvpj00YH|NS?g@V z-w--?${G#q{2n>=h5rD6u!Jqz-1XAn1mjDXl$%^jOmh2R#ba(zK65D1YoMp($~`RT z7H*ygON7^hulB*U)vqlI!?=o_X=rWrpH@HYYcOgj_uY_i;$jlg2CI`RJV0s{Gq_J7 zC0a+%|NLYdx9zIT#^(=hm)kR^qE57DWau$vWMy%j3q`8{+Ndj{T2cI#k%(pEx@d^q|6R~A*(q8Y4K8Am! zYv)_erY$WGh*6sdO$~5ljc>mH{JP7^n_XhV%#OG#UK@MGFia`itd3H}O>ZTk{~!&B z<|Ken`CZjl!mqC{58oMTFWi}2d?PZ)OCP)sW6GEAq5@g8atLdz5lp5Ij@WdJDvv1G z293Nl#QP;yaXxJib0Nbqk^6CMF;YcULs(K)eedDUn<;viX)mRf@bsvA2Ll@)!8U0= zICh;eHT3T@)KH6*=BBiXy5{!8!13}TB2hVkW^riUPSS8p)Q%!8J<2aJ=w+`jjG$@> zgDNj>XYK1wzzg+%9vY6!!w$C~K@46IE%qpqkN}NsEF^{fj-8%6#D;oER125{`s;6Q&i^9+48k3*3K_cD zF<+$@?jk9qV?BGne(SHz&v%#t1zlpCDYCKSmGI2wWeRRwp#AFQgjLi2Q&XRwxFbE( zjNqfNgznwNZ+Br$xKd3eZ{EBy7p%!{oiN%Sm}*0QDSyp%LJN{)MNDa5x7oRsR7kUP zPv0oF*d=po#nqB?#v+dVQAuSFNL|46hHm^kqX8roSjfvAvWU}Pb$?h1p?h|GaB~1| zshHUM2Rx3FQclY4kx-b~0GIh$I-vxgUyQwt`8M`h^FgZx4Uv!|@-eAm(90CkgB5hj z_3_4uGFsMeFWj@pV?|v8u8O=OF_!9+~=nx;@Hd zuW8IuSGYl)*-CZ{ktiBIwL*9taWzIS#kzzA@KXyzN6JnklO@KF3R(zwczQx_LQv26 zj!k=;=+LEl2fq7y)*^puvIbUnu9iLf97TDYHUq~oFutA46C_v~4*WJmwCz-2^W ztZ*V9(}H&mZh^W%2jvdnvme-xtQty+|BUT`J3dHZZ z*yC3=`{U<6YPtBNWXHH$8)@@?-E^2kX}^q&b5M!zYP4~ef;%=Tp3SFCTb+)KyWxhb zDE@>%wiMd?vA!Z*uI}T!i^AQ%o=Ybow#x)TN88ZQaasB!w;zhuRyT}8B9l&Tl3x#J z0k|b{Mf!a);oh>zI{M#8^xz}Iqg?~s>&1x-UZlENP5;y4FBrkZo{VlCpDdkdSIL~r z8A61BJ{*6CIWi=>T0V3r&_xQnx&h7?yt3_~d5zO=iaBv4_(VXbRUJ94 z;RcBXTa0F4`xc9Sw2<+WZQtcyIROm~87!1_umS&sFRIu(AbHUY-th`52mgW%EAR{s z7W2*PqpWJ7L8${9<7d(Uz_a$@x3=%;-zPa4xK<4l)fd7D&CA&vN`7%^Lhf^RA~7Um zG5+-lNus9azv$j3Tzb~MSgXLnydHiDzqEu_<~8XZOb-TNB#EplaI5umLTq&BBx|>(PWBqu_9Bi&&X3_13N)F{m3PuR6%zMC zg=UYhRKTG^-|u*A$4CJ&>X#m|T0kMbq^ z^99fab@h*cdPhKGR~=oHjxkEdKobN}AZVUDE%Sc>G0ZP8AnLyXaL1{H4;=Vk10|5? bA3^aUlKz`HKNEhD&j7ZTj_9(J-q-&Hd?m)M literal 0 HcmV?d00001 diff --git a/sprites/s_node_csv_file_read/s_node_csv_file_read.yy b/sprites/s_node_csv_file_read/s_node_csv_file_read.yy index 637135f9f..628755982 100644 --- a/sprites/s_node_csv_file_read/s_node_csv_file_read.yy +++ b/sprites/s_node_csv_file_read/s_node_csv_file_read.yy @@ -13,14 +13,14 @@ "edgeFiltering": false, "For3D": false, "frames": [ - {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"59746e35-8a9c-4624-8676-8eefedf4b76e",}, + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"a65b6a5b-56f0-424f-b384-c99ee314f30e",}, ], "gridX": 0, "gridY": 0, "height": 64, "HTile": false, "layers": [ - {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"61553495-93d6-4951-ac0b-4f9302aada09","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"bf597068-214e-4b87-aa51-281d01051226","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, ], "nineSlice": null, "origin": 4, @@ -54,7 +54,7 @@ "timeUnits": 1, "tracks": [ {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"59746e35-8a9c-4624-8676-8eefedf4b76e","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},},},"Disabled":false,"id":"612ebeec-3719-4f68-a476-9379c28747cd","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"a65b6a5b-56f0-424f-b384-c99ee314f30e","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},},},"Disabled":false,"id":"863871fd-11cc-450a-ad68-cbc9d96512d8","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null, diff --git a/sprites/s_node_csv_file_write/5056ed3c-88f5-426c-93a0-241530cdd87a.png b/sprites/s_node_csv_file_write/5056ed3c-88f5-426c-93a0-241530cdd87a.png new file mode 100644 index 0000000000000000000000000000000000000000..215ca2b3585ed9636f5a8211b86203eb13eb0169 GIT binary patch literal 2025 zcmZ{ldo&Y#7{`BO6V^hFjV>;^U)J1)8AgaSL|&2@xunQ2iEf(~a&LQGDyiOAE%(by zG14TOSSac(WaO3*U0iB-*FWz$?;r2^o!{^KJKyJg&hwn}obxKke_crl(OViG{az$0$DBM!03>PxKw|*#LuApW0f@r_Fhd3aUjP7#Qph<-5CtTH zT=v<6jbG>XBQ{H93_07|9y;@G;>b_eZHITPr$w^xr=le6;dV!phTC1@Lrl?#r--++ z7n|wx+aw7fIsss!Xi>!4!+&*@rzvGZ?HU`7Y_IEopiiD9-6P>cn=W=2&ilPM5SF;9 zrC7@9t7X`WkqhDln|cSPd&}k2fFpo9UGf1oD>>07iFu}uN?chvx}*T9w54onB9#_@ zCJotoc3&z1TDc6Y#W)bgfc~)S zpQ!D2lg*x2Q5bX}aCXamYVLu%g<00ibWQ$pg&1k}ApN9xzWf{I_4SMy#`a5VOdO_X z^x^6=jYhNr_hapcpX=7 z-&`!NI>Pm3_T-vRgf~iguPHaEUhppNqVtz_=hWtlbDRJcf$n3XB<1_97pk3`3{6%O zJh|(S%^R+!JI&K+CLtj~Gsa)<1ry43(N z9vm)r$4m$j*C96b4U!9db1gDYkSL=bRY{w>CXuTKTE}X9)peZGB_EAOIe}GX@VKLM z8oD@U1U<{1tbT3vbSand*bovtDs{U!znvuw`{*_l$#zw^OquznsmjOV9F%v9NZS6I z8U+t|dJe~wK&&v1$=(XlEm@C4(NY(J0-a--D9m@=JePWH3g>Q5v}4;y4)`(#B`#ke zx=yw~VV24U=j%uql;6ZO{Q;D|w-`c}{z}7DjNSE4&An@;5gA?-*ElP^ss9l0J$`dJ zq2!>-a!^%|%doxTwYs57=3Et;V`is+qwW2?R%fQcZ}3wH8Bv35jjqwXeEz&bS~-6} z&915kp2t_sbwbUB|AhN;+Jl-_Dj&PWL>Z3t-DJ95ke32L&n1d-@(eLL)-9}QW?RvY zak?YlT7w|jY5S5`5nwSYgZ6{@;8LdGE+IM<@xnKI#7p1QJLPR#PlkarGHZ(h3%l0p zQdv6$O&5~)!bINT1$Lm=SV!^z4WHu% z51zW*qrm6sqjj@7&4(gQEtS|TA)00(+32fRM^xAftze&wJ>{Xb8UVWcuM@bBWzaAz zsmW(9Hc5ilL(0g^w)?R8Pg}yx!Xge^lV~9ErNk`dCCxK z_)^!8a_M6SZ3m^Xc<-?AKr%@US^<=#eY z(PZgJTbFtT>YA)>AY3ytf3{k-z8^R*;a%z9Ul-u-r{!fMPNu{p>fR0+Szxz%$Vv`L z(0H$LxVhi$jJ+ctZ=kAx;mA#bdFye@rX<2Z)Rc4i8QEe*nATUMd2#|II)Rj|_>W Y21Zi;p9!0ZjuSD!*}>Jm(vF<;58cv+lK=n! literal 0 HcmV?d00001 diff --git a/sprites/s_node_csv_file_write/8f1efea1-d911-4244-8e8f-f84b5f07e265.png b/sprites/s_node_csv_file_write/8f1efea1-d911-4244-8e8f-f84b5f07e265.png deleted file mode 100644 index 21580a7b44e44b7d90ece1add2f1149207009010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1784 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 Y21Zi;p9!0ZjuSD!*}>Jm(vF<;58cv+lK=n! literal 0 HcmV?d00001 diff --git a/sprites/s_node_csv_file_write/layers/8f1efea1-d911-4244-8e8f-f84b5f07e265/4242e5f2-a92f-441f-a61f-332c1fccc063.png b/sprites/s_node_csv_file_write/layers/8f1efea1-d911-4244-8e8f-f84b5f07e265/4242e5f2-a92f-441f-a61f-332c1fccc063.png deleted file mode 100644 index 21580a7b44e44b7d90ece1add2f1149207009010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1784 zcmV1 z|4vj#6duAXt)lEo1Ga!JP=Z=&q0vH0N}(~W{gD{n0Q&?=AD|&VK*1-deS-2&O&k9x zYEy%;;fFO^q6o5J#T0fCFp;M8eAgK=JI-A0UGBXL%a@G1-a9k*obP<+%=ORi%o55D2N$}ua; zt88WE`NsXy(mkwn-`eY#5)dQ9>*{ORk)w6admV6QcII#P@WD)$ zV~y0`HU^}nFlI8v66JB$_F?nJy^&jYoa;8UwYNBdkk9_*r)%L65F_I|I!|sq&=wIm z3x}8>;3FC%BX0uc!`u`19y;W$op@)1D2%fafM=<;V60bg&pj2GoL40$okT=sDnKo& z^N=%S4Iq8wd{B%;D)qz}2UH(=ld&6PMtgKp9n!-hppl}gIu8eje;>_~Iid!`)oYNn zitATzWz`8p5l*Vn1F4b#K)-Jy0MFd4{%nbWBSe52McsLM9Wqt{2PITxNMH_qj42It z0&ve!hcd;1Mh0RW6gq#BRaXQ=^r_q|5v zRVN{(5FpolNL`gb{_nLO1x7&3u$%J&7z#B&_HbH_Bvu)n0O_1e12~RrY60|H{Bj~7 ztrZwOAN>MO4b$ePjowQVKq?&6_ws5Q)KFjCR|7B`1p$lV1BrYvB>Wde%S$oD7+XIS zK|P;!sA+%{2txk834jCYx(uhVEjDe2;1DD$<^1`V9nM%pPLGye3-HNMhn@!NhAdb4 z=Trkw#E^SZ1&GG!uReB+gW>AF9?nVv&|g-2MxXMe#F0j-l;yH#f|>?F$Ui3npaSgU z5qZ@J=kvI--Q5hPPlcFU-|5-XAPD*Ayb9oMrZ~3@52dwIn5_{z75DXc)ktT zwgen&dOJ!xLPbro-gYbFLO??}*5m;VO&{29jTU?g;IG3jeLh3>qk zlcI&>yyvsR8PhQtRN}CX#(8wUm)a#gVnKromT;gr3s^(LAi$&ZUkm3$2N&{qg#fI> z*hK|-RL+m{-}ZiU-t7#dPYhk?|IS(VYy|Y1ZsLF;&e#QUQWP7U>bj#|ogWDJxPB+i znIIBCY8JRC4i{|?gc2gymFco~Y)RHuvBS01TblII)GV8xnv-)H2>|+p-12o`TF-eL z1!;~a%2-9^*2vGKpV7Y#0mkDcT)d_Q0r~j7fT`di1->62y~p;__l;H6l{rm3H#^TT zhcc&?047$0u84mzVyyO*tEdC8rRR^Ew^`{Ytt_6{?>q7sEARv6+>8K8LQ4d{8On%! zv@UgI@L3|EWo_-><{Q6_uv4eoSuCcTYX*&B7=u^B80NC|<%Vl%Vcb9nzZx483cF<6 znQ7=MDk>UZU44G&+OId+sn6OyJp_Ge45P6#>+9=K67xfV#FQYxm^)E`B9|r=oT0Z@ zNz!GI^oiEvu4B;WW#MB>gI4i-F~-Z>JXll1135H+qG(zf3>DvV+VbE{4G*T30q|P! zcRT?CsOm#h<(pCM0aSdk!njuaf*|0+%as999wg}}m9M(a;$FcM0Fa}o?zMslXXl95 aT<|~ZNnr`g_pmkq0000","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"8f1efea1-d911-4244-8e8f-f84b5f07e265","path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},},},"Disabled":false,"id":"6bf115b8-4fbf-42fb-8172-f1947b067122","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"5056ed3c-88f5-426c-93a0-241530cdd87a","path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},},},"Disabled":false,"id":"ba118426-351d-43b7-a821-2a5ebbf286db","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null, diff --git a/sprites/s_node_json_file_read/1e63bb4b-0c46-47b5-b9f2-7fcac7a18e48.png b/sprites/s_node_json_file_read/1e63bb4b-0c46-47b5-b9f2-7fcac7a18e48.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7c591a563b4554744ee3f34f43fdcd2a26c178 GIT binary patch literal 1968 zcmZ`)c{JNw9{!ZPq)9A7^&K>!oG-}*|rU#Ja4|@=ND{N*F3F1<`5U+qdErf zTx=3ca8Bf(_~ff?52u4;3dvhY$;#9Tv@^U=lp=_ zY1dE+T=Hh!hsyU~VJUCRjXd>dw_0l^jHV?(mcNF#pLT6F7VMu^?gS=nHnt!aa3kRv zpPskc&syK9&*lH~w-Qa( zKIfeW1>s%YcGQW^FYja*og)uL$-c_YkB&dIQdR?!6cO-Q2Q_8tu|Z@}>{yMCr_K|p z8nX-7?I$ZDI4#ig42n{R&U+#&slQ3C_yr*yGOPBO4IbOebsw5aEs^KQ`O0#SaqJew zbxv48xU@r=8q-xI_Mi^{%QNwUM*jAa$BtKK#j=?grJ-_WkA7=xDU`GTxp}qs`3Hl7 zvGxQZCwoDKf?vWN?#y3c+F8M^@3v8BG#ZdMO-5??S;ld)MX!7U2_l5tsZq^l0K6QX zh&+W2!w3BSmer}AnDuyn@!2eBPp!)x8`k#B?)Bc~(o5wKlZ-UD_K1DD_GfQSrd;S$ zvMlV40_OOD_m-*YC<4aRHI78Pjc0LBmYLrSRkU(7&zYJf1K+ zio~Y(xJX5j)?pILDfv9f(J_M~-ae`+Hw=bHYdx>FfblMT?g9YKA}B{9l;!v`v>dWh zzBNoIz0iARH9@xDQ)*MWF7cT>)y0J+T6PjXs|2D8XCY4p*$9Agu?p# z`Audjc?g)9KK}LH`NmLg+@p?f|R?3(a`U<8Xkq^gsZ7RlCp7HaH3J(mjZ=1Bd^Pr$#W!88}_a33&Aeb+4JR_oN zsAbhDI61JiU*{97!BmJ}RQ`J#tGk|4 zZtS-s9Vj6=#mmZ$^X^(8u1O8(CES}IYj>tYnDhft^^+=r-@7=^hITh{cOx_ zdFnWQ@34RL;iwUTO4tNkzX5UZ!M*+`YlX#iihKTx-iSlYak|bMkSEZj7 z9b&59svr%7g~g)t=OcglOI^Jqj*4wo6szV`DzGc{n|l1EJ@U%Z8~7h34;x$NkN&{p zfiaGkb>9t$9px)ag#+gcwuU!G^*H0`smTfSkxU$8`NowVo#4wT-_Gu?pEh+eSzpt; z+7M_zKVHYH*Y7+EU8@rZ-GCNU^Rs6$4I1MYZ!IH3j|&5YQ-UC$V#)~LQyVrmzUCIZ zxqX25TWLirpk$!weK@zf#PBBZVggS+3Hv0ReIJ&$`#yOP_0|zSWpq>DIjy&^I-cDE zHo1<>T<=q?bdR4%Jz$|;&#kRZokx*pqpa?X8d5E*NclB3fnS-4Z2`X5RrBh@3jtcM zsO4JRqyA~QnsZ0Lx_B?zTjlvNY~!x63GTz54*J{~qn%Ph-+oIN!{}3M;(JW-Lab-9 z`)9sDsqAxO(=~Mid*~MZ9NM3fgNQy{=f(hWL&ojqF)CA zFu|CdJB=|tjlp^vn^+lRt&Gi2VlY-1jD79Wq5l&^LigU3ef*^VBCnf a9?b}hi28F)$O1 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 a9?b}hi28F)$O1 z-%ngc6rP6xvDmWINJ*gqT7s?G0!g8vwk~KC-XJ`f)EA__SrgDdz+(RZ3yD5j>5F|c z?SqNcC_kza5d{j3wW2`Ewm>6YsuTnhJl}O@Gri2cdw2K#*u^gy_Ht+D%sJmVb7uD5 zS-!cs$^OsaK`WrcyKlc!MIYT%!Y+v%pwfBn{QF}WL4eD~Ga(By>obLbF#epZuVGIW z>`qD0y~QPVt^bFZ%uFHR3YF%mUuRP$05TMr8ACu9mFByVMRtAkCOcAnFexGE3mJ;c z%pl+#B`ZpV?R5DuJeZfila-VfB_v~ZCZc-39Wpb90Du(k6{|tVkHeEJ6xzk|LOW3v z7t7H<8TttHK$cZo?m!+gClm=e8r>f7LO+$Llg6ZYCy`J}m(7EH!|bJ3jt_e;f`X`zzmMA-zeES98hheW(irGI1NpURQGmAN6xzE+h9_9v^VQn6s6+S@9zZ_& zCQ3jrmA1GhxPwYD9h{IbLnL4wAGKN;Oc_6nK2DV2%5}Go#wSC9<;vhR~lt^Tb3Va<`zmww8tR^W7k!OOVj^)feBX zRToj0s9u~35=@D%a&2vmUHa$(o1U6VRPGk^eSVd-zIKXL)zqX+f=JYu<8q0Us|rh& z0Il&CKKPK$Mg3 z!^T%gPvDRQWb(^Yk~K1_>^yA=(Dz^xK5ePZVcB2T?>+A5;3%Cw{< z0d4^#VmEvGtut06v}|hv0PJS5t8Hj()Kynm643gpwnIiD`!UPsh?Uzu0)X|uS1s$f zk9wpfc+d(24IZ=tL4yaaK*kX;{ren?+@3eCpF2`P&-wm)FbUkcInAbjyUkYU?F^8W zoyCfa_ppLJPqLzYg<3g_3xCA!<ffON>xO&8w@$W|1X6H2RwNx(38 z7qDsrgJc-rClYi7AoqMfG;YWO3HU!y0zwq_@V4~a)z1bELu7bMpiUxRnct7d+MTCu zuL7hL&@{q$m)_c?;uZxI;O>DG8X{P5_T1%H&w;5*Y{qYIvd`G^O#_8-M^cOx47xBD#d9*v_H> zQGh6uL{}eu*0#MX1gt2E=RUE+_=Ez802MG8o%Ax#YnBb3b)|pymS|&=*q- z#$ybS?g;@A3NI*+tPI8F;L<}f4B>esH+UL-(B3da@jSv7ih_h|10#k3Qnr*6+Z9sV zcmUCI_nGJ>$T0y(Ze~Dn71G-}sBLjAR|^!KY><2Gxb~H$7IIniEeBMXGCMqsVqUi3 zMJT7PtFY&G38~EYKLPL!uiJkmOXh7vO=7oF?EwD-bkz&No=Jc$ zb_9&;&Iv8tTQy!VZU;0pHL_>)RpVS7B-%niT{ujKBPTsMDdr~%i;4_eEHK8!L4hr2 zgz+{NZ&lqoC>aFeydDQGO9Ezfr$y1R{mh%L9F_GO4h~4bW`h7G4h{8LwS=HJ!ZH!Y zK`BW94iokScw*dd^vDC0T)EjPei!8TZwCCvMJlo15phjejCuT%nV_)j^q^$7ajqYP?4u8acUcnXWaPNoS$%XSo&Y)Hx@Xt(z&((0000","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"544e3062-0349-46ed-91f5-9f4543ed3b38","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},},},"Disabled":false,"id":"aabb6e05-7987-4575-ad78-451464117b91","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"1e63bb4b-0c46-47b5-b9f2-7fcac7a18e48","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},},},"Disabled":false,"id":"5475ae36-4538-44ca-b639-7e37cc09fd0a","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null, diff --git a/sprites/s_node_json_file_write/22e621aa-1f12-4860-8436-205e6e945b46.png b/sprites/s_node_json_file_write/22e621aa-1f12-4860-8436-205e6e945b46.png new file mode 100644 index 0000000000000000000000000000000000000000..b315d8b28d687dc2deac19db74be68e09853b120 GIT binary patch literal 1916 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","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"920af631-b5b3-482c-9f81-7131062b0597","path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},},},"Disabled":false,"id":"7ae3ac33-aa8c-4448-a4d4-bd461e230713","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"22e621aa-1f12-4860-8436-205e6e945b46","path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},},},"Disabled":false,"id":"5b5bfc21-5153-4570-8cb4-f9018bcef794","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null, diff --git a/sprites/s_node_text_file_read/32854c1a-8616-4ac3-9960-1b941a4738a2.png b/sprites/s_node_text_file_read/32854c1a-8616-4ac3-9960-1b941a4738a2.png deleted file mode 100644 index 65b42602950f0aa84f1bdb5926a7ac7ddb488c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1555 zcmV+u2JHEXP)1 z-A^1<6u%D_#A0F5NJ+u4D5>?M1!}?I*Mdgj4blgb`hwIqYXbTQSnMBQA<;)GeX(z* zeNz(yTR(_MyHHRoqCnbhfkwJiDF`Nbev^AQ!|a{e+1=T@JL@mG>@aihx%d3;x#!%O zIm35$cG&+JJl6wI;r(~tYown+Dj|}9pV>Xc+GE=0|<-wT<(ApoEO4~uBfcX@n<1p;NPJg^s+ zl433P7egC?A;_|;%U#HW=fpq)u6lO{W?_^{%uQt)ct4R4q{FUDBjfCq*Pdg0O7C}U zb8mfvp{~G1$Z)F9ZO#Y9n(3xe?q;wlU`>RiL6=0lNo90<``?DK?;`A__7+xDq#ica zVW@*&!jx$12(CESFO>IMaS6yhCCF_{Mgq-XjI024r^vL+CdQ{(>+?;@y0`}OC)|a6 zv`v+OVJbaIRqzH4VmY`WVSz|M9FN#V28+iJp^ckCaMSUiM&;8X!8S6u_4rN%v{C6x zaqzhy0g(az>6DBNfXU;3;NrE!A;xDsV8hs*9VOo9z52XW9JRT&i*tF!IHh?ARN}Sz~i^#v}+wjWsSqoQx_g zT>_NKpZ(}#wiJyfTuT?9e|FyZ&6EV;-C+ra(r&!H69J8?3uEE1r^RPzkXeCC65z=%P)S$Gm}%$fNPxQa>Z}uOPI#ib%Z3#H`y0U>UQGB26bHs*%w*X-4pAFk< zT;n+M5fX6?cUOC(?=<=? zP4fOAWdfqtm)OkJ*^~zI^x*^a7_5wa8=i=ttK9bxdm(gGS^vuApN)PbUVgQett|hU zR=)=h*5$_%s3e6knAvOd#{W)EowX2>yFM&2759fXF10E-3pd6MFfEfib=A{ss z_$hu2^F|yTmf6O}S=mgiRCx<_k_WnfiaMho5G+ItkrS_#m(?sG~&jCOjejSbG#)a)z#C2++O z?`8OdBg9Vd*;eIyn!+Gpmckt@K%(jBQ@bnzz9C9hP>^A8oo3n^@8Jt@b2R_^^|&R# z3aq=tf*>G5rmu?kIEE$28z$XLf$K7Tv)8xAd(1d2LhcfEE(MYDc}g1y9)9SP&!0iOMz$7*v(y-p@2&zRCj*q_N#?}LIBV80P>cA zVtSe2^gP{9fG$o1Oi@W#q|3KAj2DcBfcDM~X7iL`ii<>|1Oi$^Axe&%$x5b}PE=J_ z8@kwFl8Z!vgdAbKO~qSPuM#D5fh4cTfeVs=MOC&a8up%i+mlpT-Efg00i6v3m`EBL zv8xF|Nrd?kMxvA?0Lg?yIm{T>jUkyp$xSEw#dkrvzZuYtb5!Er5pjiCOlJ9$nOtGb zZKC9$DYY~kA5G~-TB))NRAe?KvbK?3>BVPrI^il=`acZEddqYWQknn&002ovPDHLk FV1nVo>ofoW diff --git a/sprites/s_node_text_file_read/837626c2-2be3-41ab-8cc0-8c24fe9652ed.png b/sprites/s_node_text_file_read/837626c2-2be3-41ab-8cc0-8c24fe9652ed.png new file mode 100644 index 0000000000000000000000000000000000000000..0272bb41536ae8cfe207036719d773477777d982 GIT binary patch literal 1783 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 FV1nVo>ofoW diff --git a/sprites/s_node_text_file_read/layers/837626c2-2be3-41ab-8cc0-8c24fe9652ed/d72129fa-11d5-4404-8aea-afa16481c655.png b/sprites/s_node_text_file_read/layers/837626c2-2be3-41ab-8cc0-8c24fe9652ed/d72129fa-11d5-4404-8aea-afa16481c655.png new file mode 100644 index 0000000000000000000000000000000000000000..0272bb41536ae8cfe207036719d773477777d982 GIT binary patch literal 1783 zcmZ{lc{JN;7sr1gG|{HgS|Uc3P)jY1gqo;UXsqdyQBrNyQafd+j4fz*?Q~Qyq?YPL ztwYPJN{FSU2ukgdY0?)}wKQ6aL7DWQIp_Uj&U5bbJ@-E6bM8I&-gBN*(j{w{l%f;> z05Dq{g1t!b-wh%ux~u#`_##p9u(7`g08ttMKuZ9CZBdA}006(B0btP$08H`$01;fs z`pH!EAbE>uO#t@4pAvR?HULO0+7iqiBBoag1edd~D)g8sa5@wd7^*V&WD5?<{Z;n} z%5yd%mT?CQ5yU?Shj03$Ru916OPAy?yg$TWDC(^4`wiAh@sw&*VR7;k-Q>_VosO(F zjkn!Ae?gns_QoX7euKS)8^WCx2qTL>6mG^0X+sh%{_v6YrUG^gw}rmoD1iEar6e}Z zQhHlEl?LN#RL4{3ntxu+w70wzg-_V+Jiin9Wae#-NmScvyg*Xe_7N-Jya+M|%Jv@E zHZv>E1^saX^crNkrjPza(R|z2G&+bC#+MEmsp5aURs;@_^eJOQHw~~W_lmz|+d=okAMX;``^S|=ywT}tFX#ocy!Dg!ZTlCX6R$gD=B0* z65Pf3kRa>}_kZH~7dS8F6DCETRc~e@&)=d?eEP-Q=tWa`j}*S#)r8j@zb-zF`MBdK z*AP8Y>T4X$L)u2^;LqnVsU|LhI$Q}NSOKqG0y0qI%pj9er_5u#Qu?;S&dzyAEP&du zw1|3C6X_aq-8)(jbQt6V(|DKxVRuAEv|zeCch{~XU7=Y@XxOp?_5pP}$4n@=oa!|i zC!Uj=7r;=b%S2^SmvZ&3!vlVwJxLf?Pn#2u114jeGJO0`p7;WY8}H!uR-lTT!mHTS zh9VzW+(wjIWxP7GRFqfZYWS~pd8K1bR{k4uNICt`S;3$RxstUEI zQ95ruyEC(MMHYdmW<(cZRqsP1%F3FeKhw!h$NB?6zM= z#r-WWufCyyjy8C(b< zRXHbjDUPpR{2A`+&rh%HRo5<1cu0Uq)z>>kZ@p2z#-pgsiscWUh$aPOLM z1jRj_3gbj}vAfB>Xy1r#*MdsG&)O1uDKCd(Xf+ck z#x?xuoj0`)!^OJPd@H%d6x}CC5T~E$iwcdoQDfO?C}kc;WlFCR0l`Sx z?dJ$CO2;c!)M`GrdH2Y>;`pV>aUQ>^ePkr!=k-Va_0CtsF0jsq9H$J-AMGZQILH7y zp#84n{B{{CdnQ9?<>+jU;z!zI@{!44@59!f2k+@|PT5R+JJY!@L8>0!%6~dv()}3z z8Bbp>9Nt|U&p1ZMC?;nryJy}RpOWlis$m+YRvgHVUesl6W_?wfe9PiDok__qaRNrP zZlQ|","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"32854c1a-8616-4ac3-9960-1b941a4738a2","path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},},},"Disabled":false,"id":"feadbbd3-66bb-4fec-b403-ca0b7493a56d","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"837626c2-2be3-41ab-8cc0-8c24fe9652ed","path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},},},"Disabled":false,"id":"13100a38-a579-4a98-9570-e8845c611dbd","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null, diff --git a/sprites/s_node_text_file_write/89b07064-c4f6-496b-a3f8-b99cace28835.png b/sprites/s_node_text_file_write/89b07064-c4f6-496b-a3f8-b99cace28835.png deleted file mode 100644 index 26812633e68c261cc1bc91d10d35250650201946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1476 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 JHKrc%{{xor4q*TQ literal 0 HcmV?d00001 diff --git a/sprites/s_node_text_file_write/layers/89b07064-c4f6-496b-a3f8-b99cace28835/474efa0a-2e27-4818-aa98-a75708f4fa19.png b/sprites/s_node_text_file_write/layers/89b07064-c4f6-496b-a3f8-b99cace28835/474efa0a-2e27-4818-aa98-a75708f4fa19.png deleted file mode 100644 index 26812633e68c261cc1bc91d10d35250650201946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1476 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 JHKrc%{{xor4q*TQ literal 0 HcmV?d00001 diff --git a/sprites/s_node_text_file_write/s_node_text_file_write.yy b/sprites/s_node_text_file_write/s_node_text_file_write.yy index 73559ab1c..dac91e958 100644 --- a/sprites/s_node_text_file_write/s_node_text_file_write.yy +++ b/sprites/s_node_text_file_write/s_node_text_file_write.yy @@ -13,14 +13,14 @@ "edgeFiltering": false, "For3D": false, "frames": [ - {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"89b07064-c4f6-496b-a3f8-b99cace28835",}, + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"d01d0d5b-77fa-433a-ad2e-80ce3722b213",}, ], "gridX": 0, "gridY": 0, "height": 64, "HTile": false, "layers": [ - {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"474efa0a-2e27-4818-aa98-a75708f4fa19","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"5f955162-e42d-43db-8cae-634ba913384c","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, ], "nineSlice": null, "origin": 4, @@ -54,7 +54,7 @@ "timeUnits": 1, "tracks": [ {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"89b07064-c4f6-496b-a3f8-b99cace28835","path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},},},"Disabled":false,"id":"fa0fb827-9608-48d6-97b5-640bdd7708c8","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"d01d0d5b-77fa-433a-ad2e-80ce3722b213","path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},},},"Disabled":false,"id":"c9afce02-5b06-4cc3-9193-db9c3785577e","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null, diff --git a/sprites/s_node_wav_file_write/e3356a24-b9f4-4c0b-972b-da970f6bbbe3.png b/sprites/s_node_wav_file_write/e3356a24-b9f4-4c0b-972b-da970f6bbbe3.png new file mode 100644 index 0000000000000000000000000000000000000000..14fbe973defc0ffda83c87cbb2dc34444f5c39a8 GIT binary patch literal 1940 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 c9(aM~7f$_m&W;o{o","resourceVersion":"1.0","Keyframes":[ - {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f600e086-97a1-4550-abca-174b3b243d48","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},},},"Disabled":false,"id":"0a3f90fa-129f-4c03-a0d8-cac031cdfc05","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"e3356a24-b9f4-4c0b-972b-da970f6bbbe3","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},},},"Disabled":false,"id":"cee79d54-5da8-40ad-8721-b712f9ffdadf","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange": null,