Scroll icons
|
@ -256,6 +256,7 @@
|
|||
{"name":"bs","order":4,"path":"folders/sprites/bs.yy",},
|
||||
{"name":"gameframe","order":2,"path":"folders/sprites/gameframe.yy",},
|
||||
{"name":"misc","order":3,"path":"folders/sprites/misc.yy",},
|
||||
{"name":"nodes","order":5,"path":"folders/sprites/nodes.yy",},
|
||||
{"name":"VCT","order":12,"path":"folders/VCT.yy",},
|
||||
{"name":"biterator","order":2,"path":"folders/VCT/biterator.yy",},
|
||||
{"name":"widget","order":3,"path":"folders/VCT/widget.yy",},
|
||||
|
@ -293,6 +294,7 @@
|
|||
{"name":"node_hlsl","order":13,"path":"scripts/node_hlsl/node_hlsl.yy",},
|
||||
{"name":"sh_dither","order":15,"path":"shaders/sh_dither/sh_dither.yy",},
|
||||
{"name":"__vec2","order":7,"path":"scripts/__vec2/__vec2.yy",},
|
||||
{"name":"s_node_shadow_type","order":1,"path":"sprites/s_node_shadow_type/s_node_shadow_type.yy",},
|
||||
{"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",},
|
||||
|
@ -338,8 +340,10 @@
|
|||
{"name":"Obj_FirebaseFirestore_Document_Read","order":5,"path":"objects/Obj_FirebaseFirestore_Document_Read/Obj_FirebaseFirestore_Document_Read.yy",},
|
||||
{"name":"node_dither","order":6,"path":"scripts/node_dither/node_dither.yy",},
|
||||
{"name":"sh_perlin_smear","order":5,"path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},
|
||||
{"name":"s_node_logic","order":3,"path":"sprites/s_node_logic/s_node_logic.yy",},
|
||||
{"name":"node_array_remove","order":4,"path":"scripts/node_array_remove/node_array_remove.yy",},
|
||||
{"name":"node_path_blend","order":2,"path":"scripts/node_path_blend/node_path_blend.yy",},
|
||||
{"name":"s_node_gradient_type","order":8,"path":"sprites/s_node_gradient_type/s_node_gradient_type.yy",},
|
||||
{"name":"rotator_Rotator","order":3,"path":"objects/rotator_Rotator/rotator_Rotator.yy",},
|
||||
{"name":"node_switch","order":5,"path":"scripts/node_switch/node_switch.yy",},
|
||||
{"name":"sh_corner","order":11,"path":"shaders/sh_corner/sh_corner.yy",},
|
||||
|
@ -374,6 +378,7 @@
|
|||
{"name":"s_node_spout","order":23,"path":"sprites/s_node_spout/s_node_spout.yy",},
|
||||
{"name":"sh_fd_visualize_velocity_glsl","order":19,"path":"shaders/sh_fd_visualize_velocity_glsl/sh_fd_visualize_velocity_glsl.yy",},
|
||||
{"name":"node_3d_mesh_terrain","order":9,"path":"scripts/node_3d_mesh_terrain/node_3d_mesh_terrain.yy",},
|
||||
{"name":"s_node_condition_type","order":9,"path":"sprites/s_node_condition_type/s_node_condition_type.yy",},
|
||||
{"name":"fd_rectangle_set_material_time_step","order":8,"path":"scripts/fd_rectangle_set_material_time_step/fd_rectangle_set_material_time_step.yy",},
|
||||
{"name":"Obj_FirebaseREST_Listener_On_Firestore","order":1,"path":"objects/Obj_FirebaseREST_Listener_On_Firestore/Obj_FirebaseREST_Listener_On_Firestore.yy",},
|
||||
{"name":"credit_badge_popular","order":2,"path":"sprites/credit_badge_popular/credit_badge_popular.yy",},
|
||||
|
@ -382,14 +387,17 @@
|
|||
{"name":"s_node_sepearte_shape","order":35,"path":"sprites/s_node_sepearte_shape/s_node_sepearte_shape.yy",},
|
||||
{"name":"s_node_websocket_send","order":21,"path":"sprites/s_node_websocket_send/s_node_websocket_send.yy",},
|
||||
{"name":"s_node_text_join","order":5,"path":"sprites/s_node_text_join/s_node_text_join.yy",},
|
||||
{"name":"s_node_3d_affector_shape","order":13,"path":"sprites/s_node_3d_affector_shape/s_node_3d_affector_shape.yy",},
|
||||
{"name":"s_node_polar","order":5,"path":"sprites/s_node_polar/s_node_polar.yy",},
|
||||
{"name":"complex_function","order":15,"path":"scripts/complex_function/complex_function.yy",},
|
||||
{"name":"draw_set_blend_mode_ext","order":2,"path":"scripts/draw_set_blend_mode_ext/draw_set_blend_mode_ext.yy",},
|
||||
{"name":"s_node_shape_misc","order":6,"path":"sprites/s_node_shape_misc/s_node_shape_misc.yy",},
|
||||
{"name":"s_node_json_parse","order":2,"path":"sprites/s_node_json_parse/s_node_json_parse.yy",},
|
||||
{"name":"s_node_noise_simplex","order":20,"path":"sprites/s_node_noise_simplex/s_node_noise_simplex.yy",},
|
||||
{"name":"s_node_armature_sample","order":18,"path":"sprites/s_node_armature_sample/s_node_armature_sample.yy",},
|
||||
{"name":"sh_draw_color","order":8,"path":"shaders/sh_draw_color/sh_draw_color.yy",},
|
||||
{"name":"d3d_scene","order":2,"path":"scripts/d3d_scene/d3d_scene.yy",},
|
||||
{"name":"sh_draw_tile","order":15,"path":"shaders/sh_draw_tile/sh_draw_tile.yy",},
|
||||
{"name":"sh_channel_R2A","order":13,"path":"shaders/sh_channel_R2A/sh_channel_R2A.yy",},
|
||||
{"name":"__node_module","order":14,"path":"scripts/__node_module/__node_module.yy",},
|
||||
{"name":"s_node_array_find","order":2,"path":"sprites/s_node_array_find/s_node_array_find.yy",},
|
||||
|
@ -533,6 +541,7 @@
|
|||
{"name":"sh_d3d_default","order":11,"path":"shaders/sh_d3d_default/sh_d3d_default.yy",},
|
||||
{"name":"node_stagger","order":4,"path":"scripts/node_stagger/node_stagger.yy",},
|
||||
{"name":"s_node_gabor","order":32,"path":"sprites/s_node_gabor/s_node_gabor.yy",},
|
||||
{"name":"s_node_axis_type","order":17,"path":"sprites/s_node_axis_type/s_node_axis_type.yy",},
|
||||
{"name":"s_node_dithering","order":21,"path":"sprites/s_node_dithering/s_node_dithering.yy",},
|
||||
{"name":"node_3d_mesh_extrude","order":8,"path":"scripts/node_3d_mesh_extrude/node_3d_mesh_extrude.yy",},
|
||||
{"name":"sh_find_boundary_stretch_x","order":1,"path":"shaders/sh_find_boundary_stretch_x/sh_find_boundary_stretch_x.yy",},
|
||||
|
@ -653,6 +662,7 @@
|
|||
{"name":"sh_draw_texture","order":6,"path":"shaders/sh_draw_texture/sh_draw_texture.yy",},
|
||||
{"name":"d3d_terrain","order":8,"path":"scripts/d3d_terrain/d3d_terrain.yy",},
|
||||
{"name":"fd_rectangle_get_pressure_width","order":18,"path":"scripts/fd_rectangle_get_pressure_width/fd_rectangle_get_pressure_width.yy",},
|
||||
{"name":"s_node_mk_rain_type","order":7,"path":"sprites/s_node_mk_rain_type/s_node_mk_rain_type.yy",},
|
||||
{"name":"node_mk_flag","order":5,"path":"scripts/node_mk_flag/node_mk_flag.yy",},
|
||||
{"name":"sh_blur_slope","order":10,"path":"shaders/sh_blur_slope/sh_blur_slope.yy",},
|
||||
{"name":"sh_blend_normal","order":1,"path":"shaders/sh_blend_normal/sh_blend_normal.yy",},
|
||||
|
@ -753,6 +763,7 @@
|
|||
{"name":"node_string_regex_replace","order":9,"path":"scripts/node_string_regex_replace/node_string_regex_replace.yy",},
|
||||
{"name":"s_node_particle","order":12,"path":"sprites/s_node_particle/s_node_particle.yy",},
|
||||
{"name":"node_random_shape","order":16,"path":"scripts/node_random_shape/node_random_shape.yy",},
|
||||
{"name":"s_node_flip_render","order":11,"path":"sprites/s_node_flip_render/s_node_flip_render.yy",},
|
||||
{"name":"s_node_random","order":3,"path":"sprites/s_node_random/s_node_random.yy",},
|
||||
{"name":"sh_3d_extrude_filler","order":8,"path":"shaders/sh_3d_extrude_filler/sh_3d_extrude_filler.yy",},
|
||||
{"name":"quarternionBox","order":8,"path":"scripts/quarternionBox/quarternionBox.yy",},
|
||||
|
@ -813,6 +824,7 @@
|
|||
{"name":"fd_rectangle_get_pressure_height","order":16,"path":"scripts/fd_rectangle_get_pressure_height/fd_rectangle_get_pressure_height.yy",},
|
||||
{"name":"hyperbolic_function","order":16,"path":"scripts/hyperbolic_function/hyperbolic_function.yy",},
|
||||
{"name":"node_tile","order":4,"path":"scripts/node_tile/node_tile.yy",},
|
||||
{"name":"s_node_2d_light_shape","order":14,"path":"sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy",},
|
||||
{"name":"sh_rsh_rotate","order":1,"path":"shaders/sh_rsh_rotate/sh_rsh_rotate.yy",},
|
||||
{"name":"FirebaseFirestoreMainFunctions","order":1,"path":"scripts/FirebaseFirestoreMainFunctions/FirebaseFirestoreMainFunctions.yy",},
|
||||
{"name":"sh_spherize","order":11,"path":"shaders/sh_spherize/sh_spherize.yy",},
|
||||
|
@ -972,6 +984,7 @@
|
|||
{"name":"obj_fd_rectangle","order":1,"path":"objects/obj_fd_rectangle/obj_fd_rectangle.yy",},
|
||||
{"name":"node_noise_simplex","order":7,"path":"scripts/node_noise_simplex/node_noise_simplex.yy",},
|
||||
{"name":"sh_fd_visualize_velocity_divergence_glsl","order":18,"path":"shaders/sh_fd_visualize_velocity_divergence_glsl/sh_fd_visualize_velocity_divergence_glsl.yy",},
|
||||
{"name":"s_node_trigger_cond","order":12,"path":"sprites/s_node_trigger_cond/s_node_trigger_cond.yy",},
|
||||
{"name":"ds_list","order":1,"path":"scripts/ds_list/ds_list.yy",},
|
||||
{"name":"node_path_builder","order":9,"path":"scripts/node_path_builder/node_path_builder.yy",},
|
||||
{"name":"o_dialog_gradient","order":1,"path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},
|
||||
|
@ -1229,6 +1242,7 @@
|
|||
{"name":"s_node_feedback","order":3,"path":"sprites/s_node_feedback/s_node_feedback.yy",},
|
||||
{"name":"getGradientData","order":1,"path":"scripts/getGradientData/getGradientData.yy",},
|
||||
{"name":"s_node_pb_box_inset","order":22,"path":"sprites/s_node_pb_box_inset/s_node_pb_box_inset.yy",},
|
||||
{"name":"s_node_camera_repeat","order":19,"path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",},
|
||||
{"name":"node_glow","order":10,"path":"scripts/node_glow/node_glow.yy",},
|
||||
{"name":"sh_blend_min","order":9,"path":"shaders/sh_blend_min/sh_blend_min.yy",},
|
||||
{"name":"d3d_gizmo_circle_z","order":4,"path":"scripts/d3d_gizmo_circle_z/d3d_gizmo_circle_z.yy",},
|
||||
|
@ -1337,6 +1351,7 @@
|
|||
{"name":"sh_blend_add_alpha_adj","order":2,"path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},
|
||||
{"name":"preview_overlay_area","order":3,"path":"scripts/preview_overlay_area/preview_overlay_area.yy",},
|
||||
{"name":"sh_perlin_extra","order":9,"path":"shaders/sh_perlin_extra/sh_perlin_extra.yy",},
|
||||
{"name":"s_node_plot_linear_type","order":10,"path":"sprites/s_node_plot_linear_type/s_node_plot_linear_type.yy",},
|
||||
{"name":"node_text","order":4,"path":"scripts/node_text/node_text.yy",},
|
||||
{"name":"panel_collection","order":3,"path":"scripts/panel_collection/panel_collection.yy",},
|
||||
{"name":"node_delay","order":5,"path":"scripts/node_delay/node_delay.yy",},
|
||||
|
@ -1517,6 +1532,7 @@
|
|||
{"name":"s_node_blur_contrast","order":1,"path":"sprites/s_node_blur_contrast/s_node_blur_contrast.yy",},
|
||||
{"name":"fd_y","order":5,"path":"scripts/fd_y/fd_y.yy",},
|
||||
{"name":"node_string_regex_search","order":8,"path":"scripts/node_string_regex_search/node_string_regex_search.yy",},
|
||||
{"name":"s_node_repeat_axis","order":16,"path":"sprites/s_node_repeat_axis/s_node_repeat_axis.yy",},
|
||||
{"name":"s_node_text_render","order":17,"path":"sprites/s_node_text_render/s_node_text_render.yy",},
|
||||
{"name":"__init_global","order":8,"path":"scripts/__init_global/__init_global.yy",},
|
||||
{"name":"sh_trail_filler_pass2","order":32,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},
|
||||
|
@ -1525,6 +1541,7 @@
|
|||
{"name":"node_caustic","order":23,"path":"scripts/node_caustic/node_caustic.yy",},
|
||||
{"name":"s_node_regex_search","order":11,"path":"sprites/s_node_regex_search/s_node_regex_search.yy",},
|
||||
{"name":"s_node_color_from_rgb","order":5,"path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},
|
||||
{"name":"s_node_mk_grid_flip","order":18,"path":"sprites/s_node_mk_grid_flip/s_node_mk_grid_flip.yy",},
|
||||
{"name":"s_node_separate_file_path","order":14,"path":"sprites/s_node_separate_file_path/s_node_separate_file_path.yy",},
|
||||
{"name":"node_scale_algo","order":12,"path":"scripts/node_scale_algo/node_scale_algo.yy",},
|
||||
{"name":"s_node_image_replace","order":55,"path":"sprites/s_node_image_replace/s_node_image_replace.yy",},
|
||||
|
@ -1535,6 +1552,7 @@
|
|||
{"name":"string_cut","order":2,"path":"scripts/string_cut/string_cut.yy",},
|
||||
{"name":"__node_3d_prim_cylinder","order":2,"path":"scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.yy",},
|
||||
{"name":"node_iterator_sort_inline_output","order":2,"path":"scripts/node_iterator_sort_inline_output/node_iterator_sort_inline_output.yy",},
|
||||
{"name":"s_node_curve","order":20,"path":"sprites/s_node_curve/s_node_curve.yy",},
|
||||
{"name":"Obj_FirebaseFirestore_Collection_Query_options","order":10,"path":"objects/Obj_FirebaseFirestore_Collection_Query_options/Obj_FirebaseFirestore_Collection_Query_options.yy",},
|
||||
{"name":"stack_functions","order":7,"path":"scripts/stack_functions/stack_functions.yy",},
|
||||
{"name":"panel_nodes","order":2,"path":"scripts/panel_nodes/panel_nodes.yy",},
|
||||
|
@ -1829,6 +1847,7 @@
|
|||
{"name":"__3d_particle","order":1,"path":"scripts/__3d_particle/__3d_particle.yy",},
|
||||
{"name":"sh_pb_shade","order":3,"path":"shaders/sh_pb_shade/sh_pb_shade.yy",},
|
||||
{"name":"s_node_morph_surface","order":56,"path":"sprites/s_node_morph_surface/s_node_morph_surface.yy",},
|
||||
{"name":"s_node_mesh_type","order":15,"path":"sprites/s_node_mesh_type/s_node_mesh_type.yy",},
|
||||
{"name":"fd_rectangle_get_velocity_dissipation_type","order":20,"path":"scripts/fd_rectangle_get_velocity_dissipation_type/fd_rectangle_get_velocity_dissipation_type.yy",},
|
||||
{"name":"s_node_3d_transform","order":4,"path":"sprites/s_node_3d_transform/s_node_3d_transform.yy",},
|
||||
{"name":"node_pb_box_split","order":2,"path":"scripts/node_pb_box_split/node_pb_box_split.yy",},
|
||||
|
@ -1893,6 +1912,7 @@
|
|||
{"name":"node_group_thumbnail","order":3,"path":"scripts/node_group_thumbnail/node_group_thumbnail.yy",},
|
||||
{"name":"VCT","order":1,"path":"scripts/VCT/VCT.yy",},
|
||||
{"name":"node_alpha_to_grey","order":3,"path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},
|
||||
{"name":"s_node_alignment","order":4,"path":"sprites/s_node_alignment/s_node_alignment.yy",},
|
||||
{"name":"shell_functions","order":20,"path":"scripts/shell_functions/shell_functions.yy",},
|
||||
{"name":"node_strand_collision","order":8,"path":"scripts/node_strand_collision/node_strand_collision.yy",},
|
||||
{"name":"s_node_atlas_get","order":2,"path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},
|
||||
|
|
|
@ -289,6 +289,7 @@
|
|||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"bs","folderPath":"folders/sprites/bs.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"gameframe","folderPath":"folders/sprites/gameframe.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"misc","folderPath":"folders/sprites/misc.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"nodes","folderPath":"folders/sprites/nodes.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"texture","folderPath":"folders/sprites/texture.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"Steamworks","folderPath":"folders/Steamworks.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"UGC","folderPath":"folders/Steamworks/UGC.yy",},
|
||||
|
@ -486,6 +487,7 @@
|
|||
{"id":{"name":"sh_dither","path":"shaders/sh_dither/sh_dither.yy",},},
|
||||
{"id":{"name":"__vec2","path":"scripts/__vec2/__vec2.yy",},},
|
||||
{"id":{"name":"control_function","path":"scripts/control_function/control_function.yy",},},
|
||||
{"id":{"name":"s_node_shadow_type","path":"sprites/s_node_shadow_type/s_node_shadow_type.yy",},},
|
||||
{"id":{"name":"node_region_fill","path":"scripts/node_region_fill/node_region_fill.yy",},},
|
||||
{"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",},},
|
||||
|
@ -538,9 +540,11 @@
|
|||
{"id":{"name":"Obj_FirebaseFirestore_Document_Read","path":"objects/Obj_FirebaseFirestore_Document_Read/Obj_FirebaseFirestore_Document_Read.yy",},},
|
||||
{"id":{"name":"node_dither","path":"scripts/node_dither/node_dither.yy",},},
|
||||
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},},
|
||||
{"id":{"name":"s_node_logic","path":"sprites/s_node_logic/s_node_logic.yy",},},
|
||||
{"id":{"name":"node_iterate_filter","path":"scripts/node_iterate_filter/node_iterate_filter.yy",},},
|
||||
{"id":{"name":"node_array_remove","path":"scripts/node_array_remove/node_array_remove.yy",},},
|
||||
{"id":{"name":"node_path_blend","path":"scripts/node_path_blend/node_path_blend.yy",},},
|
||||
{"id":{"name":"s_node_gradient_type","path":"sprites/s_node_gradient_type/s_node_gradient_type.yy",},},
|
||||
{"id":{"name":"rotator_Rotator","path":"objects/rotator_Rotator/rotator_Rotator.yy",},},
|
||||
{"id":{"name":"node_switch","path":"scripts/node_switch/node_switch.yy",},},
|
||||
{"id":{"name":"sh_corner","path":"shaders/sh_corner/sh_corner.yy",},},
|
||||
|
@ -578,6 +582,7 @@
|
|||
{"id":{"name":"sh_fd_visualize_velocity_glsl","path":"shaders/sh_fd_visualize_velocity_glsl/sh_fd_visualize_velocity_glsl.yy",},},
|
||||
{"id":{"name":"FirebaseFirestore_operationFromSymbol","path":"scripts/FirebaseFirestore_operationFromSymbol/FirebaseFirestore_operationFromSymbol.yy",},},
|
||||
{"id":{"name":"node_3d_mesh_terrain","path":"scripts/node_3d_mesh_terrain/node_3d_mesh_terrain.yy",},},
|
||||
{"id":{"name":"s_node_condition_type","path":"sprites/s_node_condition_type/s_node_condition_type.yy",},},
|
||||
{"id":{"name":"fd_rectangle_set_material_time_step","path":"scripts/fd_rectangle_set_material_time_step/fd_rectangle_set_material_time_step.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseREST_Listener_On_Firestore","path":"objects/Obj_FirebaseREST_Listener_On_Firestore/Obj_FirebaseREST_Listener_On_Firestore.yy",},},
|
||||
{"id":{"name":"credit_badge_popular","path":"sprites/credit_badge_popular/credit_badge_popular.yy",},},
|
||||
|
@ -587,15 +592,18 @@
|
|||
{"id":{"name":"s_node_sepearte_shape","path":"sprites/s_node_sepearte_shape/s_node_sepearte_shape.yy",},},
|
||||
{"id":{"name":"s_node_websocket_send","path":"sprites/s_node_websocket_send/s_node_websocket_send.yy",},},
|
||||
{"id":{"name":"s_node_text_join","path":"sprites/s_node_text_join/s_node_text_join.yy",},},
|
||||
{"id":{"name":"s_node_3d_affector_shape","path":"sprites/s_node_3d_affector_shape/s_node_3d_affector_shape.yy",},},
|
||||
{"id":{"name":"s_node_polar","path":"sprites/s_node_polar/s_node_polar.yy",},},
|
||||
{"id":{"name":"complex_function","path":"scripts/complex_function/complex_function.yy",},},
|
||||
{"id":{"name":"draw_set_blend_mode_ext","path":"scripts/draw_set_blend_mode_ext/draw_set_blend_mode_ext.yy",},},
|
||||
{"id":{"name":"s_node_shape_misc","path":"sprites/s_node_shape_misc/s_node_shape_misc.yy",},},
|
||||
{"id":{"name":"s_flare_type","path":"sprites/s_flare_type/s_flare_type.yy",},},
|
||||
{"id":{"name":"s_node_json_parse","path":"sprites/s_node_json_parse/s_node_json_parse.yy",},},
|
||||
{"id":{"name":"s_node_noise_simplex","path":"sprites/s_node_noise_simplex/s_node_noise_simplex.yy",},},
|
||||
{"id":{"name":"s_node_armature_sample","path":"sprites/s_node_armature_sample/s_node_armature_sample.yy",},},
|
||||
{"id":{"name":"sh_draw_color","path":"shaders/sh_draw_color/sh_draw_color.yy",},},
|
||||
{"id":{"name":"d3d_scene","path":"scripts/d3d_scene/d3d_scene.yy",},},
|
||||
{"id":{"name":"sh_draw_tile","path":"shaders/sh_draw_tile/sh_draw_tile.yy",},},
|
||||
{"id":{"name":"sh_channel_R2A","path":"shaders/sh_channel_R2A/sh_channel_R2A.yy",},},
|
||||
{"id":{"name":"__node_module","path":"scripts/__node_module/__node_module.yy",},},
|
||||
{"id":{"name":"s_node_array_find","path":"sprites/s_node_array_find/s_node_array_find.yy",},},
|
||||
|
@ -758,6 +766,7 @@
|
|||
{"id":{"name":"sh_d3d_default","path":"shaders/sh_d3d_default/sh_d3d_default.yy",},},
|
||||
{"id":{"name":"node_stagger","path":"scripts/node_stagger/node_stagger.yy",},},
|
||||
{"id":{"name":"s_node_gabor","path":"sprites/s_node_gabor/s_node_gabor.yy",},},
|
||||
{"id":{"name":"s_node_axis_type","path":"sprites/s_node_axis_type/s_node_axis_type.yy",},},
|
||||
{"id":{"name":"s_node_dithering","path":"sprites/s_node_dithering/s_node_dithering.yy",},},
|
||||
{"id":{"name":"node_3d_mesh_extrude","path":"scripts/node_3d_mesh_extrude/node_3d_mesh_extrude.yy",},},
|
||||
{"id":{"name":"sh_find_boundary_stretch_x","path":"shaders/sh_find_boundary_stretch_x/sh_find_boundary_stretch_x.yy",},},
|
||||
|
@ -895,6 +904,7 @@
|
|||
{"id":{"name":"sh_draw_texture","path":"shaders/sh_draw_texture/sh_draw_texture.yy",},},
|
||||
{"id":{"name":"d3d_terrain","path":"scripts/d3d_terrain/d3d_terrain.yy",},},
|
||||
{"id":{"name":"fd_rectangle_get_pressure_width","path":"scripts/fd_rectangle_get_pressure_width/fd_rectangle_get_pressure_width.yy",},},
|
||||
{"id":{"name":"s_node_mk_rain_type","path":"sprites/s_node_mk_rain_type/s_node_mk_rain_type.yy",},},
|
||||
{"id":{"name":"node_mk_flag","path":"scripts/node_mk_flag/node_mk_flag.yy",},},
|
||||
{"id":{"name":"sh_blur_slope","path":"shaders/sh_blur_slope/sh_blur_slope.yy",},},
|
||||
{"id":{"name":"s_node_strandSim_render","path":"sprites/s_node_strandSim_render/s_node_strandSim_render.yy",},},
|
||||
|
@ -1010,6 +1020,7 @@
|
|||
{"id":{"name":"node_string_regex_replace","path":"scripts/node_string_regex_replace/node_string_regex_replace.yy",},},
|
||||
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},},
|
||||
{"id":{"name":"node_random_shape","path":"scripts/node_random_shape/node_random_shape.yy",},},
|
||||
{"id":{"name":"s_node_flip_render","path":"sprites/s_node_flip_render/s_node_flip_render.yy",},},
|
||||
{"id":{"name":"sh_flood_fill_thres","path":"shaders/sh_flood_fill_thres/sh_flood_fill_thres.yy",},},
|
||||
{"id":{"name":"s_node_random","path":"sprites/s_node_random/s_node_random.yy",},},
|
||||
{"id":{"name":"sh_3d_extrude_filler","path":"shaders/sh_3d_extrude_filler/sh_3d_extrude_filler.yy",},},
|
||||
|
@ -1081,6 +1092,7 @@
|
|||
{"id":{"name":"hyperbolic_function","path":"scripts/hyperbolic_function/hyperbolic_function.yy",},},
|
||||
{"id":{"name":"s_node_fluidSim_repulse","path":"sprites/s_node_fluidSim_repulse/s_node_fluidSim_repulse.yy",},},
|
||||
{"id":{"name":"node_tile","path":"scripts/node_tile/node_tile.yy",},},
|
||||
{"id":{"name":"s_node_2d_light_shape","path":"sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy",},},
|
||||
{"id":{"name":"sh_rsh_rotate","path":"shaders/sh_rsh_rotate/sh_rsh_rotate.yy",},},
|
||||
{"id":{"name":"FirebaseFirestoreMainFunctions","path":"scripts/FirebaseFirestoreMainFunctions/FirebaseFirestoreMainFunctions.yy",},},
|
||||
{"id":{"name":"node_mk_sparkle","path":"scripts/node_mk_sparkle/node_mk_sparkle.yy",},},
|
||||
|
@ -1264,6 +1276,7 @@
|
|||
{"id":{"name":"obj_fd_rectangle","path":"objects/obj_fd_rectangle/obj_fd_rectangle.yy",},},
|
||||
{"id":{"name":"node_noise_simplex","path":"scripts/node_noise_simplex/node_noise_simplex.yy",},},
|
||||
{"id":{"name":"sh_fd_visualize_velocity_divergence_glsl","path":"shaders/sh_fd_visualize_velocity_divergence_glsl/sh_fd_visualize_velocity_divergence_glsl.yy",},},
|
||||
{"id":{"name":"s_node_trigger_cond","path":"sprites/s_node_trigger_cond/s_node_trigger_cond.yy",},},
|
||||
{"id":{"name":"ds_list","path":"scripts/ds_list/ds_list.yy",},},
|
||||
{"id":{"name":"node_path_builder","path":"scripts/node_path_builder/node_path_builder.yy",},},
|
||||
{"id":{"name":"o_dialog_gradient","path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},},
|
||||
|
@ -1317,6 +1330,7 @@
|
|||
{"id":{"name":"_draw_defines","path":"scripts/_draw_defines/_draw_defines.yy",},},
|
||||
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},},
|
||||
{"id":{"name":"s_node_3d_meterial","path":"sprites/s_node_3d_meterial/s_node_3d_meterial.yy",},},
|
||||
{"id":{"name":"s_node_shape_type","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},},
|
||||
{"id":{"name":"__surface","path":"scripts/__surface/__surface.yy",},},
|
||||
{"id":{"name":"clipboard","path":"extensions/clipboard/clipboard.yy",},},
|
||||
{"id":{"name":"gameframe","path":"scripts/gameframe/gameframe.yy",},},
|
||||
|
@ -1549,6 +1563,7 @@
|
|||
{"id":{"name":"getGradientData","path":"scripts/getGradientData/getGradientData.yy",},},
|
||||
{"id":{"name":"s_node_character","path":"sprites/s_node_character/s_node_character.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_inset","path":"sprites/s_node_pb_box_inset/s_node_pb_box_inset.yy",},},
|
||||
{"id":{"name":"s_node_camera_repeat","path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",},},
|
||||
{"id":{"name":"node_glow","path":"scripts/node_glow/node_glow.yy",},},
|
||||
{"id":{"name":"sh_blend_min","path":"shaders/sh_blend_min/sh_blend_min.yy",},},
|
||||
{"id":{"name":"d3d_gizmo_circle_z","path":"scripts/d3d_gizmo_circle_z/d3d_gizmo_circle_z.yy",},},
|
||||
|
@ -1671,6 +1686,7 @@
|
|||
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},},
|
||||
{"id":{"name":"preview_overlay_area","path":"scripts/preview_overlay_area/preview_overlay_area.yy",},},
|
||||
{"id":{"name":"sh_perlin_extra","path":"shaders/sh_perlin_extra/sh_perlin_extra.yy",},},
|
||||
{"id":{"name":"s_node_plot_linear_type","path":"sprites/s_node_plot_linear_type/s_node_plot_linear_type.yy",},},
|
||||
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},},
|
||||
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},},
|
||||
{"id":{"name":"contextMenu_controller","path":"scripts/contextMenu_controller/contextMenu_controller.yy",},},
|
||||
|
@ -1885,6 +1901,7 @@
|
|||
{"id":{"name":"s_node_blur_contrast","path":"sprites/s_node_blur_contrast/s_node_blur_contrast.yy",},},
|
||||
{"id":{"name":"fd_y","path":"scripts/fd_y/fd_y.yy",},},
|
||||
{"id":{"name":"node_string_regex_search","path":"scripts/node_string_regex_search/node_string_regex_search.yy",},},
|
||||
{"id":{"name":"s_node_repeat_axis","path":"sprites/s_node_repeat_axis/s_node_repeat_axis.yy",},},
|
||||
{"id":{"name":"s_node_text_render","path":"sprites/s_node_text_render/s_node_text_render.yy",},},
|
||||
{"id":{"name":"__init_global","path":"scripts/__init_global/__init_global.yy",},},
|
||||
{"id":{"name":"sh_trail_filler_pass2","path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},},
|
||||
|
@ -1894,6 +1911,7 @@
|
|||
{"id":{"name":"node_caustic","path":"scripts/node_caustic/node_caustic.yy",},},
|
||||
{"id":{"name":"s_node_regex_search","path":"sprites/s_node_regex_search/s_node_regex_search.yy",},},
|
||||
{"id":{"name":"s_node_color_from_rgb","path":"sprites/s_node_color_from_rgb/s_node_color_from_rgb.yy",},},
|
||||
{"id":{"name":"s_node_mk_grid_flip","path":"sprites/s_node_mk_grid_flip/s_node_mk_grid_flip.yy",},},
|
||||
{"id":{"name":"s_node_separate_file_path","path":"sprites/s_node_separate_file_path/s_node_separate_file_path.yy",},},
|
||||
{"id":{"name":"node_scale_algo","path":"scripts/node_scale_algo/node_scale_algo.yy",},},
|
||||
{"id":{"name":"s_node_image_replace","path":"sprites/s_node_image_replace/s_node_image_replace.yy",},},
|
||||
|
@ -1905,6 +1923,7 @@
|
|||
{"id":{"name":"string_cut","path":"scripts/string_cut/string_cut.yy",},},
|
||||
{"id":{"name":"__node_3d_prim_cylinder","path":"scripts/__node_3d_prim_cylinder/__node_3d_prim_cylinder.yy",},},
|
||||
{"id":{"name":"node_iterator_sort_inline_output","path":"scripts/node_iterator_sort_inline_output/node_iterator_sort_inline_output.yy",},},
|
||||
{"id":{"name":"s_node_curve","path":"sprites/s_node_curve/s_node_curve.yy",},},
|
||||
{"id":{"name":"Obj_FirebaseFirestore_Collection_Query_options","path":"objects/Obj_FirebaseFirestore_Collection_Query_options/Obj_FirebaseFirestore_Collection_Query_options.yy",},},
|
||||
{"id":{"name":"stack_functions","path":"scripts/stack_functions/stack_functions.yy",},},
|
||||
{"id":{"name":"panel_nodes","path":"scripts/panel_nodes/panel_nodes.yy",},},
|
||||
|
@ -2244,6 +2263,7 @@
|
|||
{"id":{"name":"sh_pb_shade","path":"shaders/sh_pb_shade/sh_pb_shade.yy",},},
|
||||
{"id":{"name":"ds_map","path":"scripts/ds_map/ds_map.yy",},},
|
||||
{"id":{"name":"s_node_morph_surface","path":"sprites/s_node_morph_surface/s_node_morph_surface.yy",},},
|
||||
{"id":{"name":"s_node_mesh_type","path":"sprites/s_node_mesh_type/s_node_mesh_type.yy",},},
|
||||
{"id":{"name":"fd_rectangle_get_velocity_dissipation_type","path":"scripts/fd_rectangle_get_velocity_dissipation_type/fd_rectangle_get_velocity_dissipation_type.yy",},},
|
||||
{"id":{"name":"s_node_3d_transform","path":"sprites/s_node_3d_transform/s_node_3d_transform.yy",},},
|
||||
{"id":{"name":"node_pb_box_split","path":"scripts/node_pb_box_split/node_pb_box_split.yy",},},
|
||||
|
@ -2319,6 +2339,7 @@
|
|||
{"id":{"name":"node_group_thumbnail","path":"scripts/node_group_thumbnail/node_group_thumbnail.yy",},},
|
||||
{"id":{"name":"VCT","path":"scripts/VCT/VCT.yy",},},
|
||||
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},},
|
||||
{"id":{"name":"s_node_alignment","path":"sprites/s_node_alignment/s_node_alignment.yy",},},
|
||||
{"id":{"name":"shell_functions","path":"scripts/shell_functions/shell_functions.yy",},},
|
||||
{"id":{"name":"node_strand_collision","path":"scripts/node_strand_collision/node_strand_collision.yy",},},
|
||||
{"id":{"name":"s_node_atlas_get","path":"sprites/s_node_atlas_get/s_node_atlas_get.yy",},},
|
||||
|
|
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 |
|
@ -475,15 +475,13 @@ event_inherited();
|
|||
if(directory_exists(_path)) {
|
||||
var _metaPath = _path + "/meta.json";
|
||||
if(!file_exists_empty(_metaPath)) {
|
||||
var _item = new scrollItem(f, THEME.circle);
|
||||
_item.spr_blend = COLORS._main_accent;
|
||||
var _item = new scrollItem(f, THEME.circle, 0, COLORS._main_accent);
|
||||
_item.tooltip = "Theme made for earlier version.";
|
||||
array_push(themes, _item);
|
||||
} else {
|
||||
var _meta = json_load_struct(_metaPath);
|
||||
var _item = new scrollItem(_meta.name, _meta.version >= VERSION? noone : THEME.circle);
|
||||
var _item = new scrollItem(_meta.name, _meta.version >= VERSION? noone : THEME.circle, 0, COLORS._main_accent);
|
||||
_item.data = f;
|
||||
_item.spr_blend = COLORS._main_accent;
|
||||
|
||||
if(_meta.version < VERSION)
|
||||
_item.tooltip = "Theme made for earlier version.";
|
||||
|
|
|
@ -114,7 +114,7 @@ event_inherited();
|
|||
if(align == fa_center) draw_text_cut(_dw / 2, _ly + hght / 2, txt, _dw);
|
||||
else if(align == fa_left) draw_text_cut(ui(8) + _spr * hght, _ly + hght / 2, txt, _dw);
|
||||
|
||||
if(_spr) draw_sprite_ext(_val.spr, 0, ui(8) + hght / 2, _ly + hght / 2, 1, 1, 0, _val.spr_blend, 1);
|
||||
if(_spr) draw_sprite_ext(_val.spr, _val.spr_ind, ui(8) + hght / 2, _ly + hght / 2, 1, 1, 0, _val.spr_blend, 1);
|
||||
|
||||
_ly += hght;
|
||||
_h += hght;
|
||||
|
|
|
@ -11,6 +11,7 @@ enum PUPPET_CONTROL {
|
|||
enum PUPPET_FORCE_MODE {
|
||||
move,
|
||||
wind,
|
||||
puppet,
|
||||
}
|
||||
|
||||
function controlPointBox(_onModify) : widget() constructor {
|
||||
|
@ -93,6 +94,7 @@ function controlPointBox(_onModify) : widget() constructor {
|
|||
|
||||
switch(_mode) {
|
||||
case PUPPET_FORCE_MODE.move:
|
||||
case PUPPET_FORCE_MODE.puppet:
|
||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||
draw_text(_x, yy + ui(17), "fx");
|
||||
draw_text(_x + _w / 2 + ui(10), yy + ui(17), "fy");
|
||||
|
@ -100,10 +102,12 @@ function controlPointBox(_onModify) : widget() constructor {
|
|||
tbFy.draw(_x + _w / 2 + lw, yy, w, TEXTBOX_HEIGHT, _fy, _m);
|
||||
yy += TEXTBOX_HEIGHT + ui(8);
|
||||
|
||||
if(_mode == PUPPET_FORCE_MODE.move) {
|
||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||
draw_text(_x, yy + ui(17), __txt("radius"));
|
||||
sW.draw(_x + lw, yy, _w - lw, TEXTBOX_HEIGHT, _wid, _m);
|
||||
yy += TEXTBOX_HEIGHT + ui(8);
|
||||
}
|
||||
break;
|
||||
case PUPPET_FORCE_MODE.wind:
|
||||
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
function dialogCall(_dia, _x = noone, _y = noone, param = {}, create = false) {
|
||||
function dialogCall(_dia, _x = noone, _y = noone, param = {}, create = false) { #region
|
||||
if(_x == noone) _x = WIN_SW / 2;
|
||||
if(_y == noone) _y = WIN_SH / 2;
|
||||
|
||||
|
@ -16,9 +16,9 @@ function dialogCall(_dia, _x = noone, _y = noone, param = {}, create = false) {
|
|||
|
||||
setFocus(dia.id, "Dialog");
|
||||
return dia;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
function dialogPanelCall(_panel, _x = noone, _y = noone, params = {}) {
|
||||
function dialogPanelCall(_panel, _x = noone, _y = noone, params = {}) { #region
|
||||
if(_x == noone) _x = WIN_SW / 2;
|
||||
if(_y == noone) _y = WIN_SH / 2;
|
||||
|
||||
|
@ -34,4 +34,14 @@ function dialogPanelCall(_panel, _x = noone, _y = noone, params = {}) {
|
|||
|
||||
setFocus(dia.id, "Dialog");
|
||||
return dia;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
function colorSelectorCall(defColor, onApply) { #region
|
||||
var dialog = dialogCall(o_dialog_color_selector);
|
||||
|
||||
dialog.setDefault(defColor);
|
||||
dialog.selector.onApply = onApply;
|
||||
dialog.onApply = onApply;
|
||||
|
||||
return dialog;
|
||||
} #endregion
|
|
@ -27,7 +27,7 @@ function dynaSurf_iso() : dynaSurf() constructor {
|
|||
|
||||
static drawTile = function(_x = 0, _y = 0, _xs = 1, _ys = 1, _col = c_white, _alp = 1) {
|
||||
var _surf = surfaces[0];
|
||||
draw_surface_tiled_ext_safe(_surf, _x, _y, _xs, _ys, _col, _alp);
|
||||
draw_surface_tiled_ext_safe(_surf, _x, _y, _xs, _ys, 0, _col, _alp);
|
||||
}
|
||||
|
||||
static drawPart = function(_l, _t, _w, _h, _x, _y, _xs = 1, _ys = 1, _rot = 0, _col = c_white, _alp = 1) {
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
globalvar VERSION, SAVE_VERSION, VERSION_STRING, BUILD_NUMBER, LATEST_VERSION;
|
||||
|
||||
LATEST_VERSION = 11600;
|
||||
VERSION = 11641;
|
||||
SAVE_VERSION = 11641;
|
||||
VERSION_STRING = "1.16.4.1";
|
||||
VERSION = 11642;
|
||||
SAVE_VERSION = 11642;
|
||||
VERSION_STRING = "1.16.4.2";
|
||||
BUILD_NUMBER = 11640;
|
||||
|
||||
globalvar APPEND_MAP;
|
||||
|
|
|
@ -17,7 +17,10 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
|
||||
inputs[| 1] = nodeValue("Light shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Point", "Line", "Line asymmetric", "Spot" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Point", s_node_2d_light_shape, 0),
|
||||
new scrollItem("Line", s_node_2d_light_shape, 1),
|
||||
new scrollItem("Line asymmetric", s_node_2d_light_shape, 2),
|
||||
new scrollItem("Spot", s_node_2d_light_shape, 3), ]);
|
||||
|
||||
inputs[| 2] = nodeValue("Center", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 16, 16 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector)
|
||||
|
@ -30,10 +33,10 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
inputs[| 5] = nodeValue("Color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white);
|
||||
|
||||
inputs[| 6] = nodeValue("Start", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 16, 16])
|
||||
inputs[| 6] = nodeValue("Start", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 16, 16 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 7] = nodeValue("Finish", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 32, 16])
|
||||
inputs[| 7] = nodeValue("Finish", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 32, 16 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 8] = nodeValue("Sweep", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 15)
|
||||
|
@ -46,7 +49,9 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 1] });
|
||||
|
||||
inputs[| 11] = nodeValue("Attenuation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "Control how light fade out over distance.")
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Quadratic", "Invert quadratic", "Linear"]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Quadratic", s_node_curve, 0),
|
||||
new scrollItem("Invert quadratic", s_node_curve, 1),
|
||||
new scrollItem("Linear", s_node_curve, 2), ]);
|
||||
|
||||
inputs[| 12] = nodeValue("Radial banding", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 1] });
|
||||
|
|
|
@ -20,7 +20,8 @@ function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y,
|
|||
inputs[| in_d3d + 4] = nodeValue("Falloff curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01);
|
||||
|
||||
inputs[| in_d3d + 5] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Sphere", "Plane" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Sphere", s_node_3d_affector_shape, 0),
|
||||
new scrollItem("Plane", s_node_3d_affector_shape, 1), ]);
|
||||
|
||||
outputs[| 0] = nodeValue("Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
|
|
@ -33,7 +33,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
|
||||
|
||||
inputs[| 3] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Circle", "Rectangle" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Rectangle", s_node_shape_type, 0), ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] )
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
|
|
@ -20,7 +20,7 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
|
|||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 4] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Circle", "Rectangle" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Rectangle", s_node_shape_type, 0), ]);
|
||||
|
||||
inputs[| 5] = nodeValue("Size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] )
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
|
|
@ -20,7 +20,8 @@ function Node_FLIP_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
inputs[| 5] = nodeValue("Fluid particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone);
|
||||
|
||||
inputs[| 6] = nodeValue("Render type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Particle", "Line" ] );
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Particle", s_node_flip_render, 0),
|
||||
new scrollItem("Line", s_node_flip_render, 1), ] );
|
||||
|
||||
inputs[| 7] = nodeValue("Threshold", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
|
||||
|
|
|
@ -2,8 +2,11 @@ function Node_PCX_fn_Math(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) con
|
|||
name = "Math";
|
||||
|
||||
inputs[| 0] = nodeValue("Operator", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Modulo", "Absolute", -1, "Round", "Floor", "Ceil",
|
||||
-1, "Sin", "Cos", "Tan", "Arcsin", "Arccos", "Arctan", -1, "Min", "Max", "Clamp", -1, "Lerp" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Modulo", "Absolute", -1,
|
||||
"Round", "Floor", "Ceil", -1,
|
||||
"Sin", "Cos", "Tan", "Arcsin", "Arccos", "Arctan", -1,
|
||||
"Min", "Max", "Clamp", -1,
|
||||
"Lerp" ]);
|
||||
|
||||
inputs[| 1] = nodeValue("x", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone);
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
.setVisible(true, true);
|
||||
|
||||
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, AREA_SHAPE.rectangle )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Rectangle", "Elipse"]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Rectangle", s_node_shape_type, 0), new scrollItem("Elipse", s_node_shape_type, 1) ]);
|
||||
|
||||
outputs[| 0] = nodeValue("Area", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, [ 0, 0, 0, 0, AREA_SHAPE.rectangle ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
|
|
@ -13,7 +13,9 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 4] = nodeValue("Slope", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Linear", "Smooth", "Circular" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Linear", s_node_curve, 2),
|
||||
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);
|
||||
|
||||
|
|
|
@ -12,7 +12,10 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0.01, 4, 0.01 ] });
|
||||
|
||||
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", "Repeat", "Repeat X", "Repeat Y" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Empty ", s_node_camera_repeat, 0),
|
||||
new scrollItem("Repeat ", s_node_camera_repeat, 1),
|
||||
new scrollItem("Repeat X", s_node_camera_repeat, 2),
|
||||
new scrollItem("Repeat Y", s_node_camera_repeat, 3), ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Fix background", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||
|
||||
|
@ -50,7 +53,10 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
|
|||
.setUnitRef(function(index) { return getDimension(index); });
|
||||
|
||||
inputs[| index + 2] = nodeValue($"Oversample {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Repeat", "Repeat X", "Repeat Y" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Empty ", s_node_camera_repeat, 0),
|
||||
new scrollItem("Repeat ", s_node_camera_repeat, 1),
|
||||
new scrollItem("Repeat X", s_node_camera_repeat, 2),
|
||||
new scrollItem("Repeat Y", s_node_camera_repeat, 3), ]);
|
||||
|
||||
array_append(input_display_list, [ index + 0, index + 1, index + 2 ]);
|
||||
} if(!LOADING && !APPENDING) createNewInput(); #endregion
|
||||
|
|
|
@ -282,12 +282,8 @@ function Node_Canvas(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
drawColor(tool_attribute.color, _cx, yy, _cw, _cw);
|
||||
draw_sprite_stretched_ext(THEME.palette_selecting, 0, _cx - _pd, yy - _pd, _cw + _pd * 2, _cw + _pd * 2, c_white, 1);
|
||||
|
||||
if(point_in_rectangle(_mx, _my, _cx, yy, _cx + _cw, yy + _ch) && mouse_press(mb_left, focus)) {
|
||||
var dialog = dialogCall(o_dialog_color_selector);
|
||||
dialog.selector.onApply = setToolColor;
|
||||
dialog.onApply = setToolColor;
|
||||
dialog.setDefault(tool_attribute.color);
|
||||
}
|
||||
if(point_in_rectangle(_mx, _my, _cx, yy, _cx + _cw, yy + _ch) && mouse_press(mb_left, focus))
|
||||
colorSelectorCall(tool_attribute.color, setToolColor);
|
||||
|
||||
yy += _cw + ui(8);
|
||||
hh += _cw + ui(8);
|
||||
|
|
|
@ -29,7 +29,12 @@ function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
w = 96;
|
||||
|
||||
inputs[| 0] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Equal", "Not equal", "Greater", "Greater or equal", "Lesser", "Lesser or equal" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Equal", s_node_condition_type, 0),
|
||||
new scrollItem("Not equal", s_node_condition_type, 1),
|
||||
new scrollItem("Greater ", s_node_condition_type, 4),
|
||||
new scrollItem("Greater or equal", s_node_condition_type, 5),
|
||||
new scrollItem("Lesser", s_node_condition_type, 2),
|
||||
new scrollItem("Lesser or equal", s_node_condition_type, 3), ]);
|
||||
|
||||
inputs[| 1] = nodeValue("a", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
||||
.setVisible(true, true);
|
||||
|
|
|
@ -7,7 +7,12 @@ function Node_Condition(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
.setVisible(true, true);
|
||||
|
||||
inputs[| 1] = nodeValue("Condition", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Equal", "Not equal", "Less", "Less or equal", "Greater", "Greater or equal"])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Equal", s_node_condition_type, 0),
|
||||
new scrollItem("Not equal", s_node_condition_type, 1),
|
||||
new scrollItem("Less ", s_node_condition_type, 2),
|
||||
new scrollItem("Less or equal ", s_node_condition_type, 3),
|
||||
new scrollItem("Greater ", s_node_condition_type, 4),
|
||||
new scrollItem("Greater or equal", s_node_condition_type, 5), ])
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 2] = nodeValue("Compare to", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||
|
|
|
@ -8,7 +8,9 @@ function Node_Gradient(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
.setMappable(15);
|
||||
|
||||
inputs[| 2] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Linear", "Circular", "Radial" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Linear", s_node_gradient_type, 0),
|
||||
new scrollItem("Circular", s_node_gradient_type, 1),
|
||||
new scrollItem("Radial", s_node_gradient_type, 2) ]);
|
||||
|
||||
inputs[| 3] = nodeValue("Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.rotation)
|
||||
|
|
|
@ -2,7 +2,8 @@ function Node_Image_Grid(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
name = "Image Grid";
|
||||
|
||||
inputs[| 0] = nodeValue("Main Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical" ])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Horizontal", s_node_alignment, 0),
|
||||
new scrollItem("Vertical", s_node_alignment, 1) ])
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 1] = nodeValue("Column", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4)
|
||||
|
|
|
@ -25,7 +25,8 @@ function Node_Image_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
inputs[| 8] = nodeValue("Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1);
|
||||
|
||||
inputs[| 9] = nodeValue("Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical"]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Horizontal", s_node_alignment, 0),
|
||||
new scrollItem("Vertical", s_node_alignment, 1), ]);
|
||||
|
||||
inputs[| 10] = nodeValue("Auto fill", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, 0, "Automatically set amount based on sprite size.")
|
||||
.setDisplay(VALUE_DISPLAY.button, { name: "Auto fill", onClick: function() { #region
|
||||
|
|
|
@ -2,7 +2,9 @@ function Node_Stack(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
|||
name = "Stack";
|
||||
|
||||
inputs[| 0] = nodeValue("Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical", "On top" ])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Horizontal", s_node_alignment, 0),
|
||||
new scrollItem("Vertical", s_node_alignment, 1),
|
||||
new scrollItem("On top", s_node_alignment, 3), ])
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 1] = nodeValue("Align", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
||||
|
|
|
@ -13,7 +13,9 @@ function Node_Local_Analyze(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Square", "Circle", "Diamond" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Square", s_node_shape, 0),
|
||||
new scrollItem("Circle", s_node_shape, 1),
|
||||
new scrollItem("Diamond", s_node_shape_misc, 0) ]);
|
||||
|
||||
inputs[| 5] = nodeValue("Mask", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
|
||||
|
|
|
@ -31,8 +31,12 @@ function Node_Logic(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
|||
w = 96;
|
||||
|
||||
inputs[| 0] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [
|
||||
/* 0 - 9*/ "And", "Or", "Not", "Nand", "Nor", "Xor" ])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("And" , s_node_logic, 0),
|
||||
new scrollItem("Or" , s_node_logic, 1),
|
||||
new scrollItem("Not" , s_node_logic, 2),
|
||||
new scrollItem("Nand", s_node_logic, 3),
|
||||
new scrollItem("Nor" , s_node_logic, 4),
|
||||
new scrollItem("Xor" , s_node_logic, 5), ])
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 1] = nodeValue("a", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
||||
|
|
|
@ -61,7 +61,7 @@ function Node_MK_Fall(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
.setDisplay(VALUE_DISPLAY.range, { linked : true });
|
||||
|
||||
inputs[| 22] = nodeValue("Render Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Leaf", "Circle" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Leaf", s_node_shape_type, 7), new scrollItem("Circle", s_node_shape_type, 1) ]);
|
||||
|
||||
inputs[| 23] = nodeValue("Twist Radius", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.7)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
|
|
@ -28,7 +28,9 @@ function Node_MK_GridFlip(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01 ] });
|
||||
|
||||
inputs[| 10] = nodeValue("Flip limit", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "None", "90", "180" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("None", s_node_mk_grid_flip, 0),
|
||||
new scrollItem("90", s_node_mk_grid_flip, 1),
|
||||
new scrollItem("180", s_node_mk_grid_flip, 2), ]);
|
||||
|
||||
input_display_list = [ new Inspector_Sprite(s_MKFX), 3, 1,
|
||||
["Surface", true], 0, 4,
|
||||
|
|
|
@ -26,7 +26,9 @@ function Node_MK_Rain(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
inputs[| 8] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom_range(100_000, 999_999));
|
||||
|
||||
inputs[| 9] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Rain", "Snow", "Texture" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Rain", s_node_mk_rain_type, 0),
|
||||
new scrollItem("Snow", s_node_mk_rain_type, 1),
|
||||
new scrollItem("Texture", s_node_mk_rain_type, 2) ]);
|
||||
|
||||
inputs[| 10] = nodeValue("Snow size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 3, 4 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||
|
|
|
@ -7,7 +7,8 @@ function Node_Path_Plot(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 1] = nodeValue("Coordinate", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Cartesian", "Polar" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Cartesian", s_node_axis_type, 0),
|
||||
new scrollItem("Polar", s_node_axis_type, 1), ]);
|
||||
|
||||
eq_type_car = [ "x function", "y function", "parametric" ];
|
||||
eq_type_pol = [ "r function", "O function", "parametric" ];
|
||||
|
|
|
@ -2,7 +2,8 @@ function Node_PB_Draw_Trapezoid(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _
|
|||
name = "Trapezoid";
|
||||
|
||||
inputs[| 3] = nodeValue("Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Horizontal", s_node_alignment, 0),
|
||||
new scrollItem("Vertical", s_node_alignment, 1), ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Symmetric", "Independent" ]);
|
||||
|
|
|
@ -30,7 +30,8 @@ function Node_Plot_Linear(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
.setDisplay(VALUE_DISPLAY.rotation);
|
||||
|
||||
inputs[| 11] = nodeValue("Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Bar chart", "Graph" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Bar chart", s_node_plot_linear_type, 0),
|
||||
new scrollItem("Graph", s_node_plot_linear_type, 1), ]);
|
||||
|
||||
inputs[| 12] = nodeValue("Value Offset", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0);
|
||||
|
||||
|
|
|
@ -23,7 +23,9 @@ function Node_Polar(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
__init_mask_modifier(1); // inputs 7, 8,
|
||||
|
||||
inputs[| 9] = nodeValue("Radius mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Linear", "Inverse Square", "Logarithm" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Linear", s_node_curve, 2),
|
||||
new scrollItem("Inverse Square", s_node_curve, 1),
|
||||
new scrollItem("Logarithm", s_node_curve, 3), ]);
|
||||
|
||||
inputs[| 10] = nodeValue("Swap", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false)
|
||||
|
||||
|
|
|
@ -473,7 +473,7 @@ function __initNodes() {
|
|||
addNodeObject(transform, "Crop", s_node_crop, "Node_Crop", [1, Node_Crop],, "Crop out image to create smaller ones.");
|
||||
addNodeObject(transform, "Crop Content", s_node_crop_content, "Node_Crop_Content", [1, Node_Crop_Content],, "Crop out empty pixel pixel from the image.");
|
||||
addNodeObject(transform, "Warp", s_node_warp, "Node_Warp", [1, Node_Warp], ["wrap"], "Warp image by freely moving the corners.");
|
||||
addNodeObject(transform, "Skew", s_node_skew, "Node_Skew", [1, Node_Skew],, "Skew image horizontally, or vertically.");
|
||||
addNodeObject(transform, "Skew", s_node_skew, "Node_Skew", [1, Node_Skew], ["shear"], "Skew image horizontally, or vertically.");
|
||||
addNodeObject(transform, "Mesh Warp", s_node_warp_mesh, "Node_Mesh_Warp", [1, Node_Mesh_Warp], ["mesh wrap"], "Wrap image by converting it to mesh, and using control points.");
|
||||
addNodeObject(transform, "Polar", s_node_polar, "Node_Polar", [1, Node_Polar],, "Convert image to polar coordinate.");
|
||||
addNodeObject(transform, "Area Warp", s_node_padding, "Node_Wrap_Area", [1, Node_Wrap_Area],, "Wrap image to fit area value (x, y, w, h).");
|
||||
|
|
|
@ -25,7 +25,9 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
|||
.rejectArray();
|
||||
|
||||
inputs[| 3] = nodeValue("Packing type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Horizontal", "Vertical", "Grid" ])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Horizontal", s_node_alignment, 0),
|
||||
new scrollItem("Vertical", s_node_alignment, 1),
|
||||
new scrollItem("Grid", s_node_alignment, 2), ])
|
||||
.rejectArray();
|
||||
|
||||
inputs[| 4] = nodeValue("Grid column", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4)
|
||||
|
|
|
@ -9,7 +9,9 @@ function Node_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
|||
inputs[| 2] = nodeValue("Amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
||||
|
||||
inputs[| 3] = nodeValue("Pattern", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Linear", "Grid", "Circular" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Linear", s_node_repeat_axis, 0),
|
||||
new scrollItem("Grid", s_node_repeat_axis, 1),
|
||||
new scrollItem("Circular", s_node_repeat_axis, 2), ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Repeat position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [DEF_SURF_W / 2, 0])
|
||||
.setDisplay(VALUE_DISPLAY.vector)
|
||||
|
|
|
@ -31,7 +31,7 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
.setAnimable(false);
|
||||
|
||||
inputs[| 5] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Box", "Circle", "Custom" ])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Box", s_node_shape_type, 0), new scrollItem("Circle", s_node_shape_type, 1), new scrollItem("Custom", s_node_shape_misc, 1) ])
|
||||
.rejectArray()
|
||||
.setAnimable(false);
|
||||
|
||||
|
|
|
@ -28,7 +28,8 @@ function Node_Shadow_Cast(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 1] });
|
||||
|
||||
inputs[| 5] = nodeValue("Light type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Point", "Sun"]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Point", s_node_shadow_type, 0),
|
||||
new scrollItem("Sun", s_node_shadow_type, 1) ]);
|
||||
|
||||
inputs[| 6] = nodeValue("Ambient color", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_grey);
|
||||
|
||||
|
@ -50,7 +51,9 @@ function Node_Shadow_Cast(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
|
|||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 1] });
|
||||
|
||||
inputs[| 14] = nodeValue("Attenuation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "Control how light fade out over distance.")
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Quadratic", "Invert quadratic", "Linear"]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Quadratic", s_node_curve, 0),
|
||||
new scrollItem("Invert quadratic", s_node_curve, 1),
|
||||
new scrollItem("Linear", s_node_curve, 2), ]);
|
||||
|
||||
inputs[| 15] = nodeValue("Ambient occlusion", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 1] });
|
||||
|
|
|
@ -8,8 +8,12 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
|
|||
|
||||
inputs[| 1] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||
|
||||
var _types = [ "Rectangle", "Ellipse", "Regular polygon", "Star", "Arc", "Teardrop", "Cross", "Leaf", "Crescent", "Donut" ];
|
||||
for( var i = 0, n = array_length(_types); i < n; i++ )
|
||||
_types[i] = new scrollItem(_types[i], s_node_shape_type, i);
|
||||
|
||||
inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Rectangle", "Ellipse", "Regular polygon", "Star", "Arc", "Teardrop", "Cross", "Leaf", "Crescent", "Donut" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, _types);
|
||||
|
||||
onSurfaceSize = function() { return getInputData(0, DEF_SURF); };
|
||||
inputs[| 3] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ DEF_SURF_W / 2, DEF_SURF_H / 2, DEF_SURF_W / 2, DEF_SURF_H / 2, AREA_SHAPE.rectangle ])
|
||||
|
|
|
@ -248,42 +248,6 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
pos = point_rotate(pos[0], pos[1], pos[0] + anc[0], pos[1] + anc[1], rot);
|
||||
|
||||
if(mode == 1) { #region
|
||||
var _w = _ww * sqrt(2);
|
||||
var _h = _hh * sqrt(2);
|
||||
var _px = (_w - _ww) / 2;
|
||||
var _py = (_h - _hh) / 2;
|
||||
var _s = surface_create_valid(_w, _h, cDep);
|
||||
|
||||
surface_set_target(_s);
|
||||
DRAW_CLEAR
|
||||
BLEND_OVERRIDE
|
||||
|
||||
if(is_surface(ins)) {
|
||||
var draw_x, draw_y;
|
||||
draw_x = _px + pos[0];
|
||||
draw_y = _py + pos[1];
|
||||
|
||||
if(pos_exact) {
|
||||
draw_x = round(draw_x);
|
||||
draw_y = round(draw_y);
|
||||
}
|
||||
|
||||
draw_surface_tiled_ext_safe(ins, draw_x, draw_y, sca[0], sca[1], c_white, 1);
|
||||
}
|
||||
|
||||
BLEND_NORMAL
|
||||
surface_reset_target();
|
||||
|
||||
var _cc = point_rotate(-_px, -_py, _ww / 2, _hh / 2, rot);
|
||||
surface_set_shader(_outSurf);
|
||||
shader_set_interpolation(_s);
|
||||
draw_surface_ext_safe(_s, _cc[0], _cc[1], 1, 1, rot, c_white, 1);
|
||||
surface_reset_shader();
|
||||
|
||||
surface_free(_s);
|
||||
#endregion
|
||||
} else { #region
|
||||
var draw_x, draw_y;
|
||||
draw_x = pos[0];
|
||||
draw_y = pos[1];
|
||||
|
@ -293,6 +257,15 @@ function Node_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
draw_y = round(draw_y);
|
||||
}
|
||||
|
||||
if(mode == 1) { #region // Tile
|
||||
surface_set_shader(_outSurf);
|
||||
shader_set_interpolation(ins);
|
||||
|
||||
draw_surface_tiled_ext_safe(ins, draw_x, draw_y, sca[0], sca[1], rot, c_white, 1);
|
||||
|
||||
surface_reset_shader();
|
||||
#endregion
|
||||
} else { #region // Normal or wrap
|
||||
surface_set_shader(_outSurf);
|
||||
shader_set_interpolation(ins);
|
||||
|
||||
|
|
|
@ -8,7 +8,10 @@ function Node_Trigger_Bool(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
inputs[| 0] = nodeValue("Boolean", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||
|
||||
inputs[| 1] = nodeValue("Trigger condition", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "True frame", "False to True", "True to False", "Value changed" ]);
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("True frame", s_node_trigger_cond, 0),
|
||||
new scrollItem("False to True", s_node_trigger_cond, 1),
|
||||
new scrollItem("True to False", s_node_trigger_cond, 2),
|
||||
new scrollItem("Value changed", s_node_trigger_cond, 3), ]);
|
||||
|
||||
outputs[| 0] = nodeValue("Trigger", self, JUNCTION_CONNECT.output, VALUE_TYPE.trigger, false);
|
||||
|
||||
|
|
|
@ -4,12 +4,196 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
attributes.mesh_bound = [];
|
||||
|
||||
points = [];
|
||||
data = {
|
||||
points : [],
|
||||
tris : [],
|
||||
links : []
|
||||
data = { points : [], tris : [], links : [], controls: [] };
|
||||
|
||||
function _Point(node, index, _x, _y) constructor { #region
|
||||
self.index = index;
|
||||
self.node = node;
|
||||
x = _x;
|
||||
y = _y;
|
||||
xp = x;
|
||||
yp = y;
|
||||
|
||||
node.points[index] = self;
|
||||
|
||||
ndx = 0;
|
||||
ndy = 0;
|
||||
|
||||
sx = x;
|
||||
sy = y;
|
||||
pin = false;
|
||||
|
||||
controlWeights = [];
|
||||
|
||||
static reset = function(data) {
|
||||
INLINE
|
||||
|
||||
x = sx;
|
||||
y = sy;
|
||||
xp = x;
|
||||
yp = y;
|
||||
|
||||
var dist = 0;
|
||||
|
||||
for( var i = 0, n = array_length(data.controls); i < n; i++ ) {
|
||||
var d = point_distance(x, y, data.controls[i][PUPPET_CONTROL.cx], data.controls[i][PUPPET_CONTROL.cy]);
|
||||
|
||||
controlWeights[i] = 1 / d;
|
||||
dist += 1 / d;
|
||||
}
|
||||
|
||||
for( var i = 0, n = array_length(controlWeights); i < n; i++ )
|
||||
controlWeights[i] /= dist;
|
||||
}
|
||||
|
||||
static draw = function(_x, _y, _s) {
|
||||
INLINE
|
||||
|
||||
if(pin) {
|
||||
draw_set_color(COLORS._main_accent);
|
||||
draw_circle_prec(_x + x * _s, _y + y * _s, 3, false);
|
||||
} else {
|
||||
draw_set_color(COLORS.node_overlay_gizmo_inactive);
|
||||
draw_circle_prec(_x + x * _s, _y + y * _s, 2, false);
|
||||
}
|
||||
}
|
||||
|
||||
u = 0;
|
||||
v = 0;
|
||||
static mapTexture = function(ww, hh) {
|
||||
INLINE
|
||||
|
||||
u = x / ww;
|
||||
v = y / hh;
|
||||
}
|
||||
|
||||
static move = function(dx, dy) {
|
||||
INLINE
|
||||
|
||||
if(pin) return;
|
||||
|
||||
x += dx;
|
||||
y += dy;
|
||||
}
|
||||
|
||||
static planMove = function(dx, dy) {
|
||||
INLINE
|
||||
|
||||
if(pin) return;
|
||||
|
||||
ndx += dx;
|
||||
ndy += dy;
|
||||
}
|
||||
|
||||
static stepMove = function(rat) {
|
||||
INLINE
|
||||
|
||||
if(pin) return;
|
||||
|
||||
move(ndx * rat, ndy * rat);
|
||||
}
|
||||
|
||||
static clearMove = function(rat) {
|
||||
INLINE
|
||||
|
||||
if(pin) return;
|
||||
|
||||
ndx = 0;
|
||||
ndy = 0;
|
||||
}
|
||||
|
||||
static setPin = function(pin) {
|
||||
INLINE
|
||||
|
||||
self.pin = pin;
|
||||
}
|
||||
|
||||
static equal = function(point) {
|
||||
INLINE
|
||||
|
||||
return x == point.x && y == point.y;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
function _Link(_p0, _p1, _k = 1) constructor { #region
|
||||
p0 = _p0;
|
||||
p1 = _p1;
|
||||
k = _k;
|
||||
|
||||
len = point_distance(p0.x, p0.y, p1.x, p1.y);
|
||||
|
||||
static resolve = function(strength = 1) {
|
||||
INLINE
|
||||
|
||||
var _len = point_distance(p0.x, p0.y, p1.x, p1.y);
|
||||
var _dir = point_direction(p0.x, p0.y, p1.x, p1.y);
|
||||
|
||||
var _slen = lerp(_len, len, strength);
|
||||
var f = k * (_len - _slen);
|
||||
var dx = lengthdir_x(f, _dir);
|
||||
var dy = lengthdir_y(f, _dir);
|
||||
|
||||
p0.move( dx / 2, dy / 2);
|
||||
p1.move(-dx / 2, -dy / 2);
|
||||
}
|
||||
|
||||
static draw = function(_x, _y, _s) {
|
||||
INLINE
|
||||
|
||||
draw_set_color(c_red);
|
||||
draw_line(_x + p0.x * _s, _y + p0.y * _s, _x + p1.x * _s, _y + p1.y * _s);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
function _Triangle(_p0, _p1, _p2) constructor { #region
|
||||
p0 = _p0;
|
||||
p1 = _p1;
|
||||
p2 = _p2;
|
||||
|
||||
static reset = function(data) {
|
||||
INLINE
|
||||
|
||||
p0.reset(data);
|
||||
p1.reset(data);
|
||||
p2.reset(data);
|
||||
}
|
||||
|
||||
static initSurface = function(surf) {
|
||||
INLINE
|
||||
|
||||
p0.mapTexture(surface_get_width_safe(surf), surface_get_height_safe(surf));
|
||||
p1.mapTexture(surface_get_width_safe(surf), surface_get_height_safe(surf));
|
||||
p2.mapTexture(surface_get_width_safe(surf), surface_get_height_safe(surf));
|
||||
}
|
||||
|
||||
static drawSurface = function(surf) {
|
||||
INLINE
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_set_alpha(1);
|
||||
|
||||
draw_primitive_begin_texture(pr_trianglelist, surface_get_texture(surf));
|
||||
draw_vertex_texture(p0.x, p0.y, p0.u, p0.v);
|
||||
draw_vertex_texture(p1.x, p1.y, p1.u, p1.v);
|
||||
draw_vertex_texture(p2.x, p2.y, p2.u, p2.v);
|
||||
draw_primitive_end();
|
||||
}
|
||||
|
||||
static drawPoints = function(_x, _y, _s) {
|
||||
INLINE
|
||||
|
||||
p0.draw(_x, _y, _s);
|
||||
p1.draw(_x, _y, _s);
|
||||
p2.draw(_x, _y, _s);
|
||||
}
|
||||
|
||||
static contain = function(p) {
|
||||
INLINE
|
||||
|
||||
return p == p0 || p == p1 || p == p2;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
is_convex = true;
|
||||
hover = -1;
|
||||
anchor_dragging = -1;
|
||||
|
@ -27,7 +211,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 3] = nodeValue("Mesh", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, 0)
|
||||
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", onClick: function() { setTriangle(); doUpdate(); } });
|
||||
.setDisplay(VALUE_DISPLAY.button, { name: "Generate", onClick: function() { Mesh_setTriangle(); doUpdate(); } });
|
||||
|
||||
inputs[| 4] = nodeValue("Diagonal Link", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Include diagonal link to prevent drastic grid deformation.");
|
||||
|
||||
|
@ -40,7 +224,8 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
inputs[| 7] = nodeValue("Full Mesh", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||
|
||||
inputs[| 8] = nodeValue("Mesh Type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Grid", "Custom" ] );
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ new scrollItem("Grid", s_node_mesh_type, 0),
|
||||
new scrollItem("Custom", s_node_mesh_type, 1), ] );
|
||||
|
||||
inputs[| 9] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom_range(100000, 999999));
|
||||
|
||||
|
@ -70,6 +255,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
input_display_index = array_length(input_display_list);
|
||||
|
||||
#region ============ attributes & tools ============
|
||||
array_push(attributeEditors, "Warp");
|
||||
|
||||
attributes.iteration = 4;
|
||||
|
@ -92,18 +278,19 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
new NodeTool( "Mesh edit", THEME.mesh_tool_edit ),
|
||||
new NodeTool( "Anchor remove", THEME.mesh_tool_delete ),
|
||||
];
|
||||
#endregion
|
||||
|
||||
insp1UpdateTooltip = "Generate";
|
||||
insp1UpdateIcon = [ THEME.refresh, 1, COLORS._main_value_positive ];
|
||||
|
||||
static onInspector1Update = function() { #region
|
||||
setTriangle();
|
||||
Mesh_setTriangle();
|
||||
} #endregion
|
||||
|
||||
static onValueFromUpdate = function(index) { #region
|
||||
if(LOADING || APPENDING) return;
|
||||
if(index == 0 && array_empty(data.tris))
|
||||
setTriangle();
|
||||
Mesh_setTriangle();
|
||||
} #endregion
|
||||
|
||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
|
||||
|
@ -169,7 +356,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
attributes.mesh_bound[anchor_dragging][0] = dx;
|
||||
attributes.mesh_bound[anchor_dragging][1] = dy;
|
||||
setTriangle();
|
||||
Mesh_setTriangle();
|
||||
|
||||
if(mouse_release(mb_left))
|
||||
anchor_dragging = -1;
|
||||
|
@ -186,7 +373,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
} else if(isUsingTool("Anchor remove")) {
|
||||
if(array_length(mesh) > 3) {
|
||||
array_delete(mesh, hover, 1);
|
||||
setTriangle();
|
||||
Mesh_setTriangle();
|
||||
}
|
||||
}
|
||||
} else if(isUsingTool("Mesh edit")) {
|
||||
|
@ -260,152 +447,25 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
}
|
||||
} #endregion
|
||||
|
||||
function _Point(node, index, _x, _y) constructor { #region
|
||||
self.index = index;
|
||||
self.node = node;
|
||||
x = _x;
|
||||
y = _y;
|
||||
xp = x;
|
||||
yp = y;
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
node.points[index] = self;
|
||||
static step = function() { #region
|
||||
var _type = getInputData(8);
|
||||
|
||||
ndx = 0;
|
||||
ndy = 0;
|
||||
inputs[| 2].setVisible(_type == 0);
|
||||
inputs[| 4].setVisible(_type == 0);
|
||||
inputs[| 7].setVisible(_type == 0);
|
||||
|
||||
sx = x;
|
||||
sy = y;
|
||||
pin = false;
|
||||
|
||||
static reset = function() {
|
||||
x = sx;
|
||||
y = sy;
|
||||
xp = x;
|
||||
yp = y;
|
||||
}
|
||||
|
||||
static draw = function(_x, _y, _s) {
|
||||
if(pin) {
|
||||
draw_set_color(COLORS._main_accent);
|
||||
draw_circle_prec(_x + x * _s, _y + y * _s, 3, false);
|
||||
} else {
|
||||
draw_set_color(COLORS.node_overlay_gizmo_inactive);
|
||||
draw_circle_prec(_x + x * _s, _y + y * _s, 2, false);
|
||||
}
|
||||
}
|
||||
|
||||
u = 0;
|
||||
v = 0;
|
||||
static mapTexture = function(ww, hh) {
|
||||
u = x / ww;
|
||||
v = y / hh;
|
||||
}
|
||||
|
||||
static move = function(dx, dy) {
|
||||
if(pin) return;
|
||||
|
||||
x += dx;
|
||||
y += dy;
|
||||
}
|
||||
|
||||
static planMove = function(dx, dy) {
|
||||
if(pin) return;
|
||||
|
||||
ndx += dx;
|
||||
ndy += dy;
|
||||
}
|
||||
|
||||
static stepMove = function(rat) {
|
||||
if(pin) return;
|
||||
|
||||
move(ndx * rat, ndy * rat);
|
||||
}
|
||||
|
||||
static clearMove = function(rat) {
|
||||
if(pin) return;
|
||||
|
||||
ndx = 0;
|
||||
ndy = 0;
|
||||
}
|
||||
|
||||
static setPin = function(pin) {
|
||||
self.pin = pin;
|
||||
}
|
||||
|
||||
static equal = function(point) {
|
||||
return x == point.x && y == point.y;
|
||||
}
|
||||
if(_type == 0) tools = tools_edit;
|
||||
else if (_type == 1) tools = tools_mesh;
|
||||
} #endregion
|
||||
|
||||
function link(_p0, _p1) constructor { #region
|
||||
p0 = _p0;
|
||||
p1 = _p1;
|
||||
k = 1;
|
||||
|
||||
len = point_distance(p0.x, p0.y, p1.x, p1.y);
|
||||
|
||||
static resolve = function(strength = 1) {
|
||||
var _len = point_distance(p0.x, p0.y, p1.x, p1.y);
|
||||
var _dir = point_direction(p0.x, p0.y, p1.x, p1.y);
|
||||
|
||||
var _slen = lerp(_len, len, strength);
|
||||
var f = k * (_len - _slen);
|
||||
var dx = lengthdir_x(f, _dir);
|
||||
var dy = lengthdir_y(f, _dir);
|
||||
|
||||
p0.move( dx / 2, dy / 2);
|
||||
p1.move(-dx / 2, -dy / 2);
|
||||
}
|
||||
|
||||
static draw = function(_x, _y, _s) {
|
||||
draw_set_color(c_red);
|
||||
draw_line(_x + p0.x * _s, _y + p0.y * _s, _x + p1.x * _s, _y + p1.y * _s);
|
||||
}
|
||||
static reset = function() { #region
|
||||
for(var i = 0; i < array_length(data.tris); i++)
|
||||
data.tris[i].reset(data);
|
||||
} #endregion
|
||||
|
||||
function _Triangle(_p0, _p1, _p2) constructor { #region
|
||||
p0 = _p0;
|
||||
p1 = _p1;
|
||||
p2 = _p2;
|
||||
|
||||
static reset = function() {
|
||||
p0.reset();
|
||||
p1.reset();
|
||||
p2.reset();
|
||||
}
|
||||
|
||||
static initSurface = function(surf) {
|
||||
p0.mapTexture(surface_get_width_safe(surf), surface_get_height_safe(surf));
|
||||
p1.mapTexture(surface_get_width_safe(surf), surface_get_height_safe(surf));
|
||||
p2.mapTexture(surface_get_width_safe(surf), surface_get_height_safe(surf));
|
||||
}
|
||||
|
||||
static drawSurface = function(surf) {
|
||||
draw_set_color(c_white);
|
||||
draw_set_alpha(1);
|
||||
|
||||
draw_primitive_begin_texture(pr_trianglelist, surface_get_texture(surf));
|
||||
draw_vertex_texture(p0.x, p0.y, p0.u, p0.v);
|
||||
draw_vertex_texture(p1.x, p1.y, p1.u, p1.v);
|
||||
draw_vertex_texture(p2.x, p2.y, p2.u, p2.v);
|
||||
draw_primitive_end();
|
||||
}
|
||||
|
||||
static drawPoints = function(_x, _y, _s) {
|
||||
//draw_set_color(c_white);
|
||||
//draw_triangle(_x + p0.x * _s, _y + p0.y * _s, _x + p1.x * _s, _y + p1.y * _s, _x + p2.x * _s, _y + p2.y * _s, false)
|
||||
|
||||
p0.draw(_x, _y, _s);
|
||||
p1.draw(_x, _y, _s);
|
||||
p2.draw(_x, _y, _s);
|
||||
}
|
||||
|
||||
static contain = function(p) {
|
||||
return p == p0 || p == p1 || p == p2;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static regularTri = function(surf) { #region
|
||||
static Mesh_regularTri = function(surf) { #region
|
||||
if(is_array(surf)) surf = array_safe_get(surf, 0);
|
||||
|
||||
if(!is_surface(surf)) return;
|
||||
|
@ -423,7 +483,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var gh = hh / sample;
|
||||
var cont = noone;
|
||||
|
||||
if(!fullmh) {
|
||||
if(!fullmh) { #region alpha filter
|
||||
cont = surface_create_valid(ww, hh);
|
||||
|
||||
surface_set_target(cont);
|
||||
|
@ -436,19 +496,17 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
draw_surface_safe(surf, 0, 0);
|
||||
shader_reset();
|
||||
surface_reset_target();
|
||||
}
|
||||
} #endregion
|
||||
|
||||
var _sam = sample + 1;
|
||||
|
||||
points = [];
|
||||
data.points = array_create(_sam * _sam);
|
||||
data.tris = [];
|
||||
data.links = [];
|
||||
|
||||
var ind = 0;
|
||||
for(var i = 0; i < _sam; i++)
|
||||
for(var j = 0; j < _sam; j++) {
|
||||
for(var j = 0; j < _sam; j++) { #region mesh
|
||||
var fill = false;
|
||||
|
||||
if(fullmh) {
|
||||
fill = true;
|
||||
} else {
|
||||
|
@ -468,46 +526,44 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
fill |= surface_get_pixel(cont, _j + 1, _i + 1);
|
||||
}
|
||||
|
||||
if(fill) {
|
||||
data.points[i * _sam + j] = new _Point(self, ind++, min(j * gw, ww), min(i * gh, hh));
|
||||
if(!fill) continue;
|
||||
|
||||
var px = min(j * gw, ww);
|
||||
var py = min(i * gh, hh);
|
||||
|
||||
data.points[i * _sam + j] = new _Point(self, ind++, px, py);
|
||||
if(i == 0) continue;
|
||||
|
||||
if(j && data.points[(i - 1) * _sam + j] != 0 && data.points[i * _sam + j - 1] != 0)
|
||||
array_push(data.tris, new _Triangle(data.points[(i - 1) * _sam + j], data.points[i * _sam + j - 1], data.points[i * _sam + j]));
|
||||
|
||||
if(j < sample && data.points[(i - 1) * _sam + j] != 0 && data.points[(i - 1) * _sam + j + 1] != 0)
|
||||
array_push(data.tris, new _Triangle(data.points[(i - 1) * _sam + j], data.points[(i - 1) * _sam + j + 1], data.points[i * _sam + j]));
|
||||
} else
|
||||
data.points[i * _sam + j] = 0;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
for(var i = 0; i < _sam; i++)
|
||||
for(var j = 0; j < _sam; j++) {
|
||||
if(data.points[i * _sam + j] == 0) continue;
|
||||
for(var j = 0; j < _sam; j++) { #region diagonal
|
||||
var p0 = i && j? data.points[ (i - 1) * _sam + j - 1 ] : 0;
|
||||
var p1 = i? data.points[ (i - 1) * _sam + j ] : 0;
|
||||
var p2 = j? data.points[ (i ) * _sam + j - 1 ] : 0;
|
||||
var p3 = data.points[ (i ) * _sam + j ];
|
||||
|
||||
if(i && data.points[(i - 1) * _sam + j] != 0)
|
||||
array_push(data.links, new link(data.points[i * _sam + j], data.points[(i - 1) * _sam + j]));
|
||||
if(j && data.points[i * _sam + j - 1] != 0)
|
||||
array_push(data.links, new link(data.points[i * _sam + j], data.points[i * _sam + j - 1]));
|
||||
if(p3 && p1) array_push(data.links, new _Link(p3, p1));
|
||||
if(p3 && p2) array_push(data.links, new _Link(p3, p2));
|
||||
|
||||
if(diagon) {
|
||||
if(i && j && data.points[(i - 1) * _sam + j - 1] != 0) {
|
||||
var l = new link(data.points[i * _sam + j], data.points[(i - 1) * _sam + j - 1]);
|
||||
l.k = spring;
|
||||
array_push(data.links, l);
|
||||
}
|
||||
var d0 = p0 && p3;
|
||||
var d1 = p1 && p2;
|
||||
|
||||
if(i && j < sample && data.points[(i - 1) * _sam + j + 1] != 0) {
|
||||
var l = new link(data.points[i * _sam + j], data.points[(i - 1) * _sam + j + 1]);
|
||||
l.k = spring;
|
||||
array_push(data.links, l);
|
||||
}
|
||||
}
|
||||
if(diagon || d0 ^ d1) {
|
||||
if(d0) array_push(data.links, new _Link(p0, p3, spring));
|
||||
if(d1) array_push(data.links, new _Link(p1, p2, spring));
|
||||
}
|
||||
} #endregion
|
||||
|
||||
if(is_surface(cont)) surface_free(cont);
|
||||
} #endregion
|
||||
|
||||
static triangulate = function(surf) { #region
|
||||
static Mesh_triangulate = function(surf) { #region
|
||||
var sample = getInputData(1);
|
||||
var seed = getInputData(9);
|
||||
|
||||
|
@ -516,10 +572,6 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var ww = useArray? surface_get_width_safe(surf[0]) : surface_get_width_safe(surf);
|
||||
var hh = useArray? surface_get_height_safe(surf[0]) : surface_get_height_safe(surf);
|
||||
|
||||
data.points = [];
|
||||
data.tris = [];
|
||||
data.links = [];
|
||||
|
||||
var _m = attributes.mesh_bound;
|
||||
if(array_length(_m) < 3) return;
|
||||
|
||||
|
@ -574,31 +626,29 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var t = _t[i];
|
||||
array_push(data.tris, new _Triangle(t[0], t[1], t[2]));
|
||||
|
||||
array_push(data.links, new link(t[0], t[1]));
|
||||
array_push(data.links, new link(t[1], t[2]));
|
||||
array_push(data.links, new link(t[2], t[0]));
|
||||
array_push(data.links, new _Link(t[0], t[1]));
|
||||
array_push(data.links, new _Link(t[1], t[2]));
|
||||
array_push(data.links, new _Link(t[2], t[0]));
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static reset = function() { #region
|
||||
for(var i = 0; i < array_length(data.tris); i++)
|
||||
data.tris[i].reset();
|
||||
} #endregion
|
||||
|
||||
static setTriangle = function() { #region
|
||||
static Mesh_setTriangle = function() { #region
|
||||
var _inSurf = getInputData(0);
|
||||
var _type = getInputData(8);
|
||||
|
||||
points = [];
|
||||
data = { points : [], tris : [], links : [], controls: [] };
|
||||
|
||||
switch(_type) {
|
||||
case 0 : regularTri(_inSurf); break;
|
||||
case 1 : triangulate(_inSurf); break;
|
||||
case 0 : Mesh_regularTri(_inSurf); break;
|
||||
case 1 : Mesh_triangulate(_inSurf); break;
|
||||
}
|
||||
|
||||
for(var i = 0; i < array_length(data.tris); i++)
|
||||
data.tris[i].initSurface(is_array(_inSurf)? _inSurf[0] : _inSurf);
|
||||
} #endregion
|
||||
|
||||
static affectPoint = function(c, p) { #region
|
||||
static Control_affectPoint = function(c, p) { #region
|
||||
var mode = c[PUPPET_CONTROL.mode];
|
||||
var cx = c[PUPPET_CONTROL.cx];
|
||||
var cy = c[PUPPET_CONTROL.cy];
|
||||
|
@ -633,15 +683,30 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
static control = function() { #region
|
||||
var lStr = getInputData(6);
|
||||
|
||||
for(var i = control_index; i < ds_list_size(inputs); i++) {
|
||||
for(var i = control_index, n = ds_list_size(inputs); i < n; i++) {
|
||||
var c = getInputData(i);
|
||||
|
||||
for( var j = 0; j < array_length(data.points); j++ ) {
|
||||
for( var j = 0, m = array_length(data.points); j < m; j++ ) {
|
||||
if(data.points[j] == 0) continue;
|
||||
affectPoint(c, data.points[j]);
|
||||
Control_affectPoint(c, data.points[j]);
|
||||
}
|
||||
}
|
||||
|
||||
for( var i = 0, n = array_length(data.points); i < n; i++ ) {
|
||||
var _p = data.points[i]; if(_p == 0) continue;
|
||||
var _dx = 0;
|
||||
var _dy = 0;
|
||||
|
||||
for( var j = 0, m = array_length(data.controls); j < m; j++ ) {
|
||||
var _c = data.controls[j];
|
||||
|
||||
_dx += _c[PUPPET_CONTROL.fx] * _p.controlWeights[j];
|
||||
_dy += _c[PUPPET_CONTROL.fy] * _p.controlWeights[j];
|
||||
}
|
||||
|
||||
_p.planMove(_dx, _dy);
|
||||
}
|
||||
|
||||
var it = attributes.iteration;
|
||||
var _rat = 1 / it;
|
||||
|
||||
|
@ -664,21 +729,18 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
}
|
||||
} #endregion
|
||||
|
||||
static step = function() { #region
|
||||
var _type = getInputData(8);
|
||||
|
||||
inputs[| 2].setVisible(_type == 0);
|
||||
inputs[| 4].setVisible(_type == 0);
|
||||
inputs[| 7].setVisible(_type == 0);
|
||||
|
||||
if(_type == 0) tools = tools_edit;
|
||||
else if (_type == 1) tools = tools_mesh;
|
||||
} #endregion
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
|
||||
var _inSurf = _data[0];
|
||||
if(!is_surface(_inSurf)) return _outSurf;
|
||||
|
||||
data.controls = [];
|
||||
for(var i = control_index; i < ds_list_size(inputs); i++) {
|
||||
var c = getInputData(i);
|
||||
|
||||
if(c[0] == PUPPET_FORCE_MODE.puppet)
|
||||
array_push(data.controls, c);
|
||||
}
|
||||
|
||||
reset();
|
||||
control();
|
||||
|
||||
|
@ -701,6 +763,8 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
return _outSurf;
|
||||
} #endregion
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static postDeserialize = function() { #region
|
||||
var _inputs = load_map.inputs;
|
||||
|
||||
|
@ -733,7 +797,7 @@ function Node_Mesh_Warp(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
} #endregion
|
||||
|
||||
static postLoad = function() { #region
|
||||
setTriangle();
|
||||
Mesh_setTriangle();
|
||||
|
||||
if(loadPin == noone) return;
|
||||
|
||||
|
|
|
@ -305,9 +305,7 @@ function Panel_Animation() : PanelContent() constructor {
|
|||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
var dialog = dialogCall(o_dialog_color_selector);
|
||||
dialog.selector.onApply = setSelectingItemColor;
|
||||
dialog.onApply = setSelectingItemColor;
|
||||
colorSelectorCall(context_selecting_item? context_selecting_item.item.getColor() : c_white, setSelectingItemColor);
|
||||
}
|
||||
]);
|
||||
|
||||
|
|
|
@ -506,9 +506,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
var dialog = dialogCall(o_dialog_color_selector);
|
||||
dialog.selector.onApply = setSelectingNodeColor;
|
||||
dialog.onApply = setSelectingNodeColor;
|
||||
colorSelectorCall(node_hover? node_hover.attributes.color : c_white, setSelectingNodeColor);
|
||||
}
|
||||
]);
|
||||
|
||||
|
@ -549,9 +547,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
var dialog = dialogCall(o_dialog_color_selector);
|
||||
dialog.selector.onApply = setSelectingJuncColor;
|
||||
dialog.onApply = setSelectingJuncColor;
|
||||
colorSelectorCall(__junction_hovering? __junction_hovering.color : c_white, setSelectingJuncColor);
|
||||
}
|
||||
]);
|
||||
|
||||
|
|
|
@ -172,9 +172,7 @@ function Panel_Inspector() : PanelContent() constructor {
|
|||
array_push(_item, [
|
||||
[ THEME.timeline_color, 2 ],
|
||||
function(_data) {
|
||||
var dialog = dialogCall(o_dialog_color_selector);
|
||||
dialog.selector.onApply = setSelectingItemColor;
|
||||
dialog.onApply = setSelectingItemColor;
|
||||
colorSelectorCall(__dialog_junction? __dialog_junction.color : c_white, setSelectingItemColor);
|
||||
}
|
||||
]);
|
||||
|
||||
|
|
|
@ -644,7 +644,7 @@ function Panel_Preview() : PanelContent() constructor {
|
|||
tile_surface = surface_verify(tile_surface, w, surface_get_height_safe(preview_surface[0]) * ss);
|
||||
surface_set_target(tile_surface);
|
||||
DRAW_CLEAR
|
||||
draw_surface_tiled_ext_safe(preview_surface[0], psx, 0, ss, ss, c_white, 1);
|
||||
draw_surface_tiled_ext_safe(preview_surface[0], psx, 0, ss, ss, 0, c_white, 1);
|
||||
surface_reset_target();
|
||||
draw_surface_safe(tile_surface, 0, psy);
|
||||
break;
|
||||
|
@ -652,11 +652,11 @@ function Panel_Preview() : PanelContent() constructor {
|
|||
tile_surface = surface_verify(tile_surface, surface_get_width_safe(preview_surface[0]) * ss, h);
|
||||
surface_set_target(tile_surface);
|
||||
DRAW_CLEAR
|
||||
draw_surface_tiled_ext_safe(preview_surface[0], 0, psy, ss, ss, c_white, 1);
|
||||
draw_surface_tiled_ext_safe(preview_surface[0], 0, psy, ss, ss, 0, c_white, 1);
|
||||
surface_reset_target();
|
||||
draw_surface_safe(tile_surface, psx, 0);
|
||||
break;
|
||||
case 3 : draw_surface_tiled_ext_safe(preview_surface[0], psx, psy, ss, ss, c_white, 1); break;
|
||||
case 3 : draw_surface_tiled_ext_safe(preview_surface[0], psx, psy, ss, ss, 0, c_white, 1); break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -101,6 +101,12 @@ function preview_overlay_puppet(interact, active, _x, _y, _s, _mx, _my, _snx, _s
|
|||
} else
|
||||
draw_sprite_colored(THEME.anchor_rotate, drag_type == 6, rx, ry,, dir - 45);
|
||||
break;
|
||||
case PUPPET_FORCE_MODE.puppet :
|
||||
draw_line_width2(_ax, _ay, _ax1, _ay1, 6, 1);
|
||||
|
||||
draw_sprite_colored(THEME.anchor_selector, 0, _ax, _ay);
|
||||
draw_sprite_colored(THEME.anchor_selector, 2, _ax1, _ay1);
|
||||
break;
|
||||
}
|
||||
|
||||
if(drag_type == 1) {
|
||||
|
@ -179,7 +185,10 @@ function preview_overlay_puppet(interact, active, _x, _y, _s, _mx, _my, _snx, _s
|
|||
}
|
||||
}
|
||||
|
||||
if(interact && active && _val[PUPPET_CONTROL.mode] == PUPPET_FORCE_MODE.move && point_in_circle(_mx, _my, _ax1, _ay1, 8)) {
|
||||
var _mode = _val[PUPPET_CONTROL.mode];
|
||||
|
||||
if(interact && active && (_mode == PUPPET_FORCE_MODE.move || _mode == PUPPET_FORCE_MODE.puppet) && point_in_circle(_mx, _my, _ax1, _ay1, 8)) {
|
||||
|
||||
hover = 2;
|
||||
draw_sprite_colored(THEME.anchor_selector, 0, _ax1, _ay1);
|
||||
if(mouse_press(mb_left, active)) {
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
function scrollItem(name, spr = noone) constructor {
|
||||
function scrollItem(name, spr = noone, spr_ind = 0, spr_blend = COLORS._main_icon) constructor {
|
||||
self.name = name;
|
||||
self.data = name;
|
||||
|
||||
self.spr = spr;
|
||||
self.spr_ind = 0;
|
||||
self.spr_blend = c_white;
|
||||
self.spr_ind = spr_ind;
|
||||
self.spr_blend = spr_blend;
|
||||
|
||||
tooltip = "";
|
||||
}
|
||||
|
||||
function scrollBox(_data, _onModify, update_hover = true) : widget() constructor {
|
||||
self.update_hover = update_hover;
|
||||
|
||||
onModify = _onModify;
|
||||
data_list = _data;
|
||||
self.update_hover = update_hover;
|
||||
data = _data;
|
||||
curr_text = 0;
|
||||
|
||||
|
@ -26,26 +28,26 @@ function scrollBox(_data, _onModify, update_hover = true) : widget() constructor
|
|||
align = fa_center;
|
||||
extra_button = noone;
|
||||
|
||||
static trigger = function() {
|
||||
static trigger = function() { #region
|
||||
if(is_method(data_list)) data = data_list();
|
||||
else data = data_list;
|
||||
|
||||
var ind = array_find(data, curr_text);
|
||||
|
||||
open = true;
|
||||
|
||||
with(dialogCall(o_dialog_scrollbox, x + open_rx, y + open_ry)) {
|
||||
initScroll(other);
|
||||
initVal = ind;
|
||||
align = other.align;
|
||||
update_hover = other.update_hover;
|
||||
}
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static drawParam = function(params) {
|
||||
static drawParam = function(params) { #region
|
||||
return draw(params.x, params.y, params.w, params.h, params.data, params.m, params.rx, params.ry);
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static draw = function(_x, _y, _w, _h, _val, _m = mouse_ui, _rx = 0, _ry = 0) {
|
||||
static draw = function(_x, _y, _w, _h, _val, _m = mouse_ui, _rx = 0, _ry = 0) { #region
|
||||
x = _x;
|
||||
y = _y;
|
||||
open_rx = _rx;
|
||||
|
@ -100,15 +102,21 @@ function scrollBox(_data, _onModify, update_hover = true) : widget() constructor
|
|||
var _arw = sprite_get_width(arrow_spr) + ui(8);
|
||||
var _spr = is_instanceof(_selVal, scrollItem) && _selVal.spr;
|
||||
|
||||
var _x0 = _x;
|
||||
var _x1 = _x + w - _arw;
|
||||
var _yc = _y + _h / 2;
|
||||
|
||||
if(_spr) _x0 += ui(32);
|
||||
|
||||
draw_set_text(font, align, fa_center, COLORS._main_text);
|
||||
draw_set_alpha(0.5 + 0.5 * interactable);
|
||||
if(align == fa_center) draw_text_add(_x + (w - _arw) / 2, _y + _h / 2, _text);
|
||||
else if(align == fa_left) draw_text_add(_x + ui(8) + _spr * _h, _y + _h / 2, _text);
|
||||
if(align == fa_center) draw_text_add((_x0 + _x1) / 2, _yc, _text);
|
||||
else if(align == fa_left) draw_text_add(_x0 + ui(8), _yc, _text);
|
||||
draw_set_alpha(1);
|
||||
|
||||
if(_spr) draw_sprite_ext(_selVal.spr, 0, _x + ui(8) + _h / 2, _y + _h / 2, 1, 1, 0, _selVal.spr_blend, 1);
|
||||
if(_spr) draw_sprite_ext(_selVal.spr, _selVal.spr_ind, _x + ui(16), _yc, 1, 1, 0, _selVal.spr_blend, 1);
|
||||
|
||||
draw_sprite_ui_uniform(arrow_spr, arrow_ind, _x + w - _arw / 2, _y + _h / 2, 1, COLORS._main_icon, 0.5 + 0.5 * interactable);
|
||||
draw_sprite_ui_uniform(arrow_spr, arrow_ind, _x1 + _arw / 2, _yc, 1, COLORS._main_icon, 0.5 + 0.5 * interactable);
|
||||
|
||||
if(WIDGET_CURRENT == self)
|
||||
draw_sprite_stretched_ext(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6), COLORS._main_accent, 1);
|
||||
|
@ -116,5 +124,5 @@ function scrollBox(_data, _onModify, update_hover = true) : widget() constructor
|
|||
resetFocus();
|
||||
|
||||
return h;
|
||||
}
|
||||
} #endregion
|
||||
}
|
|
@ -68,7 +68,7 @@ function draw_surface_tiled_safe(surface, _x, _y) { #region
|
|||
__channel_pos(surface);
|
||||
} #endregion
|
||||
|
||||
function draw_surface_tiled_ext_safe(surface, _x, _y, _xs = 1, _ys = 1, _col = c_white, _alpha = 1) { #region
|
||||
function draw_surface_tiled_ext_safe(surface, _x, _y, _xs = 1, _ys = 1, _rot = 0, _col = c_white, _alpha = 1) { #region
|
||||
INLINE
|
||||
|
||||
if(is_struct(surface)) {
|
||||
|
@ -80,9 +80,18 @@ function draw_surface_tiled_ext_safe(surface, _x, _y, _xs = 1, _ys = 1, _col = c
|
|||
}
|
||||
if(!surface_exists(surface)) return;
|
||||
|
||||
__channel_pre(surface);
|
||||
draw_surface_tiled_ext(surface, _x, _y, _xs, _ys, _col, _alpha);
|
||||
__channel_pos(surface);
|
||||
var back = surface_get_target();
|
||||
var bdim = surface_get_dimension(back);
|
||||
|
||||
shader_set(sh_draw_tile);
|
||||
shader_set_f("backDimension", bdim);
|
||||
shader_set_f("foreDimension", surface_get_dimension(surface));
|
||||
shader_set_f("position" , [ _x, _y ]);
|
||||
shader_set_f("scale" , [ _xs, _ys ]);
|
||||
shader_set_f("rotation" , _rot);
|
||||
|
||||
draw_surface_stretched_ext(surface, 0, 0, bdim[0], bdim[1], _col, _alpha);
|
||||
shader_reset();
|
||||
} #endregion
|
||||
|
||||
function draw_surface_part_ext_safe(surface, _l, _t, _w, _h, _x, _y, _xs = 1, _ys = 1, _rot = 0, _col = c_white, _alpha = 1) { #region
|
||||
|
|
67
shaders/sh_draw_tile/sh_draw_tile.fsh
Normal file
|
@ -0,0 +1,67 @@
|
|||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
uniform vec2 backDimension;
|
||||
uniform vec2 foreDimension;
|
||||
|
||||
uniform vec2 position;
|
||||
uniform vec2 scale;
|
||||
uniform float rotation;
|
||||
|
||||
#region /////////////// SAMPLING ///////////////
|
||||
|
||||
const float PI = 3.14159265358979323846;
|
||||
uniform int interpolation;
|
||||
uniform vec2 sampleDimension;
|
||||
|
||||
const int RSIN_RADIUS = 1;
|
||||
|
||||
float sinc ( float x ) { return x == 0.? 1. : sin(x * PI) / (x * PI); }
|
||||
|
||||
vec4 texture2D_rsin( sampler2D texture, vec2 uv ) {
|
||||
vec2 tx = 1.0 / sampleDimension;
|
||||
vec2 p = uv * sampleDimension - vec2(0.5);
|
||||
|
||||
vec4 sum = vec4(0.0);
|
||||
float weights = 0.;
|
||||
|
||||
for (int x = -RSIN_RADIUS; x <= RSIN_RADIUS; x++)
|
||||
for (int y = -RSIN_RADIUS; y <= RSIN_RADIUS; y++) {
|
||||
float a = length(vec2(float(x), float(y))) / float(RSIN_RADIUS);
|
||||
if(a > 1.) continue;
|
||||
float w = sinc(a * PI * tx.x) * sinc(a * PI * tx.y);
|
||||
vec2 offset = vec2(float(x), float(y)) * tx;
|
||||
vec4 sample = texture2D(texture, (p + offset + vec2(0.5)) / sampleDimension);
|
||||
sum += w * sample;
|
||||
weights += w;
|
||||
}
|
||||
|
||||
return sum / weights;
|
||||
}
|
||||
|
||||
vec4 texture2D_bicubic( sampler2D texture, vec2 uv ) {
|
||||
uv = uv * sampleDimension + 0.5;
|
||||
vec2 iuv = floor( uv );
|
||||
vec2 fuv = fract( uv );
|
||||
uv = iuv + fuv * fuv * (3.0 - 2.0 * fuv);
|
||||
uv = (uv - 0.5) / sampleDimension;
|
||||
return texture2D( texture, uv );
|
||||
}
|
||||
|
||||
vec4 texture2Dintp( sampler2D texture, vec2 uv ) {
|
||||
if(interpolation == 2) return texture2D_bicubic( texture, uv );
|
||||
else if(interpolation == 3) return texture2D_rsin( texture, uv );
|
||||
return texture2D( texture, uv );
|
||||
}
|
||||
|
||||
#endregion /////////////// SAMPLING ///////////////
|
||||
|
||||
void main() {
|
||||
vec2 pos = position / backDimension;
|
||||
float rot = radians(rotation);
|
||||
vec2 sca = scale * foreDimension / backDimension;
|
||||
|
||||
vec2 px = (v_vTexcoord - pos) * mat2(cos(rot), -sin(rot), sin(rot), cos(rot)) / sca;
|
||||
|
||||
gl_FragColor = v_vColour * texture2Dintp( gm_BaseTexture, fract(px) );
|
||||
}
|
19
shaders/sh_draw_tile/sh_draw_tile.vsh
Normal file
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// Simple passthrough vertex shader
|
||||
//
|
||||
attribute vec3 in_Position; // (x,y,z)
|
||||
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||
attribute vec4 in_Colour; // (r,g,b,a)
|
||||
attribute vec2 in_TextureCoord; // (u,v)
|
||||
|
||||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||
|
||||
v_vColour = in_Colour;
|
||||
v_vTexcoord = in_TextureCoord;
|
||||
}
|
10
shaders/sh_draw_tile/sh_draw_tile.yy
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"resourceType": "GMShader",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "sh_draw_tile",
|
||||
"parent": {
|
||||
"name": "draw",
|
||||
"path": "folders/shader/draw.yy",
|
||||
},
|
||||
"type": 1,
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
/////////////// SAMPLING ///////////////
|
||||
#region /////////////// SAMPLING ///////////////
|
||||
|
||||
const float PI = 3.14159265358979323846;
|
||||
uniform int interpolation;
|
||||
|
@ -50,7 +50,7 @@ vec4 texture2Dintp( sampler2D texture, vec2 uv ) {
|
|||
return texture2D( texture, uv );
|
||||
}
|
||||
|
||||
/////////////// SAMPLING ///////////////
|
||||
#endregion /////////////// SAMPLING ///////////////
|
||||
|
||||
void main() {
|
||||
gl_FragColor = texture2Dintp( gm_BaseTexture, v_vTexcoord ) * v_vColour;
|
||||
|
|
After Width: | Height: | Size: 510 B |
After Width: | Height: | Size: 519 B |
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 534 B |
After Width: | Height: | Size: 510 B |
After Width: | Height: | Size: 519 B |
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 534 B |
80
sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_2d_light_shape",
|
||||
"bbox_bottom": 20,
|
||||
"bbox_left": 2,
|
||||
"bbox_right": 21,
|
||||
"bbox_top": 2,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"674e4c6b-fa3c-48fc-b8dd-e98e893f6a37",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"627be0c1-d02f-48eb-bad9-63437bced55a",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"fe76a977-1573-4abb-94d3-9571afbd00e9",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"014aa4b1-411b-42cd-bfbf-444fee6c9934",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 24,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"37839a6c-b72d-4baf-b5a3-7a46c99d73cc","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "nodes",
|
||||
"path": "folders/sprites/nodes.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_2d_light_shape",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 4.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"674e4c6b-fa3c-48fc-b8dd-e98e893f6a37","path":"sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy",},},},"Disabled":false,"id":"583b3052-2b0a-4292-a2ad-0c01956f15c9","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"627be0c1-d02f-48eb-bad9-63437bced55a","path":"sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy",},},},"Disabled":false,"id":"6b675d2b-d448-47df-80ce-540bc127a310","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"fe76a977-1573-4abb-94d3-9571afbd00e9","path":"sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy",},},},"Disabled":false,"id":"da156bd6-9155-48f6-83c4-63ee1300fa0a","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"014aa4b1-411b-42cd-bfbf-444fee6c9934","path":"sprites/s_node_2d_light_shape/s_node_2d_light_shape.yy",},},},"Disabled":false,"id":"38fed255-f284-4f73-8e30-9c51e8107eb5","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 12,
|
||||
"yorigin": 12,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 24,
|
||||
}
|
After Width: | Height: | Size: 624 B |
After Width: | Height: | Size: 532 B |
After Width: | Height: | Size: 624 B |
After Width: | Height: | Size: 532 B |
76
sprites/s_node_3d_affector_shape/s_node_3d_affector_shape.yy
Normal file
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_3d_affector_shape",
|
||||
"bbox_bottom": 21,
|
||||
"bbox_left": 1,
|
||||
"bbox_right": 21,
|
||||
"bbox_top": 2,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"cec94645-072e-4d24-816e-0bfc6d403e1f",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"f99dae6f-633e-4c77-b3d3-3020ece1e7e6",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 24,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"c6a750ab-03c7-4d31-b13a-4766f6495768","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "nodes",
|
||||
"path": "folders/sprites/nodes.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_3d_affector_shape",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 2.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"cec94645-072e-4d24-816e-0bfc6d403e1f","path":"sprites/s_node_3d_affector_shape/s_node_3d_affector_shape.yy",},},},"Disabled":false,"id":"e94fe8ec-8dd0-48fe-8aa7-e2f3566ac380","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f99dae6f-633e-4c77-b3d3-3020ece1e7e6","path":"sprites/s_node_3d_affector_shape/s_node_3d_affector_shape.yy",},},},"Disabled":false,"id":"7c9a1d53-39f3-4d2b-8880-37deb424e792","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 12,
|
||||
"yorigin": 12,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 24,
|
||||
}
|
After Width: | Height: | Size: 383 B |
After Width: | Height: | Size: 404 B |
After Width: | Height: | Size: 387 B |
After Width: | Height: | Size: 517 B |
After Width: | Height: | Size: 383 B |
After Width: | Height: | Size: 404 B |
After Width: | Height: | Size: 387 B |
After Width: | Height: | Size: 517 B |
80
sprites/s_node_alignment/s_node_alignment.yy
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_alignment",
|
||||
"bbox_bottom": 21,
|
||||
"bbox_left": 2,
|
||||
"bbox_right": 21,
|
||||
"bbox_top": 2,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"931ace83-a1ee-41ec-9c98-f70f8491767d",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"1f91dfed-b073-44bb-882e-2aacb8769394",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"06283cbc-d301-423e-9052-39e1da591134",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"d84fab96-3ba9-4987-b81f-d3e06f6d0ed7",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 24,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"3ab15885-432b-41f9-96e6-89be72c32c08","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "nodes",
|
||||
"path": "folders/sprites/nodes.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_alignment",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 4.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"931ace83-a1ee-41ec-9c98-f70f8491767d","path":"sprites/s_node_alignment/s_node_alignment.yy",},},},"Disabled":false,"id":"2a835a87-106b-45e4-b220-3536e50261fd","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"1f91dfed-b073-44bb-882e-2aacb8769394","path":"sprites/s_node_alignment/s_node_alignment.yy",},},},"Disabled":false,"id":"78cf9dc0-f017-4f48-9af4-de38897f3d5f","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"06283cbc-d301-423e-9052-39e1da591134","path":"sprites/s_node_alignment/s_node_alignment.yy",},},},"Disabled":false,"id":"8a704a9f-a685-448e-81c1-3fb6a92450d2","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"d84fab96-3ba9-4987-b81f-d3e06f6d0ed7","path":"sprites/s_node_alignment/s_node_alignment.yy",},},},"Disabled":false,"id":"b588c33e-6604-4452-a95c-b90e5868a398","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 12,
|
||||
"yorigin": 12,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 24,
|
||||
}
|
After Width: | Height: | Size: 414 B |
After Width: | Height: | Size: 524 B |
After Width: | Height: | Size: 414 B |
After Width: | Height: | Size: 524 B |
76
sprites/s_node_axis_type/s_node_axis_type.yy
Normal file
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_axis_type",
|
||||
"bbox_bottom": 20,
|
||||
"bbox_left": 3,
|
||||
"bbox_right": 20,
|
||||
"bbox_top": 3,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"3c9b5ffb-d79f-4dc3-aa1a-9b928295e032",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"f789b503-2811-4276-8327-8c4b2d3c126e",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 24,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"83bb5590-9118-41c6-8fd2-e605c589abb3","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "nodes",
|
||||
"path": "folders/sprites/nodes.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_axis_type",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 2.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"3c9b5ffb-d79f-4dc3-aa1a-9b928295e032","path":"sprites/s_node_axis_type/s_node_axis_type.yy",},},},"Disabled":false,"id":"d30f1bc5-553c-4749-826a-fbe549776693","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f789b503-2811-4276-8327-8c4b2d3c126e","path":"sprites/s_node_axis_type/s_node_axis_type.yy",},},},"Disabled":false,"id":"3f96637e-8729-4492-85fc-805fb9e0e5da","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 12,
|
||||
"yorigin": 12,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 24,
|
||||
}
|
After Width: | Height: | Size: 481 B |
After Width: | Height: | Size: 441 B |
After Width: | Height: | Size: 477 B |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 481 B |
After Width: | Height: | Size: 441 B |
After Width: | Height: | Size: 477 B |
After Width: | Height: | Size: 453 B |
80
sprites/s_node_camera_repeat/s_node_camera_repeat.yy
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_camera_repeat",
|
||||
"bbox_bottom": 20,
|
||||
"bbox_left": 3,
|
||||
"bbox_right": 20,
|
||||
"bbox_top": 3,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"b2f7b8ea-c35c-493c-b27f-06eadd92b14f",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"3a16bb12-c0c3-4307-a998-a7c9b2425aee",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"5f993c7c-dff3-48d2-a9e4-fae9c56804e7",},
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"11e19638-7357-4ddf-bc50-bb554b8b600c",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 24,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"3832421a-90b5-4942-9bef-5f40db29249f","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "nodes",
|
||||
"path": "folders/sprites/nodes.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_camera_repeat",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 4.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"b2f7b8ea-c35c-493c-b27f-06eadd92b14f","path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",},},},"Disabled":false,"id":"103cdeda-5a13-4422-855f-fb99fdb64103","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"3a16bb12-c0c3-4307-a998-a7c9b2425aee","path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",},},},"Disabled":false,"id":"ffb0b392-b703-45e9-a626-6d349563a783","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"5f993c7c-dff3-48d2-a9e4-fae9c56804e7","path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",},},},"Disabled":false,"id":"e29556f6-0b84-4325-a640-0f5183a8f378","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"11e19638-7357-4ddf-bc50-bb554b8b600c","path":"sprites/s_node_camera_repeat/s_node_camera_repeat.yy",},},},"Disabled":false,"id":"7a2d88b8-4774-444f-a9aa-62f7bfd13755","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 12,
|
||||
"yorigin": 12,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 24,
|
||||
}
|
After Width: | Height: | Size: 489 B |
After Width: | Height: | Size: 357 B |
After Width: | Height: | Size: 417 B |
After Width: | Height: | Size: 478 B |
After Width: | Height: | Size: 473 B |
After Width: | Height: | Size: 419 B |