1.13.6
|
@ -226,6 +226,7 @@
|
||||||
{"name":"fd_rectangle_get_material_dissipation_type","order":8,"path":"scripts/fd_rectangle_get_material_dissipation_type/fd_rectangle_get_material_dissipation_type.yy",},
|
{"name":"fd_rectangle_get_material_dissipation_type","order":8,"path":"scripts/fd_rectangle_get_material_dissipation_type/fd_rectangle_get_material_dissipation_type.yy",},
|
||||||
{"name":"draw_surface_blend","order":1,"path":"scripts/draw_surface_blend/draw_surface_blend.yy",},
|
{"name":"draw_surface_blend","order":1,"path":"scripts/draw_surface_blend/draw_surface_blend.yy",},
|
||||||
{"name":"node_string_get_char","order":19,"path":"scripts/node_string_get_char/node_string_get_char.yy",},
|
{"name":"node_string_get_char","order":19,"path":"scripts/node_string_get_char/node_string_get_char.yy",},
|
||||||
|
{"name":"draw_line_elbow","order":17,"path":"scripts/draw_line_elbow/draw_line_elbow.yy",},
|
||||||
{"name":"node_path_reverse","order":29,"path":"scripts/node_path_reverse/node_path_reverse.yy",},
|
{"name":"node_path_reverse","order":29,"path":"scripts/node_path_reverse/node_path_reverse.yy",},
|
||||||
{"name":"fd_rectangle_get_acceleration_y","order":3,"path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},
|
{"name":"fd_rectangle_get_acceleration_y","order":3,"path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},
|
||||||
{"name":"sh_simplex","order":22,"path":"shaders/sh_simplex/sh_simplex.yy",},
|
{"name":"sh_simplex","order":22,"path":"shaders/sh_simplex/sh_simplex.yy",},
|
||||||
|
@ -244,6 +245,7 @@
|
||||||
{"name":"fd_rectangle_create_view","order":3,"path":"scripts/fd_rectangle_create_view/fd_rectangle_create_view.yy",},
|
{"name":"fd_rectangle_create_view","order":3,"path":"scripts/fd_rectangle_create_view/fd_rectangle_create_view.yy",},
|
||||||
{"name":"node_fluid_vortex","order":8,"path":"scripts/node_fluid_vortex/node_fluid_vortex.yy",},
|
{"name":"node_fluid_vortex","order":8,"path":"scripts/node_fluid_vortex/node_fluid_vortex.yy",},
|
||||||
{"name":"sh_cell_noise_round","order":9,"path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},
|
{"name":"sh_cell_noise_round","order":9,"path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},
|
||||||
|
{"name":"json_functions","order":8,"path":"scripts/json_functions/json_functions.yy",},
|
||||||
{"name":"event_recorder","order":3,"path":"scripts/event_recorder/event_recorder.yy",},
|
{"name":"event_recorder","order":3,"path":"scripts/event_recorder/event_recorder.yy",},
|
||||||
{"name":"s_node_noise_cell","order":10,"path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},
|
{"name":"s_node_noise_cell","order":10,"path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},
|
||||||
{"name":"node_colorize","order":4,"path":"scripts/node_colorize/node_colorize.yy",},
|
{"name":"node_colorize","order":4,"path":"scripts/node_colorize/node_colorize.yy",},
|
||||||
|
@ -415,6 +417,7 @@
|
||||||
{"name":"node_display_image","order":4,"path":"scripts/node_display_image/node_display_image.yy",},
|
{"name":"node_display_image","order":4,"path":"scripts/node_display_image/node_display_image.yy",},
|
||||||
{"name":"node_rigid_global","order":5,"path":"scripts/node_rigid_global/node_rigid_global.yy",},
|
{"name":"node_rigid_global","order":5,"path":"scripts/node_rigid_global/node_rigid_global.yy",},
|
||||||
{"name":"node_chromatic_aberration","order":4,"path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},
|
{"name":"node_chromatic_aberration","order":4,"path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},
|
||||||
|
{"name":"draw_line_elbow_diag","order":18,"path":"scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy",},
|
||||||
{"name":"node_pin","order":2,"path":"scripts/node_pin/node_pin.yy",},
|
{"name":"node_pin","order":2,"path":"scripts/node_pin/node_pin.yy",},
|
||||||
{"name":"_node_fluid_nodes","order":7,"path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},
|
{"name":"_node_fluid_nodes","order":7,"path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},
|
||||||
{"name":"sh_noise","order":16,"path":"shaders/sh_noise/sh_noise.yy",},
|
{"name":"sh_noise","order":16,"path":"shaders/sh_noise/sh_noise.yy",},
|
||||||
|
@ -554,6 +557,7 @@
|
||||||
{"name":"node_noise_grid_hex","order":24,"path":"scripts/node_noise_grid_hex/node_noise_grid_hex.yy",},
|
{"name":"node_noise_grid_hex","order":24,"path":"scripts/node_noise_grid_hex/node_noise_grid_hex.yy",},
|
||||||
{"name":"node_lua_global","order":1,"path":"scripts/node_lua_global/node_lua_global.yy",},
|
{"name":"node_lua_global","order":1,"path":"scripts/node_lua_global/node_lua_global.yy",},
|
||||||
{"name":"o_dialog_preset","order":1,"path":"objects/o_dialog_preset/o_dialog_preset.yy",},
|
{"name":"o_dialog_preset","order":1,"path":"objects/o_dialog_preset/o_dialog_preset.yy",},
|
||||||
|
{"name":"o_dialog_tunnels","order":6,"path":"objects/o_dialog_tunnels/o_dialog_tunnels.yy",},
|
||||||
{"name":"s_node_erode","order":21,"path":"sprites/s_node_erode/s_node_erode.yy",},
|
{"name":"s_node_erode","order":21,"path":"sprites/s_node_erode/s_node_erode.yy",},
|
||||||
{"name":"node_particle","order":14,"path":"scripts/node_particle/node_particle.yy",},
|
{"name":"node_particle","order":14,"path":"scripts/node_particle/node_particle.yy",},
|
||||||
{"name":"level_histogram","order":1,"path":"scripts/level_histogram/level_histogram.yy",},
|
{"name":"level_histogram","order":1,"path":"scripts/level_histogram/level_histogram.yy",},
|
||||||
|
@ -580,6 +584,7 @@
|
||||||
{"name":"node_ase_file_read","order":14,"path":"scripts/node_ase_file_read/node_ase_file_read.yy",},
|
{"name":"node_ase_file_read","order":14,"path":"scripts/node_ase_file_read/node_ase_file_read.yy",},
|
||||||
{"name":"sh_seperate_shape_counter","order":1,"path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},
|
{"name":"sh_seperate_shape_counter","order":1,"path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},
|
||||||
{"name":"s_node_stack","order":35,"path":"sprites/s_node_stack/s_node_stack.yy",},
|
{"name":"s_node_stack","order":35,"path":"sprites/s_node_stack/s_node_stack.yy",},
|
||||||
|
{"name":"s_fade_up","order":3,"path":"sprites/s_fade_up/s_fade_up.yy",},
|
||||||
{"name":"node_guide","order":18,"path":"scripts/node_guide/node_guide.yy",},
|
{"name":"node_guide","order":18,"path":"scripts/node_guide/node_guide.yy",},
|
||||||
{"name":"fd_rectangle_get_velocity_surface","order":24,"path":"scripts/fd_rectangle_get_velocity_surface/fd_rectangle_get_velocity_surface.yy",},
|
{"name":"fd_rectangle_get_velocity_surface","order":24,"path":"scripts/fd_rectangle_get_velocity_surface/fd_rectangle_get_velocity_surface.yy",},
|
||||||
{"name":"s_node_text_char_get","order":2,"path":"sprites/s_node_text_char_get/s_node_text_char_get.yy",},
|
{"name":"s_node_text_char_get","order":2,"path":"sprites/s_node_text_char_get/s_node_text_char_get.yy",},
|
||||||
|
@ -649,6 +654,7 @@
|
||||||
{"name":"s_node_fluidSim_vortex","order":8,"path":"sprites/s_node_fluidSim_vortex/s_node_fluidSim_vortex.yy",},
|
{"name":"s_node_fluidSim_vortex","order":8,"path":"sprites/s_node_fluidSim_vortex/s_node_fluidSim_vortex.yy",},
|
||||||
{"name":"string_hexadecimal","order":1,"path":"scripts/string_hexadecimal/string_hexadecimal.yy",},
|
{"name":"string_hexadecimal","order":1,"path":"scripts/string_hexadecimal/string_hexadecimal.yy",},
|
||||||
{"name":"s_node_camera","order":3,"path":"sprites/s_node_camera/s_node_camera.yy",},
|
{"name":"s_node_camera","order":3,"path":"sprites/s_node_camera/s_node_camera.yy",},
|
||||||
|
{"name":"sh_find_boundary","order":48,"path":"shaders/sh_find_boundary/sh_find_boundary.yy",},
|
||||||
{"name":"sh_vertex_pnt_light","order":4,"path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},
|
{"name":"sh_vertex_pnt_light","order":4,"path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},
|
||||||
{"name":"surfaceBox","order":22,"path":"scripts/surfaceBox/surfaceBox.yy",},
|
{"name":"surfaceBox","order":22,"path":"scripts/surfaceBox/surfaceBox.yy",},
|
||||||
{"name":"node_gradient_palette","order":11,"path":"scripts/node_gradient_palette/node_gradient_palette.yy",},
|
{"name":"node_gradient_palette","order":11,"path":"scripts/node_gradient_palette/node_gradient_palette.yy",},
|
||||||
|
@ -673,6 +679,8 @@
|
||||||
{"name":"sh_erode","order":17,"path":"shaders/sh_erode/sh_erode.yy",},
|
{"name":"sh_erode","order":17,"path":"shaders/sh_erode/sh_erode.yy",},
|
||||||
{"name":"fd_rectangle_get_velocity_dissipation_value","order":21,"path":"scripts/fd_rectangle_get_velocity_dissipation_value/fd_rectangle_get_velocity_dissipation_value.yy",},
|
{"name":"fd_rectangle_get_velocity_dissipation_value","order":21,"path":"scripts/fd_rectangle_get_velocity_dissipation_value/fd_rectangle_get_velocity_dissipation_value.yy",},
|
||||||
{"name":"node_pixel_cloud","order":15,"path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},
|
{"name":"node_pixel_cloud","order":15,"path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},
|
||||||
|
{"name":"s_node_crop_content","order":13,"path":"sprites/s_node_crop_content/s_node_crop_content.yy",},
|
||||||
|
{"name":"draw_line_zigzag","order":20,"path":"scripts/draw_line_zigzag/draw_line_zigzag.yy",},
|
||||||
{"name":"sh_alpha_grey","order":13,"path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},
|
{"name":"sh_alpha_grey","order":13,"path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},
|
||||||
{"name":"s_node_rigidSim_activate","order":6,"path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},
|
{"name":"s_node_rigidSim_activate","order":6,"path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},
|
||||||
{"name":"s_transparent","order":1,"path":"sprites/s_transparent/s_transparent.yy",},
|
{"name":"s_transparent","order":1,"path":"sprites/s_transparent/s_transparent.yy",},
|
||||||
|
@ -723,6 +731,7 @@
|
||||||
{"name":"fd_rectangle_set_velocity_maccormack_weight","order":15,"path":"scripts/fd_rectangle_set_velocity_maccormack_weight/fd_rectangle_set_velocity_maccormack_weight.yy",},
|
{"name":"fd_rectangle_set_velocity_maccormack_weight","order":15,"path":"scripts/fd_rectangle_set_velocity_maccormack_weight/fd_rectangle_set_velocity_maccormack_weight.yy",},
|
||||||
{"name":"s_node_array_sort","order":11,"path":"sprites/s_node_array_sort/s_node_array_sort.yy",},
|
{"name":"s_node_array_sort","order":11,"path":"sprites/s_node_array_sort/s_node_array_sort.yy",},
|
||||||
{"name":"node_trail","order":16,"path":"scripts/node_trail/node_trail.yy",},
|
{"name":"node_trail","order":16,"path":"scripts/node_trail/node_trail.yy",},
|
||||||
|
{"name":"json_prettify","order":7,"path":"scripts/json_prettify/json_prettify.yy",},
|
||||||
{"name":"s_node_loop_output","order":13,"path":"sprites/s_node_loop_output/s_node_loop_output.yy",},
|
{"name":"s_node_loop_output","order":13,"path":"sprites/s_node_loop_output/s_node_loop_output.yy",},
|
||||||
{"name":"render_data","order":2,"path":"scripts/render_data/render_data.yy",},
|
{"name":"render_data","order":2,"path":"scripts/render_data/render_data.yy",},
|
||||||
{"name":"o_dialog_graph_view","order":4,"path":"objects/o_dialog_graph_view/o_dialog_graph_view.yy",},
|
{"name":"o_dialog_graph_view","order":4,"path":"objects/o_dialog_graph_view/o_dialog_graph_view.yy",},
|
||||||
|
@ -845,6 +854,7 @@
|
||||||
{"name":"s_node_path_blend","order":1,"path":"sprites/s_node_path_blend/s_node_path_blend.yy",},
|
{"name":"s_node_path_blend","order":1,"path":"sprites/s_node_path_blend/s_node_path_blend.yy",},
|
||||||
{"name":"s_node_3d_extrude","order":2,"path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},
|
{"name":"s_node_3d_extrude","order":2,"path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},
|
||||||
{"name":"buttonGradient","order":4,"path":"scripts/buttonGradient/buttonGradient.yy",},
|
{"name":"buttonGradient","order":4,"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":"__view_get","order":1,"path":"scripts/__view_get/__view_get.yy",},
|
||||||
{"name":"s_node_texture_map","order":36,"path":"sprites/s_node_texture_map/s_node_texture_map.yy",},
|
{"name":"s_node_texture_map","order":36,"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":"fd_rectangle_create","order":7,"path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},
|
||||||
|
@ -873,6 +883,7 @@
|
||||||
{"name":"s_node_canvas","order":3,"path":"sprites/s_node_canvas/s_node_canvas.yy",},
|
{"name":"s_node_canvas","order":3,"path":"sprites/s_node_canvas/s_node_canvas.yy",},
|
||||||
{"name":"sh_remove_black","order":33,"path":"shaders/sh_remove_black/sh_remove_black.yy",},
|
{"name":"sh_remove_black","order":33,"path":"shaders/sh_remove_black/sh_remove_black.yy",},
|
||||||
{"name":"path_parser","order":3,"path":"scripts/path_parser/path_parser.yy",},
|
{"name":"path_parser","order":3,"path":"scripts/path_parser/path_parser.yy",},
|
||||||
|
{"name":"node_crop_content","order":14,"path":"scripts/node_crop_content/node_crop_content.yy",},
|
||||||
{"name":"s_node_unicode","order":8,"path":"sprites/s_node_unicode/s_node_unicode.yy",},
|
{"name":"s_node_unicode","order":8,"path":"sprites/s_node_unicode/s_node_unicode.yy",},
|
||||||
{"name":"s_node_color_from_hsv","order":4,"path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},
|
{"name":"s_node_color_from_hsv","order":4,"path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},
|
||||||
{"name":"fd_rectangle_get_material_type","order":14,"path":"scripts/fd_rectangle_get_material_type/fd_rectangle_get_material_type.yy",},
|
{"name":"fd_rectangle_get_material_type","order":14,"path":"scripts/fd_rectangle_get_material_type/fd_rectangle_get_material_type.yy",},
|
||||||
|
@ -968,6 +979,7 @@
|
||||||
{"name":"sh_sdf_dist","order":4,"path":"shaders/sh_sdf_dist/sh_sdf_dist.yy",},
|
{"name":"sh_sdf_dist","order":4,"path":"shaders/sh_sdf_dist/sh_sdf_dist.yy",},
|
||||||
{"name":"sh_de_corner","order":15,"path":"shaders/sh_de_corner/sh_de_corner.yy",},
|
{"name":"sh_de_corner","order":15,"path":"shaders/sh_de_corner/sh_de_corner.yy",},
|
||||||
{"name":"node_rigid_object_spawner","order":6,"path":"scripts/node_rigid_object_spawner/node_rigid_object_spawner.yy",},
|
{"name":"node_rigid_object_spawner","order":6,"path":"scripts/node_rigid_object_spawner/node_rigid_object_spawner.yy",},
|
||||||
|
{"name":"o_dialog_graph_connection","order":5,"path":"objects/o_dialog_graph_connection/o_dialog_graph_connection.yy",},
|
||||||
{"name":"file_dropper","order":1,"path":"extensions/file_dropper/file_dropper.yy",},
|
{"name":"file_dropper","order":1,"path":"extensions/file_dropper/file_dropper.yy",},
|
||||||
{"name":"sh_fd_advect_velocity_0_glsl","order":6,"path":"shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy",},
|
{"name":"sh_fd_advect_velocity_0_glsl","order":6,"path":"shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy",},
|
||||||
{"name":"sh_flood_fill_replace","order":2,"path":"shaders/sh_flood_fill_replace/sh_flood_fill_replace.yy",},
|
{"name":"sh_flood_fill_replace","order":2,"path":"shaders/sh_flood_fill_replace/sh_flood_fill_replace.yy",},
|
||||||
|
@ -991,6 +1003,7 @@
|
||||||
{"name":"node_alpha_to_grey","order":3,"path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},
|
{"name":"node_alpha_to_grey","order":3,"path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},
|
||||||
{"name":"shell_helper","order":20,"path":"scripts/shell_helper/shell_helper.yy",},
|
{"name":"shell_helper","order":20,"path":"scripts/shell_helper/shell_helper.yy",},
|
||||||
{"name":"sh_flood_fill_it","order":1,"path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},
|
{"name":"sh_flood_fill_it","order":1,"path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},
|
||||||
|
{"name":"draw_corner","order":19,"path":"scripts/draw_corner/draw_corner.yy",},
|
||||||
{"name":"o_dialog_preference","order":7,"path":"objects/o_dialog_preference/o_dialog_preference.yy",},
|
{"name":"o_dialog_preference","order":7,"path":"objects/o_dialog_preference/o_dialog_preference.yy",},
|
||||||
{"name":"node_wrap","order":2,"path":"scripts/node_wrap/node_wrap.yy",},
|
{"name":"node_wrap","order":2,"path":"scripts/node_wrap/node_wrap.yy",},
|
||||||
{"name":"node_3d_prim_sphere","order":13,"path":"scripts/node_3d_prim_sphere/node_3d_prim_sphere.yy",},
|
{"name":"node_3d_prim_sphere","order":13,"path":"scripts/node_3d_prim_sphere/node_3d_prim_sphere.yy",},
|
||||||
|
|
|
@ -216,7 +216,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_32.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_accept_32.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_array_processor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_array_processor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_center_canvas.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_center_canvas.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_curve_connection_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_curve_connection.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_grid_setting.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_grid_setting.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_grid_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_grid_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_minimap_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_minimap_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
@ -226,6 +226,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_revert.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_revert.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_save.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_save.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_spalsh_show_on_start_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_spalsh_show_on_start_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_splash_thumbnail.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_split_view_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_split_view_strip3.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_tile_view_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_tile_view_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_visibility.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_icon_visibility.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
@ -239,6 +240,8 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_minus_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_minus_24.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_name.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_name.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_new.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_new.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_goto.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_move.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_processor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_processor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_resize.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_resize.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_error_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_error_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
@ -318,6 +321,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_area.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_area.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_path.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_draw_path.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_frame_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_frame_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_frame_title.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_glow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_glow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junction_name_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junction_name_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_hover.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_hover.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
|
@ -328,6 +332,13 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_state_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_state_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_checkbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_coor_pin.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_rotator_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_rotator_knob_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_slider.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"fade_up.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/others",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/others",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/others",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_key_display_mouse_strip6.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/others",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_key_display_mouse_strip6.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/others",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"anchor_arrow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"anchor_arrow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
|
@ -403,6 +414,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_code_line.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_code_line.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_widget_highlight.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_widget_highlight.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"tooltip.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"0 introduction.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1 image import.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1 image import.png","CopyToMask":-1,"filePath":"datafiles/Getting started",},
|
||||||
|
@ -593,6 +605,7 @@
|
||||||
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
||||||
{"id":{"name":"node_string_get_char","path":"scripts/node_string_get_char/node_string_get_char.yy",},"order":19,},
|
{"id":{"name":"node_string_get_char","path":"scripts/node_string_get_char/node_string_get_char.yy",},"order":19,},
|
||||||
{"id":{"name":"_p_dialog_undo_block","path":"objects/_p_dialog_undo_block/_p_dialog_undo_block.yy",},"order":0,},
|
{"id":{"name":"_p_dialog_undo_block","path":"objects/_p_dialog_undo_block/_p_dialog_undo_block.yy",},"order":0,},
|
||||||
|
{"id":{"name":"draw_line_elbow","path":"scripts/draw_line_elbow/draw_line_elbow.yy",},"order":17,},
|
||||||
{"id":{"name":"node_path_reverse","path":"scripts/node_path_reverse/node_path_reverse.yy",},"order":29,},
|
{"id":{"name":"node_path_reverse","path":"scripts/node_path_reverse/node_path_reverse.yy",},"order":29,},
|
||||||
{"id":{"name":"fd_rectangle_get_acceleration_y","path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},"order":3,},
|
{"id":{"name":"fd_rectangle_get_acceleration_y","path":"scripts/fd_rectangle_get_acceleration_y/fd_rectangle_get_acceleration_y.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},"order":22,},
|
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},"order":22,},
|
||||||
|
@ -613,6 +626,7 @@
|
||||||
{"id":{"name":"fd_rectangle_create_view","path":"scripts/fd_rectangle_create_view/fd_rectangle_create_view.yy",},"order":3,},
|
{"id":{"name":"fd_rectangle_create_view","path":"scripts/fd_rectangle_create_view/fd_rectangle_create_view.yy",},"order":3,},
|
||||||
{"id":{"name":"node_fluid_vortex","path":"scripts/node_fluid_vortex/node_fluid_vortex.yy",},"order":8,},
|
{"id":{"name":"node_fluid_vortex","path":"scripts/node_fluid_vortex/node_fluid_vortex.yy",},"order":8,},
|
||||||
{"id":{"name":"sh_cell_noise_round","path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},"order":9,},
|
{"id":{"name":"sh_cell_noise_round","path":"shaders/sh_cell_noise_round/sh_cell_noise_round.yy",},"order":9,},
|
||||||
|
{"id":{"name":"json_functions","path":"scripts/json_functions/json_functions.yy",},"order":8,},
|
||||||
{"id":{"name":"event_recorder","path":"scripts/event_recorder/event_recorder.yy",},"order":3,},
|
{"id":{"name":"event_recorder","path":"scripts/event_recorder/event_recorder.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_noise_cell","path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},"order":10,},
|
{"id":{"name":"s_node_noise_cell","path":"sprites/s_node_noise_cell/s_node_noise_cell.yy",},"order":10,},
|
||||||
{"id":{"name":"node_colorize","path":"scripts/node_colorize/node_colorize.yy",},"order":4,},
|
{"id":{"name":"node_colorize","path":"scripts/node_colorize/node_colorize.yy",},"order":4,},
|
||||||
|
@ -810,6 +824,7 @@
|
||||||
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},"order":4,},
|
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},"order":4,},
|
||||||
{"id":{"name":"node_rigid_global","path":"scripts/node_rigid_global/node_rigid_global.yy",},"order":5,},
|
{"id":{"name":"node_rigid_global","path":"scripts/node_rigid_global/node_rigid_global.yy",},"order":5,},
|
||||||
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},"order":4,},
|
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},"order":4,},
|
||||||
|
{"id":{"name":"draw_line_elbow_diag","path":"scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy",},"order":18,},
|
||||||
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
||||||
{"id":{"name":"_node_fluid_nodes","path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},"order":7,},
|
{"id":{"name":"_node_fluid_nodes","path":"scripts/_node_fluid_nodes/_node_fluid_nodes.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_noise","path":"shaders/sh_noise/sh_noise.yy",},"order":16,},
|
{"id":{"name":"sh_noise","path":"shaders/sh_noise/sh_noise.yy",},"order":16,},
|
||||||
|
@ -968,6 +983,7 @@
|
||||||
{"id":{"name":"node_noise_grid_hex","path":"scripts/node_noise_grid_hex/node_noise_grid_hex.yy",},"order":24,},
|
{"id":{"name":"node_noise_grid_hex","path":"scripts/node_noise_grid_hex/node_noise_grid_hex.yy",},"order":24,},
|
||||||
{"id":{"name":"node_lua_global","path":"scripts/node_lua_global/node_lua_global.yy",},"order":1,},
|
{"id":{"name":"node_lua_global","path":"scripts/node_lua_global/node_lua_global.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
||||||
|
{"id":{"name":"o_dialog_tunnels","path":"objects/o_dialog_tunnels/o_dialog_tunnels.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":21,},
|
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":21,},
|
||||||
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":14,},
|
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":14,},
|
||||||
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
||||||
|
@ -996,6 +1012,7 @@
|
||||||
{"id":{"name":"s_workshop_frame","path":"sprites/s_workshop_frame/s_workshop_frame.yy",},"order":0,},
|
{"id":{"name":"s_workshop_frame","path":"sprites/s_workshop_frame/s_workshop_frame.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":35,},
|
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":35,},
|
||||||
|
{"id":{"name":"s_fade_up","path":"sprites/s_fade_up/s_fade_up.yy",},"order":3,},
|
||||||
{"id":{"name":"node_guide","path":"scripts/node_guide/node_guide.yy",},"order":18,},
|
{"id":{"name":"node_guide","path":"scripts/node_guide/node_guide.yy",},"order":18,},
|
||||||
{"id":{"name":"fd_rectangle_get_velocity_surface","path":"scripts/fd_rectangle_get_velocity_surface/fd_rectangle_get_velocity_surface.yy",},"order":24,},
|
{"id":{"name":"fd_rectangle_get_velocity_surface","path":"scripts/fd_rectangle_get_velocity_surface/fd_rectangle_get_velocity_surface.yy",},"order":24,},
|
||||||
{"id":{"name":"s_node_text_char_get","path":"sprites/s_node_text_char_get/s_node_text_char_get.yy",},"order":2,},
|
{"id":{"name":"s_node_text_char_get","path":"sprites/s_node_text_char_get/s_node_text_char_get.yy",},"order":2,},
|
||||||
|
@ -1070,6 +1087,7 @@
|
||||||
{"id":{"name":"s_node_fluidSim_vortex","path":"sprites/s_node_fluidSim_vortex/s_node_fluidSim_vortex.yy",},"order":8,},
|
{"id":{"name":"s_node_fluidSim_vortex","path":"sprites/s_node_fluidSim_vortex/s_node_fluidSim_vortex.yy",},"order":8,},
|
||||||
{"id":{"name":"string_hexadecimal","path":"scripts/string_hexadecimal/string_hexadecimal.yy",},"order":1,},
|
{"id":{"name":"string_hexadecimal","path":"scripts/string_hexadecimal/string_hexadecimal.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_camera","path":"sprites/s_node_camera/s_node_camera.yy",},"order":3,},
|
{"id":{"name":"s_node_camera","path":"sprites/s_node_camera/s_node_camera.yy",},"order":3,},
|
||||||
|
{"id":{"name":"sh_find_boundary","path":"shaders/sh_find_boundary/sh_find_boundary.yy",},"order":48,},
|
||||||
{"id":{"name":"sh_vertex_pnt_light","path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},"order":4,},
|
{"id":{"name":"sh_vertex_pnt_light","path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},"order":4,},
|
||||||
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},"order":22,},
|
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},"order":22,},
|
||||||
{"id":{"name":"node_gradient_palette","path":"scripts/node_gradient_palette/node_gradient_palette.yy",},"order":11,},
|
{"id":{"name":"node_gradient_palette","path":"scripts/node_gradient_palette/node_gradient_palette.yy",},"order":11,},
|
||||||
|
@ -1097,6 +1115,8 @@
|
||||||
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":17,},
|
{"id":{"name":"sh_erode","path":"shaders/sh_erode/sh_erode.yy",},"order":17,},
|
||||||
{"id":{"name":"fd_rectangle_get_velocity_dissipation_value","path":"scripts/fd_rectangle_get_velocity_dissipation_value/fd_rectangle_get_velocity_dissipation_value.yy",},"order":21,},
|
{"id":{"name":"fd_rectangle_get_velocity_dissipation_value","path":"scripts/fd_rectangle_get_velocity_dissipation_value/fd_rectangle_get_velocity_dissipation_value.yy",},"order":21,},
|
||||||
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":15,},
|
{"id":{"name":"node_pixel_cloud","path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},"order":15,},
|
||||||
|
{"id":{"name":"s_node_crop_content","path":"sprites/s_node_crop_content/s_node_crop_content.yy",},"order":13,},
|
||||||
|
{"id":{"name":"draw_line_zigzag","path":"scripts/draw_line_zigzag/draw_line_zigzag.yy",},"order":20,},
|
||||||
{"id":{"name":"sh_alpha_grey","path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},"order":13,},
|
{"id":{"name":"sh_alpha_grey","path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",},"order":13,},
|
||||||
{"id":{"name":"s_node_rigidSim_activate","path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},"order":6,},
|
{"id":{"name":"s_node_rigidSim_activate","path":"sprites/s_node_rigidSim_activate/s_node_rigidSim_activate.yy",},"order":6,},
|
||||||
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},"order":1,},
|
{"id":{"name":"s_transparent","path":"sprites/s_transparent/s_transparent.yy",},"order":1,},
|
||||||
|
@ -1151,6 +1171,7 @@
|
||||||
{"id":{"name":"s_node_array_sort","path":"sprites/s_node_array_sort/s_node_array_sort.yy",},"order":11,},
|
{"id":{"name":"s_node_array_sort","path":"sprites/s_node_array_sort/s_node_array_sort.yy",},"order":11,},
|
||||||
{"id":{"name":"node_trail","path":"scripts/node_trail/node_trail.yy",},"order":16,},
|
{"id":{"name":"node_trail","path":"scripts/node_trail/node_trail.yy",},"order":16,},
|
||||||
{"id":{"name":"byte_reader","path":"scripts/byte_reader/byte_reader.yy",},"order":0,},
|
{"id":{"name":"byte_reader","path":"scripts/byte_reader/byte_reader.yy",},"order":0,},
|
||||||
|
{"id":{"name":"json_prettify","path":"scripts/json_prettify/json_prettify.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_loop_output","path":"sprites/s_node_loop_output/s_node_loop_output.yy",},"order":13,},
|
{"id":{"name":"s_node_loop_output","path":"sprites/s_node_loop_output/s_node_loop_output.yy",},"order":13,},
|
||||||
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
||||||
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
||||||
|
@ -1302,6 +1323,7 @@
|
||||||
{"id":{"name":"preview_overlay_scalar","path":"scripts/preview_overlay_scalar/preview_overlay_scalar.yy",},"order":0,},
|
{"id":{"name":"preview_overlay_scalar","path":"scripts/preview_overlay_scalar/preview_overlay_scalar.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":2,},
|
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":2,},
|
||||||
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
||||||
|
{"id":{"name":"sh_draw_downsample","path":"shaders/sh_draw_downsample/sh_draw_downsample.yy",},"order":2,},
|
||||||
{"id":{"name":"__view_get","path":"scripts/__view_get/__view_get.yy",},"order":1,},
|
{"id":{"name":"__view_get","path":"scripts/__view_get/__view_get.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":36,},
|
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":36,},
|
||||||
{"id":{"name":"fd_rectangle_create","path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},"order":7,},
|
{"id":{"name":"fd_rectangle_create","path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},"order":7,},
|
||||||
|
@ -1332,6 +1354,7 @@
|
||||||
{"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},"order":3,},
|
{"id":{"name":"s_node_canvas","path":"sprites/s_node_canvas/s_node_canvas.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},"order":33,},
|
{"id":{"name":"sh_remove_black","path":"shaders/sh_remove_black/sh_remove_black.yy",},"order":33,},
|
||||||
{"id":{"name":"path_parser","path":"scripts/path_parser/path_parser.yy",},"order":3,},
|
{"id":{"name":"path_parser","path":"scripts/path_parser/path_parser.yy",},"order":3,},
|
||||||
|
{"id":{"name":"node_crop_content","path":"scripts/node_crop_content/node_crop_content.yy",},"order":14,},
|
||||||
{"id":{"name":"s_node_unicode","path":"sprites/s_node_unicode/s_node_unicode.yy",},"order":8,},
|
{"id":{"name":"s_node_unicode","path":"sprites/s_node_unicode/s_node_unicode.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_color_from_hsv","path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},"order":4,},
|
{"id":{"name":"s_node_color_from_hsv","path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},"order":4,},
|
||||||
{"id":{"name":"fd_rectangle_get_material_type","path":"scripts/fd_rectangle_get_material_type/fd_rectangle_get_material_type.yy",},"order":14,},
|
{"id":{"name":"fd_rectangle_get_material_type","path":"scripts/fd_rectangle_get_material_type/fd_rectangle_get_material_type.yy",},"order":14,},
|
||||||
|
@ -1442,6 +1465,7 @@
|
||||||
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":0,},
|
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_de_corner","path":"shaders/sh_de_corner/sh_de_corner.yy",},"order":15,},
|
{"id":{"name":"sh_de_corner","path":"shaders/sh_de_corner/sh_de_corner.yy",},"order":15,},
|
||||||
{"id":{"name":"node_rigid_object_spawner","path":"scripts/node_rigid_object_spawner/node_rigid_object_spawner.yy",},"order":6,},
|
{"id":{"name":"node_rigid_object_spawner","path":"scripts/node_rigid_object_spawner/node_rigid_object_spawner.yy",},"order":6,},
|
||||||
|
{"id":{"name":"o_dialog_graph_connection","path":"objects/o_dialog_graph_connection/o_dialog_graph_connection.yy",},"order":5,},
|
||||||
{"id":{"name":"file_dropper","path":"extensions/file_dropper/file_dropper.yy",},"order":1,},
|
{"id":{"name":"file_dropper","path":"extensions/file_dropper/file_dropper.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_fd_advect_velocity_0_glsl","path":"shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy",},"order":6,},
|
{"id":{"name":"sh_fd_advect_velocity_0_glsl","path":"shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_flood_fill_replace","path":"shaders/sh_flood_fill_replace/sh_flood_fill_replace.yy",},"order":2,},
|
{"id":{"name":"sh_flood_fill_replace","path":"shaders/sh_flood_fill_replace/sh_flood_fill_replace.yy",},"order":2,},
|
||||||
|
@ -1471,6 +1495,7 @@
|
||||||
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},"order":3,},
|
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},"order":3,},
|
||||||
{"id":{"name":"shell_helper","path":"scripts/shell_helper/shell_helper.yy",},"order":20,},
|
{"id":{"name":"shell_helper","path":"scripts/shell_helper/shell_helper.yy",},"order":20,},
|
||||||
{"id":{"name":"sh_flood_fill_it","path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},"order":1,},
|
{"id":{"name":"sh_flood_fill_it","path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},"order":1,},
|
||||||
|
{"id":{"name":"draw_corner","path":"scripts/draw_corner/draw_corner.yy",},"order":19,},
|
||||||
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},"order":7,},
|
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},"order":7,},
|
||||||
{"id":{"name":"node_wrap","path":"scripts/node_wrap/node_wrap.yy",},"order":2,},
|
{"id":{"name":"node_wrap","path":"scripts/node_wrap/node_wrap.yy",},"order":2,},
|
||||||
{"id":{"name":"node_3d_prim_sphere","path":"scripts/node_3d_prim_sphere/node_3d_prim_sphere.yy",},"order":13,},
|
{"id":{"name":"node_3d_prim_sphere","path":"scripts/node_3d_prim_sphere/node_3d_prim_sphere.yy",},"order":13,},
|
||||||
|
|
|
@ -626,6 +626,223 @@
|
||||||
"yorigin": 24,
|
"yorigin": 24,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
|
"node_resize": {
|
||||||
|
"path": "./icon/s_node_resize.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 32,
|
||||||
|
"yorigin": 32,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_curve_connection": {
|
||||||
|
"path": "./icon/s_icon_curve_connection.png",
|
||||||
|
"subimages": 4,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"node_output_visible": {
|
||||||
|
"path": "./icon/s_icon_output_visibility.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_minimap": {
|
||||||
|
"path": "./icon/s_icon_minimap_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"noti_icon_tick": {
|
||||||
|
"path": "./icon/s_noti_icon_tick.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"noti_icon_error": {
|
||||||
|
"path": "./icon/s_noti_icon_error_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"noti_icon_warning": {
|
||||||
|
"path": "./icon/s_noti_icon_warning_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"noti_icon_log": {
|
||||||
|
"path": "./icon/s_noti_icon_log_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"noti_icon_file_load": {
|
||||||
|
"path": "./icon/s_noti_icon_file_load.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"noti_icon_file_save": {
|
||||||
|
"path": "./icon/s_noti_icon_file_save.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_center_canvas": {
|
||||||
|
"path": "./icon/s_icon_center_canvas.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_grid": {
|
||||||
|
"path": "./icon/s_icon_grid_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_grid_setting": {
|
||||||
|
"path": "./icon/s_icon_grid_setting.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_preview_export": {
|
||||||
|
"path": "./icon/s_icon_preview_export.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_reset_when_preview": {
|
||||||
|
"path": "./icon/s_icon_reset_when_preview_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_split_view": {
|
||||||
|
"path": "./icon/s_icon_split_view_strip3.png",
|
||||||
|
"subimages": 3,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_tile_view": {
|
||||||
|
"path": "./icon/s_icon_tile_view_strip4.png",
|
||||||
|
"subimages": 4,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_active_split": {
|
||||||
|
"path": "./icon/s_panel_active_split.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 12,
|
||||||
|
"yorigin": 12,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"revert": {
|
||||||
|
"path": "./icon/s_icon_revert.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"path": "./icon/s_icon_save.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"window_exit": {
|
||||||
|
"path": "./icon/s_window_exit.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"window_minimize": {
|
||||||
|
"path": "./icon/s_window_minimize.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"window_maximize": {
|
||||||
|
"path": "./icon/s_window_maximize.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"window_fullscreen": {
|
||||||
|
"path": "./icon/s_window_fullscreen.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_splash_show_on_start": {
|
||||||
|
"path": "./icon/s_icon_spalsh_show_on_start_strip2.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"icon_array_processor": {
|
||||||
|
"path": "./icon/s_icon_array_processor.png",
|
||||||
|
"subimages": 4,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"tunnel": {
|
||||||
|
"path": "./icon/s_tunnel.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"lock": {
|
||||||
|
"path": "./icon/s_lock.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"node_move": {
|
||||||
|
"path": "./icon/s_node_move.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 0,
|
||||||
|
"yorigin": 0,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"splash_thumbnail": {
|
||||||
|
"path": "./icon/s_icon_splash_thumbnail.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"node_goto": {
|
||||||
|
"path": "./icon/s_node_goto.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 24,
|
||||||
|
"yorigin": 24,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
"inspector_area": {
|
"inspector_area": {
|
||||||
"path": "./inspector/s_inspector_area_strip2.png",
|
"path": "./inspector/s_inspector_area_strip2.png",
|
||||||
"subimages": 2,
|
"subimages": 2,
|
||||||
|
@ -878,6 +1095,19 @@
|
||||||
"bottom": 7
|
"bottom": 7
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_frame_title": {
|
||||||
|
"path": "./node/s_node_frame_title.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 0,
|
||||||
|
"yorigin": 0,
|
||||||
|
"slice": {
|
||||||
|
"enabled": true,
|
||||||
|
"left": 7,
|
||||||
|
"right": 7,
|
||||||
|
"top": 7,
|
||||||
|
"bottom": 7
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_junction_name_bg": {
|
"node_junction_name_bg": {
|
||||||
"path": "./node/s_node_junction_name_bg.png",
|
"path": "./node/s_node_junction_name_bg.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
|
@ -891,13 +1121,6 @@
|
||||||
"bottom": 15
|
"bottom": 15
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_resize": {
|
|
||||||
"path": "./icon/s_node_resize.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 32,
|
|
||||||
"yorigin": 32,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"node_state": {
|
"node_state": {
|
||||||
"path": "./node/s_node_state_strip2.png",
|
"path": "./node/s_node_state_strip2.png",
|
||||||
"subimages": 2,
|
"subimages": 2,
|
||||||
|
@ -905,25 +1128,51 @@
|
||||||
"yorigin": 12,
|
"yorigin": 12,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"icon_curve_connection": {
|
"node_slider": {
|
||||||
"path": "./icon/s_icon_curve_connection_strip3.png",
|
"path": "./node/widget/s_node_slider.png",
|
||||||
"subimages": 3,
|
"subimages": 5,
|
||||||
"xorigin": 24,
|
"xorigin": 0,
|
||||||
"yorigin": 24,
|
"yorigin": 0,
|
||||||
"slice": null
|
"slice": {
|
||||||
|
"enabled": true,
|
||||||
|
"left": 4,
|
||||||
|
"right": 4,
|
||||||
|
"top": 4,
|
||||||
|
"bottom": 4
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_output_visible": {
|
"node_rotator_bg": {
|
||||||
"path": "./icon/s_icon_output_visibility.png",
|
"path": "./node/widget/s_node_rotator_bg.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
"xorigin": 24,
|
"xorigin": 80,
|
||||||
"yorigin": 24,
|
"yorigin": 80,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"icon_minimap": {
|
"node_rotator_knob": {
|
||||||
"path": "./icon/s_icon_minimap_strip2.png",
|
"path": "./node/widget/s_node_rotator_knob_strip2.png",
|
||||||
"subimages": 2,
|
"subimages": 2,
|
||||||
"xorigin": 24,
|
"xorigin": 20,
|
||||||
"yorigin": 24,
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
|
"node_checkbox": {
|
||||||
|
"path": "./node/widget/s_node_checkbox_strip4.png",
|
||||||
|
"subimages": 4,
|
||||||
|
"xorigin": 0,
|
||||||
|
"yorigin": 0,
|
||||||
|
"slice": {
|
||||||
|
"enabled": true,
|
||||||
|
"left": 7,
|
||||||
|
"right": 7,
|
||||||
|
"top": 7,
|
||||||
|
"bottom": 7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_coor_pin": {
|
||||||
|
"path": "./node/widget/s_node_coor_pin.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 6,
|
||||||
|
"yorigin": 6,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"menu_separator": {
|
"menu_separator": {
|
||||||
|
@ -939,174 +1188,6 @@
|
||||||
"bottom": 0
|
"bottom": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noti_icon_tick": {
|
|
||||||
"path": "./icon/s_noti_icon_tick.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 20,
|
|
||||||
"yorigin": 20,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"noti_icon_error": {
|
|
||||||
"path": "./icon/s_noti_icon_error_strip2.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 20,
|
|
||||||
"yorigin": 20,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"noti_icon_warning": {
|
|
||||||
"path": "./icon/s_noti_icon_warning_strip2.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 20,
|
|
||||||
"yorigin": 20,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"noti_icon_log": {
|
|
||||||
"path": "./icon/s_noti_icon_log_strip2.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 20,
|
|
||||||
"yorigin": 20,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"noti_icon_file_load": {
|
|
||||||
"path": "./icon/s_noti_icon_file_load.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 20,
|
|
||||||
"yorigin": 20,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"noti_icon_file_save": {
|
|
||||||
"path": "./icon/s_noti_icon_file_save.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 20,
|
|
||||||
"yorigin": 20,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_center_canvas": {
|
|
||||||
"path": "./icon/s_icon_center_canvas.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_grid": {
|
|
||||||
"path": "./icon/s_icon_grid_strip2.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_grid_setting": {
|
|
||||||
"path": "./icon/s_icon_grid_setting.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_preview_export": {
|
|
||||||
"path": "./icon/s_icon_preview_export.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_reset_when_preview": {
|
|
||||||
"path": "./icon/s_icon_reset_when_preview_strip2.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_split_view": {
|
|
||||||
"path": "./icon/s_icon_split_view_strip3.png",
|
|
||||||
"subimages": 3,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_tile_view": {
|
|
||||||
"path": "./icon/s_icon_tile_view_strip4.png",
|
|
||||||
"subimages": 4,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_active_split": {
|
|
||||||
"path": "./icon/s_panel_active_split.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 12,
|
|
||||||
"yorigin": 12,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"revert": {
|
|
||||||
"path": "./icon/s_icon_revert.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"save": {
|
|
||||||
"path": "./icon/s_icon_save.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"window_exit": {
|
|
||||||
"path": "./icon/s_window_exit.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 16,
|
|
||||||
"yorigin": 16,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"window_minimize": {
|
|
||||||
"path": "./icon/s_window_minimize.png",
|
|
||||||
"subimages": 1,
|
|
||||||
"xorigin": 16,
|
|
||||||
"yorigin": 16,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"window_maximize": {
|
|
||||||
"path": "./icon/s_window_maximize.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 16,
|
|
||||||
"yorigin": 16,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"window_fullscreen": {
|
|
||||||
"path": "./icon/s_window_fullscreen.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 16,
|
|
||||||
"yorigin": 16,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_splash_show_on_start": {
|
|
||||||
"path": "./icon/s_icon_spalsh_show_on_start_strip2.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"icon_array_processor": {
|
|
||||||
"path": "./icon/s_icon_array_processor.png",
|
|
||||||
"subimages": 4,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"tunnel": {
|
|
||||||
"path": "./icon/s_tunnel.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"lock": {
|
|
||||||
"path": "./icon/s_lock.png",
|
|
||||||
"subimages": 2,
|
|
||||||
"xorigin": 24,
|
|
||||||
"yorigin": 24,
|
|
||||||
"slice": null
|
|
||||||
},
|
|
||||||
"menu_button": {
|
"menu_button": {
|
||||||
"path": "./UI/s_menu_button.png",
|
"path": "./UI/s_menu_button.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
|
|
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 803 B |
After Width: | Height: | Size: 795 B |
BIN
datafiles/data/themes/default/graphics/icon/s_node_goto.png
Normal file
After Width: | Height: | Size: 565 B |
BIN
datafiles/data/themes/default/graphics/icon/s_node_move.png
Normal file
After Width: | Height: | Size: 259 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 236 B |
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 450 B |
After Width: | Height: | Size: 248 B |
1775
datafiles/data/themes/default/graphics/node/widget/graphic.ai
Normal file
After Width: | Height: | Size: 587 B |
After Width: | Height: | Size: 139 B |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 1 KiB |
After Width: | Height: | Size: 763 B |
BIN
datafiles/data/themes/default/graphics/others/fade_up.png
Normal file
After Width: | Height: | Size: 129 B |
BIN
datafiles/data/tooltip.zip
Normal file
|
@ -7,8 +7,8 @@ event_inherited();
|
||||||
disp_text = "";
|
disp_text = "";
|
||||||
depth = -999;
|
depth = -999;
|
||||||
|
|
||||||
show_doubleclick = true;
|
show_doubleclick = false;
|
||||||
show_graph = false;
|
show_graph = false;
|
||||||
|
|
||||||
menu = [
|
menu = [
|
||||||
menuItem("Toggle double click bar", function() { show_doubleclick = !show_doubleclick; }),
|
menuItem("Toggle double click bar", function() { show_doubleclick = !show_doubleclick; }),
|
||||||
|
|
|
@ -18,6 +18,9 @@ event_inherited();
|
||||||
node_focusing = -1;
|
node_focusing = -1;
|
||||||
|
|
||||||
node_show_connectable = true;
|
node_show_connectable = true;
|
||||||
|
node_tooltip = noone;
|
||||||
|
node_tooltip_x = 0;
|
||||||
|
node_tooltip_y = 0;
|
||||||
|
|
||||||
anchor = ANCHOR.left | ANCHOR.top;
|
anchor = ANCHOR.left | ANCHOR.top;
|
||||||
|
|
||||||
|
@ -34,8 +37,8 @@ event_inherited();
|
||||||
var typ = node_called.type;
|
var typ = node_called.type;
|
||||||
|
|
||||||
for( var i = 0; i < array_length(ar); i++ ) {
|
for( var i = 0; i < array_length(ar); i++ ) {
|
||||||
var _in = call_in? node_called.type : ar[i];
|
var _in = call_in? node_called.type : ar[i].type;
|
||||||
var _ot = call_in? ar[i] : node_called.type;
|
var _ot = call_in? ar[i].type : node_called.type;
|
||||||
|
|
||||||
if(typeCompatible(_in, _ot, false)) return true;
|
if(typeCompatible(_in, _ot, false)) return true;
|
||||||
}
|
}
|
||||||
|
@ -47,13 +50,13 @@ event_inherited();
|
||||||
|
|
||||||
for( var i = 0; i < array_length(io.inputs); i++ ) {
|
for( var i = 0; i < array_length(io.inputs); i++ ) {
|
||||||
var _in = fr;
|
var _in = fr;
|
||||||
var _ot = io.inputs[i];
|
var _ot = io.inputs[i].type;
|
||||||
|
|
||||||
if(typeCompatible(_in, _ot, false)) return true;
|
if(typeCompatible(_in, _ot, false)) return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for( var i = 0; i < array_length(io.outputs); i++ ) {
|
for( var i = 0; i < array_length(io.outputs); i++ ) {
|
||||||
var _in = io.outputs[i];
|
var _in = io.outputs[i].type;
|
||||||
var _ot = to;
|
var _ot = to;
|
||||||
|
|
||||||
if(typeCompatible(_in, _ot, false)) return true;
|
if(typeCompatible(_in, _ot, false)) return true;
|
||||||
|
@ -297,7 +300,16 @@ event_inherited();
|
||||||
|
|
||||||
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||||
if(sprite_exists(_node.spr)) draw_sprite_ui_uniform(_node.spr, 0, spr_x, spr_y);
|
if(sprite_exists(_node.spr)) draw_sprite_ui_uniform(_node.spr, 0, spr_x, spr_y);
|
||||||
|
|
||||||
|
if(_node.tooltip != "") {
|
||||||
|
if(point_in_rectangle(_m[0], _m[1], _boxx, yy, _boxx + ui(16), yy + ui(16))) {
|
||||||
|
draw_sprite_ui_uniform(THEME.info, 0, _boxx + ui(8), yy + ui(8), 0.7, COLORS._main_icon, 1.0);
|
||||||
|
node_tooltip = _node;
|
||||||
|
node_tooltip_x = content_pane.x + _nx;
|
||||||
|
node_tooltip_y = content_pane.y + yy;
|
||||||
|
} else
|
||||||
|
draw_sprite_ui_uniform(THEME.info, 0, _boxx + ui(8), yy + ui(8), 0.7, COLORS._main_icon, 0.5);
|
||||||
|
}
|
||||||
if(_node.new_node)
|
if(_node.new_node)
|
||||||
draw_sprite_ui_uniform(THEME.node_new_badge, 0, _boxx + grid_size - ui(12), yy + ui(6));
|
draw_sprite_ui_uniform(THEME.node_new_badge, 0, _boxx + grid_size - ui(12), yy + ui(6));
|
||||||
|
|
||||||
|
@ -356,6 +368,12 @@ event_inherited();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, list_width, yy + list_height - 1)) {
|
if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, list_width, yy + list_height - 1)) {
|
||||||
|
if(_node.tooltip != "") {
|
||||||
|
node_tooltip = _node;
|
||||||
|
node_tooltip_x = content_pane.x + 0;
|
||||||
|
node_tooltip_y = content_pane.y + yy
|
||||||
|
}
|
||||||
|
|
||||||
draw_sprite_stretched_ext(THEME.node_active, 0, ui(4), yy, list_width - ui(8), list_height, COLORS._main_accent, 1);
|
draw_sprite_stretched_ext(THEME.node_active, 0, ui(4), yy, list_width - ui(8), list_height, COLORS._main_accent, 1);
|
||||||
if(mouse_press(mb_left, sFOCUS))
|
if(mouse_press(mb_left, sFOCUS))
|
||||||
buildNode(_node);
|
buildNode(_node);
|
||||||
|
@ -545,6 +563,16 @@ event_inherited();
|
||||||
if(keyboard_check_pressed(vk_enter))
|
if(keyboard_check_pressed(vk_enter))
|
||||||
buildNode(_node, _param);
|
buildNode(_node, _param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(struct_has(_node, "tooltip") && _node.tooltip != "") {
|
||||||
|
if(point_in_rectangle(_m[0], _m[1], _boxx, yy, _boxx + ui(16), yy + ui(16))) {
|
||||||
|
draw_sprite_ui_uniform(THEME.info, 0, _boxx + ui(8), yy + ui(8), 0.7, COLORS._main_icon, 1.0);
|
||||||
|
node_tooltip = _node;
|
||||||
|
node_tooltip_x = search_pane.x + _nx;
|
||||||
|
node_tooltip_y = search_pane.y + yy
|
||||||
|
} else
|
||||||
|
draw_sprite_ui_uniform(THEME.info, 0, _boxx + ui(8), yy + ui(8), 0.7, COLORS._main_icon, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
if(node_focusing == i)
|
if(node_focusing == i)
|
||||||
search_pane.scroll_y_to = -max(0, hh - search_pane.h);
|
search_pane.scroll_y_to = -max(0, hh - search_pane.h);
|
||||||
|
@ -600,6 +628,12 @@ event_inherited();
|
||||||
draw_text_over(list_height + ui(20), yy + list_height / 2, _node.name);
|
draw_text_over(list_height + ui(20), yy + list_height / 2, _node.name);
|
||||||
|
|
||||||
if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, list_width, yy + list_height - 1)) {
|
if(_hover && point_in_rectangle(_m[0], _m[1], 0, yy, list_width, yy + list_height - 1)) {
|
||||||
|
if(struct_has(_node, "tooltip") && _node.tooltip != "") {
|
||||||
|
node_tooltip = _node;
|
||||||
|
node_tooltip_x = search_pane.x + 0;
|
||||||
|
node_tooltip_y = search_pane.y + yy
|
||||||
|
}
|
||||||
|
|
||||||
node_selecting = i;
|
node_selecting = i;
|
||||||
if(mouse_press(mb_left, sFOCUS))
|
if(mouse_press(mb_left, sFOCUS))
|
||||||
buildNode(_node, _param);
|
buildNode(_node, _param);
|
||||||
|
|
|
@ -61,6 +61,40 @@ if !ready exit;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region tooltip
|
||||||
|
if(node_tooltip != noone) {
|
||||||
|
var ww = ui(300 + 8);
|
||||||
|
var hh = ui(16);
|
||||||
|
|
||||||
|
var txt = node_tooltip.tooltip;
|
||||||
|
var spr = node_tooltip.tooltip_spr;
|
||||||
|
|
||||||
|
draw_set_font(f_p1);
|
||||||
|
|
||||||
|
if(spr) {
|
||||||
|
ww = ui(8) + sprite_get_width(spr);
|
||||||
|
hh = ui(8) + sprite_get_height(spr);
|
||||||
|
} else
|
||||||
|
hh = ui(16) + string_height_ext(txt, -1, ww - ui(16));
|
||||||
|
|
||||||
|
var x0 = min(node_tooltip_x, WIN_W - ww - ui(8));
|
||||||
|
var x1 = node_tooltip_x + ww;
|
||||||
|
var y1 = node_tooltip_y - ui(8);
|
||||||
|
var y0 = y1 - hh;
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.textbox, 3, x0, y0, ww, hh, COLORS._main_icon, 1);
|
||||||
|
draw_sprite_stretched(THEME.textbox, 0, x0, y0, ww, hh);
|
||||||
|
|
||||||
|
if(spr)
|
||||||
|
draw_sprite(spr, 0, x0 + ui(4), y0 + ui(4));
|
||||||
|
|
||||||
|
draw_set_text(f_p1, fa_left, fa_bottom, COLORS._main_text)
|
||||||
|
draw_text_ext(x0 + ui(8), y1 - ui(8), txt, -1, ww - ui(16));
|
||||||
|
}
|
||||||
|
|
||||||
|
node_tooltip = noone;
|
||||||
|
#endregion
|
||||||
|
|
||||||
//#region dec
|
//#region dec
|
||||||
// if(node_called) {
|
// if(node_called) {
|
||||||
// var jx = 0;
|
// var jx = 0;
|
||||||
|
|
26
objects/o_dialog_graph_connection/Create_0.gml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
/// @description init
|
||||||
|
event_inherited();
|
||||||
|
|
||||||
|
#region data
|
||||||
|
dialog_w = ui(320);
|
||||||
|
dialog_h = ui(180);
|
||||||
|
|
||||||
|
destroy_on_click_out = true;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region data
|
||||||
|
bs_type = buttonGroup([ THEME.icon_curve_connection, THEME.icon_curve_connection, THEME.icon_curve_connection, THEME.icon_curve_connection ],
|
||||||
|
function(val) {
|
||||||
|
PREF_MAP[? "curve_connection_line"] = val;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
tb_width = new textBox(TEXTBOX_INPUT.number, function(str) {
|
||||||
|
PREF_MAP[? "connection_line_width"] = max(0.5, real(str));
|
||||||
|
})
|
||||||
|
|
||||||
|
tb_corner = new textBox(TEXTBOX_INPUT.number, function(str) {
|
||||||
|
PREF_MAP[? "connection_line_corner"] = max(0, real(str));
|
||||||
|
})
|
||||||
|
tb_corner.slidable = true;
|
||||||
|
#endregion
|
36
objects/o_dialog_graph_connection/Draw_64.gml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/// @description init
|
||||||
|
if !ready exit;
|
||||||
|
|
||||||
|
#region base UI
|
||||||
|
draw_sprite_stretched(THEME.dialog_bg, 0, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||||
|
if(sFOCUS)
|
||||||
|
draw_sprite_stretched_ext(THEME.dialog_active, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1);
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title);
|
||||||
|
draw_text(dialog_x + ui(24), dialog_y + ui(16), "Connection settings");
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region draw
|
||||||
|
var yy = dialog_y + ui(64);
|
||||||
|
var ww = ui(128);
|
||||||
|
|
||||||
|
bs_type.setActiveFocus(sFOCUS, sHOVER);
|
||||||
|
bs_type.register();
|
||||||
|
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
|
||||||
|
draw_text(dialog_x + ui(32), yy, "Type");
|
||||||
|
bs_type.draw(dialog_x + dialog_w - ui(24) - ww, yy - TEXTBOX_HEIGHT / 2, ww, TEXTBOX_HEIGHT, PREF_MAP[? "curve_connection_line"], mouse_ui);
|
||||||
|
|
||||||
|
yy += ui(40);
|
||||||
|
tb_width.setActiveFocus(sFOCUS, sHOVER);
|
||||||
|
tb_width.register();
|
||||||
|
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
|
||||||
|
draw_text(dialog_x + ui(32), yy, "Line thickness");
|
||||||
|
tb_width.draw(dialog_x + dialog_w - ui(24), yy, ww, TEXTBOX_HEIGHT, PREF_MAP[? "connection_line_width"], mouse_ui,, fa_right, fa_center);
|
||||||
|
|
||||||
|
yy += ui(40);
|
||||||
|
tb_corner.setActiveFocus(sFOCUS, sHOVER);
|
||||||
|
tb_corner.register();
|
||||||
|
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
|
||||||
|
draw_text(dialog_x + ui(32), yy, "Corner radius");
|
||||||
|
tb_corner.draw(dialog_x + dialog_w - ui(24), yy, ww, TEXTBOX_HEIGHT, PREF_MAP[? "connection_line_corner"], mouse_ui,, fa_right, fa_center);
|
||||||
|
#endregion
|
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMObject",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "o_dialog_graph_connection",
|
||||||
|
"eventList": [
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,},
|
||||||
|
],
|
||||||
|
"managed": true,
|
||||||
|
"overriddenProperties": [],
|
||||||
|
"parent": {
|
||||||
|
"name": "graph",
|
||||||
|
"path": "folders/dialog/graph.yy",
|
||||||
|
},
|
||||||
|
"parentObjectId": {
|
||||||
|
"name": "_p_dialog",
|
||||||
|
"path": "objects/_p_dialog/_p_dialog.yy",
|
||||||
|
},
|
||||||
|
"persistent": false,
|
||||||
|
"physicsAngularDamping": 0.1,
|
||||||
|
"physicsDensity": 0.5,
|
||||||
|
"physicsFriction": 0.2,
|
||||||
|
"physicsGroup": 1,
|
||||||
|
"physicsKinematic": false,
|
||||||
|
"physicsLinearDamping": 0.1,
|
||||||
|
"physicsObject": false,
|
||||||
|
"physicsRestitution": 0.1,
|
||||||
|
"physicsSensor": false,
|
||||||
|
"physicsShape": 1,
|
||||||
|
"physicsShapePoints": [],
|
||||||
|
"physicsStartAwake": true,
|
||||||
|
"properties": [],
|
||||||
|
"solid": false,
|
||||||
|
"spriteId": null,
|
||||||
|
"spriteMaskId": null,
|
||||||
|
"visible": true,
|
||||||
|
}
|
|
@ -12,6 +12,7 @@ event_inherited();
|
||||||
children = ds_list_create();
|
children = ds_list_create();
|
||||||
ds_list_add(children, self);
|
ds_list_add(children, self);
|
||||||
|
|
||||||
|
tooltips = [];
|
||||||
show_icon = false;
|
show_icon = false;
|
||||||
|
|
||||||
function setMenu(_menu, align = fa_left) {
|
function setMenu(_menu, align = fa_left) {
|
||||||
|
|
|
@ -25,8 +25,11 @@
|
||||||
_h += hght;
|
_h += hght;
|
||||||
|
|
||||||
var hoverable = _menuItem.active && sHOVER;
|
var hoverable = _menuItem.active && sHOVER;
|
||||||
if(hoverable && point_in_rectangle(mouse_mx, mouse_my, dialog_x, yy + 1, dialog_x + dialog_w, yy + _h - 1))
|
if(hoverable && point_in_rectangle(mouse_mx, mouse_my, dialog_x, yy + 1, dialog_x + dialog_w, yy + _h - 1)) {
|
||||||
selecting = i;
|
selecting = i;
|
||||||
|
var tips = array_safe_get(tooltips, i, noone);
|
||||||
|
if(tips != noone) TOOLTIP = tips;
|
||||||
|
}
|
||||||
|
|
||||||
if(selecting == i) {
|
if(selecting == i) {
|
||||||
draw_sprite_stretched_ext(THEME.textbox, 3, dialog_x, yy, dialog_w, _h, COLORS.dialog_menubox_highlight, 0.75);
|
draw_sprite_stretched_ext(THEME.textbox, 3, dialog_x, yy, dialog_w, _h, COLORS.dialog_menubox_highlight, 0.75);
|
||||||
|
|
|
@ -285,6 +285,15 @@ event_inherited();
|
||||||
PREF_SAVE();
|
PREF_SAVE();
|
||||||
})
|
})
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
ds_list_add(pref_appr, [
|
||||||
|
get_text("pref_connection_aa", "Connection anti aliasing"),
|
||||||
|
"connection_line_aa",
|
||||||
|
new textBox(TEXTBOX_INPUT.number, function(str) {
|
||||||
|
PREF_MAP[? "connection_line_aa"] = max(1, real(str));
|
||||||
|
PREF_SAVE();
|
||||||
|
})
|
||||||
|
]);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region theme
|
#region theme
|
||||||
|
|
|
@ -9,46 +9,97 @@ event_inherited();
|
||||||
|
|
||||||
pages = ["Sample projects"];
|
pages = ["Sample projects"];
|
||||||
if(STEAM_ENABLED)
|
if(STEAM_ENABLED)
|
||||||
array_push(pages, "Steam Workshop");
|
array_push(pages, "Workshop");
|
||||||
project_page = 0;
|
project_page = 0;
|
||||||
|
|
||||||
|
thumbnail_retriever = 0;
|
||||||
|
recent_thumbnail = false;
|
||||||
|
|
||||||
|
recent_width = PREF_MAP[? "splash_expand_recent"]? ui(576) : ui(288);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region content
|
#region content
|
||||||
|
function resize() {
|
||||||
|
var x0 = dialog_x + ui(16);
|
||||||
|
var x1 = x0 + recent_width;
|
||||||
|
var y0 = dialog_y + ui(128);
|
||||||
|
var y1 = dialog_y + dialog_h - ui(16);
|
||||||
|
|
||||||
|
sp_recent.resize(x1 - x0 - ui(8), y1 - y0);
|
||||||
|
|
||||||
|
x0 = x1 + ui(16);
|
||||||
|
x1 = dialog_x + dialog_w - ui(16);
|
||||||
|
|
||||||
|
sp_sample.resize(x1 - x0 - ui(8), y1 - y0);
|
||||||
|
}
|
||||||
|
|
||||||
var x0 = dialog_x + ui(16);
|
var x0 = dialog_x + ui(16);
|
||||||
var x1 = x0 + ui(288);
|
var x1 = x0 + recent_width;
|
||||||
var y0 = dialog_y + ui(128);
|
var y0 = dialog_y + ui(128);
|
||||||
var y1 = dialog_y + dialog_h - ui(16);
|
var y1 = dialog_y + dialog_h - ui(16);
|
||||||
|
|
||||||
sp_recent = new scrollPane(x1 - x0 - ui(8), y1 - y0, function(_y, _m) {
|
sp_recent = new scrollPane(x1 - x0 - ui(8), y1 - y0, function(_y, _m) {
|
||||||
draw_clear_alpha(COLORS.panel_bg_clear_inner, 0);
|
draw_clear_alpha(COLORS.panel_bg_clear_inner, 0);
|
||||||
var ww = sp_recent.surface_w - ui(2);
|
var expand = PREF_MAP[? "splash_expand_recent"];
|
||||||
|
var ww = ui(268);
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
var pad = ui(8);
|
var pad = ui(8);
|
||||||
var hg = ui(16) + line_height(f_p0b) + line_height(f_p1);
|
var hgt = ui(16) + line_height(f_p0b) + line_height(f_p1);
|
||||||
_y += pad;
|
_y += pad;
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(RECENT_FILES); i++) {
|
var col = expand? 2 : 1;
|
||||||
var _rec = RECENT_FILES[| i];
|
var row = ceil(ds_list_size(RECENT_FILES) / col);
|
||||||
if(!file_exists(_rec)) continue;
|
|
||||||
draw_sprite_stretched(THEME.ui_panel_bg, 1, 0, _y, ww, hg);
|
for(var i = 0; i < row; i++) {
|
||||||
|
for(var j = 0; j < col; j++) {
|
||||||
|
var ind = i * col + j;
|
||||||
|
if(ind >= ds_list_size(RECENT_FILES)) break;
|
||||||
|
|
||||||
if(sHOVER && sp_recent.hover && point_in_rectangle(_m[0], _m[1], 0, _y, ww, _y + hg)) {
|
var _rec = RECENT_FILES[| ind];
|
||||||
draw_sprite_stretched_ext(THEME.node_active, 0, 0, _y, ww, hg, COLORS._main_accent, 1);
|
var _dat = RECENT_FILE_DATA[| ind];
|
||||||
|
if(!file_exists(_rec)) continue;
|
||||||
if(mouse_press(mb_left, sFOCUS)) {
|
|
||||||
LOAD_PATH(_rec);
|
var thmb = noone;
|
||||||
instance_destroy();
|
var hg = hgt;
|
||||||
|
if(recent_thumbnail) {
|
||||||
|
hg = ui(100);
|
||||||
|
thmb = _dat.getThumbnail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var fx = j * (ww + ui(8));
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.ui_panel_bg, 1, fx, _y, ww, hg);
|
||||||
|
if(thmb && _y + hg > 0 && _y < sp_recent.h) {
|
||||||
|
var sw = surface_get_width(thmb);
|
||||||
|
var sh = surface_get_height(thmb);
|
||||||
|
|
||||||
|
var ss = (ww - ui(8)) / sw;
|
||||||
|
var sy = (((sh * ss) - hg) * clamp((_y + hg) / (sp_recent.h + hg), 0, 1)) / ss;
|
||||||
|
|
||||||
|
draw_surface_part_ext(thmb, 0, sy, sw, (hg - ui(8)) / ss, fx + ui(4), _y + ui(4), ss, ss, COLORS._main_icon_light, 0.9);
|
||||||
|
draw_sprite_stretched_ext(s_fade_up, 0, fx + ui(4), _y + hg - ui(64), ww - ui(8), ui(64), COLORS._main_icon_dark, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sHOVER && sp_recent.hover && point_in_rectangle(_m[0], _m[1], fx, _y, fx + ww, _y + hg)) {
|
||||||
|
TOOLTIP = [ _dat.getThumbnail(), VALUE_TYPE.surface ];
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.node_active, 0, fx, _y, ww, hg, COLORS._main_accent, 1);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS)) {
|
||||||
|
LOAD_PATH(_rec);
|
||||||
|
instance_destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ly = recent_thumbnail? _y + hg - (line_height(f_p0b) + line_height(f_p1)) - ui(8) : _y + ui(8);
|
||||||
|
draw_set_text(f_p0b, fa_left, fa_top, COLORS._main_text);
|
||||||
|
draw_text(fx + ui(12), ly, filename_name(_rec));
|
||||||
|
|
||||||
|
ly += line_height();
|
||||||
|
draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text_sub);
|
||||||
|
draw_text_cut(fx + ui(12), ly, _rec, ww - ui(24));
|
||||||
}
|
}
|
||||||
|
|
||||||
var ly = _y + ui(8);
|
|
||||||
draw_set_text(f_p0b, fa_left, fa_top, COLORS._main_text);
|
|
||||||
draw_text(ui(12), ly, filename_name(_rec));
|
|
||||||
|
|
||||||
ly += line_height();
|
|
||||||
draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text_sub);
|
|
||||||
draw_text_cut(ui(12), ly, _rec, ww - ui(24));
|
|
||||||
|
|
||||||
hh += hg + pad;
|
hh += hg + pad;
|
||||||
_y += hg + pad;
|
_y += hg + pad;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ if !ready exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
var x0 = dialog_x + ui(16);
|
var x0 = dialog_x + ui(16);
|
||||||
var x1 = x0 + ui(288);
|
var x1 = x0 + recent_width;
|
||||||
var y0 = dialog_y + ui(128);
|
var y0 = dialog_y + ui(128);
|
||||||
var y1 = dialog_y + dialog_h - ui(16);
|
var y1 = dialog_y + dialog_h - ui(16);
|
||||||
|
|
||||||
|
@ -46,10 +46,28 @@ if !ready exit;
|
||||||
sp_recent.setActiveFocus(sFOCUS, sHOVER);
|
sp_recent.setActiveFocus(sFOCUS, sHOVER);
|
||||||
sp_recent.draw(x0 + ui(6), y0);
|
sp_recent.draw(x0 + ui(6), y0);
|
||||||
|
|
||||||
|
var bx = x1 - ui(28);
|
||||||
|
var by = y0 - ui(28 + 4);
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Clear recent files", THEME.icon_delete,, COLORS._main_value_negative) == 2) {
|
||||||
|
ds_list_clear(RECENT_FILES);
|
||||||
|
RECENT_SAVE();
|
||||||
|
}
|
||||||
|
bx -= ui(28 + 4);
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, recent_thumbnail? "Hide thumbnail" : "Show thumbnail", THEME.splash_thumbnail, recent_thumbnail) == 2) {
|
||||||
|
recent_thumbnail = !recent_thumbnail;
|
||||||
|
}
|
||||||
|
|
||||||
|
var expandAction = false;
|
||||||
|
var expand = PREF_MAP[? "splash_expand_recent"];
|
||||||
|
if(buttonInstant(THEME.button_hide_fill, x1, (y0 + y1) / 2 - ui(32), ui(16), ui(32), mouse_ui, sFOCUS, sHOVER,, THEME.arrow, expand? 2 : 0) == 2) {
|
||||||
|
PREF_MAP[? "splash_expand_recent"] = !PREF_MAP[? "splash_expand_recent"];
|
||||||
|
expandAction = true;
|
||||||
|
}
|
||||||
|
|
||||||
x0 = x1 + ui(16);
|
x0 = x1 + ui(16);
|
||||||
x1 = dialog_x + dialog_w - ui(16);
|
x1 = dialog_x + dialog_w - ui(16);
|
||||||
|
|
||||||
var bx = x0;
|
bx = x0;
|
||||||
|
|
||||||
for( var i = 0; i < array_length(pages); i++ ) {
|
for( var i = 0; i < array_length(pages); i++ ) {
|
||||||
draw_set_text(f_p0, fa_left, fa_bottom, COLORS._main_text_sub);
|
draw_set_text(f_p0, fa_left, fa_bottom, COLORS._main_text_sub);
|
||||||
|
@ -74,9 +92,11 @@ if !ready exit;
|
||||||
sp_sample.draw(x0 + ui(6), y0);
|
sp_sample.draw(x0 + ui(6), y0);
|
||||||
|
|
||||||
if(project_page == 0) {
|
if(project_page == 0) {
|
||||||
draw_set_text(f_p1, fa_right, fa_bottom, COLORS._main_text_sub);
|
if(!expand) {
|
||||||
draw_text(x1 - ui(82), y0 - ui(4), "Art by ");
|
draw_set_text(f_p1, fa_right, fa_bottom, COLORS._main_text_sub);
|
||||||
draw_sprite_ui_uniform(s_kenney, 0, x1, y0 - ui(4), 2, c_white, 0.5);
|
draw_text(x1 - ui(82), y0 - ui(4), "Art by ");
|
||||||
|
draw_sprite_ui_uniform(s_kenney, 0, x1, y0 - ui(4), 2, c_white, 0.5);
|
||||||
|
}
|
||||||
} else if(project_page == 1) {
|
} else if(project_page == 1) {
|
||||||
var bx = x1 - ui(32);
|
var bx = x1 - ui(32);
|
||||||
var by = y0 - ui(32);
|
var by = y0 - ui(32);
|
||||||
|
@ -88,4 +108,9 @@ if !ready exit;
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), mouse_ui, sFOCUS, sHOVER, "Refresh content", THEME.refresh) == 2)
|
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), mouse_ui, sFOCUS, sHOVER, "Refresh content", THEME.refresh) == 2)
|
||||||
steamUCGload();
|
steamUCGload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(expandAction) {
|
||||||
|
recent_width = PREF_MAP[? "splash_expand_recent"]? ui(576) : ui(288);
|
||||||
|
resize();
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
137
objects/o_dialog_tunnels/Create_0.gml
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
/// @description init
|
||||||
|
event_inherited();
|
||||||
|
|
||||||
|
#region data
|
||||||
|
dialog_w = ui(320);
|
||||||
|
dialog_h = ui(480);
|
||||||
|
|
||||||
|
destroy_on_click_out = true;
|
||||||
|
|
||||||
|
build_x = 0;
|
||||||
|
build_y = 0;
|
||||||
|
|
||||||
|
tunnel_ins = [];
|
||||||
|
tunnel_select = noone;
|
||||||
|
tunnel_hover = noone;
|
||||||
|
|
||||||
|
var amo = ds_map_size(NODE_MAP);
|
||||||
|
var k = ds_map_find_first(NODE_MAP);
|
||||||
|
|
||||||
|
repeat(amo) {
|
||||||
|
var node = NODE_MAP[? k];
|
||||||
|
k = ds_map_find_next(NODE_MAP, k);
|
||||||
|
|
||||||
|
if(instanceof(node) == "Node_Tunnel_In")
|
||||||
|
array_push(tunnel_ins, node);
|
||||||
|
}
|
||||||
|
|
||||||
|
search_string = "";
|
||||||
|
keyboard_lastchar = "";
|
||||||
|
KEYBOARD_STRING = "";
|
||||||
|
keyboard_lastkey = -1;
|
||||||
|
|
||||||
|
search_res = [];
|
||||||
|
tb_search = new textBox(TEXTBOX_INPUT.text, function(str) {
|
||||||
|
search_string = string(str);
|
||||||
|
searchNodes();
|
||||||
|
});
|
||||||
|
tb_search.align = fa_left;
|
||||||
|
tb_search.auto_update = true;
|
||||||
|
tb_search.boxColor = COLORS._main_icon_light;
|
||||||
|
WIDGET_CURRENT = tb_search;
|
||||||
|
|
||||||
|
function searchNodes() {
|
||||||
|
search_res = [];
|
||||||
|
for( var i = 0; i < array_length(tunnel_ins); i++ ) {
|
||||||
|
var node = tunnel_ins[i];
|
||||||
|
var key = node.inputs[| 0].getValue(0);
|
||||||
|
|
||||||
|
if(string_pos(search_string, key) == 0) continue;
|
||||||
|
array_push(search_res, node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region content
|
||||||
|
sc_tunnel = new scrollPane(dialog_w - ui(padding + padding), dialog_h - ui(title_height + padding + 40), function(_y, _m) {
|
||||||
|
draw_clear_alpha(COLORS.panel_bg_clear, 0);
|
||||||
|
var _h = 0;
|
||||||
|
var ww = sc_tunnel.surface_w;
|
||||||
|
var hg = ui(36);
|
||||||
|
var i = 0;
|
||||||
|
|
||||||
|
var arr = search_string == ""? tunnel_ins : search_res;
|
||||||
|
tunnel_hover = noone;
|
||||||
|
|
||||||
|
for( var i = 0; i < array_length(arr); i++ ) {
|
||||||
|
var node = arr[i];
|
||||||
|
|
||||||
|
if(point_in_rectangle(_m[0], _m[1], 0, _y, ww, _y + hg)) {
|
||||||
|
var cc = merge_color(COLORS._main_icon_light, COLORS._main_icon, 0.25);
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y, ww, hg, cc, 1);
|
||||||
|
tunnel_hover = node;
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sc_tunnel.active) && _m[0] < ww - ui(32 + 32 * 2))
|
||||||
|
tunnel_select = tunnel_select == node? noone : node;
|
||||||
|
} else
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y, ww, hg, COLORS._main_icon_light, 1);
|
||||||
|
|
||||||
|
var key = node.inputs[| 0].getValue(0);
|
||||||
|
var bw = ui(28);
|
||||||
|
var bh = ui(28);
|
||||||
|
var bx = ww - ui(4) - bw;
|
||||||
|
var by = _y + (hg - bh) / 2;
|
||||||
|
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, bw, bh, _m, sc_tunnel.active, sc_tunnel.hover, "Go to node", THEME.node_goto) == 2)
|
||||||
|
graphFocusNode(node);
|
||||||
|
bx -= ui(32);
|
||||||
|
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, bw, bh, _m, sc_tunnel.active, sc_tunnel.hover, "Create tunnel out", THEME.tunnel) == 2) {
|
||||||
|
var n = nodeBuild("Node_Tunnel_Out", build_x, build_y);
|
||||||
|
n.inputs[| 0].setValue(key);
|
||||||
|
|
||||||
|
instance_destroy();
|
||||||
|
}
|
||||||
|
bx -= ui(32);
|
||||||
|
|
||||||
|
draw_sprite_ui(THEME.tunnel, 1, ui(4 + 16), _y + hg / 2);
|
||||||
|
draw_set_text(f_p0, fa_left, fa_center, key == ""? COLORS._main_text_sub : COLORS._main_text);
|
||||||
|
draw_text(ui(4 + 32 + 4), _y + hg / 2, key == ""? "[no key]" : key);
|
||||||
|
|
||||||
|
_y += hg + ui(4);
|
||||||
|
_h += hg + ui(4);
|
||||||
|
|
||||||
|
if(tunnel_select == node) {
|
||||||
|
var amo = ds_map_size(TUNNELS_OUT);
|
||||||
|
var k = ds_map_find_first(TUNNELS_OUT);
|
||||||
|
|
||||||
|
repeat(amo) {
|
||||||
|
var _k = k;
|
||||||
|
k = ds_map_find_next(TUNNELS_OUT, k);
|
||||||
|
|
||||||
|
var out = TUNNELS_OUT[? _k];
|
||||||
|
if(out != key || !ds_map_exists(NODE_MAP, _k))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var _node = NODE_MAP[? _k];
|
||||||
|
|
||||||
|
draw_sprite_ui(THEME.tunnel, 0, ui(32), _y + ui(10), 0.75, 0.75, 0, COLORS._main_icon);
|
||||||
|
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text_sub);
|
||||||
|
draw_text(ui(32 + 16), _y + ui(10), _node.display_name == ""? _node.name : _node.display_name);
|
||||||
|
|
||||||
|
|
||||||
|
if(point_in_rectangle(_m[0], _m[1], 0, _y, ww, _y + ui(20)))
|
||||||
|
tunnel_hover = _node;
|
||||||
|
|
||||||
|
_y += ui(20);
|
||||||
|
_h += ui(20);
|
||||||
|
}
|
||||||
|
|
||||||
|
_y += ui(8);
|
||||||
|
_h += ui(8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _h;
|
||||||
|
})
|
||||||
|
#endregion
|
35
objects/o_dialog_tunnels/Draw_64.gml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
/// @description init
|
||||||
|
if !ready exit;
|
||||||
|
|
||||||
|
#region base UI
|
||||||
|
draw_sprite_stretched(THEME.dialog_bg, 0, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||||
|
if(sFOCUS)
|
||||||
|
draw_sprite_stretched_ext(THEME.dialog_active, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1);
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title);
|
||||||
|
draw_text(dialog_x + ui(24), dialog_y + ui(20), get_text("tunnels", "Tunnels"));
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region preset
|
||||||
|
var px = dialog_x + ui(padding);
|
||||||
|
var py = dialog_y + ui(title_height);
|
||||||
|
var pw = dialog_w - ui(padding + padding);
|
||||||
|
var ph = dialog_h - ui(title_height + padding)
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.ui_panel_bg, 0, px - ui(8), py - ui(8), pw + ui(16), ph + ui(16));
|
||||||
|
WIDGET_CURRENT = tb_search;
|
||||||
|
tb_search.draw(px, py, pw, ui(32), search_string, mouse_ui);
|
||||||
|
if(search_string == "")
|
||||||
|
tb_search.sprite_index = 1;
|
||||||
|
|
||||||
|
sc_tunnel.setActiveFocus(sFOCUS, sHOVER);
|
||||||
|
sc_tunnel.draw(px, py + ui(40));
|
||||||
|
|
||||||
|
var bx = dialog_x + dialog_w - ui(32 + 16);
|
||||||
|
var by = dialog_y + ui(16);
|
||||||
|
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), mouse_ui, sFOCUS, sHOVER, "Create tunnel", THEME.tunnel, 1, c_white) == 2) {
|
||||||
|
nodeBuild("Node_Tunnel_In", build_x, build_y);
|
||||||
|
instance_destroy();
|
||||||
|
}
|
||||||
|
#endregion
|
37
objects/o_dialog_tunnels/o_dialog_tunnels.yy
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMObject",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "o_dialog_tunnels",
|
||||||
|
"eventList": [
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","collisionObjectId":null,"eventNum":64,"eventType":8,"isDnD":false,},
|
||||||
|
],
|
||||||
|
"managed": true,
|
||||||
|
"overriddenProperties": [],
|
||||||
|
"parent": {
|
||||||
|
"name": "graph",
|
||||||
|
"path": "folders/dialog/graph.yy",
|
||||||
|
},
|
||||||
|
"parentObjectId": {
|
||||||
|
"name": "_p_dialog",
|
||||||
|
"path": "objects/_p_dialog/_p_dialog.yy",
|
||||||
|
},
|
||||||
|
"persistent": false,
|
||||||
|
"physicsAngularDamping": 0.1,
|
||||||
|
"physicsDensity": 0.5,
|
||||||
|
"physicsFriction": 0.2,
|
||||||
|
"physicsGroup": 1,
|
||||||
|
"physicsKinematic": false,
|
||||||
|
"physicsLinearDamping": 0.1,
|
||||||
|
"physicsObject": false,
|
||||||
|
"physicsRestitution": 0.1,
|
||||||
|
"physicsSensor": false,
|
||||||
|
"physicsShape": 1,
|
||||||
|
"physicsShapePoints": [],
|
||||||
|
"physicsStartAwake": true,
|
||||||
|
"properties": [],
|
||||||
|
"solid": false,
|
||||||
|
"spriteId": null,
|
||||||
|
"spriteMaskId": null,
|
||||||
|
"visible": true,
|
||||||
|
}
|
|
@ -7,6 +7,8 @@
|
||||||
var content = TOOLTIP[0];
|
var content = TOOLTIP[0];
|
||||||
var type = TOOLTIP[1];
|
var type = TOOLTIP[1];
|
||||||
|
|
||||||
|
if(is_method(content)) content = content();
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case VALUE_TYPE.float :
|
case VALUE_TYPE.float :
|
||||||
case VALUE_TYPE.integer :
|
case VALUE_TYPE.integer :
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
__initPresets();
|
__initPresets();
|
||||||
__initFontFolder();
|
__initFontFolder();
|
||||||
__initLua();
|
__initLua();
|
||||||
__init_node_guide();
|
__init_node_data();
|
||||||
|
__init_nodes();
|
||||||
__initSteamUGC();
|
__initSteamUGC();
|
||||||
|
|
||||||
PREF_LOAD();
|
PREF_LOAD();
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
"option_windows_description_info": "Pixel Composer",
|
"option_windows_description_info": "Pixel Composer",
|
||||||
"option_windows_disable_sandbox": true,
|
"option_windows_disable_sandbox": true,
|
||||||
"option_windows_display_cursor": true,
|
"option_windows_display_cursor": true,
|
||||||
"option_windows_display_name": "Pixel Composer 1.13.5",
|
"option_windows_display_name": "Pixel Composer 1.13.7",
|
||||||
"option_windows_enable_steam": false,
|
"option_windows_enable_steam": false,
|
||||||
"option_windows_executable_name": "PixelComposer.exe",
|
"option_windows_executable_name": "PixelComposer.exe",
|
||||||
"option_windows_icon": "icons/icon.ico",
|
"option_windows_icon": "icons/icon.ico",
|
||||||
|
@ -33,6 +33,6 @@
|
||||||
"option_windows_steam_use_alternative_launcher": false,
|
"option_windows_steam_use_alternative_launcher": false,
|
||||||
"option_windows_texture_page": "2048x2048",
|
"option_windows_texture_page": "2048x2048",
|
||||||
"option_windows_use_splash": false,
|
"option_windows_use_splash": false,
|
||||||
"option_windows_version": "1.13.5.0",
|
"option_windows_version": "1.13.7.0",
|
||||||
"option_windows_vsync": false,
|
"option_windows_vsync": false,
|
||||||
}
|
}
|
|
@ -12,7 +12,7 @@
|
||||||
var _l = root + "\\version";
|
var _l = root + "\\version";
|
||||||
if(file_exists(_l)) {
|
if(file_exists(_l)) {
|
||||||
var res = json_load_struct(_l);
|
var res = json_load_struct(_l);
|
||||||
if(res.version < VERSION)
|
if(!is_struct(res) || !struct_has(res, "version") || res.version < VERSION)
|
||||||
zip_unzip("data/Assets.zip", root);
|
zip_unzip("data/Assets.zip", root);
|
||||||
} else
|
} else
|
||||||
zip_unzip("data/Assets.zip", root);
|
zip_unzip("data/Assets.zip", root);
|
||||||
|
|
|
@ -36,7 +36,7 @@ function buttonColor(_onApply, dialog = noone) : widget() constructor {
|
||||||
y = _y;
|
y = _y;
|
||||||
w = _w;
|
w = _w;
|
||||||
h = _h;
|
h = _h;
|
||||||
current_color = _color;
|
current_color = toNumber(_color);
|
||||||
|
|
||||||
b_picker.hover = hover;
|
b_picker.hover = hover;
|
||||||
b_picker.active = active;
|
b_picker.active = active;
|
||||||
|
@ -57,7 +57,7 @@ function buttonColor(_onApply, dialog = noone) : widget() constructor {
|
||||||
if(mouse_press(mb_left)) deactivate();
|
if(mouse_press(mb_left)) deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_sprite_stretched_ext(THEME.color_picker_sample, 0, _x + ui(4), _y + ui(4), _cw - ui(8), _h - ui(8), _color, 1);
|
draw_sprite_stretched_ext(THEME.color_picker_sample, 0, _x + ui(4), _y + ui(4), _cw - ui(8), _h - ui(8), current_color, 1);
|
||||||
|
|
||||||
if(WIDGET_CURRENT == self)
|
if(WIDGET_CURRENT == self)
|
||||||
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
function checkBox(_onClick) : widget() constructor {
|
function checkBox(_onClick) : widget() constructor {
|
||||||
onClick = _onClick;
|
onClick = _onClick;
|
||||||
|
spr = THEME.checkbox;
|
||||||
|
|
||||||
static trigger = function() {
|
static trigger = function() {
|
||||||
if(!onClick) return;
|
if(!onClick) return;
|
||||||
|
@ -26,10 +27,10 @@ function checkBox(_onClick) : widget() constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
var aa = interactable * 0.25 + 0.75;
|
var aa = interactable * 0.25 + 0.75;
|
||||||
draw_sprite_stretched_ext(THEME.checkbox, _value * 2, _dx, _dy, ss, ss, c_white, aa);
|
draw_sprite_stretched_ext(spr, _value * 2, _dx, _dy, ss, ss, c_white, aa);
|
||||||
|
|
||||||
if(hover && point_in_rectangle(_m[0], _m[1], _dx, _dy, _dx + ss, _dy + ss)) {
|
if(hover && point_in_rectangle(_m[0], _m[1], _dx, _dy, _dx + ss, _dy + ss)) {
|
||||||
draw_sprite_stretched_ext(THEME.checkbox, _value * 2 + 1, _dx, _dy, ss, ss, c_white, aa);
|
draw_sprite_stretched_ext(spr, _value * 2 + 1, _dx, _dy, ss, ss, c_white, aa);
|
||||||
|
|
||||||
if(mouse_press(mb_left, active))
|
if(mouse_press(mb_left, active))
|
||||||
trigger();
|
trigger();
|
||||||
|
|
|
@ -11,7 +11,7 @@ function __initCollection() {
|
||||||
var _l = root + "\\version";
|
var _l = root + "\\version";
|
||||||
if(file_exists(_l)) {
|
if(file_exists(_l)) {
|
||||||
var res = json_load_struct(_l);
|
var res = json_load_struct(_l);
|
||||||
if(res.version < VERSION)
|
if(!is_struct(res) || !struct_has(res, "version") || res.version < VERSION)
|
||||||
zip_unzip("data/Collections.zip", root);
|
zip_unzip("data/Collections.zip", root);
|
||||||
} else
|
} else
|
||||||
zip_unzip("data/Collections.zip", root);
|
zip_unzip("data/Collections.zip", root);
|
||||||
|
|
|
@ -16,11 +16,11 @@ function loadColor(theme = "default") {
|
||||||
var oclr = {};
|
var oclr = {};
|
||||||
if(file_exists(pathO)) {
|
if(file_exists(pathO)) {
|
||||||
var s = file_text_read_all(pathO);
|
var s = file_text_read_all(pathO);
|
||||||
oclr = json_parse(s);
|
oclr = json_try_parse(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
var s = file_text_read_all(path);
|
var s = file_text_read_all(path);
|
||||||
var clrs = json_parse(s);
|
var clrs = json_try_parse(s);
|
||||||
|
|
||||||
var defkeys = variable_struct_get_names(clrs.define);
|
var defkeys = variable_struct_get_names(clrs.define);
|
||||||
COLOR_KEYS = defkeys;
|
COLOR_KEYS = defkeys;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
globalvar DEBUG_COUNTER;
|
globalvar DEBUG_COUNTER;
|
||||||
DEBUG_COUNTER = ds_map_create();
|
DEBUG_COUNTER = ds_map_create();
|
||||||
|
|
||||||
function __count(key) {
|
function __debug_counter(key) {
|
||||||
if(ds_map_exists(DEBUG_COUNTER, key))
|
if(ds_map_exists(DEBUG_COUNTER, key))
|
||||||
DEBUG_COUNTER[? key]++;
|
DEBUG_COUNTER[? key]++;
|
||||||
else
|
else
|
||||||
|
@ -104,7 +104,7 @@ function setException() {
|
||||||
return 0;
|
return 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
setException();
|
//setException();
|
||||||
|
|
||||||
function resetException() {
|
function resetException() {
|
||||||
exception_unhandled_handler(undefined);
|
exception_unhandled_handler(undefined);
|
||||||
|
|
|
@ -7,6 +7,10 @@ function FileObject(_name, _path) constructor {
|
||||||
surface = noone;
|
surface = noone;
|
||||||
meta = noone;
|
meta = noone;
|
||||||
|
|
||||||
|
retrive_data = false;
|
||||||
|
thumbnail_data = -1;
|
||||||
|
thumbnail = noone;
|
||||||
|
|
||||||
static getSurface = function() {
|
static getSurface = function() {
|
||||||
if(is_surface(surface)) return surface;
|
if(is_surface(surface)) return surface;
|
||||||
var spr = getSpr();
|
var spr = getSpr();
|
||||||
|
@ -14,6 +18,15 @@ function FileObject(_name, _path) constructor {
|
||||||
return surface;
|
return surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static getThumbnail = function() {
|
||||||
|
if(!retrive_data) getMetadata();
|
||||||
|
|
||||||
|
if(thumbnail_data == -1) return noone;
|
||||||
|
if(thumbnail != noone && is_surface(thumbnail)) return thumbnail;
|
||||||
|
|
||||||
|
thumbnail = surface_decode(thumbnail_data);
|
||||||
|
}
|
||||||
|
|
||||||
static getSpr = function() {
|
static getSpr = function() {
|
||||||
if(sprite_exists(spr)) return spr;
|
if(sprite_exists(spr)) return spr;
|
||||||
var path = array_safe_get(spr_path, 0);
|
var path = array_safe_get(spr_path, 0);
|
||||||
|
@ -28,6 +41,7 @@ function FileObject(_name, _path) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static getMetadata = function() {
|
static getMetadata = function() {
|
||||||
|
retrive_data = true;
|
||||||
if(!file_exists(path)) return noone;
|
if(!file_exists(path)) return noone;
|
||||||
if(meta != noone) return meta;
|
if(meta != noone) return meta;
|
||||||
if(meta == undefined) return noone;
|
if(meta == undefined) return noone;
|
||||||
|
@ -38,14 +52,17 @@ function FileObject(_name, _path) constructor {
|
||||||
meta = new MetaDataManager();
|
meta = new MetaDataManager();
|
||||||
if(ds_map_exists(m, "metadata"))
|
if(ds_map_exists(m, "metadata"))
|
||||||
meta.deserialize(m[? "metadata"]);
|
meta.deserialize(m[? "metadata"]);
|
||||||
|
if(ds_map_exists(m, "preview")) {
|
||||||
|
thumbnail_data = json_try_parse(m[? "preview"], -1);
|
||||||
|
}
|
||||||
|
|
||||||
meta.version = m[? "version"];
|
meta.version = m[? "version"];
|
||||||
meta.name = name;
|
meta.name = name;
|
||||||
|
|
||||||
switch(filename_ext(path)) {
|
switch(filename_ext(path)) {
|
||||||
case ".pxc" : meta.type = FILE_TYPE.project; break;
|
case ".pxc" : meta.type = FILE_TYPE.project; break;
|
||||||
case ".pxcc" : meta.type = FILE_TYPE.collection; break;
|
case ".pxcc" : meta.type = FILE_TYPE.collection; break;
|
||||||
default : meta.type = FILE_TYPE.assets; break;
|
default : meta.type = FILE_TYPE.assets; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ds_map_destroy(m);
|
ds_map_destroy(m);
|
||||||
|
|
39
scripts/draw_corner/draw_corner.gml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
function draw_corner(x1, y1, xc, yc, x3, y3, thick = 1, col = c_white) {
|
||||||
|
var dir0 = point_direction(x1, y1, xc, yc);
|
||||||
|
var dir1 = point_direction(x3, y3, xc, yc);
|
||||||
|
|
||||||
|
var p2 = point_rotate(xc, yc, x1, y1, -90);
|
||||||
|
var x2 = p2[0];
|
||||||
|
var y2 = p2[1];
|
||||||
|
|
||||||
|
var p4 = point_rotate(xc, yc, x3, y3, 90);
|
||||||
|
var x4 = p4[0];
|
||||||
|
var y4 = p4[1];
|
||||||
|
|
||||||
|
//draw_circle(x1, y1, 3, false);
|
||||||
|
//draw_circle(xc, yc, 3, false);
|
||||||
|
//draw_circle(x3, y3, 3, false);
|
||||||
|
|
||||||
|
var ra = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
|
||||||
|
if(ra == 0) return;
|
||||||
|
|
||||||
|
var px = ((x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4)) / ra;
|
||||||
|
var py = ((x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4)) / ra;
|
||||||
|
|
||||||
|
var r = point_distance(px, py, x1, y1);
|
||||||
|
var d0 = point_direction(px, py, x1, y1);
|
||||||
|
var d1 = point_direction(px, py, x3, y3);
|
||||||
|
|
||||||
|
draw_set_color(col);
|
||||||
|
var ox, oy, nx, ny;
|
||||||
|
for( var i = 0; i <= 1; i += 0.1 ) {
|
||||||
|
var a = d0 + angle_difference(d1, d0) * i;
|
||||||
|
nx = px + lengthdir_x(r, a);
|
||||||
|
ny = py + lengthdir_y(r, a);
|
||||||
|
|
||||||
|
if(i > 0) draw_line_round(ox, oy, nx, ny, thick);
|
||||||
|
|
||||||
|
ox = nx;
|
||||||
|
oy = ny;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/draw_corner/draw_corner.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_corner",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "draw",
|
||||||
|
"path": "folders/functions/draw.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -35,7 +35,10 @@ function draw_line_curve(x0, y0, x1, y1, thick = 1) {
|
||||||
//buffer_delete(buff);
|
//buffer_delete(buff);
|
||||||
}
|
}
|
||||||
|
|
||||||
function draw_line_curve_color(x0, y0, x1, y1, xc, yc, _s, thick, col1, col2, type = LINE_STYLE.solid) {
|
function draw_line_curve_color(x0, y0, x1, y1, xc = noone, yc = noone, _s = 1, thick = 1, col1 = c_white, col2 = c_white, type = LINE_STYLE.solid) {
|
||||||
|
if(xc == noone) xc = (x0 + x1) / 2;
|
||||||
|
if(yc == noone) yc = (y0 + y1) / 2;
|
||||||
|
|
||||||
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 16 * PREF_MAP[? "connection_line_sample"]);
|
var sample = ceil((abs(x0 - x1) + abs(y0 - y1)) / 16 * PREF_MAP[? "connection_line_sample"]);
|
||||||
sample = clamp(sample, 8, 128);
|
sample = clamp(sample, 8, 128);
|
||||||
|
|
||||||
|
@ -69,11 +72,11 @@ function draw_line_curve_color(x0, y0, x1, y1, xc, yc, _s, thick, col1, col2, ty
|
||||||
if(i) {
|
if(i) {
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case LINE_STYLE.solid :
|
case LINE_STYLE.solid :
|
||||||
draw_line_width_color(ox, oy, nx, ny, thick, oc, nc);
|
draw_line_round_color(ox, oy, nx, ny, thick, oc, nc);
|
||||||
break;
|
break;
|
||||||
case LINE_STYLE.dashed :
|
case LINE_STYLE.dashed :
|
||||||
if(floor(i / dash_distance) % 2)
|
if(floor(i / dash_distance) % 2)
|
||||||
draw_line_width_color(ox, oy, nx, ny, thick, oc, nc);
|
draw_line_round_color(ox, oy, nx, ny, thick, oc, nc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -120,28 +123,4 @@ function distance_to_curve(mx, my, x0, y0, x1, y1, xc, yc, _s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
|
||||||
|
|
||||||
function draw_line_elbow(x0, y0, x1, y1, thick = 1, type = LINE_STYLE.solid) {
|
|
||||||
var cx = (x0 + x1) / 2;
|
|
||||||
draw_line_width(x0, y0, cx, y0, thick);
|
|
||||||
draw_line_width(cx, y0 - thick / 2 * sign(y1 - y0), cx, y1 + thick / 2 * sign(y1 - y0), thick);
|
|
||||||
draw_line_width(cx, y1, x1, y1, thick);
|
|
||||||
}
|
|
||||||
|
|
||||||
function draw_line_elbow_color(x0, y0, x1, y1, cx, thick, col1, col2, type = LINE_STYLE.solid) {
|
|
||||||
var _x0 = min(x0, x1);
|
|
||||||
var _x1 = max(x0, x1);
|
|
||||||
var rat = (cx - _x0) / (_x1 - _x0);
|
|
||||||
var cm = merge_color(col1, col2, rat);
|
|
||||||
|
|
||||||
if(type == LINE_STYLE.solid) {
|
|
||||||
draw_line_width_color(x0, y0, cx, y0, thick, col1, cm);
|
|
||||||
draw_line_width_color(cx, y0 - thick / 2 * sign(y1 - y0), cx, y1 + thick / 2 * sign(y1 - y0), thick, cm, cm);
|
|
||||||
draw_line_width_color(cx, y1, x1, y1, thick, cm, col2);
|
|
||||||
} else {
|
|
||||||
draw_line_dashed_color(x0, y0, cx, y0, thick, col1, cm, 12);
|
|
||||||
draw_line_dashed_color(cx, y0 - thick / 2 * sign(y1 - y0), cx, y1 + thick / 2 * sign(y1 - y0), thick, cm, cm, 12);
|
|
||||||
draw_line_dashed_color(cx, y1, x1, y1, thick, cm, col2, 12);
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -41,7 +41,7 @@ function draw_line_dashed_color(x0, y0, x1, y1, th, c0, c1, dash_distance = 8) {
|
||||||
nc = merge_color(c0, c1, i / part);
|
nc = merge_color(c0, c1, i / part);
|
||||||
|
|
||||||
if(i && i % 2) {
|
if(i && i % 2) {
|
||||||
draw_line_width_color(ox, oy, nx, ny, th, oc, nc);
|
draw_line_round_color(ox, oy, nx, ny, th, oc, nc);
|
||||||
}
|
}
|
||||||
|
|
||||||
oc = nc;
|
oc = nc;
|
||||||
|
|
96
scripts/draw_line_elbow/draw_line_elbow.gml
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
function draw_line_elbow_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, thick = 1, col1 = c_white, col2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) {
|
||||||
|
if(cx == noone) cx = (x0 + x1) / 2;
|
||||||
|
if(cy == noone) cy = (y0 + y1) / 2;
|
||||||
|
|
||||||
|
var _x0 = min(x0, x1);
|
||||||
|
var _x1 = max(x0, x1);
|
||||||
|
var _y0 = min(y0, y1);
|
||||||
|
var _y1 = max(y0, y1);
|
||||||
|
var th = thick / 2;
|
||||||
|
var inv = x1 - 16 * indexOut * _s <= x0 + 16 * indexIn * _s;
|
||||||
|
var rat = inv? (_y1 == _y0? 0.5 : (cy - _y0) / (_y1 - _y0)) :
|
||||||
|
(_x1 == _x0? 0.5 : (cx - _x0) / (_x1 - _x0));
|
||||||
|
var cm = merge_color(col1, col2, rat);
|
||||||
|
|
||||||
|
var iy = sign(y1 - y0);
|
||||||
|
var iy0 = sign(cy - y0);
|
||||||
|
var iy1 = sign(y1 - cy);
|
||||||
|
|
||||||
|
if(y0 != y1 && inv) {
|
||||||
|
var xx0 = x0 + 16 * _s * indexIn;
|
||||||
|
var xx1 = x1 - 16 * _s * indexOut;
|
||||||
|
var corns = min(corner, 16 * _s);
|
||||||
|
corner = min(corner, abs(cy - y0) / 2, abs(cy - y1) / 2, abs(xx1 - xx0) / 2);
|
||||||
|
|
||||||
|
if(type == LINE_STYLE.solid) {
|
||||||
|
draw_set_color(col1); draw_line_width(x0, y0, xx0 - corns, y0, thick);
|
||||||
|
draw_set_color(col2); draw_line_width(xx1 + corns, y1, x1, y1, thick);
|
||||||
|
|
||||||
|
draw_line_round_color(xx0, y0 + corns * iy0, xx0, cy - corner * iy0, thick, col1, cm);
|
||||||
|
draw_line_round_color(xx0 - corner * sign(xx0 - xx1), cy, xx1 + corner * sign(xx0 - xx1), cy, thick, cm, cm);
|
||||||
|
draw_line_round_color(xx1, cy + corner * iy1, xx1, y1 - corns * iy1, thick, cm, col2);
|
||||||
|
|
||||||
|
if(corns) {
|
||||||
|
draw_corner(xx0 - corns, y0, xx0, y0, xx0, y0 + corns * iy0, thick, cm);
|
||||||
|
draw_corner(xx1, y1 - corns * iy1, xx1, y1, xx1 + corns, y1, thick, cm);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(corner) {
|
||||||
|
draw_corner(xx0, cy - corner * iy0, xx0, cy, xx0 - corner, cy, thick, cm);
|
||||||
|
draw_corner(xx1 + corner, cy, xx1, cy, xx1, cy + corner * iy1, thick, cm);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
draw_set_color(col1); draw_line_width(x0, y0, xx0, y0, thick);
|
||||||
|
draw_set_color(col2); draw_line_width(xx1, y1, x1, y1, thick);
|
||||||
|
|
||||||
|
draw_line_dashed_color(xx0, y0, xx0, cy, thick, col1, cm, 12);
|
||||||
|
draw_line_dashed_color(xx0, cy, xx1, cy, thick, cm, cm, 12);
|
||||||
|
draw_line_dashed_color(xx1, cy, xx1, y1, thick, cm, col2, 12);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(type == LINE_STYLE.solid) {
|
||||||
|
corner = min(corner, abs(y1 - y0) / 2, abs(x0 - cx), abs(x1 - cx), abs(x1 - x0) / 2);
|
||||||
|
|
||||||
|
draw_line_round_color(x0, y0, cx - corner * sign(cx - x0), y0, thick, col1, cm);
|
||||||
|
draw_line_round_color(cx, y0 + corner * iy, cx, y1 - corner * iy, thick, cm, cm);
|
||||||
|
draw_line_round_color(cx + corner * sign(x1 - cx), y1, x1, y1, thick, cm, col2);
|
||||||
|
|
||||||
|
if(corner) {
|
||||||
|
draw_corner(cx - corner * sign(cx - x0), y0, cx, y0, cx, y0 + corner * iy, thick, cm);
|
||||||
|
draw_corner(cx, y1 - corner * iy, cx, y1, cx + corner * sign(x1 - cx), y1, thick, cm);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
draw_line_dashed_color(x0, y0, cx, y0, thick, col1, cm, 12);
|
||||||
|
draw_line_dashed_color(cx, y0, cx, y1, thick, cm, cm, 12);
|
||||||
|
draw_line_dashed_color(cx, y1, x1, y1, thick, cm, col2, 12);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function distance_to_elbow(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, indexOut = 1) {
|
||||||
|
var inv = x1 - 16 * _s * indexOut <= x0 + 16 * _s * indexIn;
|
||||||
|
var xx0 = x0 + 16 * _s * indexIn;
|
||||||
|
var xx1 = x1 - 16 * _s * indexOut;
|
||||||
|
|
||||||
|
if(y0 != y1 && inv) {
|
||||||
|
var dist = distance_to_line(mx, my, xx0, y0, xx0, cy);
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0, cy, xx1, cy));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx1, cy, xx1, y1));
|
||||||
|
|
||||||
|
return dist;
|
||||||
|
} else {
|
||||||
|
var dist = distance_to_line(mx, my, cx, y0, cx, y1);
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x0, y0, cx, y0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, cx, y1, x1, y1));
|
||||||
|
|
||||||
|
return dist;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function elbow_distance_center(mx, my, x0, y0, x1, y1, cx, cy, _s) {
|
||||||
|
var inv = x1 - 16 * _s <= x0 + 16 * _s;
|
||||||
|
if(inv)
|
||||||
|
return distance_to_line(mx, my, x0, cy, x1, cy);
|
||||||
|
else
|
||||||
|
return distance_to_line(mx, my, cx, y0, cx, y1);
|
||||||
|
}
|
11
scripts/draw_line_elbow/draw_line_elbow.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_line_elbow",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "draw",
|
||||||
|
"path": "folders/functions/draw.yy",
|
||||||
|
},
|
||||||
|
}
|
298
scripts/draw_line_elbow_diag/draw_line_elbow_diag.gml
Normal file
|
@ -0,0 +1,298 @@
|
||||||
|
function draw_line_elbow_diag_color(x0, y0, x1, y1, cx = noone, cy = noone, _s = 1, thick = 1, c1 = c_white, c2 = c_white, corner = 0, indexIn = 1, indexOut = 1, type = LINE_STYLE.solid) {
|
||||||
|
if(cx == noone) cx = (x0 + x1) / 2;
|
||||||
|
if(cy == noone) cy = (y0 + y1) / 2;
|
||||||
|
|
||||||
|
var iy = sign(y1 - y0);
|
||||||
|
|
||||||
|
var xx0 = x0 + 16 * _s * indexIn;
|
||||||
|
var xx1 = x1 - 16 * _s * indexOut;
|
||||||
|
var yy0 = y0 + 16 * _s * iy;
|
||||||
|
var yy1 = y1 - 16 * _s * iy;
|
||||||
|
|
||||||
|
var ix = sign(xx0 - xx1);
|
||||||
|
|
||||||
|
var vert = abs(yy1 - yy0) > abs(xx1 - xx0);
|
||||||
|
var inv = vert || xx1 <= xx0;
|
||||||
|
var _x0 = min(x0, x1);
|
||||||
|
var _x1 = max(x0, x1);
|
||||||
|
var _y0 = min(y0, y1);
|
||||||
|
var _y1 = max(y0, y1);
|
||||||
|
var rx = _x1 - _x0;
|
||||||
|
var ry = _y1 - _y0;
|
||||||
|
|
||||||
|
if(inv) {
|
||||||
|
var cm = merge_color(c1, c2, 0.5);
|
||||||
|
|
||||||
|
var ofl = cy < _y0 || cy > _y1;
|
||||||
|
var iy0 = sign(cy - y0);
|
||||||
|
var iy1 = sign(y1 - cy);
|
||||||
|
var rrx = abs(xx0 - xx1);
|
||||||
|
|
||||||
|
var cS = min(corner, 16 * _s);
|
||||||
|
|
||||||
|
if(xx1 > xx0 && !ofl) {
|
||||||
|
var cS0 = min(cS, abs(cy - y0) - rrx / 2);
|
||||||
|
cS0 = max(0, cS0);
|
||||||
|
|
||||||
|
var cS1 = min(cS, abs(cy - y1) - rrx / 2);
|
||||||
|
cS1 = max(0, cS1);
|
||||||
|
|
||||||
|
var top = abs(cy - y0) < rrx / 2;
|
||||||
|
var bot = abs(y1 - cy) < rrx / 2;
|
||||||
|
|
||||||
|
if(top) {
|
||||||
|
draw_line_round_color(x0, y0, xx0, y0, thick, c1, c1);
|
||||||
|
draw_line_round_color(xx1 + cS, y1, x1, y1, thick, c2, c2);
|
||||||
|
|
||||||
|
var cor = (cy - y0) * 2;
|
||||||
|
var x1s = xx1 - cor * iy;
|
||||||
|
var y1s = y0 + cor;
|
||||||
|
var xcr = min(cS, abs(xx1 - x1s) / 2);
|
||||||
|
var ycr = min(cS, abs( y0 - y1s) / 2);
|
||||||
|
|
||||||
|
var _xcr = xcr / sqrt(2);
|
||||||
|
var _ycr = ycr / sqrt(2);
|
||||||
|
|
||||||
|
draw_line_round_color(xx0, y0, x1s - xcr, y0, thick, c1, cm);
|
||||||
|
draw_line_round_color(xx1, y1s + ycr * iy, xx1, y1 - cS * iy, thick, cm, c2);
|
||||||
|
|
||||||
|
draw_line_round_color(x1s + _xcr, y0 + _xcr * iy, xx1 - _ycr, y1s - _ycr * iy, thick, cm, cm);
|
||||||
|
|
||||||
|
if(cS) draw_corner(xx1, y1 - cS * iy, xx1, y1, xx1 + cS, y1, thick, cm);
|
||||||
|
if(xcr) draw_corner(x1s - xcr, y0, x1s, y0, x1s + _xcr, y0 + _xcr * iy, thick, cm);
|
||||||
|
if(ycr) draw_corner(xx1 - _ycr, y1s - _ycr * iy, xx1, y1s, xx1, y1s + ycr * iy, thick, cm);
|
||||||
|
} else if(bot) {
|
||||||
|
draw_line_round_color(x0, y0, xx0 - cS, y0, thick, c1, c1);
|
||||||
|
draw_line_round_color(xx1, y1, x1, y1, thick, c2, c2);
|
||||||
|
|
||||||
|
var cor = (y1 - cy) * 2;
|
||||||
|
var x1s = xx0 + cor * iy;
|
||||||
|
var y1s = y1 - cor;
|
||||||
|
var xcr = min(cS, abs(xx0 - x1s) / 2);
|
||||||
|
var ycr = min(cS, abs( y1 - y1s) / 2);
|
||||||
|
|
||||||
|
var _xcr = xcr / sqrt(2);
|
||||||
|
var _ycr = ycr / sqrt(2);
|
||||||
|
|
||||||
|
draw_line_round_color(xx0, y0 + cS * iy, xx0, y1s - ycr * iy, thick, c1, cm);
|
||||||
|
draw_line_round_color(x1s + xcr, y1, xx1, y1, thick, cm, c2);
|
||||||
|
|
||||||
|
draw_line_round_color(xx0 + _ycr, y1s + _ycr * iy, x1s - _xcr, y1 - _xcr * iy, thick, cm, cm);
|
||||||
|
|
||||||
|
if(cS) draw_corner(xx0 - cS, y0, xx0, y0, xx0, y0 + cS * iy, thick, cm);
|
||||||
|
if(xcr) draw_corner(x1s - _xcr, y1 - _xcr * iy, x1s, y1, x1s + xcr, y1, thick, cm);
|
||||||
|
if(ycr) draw_corner(xx0, y1s - ycr * iy, xx0, y1s, xx0 + _ycr, y1s + _ycr * iy, thick, cm);
|
||||||
|
} else {
|
||||||
|
draw_line_round_color(x0, y0, xx0 - cS0, y0, thick, c1, c1);
|
||||||
|
draw_line_round_color(xx1 + cS1, y1, x1, y1, thick, c2, c2);
|
||||||
|
|
||||||
|
var cor = rrx / 2;
|
||||||
|
var yC0 = cy - cor * iy0;
|
||||||
|
var yC1 = cy + cor * iy1;
|
||||||
|
|
||||||
|
var corY0 = min(corner, abs(yC0 - (y0 + cS0 * iy)), abs(xx1 - xx0));
|
||||||
|
var corY1 = min(corner, abs(yC1 - (y1 - cS1 * iy)), abs(xx1 - xx0));
|
||||||
|
|
||||||
|
var _corY0 = corY0 / sqrt(2);
|
||||||
|
var _corY1 = corY1 / sqrt(2);
|
||||||
|
|
||||||
|
draw_line_round_color(xx0, y0 + cS0 * iy, xx0, yC0 - corY0 * iy, thick, c1, cm);
|
||||||
|
draw_line_round_color(xx1, yC1 + corY1 * iy, xx1, y1 - cS1 * iy, thick, cm, c2);
|
||||||
|
|
||||||
|
draw_line_round_color(xx0 + _corY0, yC0 + _corY0 * iy, xx1 - _corY1, yC1 - _corY1 * iy, thick, cm, cm);
|
||||||
|
|
||||||
|
if(cS0) draw_corner(xx0 - cS0, y0, xx0, y0, xx0, y0 + cS0 * iy0, thick, c1);
|
||||||
|
if(cS1) draw_corner(xx1, y1 - cS1 * iy1, xx1, y1, xx1 + cS1, y1, thick, c1);
|
||||||
|
|
||||||
|
if(corY0) draw_corner(xx0, yC0 - corY0 * iy, xx0, yC0, xx0 + _corY0, yC0 + _corY0 * iy, thick, c1);
|
||||||
|
if(corY1) draw_corner(xx1, yC1 + corY1 * iy, xx1, yC1, xx1 - _corY1, yC1 - _corY1 * iy, thick, c1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var cR0 = min(cS, abs(y0 - cy) / 2);
|
||||||
|
var cR1 = min(cS, abs(y1 - cy) / 2);
|
||||||
|
|
||||||
|
var cut0 = min(abs(cy - yy0) / 2, abs(xx1 - xx0) / 2, ofl? 16 * _s : 9999);
|
||||||
|
var cut1 = min(abs(cy - yy1) / 2, abs(xx1 - xx0) / 2, ofl? 16 * _s : 9999);
|
||||||
|
|
||||||
|
var crX0 = xx0;
|
||||||
|
var crY0 = cy - cut0 * iy0;
|
||||||
|
var crX1 = xx0 - cut0 * ix;
|
||||||
|
var crY1 = cy;
|
||||||
|
var crX2 = xx1 + cut1 * ix;
|
||||||
|
var crY2 = cy;
|
||||||
|
var crX3 = xx1;
|
||||||
|
var crY3 = cy + cut1 * iy1;
|
||||||
|
|
||||||
|
var crn0 = min(cS / 2, abs(crY0 - (y0 + cR0 * iy0)) / 2, abs(crX1 - crX2) / 2);
|
||||||
|
var crn1 = min(cS / 2, abs(crY3 - (y1 - cR1 * iy1)) / 2, abs(crX1 - crX2) / 2);
|
||||||
|
|
||||||
|
var _crn0 = crn0 / sqrt(2);
|
||||||
|
var _crn1 = crn1 / sqrt(2);
|
||||||
|
|
||||||
|
draw_line_round_color(x0, y0, xx0 - cR0, y0, thick, c1, c1);
|
||||||
|
draw_line_round_color(xx1 + cR1, y1, x1, y1, thick, c2, c2);
|
||||||
|
|
||||||
|
if(cS) draw_corner(xx0 - cR0, y0, xx0, y0, xx0, y0 + cR0 * iy0, thick, c1);
|
||||||
|
if(cS) draw_corner(xx1, y1 - cR1 * iy1, xx1, y1, xx1 + cR1, y1, thick, c1);
|
||||||
|
|
||||||
|
if(abs(crX0 - crX3) == abs(crY0 - crY3)) {
|
||||||
|
var cR = min(cS, abs(xx1 - xx0) / 2);
|
||||||
|
var _cR = cR / sqrt(2);
|
||||||
|
|
||||||
|
draw_line_round_color( crX0, y0 + cR0 * iy0, crX0, crY0 - cR * iy0, thick, c1, cm);
|
||||||
|
draw_line_round_color( crX3, y1 - cR1 * iy1, crX3, crY3 + cR * iy1, thick, c2, cm);
|
||||||
|
draw_line_round_color( crX0 - _cR, crY0 + _cR * iy0, crX3 + _cR, crY3 - _cR * iy1, thick, cm, cm);
|
||||||
|
|
||||||
|
if(cR) {
|
||||||
|
draw_corner( crX0, crY0 - cR * iy0, crX0, crY0, crX0 - _cR, crY0 + _cR * iy0, thick, c1);
|
||||||
|
draw_corner(crX3 + _cR, crY3 - _cR * iy1, crX3, crY3, crX3, crY3 + cR * iy1, thick, c2);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
draw_line_round_color( crX0, y0 + cR0 * iy0, crX0, crY0 - crn0 * iy0, thick, c1, cm);
|
||||||
|
draw_line_round_color(crX1 - crn0 * ix, crY1, crX2 + crn1 * ix, crY2, thick, cm, cm);
|
||||||
|
draw_line_round_color( crX3, crY3 + crn1 * iy1, crX3, y1 - cR1 * iy1, thick, cm, c2);
|
||||||
|
|
||||||
|
draw_line_round_color(crX0 - _crn0 * ix, crY0 + _crn0 * iy0, crX1 + _crn0 * ix, crY1 - _crn0 * iy0, thick, cm, cm);
|
||||||
|
draw_line_round_color(crX2 - _crn1 * ix, crY2 + _crn1 * iy1, crX3 + _crn1 * ix, crY3 - _crn1 * iy1, thick, cm, cm);
|
||||||
|
|
||||||
|
if(crn0) {
|
||||||
|
draw_corner( crX0, crY0 - crn0 * iy0, crX0, crY0, crX0 - _crn0 * ix, crY0 + _crn0 * iy0, thick, c1);
|
||||||
|
draw_corner(crX1 + _crn0 * ix, crY1 - _crn0 * iy0, crX1, crY1, crX1 - crn0 * ix, crY1, thick, c2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(crn1) {
|
||||||
|
draw_corner(crX2 + crn1 * ix, crY2, crX2, crY2, crX2 - _crn1 * ix, crY2 + _crn1 * iy1, thick, c1);
|
||||||
|
draw_corner( crX3, crY3 + crn1 * iy1, crX3, crY3, crX3 + _crn1 * ix, crY3 - _crn1 * iy1, thick, c2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cx = clamp(cx, _x0 + abs(ry) / 2, _x1 - abs(ry) / 2);
|
||||||
|
cy = clamp(cy, _y0 + abs(rx) / 2, _y1 - abs(rx) / 2);
|
||||||
|
|
||||||
|
var ry = _y1 - _y0;
|
||||||
|
var _xc0 = clamp(cx - (ry / 2) * sign(x1 - x0), _x0, _x1);
|
||||||
|
var _xc1 = clamp(cx + (ry / 2) * sign(x1 - x0), _x0, _x1);
|
||||||
|
|
||||||
|
var rat = rx == 0? 0.5 : (cx - _x0) / rx;
|
||||||
|
var cm = merge_color(c1, c2, rat);
|
||||||
|
var iy = sign(y1 - y0);
|
||||||
|
|
||||||
|
if(type == LINE_STYLE.solid) {
|
||||||
|
var corn = min(corner, abs(x0 - _xc0), abs(x1 - _xc1), abs(y1 - y0) / 2);
|
||||||
|
var cor2 = corn / sqrt(2);
|
||||||
|
|
||||||
|
draw_line_round_color( x0, y0, _xc0 - corn, y0, thick, c1, cm);
|
||||||
|
draw_line_round_color(_xc0 + cor2, y0 + cor2 * iy, _xc1 - cor2, y1 - cor2 * iy, thick, cm, cm);
|
||||||
|
draw_line_round_color(_xc1 + corn, y1, x1, y1, thick, cm, c2);
|
||||||
|
|
||||||
|
if(corn) {
|
||||||
|
draw_corner(_xc0 - corn, y0, _xc0, y0, _xc0 + cor2, y0 + cor2 * iy, thick, cm);
|
||||||
|
draw_corner(_xc1 - cor2, y1 - cor2 * iy, _xc1, y1, _xc1 + corn, y1, thick, cm);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
draw_line_dashed_color( x0, y0, _xc0, y0, thick, c1, cm, 12);
|
||||||
|
draw_line_dashed_color(_xc0, y0, _xc1, y1, thick, cm, cm, 12);
|
||||||
|
draw_line_dashed_color(_xc1, y1, x1, y1, thick, cm, c2, 12);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function distance_to_elbow_diag(mx, my, x0, y0, x1, y1, cx, cy, _s, indexIn = 1, indexOut = 1) {
|
||||||
|
var iy = sign(y1 - y0);
|
||||||
|
var xx0 = x0 + 16 * _s * indexIn;
|
||||||
|
var xx1 = x1 - 16 * _s * indexOut;
|
||||||
|
var yy0 = y0 + 16 * _s * iy;
|
||||||
|
var yy1 = y1 - 16 * _s * iy;
|
||||||
|
|
||||||
|
var vert = abs(yy1 - yy0) > abs(xx1 - xx0);
|
||||||
|
var inv = vert || xx1 <= xx0;
|
||||||
|
var _x0 = min(x0, x1);
|
||||||
|
var _x1 = max(x0, x1);
|
||||||
|
var _y0 = min(y0, y1);
|
||||||
|
var _y1 = max(y0, y1);
|
||||||
|
var rx = _x1 - _x0;
|
||||||
|
var ry = _y1 - _y0;
|
||||||
|
|
||||||
|
var dist = 9999999;
|
||||||
|
if(inv) {
|
||||||
|
var ofl = cy < _y0 || cy > _y1;
|
||||||
|
var iy = sign(y1 - y0);
|
||||||
|
var iy0 = sign(cy - y0);
|
||||||
|
var iy1 = sign(y1 - cy);
|
||||||
|
var ix = sign(xx0 - xx1);
|
||||||
|
var rrx = abs(xx0 - xx1);
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x0, y0, xx0, y0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx1, y1, x1, y1));
|
||||||
|
|
||||||
|
if(xx1 > xx0 && !ofl) {
|
||||||
|
var top = abs(cy - y0) < rrx / 2;
|
||||||
|
var bot = abs(y1 - cy) < rrx / 2;
|
||||||
|
|
||||||
|
if(top) {
|
||||||
|
var cor = (cy - y0) * 2;
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0, y0, xx1 - cor * iy, y0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx1, y0 + cor, xx1, y1));
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx1 - cor * iy, y0, xx1, y0 + cor));
|
||||||
|
} else if(bot) {
|
||||||
|
var cor = (y1 - cy) * 2;
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0, y0, xx0, y1 - cor));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0 + cor * iy, y1, xx1, y1));
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0, y1 - cor, xx0 + cor * iy, y1));
|
||||||
|
} else {
|
||||||
|
var cor = rrx / 2;
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0, y0, xx0, cy - cor * iy0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx1, cy + cor * iy1, xx1, y1));
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx0, cy - cor * sign(y1 - y0), xx1, cy + cor * sign(y1 - y0)));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var cut0 = min(abs(cy - yy0) / 2, abs(xx1 - xx0) / 2, ofl? 16 * _s : 9999);
|
||||||
|
var cut1 = min(abs(cy - yy1) / 2, abs(xx1 - xx0) / 2, ofl? 16 * _s : 9999);
|
||||||
|
|
||||||
|
var crX0 = xx0;
|
||||||
|
var crY0 = cy - cut0 * iy0;
|
||||||
|
var crX1 = xx0 - cut0 * ix;
|
||||||
|
var crY1 = cy;
|
||||||
|
var crX2 = xx1 + cut1 * ix;
|
||||||
|
var crY2 = cy;
|
||||||
|
var crX3 = xx1;
|
||||||
|
var crY3 = cy + cut1 * iy1;
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x0, y0, xx0, y0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, xx1, y1, x1, y1));
|
||||||
|
|
||||||
|
if(abs(crX0 - crX3) == abs(crY0 - crY3)) {
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX0, y0, crX0, crY0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX3, y1, crX3, crY3));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX0, crY0, crX3, crY3));
|
||||||
|
} else {
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX0, y0, crX0, crY0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX1, crY1, crX2, crY2));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX3, crY3, crX3, y1));
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX0, crY0, crX1, crY1));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, crX2, crY2, crX3, crY3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dist;
|
||||||
|
} else {
|
||||||
|
cx = clamp(cx, _x0 + abs(ry) / 2, _x1 - abs(ry) / 2);
|
||||||
|
cy = clamp(cy, _y0 + abs(rx) / 2, _y1 - abs(rx) / 2);
|
||||||
|
|
||||||
|
var ry = _y1 - _y0;
|
||||||
|
var _xc0 = clamp(cx - (ry / 2) * sign(x1 - x0), _x0, _x1);
|
||||||
|
var _xc1 = clamp(cx + (ry / 2) * sign(x1 - x0), _x0, _x1);
|
||||||
|
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x0, y0, _xc0, y0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, _xc0, y0, _xc1, y1));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, _xc1, y1, x1, y1));
|
||||||
|
|
||||||
|
return dist;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_line_elbow_diag",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "draw",
|
||||||
|
"path": "folders/functions/draw.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -5,3 +5,12 @@ function draw_line_round(x1, y1, x2, y2, w) {
|
||||||
draw_circle(x2, y2, w/2, false);
|
draw_circle(x2, y2, w/2, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function draw_line_round_color(x1, y1, x2, y2, w, c1, c2) {
|
||||||
|
draw_line_width_color(x1, y1, x2, y2, w, c1, c2);
|
||||||
|
|
||||||
|
draw_set_color(c1);
|
||||||
|
draw_circle(x1, y1, w/2, false);
|
||||||
|
|
||||||
|
draw_set_color(c2);
|
||||||
|
draw_circle(x2, y2, w/2, false);
|
||||||
|
}
|
38
scripts/draw_line_zigzag/draw_line_zigzag.gml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
function draw_line_zigzag_color(x0, y0, x1, y1, _s = 1, thick = 1, col1 = c_white, col2 = c_white, type = LINE_STYLE.solid) {
|
||||||
|
if(x0 - x1) {
|
||||||
|
var xx0 = x0 + 16 * _s;
|
||||||
|
var xx1 = x1 - 16 * _s;
|
||||||
|
var yy0 = y0 + 8 * _s * sign(y1 - y0);
|
||||||
|
var yy1 = y1 - 8 * _s * sign(y1 - y0);
|
||||||
|
|
||||||
|
draw_line_round_color(x0, y0, xx0, yy0, thick, col1, col1);
|
||||||
|
draw_line_round_color(x1, y1, xx1, yy1, thick, col2, col2);
|
||||||
|
|
||||||
|
if(type == LINE_STYLE.solid)
|
||||||
|
draw_line_round_color(xx0, yy0, xx1, yy1, thick, col1, col2);
|
||||||
|
else
|
||||||
|
draw_line_dashed_color(xx0, yy0, xx1, yy1, thick, col1, col2, 12);
|
||||||
|
} else {
|
||||||
|
if(type == LINE_STYLE.solid)
|
||||||
|
draw_line_round_color(x0, y0, x1, y1, thick, col1, col2);
|
||||||
|
else
|
||||||
|
draw_line_dashed_color(x0, y0, x1, y1, thick, col1, col2, 12);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function distance_to_zigzag(mx, my, x0, y0, x1, y1, _s) {
|
||||||
|
var inv = x1 - 16 * _s <= x0 + 16 * _s;
|
||||||
|
if(inv) {
|
||||||
|
var dist = distance_to_line(mx, my, x0, y0, x0, cy);
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x0, cy, x1, cy));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x1, cy, x1, y1));
|
||||||
|
|
||||||
|
return dist;
|
||||||
|
} else {
|
||||||
|
var dist = distance_to_line(mx, my, cx, y0, cx, y1);
|
||||||
|
dist = min(dist, distance_to_line(mx, my, x0, y0, cx, y0));
|
||||||
|
dist = min(dist, distance_to_line(mx, my, cx, y1, x1, y1));
|
||||||
|
|
||||||
|
return dist;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/draw_line_zigzag/draw_line_zigzag.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "draw_line_zigzag",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "draw",
|
||||||
|
"path": "folders/functions/draw.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -49,7 +49,7 @@ function loadFonts() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var s = file_text_read_all(path);
|
var s = file_text_read_all(path);
|
||||||
var fontDef = json_parse(s);
|
var fontDef = json_try_parse(s);
|
||||||
|
|
||||||
f_h3 = _font_load_from_struct(fontDef.h3, _f_h3);
|
f_h3 = _font_load_from_struct(fontDef.h3, _f_h3);
|
||||||
f_h5 = _font_load_from_struct(fontDef.h5, _f_h5);
|
f_h5 = _font_load_from_struct(fontDef.h5, _f_h5);
|
||||||
|
|
|
@ -1174,8 +1174,8 @@ function gameframe_tools_mon_get_active() {
|
||||||
gameframe_tools_mon_get_active_list = __list;
|
gameframe_tools_mon_get_active_list = __list;
|
||||||
}
|
}
|
||||||
var __count = gameframe_get_monitors(__list);
|
var __count = gameframe_get_monitors(__list);
|
||||||
var __cx1 = window_get_x() + (window_get_width() div 2);
|
var __cx1 = window_get_x() + (window_get_width() div 2);
|
||||||
var __cy1 = window_get_y() + (window_get_height() div 2);
|
var __cy1 = window_get_y() + (window_get_height() div 2);
|
||||||
var _i = 0;
|
var _i = 0;
|
||||||
for (var __g1 = __count; _i < __g1; _i++) {
|
for (var __g1 = __count; _i < __g1; _i++) {
|
||||||
var __item = __list[|_i];
|
var __item = __list[|_i];
|
||||||
|
|
|
@ -28,9 +28,9 @@
|
||||||
COLOR_KEYS = [];
|
COLOR_KEYS = [];
|
||||||
|
|
||||||
globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING;
|
globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING;
|
||||||
VERSION = 1135;
|
VERSION = 1137;
|
||||||
SAVEFILE_VERSION = 1350;
|
SAVEFILE_VERSION = 1350;
|
||||||
VERSION_STRING = "1.13.5";
|
VERSION_STRING = "1.13.7";
|
||||||
|
|
||||||
globalvar NODES, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT, NODE_INSTANCES;
|
globalvar NODES, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT, NODE_INSTANCES;
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,7 @@ function gradientObject(color = c_black) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static deserialize = function(str) {
|
static deserialize = function(str) {
|
||||||
var s = json_parse(str);
|
var s = json_try_parse(str);
|
||||||
type = s.type;
|
type = s.type;
|
||||||
keys = [];
|
keys = [];
|
||||||
for( var i = 0; i < array_length(s.keys); i++ )
|
for( var i = 0; i < array_length(s.keys); i++ )
|
||||||
|
|
|
@ -26,12 +26,17 @@ function json_load_struct(path) {
|
||||||
if(!file_exists(path)) return noone;
|
if(!file_exists(path)) return noone;
|
||||||
|
|
||||||
var s = file_text_read_all(path);
|
var s = file_text_read_all(path);
|
||||||
var js = json_parse(s);
|
var js = json_try_parse(s);
|
||||||
return js;
|
return js;
|
||||||
}
|
}
|
||||||
|
|
||||||
function json_save_struct(path, struct) {
|
function json_save_struct(path, struct, pretty = false) {
|
||||||
var s = json_stringify_minify(struct);
|
var s;
|
||||||
|
|
||||||
|
if(pretty)
|
||||||
|
s = json_beautify(json_stringify(struct));
|
||||||
|
else
|
||||||
|
s = json_stringify_minify(struct);
|
||||||
|
|
||||||
var f = file_text_open_write(path);
|
var f = file_text_open_write(path);
|
||||||
file_text_write_string(f, s);
|
file_text_write_string(f, s);
|
||||||
|
|
8
scripts/json_functions/json_functions.gml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
function json_try_parse(text, def = noone) {
|
||||||
|
try
|
||||||
|
return json_parse(text);
|
||||||
|
catch(e)
|
||||||
|
return def;
|
||||||
|
|
||||||
|
return def;
|
||||||
|
}
|
11
scripts/json_functions/json_functions.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "json_functions",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "files",
|
||||||
|
"path": "folders/functions/files.yy",
|
||||||
|
},
|
||||||
|
}
|
138
scripts/json_prettify/json_prettify.gml
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
/// json_beautify(json_string)
|
||||||
|
// initialization
|
||||||
|
// in old versions of GMS, you'd have this ran separately instead.
|
||||||
|
// in GMS2 it'd need to be @"..." instead of just "..."
|
||||||
|
gml_pragma("global", @"
|
||||||
|
global.g_json_beautify_fb = buffer_create(1024, buffer_fast, 1);
|
||||||
|
global.g_json_beautify_rb = buffer_create(1024, buffer_grow, 1);
|
||||||
|
");
|
||||||
|
|
||||||
|
function buffer_write_slice(buffer, data_buffer, data_start, data_end) {
|
||||||
|
var start = argument2;
|
||||||
|
var next = argument3 - start;
|
||||||
|
if (next <= 0) exit;
|
||||||
|
var buf = argument0;
|
||||||
|
var data = argument1;
|
||||||
|
var size = buffer_get_size(buf);
|
||||||
|
var pos = buffer_tell(buf);
|
||||||
|
var need = pos + next;
|
||||||
|
if (size < need) {
|
||||||
|
do size *= 2 until (size >= need);
|
||||||
|
buffer_resize(buf, size);
|
||||||
|
}
|
||||||
|
buffer_copy(data, start, next, buf, pos);
|
||||||
|
buffer_seek(buf, buffer_seek_relative, next);
|
||||||
|
}
|
||||||
|
|
||||||
|
function json_beautify(src) {
|
||||||
|
// copy text to string buffer:
|
||||||
|
var rb = global.g_json_beautify_rb;
|
||||||
|
buffer_seek(rb, buffer_seek_start, 0);
|
||||||
|
buffer_write(rb, buffer_string, src);
|
||||||
|
var size = buffer_tell(rb) - 1;
|
||||||
|
var rbsize = buffer_get_size(rb);
|
||||||
|
// then copy it to "fast" input buffer for peeking:
|
||||||
|
var fb = global.g_json_beautify_fb;
|
||||||
|
if (buffer_get_size(fb) < size) buffer_resize(fb, size);
|
||||||
|
buffer_copy(rb, 0, size, fb, 0);
|
||||||
|
buffer_seek(rb, buffer_seek_start, 0);
|
||||||
|
//
|
||||||
|
var rbpos = 0; // writing position in output buffer
|
||||||
|
var start = 0; // start offset in input buffer
|
||||||
|
var pos = 0; // reading position in input buffer
|
||||||
|
var next; // number of bytes to be copied
|
||||||
|
var need;
|
||||||
|
var nest = 0;
|
||||||
|
while (pos < size) {
|
||||||
|
var c = buffer_peek(fb, pos++, buffer_u8);
|
||||||
|
switch (c) {
|
||||||
|
case 9: case 10: case 13: case 32: // `\t\n\r `
|
||||||
|
buffer_write_slice(rb, fb, start, pos - 1);
|
||||||
|
// skip over trailing whitespace:
|
||||||
|
while (pos < size) {
|
||||||
|
switch (buffer_peek(fb, pos, buffer_u8)) {
|
||||||
|
case 9: case 10: case 13: case 32: pos += 1; continue;
|
||||||
|
// default -> break
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
start = pos;
|
||||||
|
break;
|
||||||
|
case 34: // `"`
|
||||||
|
while (pos < size) {
|
||||||
|
switch (buffer_peek(fb, pos++, buffer_u8)) {
|
||||||
|
case 92: pos++; continue; // `\"`
|
||||||
|
case 34: break; // `"` -> break
|
||||||
|
default: continue; // else
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ord("["): case ord("{"):
|
||||||
|
buffer_write_slice(rb, fb, start, pos);
|
||||||
|
// skip over trailing whitespace:
|
||||||
|
while (pos < size) {
|
||||||
|
switch (buffer_peek(fb, pos, buffer_u8)) {
|
||||||
|
case 9: case 10: case 13: case 32: pos += 1; continue;
|
||||||
|
// default -> break
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
// indent or contract `[]`/`{}`
|
||||||
|
c = buffer_peek(fb, pos, buffer_u8);
|
||||||
|
switch (c) {
|
||||||
|
case ord("]"): case ord("}"): // `[]` or `{}`
|
||||||
|
buffer_write(rb, buffer_u8, c);
|
||||||
|
pos += 1;
|
||||||
|
break;
|
||||||
|
default: // `[\r\n\t
|
||||||
|
buffer_write(rb, buffer_u16, 2573); // `\r\n`
|
||||||
|
repeat (++nest) buffer_write(rb, buffer_u8, 9); // `\t`
|
||||||
|
}
|
||||||
|
start = pos;
|
||||||
|
break;
|
||||||
|
case ord("]"): case ord("}"):
|
||||||
|
buffer_write_slice(rb, fb, start, pos - 1);
|
||||||
|
buffer_write(rb, buffer_u16, 2573); // `\r\n`
|
||||||
|
repeat (--nest) buffer_write(rb, buffer_u8, 9); // `\t`
|
||||||
|
buffer_write(rb, buffer_u8, c);
|
||||||
|
start = pos;
|
||||||
|
break;
|
||||||
|
case ord(","):
|
||||||
|
buffer_write_slice(rb, fb, start, pos);
|
||||||
|
buffer_write(rb, buffer_u16, 2573); // `\r\n`
|
||||||
|
repeat (nest) buffer_write(rb, buffer_u8, 9); // `\t`
|
||||||
|
start = pos;
|
||||||
|
break;
|
||||||
|
case ord(":"):
|
||||||
|
if (buffer_peek(fb, pos, buffer_u8) != ord(" ")) {
|
||||||
|
buffer_write_slice(rb, fb, start, pos);
|
||||||
|
buffer_write(rb, buffer_u8, ord(" "));
|
||||||
|
start = pos;
|
||||||
|
} else pos += 1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (c >= ord("0") && c <= ord("9")) { // `0`..`9`
|
||||||
|
var pre = true; // whether reading pre-dot or not
|
||||||
|
var till = pos - 1; // index at which meaningful part of the number ends
|
||||||
|
while (pos < size) {
|
||||||
|
c = buffer_peek(fb, pos, buffer_u8);
|
||||||
|
if (c == ord(".")) {
|
||||||
|
pre = false; // whether reading pre-dot or not
|
||||||
|
pos += 1; // index at which meaningful part of the number ends
|
||||||
|
} else if (c >= ord("0") && c <= ord("9")) {
|
||||||
|
// write all pre-dot, and till the last non-zero after dot:
|
||||||
|
if (pre || c != ord("0")) till = pos;
|
||||||
|
pos += 1;
|
||||||
|
} else break;
|
||||||
|
}
|
||||||
|
if (till < pos) { // flush if number can be shortened
|
||||||
|
buffer_write_slice(rb, fb, start, till + 1);
|
||||||
|
start = pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (start == 0) return src; // source string was unchanged
|
||||||
|
buffer_write_slice(rb, fb, start, pos);
|
||||||
|
buffer_write(rb, buffer_u8, 0); // terminating byte
|
||||||
|
buffer_seek(rb, buffer_seek_start, 0);
|
||||||
|
return buffer_read(rb, buffer_string);
|
||||||
|
}
|
11
scripts/json_prettify/json_prettify.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "json_prettify",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "files",
|
||||||
|
"path": "folders/functions/files.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -196,4 +196,4 @@ function __LOAD_PATH(path, readonly = false, safe_mode = false) {
|
||||||
|
|
||||||
ds_map_destroy(_map);
|
ds_map_destroy(_map);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
|
@ -161,7 +161,7 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(node_draw_icon, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(node_draw_icon, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,7 @@ function Node_VFX_Override(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
outputs[| 0].setValue(parts);
|
outputs[| 0].setValue(parts);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(node_draw_icon, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(node_draw_icon, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ function Node_VFX_Spawner(_x, _y, _group = noone) : Node_VFX_Spawner_Base(_x, _y
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var spr = inputs[| 0].getValue();
|
var spr = inputs[| 0].getValue();
|
||||||
|
|
||||||
if(spr == 0) {
|
if(spr == 0) {
|
||||||
|
|
|
@ -63,7 +63,7 @@ function Node_VFX_Variable(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
if(_get[i]) outputs[| i].setValue(_val[i]);
|
if(_get[i]) outputs[| i].setValue(_val[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(node_draw_icon, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(node_draw_icon, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(s_node_curve_eval, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(s_node_curve_eval, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
||||||
return [_data[0][0], _data[0][1], _data[1][0], _data[1][1], _data[2]];
|
return [_data[0][0], _data[0][1], _data[1][0], _data[1][1], _data[2]];
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(THEME.node_draw_area, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(THEME.node_draw_area, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
outputs[| 0].setValue(array_find(_arr, value));
|
outputs[| 0].setValue(array_find(_arr, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
||||||
var idx = outputs[| 0].getValue();
|
var idx = outputs[| 0].getValue();
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
outputs[| 0].setValue(res);
|
outputs[| 0].setValue(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
||||||
var idx = inputs[| 1].getValue();
|
var idx = inputs[| 1].getValue();
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
outputs[| 0].setValue(arr);
|
outputs[| 0].setValue(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
||||||
var idx = inputs[| 1].getValue();
|
var idx = inputs[| 1].getValue();
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
outputs[| 0].setValue(array_length(_arr));
|
outputs[| 0].setValue(array_length(_arr));
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
||||||
var str = string(outputs[| 0].getValue());
|
var str = string(outputs[| 0].getValue());
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ function Node_Array_Range(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
outputs[| 0].setValue(arr);
|
outputs[| 0].setValue(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
||||||
var str = inputs[| 0].getValue();
|
var str = inputs[| 0].getValue();
|
||||||
var edd = inputs[| 1].getValue();
|
var edd = inputs[| 1].getValue();
|
||||||
|
|
|
@ -66,7 +66,7 @@ function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
outputs[| 0].setValue(arr);
|
outputs[| 0].setValue(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(s_node_array_remove, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(s_node_array_remove, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
outputs[| 0].setValue(arr);
|
outputs[| 0].setValue(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(s_node_array_reverse, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(s_node_array_reverse, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ function Node_Array_Set(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
outputs[| 0].setValue(arr);
|
outputs[| 0].setValue(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
||||||
var idx = inputs[| 1].getValue();
|
var idx = inputs[| 1].getValue();
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ function Node_Array_Shuffle(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
outputs[| 0].setValue(arr);
|
outputs[| 0].setValue(arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
draw_sprite_fit(s_node_array_shuffle, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
draw_sprite_fit(s_node_array_shuffle, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,9 @@ function Node_Boolean(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 32 + 24 * 1;
|
min_h = 32 + 24 * 1;
|
||||||
|
|
||||||
|
wd_checkBox = new checkBox( function() { inputs[| 0].setValue(!inputs[| 0].getValue()); } );
|
||||||
|
wd_checkBox.spr = THEME.node_checkbox;
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
inputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
@ -15,12 +18,12 @@ function Node_Boolean(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
return _data[0];
|
return _data[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
||||||
var str = inputs[| 0].getValue()? get_text("true", "True") : get_text("false", "False");
|
var val = inputs[| 0].getValue();
|
||||||
|
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
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);
|
wd_checkBox.setActiveFocus(_focus, _hover);
|
||||||
|
wd_checkBox.draw(bbox.xc, bbox.yc, val, [ _mx, _my ], bbox.h + 8 * _s, fa_center, fa_center);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ function Node_Cache(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
cacheCurrentFrame(_surf);
|
cacheCurrentFrame(_surf);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
if(cache_loading)
|
if(cache_loading)
|
||||||
draw_sprite_ui(THEME.loading, 0, xx + w * _s / 2, yy + h * _s / 2, _s, _s, current_time / 2, COLORS._main_icon, 1);
|
draw_sprite_ui(THEME.loading, 0, xx + w * _s / 2, yy + h * _s / 2, _s, _s, current_time / 2, COLORS._main_icon, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ function Node_Cache_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
cacheCurrentFrame(_surf);
|
cacheCurrentFrame(_surf);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
if(cache_loading)
|
if(cache_loading)
|
||||||
draw_sprite_ui(THEME.loading, 0, xx + w * _s / 2, yy + h * _s / 2, _s, _s, current_time / 2, COLORS._main_icon, 1);
|
draw_sprite_ui(THEME.loading, 0, xx + w * _s / 2, yy + h * _s / 2, _s, _s, current_time / 2, COLORS._main_icon, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,13 @@ function Node_HSV_Channel(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
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, 0);
|
||||||
|
|
||||||
outputs[| 0] = nodeValue("Hue", self, JUNCTION_CONNECT.output, 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);
|
outputs[| 1] = nodeValue("Saturation", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||||
|
|
||||||
outputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
outputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||||
|
|
||||||
|
outputs[| 3] = nodeValue("Alpha", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||||
|
|
||||||
static process_data = function(_outSurf, _data, output_index) {
|
static process_data = function(_outSurf, _data, output_index) {
|
||||||
surface_set_target(_outSurf);
|
surface_set_target(_outSurf);
|
||||||
draw_clear_alpha(0, 0);
|
draw_clear_alpha(0, 0);
|
||||||
|
@ -15,6 +19,7 @@ function Node_HSV_Channel(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
||||||
case 0 : shader_set(sh_channel_H); break;
|
case 0 : shader_set(sh_channel_H); break;
|
||||||
case 1 : shader_set(sh_channel_S); break;
|
case 1 : shader_set(sh_channel_S); break;
|
||||||
case 2 : shader_set(sh_channel_V); break;
|
case 2 : shader_set(sh_channel_V); break;
|
||||||
|
case 3 : shader_set(sh_channel_A); break;
|
||||||
}
|
}
|
||||||
draw_surface_safe(_data[0], 0, 0);
|
draw_surface_safe(_data[0], 0, 0);
|
||||||
shader_reset();
|
shader_reset();
|
||||||
|
|
|
@ -12,7 +12,7 @@ function Node_Color(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
||||||
return _data[0];
|
return _data[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
if(bbox.h < 1) return;
|
if(bbox.h < 1) return;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ function Node_Color_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
return make_color_hsv(_data[0] * 255, _data[1] * 255, _data[2] * 255);
|
return make_color_hsv(_data[0] * 255, _data[1] * 255, _data[2] * 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
if(bbox.h < 1) return;
|
if(bbox.h < 1) return;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ function Node_Color_RGB(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
return make_color_rgb(_data[0] * 255, _data[1] * 255, _data[2] * 255);
|
return make_color_rgb(_data[0] * 255, _data[1] * 255, _data[2] * 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
if(bbox.h < 1) return;
|
if(bbox.h < 1) return;
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ function Node_Sampler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
return make_color_rgb(r, g, b);
|
return make_color_rgb(r, g, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
|
||||||
if(bbox.h <= 0) return;
|
if(bbox.h <= 0) return;
|
||||||
|
|
|
@ -81,7 +81,7 @@ function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
||||||
outputs[| 0].setValue(val);
|
outputs[| 0].setValue(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h3, fa_center, fa_center, COLORS._main_text);
|
||||||
var str = "";
|
var str = "";
|
||||||
switch(inputs[| 0].getValue()) {
|
switch(inputs[| 0].getValue()) {
|
||||||
|
|
|
@ -85,7 +85,7 @@ function Node_Condition(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
||||||
outputs[| 1].setValue(res);
|
outputs[| 1].setValue(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var val = outputs[| 1].getValue();
|
var val = outputs[| 1].getValue();
|
||||||
var frm = val? inputs[| 3] : inputs[| 4];
|
var frm = val? inputs[| 3] : inputs[| 4];
|
||||||
var to = outputs[| 0];
|
var to = outputs[| 0];
|
||||||
|
|
|
@ -39,7 +39,7 @@ function Node_Counter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
var str = outputs[| 0].getValue();
|
var str = outputs[| 0].getValue();
|
||||||
|
|
||||||
|
|
120
scripts/node_crop_content/node_crop_content.gml
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
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[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Largest, same size", "Independent" ]);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||||
|
|
||||||
|
input_display_list = [ 1,
|
||||||
|
["Surface", false], 0, 2,
|
||||||
|
]
|
||||||
|
|
||||||
|
drag_side = -1;
|
||||||
|
drag_mx = 0;
|
||||||
|
drag_my = 0;
|
||||||
|
drag_sv = 0;
|
||||||
|
|
||||||
|
temp_surface = [ surface_create(1, 1), surface_create(1, 1) ];
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _inSurf = inputs[| 0].getValue();
|
||||||
|
var _active = inputs[| 1].getValue();
|
||||||
|
var _array = inputs[| 2].getValue();
|
||||||
|
|
||||||
|
var _outSurf = outputs[| 0].getValue();
|
||||||
|
surface_array_free(_outSurf);
|
||||||
|
|
||||||
|
if(!_active) {
|
||||||
|
_outSurf = surface_array_clone(_inSurf);
|
||||||
|
outputs[| 0].setValue(_outSurf);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _arr = is_array(_inSurf);
|
||||||
|
if(!_arr) _inSurf = [ _inSurf ];
|
||||||
|
|
||||||
|
var minx = 99999;
|
||||||
|
var miny = 99999;
|
||||||
|
var maxx = 0;
|
||||||
|
var maxy = 0;
|
||||||
|
|
||||||
|
for( var j = 0; j < array_length(_inSurf); j++ ) {
|
||||||
|
var _surf = _inSurf[j];
|
||||||
|
|
||||||
|
var _dim = [ surface_get_width(_surf), surface_get_height(_surf) ];
|
||||||
|
for( var i = 0; i < array_length(temp_surface); i++ ) {
|
||||||
|
temp_surface[i] = surface_verify(temp_surface[i], 1, 1);
|
||||||
|
|
||||||
|
shader_set(sh_find_boundary);
|
||||||
|
shader_set_f(sh_find_boundary, "dimension", _dim);
|
||||||
|
shader_set_i(sh_find_boundary, "mode", i);
|
||||||
|
surface_set_target(temp_surface[i]);
|
||||||
|
draw_clear_alpha(0, 0);
|
||||||
|
BLEND_OVERRIDE;
|
||||||
|
draw_surface_safe(_surf, 0, 0);
|
||||||
|
BLEND_NORMAL;
|
||||||
|
surface_reset_target();
|
||||||
|
shader_reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
var minBox = surface_getpixel_ext(temp_surface[0], 0, 0);
|
||||||
|
var maxBox = surface_getpixel_ext(temp_surface[1], 0, 0);
|
||||||
|
|
||||||
|
var _minx = max(0, color_get_red(minBox) * 256 + color_get_green(minBox) - 1);
|
||||||
|
var _miny = max(0, color_get_blue(minBox) * 256 + color_get_alpha(minBox) - 1);
|
||||||
|
var _maxx = color_get_red(maxBox) * 256 + color_get_green(maxBox);
|
||||||
|
var _maxy = color_get_blue(maxBox) * 256 + color_get_alpha(maxBox);
|
||||||
|
|
||||||
|
if(_array == 0) {
|
||||||
|
minx = min(minx, _minx);
|
||||||
|
miny = min(miny, _miny);
|
||||||
|
|
||||||
|
maxx = max(maxx, _maxx);
|
||||||
|
maxy = max(maxy, _maxy);
|
||||||
|
} else if(_array == 1) {
|
||||||
|
minx[j] = _minx;
|
||||||
|
miny[j] = _miny;
|
||||||
|
|
||||||
|
maxx[j] = _maxx;
|
||||||
|
maxy[j] = _maxy;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var res = [];
|
||||||
|
|
||||||
|
for( var i = 0; i < array_length(_inSurf); i++ ) {
|
||||||
|
var _surf = _inSurf[i];
|
||||||
|
|
||||||
|
if(_array == 0) {
|
||||||
|
var resDim = [maxx - minx, maxy - miny];
|
||||||
|
res[i] = surface_create_valid(resDim[0], resDim[1]);
|
||||||
|
|
||||||
|
surface_set_target(res[i]);
|
||||||
|
draw_clear_alpha(0, 0);
|
||||||
|
BLEND_OVERRIDE;
|
||||||
|
draw_surface_safe(_surf, -minx, -miny);
|
||||||
|
BLEND_NORMAL;
|
||||||
|
surface_reset_target();
|
||||||
|
} else if(_array == 1) {
|
||||||
|
var resDim = [maxx[i] - minx[i], maxy[i] - miny[i]];
|
||||||
|
res[i] = surface_create_valid(resDim[0], resDim[1]);
|
||||||
|
|
||||||
|
surface_set_target(res[i]);
|
||||||
|
draw_clear_alpha(0, 0);
|
||||||
|
BLEND_OVERRIDE;
|
||||||
|
draw_surface_safe(_surf, -minx[i], -miny[i]);
|
||||||
|
BLEND_NORMAL;
|
||||||
|
surface_reset_target();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!_arr) res = res[0];
|
||||||
|
outputs[| 0].setValue(res);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_crop_content/node_crop_content.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_crop_content",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "transform",
|
||||||
|
"path": "folders/nodes/data/transform.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -105,7 +105,7 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
outputs[| 0].setValue(content);
|
outputs[| 0].setValue(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
|
||||||
var str = filename_name(path_current);
|
var str = filename_name(path_current);
|
||||||
|
|
|
@ -51,7 +51,7 @@ function Node_CSV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
static update = function(frame = ANIMATOR.current_frame) { writeFile(); }
|
static update = function(frame = ANIMATOR.current_frame) { writeFile(); }
|
||||||
static onInspectorUpdate = function() { writeFile(); }
|
static onInspectorUpdate = function() { writeFile(); }
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
var bbox = drawGetBbox(xx, yy, _s);
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
|
||||||
var str = filename_name(inputs[| 0].getValue());
|
var str = filename_name(inputs[| 0].getValue());
|
||||||
|
|
|
@ -22,6 +22,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
|
|
||||||
name = "";
|
name = "";
|
||||||
display_name = "";
|
display_name = "";
|
||||||
|
tooltip = "";
|
||||||
x = _x;
|
x = _x;
|
||||||
y = _y;
|
y = _y;
|
||||||
|
|
||||||
|
@ -31,6 +32,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
auto_height = true;
|
auto_height = true;
|
||||||
|
|
||||||
draw_name = true;
|
draw_name = true;
|
||||||
|
draggable = true;
|
||||||
|
|
||||||
input_display_list = -1;
|
input_display_list = -1;
|
||||||
output_display_list = -1;
|
output_display_list = -1;
|
||||||
|
@ -73,6 +75,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
on_dragdrop_file = -1;
|
on_dragdrop_file = -1;
|
||||||
|
|
||||||
anim_show = true;
|
anim_show = true;
|
||||||
|
dopesheet_y = 0;
|
||||||
|
|
||||||
value_validation = array_create(3);
|
value_validation = array_create(3);
|
||||||
|
|
||||||
|
@ -81,6 +84,27 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
manual_updated = false;
|
manual_updated = false;
|
||||||
manual_deletable = true;
|
manual_deletable = true;
|
||||||
|
|
||||||
|
static initTooltip = function() {
|
||||||
|
if(!struct_has(global.NODE_GUIDE, instanceof(self))) return;
|
||||||
|
|
||||||
|
var _n = global.NODE_GUIDE[$ instanceof(self)];
|
||||||
|
var _ins = _n.inputs;
|
||||||
|
var _ots = _n.outputs;
|
||||||
|
|
||||||
|
var amo = min(ds_list_size(inputs), array_length(_ins));
|
||||||
|
for( var i = 0; i < amo; i++ ) {
|
||||||
|
inputs[| i].name = _ins[i].name;
|
||||||
|
inputs[| i].tooltip = _ins[i].tooltip;
|
||||||
|
}
|
||||||
|
|
||||||
|
var amo = min(ds_list_size(outputs), array_length(_ots));
|
||||||
|
for( var i = 0; i < amo; i++ ) {
|
||||||
|
outputs[| i].name = _ots[i].name;
|
||||||
|
outputs[| i].tooltip = _ots[i].tooltip;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
run_in(1, initTooltip);
|
||||||
|
|
||||||
static resetDefault = function() {
|
static resetDefault = function() {
|
||||||
var folder = instanceof(self);
|
var folder = instanceof(self);
|
||||||
if(!ds_map_exists(global.PRESETS_MAP, folder)) return;
|
if(!ds_map_exists(global.PRESETS_MAP, folder)) return;
|
||||||
|
@ -476,10 +500,28 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static drawConnections = function(_x, _y, _s, mx, my, _active) {
|
static drawConnections = function(_x, _y, _s, mx, my, _active, aa = 1) {
|
||||||
if(!active) return;
|
if(!active) return;
|
||||||
|
|
||||||
var hovering = noone;
|
var hovering = noone;
|
||||||
|
var drawLineIndex = 1;
|
||||||
|
|
||||||
|
for(var i = 0; i < ds_list_size(outputs); i++) {
|
||||||
|
var jun = outputs[| i];
|
||||||
|
var connected = false;
|
||||||
|
|
||||||
|
for( var j = 0; j < ds_list_size(jun.value_to); j++ ) {
|
||||||
|
if(jun.value_to[| j].value_from == jun)
|
||||||
|
connected = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(connected) {
|
||||||
|
jun.drawLineIndex = drawLineIndex;
|
||||||
|
drawLineIndex += 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var drawLineIndex = 1;
|
||||||
for(var i = 0; i < ds_list_size(inputs); i++) {
|
for(var i = 0; i < ds_list_size(inputs); i++) {
|
||||||
var jun = inputs[| i];
|
var jun = inputs[| i];
|
||||||
var jx = jun.x;
|
var jx = jun.x;
|
||||||
|
@ -488,6 +530,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
if(jun.value_from == noone) continue;
|
if(jun.value_from == noone) continue;
|
||||||
if(!jun.value_from.node.active) continue;
|
if(!jun.value_from.node.active) continue;
|
||||||
if(!jun.isVisible()) continue;
|
if(!jun.isVisible()) continue;
|
||||||
|
jun.drawLineIndex = drawLineIndex;
|
||||||
|
|
||||||
var frx = jun.value_from.x;
|
var frx = jun.value_from.x;
|
||||||
var fry = jun.value_from.y;
|
var fry = jun.value_from.y;
|
||||||
|
@ -503,6 +546,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
|
|
||||||
var hover = false;
|
var hover = false;
|
||||||
var th = max(1, PREF_MAP[? "connection_line_width"] * _s);
|
var th = max(1, PREF_MAP[? "connection_line_width"] * _s);
|
||||||
|
jun.draw_line_shift_hover = false;
|
||||||
|
|
||||||
if(PANEL_GRAPH.pHOVER)
|
if(PANEL_GRAPH.pHOVER)
|
||||||
switch(PREF_MAP[? "curve_connection_line"]) {
|
switch(PREF_MAP[? "curve_connection_line"]) {
|
||||||
|
@ -511,39 +555,62 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
break;
|
break;
|
||||||
case 1 :
|
case 1 :
|
||||||
hover = distance_to_curve(mx, my, jx, jy, frx, fry, cx, cy, _s) < max(th * 2, 6);
|
hover = distance_to_curve(mx, my, jx, jy, frx, fry, cx, cy, _s) < max(th * 2, 6);
|
||||||
jun.draw_line_shift_hover = hover;
|
if(PANEL_GRAPH._junction_hovering == noone)
|
||||||
|
jun.draw_line_shift_hover = hover;
|
||||||
break;
|
break;
|
||||||
case 2 :
|
case 2 :
|
||||||
var ch = distance_to_line(mx, my, cx, jy, cx, fry) < max(th * 2, 6);
|
hover = distance_to_elbow(mx, my, frx, fry, jx, jy, cx, cy, _s, jun.value_from.drawLineIndex, jun.drawLineIndex) < max(th * 2, 6);
|
||||||
|
|
||||||
hover = distance_to_line(mx, my, jx, jy, cx, jy) < max(th * 2, 6);
|
if(PANEL_GRAPH._junction_hovering == noone)
|
||||||
hover |= ch;
|
jun.draw_line_shift_hover = elbow_distance_center(mx, my, frx, fry, jx, jy, cx, cy, _s) < max(th * 2, 6);
|
||||||
hover |= distance_to_line(mx, my, cx, fry, frx, fry) < max(th * 2, 6);
|
break;
|
||||||
|
case 3 :
|
||||||
|
hover = distance_to_elbow_diag(mx, my, frx, fry, jx, jy, cx, cy, _s, jun.value_from.drawLineIndex, jun.drawLineIndex) < max(th * 2, 6);
|
||||||
|
|
||||||
jun.draw_line_shift_hover = ch;
|
if(PANEL_GRAPH._junction_hovering == noone)
|
||||||
|
jun.draw_line_shift_hover = hover;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_active && hover)
|
if(_active && hover)
|
||||||
hovering = jun;
|
hovering = jun;
|
||||||
|
|
||||||
if(_active && PANEL_GRAPH.junction_hovering == jun || (instance_exists(o_dialog_add_node) && o_dialog_add_node.junction_hovering == jun))
|
var thicken = false;
|
||||||
|
thicken |= PANEL_GRAPH.nodes_junction_d == jun;
|
||||||
|
thicken |= _active && PANEL_GRAPH.junction_hovering == jun && PANEL_GRAPH._junction_hovering == noone;
|
||||||
|
thicken |= instance_exists(o_dialog_add_node) && o_dialog_add_node.junction_hovering == jun;
|
||||||
|
|
||||||
|
if(thicken)
|
||||||
th *= 2;
|
th *= 2;
|
||||||
|
|
||||||
|
var corner = PREF_MAP[? "connection_line_corner"] * _s;
|
||||||
var ty = LINE_STYLE.solid;
|
var ty = LINE_STYLE.solid;
|
||||||
if(jun.type == VALUE_TYPE.node)
|
if(jun.type == VALUE_TYPE.node)
|
||||||
ty = LINE_STYLE.dashed;
|
ty = LINE_STYLE.dashed;
|
||||||
|
|
||||||
|
jx *= aa;
|
||||||
|
jy *= aa;
|
||||||
|
frx *= aa;
|
||||||
|
fry *= aa;
|
||||||
|
th *= aa;
|
||||||
|
cx *= aa;
|
||||||
|
cy *= aa;
|
||||||
|
var ss = _s * aa;
|
||||||
|
corner *= aa;
|
||||||
|
|
||||||
switch(PREF_MAP[? "curve_connection_line"]) {
|
switch(PREF_MAP[? "curve_connection_line"]) {
|
||||||
case 0 :
|
case 0 :
|
||||||
if(ty == LINE_STYLE.solid)
|
if(ty == LINE_STYLE.solid)
|
||||||
draw_line_width_color(jx, jy, frx, fry, th, c1, c0);
|
draw_line_width_color(jx, jy, frx, fry, th, c1, c0);
|
||||||
else
|
else
|
||||||
draw_line_dashed_color(jx, jy, frx, fry, th, c1, c0, 12 * _s);
|
draw_line_dashed_color(jx, jy, frx, fry, th, c1, c0, 12 * ss);
|
||||||
break;
|
break;
|
||||||
case 1 : draw_line_curve_color(jx, jy, frx, fry, cx, cy, _s, th, c0, c1, ty); break;
|
case 1 : draw_line_curve_color(jx, jy, frx, fry, cx, cy, ss, th, c0, c1, ty); break;
|
||||||
case 2 : draw_line_elbow_color(jx, jy, frx, fry, cx, th, c1, c0, ty); break;
|
case 2 : draw_line_elbow_color(frx, fry, jx, jy, cx, cy, ss, th, c1, c0, corner, jun.value_from.drawLineIndex, jun.drawLineIndex, ty); break;
|
||||||
|
case 3 : draw_line_elbow_diag_color(frx, fry, jx, jy, cx, cy, ss, th, c1, c0, corner, jun.value_from.drawLineIndex, jun.drawLineIndex, ty); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
drawLineIndex += 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
return hovering;
|
return hovering;
|
||||||
|
@ -652,9 +719,9 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
}
|
}
|
||||||
drawDimension(xx, yy, _s);
|
drawDimension(xx, yy, _s);
|
||||||
|
|
||||||
onDrawNode(xx, yy, _mx, _my, _s);
|
onDrawNode(xx, yy, _mx, _my, _s, PANEL_GRAPH.node_hovering == self, PANEL_GRAPH.node_focus == self);
|
||||||
drawNodeName(xx, yy, _s);
|
drawNodeName(xx, yy, _s);
|
||||||
|
|
||||||
if(active_draw_index > -1) {
|
if(active_draw_index > -1) {
|
||||||
draw_sprite_stretched_ext(bg_sel_spr, 0, xx, yy, round(w * _s), round(h * _s), active_draw_index > 1? COLORS.node_border_file_drop : COLORS._main_accent, 1);
|
draw_sprite_stretched_ext(bg_sel_spr, 0, xx, yy, round(w * _s), round(h * _s), active_draw_index > 1? COLORS.node_border_file_drop : COLORS._main_accent, 1);
|
||||||
active_draw_index = -1;
|
active_draw_index = -1;
|
||||||
|
@ -663,7 +730,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) constructor {
|
||||||
return drawJunctions(xx, yy, _mx, _my, _s);
|
return drawJunctions(xx, yy, _mx, _my, _s);
|
||||||
}
|
}
|
||||||
static onDrawNodeBehind = function(_x, _y, _mx, _my, _s) {}
|
static onDrawNodeBehind = function(_x, _y, _mx, _my, _s) {}
|
||||||
static onDrawNode = function(xx, yy, _mx, _my, _s) {}
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover = false, _focus = false) {}
|
||||||
|
|
||||||
static drawBadge = function(_x, _y, _s) {
|
static drawBadge = function(_x, _y, _s) {
|
||||||
if(!active) return;
|
if(!active) return;
|
||||||
|
|
|
@ -125,7 +125,7 @@ function Node_Equation(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
||||||
return evaluateFunction(eq, params);
|
return evaluateFunction(eq, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrawNode(xx, yy, _mx, _my, _s) {
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
||||||
var str = inputs[| 0].getValue();
|
var str = inputs[| 0].getValue();
|
||||||
|
|
||||||
|
|