mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-01-23 19:38:05 +01:00
Dynamic Surface, PCX node group
This commit is contained in:
parent
786140e6ca
commit
1efeb7067a
81 changed files with 1884 additions and 264 deletions
|
@ -90,6 +90,7 @@
|
||||||
{"name":"audio","order":19,"path":"folders/nodes/data/audio.yy",},
|
{"name":"audio","order":19,"path":"folders/nodes/data/audio.yy",},
|
||||||
{"name":"compose","order":14,"path":"folders/nodes/data/compose.yy",},
|
{"name":"compose","order":14,"path":"folders/nodes/data/compose.yy",},
|
||||||
{"name":"armature","order":5,"path":"folders/nodes/data/compose/armature.yy",},
|
{"name":"armature","order":5,"path":"folders/nodes/data/compose/armature.yy",},
|
||||||
|
{"name":"dynasurf","order":21,"path":"folders/nodes/data/dynasurf.yy",},
|
||||||
{"name":"filter","order":2,"path":"folders/nodes/data/filter.yy",},
|
{"name":"filter","order":2,"path":"folders/nodes/data/filter.yy",},
|
||||||
{"name":"colors","order":4,"path":"folders/nodes/data/filter/colors.yy",},
|
{"name":"colors","order":4,"path":"folders/nodes/data/filter/colors.yy",},
|
||||||
{"name":"combine","order":1,"path":"folders/nodes/data/filter/combine.yy",},
|
{"name":"combine","order":1,"path":"folders/nodes/data/filter/combine.yy",},
|
||||||
|
@ -110,6 +111,8 @@
|
||||||
{"name":"for sort","order":5,"path":"folders/nodes/data/iterate/for sort.yy",},
|
{"name":"for sort","order":5,"path":"folders/nodes/data/iterate/for sort.yy",},
|
||||||
{"name":"lua","order":16,"path":"folders/nodes/data/lua.yy",},
|
{"name":"lua","order":16,"path":"folders/nodes/data/lua.yy",},
|
||||||
{"name":"node","order":11,"path":"folders/nodes/data/node.yy",},
|
{"name":"node","order":11,"path":"folders/nodes/data/node.yy",},
|
||||||
|
{"name":"PCX","order":22,"path":"folders/nodes/data/PCX.yy",},
|
||||||
|
{"name":"fn","order":2,"path":"folders/nodes/data/PCX/fn.yy",},
|
||||||
{"name":"pixel builder","order":20,"path":"folders/nodes/data/pixel builder.yy",},
|
{"name":"pixel builder","order":20,"path":"folders/nodes/data/pixel builder.yy",},
|
||||||
{"name":"box","order":2,"path":"folders/nodes/data/pixel builder/box.yy",},
|
{"name":"box","order":2,"path":"folders/nodes/data/pixel builder/box.yy",},
|
||||||
{"name":"draw","order":3,"path":"folders/nodes/data/pixel builder/draw.yy",},
|
{"name":"draw","order":3,"path":"folders/nodes/data/pixel builder/draw.yy",},
|
||||||
|
@ -199,6 +202,10 @@
|
||||||
{"name":"biterator","order":2,"path":"folders/VCT/biterator.yy",},
|
{"name":"biterator","order":2,"path":"folders/VCT/biterator.yy",},
|
||||||
{"name":"widget","order":3,"path":"folders/VCT/widget.yy",},
|
{"name":"widget","order":3,"path":"folders/VCT/widget.yy",},
|
||||||
{"name":"widgets","order":5,"path":"folders/widgets.yy",},
|
{"name":"widgets","order":5,"path":"folders/widgets.yy",},
|
||||||
|
{"name":"surface","order":3,"path":"folders/nodes/data/PCX/surface.yy",},
|
||||||
|
{"name":"value","order":4,"path":"folders/nodes/data/PCX/value.yy",},
|
||||||
|
{"name":"array","order":6,"path":"folders/nodes/data/PCX/array.yy",},
|
||||||
|
{"name":"flow control","order":7,"path":"folders/nodes/data/PCX/flow control.yy",},
|
||||||
],
|
],
|
||||||
"ResourceOrderSettings": [
|
"ResourceOrderSettings": [
|
||||||
{"name":"s_node_corner","order":16,"path":"sprites/s_node_corner/s_node_corner.yy",},
|
{"name":"s_node_corner","order":16,"path":"sprites/s_node_corner/s_node_corner.yy",},
|
||||||
|
@ -212,6 +219,7 @@
|
||||||
{"name":"d3d_light_point","order":2,"path":"scripts/d3d_light_point/d3d_light_point.yy",},
|
{"name":"d3d_light_point","order":2,"path":"scripts/d3d_light_point/d3d_light_point.yy",},
|
||||||
{"name":"node_3d_camera","order":10,"path":"scripts/node_3d_camera/node_3d_camera.yy",},
|
{"name":"node_3d_camera","order":10,"path":"scripts/node_3d_camera/node_3d_camera.yy",},
|
||||||
{"name":"panel_preview_window","order":1,"path":"scripts/panel_preview_window/panel_preview_window.yy",},
|
{"name":"panel_preview_window","order":1,"path":"scripts/panel_preview_window/panel_preview_window.yy",},
|
||||||
|
{"name":"node_PCX_equation","order":5,"path":"scripts/node_PCX_equation/node_PCX_equation.yy",},
|
||||||
{"name":"sh_scale3x","order":29,"path":"shaders/sh_scale3x/sh_scale3x.yy",},
|
{"name":"sh_scale3x","order":29,"path":"shaders/sh_scale3x/sh_scale3x.yy",},
|
||||||
{"name":"__node_3d","order":8,"path":"scripts/__node_3d/__node_3d.yy",},
|
{"name":"__node_3d","order":8,"path":"scripts/__node_3d/__node_3d.yy",},
|
||||||
{"name":"node_csv_file_write","order":13,"path":"scripts/node_csv_file_write/node_csv_file_write.yy",},
|
{"name":"node_csv_file_write","order":13,"path":"scripts/node_csv_file_write/node_csv_file_write.yy",},
|
||||||
|
@ -320,6 +328,7 @@
|
||||||
{"name":"node_atlas_set","order":2,"path":"scripts/node_atlas_set/node_atlas_set.yy",},
|
{"name":"node_atlas_set","order":2,"path":"scripts/node_atlas_set/node_atlas_set.yy",},
|
||||||
{"name":"s_node_flip","order":12,"path":"sprites/s_node_flip/s_node_flip.yy",},
|
{"name":"s_node_flip","order":12,"path":"sprites/s_node_flip/s_node_flip.yy",},
|
||||||
{"name":"s_node_gradient_data","order":17,"path":"sprites/s_node_gradient_data/s_node_gradient_data.yy",},
|
{"name":"s_node_gradient_data","order":17,"path":"sprites/s_node_gradient_data/s_node_gradient_data.yy",},
|
||||||
|
{"name":"node_PCX_fn_var","order":1,"path":"scripts/node_PCX_fn_var/node_PCX_fn_var.yy",},
|
||||||
{"name":"s_node_vfx_render","order":1,"path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},
|
{"name":"s_node_vfx_render","order":1,"path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},
|
||||||
{"name":"node_stack","order":2,"path":"scripts/node_stack/node_stack.yy",},
|
{"name":"node_stack","order":2,"path":"scripts/node_stack/node_stack.yy",},
|
||||||
{"name":"sh_draw_r32","order":11,"path":"shaders/sh_draw_r32/sh_draw_r32.yy",},
|
{"name":"sh_draw_r32","order":11,"path":"shaders/sh_draw_r32/sh_draw_r32.yy",},
|
||||||
|
@ -440,6 +449,7 @@
|
||||||
{"name":"node_padding","order":9,"path":"scripts/node_padding/node_padding.yy",},
|
{"name":"node_padding","order":9,"path":"scripts/node_padding/node_padding.yy",},
|
||||||
{"name":"node_VFX_group","order":4,"path":"scripts/node_VFX_group/node_VFX_group.yy",},
|
{"name":"node_VFX_group","order":4,"path":"scripts/node_VFX_group/node_VFX_group.yy",},
|
||||||
{"name":"libborderless","order":1,"path":"extensions/libborderless/libborderless.yy",},
|
{"name":"libborderless","order":1,"path":"extensions/libborderless/libborderless.yy",},
|
||||||
|
{"name":"node_dynamic_surface_in","order":4,"path":"scripts/node_dynamic_surface_in/node_dynamic_surface_in.yy",},
|
||||||
{"name":"s_node_vfx_attract","order":8,"path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},
|
{"name":"s_node_vfx_attract","order":8,"path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},
|
||||||
{"name":"s_node_pixel_cloud","order":32,"path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},
|
{"name":"s_node_pixel_cloud","order":32,"path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},
|
||||||
{"name":"node_noise_grid","order":4,"path":"scripts/node_noise_grid/node_noise_grid.yy",},
|
{"name":"node_noise_grid","order":4,"path":"scripts/node_noise_grid/node_noise_grid.yy",},
|
||||||
|
@ -653,7 +663,7 @@
|
||||||
{"name":"node_VFX_effect_destroy","order":12,"path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},
|
{"name":"node_VFX_effect_destroy","order":12,"path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},
|
||||||
{"name":"node_cache","order":9,"path":"scripts/node_cache/node_cache.yy",},
|
{"name":"node_cache","order":9,"path":"scripts/node_cache/node_cache.yy",},
|
||||||
{"name":"sh_bw","order":3,"path":"shaders/sh_bw/sh_bw.yy",},
|
{"name":"sh_bw","order":3,"path":"shaders/sh_bw/sh_bw.yy",},
|
||||||
{"name":"real_comparison","order":1,"path":"scripts/real_comparison/real_comparison.yy",},
|
{"name":"real_comparison","order":18,"path":"scripts/real_comparison/real_comparison.yy",},
|
||||||
{"name":"node_array_zip","order":25,"path":"scripts/node_array_zip/node_array_zip.yy",},
|
{"name":"node_array_zip","order":25,"path":"scripts/node_array_zip/node_array_zip.yy",},
|
||||||
{"name":"fd_rectangle_get_collision_mask_sprite_image","order":5,"path":"scripts/fd_rectangle_get_collision_mask_sprite_image/fd_rectangle_get_collision_mask_sprite_image.yy",},
|
{"name":"fd_rectangle_get_collision_mask_sprite_image","order":5,"path":"scripts/fd_rectangle_get_collision_mask_sprite_image/fd_rectangle_get_collision_mask_sprite_image.yy",},
|
||||||
{"name":"s_node_stripe","order":16,"path":"sprites/s_node_stripe/s_node_stripe.yy",},
|
{"name":"s_node_stripe","order":16,"path":"sprites/s_node_stripe/s_node_stripe.yy",},
|
||||||
|
@ -867,6 +877,7 @@
|
||||||
{"name":"s_node_tunnel_in","order":21,"path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},
|
{"name":"s_node_tunnel_in","order":21,"path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},
|
||||||
{"name":"s_node_pb_draw_trapezoid","order":10,"path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},
|
{"name":"s_node_pb_draw_trapezoid","order":10,"path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},
|
||||||
{"name":"append_function","order":1,"path":"scripts/append_function/append_function.yy",},
|
{"name":"append_function","order":1,"path":"scripts/append_function/append_function.yy",},
|
||||||
|
{"name":"node_3dsurf","order":5,"path":"scripts/node_3dsurf/node_3dsurf.yy",},
|
||||||
{"name":"fd_rectangle_reset_target","order":17,"path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},
|
{"name":"fd_rectangle_reset_target","order":17,"path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},
|
||||||
{"name":"node_rate_remap","order":3,"path":"scripts/node_rate_remap/node_rate_remap.yy",},
|
{"name":"node_rate_remap","order":3,"path":"scripts/node_rate_remap/node_rate_remap.yy",},
|
||||||
{"name":"obj_reader","order":2,"path":"scripts/obj_reader/obj_reader.yy",},
|
{"name":"obj_reader","order":2,"path":"scripts/obj_reader/obj_reader.yy",},
|
||||||
|
@ -929,6 +940,7 @@
|
||||||
{"name":"display_refresh","order":17,"path":"scripts/display_refresh/display_refresh.yy",},
|
{"name":"display_refresh","order":17,"path":"scripts/display_refresh/display_refresh.yy",},
|
||||||
{"name":"panel_workspace","order":6,"path":"scripts/panel_workspace/panel_workspace.yy",},
|
{"name":"panel_workspace","order":6,"path":"scripts/panel_workspace/panel_workspace.yy",},
|
||||||
{"name":"fd_rectangle_assure_surfaces_exist","order":2,"path":"scripts/fd_rectangle_assure_surfaces_exist/fd_rectangle_assure_surfaces_exist.yy",},
|
{"name":"fd_rectangle_assure_surfaces_exist","order":2,"path":"scripts/fd_rectangle_assure_surfaces_exist/fd_rectangle_assure_surfaces_exist.yy",},
|
||||||
|
{"name":"angle_functions","order":17,"path":"scripts/angle_functions/angle_functions.yy",},
|
||||||
{"name":"fd_rectangle_material_surface_was_created","order":13,"path":"scripts/fd_rectangle_material_surface_was_created/fd_rectangle_material_surface_was_created.yy",},
|
{"name":"fd_rectangle_material_surface_was_created","order":13,"path":"scripts/fd_rectangle_material_surface_was_created/fd_rectangle_material_surface_was_created.yy",},
|
||||||
{"name":"s_node_fluidSim_apply_velocity","order":2,"path":"sprites/s_node_fluidSim_apply_velocity/s_node_fluidSim_apply_velocity.yy",},
|
{"name":"s_node_fluidSim_apply_velocity","order":2,"path":"sprites/s_node_fluidSim_apply_velocity/s_node_fluidSim_apply_velocity.yy",},
|
||||||
{"name":"fd_rectangle_destroy","order":8,"path":"scripts/fd_rectangle_destroy/fd_rectangle_destroy.yy",},
|
{"name":"fd_rectangle_destroy","order":8,"path":"scripts/fd_rectangle_destroy/fd_rectangle_destroy.yy",},
|
||||||
|
@ -1012,6 +1024,7 @@
|
||||||
{"name":"s_node_vfx_input","order":12,"path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},
|
{"name":"s_node_vfx_input","order":12,"path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},
|
||||||
{"name":"node_strand_force_apply","order":6,"path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},
|
{"name":"node_strand_force_apply","order":6,"path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},
|
||||||
{"name":"sh_seperate_shape_ite","order":2,"path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},
|
{"name":"sh_seperate_shape_ite","order":2,"path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},
|
||||||
|
{"name":"node_PCX_fn_surface_width","order":1,"path":"scripts/node_PCX_fn_surface_width/node_PCX_fn_surface_width.yy",},
|
||||||
{"name":"o_main","order":1,"path":"objects/o_main/o_main.yy",},
|
{"name":"o_main","order":1,"path":"objects/o_main/o_main.yy",},
|
||||||
{"name":"area_function","order":2,"path":"scripts/area_function/area_function.yy",},
|
{"name":"area_function","order":2,"path":"scripts/area_function/area_function.yy",},
|
||||||
{"name":"__node_3d_mesh","order":1,"path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},
|
{"name":"__node_3d_mesh","order":1,"path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},
|
||||||
|
@ -1141,6 +1154,7 @@
|
||||||
{"name":"s_node_number","order":2,"path":"sprites/s_node_number/s_node_number.yy",},
|
{"name":"s_node_number","order":2,"path":"sprites/s_node_number/s_node_number.yy",},
|
||||||
{"name":"gif_reader","order":4,"path":"scripts/gif_reader/gif_reader.yy",},
|
{"name":"gif_reader","order":4,"path":"scripts/gif_reader/gif_reader.yy",},
|
||||||
{"name":"s_node_pb_draw_angle","order":17,"path":"sprites/s_node_pb_draw_angle/s_node_pb_draw_angle.yy",},
|
{"name":"s_node_pb_draw_angle","order":17,"path":"sprites/s_node_pb_draw_angle/s_node_pb_draw_angle.yy",},
|
||||||
|
{"name":"node_PCX_var","order":1,"path":"scripts/node_PCX_var/node_PCX_var.yy",},
|
||||||
{"name":"_f_p3","order":7,"path":"fonts/_f_p3/_f_p3.yy",},
|
{"name":"_f_p3","order":7,"path":"fonts/_f_p3/_f_p3.yy",},
|
||||||
{"name":"cornerBox","order":30,"path":"scripts/cornerBox/cornerBox.yy",},
|
{"name":"cornerBox","order":30,"path":"scripts/cornerBox/cornerBox.yy",},
|
||||||
{"name":"node_group_input","order":1,"path":"scripts/node_group_input/node_group_input.yy",},
|
{"name":"node_group_input","order":1,"path":"scripts/node_group_input/node_group_input.yy",},
|
||||||
|
@ -1213,6 +1227,7 @@
|
||||||
{"name":"s_node_text_render","order":17,"path":"sprites/s_node_text_render/s_node_text_render.yy",},
|
{"name":"s_node_text_render","order":17,"path":"sprites/s_node_text_render/s_node_text_render.yy",},
|
||||||
{"name":"__init_global","order":8,"path":"scripts/__init_global/__init_global.yy",},
|
{"name":"__init_global","order":8,"path":"scripts/__init_global/__init_global.yy",},
|
||||||
{"name":"sh_trail_filler_pass2","order":51,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},
|
{"name":"sh_trail_filler_pass2","order":51,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},
|
||||||
|
{"name":"node_PCX_array_set","order":1,"path":"scripts/node_PCX_array_set/node_PCX_array_set.yy",},
|
||||||
{"name":"s_node_regex_search","order":11,"path":"sprites/s_node_regex_search/s_node_regex_search.yy",},
|
{"name":"s_node_regex_search","order":11,"path":"sprites/s_node_regex_search/s_node_regex_search.yy",},
|
||||||
{"name":"s_node_color_from_rgb","order":5,"path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},
|
{"name":"s_node_color_from_rgb","order":5,"path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},
|
||||||
{"name":"s_node_separate_file_path","order":14,"path":"sprites/s_node_separate_file_path/s_node_separate_file_path.yy",},
|
{"name":"s_node_separate_file_path","order":14,"path":"sprites/s_node_separate_file_path/s_node_separate_file_path.yy",},
|
||||||
|
@ -1295,6 +1310,7 @@
|
||||||
{"name":"s_node_path_transform","order":5,"path":"sprites/s_node_path_transform/s_node_path_transform.yy",},
|
{"name":"s_node_path_transform","order":5,"path":"sprites/s_node_path_transform/s_node_path_transform.yy",},
|
||||||
{"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_biterator_tab_active","order":12,"path":"sprites/s_biterator_tab_active/s_biterator_tab_active.yy",},
|
{"name":"s_biterator_tab_active","order":12,"path":"sprites/s_biterator_tab_active/s_biterator_tab_active.yy",},
|
||||||
|
{"name":"dynaSurf_3d","order":2,"path":"scripts/dynaSurf_3d/dynaSurf_3d.yy",},
|
||||||
{"name":"s_node_3d_extrude","order":2,"path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},
|
{"name":"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":"sh_draw_downsample","order":2,"path":"shaders/sh_draw_downsample/sh_draw_downsample.yy",},
|
||||||
|
@ -1359,6 +1375,7 @@
|
||||||
{"name":"fd_rectangle_set_velocity_dissipation_value","order":14,"path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},
|
{"name":"fd_rectangle_set_velocity_dissipation_value","order":14,"path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},
|
||||||
{"name":"panel_history","order":7,"path":"scripts/panel_history/panel_history.yy",},
|
{"name":"panel_history","order":7,"path":"scripts/panel_history/panel_history.yy",},
|
||||||
{"name":"sh_channel_H","order":3,"path":"shaders/sh_channel_H/sh_channel_H.yy",},
|
{"name":"sh_channel_H","order":3,"path":"shaders/sh_channel_H/sh_channel_H.yy",},
|
||||||
|
{"name":"rotatorRandom","order":33,"path":"scripts/rotatorRandom/rotatorRandom.yy",},
|
||||||
{"name":"s_node_RGB","order":34,"path":"sprites/s_node_RGB/s_node_RGB.yy",},
|
{"name":"s_node_RGB","order":34,"path":"sprites/s_node_RGB/s_node_RGB.yy",},
|
||||||
{"name":"fd_rectangle_draw","order":9,"path":"scripts/fd_rectangle_draw/fd_rectangle_draw.yy",},
|
{"name":"fd_rectangle_draw","order":9,"path":"scripts/fd_rectangle_draw/fd_rectangle_draw.yy",},
|
||||||
{"name":"node_color_palette_replacement","order":14,"path":"scripts/node_color_palette_replacement/node_color_palette_replacement.yy",},
|
{"name":"node_color_palette_replacement","order":14,"path":"scripts/node_color_palette_replacement/node_color_palette_replacement.yy",},
|
||||||
|
@ -1403,6 +1420,7 @@
|
||||||
{"name":"s_node_vec_split","order":6,"path":"sprites/s_node_vec_split/s_node_vec_split.yy",},
|
{"name":"s_node_vec_split","order":6,"path":"sprites/s_node_vec_split/s_node_vec_split.yy",},
|
||||||
{"name":"s_node_regex_replace","order":10,"path":"sprites/s_node_regex_replace/s_node_regex_replace.yy",},
|
{"name":"s_node_regex_replace","order":10,"path":"sprites/s_node_regex_replace/s_node_regex_replace.yy",},
|
||||||
{"name":"sh_pb_hash","order":4,"path":"shaders/sh_pb_hash/sh_pb_hash.yy",},
|
{"name":"sh_pb_hash","order":4,"path":"shaders/sh_pb_hash/sh_pb_hash.yy",},
|
||||||
|
{"name":"node_dynamic_surface_out_height","order":3,"path":"scripts/node_dynamic_surface_out_height/node_dynamic_surface_out_height.yy",},
|
||||||
{"name":"paddingBox","order":9,"path":"scripts/paddingBox/paddingBox.yy",},
|
{"name":"paddingBox","order":9,"path":"scripts/paddingBox/paddingBox.yy",},
|
||||||
{"name":"fd_rectangle_set_visualization_shader","order":18,"path":"scripts/fd_rectangle_set_visualization_shader/fd_rectangle_set_visualization_shader.yy",},
|
{"name":"fd_rectangle_set_visualization_shader","order":18,"path":"scripts/fd_rectangle_set_visualization_shader/fd_rectangle_set_visualization_shader.yy",},
|
||||||
{"name":"s_biterator_bg","order":2,"path":"sprites/s_biterator_bg/s_biterator_bg.yy",},
|
{"name":"s_biterator_bg","order":2,"path":"sprites/s_biterator_bg/s_biterator_bg.yy",},
|
||||||
|
@ -1488,6 +1506,7 @@
|
||||||
{"name":"shader_replace_simple","order":1,"path":"extensions/shader_replace_simple/shader_replace_simple.yy",},
|
{"name":"shader_replace_simple","order":1,"path":"extensions/shader_replace_simple/shader_replace_simple.yy",},
|
||||||
{"name":"d3d_cone","order":5,"path":"scripts/d3d_cone/d3d_cone.yy",},
|
{"name":"d3d_cone","order":5,"path":"scripts/d3d_cone/d3d_cone.yy",},
|
||||||
{"name":"__rectangle","order":7,"path":"scripts/__rectangle/__rectangle.yy",},
|
{"name":"__rectangle","order":7,"path":"scripts/__rectangle/__rectangle.yy",},
|
||||||
|
{"name":"node_PCX_fn_random","order":1,"path":"scripts/node_PCX_fn_random/node_PCX_fn_random.yy",},
|
||||||
{"name":"s_node_iterator_index","order":8,"path":"sprites/s_node_iterator_index/s_node_iterator_index.yy",},
|
{"name":"s_node_iterator_index","order":8,"path":"sprites/s_node_iterator_index/s_node_iterator_index.yy",},
|
||||||
{"name":"preferences","order":5,"path":"scripts/preferences/preferences.yy",},
|
{"name":"preferences","order":5,"path":"scripts/preferences/preferences.yy",},
|
||||||
{"name":"sh_fd_replace_material_advanced_glsl","order":11,"path":"shaders/sh_fd_replace_material_advanced_glsl/sh_fd_replace_material_advanced_glsl.yy",},
|
{"name":"sh_fd_replace_material_advanced_glsl","order":11,"path":"shaders/sh_fd_replace_material_advanced_glsl/sh_fd_replace_material_advanced_glsl.yy",},
|
||||||
|
@ -1514,6 +1533,7 @@
|
||||||
{"name":"node_strand_collision","order":8,"path":"scripts/node_strand_collision/node_strand_collision.yy",},
|
{"name":"node_strand_collision","order":8,"path":"scripts/node_strand_collision/node_strand_collision.yy",},
|
||||||
{"name":"s_node_atlas_get","order":2,"path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},
|
{"name":"s_node_atlas_get","order":2,"path":"sprites/s_node_atlas_get/s_node_atlas_get.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":"node_dynamic_surface_out_width","order":2,"path":"scripts/node_dynamic_surface_out_width/node_dynamic_surface_out_width.yy",},
|
||||||
{"name":"node_iterator_sort_input","order":1,"path":"scripts/node_iterator_sort_input/node_iterator_sort_input.yy",},
|
{"name":"node_iterator_sort_input","order":1,"path":"scripts/node_iterator_sort_input/node_iterator_sort_input.yy",},
|
||||||
{"name":"draw_corner","order":19,"path":"scripts/draw_corner/draw_corner.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",},
|
||||||
|
@ -1548,6 +1568,7 @@
|
||||||
{"name":"s_node_gradient_palette","order":16,"path":"sprites/s_node_gradient_palette/s_node_gradient_palette.yy",},
|
{"name":"s_node_gradient_palette","order":16,"path":"sprites/s_node_gradient_palette/s_node_gradient_palette.yy",},
|
||||||
{"name":"node_array_shuffle","order":22,"path":"scripts/node_array_shuffle/node_array_shuffle.yy",},
|
{"name":"node_array_shuffle","order":22,"path":"scripts/node_array_shuffle/node_array_shuffle.yy",},
|
||||||
{"name":"panel_node_data_gen","order":9,"path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",},
|
{"name":"panel_node_data_gen","order":9,"path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",},
|
||||||
|
{"name":"node_dynamic_surface_out","order":1,"path":"scripts/node_dynamic_surface_out/node_dynamic_surface_out.yy",},
|
||||||
{"name":"fd_rectangle_update_material","order":21,"path":"scripts/fd_rectangle_update_material/fd_rectangle_update_material.yy",},
|
{"name":"fd_rectangle_update_material","order":21,"path":"scripts/fd_rectangle_update_material/fd_rectangle_update_material.yy",},
|
||||||
{"name":"sh_perlin_tiled","order":6,"path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},
|
{"name":"sh_perlin_tiled","order":6,"path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},
|
||||||
{"name":"sh_time_remap","order":2,"path":"shaders/sh_time_remap/sh_time_remap.yy",},
|
{"name":"sh_time_remap","order":2,"path":"shaders/sh_time_remap/sh_time_remap.yy",},
|
||||||
|
|
|
@ -113,6 +113,7 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"audio","folderPath":"folders/nodes/data/audio.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"audio","folderPath":"folders/nodes/data/audio.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compose","folderPath":"folders/nodes/data/compose.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"compose","folderPath":"folders/nodes/data/compose.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"armature","folderPath":"folders/nodes/data/compose/armature.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"armature","folderPath":"folders/nodes/data/compose/armature.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"dynasurf","folderPath":"folders/nodes/data/dynasurf.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/data/filter.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/nodes/data/filter.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blur","folderPath":"folders/nodes/data/filter/blur.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blur","folderPath":"folders/nodes/data/filter/blur.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"colors","folderPath":"folders/nodes/data/filter/colors.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"colors","folderPath":"folders/nodes/data/filter/colors.yy",},
|
||||||
|
@ -136,6 +137,8 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for","folderPath":"folders/nodes/data/iterate/for.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"for","folderPath":"folders/nodes/data/iterate/for.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"lua","folderPath":"folders/nodes/data/lua.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"lua","folderPath":"folders/nodes/data/lua.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"node","folderPath":"folders/nodes/data/node.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"PCX","folderPath":"folders/nodes/data/PCX.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"fn","folderPath":"folders/nodes/data/PCX/fn.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"pixel builder","folderPath":"folders/nodes/data/pixel builder.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"pixel builder","folderPath":"folders/nodes/data/pixel builder.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"box","folderPath":"folders/nodes/data/pixel builder/box.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"box","folderPath":"folders/nodes/data/pixel builder/box.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/nodes/data/pixel builder/draw.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/nodes/data/pixel builder/draw.yy",},
|
||||||
|
@ -236,6 +239,10 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"biterator","folderPath":"folders/VCT/biterator.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"biterator","folderPath":"folders/VCT/biterator.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widget","folderPath":"folders/VCT/widget.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widget","folderPath":"folders/VCT/widget.yy",},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy",},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"surface","folderPath":"folders/nodes/data/PCX/surface.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"value","folderPath":"folders/nodes/data/PCX/value.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"array","folderPath":"folders/nodes/data/PCX/array.yy",},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"flow control","folderPath":"folders/nodes/data/PCX/flow control.yy",},
|
||||||
],
|
],
|
||||||
"IncludedFiles": [
|
"IncludedFiles": [
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"ApolloHelp.html","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"ApolloHelp.html","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
||||||
|
@ -283,6 +290,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics.json","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics.json","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1.png.tmp$$","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1.png.tmp$$","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"rotator_random_mode.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_3d_preview_settings.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_3d_preview_settings.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_3d_snap_settings.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_3d_snap_settings.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ac_constant.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ac_constant.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
@ -608,6 +616,7 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_left.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_left.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_right.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_bottom_right.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_circle_28.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_fill.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_fill.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_left.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_left.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_middle.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_button_hide_middle.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
|
@ -732,6 +741,7 @@
|
||||||
{"id":{"name":"d3d_light_point","path":"scripts/d3d_light_point/d3d_light_point.yy",},},
|
{"id":{"name":"d3d_light_point","path":"scripts/d3d_light_point/d3d_light_point.yy",},},
|
||||||
{"id":{"name":"node_3d_camera","path":"scripts/node_3d_camera/node_3d_camera.yy",},},
|
{"id":{"name":"node_3d_camera","path":"scripts/node_3d_camera/node_3d_camera.yy",},},
|
||||||
{"id":{"name":"panel_preview_window","path":"scripts/panel_preview_window/panel_preview_window.yy",},},
|
{"id":{"name":"panel_preview_window","path":"scripts/panel_preview_window/panel_preview_window.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_equation","path":"scripts/node_PCX_equation/node_PCX_equation.yy",},},
|
||||||
{"id":{"name":"sh_scale3x","path":"shaders/sh_scale3x/sh_scale3x.yy",},},
|
{"id":{"name":"sh_scale3x","path":"shaders/sh_scale3x/sh_scale3x.yy",},},
|
||||||
{"id":{"name":"__node_3d","path":"scripts/__node_3d/__node_3d.yy",},},
|
{"id":{"name":"__node_3d","path":"scripts/__node_3d/__node_3d.yy",},},
|
||||||
{"id":{"name":"node_csv_file_write","path":"scripts/node_csv_file_write/node_csv_file_write.yy",},},
|
{"id":{"name":"node_csv_file_write","path":"scripts/node_csv_file_write/node_csv_file_write.yy",},},
|
||||||
|
@ -856,6 +866,7 @@
|
||||||
{"id":{"name":"s_node_flip","path":"sprites/s_node_flip/s_node_flip.yy",},},
|
{"id":{"name":"s_node_flip","path":"sprites/s_node_flip/s_node_flip.yy",},},
|
||||||
{"id":{"name":"sh_pb_highlight","path":"shaders/sh_pb_highlight/sh_pb_highlight.yy",},},
|
{"id":{"name":"sh_pb_highlight","path":"shaders/sh_pb_highlight/sh_pb_highlight.yy",},},
|
||||||
{"id":{"name":"s_node_gradient_data","path":"sprites/s_node_gradient_data/s_node_gradient_data.yy",},},
|
{"id":{"name":"s_node_gradient_data","path":"sprites/s_node_gradient_data/s_node_gradient_data.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_fn_var","path":"scripts/node_PCX_fn_var/node_PCX_fn_var.yy",},},
|
||||||
{"id":{"name":"s_node_vfx_render","path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},},
|
{"id":{"name":"s_node_vfx_render","path":"sprites/s_node_vfx_render/s_node_vfx_render.yy",},},
|
||||||
{"id":{"name":"node_stack","path":"scripts/node_stack/node_stack.yy",},},
|
{"id":{"name":"node_stack","path":"scripts/node_stack/node_stack.yy",},},
|
||||||
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},},
|
{"id":{"name":"sh_cell_noise","path":"shaders/sh_cell_noise/sh_cell_noise.yy",},},
|
||||||
|
@ -993,6 +1004,7 @@
|
||||||
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},},
|
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},},
|
||||||
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},},
|
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},},
|
||||||
{"id":{"name":"libborderless","path":"extensions/libborderless/libborderless.yy",},},
|
{"id":{"name":"libborderless","path":"extensions/libborderless/libborderless.yy",},},
|
||||||
|
{"id":{"name":"node_dynamic_surface_in","path":"scripts/node_dynamic_surface_in/node_dynamic_surface_in.yy",},},
|
||||||
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},},
|
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},},
|
||||||
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},},
|
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},},
|
||||||
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},},
|
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},},
|
||||||
|
@ -1164,6 +1176,7 @@
|
||||||
{"id":{"name":"node_scatter_points","path":"scripts/node_scatter_points/node_scatter_points.yy",},},
|
{"id":{"name":"node_scatter_points","path":"scripts/node_scatter_points/node_scatter_points.yy",},},
|
||||||
{"id":{"name":"pack_bottom_left","path":"scripts/pack_bottom_left/pack_bottom_left.yy",},},
|
{"id":{"name":"pack_bottom_left","path":"scripts/pack_bottom_left/pack_bottom_left.yy",},},
|
||||||
{"id":{"name":"s_node_surface_to_buffer","path":"sprites/s_node_surface_to_buffer/s_node_surface_to_buffer.yy",},},
|
{"id":{"name":"s_node_surface_to_buffer","path":"sprites/s_node_surface_to_buffer/s_node_surface_to_buffer.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_fn_math","path":"scripts/node_PCX_fn_math/node_PCX_fn_math.yy",},},
|
||||||
{"id":{"name":"o_dialog_lua_reference","path":"objects/o_dialog_lua_reference/o_dialog_lua_reference.yy",},},
|
{"id":{"name":"o_dialog_lua_reference","path":"objects/o_dialog_lua_reference/o_dialog_lua_reference.yy",},},
|
||||||
{"id":{"name":"node_surface_data","path":"scripts/node_surface_data/node_surface_data.yy",},},
|
{"id":{"name":"node_surface_data","path":"scripts/node_surface_data/node_surface_data.yy",},},
|
||||||
{"id":{"name":"node_strand_gravity","path":"scripts/node_strand_gravity/node_strand_gravity.yy",},},
|
{"id":{"name":"node_strand_gravity","path":"scripts/node_strand_gravity/node_strand_gravity.yy",},},
|
||||||
|
@ -1448,6 +1461,7 @@
|
||||||
{"id":{"name":"node_blur_zoom","path":"scripts/node_blur_zoom/node_blur_zoom.yy",},},
|
{"id":{"name":"node_blur_zoom","path":"scripts/node_blur_zoom/node_blur_zoom.yy",},},
|
||||||
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},},
|
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},},
|
||||||
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},},
|
{"id":{"name":"sh_bevel","path":"shaders/sh_bevel/sh_bevel.yy",},},
|
||||||
|
{"id":{"name":"node_dynamic_surface","path":"scripts/node_dynamic_surface/node_dynamic_surface.yy",},},
|
||||||
{"id":{"name":"sh_blend_overlay","path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},},
|
{"id":{"name":"sh_blend_overlay","path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},},
|
||||||
{"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},},
|
{"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},},
|
||||||
{"id":{"name":"s_node_json_file_read","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},},
|
{"id":{"name":"s_node_json_file_read","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},},
|
||||||
|
@ -1481,6 +1495,7 @@
|
||||||
{"id":{"name":"s_node_tunnel_in","path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},},
|
{"id":{"name":"s_node_tunnel_in","path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},},
|
||||||
{"id":{"name":"s_node_pb_draw_trapezoid","path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},},
|
{"id":{"name":"s_node_pb_draw_trapezoid","path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},},
|
||||||
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},},
|
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},},
|
||||||
|
{"id":{"name":"node_3dsurf","path":"scripts/node_3dsurf/node_3dsurf.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_reset_target","path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},},
|
{"id":{"name":"fd_rectangle_reset_target","path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},},
|
||||||
{"id":{"name":"node_rate_remap","path":"scripts/node_rate_remap/node_rate_remap.yy",},},
|
{"id":{"name":"node_rate_remap","path":"scripts/node_rate_remap/node_rate_remap.yy",},},
|
||||||
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},},
|
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},},
|
||||||
|
@ -1549,6 +1564,7 @@
|
||||||
{"id":{"name":"display_refresh","path":"scripts/display_refresh/display_refresh.yy",},},
|
{"id":{"name":"display_refresh","path":"scripts/display_refresh/display_refresh.yy",},},
|
||||||
{"id":{"name":"panel_workspace","path":"scripts/panel_workspace/panel_workspace.yy",},},
|
{"id":{"name":"panel_workspace","path":"scripts/panel_workspace/panel_workspace.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_assure_surfaces_exist","path":"scripts/fd_rectangle_assure_surfaces_exist/fd_rectangle_assure_surfaces_exist.yy",},},
|
{"id":{"name":"fd_rectangle_assure_surfaces_exist","path":"scripts/fd_rectangle_assure_surfaces_exist/fd_rectangle_assure_surfaces_exist.yy",},},
|
||||||
|
{"id":{"name":"angle_functions","path":"scripts/angle_functions/angle_functions.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_material_surface_was_created","path":"scripts/fd_rectangle_material_surface_was_created/fd_rectangle_material_surface_was_created.yy",},},
|
{"id":{"name":"fd_rectangle_material_surface_was_created","path":"scripts/fd_rectangle_material_surface_was_created/fd_rectangle_material_surface_was_created.yy",},},
|
||||||
{"id":{"name":"s_node_fluidSim_apply_velocity","path":"sprites/s_node_fluidSim_apply_velocity/s_node_fluidSim_apply_velocity.yy",},},
|
{"id":{"name":"s_node_fluidSim_apply_velocity","path":"sprites/s_node_fluidSim_apply_velocity/s_node_fluidSim_apply_velocity.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_destroy","path":"scripts/fd_rectangle_destroy/fd_rectangle_destroy.yy",},},
|
{"id":{"name":"fd_rectangle_destroy","path":"scripts/fd_rectangle_destroy/fd_rectangle_destroy.yy",},},
|
||||||
|
@ -1641,6 +1657,7 @@
|
||||||
{"id":{"name":"node_strand_force_apply","path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},},
|
{"id":{"name":"node_strand_force_apply","path":"scripts/node_strand_force_apply/node_strand_force_apply.yy",},},
|
||||||
{"id":{"name":"s_node_rigidSim","path":"sprites/s_node_rigidSim/s_node_rigidSim.yy",},},
|
{"id":{"name":"s_node_rigidSim","path":"sprites/s_node_rigidSim/s_node_rigidSim.yy",},},
|
||||||
{"id":{"name":"sh_seperate_shape_ite","path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},},
|
{"id":{"name":"sh_seperate_shape_ite","path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_fn_surface_width","path":"scripts/node_PCX_fn_surface_width/node_PCX_fn_surface_width.yy",},},
|
||||||
{"id":{"name":"o_main","path":"objects/o_main/o_main.yy",},},
|
{"id":{"name":"o_main","path":"objects/o_main/o_main.yy",},},
|
||||||
{"id":{"name":"area_function","path":"scripts/area_function/area_function.yy",},},
|
{"id":{"name":"area_function","path":"scripts/area_function/area_function.yy",},},
|
||||||
{"id":{"name":"__node_3d_mesh","path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},},
|
{"id":{"name":"__node_3d_mesh","path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},},
|
||||||
|
@ -1787,6 +1804,7 @@
|
||||||
{"id":{"name":"s_node_number","path":"sprites/s_node_number/s_node_number.yy",},},
|
{"id":{"name":"s_node_number","path":"sprites/s_node_number/s_node_number.yy",},},
|
||||||
{"id":{"name":"gif_reader","path":"scripts/gif_reader/gif_reader.yy",},},
|
{"id":{"name":"gif_reader","path":"scripts/gif_reader/gif_reader.yy",},},
|
||||||
{"id":{"name":"s_node_pb_draw_angle","path":"sprites/s_node_pb_draw_angle/s_node_pb_draw_angle.yy",},},
|
{"id":{"name":"s_node_pb_draw_angle","path":"sprites/s_node_pb_draw_angle/s_node_pb_draw_angle.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_var","path":"scripts/node_PCX_var/node_PCX_var.yy",},},
|
||||||
{"id":{"name":"_f_p3","path":"fonts/_f_p3/_f_p3.yy",},},
|
{"id":{"name":"_f_p3","path":"fonts/_f_p3/_f_p3.yy",},},
|
||||||
{"id":{"name":"cornerBox","path":"scripts/cornerBox/cornerBox.yy",},},
|
{"id":{"name":"cornerBox","path":"scripts/cornerBox/cornerBox.yy",},},
|
||||||
{"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},},
|
{"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},},
|
||||||
|
@ -1877,6 +1895,7 @@
|
||||||
{"id":{"name":"s_node_text_render","path":"sprites/s_node_text_render/s_node_text_render.yy",},},
|
{"id":{"name":"s_node_text_render","path":"sprites/s_node_text_render/s_node_text_render.yy",},},
|
||||||
{"id":{"name":"__init_global","path":"scripts/__init_global/__init_global.yy",},},
|
{"id":{"name":"__init_global","path":"scripts/__init_global/__init_global.yy",},},
|
||||||
{"id":{"name":"sh_trail_filler_pass2","path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},},
|
{"id":{"name":"sh_trail_filler_pass2","path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_array_set","path":"scripts/node_PCX_array_set/node_PCX_array_set.yy",},},
|
||||||
{"id":{"name":"sh_color_select_side","path":"shaders/sh_color_select_side/sh_color_select_side.yy",},},
|
{"id":{"name":"sh_color_select_side","path":"shaders/sh_color_select_side/sh_color_select_side.yy",},},
|
||||||
{"id":{"name":"s_node_regex_search","path":"sprites/s_node_regex_search/s_node_regex_search.yy",},},
|
{"id":{"name":"s_node_regex_search","path":"sprites/s_node_regex_search/s_node_regex_search.yy",},},
|
||||||
{"id":{"name":"s_node_color_from_rgb","path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},},
|
{"id":{"name":"s_node_color_from_rgb","path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},},
|
||||||
|
@ -1975,6 +1994,7 @@
|
||||||
{"id":{"name":"s_node_path_blend","path":"sprites/s_node_path_blend/s_node_path_blend.yy",},},
|
{"id":{"name":"s_node_path_blend","path":"sprites/s_node_path_blend/s_node_path_blend.yy",},},
|
||||||
{"id":{"name":"preview_overlay_scalar","path":"scripts/preview_overlay_scalar/preview_overlay_scalar.yy",},},
|
{"id":{"name":"preview_overlay_scalar","path":"scripts/preview_overlay_scalar/preview_overlay_scalar.yy",},},
|
||||||
{"id":{"name":"s_biterator_tab_active","path":"sprites/s_biterator_tab_active/s_biterator_tab_active.yy",},},
|
{"id":{"name":"s_biterator_tab_active","path":"sprites/s_biterator_tab_active/s_biterator_tab_active.yy",},},
|
||||||
|
{"id":{"name":"dynaSurf_3d","path":"scripts/dynaSurf_3d/dynaSurf_3d.yy",},},
|
||||||
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},},
|
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},},
|
||||||
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},},
|
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},},
|
||||||
{"id":{"name":"sh_draw_downsample","path":"shaders/sh_draw_downsample/sh_draw_downsample.yy",},},
|
{"id":{"name":"sh_draw_downsample","path":"shaders/sh_draw_downsample/sh_draw_downsample.yy",},},
|
||||||
|
@ -2038,6 +2058,7 @@
|
||||||
{"id":{"name":"s_node_bar_graph","path":"sprites/s_node_bar_graph/s_node_bar_graph.yy",},},
|
{"id":{"name":"s_node_bar_graph","path":"sprites/s_node_bar_graph/s_node_bar_graph.yy",},},
|
||||||
{"id":{"name":"sh_channel_B_grey","path":"shaders/sh_channel_B_grey/sh_channel_B_grey.yy",},},
|
{"id":{"name":"sh_channel_B_grey","path":"shaders/sh_channel_B_grey/sh_channel_B_grey.yy",},},
|
||||||
{"id":{"name":"s_node_pb_fx_hash","path":"sprites/s_node_pb_fx_hash/s_node_pb_fx_hash.yy",},},
|
{"id":{"name":"s_node_pb_fx_hash","path":"sprites/s_node_pb_fx_hash/s_node_pb_fx_hash.yy",},},
|
||||||
|
{"id":{"name":"__node_PCX","path":"scripts/__node_PCX/__node_PCX.yy",},},
|
||||||
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},},
|
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},},
|
||||||
{"id":{"name":"s_node_strandSim_update","path":"sprites/s_node_strandSim_update/s_node_strandSim_update.yy",},},
|
{"id":{"name":"s_node_strandSim_update","path":"sprites/s_node_strandSim_update/s_node_strandSim_update.yy",},},
|
||||||
{"id":{"name":"async_functions","path":"scripts/async_functions/async_functions.yy",},},
|
{"id":{"name":"async_functions","path":"scripts/async_functions/async_functions.yy",},},
|
||||||
|
@ -2048,6 +2069,7 @@
|
||||||
{"id":{"name":"fd_rectangle_set_velocity_dissipation_value","path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},},
|
{"id":{"name":"fd_rectangle_set_velocity_dissipation_value","path":"scripts/fd_rectangle_set_velocity_dissipation_value/fd_rectangle_set_velocity_dissipation_value.yy",},},
|
||||||
{"id":{"name":"panel_history","path":"scripts/panel_history/panel_history.yy",},},
|
{"id":{"name":"panel_history","path":"scripts/panel_history/panel_history.yy",},},
|
||||||
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},},
|
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},},
|
||||||
|
{"id":{"name":"rotatorRandom","path":"scripts/rotatorRandom/rotatorRandom.yy",},},
|
||||||
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},},
|
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_draw","path":"scripts/fd_rectangle_draw/fd_rectangle_draw.yy",},},
|
{"id":{"name":"fd_rectangle_draw","path":"scripts/fd_rectangle_draw/fd_rectangle_draw.yy",},},
|
||||||
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},},
|
{"id":{"name":"s_node_export","path":"sprites/s_node_export/s_node_export.yy",},},
|
||||||
|
@ -2096,6 +2118,7 @@
|
||||||
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},},
|
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},},
|
||||||
{"id":{"name":"s_node_regex_replace","path":"sprites/s_node_regex_replace/s_node_regex_replace.yy",},},
|
{"id":{"name":"s_node_regex_replace","path":"sprites/s_node_regex_replace/s_node_regex_replace.yy",},},
|
||||||
{"id":{"name":"sh_pb_hash","path":"shaders/sh_pb_hash/sh_pb_hash.yy",},},
|
{"id":{"name":"sh_pb_hash","path":"shaders/sh_pb_hash/sh_pb_hash.yy",},},
|
||||||
|
{"id":{"name":"node_dynamic_surface_out_height","path":"scripts/node_dynamic_surface_out_height/node_dynamic_surface_out_height.yy",},},
|
||||||
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},},
|
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_set_visualization_shader","path":"scripts/fd_rectangle_set_visualization_shader/fd_rectangle_set_visualization_shader.yy",},},
|
{"id":{"name":"fd_rectangle_set_visualization_shader","path":"scripts/fd_rectangle_set_visualization_shader/fd_rectangle_set_visualization_shader.yy",},},
|
||||||
{"id":{"name":"s_biterator_bg","path":"sprites/s_biterator_bg/s_biterator_bg.yy",},},
|
{"id":{"name":"s_biterator_bg","path":"sprites/s_biterator_bg/s_biterator_bg.yy",},},
|
||||||
|
@ -2172,6 +2195,7 @@
|
||||||
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},},
|
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},},
|
||||||
{"id":{"name":"node_group","path":"scripts/node_group/node_group.yy",},},
|
{"id":{"name":"node_group","path":"scripts/node_group/node_group.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_get_material_height","path":"scripts/fd_rectangle_get_material_height/fd_rectangle_get_material_height.yy",},},
|
{"id":{"name":"fd_rectangle_get_material_height","path":"scripts/fd_rectangle_get_material_height/fd_rectangle_get_material_height.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_fn_surface_height","path":"scripts/node_PCX_fn_surface_height/node_PCX_fn_surface_height.yy",},},
|
||||||
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},},
|
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},},
|
||||||
{"id":{"name":"s_node_array_copy","path":"sprites/s_node_array_copy/s_node_array_copy.yy",},},
|
{"id":{"name":"s_node_array_copy","path":"sprites/s_node_array_copy/s_node_array_copy.yy",},},
|
||||||
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},},
|
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},},
|
||||||
|
@ -2195,6 +2219,7 @@
|
||||||
{"id":{"name":"shader_replace_simple","path":"extensions/shader_replace_simple/shader_replace_simple.yy",},},
|
{"id":{"name":"shader_replace_simple","path":"extensions/shader_replace_simple/shader_replace_simple.yy",},},
|
||||||
{"id":{"name":"d3d_cone","path":"scripts/d3d_cone/d3d_cone.yy",},},
|
{"id":{"name":"d3d_cone","path":"scripts/d3d_cone/d3d_cone.yy",},},
|
||||||
{"id":{"name":"__rectangle","path":"scripts/__rectangle/__rectangle.yy",},},
|
{"id":{"name":"__rectangle","path":"scripts/__rectangle/__rectangle.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_fn_random","path":"scripts/node_PCX_fn_random/node_PCX_fn_random.yy",},},
|
||||||
{"id":{"name":"s_node_iterator_index","path":"sprites/s_node_iterator_index/s_node_iterator_index.yy",},},
|
{"id":{"name":"s_node_iterator_index","path":"sprites/s_node_iterator_index/s_node_iterator_index.yy",},},
|
||||||
{"id":{"name":"node_de_corner","path":"scripts/node_de_corner/node_de_corner.yy",},},
|
{"id":{"name":"node_de_corner","path":"scripts/node_de_corner/node_de_corner.yy",},},
|
||||||
{"id":{"name":"preferences","path":"scripts/preferences/preferences.yy",},},
|
{"id":{"name":"preferences","path":"scripts/preferences/preferences.yy",},},
|
||||||
|
@ -2226,6 +2251,7 @@
|
||||||
{"id":{"name":"node_strand_collision","path":"scripts/node_strand_collision/node_strand_collision.yy",},},
|
{"id":{"name":"node_strand_collision","path":"scripts/node_strand_collision/node_strand_collision.yy",},},
|
||||||
{"id":{"name":"s_node_atlas_get","path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},},
|
{"id":{"name":"s_node_atlas_get","path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},},
|
||||||
{"id":{"name":"sh_flood_fill_it","path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},},
|
{"id":{"name":"sh_flood_fill_it","path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},},
|
||||||
|
{"id":{"name":"node_dynamic_surface_out_width","path":"scripts/node_dynamic_surface_out_width/node_dynamic_surface_out_width.yy",},},
|
||||||
{"id":{"name":"node_iterator_sort_input","path":"scripts/node_iterator_sort_input/node_iterator_sort_input.yy",},},
|
{"id":{"name":"node_iterator_sort_input","path":"scripts/node_iterator_sort_input/node_iterator_sort_input.yy",},},
|
||||||
{"id":{"name":"draw_corner","path":"scripts/draw_corner/draw_corner.yy",},},
|
{"id":{"name":"draw_corner","path":"scripts/draw_corner/draw_corner.yy",},},
|
||||||
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},},
|
{"id":{"name":"o_dialog_preference","path":"objects/o_dialog_preference/o_dialog_preference.yy",},},
|
||||||
|
@ -2244,6 +2270,7 @@
|
||||||
{"id":{"name":"fd_rectangle_set_material_dissipation_value","path":"scripts/fd_rectangle_set_material_dissipation_value/fd_rectangle_set_material_dissipation_value.yy",},},
|
{"id":{"name":"fd_rectangle_set_material_dissipation_value","path":"scripts/fd_rectangle_set_material_dissipation_value/fd_rectangle_set_material_dissipation_value.yy",},},
|
||||||
{"id":{"name":"node_iterator_output","path":"scripts/node_iterator_output/node_iterator_output.yy",},},
|
{"id":{"name":"node_iterator_output","path":"scripts/node_iterator_output/node_iterator_output.yy",},},
|
||||||
{"id":{"name":"panel_graph_export_image_dialog","path":"scripts/panel_graph_export_image_dialog/panel_graph_export_image_dialog.yy",},},
|
{"id":{"name":"panel_graph_export_image_dialog","path":"scripts/panel_graph_export_image_dialog/panel_graph_export_image_dialog.yy",},},
|
||||||
|
{"id":{"name":"node_PCX_array_get","path":"scripts/node_PCX_array_get/node_PCX_array_get.yy",},},
|
||||||
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},},
|
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},},
|
||||||
{"id":{"name":"node_shadow_cast","path":"scripts/node_shadow_cast/node_shadow_cast.yy",},},
|
{"id":{"name":"node_shadow_cast","path":"scripts/node_shadow_cast/node_shadow_cast.yy",},},
|
||||||
{"id":{"name":"node_strand_render","path":"scripts/node_strand_render/node_strand_render.yy",},},
|
{"id":{"name":"node_strand_render","path":"scripts/node_strand_render/node_strand_render.yy",},},
|
||||||
|
@ -2267,6 +2294,7 @@
|
||||||
{"id":{"name":"s_node_gradient_palette","path":"sprites/s_node_gradient_palette/s_node_gradient_palette.yy",},},
|
{"id":{"name":"s_node_gradient_palette","path":"sprites/s_node_gradient_palette/s_node_gradient_palette.yy",},},
|
||||||
{"id":{"name":"node_array_shuffle","path":"scripts/node_array_shuffle/node_array_shuffle.yy",},},
|
{"id":{"name":"node_array_shuffle","path":"scripts/node_array_shuffle/node_array_shuffle.yy",},},
|
||||||
{"id":{"name":"panel_node_data_gen","path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",},},
|
{"id":{"name":"panel_node_data_gen","path":"scripts/panel_node_data_gen/panel_node_data_gen.yy",},},
|
||||||
|
{"id":{"name":"node_dynamic_surface_out","path":"scripts/node_dynamic_surface_out/node_dynamic_surface_out.yy",},},
|
||||||
{"id":{"name":"fd_rectangle_update_material","path":"scripts/fd_rectangle_update_material/fd_rectangle_update_material.yy",},},
|
{"id":{"name":"fd_rectangle_update_material","path":"scripts/fd_rectangle_update_material/fd_rectangle_update_material.yy",},},
|
||||||
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},},
|
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},},
|
||||||
{"id":{"name":"sh_time_remap","path":"shaders/sh_time_remap/sh_time_remap.yy",},},
|
{"id":{"name":"sh_time_remap","path":"shaders/sh_time_remap/sh_time_remap.yy",},},
|
||||||
|
|
Binary file not shown.
|
@ -30,8 +30,14 @@ event_inherited();
|
||||||
|
|
||||||
#region ---- category ----
|
#region ---- category ----
|
||||||
category = NODE_CATEGORY;
|
category = NODE_CATEGORY;
|
||||||
if(context == "Node_Pixel_Builder")
|
switch(context) {
|
||||||
category = NODE_PB_CATEGORY;
|
case "Node_Pixel_Builder" :
|
||||||
|
category = NODE_PB_CATEGORY;
|
||||||
|
break;
|
||||||
|
case "Node_DynaSurf" :
|
||||||
|
category = NODE_PCX_CATEGORY;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
draw_set_font(f_p0);
|
draw_set_font(f_p0);
|
||||||
var maxLen = 0;
|
var maxLen = 0;
|
||||||
|
@ -243,9 +249,7 @@ event_inherited();
|
||||||
var context = PANEL_GRAPH.getCurrentContext();
|
var context = PANEL_GRAPH.getCurrentContext();
|
||||||
context = context == noone? "" : instanceof(context);
|
context = context == noone? "" : instanceof(context);
|
||||||
|
|
||||||
var start = -1;
|
var start = category == NODE_CATEGORY? -1 : 0;
|
||||||
if(category == NODE_PB_CATEGORY)
|
|
||||||
start = 0;
|
|
||||||
|
|
||||||
for(var i = start; i < ds_list_size(category); i++) {
|
for(var i = start; i < ds_list_size(category); i++) {
|
||||||
var name = "";
|
var name = "";
|
||||||
|
|
|
@ -127,6 +127,8 @@ function __part(_node) constructor {
|
||||||
if(!active) return;
|
if(!active) return;
|
||||||
x += speedx;
|
x += speedx;
|
||||||
|
|
||||||
|
random_set_seed(seed + life);
|
||||||
|
|
||||||
if(ground && y + speedy > ground_y) {
|
if(ground && y + speedy > ground_y) {
|
||||||
y = ground_y;
|
y = ground_y;
|
||||||
speedy = -speedy * ground_bounce;
|
speedy = -speedy * ground_bounce;
|
||||||
|
|
6
scripts/__node_PCX/__node_PCX.gml
Normal file
6
scripts/__node_PCX/__node_PCX.gml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
function Node_PCX(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Compute Node";
|
||||||
|
w = 96;
|
||||||
|
|
||||||
|
destroy_when_upgroup = true;
|
||||||
|
}
|
11
scripts/__node_PCX/__node_PCX.yy
Normal file
11
scripts/__node_PCX/__node_PCX.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "__node_PCX",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "PCX",
|
||||||
|
"path": "folders/nodes/data/PCX.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/__node_PCX/node_outline.yy
Normal file
12
scripts/__node_PCX/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -20,14 +20,14 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
inputs[| 5] = nodeValue("Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
inputs[| 5] = nodeValue("Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
inputs[| 6] = nodeValue("Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
inputs[| 6] = nodeValue("Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 45, 135, 0, 0 ])
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
.setDisplay(VALUE_DISPLAY.rotation_random);
|
||||||
|
|
||||||
inputs[| 7] = nodeValue("Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
inputs[| 7] = nodeValue("Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
inputs[| 8] = nodeValue("Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0 ])
|
inputs[| 8] = nodeValue("Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0, 0 ])
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
.setDisplay(VALUE_DISPLAY.rotation_random);
|
||||||
|
|
||||||
inputs[| 9] = nodeValue("Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
inputs[| 9] = nodeValue("Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
@ -210,8 +210,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
||||||
|
|
||||||
var _posDist = [];
|
var _posDist = [];
|
||||||
if(_distrib == 2)
|
if(_distrib == 2) _posDist = get_points_from_dist(_dist_map, _amo, seed);
|
||||||
_posDist = get_points_from_dist(_dist_map, _amo, seed);
|
|
||||||
|
|
||||||
for( var i = 0; i < _amo; i++ ) {
|
for( var i = 0; i < _amo; i++ ) {
|
||||||
random_set_seed(seed);
|
random_set_seed(seed);
|
||||||
|
@ -220,6 +219,8 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
parts_runner = clamp(parts_runner, 0, array_length(parts) - 1);
|
parts_runner = clamp(parts_runner, 0, array_length(parts) - 1);
|
||||||
var part = parts[parts_runner];
|
var part = parts[parts_runner];
|
||||||
|
|
||||||
|
//print($"Frame {_time}: Spawning particle {parts_runner}, seed {seed}, {irandom(99999999)}");
|
||||||
|
|
||||||
var _spr = _inSurf, _index = 0;
|
var _spr = _inSurf, _index = 0;
|
||||||
if(is_array(_inSurf)) {
|
if(is_array(_inSurf)) {
|
||||||
if(_arr_type == 0) {
|
if(_arr_type == 0) {
|
||||||
|
@ -274,10 +275,10 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
var _lif = irandom_range(_life[0], _life[1]);
|
var _lif = irandom_range(_life[0], _life[1]);
|
||||||
|
|
||||||
var _rot = random_range(_rotation[0], _rotation[1]);
|
var _rot = angle_random_eval(_rotation);
|
||||||
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
||||||
|
|
||||||
var _dirr = _directCenter? point_direction(_spawn_area[0], _spawn_area[1], xx, yy) : random_range(_direction[0], _direction[1]);
|
var _dirr = _directCenter? point_direction(_spawn_area[0], _spawn_area[1], xx, yy) : angle_random_eval(_direction);
|
||||||
|
|
||||||
var _velo = random_range(_velocity[0], _velocity[1]);
|
var _velo = random_range(_velocity[0], _velocity[1]);
|
||||||
var _vx = lengthdir_x(_velo, _dirr);
|
var _vx = lengthdir_x(_velo, _dirr);
|
||||||
|
@ -291,10 +292,10 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
var _alp = random_range(_alpha[0], _alpha[1]);
|
var _alp = random_range(_alpha[0], _alpha[1]);
|
||||||
var _bld = _blend.eval(random(1));
|
var _bld = _blend.eval(random(1));
|
||||||
|
|
||||||
part.seed = irandom(99999);
|
part.seed = irandom_range(100000, 999999);
|
||||||
part.create(_spr, xx, yy, _lif);
|
part.create(_spr, xx, yy, _lif);
|
||||||
part.anim_speed = _anim_speed;
|
part.anim_speed = _anim_speed;
|
||||||
part.anim_end = _anim_end;
|
part.anim_end = _anim_end;
|
||||||
|
|
||||||
var _trn = random_range(_turn[0], _turn[1]);
|
var _trn = random_range(_turn[0], _turn[1]);
|
||||||
if(_turnBi) _trn *= choose(-1, 1);
|
if(_turnBi) _trn *= choose(-1, 1);
|
||||||
|
@ -314,7 +315,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
static updateParticleForward = function() {}
|
static updateParticleForward = function() {}
|
||||||
|
|
||||||
function reset() {
|
function reset() { #region
|
||||||
spawn_index = 0;
|
spawn_index = 0;
|
||||||
scatter_index = 0;
|
scatter_index = 0;
|
||||||
for(var i = 0; i < array_length(parts); i++) {
|
for(var i = 0; i < array_length(parts); i++) {
|
||||||
|
@ -325,7 +326,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
render();
|
render();
|
||||||
seed = inputs[| 32].getValue();
|
seed = inputs[| 32].getValue();
|
||||||
|
|
||||||
var _loop = inputs[| 21].getValue();
|
var _loop = inputs[| 21].getValue();
|
||||||
if(!_loop) return;
|
if(!_loop) return;
|
||||||
|
|
||||||
for(var i = 0; i < PROJECT.animator.frames_total; i++) {
|
for(var i = 0; i < PROJECT.animator.frames_total; i++) {
|
||||||
|
@ -334,9 +335,9 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
}
|
}
|
||||||
|
|
||||||
seed = inputs[| 32].getValue();
|
seed = inputs[| 32].getValue();
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function checkPartPool() {
|
function checkPartPool() { #region
|
||||||
var _part_amo = attributes.part_amount;
|
var _part_amo = attributes.part_amount;
|
||||||
var _curr_amo = array_length(parts);
|
var _curr_amo = array_length(parts);
|
||||||
|
|
||||||
|
@ -346,9 +347,9 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
} else if(_part_amo < _curr_amo) {
|
} else if(_part_amo < _curr_amo) {
|
||||||
array_resize(parts, _part_amo);
|
array_resize(parts, _part_amo);
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static runVFX = function(_time = PROJECT.animator.current_frame, _render = true) {
|
static runVFX = function(_time = PROJECT.animator.current_frame, _render = true) { #region
|
||||||
var _spawn_delay = inputs[| 1].getValue(_time);
|
var _spawn_delay = inputs[| 1].getValue(_time);
|
||||||
var _spawn_type = inputs[| 16].getValue(_time);
|
var _spawn_type = inputs[| 16].getValue(_time);
|
||||||
var _spawn_active = inputs[| 27].getValue(_time);
|
var _spawn_active = inputs[| 27].getValue(_time);
|
||||||
|
@ -378,11 +379,11 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
triggerRender();
|
triggerRender();
|
||||||
render(_time);
|
render(_time);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static onStep = function() {}
|
static onStep = function() {}
|
||||||
|
|
||||||
static step = function() {
|
static step = function() { #region
|
||||||
var _inSurf = inputs[| 0].getValue();
|
var _inSurf = inputs[| 0].getValue();
|
||||||
var _dist = inputs[| 4].getValue();
|
var _dist = inputs[| 4].getValue();
|
||||||
var _scatt = inputs[| 24].getValue();
|
var _scatt = inputs[| 24].getValue();
|
||||||
|
@ -406,24 +407,24 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
}
|
}
|
||||||
|
|
||||||
onStep();
|
onStep();
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||||
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||||
if(onDrawOverlay != -1)
|
if(onDrawOverlay != -1)
|
||||||
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static onDrawOverlay = -1;
|
static onDrawOverlay = -1;
|
||||||
|
|
||||||
static update = function(frame = PROJECT.animator.current_frame) {
|
static update = function(frame = PROJECT.animator.current_frame) { #region
|
||||||
checkPartPool();
|
checkPartPool();
|
||||||
var _spawn_type = inputs[| 16].getValue();
|
var _spawn_type = inputs[| 16].getValue();
|
||||||
if(_spawn_type == 0) inputs[| 1].name = "Spawn delay";
|
if(_spawn_type == 0) inputs[| 1].name = "Spawn delay";
|
||||||
else inputs[| 1].name = "Spawn frame";
|
else inputs[| 1].name = "Spawn frame";
|
||||||
|
|
||||||
onUpdate();
|
onUpdate();
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static onUpdate = function() {}
|
static onUpdate = function() {}
|
||||||
|
|
||||||
|
@ -433,10 +434,10 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
static onPartStep = function(part) {}
|
static onPartStep = function(part) {}
|
||||||
static onPartDestroy = function(part) {}
|
static onPartDestroy = function(part) {}
|
||||||
|
|
||||||
static postDeserialize = function() {
|
static postDeserialize = function() { #region
|
||||||
if(PROJECT.version < 11480) {
|
if(PROJECT.version < 11480) {
|
||||||
for( var i = 37; i <= 39; i++ )
|
for( var i = 37; i <= 39; i++ )
|
||||||
array_insert(load_map.inputs, i, noone);
|
array_insert(load_map.inputs, i, noone);
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
}
|
}
|
21
scripts/angle_functions/angle_functions.gml
Normal file
21
scripts/angle_functions/angle_functions.gml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
function angle_random_eval(range, seed = undefined) {
|
||||||
|
if(is_real(range))
|
||||||
|
return range;
|
||||||
|
|
||||||
|
if(seed != undefined) random_set_seed(seed);
|
||||||
|
|
||||||
|
if(array_length(range) < 2)
|
||||||
|
return range
|
||||||
|
else if(array_length(range) == 2)
|
||||||
|
return irandom_range(range[0], range[1]);
|
||||||
|
else if(array_length(range) > 2) {
|
||||||
|
switch(range[0]) {
|
||||||
|
case 0 : return irandom_range(range[1], range[2]);
|
||||||
|
case 1 : return irandom_range(range[1] - range[2], range[1] + range[2]);
|
||||||
|
case 2 : return choose(irandom_range(range[1], range[2]), irandom_range(range[3], range[4]));
|
||||||
|
case 3 : return choose(irandom_range(range[1] - range[3], range[1] + range[3]), irandom_range(range[2] - range[3], range[2] + range[3]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return range;
|
||||||
|
}
|
11
scripts/angle_functions/angle_functions.yy
Normal file
11
scripts/angle_functions/angle_functions.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "angle_functions",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "value",
|
||||||
|
"path": "folders/functions/value.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -61,6 +61,8 @@ function __3dGroup() constructor {
|
||||||
static submitSel = function(scene = {}, shader = noone) { _submit(function(_obj, scene, shader) { _obj.submitSel (scene, shader); }, scene, shader); }
|
static submitSel = function(scene = {}, shader = noone) { _submit(function(_obj, scene, shader) { _obj.submitSel (scene, shader); }, scene, shader); }
|
||||||
static submitShader = function(scene = {}, shader = noone) { _submit(function(_obj, scene, shader) { _obj.submitShader (scene, shader); }, scene, shader); }
|
static submitShader = function(scene = {}, shader = noone) { _submit(function(_obj, scene, shader) { _obj.submitShader (scene, shader); }, scene, shader); }
|
||||||
|
|
||||||
|
static submitShadow = function(scene = {}, object = noone) { _submit(function(_obj, scene, object) { _obj.submitShadow (scene, object); }, scene, object); }
|
||||||
|
|
||||||
static map = function(callback, scene = {}) { #region
|
static map = function(callback, scene = {}) { #region
|
||||||
for( var i = 0, n = array_length(objects); i < n; i++ )
|
for( var i = 0, n = array_length(objects); i < n; i++ )
|
||||||
callback(objects[i], scene);
|
callback(objects[i], scene);
|
||||||
|
|
|
@ -34,7 +34,7 @@ function __3dLight() : __3dObject() constructor {
|
||||||
|
|
||||||
static shadowProjectEnd = function() {}
|
static shadowProjectEnd = function() {}
|
||||||
|
|
||||||
static shadowProjectVertex = function(scene, objects) { #region
|
static submitShadow = function(scene, objects) { #region
|
||||||
if(!shadow_active) return;
|
if(!shadow_active) return;
|
||||||
|
|
||||||
shadowProjectBegin();
|
shadowProjectBegin();
|
||||||
|
|
|
@ -75,7 +75,7 @@ function __3dLightPoint() : __3dLight() constructor {
|
||||||
gpu_set_ztestenable(false);
|
gpu_set_ztestenable(false);
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static shadowProjectVertex = function(scene, objects) { #region
|
static submitShadow = function(scene, objects) { #region
|
||||||
if(!shadow_active) return;
|
if(!shadow_active) return;
|
||||||
|
|
||||||
for( var i = 0; i < 6; i++ )
|
for( var i = 0; i < 6; i++ )
|
||||||
|
|
|
@ -116,6 +116,7 @@ function __3dObject() constructor {
|
||||||
submitVertex(_s, sh_d3d_silhouette);
|
submitVertex(_s, sh_d3d_silhouette);
|
||||||
} #endregion
|
} #endregion
|
||||||
static submitShader = function(scene = {}, shader = noone) {}
|
static submitShader = function(scene = {}, shader = noone) {}
|
||||||
|
static submitShadow = function(scene = {}, object = noone) {}
|
||||||
|
|
||||||
static submitVertex = function(scene = {}, shader = noone) { #region
|
static submitVertex = function(scene = {}, shader = noone) { #region
|
||||||
var _shader = sh_d3d_default;
|
var _shader = sh_d3d_default;
|
||||||
|
|
|
@ -97,6 +97,8 @@ function __3dScene(camera) constructor {
|
||||||
static submitSel = function(object, shader = noone) { _submit(function(object, shader) { object.submitSel (self, shader); }, object, shader) }
|
static submitSel = function(object, shader = noone) { _submit(function(object, shader) { object.submitSel (self, shader); }, object, shader) }
|
||||||
static submitShader = function(object, shader = noone) { _submit(function(object, shader) { object.submitShader (self, shader); }, object, shader) }
|
static submitShader = function(object, shader = noone) { _submit(function(object, shader) { object.submitShader (self, shader); }, object, shader) }
|
||||||
|
|
||||||
|
static submitShadow = function(object) { object.submitShadow(self, object) }
|
||||||
|
|
||||||
static deferPass = function(object, w, h, deferData = noone) { #region
|
static deferPass = function(object, w, h, deferData = noone) { #region
|
||||||
if(deferData == noone) deferData = {
|
if(deferData == noone) deferData = {
|
||||||
geometry_data: [ noone, noone, noone ],
|
geometry_data: [ noone, noone, noone ],
|
||||||
|
@ -109,9 +111,9 @@ function __3dScene(camera) constructor {
|
||||||
return deferData;
|
return deferData;
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static renderBackground = function(w, h) { #region
|
static renderBackground = function(w, h, surf = noone) { #region
|
||||||
var _bgSurf = surface_create(w, h);
|
surf = surface_verify(surf, w, h);
|
||||||
surface_set_shader(_bgSurf, sh_d3d_background);
|
surface_set_shader(surf, sh_d3d_background);
|
||||||
shader_set_color("light_ambient", lightAmbient);
|
shader_set_color("light_ambient", lightAmbient);
|
||||||
shader_set_f("cameraPosition", camera.position.toArray());
|
shader_set_f("cameraPosition", camera.position.toArray());
|
||||||
shader_set_i("env_use_mapping", is_surface(enviroment_map) );
|
shader_set_i("env_use_mapping", is_surface(enviroment_map) );
|
||||||
|
@ -129,7 +131,7 @@ function __3dScene(camera) constructor {
|
||||||
matrix_set(matrix_world, matrix_build_identity());
|
matrix_set(matrix_world, matrix_build_identity());
|
||||||
surface_reset_shader();
|
surface_reset_shader();
|
||||||
|
|
||||||
return _bgSurf;
|
return surf;
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static geometryPass = function(deferData, object, w = 512, h = 512) { #region
|
static geometryPass = function(deferData, object, w = 512, h = 512) { #region
|
||||||
|
|
|
@ -68,7 +68,7 @@ function draw_circle_angle(_x, _y, _r, _angSt, _angEd, precision = 32) {
|
||||||
draw_primitive_end();
|
draw_primitive_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
function draw_arc_th(_x, _y, _r, _th, _angSt, _angEd) {
|
function draw_arc_width(_x, _y, _r, _th, _angSt, _angEd) {
|
||||||
draw_primitive_begin(pr_trianglelist);
|
draw_primitive_begin(pr_trianglelist);
|
||||||
var oxI, oyI, oxO, oyO;
|
var oxI, oyI, oxO, oyO;
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ function draw_text_bbox(bbox, text) {
|
||||||
var ss = min(bbox.w / string_width(text), bbox.h / string_height(text));
|
var ss = min(bbox.w / string_width(text), bbox.h / string_height(text));
|
||||||
ss = max(0.5, ss);
|
ss = max(0.5, ss);
|
||||||
|
|
||||||
|
draw_set_halign(fa_center);
|
||||||
|
draw_set_valign(fa_center);
|
||||||
draw_text_cut(bbox.xc, bbox.yc, text, bbox.w, ss);
|
draw_text_cut(bbox.xc, bbox.yc, text, bbox.w, ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,4 +23,27 @@ function DynaSurf() constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static clone = function() {}
|
static clone = function() {}
|
||||||
|
static destroy = function() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Compute_DynaSurf() : DynaSurf() constructor {
|
||||||
|
drawFn = noone;
|
||||||
|
widthFn = noone;
|
||||||
|
heightFn = noone;
|
||||||
|
|
||||||
|
static getWidth = function() { return widthFn? widthFn.eval() : 1; }
|
||||||
|
static getHeight = function() { return heightFn? heightFn.eval() : 1; }
|
||||||
|
|
||||||
|
static draw = function(_x = 0, _y = 0, _sx = 1, _sy = 1, _ang = 0, _col = c_white, _alp = 1) {
|
||||||
|
if(drawFn == noone) return;
|
||||||
|
drawFn.evalFn({
|
||||||
|
x: _x,
|
||||||
|
y: _y,
|
||||||
|
sx: _sx,
|
||||||
|
sy: _sy,
|
||||||
|
angle: _ang,
|
||||||
|
color: _col,
|
||||||
|
alpha: _alp
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
84
scripts/dynaSurf_3d/dynaSurf_3d.gml
Normal file
84
scripts/dynaSurf_3d/dynaSurf_3d.gml
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
function dynaSurf_3d() : DynaSurf() constructor {
|
||||||
|
object = noone;
|
||||||
|
|
||||||
|
camera = new __3dCamera();
|
||||||
|
camTarget = new __vec3();
|
||||||
|
camera_ay = 45;
|
||||||
|
|
||||||
|
scene = new __3dScene(camera);
|
||||||
|
|
||||||
|
w = 1;
|
||||||
|
h = 1;
|
||||||
|
|
||||||
|
surfaces = array_create(4);
|
||||||
|
deferData = noone;
|
||||||
|
|
||||||
|
static getWidth = function() { return w; }
|
||||||
|
static getHeight = function() { return h; }
|
||||||
|
|
||||||
|
static draw = function(_x = 0, _y = 0, _xs = 1, _ys = 1, _rot = 0, _col = c_white, _alp = 1) {
|
||||||
|
var _sw = w * _xs;
|
||||||
|
var _sh = h * _xs;
|
||||||
|
|
||||||
|
#region view
|
||||||
|
var _pos, _blend = 1;
|
||||||
|
|
||||||
|
_pos = calculate_3d_position(camTarget.x, camTarget.y, camTarget.z, _rot, camera_ay, camera.focus_dist);
|
||||||
|
|
||||||
|
camera.position.set(_pos);
|
||||||
|
camera.focus.set(camTarget);
|
||||||
|
|
||||||
|
camera.setViewSize(_sw, _sh);
|
||||||
|
camera.setMatrix();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region background
|
||||||
|
//surface_free_safe(surfaces[0]);
|
||||||
|
//surfaces[0] = scene.renderBackground(_sw, _sh, surfaces[0]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region surfaces
|
||||||
|
surfaces[1] = surface_verify(surfaces[1], _sw, _sh);
|
||||||
|
surfaces[2] = surface_verify(surfaces[2], _sw, _sh);
|
||||||
|
surfaces[3] = surface_verify(surfaces[3], _sw, _sh);
|
||||||
|
deferData = scene.deferPass(object, _sw, _sh, deferData);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region submit
|
||||||
|
var _px = point_rotate(0, 0, _sw / 2, _sh / 2, _rot);
|
||||||
|
var _xx = _x - _px[0];
|
||||||
|
var _yy = _y - _px[1];
|
||||||
|
|
||||||
|
surface_set_target_ext(0, surfaces[1]);
|
||||||
|
surface_set_target_ext(1, surfaces[2]);
|
||||||
|
surface_set_target_ext(2, surfaces[3]);
|
||||||
|
|
||||||
|
DRAW_CLEAR
|
||||||
|
|
||||||
|
camera.setMatrix();
|
||||||
|
scene.reset();
|
||||||
|
gpu_set_cullmode(cull_counterclockwise);
|
||||||
|
|
||||||
|
object.submitShader(scene);
|
||||||
|
object.submitShadow(scene, object);
|
||||||
|
scene.apply(deferData);
|
||||||
|
|
||||||
|
gpu_set_cullmode(cull_noculling);
|
||||||
|
surface_reset_target();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region draw
|
||||||
|
//if(scene.draw_background)
|
||||||
|
// draw_surface_safe(surfaces[0], _xx, _yy);
|
||||||
|
draw_surface_safe(surfaces[1], _xx, _yy);
|
||||||
|
|
||||||
|
BLEND_MULTIPLY
|
||||||
|
draw_surface_safe(deferData.ssao, _xx, _yy);
|
||||||
|
BLEND_NORMAL
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
static drawTile = function(_x = 0, _y = 0, _xs = 1, _ys = 1, _col = c_white, _alp = 1) {}
|
||||||
|
|
||||||
|
static drawPart = function(_l, _t, _w, _h, _x, _y, _xs = 1, _ys = 1, _rot = 0, _col = c_white, _alp = 1) {}
|
||||||
|
}
|
11
scripts/dynaSurf_3d/dynaSurf_3d.yy
Normal file
11
scripts/dynaSurf_3d/dynaSurf_3d.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "dynaSurf_3d",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "dynamic surface",
|
||||||
|
"path": "folders/functions/surface/dynamic surface.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -168,38 +168,40 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static processData = function(_output, _data, _output_index, _array_index = 0) { #region
|
static processData = function(_output, _data, _output_index, _array_index = 0) { #region
|
||||||
var _pos = _data[0];
|
#region data
|
||||||
var _rot = _data[1];
|
var _pos = _data[0];
|
||||||
|
var _rot = _data[1];
|
||||||
|
|
||||||
var _fov = _data[in_d3d + 0];
|
var _fov = _data[in_d3d + 0];
|
||||||
var _clip = _data[in_d3d + 1];
|
var _clip = _data[in_d3d + 1];
|
||||||
var _dim = _data[in_d3d + 2];
|
var _dim = _data[in_d3d + 2];
|
||||||
var _proj = _data[in_d3d + 3];
|
var _proj = _data[in_d3d + 3];
|
||||||
var _scne = _data[in_d3d + 4];
|
var _sobj = _data[in_d3d + 4];
|
||||||
var _ambt = _data[in_d3d + 5];
|
var _ambt = _data[in_d3d + 5];
|
||||||
var _dbg = _data[in_d3d + 6];
|
var _dbg = _data[in_d3d + 6];
|
||||||
var _back = _data[in_d3d + 7];
|
var _back = _data[in_d3d + 7];
|
||||||
var _orts = _data[in_d3d + 8];
|
var _orts = _data[in_d3d + 8];
|
||||||
|
|
||||||
var _posm = _data[in_d3d + 9];
|
var _posm = _data[in_d3d + 9];
|
||||||
var _look = _data[in_d3d + 10];
|
var _look = _data[in_d3d + 10];
|
||||||
var _roll = _data[in_d3d + 11];
|
var _roll = _data[in_d3d + 11];
|
||||||
var _hAng = _data[in_d3d + 12];
|
var _hAng = _data[in_d3d + 12];
|
||||||
var _vAng = _data[in_d3d + 13];
|
var _vAng = _data[in_d3d + 13];
|
||||||
var _dist = _data[in_d3d + 14];
|
var _dist = _data[in_d3d + 14];
|
||||||
var _gamm = _data[in_d3d + 15];
|
var _gamm = _data[in_d3d + 15];
|
||||||
var _env = _data[in_d3d + 16];
|
var _env = _data[in_d3d + 16];
|
||||||
|
|
||||||
var _aoEn = _data[in_d3d + 17];
|
var _aoEn = _data[in_d3d + 17];
|
||||||
var _aoRa = _data[in_d3d + 18];
|
var _aoRa = _data[in_d3d + 18];
|
||||||
var _aoBi = _data[in_d3d + 19];
|
var _aoBi = _data[in_d3d + 19];
|
||||||
var _aoSr = _data[in_d3d + 20];
|
var _aoSr = _data[in_d3d + 20];
|
||||||
|
|
||||||
var _nrmSmt = _data[in_d3d + 21];
|
var _nrmSmt = _data[in_d3d + 21];
|
||||||
|
|
||||||
var _qi1 = new BBMOD_Quaternion().FromAxisAngle(new BBMOD_Vec3(0, 1, 0), 90);
|
var _qi1 = new BBMOD_Quaternion().FromAxisAngle(new BBMOD_Vec3(0, 1, 0), 90);
|
||||||
var _qi2 = new BBMOD_Quaternion().FromAxisAngle(new BBMOD_Vec3(1, 0, 0), -90);
|
var _qi2 = new BBMOD_Quaternion().FromAxisAngle(new BBMOD_Vec3(1, 0, 0), -90);
|
||||||
var _qi3 = new BBMOD_Quaternion().FromAxisAngle(new BBMOD_Vec3(1, 0, 0), 90);
|
var _qi3 = new BBMOD_Quaternion().FromAxisAngle(new BBMOD_Vec3(1, 0, 0), 90);
|
||||||
|
#endregion
|
||||||
|
|
||||||
switch(_posm) { #region ++++ camera positioning ++++
|
switch(_posm) { #region ++++ camera positioning ++++
|
||||||
case 0 :
|
case 0 :
|
||||||
|
@ -245,74 +247,85 @@ function Node_3D_Camera(_x, _y, _group = noone) : Node_3D_Object(_x, _y, _group)
|
||||||
object.transform.rotation = camera.rotation.Clone();
|
object.transform.rotation = camera.rotation.Clone();
|
||||||
object.transform.scale.set(1, _dim[0] / _dim[1], 1);
|
object.transform.scale.set(1, _dim[0] / _dim[1], 1);
|
||||||
|
|
||||||
if(_scne == noone) return;
|
if(_sobj == noone) return;
|
||||||
|
|
||||||
camera.projection = _proj;
|
#region camera view project
|
||||||
camera.setViewFov(_fov, _clip[0], _clip[1]);
|
camera.projection = _proj;
|
||||||
if(_proj == 0) camera.setViewSize(_dim[0], _dim[1]);
|
camera.setViewFov(_fov, _clip[0], _clip[1]);
|
||||||
else if(_proj == 1) camera.setViewSize(1 / _orts, _dim[0] / _dim[1] / _orts);
|
if(_proj == 0) camera.setViewSize(_dim[0], _dim[1]);
|
||||||
camera.setMatrix();
|
else if(_proj == 1) camera.setViewSize(1 / _orts, _dim[0] / _dim[1] / _orts);
|
||||||
|
camera.setMatrix();
|
||||||
|
#endregion
|
||||||
|
|
||||||
scene.camera = camera;
|
#region scene setting
|
||||||
scene.lightAmbient = _ambt;
|
scene.camera = camera;
|
||||||
scene.gammaCorrection = _gamm;
|
scene.lightAmbient = _ambt;
|
||||||
scene.enviroment_map = _env;
|
scene.gammaCorrection = _gamm;
|
||||||
scene.cull_mode = _back;
|
scene.enviroment_map = _env;
|
||||||
scene.ssao_enabled = _aoEn;
|
scene.cull_mode = _back;
|
||||||
scene.ssao_radius = _aoRa;
|
scene.ssao_enabled = _aoEn;
|
||||||
scene.ssao_bias = _aoBi;
|
scene.ssao_radius = _aoRa;
|
||||||
scene.ssao_strength = _aoSr;
|
scene.ssao_bias = _aoBi;
|
||||||
scene.defer_normal_radius = _nrmSmt;
|
scene.ssao_strength = _aoSr;
|
||||||
scene.draw_background = _dbg;
|
scene.defer_normal_radius = _nrmSmt;
|
||||||
|
scene.draw_background = _dbg;
|
||||||
|
#endregion
|
||||||
|
|
||||||
var _bgSurf = _dbg? scene.renderBackground(_dim[0], _dim[1]) : noone;
|
var _bgSurf = _dbg? scene.renderBackground(_dim[0], _dim[1]) : noone;
|
||||||
deferData = scene.deferPass(_scne, _dim[0], _dim[1], deferData);
|
deferData = scene.deferPass(_sobj, _dim[0], _dim[1], deferData);
|
||||||
|
|
||||||
var _render = outputs[| 0].getValue();
|
#region surface
|
||||||
var _normal = outputs[| 1].getValue();
|
var _render = outputs[| 0].getValue();
|
||||||
var _depth = outputs[| 2].getValue();
|
var _normal = outputs[| 1].getValue();
|
||||||
|
var _depth = outputs[| 2].getValue();
|
||||||
|
|
||||||
_render = surface_verify(_render, _dim[0], _dim[1]);
|
_render = surface_verify(_render, _dim[0], _dim[1]);
|
||||||
_normal = surface_verify(_normal, _dim[0], _dim[1]);
|
_normal = surface_verify(_normal, _dim[0], _dim[1]);
|
||||||
_depth = surface_verify(_depth , _dim[0], _dim[1]);
|
_depth = surface_verify(_depth , _dim[0], _dim[1]);
|
||||||
|
|
||||||
surface_set_target_ext(0, _render);
|
surface_set_target_ext(0, _render);
|
||||||
surface_set_target_ext(1, _normal);
|
surface_set_target_ext(1, _normal);
|
||||||
surface_set_target_ext(2, _depth );
|
surface_set_target_ext(2, _depth );
|
||||||
|
|
||||||
DRAW_CLEAR
|
|
||||||
|
|
||||||
gpu_set_zwriteenable(true);
|
|
||||||
gpu_set_ztestenable(true);
|
|
||||||
gpu_set_cullmode(_back);
|
|
||||||
|
|
||||||
camera.applyCamera();
|
|
||||||
|
|
||||||
scene.reset();
|
|
||||||
scene.submitShader(_scne);
|
|
||||||
scene.apply(deferData);
|
|
||||||
scene.submit(_scne);
|
|
||||||
|
|
||||||
surface_reset_target();
|
|
||||||
|
|
||||||
camera.resetCamera();
|
|
||||||
|
|
||||||
var _finalRender = surface_create(_dim[0], _dim[1]);
|
|
||||||
surface_set_target(_finalRender);
|
|
||||||
DRAW_CLEAR
|
DRAW_CLEAR
|
||||||
BLEND_ALPHA
|
#endregion
|
||||||
|
|
||||||
if(_dbg) {
|
#region submit
|
||||||
draw_surface_safe(_bgSurf, 0, 0);
|
gpu_set_zwriteenable(true);
|
||||||
surface_free(_bgSurf);
|
gpu_set_ztestenable(true);
|
||||||
}
|
gpu_set_cullmode(_back);
|
||||||
draw_surface_safe(_render, 0, 0);
|
|
||||||
|
|
||||||
BLEND_MULTIPLY
|
camera.applyCamera();
|
||||||
draw_surface_safe(deferData.ssao);
|
|
||||||
BLEND_NORMAL
|
scene.reset();
|
||||||
surface_reset_target();
|
scene.submitShadow(_sobj);
|
||||||
surface_free(_render);
|
scene.submitShader(_sobj);
|
||||||
|
scene.apply(deferData);
|
||||||
|
scene.submit(_sobj);
|
||||||
|
|
||||||
|
surface_reset_target();
|
||||||
|
|
||||||
|
camera.resetCamera();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region render
|
||||||
|
var _finalRender = surface_create(_dim[0], _dim[1]);
|
||||||
|
surface_set_target(_finalRender);
|
||||||
|
DRAW_CLEAR
|
||||||
|
BLEND_ALPHA
|
||||||
|
|
||||||
|
if(_dbg) {
|
||||||
|
draw_surface_safe(_bgSurf, 0, 0);
|
||||||
|
surface_free(_bgSurf);
|
||||||
|
}
|
||||||
|
draw_surface_safe(_render, 0, 0);
|
||||||
|
|
||||||
|
BLEND_MULTIPLY
|
||||||
|
draw_surface_safe(deferData.ssao);
|
||||||
|
BLEND_NORMAL
|
||||||
|
surface_reset_target();
|
||||||
|
surface_free(_render);
|
||||||
|
#endregion
|
||||||
|
|
||||||
return [ _finalRender, _normal, _depth ];
|
return [ _finalRender, _normal, _depth ];
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
54
scripts/node_3dsurf/node_3dsurf.gml
Normal file
54
scripts/node_3dsurf/node_3dsurf.gml
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
function Node_3DSurf(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||||
|
name = "3DSurf";
|
||||||
|
cached_object = [];
|
||||||
|
object_class = dynaSurf_3d;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Scene", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Scene, noone)
|
||||||
|
.setVisible(true, true);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Base Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF)
|
||||||
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("Vertical Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 45 )
|
||||||
|
.setDisplay(VALUE_DISPLAY.slider, [0, 90, 1]);
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue("Distance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4 );
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("3DSurf", self, JUNCTION_CONNECT.output, VALUE_TYPE.dynaSurf, noone);
|
||||||
|
|
||||||
|
input_display_list = [ 0,
|
||||||
|
["Camera", false], 1, 2, 3,
|
||||||
|
];
|
||||||
|
|
||||||
|
static getObject = function(index, class = object_class) { #region
|
||||||
|
var _obj = array_safe_get(cached_object, index, noone);
|
||||||
|
if(_obj == noone) {
|
||||||
|
_obj = new class();
|
||||||
|
} else if(!is_instanceof(_obj, class)) {
|
||||||
|
_obj.destroy();
|
||||||
|
_obj = new class();
|
||||||
|
}
|
||||||
|
|
||||||
|
cached_object[index] = _obj;
|
||||||
|
return _obj;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||||
|
var _sobj = _data[0];
|
||||||
|
var _dim = _data[1];
|
||||||
|
var _vang = _data[2];
|
||||||
|
var _dist = _data[3];
|
||||||
|
|
||||||
|
if(_sobj == noone) return noone;
|
||||||
|
|
||||||
|
var _scn = getObject(_array_index);
|
||||||
|
_scn.object = _sobj;
|
||||||
|
_scn.w = _dim[0];
|
||||||
|
_scn.h = _dim[1];
|
||||||
|
|
||||||
|
_scn.camera_ay = _vang;
|
||||||
|
_scn.camera.focus_dist = _dist;
|
||||||
|
|
||||||
|
return _scn;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_3dsurf/node_3dsurf.yy
Normal file
11
scripts/node_3dsurf/node_3dsurf.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_3dsurf",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "surface",
|
||||||
|
"path": "folders/nodes/data/value/surface.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_3dsurf/node_counter.yy
Normal file
12
scripts/node_3dsurf/node_counter.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "number",
|
||||||
|
"path": "folders/nodes/data/number.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_counter",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
16
scripts/node_PCX_array_get/node_PCX_array_get.gml
Normal file
16
scripts/node_PCX_array_get/node_PCX_array_get.gml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
function Node_PCX_Array_Get(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Array Get";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Index", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _arr = inputs[| 0].getValue();
|
||||||
|
var _ind = inputs[| 1].getValue();
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree("@", _arr, _ind));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_PCX_array_get/node_PCX_array_get.yy
Normal file
11
scripts/node_PCX_array_get/node_PCX_array_get.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_array_get",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "array",
|
||||||
|
"path": "folders/nodes/data/PCX/array.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_array_get/node_outline.yy
Normal file
12
scripts/node_PCX_array_get/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
19
scripts/node_PCX_array_set/node_PCX_array_set.gml
Normal file
19
scripts/node_PCX_array_set/node_PCX_array_set.gml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
function Node_PCX_Array_Set(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Array Set";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Index", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _arr = inputs[| 0].getValue();
|
||||||
|
var _ind = inputs[| 1].getValue();
|
||||||
|
var _val = inputs[| 2].getValue();
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree("=", [ _arr, _ind ], _val));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_PCX_array_set/node_PCX_array_set.yy
Normal file
11
scripts/node_PCX_array_set/node_PCX_array_set.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_array_set",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "array",
|
||||||
|
"path": "folders/nodes/data/PCX/array.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_array_set/node_outline.yy
Normal file
12
scripts/node_PCX_array_set/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
138
scripts/node_PCX_equation/node_PCX_equation.gml
Normal file
138
scripts/node_PCX_equation/node_PCX_equation.gml
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
function Node_PCX_Equation(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Equation";
|
||||||
|
|
||||||
|
w = 96;
|
||||||
|
ast = noone;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Equation", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "");
|
||||||
|
|
||||||
|
static createNewInput = function() { #region
|
||||||
|
var index = ds_list_size(inputs);
|
||||||
|
inputs[| index + 0] = nodeValue("Argument name", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "" )
|
||||||
|
.setDisplay(VALUE_DISPLAY.text_box);
|
||||||
|
|
||||||
|
inputs[| index + 1] = nodeValue("Argument value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone )
|
||||||
|
.setVisible(true, true);
|
||||||
|
inputs[| index + 1].editWidget.interactable = false;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Result", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone );
|
||||||
|
|
||||||
|
argument_renderer = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) { #region
|
||||||
|
argument_renderer.x = _x;
|
||||||
|
argument_renderer.y = _y;
|
||||||
|
argument_renderer.w = _w;
|
||||||
|
|
||||||
|
var tx = _x + ui(8);
|
||||||
|
var ty = _y + ui(8);
|
||||||
|
var hh = ui(8);
|
||||||
|
var _th = TEXTBOX_HEIGHT;
|
||||||
|
|
||||||
|
for( var i = input_fix_len; i < ds_list_size(inputs); i += data_length ) {
|
||||||
|
var _h = 0;
|
||||||
|
|
||||||
|
var _jName = inputs[| i + 0];
|
||||||
|
_jName.editWidget.setFocusHover(_focus, _hover);
|
||||||
|
_jName.editWidget.draw(tx, ty, ui(128), _th, _jName.showValue(), _m, _jName.display_type);
|
||||||
|
|
||||||
|
draw_set_text(f_p1, fa_center, fa_top, COLORS._main_text_sub);
|
||||||
|
draw_text_add(tx + ui(128 + 12), ty + ui(6), "=");
|
||||||
|
|
||||||
|
var _jValue = inputs[| i + 1];
|
||||||
|
_jValue.editWidget.setFocusHover(_focus, _hover);
|
||||||
|
_jValue.editWidget.draw(tx + ui(128 + 24), ty, _w - ui(128 + 24 + 16), _th, _jValue.showValue(), _m);
|
||||||
|
|
||||||
|
_h += _th + ui(6);
|
||||||
|
hh += _h;
|
||||||
|
ty += _h;
|
||||||
|
}
|
||||||
|
|
||||||
|
argument_renderer.h = hh;
|
||||||
|
return hh;
|
||||||
|
}); #endregion
|
||||||
|
|
||||||
|
argument_renderer.register = function(parent = noone) { #region
|
||||||
|
for( var i = input_fix_len; i < ds_list_size(inputs); i++ )
|
||||||
|
inputs[| i].editWidget.register(parent);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
input_display_list = [
|
||||||
|
["Function", false], 0,
|
||||||
|
["Arguments", false], argument_renderer,
|
||||||
|
["Inputs", true],
|
||||||
|
]
|
||||||
|
|
||||||
|
setIsDynamicInput(2);
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING) createNewInput();
|
||||||
|
|
||||||
|
static refreshDynamicInput = function() { #region
|
||||||
|
var _in = ds_list_create();
|
||||||
|
|
||||||
|
for( var i = 0; i < input_fix_len; i++ )
|
||||||
|
ds_list_add(_in, inputs[| i]);
|
||||||
|
|
||||||
|
array_resize(input_display_list, input_display_len);
|
||||||
|
|
||||||
|
for( var i = input_fix_len; i < ds_list_size(inputs); i += data_length ) {
|
||||||
|
var varName = inputs[| i].getValue();
|
||||||
|
|
||||||
|
if(varName != "") {
|
||||||
|
ds_list_add(_in, inputs[| i + 0]);
|
||||||
|
ds_list_add(_in, inputs[| i + 1]);
|
||||||
|
inputs[| i + 1].editWidget.setInteract(true);
|
||||||
|
inputs[| i + 1].name = varName;
|
||||||
|
|
||||||
|
array_push(input_display_list, i + 1);
|
||||||
|
} else {
|
||||||
|
delete inputs[| i + 0];
|
||||||
|
delete inputs[| i + 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for( var i = 0; i < ds_list_size(_in); i++ )
|
||||||
|
_in[| i].index = i;
|
||||||
|
|
||||||
|
ds_list_destroy(inputs);
|
||||||
|
inputs = _in;
|
||||||
|
|
||||||
|
createNewInput();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static onValueUpdate = function(index = 0) { #region
|
||||||
|
if(LOADING || APPENDING) return;
|
||||||
|
|
||||||
|
if(safe_mod(index - input_fix_len, data_length) == 0) //Variable name
|
||||||
|
inputs[| index + 1].name = inputs[| index].getValue();
|
||||||
|
|
||||||
|
refreshDynamicInput();
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function() { #region
|
||||||
|
var eq = inputs[| 0].getValue();
|
||||||
|
var fn = evaluateFunctionTree(eq);
|
||||||
|
|
||||||
|
var _fnL = new __funcList();
|
||||||
|
|
||||||
|
for( var i = input_fix_len; i < array_length(_data); i += data_length ) {
|
||||||
|
var _pName = inputs[| i + 0].getValue();
|
||||||
|
var _pVal = inputs[| i + 1].getValue();
|
||||||
|
|
||||||
|
_fnL.addFunction(new __funcTree("=", _pName, _pVal));
|
||||||
|
}
|
||||||
|
|
||||||
|
_fnL.addFunction(fn);
|
||||||
|
outputs[| 0].setValue(fn);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
||||||
|
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
||||||
|
var str = inputs[| 0].getValue();
|
||||||
|
|
||||||
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
var ss = string_scale(str, bbox.w, bbox.h);
|
||||||
|
draw_text_transformed(bbox.xc, bbox.yc, str, ss, ss, 0);
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static doApplyDeserialize = function() { refreshDynamicInput(); }
|
||||||
|
}
|
11
scripts/node_PCX_equation/node_PCX_equation.yy
Normal file
11
scripts/node_PCX_equation/node_PCX_equation.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_equation",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "PCX",
|
||||||
|
"path": "folders/nodes/data/PCX.yy",
|
||||||
|
},
|
||||||
|
}
|
51
scripts/node_PCX_fn_math/node_PCX_fn_math.gml
Normal file
51
scripts/node_PCX_fn_math/node_PCX_fn_math.gml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
function Node_PCX_fn_Math(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Math";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Operator", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
|
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Modulo", "Absolute", -1, "Round", "Floor", "Ceil",
|
||||||
|
-1, "Sin", "Cos", "Tan", "Arcsin", "Arccos", "Arctan", -1, "Min", "Max", "Clamp", -1, "Lerp" ]);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("x", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("y", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue("z", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
static syms = [ "+", "-", "*", "/", "$", "%", "abs", -1, "round", "floor", "ceil",
|
||||||
|
-1, "sin", "cos", "tan", "arcsin", "arccos", "arctan", -1, "min", "max", "clamp", -1, "lerp" ];
|
||||||
|
|
||||||
|
var _opr = inputs[| 0].getValue();
|
||||||
|
var _x = inputs[| 1].getValue();
|
||||||
|
var _y = inputs[| 2].getValue();
|
||||||
|
var _sym = syms[_opr];
|
||||||
|
|
||||||
|
switch(_sym) {
|
||||||
|
case "abs" :
|
||||||
|
case "round" :
|
||||||
|
case "floor" :
|
||||||
|
case "ceil" :
|
||||||
|
case "sin" :
|
||||||
|
case "cos" :
|
||||||
|
case "tan" :
|
||||||
|
case "arcsin" :
|
||||||
|
case "arccos" :
|
||||||
|
case "arctan" :
|
||||||
|
inputs[| 2].setVisible(false, false);
|
||||||
|
break;
|
||||||
|
default: inputs[| 2].setVisible(true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(_sym) {
|
||||||
|
case "clamp" :
|
||||||
|
case "lerp" :
|
||||||
|
inputs[| 3].setVisible(true, true);
|
||||||
|
break;
|
||||||
|
default: inputs[| 3].setVisible(false, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree(_sym, _x, _y));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_PCX_fn_math/node_PCX_fn_math.yy
Normal file
11
scripts/node_PCX_fn_math/node_PCX_fn_math.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_fn_math",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "value",
|
||||||
|
"path": "folders/nodes/data/PCX/value.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_fn_math/node_outline.yy
Normal file
12
scripts/node_PCX_fn_math/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
21
scripts/node_PCX_fn_random/node_PCX_fn_random.gml
Normal file
21
scripts/node_PCX_fn_random/node_PCX_fn_random.gml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
function Node_PCX_fn_Random(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Random";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Min", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Max", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("Integer", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
input_display_list = [ 2, 0, 1 ];
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _min = inputs[| 0].getValue();
|
||||||
|
var _max = inputs[| 1].getValue();
|
||||||
|
var _int = inputs[| 2].getValue();
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree(_int? "irandom" : "random", _min, _max));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_PCX_fn_random/node_PCX_fn_random.yy
Normal file
11
scripts/node_PCX_fn_random/node_PCX_fn_random.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_fn_random",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "value",
|
||||||
|
"path": "folders/nodes/data/PCX/value.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_fn_random/node_outline.yy
Normal file
12
scripts/node_PCX_fn_random/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
function Node_PCX_fn_Surface_Height(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Surface Height";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _surf = inputs[| 0].getValue();
|
||||||
|
outputs[| 0].setValue(new __funcTree("surface_get_height", _surf));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_fn_surface_height",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "surface",
|
||||||
|
"path": "folders/nodes/data/PCX/surface.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_fn_surface_height/node_outline.yy
Normal file
12
scripts/node_PCX_fn_surface_height/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
function Node_PCX_fn_Surface_Width(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Surface Width";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _surf = inputs[| 0].getValue();
|
||||||
|
outputs[| 0].setValue(new __funcTree("surface_get_width", _surf));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_fn_surface_width",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "surface",
|
||||||
|
"path": "folders/nodes/data/PCX/surface.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_fn_surface_width/node_outline.yy
Normal file
12
scripts/node_PCX_fn_surface_width/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
21
scripts/node_PCX_fn_var/node_PCX_fn_var.gml
Normal file
21
scripts/node_PCX_fn_var/node_PCX_fn_var.gml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
function Node_PCX_fn_var(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Fn Variable";
|
||||||
|
w = 64;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Default Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _def = inputs[| 0].getValue();
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree("≔", display_name, _def));
|
||||||
|
}
|
||||||
|
|
||||||
|
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||||
|
var bbox = drawGetBbox(xx, yy, _s);
|
||||||
|
|
||||||
|
draw_set_text(f_h5, fa_center, fa_center, COLORS._main_text);
|
||||||
|
draw_text_bbox(bbox, display_name);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_PCX_fn_var/node_PCX_fn_var.yy
Normal file
11
scripts/node_PCX_fn_var/node_PCX_fn_var.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_fn_var",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "fn",
|
||||||
|
"path": "folders/nodes/data/PCX/fn.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_fn_var/node_outline.yy
Normal file
12
scripts/node_PCX_fn_var/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
16
scripts/node_PCX_var/node_PCX_var.gml
Normal file
16
scripts/node_PCX_var/node_PCX_var.gml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
function Node_PCX_var(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Variable";
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Name", self, JUNCTION_CONNECT.input, VALUE_TYPE.text, "");
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _name = inputs[| 0].getValue();
|
||||||
|
var _val = inputs[| 1].getValue();
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree("=", _name, _val));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_PCX_var/node_PCX_var.yy
Normal file
11
scripts/node_PCX_var/node_PCX_var.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_PCX_var",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "PCX",
|
||||||
|
"path": "folders/nodes/data/PCX.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_PCX_var/node_outline.yy
Normal file
12
scripts/node_PCX_var/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -79,6 +79,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
attributes.h = 128;
|
attributes.h = 128;
|
||||||
|
|
||||||
tool_node = noone;
|
tool_node = noone;
|
||||||
|
draw_input_overlay = true;
|
||||||
|
|
||||||
array_push(attributeEditors, ["Edit separator", function() { return attributes.separator; },
|
array_push(attributeEditors, ["Edit separator", function() { return attributes.separator; },
|
||||||
button(function() {
|
button(function() {
|
||||||
|
@ -129,6 +130,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
}
|
}
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||||
|
if(!draw_input_overlay) return;
|
||||||
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
||||||
var _in = inputs[| i];
|
var _in = inputs[| i];
|
||||||
var _show = _in.from.inputs[| 6].getValue();
|
var _show = _in.from.inputs[| 6].getValue();
|
||||||
|
@ -344,7 +346,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
|
|
||||||
for( var i = custom_input_index; i < siz; i++ ) {
|
for( var i = custom_input_index; i < siz; i++ ) {
|
||||||
var _in = inputs[| i];
|
var _in = inputs[| i];
|
||||||
var _or = _in.from.inputs[| 5].getValue();
|
var _or = _in.from.attributes.input_priority;
|
||||||
|
|
||||||
ds_priority_add(ar, _in, _or);
|
ds_priority_add(ar, _in, _or);
|
||||||
}
|
}
|
||||||
|
@ -373,7 +375,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
|
|
||||||
for( var i = custom_output_index; i < siz; i++ ) {
|
for( var i = custom_output_index; i < siz; i++ ) {
|
||||||
var _out = outputs[| i];
|
var _out = outputs[| i];
|
||||||
var _or = _out.from.inputs[| 1].getValue();
|
var _or = _out.from.attributes.input_priority;
|
||||||
|
|
||||||
ds_priority_add(ar, _out, _or);
|
ds_priority_add(ar, _out, _or);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
node_id = UUID_generate();
|
node_id = UUID_generate();
|
||||||
|
|
||||||
group = _group;
|
group = _group;
|
||||||
|
manual_deletable = true;
|
||||||
destroy_when_upgroup = false;
|
destroy_when_upgroup = false;
|
||||||
ds_list_add(PANEL_GRAPH.getNodeList(_group), self);
|
ds_list_add(PANEL_GRAPH.getNodeList(_group), self);
|
||||||
|
|
||||||
|
@ -71,6 +72,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
active_draw_index = -1;
|
active_draw_index = -1;
|
||||||
|
|
||||||
draw_droppable = false;
|
draw_droppable = false;
|
||||||
|
|
||||||
|
junction_draw_pad_y = 32;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- junctions ----
|
#region ---- junctions ----
|
||||||
|
@ -155,7 +158,6 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
error_noti_update = noone;
|
error_noti_update = noone;
|
||||||
error_update_enabled = false;
|
error_update_enabled = false;
|
||||||
manual_updated = false;
|
manual_updated = false;
|
||||||
manual_deletable = true;
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- tools ----
|
#region ---- tools ----
|
||||||
|
@ -230,8 +232,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static setHeight = function() { #region
|
static setHeight = function() { #region
|
||||||
var _hi = ui(32);
|
var _hi = ui(junction_draw_pad_y);
|
||||||
var _ho = ui(32);
|
var _ho = ui(junction_draw_pad_y);
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(inputs); i++ )
|
for( var i = 0; i < ds_list_size(inputs); i++ )
|
||||||
if(inputs[| i].isVisible()) _hi += 24;
|
if(inputs[| i].isVisible()) _hi += 24;
|
||||||
|
@ -250,6 +252,8 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
|
|
||||||
if(onSetDisplayName != noone)
|
if(onSetDisplayName != noone)
|
||||||
onSetDisplayName();
|
onSetDisplayName();
|
||||||
|
|
||||||
|
return self;
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static setIsDynamicInput = function(_data_length = 1) { #region
|
static setIsDynamicInput = function(_data_length = 1) { #region
|
||||||
|
@ -575,7 +579,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
}
|
}
|
||||||
|
|
||||||
var inamo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
var inamo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
||||||
var _in = yy + ui(32) * _s;
|
var _in = yy + ui(junction_draw_pad_y) * _s;
|
||||||
|
|
||||||
for(var i = 0; i < inamo; i++) {
|
for(var i = 0; i < inamo; i++) {
|
||||||
var idx = getInputJunctionIndex(i);
|
var idx = getInputJunctionIndex(i);
|
||||||
|
@ -591,7 +595,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
||||||
var outamo = output_display_list == -1? ds_list_size(outputs) : array_length(output_display_list);
|
var outamo = output_display_list == -1? ds_list_size(outputs) : array_length(output_display_list);
|
||||||
|
|
||||||
xx = xx + w * _s;
|
xx = xx + w * _s;
|
||||||
_in = yy + ui(32) * _s;
|
_in = yy + ui(junction_draw_pad_y) * _s;
|
||||||
for(var i = 0; i < outamo; i++) {
|
for(var i = 0; i < outamo; i++) {
|
||||||
var idx = getOutputJunctionIndex(i);
|
var idx = getOutputJunctionIndex(i);
|
||||||
jun = outputs[| idx];
|
jun = outputs[| idx];
|
||||||
|
|
48
scripts/node_dynamic_surface/node_dynamic_surface.gml
Normal file
48
scripts/node_dynamic_surface/node_dynamic_surface.gml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
function Node_DynaSurf(_x, _y, _group = noone) : Node_Collection(_x, _y, _group) constructor {
|
||||||
|
name = "Dynamic Surface";
|
||||||
|
color = COLORS.node_blend_dynaSurf;
|
||||||
|
icon = THEME.pixel_builder;
|
||||||
|
|
||||||
|
reset_all_child = true;
|
||||||
|
draw_input_overlay = false;
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("DynaSurf", self, JUNCTION_CONNECT.output, VALUE_TYPE.dynaSurf, noone);
|
||||||
|
|
||||||
|
custom_input_index = ds_list_size(inputs);
|
||||||
|
custom_output_index = ds_list_size(outputs);
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING && !CLONING) {
|
||||||
|
var _input = nodeBuild("Node_DynaSurf_In", -256, -32, self);
|
||||||
|
var _output = nodeBuild("Node_DynaSurf_Out", 256, -32, self);
|
||||||
|
|
||||||
|
var _yy = -32 + 24;
|
||||||
|
var _nx = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("x"); _output.inputs[| 1].setFrom(_nx .outputs[| 0]); _yy += 24;
|
||||||
|
var _ny = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("y"); _output.inputs[| 2].setFrom(_ny .outputs[| 0]); _yy += 24;
|
||||||
|
var _nsx = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("sx"); _output.inputs[| 3].setFrom(_nsx .outputs[| 0]); _yy += 24;
|
||||||
|
var _nsy = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("sy"); _output.inputs[| 4].setFrom(_nsy .outputs[| 0]); _yy += 24;
|
||||||
|
var _nang = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("angle"); _output.inputs[| 5].setFrom(_nang.outputs[| 0]); _yy += 24;
|
||||||
|
var _nclr = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("color"); _output.inputs[| 6].setFrom(_nclr.outputs[| 0]); _yy += 24;
|
||||||
|
var _nalp = nodeBuild("Node_PCX_fn_var", 128, _yy, self).setDisplayName("alpha"); _output.inputs[| 7].setFrom(_nalp.outputs[| 0]); _yy += 24;
|
||||||
|
|
||||||
|
_yy += 64;
|
||||||
|
var _outW = nodeBuild("Node_DynaSurf_Out_Width", 256, _yy, self) _yy += 64;
|
||||||
|
var _outH = nodeBuild("Node_DynaSurf_Out_Height", 256, _yy, self) _yy += 64;
|
||||||
|
UPDATE |= RENDER_TYPE.full;
|
||||||
|
}
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _dyna = new Compute_DynaSurf();
|
||||||
|
for( var i = 0, n = ds_list_size(nodes); i < n; i++ ) {
|
||||||
|
var _n = nodes[| i];
|
||||||
|
|
||||||
|
if(is_instanceof(_n, Node_DynaSurf_Out))
|
||||||
|
_dyna.drawFn = _n.outputs[| 0].getValue();
|
||||||
|
if(is_instanceof(_n, Node_DynaSurf_Out_Width))
|
||||||
|
_dyna.widthFn = _n.outputs[| 0].getValue();
|
||||||
|
if(is_instanceof(_n, Node_DynaSurf_Out_Height))
|
||||||
|
_dyna.heightFn = _n.outputs[| 0].getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
outputs[| 0].setValue(_dyna);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_dynamic_surface/node_dynamic_surface.yy
Normal file
11
scripts/node_dynamic_surface/node_dynamic_surface.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_dynamic_surface",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "dynasurf",
|
||||||
|
"path": "folders/nodes/data/dynasurf.yy",
|
||||||
|
},
|
||||||
|
}
|
59
scripts/node_dynamic_surface_in/node_dynamic_surface_in.gml
Normal file
59
scripts/node_dynamic_surface_in/node_dynamic_surface_in.gml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
function Node_DynaSurf_In(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
|
name = "Input";
|
||||||
|
w = 96;
|
||||||
|
|
||||||
|
manual_deletable = false;
|
||||||
|
destroy_when_upgroup = true;
|
||||||
|
color = COLORS.node_blend_collection;
|
||||||
|
|
||||||
|
inParent = undefined;
|
||||||
|
|
||||||
|
attributes.input_priority = group == noone? 0 : ds_list_size(group.inputs);
|
||||||
|
array_push(attributeEditors, "Group");
|
||||||
|
array_push(attributeEditors, ["Input Order", function() { return attributes.input_priority; },
|
||||||
|
new textBox(TEXTBOX_INPUT.number, function(val) {
|
||||||
|
attributes.input_priority = val;
|
||||||
|
group.setHeight();
|
||||||
|
group.sortIO();
|
||||||
|
})]);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
static createInput = function(override_order = true) { #region
|
||||||
|
if(group == noone || !is_struct(group)) return noone;
|
||||||
|
|
||||||
|
if(override_order)
|
||||||
|
attributes.input_priority = ds_list_size(group.inputs);
|
||||||
|
|
||||||
|
if(!is_undefined(inParent))
|
||||||
|
ds_list_remove(group.inputs, inParent);
|
||||||
|
|
||||||
|
inParent = nodeValue("Value", group, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone)
|
||||||
|
.uncache()
|
||||||
|
.setVisible(true, true);
|
||||||
|
inParent.from = self;
|
||||||
|
|
||||||
|
ds_list_add(group.inputs, inParent);
|
||||||
|
group.setHeight();
|
||||||
|
group.sortIO();
|
||||||
|
|
||||||
|
return inParent;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
if(!LOADING && !APPENDING) createInput();
|
||||||
|
|
||||||
|
static step = function() { #region
|
||||||
|
if(is_undefined(inParent)) return;
|
||||||
|
|
||||||
|
if(inParent.name != display_name) {
|
||||||
|
inParent.name = display_name;
|
||||||
|
group.inputMap[? string_replace_all(display_name, " ", "_")] = inParent;
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static update = function(frame = PROJECT.animator.current_frame) {
|
||||||
|
if(is_undefined(inParent)) return;
|
||||||
|
var _val = inParent.getValue();
|
||||||
|
outputs[| 0].setValue(new __funcTree("", _val));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_dynamic_surface_in/node_dynamic_surface_in.yy
Normal file
11
scripts/node_dynamic_surface_in/node_dynamic_surface_in.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_dynamic_surface_in",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "dynasurf",
|
||||||
|
"path": "folders/nodes/data/dynasurf.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
function Node_DynaSurf_Out(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "Output";
|
||||||
|
|
||||||
|
manual_deletable = false;
|
||||||
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 1] = nodeValue("x", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 2] = nodeValue("y", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 3] = nodeValue("sx", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 4] = nodeValue("sy", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 5] = nodeValue("angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 6] = nodeValue("color", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
inputs[| 7] = nodeValue("alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
input_display_list = [ 0,
|
||||||
|
["Transform", false], 1, 2, 3, 4, 5,
|
||||||
|
["Draw", false], 6, 7,
|
||||||
|
];
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _surf = inputs[| 0].getValue();
|
||||||
|
var _x = inputs[| 1].getValue();
|
||||||
|
var _y = inputs[| 2].getValue();
|
||||||
|
var _sx = inputs[| 3].getValue();
|
||||||
|
var _sy = inputs[| 4].getValue();
|
||||||
|
var _ang = inputs[| 5].getValue();
|
||||||
|
var _clr = inputs[| 6].getValue();
|
||||||
|
var _alp = inputs[| 7].getValue();
|
||||||
|
|
||||||
|
outputs[| 0].setValue(new __funcTree("draw", [ _surf, _x, _y, _sx, _sy, _ang, _clr, _alp ]));
|
||||||
|
}
|
||||||
|
}
|
11
scripts/node_dynamic_surface_out/node_dynamic_surface_out.yy
Normal file
11
scripts/node_dynamic_surface_out/node_dynamic_surface_out.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_dynamic_surface_out",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "dynasurf",
|
||||||
|
"path": "folders/nodes/data/dynasurf.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_dynamic_surface_out/node_outline.yy
Normal file
12
scripts/node_dynamic_surface_out/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function Node_DynaSurf_Out_Height(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "getHeight";
|
||||||
|
|
||||||
|
manual_deletable = false;
|
||||||
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Height", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
input_display_list = [ 0 ];
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _h = inputs[| 0].getValue();
|
||||||
|
outputs[| 0].setValue(_h);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_dynamic_surface_out_height",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "dynasurf",
|
||||||
|
"path": "folders/nodes/data/dynasurf.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_dynamic_surface_out_height/node_outline.yy
Normal file
12
scripts/node_dynamic_surface_out_height/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
function Node_DynaSurf_Out_Width(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
|
||||||
|
name = "getWidth";
|
||||||
|
|
||||||
|
manual_deletable = false;
|
||||||
|
destroy_when_upgroup = true;
|
||||||
|
|
||||||
|
inputs[| 0] = nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
outputs[| 0] = nodeValue("PCX", self, JUNCTION_CONNECT.output, VALUE_TYPE.PCXnode, noone);
|
||||||
|
|
||||||
|
input_display_list = [ 0 ];
|
||||||
|
|
||||||
|
static update = function() {
|
||||||
|
var _w = inputs[| 0].getValue();
|
||||||
|
outputs[| 0].setValue(_w);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_dynamic_surface_out_width",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "dynasurf",
|
||||||
|
"path": "folders/nodes/data/dynasurf.yy",
|
||||||
|
},
|
||||||
|
}
|
12
scripts/node_dynamic_surface_out_width/node_outline.yy
Normal file
12
scripts/node_dynamic_surface_out_width/node_outline.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "process",
|
||||||
|
"path": "folders/nodes/data/process.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "node_outline",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
|
@ -4,14 +4,23 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
color = COLORS.node_blend_collection;
|
color = COLORS.node_blend_collection;
|
||||||
previewable = false;
|
previewable = false;
|
||||||
auto_height = false;
|
auto_height = false;
|
||||||
input_fix_len = -1;
|
|
||||||
|
|
||||||
inParent = undefined;
|
inParent = undefined;
|
||||||
|
|
||||||
|
attributes.input_priority = group == noone? 0 : ds_list_size(group.inputs);
|
||||||
|
array_push(attributeEditors, "Group");
|
||||||
|
array_push(attributeEditors, ["Input Order", function() { return attributes.input_priority; },
|
||||||
|
new textBox(TEXTBOX_INPUT.number, function(val) {
|
||||||
|
attributes.input_priority = val;
|
||||||
|
group.setHeight();
|
||||||
|
group.sortIO();
|
||||||
|
})]);
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
min_h = h;
|
min_h = h;
|
||||||
|
|
||||||
|
#region data
|
||||||
data_type_list = [ "Integer", "Float", "Boolean", "Color", "Surface",
|
data_type_list = [ "Integer", "Float", "Boolean", "Color", "Surface",
|
||||||
"File Path", "Curve", "Text", "Object", "Node",
|
"File Path", "Curve", "Text", "Object", "Node",
|
||||||
"3D object", "Any", "Path", "Particle", "Rigidbody Object",
|
"3D object", "Any", "Path", "Particle", "Rigidbody Object",
|
||||||
|
@ -46,6 +55,7 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
/*Mesh*/ [ "Default", ],
|
/*Mesh*/ [ "Default", ],
|
||||||
/*Trigger*/ [ "Default", ],
|
/*Trigger*/ [ "Default", ],
|
||||||
];
|
];
|
||||||
|
#endregion
|
||||||
|
|
||||||
inputs[| 0] = nodeValue("Display type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 0] = nodeValue("Display type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, display_list[0])
|
.setDisplay(VALUE_DISPLAY.enum_scroll, display_list[0])
|
||||||
|
@ -95,7 +105,7 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
.rejectArray();
|
.rejectArray();
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Display", false], 5, 6,
|
["Display", false], 6,
|
||||||
["Data", false], 2, 0, 4, 1, 7, 3, 8,
|
["Data", false], 2, 0, 4, 1, 7, 3, 8,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -109,12 +119,12 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
attributes.inherit_name = false;
|
attributes.inherit_name = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||||
if(inParent.isArray()) return;
|
if(inParent.isArray()) return;
|
||||||
inParent.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
inParent.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static onValueUpdate = function(index = 0) {
|
static onValueUpdate = function(index = 0) { #region
|
||||||
if(is_undefined(inParent)) return;
|
if(is_undefined(inParent)) return;
|
||||||
|
|
||||||
var _dtype = inputs[| 0].getValue();
|
var _dtype = inputs[| 0].getValue();
|
||||||
|
@ -232,17 +242,13 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
if(index == 5)
|
if(index == 5)
|
||||||
group.sortIO();
|
group.sortIO();
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static createInput = function(override_order = true) {
|
static createInput = function(override_order = true) { #region
|
||||||
if(group == noone || !is_struct(group)) return noone;
|
if(group == noone || !is_struct(group)) return noone;
|
||||||
|
|
||||||
if(override_order) {
|
if(override_order)
|
||||||
input_fix_len = ds_list_size(group.inputs);
|
attributes.input_priority = ds_list_size(group.inputs);
|
||||||
inputs[| 5].setValue(input_fix_len);
|
|
||||||
} else {
|
|
||||||
input_fix_len = inputs[| 5].getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!is_undefined(inParent))
|
if(!is_undefined(inParent))
|
||||||
ds_list_remove(group.inputs, inParent);
|
ds_list_remove(group.inputs, inParent);
|
||||||
|
@ -260,14 +266,14 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
onValueUpdate(0);
|
onValueUpdate(0);
|
||||||
|
|
||||||
return inParent;
|
return inParent;
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
if(!LOADING && !APPENDING) createInput();
|
if(!LOADING && !APPENDING) createInput();
|
||||||
|
|
||||||
dtype = -1;
|
dtype = -1;
|
||||||
range = 0;
|
range = 0;
|
||||||
|
|
||||||
static step = function() {
|
static step = function() { #region
|
||||||
if(is_undefined(inParent)) return;
|
if(is_undefined(inParent)) return;
|
||||||
|
|
||||||
if(inParent.name != display_name) {
|
if(inParent.name != display_name) {
|
||||||
|
@ -295,11 +301,11 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
doTrigger = 0;
|
doTrigger = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
PATCH_STATIC
|
PATCH_STATIC
|
||||||
|
|
||||||
static update = function(frame = PROJECT.animator.current_frame) {
|
static update = function(frame = PROJECT.animator.current_frame) { #region
|
||||||
if(is_undefined(inParent)) return;
|
if(is_undefined(inParent)) return;
|
||||||
|
|
||||||
var _dstype = inputs[| 0].getValue();
|
var _dstype = inputs[| 0].getValue();
|
||||||
|
@ -330,20 +336,21 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
inputs[| 4].setVisible(true);
|
inputs[| 4].setVisible(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static postDeserialize = function() {
|
static postDeserialize = function() { #region
|
||||||
createInput(false);
|
createInput(false);
|
||||||
|
|
||||||
var _inputs = load_map.inputs;
|
var _inputs = load_map.inputs;
|
||||||
inputs[| 5].applyDeserialize(_inputs[5], load_scale);
|
inputs[| 5].applyDeserialize(_inputs[5], load_scale);
|
||||||
|
if(PROJECT.version < 11520) attributes.input_priority = inputs[| 5].getValue();
|
||||||
group.sortIO();
|
group.sortIO();
|
||||||
|
|
||||||
inputs[| 2].applyDeserialize(_inputs[2], load_scale);
|
inputs[| 2].applyDeserialize(_inputs[2], load_scale);
|
||||||
onValueUpdate(2);
|
onValueUpdate(2);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static applyDeserialize = function() {
|
static applyDeserialize = function() { #region
|
||||||
var _inputs = load_map.inputs;
|
var _inputs = load_map.inputs;
|
||||||
var amo = min(array_length(_inputs), ds_list_size(inputs));
|
var amo = min(array_length(_inputs), ds_list_size(inputs));
|
||||||
|
|
||||||
|
@ -354,14 +361,14 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
inParent.name = name;
|
inParent.name = name;
|
||||||
onValueUpdate(0);
|
onValueUpdate(0);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static onDestroy = function() {
|
static onDestroy = function() { #region
|
||||||
if(is_undefined(inParent)) return;
|
if(is_undefined(inParent)) return;
|
||||||
ds_list_remove(group.inputs, inParent);
|
ds_list_remove(group.inputs, inParent);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static ungroup = function() {
|
static ungroup = function() { #region
|
||||||
var fr = inParent.value_from;
|
var fr = inParent.value_from;
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(outputs[| 0].value_to); i++ ) {
|
for( var i = 0; i < ds_list_size(outputs[| 0].value_to); i++ ) {
|
||||||
|
@ -370,5 +377,5 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
||||||
|
|
||||||
to.setFrom(fr);
|
to.setFrom(fr);
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
}
|
}
|
|
@ -5,6 +5,15 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
previewable = false;
|
previewable = false;
|
||||||
auto_height = false;
|
auto_height = false;
|
||||||
|
|
||||||
|
attributes.input_priority = group == noone? 0 : ds_list_size(group.inputs);
|
||||||
|
array_push(attributeEditors, "Group");
|
||||||
|
array_push(attributeEditors, ["Input Order", function() { return attributes.input_priority; },
|
||||||
|
new textBox(TEXTBOX_INPUT.number, function(val) {
|
||||||
|
attributes.input_priority = val;
|
||||||
|
group.setHeight();
|
||||||
|
group.sortIO();
|
||||||
|
})]);
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
h = 32 + 24;
|
h = 32 + 24;
|
||||||
min_h = h;
|
min_h = h;
|
||||||
|
@ -74,12 +83,8 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
if(group == noone) return;
|
if(group == noone) return;
|
||||||
if(!is_struct(group)) return;
|
if(!is_struct(group)) return;
|
||||||
|
|
||||||
if(override_order) {
|
if(override_order)
|
||||||
output_index = ds_list_size(group.outputs);
|
attributes.input_priority = ds_list_size(group.outputs);
|
||||||
inputs[| 1].setValue(output_index);
|
|
||||||
} else {
|
|
||||||
output_index = inputs[| 1].getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!is_undefined(outParent))
|
if(!is_undefined(outParent))
|
||||||
ds_list_remove(group.outputs, outParent);
|
ds_list_remove(group.outputs, outParent);
|
||||||
|
@ -136,6 +141,7 @@ function Node_Group_Output(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
|
|
||||||
var _inputs = load_map.inputs;
|
var _inputs = load_map.inputs;
|
||||||
inputs[| 1].applyDeserialize(_inputs[1], load_scale);
|
inputs[| 1].applyDeserialize(_inputs[1], load_scale);
|
||||||
|
if(PROJECT.version < 11520) attributes.input_priority = inputs[| 1].getValue();
|
||||||
group.sortIO();
|
group.sortIO();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,11 +46,12 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
#region nodes
|
#region nodes
|
||||||
globalvar ALL_NODES, ALL_NODE_LIST, NODE_CATEGORY, NODE_PAGE_DEFAULT, NODE_PB_CATEGORY;
|
globalvar ALL_NODES, ALL_NODE_LIST, NODE_CATEGORY, NODE_PAGE_DEFAULT, NODE_PB_CATEGORY, NODE_PCX_CATEGORY;
|
||||||
ALL_NODES = ds_map_create();
|
ALL_NODES = ds_map_create();
|
||||||
ALL_NODE_LIST = ds_list_create();
|
ALL_NODE_LIST = ds_list_create();
|
||||||
NODE_CATEGORY = ds_list_create();
|
NODE_CATEGORY = ds_list_create();
|
||||||
NODE_PB_CATEGORY = ds_list_create();
|
NODE_PB_CATEGORY = ds_list_create();
|
||||||
|
NODE_PCX_CATEGORY = ds_list_create();
|
||||||
|
|
||||||
function nodeBuild(_name, _x, _y, _group = PANEL_GRAPH.getCurrentContext()) {
|
function nodeBuild(_name, _x, _y, _group = PANEL_GRAPH.getCurrentContext()) {
|
||||||
if(!ds_map_exists(ALL_NODES, _name)) {
|
if(!ds_map_exists(ALL_NODES, _name)) {
|
||||||
|
@ -87,6 +88,10 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
|
||||||
ds_list_add(NODE_PB_CATEGORY, { name: name, list: list, filter: filter });
|
ds_list_add(NODE_PB_CATEGORY, { name: name, list: list, filter: filter });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addNodePCXCatagory(name, list, filter = []) {
|
||||||
|
ds_list_add(NODE_PCX_CATEGORY, { name: name, list: list, filter: filter });
|
||||||
|
}
|
||||||
|
|
||||||
function __initNodes() {
|
function __initNodes() {
|
||||||
var favPath = DIRECTORY + "Nodes/fav.json";
|
var favPath = DIRECTORY + "Nodes/fav.json";
|
||||||
global.FAV_NODES = file_exists(favPath)? json_load_struct(favPath) : [];
|
global.FAV_NODES = file_exists(favPath)? json_load_struct(favPath) : [];
|
||||||
|
@ -584,7 +589,8 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
|
||||||
addNodeObject(values, "Atlas Set", s_node_atlas_set, "Node_Atlas_Set", [1, Node_Atlas_Set]).setVersion(1141);
|
addNodeObject(values, "Atlas Set", s_node_atlas_set, "Node_Atlas_Set", [1, Node_Atlas_Set]).setVersion(1141);
|
||||||
|
|
||||||
ds_list_add(values, "Surface");
|
ds_list_add(values, "Surface");
|
||||||
addNodeObject(values, "IsoSurf", s_node_surface_from_buffer, "Node_IsoSurf", [1, Node_IsoSurf]).setVersion(11520);
|
addNodeObject(values, "Dynamic Surface", s_node_surface_from_buffer, "Node_DynaSurf", [1, Node_DynaSurf]).setVersion(11520);
|
||||||
|
addNodeObject(values, "IsoSurf", s_node_surface_from_buffer, "Node_IsoSurf", [1, Node_IsoSurf]).setVersion(11520);
|
||||||
addNodeObject(values, "Surface from Buffer", s_node_surface_from_buffer, "Node_Surface_From_Buffer", [1, Node_Surface_From_Buffer], ["buffer to surface"], "Create surface from buffer.").setVersion(1146);
|
addNodeObject(values, "Surface from Buffer", s_node_surface_from_buffer, "Node_Surface_From_Buffer", [1, Node_Surface_From_Buffer], ["buffer to surface"], "Create surface from buffer.").setVersion(1146);
|
||||||
|
|
||||||
ds_list_add(values, "Buffer");
|
ds_list_add(values, "Buffer");
|
||||||
|
@ -743,6 +749,33 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
|
||||||
addNodeObject(pb_arr, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).setVersion(1120);
|
addNodeObject(pb_arr, "Array Remove", s_node_array_remove, "Node_Array_Remove", [1, Node_Array_Remove], ["remove array", "delete array", "array delete"]).setVersion(1120);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////// PCX NODES ////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
var pcx_var = ds_list_create(); #region
|
||||||
|
addNodePCXCatagory("Variable", pcx_var);
|
||||||
|
addNodeObject(pcx_var, "Variable", s_node_array, "Node_PCX_var", [1, Node_PCX_var]);
|
||||||
|
addNodeObject(pcx_var, "Fn Variable", s_node_array, "Node_PCX_fn_var", [1, Node_PCX_fn_var]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
var pcx_fn = ds_list_create(); #region
|
||||||
|
addNodePCXCatagory("Functions", pcx_fn);
|
||||||
|
addNodeObject(pcx_fn, "Equation", s_node_array, "Node_PCX_Equation", [1, Node_PCX_Equation]);
|
||||||
|
|
||||||
|
ds_list_add(pcx_fn, "Numbers");
|
||||||
|
addNodeObject(pcx_fn, "Math", s_node_array, "Node_PCX_fn_Math", [1, Node_PCX_fn_Math]);
|
||||||
|
addNodeObject(pcx_fn, "Random", s_node_array, "Node_PCX_fn_Random", [1, Node_PCX_fn_Random]);
|
||||||
|
|
||||||
|
ds_list_add(pcx_fn, "Surface");
|
||||||
|
addNodeObject(pcx_fn, "Surface Width", s_node_array, "Node_PCX_fn_Surface_Width", [1, Node_PCX_fn_Surface_Width]);
|
||||||
|
addNodeObject(pcx_fn, "Surface Height", s_node_array, "Node_PCX_fn_Surface_Height", [1, Node_PCX_fn_Surface_Height]);
|
||||||
|
|
||||||
|
ds_list_add(pcx_fn, "Array");
|
||||||
|
addNodeObject(pcx_fn, "Array Get", s_node_array, "Node_PCX_Array_Get", [1, Node_PCX_Array_Get]);
|
||||||
|
addNodeObject(pcx_fn, "Array Set", s_node_array, "Node_PCX_Array_Set", [1, Node_PCX_Array_Set]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////// HIDDENS ////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var hid = ds_list_create(); #region
|
var hid = ds_list_create(); #region
|
||||||
addNodeCatagory("Hidden", hid, ["Hidden"]);
|
addNodeCatagory("Hidden", hid, ["Hidden"]);
|
||||||
addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Each_Input", [1, Node_Iterator_Each_Input]);
|
addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Each_Input", [1, Node_Iterator_Each_Input]);
|
||||||
|
@ -756,6 +789,11 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
|
||||||
addNodeObject(hid, "Sort Output", s_node_grid_hex_noise, "Node_Iterator_Sort_Output", [1, Node_Iterator_Sort_Output]);
|
addNodeObject(hid, "Sort Output", s_node_grid_hex_noise, "Node_Iterator_Sort_Output", [1, Node_Iterator_Sort_Output]);
|
||||||
addNodeObject(hid, "Onion Skin", s_node_cache, "Node_Onion_Skin", [1, Node_Onion_Skin]).setVersion(1147);
|
addNodeObject(hid, "Onion Skin", s_node_cache, "Node_Onion_Skin", [1, Node_Onion_Skin]).setVersion(1147);
|
||||||
addNodeObject(hid, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(1150);
|
addNodeObject(hid, "Pixel Builder", s_node_pixel_builder, "Node_Pixel_Builder", [1, Node_Pixel_Builder]).setVersion(1150);
|
||||||
|
|
||||||
|
addNodeObject(hid, "Input", s_node_pixel_builder, "Node_DynaSurf_In", [1, Node_DynaSurf_In]);
|
||||||
|
addNodeObject(hid, "Output", s_node_pixel_builder, "Node_DynaSurf_Out", [1, Node_DynaSurf_Out]);
|
||||||
|
addNodeObject(hid, "getWidth", s_node_pixel_builder, "Node_DynaSurf_Out_Width", [1, Node_DynaSurf_Out_Width]);
|
||||||
|
addNodeObject(hid, "getHeight", s_node_pixel_builder, "Node_DynaSurf_Out_Height", [1, Node_DynaSurf_Out_Height]);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -12,8 +12,8 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector_range);
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
|
|
||||||
inputs[| 4] = nodeValue("Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0])
|
inputs[| 4] = nodeValue("Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0, 0 ])
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
.setDisplay(VALUE_DISPLAY.rotation_random);
|
||||||
|
|
||||||
inputs[| 5] = nodeValue("Area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ DEF_SURF_W / 2, DEF_SURF_H / 2, DEF_SURF_W / 2, DEF_SURF_H / 2, AREA_SHAPE.rectangle ])
|
inputs[| 5] = nodeValue("Area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ DEF_SURF_W / 2, DEF_SURF_H / 2, DEF_SURF_W / 2, DEF_SURF_H / 2, AREA_SHAPE.rectangle ])
|
||||||
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
||||||
|
@ -221,7 +221,7 @@ function Node_Scatter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
||||||
_scy *= _v;
|
_scy *= _v;
|
||||||
}
|
}
|
||||||
|
|
||||||
var _r = (_pint? point_direction(_area[0], _area[1], _x, _y) : 0) + random_range_seed(_rota[0], _rota[1], posS); posS++;
|
var _r = (_pint? point_direction(_area[0], _area[1], _x, _y) : 0) + angle_random_eval(_rota, posS); posS++;
|
||||||
|
|
||||||
if(vRot && _v != noone)
|
if(vRot && _v != noone)
|
||||||
_r *= _v;
|
_r *= _v;
|
||||||
|
|
|
@ -53,6 +53,7 @@ enum VALUE_TYPE {
|
||||||
d3Material = 30,
|
d3Material = 30,
|
||||||
|
|
||||||
dynaSurf = 31,
|
dynaSurf = 31,
|
||||||
|
PCXnode = 32,
|
||||||
|
|
||||||
action = 99,
|
action = 99,
|
||||||
}
|
}
|
||||||
|
@ -66,6 +67,7 @@ enum VALUE_DISPLAY {
|
||||||
enum_button,
|
enum_button,
|
||||||
rotation,
|
rotation,
|
||||||
rotation_range,
|
rotation_range,
|
||||||
|
rotation_random,
|
||||||
slider,
|
slider,
|
||||||
slider_range,
|
slider_range,
|
||||||
|
|
||||||
|
@ -161,6 +163,7 @@ function value_color(i) { #region
|
||||||
$ffa64d, //d3Scene
|
$ffa64d, //d3Scene
|
||||||
$976bff, //d3Material
|
$976bff, //d3Material
|
||||||
$976bff, //dynaSurf
|
$976bff, //dynaSurf
|
||||||
|
#c2c2d1, //PCX
|
||||||
];
|
];
|
||||||
|
|
||||||
if(i == 99) return $5dde8f;
|
if(i == 99) return $5dde8f;
|
||||||
|
@ -207,6 +210,8 @@ function value_bit(i) { #region
|
||||||
case VALUE_TYPE.d3Scene : return 1 << 29 | 1 << 30;
|
case VALUE_TYPE.d3Scene : return 1 << 29 | 1 << 30;
|
||||||
case VALUE_TYPE.d3Material : return 1 << 33;
|
case VALUE_TYPE.d3Material : return 1 << 33;
|
||||||
|
|
||||||
|
case VALUE_TYPE.PCXnode : return 1 << 34;
|
||||||
|
|
||||||
case VALUE_TYPE.any : return ~0 & ~(1 << 32);
|
case VALUE_TYPE.any : return ~0 & ~(1 << 32);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -411,6 +416,12 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
name = __txt_junction_name(instanceof(node), type, index, _name);
|
name = __txt_junction_name(instanceof(node), type, index, _name);
|
||||||
name = _name;
|
name = _name;
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
case VALUE_TYPE.PCXnode :
|
||||||
|
accept_array = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
static updateName = function() {
|
static updateName = function() {
|
||||||
internalName = string_lower(string_replace_all(name, " ", "_"));
|
internalName = string_lower(string_replace_all(name, " ", "_"));
|
||||||
} updateName();
|
} updateName();
|
||||||
|
@ -495,7 +506,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- inspector ----
|
#region ---- inspector ----
|
||||||
visible = _connect == JUNCTION_CONNECT.output || _type == VALUE_TYPE.surface || _type == VALUE_TYPE.path;
|
visible = _connect == JUNCTION_CONNECT.output || _type == VALUE_TYPE.surface || _type == VALUE_TYPE.path || _type == VALUE_TYPE.PCXnode;
|
||||||
show_in_inspector = true;
|
show_in_inspector = true;
|
||||||
|
|
||||||
display_type = VALUE_DISPLAY._default;
|
display_type = VALUE_DISPLAY._default;
|
||||||
|
@ -613,7 +624,7 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
static isAnimable = function() { #region
|
static isAnimable = function() { #region
|
||||||
//if(type == VALUE_TYPE.gradient) return false;
|
if(type == VALUE_TYPE.PCXnode) return false;
|
||||||
if(display_type == VALUE_DISPLAY.text_array) return false;
|
if(display_type == VALUE_DISPLAY.text_array) return false;
|
||||||
return true;
|
return true;
|
||||||
} #endregion
|
} #endregion
|
||||||
|
@ -735,14 +746,19 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.rotation_range : #region
|
case VALUE_DISPLAY.rotation_range : #region
|
||||||
editWidget = new rotatorRange(function(index, val) {
|
editWidget = new rotatorRange(function(index, val) {
|
||||||
//var _val = animator.getValue();
|
|
||||||
//_val[index] = round(val);
|
|
||||||
return setValueDirect(val, index);
|
return setValueDirect(val, index);
|
||||||
} );
|
} );
|
||||||
|
|
||||||
for( var i = 0, n = array_length(animators); i < n; i++ )
|
for( var i = 0, n = array_length(animators); i < n; i++ )
|
||||||
animators[i].suffix = " " + array_safe_get(global.displaySuffix_Range, i);
|
animators[i].suffix = " " + array_safe_get(global.displaySuffix_Range, i);
|
||||||
|
|
||||||
|
extract_node = "Node_Vector2";
|
||||||
|
break; #endregion
|
||||||
|
case VALUE_DISPLAY.rotation_random: #region
|
||||||
|
editWidget = new rotatorRandom(function(index, val) {
|
||||||
|
return setValueDirect(val, index);
|
||||||
|
} );
|
||||||
|
|
||||||
extract_node = "Node_Vector2";
|
extract_node = "Node_Vector2";
|
||||||
break; #endregion
|
break; #endregion
|
||||||
case VALUE_DISPLAY.slider : #region
|
case VALUE_DISPLAY.slider : #region
|
||||||
|
|
|
@ -816,19 +816,12 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
d3_scene_light0.shadow_map_scale = d3_view_camera.focus_dist * 2;
|
d3_scene_light0.shadow_map_scale = d3_view_camera.focus_dist * 2;
|
||||||
|
|
||||||
var _prev_obj = _prev_node.getPreviewObjects();
|
var _prev_obj = _prev_node.getPreviewObjects();
|
||||||
d3_scene_light0.shadowProjectVertex(d3_scene_preview, _prev_obj);
|
d3_scene_light0.submitShadow(d3_scene_preview, _prev_obj);
|
||||||
|
|
||||||
for( var i = 0, n = array_length(_prev_obj); i < n; i++ ) {
|
for( var i = 0, n = array_length(_prev_obj); i < n; i++ ) {
|
||||||
var _prev = _prev_obj[i];
|
var _prev = _prev_obj[i];
|
||||||
if(_prev == noone)
|
if(_prev == noone) continue;
|
||||||
continue;
|
_prev.submitShadow(d3_scene_preview, _prev_obj);
|
||||||
if(!is_instanceof(_prev, __3dGroup))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
_prev.map(function(object, params) {
|
|
||||||
if(!is_instanceof(object, __3dLight)) return;
|
|
||||||
object.shadowProjectVertex(params.scene, params.objs);
|
|
||||||
}, { scene: d3_scene_preview, objs:_prev_obj });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -912,15 +905,10 @@ function Panel_Preview() : PanelContent() constructor {
|
||||||
BLEND_MULTIPLY
|
BLEND_MULTIPLY
|
||||||
draw_surface_safe(d3_deferData.ssao);
|
draw_surface_safe(d3_deferData.ssao);
|
||||||
BLEND_NORMAL
|
BLEND_NORMAL
|
||||||
|
|
||||||
//draw_clear(c_white);
|
|
||||||
//draw_surface_safe(d3_scene_preview.geometry_data[2]);
|
|
||||||
break;
|
break;
|
||||||
case 1 : draw_surface_safe(d3_surface_normal); break;
|
case 1 : draw_surface_safe(d3_surface_normal); break;
|
||||||
case 2 : draw_surface_safe(d3_surface_depth); break;
|
case 2 : draw_surface_safe(d3_surface_depth); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_surface_stretched_safe(d3_scene_light0.shadow_map, 64, 64, 128, 128);
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region outline
|
#region outline
|
||||||
|
|
|
@ -2,26 +2,36 @@
|
||||||
global.EVALUATE_HEAD = noone;
|
global.EVALUATE_HEAD = noone;
|
||||||
|
|
||||||
global.FUNCTIONS = ds_map_create();
|
global.FUNCTIONS = ds_map_create();
|
||||||
global.FUNCTIONS[? "sin"] = [ ["radian"], function(val) { return sin(val[0]); } ];
|
global.FUNCTIONS[? "sin"] = [ ["radian"], function(val) { return sin(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "cos"] = [ ["radian"], function(val) { return cos(val[0]); } ];
|
global.FUNCTIONS[? "cos"] = [ ["radian"], function(val) { return cos(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "tan"] = [ ["radian"], function(val) { return tan(val[0]); } ];
|
global.FUNCTIONS[? "tan"] = [ ["radian"], function(val) { return tan(array_safe_get(val, 0)); } ];
|
||||||
|
|
||||||
global.FUNCTIONS[? "arcsin"] = [ ["number"], function(val) { return arcsin(val[0]); } ];
|
global.FUNCTIONS[? "dsin"] = [ ["degree"], function(val) { return dsin(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "arccos"] = [ ["number"], function(val) { return arccos(val[0]); } ];
|
global.FUNCTIONS[? "dcos"] = [ ["degree"], function(val) { return dcos(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "arctan"] = [ ["number"], function(val) { return arctan(val[0]); } ];
|
global.FUNCTIONS[? "dtan"] = [ ["degree"], function(val) { return dtan(array_safe_get(val, 0)); } ];
|
||||||
|
|
||||||
global.FUNCTIONS[? "abs"] = [ ["number"], function(val) { return abs(val[0]); } ];
|
global.FUNCTIONS[? "arcsin"] = [ ["x"], function(val) { return arcsin(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "round"] = [ ["number"], function(val) { return round(val[0]); } ];
|
global.FUNCTIONS[? "arccos"] = [ ["x"], function(val) { return arccos(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "ceil"] = [ ["number"], function(val) { return ceil(val[0]); } ];
|
global.FUNCTIONS[? "arctan"] = [ ["x"], function(val) { return arctan(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "floor"] = [ ["number"], function(val) { return floor(val[0]); } ];
|
global.FUNCTIONS[? "arctan2"] = [ ["y", "x"], function(val) { return arctan2(array_safe_get(val, 0), array_safe_get(val, 1)); } ];
|
||||||
global.FUNCTIONS[? "fract"] = [ ["number"], function(val) { return frac(val[0]); } ];
|
|
||||||
global.FUNCTIONS[? "sign"] = [ ["number"], function(val) { return sign(val[0]); } ];
|
|
||||||
|
|
||||||
global.FUNCTIONS[? "min"] = [ ["number", "number"], function(val) { return min(array_safe_get(val, 0), array_safe_get(val, 1)); } ];
|
global.FUNCTIONS[? "darcsin"] = [ ["x"], function(val) { return darcsin(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "max"] = [ ["number", "number"], function(val) { return max(array_safe_get(val, 0), array_safe_get(val, 1)); } ];
|
global.FUNCTIONS[? "darccos"] = [ ["x"], function(val) { return darccos(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "clamp"] = [ ["number", "min = 0", "max = 1"], function(val) { return clamp(array_safe_get(val, 0), array_safe_get(val, 1, 0), array_safe_get(val, 2, 1)); } ];
|
global.FUNCTIONS[? "darctan"] = [ ["x"], function(val) { return darctan(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "darctan2"] = [ ["y", "x"], function(val) { return darctan2(array_safe_get(val, 0), array_safe_get(val, 1)); } ];
|
||||||
|
|
||||||
global.FUNCTIONS[? "lerp"] = [ ["number_0", "number_1", "amount"], function(val) { return lerp(array_safe_get(val, 0), array_safe_get(val, 1), array_safe_get(val, 2)); } ];
|
global.FUNCTIONS[? "abs"] = [ ["x"], function(val) { return abs(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "round"] = [ ["x"], function(val) { return round(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "ceil"] = [ ["x"], function(val) { return ceil(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "floor"] = [ ["x"], function(val) { return floor(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "fract"] = [ ["x"], function(val) { return frac(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "sign"] = [ ["x"], function(val) { return sign(array_safe_get(val, 0)); } ];
|
||||||
|
|
||||||
|
global.FUNCTIONS[? "min"] = [ ["x", "y"], function(val) { return min(array_safe_get(val, 0), array_safe_get(val, 1)); } ];
|
||||||
|
global.FUNCTIONS[? "max"] = [ ["x", "y"], function(val) { return max(array_safe_get(val, 0), array_safe_get(val, 1)); } ];
|
||||||
|
global.FUNCTIONS[? "clamp"] = [ ["x", "min = 0", "max = 1"], function(val) { return clamp(array_safe_get(val, 0), array_safe_get(val, 1, 0), array_safe_get(val, 2, 1)); } ];
|
||||||
|
|
||||||
|
global.FUNCTIONS[? "lerp"] = [ ["x", "y", "amount"], function(val) { return lerp(array_safe_get(val, 0), array_safe_get(val, 1), array_safe_get(val, 2)); } ];
|
||||||
|
|
||||||
global.FUNCTIONS[? "wiggle"] = [ ["time", "frequency", "octave = 1", "seed = 0"], function(val) {
|
global.FUNCTIONS[? "wiggle"] = [ ["time", "frequency", "octave = 1", "seed = 0"], function(val) {
|
||||||
return wiggle(0, 1, PROJECT.animator.frameTotal / array_safe_get(val, 1),
|
return wiggle(0, 1, PROJECT.animator.frameTotal / array_safe_get(val, 1),
|
||||||
|
@ -51,10 +61,19 @@
|
||||||
return 0;
|
return 0;
|
||||||
} ];
|
} ];
|
||||||
|
|
||||||
global.FUNCTIONS[? "string"] = [ ["value"], function(val) { return string(val[0]); } ];
|
global.FUNCTIONS[? "string"] = [ ["value"], function(val) { return string(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "number"] = [ ["value"], function(val) { return toNumber(val[0]); } ];
|
global.FUNCTIONS[? "number"] = [ ["value"], function(val) { return toNumber(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "chr"] = [ ["number"], function(val) { return chr(val[0]); } ];
|
global.FUNCTIONS[? "chr"] = [ ["x"], function(val) { return chr(array_safe_get(val, 0)); } ];
|
||||||
global.FUNCTIONS[? "ord"] = [ ["char"], function(val) { return ord(val[0]); } ];
|
global.FUNCTIONS[? "ord"] = [ ["char"], function(val) { return ord(array_safe_get(val, 0)); } ];
|
||||||
|
|
||||||
|
global.FUNCTIONS[? "draw"] = [ ["surface", "x = 0", "y = 0", "xs = 1", "ys = 1", "rot = 0", "color = white", "alpha = 1"],
|
||||||
|
function(val) { return draw_surface_ext_safe(array_safe_get(val, 0, -1), array_safe_get(val, 1, 0), array_safe_get(val, 2, 0),
|
||||||
|
array_safe_get(val, 3, 1), array_safe_get(val, 4, 1), array_safe_get(val, 5, 0),
|
||||||
|
array_safe_get(val, 6, c_white), array_safe_get(val, 7, 1));
|
||||||
|
} ];
|
||||||
|
|
||||||
|
global.FUNCTIONS[? "surface_get_width"] = [ ["surface"], function(val) { return surface_get_width_safe(array_safe_get(val, 0)); } ];
|
||||||
|
global.FUNCTIONS[? "surface_get_height"] = [ ["surface"], function(val) { return surface_get_height_safe(array_safe_get(val, 0)); } ];
|
||||||
|
|
||||||
globalvar PROJECT_VARIABLES;
|
globalvar PROJECT_VARIABLES;
|
||||||
PROJECT_VARIABLES = {};
|
PROJECT_VARIABLES = {};
|
||||||
|
@ -87,7 +106,7 @@
|
||||||
animated
|
animated
|
||||||
}
|
}
|
||||||
|
|
||||||
function __funcList() constructor {
|
function __funcList() constructor { #region
|
||||||
funcTrees = [];
|
funcTrees = [];
|
||||||
|
|
||||||
static addFunction = function(fn) {
|
static addFunction = function(fn) {
|
||||||
|
@ -119,9 +138,9 @@
|
||||||
|
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function __funcIf() constructor {
|
function __funcIf() constructor { #region
|
||||||
condition = noone;
|
condition = noone;
|
||||||
if_true = new __funcList();
|
if_true = new __funcList();
|
||||||
if_false = new __funcList();
|
if_false = new __funcList();
|
||||||
|
@ -149,9 +168,9 @@
|
||||||
if(res) return if_true == noone? 0 : if_true.eval(params);
|
if(res) return if_true == noone? 0 : if_true.eval(params);
|
||||||
else return if_false == noone? 0 : if_false.eval(params);
|
else return if_false == noone? 0 : if_false.eval(params);
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function __funcFor() constructor {
|
function __funcFor() constructor { #region
|
||||||
itr_array = false;
|
itr_array = false;
|
||||||
|
|
||||||
cond_init = noone;
|
cond_init = noone;
|
||||||
|
@ -213,31 +232,29 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function __funcTree(symbol, l = noone, r = noone) constructor {
|
function __funcTree(symbol, l = noone, r = noone) constructor { #region
|
||||||
self.symbol = symbol;
|
self.symbol = symbol;
|
||||||
self.l = l;
|
self.l = l;
|
||||||
self.r = r;
|
self.r = r;
|
||||||
dependency = [];
|
dependency = [];
|
||||||
|
|
||||||
static _string = function(str) {
|
static _string = function(str) { #region
|
||||||
return string_char_at(str, 1) == "\"" && string_char_at(str, string_length(str)) == "\"";
|
return string_char_at(str, 1) == "\"" && string_char_at(str, string_length(str)) == "\"";
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static _string_trim = function(str) {
|
static _string_trim = function(str) { #region
|
||||||
return string_trim(str, [ "\"" ]);
|
return string_trim(str, [ "\"" ]);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static getVal = function(val, params = {}, getRaw = false) {
|
static getVal = function(val, params = {}, getRaw = false) { #region
|
||||||
if(is_struct(val)) return val.eval(params, getRaw);
|
if(is_struct(val)) return val.eval(params, getRaw);
|
||||||
if(is_real(val)) return val;
|
if(is_real(val)) return val;
|
||||||
if(getRaw) return val;
|
if(getRaw) return val;
|
||||||
|
|
||||||
if(is_string(val)) val = string_trim(val);
|
if(is_string(val)) val = string_trim(val);
|
||||||
|
|
||||||
//printIf(global.LOG_EXPRESSION, $" [ get struct {params}[{val}] ]");
|
|
||||||
|
|
||||||
if(struct_has(params, val))
|
if(struct_has(params, val))
|
||||||
return struct_try_get(params, val);
|
return struct_try_get(params, val);
|
||||||
|
|
||||||
|
@ -247,9 +264,9 @@
|
||||||
return _string_trim(val);
|
return _string_trim(val);
|
||||||
|
|
||||||
return nodeGetData(val);
|
return nodeGetData(val);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static _validate = function(val) {
|
static _validate = function(val) { #region
|
||||||
if(is_real(val)) return true;
|
if(is_real(val)) return true;
|
||||||
if(is_string(val)) return true;
|
if(is_string(val)) return true;
|
||||||
if(is_struct(val)) return val.validate();
|
if(is_struct(val)) return val.validate();
|
||||||
|
@ -268,9 +285,9 @@
|
||||||
|
|
||||||
array_push_unique(dependency, strs[0]);
|
array_push_unique(dependency, strs[0]);
|
||||||
return true;
|
return true;
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static validate = function() {
|
static validate = function() { #region
|
||||||
dependency = [];
|
dependency = [];
|
||||||
|
|
||||||
if(ds_map_exists(global.FUNCTIONS, symbol)) {
|
if(ds_map_exists(global.FUNCTIONS, symbol)) {
|
||||||
|
@ -287,9 +304,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
return _validate(l) && _validate(r);
|
return _validate(l) && _validate(r);
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static _isAnimated = function(val) {
|
static _isAnimated = function(val) { #region
|
||||||
if(is_real(val)) return EXPRESS_TREE_ANIM.none;
|
if(is_real(val)) return EXPRESS_TREE_ANIM.none;
|
||||||
if(is_struct(val)) return val._isAnimated();
|
if(is_struct(val)) return val._isAnimated();
|
||||||
|
|
||||||
|
@ -300,18 +317,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
return EXPRESS_TREE_ANIM.none;
|
return EXPRESS_TREE_ANIM.none;
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static isAnimated = function() {
|
static isAnimated = function() { #region
|
||||||
var anim = EXPRESS_TREE_ANIM.none;
|
var anim = EXPRESS_TREE_ANIM.none;
|
||||||
anim = max(anim, _isAnimated(l));
|
anim = max(anim, _isAnimated(l));
|
||||||
if(symbol != "@")
|
if(symbol != "@")
|
||||||
anim = max(anim, _isAnimated(r));
|
anim = max(anim, _isAnimated(r));
|
||||||
|
|
||||||
return anim;
|
return anim;
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static eval = function(params = {}, isLeft = false) {
|
static eval = function(params = {}, isLeft = false) { #region
|
||||||
if(ds_map_exists(global.FUNCTIONS, symbol)) {
|
if(ds_map_exists(global.FUNCTIONS, symbol)) {
|
||||||
if(!is_array(l)) return 0;
|
if(!is_array(l)) return 0;
|
||||||
|
|
||||||
|
@ -369,6 +386,10 @@
|
||||||
params[$ v1] = v2;
|
params[$ v1] = v2;
|
||||||
res = v2;
|
res = v2;
|
||||||
}
|
}
|
||||||
|
} else if(symbol == "≔") { // function default replacement
|
||||||
|
if(!struct_exists(params, v1))
|
||||||
|
params[$ v1] = v2;
|
||||||
|
res = params[$ v1];
|
||||||
} else if(is_array(v1) && !is_array(v2)) { // evaluate value
|
} else if(is_array(v1) && !is_array(v2)) { // evaluate value
|
||||||
res = array_create(array_length(v1));
|
res = array_create(array_length(v1));
|
||||||
for( var i = 0, n = array_length(res); i < n; i++ )
|
for( var i = 0, n = array_length(res); i < n; i++ )
|
||||||
|
@ -413,9 +434,20 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
static eval_real = function(v1, v2, _symbol = symbol) {
|
static evalFn = function(params) { #region
|
||||||
|
if(!ds_map_exists(global.FUNCTIONS, symbol)) return;
|
||||||
|
|
||||||
|
if(!is_array(params)) return 0;
|
||||||
|
|
||||||
|
var _fn = global.FUNCTIONS[? symbol];
|
||||||
|
var _ev = _fn[1];
|
||||||
|
var res = _ev(params);
|
||||||
|
return res;
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
static eval_real = function(v1, v2, _symbol = symbol) { #region
|
||||||
switch(_symbol) {
|
switch(_symbol) {
|
||||||
case "+":
|
case "+":
|
||||||
case "⊕":
|
case "⊕":
|
||||||
|
@ -445,22 +477,14 @@
|
||||||
case "≥": return (is_real(v1) && is_real(v2))? v1 >= v2 : 0;
|
case "≥": return (is_real(v1) && is_real(v2))? v1 >= v2 : 0;
|
||||||
case ">": return (is_real(v1) && is_real(v2))? v1 > v2 : 0;
|
case ">": return (is_real(v1) && is_real(v2))? v1 > v2 : 0;
|
||||||
case "<": return (is_real(v1) && is_real(v2))? v1 < v2 : 0;
|
case "<": return (is_real(v1) && is_real(v2))? v1 < v2 : 0;
|
||||||
|
|
||||||
case "sin" : return is_real(v1)? sin(v1) : 0;
|
|
||||||
case "cos" : return is_real(v1)? cos(v1) : 0;
|
|
||||||
case "tan" : return is_real(v1)? tan(v1) : 0;
|
|
||||||
case "abs" : return is_real(v1)? abs(v1) : 0;
|
|
||||||
case "round" : return is_real(v1)? round(v1) : 0;
|
|
||||||
case "ceil" : return is_real(v1)? ceil(v1) : 0;
|
|
||||||
case "floor" : return is_real(v1)? floor(v1) : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return v1;
|
return v1;
|
||||||
}
|
} #endregion
|
||||||
}
|
} #endregion
|
||||||
|
|
||||||
function evaluateFunction(fx, params = {}) {
|
function evaluateFunction(fx, params = {}) { #region
|
||||||
if(isNumber(fx)) return toNumber(fx);
|
if(isNumber(fx)) return toNumber(fx);
|
||||||
return evaluateFunctionList(fx).eval(params);
|
return evaluateFunctionList(fx).eval(params);
|
||||||
}
|
} #endregion
|
||||||
#endregion
|
#endregion
|
|
@ -8,7 +8,7 @@
|
||||||
global.EQUATION_PRES[? "*"] = 2;
|
global.EQUATION_PRES[? "*"] = 2;
|
||||||
global.EQUATION_PRES[? "/"] = 2;
|
global.EQUATION_PRES[? "/"] = 2;
|
||||||
global.EQUATION_PRES[? "%"] = 2;
|
global.EQUATION_PRES[? "%"] = 2;
|
||||||
global.EQUATION_PRES[? "$"] = 3;
|
global.EQUATION_PRES[? "$"] = 3; //power
|
||||||
|
|
||||||
global.EQUATION_PRES[? "&"] = 5;
|
global.EQUATION_PRES[? "&"] = 5;
|
||||||
global.EQUATION_PRES[? "|"] = 4;
|
global.EQUATION_PRES[? "|"] = 4;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "PCX",
|
"name": "value",
|
||||||
"path": "folders/functions/PCX.yy",
|
"path": "folders/functions/value.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
12
scripts/rotatorRandom/rotator.yy
Normal file
12
scripts/rotatorRandom/rotator.yy
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "widgets",
|
||||||
|
"path": "folders/widgets/widgets.yy",
|
||||||
|
},
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "rotator",
|
||||||
|
"tags": [],
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
}
|
413
scripts/rotatorRandom/rotatorRandom.gml
Normal file
413
scripts/rotatorRandom/rotatorRandom.gml
Normal file
|
@ -0,0 +1,413 @@
|
||||||
|
function rotatorRandom(_onModify) : widget() constructor {
|
||||||
|
onModify = _onModify;
|
||||||
|
|
||||||
|
dragging = -1;
|
||||||
|
drag_sv = 0;
|
||||||
|
drag_sa = 0;
|
||||||
|
|
||||||
|
mode = 0;
|
||||||
|
tb_min_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(1, val); } ).setSlidable(true, 1);
|
||||||
|
tb_max_0 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(2, val); } ).setSlidable(true, 1);
|
||||||
|
tb_min_1 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(3, val); } ).setSlidable(true, 1);
|
||||||
|
tb_max_1 = new textBox(TEXTBOX_INPUT.number, function(val) { return onModify(4, val); } ).setSlidable(true, 1);
|
||||||
|
|
||||||
|
tooltip = new tooltipSelector("Mode", ["Range", "Span", "Double Range", "Double Span"]);
|
||||||
|
|
||||||
|
static setInteract = function(interactable = noone) {
|
||||||
|
self.interactable = interactable;
|
||||||
|
tb_min_0.interactable = interactable;
|
||||||
|
tb_max_0.interactable = interactable;
|
||||||
|
|
||||||
|
if(mode == 2 || mode == 3) tb_min_1.interactable = interactable;
|
||||||
|
if(mode == 2) tb_max_1.interactable = interactable;
|
||||||
|
}
|
||||||
|
|
||||||
|
static register = function(parent = noone) {
|
||||||
|
tb_min_0.register(parent);
|
||||||
|
tb_max_0.register(parent);
|
||||||
|
|
||||||
|
if(mode == 2 || mode == 3) tb_min_1.register(parent);
|
||||||
|
if(mode == 2) tb_max_1.register(parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
static drawParam = function(params) {
|
||||||
|
return draw(params.x, params.y, params.w, params.data, params.m);
|
||||||
|
}
|
||||||
|
|
||||||
|
static draw = function(_x, _y, _w, _data, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = ui(80);
|
||||||
|
|
||||||
|
_x += _w / 2;
|
||||||
|
|
||||||
|
mode = _data[0];
|
||||||
|
|
||||||
|
var knx = _x;
|
||||||
|
var kny = _y + h / 2;
|
||||||
|
var px, py, _r = ui(28);
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_bg, 0, _x, kny);
|
||||||
|
|
||||||
|
tooltip.index = mode;
|
||||||
|
if(buttonInstant(THEME.button_hide_circle_28, knx - ui(28 / 2), kny - ui(28 / 2), ui(28), ui(28), _m, active, hover, tooltip, THEME.rotator_random_mode, mode) == 2) { #region
|
||||||
|
mode = (mode + 1) % 4;
|
||||||
|
onModify(0, mode);
|
||||||
|
|
||||||
|
if(mode == 0) {
|
||||||
|
onModify(1, 0);
|
||||||
|
onModify(2, 180);
|
||||||
|
} else if(mode == 1) {
|
||||||
|
onModify(1, (_data[1] + _data[2]) / 2);
|
||||||
|
onModify(2, abs(_data[1] - _data[2]) / 2);
|
||||||
|
} else if(mode == 2) {
|
||||||
|
onModify(1, 0);
|
||||||
|
onModify(2, 90);
|
||||||
|
onModify(3, 180);
|
||||||
|
onModify(4, 270);
|
||||||
|
} else if(mode == 3) {
|
||||||
|
onModify(1, 45);
|
||||||
|
onModify(2, 225);
|
||||||
|
onModify(3, 45);
|
||||||
|
}
|
||||||
|
} #endregion
|
||||||
|
|
||||||
|
switch(mode) {
|
||||||
|
case 0 :
|
||||||
|
tb_min_0.setFocusHover(active, hover);
|
||||||
|
tb_max_0.setFocusHover(active, hover);
|
||||||
|
|
||||||
|
tb_min_0.draw(knx - ui(40 + 16 + 80), kny - TEXTBOX_HEIGHT / 2, ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
tb_max_0.draw(knx + ui(40 + 16), kny - TEXTBOX_HEIGHT / 2, ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
|
||||||
|
var _a0 = _data[1];
|
||||||
|
var _a1 = _data[2];
|
||||||
|
|
||||||
|
px[0] = knx + lengthdir_x(_r, _a0);
|
||||||
|
px[1] = knx + lengthdir_x(_r, _a1);
|
||||||
|
|
||||||
|
py[0] = kny + lengthdir_y(_r, _a0);
|
||||||
|
py[1] = kny + lengthdir_y(_r, _a1);
|
||||||
|
|
||||||
|
#region draw arc
|
||||||
|
var hover_arc = false;
|
||||||
|
var diss = point_distance(_m[0], _m[1], knx, kny);
|
||||||
|
if(abs(diss - _r) < 6 || dragging == 2)
|
||||||
|
hover_arc = true;
|
||||||
|
|
||||||
|
for(var i = 0; i < 2; i++) {
|
||||||
|
if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20)))
|
||||||
|
hover_arc = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_set_color(hover_arc? COLORS.widget_rotator_range_hover : COLORS.widget_rotator_range);
|
||||||
|
draw_arc_width(knx, kny, _r, 3, _a0, _a1);
|
||||||
|
|
||||||
|
for(var i = 0; i < 2; i++)
|
||||||
|
draw_sprite(THEME.rotator_knob, 0, px[i], py[i]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if(dragging > -1) { #region
|
||||||
|
var val = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
if(key_mod_press(CTRL)) val = round(val / 15) * 15;
|
||||||
|
|
||||||
|
var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa);
|
||||||
|
var val, real_val = drag_sv;
|
||||||
|
|
||||||
|
if(dragging == 2) {
|
||||||
|
var modi = false;
|
||||||
|
real_val[1] = round(delta + drag_sv[1]);
|
||||||
|
val = key_mod_press(CTRL)? round(real_val[1] / 15) * 15 : real_val[1];
|
||||||
|
modi |= onModify(1, val);
|
||||||
|
|
||||||
|
real_val[2] = round(delta + drag_sv[2]);
|
||||||
|
val = key_mod_press(CTRL)? round(real_val[2] / 15) * 15 : real_val[2];
|
||||||
|
modi |= onModify(2, val);
|
||||||
|
|
||||||
|
if(modi) UNDO_HOLDING = true;
|
||||||
|
} else {
|
||||||
|
var _o = _data[dragging];
|
||||||
|
real_val = round(delta + drag_sv);
|
||||||
|
val = key_mod_press(CTRL)? round(real_val / 15) * 15 : real_val;
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]);
|
||||||
|
|
||||||
|
if(_data[dragging] != val) {
|
||||||
|
var modi = false;
|
||||||
|
modi |= onModify(1 + dragging, val);
|
||||||
|
|
||||||
|
if(key_mod_press(ALT)) {
|
||||||
|
var dt = val - _o;
|
||||||
|
modi |= onModify(1 + !dragging, _data[!dragging] - dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(modi) UNDO_HOLDING = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
drag_sv = real_val;
|
||||||
|
|
||||||
|
if(mouse_release(mb_left)) {
|
||||||
|
dragging = -1;
|
||||||
|
UNDO_HOLDING = false;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
} else if(hover) { #region
|
||||||
|
for(var i = 0; i < 2; i++) {
|
||||||
|
if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) {
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[i], py[i]);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, active)) {
|
||||||
|
dragging = i;
|
||||||
|
drag_sv = _data[1 + i];
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(dragging == -1 && hover_arc && mouse_press(mb_left, active)) {
|
||||||
|
dragging = 2;
|
||||||
|
drag_sv = _data;
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1 :
|
||||||
|
tb_min_0.setFocusHover(active, hover);
|
||||||
|
tb_max_0.setFocusHover(active, hover);
|
||||||
|
|
||||||
|
tb_min_0.draw(knx - ui(40 + 16 + 80), kny - TEXTBOX_HEIGHT / 2, ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
tb_max_0.draw(knx + ui(40 + 16), kny - TEXTBOX_HEIGHT / 2, ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
|
||||||
|
var _a0 = _data[1] - _data[2];
|
||||||
|
var _a1 = _data[1] + _data[2];
|
||||||
|
|
||||||
|
px[0] = knx + lengthdir_x(_r, _a0);
|
||||||
|
py[0] = kny + lengthdir_y(_r, _a0);
|
||||||
|
|
||||||
|
px[1] = knx + lengthdir_x(_r, _a1);
|
||||||
|
py[1] = kny + lengthdir_y(_r, _a1);
|
||||||
|
|
||||||
|
px[2] = knx + lengthdir_x(_r, (_a0 + _a1) / 2);
|
||||||
|
py[2] = kny + lengthdir_y(_r, (_a0 + _a1) / 2);
|
||||||
|
|
||||||
|
#region draw arc
|
||||||
|
draw_set_color(COLORS.widget_rotator_range);
|
||||||
|
draw_arc_width(knx, kny, _r, 3, _a0, _a1);
|
||||||
|
|
||||||
|
for( var i = 0; i < 3; i++ )
|
||||||
|
draw_sprite(THEME.rotator_knob, 0, px[i], py[i]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if(dragging > -1) { #region
|
||||||
|
var val = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
if(key_mod_press(CTRL)) val = round(val / 15) * 15;
|
||||||
|
|
||||||
|
var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa);
|
||||||
|
var val, real_val = drag_sv;
|
||||||
|
|
||||||
|
if(dragging == 2) {
|
||||||
|
real_val[1] = round(delta + drag_sv[1]);
|
||||||
|
val = key_mod_press(CTRL)? round(real_val[1] / 15) * 15 : real_val[1];
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[2], py[2]);
|
||||||
|
|
||||||
|
if(onModify(1, val)) UNDO_HOLDING = true;
|
||||||
|
} else {
|
||||||
|
real_val[2] = round(drag_sv[2] + (delta * (dragging? 1 : -1)));
|
||||||
|
val = key_mod_press(CTRL)? round(real_val[2] / 15) * 15 : real_val[2];
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]);
|
||||||
|
|
||||||
|
if(onModify(2, val)) UNDO_HOLDING = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
drag_sv = real_val;
|
||||||
|
|
||||||
|
if(mouse_release(mb_left)) {
|
||||||
|
dragging = -1;
|
||||||
|
UNDO_HOLDING = false;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
} else if(hover) { #region
|
||||||
|
for(var i = 0; i < 3; i++) {
|
||||||
|
if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) {
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[i], py[i]);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, active)) {
|
||||||
|
dragging = i;
|
||||||
|
drag_sv = _data;
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2 :
|
||||||
|
tb_min_0.setFocusHover(active, hover);
|
||||||
|
tb_max_0.setFocusHover(active, hover);
|
||||||
|
tb_min_1.setFocusHover(active, hover);
|
||||||
|
tb_max_1.setFocusHover(active, hover);
|
||||||
|
|
||||||
|
tb_min_0.draw(knx - ui(40 + 16 + 80), kny - TEXTBOX_HEIGHT / 2 - ui(20), ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
tb_max_0.draw(knx + ui(40 + 16), kny - TEXTBOX_HEIGHT / 2 - ui(20), ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
tb_min_1.draw(knx - ui(40 + 16 + 80), kny - TEXTBOX_HEIGHT / 2 + ui(20), ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
|
||||||
|
tb_max_1.draw(knx + ui(40 + 16), kny - TEXTBOX_HEIGHT / 2 + ui(20), ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 4), _m);
|
||||||
|
|
||||||
|
var _a0 = _data[1];
|
||||||
|
var _a1 = _data[2];
|
||||||
|
var _a2 = _data[3];
|
||||||
|
var _a3 = _data[4];
|
||||||
|
|
||||||
|
px[0] = knx + lengthdir_x(_r, _a0);
|
||||||
|
py[0] = kny + lengthdir_y(_r, _a0);
|
||||||
|
|
||||||
|
px[1] = knx + lengthdir_x(_r, _a1);
|
||||||
|
py[1] = kny + lengthdir_y(_r, _a1);
|
||||||
|
|
||||||
|
px[2] = knx + lengthdir_x(_r, _a2);
|
||||||
|
py[2] = kny + lengthdir_y(_r, _a2);
|
||||||
|
|
||||||
|
px[3] = knx + lengthdir_x(_r, _a3);
|
||||||
|
py[3] = kny + lengthdir_y(_r, _a3);
|
||||||
|
|
||||||
|
#region draw arc
|
||||||
|
draw_set_color(COLORS.widget_rotator_range);
|
||||||
|
draw_arc_width(knx, kny, _r, 3, _a0, _a1);
|
||||||
|
draw_arc_width(knx, kny, _r, 3, _a2, _a3);
|
||||||
|
|
||||||
|
for( var i = 0; i < 4; i++ )
|
||||||
|
draw_sprite(THEME.rotator_knob, 0, px[i], py[i]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if(dragging > -1) { #region
|
||||||
|
var val = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
if(key_mod_press(CTRL)) val = round(val / 15) * 15;
|
||||||
|
|
||||||
|
var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa);
|
||||||
|
var val, real_val = drag_sv;
|
||||||
|
var ind = dragging + 1;
|
||||||
|
|
||||||
|
real_val[ind] = round(drag_sv[ind] + (delta * (ind? 1 : -1)));
|
||||||
|
val = key_mod_press(CTRL)? round(real_val[ind] / 15) * 15 : real_val[ind];
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]);
|
||||||
|
|
||||||
|
if(onModify(ind, val)) UNDO_HOLDING = true;
|
||||||
|
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
drag_sv = real_val;
|
||||||
|
|
||||||
|
if(mouse_release(mb_left)) {
|
||||||
|
dragging = -1;
|
||||||
|
UNDO_HOLDING = false;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
} else if(hover) { #region
|
||||||
|
for(var i = 0; i < 4; i++) {
|
||||||
|
if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) {
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[i], py[i]);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, active)) {
|
||||||
|
dragging = i;
|
||||||
|
drag_sv = _data;
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3 :
|
||||||
|
tb_min_0.setFocusHover(active, hover);
|
||||||
|
tb_max_0.setFocusHover(active, hover);
|
||||||
|
tb_min_1.setFocusHover(active, hover);
|
||||||
|
|
||||||
|
tb_min_0.draw(knx - ui(40 + 16 + 80), kny - TEXTBOX_HEIGHT / 2 - ui(20), ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
tb_max_0.draw(knx - ui(40 + 16 + 80), kny - TEXTBOX_HEIGHT / 2 + ui(20), ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
tb_min_1.draw(knx + ui(40 + 16), kny - TEXTBOX_HEIGHT / 2, ui(80), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
|
||||||
|
|
||||||
|
var _a0 = _data[1];
|
||||||
|
var _a1 = _data[2];
|
||||||
|
|
||||||
|
var _a2 = _data[1] - _data[3];
|
||||||
|
var _a3 = _data[1] + _data[3];
|
||||||
|
var _a4 = _data[2] - _data[3];
|
||||||
|
var _a5 = _data[2] + _data[3];
|
||||||
|
|
||||||
|
px[0] = knx + lengthdir_x(_r, _a0);
|
||||||
|
py[0] = kny + lengthdir_y(_r, _a0);
|
||||||
|
|
||||||
|
px[1] = knx + lengthdir_x(_r, _a1);
|
||||||
|
py[1] = kny + lengthdir_y(_r, _a1);
|
||||||
|
|
||||||
|
px[2] = knx + lengthdir_x(_r, _a2);
|
||||||
|
py[2] = kny + lengthdir_y(_r, _a2);
|
||||||
|
|
||||||
|
px[3] = knx + lengthdir_x(_r, _a3);
|
||||||
|
py[3] = kny + lengthdir_y(_r, _a3);
|
||||||
|
|
||||||
|
px[4] = knx + lengthdir_x(_r, _a4);
|
||||||
|
py[4] = kny + lengthdir_y(_r, _a4);
|
||||||
|
|
||||||
|
px[5] = knx + lengthdir_x(_r, _a5);
|
||||||
|
py[5] = kny + lengthdir_y(_r, _a5);
|
||||||
|
|
||||||
|
#region draw arc
|
||||||
|
draw_set_color(COLORS.widget_rotator_range);
|
||||||
|
draw_arc_width(knx, kny, _r, 3, _a2, _a3);
|
||||||
|
draw_arc_width(knx, kny, _r, 3, _a4, _a5);
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_knob, 0, px[0], py[0]);
|
||||||
|
draw_sprite(THEME.rotator_knob, 0, px[1], py[1]);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if(dragging > -1) { #region
|
||||||
|
var val = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
if(key_mod_press(CTRL)) val = round(val / 15) * 15;
|
||||||
|
|
||||||
|
var delta = angle_difference(point_direction(knx, kny, _m[0], _m[1]), drag_sa);
|
||||||
|
var val, real_val = drag_sv;
|
||||||
|
var ind = dragging + 1;
|
||||||
|
|
||||||
|
real_val[ind] = round(drag_sv[ind] + (delta * (ind? 1 : -1)));
|
||||||
|
val = key_mod_press(CTRL)? round(real_val[ind] / 15) * 15 : real_val[ind];
|
||||||
|
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[dragging], py[dragging]);
|
||||||
|
|
||||||
|
if(onModify(ind, val)) UNDO_HOLDING = true;
|
||||||
|
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
drag_sv = real_val;
|
||||||
|
|
||||||
|
if(mouse_release(mb_left)) {
|
||||||
|
dragging = -1;
|
||||||
|
UNDO_HOLDING = false;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
} else if(hover) { #region
|
||||||
|
for(var i = 0; i < 2; i++) {
|
||||||
|
if(point_in_circle(_m[0], _m[1], px[i], py[i], ui(20))) {
|
||||||
|
draw_sprite(THEME.rotator_knob, 1, px[i], py[i]);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, active)) {
|
||||||
|
dragging = i;
|
||||||
|
drag_sv = _data;
|
||||||
|
drag_sa = point_direction(knx, kny, _m[0], _m[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
|
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
}
|
11
scripts/rotatorRandom/rotatorRandom.yy
Normal file
11
scripts/rotatorRandom/rotatorRandom.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "rotatorRandom",
|
||||||
|
"isCompatibility": false,
|
||||||
|
"isDnD": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "widgets",
|
||||||
|
"path": "folders/widgets.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -72,7 +72,7 @@ function rotatorRange(_onModify) : widget() constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_set_color(hover_arc? COLORS.widget_rotator_range_hover : COLORS.widget_rotator_range);
|
draw_set_color(hover_arc? COLORS.widget_rotator_range_hover : COLORS.widget_rotator_range);
|
||||||
draw_arc_th(_x, knob_y, _r, 3, _data[0], _data[1]);
|
draw_arc_width(_x, knob_y, _r, 3, _data[0], _data[1]);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
for(var i = 0; i < 2; i++)
|
for(var i = 0; i < 2; i++)
|
||||||
|
|
|
@ -1,23 +1,14 @@
|
||||||
function string_cut(str, w, tail = "...", scale = 1) {
|
function string_cut(str, w, tail = "...", scale = 1) {
|
||||||
var ww = 0;
|
if(string_width(str) * scale <= w) return str;
|
||||||
var ind = 1;
|
|
||||||
var ss = "";
|
|
||||||
var _str = str;
|
|
||||||
var tw = string_width(tail) * scale;
|
|
||||||
if(string_width(str) <= w) return str;
|
|
||||||
|
|
||||||
var amo = string_length(str);
|
for( var i = string_length(str) - 1; i > 0; i-- ) {
|
||||||
|
var subS = string_copy(str, 1, i) + tail;
|
||||||
|
|
||||||
for( var i = 1, n = string_length(str); i <= n; i++ ) {
|
if(string_width(subS) * scale <= w)
|
||||||
var ch = string_char_at(str, i);
|
return subS;
|
||||||
|
|
||||||
if(string_width(ss + ch) + tw > w)
|
|
||||||
return ss + tail;
|
|
||||||
|
|
||||||
ss += ch;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ss;
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
function string_cut_line(str, w) {
|
function string_cut_line(str, w) {
|
||||||
|
|
|
@ -43,8 +43,9 @@ function textBox(_input, _onModify, _extras = noone) : textInput(_input, _onModi
|
||||||
|
|
||||||
text_surface = surface_create(1, 1);
|
text_surface = surface_create(1, 1);
|
||||||
|
|
||||||
static setSlidable = function(slidable = true) { #region
|
static setSlidable = function(slidable = true, slideStep = slide_speed) { #region
|
||||||
self.slidable = slidable;
|
self.slidable = slidable;
|
||||||
|
slide_speed = slideStep;
|
||||||
return self;
|
return self;
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue