diff --git a/Pixels Composer.yyp b/Pixels Composer.yyp index 66b03fa8c..ef1133700 100644 --- a/Pixels Composer.yyp +++ b/Pixels Composer.yyp @@ -30,7 +30,6 @@ {"id":{"name":"s_node_blend","path":"sprites/s_node_blend/s_node_blend.yy",},"order":5,}, {"id":{"name":"s_node_rigidSim_object_spawner","path":"sprites/s_node_rigidSim_object_spawner/s_node_rigidSim_object_spawner.yy",},"order":5,}, {"id":{"name":"draw_text_function","path":"scripts/draw_text_function/draw_text_function.yy",},"order":11,}, - {"id":{"name":"libdlgmodule","path":"extensions/libdlgmodule/libdlgmodule.yy",},"order":0,}, {"id":{"name":"o_dialog_file_name_collection","path":"objects/o_dialog_file_name_collection/o_dialog_file_name_collection.yy",},"order":5,}, {"id":{"name":"node_3d_prim_cone","path":"scripts/node_3d_prim_cone/node_3d_prim_cone.yy",},"order":14,}, {"id":{"name":"node_line","path":"scripts/node_line/node_line.yy",},"order":7,}, @@ -450,7 +449,6 @@ {"id":{"name":"draw_enable_alphablend","path":"scripts/draw_enable_alphablend/draw_enable_alphablend.yy",},"order":0,}, {"id":{"name":"s_node_blur_simple","path":"sprites/s_node_blur_simple/s_node_blur_simple.yy",},"order":41,}, {"id":{"name":"node_VFX_spawner","path":"scripts/node_VFX_spawner/node_VFX_spawner.yy",},"order":1,}, - {"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":1,}, {"id":{"name":"s_node_equation","path":"sprites/s_node_equation/s_node_equation.yy",},"order":0,}, {"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":8,}, {"id":{"name":"Apollo","path":"extensions/Apollo/Apollo.yy",},"order":5,}, @@ -799,6 +797,7 @@ {"id":{"name":"__view_get","path":"scripts/__view_get/__view_get.yy",},"order":1,}, {"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":36,}, {"id":{"name":"fd_rectangle_create","path":"scripts/fd_rectangle_create/fd_rectangle_create.yy",},"order":7,}, + {"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":8,}, {"id":{"name":"s_node_level_selector","path":"sprites/s_node_level_selector/s_node_level_selector.yy",},"order":27,}, {"id":{"name":"random_function","path":"scripts/random_function/random_function.yy",},"order":3,}, {"id":{"name":"s_node_input","path":"sprites/s_node_input/s_node_input.yy",},"order":6,}, @@ -894,6 +893,7 @@ {"id":{"name":"regex","path":"scripts/regex/regex.yy",},"order":0,}, {"id":{"name":"node_invert","path":"scripts/node_invert/node_invert.yy",},"order":6,}, {"id":{"name":"o_dialog_history","path":"objects/o_dialog_history/o_dialog_history.yy",},"order":3,}, + {"id":{"name":"libdlgmodule","path":"extensions/libdlgmodule/libdlgmodule.yy",},"order":7,}, {"id":{"name":"draw_background_stretched","path":"scripts/draw_background_stretched/draw_background_stretched.yy",},"order":5,}, {"id":{"name":"s_node_path","path":"sprites/s_node_path/s_node_path.yy",},"order":0,}, {"id":{"name":"node_tunnel_out","path":"scripts/node_tunnel_out/node_tunnel_out.yy",},"order":10,}, @@ -1020,6 +1020,7 @@ {"resourceType":"GMFolder","resourceVersion":"1.0","name":"color selector","folderPath":"folders/dialog/color selector.yy","order":7,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"graph","folderPath":"folders/dialog/graph.yy","order":10,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"inspector","folderPath":"folders/dialog/inspector.yy","order":13,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"menu","folderPath":"folders/dialog/menu.yy","order":18,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"preview","folderPath":"folders/dialog/preview.yy","order":12,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"widget","folderPath":"folders/dialog/widget.yy","order":14,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Extensions","folderPath":"folders/Extensions.yy","order":11,}, @@ -1027,7 +1028,6 @@ {"resourceType":"GMFolder","resourceVersion":"1.0","name":"functions","folderPath":"folders/functions.yy","order":7,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"3d","folderPath":"folders/functions/3d.yy","order":0,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"animation","folderPath":"folders/functions/animation.yy","order":19,}, - {"resourceType":"GMFolder","resourceVersion":"1.0","name":"migration","folderPath":"folders/functions/migration.yy","order":0,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"bones","folderPath":"folders/functions/bones.yy","order":18,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"compat","folderPath":"folders/functions/compat.yy","order":13,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"control","folderPath":"folders/functions/control.yy","order":22,}, @@ -1054,6 +1054,7 @@ {"resourceType":"GMFolder","resourceVersion":"1.0","name":"importers","folderPath":"folders/functions/importers.yy","order":6,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"inputs","folderPath":"folders/functions/inputs.yy","order":7,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"lua","folderPath":"folders/functions/lua.yy","order":24,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"migration","folderPath":"folders/functions/migration.yy","order":0,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"physics","folderPath":"folders/functions/physics.yy","order":21,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"regex","folderPath":"folders/functions/regex.yy","order":11,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"shader","folderPath":"folders/functions/shader.yy","order":16,}, @@ -1139,7 +1140,6 @@ {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Steamworks","folderPath":"folders/Steamworks.yy","order":0,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"UGC","folderPath":"folders/Steamworks/UGC.yy","order":0,}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"widgets","folderPath":"folders/widgets.yy","order":6,}, - {"resourceType":"GMFolder","resourceVersion":"1.0","name":"menu","folderPath":"folders/dialog/menu.yy","order":18,}, ], "AudioGroups": [ {"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,}, diff --git a/objects/o_dialog_color_selector/Draw_64.gml b/objects/o_dialog_color_selector/Draw_64.gml index fda1282bc..0176316be 100644 --- a/objects/o_dialog_color_selector/Draw_64.gml +++ b/objects/o_dialog_color_selector/Draw_64.gml @@ -43,7 +43,7 @@ if !ready exit; if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Open palette folder", THEME.folder) == 2) { var _realpath = environment_get_variable("LOCALAPPDATA") + "\\Pixels_Composer\\Palettes"; var _windir = environment_get_variable("WINDIR") + "\\explorer.exe"; - execute_shell_simple(_windir, _realpath); + execute_shell(_windir, _realpath); } bx -= ui(32); #endregion diff --git a/objects/o_dialog_gradient/Draw_64.gml b/objects/o_dialog_gradient/Draw_64.gml index 90c28b4ff..0696767e4 100644 --- a/objects/o_dialog_gradient/Draw_64.gml +++ b/objects/o_dialog_gradient/Draw_64.gml @@ -73,7 +73,7 @@ if !ready exit; if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Open gradient folder", THEME.folder) == 2) { var _realpath = environment_get_variable("LOCALAPPDATA") + "\\Pixels_Composer\\Gradients"; var _windir = environment_get_variable("WINDIR") + "\\explorer.exe"; - execute_shell_simple(_windir, _realpath); + execute_shell(_windir, _realpath); } bx -= ui(32); #endregion diff --git a/objects/o_dialog_migration/Create_0.gml b/objects/o_dialog_migration/Create_0.gml index 05ec3f2fe..26f1f9c7f 100644 --- a/objects/o_dialog_migration/Create_0.gml +++ b/objects/o_dialog_migration/Create_0.gml @@ -2,6 +2,6 @@ event_inherited(); #region data - dialog_w = ui(480); - dialog_h = ui(140); + dialog_w = ui(560); + dialog_h = ui(160); #endregion \ No newline at end of file diff --git a/objects/o_dialog_migration/Draw_64.gml b/objects/o_dialog_migration/Draw_64.gml index a56fb7c56..7247f63d0 100644 --- a/objects/o_dialog_migration/Draw_64.gml +++ b/objects/o_dialog_migration/Draw_64.gml @@ -21,7 +21,7 @@ draw_set_alpha(1); draw_text_ext(dialog_x + ui(24), py, get_text("dialog_migration_content", "You can press migrate files or manually move all custom collections, assets, palettes, gradients, fonts and presets."), -1, dialog_w - ui(48)); - var bw = ui(96), bh = TEXTBOX_HEIGHT; + var bw = ui(112), bh = TEXTBOX_HEIGHT; var bx1 = dialog_x + dialog_w - ui(16); var by1 = dialog_y + dialog_h - ui(16); var bx0 = bx1 - bw; @@ -37,15 +37,26 @@ draw_set_alpha(1); var b = buttonInstant(THEME.button, bx0, by0, bw, bh, mouse_ui, sFOCUS, sHOVER); draw_text(bx0 + bw / 2, by0 + bh / 2, get_text("migrate_files", "Migrate files")); if(b == 2) { - + var oldDir = environment_get_variable("userprofile") + "\\AppData\\Local\\Pixels_Composer\\"; + var folders = [ "Assets", "Collections", "Fonts", "Gradients", "Palettes", "Presets", "Themes"]; + for( var i = 0; i < array_length(folders); i++ ) { + var o = oldDir + folders[i] + "\\"; + var n = DIRECTORY + folders[i] + "\\"; + + if(directory_exists(o)) { + var shell = "/E /I " + o + " " + n; + execute_shell("Xcopy", shell); + } + } instance_destroy(); } bx0 = dialog_x + ui(16); + bw = ui(160); var b = buttonInstant(THEME.button, bx0, by0, bw, bh, mouse_ui, sFOCUS, sHOVER); draw_text(bx0 + bw / 2, by0 + bh / 2, get_text("migrate_open_directory", "Open directory") + "..."); if(b == 2) { - var path = string(DIRECTORY); - if(file_exists(path)) shellOpenExplorer(path); + if(directory_exists(DIRECTORY)) + shellOpenExplorer(DIRECTORY); } #endregion \ No newline at end of file diff --git a/objects/o_dialog_palette/Draw_64.gml b/objects/o_dialog_palette/Draw_64.gml index bb753217e..f2884d5e0 100644 --- a/objects/o_dialog_palette/Draw_64.gml +++ b/objects/o_dialog_palette/Draw_64.gml @@ -65,7 +65,7 @@ if palette == 0 exit; if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, "Open palette folder", THEME.folder) == 2) { var _realpath = environment_get_variable("LOCALAPPDATA") + "\\Pixels_Composer\\Palettes"; var _windir = environment_get_variable("WINDIR") + "\\explorer.exe"; - execute_shell_simple(_windir, _realpath); + execute_shell(_windir, _realpath); } draw_sprite_ui_uniform(THEME.folder, 0, bx + ui(14), by + ui(14), 1, COLORS._main_icon); bx -= ui(32); diff --git a/objects/o_dialog_warning/Alarm_0.gml b/objects/o_dialog_warning/Alarm_0.gml index f5b1cb9c2..36d144a42 100644 --- a/objects/o_dialog_warning/Alarm_0.gml +++ b/objects/o_dialog_warning/Alarm_0.gml @@ -1,12 +1,16 @@ /// @description init #region size - draw_set_font(f_p0); + draw_set_font(f_p2); - var ww = string_width(warning_text); - var hh = string_height(warning_text); + var ww = string_width_ext(warning_text, -1, 1000); + var hh = string_height_ext(warning_text, -1, ww); - dialog_w = ww + 48; - dialog_h = hh + 48; + dialog_w = ww + padding * 2 + ui(32); + dialog_h = hh + padding * 2; + drag_height = dialog_h; + + dialog_x = clamp(x, 0, WIN_W - dialog_w); + dialog_y = clamp(y, 0, WIN_H - dialog_h); #endregion event_inherited(); diff --git a/objects/o_dialog_warning/Create_0.gml b/objects/o_dialog_warning/Create_0.gml index ad3aa2dd1..b6f10df1c 100644 --- a/objects/o_dialog_warning/Create_0.gml +++ b/objects/o_dialog_warning/Create_0.gml @@ -2,7 +2,10 @@ event_inherited(); #region data - destroy_on_click_out = true; + anchor = ANCHOR.left | ANCHOR.top; + padding = ui(8); + destroy_on_click_out = true; warning_text = ""; + life = 300; #endregion \ No newline at end of file diff --git a/objects/o_dialog_warning/Draw_64.gml b/objects/o_dialog_warning/Draw_64.gml index 273851de0..4c1c3d9a0 100644 --- a/objects/o_dialog_warning/Draw_64.gml +++ b/objects/o_dialog_warning/Draw_64.gml @@ -2,13 +2,20 @@ if !ready exit; #region base UI - draw_sprite_stretched(THEME.dialog_bg, 0, dialog_x, dialog_y, dialog_w, dialog_h); - if(sFOCUS) - draw_sprite_stretched_ext(THEME.dialog_active, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1); + var aa = 0.75; + if(point_in_rectangle(mouse_mx, mouse_my, dialog_x, dialog_y, dialog_x + dialog_w, dialog_y + dialog_h)) { + aa = 1; + } else if(--life < 0) + instance_destroy(); + + draw_sprite_stretched_ext(THEME.textbox, 3, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, aa); + draw_sprite_stretched_ext(THEME.textbox, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1); + draw_sprite_stretched_ext(THEME.textbox_header, 0, dialog_x, dialog_y, ui(32), dialog_h, COLORS._main_accent, 1); #endregion #region text - draw_set_text(f_p0, fa_center, fa_top, COLORS._main_text); + draw_sprite_ui(THEME.noti_icon_warning, 1, dialog_x + ui(16), dialog_y + dialog_h / 2); - draw_text(dialog_x + dialog_w / 2, dialog_y + ui(24), warning_text); + draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text); + draw_text_ext(dialog_x + ui(32) + padding, dialog_y + padding, warning_text, -1, dialog_w - padding * 2); #endregion \ No newline at end of file diff --git a/objects/o_main/Alarm_1.gml b/objects/o_main/Alarm_1.gml index 9b14366dc..fb3986378 100644 --- a/objects/o_main/Alarm_1.gml +++ b/objects/o_main/Alarm_1.gml @@ -5,6 +5,8 @@ LOAD_SAMPLE(); INIT_FOLDERS(); - if(!file_exists(file_open_parameter) && PREF_MAP[? "show_splash"]) + __migration_check(); + + if(!instance_exists(_p_dialog) && !file_exists(file_open_parameter) && PREF_MAP[? "show_splash"]) dialogCall(o_dialog_splash); #endregion \ No newline at end of file diff --git a/objects/o_main/Draw_64.gml b/objects/o_main/Draw_64.gml index 20661dec4..fe0f42f54 100644 --- a/objects/o_main/Draw_64.gml +++ b/objects/o_main/Draw_64.gml @@ -19,14 +19,12 @@ #region panels if(PANEL_MAIN == 0) setPanel(); - PANEL_MAIN.draw(); - - //var surf = surface_get_target(); - //try - // PANEL_MAIN.draw(); - //catch(e) { - // while(surface_get_target() != surf) - // surface_reset_target(); - // noti_warning("UI error: " + exception_print(e)); - //} + var surf = surface_get_target(); + try + PANEL_MAIN.draw(); + catch(e) { + while(surface_get_target() != surf) + surface_reset_target(); + noti_warning("UI error: " + exception_print(e)); + } #endregion \ No newline at end of file diff --git a/objects/o_main/Other_2.gml b/objects/o_main/Other_2.gml index 799697133..a6d66a012 100644 --- a/objects/o_main/Other_2.gml +++ b/objects/o_main/Other_2.gml @@ -36,11 +36,11 @@ environment_set_variable("IMGUI_DIALOG_WIDTH", string(800)); - var cmd = "assoc .pxc=\"" + string(program_directory) + "PixelComposer.exe\""; - execute_shell("", cmd); + var cmd = ".pxc=\"" + string(program_directory) + "PixelComposer.exe\""; + execute_shell("assoc", cmd); - var cmd = "assoc .pxcc=\"" + string(program_directory) + "PixelComposer.exe\""; - execute_shell("", cmd); + var cmd = ".pxcc=\"" + string(program_directory) + "PixelComposer.exe\""; + execute_shell("assoc", cmd); #endregion #region parameter diff --git a/scripts/area_function/area_function.gml b/scripts/area_function/area_function.gml index 1cecd9eb1..95a181fed 100644 --- a/scripts/area_function/area_function.gml +++ b/scripts/area_function/area_function.gml @@ -1,3 +1,5 @@ +#macro AREA_DEF [ 16, 16, 4, 4, AREA_SHAPE.rectangle ] + enum AREA_DISTRIBUTION { area, border diff --git a/scripts/array_functions/array_functions.gml b/scripts/array_functions/array_functions.gml index 7adc15436..93ef7fd01 100644 --- a/scripts/array_functions/array_functions.gml +++ b/scripts/array_functions/array_functions.gml @@ -1,4 +1,7 @@ function array_create_from_list(list) { + if(list == undefined) return []; + if(!ds_exists(list, ds_type_list)) return []; + var arr = array_create(ds_list_size(list)); for( var i = 0; i < ds_list_size(list); i++ ) arr[i] = list[| i]; @@ -6,13 +9,26 @@ function array_create_from_list(list) { } function array_safe_set(arr, index, value) { + if(!is_array(arr)) return def; if(index < 0) return; if(index >= array_length(arr)) return; array_set(arr, index, value); } -function array_safe_get(arr, index, def = 0) { +enum ARRAY_OVERFLOW { + _default, + loop +} +function array_safe_get(arr, index, def = 0, overflow = ARRAY_OVERFLOW._default) { + if(!is_array(arr)) return def; + + if(overflow == ARRAY_OVERFLOW.loop) { + if(index < 0) + index = array_length(arr) - safe_mod(abs(index), array_length(arr)); + index = safe_mod(index, array_length(arr)); + } + if(index < 0) return def; if(index >= array_length(arr)) return def; return arr[index]; @@ -46,6 +62,19 @@ function array_push_unique(arr, val) { function array_append(arr, arr0) { for( var i = 0; i < array_length(arr0); i++ ) array_push(arr, arr0[i]); + return arr; +} + +function array_shuffle(arr) { + var r = array_length(arr) - 1; + for(var i = 0; i < r; i += 1) { + var j = irandom_range(i,r); + temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; + } + + return arr; } function array_merge() { diff --git a/scripts/blurSurface/blurSurface.gml b/scripts/blurSurface/blurSurface.gml index 7f2ccfb5e..7e8a49d75 100644 --- a/scripts/blurSurface/blurSurface.gml +++ b/scripts/blurSurface/blurSurface.gml @@ -1,3 +1,8 @@ +function surface_blur_init() { + __blur_hori = surface_create(1, 1); + __blur_vert = surface_create(1, 1); +} + function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, sampleMode = 0, overColor = noone) { static uni_bor = shader_get_uniform(sh_blur_gaussian, "sampleMode"); static uni_dim = shader_get_uniform(sh_blur_gaussian, "dimension"); @@ -7,8 +12,8 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, sampl static uni_ovr = shader_get_uniform(sh_blur_gaussian, "overrideColor"); static uni_ovc = shader_get_uniform(sh_blur_gaussian, "overColor"); - var hori = surface_create_valid(surface_get_width(surface), surface_get_height(surface)); - var vert = surface_create_valid(surface_get_width(surface), surface_get_height(surface)); + __blur_hori = surface_verify(__blur_hori, surface_get_width(surface), surface_get_height(surface)); + __blur_vert = surface_verify(__blur_vert, surface_get_width(surface), surface_get_height(surface)); #region kernel generation size = max(1, round(size)); @@ -26,37 +31,35 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, sampl } #endregion - BLEND_OVERRIDE - surface_set_target(hori); + BLEND_OVERRIDE; + surface_set_target(__blur_hori); draw_clear_alpha(bg_c, bg); shader_set(sh_blur_gaussian); - shader_set_uniform_f_array(uni_dim, [ surface_get_width(surface), surface_get_height(surface) ]); - shader_set_uniform_f_array(uni_wei, gau_array); + shader_set_uniform_f_array_safe(uni_dim, [ surface_get_width(surface), surface_get_height(surface) ]); + shader_set_uniform_f_array_safe(uni_wei, gau_array); shader_set_uniform_i(uni_bor, sampleMode); shader_set_uniform_i(uni_sze, size); shader_set_uniform_i(uni_hor, 1); shader_set_uniform_i(uni_ovr, overColor != noone); - shader_set_uniform_f_array(uni_ovc, colToVec4(overColor)); + shader_set_uniform_f_array_safe(uni_ovc, colToVec4(overColor)); draw_surface_safe(surface, 0, 0); shader_reset(); surface_reset_target(); - surface_set_target(vert); + surface_set_target(__blur_vert); draw_clear_alpha(bg_c, bg); shader_set(sh_blur_gaussian); shader_set_uniform_i(uni_hor, 0); - draw_surface_safe(hori, 0, 0); + draw_surface_safe(__blur_hori, 0, 0); shader_reset(); surface_reset_target(); - BLEND_NORMAL + BLEND_NORMAL; - surface_free(hori); - - return vert; + return __blur_vert; } \ No newline at end of file diff --git a/scripts/color_function/color_function.gml b/scripts/color_function/color_function.gml index cb1c1e3a5..37d35ca51 100644 --- a/scripts/color_function/color_function.gml +++ b/scripts/color_function/color_function.gml @@ -26,4 +26,29 @@ function colorMultiply(c1, c2) { var b2 = color_get_blue(c2) / 255; return make_color_rgb((r1 * r2) * 255, (g1 * g2) * 255, (b1 * b2) * 255); +} + +function color_diff(c1, c2) { + var _c1_r = c1 & 255; + var _c1_g = (c1 >> 8) & 255; + var _c1_b = (c1 >> 16) & 255; + var _c1_a = (c1 >> 24) & 255; + + _c1_r = _c1_r / 255; + _c1_g = _c1_g / 255; + _c1_b = _c1_b / 255; + _c1_a = _c1_a / 255; + + var _c2_r = c2 & 255; + var _c2_g = (c2 >> 8) & 255; + var _c2_b = (c2 >> 16) & 255; + var _c2_a = (c2 >> 24) & 255; + + _c2_r = _c2_r / 255; + _c2_g = _c2_g / 255; + _c2_b = _c2_b / 255; + _c2_a = _c2_a / 255; + + var dist = sqrt(sqr(_c1_r - _c2_r) + sqr(_c1_g - _c2_g) + sqr(_c1_b - _c2_b) + sqr(_c1_a - _c2_a)); + return dist; } \ No newline at end of file diff --git a/scripts/curve_bezier_function/curve_bezier_function.gml b/scripts/curve_bezier_function/curve_bezier_function.gml index b5173e8cf..588b80112 100644 --- a/scripts/curve_bezier_function/curve_bezier_function.gml +++ b/scripts/curve_bezier_function/curve_bezier_function.gml @@ -1,15 +1,43 @@ -#macro CURVE_DEF_01 [0, 1/3, 1/3, 2/3, 2/3, 1] -#macro CURVE_DEF_10 [1, 1/3, 2/3, 2/3, 1/3, 0] -#macro CURVE_DEF_11 [1, 1/3, 1, 2/3, 1, 1] +//curve format [-cx0, -cy0, x0, y0, +cx0, +cy0, -cx1, -cy1, x1, y1, +cx1, +cy1] +//segment format [y0, +cx0, +cy0, -cx1, -cy1, y1]; +#macro CURVE_DEF_01 [0, 0, 0, 0, 1/3, 1/3, /**/ -1/3, -1/3, 1, 1, 0, 0] +#macro CURVE_DEF_10 [0, 0, 0, 1, 1/3, -1/3, /**/ -1/3, 1/3, 1, 0, 0, 0] +#macro CURVE_DEF_11 [0, 0, 0, 1, 1/3, 0, /**/ -1/3, 0, 1, 1, 0, 0] -function draw_line_bezier_cubic(x0, y0, _w, _h, _bz) { - static SAMPLE = 32; +function draw_curve(x0, y0, _w, _h, _bz) { + var segments = array_length(_bz) / 6 - 1; + for( var i = 0; i < segments; i++ ) { + var ind = i * 6; + var _x0 = _bz[ind + 2]; + var _y0 = _bz[ind + 3]; + //var bx0 = _x0 + _bz[ind + 0]; + //var by0 = _y0 + _bz[ind + 1]; + var ax0 = _x0 + _bz[ind + 4]; + var ay0 = _y0 + _bz[ind + 5]; + + var _x1 = _bz[ind + 6 + 2]; + var _y1 = _bz[ind + 6 + 3]; + var bx1 = _x1 + _bz[ind + 6 + 0]; + var by1 = _y1 + _bz[ind + 6 + 1]; + //var ax1 = _x1 + _bz[ind + 6 + 4]; + //var ay1 = _y1 + _bz[ind + 6 + 5]; + + var dx0 = x0 + _w * _x0; + var dx1 = x0 + _w * _x1; + var dw = dx1 - dx0; + var smp = ceil((_x1 - _x0) * 32); + + draw_curve_segment(dx0, y0, dw, _h, [_y0, ax0, ay0, bx1, by1, _y1], smp); + } +} + +function draw_curve_segment(x0, y0, _w, _h, _bz, SAMPLE = 32) { var _ox, _oy; for(var i = 0; i <= SAMPLE; i++) { var t = i / SAMPLE; - var _r = eval_bezier_cubic(t, _bz); + var _r = eval_curve_segment_t_position(t, _bz); var _rx = _r[0], _ry = _r[1]; var _nx = _rx * _w + x0; @@ -23,7 +51,7 @@ function draw_line_bezier_cubic(x0, y0, _w, _h, _bz) { } } -function eval_bezier_cubic(t, _bz) { +function eval_curve_segment_t_position(t, _bz) { return [ power(1 - t, 3) * 0 + 3 * power(1 - t, 2) * t * _bz[1] @@ -37,15 +65,51 @@ function eval_bezier_cubic(t, _bz) { ]; } -function eval_curve_bezier_cubic_x(_bz, _x, _prec = 0.00001) { +function eval_curve_segment_t(_bz, t) { + return power(1 - t, 3) * _bz[0] + + 3 * power(1 - t, 2) * t * _bz[2] + + 3 * (1 - t) * power(t, 2) * _bz[4] + + power(t, 3) * _bz[5]; +} + +function eval_curve_x(_bz, _x, _prec = 0.00001) { + var segments = array_length(_bz) / 6 - 1; + _x = clamp(_x, 0, 1); + + for( var i = 0; i < segments; i++ ) { + var ind = i * 6; + var _x0 = _bz[ind + 2]; + var _y0 = _bz[ind + 3]; + //var bx0 = _x0 + _bz[ind + 0]; + //var by0 = _y0 + _bz[ind + 1]; + var ax0 = _x0 + _bz[ind + 4]; + var ay0 = _y0 + _bz[ind + 5]; + + var _x1 = _bz[ind + 6 + 2]; + var _y1 = _bz[ind + 6 + 3]; + var bx1 = _x1 + _bz[ind + 6 + 0]; + var by1 = _y1 + _bz[ind + 6 + 1]; + //var ax1 = _x1 + _bz[ind + 6 + 4]; + //var ay1 = _y1 + _bz[ind + 6 + 5]; + + if(_x < _x0) continue; + if(_x > _x1) continue; + + return eval_curve_segment_x([_y0, ax0, ay0, bx1, by1, _y1], (_x - _x0) / (_x1 - _x0)); + } + + return array_safe_get(_bz, array_length(_bz) - 3); +} + +function eval_curve_segment_x(_bz, _x, _prec = 0.00001) { var st = 0; var ed = 1; var _xt = _x; - var _binRep = 5; + var _binRep = 8; - if(_x == 0) return _bz[0]; - if(_x == 1) return _bz[5]; + if(_x <= 0) return _bz[0]; + if(_x >= 1) return _bz[5]; if(_bz[0] == _bz[2] && _bz[0] == _bz[4] && _bz[0] == _bz[5]) return _bz[0]; repeat(_binRep) { @@ -55,7 +119,7 @@ function eval_curve_bezier_cubic_x(_bz, _x, _prec = 0.00001) { + power(_xt, 3) * 1; if(abs(_ftx - _x) < _prec) - return eval_curve_bezier_cubic_t(_bz, _xt); + return eval_curve_segment_t(_bz, _xt); if(_xt < _x) st = _xt; @@ -83,41 +147,14 @@ function eval_curve_bezier_cubic_x(_bz, _x, _prec = 0.00001) { break; } - return eval_curve_bezier_cubic_t(_bz, _xt); -} - -function eval_curve_bezier_cubic_t(_bz, t) { - return power(1 - t, 3) * _bz[0] - + 3 * power(1 - t, 2) * t * _bz[2] - + 3 * (1 - t) * power(t, 2) * _bz[4] - + power(t, 3) * _bz[5]; + _xt = clamp(_xt, 0, 1); + return eval_curve_segment_t(_bz, _xt); } function bezier_range(bz) { return [ min(bz[0], bz[2], bz[4], bz[5]), max(bz[0], bz[2], bz[4], bz[5]) ]; } -function bezier_interpol_x(a, b, t, iteration = 10) { - var fx, _x = 0.5, _x1, slope; - repeat(iteration) { - fx = (3 * a - 3 * b + 1) * _x * _x * _x - + (3 * b - 6 * a) * _x * _x - + 3 * a * _x - - t; - slope = 3 * (3 * a - 3 * b + 1) * _x * _x - + 2 * (3 * b - 6 * a) * _x - + 3 * a; - - _x -= fx / slope; - } - - return 3 * (1 - _x) * _x * _x + _x * _x * _x; -} - -function ease_bezier(t, a, b) { - return 3 * power(1 - t, 2) * t * a + 3 * (1 - t) * power(t, 2) * b + power(t, 3); -} - function ease_cubic_in(rat) { return power(rat, 3); } diff --git a/scripts/directory_object/directory_object.gml b/scripts/directory_object/directory_object.gml index c42da09f7..951d3c640 100644 --- a/scripts/directory_object/directory_object.gml +++ b/scripts/directory_object/directory_object.gml @@ -5,6 +5,7 @@ function FileObject(_name, _path) constructor { spr = -1; content = -1; surface = noone; + meta = noone; static getSurface = function() { if(is_surface(surface)) return surface; @@ -25,6 +26,31 @@ function FileObject(_name, _path) constructor { sprite_set_offset(spr, sprite_get_width(spr) / 2, sprite_get_height(spr) / 2); return spr; } + + static getMetadata = function() { + if(!file_exists(path)) return noone; + if(filename_ext(path) != ".pxcc") return noone; + if(meta != noone) return meta; + if(meta == undefined) return noone; + + var f = file_text_open_read(path); + var _f = file_text_read_all(f); + file_text_close(f); + + var m = json_decode(_f); + + if(ds_map_exists(m, "metadata")) { + meta = new MetaDataManager(); + meta.deserialize(m[? "metadata"]); + } else + meta = undefined; + meta.version = m[? "version"]; + meta.name = name; + + ds_map_destroy(m); + + return meta; + } } function DirectoryObject(name, path) constructor { @@ -64,7 +90,7 @@ function DirectoryObject(name, path) constructor { var f = new FileObject(string_replace(file, filename_ext(file), ""), path + "\\" + file); ds_list_add(content, f); - if(filename_ext(file) == ".png") { + if(string_lower(filename_ext(file)) == ".png") { var icon_path = path + "\\" + file; var amo = 1; var p = string_pos("strip", icon_path); diff --git a/scripts/migration_function/migration_function.gml b/scripts/migration_function/migration_function.gml index d21dfbd4b..311e1435e 100644 --- a/scripts/migration_function/migration_function.gml +++ b/scripts/migration_function/migration_function.gml @@ -1,5 +1,5 @@ function __migration_check() { - var oldDir = environment_get_variable("userprofile") + "\\AppData\\Local\\Pixels Composer\\"; + var oldDir = environment_get_variable("userprofile") + "\\AppData\\Local\\Pixels_Composer\\"; if(!directory_exists(oldDir)) return; var mig = oldDir + "migration"; diff --git a/scripts/node_image_sequence/node_image_sequence.gml b/scripts/node_image_sequence/node_image_sequence.gml index b106fc92a..8dedfecd2 100644 --- a/scripts/node_image_sequence/node_image_sequence.gml +++ b/scripts/node_image_sequence/node_image_sequence.gml @@ -93,7 +93,6 @@ function Node_Image_Sequence(_x, _y, _group = -1) : Node(_x, _y, _group) constru } function updatePaths(paths) { - print(paths); for(var i = 0; i < array_length(spr); i++) { if(spr[i] && sprite_exists(spr[i])) sprite_delete(spr[i]); diff --git a/scripts/node_iterator_output/node_iterator_output.gml b/scripts/node_iterator_output/node_iterator_output.gml index a91fba4af..dbe08ea8d 100644 --- a/scripts/node_iterator_output/node_iterator_output.gml +++ b/scripts/node_iterator_output/node_iterator_output.gml @@ -1,3 +1,4 @@ + function Node_Iterator_Output(_x, _y, _group = -1) : Node_Group_Output(_x, _y, _group) constructor { name = "Output"; color = COLORS.node_blend_loop; diff --git a/scripts/node_noise_grid_hex/node_noise_grid_hex.gml b/scripts/node_noise_grid_hex/node_noise_grid_hex.gml index fe47ec184..c83447d34 100644 --- a/scripts/node_noise_grid_hex/node_noise_grid_hex.gml +++ b/scripts/node_noise_grid_hex/node_noise_grid_hex.gml @@ -1,73 +1,68 @@ -function Node_Grid_Hex(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor { - name = "Hexagonal Grid"; +function Node_Noise_Hex(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor { + name = "Hexagonal Noise"; - shader = sh_grid_hex; + shader = sh_noise_grid_hex; uniform_dim = shader_get_uniform(shader, "dimension"); + uniform_sed = shader_get_uniform(shader, "seed"); uniform_pos = shader_get_uniform(shader, "position"); uniform_sca = shader_get_uniform(shader, "scale"); - uniform_rot = shader_get_uniform(shader, "angle"); - uniform_thk = shader_get_uniform(shader, "thick"); + uniform_ang = shader_get_uniform(shader, "angle"); - uniform_clr0 = shader_get_uniform(shader, "color0"); - uniform_clr1 = shader_get_uniform(shader, "color1"); + uniform_sam = shader_get_uniform(shader, "useSampler"); + uniform_samTyp = shader_get_uniform(shader, "sampleMode"); inputs[| 0] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2 ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 1] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) - .setDisplay(VALUE_DISPLAY.vector) - .setUnitRef(function(index) { return getDimension(index); }); + inputs[| 1] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, irandom(99999)); - inputs[| 2] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ]) + inputs[| 2] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0] ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 3] = nodeValue("Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.rotation); + inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 8, 8 ] ) + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 4] = nodeValue("Gap", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); - - inputs[| 5] = nodeValue("Color 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); - - inputs[| 6] = nodeValue("Color 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); + inputs[| 4] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + + inputs[| 5] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2) + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); input_display_list = [ - ["Output", false], 0, - ["Pattern", false], 1, 2, 3, 4, - ["Render", false], 5, 6, + ["Output", false], 0, + ["Noise", false], 1, 2, 3, + ["Texture", false], 4, 5 ]; outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); } static process_data = function(_outSurf, _data, _output_index, _array_index) { var _dim = _data[0]; - var _pos = _data[1]; - var _sca = _data[2]; - var _rot = _data[3]; - var _thk = _data[4]; - - var _clr0 = _data[5]; - var _clr1 = _data[6]; + var _sed = _data[1]; + var _pos = _data[2]; + var _sca = _data[3]; + var _sam = _data[4]; + var _samTyp = _data[5]; _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); surface_set_target(_outSurf); draw_clear_alpha(0, 0); shader_set(shader); - shader_set_uniform_f(uniform_dim, _dim[0], _dim[1]); - shader_set_uniform_f(uniform_pos, _pos[0] / _dim[0], _pos[1] / _dim[1]); - shader_set_uniform_f(uniform_sca, _sca[0], _sca[1]); - shader_set_uniform_f(uniform_rot, degtorad(_rot)); - shader_set_uniform_f(uniform_thk, _thk); + shader_set_uniform_f_array_safe(uniform_dim, [_dim[0], _dim[1]]); + shader_set_uniform_f(uniform_sed, _sed); + shader_set_uniform_f_array_safe(uniform_pos, _pos); + shader_set_uniform_f_array_safe(uniform_sca, _sca); + shader_set_uniform_i(uniform_sam, is_surface(_sam)); + shader_set_uniform_i(uniform_samTyp, _samTyp); - shader_set_uniform_f_array_safe(uniform_clr0, colToVec4(_clr0)); - shader_set_uniform_f_array_safe(uniform_clr1, colToVec4(_clr1)); - - draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); + if(is_surface(_sam)) + draw_surface_stretched(_sam, 0, 0, _dim[0], _dim[1]); + else + draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); shader_reset(); surface_reset_target(); diff --git a/scripts/node_noise_grid_tri/node_noise_grid_tri.gml b/scripts/node_noise_grid_tri/node_noise_grid_tri.gml index 7352a1f8c..80d8e1597 100644 --- a/scripts/node_noise_grid_tri/node_noise_grid_tri.gml +++ b/scripts/node_noise_grid_tri/node_noise_grid_tri.gml @@ -1,73 +1,68 @@ -function Node_Grid_Tri(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor { - name = "Triangle Grid"; +function Node_Noise_Tri(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constructor { + name = "Triangle Noise"; - shader = sh_grid_tri; + shader = sh_noise_grid_tri; uniform_dim = shader_get_uniform(shader, "dimension"); + uniform_sed = shader_get_uniform(shader, "seed"); uniform_pos = shader_get_uniform(shader, "position"); uniform_sca = shader_get_uniform(shader, "scale"); - uniform_rot = shader_get_uniform(shader, "angle"); - uniform_thk = shader_get_uniform(shader, "thick"); + uniform_ang = shader_get_uniform(shader, "angle"); - uniform_clr0 = shader_get_uniform(shader, "color0"); - uniform_clr1 = shader_get_uniform(shader, "color1"); + uniform_sam = shader_get_uniform(shader, "useSampler"); + uniform_samTyp = shader_get_uniform(shader, "sampleMode"); inputs[| 0] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2 ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 1] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ]) - .setDisplay(VALUE_DISPLAY.vector) - .setUnitRef(function(index) { return getDimension(index); }); + inputs[| 1] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, irandom(99999)); - inputs[| 2] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ]) + inputs[| 2] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0] ) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 3] = nodeValue("Angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .setDisplay(VALUE_DISPLAY.rotation); + inputs[| 3] = nodeValue("Scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 4, 4 ] ) + .setDisplay(VALUE_DISPLAY.vector); - inputs[| 4] = nodeValue("Gap", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1) - .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]); - - inputs[| 5] = nodeValue("Color 1", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white); - - inputs[| 6] = nodeValue("Color 2", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); + inputs[| 4] = nodeValue("Texture sample", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0); + + inputs[| 5] = nodeValue("Oversample mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2) + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Empty", "Clamp", "Repeat" ]); input_display_list = [ - ["Output", false], 0, - ["Pattern", false], 1, 2, 3, 4, - ["Render", false], 5, 6, + ["Output", false], 0, + ["Noise", false], 1, 2, 3, + ["Texture", false], 4, 5, ]; outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) { - inputs[| 1].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); + inputs[| 2].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny); } static process_data = function(_outSurf, _data, _output_index, _array_index) { var _dim = _data[0]; - var _pos = _data[1]; - var _sca = _data[2]; - var _rot = _data[3]; - var _thk = _data[4]; - - var _clr0 = _data[5]; - var _clr1 = _data[6]; + var _sed = _data[1]; + var _pos = _data[2]; + var _sca = _data[3]; + var _sam = _data[4]; + var _samTyp = _data[5]; _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); surface_set_target(_outSurf); draw_clear_alpha(0, 0); shader_set(shader); - shader_set_uniform_f(uniform_dim, _dim[0], _dim[1]); - shader_set_uniform_f(uniform_pos, _pos[0] / _dim[0], _pos[1] / _dim[1]); - shader_set_uniform_f(uniform_sca, _sca[0], _sca[1]); - shader_set_uniform_f(uniform_rot, degtorad(_rot)); - shader_set_uniform_f(uniform_thk, _thk); + shader_set_uniform_f_array_safe(uniform_dim, [_dim[0], _dim[1]]); + shader_set_uniform_f(uniform_sed, _sed); + shader_set_uniform_f_array_safe(uniform_pos, _pos); + shader_set_uniform_f_array_safe(uniform_sca, _sca); + shader_set_uniform_i(uniform_sam, is_surface(_sam)); + shader_set_uniform_i(uniform_samTyp, _samTyp); - shader_set_uniform_f_array_safe(uniform_clr0, colToVec4(_clr0)); - shader_set_uniform_f_array_safe(uniform_clr1, colToVec4(_clr1)); - - draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); + if(is_surface(_sam)) + draw_surface_stretched(_sam, 0, 0, _dim[0], _dim[1]); + else + draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); shader_reset(); surface_reset_target(); diff --git a/scripts/node_repeat/node_repeat.gml b/scripts/node_repeat/node_repeat.gml index ab67b9cfd..2a846e2cc 100644 --- a/scripts/node_repeat/node_repeat.gml +++ b/scripts/node_repeat/node_repeat.gml @@ -45,7 +45,7 @@ function Node_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor { inputs[| 15] = nodeValue("Alpha over copy", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ); inputs[| 16] = nodeValue("Array select", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "Whether to select image from an array in order, or at random." ) - .setDisplay(VALUE_DISPLAY.enum_button, [ "Order", "Random" ]); + .setDisplay(VALUE_DISPLAY.enum_button, [ "Order", "Random", "Spread" ]); inputs[| 17] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(99999) ); @@ -122,11 +122,7 @@ function Node_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor { } } - function update(frame = ANIMATOR.current_frame) { - var _inSurf = inputs[| 0].getValue(); - if(is_array(_inSurf) && array_length(_inSurf) == 0) return; - if(!is_array(_inSurf) && !is_surface(_inSurf)) return; - + function doRepeat(_outSurf, _inSurf) { var _dim = inputs[| 1].getValue(); var _amo = inputs[| 2].getValue(); var _pat = inputs[| 3].getValue(); @@ -166,21 +162,10 @@ function Node_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor { var _an_bld = inputs[| 27].getValue(); var _an_alp = inputs[| 28].getValue(); + var _surf, runx, runy, posx, posy, scax, scay, rot; + random_set_seed(_sed); - inputs[| 4].setVisible( _pat == 0 || _pat == 1); - inputs[| 7].setVisible( _pat == 2); - inputs[| 8].setVisible( _pat == 2); - inputs[| 18].setVisible( _pat == 1); - inputs[| 19].setVisible( _pat == 1); - inputs[| 26].setVisible( _pat == 0); - - var runx, runy, posx, posy, scax, scay, rot; - - var _outSurf = outputs[| 0].getValue(); - _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); - outputs[| 0].setValue(_outSurf); - surface_set_target(_outSurf); draw_clear_alpha(0, 0); runx = 0; @@ -232,7 +217,7 @@ function Node_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor { var _surf = _inSurf; - if(is_array(_surf)) + if(is_array(_inSurf)) _surf = array_safe_get(_inSurf, _arr? irandom(array_length(_inSurf) - 1) : i % array_length(_inSurf)); var _sw = surface_get_width(_surf); @@ -264,7 +249,46 @@ function Node_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor { if(_rsta == 2) runy += _sh / 2; } surface_reset_target(); + } + + function update(frame = ANIMATOR.current_frame) { + var _inSurf = inputs[| 0].getValue(); + if(is_array(_inSurf) && array_length(_inSurf) == 0) return; + if(!is_array(_inSurf) && !is_surface(_inSurf)) return; + + var _dim = inputs[| 1].getValue(); + var _pat = inputs[| 3].getValue(); + + var _arr = inputs[| 16].getValue(); - return _outSurf; + inputs[| 4].setVisible( _pat == 0 || _pat == 1); + inputs[| 7].setVisible( _pat == 2); + inputs[| 8].setVisible( _pat == 2); + inputs[| 18].setVisible( _pat == 1); + inputs[| 19].setVisible( _pat == 1); + inputs[| 26].setVisible( _pat == 0); + + var runx, runy, posx, posy, scax, scay, rot; + var _outSurf = outputs[| 0].getValue(); + + if(is_array(_inSurf) && _arr == 2) { + if(!is_array(_outSurf)) surface_free(_outSurf); + else { + for( var i = 0; i < array_length(_outSurf); i++ ) + surface_free(_outSurf[i]); + } + + for( var i = 0; i < array_length(_inSurf); i++ ) { + var _out = surface_create(_dim[0], _dim[1]); + _outSurf[i] = _out; + doRepeat(_out, _inSurf[i]); + } + + outputs[| 0].setValue(_outSurf); + } else { + _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); + outputs[| 0].setValue(_outSurf); + doRepeat(_outSurf, _inSurf); + } } } \ No newline at end of file diff --git a/scripts/notification_system/notification_system.gml b/scripts/notification_system/notification_system.gml index fa91e3544..d7e2b6437 100644 --- a/scripts/notification_system/notification_system.gml +++ b/scripts/notification_system/notification_system.gml @@ -8,9 +8,9 @@ #region classes enum NOTI_TYPE { - log = 1 << 0, - warning = 1 << 1, - error = 1 << 2, + log = 1 << 0, + warning = 1 << 1, + error = 1 << 2, } function notification(type, str, icon = noone, color = c_ui_blue_dkgrey, life = -1) constructor { @@ -59,6 +59,9 @@ var noti = new notification(NOTI_TYPE.warning, str, icon, c_ui_orange, PREF_MAP[? "notification_time"]); ds_list_add(STATUSES, noti); ds_list_add(WARNING, noti); + show_debug_message(str); + + dialogCall(o_dialog_warning, mouse_mx + ui(16), mouse_my + ui(16)).warning_text = str; if(PANEL_MENU) { PANEL_MENU.noti_flash = 1; @@ -73,11 +76,16 @@ return noti; } - function noti_error(str, icon = noone) { + function noti_error(str, icon = noone, ref = noone) { var noti = new notification(NOTI_TYPE.error, str, icon, c_ui_red); ds_list_add(STATUSES, noti); ds_list_add(ERRORS, noti); + if(ref) { + var onClick = function() { PANEL_GRAPH.focusNode(self.ref); }; + noti.ref = ref; + noti.onClick = method(noti, onClick); + } return noti; } diff --git a/scripts/render_data/render_data.gml b/scripts/render_data/render_data.gml index 2ddf2577a..73e3c954e 100644 --- a/scripts/render_data/render_data.gml +++ b/scripts/render_data/render_data.gml @@ -4,7 +4,7 @@ enum RENDER_TYPE { full = 2 } -global.RENDER_LOG = false; +global.RENDER_LOG = true; function __nodeLeafList(_list, _queue) { for( var i = 0; i < ds_list_size(_list); i++ ) { diff --git a/shaders/sh_2d_light/sh_2d_light.yy b/shaders/sh_2d_light/sh_2d_light.yy index ed3703729..a18b04298 100644 --- a/shaders/sh_2d_light/sh_2d_light.yy +++ b/shaders/sh_2d_light/sh_2d_light.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_2d_light", - "type": 1, "parent": { - "name": "filter", - "path": "folders/shader/filter.yy", + "name": "blend", + "path": "folders/shader/blend.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy b/shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy index 4650c8507..ca70c1d3e 100644 --- a/shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy +++ b/shaders/sh_alpha_cutoff/sh_alpha_cutoff.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_alpha_cutoff", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_alpha_grey/sh_alpha_grey.yy b/shaders/sh_alpha_grey/sh_alpha_grey.yy index 0e17407c4..9f9403818 100644 --- a/shaders/sh_alpha_grey/sh_alpha_grey.yy +++ b/shaders/sh_alpha_grey/sh_alpha_grey.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_alpha_grey", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_alpha_hash/sh_alpha_hash.yy b/shaders/sh_alpha_hash/sh_alpha_hash.yy index 3536888ca..712ed96dc 100644 --- a/shaders/sh_alpha_hash/sh_alpha_hash.yy +++ b/shaders/sh_alpha_hash/sh_alpha_hash.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_alpha_hash", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_ani_noise/sh_ani_noise.yy b/shaders/sh_ani_noise/sh_ani_noise.yy index b4ba24b92..63a8f741e 100644 --- a/shaders/sh_ani_noise/sh_ani_noise.yy +++ b/shaders/sh_ani_noise/sh_ani_noise.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_ani_noise", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_atlas/sh_atlas.yy b/shaders/sh_atlas/sh_atlas.yy index 434c18f05..808064b47 100644 --- a/shaders/sh_atlas/sh_atlas.yy +++ b/shaders/sh_atlas/sh_atlas.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_atlas", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_average/sh_average.yy b/shaders/sh_average/sh_average.yy index 50f2043dc..896bde871 100644 --- a/shaders/sh_average/sh_average.yy +++ b/shaders/sh_average/sh_average.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_average", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_bevel/sh_bevel.yy b/shaders/sh_bevel/sh_bevel.yy index f7c65a252..9b1d7d29e 100644 --- a/shaders/sh_bevel/sh_bevel.yy +++ b/shaders/sh_bevel/sh_bevel.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_bevel", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.fsh b/shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.fsh index 8de35bf6d..0b325525a 100644 --- a/shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.fsh +++ b/shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.fsh @@ -6,6 +6,7 @@ varying vec4 v_vColour; uniform sampler2D fore; uniform float opacity; +uniform int preserveAlpha; void main() { vec4 _col0 = texture2D( gm_BaseTexture, v_vTexcoord ); @@ -15,6 +16,7 @@ void main() { float bright = dot(_col1.rgb, vec3(0.2126, 0.7152, 0.0722)); float aa = _col0.a + bright * opacity; res.a = aa; + if(preserveAlpha == 1) res.a = _col0.a; gl_FragColor = res; } diff --git a/shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy b/shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy index 4ee362693..5a73e7e6b 100644 --- a/shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy +++ b/shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blend_alpha_addition", - "type": 1, "parent": { "name": "blend", "path": "folders/shader/blend.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy b/shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy index ddf74f1ce..10b41fe65 100644 --- a/shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy +++ b/shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blend_multiply_alpha", - "type": 1, "parent": { "name": "blend", "path": "folders/shader/blend.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blend_normal_dim/sh_blend_normal_dim.fsh b/shaders/sh_blend_normal_dim/sh_blend_normal_dim.fsh index a51e35008..55250328d 100644 --- a/shaders/sh_blend_normal_dim/sh_blend_normal_dim.fsh +++ b/shaders/sh_blend_normal_dim/sh_blend_normal_dim.fsh @@ -5,6 +5,7 @@ varying vec2 v_vTexcoord; varying vec4 v_vColour; uniform vec2 dimension; +uniform int preserveAlpha; uniform sampler2D fore; uniform vec2 position; uniform vec2 scale; diff --git a/shaders/sh_blend_screen_alpha/sh_blend_screen_alpha.yy b/shaders/sh_blend_screen_alpha/sh_blend_screen_alpha.yy index 690d98c96..6b09041e7 100644 --- a/shaders/sh_blend_screen_alpha/sh_blend_screen_alpha.yy +++ b/shaders/sh_blend_screen_alpha/sh_blend_screen_alpha.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blend_screen_alpha", - "type": 1, "parent": { "name": "blend", "path": "folders/shader/blend.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blend_subtract_alpha/sh_blend_subtract_alpha.yy b/shaders/sh_blend_subtract_alpha/sh_blend_subtract_alpha.yy index 811a06602..a0e59139a 100644 --- a/shaders/sh_blend_subtract_alpha/sh_blend_subtract_alpha.yy +++ b/shaders/sh_blend_subtract_alpha/sh_blend_subtract_alpha.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blend_subtract_alpha", - "type": 1, "parent": { "name": "blend", "path": "folders/shader/blend.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_bloom_pass/sh_bloom_pass.yy b/shaders/sh_bloom_pass/sh_bloom_pass.yy index 9ce9545b7..b4a3b9268 100644 --- a/shaders/sh_bloom_pass/sh_bloom_pass.yy +++ b/shaders/sh_bloom_pass/sh_bloom_pass.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_bloom_pass", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_alpha/sh_blur_alpha.yy b/shaders/sh_blur_alpha/sh_blur_alpha.yy index d3aad5fde..bac351256 100644 --- a/shaders/sh_blur_alpha/sh_blur_alpha.yy +++ b/shaders/sh_blur_alpha/sh_blur_alpha.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_alpha", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_bokeh/sh_blur_bokeh.yy b/shaders/sh_blur_bokeh/sh_blur_bokeh.yy index be505ddaa..b232c6d89 100644 --- a/shaders/sh_blur_bokeh/sh_blur_bokeh.yy +++ b/shaders/sh_blur_bokeh/sh_blur_bokeh.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_bokeh", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy b/shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy index 1f4bd145a..bc22567f7 100644 --- a/shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy +++ b/shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_box_contrast", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_directional/sh_blur_directional.yy b/shaders/sh_blur_directional/sh_blur_directional.yy index 449d306c8..f367fcb87 100644 --- a/shaders/sh_blur_directional/sh_blur_directional.yy +++ b/shaders/sh_blur_directional/sh_blur_directional.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_directional", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_final/sh_blur_final.yy b/shaders/sh_blur_final/sh_blur_final.yy index 2e68df8c2..fc8e7eb97 100644 --- a/shaders/sh_blur_final/sh_blur_final.yy +++ b/shaders/sh_blur_final/sh_blur_final.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_final", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_gaussian/sh_blur_gaussian.yy b/shaders/sh_blur_gaussian/sh_blur_gaussian.yy index c8be74fec..5e7ba1aab 100644 --- a/shaders/sh_blur_gaussian/sh_blur_gaussian.yy +++ b/shaders/sh_blur_gaussian/sh_blur_gaussian.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_gaussian", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_radial/sh_blur_radial.yy b/shaders/sh_blur_radial/sh_blur_radial.yy index f54205fc7..225413a36 100644 --- a/shaders/sh_blur_radial/sh_blur_radial.yy +++ b/shaders/sh_blur_radial/sh_blur_radial.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_radial", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_simple/sh_blur_simple.yy b/shaders/sh_blur_simple/sh_blur_simple.yy index 180ce3a3f..f2f3a5fdd 100644 --- a/shaders/sh_blur_simple/sh_blur_simple.yy +++ b/shaders/sh_blur_simple/sh_blur_simple.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_simple", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_blur_zoom/sh_blur_zoom.yy b/shaders/sh_blur_zoom/sh_blur_zoom.yy index 63381fa88..e401ba706 100644 --- a/shaders/sh_blur_zoom/sh_blur_zoom.yy +++ b/shaders/sh_blur_zoom/sh_blur_zoom.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_blur_zoom", - "type": 1, "parent": { "name": "blur", "path": "folders/shader/blur.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_bw/sh_bw.yy b/shaders/sh_bw/sh_bw.yy index 6ef9e8266..14fbe9f4f 100644 --- a/shaders/sh_bw/sh_bw.yy +++ b/shaders/sh_bw/sh_bw.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_bw", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_camera/sh_camera.yy b/shaders/sh_camera/sh_camera.yy index b639ab5ca..59c27599b 100644 --- a/shaders/sh_camera/sh_camera.yy +++ b/shaders/sh_camera/sh_camera.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_camera", - "type": 1, "parent": { "name": "shader", "path": "folders/shader.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_cell_noise/sh_cell_noise.yy b/shaders/sh_cell_noise/sh_cell_noise.yy index a8cd9b963..40cc14c21 100644 --- a/shaders/sh_cell_noise/sh_cell_noise.yy +++ b/shaders/sh_cell_noise/sh_cell_noise.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_cell_noise", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.yy b/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.yy index f19f712a7..dfde4ad3f 100644 --- a/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.yy +++ b/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_cell_noise_crystal", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy b/shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy index 64f6d951e..f3e518ddd 100644 --- a/shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy +++ b/shaders/sh_cell_noise_edge/sh_cell_noise_edge.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_cell_noise_edge", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_cell_noise_random/sh_cell_noise_random.yy b/shaders/sh_cell_noise_random/sh_cell_noise_random.yy index f8a91f599..e31b6b99a 100644 --- a/shaders/sh_cell_noise_random/sh_cell_noise_random.yy +++ b/shaders/sh_cell_noise_random/sh_cell_noise_random.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_cell_noise_random", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_cell_noise_round/sh_cell_noise_round.yy b/shaders/sh_cell_noise_round/sh_cell_noise_round.yy index ee0fc32ba..9d3f41ea1 100644 --- a/shaders/sh_cell_noise_round/sh_cell_noise_round.yy +++ b/shaders/sh_cell_noise_round/sh_cell_noise_round.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_cell_noise_round", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_A/sh_channel_A.yy b/shaders/sh_channel_A/sh_channel_A.yy index eab77c819..dac790cea 100644 --- a/shaders/sh_channel_A/sh_channel_A.yy +++ b/shaders/sh_channel_A/sh_channel_A.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_A", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_B/sh_channel_B.yy b/shaders/sh_channel_B/sh_channel_B.yy index dda7ed61c..48ef2a2ce 100644 --- a/shaders/sh_channel_B/sh_channel_B.yy +++ b/shaders/sh_channel_B/sh_channel_B.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_B", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_B_grey/sh_channel_B_grey.yy b/shaders/sh_channel_B_grey/sh_channel_B_grey.yy index d0e3a5694..59b4cb5a7 100644 --- a/shaders/sh_channel_B_grey/sh_channel_B_grey.yy +++ b/shaders/sh_channel_B_grey/sh_channel_B_grey.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_B_grey", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_G/sh_channel_G.yy b/shaders/sh_channel_G/sh_channel_G.yy index 7a4521c98..2ad0cc2a6 100644 --- a/shaders/sh_channel_G/sh_channel_G.yy +++ b/shaders/sh_channel_G/sh_channel_G.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_G", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_G_grey/sh_channel_G_grey.yy b/shaders/sh_channel_G_grey/sh_channel_G_grey.yy index e677409fb..d0a6c05c7 100644 --- a/shaders/sh_channel_G_grey/sh_channel_G_grey.yy +++ b/shaders/sh_channel_G_grey/sh_channel_G_grey.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_G_grey", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_H/sh_channel_H.yy b/shaders/sh_channel_H/sh_channel_H.yy index 2033556b1..8a72a00f8 100644 --- a/shaders/sh_channel_H/sh_channel_H.yy +++ b/shaders/sh_channel_H/sh_channel_H.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_H", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_R/sh_channel_R.yy b/shaders/sh_channel_R/sh_channel_R.yy index 483c7d4d8..8eee20902 100644 --- a/shaders/sh_channel_R/sh_channel_R.yy +++ b/shaders/sh_channel_R/sh_channel_R.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_R", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_R_grey/sh_channel_R_grey.yy b/shaders/sh_channel_R_grey/sh_channel_R_grey.yy index 8ced1f912..e364a4197 100644 --- a/shaders/sh_channel_R_grey/sh_channel_R_grey.yy +++ b/shaders/sh_channel_R_grey/sh_channel_R_grey.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_R_grey", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_S/sh_channel_S.yy b/shaders/sh_channel_S/sh_channel_S.yy index abccb8ae2..48f643cfc 100644 --- a/shaders/sh_channel_S/sh_channel_S.yy +++ b/shaders/sh_channel_S/sh_channel_S.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_S", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_channel_V/sh_channel_V.yy b/shaders/sh_channel_V/sh_channel_V.yy index df0fe70e1..3ec99db7f 100644 --- a/shaders/sh_channel_V/sh_channel_V.yy +++ b/shaders/sh_channel_V/sh_channel_V.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_channel_V", - "type": 1, "parent": { "name": "channels", "path": "folders/shader/channels.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_checkerboard/sh_checkerboard.yy b/shaders/sh_checkerboard/sh_checkerboard.yy index 75e790485..9cde2d622 100644 --- a/shaders/sh_checkerboard/sh_checkerboard.yy +++ b/shaders/sh_checkerboard/sh_checkerboard.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_checkerboard", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy b/shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy index aba36a7b8..d922fdcd0 100644 --- a/shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy +++ b/shaders/sh_chromatic_aberration/sh_chromatic_aberration.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_chromatic_aberration", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_clean_shape/sh_clean_shape.yy b/shaders/sh_clean_shape/sh_clean_shape.yy index 955a63612..31e53288c 100644 --- a/shaders/sh_clean_shape/sh_clean_shape.yy +++ b/shaders/sh_clean_shape/sh_clean_shape.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_clean_shape", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_color_adjust/sh_color_adjust.yy b/shaders/sh_color_adjust/sh_color_adjust.yy index 3d54c48bf..89fe1c778 100644 --- a/shaders/sh_color_adjust/sh_color_adjust.yy +++ b/shaders/sh_color_adjust/sh_color_adjust.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_color_adjust", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_color_picker_hue/sh_color_picker_hue.yy b/shaders/sh_color_picker_hue/sh_color_picker_hue.yy index 254dcb405..ac41b82e4 100644 --- a/shaders/sh_color_picker_hue/sh_color_picker_hue.yy +++ b/shaders/sh_color_picker_hue/sh_color_picker_hue.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_color_picker_hue", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_color_picker_value/sh_color_picker_value.yy b/shaders/sh_color_picker_value/sh_color_picker_value.yy index 32baf3762..4de03f671 100644 --- a/shaders/sh_color_picker_value/sh_color_picker_value.yy +++ b/shaders/sh_color_picker_value/sh_color_picker_value.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_color_picker_value", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_color_remove/sh_color_remove.fsh b/shaders/sh_color_remove/sh_color_remove.fsh index d876fb19e..56d929f74 100644 --- a/shaders/sh_color_remove/sh_color_remove.fsh +++ b/shaders/sh_color_remove/sh_color_remove.fsh @@ -7,6 +7,7 @@ varying vec4 v_vColour; uniform vec4 colorFrom[32]; uniform int colorFrom_amo; uniform float treshold; +uniform int invert; vec3 rgb2xyz( vec3 c ) { vec3 tmp; @@ -40,7 +41,7 @@ void main() { vec3 lab = rgb2lab(col.rgb); - float min_df = treshold; + float min_df = 999.; for(int i = 0; i < colorFrom_amo; i++) { vec3 labFrom = rgb2lab(colorFrom[i].rgb); @@ -48,8 +49,8 @@ void main() { min_df = min(min_df, df); } - if(min_df < treshold) - gl_FragColor = vec4(1., 1., 1., 0.); + if((invert == 0 && min_df <= treshold) || (invert == 1 && min_df > treshold)) + gl_FragColor = vec4(0.); else gl_FragColor = baseColor; } diff --git a/shaders/sh_color_remove/sh_color_remove.yy b/shaders/sh_color_remove/sh_color_remove.yy index 0ce1ce941..95f0e0f17 100644 --- a/shaders/sh_color_remove/sh_color_remove.yy +++ b/shaders/sh_color_remove/sh_color_remove.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_color_remove", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_color_replace/sh_color_replace.yy b/shaders/sh_color_replace/sh_color_replace.yy index f0a6c3bdf..e1fe0bd33 100644 --- a/shaders/sh_color_replace/sh_color_replace.yy +++ b/shaders/sh_color_replace/sh_color_replace.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_color_replace", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_colorize/sh_colorize.fsh b/shaders/sh_colorize/sh_colorize.fsh index bbd44fb92..417e1e92f 100644 --- a/shaders/sh_colorize/sh_colorize.fsh +++ b/shaders/sh_colorize/sh_colorize.fsh @@ -9,10 +9,14 @@ uniform vec4 gradient_color[16]; uniform float gradient_time[16]; uniform int keys; uniform float gradient_shift; +uniform int multiply_alpha; void main() { vec4 _col = v_vColour * texture2D( gm_BaseTexture, v_vTexcoord ); float prog = abs(dot(_col.rgb, vec3(0.2126, 0.7152, 0.0722)) + gradient_shift); + if(multiply_alpha == 1) + prog *= _col.a; + if(prog > 1.) { if(prog == floor(prog)) prog = 1.; diff --git a/shaders/sh_colorize/sh_colorize.yy b/shaders/sh_colorize/sh_colorize.yy index c052ff6c9..ae3d1e7a5 100644 --- a/shaders/sh_colorize/sh_colorize.yy +++ b/shaders/sh_colorize/sh_colorize.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_colorize", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_combine_hsv/sh_combine_hsv.yy b/shaders/sh_combine_hsv/sh_combine_hsv.yy index 48a361a17..832802e0e 100644 --- a/shaders/sh_combine_hsv/sh_combine_hsv.yy +++ b/shaders/sh_combine_hsv/sh_combine_hsv.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_combine_hsv", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_combine_rgb/sh_combine_rgb.yy b/shaders/sh_combine_rgb/sh_combine_rgb.yy index fe1361a17..b898599bb 100644 --- a/shaders/sh_combine_rgb/sh_combine_rgb.yy +++ b/shaders/sh_combine_rgb/sh_combine_rgb.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_combine_rgb", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_content_sampler/sh_content_sampler.yy b/shaders/sh_content_sampler/sh_content_sampler.yy index e9a4391fe..ce1d27f25 100644 --- a/shaders/sh_content_sampler/sh_content_sampler.yy +++ b/shaders/sh_content_sampler/sh_content_sampler.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_content_sampler", - "type": 1, "parent": { "name": "shader", "path": "folders/shader.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_convolution/sh_convolution.yy b/shaders/sh_convolution/sh_convolution.yy index e96f5f77f..9e9420d4c 100644 --- a/shaders/sh_convolution/sh_convolution.yy +++ b/shaders/sh_convolution/sh_convolution.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_convolution", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_corner/sh_corner.yy b/shaders/sh_corner/sh_corner.yy index f8f522323..cf71e122a 100644 --- a/shaders/sh_corner/sh_corner.yy +++ b/shaders/sh_corner/sh_corner.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_corner", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_corner_erode/sh_corner_erode.yy b/shaders/sh_corner_erode/sh_corner_erode.yy index 9f7ec75b6..06dfe8178 100644 --- a/shaders/sh_corner_erode/sh_corner_erode.yy +++ b/shaders/sh_corner_erode/sh_corner_erode.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_corner_erode", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_curve/sh_curve.yy b/shaders/sh_curve/sh_curve.yy index fc87f8d9a..00389e478 100644 --- a/shaders/sh_curve/sh_curve.yy +++ b/shaders/sh_curve/sh_curve.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_curve", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_de_corner/sh_de_corner.yy b/shaders/sh_de_corner/sh_de_corner.yy index 909d558c0..3ea78684a 100644 --- a/shaders/sh_de_corner/sh_de_corner.yy +++ b/shaders/sh_de_corner/sh_de_corner.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_de_corner", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_de_stray/sh_de_stray.yy b/shaders/sh_de_stray/sh_de_stray.yy index d4fdcf7c0..de3dea1e7 100644 --- a/shaders/sh_de_stray/sh_de_stray.yy +++ b/shaders/sh_de_stray/sh_de_stray.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_de_stray", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_dilate/sh_dilate.yy b/shaders/sh_dilate/sh_dilate.yy index b10b3a466..74f9d5d2f 100644 --- a/shaders/sh_dilate/sh_dilate.yy +++ b/shaders/sh_dilate/sh_dilate.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_dilate", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_displace/sh_displace.yy b/shaders/sh_displace/sh_displace.yy index b6667643e..38276fa30 100644 --- a/shaders/sh_displace/sh_displace.yy +++ b/shaders/sh_displace/sh_displace.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_displace", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_dither/sh_dither.yy b/shaders/sh_dither/sh_dither.yy index 83b96ff45..06ccecc71 100644 --- a/shaders/sh_dither/sh_dither.yy +++ b/shaders/sh_dither/sh_dither.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_dither", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_draw_normal/sh_draw_normal.yy b/shaders/sh_draw_normal/sh_draw_normal.yy index e9518e7c3..c994f2bd5 100644 --- a/shaders/sh_draw_normal/sh_draw_normal.yy +++ b/shaders/sh_draw_normal/sh_draw_normal.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_draw_normal", - "type": 1, "parent": { "name": "blend", "path": "folders/shader/blend.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy b/shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy index 329d25d58..34112e2b7 100644 --- a/shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy +++ b/shaders/sh_draw_surface_part_tiled/sh_draw_surface_part_tiled.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_draw_surface_part_tiled", - "type": 1, "parent": { "name": "draw", "path": "folders/shader/draw.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy b/shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy index 0f27d62d9..5bba262f5 100644 --- a/shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy +++ b/shaders/sh_draw_vertex_aa/sh_draw_vertex_aa.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_draw_vertex_aa", - "type": 1, "parent": { "name": "draw", "path": "folders/shader/draw.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_edge_detect/sh_edge_detect.yy b/shaders/sh_edge_detect/sh_edge_detect.yy index fca17544e..835193562 100644 --- a/shaders/sh_edge_detect/sh_edge_detect.yy +++ b/shaders/sh_edge_detect/sh_edge_detect.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_edge_detect", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_erode/sh_erode.fsh b/shaders/sh_erode/sh_erode.fsh index 55815bca6..147b74d35 100644 --- a/shaders/sh_erode/sh_erode.fsh +++ b/shaders/sh_erode/sh_erode.fsh @@ -41,7 +41,7 @@ void main() { } vec4 sam = texture2D( gm_BaseTexture, pxs ); - if((alpha == 0 && length(sam.rgb) == 0.) || (alpha == 1 && sam.a == 0.)) { + if((alpha == 0 && length(sam.rgb) * sam.a == 0.) || (alpha == 1 && sam.a == 0.)) { gl_FragColor = fill; break; } diff --git a/shaders/sh_erode/sh_erode.yy b/shaders/sh_erode/sh_erode.yy index 94f9eebac..faf474077 100644 --- a/shaders/sh_erode/sh_erode.yy +++ b/shaders/sh_erode/sh_erode.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_erode", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_add_velocity_glsl/sh_fd_add_velocity_glsl.yy b/shaders/sh_fd_add_velocity_glsl/sh_fd_add_velocity_glsl.yy index 5082d82e5..9c70ff08a 100644 --- a/shaders/sh_fd_add_velocity_glsl/sh_fd_add_velocity_glsl.yy +++ b/shaders/sh_fd_add_velocity_glsl/sh_fd_add_velocity_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_add_velocity_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy b/shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy index 3b68c95d2..fe0f866ef 100644 --- a/shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy +++ b/shaders/sh_fd_advect_material_a_16_glsl/sh_fd_advect_material_a_16_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_advect_material_a_16_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_advect_material_a_8_glsl/sh_fd_advect_material_a_8_glsl.yy b/shaders/sh_fd_advect_material_a_8_glsl/sh_fd_advect_material_a_8_glsl.yy index 67489f49e..679b36856 100644 --- a/shaders/sh_fd_advect_material_a_8_glsl/sh_fd_advect_material_a_8_glsl.yy +++ b/shaders/sh_fd_advect_material_a_8_glsl/sh_fd_advect_material_a_8_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_advect_material_a_8_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_advect_material_rgba_16_glsl/sh_fd_advect_material_rgba_16_glsl.yy b/shaders/sh_fd_advect_material_rgba_16_glsl/sh_fd_advect_material_rgba_16_glsl.yy index 6b4b6dc06..6f8e4b01d 100644 --- a/shaders/sh_fd_advect_material_rgba_16_glsl/sh_fd_advect_material_rgba_16_glsl.yy +++ b/shaders/sh_fd_advect_material_rgba_16_glsl/sh_fd_advect_material_rgba_16_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_advect_material_rgba_16_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_advect_material_rgba_8_glsl/sh_fd_advect_material_rgba_8_glsl.yy b/shaders/sh_fd_advect_material_rgba_8_glsl/sh_fd_advect_material_rgba_8_glsl.yy index d63bef887..bea19d23e 100644 --- a/shaders/sh_fd_advect_material_rgba_8_glsl/sh_fd_advect_material_rgba_8_glsl.yy +++ b/shaders/sh_fd_advect_material_rgba_8_glsl/sh_fd_advect_material_rgba_8_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_advect_material_rgba_8_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy b/shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy index b99a1aa7f..f2dc49dfa 100644 --- a/shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy +++ b/shaders/sh_fd_advect_velocity_0_glsl/sh_fd_advect_velocity_0_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_advect_velocity_0_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_advect_velocity_1_glsl/sh_fd_advect_velocity_1_glsl.yy b/shaders/sh_fd_advect_velocity_1_glsl/sh_fd_advect_velocity_1_glsl.yy index c5e1d629b..232f99e25 100644 --- a/shaders/sh_fd_advect_velocity_1_glsl/sh_fd_advect_velocity_1_glsl.yy +++ b/shaders/sh_fd_advect_velocity_1_glsl/sh_fd_advect_velocity_1_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_advect_velocity_1_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_calculate_pressure_jacobi_glsl/sh_fd_calculate_pressure_jacobi_glsl.yy b/shaders/sh_fd_calculate_pressure_jacobi_glsl/sh_fd_calculate_pressure_jacobi_glsl.yy index f62ce5eed..e435efaf4 100644 --- a/shaders/sh_fd_calculate_pressure_jacobi_glsl/sh_fd_calculate_pressure_jacobi_glsl.yy +++ b/shaders/sh_fd_calculate_pressure_jacobi_glsl/sh_fd_calculate_pressure_jacobi_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_calculate_pressure_jacobi_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_calculate_pressure_srj_glsl/sh_fd_calculate_pressure_srj_glsl.yy b/shaders/sh_fd_calculate_pressure_srj_glsl/sh_fd_calculate_pressure_srj_glsl.yy index 2b5b189c7..9d8f08c36 100644 --- a/shaders/sh_fd_calculate_pressure_srj_glsl/sh_fd_calculate_pressure_srj_glsl.yy +++ b/shaders/sh_fd_calculate_pressure_srj_glsl/sh_fd_calculate_pressure_srj_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_calculate_pressure_srj_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_calculate_velocity_divergence_glsl/sh_fd_calculate_velocity_divergence_glsl.yy b/shaders/sh_fd_calculate_velocity_divergence_glsl/sh_fd_calculate_velocity_divergence_glsl.yy index b82e840b2..2fe208000 100644 --- a/shaders/sh_fd_calculate_velocity_divergence_glsl/sh_fd_calculate_velocity_divergence_glsl.yy +++ b/shaders/sh_fd_calculate_velocity_divergence_glsl/sh_fd_calculate_velocity_divergence_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_calculate_velocity_divergence_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_replace_material_advanced_glsl/sh_fd_replace_material_advanced_glsl.yy b/shaders/sh_fd_replace_material_advanced_glsl/sh_fd_replace_material_advanced_glsl.yy index 7abb6dd39..7bbb220db 100644 --- a/shaders/sh_fd_replace_material_advanced_glsl/sh_fd_replace_material_advanced_glsl.yy +++ b/shaders/sh_fd_replace_material_advanced_glsl/sh_fd_replace_material_advanced_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_replace_material_advanced_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_repulse/sh_fd_repulse.yy b/shaders/sh_fd_repulse/sh_fd_repulse.yy index a383faacf..701f88b9a 100644 --- a/shaders/sh_fd_repulse/sh_fd_repulse.yy +++ b/shaders/sh_fd_repulse/sh_fd_repulse.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_repulse", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_subtract_pressure_gradient_glsl/sh_fd_subtract_pressure_gradient_glsl.yy b/shaders/sh_fd_subtract_pressure_gradient_glsl/sh_fd_subtract_pressure_gradient_glsl.yy index f2b55d832..4fa006140 100644 --- a/shaders/sh_fd_subtract_pressure_gradient_glsl/sh_fd_subtract_pressure_gradient_glsl.yy +++ b/shaders/sh_fd_subtract_pressure_gradient_glsl/sh_fd_subtract_pressure_gradient_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_subtract_pressure_gradient_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_turbulence/sh_fd_turbulence.yy b/shaders/sh_fd_turbulence/sh_fd_turbulence.yy index e73ca8b46..180d72da6 100644 --- a/shaders/sh_fd_turbulence/sh_fd_turbulence.yy +++ b/shaders/sh_fd_turbulence/sh_fd_turbulence.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_turbulence", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_velocity_combine/sh_fd_velocity_combine.yy b/shaders/sh_fd_velocity_combine/sh_fd_velocity_combine.yy index d9a63f434..6c848143e 100644 --- a/shaders/sh_fd_velocity_combine/sh_fd_velocity_combine.yy +++ b/shaders/sh_fd_velocity_combine/sh_fd_velocity_combine.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_velocity_combine", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_colorize_glsl/sh_fd_visualize_colorize_glsl.yy b/shaders/sh_fd_visualize_colorize_glsl/sh_fd_visualize_colorize_glsl.yy index ac5a195db..1c432f2d5 100644 --- a/shaders/sh_fd_visualize_colorize_glsl/sh_fd_visualize_colorize_glsl.yy +++ b/shaders/sh_fd_visualize_colorize_glsl/sh_fd_visualize_colorize_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_colorize_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_pixel_art_fiery_smoke_glsl/sh_fd_visualize_pixel_art_fiery_smoke_glsl.yy b/shaders/sh_fd_visualize_pixel_art_fiery_smoke_glsl/sh_fd_visualize_pixel_art_fiery_smoke_glsl.yy index fba26c8b8..3b8bc6dac 100644 --- a/shaders/sh_fd_visualize_pixel_art_fiery_smoke_glsl/sh_fd_visualize_pixel_art_fiery_smoke_glsl.yy +++ b/shaders/sh_fd_visualize_pixel_art_fiery_smoke_glsl/sh_fd_visualize_pixel_art_fiery_smoke_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_pixel_art_fiery_smoke_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_pixel_art_fire_glsl/sh_fd_visualize_pixel_art_fire_glsl.yy b/shaders/sh_fd_visualize_pixel_art_fire_glsl/sh_fd_visualize_pixel_art_fire_glsl.yy index f53ae4065..254dc83af 100644 --- a/shaders/sh_fd_visualize_pixel_art_fire_glsl/sh_fd_visualize_pixel_art_fire_glsl.yy +++ b/shaders/sh_fd_visualize_pixel_art_fire_glsl/sh_fd_visualize_pixel_art_fire_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_pixel_art_fire_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_pressure_glsl/sh_fd_visualize_pressure_glsl.yy b/shaders/sh_fd_visualize_pressure_glsl/sh_fd_visualize_pressure_glsl.yy index c6ba72e34..fdca17715 100644 --- a/shaders/sh_fd_visualize_pressure_glsl/sh_fd_visualize_pressure_glsl.yy +++ b/shaders/sh_fd_visualize_pressure_glsl/sh_fd_visualize_pressure_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_pressure_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_thick_smoke_glsl/sh_fd_visualize_thick_smoke_glsl.yy b/shaders/sh_fd_visualize_thick_smoke_glsl/sh_fd_visualize_thick_smoke_glsl.yy index e2341a5ae..392e7db59 100644 --- a/shaders/sh_fd_visualize_thick_smoke_glsl/sh_fd_visualize_thick_smoke_glsl.yy +++ b/shaders/sh_fd_visualize_thick_smoke_glsl/sh_fd_visualize_thick_smoke_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_thick_smoke_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_velocity_divergence_glsl/sh_fd_visualize_velocity_divergence_glsl.yy b/shaders/sh_fd_visualize_velocity_divergence_glsl/sh_fd_visualize_velocity_divergence_glsl.yy index fd0d9fabe..eecd86b50 100644 --- a/shaders/sh_fd_visualize_velocity_divergence_glsl/sh_fd_visualize_velocity_divergence_glsl.yy +++ b/shaders/sh_fd_visualize_velocity_divergence_glsl/sh_fd_visualize_velocity_divergence_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_velocity_divergence_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_visualize_velocity_glsl/sh_fd_visualize_velocity_glsl.yy b/shaders/sh_fd_visualize_velocity_glsl/sh_fd_visualize_velocity_glsl.yy index 567de76d2..d117563a2 100644 --- a/shaders/sh_fd_visualize_velocity_glsl/sh_fd_visualize_velocity_glsl.yy +++ b/shaders/sh_fd_visualize_velocity_glsl/sh_fd_visualize_velocity_glsl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_visualize_velocity_glsl", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_fd_vortex/sh_fd_vortex.yy b/shaders/sh_fd_vortex/sh_fd_vortex.yy index 18450af65..49519f764 100644 --- a/shaders/sh_fd_vortex/sh_fd_vortex.yy +++ b/shaders/sh_fd_vortex/sh_fd_vortex.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_fd_vortex", - "type": 1, "parent": { "name": "Shaders", "path": "folders/functions/fluid sim/Shaders.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_find_pixel/sh_find_pixel.yy b/shaders/sh_find_pixel/sh_find_pixel.yy index 9884170fa..b74186321 100644 --- a/shaders/sh_find_pixel/sh_find_pixel.yy +++ b/shaders/sh_find_pixel/sh_find_pixel.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_find_pixel", - "type": 1, "parent": { "name": "shader", "path": "folders/shader.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_flip/sh_flip.yy b/shaders/sh_flip/sh_flip.yy index 7280b32ce..ef1f01132 100644 --- a/shaders/sh_flip/sh_flip.yy +++ b/shaders/sh_flip/sh_flip.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_flip", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_glow/sh_glow.yy b/shaders/sh_glow/sh_glow.yy index 68050cdbb..34cfadd86 100644 --- a/shaders/sh_glow/sh_glow.yy +++ b/shaders/sh_glow/sh_glow.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_glow", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_gradient/sh_gradient.yy b/shaders/sh_gradient/sh_gradient.yy index 14178effc..e74be00ac 100644 --- a/shaders/sh_gradient/sh_gradient.yy +++ b/shaders/sh_gradient/sh_gradient.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_gradient", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_gradient_display/sh_gradient_display.yy b/shaders/sh_gradient_display/sh_gradient_display.yy index cc4d3a487..9e70d4fb6 100644 --- a/shaders/sh_gradient_display/sh_gradient_display.yy +++ b/shaders/sh_gradient_display/sh_gradient_display.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_gradient_display", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_gradient_points/sh_gradient_points.yy b/shaders/sh_gradient_points/sh_gradient_points.yy index 0ce6418e0..0694c734f 100644 --- a/shaders/sh_gradient_points/sh_gradient_points.yy +++ b/shaders/sh_gradient_points/sh_gradient_points.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_gradient_points", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_grey_alpha/sh_grey_alpha.yy b/shaders/sh_grey_alpha/sh_grey_alpha.yy index 726efdb2b..8602511f6 100644 --- a/shaders/sh_grey_alpha/sh_grey_alpha.yy +++ b/shaders/sh_grey_alpha/sh_grey_alpha.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_grey_alpha", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_greyscale/sh_greyscale.yy b/shaders/sh_greyscale/sh_greyscale.yy index 4ec636ddf..ac97b5f9d 100644 --- a/shaders/sh_greyscale/sh_greyscale.yy +++ b/shaders/sh_greyscale/sh_greyscale.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_greyscale", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_grid/sh_grid.yy b/shaders/sh_grid/sh_grid.yy index 9ae53afb3..9265a3ddc 100644 --- a/shaders/sh_grid/sh_grid.yy +++ b/shaders/sh_grid/sh_grid.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_grid", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_grid_hex/sh_grid_hex.yy b/shaders/sh_grid_hex/sh_grid_hex.yy index a9e83801a..26f8b8a14 100644 --- a/shaders/sh_grid_hex/sh_grid_hex.yy +++ b/shaders/sh_grid_hex/sh_grid_hex.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_grid_hex", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_grid_noise/sh_grid_noise.yy b/shaders/sh_grid_noise/sh_grid_noise.yy index b4972a859..9e3408da6 100644 --- a/shaders/sh_grid_noise/sh_grid_noise.yy +++ b/shaders/sh_grid_noise/sh_grid_noise.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_grid_noise", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_grid_tri/sh_grid_tri.yy b/shaders/sh_grid_tri/sh_grid_tri.yy index 3ccd57475..f5641a70a 100644 --- a/shaders/sh_grid_tri/sh_grid_tri.yy +++ b/shaders/sh_grid_tri/sh_grid_tri.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_grid_tri", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_invert/sh_invert.yy b/shaders/sh_invert/sh_invert.yy index 748c914d2..9c13fdb1c 100644 --- a/shaders/sh_invert/sh_invert.yy +++ b/shaders/sh_invert/sh_invert.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_invert", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_level/sh_level.yy b/shaders/sh_level/sh_level.yy index 99fc12885..4511c21a8 100644 --- a/shaders/sh_level/sh_level.yy +++ b/shaders/sh_level/sh_level.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_level", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_level_selector/sh_level_selector.yy b/shaders/sh_level_selector/sh_level_selector.yy index d38d32312..950ad05dd 100644 --- a/shaders/sh_level_selector/sh_level_selector.yy +++ b/shaders/sh_level_selector/sh_level_selector.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_level_selector", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_local_analyze/sh_local_analyze.yy b/shaders/sh_local_analyze/sh_local_analyze.yy index d1a3ed45e..fb245d48a 100644 --- a/shaders/sh_local_analyze/sh_local_analyze.yy +++ b/shaders/sh_local_analyze/sh_local_analyze.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_local_analyze", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_lum2alpha/sh_lum2alpha.yy b/shaders/sh_lum2alpha/sh_lum2alpha.yy index d8a787373..f21a61e39 100644 --- a/shaders/sh_lum2alpha/sh_lum2alpha.yy +++ b/shaders/sh_lum2alpha/sh_lum2alpha.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_lum2alpha", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_mask/sh_mask.fsh b/shaders/sh_mask/sh_mask.fsh index 81cb8d4b2..e437630d1 100644 --- a/shaders/sh_mask/sh_mask.fsh +++ b/shaders/sh_mask/sh_mask.fsh @@ -5,11 +5,17 @@ varying vec2 v_vTexcoord; varying vec4 v_vColour; uniform sampler2D mask; +uniform int useMask; + +uniform sampler2D original; +uniform sampler2D edited; +uniform float mixRatio; void main() { - vec4 m = texture2D( mask, v_vTexcoord ); - if(length(m.rgb * m.a) > 0.1) - gl_FragColor = texture2D( gm_BaseTexture, v_vTexcoord ); - else - gl_FragColor = vec4(0.); + vec4 msk = texture2D( mask, v_vTexcoord ); + vec4 ori = texture2D( original, v_vTexcoord ); + vec4 edt = texture2D( edited, v_vTexcoord ); + + float rat = (useMask == 1? (msk.r + msk.g + msk.b) / 3. * msk.a : 1.) * mixRatio; + gl_FragColor = mix(ori, edt, clamp(rat, 0., 1.)); } diff --git a/shaders/sh_mask/sh_mask.yy b/shaders/sh_mask/sh_mask.yy index 46abab98a..859c1dc3c 100644 --- a/shaders/sh_mask/sh_mask.yy +++ b/shaders/sh_mask/sh_mask.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_mask", - "type": 1, "parent": { "name": "mask", "path": "folders/shader/mask.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_mesh_generation/sh_mesh_generation.yy b/shaders/sh_mesh_generation/sh_mesh_generation.yy index a59012979..974465c30 100644 --- a/shaders/sh_mesh_generation/sh_mesh_generation.yy +++ b/shaders/sh_mesh_generation/sh_mesh_generation.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_mesh_generation", - "type": 1, "parent": { "name": "shader", "path": "folders/shader.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_mirror/sh_mirror.yy b/shaders/sh_mirror/sh_mirror.yy index e82af1b79..cb986a8eb 100644 --- a/shaders/sh_mirror/sh_mirror.yy +++ b/shaders/sh_mirror/sh_mirror.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_mirror", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_mirror_mask/sh_mirror_mask.yy b/shaders/sh_mirror_mask/sh_mirror_mask.yy index 0154ba9dd..f6193b83b 100644 --- a/shaders/sh_mirror_mask/sh_mirror_mask.yy +++ b/shaders/sh_mirror_mask/sh_mirror_mask.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_mirror_mask", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_noise/sh_noise.yy b/shaders/sh_noise/sh_noise.yy index aaf14e8a6..75ed8c505 100644 --- a/shaders/sh_noise/sh_noise.yy +++ b/shaders/sh_noise/sh_noise.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_noise", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy b/shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy index 7fa989526..8a92c3e9d 100644 --- a/shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy +++ b/shaders/sh_noise_grid_hex/sh_noise_grid_hex.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_noise_grid_hex", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_noise_grid_tri/sh_noise_grid_tri.yy b/shaders/sh_noise_grid_tri/sh_noise_grid_tri.yy index 0d60c306c..7d1b9f192 100644 --- a/shaders/sh_noise_grid_tri/sh_noise_grid_tri.yy +++ b/shaders/sh_noise_grid_tri/sh_noise_grid_tri.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_noise_grid_tri", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_normal/sh_normal.yy b/shaders/sh_normal/sh_normal.yy index 2b801db30..0db5ed8da 100644 --- a/shaders/sh_normal/sh_normal.yy +++ b/shaders/sh_normal/sh_normal.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_normal", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_normal_light/sh_normal_light.yy b/shaders/sh_normal_light/sh_normal_light.yy index 8b4a3300a..f7636561f 100644 --- a/shaders/sh_normal_light/sh_normal_light.yy +++ b/shaders/sh_normal_light/sh_normal_light.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_normal_light", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_outline/sh_outline.yy b/shaders/sh_outline/sh_outline.yy index 7ac5bbe71..0fad0b490 100644 --- a/shaders/sh_outline/sh_outline.yy +++ b/shaders/sh_outline/sh_outline.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_outline", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_outline_only/sh_outline_only.yy b/shaders/sh_outline_only/sh_outline_only.yy index d141dc446..e4ba231f2 100644 --- a/shaders/sh_outline_only/sh_outline_only.yy +++ b/shaders/sh_outline_only/sh_outline_only.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_outline_only", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_palette_replace/sh_palette_replace.yy b/shaders/sh_palette_replace/sh_palette_replace.yy index 892b3aea6..d4e946eb4 100644 --- a/shaders/sh_palette_replace/sh_palette_replace.yy +++ b/shaders/sh_palette_replace/sh_palette_replace.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_palette_replace", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_perlin/sh_perlin.yy b/shaders/sh_perlin/sh_perlin.yy index 60d917999..da20d8ca9 100644 --- a/shaders/sh_perlin/sh_perlin.yy +++ b/shaders/sh_perlin/sh_perlin.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_perlin", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_perlin_smear/sh_perlin_smear.yy b/shaders/sh_perlin_smear/sh_perlin_smear.yy index 37be5dd26..f1f1a8fee 100644 --- a/shaders/sh_perlin_smear/sh_perlin_smear.yy +++ b/shaders/sh_perlin_smear/sh_perlin_smear.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_perlin_smear", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_perlin_tiled/sh_perlin_tiled.yy b/shaders/sh_perlin_tiled/sh_perlin_tiled.yy index 4f592ab1b..520c70751 100644 --- a/shaders/sh_perlin_tiled/sh_perlin_tiled.yy +++ b/shaders/sh_perlin_tiled/sh_perlin_tiled.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_perlin_tiled", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_pixel_cloud/sh_pixel_cloud.fsh b/shaders/sh_pixel_cloud/sh_pixel_cloud.fsh index 448f91d7d..251c5a1b1 100644 --- a/shaders/sh_pixel_cloud/sh_pixel_cloud.fsh +++ b/shaders/sh_pixel_cloud/sh_pixel_cloud.fsh @@ -15,7 +15,92 @@ uniform vec4 gradient_color[16]; uniform float gradient_time[16]; uniform int gradient_keys; -uniform float alpha_curve[6]; +uniform float alpha_curve[64]; +uniform int curve_amount; +uniform float randomAmount; + +float eval_curve_segment_t(in float _y0, in float ax0, in float ay0, in float bx1, in float by1, in float _y1, in float prog) { + return _y0 * pow(1. - prog, 3.) + + ay0 * 3. * pow(1. - prog, 2.) * prog + + by1 * 3. * (1. - prog) * pow(prog, 2.) + + _y1 * pow(prog, 3.); +} + +float eval_curve_segment_x(in float _y0, in float ax0, in float ay0, in float bx1, in float by1, in float _y1, in float _x) { + float st = 0.; + float ed = 1.; + float _prec = 0.0001; + + float _xt = _x; + int _binRep = 8; + + if(_x <= 0.) return _y0; + if(_x >= 1.) return _y1; + if(_y0 == ay0 && _y0 == by1 && _y0 == _y1) return _y0; + + for(int i = 0; i < _binRep; i++) { + float _ftx = 3. * pow(1. - _xt, 2.) * _xt * ax0 + + 3. * (1. - _xt) * pow(_xt, 2.) * bx1 + + pow(_xt, 3.); + + if(abs(_ftx - _x) < _prec) + return eval_curve_segment_t(_y0, ax0, ay0, bx1, by1, _y1, _xt); + + if(_xt < _x) st = _xt; + else ed = _xt; + + _xt = (st + ed) / 2.; + } + + int _newRep = 8; + + for(int i = 0; i < _newRep; i++) { + float slope = (9. * ax0 - 9. * bx1 + 3.) * _xt * _xt + + (-12. * ax0 + 6. * bx1) * _xt + + 3. * ax0; + float _ftx = 3. * pow(1. - _xt, 2.) * _xt * ax0 + + 3. * (1. - _xt) * pow(_xt, 2.) * bx1 + + pow(_xt, 3.) + - _x; + + _xt -= _ftx / slope; + + if(abs(_ftx) < _prec) + break; + } + + _xt = clamp(_xt, 0., 1.); + return eval_curve_segment_t(_y0, ax0, ay0, bx1, by1, _y1, _xt); +} + +float curveEval(in float _x) { + _x = clamp(_x, 0., 1.); + int segments = curve_amount / 6 - 1; + + for( int i = 0; i < segments; i++ ) { + int ind = i * 6; + float _x0 = alpha_curve[ind + 2]; + float _y0 = alpha_curve[ind + 3]; + //float bx0 = _x0 + alpha_curve[ind + 0]; + //float by0 = _y0 + alpha_curve[ind + 1]; + float ax0 = _x0 + alpha_curve[ind + 4]; + float ay0 = _y0 + alpha_curve[ind + 5]; + + float _x1 = alpha_curve[ind + 6 + 2]; + float _y1 = alpha_curve[ind + 6 + 3]; + float bx1 = _x1 + alpha_curve[ind + 6 + 0]; + float by1 = _y1 + alpha_curve[ind + 6 + 1]; + //float ax1 = _x1 + alpha_curve[ind + 6 + 4]; + //float ay1 = _y1 + alpha_curve[ind + 6 + 5]; + + if(_x < _x0) continue; + if(_x > _x1) continue; + + return eval_curve_segment_x(_y0, ax0, ay0, bx1, by1, _y1, (_x - _x0) / (_x1 - _x0)); + } + + return alpha_curve[0]; +} vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); @@ -81,13 +166,6 @@ vec4 gradientEval(in float prog) { return col; } -float curveEval(in float curve[6], in float prog) { - return curve[0] * pow(1. - prog, 3.) + - curve[2] * 3. * pow(1. - prog, 2.) * prog + - curve[4] * 3. * (1. - prog) * pow(prog, 2.) + - curve[5] * pow(prog, 3.); -} - float frandom (in vec2 st, in float _seed) { float f = fract(sin(dot(st.xy, vec2(12.9898, 78.233)) * mod(15.15 + seed, 32.156 + _seed) * 12.588) * 43758.5453123); return mix(-1., 1., f); @@ -117,8 +195,8 @@ void main() { if(_new_pos.x >= 0. && _new_pos.x <= 1. && _new_pos.y >= 0. && _new_pos.y <= 1.) { _col = texture2D( gm_BaseTexture, _new_pos ); - _col.rgb *= gradientEval(str + frandom(_pos, 1.235) * 0.1).rgb; - _col.a *= curveEval(alpha_curve, str + frandom(_pos, 2.984) * 0.1); + _col.rgb *= gradientEval(str + frandom(_pos, 1.235) * randomAmount).rgb; + _col.a *= curveEval(str + frandom(_pos, 2.984) * randomAmount); } gl_FragColor = _col; diff --git a/shaders/sh_pixel_sort/sh_pixel_sort.yy b/shaders/sh_pixel_sort/sh_pixel_sort.yy index 5cdef8e24..1ba4cf15d 100644 --- a/shaders/sh_pixel_sort/sh_pixel_sort.yy +++ b/shaders/sh_pixel_sort/sh_pixel_sort.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_pixel_sort", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_polar/sh_polar.yy b/shaders/sh_polar/sh_polar.yy index 56a8576e1..b5b7a306c 100644 --- a/shaders/sh_polar/sh_polar.yy +++ b/shaders/sh_polar/sh_polar.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_polar", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_posterize/sh_posterize.yy b/shaders/sh_posterize/sh_posterize.yy index d6ec3a3a8..3d8c37fc1 100644 --- a/shaders/sh_posterize/sh_posterize.yy +++ b/shaders/sh_posterize/sh_posterize.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_posterize", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_posterize_palette/sh_posterize_palette.yy b/shaders/sh_posterize_palette/sh_posterize_palette.yy index e9a54770b..5036914fb 100644 --- a/shaders/sh_posterize_palette/sh_posterize_palette.yy +++ b/shaders/sh_posterize_palette/sh_posterize_palette.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_posterize_palette", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_remove_black/sh_remove_black.yy b/shaders/sh_remove_black/sh_remove_black.yy index f9c1fe8bb..623c99e5f 100644 --- a/shaders/sh_remove_black/sh_remove_black.yy +++ b/shaders/sh_remove_black/sh_remove_black.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_remove_black", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_sample_points/sh_sample_points.yy b/shaders/sh_sample_points/sh_sample_points.yy index 6a562063f..c159c30bb 100644 --- a/shaders/sh_sample_points/sh_sample_points.yy +++ b/shaders/sh_sample_points/sh_sample_points.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_sample_points", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_scale2x/sh_scale2x.yy b/shaders/sh_scale2x/sh_scale2x.yy index 0e5c115a7..5dc39b2ea 100644 --- a/shaders/sh_scale2x/sh_scale2x.yy +++ b/shaders/sh_scale2x/sh_scale2x.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_scale2x", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_scale3x/sh_scale3x.yy b/shaders/sh_scale3x/sh_scale3x.yy index 1e537e1aa..8f3288bb4 100644 --- a/shaders/sh_scale3x/sh_scale3x.yy +++ b/shaders/sh_scale3x/sh_scale3x.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_scale3x", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_sdf/sh_sdf.yy b/shaders/sh_sdf/sh_sdf.yy index f38ca0d61..5bc855269 100644 --- a/shaders/sh_sdf/sh_sdf.yy +++ b/shaders/sh_sdf/sh_sdf.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_sdf", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_sdf_dist/sh_sdf_dist.yy b/shaders/sh_sdf_dist/sh_sdf_dist.yy index b476411c8..68195f4ad 100644 --- a/shaders/sh_sdf_dist/sh_sdf_dist.yy +++ b/shaders/sh_sdf_dist/sh_sdf_dist.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_sdf_dist", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_sdf_tex/sh_sdf_tex.yy b/shaders/sh_sdf_tex/sh_sdf_tex.yy index 2e54614d2..1ff035368 100644 --- a/shaders/sh_sdf_tex/sh_sdf_tex.yy +++ b/shaders/sh_sdf_tex/sh_sdf_tex.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_sdf_tex", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy b/shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy index e90fc61e1..ef62db7c2 100644 --- a/shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy +++ b/shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_seperate_shape_counter", - "type": 1, "parent": { "name": "shape seperator", "path": "folders/shader/shape seperator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy b/shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy index 96ec45891..a56859805 100644 --- a/shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy +++ b/shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_seperate_shape_index", - "type": 1, "parent": { "name": "shape seperator", "path": "folders/shader/shape seperator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy b/shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy index 426fc66e2..89b52739e 100644 --- a/shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy +++ b/shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_seperate_shape_ite", - "type": 1, "parent": { "name": "shape seperator", "path": "folders/shader/shape seperator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy b/shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy index 224dd67f0..264f4f287 100644 --- a/shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy +++ b/shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_seperate_shape_sep", - "type": 1, "parent": { "name": "shape seperator", "path": "folders/shader/shape seperator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_shadow_cast/sh_shadow_cast.yy b/shaders/sh_shadow_cast/sh_shadow_cast.yy index 59dccefaf..4f9ec1166 100644 --- a/shaders/sh_shadow_cast/sh_shadow_cast.yy +++ b/shaders/sh_shadow_cast/sh_shadow_cast.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_shadow_cast", - "type": 1, "parent": { "name": "shadow caster", "path": "folders/shader/filter/shadow caster.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy b/shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy index 37d737bbb..3ee3f8339 100644 --- a/shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy +++ b/shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_shadow_cast_light_sep", - "type": 1, "parent": { "name": "shadow caster", "path": "folders/shader/filter/shadow caster.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_shape/sh_shape.yy b/shaders/sh_shape/sh_shape.yy index 7ec8e68df..0244ff2a5 100644 --- a/shaders/sh_shape/sh_shape.yy +++ b/shaders/sh_shape/sh_shape.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_shape", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_simplex/sh_simplex.yy b/shaders/sh_simplex/sh_simplex.yy index 6fb2048c4..c35179315 100644 --- a/shaders/sh_simplex/sh_simplex.yy +++ b/shaders/sh_simplex/sh_simplex.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_simplex", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_skew/sh_skew.yy b/shaders/sh_skew/sh_skew.yy index 72c8c2d9d..cfb2db675 100644 --- a/shaders/sh_skew/sh_skew.yy +++ b/shaders/sh_skew/sh_skew.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_skew", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_solid/sh_solid.yy b/shaders/sh_solid/sh_solid.yy index 2588825a9..7faa3d889 100644 --- a/shaders/sh_solid/sh_solid.yy +++ b/shaders/sh_solid/sh_solid.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_solid", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_stripe/sh_stripe.yy b/shaders/sh_stripe/sh_stripe.yy index bd183ba9d..1c76fdb1e 100644 --- a/shaders/sh_stripe/sh_stripe.yy +++ b/shaders/sh_stripe/sh_stripe.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_stripe", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_texture_atlas/sh_texture_atlas.yy b/shaders/sh_texture_atlas/sh_texture_atlas.yy index d4f4f5f07..4fa5b8727 100644 --- a/shaders/sh_texture_atlas/sh_texture_atlas.yy +++ b/shaders/sh_texture_atlas/sh_texture_atlas.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_texture_atlas", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_texture_remap/sh_texture_remap.yy b/shaders/sh_texture_remap/sh_texture_remap.yy index 8ca1935a6..637f675df 100644 --- a/shaders/sh_texture_remap/sh_texture_remap.yy +++ b/shaders/sh_texture_remap/sh_texture_remap.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_texture_remap", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_threshold/sh_threshold.yy b/shaders/sh_threshold/sh_threshold.yy index dcc91ff18..f35b3eff4 100644 --- a/shaders/sh_threshold/sh_threshold.yy +++ b/shaders/sh_threshold/sh_threshold.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_threshold", - "type": 1, "parent": { "name": "filter", "path": "folders/shader/filter.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_time_remap/sh_time_remap.yy b/shaders/sh_time_remap/sh_time_remap.yy index 3a364c233..907fc68ab 100644 --- a/shaders/sh_time_remap/sh_time_remap.yy +++ b/shaders/sh_time_remap/sh_time_remap.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_time_remap", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_twirl/sh_twirl.yy b/shaders/sh_twirl/sh_twirl.yy index f208f1880..feb16e5bd 100644 --- a/shaders/sh_twirl/sh_twirl.yy +++ b/shaders/sh_twirl/sh_twirl.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_twirl", - "type": 1, "parent": { "name": "warp", "path": "folders/shader/warp.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy b/shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy index d59400585..1c0f4409c 100644 --- a/shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy +++ b/shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_vertex_depth_pass", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy b/shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy index f7f320c9d..06775faef 100644 --- a/shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy +++ b/shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_vertex_normal_pass", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.vsh b/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.vsh index 6283aea40..edc05549b 100644 --- a/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.vsh +++ b/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.vsh @@ -20,5 +20,5 @@ void main() { float illumination = -dot(world_space_norm, world_space_ligh); v_vTexcoord = in_TextureCoord; - v_vNormalLight = max(0., min(1., illumination)); + v_vNormalLight = clamp(illumination, 0., 1.); } \ No newline at end of file diff --git a/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy b/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy index 24ee95306..bfb857b2b 100644 --- a/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy +++ b/shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_vertex_pnt_light", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_vertex_pt/sh_vertex_pt.yy b/shaders/sh_vertex_pt/sh_vertex_pt.yy index c03c4e05c..8b4a50289 100644 --- a/shaders/sh_vertex_pt/sh_vertex_pt.yy +++ b/shaders/sh_vertex_pt/sh_vertex_pt.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_vertex_pt", - "type": 1, "parent": { "name": "3d", "path": "folders/shader/3d.yy", }, + "type": 1, } \ No newline at end of file diff --git a/shaders/sh_zigzag/sh_zigzag.yy b/shaders/sh_zigzag/sh_zigzag.yy index 9c64858c5..89a8f9eda 100644 --- a/shaders/sh_zigzag/sh_zigzag.yy +++ b/shaders/sh_zigzag/sh_zigzag.yy @@ -2,9 +2,9 @@ "resourceType": "GMShader", "resourceVersion": "1.0", "name": "sh_zigzag", - "type": 1, "parent": { "name": "generator", "path": "folders/shader/generator.yy", }, + "type": 1, } \ No newline at end of file