diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 6cb7aa434..ef9b2cb8b 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -228,10 +228,10 @@ {"name":"misc","order":11,"path":"folders/shader/misc.yy",}, {"name":"find_boundary","order":7,"path":"folders/shader/misc/find_boundary.yy",}, {"name":"MK effects","order":12,"path":"folders/shader/MK effects.yy",}, - {"name":"Flag","order":3,"path":"folders/shader/MK effects/Flag.yy",}, - {"name":"Fracture","order":5,"path":"folders/shader/MK effects/Fracture.yy",}, - {"name":"Subpixel","order":6,"path":"folders/shader/MK effects/Subpixel.yy",}, - {"name":"Tile","order":4,"path":"folders/shader/MK effects/Tile.yy",}, + {"name":"Fracture","order":2,"path":"folders/shader/MK effects/Fracture.yy",}, + {"name":"shuffle","order":15,"path":"folders/shader/filter/shuffle.yy",}, + {"name":"Subpixel","order":3,"path":"folders/shader/MK effects/Subpixel.yy",}, + {"name":"Tile","order":1,"path":"folders/shader/MK effects/Tile.yy",}, {"name":"noise","order":19,"path":"folders/shader/noise.yy",}, {"name":"pixel_builder","order":13,"path":"folders/shader/pixel_builder.yy",}, {"name":"ray march","order":17,"path":"folders/shader/ray march.yy",}, @@ -810,8 +810,8 @@ {"name":"node_displace","order":1,"path":"scripts/node_displace/node_displace.yy",}, {"name":"node_display_image","order":6,"path":"scripts/node_display_image/node_display_image.yy",}, {"name":"node_display_text","order":5,"path":"scripts/node_display_text/node_display_text.yy",}, - {"name":"node_dither_diffuse","order":8,"path":"scripts/node_dither_diffuse/node_dither_diffuse.yy",}, - {"name":"node_dither","order":7,"path":"scripts/node_dither/node_dither.yy",}, + {"name":"node_dither_diffuse","order":7,"path":"scripts/node_dither_diffuse/node_dither_diffuse.yy",}, + {"name":"node_dither","order":6,"path":"scripts/node_dither/node_dither.yy",}, {"name":"node_dll","order":26,"path":"scripts/node_dll/node_dll.yy",}, {"name":"node_dust","order":3,"path":"scripts/node_dust/node_dust.yy",}, {"name":"node_dynasurf_in","order":4,"path":"scripts/node_dynasurf_in/node_dynasurf_in.yy",}, @@ -819,7 +819,7 @@ {"name":"node_dynasurf_out_width","order":2,"path":"scripts/node_dynasurf_out_width/node_dynasurf_out_width.yy",}, {"name":"node_dynasurf_out","order":1,"path":"scripts/node_dynasurf_out/node_dynasurf_out.yy",}, {"name":"node_edge_detect","order":9,"path":"scripts/node_edge_detect/node_edge_detect.yy",}, - {"name":"node_edge_shade","order":19,"path":"scripts/node_edge_shade/node_edge_shade.yy",}, + {"name":"node_edge_shade","order":20,"path":"scripts/node_edge_shade/node_edge_shade.yy",}, {"name":"node_equation","order":5,"path":"scripts/node_equation/node_equation.yy",}, {"name":"node_erode","order":10,"path":"scripts/node_erode/node_erode.yy",}, {"name":"node_export","order":7,"path":"scripts/node_export/node_export.yy",}, @@ -913,7 +913,7 @@ {"name":"node_iterator_sort_inline_output","order":2,"path":"scripts/node_iterator_sort_inline_output/node_iterator_sort_inline_output.yy",}, {"name":"node_iterator_sort_input","order":1,"path":"scripts/node_iterator_sort_input/node_iterator_sort_input.yy",}, {"name":"node_iterator_sort_output","order":2,"path":"scripts/node_iterator_sort_output/node_iterator_sort_output.yy",}, - {"name":"node_jpeg","order":24,"path":"scripts/node_jpeg/node_jpeg.yy",}, + {"name":"node_jpeg","order":25,"path":"scripts/node_jpeg/node_jpeg.yy",}, {"name":"node_json_file_read","order":5,"path":"scripts/node_json_file_read/node_json_file_read.yy",}, {"name":"node_json_file_write","order":9,"path":"scripts/node_json_file_write/node_json_file_write.yy",}, {"name":"node_keyframe","order":4,"path":"scripts/node_keyframe/node_keyframe.yy",}, @@ -1099,6 +1099,7 @@ {"name":"node_shape","order":8,"path":"scripts/node_shape/node_shape.yy",}, {"name":"node_shard_noise","order":12,"path":"scripts/node_shard_noise/node_shard_noise.yy",}, {"name":"node_shell","order":15,"path":"scripts/node_shell/node_shell.yy",}, + {"name":"node_shuffle","order":28,"path":"scripts/node_shuffle/node_shuffle.yy",}, {"name":"node_skew","order":11,"path":"scripts/node_skew/node_skew.yy",}, {"name":"node_sky","order":16,"path":"scripts/node_sky/node_sky.yy",}, {"name":"node_slideshow","order":28,"path":"scripts/node_slideshow/node_slideshow.yy",}, @@ -1422,8 +1423,8 @@ {"name":"sh_active_canvas_ink","order":13,"path":"shaders/sh_active_canvas_ink/sh_active_canvas_ink.yy",}, {"name":"sh_alpha_grey","order":1,"path":"shaders/sh_alpha_grey/sh_alpha_grey.yy",}, {"name":"sh_alpha_hash","order":2,"path":"shaders/sh_alpha_hash/sh_alpha_hash.yy",}, - {"name":"sh_atlas_scan","order":52,"path":"shaders/sh_atlas_scan/sh_atlas_scan.yy",}, - {"name":"sh_atlas","order":28,"path":"shaders/sh_atlas/sh_atlas.yy",}, + {"name":"sh_atlas_scan","order":53,"path":"shaders/sh_atlas_scan/sh_atlas_scan.yy",}, + {"name":"sh_atlas","order":29,"path":"shaders/sh_atlas/sh_atlas.yy",}, {"name":"sh_bend_arc","order":13,"path":"shaders/sh_bend_arc/sh_bend_arc.yy",}, {"name":"sh_bevel_highp","order":3,"path":"shaders/sh_bevel_highp/sh_bevel_highp.yy",}, {"name":"sh_bevel","order":2,"path":"shaders/sh_bevel/sh_bevel.yy",}, @@ -1461,7 +1462,7 @@ {"name":"sh_blink_expand","order":2,"path":"shaders/sh_blink_expand/sh_blink_expand.yy",}, {"name":"sh_blink_replace","order":1,"path":"shaders/sh_blink_replace/sh_blink_replace.yy",}, {"name":"sh_blobify","order":1,"path":"shaders/sh_blobify/sh_blobify.yy",}, - {"name":"sh_bloom_pass","order":17,"path":"shaders/sh_bloom_pass/sh_bloom_pass.yy",}, + {"name":"sh_bloom_pass","order":18,"path":"shaders/sh_bloom_pass/sh_bloom_pass.yy",}, {"name":"sh_blur_alpha","order":2,"path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",}, {"name":"sh_blur_bokeh","order":3,"path":"shaders/sh_blur_bokeh/sh_blur_bokeh.yy",}, {"name":"sh_blur_box_contrast","order":4,"path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",}, @@ -1475,7 +1476,7 @@ {"name":"sh_blur_slope","order":11,"path":"shaders/sh_blur_slope/sh_blur_slope.yy",}, {"name":"sh_blur_zoom","order":12,"path":"shaders/sh_blur_zoom/sh_blur_zoom.yy",}, {"name":"sh_box_pattern","order":29,"path":"shaders/sh_box_pattern/sh_box_pattern.yy",}, - {"name":"sh_brush_linear","order":55,"path":"shaders/sh_brush_linear/sh_brush_linear.yy",}, + {"name":"sh_brush_linear","order":56,"path":"shaders/sh_brush_linear/sh_brush_linear.yy",}, {"name":"sh_brush_outline","order":7,"path":"shaders/sh_brush_outline/sh_brush_outline.yy",}, {"name":"sh_bw","order":3,"path":"shaders/sh_bw/sh_bw.yy",}, {"name":"sh_canvas_apply_draw","order":3,"path":"shaders/sh_canvas_apply_draw/sh_canvas_apply_draw.yy",}, @@ -1502,8 +1503,8 @@ {"name":"sh_channel_S","order":5,"path":"shaders/sh_channel_S/sh_channel_S.yy",}, {"name":"sh_channel_V","order":6,"path":"shaders/sh_channel_V/sh_channel_V.yy",}, {"name":"sh_checkerboard","order":3,"path":"shaders/sh_checkerboard/sh_checkerboard.yy",}, - {"name":"sh_chromatic_aberration","order":31,"path":"shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy",}, - {"name":"sh_clean_shape","order":36,"path":"shaders/sh_clean_shape/sh_clean_shape.yy",}, + {"name":"sh_chromatic_aberration","order":32,"path":"shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy",}, + {"name":"sh_clean_shape","order":37,"path":"shaders/sh_clean_shape/sh_clean_shape.yy",}, {"name":"sh_color_adjust","order":4,"path":"shaders/sh_color_adjust/sh_color_adjust.yy",}, {"name":"sh_color_picker_side_hue","order":2,"path":"shaders/sh_color_picker_side_hue/sh_color_picker_side_hue.yy",}, {"name":"sh_color_picker_side_value","order":3,"path":"shaders/sh_color_picker_side_value/sh_color_picker_side_value.yy",}, @@ -1512,18 +1513,18 @@ {"name":"sh_color_replace","order":8,"path":"shaders/sh_color_replace/sh_color_replace.yy",}, {"name":"sh_color_select_content","order":1,"path":"shaders/sh_color_select_content/sh_color_select_content.yy",}, {"name":"sh_colorize","order":9,"path":"shaders/sh_colorize/sh_colorize.yy",}, - {"name":"sh_colours_replace","order":46,"path":"shaders/sh_colours_replace/sh_colours_replace.yy",}, + {"name":"sh_colours_replace","order":47,"path":"shaders/sh_colours_replace/sh_colours_replace.yy",}, {"name":"sh_combine_hsv","order":10,"path":"shaders/sh_combine_hsv/sh_combine_hsv.yy",}, {"name":"sh_combine_rgb","order":11,"path":"shaders/sh_combine_rgb/sh_combine_rgb.yy",}, {"name":"sh_content_sampler","order":1,"path":"shaders/sh_content_sampler/sh_content_sampler.yy",}, - {"name":"sh_convolution","order":38,"path":"shaders/sh_convolution/sh_convolution.yy",}, + {"name":"sh_convolution","order":39,"path":"shaders/sh_convolution/sh_convolution.yy",}, {"name":"sh_coord","order":30,"path":"shaders/sh_coord/sh_coord.yy",}, {"name":"sh_corner_erode","order":1,"path":"shaders/sh_corner_erode/sh_corner_erode.yy",}, {"name":"sh_corner_iterate","order":2,"path":"shaders/sh_corner_iterate/sh_corner_iterate.yy",}, {"name":"sh_cross_histogram","order":26,"path":"shaders/sh_cross_histogram/sh_cross_histogram.yy",}, {"name":"sh_cross_section","order":25,"path":"shaders/sh_cross_section/sh_cross_section.yy",}, - {"name":"sh_curve_hsv","order":53,"path":"shaders/sh_curve_hsv/sh_curve_hsv.yy",}, - {"name":"sh_curve","order":19,"path":"shaders/sh_curve/sh_curve.yy",}, + {"name":"sh_curve_hsv","order":54,"path":"shaders/sh_curve_hsv/sh_curve_hsv.yy",}, + {"name":"sh_curve","order":20,"path":"shaders/sh_curve/sh_curve.yy",}, {"name":"sh_d3d_3d_transform","order":16,"path":"shaders/sh_d3d_3d_transform/sh_d3d_3d_transform.yy",}, {"name":"sh_d3d_background","order":12,"path":"shaders/sh_d3d_background/sh_d3d_background.yy",}, {"name":"sh_d3d_default","order":3,"path":"shaders/sh_d3d_default/sh_d3d_default.yy",}, @@ -1538,8 +1539,8 @@ {"name":"sh_d3d_silhouette","order":6,"path":"shaders/sh_d3d_silhouette/sh_d3d_silhouette.yy",}, {"name":"sh_d3d_ssao_blur","order":1,"path":"shaders/sh_d3d_ssao_blur/sh_d3d_ssao_blur.yy",}, {"name":"sh_d3d_wireframe","order":8,"path":"shaders/sh_d3d_wireframe/sh_d3d_wireframe.yy",}, - {"name":"sh_de_corner","order":21,"path":"shaders/sh_de_corner/sh_de_corner.yy",}, - {"name":"sh_de_stray","order":22,"path":"shaders/sh_de_stray/sh_de_stray.yy",}, + {"name":"sh_de_corner","order":22,"path":"shaders/sh_de_corner/sh_de_corner.yy",}, + {"name":"sh_de_stray","order":23,"path":"shaders/sh_de_stray/sh_de_stray.yy",}, {"name":"sh_default","order":6,"path":"shaders/sh_default/sh_default.yy",}, {"name":"sh_dialog_palette_selector","order":7,"path":"shaders/sh_dialog_palette_selector/sh_dialog_palette_selector.yy",}, {"name":"sh_diffuse_flow","order":1,"path":"shaders/sh_diffuse_flow/sh_diffuse_flow.yy",}, @@ -1569,10 +1570,10 @@ {"name":"sh_draw_tile_clear","order":4,"path":"shaders/sh_draw_tile_clear/sh_draw_tile_clear.yy",}, {"name":"sh_draw_tile_map","order":5,"path":"shaders/sh_draw_tile_map/sh_draw_tile_map.yy",}, {"name":"sh_draw_tile","order":1,"path":"shaders/sh_draw_tile/sh_draw_tile.yy",}, - {"name":"sh_edge_detect","order":49,"path":"shaders/sh_edge_detect/sh_edge_detect.yy",}, + {"name":"sh_edge_detect","order":50,"path":"shaders/sh_edge_detect/sh_edge_detect.yy",}, {"name":"sh_edge_shade_apply","order":2,"path":"shaders/sh_edge_shade_apply/sh_edge_shade_apply.yy",}, {"name":"sh_edge_shade_convert","order":1,"path":"shaders/sh_edge_shade_convert/sh_edge_shade_convert.yy",}, - {"name":"sh_erode","order":25,"path":"shaders/sh_erode/sh_erode.yy",}, + {"name":"sh_erode","order":26,"path":"shaders/sh_erode/sh_erode.yy",}, {"name":"sh_fd_add_velocity","order":1,"path":"shaders/sh_fd_add_velocity/sh_fd_add_velocity.yy",}, {"name":"sh_fd_advect_material","order":2,"path":"shaders/sh_fd_advect_material/sh_fd_advect_material.yy",}, {"name":"sh_fd_advect_velocity","order":7,"path":"shaders/sh_fd_advect_velocity/sh_fd_advect_velocity.yy",}, @@ -1593,11 +1594,11 @@ {"name":"sh_flood_fill_replace","order":2,"path":"shaders/sh_flood_fill_replace/sh_flood_fill_replace.yy",}, {"name":"sh_freeform_fill_cleanup","order":2,"path":"shaders/sh_freeform_fill_cleanup/sh_freeform_fill_cleanup.yy",}, {"name":"sh_freeform_fill_pass2","order":1,"path":"shaders/sh_freeform_fill_pass2/sh_freeform_fill_pass2.yy",}, - {"name":"sh_FXAA","order":43,"path":"shaders/sh_FXAA/sh_FXAA.yy",}, - {"name":"sh_gamma_map","order":51,"path":"shaders/sh_gamma_map/sh_gamma_map.yy",}, + {"name":"sh_FXAA","order":44,"path":"shaders/sh_FXAA/sh_FXAA.yy",}, + {"name":"sh_gamma_map","order":52,"path":"shaders/sh_gamma_map/sh_gamma_map.yy",}, {"name":"sh_get_max_downsampled","order":8,"path":"shaders/sh_get_max_downsampled/sh_get_max_downsampled.yy",}, {"name":"sh_get_min_downsampled","order":9,"path":"shaders/sh_get_min_downsampled/sh_get_min_downsampled.yy",}, - {"name":"sh_glow","order":34,"path":"shaders/sh_glow/sh_glow.yy",}, + {"name":"sh_glow","order":35,"path":"shaders/sh_glow/sh_glow.yy",}, {"name":"sh_gradient_display_alpha","order":12,"path":"shaders/sh_gradient_display_alpha/sh_gradient_display_alpha.yy",}, {"name":"sh_gradient_display","order":7,"path":"shaders/sh_gradient_display/sh_gradient_display.yy",}, {"name":"sh_gradient_points","order":8,"path":"shaders/sh_gradient_points/sh_gradient_points.yy",}, @@ -1611,8 +1612,8 @@ {"name":"sh_grid_tri","order":3,"path":"shaders/sh_grid_tri/sh_grid_tri.yy",}, {"name":"sh_herringbone_tile","order":5,"path":"shaders/sh_herringbone_tile/sh_herringbone_tile.yy",}, {"name":"sh_high_pass","order":15,"path":"shaders/sh_high_pass/sh_high_pass.yy",}, - {"name":"sh_image_trace","order":48,"path":"shaders/sh_image_trace/sh_image_trace.yy",}, - {"name":"sh_interlaced","order":57,"path":"shaders/sh_interlaced/sh_interlaced.yy",}, + {"name":"sh_image_trace","order":49,"path":"shaders/sh_image_trace/sh_image_trace.yy",}, + {"name":"sh_interlaced","order":58,"path":"shaders/sh_interlaced/sh_interlaced.yy",}, {"name":"sh_invert","order":17,"path":"shaders/sh_invert/sh_invert.yy",}, {"name":"sh_jpeg_recons","order":1,"path":"shaders/sh_jpeg_recons/sh_jpeg_recons.yy",}, {"name":"sh_kuwahara_ani_pass1","order":1,"path":"shaders/sh_kuwahara_ani_pass1/sh_kuwahara_ani_pass1.yy",}, @@ -1625,17 +1626,19 @@ {"name":"sh_liquefy_bloat","order":3,"path":"shaders/sh_liquefy_bloat/sh_liquefy_bloat.yy",}, {"name":"sh_liquefy_pinch","order":2,"path":"shaders/sh_liquefy_pinch/sh_liquefy_pinch.yy",}, {"name":"sh_liquefy_twirl","order":1,"path":"shaders/sh_liquefy_twirl/sh_liquefy_twirl.yy",}, - {"name":"sh_local_analyze","order":39,"path":"shaders/sh_local_analyze/sh_local_analyze.yy",}, + {"name":"sh_local_analyze","order":40,"path":"shaders/sh_local_analyze/sh_local_analyze.yy",}, {"name":"sh_lovify","order":2,"path":"shaders/sh_lovify/sh_lovify.yy",}, {"name":"sh_lum2alpha","order":16,"path":"shaders/sh_lum2alpha/sh_lum2alpha.yy",}, - {"name":"sh_mask_expand","order":44,"path":"shaders/sh_mask_expand/sh_mask_expand.yy",}, + {"name":"sh_mask_expand","order":45,"path":"shaders/sh_mask_expand/sh_mask_expand.yy",}, {"name":"sh_mask_invert","order":20,"path":"shaders/sh_mask_invert/sh_mask_invert.yy",}, {"name":"sh_mask_modify","order":2,"path":"shaders/sh_mask_modify/sh_mask_modify.yy",}, {"name":"sh_mesh_generation","order":3,"path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",}, {"name":"sh_mirror_mask","order":8,"path":"shaders/sh_mirror_mask/sh_mirror_mask.yy",}, + {"name":"sh_mk_ballGrid","order":5,"path":"shaders/sh_mk_ballGrid/sh_mk_ballGrid.yy",}, {"name":"sh_mk_flag_shade","order":1,"path":"shaders/sh_mk_flag_shade/sh_mk_flag_shade.yy",}, - {"name":"sh_mk_flipGrid","order":1,"path":"shaders/sh_mk_flipGrid/sh_mk_flipGrid.yy",}, - {"name":"sh_mk_saber_glow","order":2,"path":"shaders/sh_mk_saber_glow/sh_mk_saber_glow.yy",}, + {"name":"sh_mk_flipGrid","order":6,"path":"shaders/sh_mk_flipGrid/sh_mk_flipGrid.yy",}, + {"name":"sh_mk_saber_glow","order":7,"path":"shaders/sh_mk_saber_glow/sh_mk_saber_glow.yy",}, + {"name":"sh_mk_shuffle_block","order":1,"path":"shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.yy",}, {"name":"sh_mk_subpixel_chevron","order":4,"path":"shaders/sh_mk_subpixel_chevron/sh_mk_subpixel_chevron.yy",}, {"name":"sh_mk_subpixel_diagonal","order":7,"path":"shaders/sh_mk_subpixel_diagonal/sh_mk_subpixel_diagonal.yy",}, {"name":"sh_mk_subpixel_linear_block_offset","order":3,"path":"shaders/sh_mk_subpixel_linear_block_offset/sh_mk_subpixel_linear_block_offset.yy",}, @@ -1672,13 +1675,13 @@ {"name":"sh_normal_light","order":1,"path":"shaders/sh_normal_light/sh_normal_light.yy",}, {"name":"sh_normalize","order":23,"path":"shaders/sh_normalize/sh_normalize.yy",}, {"name":"sh_offset","order":12,"path":"shaders/sh_offset/sh_offset.yy",}, - {"name":"sh_outline_only","order":32,"path":"shaders/sh_outline_only/sh_outline_only.yy",}, - {"name":"sh_outline","order":23,"path":"shaders/sh_outline/sh_outline.yy",}, + {"name":"sh_outline_only","order":33,"path":"shaders/sh_outline_only/sh_outline_only.yy",}, + {"name":"sh_outline","order":24,"path":"shaders/sh_outline/sh_outline.yy",}, {"name":"sh_override_channel","order":21,"path":"shaders/sh_override_channel/sh_override_channel.yy",}, {"name":"sh_palette_mixer_atlas_expand_apply","order":2,"path":"shaders/sh_palette_mixer_atlas_expand_apply/sh_palette_mixer_atlas_expand_apply.yy",}, {"name":"sh_palette_mixer_atlas_expand_iterate","order":1,"path":"shaders/sh_palette_mixer_atlas_expand_iterate/sh_palette_mixer_atlas_expand_iterate.yy",}, {"name":"sh_palette_mixer_atlas_expand_palette","order":3,"path":"shaders/sh_palette_mixer_atlas_expand_palette/sh_palette_mixer_atlas_expand_palette.yy",}, - {"name":"sh_palette_replace","order":37,"path":"shaders/sh_palette_replace/sh_palette_replace.yy",}, + {"name":"sh_palette_replace","order":38,"path":"shaders/sh_palette_replace/sh_palette_replace.yy",}, {"name":"sh_palette_shift","order":19,"path":"shaders/sh_palette_shift/sh_palette_shift.yy",}, {"name":"sh_path_fill_profile","order":15,"path":"shaders/sh_path_fill_profile/sh_path_fill_profile.yy",}, {"name":"sh_pb_blob","order":1,"path":"shaders/sh_pb_blob/sh_pb_blob.yy",}, @@ -1696,12 +1699,12 @@ {"name":"sh_perlin_tiled","order":15,"path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",}, {"name":"sh_perlin","order":12,"path":"shaders/sh_perlin/sh_perlin.yy",}, {"name":"sh_pixel_cloud","order":4,"path":"shaders/sh_pixel_cloud/sh_pixel_cloud.yy",}, - {"name":"sh_pixel_math","order":56,"path":"shaders/sh_pixel_math/sh_pixel_math.yy",}, + {"name":"sh_pixel_math","order":57,"path":"shaders/sh_pixel_math/sh_pixel_math.yy",}, {"name":"sh_pixel_sample","order":27,"path":"shaders/sh_pixel_sample/sh_pixel_sample.yy",}, - {"name":"sh_pixel_sort","order":33,"path":"shaders/sh_pixel_sort/sh_pixel_sort.yy",}, + {"name":"sh_pixel_sort","order":34,"path":"shaders/sh_pixel_sort/sh_pixel_sort.yy",}, {"name":"sh_polar","order":1,"path":"shaders/sh_polar/sh_polar.yy",}, - {"name":"sh_posterize_palette","order":20,"path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",}, - {"name":"sh_posterize","order":24,"path":"shaders/sh_posterize/sh_posterize.yy",}, + {"name":"sh_posterize_palette","order":21,"path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",}, + {"name":"sh_posterize","order":25,"path":"shaders/sh_posterize/sh_posterize.yy",}, {"name":"sh_preview_histogram_outline","order":1,"path":"shaders/sh_preview_histogram_outline/sh_preview_histogram_outline.yy",}, {"name":"sh_pytagorean_tile","order":4,"path":"shaders/sh_pytagorean_tile/sh_pytagorean_tile.yy",}, {"name":"sh_quarsicrystal","order":14,"path":"shaders/sh_quarsicrystal/sh_quarsicrystal.yy",}, @@ -1721,21 +1724,21 @@ {"name":"sh_region_fill_rg_coord","order":11,"path":"shaders/sh_region_fill_rg_coord/sh_region_fill_rg_coord.yy",}, {"name":"sh_region_fill_rg_index","order":12,"path":"shaders/sh_region_fill_rg_index/sh_region_fill_rg_index.yy",}, {"name":"sh_region_fill_rg_map","order":7,"path":"shaders/sh_region_fill_rg_map/sh_region_fill_rg_map.yy",}, - {"name":"sh_remove_black","order":30,"path":"shaders/sh_remove_black/sh_remove_black.yy",}, + {"name":"sh_remove_black","order":31,"path":"shaders/sh_remove_black/sh_remove_black.yy",}, {"name":"sh_replace_color","order":4,"path":"shaders/sh_replace_color/sh_replace_color.yy",}, - {"name":"sh_rim","order":50,"path":"shaders/sh_rim/sh_rim.yy",}, + {"name":"sh_rim","order":51,"path":"shaders/sh_rim/sh_rim.yy",}, {"name":"sh_rm_cloud","order":2,"path":"shaders/sh_rm_cloud/sh_rm_cloud.yy",}, {"name":"sh_rm_terrain","order":1,"path":"shaders/sh_rm_terrain/sh_rm_terrain.yy",}, {"name":"sh_rsh_erode","order":2,"path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",}, {"name":"sh_rsh_rotate","order":1,"path":"shaders/sh_rsh_rotate/sh_rsh_rotate.yy",}, {"name":"sh_sample_points","order":9,"path":"shaders/sh_sample_points/sh_sample_points.yy",}, {"name":"sh_sao","order":4,"path":"shaders/sh_sao/sh_sao.yy",}, - {"name":"sh_scale_cleanedge","order":54,"path":"shaders/sh_scale_cleanedge/sh_scale_cleanedge.yy",}, - {"name":"sh_scale2x","order":27,"path":"shaders/sh_scale2x/sh_scale2x.yy",}, - {"name":"sh_scale3x","order":29,"path":"shaders/sh_scale3x/sh_scale3x.yy",}, - {"name":"sh_sdf_dist","order":18,"path":"shaders/sh_sdf_dist/sh_sdf_dist.yy",}, - {"name":"sh_sdf_tex","order":15,"path":"shaders/sh_sdf_tex/sh_sdf_tex.yy",}, - {"name":"sh_sdf","order":16,"path":"shaders/sh_sdf/sh_sdf.yy",}, + {"name":"sh_scale_cleanedge","order":55,"path":"shaders/sh_scale_cleanedge/sh_scale_cleanedge.yy",}, + {"name":"sh_scale2x","order":28,"path":"shaders/sh_scale2x/sh_scale2x.yy",}, + {"name":"sh_scale3x","order":30,"path":"shaders/sh_scale3x/sh_scale3x.yy",}, + {"name":"sh_sdf_dist","order":19,"path":"shaders/sh_sdf_dist/sh_sdf_dist.yy",}, + {"name":"sh_sdf_tex","order":16,"path":"shaders/sh_sdf_tex/sh_sdf_tex.yy",}, + {"name":"sh_sdf","order":17,"path":"shaders/sh_sdf/sh_sdf.yy",}, {"name":"sh_seperate_shape_counter","order":1,"path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",}, {"name":"sh_seperate_shape_ite","order":2,"path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",}, {"name":"sh_seperate_shape_sep","order":3,"path":"shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy",}, @@ -1755,10 +1758,10 @@ {"name":"sh_surface_replace_fast_replace","order":3,"path":"shaders/sh_surface_replace_fast_replace/sh_surface_replace_fast_replace.yy",}, {"name":"sh_surface_replace_replace","order":1,"path":"shaders/sh_surface_replace_replace/sh_surface_replace_replace.yy",}, {"name":"sh_svg_fill","order":1,"path":"shaders/sh_svg_fill/sh_svg_fill.yy",}, - {"name":"sh_texture_atlas","order":35,"path":"shaders/sh_texture_atlas/sh_texture_atlas.yy",}, - {"name":"sh_texture_remap","order":26,"path":"shaders/sh_texture_remap/sh_texture_remap.yy",}, + {"name":"sh_texture_atlas","order":36,"path":"shaders/sh_texture_atlas/sh_texture_atlas.yy",}, + {"name":"sh_texture_remap","order":27,"path":"shaders/sh_texture_remap/sh_texture_remap.yy",}, {"name":"sh_threshold","order":18,"path":"shaders/sh_threshold/sh_threshold.yy",}, - {"name":"sh_tile_random","order":45,"path":"shaders/sh_tile_random/sh_tile_random.yy",}, + {"name":"sh_tile_random","order":46,"path":"shaders/sh_tile_random/sh_tile_random.yy",}, {"name":"sh_tile_rule_apply","order":9,"path":"shaders/sh_tile_rule_apply/sh_tile_rule_apply.yy",}, {"name":"sh_tile_rule_select","order":10,"path":"shaders/sh_tile_rule_select/sh_tile_rule_select.yy",}, {"name":"sh_tiler_autoterrain_apply","order":8,"path":"shaders/sh_tiler_autoterrain_apply/sh_tiler_autoterrain_apply.yy",}, @@ -1766,9 +1769,9 @@ {"name":"sh_tiler_convert_mask","order":12,"path":"shaders/sh_tiler_convert_mask/sh_tiler_convert_mask.yy",}, {"name":"sh_tiler_convert","order":11,"path":"shaders/sh_tiler_convert/sh_tiler_convert.yy",}, {"name":"sh_time_remap","order":2,"path":"shaders/sh_time_remap/sh_time_remap.yy",}, - {"name":"sh_trail_filler_pass1","order":40,"path":"shaders/sh_trail_filler_pass1/sh_trail_filler_pass1.yy",}, - {"name":"sh_trail_filler_pass2","order":42,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",}, - {"name":"sh_trail_filler","order":41,"path":"shaders/sh_trail_filler/sh_trail_filler.yy",}, + {"name":"sh_trail_filler_pass1","order":41,"path":"shaders/sh_trail_filler_pass1/sh_trail_filler_pass1.yy",}, + {"name":"sh_trail_filler_pass2","order":43,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",}, + {"name":"sh_trail_filler","order":42,"path":"shaders/sh_trail_filler/sh_trail_filler.yy",}, {"name":"sh_twirl","order":3,"path":"shaders/sh_twirl/sh_twirl.yy",}, {"name":"sh_ui_shape_circle","order":4,"path":"shaders/sh_ui_shape_circle/sh_ui_shape_circle.yy",}, {"name":"sh_ui_slider","order":1,"path":"shaders/sh_ui_slider/sh_ui_slider.yy",}, @@ -1776,7 +1779,7 @@ {"name":"sh_vertex_normal_pass","order":3,"path":"shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy",}, {"name":"sh_vertex_pnt_light","order":4,"path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",}, {"name":"sh_vertex_pt","order":5,"path":"shaders/sh_vertex_pt/sh_vertex_pt.yy",}, - {"name":"sh_vignette","order":47,"path":"shaders/sh_vignette/sh_vignette.yy",}, + {"name":"sh_vignette","order":48,"path":"shaders/sh_vignette/sh_vignette.yy",}, {"name":"sh_voronoi_extra","order":17,"path":"shaders/sh_voronoi_extra/sh_voronoi_extra.yy",}, {"name":"sh_warp_4points_pers","order":10,"path":"shaders/sh_warp_4points_pers/sh_warp_4points_pers.yy",}, {"name":"sh_warp_4points","order":9,"path":"shaders/sh_warp_4points/sh_warp_4points.yy",}, @@ -1965,6 +1968,7 @@ {"name":"s_filter_node_inspector","order":4,"path":"sprites/s_filter_node_inspector/s_filter_node_inspector.yy",}, {"name":"s_filter_type","order":62,"path":"sprites/s_filter_type/s_filter_type.yy",}, {"name":"s_filter","order":3,"path":"sprites/s_filter/s_filter.yy",}, + {"name":"s_flare_type","order":1,"path":"sprites/s_flare_type/s_flare_type.yy",}, {"name":"s_fluid_sim","order":63,"path":"sprites/s_fluid_sim/s_fluid_sim.yy",}, {"name":"s_folder_16","order":64,"path":"sprites/s_folder_16/s_folder_16.yy",}, {"name":"s_folder_24","order":65,"path":"sprites/s_folder_24/s_folder_24.yy",}, @@ -2074,9 +2078,8 @@ {"name":"s_minus_16","order":128,"path":"sprites/s_minus_16/s_minus_16.yy",}, {"name":"s_minus_20","order":129,"path":"sprites/s_minus_20/s_minus_20.yy",}, {"name":"s_minus_24","order":130,"path":"sprites/s_minus_24/s_minus_24.yy",}, - {"name":"s_mk_sparkle_bg","order":1,"path":"sprites/s_mk_sparkle_bg/s_mk_sparkle_bg.yy",}, - {"name":"s_mk_sparkle_select","order":2,"path":"sprites/s_mk_sparkle_select/s_mk_sparkle_select.yy",}, - {"name":"s_MKFX","order":6,"path":"sprites/s_MKFX/s_MKFX.yy",}, + {"name":"s_mk_sparkle_bg","order":2,"path":"sprites/s_mk_sparkle_bg/s_mk_sparkle_bg.yy",}, + {"name":"s_mk_sparkle_select","order":3,"path":"sprites/s_mk_sparkle_select/s_mk_sparkle_select.yy",}, {"name":"s_name","order":131,"path":"sprites/s_name/s_name.yy",}, {"name":"s_new_line_shift","order":133,"path":"sprites/s_new_line_shift/s_new_line_shift.yy",}, {"name":"s_new","order":132,"path":"sprites/s_new/s_new.yy",}, @@ -2534,6 +2537,7 @@ {"name":"s_node_shape","order":14,"path":"sprites/s_node_shape/s_node_shape.yy",}, {"name":"s_node_shard","order":33,"path":"sprites/s_node_shard/s_node_shard.yy",}, {"name":"s_node_shell_excecute","order":33,"path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",}, + {"name":"s_node_shuffle","order":73,"path":"sprites/s_node_shuffle/s_node_shuffle.yy",}, {"name":"s_node_skew","order":11,"path":"sprites/s_node_skew/s_node_skew.yy",}, {"name":"s_node_sky","order":57,"path":"sprites/s_node_sky/s_node_sky.yy",}, {"name":"s_node_slider","order":4,"path":"sprites/s_node_slider/s_node_slider.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 37447915b..61e5dd497 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -311,6 +311,7 @@ {"$GMFolder":"","%Name":"MK effects","folderPath":"folders/shader/MK effects.yy","name":"MK effects","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"Flag","folderPath":"folders/shader/MK effects/Flag.yy","name":"Flag","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"Fracture","folderPath":"folders/shader/MK effects/Fracture.yy","name":"Fracture","resourceType":"GMFolder","resourceVersion":"2.0",}, + {"$GMFolder":"","%Name":"shuffle","folderPath":"folders/shader/filter/shuffle.yy","name":"shuffle","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"Subpixel","folderPath":"folders/shader/MK effects/Subpixel.yy","name":"Subpixel","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"Tile","folderPath":"folders/shader/MK effects/Tile.yy","name":"Tile","resourceType":"GMFolder","resourceVersion":"2.0",}, {"$GMFolder":"","%Name":"noise","folderPath":"folders/shader/noise.yy","name":"noise","resourceType":"GMFolder","resourceVersion":"2.0",}, @@ -1646,6 +1647,7 @@ {"id":{"name":"node_shape","path":"scripts/node_shape/node_shape.yy",},}, {"id":{"name":"node_shard_noise","path":"scripts/node_shard_noise/node_shard_noise.yy",},}, {"id":{"name":"node_shell","path":"scripts/node_shell/node_shell.yy",},}, + {"id":{"name":"node_shuffle","path":"scripts/node_shuffle/node_shuffle.yy",},}, {"id":{"name":"node_skew","path":"scripts/node_skew/node_skew.yy",},}, {"id":{"name":"node_sky","path":"scripts/node_sky/node_sky.yy",},}, {"id":{"name":"node_slideshow","path":"scripts/node_slideshow/node_slideshow.yy",},}, @@ -2265,6 +2267,8 @@ {"id":{"name":"sh_mk_flipGrid","path":"shaders/sh_mk_flipGrid/sh_mk_flipGrid.yy",},}, {"id":{"name":"sh_mk_fracture","path":"shaders/sh_mk_fracture/sh_mk_fracture.yy",},}, {"id":{"name":"sh_mk_saber_glow","path":"shaders/sh_mk_saber_glow/sh_mk_saber_glow.yy",},}, + {"id":{"name":"sh_mk_shuffle_block","path":"shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.yy",},}, + {"id":{"name":"sh_mk_shuffle_pixel","path":"shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.yy",},}, {"id":{"name":"sh_mk_subpixel_chevron","path":"shaders/sh_mk_subpixel_chevron/sh_mk_subpixel_chevron.yy",},}, {"id":{"name":"sh_mk_subpixel_diagonal","path":"shaders/sh_mk_subpixel_diagonal/sh_mk_subpixel_diagonal.yy",},}, {"id":{"name":"sh_mk_subpixel_hex_disc","path":"shaders/sh_mk_subpixel_hex_disc/sh_mk_subpixel_hex_disc.yy",},}, @@ -3228,6 +3232,7 @@ {"id":{"name":"s_node_shape","path":"sprites/s_node_shape/s_node_shape.yy",},}, {"id":{"name":"s_node_shard","path":"sprites/s_node_shard/s_node_shard.yy",},}, {"id":{"name":"s_node_shell_excecute","path":"sprites/s_node_shell_excecute/s_node_shell_excecute.yy",},}, + {"id":{"name":"s_node_shuffle","path":"sprites/s_node_shuffle/s_node_shuffle.yy",},}, {"id":{"name":"s_node_skew","path":"sprites/s_node_skew/s_node_skew.yy",},}, {"id":{"name":"s_node_sky","path":"sprites/s_node_sky/s_node_sky.yy",},}, {"id":{"name":"s_node_slider","path":"sprites/s_node_slider/s_node_slider.yy",},}, diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index de97cb4ae..f1c9fcaf1 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -45,7 +45,7 @@ VERSION = 1_18_05_1; SAVE_VERSION = 1_18_05_0; VERSION_STRING = MAC? "1.18.003m" : "1.18.6.006"; - BUILD_NUMBER = 1_18_05_1; + BUILD_NUMBER = 1_18_05_6; var _vsp = string_split(VERSION_STRING, "."); var _lsp = _vsp[array_length(_vsp) - 1]; diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index 2d60d1ee4..d503321ca 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -663,6 +663,7 @@ function __initNodes() { addNodeObject(filter, "Interlace", s_node_interlace, "Node_Interlaced", [1, Node_Interlaced],, "Apply interlace effect to an image.").setVersion(11760); addNodeObject(filter, "Blend Edge", s_node_blend_edge, "Node_Blend_Edge", [1, Node_Blend_Edge],, "Blend the edges of an image to create tilable patterns.").setVersion(11740); addNodeObject(filter, "Pixel Math", s_node_pixel_math, "Node_Pixel_Math", [0, Node_create_Pixel_Math], global.node_math_keys, "Apply mathematical operation directly on RGBA value.").setVersion(1_18_02_0); + addNodeObject(filter, "Shuffle", s_node_shuffle, "Node_Shuffle", [1, Node_Shuffle],, "Shuffle image while keeping pixel colors.").setVersion(1_18_05_6); ds_list_add(filter, "Colors"); addNodeObject(filter, "Replace Palette", s_node_replace_palette, "Node_Color_replace", [1, Node_Color_replace], ["isolate color", "select color", "palette swap", "color replace"], "Match image to a palette then remap it to another palette."); diff --git a/scripts/node_shuffle/node_shuffle.gml b/scripts/node_shuffle/node_shuffle.gml new file mode 100644 index 000000000..0e91c2ca3 --- /dev/null +++ b/scripts/node_shuffle/node_shuffle.gml @@ -0,0 +1,146 @@ +function Node_Shuffle(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Shuffle"; + + newInput(0, nodeValue_Surface("Surface", self)); + + newInput(1, nodeValue_Enum_Scroll("Type", self, 0, [ "Pixel", "Block" ])); + + newInput(2, nodeValueSeed(self)); + + newInput(3, nodeValue_Enum_Scroll("Axis", self, 2, [ "Horizontal", "Vertical", "Both" ])); + + newInput(4, nodeValue_IVec2("Block count", self, [ 4, 4 ])); + + newInput(5, nodeValue_Float("Randomness", self, 1)) + .setDisplay(VALUE_DISPLAY.slider); + + newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone)); + + input_display_list = [ 0, 2, + ["Shuffle", false], 1, 5, 3, 4, + ]; + + temp_surface = [ 0, 0 ]; + + static processData_prebatch = function() { + var _type = getSingleValue(1); + + inputs[3].setVisible(_type == 0); + inputs[4].setVisible(_type == 1); + } + + static genShuffled = function(len, rand = 1) { + var _indx = array_create_ext(len, function(i) /*=>*/ {return i}); + + for( var i = len - 1; i >= 1; i-- ) { + var t = irandom(i); + if(random(1) > rand) continue; + + var _tmp = _indx[i]; + _indx[i] = _indx[t]; + _indx[t] = _tmp; + } + + return _indx; + } + + static processData = function(_outSurf, _data, _output_index, _array_index) { + var _surf = _data[0]; + var _type = _data[1]; + var _seed = _data[2]; + var _axis = _data[3]; + var _blok = _data[4]; + var _rand = _data[5]; + if(!is_surface(_surf)) return _outSurf; + + var _dim = surface_get_dimension(_surf); + _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); + temp_surface[0] = surface_verify(temp_surface[0], _dim[0], _dim[1]); + temp_surface[1] = surface_verify(temp_surface[1], _dim[0], _dim[1]); + + random_set_seed(_seed); + + switch(_type) { + case 0 : + surface_set_shader(temp_surface[1]); + draw_surface_safe(_surf); + surface_reset_shader(); + + shader_set(sh_mk_shuffle_pixel); + shader_set_2("dimension", _dim); + + var _bg = 0, _arr; + + if(_axis == 0) { + surface_set_target(temp_surface[0]); + DRAW_CLEAR BLEND_OVERRIDE + shader_set_f("index", genShuffled(min(_dim[0], 1024), _rand)); + shader_set_i("axis", 0); + shader_set_i("shift", 0); + + draw_surface_safe(temp_surface[1]); + surface_reset_target(); + _bg = 1; + + } else if(_axis == 1) { + surface_set_target(temp_surface[0]); + DRAW_CLEAR BLEND_OVERRIDE + shader_set_f("index", genShuffled(min(_dim[1], 1024), _rand)); + shader_set_i("axis", 1); + shader_set_i("shift", 0); + + draw_surface_safe(temp_surface[1]); + surface_reset_target(); + _bg = 1; + + } else { + repeat(4) { + surface_set_target(temp_surface[_bg]); + DRAW_CLEAR BLEND_OVERRIDE + shader_set_f("index", genShuffled(min(_bg? _dim[1] : _dim[0], 1024), _rand)); + shader_set_i("axis", _bg); + shader_set_i("shift", 1); + + draw_surface_safe(temp_surface[!_bg]); + surface_reset_target(); + _bg = !_bg; + } + } + + BLEND_NORMAL + shader_reset(); + + surface_set_shader(_outSurf); + draw_surface_safe(temp_surface[!_bg]); + surface_reset_shader(); + break; + + case 1 : + var _indx = genShuffled(min(1024, _blok[0] * _blok[1]), _rand); + var _rep = ceil(4); + + surface_set_shader(temp_surface[1]); + draw_surface_safe(_surf); + surface_reset_shader(); + + var _bg = 0, _arr; + repeat(_rep) { + surface_set_shader(temp_surface[_bg], sh_mk_shuffle_block); + shader_set_2("dimension", _dim); + shader_set_2("block", _blok); + shader_set_i("index", _indx); + + draw_surface_safe(temp_surface[!_bg]); + surface_reset_shader(); + _bg = !_bg; + } + + surface_set_shader(_outSurf); + draw_surface_safe(temp_surface[!_bg]); + surface_reset_shader(); + break; + } + + return _outSurf; + } +} diff --git a/scripts/node_shuffle/node_shuffle.yy b/scripts/node_shuffle/node_shuffle.yy new file mode 100644 index 000000000..c01d4f6da --- /dev/null +++ b/scripts/node_shuffle/node_shuffle.yy @@ -0,0 +1,13 @@ +{ + "$GMScript":"v1", + "%Name":"node_shuffle", + "isCompatibility":false, + "isDnD":false, + "name":"node_shuffle", + "parent":{ + "name":"effects", + "path":"folders/nodes/data/filter/effects.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", +} \ No newline at end of file diff --git a/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.fsh b/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.fsh new file mode 100644 index 000000000..fa00aad7d --- /dev/null +++ b/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.fsh @@ -0,0 +1,27 @@ +varying vec2 v_vTexcoord; +varying vec4 v_vColour; + +uniform vec2 dimension; +uniform vec2 block; +uniform int index[1024]; // yep + +void main() { + gl_FragColor = texture2D(gm_BaseTexture, v_vTexcoord); + + vec2 tx = 1. / dimension; + vec2 px = floor(v_vTexcoord * dimension); + + vec2 blockInd = floor(v_vTexcoord * block); + vec2 blockuv = fract(v_vTexcoord * block) / block; + + float blockIndR = blockInd.y * block.x + blockInd.x; + float blockIndM = floor(blockIndR / 1024.); + int blockIndL = int(mod(blockIndR, 1024.)); + + float targeIndL = float(index[blockIndL]); + targeIndL = 1024. * blockIndM + mod(targeIndL + float(index[int(blockIndM)]), 1024.); + + vec2 targeInd = vec2(mod(targeIndL, block.x), floor(targeIndL / block.x)) / block; + + gl_FragColor = texture2D(gm_BaseTexture, targeInd + blockuv); +} \ No newline at end of file diff --git a/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.vsh b/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.vsh new file mode 100644 index 000000000..1a5ddfa49 --- /dev/null +++ b/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.vsh @@ -0,0 +1,14 @@ +attribute vec3 in_Position; // (x, y, z) +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; +} \ No newline at end of file diff --git a/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.yy b/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.yy new file mode 100644 index 000000000..03b091434 --- /dev/null +++ b/shaders/sh_mk_shuffle_block/sh_mk_shuffle_block.yy @@ -0,0 +1,12 @@ +{ + "$GMShader":"", + "%Name":"sh_mk_shuffle_block", + "name":"sh_mk_shuffle_block", + "parent":{ + "name":"shuffle", + "path":"folders/shader/filter/shuffle.yy", + }, + "resourceType":"GMShader", + "resourceVersion":"2.0", + "type":1, +} \ No newline at end of file diff --git a/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.fsh b/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.fsh new file mode 100644 index 000000000..a2da07bfa --- /dev/null +++ b/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.fsh @@ -0,0 +1,27 @@ +varying vec2 v_vTexcoord; +varying vec4 v_vColour; + +uniform vec2 dimension; +uniform float index[1024]; +uniform int axis; +uniform int shift; + +void main() { + vec2 tx = 1. / dimension; + vec2 px = floor(v_vTexcoord * dimension); + + gl_FragColor = vec4(0.); + + if(axis == 0) { + int ind = int(min(px.x, 1024.)); + float npx = mod(index[ind] + .5 + (shift == 1? px.y : 0.), dimension.x); + + gl_FragColor = texture2D( gm_BaseTexture, vec2(tx.x * npx, v_vTexcoord.y) ); + + } else if(axis == 1) { + int ind = int(min(px.y, 1024.)); + float npy = mod(index[ind] + .5 + (shift == 1? px.x : 1.), dimension.y); + + gl_FragColor = texture2D( gm_BaseTexture, vec2(v_vTexcoord.x, tx.y * npy) ); + } +} diff --git a/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.vsh b/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.vsh new file mode 100644 index 000000000..3900c20f4 --- /dev/null +++ b/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.vsh @@ -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; +} diff --git a/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.yy b/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.yy new file mode 100644 index 000000000..d061f5525 --- /dev/null +++ b/shaders/sh_mk_shuffle_pixel/sh_mk_shuffle_pixel.yy @@ -0,0 +1,12 @@ +{ + "$GMShader":"", + "%Name":"sh_mk_shuffle_pixel", + "name":"sh_mk_shuffle_pixel", + "parent":{ + "name":"shuffle", + "path":"folders/shader/filter/shuffle.yy", + }, + "resourceType":"GMShader", + "resourceVersion":"2.0", + "type":1, +} \ No newline at end of file diff --git a/sprites/s_MKFX/s_MKFX.yy b/sprites/s_MKFX/s_MKFX.yy index e63f7ce59..ec545a0cb 100644 --- a/sprites/s_MKFX/s_MKFX.yy +++ b/sprites/s_MKFX/s_MKFX.yy @@ -25,8 +25,8 @@ "nineSlice":null, "origin":1, "parent":{ - "name":"MK effects", - "path":"folders/nodes/icons/MK effects.yy", + "name":"src", + "path":"folders/nodes/data/MKFX/src.yy", }, "preMultiplyAlpha":false, "resourceType":"GMSprite", diff --git a/sprites/s_node_shuffle/7df833b6-c39c-4379-8866-3da617b8c945.png b/sprites/s_node_shuffle/7df833b6-c39c-4379-8866-3da617b8c945.png new file mode 100644 index 000000000..eaa2579e8 Binary files /dev/null and b/sprites/s_node_shuffle/7df833b6-c39c-4379-8866-3da617b8c945.png differ diff --git a/sprites/s_node_shuffle/layers/7df833b6-c39c-4379-8866-3da617b8c945/4fb94ac1-af6d-4bea-9cea-db0c28be78f7.png b/sprites/s_node_shuffle/layers/7df833b6-c39c-4379-8866-3da617b8c945/4fb94ac1-af6d-4bea-9cea-db0c28be78f7.png new file mode 100644 index 000000000..eaa2579e8 Binary files /dev/null and b/sprites/s_node_shuffle/layers/7df833b6-c39c-4379-8866-3da617b8c945/4fb94ac1-af6d-4bea-9cea-db0c28be78f7.png differ diff --git a/sprites/s_node_shuffle/s_node_shuffle.yy b/sprites/s_node_shuffle/s_node_shuffle.yy new file mode 100644 index 000000000..d7b31aecc --- /dev/null +++ b/sprites/s_node_shuffle/s_node_shuffle.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_shuffle", + "bboxMode":0, + "bbox_bottom":61, + "bbox_left":2, + "bbox_right":61, + "bbox_top":2, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"7df833b6-c39c-4379-8866-3da617b8c945","name":"7df833b6-c39c-4379-8866-3da617b8c945","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"4fb94ac1-af6d-4bea-9cea-db0c28be78f7","blendMode":0,"displayName":"default","isLocked":false,"name":"4fb94ac1-af6d-4bea-9cea-db0c28be78f7","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_shuffle", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"filter", + "path":"folders/nodes/icons/filter.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_shuffle", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_shuffle", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7df833b6-c39c-4379-8866-3da617b8c945","path":"sprites/s_node_shuffle/s_node_shuffle.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"874ba7e5-3f1f-4d44-9f34-adbcb8d0d20e","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file