1.16.7
|
@ -307,7 +307,6 @@
|
|||
{"name":"node_region_fill","order":1,"path":"scripts/node_region_fill/node_region_fill.yy",},
|
||||
{"name":"sh_mk_tile55_edge_r","order":7,"path":"shaders/sh_mk_tile55_edge_r/sh_mk_tile55_edge_r.yy",},
|
||||
{"name":"sh_d3d_normal","order":18,"path":"shaders/sh_d3d_normal/sh_d3d_normal.yy",},
|
||||
{"name":"s_node_text_file_read","order":13,"path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},
|
||||
{"name":"s_node_text_trim","order":7,"path":"sprites/s_node_text_trim/s_node_text_trim.yy",},
|
||||
{"name":"s_node_pb_fx_shading","order":3,"path":"sprites/s_node_pb_fx_shading/s_node_pb_fx_shading.yy",},
|
||||
{"name":"sh_noise_grid_hex","order":2,"path":"shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy",},
|
||||
|
@ -322,6 +321,7 @@
|
|||
{"name":"o_dialog_menubox","order":2,"path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},
|
||||
{"name":"s_node_blend","order":7,"path":"sprites/s_node_blend/s_node_blend.yy",},
|
||||
{"name":"node_wrap_perspective","order":15,"path":"scripts/node_wrap_perspective/node_wrap_perspective.yy",},
|
||||
{"name":"s_node_json_file_write","order":32,"path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},
|
||||
{"name":"s_node_rigidSim_object_spawner","order":5,"path":"sprites/s_node_rigidSim_object_spawner/s_node_rigidSim_object_spawner.yy",},
|
||||
{"name":"node_pb_draw_round_rectangle","order":4,"path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",},
|
||||
{"name":"draw_text_function","order":10,"path":"scripts/draw_text_function/draw_text_function.yy",},
|
||||
|
@ -446,6 +446,7 @@
|
|||
{"name":"FirebaseREST_asyncFunction_Firestore","order":4,"path":"scripts/FirebaseREST_asyncFunction_Firestore/FirebaseREST_asyncFunction_Firestore.yy",},
|
||||
{"name":"sh_corner_erode","order":1,"path":"shaders/sh_corner_erode/sh_corner_erode.yy",},
|
||||
{"name":"node_outline","order":11,"path":"scripts/node_outline/node_outline.yy",},
|
||||
{"name":"s_node_byte_file_read","order":28,"path":"sprites/s_node_byte_file_read/s_node_byte_file_read.yy",},
|
||||
{"name":"sh_mesh_generation","order":4,"path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",},
|
||||
{"name":"math_function","order":7,"path":"scripts/math_function/math_function.yy",},
|
||||
{"name":"panel_preview_snap_setting","order":5,"path":"scripts/panel_preview_snap_setting/panel_preview_snap_setting.yy",},
|
||||
|
@ -874,6 +875,7 @@
|
|||
{"name":"sh_kuwahara","order":51,"path":"shaders/sh_kuwahara/sh_kuwahara.yy",},
|
||||
{"name":"sh_grey_alpha","order":12,"path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},
|
||||
{"name":"node_mk_cable","order":4,"path":"scripts/node_mk_cable/node_mk_cable.yy",},
|
||||
{"name":"s_node_json_file_read","order":33,"path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},
|
||||
{"name":"s_node_time_map","order":36,"path":"sprites/s_node_time_map/s_node_time_map.yy",},
|
||||
{"name":"node_crop","order":7,"path":"scripts/node_crop/node_crop.yy",},
|
||||
{"name":"s_biterator_tab_content","order":14,"path":"sprites/s_biterator_tab_content/s_biterator_tab_content.yy",},
|
||||
|
@ -899,6 +901,7 @@
|
|||
{"name":"node_VFX_repel","order":4,"path":"scripts/node_VFX_repel/node_VFX_repel.yy",},
|
||||
{"name":"s_node_alpha_cut","order":3,"path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},
|
||||
{"name":"sh_gamma_map","order":53,"path":"shaders/sh_gamma_map/sh_gamma_map.yy",},
|
||||
{"name":"node_byte_file_write","order":21,"path":"scripts/node_byte_file_write/node_byte_file_write.yy",},
|
||||
{"name":"node_iterator_length","order":4,"path":"scripts/node_iterator_length/node_iterator_length.yy",},
|
||||
{"name":"node_VFX_attract","order":2,"path":"scripts/node_VFX_attract/node_VFX_attract.yy",},
|
||||
{"name":"sh_d3d_ssao_blur","order":1,"path":"shaders/sh_d3d_ssao_blur/sh_d3d_ssao_blur.yy",},
|
||||
|
@ -1058,7 +1061,6 @@
|
|||
{"name":"dynaSurf_square_outline","order":3,"path":"scripts/dynaSurf_square_outline/dynaSurf_square_outline.yy",},
|
||||
{"name":"node_3d_repeat","order":1,"path":"scripts/node_3d_repeat/node_3d_repeat.yy",},
|
||||
{"name":"node_pb_fx_add","order":6,"path":"scripts/node_pb_fx_add/node_pb_fx_add.yy",},
|
||||
{"name":"s_node_csv_file_write","order":8,"path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},
|
||||
{"name":"s_node_csv_parse","order":15,"path":"sprites/s_node_csv_parse/s_node_csv_parse.yy",},
|
||||
{"name":"sh_glow","order":19,"path":"shaders/sh_glow/sh_glow.yy",},
|
||||
{"name":"sh_clean_shape","order":22,"path":"shaders/sh_clean_shape/sh_clean_shape.yy",},
|
||||
|
@ -1104,7 +1106,6 @@
|
|||
{"name":"sh_blend_overlay","order":15,"path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},
|
||||
{"name":"node_sprite_stack","order":3,"path":"scripts/node_sprite_stack/node_sprite_stack.yy",},
|
||||
{"name":"s_node_smokeSim_vortex","order":4,"path":"sprites/s_node_smokeSim_vortex/s_node_smokeSim_vortex.yy",},
|
||||
{"name":"s_node_json_file_read","order":11,"path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},
|
||||
{"name":"s_node_wavelet","order":34,"path":"sprites/s_node_wavelet/s_node_wavelet.yy",},
|
||||
{"name":"s_workshop_badge_version","order":3,"path":"sprites/s_workshop_badge_version/s_workshop_badge_version.yy",},
|
||||
{"name":"node_override_channel","order":2,"path":"scripts/node_override_channel/node_override_channel.yy",},
|
||||
|
@ -1142,6 +1143,7 @@
|
|||
{"name":"s_node_tunnel_in","order":21,"path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},
|
||||
{"name":"s_node_pb_draw_trapezoid","order":10,"path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},
|
||||
{"name":"sh_rd_render","order":2,"path":"shaders/sh_rd_render/sh_rd_render.yy",},
|
||||
{"name":"s_node_csv_file_write","order":30,"path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},
|
||||
{"name":"append_function","order":1,"path":"scripts/append_function/append_function.yy",},
|
||||
{"name":"node_3dsurf","order":4,"path":"scripts/node_3dsurf/node_3dsurf.yy",},
|
||||
{"name":"fd_rectangle_reset_target","order":17,"path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},
|
||||
|
@ -1163,7 +1165,6 @@
|
|||
{"name":"node_alpha_cutoff","order":10,"path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",},
|
||||
{"name":"sh_channel_R","order":4,"path":"shaders/sh_channel_R/sh_channel_R.yy",},
|
||||
{"name":"draw_circle_functions","order":3,"path":"scripts/draw_circle_functions/draw_circle_functions.yy",},
|
||||
{"name":"s_node_text_file_write","order":12,"path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},
|
||||
{"name":"sliderRange","order":16,"path":"scripts/sliderRange/sliderRange.yy",},
|
||||
{"name":"point_rect_overlap","order":2,"path":"scripts/point_rect_overlap/point_rect_overlap.yy",},
|
||||
{"name":"s_node_bevel","order":6,"path":"sprites/s_node_bevel/s_node_bevel.yy",},
|
||||
|
@ -1248,6 +1249,7 @@
|
|||
{"name":"collection_data","order":9,"path":"scripts/collection_data/collection_data.yy",},
|
||||
{"name":"s_node_flood_fill","order":24,"path":"sprites/s_node_flood_fill/s_node_flood_fill.yy",},
|
||||
{"name":"json_compare","order":21,"path":"scripts/json_compare/json_compare.yy",},
|
||||
{"name":"s_node_text_file_write","order":34,"path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},
|
||||
{"name":"node_rigid_force_apply","order":4,"path":"scripts/node_rigid_force_apply/node_rigid_force_apply.yy",},
|
||||
{"name":"checkboxActive","order":38,"path":"scripts/checkboxActive/checkboxActive.yy",},
|
||||
{"name":"__node_shader","order":21,"path":"scripts/__node_shader/__node_shader.yy",},
|
||||
|
@ -1259,6 +1261,7 @@
|
|||
{"name":"s_node_array_get","order":3,"path":"sprites/s_node_array_get/s_node_array_get.yy",},
|
||||
{"name":"d3d_bbox","order":8,"path":"scripts/d3d_bbox/d3d_bbox.yy",},
|
||||
{"name":"s_node_mk_brownian","order":8,"path":"sprites/s_node_mk_brownian/s_node_mk_brownian.yy",},
|
||||
{"name":"s_node_wav_file_write","order":29,"path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},
|
||||
{"name":"Obj_FirebaseFirestore_Collection_Query_AscendingDescending","order":1,"path":"objects/Obj_FirebaseFirestore_Collection_Query_AscendingDescending/Obj_FirebaseFirestore_Collection_Query_AscendingDescending.yy",},
|
||||
{"name":"o_dialog_save","order":12,"path":"objects/o_dialog_save/o_dialog_save.yy",},
|
||||
{"name":"s_node_BW","order":10,"path":"sprites/s_node_BW/s_node_BW.yy",},
|
||||
|
@ -1323,7 +1326,6 @@
|
|||
{"name":"surfaceBox","order":22,"path":"scripts/surfaceBox/surfaceBox.yy",},
|
||||
{"name":"s_node_array_composite","order":17,"path":"sprites/s_node_array_composite/s_node_array_composite.yy",},
|
||||
{"name":"node_gradient_palette","order":11,"path":"scripts/node_gradient_palette/node_gradient_palette.yy",},
|
||||
{"name":"s_node_csv_file_read","order":9,"path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},
|
||||
{"name":"node_fluid_domain","order":1,"path":"scripts/node_fluid_domain/node_fluid_domain.yy",},
|
||||
{"name":"Obj_FirebaseFirestore_Collection_Query_LessEqualThan","order":6,"path":"objects/Obj_FirebaseFirestore_Collection_Query_LessEqualThan/Obj_FirebaseFirestore_Collection_Query_LessEqualThan.yy",},
|
||||
{"name":"s_node_repeat","order":23,"path":"sprites/s_node_repeat/s_node_repeat.yy",},
|
||||
|
@ -1341,6 +1343,7 @@
|
|||
{"name":"__node_shader_processor","order":23,"path":"scripts/__node_shader_processor/__node_shader_processor.yy",},
|
||||
{"name":"Obj_FirebaseFirestore_Collection_Query_options_value","order":11,"path":"objects/Obj_FirebaseFirestore_Collection_Query_options_value/Obj_FirebaseFirestore_Collection_Query_options_value.yy",},
|
||||
{"name":"__node_3d_mesh","order":1,"path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},
|
||||
{"name":"s_node_csv_file_read","order":31,"path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},
|
||||
{"name":"d3d_surface_extrude","order":7,"path":"scripts/d3d_surface_extrude/d3d_surface_extrude.yy",},
|
||||
{"name":"node_mesh_to_path","order":3,"path":"scripts/node_mesh_to_path/node_mesh_to_path.yy",},
|
||||
{"name":"sh_kuwahara_ani","order":52,"path":"shaders/sh_kuwahara_ani/sh_kuwahara_ani.yy",},
|
||||
|
@ -1512,6 +1515,7 @@
|
|||
{"name":"node_group_input","order":1,"path":"scripts/node_group_input/node_group_input.yy",},
|
||||
{"name":"fd_rectangle_set_material_dissipation_type","order":4,"path":"scripts/fd_rectangle_set_material_dissipation_type/fd_rectangle_set_material_dissipation_type.yy",},
|
||||
{"name":"s_node_gradient_shift","order":15,"path":"sprites/s_node_gradient_shift/s_node_gradient_shift.yy",},
|
||||
{"name":"node_byte_file_read","order":22,"path":"scripts/node_byte_file_read/node_byte_file_read.yy",},
|
||||
{"name":"node_blobify","order":10,"path":"scripts/node_blobify/node_blobify.yy",},
|
||||
{"name":"node_cache_array","order":8,"path":"scripts/node_cache_array/node_cache_array.yy",},
|
||||
{"name":"node_array_convolute","order":16,"path":"scripts/node_array_convolute/node_array_convolute.yy",},
|
||||
|
@ -1526,6 +1530,7 @@
|
|||
{"name":"node_image_sequence","order":1,"path":"scripts/node_image_sequence/node_image_sequence.yy",},
|
||||
{"name":"node_text_file_read","order":6,"path":"scripts/node_text_file_read/node_text_file_read.yy",},
|
||||
{"name":"node_note","order":17,"path":"scripts/node_note/node_note.yy",},
|
||||
{"name":"s_node_text_file_read","order":26,"path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},
|
||||
{"name":"node_pb_box_divide_grid","order":7,"path":"scripts/node_pb_box_divide_grid/node_pb_box_divide_grid.yy",},
|
||||
{"name":"FirebaseREST_firestore_cursor","order":8,"path":"scripts/FirebaseREST_firestore_cursor/FirebaseREST_firestore_cursor.yy",},
|
||||
{"name":"panel_preview_onion_setting","order":7,"path":"scripts/panel_preview_onion_setting/panel_preview_onion_setting.yy",},
|
||||
|
@ -1644,7 +1649,7 @@
|
|||
{"name":"directory_object","order":3,"path":"scripts/directory_object/directory_object.yy",},
|
||||
{"name":"s_node_isosurf","order":2,"path":"sprites/s_node_isosurf/s_node_isosurf.yy",},
|
||||
{"name":"node_pb_box_divide","order":5,"path":"scripts/node_pb_box_divide/node_pb_box_divide.yy",},
|
||||
{"name":"FLIP","order":5,"path":"extensions/FLIP/FLIP.yy",},
|
||||
{"name":"FLIP","order":17,"path":"extensions/FLIP/FLIP.yy",},
|
||||
{"name":"node_websocket_sender","order":1,"path":"scripts/node_websocket_sender/node_websocket_sender.yy",},
|
||||
{"name":"fd_rectangle_get_acceleration_b","order":1,"path":"scripts/fd_rectangle_get_acceleration_b/fd_rectangle_get_acceleration_b.yy",},
|
||||
{"name":"surface_draw_functions","order":7,"path":"scripts/surface_draw_functions/surface_draw_functions.yy",},
|
||||
|
@ -1712,13 +1717,14 @@
|
|||
{"name":"s_biterator_tab_active","order":12,"path":"sprites/s_biterator_tab_active/s_biterator_tab_active.yy",},
|
||||
{"name":"dynaSurf_3d","order":2,"path":"scripts/dynaSurf_3d/dynaSurf_3d.yy",},
|
||||
{"name":"s_node_3d_extrude","order":2,"path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},
|
||||
{"name":"YYFirebaseFirestore","order":2,"path":"extensions/YYFirebaseFirestore/YYFirebaseFirestore.yy",},
|
||||
{"name":"YYFirebaseFirestore","order":3,"path":"extensions/YYFirebaseFirestore/YYFirebaseFirestore.yy",},
|
||||
{"name":"buttonGradient","order":2,"path":"scripts/buttonGradient/buttonGradient.yy",},
|
||||
{"name":"sh_draw_downsample","order":2,"path":"shaders/sh_draw_downsample/sh_draw_downsample.yy",},
|
||||
{"name":"__view_get","order":1,"path":"scripts/__view_get/__view_get.yy",},
|
||||
{"name":"export_portable","order":3,"path":"scripts/export_portable/export_portable.yy",},
|
||||
{"name":"s_node_texture_map","order":35,"path":"sprites/s_node_texture_map/s_node_texture_map.yy",},
|
||||
{"name":"fd_rectangle_create","order":7,"path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},
|
||||
{"name":"s_node_byte_file_write","order":27,"path":"sprites/s_node_byte_file_write/s_node_byte_file_write.yy",},
|
||||
{"name":"s_node_level_selector","order":26,"path":"sprites/s_node_level_selector/s_node_level_selector.yy",},
|
||||
{"name":"s_node_herringbone_tile","order":39,"path":"sprites/s_node_herringbone_tile/s_node_herringbone_tile.yy",},
|
||||
{"name":"node_vector_split","order":19,"path":"scripts/node_vector_split/node_vector_split.yy",},
|
||||
|
@ -1838,7 +1844,6 @@
|
|||
{"name":"s_node_group_thumbnail","order":34,"path":"sprites/s_node_group_thumbnail/s_node_group_thumbnail.yy",},
|
||||
{"name":"__node_VFX_effector","order":8,"path":"scripts/__node_VFX_effector/__node_VFX_effector.yy",},
|
||||
{"name":"node_path_shift","order":5,"path":"scripts/node_path_shift/node_path_shift.yy",},
|
||||
{"name":"s_node_wav_file_write","order":17,"path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},
|
||||
{"name":"s_node_3d_cylinder","order":1,"path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},
|
||||
{"name":"sh_pb_brick","order":9,"path":"shaders/sh_pb_brick/sh_pb_brick.yy",},
|
||||
{"name":"node_strand_break","order":9,"path":"scripts/node_strand_break/node_strand_break.yy",},
|
||||
|
@ -1970,7 +1975,6 @@
|
|||
{"name":"sh_solid","order":5,"path":"shaders/sh_solid/sh_solid.yy",},
|
||||
{"name":"panel_animation_scaler","order":1,"path":"scripts/panel_animation_scaler/panel_animation_scaler.yy",},
|
||||
{"name":"wav_file_object","order":2,"path":"scripts/wav_file_object/wav_file_object.yy",},
|
||||
{"name":"s_node_json_file_write","order":10,"path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},
|
||||
{"name":"node_pb_fx_intersect","order":5,"path":"scripts/node_pb_fx_intersect/node_pb_fx_intersect.yy",},
|
||||
{"name":"fd_rectangle_get_material_time_step","order":13,"path":"scripts/fd_rectangle_get_material_time_step/fd_rectangle_get_material_time_step.yy",},
|
||||
{"name":"node_vector3","order":17,"path":"scripts/node_vector3/node_vector3.yy",},
|
||||
|
|
|
@ -501,7 +501,6 @@
|
|||
{"id":{"name":"sh_mk_tile55_edge_r","path":"shaders/sh_mk_tile55_edge_r/sh_mk_tile55_edge_r.yy",},},
|
||||
{"id":{"name":"sh_d3d_normal","path":"shaders/sh_d3d_normal/sh_d3d_normal.yy",},},
|
||||
{"id":{"name":"panel_data","path":"scripts/panel_data/panel_data.yy",},},
|
||||
{"id":{"name":"s_node_text_file_read","path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},},
|
||||
{"id":{"name":"s_node_text_trim","path":"sprites/s_node_text_trim/s_node_text_trim.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_shading","path":"sprites/s_node_pb_fx_shading/s_node_pb_fx_shading.yy",},},
|
||||
{"id":{"name":"sh_noise_grid_hex","path":"shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy",},},
|
||||
|
@ -516,6 +515,7 @@
|
|||
{"id":{"name":"o_dialog_menubox","path":"objects/o_dialog_menubox/o_dialog_menubox.yy",},},
|
||||
{"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},},
|
||||
{"id":{"name":"node_wrap_perspective","path":"scripts/node_wrap_perspective/node_wrap_perspective.yy",},},
|
||||
{"id":{"name":"s_node_json_file_write","path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},},
|
||||
{"id":{"name":"s_node_rigidSim_object_spawner","path":"sprites/s_node_rigidSim_object_spawner/s_node_rigidSim_object_spawner.yy",},},
|
||||
{"id":{"name":"node_pb_draw_round_rectangle","path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",},},
|
||||
{"id":{"name":"draw_text_function","path":"scripts/draw_text_function/draw_text_function.yy",},},
|
||||
|
@ -661,6 +661,7 @@
|
|||
{"id":{"name":"sh_corner_erode","path":"shaders/sh_corner_erode/sh_corner_erode.yy",},},
|
||||
{"id":{"name":"__init_view","path":"scripts/__init_view/__init_view.yy",},},
|
||||
{"id":{"name":"node_outline","path":"scripts/node_outline/node_outline.yy",},},
|
||||
{"id":{"name":"s_node_byte_file_read","path":"sprites/s_node_byte_file_read/s_node_byte_file_read.yy",},},
|
||||
{"id":{"name":"sh_mesh_generation","path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",},},
|
||||
{"id":{"name":"math_function","path":"scripts/math_function/math_function.yy",},},
|
||||
{"id":{"name":"panel_preview_snap_setting","path":"scripts/panel_preview_snap_setting/panel_preview_snap_setting.yy",},},
|
||||
|
@ -1149,6 +1150,7 @@
|
|||
{"id":{"name":"sh_grey_alpha","path":"shaders/sh_grey_alpha/sh_grey_alpha.yy",},},
|
||||
{"id":{"name":"node_mk_cable","path":"scripts/node_mk_cable/node_mk_cable.yy",},},
|
||||
{"id":{"name":"sh_normal","path":"shaders/sh_normal/sh_normal.yy",},},
|
||||
{"id":{"name":"s_node_json_file_read","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},},
|
||||
{"id":{"name":"s_node_time_map","path":"sprites/s_node_time_map/s_node_time_map.yy",},},
|
||||
{"id":{"name":"node_crop","path":"scripts/node_crop/node_crop.yy",},},
|
||||
{"id":{"name":"s_biterator_tab_content","path":"sprites/s_biterator_tab_content/s_biterator_tab_content.yy",},},
|
||||
|
@ -1176,6 +1178,7 @@
|
|||
{"id":{"name":"node_VFX_repel","path":"scripts/node_VFX_repel/node_VFX_repel.yy",},},
|
||||
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},},
|
||||
{"id":{"name":"sh_gamma_map","path":"shaders/sh_gamma_map/sh_gamma_map.yy",},},
|
||||
{"id":{"name":"node_byte_file_write","path":"scripts/node_byte_file_write/node_byte_file_write.yy",},},
|
||||
{"id":{"name":"node_iterator_length","path":"scripts/node_iterator_length/node_iterator_length.yy",},},
|
||||
{"id":{"name":"node_VFX_attract","path":"scripts/node_VFX_attract/node_VFX_attract.yy",},},
|
||||
{"id":{"name":"node_fluid_repulse","path":"scripts/node_fluid_repulse/node_fluid_repulse.yy",},},
|
||||
|
@ -1355,7 +1358,6 @@
|
|||
{"id":{"name":"dynaSurf_square_outline","path":"scripts/dynaSurf_square_outline/dynaSurf_square_outline.yy",},},
|
||||
{"id":{"name":"node_3d_repeat","path":"scripts/node_3d_repeat/node_3d_repeat.yy",},},
|
||||
{"id":{"name":"node_pb_fx_add","path":"scripts/node_pb_fx_add/node_pb_fx_add.yy",},},
|
||||
{"id":{"name":"s_node_csv_file_write","path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},},
|
||||
{"id":{"name":"node_credit","path":"sprites/node_credit/node_credit.yy",},},
|
||||
{"id":{"name":"s_node_csv_parse","path":"sprites/s_node_csv_parse/s_node_csv_parse.yy",},},
|
||||
{"id":{"name":"sh_glow","path":"shaders/sh_glow/sh_glow.yy",},},
|
||||
|
@ -1410,7 +1412,6 @@
|
|||
{"id":{"name":"sh_blend_overlay","path":"shaders/sh_blend_overlay/sh_blend_overlay.yy",},},
|
||||
{"id":{"name":"node_sprite_stack","path":"scripts/node_sprite_stack/node_sprite_stack.yy",},},
|
||||
{"id":{"name":"s_node_smokeSim_vortex","path":"sprites/s_node_smokeSim_vortex/s_node_smokeSim_vortex.yy",},},
|
||||
{"id":{"name":"s_node_json_file_read","path":"sprites/s_node_json_file_read/s_node_json_file_read.yy",},},
|
||||
{"id":{"name":"s_node_wavelet","path":"sprites/s_node_wavelet/s_node_wavelet.yy",},},
|
||||
{"id":{"name":"s_workshop_badge_version","path":"sprites/s_workshop_badge_version/s_workshop_badge_version.yy",},},
|
||||
{"id":{"name":"node_override_channel","path":"scripts/node_override_channel/node_override_channel.yy",},},
|
||||
|
@ -1450,6 +1451,7 @@
|
|||
{"id":{"name":"s_node_tunnel_in","path":"sprites/s_node_tunnel_in/s_node_tunnel_in.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_trapezoid","path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},},
|
||||
{"id":{"name":"sh_rd_render","path":"shaders/sh_rd_render/sh_rd_render.yy",},},
|
||||
{"id":{"name":"s_node_csv_file_write","path":"sprites/s_node_csv_file_write/s_node_csv_file_write.yy",},},
|
||||
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},},
|
||||
{"id":{"name":"node_3dsurf","path":"scripts/node_3dsurf/node_3dsurf.yy",},},
|
||||
{"id":{"name":"fd_rectangle_reset_target","path":"scripts/fd_rectangle_reset_target/fd_rectangle_reset_target.yy",},},
|
||||
|
@ -1474,7 +1476,6 @@
|
|||
{"id":{"name":"pack_best_fit","path":"scripts/pack_best_fit/pack_best_fit.yy",},},
|
||||
{"id":{"name":"sh_channel_R","path":"shaders/sh_channel_R/sh_channel_R.yy",},},
|
||||
{"id":{"name":"draw_circle_functions","path":"scripts/draw_circle_functions/draw_circle_functions.yy",},},
|
||||
{"id":{"name":"s_node_text_file_write","path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},},
|
||||
{"id":{"name":"sliderRange","path":"scripts/sliderRange/sliderRange.yy",},},
|
||||
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},},
|
||||
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},},
|
||||
|
@ -1567,6 +1568,7 @@
|
|||
{"id":{"name":"s_node_flood_fill","path":"sprites/s_node_flood_fill/s_node_flood_fill.yy",},},
|
||||
{"id":{"name":"node_iterate_each_inline","path":"scripts/node_iterate_each_inline/node_iterate_each_inline.yy",},},
|
||||
{"id":{"name":"json_compare","path":"scripts/json_compare/json_compare.yy",},},
|
||||
{"id":{"name":"s_node_text_file_write","path":"sprites/s_node_text_file_write/s_node_text_file_write.yy",},},
|
||||
{"id":{"name":"node_rigid_force_apply","path":"scripts/node_rigid_force_apply/node_rigid_force_apply.yy",},},
|
||||
{"id":{"name":"checkboxActive","path":"scripts/checkboxActive/checkboxActive.yy",},},
|
||||
{"id":{"name":"__node_shader","path":"scripts/__node_shader/__node_shader.yy",},},
|
||||
|
@ -1578,6 +1580,7 @@
|
|||
{"id":{"name":"s_node_array_get","path":"sprites/s_node_array_get/s_node_array_get.yy",},},
|
||||
{"id":{"name":"d3d_bbox","path":"scripts/d3d_bbox/d3d_bbox.yy",},},
|
||||
{"id":{"name":"s_node_mk_brownian","path":"sprites/s_node_mk_brownian/s_node_mk_brownian.yy",},},
|
||||
{"id":{"name":"s_node_wav_file_write","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_AscendingDescending","path":"objects/Obj_FirebaseFirestore_Collection_Query_AscendingDescending/Obj_FirebaseFirestore_Collection_Query_AscendingDescending.yy",},},
|
||||
{"id":{"name":"dynaSurf","path":"scripts/dynaSurf/dynaSurf.yy",},},
|
||||
{"id":{"name":"o_dialog_save","path":"objects/o_dialog_save/o_dialog_save.yy",},},
|
||||
|
@ -1652,7 +1655,6 @@
|
|||
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},},
|
||||
{"id":{"name":"s_node_array_composite","path":"sprites/s_node_array_composite/s_node_array_composite.yy",},},
|
||||
{"id":{"name":"node_gradient_palette","path":"scripts/node_gradient_palette/node_gradient_palette.yy",},},
|
||||
{"id":{"name":"s_node_csv_file_read","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},},
|
||||
{"id":{"name":"node_fluid_domain","path":"scripts/node_fluid_domain/node_fluid_domain.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_LessEqualThan","path":"objects/Obj_FirebaseFirestore_Collection_Query_LessEqualThan/Obj_FirebaseFirestore_Collection_Query_LessEqualThan.yy",},},
|
||||
{"id":{"name":"s_node_repeat","path":"sprites/s_node_repeat/s_node_repeat.yy",},},
|
||||
|
@ -1671,6 +1673,7 @@
|
|||
{"id":{"name":"__node_shader_processor","path":"scripts/__node_shader_processor/__node_shader_processor.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_options_value","path":"objects/Obj_FirebaseFirestore_Collection_Query_options_value/Obj_FirebaseFirestore_Collection_Query_options_value.yy",},},
|
||||
{"id":{"name":"__node_3d_mesh","path":"scripts/__node_3d_mesh/__node_3d_mesh.yy",},},
|
||||
{"id":{"name":"s_node_csv_file_read","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query","path":"objects/Obj_FirebaseFirestore_Collection_Query/Obj_FirebaseFirestore_Collection_Query.yy",},},
|
||||
{"id":{"name":"d3d_surface_extrude","path":"scripts/d3d_surface_extrude/d3d_surface_extrude.yy",},},
|
||||
{"id":{"name":"sh_mk_tile18_edge_b","path":"shaders/sh_mk_tile18_edge_b/sh_mk_tile18_edge_b.yy",},},
|
||||
|
@ -1866,6 +1869,7 @@
|
|||
{"id":{"name":"node_group_input","path":"scripts/node_group_input/node_group_input.yy",},},
|
||||
{"id":{"name":"fd_rectangle_set_material_dissipation_type","path":"scripts/fd_rectangle_set_material_dissipation_type/fd_rectangle_set_material_dissipation_type.yy",},},
|
||||
{"id":{"name":"s_node_gradient_shift","path":"sprites/s_node_gradient_shift/s_node_gradient_shift.yy",},},
|
||||
{"id":{"name":"node_byte_file_read","path":"scripts/node_byte_file_read/node_byte_file_read.yy",},},
|
||||
{"id":{"name":"node_blobify","path":"scripts/node_blobify/node_blobify.yy",},},
|
||||
{"id":{"name":"node_cache_array","path":"scripts/node_cache_array/node_cache_array.yy",},},
|
||||
{"id":{"name":"node_array_convolute","path":"scripts/node_array_convolute/node_array_convolute.yy",},},
|
||||
|
@ -1881,6 +1885,7 @@
|
|||
{"id":{"name":"node_text_file_read","path":"scripts/node_text_file_read/node_text_file_read.yy",},},
|
||||
{"id":{"name":"node_note","path":"scripts/node_note/node_note.yy",},},
|
||||
{"id":{"name":"s_menu_transparent","path":"sprites/s_menu_transparent/s_menu_transparent.yy",},},
|
||||
{"id":{"name":"s_node_text_file_read","path":"sprites/s_node_text_file_read/s_node_text_file_read.yy",},},
|
||||
{"id":{"name":"node_pb_box_divide_grid","path":"scripts/node_pb_box_divide_grid/node_pb_box_divide_grid.yy",},},
|
||||
{"id":{"name":"FirebaseREST_firestore_cursor","path":"scripts/FirebaseREST_firestore_cursor/FirebaseREST_firestore_cursor.yy",},},
|
||||
{"id":{"name":"draw_tooltip","path":"scripts/draw_tooltip/draw_tooltip.yy",},},
|
||||
|
@ -2111,6 +2116,7 @@
|
|||
{"id":{"name":"sh_sample","path":"shaders/sh_sample/sh_sample.yy",},},
|
||||
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},},
|
||||
{"id":{"name":"fd_rectangle_create","path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},},
|
||||
{"id":{"name":"s_node_byte_file_write","path":"sprites/s_node_byte_file_write/s_node_byte_file_write.yy",},},
|
||||
{"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},},
|
||||
{"id":{"name":"s_node_herringbone_tile","path":"sprites/s_node_herringbone_tile/s_node_herringbone_tile.yy",},},
|
||||
{"id":{"name":"node_vector_split","path":"scripts/node_vector_split/node_vector_split.yy",},},
|
||||
|
@ -2248,7 +2254,6 @@
|
|||
{"id":{"name":"__node_VFX_effector","path":"scripts/__node_VFX_effector/__node_VFX_effector.yy",},},
|
||||
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},},
|
||||
{"id":{"name":"node_path_shift","path":"scripts/node_path_shift/node_path_shift.yy",},},
|
||||
{"id":{"name":"s_node_wav_file_write","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},},
|
||||
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},},
|
||||
{"id":{"name":"sh_pb_brick","path":"shaders/sh_pb_brick/sh_pb_brick.yy",},},
|
||||
{"id":{"name":"node_strand_break","path":"scripts/node_strand_break/node_strand_break.yy",},},
|
||||
|
@ -2399,7 +2404,6 @@
|
|||
{"id":{"name":"sh_solid","path":"shaders/sh_solid/sh_solid.yy",},},
|
||||
{"id":{"name":"panel_animation_scaler","path":"scripts/panel_animation_scaler/panel_animation_scaler.yy",},},
|
||||
{"id":{"name":"wav_file_object","path":"scripts/wav_file_object/wav_file_object.yy",},},
|
||||
{"id":{"name":"s_node_json_file_write","path":"sprites/s_node_json_file_write/s_node_json_file_write.yy",},},
|
||||
{"id":{"name":"node_pb_fx_intersect","path":"scripts/node_pb_fx_intersect/node_pb_fx_intersect.yy",},},
|
||||
{"id":{"name":"timer_function","path":"scripts/timer_function/timer_function.yy",},},
|
||||
{"id":{"name":"fd_rectangle_get_material_time_step","path":"scripts/fd_rectangle_get_material_time_step/fd_rectangle_get_material_time_step.yy",},},
|
||||
|
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -39,6 +39,8 @@
|
|||
dialog_drag_mx = 0;
|
||||
dialog_drag_my = 0;
|
||||
|
||||
passthrough = false;
|
||||
|
||||
function doDrag() {
|
||||
if(!active) return;
|
||||
|
||||
|
@ -128,14 +130,22 @@
|
|||
#endregion
|
||||
|
||||
#region focus
|
||||
function point_in(mx, my) {
|
||||
INLINE
|
||||
|
||||
var _r = dialog_resizable * 6;
|
||||
var x0 = dialog_x - _r;
|
||||
var x1 = dialog_x + dialog_w + _r;
|
||||
var y0 = dialog_y - _r;
|
||||
var y1 = dialog_y + dialog_h + _r;
|
||||
|
||||
return point_in_rectangle(mx, my, x0, y0, x1, y1);
|
||||
}
|
||||
|
||||
function checkFocus() {
|
||||
if(!active) return;
|
||||
var x0 = dialog_x - dialog_resizable * 6;
|
||||
var x1 = dialog_x + dialog_w + dialog_resizable * 6;
|
||||
var y0 = dialog_y - dialog_resizable * 6;
|
||||
var y1 = dialog_y + dialog_h + dialog_resizable * 6;
|
||||
|
||||
if(point_in_rectangle(mouse_mx, mouse_my, x0, y0, x1, y1)) {
|
||||
if(point_in(mouse_mx, mouse_my)) {
|
||||
if(depth < DIALOG_DEPTH_HOVER) {
|
||||
DIALOG_DEPTH_HOVER = depth;
|
||||
HOVER = self.id;
|
||||
|
@ -170,41 +180,34 @@
|
|||
dialog_y = round(clamp(dialog_y, 2, WIN_SH - dialog_h - 2));
|
||||
}
|
||||
|
||||
function isTop() {
|
||||
with(_p_dialog) if(depth < other.depth) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
function checkMouse() {
|
||||
if(!active) return;
|
||||
if(!DIALOG_CLICK) {
|
||||
//printIf(mouse_press(mb_any), $"Check {object_get_name(object_index)} : Click");
|
||||
return;
|
||||
}
|
||||
if(!active) return;
|
||||
if(!destroy_on_click_out) return;
|
||||
if(!DIALOG_CLICK) return;
|
||||
|
||||
with(_p_dialog) if(depth < other.depth) {
|
||||
//printIf(mouse_press(mb_any), $"Check {object_get_name(object_index)} : Top");
|
||||
return;
|
||||
}
|
||||
if(mouse_press(mb_any)) {
|
||||
if(!checkClosable()) return;
|
||||
if(!isTop()) return;
|
||||
|
||||
for( var i = 0, n = array_length(children); i < n; i++ )
|
||||
if(instance_exists(children[i])) {
|
||||
//printIf(mouse_press(mb_any), $"Check {object_get_name(object_index)} : Children");
|
||||
return;
|
||||
for( var i = 0, n = array_length(children); i < n; i++ )
|
||||
if(instance_exists(children[i])) return;
|
||||
|
||||
if(!point_in(mouse_mx, mouse_my)) {
|
||||
instance_destroy(self);
|
||||
onDestroy();
|
||||
DIALOG_CLICK = false;
|
||||
}
|
||||
|
||||
var x0 = dialog_x - dialog_resizable * 6;
|
||||
var x1 = dialog_x + dialog_w + dialog_resizable * 6;
|
||||
var y0 = dialog_y - dialog_resizable * 6;
|
||||
var y1 = dialog_y + dialog_h + dialog_resizable * 6;
|
||||
|
||||
if(destroy_on_click_out && mouse_press(mb_any) && !point_in_rectangle(mouse_mx, mouse_my, x0, y0, x1, y1)
|
||||
&& checkClosable()) {
|
||||
|
||||
instance_destroy(self);
|
||||
onDestroy();
|
||||
DIALOG_CLICK = false;
|
||||
}
|
||||
}
|
||||
|
||||
function checkClosable() { return true; }
|
||||
|
||||
function onDestroy() {}
|
||||
function onDestroy() { }
|
||||
#endregion
|
||||
|
||||
#region children
|
||||
|
|
|
@ -7,4 +7,5 @@ ds_list_remove(DIALOGS, self);
|
|||
|
||||
if(parent) array_remove(parent.children, id);
|
||||
|
||||
MOUSE_BLOCK = true;
|
||||
if(!passthrough)
|
||||
MOUSE_BLOCK = true;
|
|
@ -122,30 +122,17 @@ event_inherited();
|
|||
return false;
|
||||
} #endregion
|
||||
|
||||
#region ---- set page ----
|
||||
function setPage(pageIndex) {
|
||||
ADD_NODE_PAGE = min(pageIndex, ds_list_size(category) - 1);
|
||||
node_list = pageIndex < 0? noone : category[| ADD_NODE_PAGE].list;
|
||||
}
|
||||
|
||||
ADD_NODE_PAGE = 0;
|
||||
setPage(NODE_PAGE_DEFAULT);
|
||||
#endregion
|
||||
|
||||
function buildNode(_node, _param = {}) { #region
|
||||
if(!_node) {
|
||||
instance_destroy();
|
||||
instance_destroy(o_dialog_menubox);
|
||||
return;
|
||||
}
|
||||
instance_destroy();
|
||||
instance_destroy(o_dialog_menubox);
|
||||
|
||||
if(!_node) return;
|
||||
|
||||
if(is_instanceof(_node, AddNodeItem)) {
|
||||
_node.onClick({
|
||||
node_called,
|
||||
junction_hovering
|
||||
});
|
||||
instance_destroy(o_dialog_menubox);
|
||||
instance_destroy();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -154,11 +141,7 @@ event_inherited();
|
|||
|
||||
if(is_instanceof(_node, NodeObject)) {
|
||||
_new_node = _node.build(node_target_x, node_target_y,, _param);
|
||||
if(!_new_node) {
|
||||
instance_destroy();
|
||||
instance_destroy(o_dialog_menubox);
|
||||
return;
|
||||
}
|
||||
if(!_new_node) return;
|
||||
|
||||
if(category == NODE_CATEGORY && _node.show_in_recent) {
|
||||
array_remove(global.RECENT_NODES, _node.node);
|
||||
|
@ -258,9 +241,6 @@ event_inherited();
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
instance_destroy();
|
||||
instance_destroy(o_dialog_menubox);
|
||||
} #endregion
|
||||
|
||||
catagory_pane = new scrollPane(category_width, dialog_h - ui(66), function(_y, _m) { #region
|
||||
|
@ -273,13 +253,12 @@ event_inherited();
|
|||
|
||||
for(var i = start; i < ds_list_size(category); i++) {
|
||||
var name = "";
|
||||
var color = noone;
|
||||
|
||||
if(i == -2) name = "All";
|
||||
else if(i == -1) name = "New";
|
||||
else {
|
||||
var cat = category[| i];
|
||||
name = cat.name;
|
||||
name = cat.name;
|
||||
|
||||
if(array_length(cat.filter)) {
|
||||
if(!array_exists(cat.filter, instanceof(context))) {
|
||||
|
@ -287,7 +266,6 @@ event_inherited();
|
|||
setPage(NODE_PAGE_DEFAULT);
|
||||
continue;
|
||||
}
|
||||
color = context.color;
|
||||
draw_set_color(COLORS._main_text_accent);
|
||||
}
|
||||
}
|
||||
|
@ -662,6 +640,22 @@ event_inherited();
|
|||
}); #endregion
|
||||
|
||||
content_pane.always_scroll = true;
|
||||
|
||||
#region ---- set page ----
|
||||
function setPage(pageIndex) {
|
||||
ADD_NODE_PAGE = min(pageIndex, ds_list_size(category) - 1);
|
||||
node_list = pageIndex < 0? noone : category[| ADD_NODE_PAGE].list;
|
||||
}
|
||||
|
||||
if(PREFERENCES.add_node_remember) {
|
||||
content_pane.scroll_y_raw = ADD_NODE_SCROLL;
|
||||
content_pane.scroll_y_to = ADD_NODE_SCROLL;
|
||||
} else
|
||||
ADD_NODE_PAGE = 0;
|
||||
|
||||
setPage(ADD_NODE_PAGE);
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region resize
|
||||
|
|
|
@ -87,16 +87,5 @@ if !ready exit;
|
|||
}
|
||||
|
||||
node_tooltip = noone;
|
||||
ADD_NODE_SCROLL = content_pane.scroll_y_to;
|
||||
#endregion
|
||||
|
||||
//#region dec
|
||||
// if(node_called) {
|
||||
// var jx = 0;
|
||||
// var jy = dialog_y + ui(26);
|
||||
|
||||
// if(node_called.connect_type == JUNCTION_CONNECT.input)
|
||||
// jx = dialog_x;
|
||||
// else
|
||||
// jx = dialog_x + dialog_w;
|
||||
// }
|
||||
//#endregion
|
|
@ -348,6 +348,12 @@ event_inherited();
|
|||
|
||||
ds_list_add(pref_appr, __txt("Graph"));
|
||||
|
||||
ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference(
|
||||
__txtx("pref_add_node_remember", "Remember add node position"),
|
||||
"add_node_remember",
|
||||
new checkBox(function() { PREFERENCES.add_node_remember = !PREFERENCES.add_node_remember; })
|
||||
));
|
||||
|
||||
ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference(
|
||||
__txtx("pref_connection_type", "Connection type"),
|
||||
"curve_connection_line",
|
||||
|
|
|
@ -486,7 +486,7 @@ enum CAMERA_PROJ {
|
|||
drag_my = _my;
|
||||
}
|
||||
|
||||
inputs[| global_pos].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| global_pos].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
refreshDynamicInput();
|
||||
}
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ function __Node_3D_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
vertexObjects = [];
|
||||
_3d_node_init(1, /*Transform*/ 4, 5, 1, 2, 3);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -408,7 +408,7 @@ function __Node_3D_Extrude(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
|||
}
|
||||
}
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ function __Node_3D_Obj(_x, _y, _group = noone) : Node(_x, _y, _group) constructo
|
|||
}
|
||||
do_reset_material = false;
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "3D Plane";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Render position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector)
|
||||
|
@ -117,8 +117,8 @@ function __Node_3D_Plane(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
|||
vertexObjects[0] = pln;
|
||||
}
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny))
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny))
|
||||
active = false;
|
||||
var _out = outputs[| 0].getValue();
|
||||
if(!is_surface(_out) || !surface_exists(_out)) return;
|
||||
|
|
|
@ -44,9 +44,9 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
inputs[| 14] = nodeValue("Sides", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 16);
|
||||
|
||||
inputs[| 15] = nodeValue("Textures base", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 15] = nodeValue("Textures base", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 16] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 16] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 17] = nodeValue("Scale view with dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true)
|
||||
|
||||
|
@ -124,7 +124,7 @@ function __Node_3D_Cone(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
}
|
||||
generate_vb();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,12 +19,12 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
inputs[| 5] = nodeValue("Textures per face", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||
|
||||
inputs[| 6] = nodeValue("Textures 0", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false);
|
||||
inputs[| 7] = nodeValue("Textures 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false);
|
||||
inputs[| 8] = nodeValue("Textures 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false);
|
||||
inputs[| 9] = nodeValue("Textures 3", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false);
|
||||
inputs[| 10] = nodeValue("Textures 4", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false);
|
||||
inputs[| 11] = nodeValue("Textures 5", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0).setVisible(false);
|
||||
inputs[| 6] = nodeValue("Textures 0", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false);
|
||||
inputs[| 7] = nodeValue("Textures 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false);
|
||||
inputs[| 8] = nodeValue("Textures 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false);
|
||||
inputs[| 9] = nodeValue("Textures 3", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false);
|
||||
inputs[| 10] = nodeValue("Textures 4", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false);
|
||||
inputs[| 11] = nodeValue("Textures 5", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone).setVisible(false);
|
||||
|
||||
inputs[| 12] = nodeValue("Object scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
@ -82,7 +82,7 @@ function __Node_3D_Cube(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
_3d_node_init(1, /*Transform*/ 2, 4, 19, 18, 12);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny, _panel) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _panel) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
inputs[| 5] = nodeValue("Render scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 6] = nodeValue("Textures top", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 7] = nodeValue("Textures bottom", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 8] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 6] = nodeValue("Textures top", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 7] = nodeValue("Textures bottom", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 8] = nodeValue("Textures side", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 9] = nodeValue("Object scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
@ -137,7 +137,7 @@ function __Node_3D_Cylinder(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
}
|
||||
generate_vb();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
inputs[| 4] = nodeValue("Render scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 5] = nodeValue("Textures", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 5] = nodeValue("Textures", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Object scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
@ -139,7 +139,7 @@ function __Node_3D_Sphere(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
}
|
||||
generate_vb();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@
|
|||
// }
|
||||
// do_reset_material = false;
|
||||
|
||||
// static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
// static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
// _3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
// }
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
|
||||
_3d_node_init(1, /*Transform*/ 4, 5, 1, 2, 3);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ function __Node_3D_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
|
|||
|
||||
_3d_node_init(1, /*Transform*/ 4, 5, 1, 2, 3);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
_3d_gizmo(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
|
|
|
@ -64,8 +64,8 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
|
||||
UPDATE_PART_FORWARD
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
var area = getInputData(1);
|
||||
var cx = _x + area[0] * _s;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
function Node_Process_Template(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "";
|
||||
|
||||
inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0);
|
||||
outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
input_display_list = [ 0 ];
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {}
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {}
|
||||
|
||||
static step = function() {}
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
function Node_Template(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "";
|
||||
|
||||
inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0);
|
||||
outputs[| 0] = nodeValue("", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
input_display_list = [ 0 ];
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {}
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {}
|
||||
|
||||
static step = function() {}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
name = "Spawner";
|
||||
update_on_frame = true;
|
||||
|
||||
inputs[| 0] = nodeValue("Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0 );
|
||||
inputs[| 0] = nodeValue("Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone );
|
||||
|
||||
inputs[| 1] = nodeValue("Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4, "Frames delay between each particle spawn." )
|
||||
.rejectArray();
|
||||
|
@ -96,7 +96,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
inputs[| 29] = nodeValue("Directed from center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Make particle move away from the spawn center.")
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 30] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0)
|
||||
inputs[| 30] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone)
|
||||
.rejectArray()
|
||||
|
||||
inputs[| 31] = nodeValue("Atlas", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, [] )
|
||||
|
@ -501,12 +501,12 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
onStep();
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _spr = getInputData(0);
|
||||
if(is_array(_spr)) _spr = _spr[0];
|
||||
var _flag = is_instanceof(_spr, SurfaceAtlas)? 0b0001 : 0b0011;
|
||||
|
||||
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, _flag);
|
||||
inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _flag);
|
||||
if(onDrawOverlay != -1)
|
||||
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
||||
} #endregion
|
||||
|
|
|
@ -65,7 +65,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
["Shape", false], 1, 2, 3, 4, 5,
|
||||
];
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _typ = getInputData(1);
|
||||
var _pos = getInputData(2);
|
||||
var _ran = getInputData(3);
|
||||
|
@ -142,9 +142,9 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
draw_line_dashed(px0, py0, px1, py1);
|
||||
}
|
||||
|
||||
active &= inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
active &= inputs[| 4].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
active &= inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori);
|
||||
active &= inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
active &= inputs[| 4].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
active &= inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 1, THEME.anchor_scale_hori);
|
||||
}
|
||||
|
||||
static update = function(frame = CURRENT_FRAME) {
|
||||
|
|
|
@ -287,3 +287,13 @@ function array_insert_before(arr, before, values) { #region
|
|||
for( var i = 0, n = array_length(values); i < n; i++ )
|
||||
array_insert(arr, _ind + i, values[i]);
|
||||
} #endregion
|
||||
|
||||
#macro array_equals array_equals_overwrite
|
||||
#macro __array_equals array_equals
|
||||
|
||||
function array_equals_overwrite(arr1, arr2) { #region
|
||||
if(!is_array(arr1) && is_array(arr2)) return false;
|
||||
if( is_array(arr1) && !is_array(arr2)) return false;
|
||||
if(!is_array(arr1) && !is_array(arr2)) return arr1 == arr2;
|
||||
return __array_equals(arr1, arr2)
|
||||
} #endregion
|
|
@ -49,11 +49,11 @@ function draw_surface_blend(background, foreground, blend = 0, alpha = 1, _pre_a
|
|||
shader_reset();
|
||||
}
|
||||
|
||||
function draw_surface_blend_ext(bg, fg, _x, _y, _sx = 1, _sy = 1, _rot = 0, _col = c_white, _alpha = 1, _blend = 0) {
|
||||
function draw_surface_blend_ext(bg, fg, _x, _y, _sx = 1, _sy = 1, _rot = 0, _col = c_white, _alpha = 1, _blend = 0, _pre_alp = false) {
|
||||
surface_set_shader(blend_temp_surface);
|
||||
shader_set_interpolation(fg);
|
||||
draw_surface_ext_safe(fg, _x, _y, _sx, _sy, _rot, _col, 1);
|
||||
surface_reset_shader();
|
||||
|
||||
draw_surface_blend(bg, blend_temp_surface, _blend, _alpha, false);
|
||||
draw_surface_blend(bg, blend_temp_surface, _blend, _alpha, _pre_alp);
|
||||
}
|
|
@ -59,6 +59,7 @@ function Action(_type, _object, _data, _trigger = 0) constructor {
|
|||
break;
|
||||
case ACTION_TYPE.list_insert :
|
||||
if(!ds_exists(obj, ds_type_list)) return;
|
||||
|
||||
ds_list_delete(obj, data[1]);
|
||||
break;
|
||||
case ACTION_TYPE.list_modify :
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER, LATEST_VERSION;
|
||||
|
||||
LATEST_VERSION = 11600;
|
||||
VERSION = 11661;
|
||||
SAVE_VERSION = 11660;
|
||||
VERSION_STRING = "1.16.6.1";
|
||||
BUILD_NUMBER = 11661;
|
||||
VERSION = 11670;
|
||||
SAVE_VERSION = 11670;
|
||||
VERSION_STRING = "1.16.7";
|
||||
BUILD_NUMBER = 11670;
|
||||
|
||||
globalvar APPEND_MAP;
|
||||
APPEND_MAP = ds_map_create();
|
||||
|
@ -61,8 +61,10 @@
|
|||
|
||||
DIALOG_CLICK = true;
|
||||
|
||||
globalvar ADD_NODE_PAGE;
|
||||
ADD_NODE_PAGE = 0;
|
||||
globalvar ADD_NODE_PAGE, ADD_NODE_SCROLL;
|
||||
|
||||
ADD_NODE_PAGE = 0;
|
||||
ADD_NODE_SCROLL = 0;
|
||||
#endregion
|
||||
|
||||
#region macro
|
||||
|
|
|
@ -234,7 +234,8 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc
|
|||
bx -= ui(28);
|
||||
var ic_b = jun.expUse? c_white : COLORS._main_icon;
|
||||
if(buttonInstant(THEME.button_hide, bx - ui(12), by - ui(12), ui(24), ui(24), _m, _focus, _hover, __txtx("panel_inspector_use_expression", "Use expression"), THEME.node_use_expression, jun.expUse, ic_b) == 2) {
|
||||
jun.expUse = !jun.expUse;
|
||||
jun.setUseExpression(!jun.expUse);
|
||||
|
||||
if(!jun.expUse) WIDGET_CURRENT = noone;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
uniform_band = shader_get_uniform(shader, "band");
|
||||
uniform_attn = shader_get_uniform(shader, "atten");
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Light shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Point", s_node_2d_light_shape, 0),
|
||||
|
@ -76,7 +76,7 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
attribute_surface_depth();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _shape = getInputData(1);
|
||||
|
||||
switch(_shape) {
|
||||
|
@ -85,14 +85,14 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var px = _x + pos[0] * _s;
|
||||
var py = _y + pos[1] * _s;
|
||||
|
||||
inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 3].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 3].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
break;
|
||||
case LIGHT_SHAPE_2D.line :
|
||||
case LIGHT_SHAPE_2D.line_asym :
|
||||
case LIGHT_SHAPE_2D.spot :
|
||||
inputs[| 6].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 7].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 6].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 7].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Nine Slice";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, DEF_SURF)
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
@ -33,7 +33,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
inputs[| 1].setValue( [ surface_get_width_safe(s), surface_get_height_safe(s) ] );
|
||||
}
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
if(array_length(current_data) < 1) return;
|
||||
|
||||
var _dim = current_data[1];
|
||||
|
@ -75,7 +75,7 @@ function Node_9Slice(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
}
|
||||
}
|
||||
|
||||
if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny))
|
||||
if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny))
|
||||
return;
|
||||
|
||||
if(distance_to_line_infinite(_mx, _my, sp_r, -hh, sp_r, hh) < 12) {
|
||||
|
|
|
@ -50,7 +50,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
obstracle = new FLIP_Obstracle();
|
||||
index = 0;
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _posit = getInputData(1);
|
||||
var _rad = getInputData(2);
|
||||
var _shp = getInputData(3);
|
||||
|
@ -75,7 +75,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
if(_shp == 0) draw_circle(_px, _py, _r, true);
|
||||
else if(_shp == 1) draw_rectangle(_px - _w, _py - _h, _px + _w, _py + _h, true);
|
||||
|
||||
if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
|
||||
} #endregion
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
|
|||
|
||||
outputs[| 0] = nodeValue("Domain", self, JUNCTION_CONNECT.output, VALUE_TYPE.fdomain, noone );
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _posit = getInputData(1);
|
||||
var _rad = getInputData(2);
|
||||
var _velo = getInputData(3);
|
||||
|
@ -57,8 +57,8 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
|
|||
draw_line_width2(_px, _py, _vx, _vy, 6, 2);
|
||||
draw_set_alpha(1);
|
||||
|
||||
if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
if(inputs[| 3].drawOverlay(active, _px, _py, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
if(inputs[| 3].drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
|
||||
} #endregion
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ function Node_FLIP_Domain(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
|
||||
static update = function(frame = CURRENT_FRAME) {
|
||||
var _dim = getInputData(0);
|
||||
var _siz = getInputData(1);
|
||||
var _siz = getInputData(1); _siz = max(_siz, 1);
|
||||
var _den = getInputData(2);
|
||||
|
||||
var _flp = getInputData(3);
|
||||
|
|
|
@ -49,7 +49,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
spawn_amo = 0;
|
||||
prev_position = [ 0, 0 ];
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _shp = getInputData(1);
|
||||
var _posit = getInputData(2);
|
||||
|
||||
|
@ -71,7 +71,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
draw_surface_ext(_surf, _px - _sw * _s / 2, _py - _sh * _s / 2, _s, _s, 0, c_white, 0.5);
|
||||
}
|
||||
|
||||
if(inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
if(inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
|
||||
} #endregion
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@ function Node_FLIP_Wall(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
obstracle = new FLIP_Obstracle();
|
||||
index = 0;
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
if(inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
if(inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny)) active = false;
|
||||
} #endregion
|
||||
|
||||
static update = function(frame = CURRENT_FRAME) { #region
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_FXAA(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "FXAA";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ function Node_VFX_Trail(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
|
||||
outputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.pathnode, self);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
draw_set_color(COLORS._main_accent);
|
||||
|
||||
for( var i = 0, n = array_length(lines); i < n; i++ ) {
|
||||
|
|
|
@ -37,8 +37,8 @@ function Node_Active_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
|
||||
temp_surface = [ surface_create(1, 1) ];
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
function Node_Alpha_Cutoff(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Alpha Cutoff";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Minimum", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2, "Any pixel with less alpha (more transparent) than this will be removed.")
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 3] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Alpha_Grey(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Alpha to Grey";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
active_index = 1;
|
||||
|
|
|
@ -14,7 +14,7 @@ function Node_Alpha_Hash(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
|||
15, 47, 7, 39, 13, 45, 5, 37,
|
||||
63, 31, 55, 23, 61, 29, 53, 21];
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
outputs[| 0] = nodeValue("Area", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0, AREA_SHAPE.rectangle ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
if(process_amount > 1) return;
|
||||
|
||||
var _pos = getInputData(0);
|
||||
|
@ -38,8 +38,8 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
break;
|
||||
}
|
||||
|
||||
inputs[| 0].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 0].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
static processData = function(_output, _data, _output_index, _array_index = 0) {
|
||||
|
|
|
@ -188,7 +188,7 @@ function Node_Armature(_x, _y, _group = noone) : Node(_x, _y, _group) constructo
|
|||
moving = false;
|
||||
scaling = false;
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var mx = (_mx - _x) / _s;
|
||||
var my = (_my - _y) / _s;
|
||||
|
||||
|
|
|
@ -387,7 +387,7 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
var index = ds_list_size(inputs);
|
||||
var _s = floor((index - input_fix_len) / data_length);
|
||||
|
||||
inputs[| index + 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| index + 0] = nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| index + 0].surface_index = index;
|
||||
inputs[| index + 0].hover_effect = 0;
|
||||
inputs[| index + 0].display_data.bone_id = "";
|
||||
|
@ -490,7 +490,7 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
ds_stack_destroy(_bst);
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var dim = getInputData(0);
|
||||
var _bind = getInputData(2);
|
||||
|
||||
|
@ -500,8 +500,8 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
if(bone == noone) return;
|
||||
|
||||
bone.draw(attributes, false, _x + _dpos[0] * _s, _y + _dpos[1] * _s, _s * _dsca, _mx, _my, anchor_selecting);
|
||||
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
//inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
//inputs[| 4].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
var mx = (_mx - _x) / _s;
|
||||
var my = (_my - _y) / _s;
|
||||
|
|
|
@ -30,7 +30,7 @@ function Node_Armature_Path(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
})]);
|
||||
#endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _b = getInputData(0);
|
||||
|
||||
if(_b == noone) return;
|
||||
|
|
|
@ -108,7 +108,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
posing_mx = 0;
|
||||
posing_my = 0;
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _b = outputs[| 0].getValue();
|
||||
if(_b == noone) return;
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ function Node_Armature_Sample(_x, _y, _group = noone) : Node(_x, _y, _group) con
|
|||
})]);
|
||||
#endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _b = getInputData(0);
|
||||
|
||||
if(_b == noone) return;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_create_ASE_File_Read(_x, _y, _group = noone) { #region
|
||||
var path = "";
|
||||
if(!LOADING && !APPENDING && !CLONING) {
|
||||
path = get_open_filename("aseprite|*.ase", "");
|
||||
path = get_open_filename("Aseprite file (*.aseprite, *.ase)|*.aseprite;*.ase", "");
|
||||
key_release();
|
||||
if(path == "") return noone;
|
||||
}
|
||||
|
@ -160,9 +160,10 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
["Tags", false], 2, tag_renderer,
|
||||
];
|
||||
|
||||
attributes.file_checker = true;
|
||||
attributes.layer_visible = [];
|
||||
|
||||
edit_time = 0;
|
||||
attributes.file_checker = true;
|
||||
array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; },
|
||||
new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]);
|
||||
|
||||
|
@ -171,7 +172,6 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
tags = [];
|
||||
_tag_delay = 0;
|
||||
path_current = "";
|
||||
edit_time = 0;
|
||||
|
||||
first_update = false;
|
||||
|
||||
|
@ -217,13 +217,12 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
}
|
||||
} #endregion
|
||||
|
||||
function updatePaths(path) { #region
|
||||
path_current = path;
|
||||
edit_time = file_get_modify_s(path_current);
|
||||
|
||||
path = try_get_path(path);
|
||||
function updatePaths(path = path_current) { #region
|
||||
if(path == -1) return false;
|
||||
|
||||
path_current = path;
|
||||
edit_time = max(edit_time, file_get_modify_s(path_current));
|
||||
|
||||
var ext = string_lower(filename_ext(path));
|
||||
var _name = string_replace(filename_name(path), filename_ext(path), "");
|
||||
|
||||
|
@ -301,27 +300,21 @@ function Node_ASE_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ];
|
||||
|
||||
static onInspector1Update = function() { #region
|
||||
var path = getInputData(0);
|
||||
if(path == "") return;
|
||||
updatePaths(path);
|
||||
|
||||
updatePaths(path_get(getInputData(0)));
|
||||
triggerRender();
|
||||
} #endregion
|
||||
|
||||
static step = function() {
|
||||
static step = function() { #region
|
||||
if(attributes.file_checker && path_current != "") {
|
||||
var _ms = file_get_modify_s(path_current);
|
||||
|
||||
if(_ms > edit_time) {
|
||||
edit_time = _ms;
|
||||
updatePaths(path_current);
|
||||
update();
|
||||
if(file_get_modify_s(path_current) > edit_time) {
|
||||
updatePaths();
|
||||
triggerRender();
|
||||
}
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static update = function(frame = CURRENT_FRAME) { #region
|
||||
var path = getInputData(0);
|
||||
var path = path_get(getInputData(0));
|
||||
var current_tag = getInputData(2);
|
||||
|
||||
if(path_current != path) updatePaths(path);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Atlas(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Pixel Expand";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
active_index = 1;
|
||||
|
|
|
@ -4,9 +4,9 @@ function Node_Average(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
shader = sh_average;
|
||||
uniform_dim = shader_get_uniform(shader, "dimension");
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 1] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 2] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Bend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Bend";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
active_index = 1;
|
||||
|
@ -30,7 +30,7 @@ function Node_Bend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
attribute_surface_depth();
|
||||
attribute_interpolation();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
draw_set_color(COLORS._main_accent);
|
||||
|
||||
//for( var i = 0, n = array_length(mesh); i < n; i++ ) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Bevel";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Height", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4)
|
||||
.setMappable(11);
|
||||
|
@ -17,7 +17,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
new scrollItem("Smooth", s_node_curve, 4),
|
||||
new scrollItem("Circular", s_node_curve, 5), ]);
|
||||
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
@ -47,7 +47,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
attribute_surface_depth();
|
||||
attribute_oversample();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
PROCESSOR_OVERLAY_CHECK
|
||||
|
||||
var _surf = current_data[0];
|
||||
|
@ -56,7 +56,7 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
var _pw = surface_get_width_safe(_surf) * _s / 2;
|
||||
var _ph = surface_get_height_safe(_surf) * _s / 2;
|
||||
|
||||
inputs[| 2].drawOverlay(active, _x + _pw, _y + _ph, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(hover, active, _x + _pw, _y + _ph, _s, _mx, _my, _snx, _sny);
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -8,12 +8,8 @@
|
|||
function Node_create_Blend(_x, _y, _group = noone, _param = {}) {
|
||||
var node = new Node_Blend(_x, _y, _group);
|
||||
var query = struct_try_get(_param, "query", "");
|
||||
var ind = -1;
|
||||
|
||||
switch(query) {
|
||||
default : ind = array_find(global.node_blend_keys, query);
|
||||
}
|
||||
|
||||
var ind = array_find(global.node_blend_keys, query);
|
||||
if(ind >= 0) node.inputs[| 2].setValue(ind);
|
||||
|
||||
return node;
|
||||
|
@ -34,7 +30,7 @@ function Node_Blend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
inputs[| 3] = nodeValue("Opacity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 5] = nodeValue("Fill mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "None", "Stretch", "Tile" ]);
|
||||
|
@ -84,7 +80,7 @@ function Node_Blend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
drag_mx = 0;
|
||||
drag_my = 0;
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _surf = outputs[| 0].getValue();
|
||||
if(is_array(_surf)) _surf = array_safe_get(_surf, preview_index);
|
||||
if(is_struct(_surf)) return;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blend_Edge(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Blend Edge";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1)
|
||||
.setDisplay(VALUE_DISPLAY.slider)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blobify(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Blobify";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Bloom";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3, "Bloom blur radius.")
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] });
|
||||
|
||||
|
@ -11,9 +11,9 @@ function Node_Bloom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
inputs[| 3] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, .25, "Blend intensity.")
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01] });
|
||||
|
||||
inputs[| 4] = nodeValue("Bloom mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 4] = nodeValue("Bloom mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blur(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] });
|
||||
|
||||
|
@ -12,7 +12,7 @@ function Node_Blur(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
|
||||
inputs[| 4] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black);
|
||||
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
function Node_Blur_Bokeh(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Lens Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.01] })
|
||||
.setMappable(8);
|
||||
|
||||
inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 3] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blur_Contrast(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Contrast Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] });
|
||||
|
@ -9,7 +9,7 @@ function Node_Blur_Contrast(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
inputs[| 2] = nodeValue("Threshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2, "Brightness different to be blur together.")
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Directional Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 0.5, 0.001] })
|
||||
|
@ -11,7 +11,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y,
|
|||
.setDisplay(VALUE_DISPLAY.rotation)
|
||||
.setMappable(10);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
@ -42,7 +42,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y,
|
|||
attribute_surface_depth();
|
||||
attribute_oversample();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var _surf = outputs[| 0].getValue();
|
||||
if(is_array(_surf)) {
|
||||
if(array_length(_surf) == 0) return;
|
||||
|
@ -52,7 +52,7 @@ function Node_Blur_Directional(_x, _y, _group = noone) : Node_Processor(_x, _y,
|
|||
var ww = surface_get_width_safe(_surf);
|
||||
var hh = surface_get_height_safe(_surf);
|
||||
|
||||
inputs[| 2].drawOverlay(active, _x + ww / 2 * _s, _y + hh / 2 * _s, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(hover, active, _x + ww / 2 * _s, _y + hh / 2 * _s, _s, _mx, _my, _snx, _sny);
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Radial Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 45)
|
||||
.setDisplay(VALUE_DISPLAY.rotation)
|
||||
|
@ -14,7 +14,7 @@ function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
inputs[| 3] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.")
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
@ -44,13 +44,13 @@ function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
attribute_oversample();
|
||||
attribute_interpolation();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var pos = getInputData(2);
|
||||
var px = _x + pos[0] * _s;
|
||||
var py = _y + pos[1] * _s;
|
||||
|
||||
inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -6,7 +6,7 @@ function Node_Blur_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
|||
|
||||
inputs[| 2] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
function Node_Blur_Simple(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Non-Uniform Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] });
|
||||
|
||||
inputs[| 2] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.")
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
|
||||
|
||||
inputs[| 3] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Override color", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Replace all color while keeping the alpha. Used to\nfix grey outline when bluring transparent pixel.");
|
||||
|
||||
inputs[| 5] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black);
|
||||
|
||||
inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blur_Slope(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Slope Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 4)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 32, 1] })
|
||||
|
@ -9,7 +9,7 @@ function Node_Blur_Slope(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
|
|||
|
||||
inputs[| 2] = nodeValue("Slope Map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Zoom Blur";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.2)
|
||||
.setMappable(12);
|
||||
|
@ -16,9 +16,9 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
inputs[| 4] = nodeValue("Zoom mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Start", "Middle", "End" ]);
|
||||
|
||||
inputs[| 5] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 5] = nodeValue("Blur mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 6] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 7] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
@ -47,13 +47,13 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
attribute_surface_depth();
|
||||
attribute_oversample();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var pos = getInputData(2);
|
||||
var px = _x + pos[0] * _s;
|
||||
var py = _y + pos[1] * _s;
|
||||
|
||||
inputs[| 1].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny, 0, 64, THEME.anchor_scale_hori);
|
||||
inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 1].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny, 0, 64, THEME.anchor_scale_hori);
|
||||
inputs[| 2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_BW(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "BW";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01] })
|
||||
|
@ -11,7 +11,7 @@ function Node_BW(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constr
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 4, 0.01] })
|
||||
.setMappable(10);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
80
scripts/node_byte_file_read/node_byte_file_read.gml
Normal file
|
@ -0,0 +1,80 @@
|
|||
function Node_Byte_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Byte File In";
|
||||
color = COLORS.node_blend_input;
|
||||
|
||||
w = 128;
|
||||
|
||||
inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "")
|
||||
.setDisplay(VALUE_DISPLAY.path_load, { filter: "any file|*" })
|
||||
.rejectArray();
|
||||
|
||||
outputs[| 0] = nodeValue("Content", self, JUNCTION_CONNECT.output, VALUE_TYPE.buffer, noone);
|
||||
outputs[| 1] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "")
|
||||
.setVisible(true, true);
|
||||
|
||||
content = noone;
|
||||
|
||||
on_drop_file = function(path) { #region
|
||||
path = path_get(path);
|
||||
inputs[| 0].setValue(path);
|
||||
|
||||
if(updatePaths(path)) {
|
||||
doUpdate();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
} #endregion
|
||||
|
||||
path_current = "";
|
||||
edit_time = 0;
|
||||
|
||||
attributes.file_checker = true;
|
||||
array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; },
|
||||
new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]);
|
||||
|
||||
insp1UpdateTooltip = __txt("Refresh");
|
||||
insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ];
|
||||
|
||||
static onInspector1Update = function() { #region
|
||||
updatePaths(path_get(getInputData(0)));
|
||||
triggerRender();
|
||||
} #endregion
|
||||
|
||||
function updatePaths(path = path_current) { #region
|
||||
if(path == -1) return false;
|
||||
|
||||
path_current = path;
|
||||
edit_time = max(edit_time, file_get_modify_s(path_current));
|
||||
|
||||
outputs[| 1].setValue(path_current);
|
||||
content = buffer_load(path_current);
|
||||
|
||||
return true;
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
if(attributes.file_checker && path_current != "") {
|
||||
if(file_get_modify_s(path_current) > edit_time) {
|
||||
updatePaths();
|
||||
triggerRender();
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static update = function(frame = CURRENT_FRAME) { #region
|
||||
var path = path_get(getInputData(0));
|
||||
if(path_current != path)
|
||||
updatePaths(path);
|
||||
|
||||
outputs[| 0].setValue(content);
|
||||
} #endregion
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
var str = filename_name(getInputData(0));
|
||||
|
||||
draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text);
|
||||
draw_text_bbox(bbox, str);
|
||||
} #endregion
|
||||
}
|
11
scripts/node_byte_file_read/node_byte_file_read.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_byte_file_read",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "IO",
|
||||
"path": "folders/nodes/data/IO.yy",
|
||||
},
|
||||
}
|
34
scripts/node_byte_file_write/node_byte_file_write.gml
Normal file
|
@ -0,0 +1,34 @@
|
|||
function Node_Byte_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Byte File Out";
|
||||
color = COLORS.node_blend_input;
|
||||
|
||||
w = 128;
|
||||
|
||||
inputs[| 0] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.path, "")
|
||||
.setDisplay(VALUE_DISPLAY.path_save, { filter: "any file|*" })
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 1] = nodeValue("Content", self, JUNCTION_CONNECT.input, VALUE_TYPE.buffer, noone)
|
||||
.setVisible(true, true);
|
||||
|
||||
static writeFile = function() {
|
||||
var path = getInputData(0);
|
||||
if(path == "") return;
|
||||
|
||||
var cont = getInputData(1);
|
||||
if(cont == noone) return;
|
||||
|
||||
buffer_save(cont, path);
|
||||
}
|
||||
|
||||
static update = function(frame = CURRENT_FRAME) { writeFile(); }
|
||||
static onInspector1Update = function() { getInputs(); writeFile(); }
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
var str = filename_name(getInputData(0));
|
||||
|
||||
draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text);
|
||||
draw_text_bbox(bbox, str);
|
||||
}
|
||||
}
|
11
scripts/node_byte_file_write/node_byte_file_write.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_byte_file_write",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "IO",
|
||||
"path": "folders/nodes/data/IO.yy",
|
||||
},
|
||||
}
|
|
@ -2,9 +2,9 @@ function Node_Cache(_x, _y, _group = noone) : __Node_Cache(_x, _y, _group) const
|
|||
name = "Cache";
|
||||
use_cache = CACHE_USE.auto;
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
outputs[| 0] = nodeValue("Cache surface", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, 0);
|
||||
outputs[| 0] = nodeValue("Cache surface", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
input_display_list = [
|
||||
["Surfaces", true], 0,
|
||||
|
|
|
@ -2,7 +2,7 @@ function Node_Cache_Array(_x, _y, _group = noone) : __Node_Cache(_x, _y, _group)
|
|||
name = "Cache Array";
|
||||
use_cache = CACHE_USE.manual;
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Start frame", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, -1, "Frame index to start caching, set to -1 to start at the first frame.");
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
name = "Camera";
|
||||
preview_alpha = 0.5;
|
||||
|
||||
inputs[| 0] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
onSurfaceSize = function() { return surface_get_dimension(getInputData(0)); };
|
||||
inputs[| 1] = nodeValue("Focus area", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 16, 16, AREA_SHAPE.rectangle ])
|
||||
|
@ -46,7 +46,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
var index = ds_list_size(inputs);
|
||||
var _s = floor((index - input_fix_len) / data_length);
|
||||
|
||||
inputs[| index + 0] = nodeValue($"Element {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| index + 0] = nodeValue($"Element {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| index + 1] = nodeValue($"Parallax {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ] )
|
||||
.setDisplay(VALUE_DISPLAY.vector)
|
||||
|
@ -103,7 +103,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
|
||||
static getPreviewValues = function() { return getInputData(0); }
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
if(array_length(current_data) == 0) return;
|
||||
|
||||
var _out = outputs[| 0].getValue();
|
||||
|
@ -114,7 +114,7 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
var _cam_y = _y + (_area[1] - _area[3] * _zoom) * _s;
|
||||
|
||||
draw_surface_ext_safe(_out, _cam_x, _cam_y, _s * _zoom, _s * _zoom);
|
||||
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
draw_set_color(COLORS._main_accent);
|
||||
var x0 = _cam_x;
|
||||
|
|
|
@ -708,7 +708,7 @@ function Node_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
draw_set_alpha(1);
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
if(instance_exists(o_dialog_color_picker)) return;
|
||||
|
||||
mouse_cur_x = round((_mx - _x) / _s - 0.5);
|
||||
|
|
|
@ -50,8 +50,8 @@ function Node_Cellular(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
attribute_surface_depth();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -38,13 +38,13 @@ function Node_Checker(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
attribute_surface_depth();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var pos = getInputData(3);
|
||||
var px = _x + pos[0] * _s;
|
||||
var py = _y + pos[1] * _s;
|
||||
|
||||
inputs[| 3].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 2].drawOverlay(hover, active, px, py, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Chromatic Aberration";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.5, 0.5 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector)
|
||||
|
@ -30,12 +30,12 @@ function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x,
|
|||
attribute_surface_depth();
|
||||
attribute_interpolation();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var pos = getInputData(1);
|
||||
var px = _x + pos[0] * _s;
|
||||
var py = _y + pos[1] * _s;
|
||||
|
||||
inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
inputs[| 1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -262,7 +262,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
h = max(min_h, preH, _hi, _ho);
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
if(!draw_input_overlay) return;
|
||||
|
||||
for(var i = custom_input_index; i < ds_list_size(inputs); i++) {
|
||||
|
@ -270,7 +270,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
var _show = _in.from.getInputData(6);
|
||||
|
||||
if(!_show) continue;
|
||||
var _hov = _in.drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
var _hov = _in.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
if(_hov != undefined) active &= !_hov;
|
||||
}
|
||||
} #endregion
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Color_adjust(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Color Adjust";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] })
|
||||
|
@ -29,7 +29,7 @@ function Node_Color_adjust(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
|||
.setDisplay(VALUE_DISPLAY.slider)
|
||||
.setMappable(23);
|
||||
|
||||
inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 8] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 9] = nodeValue("Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Color_Remove(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Remove Color";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Colors", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE )
|
||||
.setDisplay(VALUE_DISPLAY.palette);
|
||||
|
@ -10,7 +10,7 @@ function Node_Color_Remove(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
|||
.setDisplay(VALUE_DISPLAY.slider)
|
||||
.setMappable(10);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Color_replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Replace Palette";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Palette from", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, DEF_PALETTE, "Color to be replaced.")
|
||||
.setDisplay(VALUE_DISPLAY.palette);
|
||||
|
||||
|
@ -17,7 +17,7 @@ function Node_Color_replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
|
||||
inputs[| 6] = nodeValue("Hard replace", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true, "Completely override pixel with new color instead of blending between it.");
|
||||
|
||||
inputs[| 7] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 7] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 8] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Colorize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Colorize";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Gradient", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject([ c_black, c_white ]) )
|
||||
.setMappable(11);
|
||||
|
@ -10,7 +10,7 @@ function Node_Colorize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, .01 ] })
|
||||
.setMappable(10);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
@ -44,8 +44,8 @@ function Node_Colorize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
attribute_surface_depth();
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
inputs[| 12].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny, surface_get_dimension(getSingleValue(0)));
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
inputs[| 12].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, surface_get_dimension(getSingleValue(0)));
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Colors_Replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Replace Colors";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Palette from", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, [])
|
||||
.setDisplay(VALUE_DISPLAY.palette);
|
||||
|
||||
|
@ -12,7 +12,7 @@ function Node_Colors_Replace(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
|
|||
inputs[| 3] = nodeValue("Threshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 4] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 5] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -6,9 +6,9 @@ function Node_Combine_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
uniform_s = shader_get_sampler_index(shader, "samS");
|
||||
uniform_v = shader_get_sampler_index(shader, "samV");
|
||||
|
||||
inputs[| 0] = nodeValue("Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 1] = nodeValue("Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 1] = nodeValue("Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| 2] = nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
|
|
|
@ -26,10 +26,9 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
attribute_surface_depth();
|
||||
attribute_interpolation();
|
||||
|
||||
setIsDynamicInput(4);
|
||||
|
||||
attributes.layer_visible = [];
|
||||
attributes.layer_selectable = [];
|
||||
properties_expand = [];
|
||||
|
||||
hold_visibility = true;
|
||||
hold_select = true;
|
||||
|
@ -39,18 +38,24 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var amo = (ds_list_size(inputs) - input_fix_len) / data_length - 1;
|
||||
if(array_length(current_data) != ds_list_size(inputs)) return 0;
|
||||
|
||||
var lh = 32;
|
||||
var _h = 8 + max(1, amo) * (lh + 4) + 8;
|
||||
var lh = 28;
|
||||
var eh = 36;
|
||||
|
||||
properties_expand = array_verify(properties_expand, amo);
|
||||
var _h = 4;
|
||||
for(var i = 0; i < amo; i++)
|
||||
_h += lh + 4 + properties_expand[i] * eh;
|
||||
layer_renderer.h = _h;
|
||||
|
||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 1, _x, _y, _w, _h, COLORS.node_composite_bg_blend, 1);
|
||||
|
||||
var _vis = attributes.layer_visible;
|
||||
var _sel = attributes.layer_selectable;
|
||||
var ly = _y + 8;
|
||||
var ssh = lh - 6;
|
||||
var ly = _y + 4;
|
||||
var ssh = lh - 4;
|
||||
var hoverIndex = noone;
|
||||
draw_set_color(COLORS.node_composite_separator);
|
||||
draw_line(_x + 16, ly, _x + _w - 16, ly);
|
||||
|
||||
var _cy = ly;
|
||||
|
||||
layer_remove = -1;
|
||||
for(var i = 0; i < amo; i++) {
|
||||
|
@ -60,7 +65,41 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var _pos = current_data[index + 1];
|
||||
|
||||
var _bx = _x + _w - 24;
|
||||
var _cy = ly + i * (lh + 4);
|
||||
var aa = (ind != layer_dragging || layer_dragging == noone)? 1 : 0.5;
|
||||
var vis = _vis[ind];
|
||||
var sel = _sel[ind];
|
||||
|
||||
var _exp = properties_expand[i];
|
||||
var _lh = lh + 4 + _exp * eh;
|
||||
|
||||
if(_exp) { #region extended
|
||||
var _px = _x + 4;
|
||||
var _py = _cy + lh + 4;
|
||||
var _pw = _w - 8;
|
||||
var _ph = eh - 4;
|
||||
|
||||
var _pww = (_pw - 8) / 2 - 8;
|
||||
var _pwh = _ph - 8;
|
||||
|
||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, _px, _py, _pw, _ph, COLORS.node_composite_bg_blend, 1);
|
||||
|
||||
var jun = inputs[| index + 4];
|
||||
var bl_wid = jun.editWidget;
|
||||
|
||||
var _param = new widgetParam(_px + 4, _py + 4, _pww, _pwh, jun.showValue(), jun.display_data, _m, layer_renderer.rx, layer_renderer.ry);
|
||||
bl_wid.setFocusHover(_focus, _hover);
|
||||
|
||||
bl_wid.font = f_p2;
|
||||
bl_wid.drawParam(_param);
|
||||
bl_wid.font = f_p0;
|
||||
|
||||
var jun = inputs[| index + 5];
|
||||
var bl_wid = jun.editWidget;
|
||||
|
||||
var _param = new widgetParam(_px + 4 + _pww + 8, _py + 4, _pww, _pwh, jun.showValue(), jun.display_data, _m, layer_renderer.rx, layer_renderer.ry);
|
||||
bl_wid.setFocusHover(_focus, _hover);
|
||||
bl_wid.drawParam(_param);
|
||||
} #endregion
|
||||
|
||||
if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 16)) {
|
||||
draw_sprite_ui_uniform(THEME.icon_delete, 3, _bx, _cy + lh / 2, 1, COLORS._main_value_negative);
|
||||
|
@ -72,15 +111,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
if(!is_surface(_surf)) continue;
|
||||
|
||||
var aa = (ind != layer_dragging || layer_dragging == noone)? 1 : 0.5;
|
||||
var vis = _vis[ind];
|
||||
var sel = _sel[ind];
|
||||
var hover = point_in_rectangle(_m[0], _m[1], _x, _cy, _x + _w, _cy + lh);
|
||||
|
||||
draw_set_color(COLORS.node_composite_separator);
|
||||
draw_line(_x + 16, _cy + lh + 2, _x + _w - 16, _cy + lh + 2);
|
||||
|
||||
var _bx = _x + 24 * 2 + 8;
|
||||
var _bx = _x + 16 + 24;
|
||||
if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 12)) {
|
||||
draw_sprite_ui_uniform(THEME.junc_visible, vis, _bx, _cy + lh / 2, 1, c_white);
|
||||
|
||||
|
@ -94,7 +125,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
} else
|
||||
draw_sprite_ui_uniform(THEME.junc_visible, vis, _bx, _cy + lh / 2, 1, COLORS._main_icon, 0.5 + 0.5 * vis);
|
||||
|
||||
_bx += 24 + 8;
|
||||
_bx += 12 + 1 + 12;
|
||||
if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 12)) {
|
||||
draw_sprite_ui_uniform(THEME.cursor_select, sel, _bx, _cy + lh / 2, 1, c_white);
|
||||
|
||||
|
@ -106,21 +137,21 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
} else
|
||||
draw_sprite_ui_uniform(THEME.cursor_select, sel, _bx, _cy + lh / 2, 1, COLORS._main_icon, 0.5 + 0.5 * sel);
|
||||
|
||||
draw_set_color(COLORS.node_composite_bg);
|
||||
var _sx0 = _bx + 24;
|
||||
var hover = point_in_rectangle(_m[0], _m[1], _bx + 12 + 6, _cy, _x + _w - 48, _cy + lh - 1);
|
||||
|
||||
var _sx0 = _bx + 12 + 6;
|
||||
var _sx1 = _sx0 + ssh;
|
||||
var _sy0 = _cy + 3;
|
||||
var _sy1 = _sy0 + ssh;
|
||||
draw_rectangle(_sx0, _sy0, _sx1, _sy1, true);
|
||||
|
||||
var _ssw = surface_get_width_safe(_surf);
|
||||
var _ssh = surface_get_height_safe(_surf);
|
||||
var _sss = min(ssh / _ssw, ssh / _ssh);
|
||||
draw_surface_ext_safe(_surf, _sx0, _sy0, _sss, _sss, 0, c_white, 1);
|
||||
|
||||
draw_set_text(f_p1, fa_left, fa_center, hover? COLORS._main_text : COLORS._main_text);
|
||||
draw_set_text(f_p1, fa_left, fa_center, hover? COLORS._main_text_accent : COLORS._main_text);
|
||||
draw_set_alpha(aa);
|
||||
draw_text(_sx1 + 12, _cy + lh / 2, inputs[| index].name);
|
||||
draw_text(_sx1 + 12, _cy + lh / 2 + 2, inputs[| index].name);
|
||||
draw_set_alpha(1);
|
||||
|
||||
if(_hover && point_in_rectangle(_m[0], _m[1], _x, _cy, _x + _w, _cy + lh)) {
|
||||
|
@ -134,16 +165,23 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
}
|
||||
}
|
||||
|
||||
if(layer_dragging == noone || layer_dragging == ind) {
|
||||
var _bx = _x + 24;
|
||||
if(point_in_circle(_m[0], _m[1], _bx, _cy + lh / 2, 16)) {
|
||||
draw_sprite_ui_uniform(THEME.hamburger_s, 3, _bx, _cy + lh / 2, 1, c_white);
|
||||
var _bx = _x + 8 + 8;
|
||||
var cc = COLORS._main_icon;
|
||||
if(point_in_rectangle(_m[0], _m[1], _bx - 8, _cy + 4, _bx + 8, _cy + lh - 4)) {
|
||||
cc = c_white;
|
||||
|
||||
if(mouse_press(mb_left, _focus))
|
||||
layer_dragging = ind;
|
||||
} else
|
||||
draw_sprite_ui_uniform(THEME.hamburger_s, 3, _bx, _cy + lh / 2, 1, COLORS._main_icon);
|
||||
if(mouse_press(mb_left, _focus))
|
||||
properties_expand[i] = !properties_expand[i];
|
||||
}
|
||||
|
||||
draw_sprite_ui_uniform(THEME.arrow, _exp? 3 : 0, _bx, _cy + lh / 2 + _exp * 2, 1, cc);
|
||||
|
||||
if(hover && layer_dragging == noone || layer_dragging == ind) {
|
||||
if(mouse_press(mb_left, _focus))
|
||||
layer_dragging = ind;
|
||||
}
|
||||
|
||||
_cy += _lh;
|
||||
}
|
||||
|
||||
if(layer_dragging != noone && mouse_release(mb_left)) {
|
||||
|
@ -184,10 +222,13 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
["Layers", false], layer_renderer,
|
||||
["Surfaces", true],
|
||||
];
|
||||
|
||||
input_display_list_len = array_length(input_display_list);
|
||||
setIsDynamicInput(6);
|
||||
|
||||
function deleteLayer(index) { #region
|
||||
var idx = input_fix_len + index * data_length;
|
||||
|
||||
for( var i = 0; i < data_length; i++ ) {
|
||||
ds_list_delete(inputs, idx);
|
||||
array_remove(input_display_list, idx + i);
|
||||
|
@ -207,36 +248,37 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var index = ds_list_size(inputs);
|
||||
var _s = floor((index - input_fix_len) / data_length);
|
||||
|
||||
inputs[| index + 0] = nodeValue(_s? ("Surface " + string(_s)) : "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| index + 0].surface_index = index;
|
||||
inputs[| index + 0] = nodeValue(_s? ($"Surface {_s}") : "Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
inputs[| index + 0].hover_effect = 0;
|
||||
|
||||
inputs[| index + 1] = nodeValue("Position " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||
inputs[| index + 1] = nodeValue($"Position {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||
.setDisplay(VALUE_DISPLAY.vector)
|
||||
.setUnitRef(function(index) { return [ overlay_w, overlay_h ]; });
|
||||
inputs[| index + 1].surface_index = index;
|
||||
|
||||
inputs[| index + 2] = nodeValue("Rotation " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||
inputs[| index + 2] = nodeValue($"Rotation {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.rotation);
|
||||
inputs[| index + 2].surface_index = index;
|
||||
|
||||
inputs[| index + 3] = nodeValue("Scale " + string(_s), self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
||||
inputs[| index + 3] = nodeValue($"Scale {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
inputs[| index + 3].surface_index = index;
|
||||
|
||||
array_push(input_display_list, index + 0);
|
||||
array_push(input_display_list, index + 1);
|
||||
array_push(input_display_list, index + 2);
|
||||
array_push(input_display_list, index + 3);
|
||||
inputs[| index + 4] = nodeValue($"Blend {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, BLEND_TYPES );
|
||||
|
||||
inputs[| index + 5] = nodeValue($"Opacity {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
for( var i = 0; i < data_length; i++ ) {
|
||||
array_push(input_display_list, index + i);
|
||||
inputs[| index + i].surface_index = index;
|
||||
}
|
||||
|
||||
while(_s >= array_length(attributes.layer_visible))
|
||||
array_push(attributes.layer_visible, true);
|
||||
|
||||
while(_s >= array_length(attributes.layer_selectable))
|
||||
array_push(attributes.layer_selectable, true);
|
||||
} #endregion
|
||||
if(!LOADING && !APPENDING) createNewInput();
|
||||
|
||||
//function getInput() { return inputs[| ds_list_size(inputs) - data_length]; }
|
||||
} if(!LOADING && !APPENDING) createNewInput(); #endregion
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
|
@ -248,11 +290,11 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
surf_dragging = -1;
|
||||
input_dragging = -1;
|
||||
drag_type = 0;
|
||||
dragging_sx = 0;
|
||||
dragging_sy = 0;
|
||||
dragging_mx = 0;
|
||||
dragging_my = 0;
|
||||
drag_type = 0;
|
||||
dragging_sx = 0;
|
||||
dragging_sy = 0;
|
||||
dragging_mx = 0;
|
||||
dragging_my = 0;
|
||||
|
||||
rot_anc_x = 0;
|
||||
rot_anc_y = 0;
|
||||
|
@ -264,11 +306,11 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
surface_selecting = noone;
|
||||
|
||||
static getInputAmount = function() { #region
|
||||
return input_fix_len + (ds_list_size(inputs) - input_fix_len) / data_length;
|
||||
} #endregion
|
||||
static getInputAmount = function() { INLINE return input_fix_len + (ds_list_size(inputs) - input_fix_len) / data_length; }
|
||||
|
||||
static getInputIndex = function(index) { #region
|
||||
INLINE
|
||||
|
||||
if(index < input_fix_len) return index;
|
||||
return input_fix_len + (index - input_fix_len) * data_length;
|
||||
} #endregion
|
||||
|
@ -458,7 +500,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
createNewInput();
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
var pad = getInputData(0);
|
||||
var ww = overlay_w;
|
||||
var hh = overlay_h;
|
||||
|
@ -740,56 +782,64 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
if(_output_index == 1) return atlas_data;
|
||||
if(_output_index == 0 && _array_index == 0) atlas_data = [];
|
||||
|
||||
if(array_length(_data) < 4) return _outSurf;
|
||||
if(array_length(_data) <= input_fix_len) return _outSurf;
|
||||
var _pad = _data[0];
|
||||
var _dim_type = _data[1];
|
||||
var _dim = _data[2];
|
||||
var base = _data[3];
|
||||
var cDep = attrDepth();
|
||||
var ww = 0, hh = 0;
|
||||
|
||||
switch(_dim_type) {
|
||||
case COMPOSE_OUTPUT_SCALING.first :
|
||||
ww = surface_get_width_safe(base);
|
||||
hh = surface_get_height_safe(base);
|
||||
break;
|
||||
case COMPOSE_OUTPUT_SCALING.largest :
|
||||
for(var i = input_fix_len; i < array_length(_data) - data_length; i += data_length) {
|
||||
var _s = _data[i];
|
||||
ww = max(ww, surface_get_width_safe(_s));
|
||||
hh = max(hh, surface_get_height_safe(_s));
|
||||
}
|
||||
break;
|
||||
case COMPOSE_OUTPUT_SCALING.constant :
|
||||
ww = _dim[0];
|
||||
hh = _dim[1];
|
||||
break;
|
||||
}
|
||||
ww += _pad[0] + _pad[2];
|
||||
hh += _pad[1] + _pad[3];
|
||||
#region dimension
|
||||
var ww = 0, hh = 0;
|
||||
|
||||
overlay_w = ww;
|
||||
overlay_h = hh;
|
||||
switch(_dim_type) {
|
||||
case COMPOSE_OUTPUT_SCALING.first :
|
||||
ww = surface_get_width_safe(base);
|
||||
hh = surface_get_height_safe(base);
|
||||
break;
|
||||
case COMPOSE_OUTPUT_SCALING.largest :
|
||||
for(var i = input_fix_len; i < array_length(_data) - data_length; i += data_length) {
|
||||
var _s = _data[i];
|
||||
ww = max(ww, surface_get_width_safe(_s));
|
||||
hh = max(hh, surface_get_height_safe(_s));
|
||||
}
|
||||
break;
|
||||
case COMPOSE_OUTPUT_SCALING.constant :
|
||||
ww = _dim[0];
|
||||
hh = _dim[1];
|
||||
break;
|
||||
}
|
||||
ww += _pad[0] + _pad[2];
|
||||
hh += _pad[1] + _pad[3];
|
||||
|
||||
overlay_w = ww;
|
||||
overlay_h = hh;
|
||||
#endregion
|
||||
|
||||
for(var i = 0; i < 3; i++) {
|
||||
temp_surface[i] = surface_verify(temp_surface[i], ww, hh, cDep);
|
||||
surface_clear(temp_surface[i]);
|
||||
}
|
||||
|
||||
var res_index = 0, bg = 0;
|
||||
var imageAmo = (ds_list_size(inputs) - input_fix_len) / data_length;
|
||||
var _vis = attributes.layer_visible;
|
||||
var _bg = 0;
|
||||
var res_index = 0;
|
||||
var imageAmo = (ds_list_size(inputs) - input_fix_len) / data_length;
|
||||
var _vis = attributes.layer_visible;
|
||||
var bg = 0;
|
||||
var _bg = 0;
|
||||
|
||||
blend_temp_surface = temp_surface[2];
|
||||
|
||||
for(var i = 0; i < imageAmo; i++) {
|
||||
var vis = _vis[i];
|
||||
if(!vis) continue;
|
||||
|
||||
var startDataIndex = input_fix_len + i * data_length;
|
||||
var _s = _data[startDataIndex + 0];
|
||||
var _pos = _data[startDataIndex + 1];
|
||||
var _rot = _data[startDataIndex + 2];
|
||||
var _sca = _data[startDataIndex + 3];
|
||||
var _ind = input_fix_len + i * data_length;
|
||||
var _s = _data[_ind + 0];
|
||||
var _pos = _data[_ind + 1];
|
||||
var _rot = _data[_ind + 2];
|
||||
var _sca = _data[_ind + 3];
|
||||
var _bld = _data[_ind + 4];
|
||||
var _alp = _data[_ind + 5];
|
||||
|
||||
if(!_s || is_array(_s)) continue;
|
||||
|
||||
|
@ -806,8 +856,7 @@ function Node_Composite(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
array_push(atlas_data, new SurfaceAtlas(_s, _d0[0], _d0[1], _rot, _sca[0], _sca[1]));
|
||||
|
||||
surface_set_shader(temp_surface[_bg], sh_sample, true, BLEND.over);
|
||||
blend_temp_surface = temp_surface[2];
|
||||
draw_surface_blend_ext(temp_surface[!_bg], _s, _d0[0], _d0[1], _sca[0], _sca[1], _rot);
|
||||
draw_surface_blend_ext(temp_surface[!_bg], _s, _d0[0], _d0[1], _sca[0], _sca[1], _rot, c_white, _alp, _bld, true);
|
||||
surface_reset_shader();
|
||||
|
||||
_bg = !_bg;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Convolution";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Kernel", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, array_create(9))
|
||||
.setDisplay(VALUE_DISPLAY.matrix, { size: 3 });
|
||||
|
@ -9,7 +9,7 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
inputs[| 2] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.")
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
|
||||
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 3] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 4] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
function Node_Corner(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Round corner";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [2, 16, 1] });
|
||||
|
||||
inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 2] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 3] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -2,7 +2,7 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
name = "Crop";
|
||||
preview_alpha = 0.5;
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Crop", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, 0, 0 ])
|
||||
.setDisplay(VALUE_DISPLAY.padding)
|
||||
|
@ -28,7 +28,7 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
|
||||
static getPreviewValues = function() { return getInputData(0); }
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny, params) { #region
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, params) { #region
|
||||
var _inSurf = getSingleValue(0);
|
||||
var _spRaw = getSingleValue(1);
|
||||
var _splice;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Crop_Content(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Crop Content";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
|
||||
|
|
|
@ -41,9 +41,14 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
outputs[| 1] = nodeValue("Path", self, JUNCTION_CONNECT.output, VALUE_TYPE.path, "")
|
||||
.setVisible(true, true);
|
||||
|
||||
content = "";
|
||||
content = "";
|
||||
path_current = "";
|
||||
|
||||
edit_time = 0;
|
||||
attributes.file_checker = true;
|
||||
array_push(attributeEditors, [ "File Watcher", function() { return attributes.file_checker; },
|
||||
new checkBox(function() { attributes.file_checker = !attributes.file_checker; }) ]);
|
||||
|
||||
first_update = false;
|
||||
|
||||
on_drop_file = function(path) { #region
|
||||
|
@ -55,8 +60,8 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
return false;
|
||||
} #endregion
|
||||
|
||||
function updatePaths(path) { #region
|
||||
path = try_get_path(path);
|
||||
function updatePaths(path = path_current) { #region
|
||||
path = path_get(path);
|
||||
if(path == -1) return false;
|
||||
|
||||
var ext = string_lower(filename_ext(path));
|
||||
|
@ -84,7 +89,9 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
|
||||
if(path_current == "")
|
||||
first_update = true;
|
||||
|
||||
path_current = path;
|
||||
edit_time = max(edit_time, file_get_modify_s(path_current));
|
||||
|
||||
return true;
|
||||
} #endregion
|
||||
|
@ -93,15 +100,21 @@ function Node_CSV_File_Read(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
|||
insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ];
|
||||
|
||||
static onInspector1Update = function() { #region
|
||||
var path = getInputData(0);
|
||||
if(path == "") return;
|
||||
updatePaths(path);
|
||||
update();
|
||||
updatePaths(path_get(getInputData(0)));
|
||||
triggerRender();
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
if(attributes.file_checker && path_current != "") {
|
||||
if(file_get_modify_s(path_current) > edit_time) {
|
||||
updatePaths();
|
||||
triggerRender();
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static update = function(frame = CURRENT_FRAME) { #region
|
||||
var path = getInputData(0);
|
||||
if(path == "") return;
|
||||
var path = path_get(getInputData(0));
|
||||
if(path_current != path) updatePaths(path);
|
||||
|
||||
outputs[| 0].setValue(content);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Curve";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01);
|
||||
|
||||
|
@ -11,7 +11,7 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
|
||||
inputs[| 4] = nodeValue("Blue", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01);
|
||||
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Mix", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -1017,14 +1017,14 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
|||
static drawJunctions = function(_x, _y, _mx, _my, _s) { #region
|
||||
if(!active) return;
|
||||
var hover = noone;
|
||||
var amo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
||||
var jun;
|
||||
var amo = input_display_list == -1? ds_list_size(inputs) : array_length(input_display_list);
|
||||
gpu_set_texfilter(true);
|
||||
|
||||
for(var i = 0; i < amo; i++) {
|
||||
var ind = getInputJunctionIndex(i);
|
||||
if(ind == noone) continue;
|
||||
jun = ds_list_get(inputs, ind, noone);
|
||||
|
||||
var jun = ds_list_get(inputs, ind, noone);
|
||||
if(jun == noone || is_undefined(jun)) continue;
|
||||
|
||||
if(jun.drawJunction(_s, _mx, _my))
|
||||
|
@ -1032,17 +1032,21 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
|||
}
|
||||
|
||||
for(var i = 0; i < ds_list_size(outputs); i++) {
|
||||
jun = outputs[| i];
|
||||
var jun = outputs[| i];
|
||||
|
||||
if(jun.drawJunction(_s, _mx, _my))
|
||||
hover = jun;
|
||||
}
|
||||
|
||||
if(hasInspector1Update() && inspectInput1.drawJunction(_s, _mx, _my))
|
||||
hover = inspectInput1;
|
||||
if(hasInspector1Update()) {
|
||||
if(inspectInput1.drawJunction(_s, _mx, _my))
|
||||
hover = inspectInput1;
|
||||
}
|
||||
|
||||
if(hasInspector2Update() && inspectInput2.drawJunction(_s, _mx, _my))
|
||||
hover = inspectInput2;
|
||||
if(hasInspector2Update()) {
|
||||
if(inspectInput2.drawJunction(_s, _mx, _my))
|
||||
hover = inspectInput2;
|
||||
}
|
||||
|
||||
if(attributes.show_update_trigger) {
|
||||
if(updatedInTrigger.drawJunction(_s, _mx, _my)) hover = updatedInTrigger;
|
||||
|
@ -1408,9 +1412,9 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
|||
if(display_parameter.highlight) drawBranch();
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {}
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {}
|
||||
|
||||
static drawPreviewToolOverlay = function(active, _mx, _my, _panel) { return false; }
|
||||
static drawPreviewToolOverlay = function(hover, active, _mx, _my, _panel) { return false; }
|
||||
|
||||
static drawAnimationTimeline = function(_w, _h, _s) {}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Node_De_Corner(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "De-Corner";
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 1] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
active_index = 1;
|
||||
|
|