From ce4c89495b623910785dc318df543770bff1d1f9 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Mon, 22 Apr 2024 19:26:08 +0700 Subject: [PATCH] tunnel anim --- .../node_tunnel_in/node_tunnel_in.gml.backup0 | 46 +++++++++++------- .../node_tunnel_in/node_tunnel_in.gml.backup1 | 46 +++++++++++------- .../node_tunnel_out.gml.backup0 | 46 +++++++++++------- .../node_tunnel_out.gml.backup1 | 48 ++++++++++++------- .../scripts/node_value/node_value.gml.backup0 | 2 +- .../scripts/node_value/node_value.gml.backup1 | 2 +- scripts/node_tunnel_in/node_tunnel_in.gml | 44 ++++++++++------- scripts/node_tunnel_out/node_tunnel_out.gml | 44 ++++++++++------- 8 files changed, 175 insertions(+), 103 deletions(-) diff --git a/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup0 b/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup0 index 6d000c866..d7b3165c7 100644 --- a/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup0 +++ b/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup0 @@ -1,4 +1,4 @@ -// 2024-04-22 16:35:49 +// 2024-04-22 19:24:36 function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Tunnel In"; color = COLORS.node_blend_tunnel; @@ -12,6 +12,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct hover_scale_to = 0; hover_alpha = 0; + preview_connecting = false; + preview_scale = 1; + var tname = ""; if(!LOADING && !APPENDING) tname = $"tunnel{ds_map_size(TUNNELS_IN_MAP)}"; @@ -172,6 +175,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct var node = PROJECT.nodeMap[? _k]; if(node.group != group) continue; + preview_connecting = true; + node.preview_connecting = true; + var tox = _x + node.x * _s; var toy = _y + node.y * _s; draw_line_dotted(xx, yy, tox, toy, 2 * _s, current_time / 10, 3); @@ -203,23 +209,29 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct active_draw_index = -1; } - shader_set(sh_node_arc); - shader_set_color("color", inputs[| 1].color_display, hover_alpha); - shader_set_f("angle", degtorad(90)); + #region draw arc + var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1; + preview_scale = lerp_float(preview_scale, prev_s, 5); + preview_connecting = false; - var _r = _s * 20; - shader_set_f("amount", 0.4, 0.5); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 30; - shader_set_f("amount", 0.45, 0.525); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 40; - shader_set_f("amount", 0.475, 0.55); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - shader_reset(); + shader_set(sh_node_arc); + shader_set_color("color", inputs[| 1].color_display, hover_alpha); + shader_set_f("angle", degtorad(90)); + + var _r = preview_scale * _s * 20; + shader_set_f("amount", 0.4, 0.5); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 30; + shader_set_f("amount", 0.45, 0.525); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 40; + shader_set_f("amount", 0.475, 0.55); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + shader_reset(); + #endregion if(hover_scale > 0) { var _r = hover_scale * _s * 16; diff --git a/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup1 b/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup1 index 8bf98bcdf..97512db82 100644 --- a/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup1 +++ b/#backups/scripts/node_tunnel_in/node_tunnel_in.gml.backup1 @@ -1,4 +1,4 @@ -// 2024-04-22 16:35:48 +// 2024-04-22 19:24:33 function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Tunnel In"; color = COLORS.node_blend_tunnel; @@ -12,6 +12,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct hover_scale_to = 0; hover_alpha = 0; + preview_connecting = false; + preview_scale = 1; + var tname = ""; if(!LOADING && !APPENDING) tname = $"tunnel{ds_map_size(TUNNELS_IN_MAP)}"; @@ -172,6 +175,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct var node = PROJECT.nodeMap[? _k]; if(node.group != group) continue; + preview_connecting = true; + node.preview_connecting = true; + var tox = _x + node.x * _s; var toy = _y + node.y * _s; draw_line_dotted(xx, yy, tox, toy, 2 * _s, current_time / 10, 3); @@ -203,23 +209,29 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct active_draw_index = -1; } - shader_set(sh_node_arc); - shader_set_color("color", inputs[| 1].color_display, hover_alpha); - shader_set_f("angle", degtorad(90)); + #region draw arc + var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1; + preview_scale = lerp_float(preview_scale, prev_s, 5); + preview_connecting = false; - var _r = _s * 20; - shader_set_f("amount", 0.4, 0.5); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 30; - shader_set_f("amount", 0.45, 0.525); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 40; - shader_set_f("amount", 0.475, 0.55); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - shader_reset(); + shader_set(sh_node_arc); + shader_set_color("color", inputs[| 1].color_display, hover_alpha); + shader_set_f("angle", degtorad(90)); + + var _r = preview_scale * _s * 20; + shader_set_f("amount", 0.4, 0.5); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 30; + shader_set_f("amount", 0.45, 0.525); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 40; + shader_set_f("amount", 0.475, 0.55); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + shader_reset(); + #endregion if(hover_scale > 0) { var _r = hover_scale * _s * 16; diff --git a/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup0 b/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup0 index 1e9d3667d..726daa048 100644 --- a/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup0 +++ b/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup0 @@ -1,4 +1,4 @@ -// 2024-04-22 16:35:44 +// 2024-04-22 19:25:58 function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Tunnel Out"; color = COLORS.node_blend_tunnel; @@ -12,6 +12,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc hover_scale_to = 0; hover_alpha = 0; + preview_connecting = false; + preview_scale = 1; + var tname = ""; if(!LOADING && !APPENDING && !ds_map_empty(TUNNELS_IN)) tname = ds_map_find_first(TUNNELS_IN); @@ -104,6 +107,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc var node = TUNNELS_IN[? _key].node; if(node.group != group) return; + preview_connecting = true; + node.preview_connecting = true; + draw_set_color(outputs[| 0].color_display); draw_set_alpha(0.5); @@ -137,23 +143,29 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc active_draw_index = -1; } - shader_set(sh_node_arc); - shader_set_color("color", outputs[| 0].color_display, hover_alpha); - shader_set_f("angle", degtorad(-90)); + #region draw arc + var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1; + preview_scale = lerp_float(preview_scale, prev_s, 5); + preview_connecting = false; - var _r = _s * 20; - shader_set_f("amount", 0.4, 0.5); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 30; - shader_set_f("amount", 0.45, 0.525); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 40; - shader_set_f("amount", 0.475, 0.55); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - shader_reset(); + shader_set(sh_node_arc); + shader_set_color("color", outputs[| 0].color_display, hover_alpha); + shader_set_f("angle", degtorad(-90)); + + var _r = preview_scale * _s * 20; + shader_set_f("amount", 0.4, 0.5); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 30; + shader_set_f("amount", 0.45, 0.525); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 40; + shader_set_f("amount", 0.475, 0.55); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + shader_reset(); + #endregion if(hover_scale > 0) { var _r = hover_scale * _s * 16; diff --git a/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup1 b/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup1 index 9587e8ea0..36f8aef5f 100644 --- a/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup1 +++ b/#backups/scripts/node_tunnel_out/node_tunnel_out.gml.backup1 @@ -1,4 +1,4 @@ -// 2024-04-22 16:34:50 +// 2024-04-22 19:24:39 function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) constructor { name = "Tunnel Out"; color = COLORS.node_blend_tunnel; @@ -12,6 +12,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc hover_scale_to = 0; hover_alpha = 0; + preview_connecting = false; + preview_scale = 1; + var tname = ""; if(!LOADING && !APPENDING && !ds_map_empty(TUNNELS_IN)) tname = ds_map_find_first(TUNNELS_IN); @@ -93,7 +96,7 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc var xx = _x + x * _s; var yy = _y + y * _s; - var hover = isHovering || active_draw_index; + var hover = isHovering || hover_alpha == 1; var tun = findPanel("Panel_Tunnels"); hover |= tun && tun.tunnel_hover == self; if(!hover) return; @@ -104,6 +107,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc var node = TUNNELS_IN[? _key].node; if(node.group != group) return; + preview_connecting = true; + node.preview_connecting = true; + draw_set_color(outputs[| 0].color_display); draw_set_alpha(0.5); @@ -137,23 +143,29 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc active_draw_index = -1; } - shader_set(sh_node_arc); - shader_set_color("color", outputs[| 0].color_display, hover_alpha); - shader_set_f("angle", degtorad(-90)); + #region draw arc + var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1; + preview_scale = lerp_float(preview_scale, prev_s, 5); + preview_connecting = false; - var _r = _s * 20; - shader_set_f("amount", 0.4, 0.5); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 30; - shader_set_f("amount", 0.45, 0.525); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 40; - shader_set_f("amount", 0.475, 0.55); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - shader_reset(); + shader_set(sh_node_arc); + shader_set_color("color", outputs[| 0].color_display, hover_alpha); + shader_set_f("angle", degtorad(-90)); + + var _r = preview_scale * _s * 20; + shader_set_f("amount", 0.4, 0.5); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 30; + shader_set_f("amount", 0.45, 0.525); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 40; + shader_set_f("amount", 0.475, 0.55); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + shader_reset(); + #endregion if(hover_scale > 0) { var _r = hover_scale * _s * 16; diff --git a/#backups/scripts/node_value/node_value.gml.backup0 b/#backups/scripts/node_value/node_value.gml.backup0 index 9e278978e..be3916776 100644 --- a/#backups/scripts/node_value/node_value.gml.backup0 +++ b/#backups/scripts/node_value/node_value.gml.backup0 @@ -1,4 +1,4 @@ -// 2024-04-22 18:42:00 +// 2024-04-22 19:15:18 #region ---- global names ---- global.junctionEndName = [ "Hold", "Loop", "Ping pong", "Wrap" ]; diff --git a/#backups/scripts/node_value/node_value.gml.backup1 b/#backups/scripts/node_value/node_value.gml.backup1 index 85ddf37fd..9e278978e 100644 --- a/#backups/scripts/node_value/node_value.gml.backup1 +++ b/#backups/scripts/node_value/node_value.gml.backup1 @@ -1,4 +1,4 @@ -// 2024-04-22 18:38:48 +// 2024-04-22 18:42:00 #region ---- global names ---- global.junctionEndName = [ "Hold", "Loop", "Ping pong", "Wrap" ]; diff --git a/scripts/node_tunnel_in/node_tunnel_in.gml b/scripts/node_tunnel_in/node_tunnel_in.gml index 043f292e0..228872c4d 100644 --- a/scripts/node_tunnel_in/node_tunnel_in.gml +++ b/scripts/node_tunnel_in/node_tunnel_in.gml @@ -11,6 +11,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct hover_scale_to = 0; hover_alpha = 0; + preview_connecting = false; + preview_scale = 1; + var tname = ""; if(!LOADING && !APPENDING) tname = $"tunnel{ds_map_size(TUNNELS_IN_MAP)}"; @@ -171,6 +174,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct var node = PROJECT.nodeMap[? _k]; if(node.group != group) continue; + preview_connecting = true; + node.preview_connecting = true; + var tox = _x + node.x * _s; var toy = _y + node.y * _s; draw_line_dotted(xx, yy, tox, toy, 2 * _s, current_time / 10, 3); @@ -202,23 +208,29 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct active_draw_index = -1; } - shader_set(sh_node_arc); - shader_set_color("color", inputs[| 1].color_display, hover_alpha); - shader_set_f("angle", degtorad(90)); + #region draw arc + var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1; + preview_scale = lerp_float(preview_scale, prev_s, 5); + preview_connecting = false; - var _r = _s * 20; - shader_set_f("amount", 0.4, 0.5); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 30; - shader_set_f("amount", 0.45, 0.525); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 40; - shader_set_f("amount", 0.475, 0.55); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - shader_reset(); + shader_set(sh_node_arc); + shader_set_color("color", inputs[| 1].color_display, hover_alpha); + shader_set_f("angle", degtorad(90)); + + var _r = preview_scale * _s * 20; + shader_set_f("amount", 0.4, 0.5); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 30; + shader_set_f("amount", 0.45, 0.525); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 40; + shader_set_f("amount", 0.475, 0.55); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + shader_reset(); + #endregion if(hover_scale > 0) { var _r = hover_scale * _s * 16; diff --git a/scripts/node_tunnel_out/node_tunnel_out.gml b/scripts/node_tunnel_out/node_tunnel_out.gml index 47830f0e2..b1fbf9579 100644 --- a/scripts/node_tunnel_out/node_tunnel_out.gml +++ b/scripts/node_tunnel_out/node_tunnel_out.gml @@ -11,6 +11,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc hover_scale_to = 0; hover_alpha = 0; + preview_connecting = false; + preview_scale = 1; + var tname = ""; if(!LOADING && !APPENDING && !ds_map_empty(TUNNELS_IN)) tname = ds_map_find_first(TUNNELS_IN); @@ -103,6 +106,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc var node = TUNNELS_IN[? _key].node; if(node.group != group) return; + preview_connecting = true; + node.preview_connecting = true; + draw_set_color(outputs[| 0].color_display); draw_set_alpha(0.5); @@ -136,23 +142,29 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc active_draw_index = -1; } - shader_set(sh_node_arc); - shader_set_color("color", outputs[| 0].color_display, hover_alpha); - shader_set_f("angle", degtorad(-90)); + #region draw arc + var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1; + preview_scale = lerp_float(preview_scale, prev_s, 5); + preview_connecting = false; - var _r = _s * 20; - shader_set_f("amount", 0.4, 0.5); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 30; - shader_set_f("amount", 0.45, 0.525); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - var _r = _s * 40; - shader_set_f("amount", 0.475, 0.55); - draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); - - shader_reset(); + shader_set(sh_node_arc); + shader_set_color("color", outputs[| 0].color_display, hover_alpha); + shader_set_f("angle", degtorad(-90)); + + var _r = preview_scale * _s * 20; + shader_set_f("amount", 0.4, 0.5); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 30; + shader_set_f("amount", 0.45, 0.525); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + var _r = preview_scale * _s * 40; + shader_set_f("amount", 0.475, 0.55); + draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2); + + shader_reset(); + #endregion if(hover_scale > 0) { var _r = hover_scale * _s * 16;