diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 7be34477d..21ffda41f 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -441,6 +441,7 @@ {"name":"draw_surface_blend","order":1,"path":"scripts/draw_surface_blend/draw_surface_blend.yy",}, {"name":"o_dialog_group_input_order","order":3,"path":"objects/o_dialog_group_input_order/o_dialog_group_input_order.yy",}, {"name":"node_string_get_char","order":5,"path":"scripts/node_string_get_char/node_string_get_char.yy",}, + {"name":"s_node_gui_out","order":36,"path":"sprites/s_node_gui_out/s_node_gui_out.yy",}, {"name":"_p_dialog_undo_block","order":1,"path":"objects/_p_dialog_undo_block/_p_dialog_undo_block.yy",}, {"name":"sh_mk_tile18_edge_l","order":1,"path":"shaders/sh_mk_tile18_edge_l/sh_mk_tile18_edge_l.yy",}, {"name":"sh_palette_shift","order":19,"path":"shaders/sh_palette_shift/sh_palette_shift.yy",}, @@ -572,6 +573,7 @@ {"name":"s_node_pb_fx_strip","order":26,"path":"sprites/s_node_pb_fx_strip/s_node_pb_fx_strip.yy",}, {"name":"s_node_rigidSim_global","order":4,"path":"sprites/s_node_rigidSim_global/s_node_rigidSim_global.yy",}, {"name":"sh_channel_G_grey","order":8,"path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",}, + {"name":"display_screenshot","order":4,"path":"extensions/display_screenshot/display_screenshot.yy",}, {"name":"node_strand_sim_inline","order":12,"path":"scripts/node_strand_sim_inline/node_strand_sim_inline.yy",}, {"name":"s_node_smokeSim_update","order":10,"path":"sprites/s_node_smokeSim_update/s_node_smokeSim_update.yy",}, {"name":"node_3d_depth","order":15,"path":"scripts/node_3d_depth/node_3d_depth.yy",}, @@ -908,6 +910,7 @@ {"name":"node_blur_simple","order":4,"path":"scripts/node_blur_simple/node_blur_simple.yy",}, {"name":"node_feedback_input","order":1,"path":"scripts/node_feedback_input/node_feedback_input.yy",}, {"name":"s_node_vfx_trail","order":13,"path":"sprites/s_node_vfx_trail/s_node_vfx_trail.yy",}, + {"name":"s_node_gui_in","order":37,"path":"sprites/s_node_gui_in/s_node_gui_in.yy",}, {"name":"s_node_base_conversion","order":10,"path":"sprites/s_node_base_conversion/s_node_base_conversion.yy",}, {"name":"node_transform_array","order":15,"path":"scripts/node_transform_array/node_transform_array.yy",}, {"name":"sh_mk_saber_glow","order":2,"path":"shaders/sh_mk_saber_glow/sh_mk_saber_glow.yy",}, @@ -1426,6 +1429,7 @@ {"name":"s_node_fluidSim_add_fluid","order":3,"path":"sprites/s_node_fluidSim_add_fluid/s_node_fluidSim_add_fluid.yy",}, {"name":"sh_replace_color","order":5,"path":"shaders/sh_replace_color/sh_replace_color.yy",}, {"name":"s_node_armature_bind","order":14,"path":"sprites/s_node_armature_bind/s_node_armature_bind.yy",}, + {"name":"node_monitor_capture","order":21,"path":"scripts/node_monitor_capture/node_monitor_capture.yy",}, {"name":"node_blur_contrast","order":1,"path":"scripts/node_blur_contrast/node_blur_contrast.yy",}, {"name":"sh_trail_filler","order":50,"path":"shaders/sh_trail_filler/sh_trail_filler.yy",}, {"name":"s_node_border","order":12,"path":"sprites/s_node_border/s_node_border.yy",}, @@ -1670,6 +1674,7 @@ {"name":"s_biterator_bg","order":2,"path":"sprites/s_biterator_bg/s_biterator_bg.yy",}, {"name":"macMinimize","order":2,"path":"extensions/macMinimize/macMinimize.yy",}, {"name":"s_node_ase_layer","order":14,"path":"sprites/s_node_ase_layer/s_node_ase_layer.yy",}, + {"name":"s_node_monitor_capture","order":38,"path":"sprites/s_node_monitor_capture/s_node_monitor_capture.yy",}, {"name":"directory_functions","order":9,"path":"scripts/directory_functions/directory_functions.yy",}, {"name":"_f_p1","order":1,"path":"fonts/_f_p1/_f_p1.yy",}, {"name":"tuple_functions","order":5,"path":"scripts/tuple_functions/tuple_functions.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 7adb62998..cf7b7387e 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -657,6 +657,7 @@ {"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},}, {"id":{"name":"o_dialog_group_input_order","path":"objects/o_dialog_group_input_order/o_dialog_group_input_order.yy",},}, {"id":{"name":"node_string_get_char","path":"scripts/node_string_get_char/node_string_get_char.yy",},}, + {"id":{"name":"s_node_gui_out","path":"sprites/s_node_gui_out/s_node_gui_out.yy",},}, {"id":{"name":"_p_dialog_undo_block","path":"objects/_p_dialog_undo_block/_p_dialog_undo_block.yy",},}, {"id":{"name":"sh_mk_tile18_edge_l","path":"shaders/sh_mk_tile18_edge_l/sh_mk_tile18_edge_l.yy",},}, {"id":{"name":"sh_palette_shift","path":"shaders/sh_palette_shift/sh_palette_shift.yy",},}, @@ -803,6 +804,7 @@ {"id":{"name":"s_node_pb_fx_strip","path":"sprites/s_node_pb_fx_strip/s_node_pb_fx_strip.yy",},}, {"id":{"name":"s_node_rigidSim_global","path":"sprites/s_node_rigidSim_global/s_node_rigidSim_global.yy",},}, {"id":{"name":"sh_channel_G_grey","path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},}, + {"id":{"name":"display_screenshot","path":"extensions/display_screenshot/display_screenshot.yy",},}, {"id":{"name":"node_strand_sim_inline","path":"scripts/node_strand_sim_inline/node_strand_sim_inline.yy",},}, {"id":{"name":"s_node_smokeSim_update","path":"sprites/s_node_smokeSim_update/s_node_smokeSim_update.yy",},}, {"id":{"name":"node_3d_depth","path":"scripts/node_3d_depth/node_3d_depth.yy",},}, @@ -1194,6 +1196,7 @@ {"id":{"name":"s_node_vfx_trail","path":"sprites/s_node_vfx_trail/s_node_vfx_trail.yy",},}, {"id":{"name":"o_dialog_add_multiple_images","path":"objects/o_dialog_add_multiple_images/o_dialog_add_multiple_images.yy",},}, {"id":{"name":"assets_data","path":"scripts/assets_data/assets_data.yy",},}, + {"id":{"name":"s_node_gui_in","path":"sprites/s_node_gui_in/s_node_gui_in.yy",},}, {"id":{"name":"s_node_base_conversion","path":"sprites/s_node_base_conversion/s_node_base_conversion.yy",},}, {"id":{"name":"node_transform_array","path":"scripts/node_transform_array/node_transform_array.yy",},}, {"id":{"name":"sh_mk_saber_glow","path":"shaders/sh_mk_saber_glow/sh_mk_saber_glow.yy",},}, @@ -1780,6 +1783,7 @@ {"id":{"name":"s_node_fluidSim_add_fluid","path":"sprites/s_node_fluidSim_add_fluid/s_node_fluidSim_add_fluid.yy",},}, {"id":{"name":"sh_replace_color","path":"shaders/sh_replace_color/sh_replace_color.yy",},}, {"id":{"name":"s_node_armature_bind","path":"sprites/s_node_armature_bind/s_node_armature_bind.yy",},}, + {"id":{"name":"node_monitor_capture","path":"scripts/node_monitor_capture/node_monitor_capture.yy",},}, {"id":{"name":"node_blur_contrast","path":"scripts/node_blur_contrast/node_blur_contrast.yy",},}, {"id":{"name":"sh_trail_filler","path":"shaders/sh_trail_filler/sh_trail_filler.yy",},}, {"id":{"name":"s_fx_pixel","path":"sprites/s_fx_pixel/s_fx_pixel.yy",},}, @@ -2064,6 +2068,7 @@ {"id":{"name":"addonPanel","path":"scripts/addonPanel/addonPanel.yy",},}, {"id":{"name":"macMinimize","path":"extensions/macMinimize/macMinimize.yy",},}, {"id":{"name":"s_node_ase_layer","path":"sprites/s_node_ase_layer/s_node_ase_layer.yy",},}, + {"id":{"name":"s_node_monitor_capture","path":"sprites/s_node_monitor_capture/s_node_monitor_capture.yy",},}, {"id":{"name":"directory_functions","path":"scripts/directory_functions/directory_functions.yy",},}, {"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},}, {"id":{"name":"tuple_functions","path":"scripts/tuple_functions/tuple_functions.yy",},}, diff --git a/fonts/_f_sdf/_f_sdf.old.png b/fonts/_f_sdf/_f_sdf.old.png index 8805077c1..b780a81f4 100644 Binary files a/fonts/_f_sdf/_f_sdf.old.png and b/fonts/_f_sdf/_f_sdf.old.png differ diff --git a/fonts/_f_sdf/_f_sdf.png b/fonts/_f_sdf/_f_sdf.png index 5b25a83d8..8db92e979 100644 Binary files a/fonts/_f_sdf/_f_sdf.png and b/fonts/_f_sdf/_f_sdf.png differ diff --git a/fonts/_f_sdf_medium/_f_sdf_medium.old.png b/fonts/_f_sdf_medium/_f_sdf_medium.old.png index c2a2377fe..e566e14b6 100644 Binary files a/fonts/_f_sdf_medium/_f_sdf_medium.old.png and b/fonts/_f_sdf_medium/_f_sdf_medium.old.png differ diff --git a/fonts/_f_sdf_medium/_f_sdf_medium.png b/fonts/_f_sdf_medium/_f_sdf_medium.png index 10a6f3d36..5812e537b 100644 Binary files a/fonts/_f_sdf_medium/_f_sdf_medium.png and b/fonts/_f_sdf_medium/_f_sdf_medium.png differ diff --git a/objects/o_main/Create_0.gml b/objects/o_main/Create_0.gml index 8484a4bfe..09c60be14 100644 --- a/objects/o_main/Create_0.gml +++ b/objects/o_main/Create_0.gml @@ -309,5 +309,5 @@ global.__debug_runner = 0; __debug_animator_counter = 0; - instance_create(0, 0, o_video_banner); + //instance_create(0, 0, o_video_banner); #endregion \ No newline at end of file diff --git a/objects/o_main/Draw_64.gml b/objects/o_main/Draw_64.gml index 575007f77..8ae902f3d 100644 --- a/objects/o_main/Draw_64.gml +++ b/objects/o_main/Draw_64.gml @@ -64,4 +64,8 @@ if(APP_SURF_OVERRIDE) { surface_set_target(PRE_APP_SURF); draw_surface(APP_SURF, 0, 0); surface_reset_target(); + + surface_set_target(POST_APP_SURF); + draw_surface(APP_SURF, 0, 0); + surface_reset_target(); } \ No newline at end of file diff --git a/objects/o_main/Step_0.gml b/objects/o_main/Step_0.gml index 6271d12ae..f42c2d45a 100644 --- a/objects/o_main/Step_0.gml +++ b/objects/o_main/Step_0.gml @@ -6,6 +6,7 @@ winManStep() if(PROJECT.active && !PROJECT.safeMode) { #region PROJECT.animator.step(); PROJECT.globalNode.step(); + LIVE_UPDATE = false; try { if(PANEL_MAIN != 0) PANEL_MAIN.step(); diff --git a/objects/o_main/Step_1.gml b/objects/o_main/Step_1.gml index 11d0ce064..b61df087f 100644 --- a/objects/o_main/Step_1.gml +++ b/objects/o_main/Step_1.gml @@ -74,13 +74,14 @@ _HOVERING_ELEMENT = noone; #region animation & render DEF_SURFACE_RESET(); - if(APP_SURF_OVERRIDE) + if(!PROJECT.safeMode&& UPDATE_RENDER_ORDER) { + ResetAllNodesRender(); + NodeTopoSort(); + } + + if(LIVE_UPDATE) Render(); else if(!PROJECT.safeMode) { - if(UPDATE_RENDER_ORDER) { - ResetAllNodesRender(); - NodeTopoSort(); - } UPDATE_RENDER_ORDER = false; if(PROJECT.active) { diff --git a/objects/o_video_banner/Draw_75.gml b/objects/o_video_banner/Draw_75.gml index e6ad0d426..1bfbd016d 100644 --- a/objects/o_video_banner/Draw_75.gml +++ b/objects/o_video_banner/Draw_75.gml @@ -8,7 +8,7 @@ surface = surface_verify(surface, w, h); surface_set_target(surface); DRAW_CLEAR - draw_sprite_stretched_ext(s_dialog_bg_l, 0, 0, 0, w, h, c_white, .99); + draw_sprite_stretched(s_dialog_bg_l, 0, 0, 0, w, h); draw_sprite(s_icon_64, 0, h / 2, h / 2); draw_set_text(f_h2, fa_left, fa_bottom, c_white); diff --git a/scripts/node_3d_repeat/node_3d_repeat.gml b/scripts/node_3d_repeat/node_3d_repeat.gml index 8d99803e8..594d3cacf 100644 --- a/scripts/node_3d_repeat/node_3d_repeat.gml +++ b/scripts/node_3d_repeat/node_3d_repeat.gml @@ -1,5 +1,6 @@ function Node_3D_Repeat(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constructor { - name = "3D Repeat"; + name = "3D Repeat"; + min_h = 128; inputs[| 0] = nodeValue("Objects", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3Mesh, noone ) .setArrayDepth(1) diff --git a/scripts/node_application_in/node_application_in.gml b/scripts/node_application_in/node_application_in.gml index e25ebddbd..4dcd75894 100644 --- a/scripts/node_application_in/node_application_in.gml +++ b/scripts/node_application_in/node_application_in.gml @@ -4,13 +4,17 @@ function Node_Application_In(_x, _y, _group = noone) : Node(_x, _y, _group) cons inputs[| 0] = nodeValue("GUI", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone); + APP_SURF_OVERRIDE = true; + static step = function() { #region + LIVE_UPDATE = true; + } #endregion + + static update = function() { #region var s = inputs[| 0].getValue(); - APP_SURF_OVERRIDE = false; if(!is_surface(s)) return; - APP_SURF_OVERRIDE = true; surface_set_target(POST_APP_SURF); BLEND_OVERRIDE draw_surface_stretched(s, 0, 0, WIN_W, WIN_H); diff --git a/scripts/node_application_out/node_application_out.gml b/scripts/node_application_out/node_application_out.gml index e76417105..21a2f51e1 100644 --- a/scripts/node_application_out/node_application_out.gml +++ b/scripts/node_application_out/node_application_out.gml @@ -10,7 +10,13 @@ function Node_Application_Out(_x, _y, _group = noone) : Node(_x, _y, _group) con outputs[| 0] = nodeValue("GUI", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); + APP_SURF_OVERRIDE = true; + static step = function() { #region + LIVE_UPDATE = true; + } #endregion + + static update = function() { #region outputs[| 0].setValue(PRE_APP_SURF); } #endregion } \ No newline at end of file diff --git a/scripts/node_displacement/node_displacement.gml b/scripts/node_displacement/node_displacement.gml index dc6a05f2c..8cce4686c 100644 --- a/scripts/node_displacement/node_displacement.gml +++ b/scripts/node_displacement/node_displacement.gml @@ -82,7 +82,7 @@ If set, then strength value control how many times the effect applies on itself. shader_set_f("dimension", [ww, hh]); shader_set_f("map_dimension", [mw, mh]); shader_set_f("displace", _data[ 2]); - shader_set_f_map("strength", _data[ 3], _data[15], inputs[| 3].attributes.mapped); + shader_set_f_map("strength", _data[ 3], _data[15], inputs[| 3]); shader_set_f("middle", _data[ 4]); shader_set_i("use_rg", _data[ 5]); shader_set_i("iterate", _data[ 6]); diff --git a/scripts/node_monitor_capture/node_monitor_capture.gml b/scripts/node_monitor_capture/node_monitor_capture.gml new file mode 100644 index 000000000..1a217244f --- /dev/null +++ b/scripts/node_monitor_capture/node_monitor_capture.gml @@ -0,0 +1,50 @@ +function Node_Monitor_Capture(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { + name = "Monitor Capture"; + update_on_frame = true; + + monitors = display_measure_all(); + + inputs[| 0] = nodeValue("Mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Monitor", "Region" ]); + + inputs[| 1] = nodeValue("Monitor", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + .setDisplay(VALUE_DISPLAY.enum_scroll, array_create_ext(array_length(monitors), function(ind) { return monitors[ind][9]; })); + + inputs[| 2] = nodeValue("Region", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0, display_get_width(), display_get_height() ]) + .setDisplay(VALUE_DISPLAY.vector); + + outputs[| 0] = nodeValue("GUI", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); + + input_display_list = [ + 0, 1, 2, + ]; + + surface = -1; + + static step = function() { #region + LIVE_UPDATE = true; + + var _mode = getInputData(0); + + inputs[| 1].setVisible(_mode == 0); + inputs[| 2].setVisible(_mode == 1); + } #endregion + + static update = function() { #region + var _mode = getInputData(0); + var _moni = getInputData(1); + var _regi = getInputData(2); + + switch(_mode) { + case 0 : + var _mon = monitors[_moni]; + surface = display_capture_surface_part(_mon[0], _mon[1], _mon[2], _mon[3], surface); + break; + case 1 : + surface = display_capture_surface_part(_regi[0], _regi[1], _regi[2], _regi[3], surface); + break; + } + + outputs[| 0].setValue(surface); + } #endregion +} \ No newline at end of file diff --git a/scripts/node_monitor_capture/node_monitor_capture.yy b/scripts/node_monitor_capture/node_monitor_capture.yy new file mode 100644 index 000000000..e730f9edf --- /dev/null +++ b/scripts/node_monitor_capture/node_monitor_capture.yy @@ -0,0 +1,11 @@ +{ + "resourceType": "GMScript", + "resourceVersion": "1.0", + "name": "node_monitor_capture", + "isCompatibility": false, + "isDnD": false, + "parent": { + "name": "misc", + "path": "folders/nodes/data/misc.yy", + }, +} \ No newline at end of file diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index b6a684dc7..6f9020eaf 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -871,16 +871,17 @@ function __initNodes() { ds_list_add(node, "Cache"); addNodeObject(node, "Cache", s_node_cache, "Node_Cache", [1, Node_Cache],, "Store current animation. Cache persisted between save.").setVersion(1134); addNodeObject(node, "Cache Array", s_node_cache_array, "Node_Cache_Array", [1, Node_Cache_Array],, "Store current animation as array. Cache persisted between save.").setVersion(1130); - + ds_list_add(node, "Debug"); addNodeObject(node, "Print", s_node_print, "Node_Print", [1, Node_Print], ["debug log"], "Display text to notification.").setVersion(1145); addNodeObject(node, "Widget Test", s_node_print, "Node_Widget_Test", [1, Node_Widget_Test]); //addNodeObject(node, "Module Test", s_node_print, "Node_Module_Test", [1, Node_Module_Test]); - + ds_list_add(node, "System"); - addNodeObject(node, "Execute Shell", s_node_shell_excecute, "Node_Shell", [1, Node_Shell], ["terminal", "execute", "run"], "Execute shell script.").setVersion(11530); - //addNodeObject(node, "GUI In", s_node_shell_excecute, "Node_Application_In", [1, Node_Application_In]); - //addNodeObject(node, "GUI Out", s_node_shell_excecute, "Node_Application_Out", [1, Node_Application_Out]); + addNodeObject(node, "Execute Shell", s_node_shell_excecute, "Node_Shell", [1, Node_Shell], ["terminal", "execute", "run"], "Execute shell script.").setVersion(11530); + addNodeObject(node, "Monitor Capture", s_node_monitor_capture, "Node_Monitor_Capture", [1, Node_Monitor_Capture]); + addNodeObject(node, "GUI In", s_node_gui_in, "Node_Application_In", [1, Node_Application_In]); + addNodeObject(node, "GUI Out", s_node_gui_out, "Node_Application_Out", [1, Node_Application_Out]); #endregion var actions = ds_list_create(); diff --git a/scripts/panel_graph/panel_graph.gml b/scripts/panel_graph/panel_graph.gml index 7594c5e8b..876b41b08 100644 --- a/scripts/panel_graph/panel_graph.gml +++ b/scripts/panel_graph/panel_graph.gml @@ -1686,6 +1686,11 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor { graph_dragging_key = false; graph_zooming_key = false; + + if(LIVE_UPDATE) { + draw_set_text(f_p0b, fa_right, fa_bottom, COLORS._main_value_negative); + draw_text(w - 8, h - toolbar_height, "Live Update"); + } } #endregion #region ++++ node manipulation ++++ diff --git a/scripts/render_data/render_data.gml b/scripts/render_data/render_data.gml index ac9f6345e..7508de23b 100644 --- a/scripts/render_data/render_data.gml +++ b/scripts/render_data/render_data.gml @@ -5,7 +5,9 @@ enum RENDER_TYPE { } #region globalvar - globalvar UPDATE, RENDER_QUEUE, RENDER_ORDER, UPDATE_RENDER_ORDER; + globalvar UPDATE, RENDER_QUEUE, RENDER_ORDER, UPDATE_RENDER_ORDER, LIVE_UPDATE; + + LIVE_UPDATE = false; UPDATE_RENDER_ORDER = false; global.FLAG.render = 0; global.FLAG.renderTime = false; @@ -177,6 +179,7 @@ function Render(partial = false, runAction = false) { #region var reset_all = !partial; if(reset_all) { + LOG_IF(global.FLAG.render == 1, $"xxxxxxxxxx Resetting {ds_list_size(PROJECT.nodeTopo)} nodes xxxxxxxxxx"); var _key = ds_map_find_first(PROJECT.nodeMap); var amo = ds_map_size(PROJECT.nodeMap); diff --git a/shaders/sh_cell_noise/sh_cell_noise.fsh b/shaders/sh_cell_noise/sh_cell_noise.fsh index 7facf5cc0..9bff0fbc6 100644 --- a/shaders/sh_cell_noise/sh_cell_noise.fsh +++ b/shaders/sh_cell_noise/sh_cell_noise.fsh @@ -37,11 +37,9 @@ void main() { #endregion vec2 pos = position / dimension; - vec2 st = v_vTexcoord - pos; + vec2 st = v_vTexcoord * sca - pos; vec3 color = vec3(.0); - - st *= sca; - + float m_dist = 1.; if(pattern == 0) { diff --git a/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.fsh b/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.fsh index b57e39e2b..2f5acf6ab 100644 --- a/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.fsh +++ b/shaders/sh_cell_noise_crystal/sh_cell_noise_crystal.fsh @@ -74,7 +74,7 @@ void main() { } #endregion - vec2 p = (v_vTexcoord - position / dimension) * sca * 2.0 - 1.0; + vec2 p = (v_vTexcoord * sca - position / dimension) * 2.0 - 1.0; float n = cellular(p).y; gl_FragColor = vec4(vec3(n), 1.); diff --git a/shaders/sh_cell_noise_edge/sh_cell_noise_edge.fsh b/shaders/sh_cell_noise_edge/sh_cell_noise_edge.fsh index 6930584e2..c9cdda32f 100644 --- a/shaders/sh_cell_noise_edge/sh_cell_noise_edge.fsh +++ b/shaders/sh_cell_noise_edge/sh_cell_noise_edge.fsh @@ -34,10 +34,8 @@ void main() { #endregion vec2 pos = position / dimension; - vec2 st = v_vTexcoord - pos; - - st *= sca; - + vec2 st = v_vTexcoord * sca - pos; + float md = 8.; vec2 mg, mr; diff --git a/shaders/sh_cell_noise_random/sh_cell_noise_random.fsh b/shaders/sh_cell_noise_random/sh_cell_noise_random.fsh index c6bce2bff..e1e35092e 100644 --- a/shaders/sh_cell_noise_random/sh_cell_noise_random.fsh +++ b/shaders/sh_cell_noise_random/sh_cell_noise_random.fsh @@ -43,9 +43,8 @@ void main() { #endregion vec2 pos = position / dimension; - vec2 st = v_vTexcoord - pos; + vec2 st = v_vTexcoord * sca - pos; vec3 color = vec3(.0); - st *= sca; vec2 i_st = floor(st); vec2 f_st = fract(st); diff --git a/sprites/s_node_gui_in/26cf4144-bf77-4164-a493-a58fa2413f40.png b/sprites/s_node_gui_in/26cf4144-bf77-4164-a493-a58fa2413f40.png new file mode 100644 index 000000000..5ad49c8bb Binary files /dev/null and b/sprites/s_node_gui_in/26cf4144-bf77-4164-a493-a58fa2413f40.png differ diff --git a/sprites/s_node_gui_in/layers/26cf4144-bf77-4164-a493-a58fa2413f40/200cf35e-aaa9-4874-972f-78c611ece319.png b/sprites/s_node_gui_in/layers/26cf4144-bf77-4164-a493-a58fa2413f40/200cf35e-aaa9-4874-972f-78c611ece319.png new file mode 100644 index 000000000..5ad49c8bb Binary files /dev/null and b/sprites/s_node_gui_in/layers/26cf4144-bf77-4164-a493-a58fa2413f40/200cf35e-aaa9-4874-972f-78c611ece319.png differ diff --git a/sprites/s_node_gui_in/s_node_gui_in.yy b/sprites/s_node_gui_in/s_node_gui_in.yy new file mode 100644 index 000000000..106200d77 --- /dev/null +++ b/sprites/s_node_gui_in/s_node_gui_in.yy @@ -0,0 +1,74 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "s_node_gui_in", + "bbox_bottom": 57, + "bbox_left": 1, + "bbox_right": 61, + "bbox_top": 6, + "bboxMode": 0, + "collisionKind": 1, + "collisionTolerance": 0, + "DynamicTexturePage": false, + "edgeFiltering": false, + "For3D": false, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"26cf4144-bf77-4164-a493-a58fa2413f40",}, + ], + "gridX": 0, + "gridY": 0, + "height": 64, + "HTile": false, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"200cf35e-aaa9-4874-972f-78c611ece319","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + ], + "nineSlice": null, + "origin": 4, + "parent": { + "name": "misc", + "path": "folders/nodes/icons/misc.yy", + }, + "preMultiplyAlpha": false, + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "s_node_gui_in", + "autoRecord": true, + "backdropHeight": 768, + "backdropImageOpacity": 0.5, + "backdropImagePath": "", + "backdropWidth": 1366, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "events": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "eventStubScript": null, + "eventToFunction": {}, + "length": 1.0, + "lockOrigin": false, + "moments": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "showBackdrop": true, + "showBackdropImage": false, + "timeUnits": 1, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"26cf4144-bf77-4164-a493-a58fa2413f40","path":"sprites/s_node_gui_in/s_node_gui_in.yy",},},},"Disabled":false,"id":"78f93c87-181f-4df1-8e70-63d356290113","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange": null, + "volume": 1.0, + "xorigin": 32, + "yorigin": 32, + }, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "type": 0, + "VTile": false, + "width": 64, +} \ No newline at end of file diff --git a/sprites/s_node_gui_out/1c915d83-a842-4458-bba9-a742fc7769d5.png b/sprites/s_node_gui_out/1c915d83-a842-4458-bba9-a742fc7769d5.png new file mode 100644 index 000000000..22f560600 Binary files /dev/null and b/sprites/s_node_gui_out/1c915d83-a842-4458-bba9-a742fc7769d5.png differ diff --git a/sprites/s_node_gui_out/layers/1c915d83-a842-4458-bba9-a742fc7769d5/a600abd4-a265-4311-9609-0cee667d6af6.png b/sprites/s_node_gui_out/layers/1c915d83-a842-4458-bba9-a742fc7769d5/a600abd4-a265-4311-9609-0cee667d6af6.png new file mode 100644 index 000000000..22f560600 Binary files /dev/null and b/sprites/s_node_gui_out/layers/1c915d83-a842-4458-bba9-a742fc7769d5/a600abd4-a265-4311-9609-0cee667d6af6.png differ diff --git a/sprites/s_node_gui_out/s_node_gui_out.yy b/sprites/s_node_gui_out/s_node_gui_out.yy new file mode 100644 index 000000000..b27b764d0 --- /dev/null +++ b/sprites/s_node_gui_out/s_node_gui_out.yy @@ -0,0 +1,74 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "s_node_gui_out", + "bbox_bottom": 57, + "bbox_left": 2, + "bbox_right": 62, + "bbox_top": 6, + "bboxMode": 0, + "collisionKind": 1, + "collisionTolerance": 0, + "DynamicTexturePage": false, + "edgeFiltering": false, + "For3D": false, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"1c915d83-a842-4458-bba9-a742fc7769d5",}, + ], + "gridX": 0, + "gridY": 0, + "height": 64, + "HTile": false, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"a600abd4-a265-4311-9609-0cee667d6af6","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + ], + "nineSlice": null, + "origin": 4, + "parent": { + "name": "misc", + "path": "folders/nodes/icons/misc.yy", + }, + "preMultiplyAlpha": false, + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "s_node_gui_out", + "autoRecord": true, + "backdropHeight": 768, + "backdropImageOpacity": 0.5, + "backdropImagePath": "", + "backdropWidth": 1366, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "events": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "eventStubScript": null, + "eventToFunction": {}, + "length": 1.0, + "lockOrigin": false, + "moments": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "showBackdrop": true, + "showBackdropImage": false, + "timeUnits": 1, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"1c915d83-a842-4458-bba9-a742fc7769d5","path":"sprites/s_node_gui_out/s_node_gui_out.yy",},},},"Disabled":false,"id":"5c2daabc-d68b-4ffb-86cf-e0fd654f36ed","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange": null, + "volume": 1.0, + "xorigin": 32, + "yorigin": 32, + }, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "type": 0, + "VTile": false, + "width": 64, +} \ No newline at end of file diff --git a/sprites/s_node_monitor_capture/cc61ebc4-7e95-4e47-bfec-8c852dda92ad.png b/sprites/s_node_monitor_capture/cc61ebc4-7e95-4e47-bfec-8c852dda92ad.png new file mode 100644 index 000000000..7ee938061 Binary files /dev/null and b/sprites/s_node_monitor_capture/cc61ebc4-7e95-4e47-bfec-8c852dda92ad.png differ diff --git a/sprites/s_node_monitor_capture/layers/cc61ebc4-7e95-4e47-bfec-8c852dda92ad/b4041c54-7cbe-44a9-88d9-93bdfff2e5ad.png b/sprites/s_node_monitor_capture/layers/cc61ebc4-7e95-4e47-bfec-8c852dda92ad/b4041c54-7cbe-44a9-88d9-93bdfff2e5ad.png new file mode 100644 index 000000000..7ee938061 Binary files /dev/null and b/sprites/s_node_monitor_capture/layers/cc61ebc4-7e95-4e47-bfec-8c852dda92ad/b4041c54-7cbe-44a9-88d9-93bdfff2e5ad.png differ diff --git a/sprites/s_node_monitor_capture/s_node_monitor_capture.yy b/sprites/s_node_monitor_capture/s_node_monitor_capture.yy new file mode 100644 index 000000000..0f3f93f84 --- /dev/null +++ b/sprites/s_node_monitor_capture/s_node_monitor_capture.yy @@ -0,0 +1,74 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "s_node_monitor_capture", + "bbox_bottom": 59, + "bbox_left": 1, + "bbox_right": 62, + "bbox_top": 4, + "bboxMode": 0, + "collisionKind": 1, + "collisionTolerance": 0, + "DynamicTexturePage": false, + "edgeFiltering": false, + "For3D": false, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"cc61ebc4-7e95-4e47-bfec-8c852dda92ad",}, + ], + "gridX": 0, + "gridY": 0, + "height": 64, + "HTile": false, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"b4041c54-7cbe-44a9-88d9-93bdfff2e5ad","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,}, + ], + "nineSlice": null, + "origin": 4, + "parent": { + "name": "misc", + "path": "folders/nodes/icons/misc.yy", + }, + "preMultiplyAlpha": false, + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "s_node_monitor_capture", + "autoRecord": true, + "backdropHeight": 768, + "backdropImageOpacity": 0.5, + "backdropImagePath": "", + "backdropWidth": 1366, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "events": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "eventStubScript": null, + "eventToFunction": {}, + "length": 1.0, + "lockOrigin": false, + "moments": {"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[],}, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "showBackdrop": true, + "showBackdropImage": false, + "timeUnits": 1, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore","resourceVersion":"1.0","Keyframes":[ + {"resourceType":"Keyframe","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"cc61ebc4-7e95-4e47-bfec-8c852dda92ad","path":"sprites/s_node_monitor_capture/s_node_monitor_capture.yy",},},},"Disabled":false,"id":"f15b0c9a-f1de-4b24-9525-7584f6d33d10","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,}, + ],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange": null, + "volume": 1.0, + "xorigin": 32, + "yorigin": 32, + }, + "swatchColours": null, + "swfPrecision": 2.525, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "type": 0, + "VTile": false, + "width": 64, +} \ No newline at end of file