From d1ac7ecab950f0accf31db5a2f4a0bd4f53a7cfa Mon Sep 17 00:00:00 2001 From: Tanasart Date: Wed, 9 Oct 2024 11:38:35 +0700 Subject: [PATCH] - [Shape] Add line shape. - [Shape] Arrow shape now use 2 points instead of area. --- objects/o_dialog_add_node/Create_0.gml | 2 + .../draw_sprite_ext_override.gml | 6 +- scripts/globals/globals.gml | 2 +- scripts/mask_function/mask_function.gml | 2 +- scripts/nodeValue_drawer/nodeValue_drawer.gml | 4 +- scripts/node_convolution/node_convolution.gml | 2 +- scripts/node_shape/node_shape.gml | 152 ++++++++++++------ shaders/sh_shape/sh_shape.fsh | 95 +++++------ .../14bfe2b8-bba9-422d-9309-159a2068a2b8.png | Bin 381 -> 381 bytes .../1b712b1b-6360-41cb-8ff2-e1251fd32421.png | Bin 455 -> 455 bytes .../41c086f9-4334-4833-a514-0a6c3194841b.png | Bin 479 -> 479 bytes .../49f66653-48bb-46ca-adb5-39604325a9d1.png | Bin 515 -> 515 bytes .../4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png | Bin 439 -> 439 bytes .../60deee41-cb26-435b-b3dd-7f03e79b3f50.png | Bin 493 -> 493 bytes .../68cedd47-7826-45d0-936a-09d3f0b2514e.png | Bin 456 -> 456 bytes .../6d6db666-0f53-414f-8e2e-75217cbcd027.png | Bin 380 -> 380 bytes .../6f6b7c89-ea42-4cfb-bb35-4037443cb1b2.png | Bin 0 -> 374 bytes .../71e478b1-ed0d-4f73-b942-57d5680a935e.png | Bin 531 -> 531 bytes .../83cbb736-e130-438e-b366-d4834ff26292.png | Bin 474 -> 474 bytes .../89c97a04-3af5-4197-9771-499813b2fd32.png | Bin 474 -> 474 bytes .../8ea8d1e8-6255-4f98-9112-0092f61f32d0.png | Bin 502 -> 502 bytes .../9619ab69-4168-4599-a598-8c722310ef03.png | Bin 499 -> 499 bytes .../9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0.png | Bin 377 -> 377 bytes .../ac2c058e-dd94-4d88-9958-fac479f23660.png | Bin 326 -> 326 bytes .../b0761a58-4f3d-4174-8a91-3d14246ac152.png | Bin 448 -> 448 bytes .../b1ec2af5-bef8-4227-95ad-3e2460e6e676.png | Bin 442 -> 442 bytes .../c993ff0d-daf9-4950-9c17-252474cc9195.png | Bin 426 -> 426 bytes .../d2df5faf-acdc-4267-9fc3-e2587ea46ffb.png | Bin 525 -> 525 bytes .../d327df90-02a8-4278-a2f0-bad7924956ff.png | Bin 467 -> 467 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 381 -> 381 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 455 -> 455 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 479 -> 479 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 515 -> 515 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 439 -> 439 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 493 -> 493 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 456 -> 456 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 380 -> 380 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 0 -> 374 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 531 -> 531 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 474 -> 474 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 474 -> 474 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 502 -> 502 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 499 -> 499 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 377 -> 377 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 326 -> 326 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 448 -> 448 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 442 -> 442 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 426 -> 426 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 525 -> 525 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 467 -> 467 bytes .../s_node_shape_type/s_node_shape_type.yy | 28 ++-- 51 files changed, 180 insertions(+), 113 deletions(-) create mode 100644 sprites/s_node_shape_type/6f6b7c89-ea42-4cfb-bb35-4037443cb1b2.png create mode 100644 sprites/s_node_shape_type/layers/6f6b7c89-ea42-4cfb-bb35-4037443cb1b2/e8dfb98d-070d-4cc7-8d95-66066132cc72.png diff --git a/objects/o_dialog_add_node/Create_0.gml b/objects/o_dialog_add_node/Create_0.gml index 65bb94e2e..1e06ce929 100644 --- a/objects/o_dialog_add_node/Create_0.gml +++ b/objects/o_dialog_add_node/Create_0.gml @@ -190,6 +190,8 @@ event_inherited(); for( var i = 0, n = array_length(_new_node.outputs); i < n; i++ ) array_push(_outputs, _new_node.outputs[i]); + PANEL_INSPECTOR.setInspecting(_new_node); + } else if(is_instanceof(_node, NodeAction)) { // NOT IMPLEMENTED _node.build(node_target_x, node_target_y,, _param); return; diff --git a/scripts/draw_sprite_ext_override/draw_sprite_ext_override.gml b/scripts/draw_sprite_ext_override/draw_sprite_ext_override.gml index 44e175ea2..e6d95fb78 100644 --- a/scripts/draw_sprite_ext_override/draw_sprite_ext_override.gml +++ b/scripts/draw_sprite_ext_override/draw_sprite_ext_override.gml @@ -114,12 +114,12 @@ function draw_anchor_line(_index, _x, _y, _r, _a, _type = 0) { shader_reset(); } -function draw_empty() { +function draw_empty(_w = 0, _h = 0) { var _s = surface_get_target(); if(_s == -1) return; - var _w = surface_get_width(_s); - var _h = surface_get_height(_s); + _w = _w? _w : surface_get_width(_s); + _h = _h? _h : surface_get_height(_s); draw_sprite_stretched(s_fx_pixel, 0, 0, 0, _w, _h); } \ No newline at end of file diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index cbeea5b0c..8dd4fd11b 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -41,7 +41,7 @@ LATEST_VERSION = 1_18_00_0; VERSION = 1_18_01_0; - SAVE_VERSION = 1_18_00_0; + SAVE_VERSION = 1_18_01_0; VERSION_STRING = MAC? "1.18.003m" : "1.18.1"; BUILD_NUMBER = 1_18_01_0; diff --git a/scripts/mask_function/mask_function.gml b/scripts/mask_function/mask_function.gml index a045c941a..50603640d 100644 --- a/scripts/mask_function/mask_function.gml +++ b/scripts/mask_function/mask_function.gml @@ -64,7 +64,7 @@ function mask_apply(original, edited, mask, mix = 1) { shader_set_i("invMask", __mask_invert); shader_set_f("mixRatio", mix); - draw_sprite_stretched(s_fx_pixel, 0, 0, 0, surface_get_width_safe(original), surface_get_height_safe(original)); + draw_empty(); surface_reset_shader(); surface_free(edited); diff --git a/scripts/nodeValue_drawer/nodeValue_drawer.gml b/scripts/nodeValue_drawer/nodeValue_drawer.gml index 68e0c3119..7f070dde5 100644 --- a/scripts/nodeValue_drawer/nodeValue_drawer.gml +++ b/scripts/nodeValue_drawer/nodeValue_drawer.gml @@ -27,9 +27,9 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc var cHov = false; switch(instanceof(wid)) { - case "textArea" : + case "textArea" : case "controlPointBox" : - case "transformBox" : + case "transformBox" : breakLine = true; break; diff --git a/scripts/node_convolution/node_convolution.gml b/scripts/node_convolution/node_convolution.gml index 4771cad83..f0bb9f744 100644 --- a/scripts/node_convolution/node_convolution.gml +++ b/scripts/node_convolution/node_convolution.gml @@ -49,7 +49,7 @@ function Node_Convolution(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[1].editWidget.setSize(_siz); _ker = array_verify(_ker, _siz * _siz); - surface_set_shader(_outSurf, sh_convolution); + surface_set_shader(_outSurf, sh_convolution, true, BLEND.over); shader_set_dim("dimension", _outSurf); shader_set_f("kernel", _ker); shader_set_i("size", _siz); diff --git a/scripts/node_shape/node_shape.gml b/scripts/node_shape/node_shape.gml index 8dc5ea948..91d5e16fd 100644 --- a/scripts/node_shape/node_shape.gml +++ b/scripts/node_shape/node_shape.gml @@ -39,7 +39,8 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con "Rectangle", "Diamond", "Trapezoid", "Parallelogram", -1, "Ellipse", "Arc", "Donut", "Crescent", "Disk Segment", "Pie", "Squircle", -1, "Regular polygon", "Star", "Cross", "Rounded Cross", - -1, "Teardrop", "Leaf", "Heart", "Arrow", "Gear", + -1, "Line", "Arrow", + -1, "Teardrop", "Leaf", "Heart", "Gear", ]; shape_types_str = []; @@ -49,6 +50,8 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con newInput(2, nodeValue_Enum_Scroll("Shape", self, 0, { data: shape_types_str, horizontal: true, text_pad: ui(16) })); + inputs[2].options_histories = [ shape_types, { cond: function() /*=>*/ {return LOADING_VERSION < 1_18_00_0}, list: global.node_shape_keys_18 } ]; + newInput(3, nodeValue_Area("Position", self, DEF_AREA_REF, { onSurfaceSize, useShape : false })) .setUnitRef(onSurfaceSize, VALUE_UNIT.reference); @@ -102,9 +105,9 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con newInput(22, nodeValue_Float("Skew", self, 0.5 )) .setDisplay(VALUE_DISPLAY.slider); - newInput(23, nodeValue_Slider_Range("Arrow Sizes", self, [ 0.2, 0.3 ] )); - - newInput(24, nodeValue_Float("Arrow Head", self, 3 )); + newInput(23, nodeValue_Float("Arrow Sizes", self, 0.3 )); + + newInput(24, nodeValue_Float("Arrow Head", self, 1 )); newInput(25, nodeValue_Int("Teeth Amount", self, 6 )); @@ -121,12 +124,24 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con newInput(31, nodeValue_Float("Factor", self, 2.5)); + newInput(32, nodeValue_Vec2("Point 1", self, [ 0, 0 ])) + .setUnitRef(onSurfaceSize, VALUE_UNIT.reference); + + newInput(33, nodeValue_Vec2("Point 2", self, [ 1, 1 ])) + .setUnitRef(onSurfaceSize, VALUE_UNIT.reference); + + newInput(34, nodeValue_Float("Thickness", self, 0.1)) + .setDisplay(VALUE_DISPLAY.slider); + + newInput(35, nodeValue_Vec2("Point 3", self, [ 1, 0 ])) + .setUnitRef(onSurfaceSize, VALUE_UNIT.reference); + newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone)); input_display_list = [ ["Output", false], 0, 6, ["Transform", false], 15, 3, 16, 17, 19, 28, - ["Shape", false], 14, 2, 9, 4, 13, 5, 7, 8, 21, 22, 23, 24, 25, 26, 27, 30, 31, + ["Shape", false], 14, 2, 32, 33, 35, 34, /**/ 9, 4, 13, 5, 7, 8, 21, 22, 23, 24, 25, 26, 27, 30, 31, ["Render", true], 10, 18, ["Height", true, 12], 29, 20, ["Background", true, 1], 11, @@ -163,7 +178,8 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con return _hov; } - var _type = current_data[15]; + var _shape = current_data[ 2]; + var _posMode = current_data[15]; var _pos = [ 0, 0 ]; var _sca = [ 1, 1 ]; var _px, _py; @@ -172,51 +188,60 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con var _hov = false; var _int = hover; - if(_type == 0) { + var _shp = array_safe_get(shape_types, _shape, ""); + if(is_struct(_shp)) _shp = _shp.data; + + switch(_shp) { + case "Arrow" : + case "Line" : + hv = inputs[32].drawOverlay(_int, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv; _int &= !_hov; + hv = inputs[33].drawOverlay(_int, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv; _int &= !_hov; + return _hov; + } + + if(_posMode == 0) { _pos = [ current_data[3][0], current_data[3][1] ]; _sca = [ current_data[3][2], current_data[3][3] ]; - } else if(_type == 1) { + } else if(_posMode == 1) { _pos = current_data[16]; _sca = current_data[17]; } - if(_type != 2) { - if(inputs[9].show_in_inspector) { - var _px = _x + _pos[0] * _s; - var _py = _y + _pos[1] * _s; - - var _x0 = _px - _sca[0] * _s; - var _y0 = _py - _sca[1] * _s; - var _x1 = _px + _sca[0] * _s; - var _y1 = _py + _sca[1] * _s; - - var aa = -45; - var ar = 90; - - if(_sca[0] < 0 && _sca[1] < 0) { aa = 135; ar = -90; } - else if(_sca[0] < 0 && _sca[1] > 0) { aa = -135; ar = 0; } - else if(_sca[0] > 0 && _sca[1] < 0) { aa = 45; ar = 180; } - - var _max_s = max(abs(_sca[0]), abs(_sca[1])); - var _corr = current_data[9] * _s * _max_s; - var _cor = _corr / (sqrt(2) - 1); - - var cx = _x0 + lengthdir_x(_cor, aa); - var cy = _y0 + lengthdir_y(_cor, aa); - - draw_set_color(COLORS._main_accent); - draw_arc(cx, cy, _cor - _corr, ar, ar + 90, 2); - - hv = inputs[9].drawOverlay(_int, active, _x0, _y0, _s, _mx, _my, _snx, _sny, aa, _max_s, 1); _hov |= hv; _int &= !_hov; - } + if(inputs[9].show_in_inspector && _posMode != 2) { // corner + var _px = _x + _pos[0] * _s; + var _py = _y + _pos[1] * _s; + + var _x0 = _px - _sca[0] * _s; + var _y0 = _py - _sca[1] * _s; + var _x1 = _px + _sca[0] * _s; + var _y1 = _py + _sca[1] * _s; + + var aa = -45; + var ar = 90; + + if(_sca[0] < 0 && _sca[1] < 0) { aa = 135; ar = -90; } + else if(_sca[0] < 0 && _sca[1] > 0) { aa = -135; ar = 0; } + else if(_sca[0] > 0 && _sca[1] < 0) { aa = 45; ar = 180; } + + var _max_s = max(abs(_sca[0]), abs(_sca[1])); + var _corr = current_data[9] * _s * _max_s; + var _cor = _corr / (sqrt(2) - 1); + + var cx = _x0 + lengthdir_x(_cor, aa); + var cy = _y0 + lengthdir_y(_cor, aa); + + draw_set_color(COLORS._main_accent); + draw_arc(cx, cy, _cor - _corr, ar, ar + 90, 2); + + hv = inputs[9].drawOverlay(_int, active, _x0, _y0, _s, _mx, _my, _snx, _sny, aa, _max_s, 1); _hov |= hv; _int &= !_hov; } - if(_type == 0) { + if(_posMode == 0) { hv = inputs[3].drawOverlay(_int, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv; _int &= !_hov; - } else if(_type == 1) { + } else if(_posMode == 1) { _px = _x + _pos[0] * _s; _py = _y + _pos[1] * _s; @@ -281,18 +306,17 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[16].setVisible(_posTyp == 1); inputs[17].setVisible(_posTyp == 1); - inputs[ 4].setVisible(true); - inputs[ 5].setVisible(true); inputs[ 6].setVisible(_path == noone); - inputs[ 7].setVisible(true); - inputs[ 8].setVisible(true); - inputs[ 9].setVisible(true); inputs[12].setVisible(_path == noone); inputs[20].setVisible(_path == noone); - inputs[13].setVisible(true); inputs[15].setVisible(true); + inputs[30].setVisible(false); inputs[31].setVisible(false); + inputs[32].setVisible(false); + inputs[33].setVisible(false); + inputs[34].setVisible(false); + inputs[35].setVisible(false); _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); use_path = _path != noone && struct_has(_path, "getPointRatio"); @@ -533,10 +557,28 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con case "Arrow": inputs[23].setVisible(true); inputs[24].setVisible(true); + inputs[32].setVisible(true); + inputs[33].setVisible(true); + inputs[34].setVisible(true); shader_set_i("shape", 17); - shader_set_2("arrow", _data[23]); + shader_set_f("arrow", _data[23] / _data[24]); shader_set_f("arrow_head", _data[24]); + + shader_set_2("point1", _data[32]); + shader_set_2("point2", _data[33]); + shader_set_f("thickness", _data[34]); + break; + + case "Line": + inputs[32].setVisible(true); + inputs[33].setVisible(true); + inputs[34].setVisible(true); + + shader_set_i("shape", 20); + shader_set_2("point1", _data[32]); + shader_set_2("point2", _data[33]); + shader_set_f("thickness", _data[34]); break; case "Gear": @@ -555,7 +597,6 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_f("teethAngle", _data[27]); break; - case "Squircle" : inputs[31].setVisible(true); @@ -586,4 +627,19 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con return _outSurf; } -} \ No newline at end of file + + static postDeserialize = function() { + if(LOADING_VERSION < 1_18_01_0) { + var _dat = load_map.inputs[23].raw_value; + for( var i = 0, n = array_length(_dat); i < n; i++ ) + _dat[i][1] = is_array(_dat[i][1])? array_safe_get(_dat[i][1], 1) : _dat[i][1]; + } + } +} + +global.node_shape_keys_18 = [ + "Rectangle", "Diamond", "Trapezoid", "Parallelogram", + -1, "Ellipse", "Arc", "Donut", "Crescent", "Disk Segment", "Pie", "Squircle", + -1, "Regular polygon", "Star", "Cross", "Rounded Cross", + -1, "Teardrop", "Leaf", "Heart", "Arrow", "Gear", +]; \ No newline at end of file diff --git a/shaders/sh_shape/sh_shape.fsh b/shaders/sh_shape/sh_shape.fsh index 6666c5409..ee72fa55c 100644 --- a/shaders/sh_shape/sh_shape.fsh +++ b/shaders/sh_shape/sh_shape.fsh @@ -44,10 +44,14 @@ uniform int teeth; uniform vec2 teethSize; uniform float teethAngle; -uniform vec2 arrow; +uniform float arrow; uniform float arrow_head; uniform float squircle_factor; +uniform vec2 point1; +uniform vec2 point2; +uniform float thickness; + uniform vec4 bgColor; #define PI 3.14159265359 @@ -352,56 +356,52 @@ float sdRoundedCross( in vec2 p, in float h ) { dot2(p-vec2(1,0)))); // right corner } -float sdArrow( in vec2 p, float w1, float w2, float k ) { // The arrow goes from a to b. It's thickness is w1. The arrow head's thickness is w2. +float sdArrow( in vec2 p, vec2 a, vec2 b, float w1, float w2, float k ) { // The arrow goes from a to b. It's thickness is w1. The arrow head's thickness is w2. // constant setup - vec2 a = vec2(-1., 0.); - vec2 b = vec2(1., 0.); vec2 ba = b - a; float l2 = dot(ba,ba); - float l = sqrt(l2); + float l = sqrt(l2); // pixel setup - p = p-a; - p = mat2(ba.x,-ba.y,ba.y,ba.x)*p/l; + p = p - a; + p = mat2(ba.x, -ba.y, ba.y, ba.x) * p / l; p.y = abs(p.y); - vec2 pz = p-vec2(l-w2*k,w2); - + vec2 pz = p - vec2(l - w2 * k, w2); + // === distance (four segments) === - + vec2 q = p; - q.x -= clamp( q.x, 0.0, l-w2*k ); + q.x -= clamp( q.x, 0.0, l - w2 * k ); q.y -= w1; float di = dot(q,q); //---- q = pz; - q.y -= clamp( q.y, w1-w2, 0.0 ); - di = min( di, dot(q,q) ); + q.y -= clamp( q.y, w1 - w2, 0.0 ); + di = min( di, dot(q, q) ); //---- - if( p.x0.0 ) // conditional is optional - { - q = pz; - q -= vec2(k,-1.0)*clamp( (q.x*k-q.y)/(k*k+1.0), 0.0, w2 ); - di = min( di, dot(q,q) ); + if( pz.x > 0.0 ) { // conditional is optional + q = pz; + q -= vec2(k, -1.0) * clamp( (q.x * k - q.y) / (k * k + 1.0), 0.0, w2 ); + di = min( di, dot(q, q) ); } // === sign === float si = 1.0; float z = l - p.x; - if( min(p.x,z)>0.0 ) //if( p.x>0.0 && z>0.0 ) - { - float h = (pz.x<0.0) ? w1 : z/k; - if( p.y 0.0 ) { //if( p.x>0.0 && z>0.0 ) + float h = (pz.x < 0.0) ? w1 : z / k; + if( p.y < h ) si = -1.0; } - return si*sqrt(di); + + return si * sqrt(di); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -411,6 +411,9 @@ void main() { vec2 ratio = dimension / dimension.y; float d; + vec2 p1 = point1 / dimension; + vec2 p2 = point2 / dimension; + if(tile == 1) coord = mod(coord + 1., 2.) - 1.; if(shape == 0) { @@ -428,26 +431,28 @@ void main() { d = sdStar( coord, 0.9 - corner, sides, 2. + inner * (float(sides) - 2.), angle ); d -= corner; - } else if(shape == 4) { d = sdArc( coord, vec2(sin(angle), cos(angle)), angle_range, 1. - inner, inner ); } - else if(shape == 5) { d = sdTearDrop( coord + vec2(0., 0.5), stRad, edRad, 1. ); } - else if(shape == 6) { d = sdCross( coord, vec2(1. + corner, outer), corner ); } - else if(shape == 7) { d = sdVesica( coord, inner, outer ); } - else if(shape == 8) { d = sdCrescent( coord, inner, outer, angle ); } - else if(shape == 9) { d = sdDonut( coord, inner ); } - else if(shape == 10) { d = sdRhombus( coord, vec2(1. - corner) ) - corner; } - else if(shape == 11) { d = sdTrapezoid( coord, trep.x - corner, trep.y - corner, 1. - corner ) - corner; } - else if(shape == 12) { d = sdParallelogram( coord, 1. - corner - parall, 1. - corner, parall) - corner; } - else if(shape == 13) { d = sdHeart( coord ); } - else if(shape == 14) { d = sdCutDisk( coord, 1., inner ); } - else if(shape == 15) { d = sdPie( coord, vec2(sin(angle), cos(angle)), 1. ); } - else if(shape == 16) { d = sdRoundedCross( coord, 1. - corner ) - corner; } - else if(shape == 17) { d = sdArrow( coord, arrow.x, arrow.y, arrow_head); } - else if(shape == 18) { d = sdGear( coord, inner, teeth, teethSize, teethAngle); } - else if(shape == 19) { d = pow(pow(abs(coord.x), squircle_factor) + pow(abs(coord.y), squircle_factor), 1. / squircle_factor) - 1.; } + } + else if(shape == 4) { d = sdArc( coord, vec2(sin(angle), cos(angle)), angle_range, 1. - inner, inner ); } + else if(shape == 5) { d = sdTearDrop( coord + vec2(0., 0.5), stRad, edRad, 1. ); } + else if(shape == 6) { d = sdCross( coord, vec2(1. + corner, outer), corner ); } + else if(shape == 7) { d = sdVesica( coord, inner, outer ); } + else if(shape == 8) { d = sdCrescent( coord, inner, outer, angle ); } + else if(shape == 9) { d = sdDonut( coord, inner ); } + else if(shape == 10) { d = sdRhombus( coord, vec2(1. - corner) ) - corner; } + else if(shape == 11) { d = sdTrapezoid( coord, trep.x - corner, trep.y - corner, 1. - corner ) - corner; } + else if(shape == 12) { d = sdParallelogram( coord, 1. - corner - parall, 1. - corner, parall) - corner; } + else if(shape == 13) { d = sdHeart( coord ); } + else if(shape == 14) { d = sdCutDisk( coord, 1., inner ); } + else if(shape == 15) { d = sdPie( coord, vec2(sin(angle), cos(angle)), 1. ); } + else if(shape == 16) { d = sdRoundedCross( coord, 1. - corner ) - corner; } + else if(shape == 18) { d = sdGear( coord, inner, teeth, teethSize, teethAngle); } + else if(shape == 19) { d = pow(pow(abs(coord.x), squircle_factor) + pow(abs(coord.y), squircle_factor), 1. / squircle_factor) - 1.; } + else if(shape == 17) { d = sdArrow( v_vTexcoord, p1, p2, thickness, arrow, arrow_head); } + else if(shape == 20) { d = sdSegment(v_vTexcoord, p1, p2) - thickness; } float cc, color = 0.; - if(aa == 0) + if(aa == 0) cc = step(d, 0.0); else { float _aa = 1. / max(dimension.x, dimension.y); diff --git a/sprites/s_node_shape_type/14bfe2b8-bba9-422d-9309-159a2068a2b8.png b/sprites/s_node_shape_type/14bfe2b8-bba9-422d-9309-159a2068a2b8.png index 5368c286f0771915abf290fa4954212ec2e8382e..cabd6ea237f0c6b256a98633b67bbab73defac3a 100644 GIT binary patch delta 101 zcmey%^p|PE7YRcHT?5My0~0GlLn|W#Z36=<0|S?jlJ%2$7$vbvnyy)Rc(N^{j0!fL TNjn>47=Xaj)z4*}Q$iB}b95S9 delta 101 zcmey%^p|PE7YPGXT_e*F17j-_Ln~8DZ36=<1B3t7Trrb*7$vbv_Ni@pFxi$-Mg^PB To5qvv8Gyjk)z4*}Q$iB}hR7Pn diff --git a/sprites/s_node_shape_type/1b712b1b-6360-41cb-8ff2-e1251fd32421.png b/sprites/s_node_shape_type/1b712b1b-6360-41cb-8ff2-e1251fd32421.png index 1633d8014406ddfc2c22f26cb9a119bc8b45b199..ac880303acf249e9a8ab2f8d5382b28060e59653 100644 GIT binary patch delta 146 zcmX@ke4KfM9b>(rfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbU(LsjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#RF1Ha!4p(12?w$;?eHE=kNSz^&(|@nm}j1}+8$Pgg&ebxsLQ0EI&* AqyPW_ diff --git a/sprites/s_node_shape_type/41c086f9-4334-4833-a514-0a6c3194841b.png b/sprites/s_node_shape_type/41c086f9-4334-4833-a514-0a6c3194841b.png index 270fd37b535bb353764606e69aff8801115de662..3f30d8ec3cf85eb413b1cf31af690f6678010c3e 100644 GIT binary patch delta 102 zcmcc5e4lwk7^8%tfv$mNh=GZfp`n$LfwqBxm4SiFN6Grhd5n@+B~8~XJUn?mql^kR Uok=?zWEgX=d3_#aM4>ple_mVqjurXlP|*plx7aWnkd)QL>(afkCyzHKHUXu_VX=d3_#aM4(s%vB#VqjurVq#@rp>1GbWnj>??a%}U1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#M&QuF?T&(12?w$;?eHE=kNSz^!M^zv#~l3|tHhp00i_>zopr0L^eI AW&i*H diff --git a/sprites/s_node_shape_type/4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png b/sprites/s_node_shape_type/4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png index d1a347d5810a213d718f3378305d13402cf6ee92..4284a54f1f12cddd685480ce68dc60f05de90b72 100644 GIT binary patch delta 146 zcmdnayq$T29%H?sfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbU<{9 delta 146 zcmdnayq$T29%H?MsjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#RF1Ha!4p(12?w$;?eHE=kNSz^&(|@nm}j1}+8$Pgg&ebxsLQ0BTbw AbN~PV diff --git a/sprites/s_node_shape_type/60deee41-cb26-435b-b3dd-7f03e79b3f50.png b/sprites/s_node_shape_type/60deee41-cb26-435b-b3dd-7f03e79b3f50.png index a6fdf326f59122d664d6ef0d68e13c973b9cccc4..f967c6621d47aa65d02186a763fc7e8360b688de 100644 GIT binary patch delta 102 zcmaFM{FZq`3ZsOffv$mNh=GZfp`n$LfwqBxm4SiFN6GrhHH?y2B~8~XJUn?Vql^kR Uok=?zWEglQ%M7(8A5T-G@yGywqP6Cl_C diff --git a/sprites/s_node_shape_type/6d6db666-0f53-414f-8e2e-75217cbcd027.png b/sprites/s_node_shape_type/6d6db666-0f53-414f-8e2e-75217cbcd027.png index c67c7000952b0b6da368253ef60f2c4fe2f33f04..9a28326643884cc374e4898d74d6f996bd64d14d 100644 GIT binary patch delta 101 zcmeyv^oMD}X9+_CT?5My0~0GlLn|W#Z36=<0|S?jlJ%3h86~kwnyy)Rc(M(nj0!fL TNjn>47=Xaj)z4*}Q$iB}ao-wO delta 101 zcmeyv^oMD}X9)vST_e*F17j-_Ln~8DZ36=<1B3t7Trrcm86~kw_Ni@pFxiGtMg^PB To5qvv8Gyjk)z4*}Q$iB}g)|H(?D3a;v;uzv_{O#3^yayC` zTmrQc(rcfsSQje2WqS)_&*etu(>?NqCxZH-X_kP zTGz=x7`lYkH?sRpd>D5jb%*#2p8py*j>m_UuzhdhF?q*+DPpJYMEji#8kuF=J@&m} z1X`+E;u=wsl30>zm0Xkxq!^40j7)S54Rj4GLkvu;3=OS}473dltPBiXK1$Z3Xvob^ u$xN%nt-*B7!oxrf8gLs*GILXlOA>PnaO+9h*&qYd!{F)a=d#Wzp$PyJ8gy6y literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/71e478b1-ed0d-4f73-b942-57d5680a935e.png b/sprites/s_node_shape_type/71e478b1-ed0d-4f73-b942-57d5680a935e.png index b1a62a51842e5c7dd0f522e171e770c4af84b1ba..7ed61f5089263a9d2523d1afddd0e338a58f5f03 100644 GIT binary patch delta 146 zcmbQtGMQyV7h}Dlfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbUOV delta 146 zcmbQtGMQyV7h}DFnXZvRh=G}vsfm?=iMD}(m4Sij>6sT87#LJbTq84v1xFbrkDfNpaIuVl9`)YT#}eufLo7nGs9*E1}+8$Pgg&ebxsLQ0A~Lt AiU0rr diff --git a/sprites/s_node_shape_type/83cbb736-e130-438e-b366-d4834ff26292.png b/sprites/s_node_shape_type/83cbb736-e130-438e-b366-d4834ff26292.png index 59b2451292dbe39e74598009c40aee8210732239..9e43b4ba0b6881a1cecb3d22f4efae4b3d630b16 100644 GIT binary patch delta 122 zcmcb`e2aNQAfu4v1wpgksmX87Nd*`Hp$?45}rr5hW>!C8<`q`6-!c pl?+A(Mkc!0G?=bgczCiUql^kR$)uePGC!C8<`q`6-!c pl?+A(Mkc!0H1w%$dNA3NQAP!u45}rr5hW>!C8<`q`6-!c zl?+A(Mkc!0G?=bgco?Wb1FoSYGdH!kBr&%Dx1OY(4KfT2Tnr4Ju6{1-oD!M3? delta 145 zcmX@cbc|`j-g*O5T_e*F17j-_Ln~8DZ36=<1B3t7Trms`45}rr5hW>!C8<`q`6-!c zl?+A(Mkc!0H1w%$dH~d*0oPEHnVVW%l9*e7ThC47$@UBkTnr4Ju6{1-oD!MFVdQ&MBb@04XOK&Hw-a delta 102 zcmX@We1Lg_IirMusjiV}h=H+{iJ_ILrM7{Am4U(kYOa{c{*01XCHvGiJ(%3UD5HW+ U=S}0u_6$Ja>FVdQ&MBb@06cpdIRF3v diff --git a/sprites/s_node_shape_type/b1ec2af5-bef8-4227-95ad-3e2460e6e676.png b/sprites/s_node_shape_type/b1ec2af5-bef8-4227-95ad-3e2460e6e676.png index 87edcc992564bd1369cedac20a3c21423184d85f..4bb39e4533d9df77e18ab081ddfd47576a5c915e 100644 GIT binary patch delta 122 zcmdnRyo-5*A)}|Efv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx pv`Pje10xe%Y#L10EId59icv-dn`F|?1{t7f44$rjF6*2UngFp)AJPB- delta 122 zcmdnRyo-5*A)}{(sjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx pv`Pje10xe%Y#RF1Ha(bJ#VDhKP4cGkWP6}#44$rjF6*2UngGXLAUyy8 diff --git a/sprites/s_node_shape_type/c993ff0d-daf9-4950-9c17-252474cc9195.png b/sprites/s_node_shape_type/c993ff0d-daf9-4950-9c17-252474cc9195.png index e451838a02db7340b1e372c434fa3ee19fdffd00..610a0748fe3b106faf1d111f036bf53cee6471d8 100644 GIT binary patch delta 122 zcmZ3*yoz~)BBQ6Ffv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx pv`Pje10xe%Y#L10EId3pi%~`en`F|?1{t7f44$rjF6*2UngEzxACdq7 delta 122 zcmZ3*yoz~)BBQ5)sjiV}h=GX}5E&Y18yHv_7#!95|C)h;LAAs+q9i4;B-JW6KP5A* olEKKp$V3;LhArjp;gho%WmK?9K2A#O0Gh_&>FVdQ&MBb@0PbBNrvLx| diff --git a/sprites/s_node_shape_type/d2df5faf-acdc-4267-9fc3-e2587ea46ffb.png b/sprites/s_node_shape_type/d2df5faf-acdc-4267-9fc3-e2587ea46ffb.png index ffc7affcbf9c5f16f783792693f04088c6ae1b5e..8354c6fd311677ce1d0b479574d14c40a39088ed 100644 GIT binary patch delta 102 zcmeBW>1El_!YE;Aple_mVqjurXlP|*plx7aWnkd)QL=vW97aj3lBR1G9-e%bQAP!u U&ZM0UG7LcA>FVdQ&MBb@06(W1Q2+n{ delta 102 zcmeBW>1El_!YE;2s%vB#Vqk1#VrXS*scm3jWnl2Xnk#1V97aj3l6`8M9!x&VD5HW+ U=S}0u_6$Ja>FVdQ&MBb@08;xJyZ`_I diff --git a/sprites/s_node_shape_type/d327df90-02a8-4278-a2f0-bad7924956ff.png b/sprites/s_node_shape_type/d327df90-02a8-4278-a2f0-bad7924956ff.png index ac353f757df72b9d80fa40a9bd1c3865e80ff7ae..2d19d6eca1a4d57af3f421cacc7a39e2a78d7875 100644 GIT binary patch delta 146 zcmcc2e3^NJ7h}Dlfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbU AT>t<8 delta 146 zcmcc2e3^NJ7h}DFsjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#RF1Ha!4p(12?w$;?eHE=kNSz^&(|@nm}j1}+8$Pgg&ebxsLQ0GW3u A$N&HU diff --git a/sprites/s_node_shape_type/layers/14bfe2b8-bba9-422d-9309-159a2068a2b8/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/14bfe2b8-bba9-422d-9309-159a2068a2b8/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 5368c286f0771915abf290fa4954212ec2e8382e..cabd6ea237f0c6b256a98633b67bbab73defac3a 100644 GIT binary patch delta 101 zcmey%^p|PE7YRcHT?5My0~0GlLn|W#Z36=<0|S?jlJ%2$7$vbvnyy)Rc(N^{j0!fL TNjn>47=Xaj)z4*}Q$iB}b95S9 delta 101 zcmey%^p|PE7YPGXT_e*F17j-_Ln~8DZ36=<1B3t7Trrb*7$vbv_Ni@pFxi$-Mg^PB To5qvv8Gyjk)z4*}Q$iB}hR7Pn diff --git a/sprites/s_node_shape_type/layers/1b712b1b-6360-41cb-8ff2-e1251fd32421/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/1b712b1b-6360-41cb-8ff2-e1251fd32421/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 1633d8014406ddfc2c22f26cb9a119bc8b45b199..ac880303acf249e9a8ab2f8d5382b28060e59653 100644 GIT binary patch delta 146 zcmX@ke4KfM9b>(rfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbU(LsjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#RF1Ha!4p(12?w$;?eHE=kNSz^&(|@nm}j1}+8$Pgg&ebxsLQ0EI&* AqyPW_ diff --git a/sprites/s_node_shape_type/layers/41c086f9-4334-4833-a514-0a6c3194841b/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/41c086f9-4334-4833-a514-0a6c3194841b/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 270fd37b535bb353764606e69aff8801115de662..3f30d8ec3cf85eb413b1cf31af690f6678010c3e 100644 GIT binary patch delta 102 zcmcc5e4lwk7^8%tfv$mNh=GZfp`n$LfwqBxm4SiFN6Grhd5n@+B~8~XJUn?mql^kR Uok=?zWEgX=d3_#aM4>ple_mVqjurXlP|*plx7aWnkd)QL>(afkCyzHKHUXu_VX=d3_#aM4(s%vB#VqjurVq#@rp>1GbWnj>??a%}U1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#M&QuF?T&(12?w$;?eHE=kNSz^!M^zv#~l3|tHhp00i_>zopr0L^eI AW&i*H diff --git a/sprites/s_node_shape_type/layers/4dd803df-0824-47d6-a1d9-a4c0b94aa30f/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/4dd803df-0824-47d6-a1d9-a4c0b94aa30f/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index d1a347d5810a213d718f3378305d13402cf6ee92..4284a54f1f12cddd685480ce68dc60f05de90b72 100644 GIT binary patch delta 146 zcmdnayq$T29%H?sfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbU<{9 delta 146 zcmdnayq$T29%H?MsjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#RF1Ha!4p(12?w$;?eHE=kNSz^&(|@nm}j1}+8$Pgg&ebxsLQ0BTbw AbN~PV diff --git a/sprites/s_node_shape_type/layers/60deee41-cb26-435b-b3dd-7f03e79b3f50/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/60deee41-cb26-435b-b3dd-7f03e79b3f50/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index a6fdf326f59122d664d6ef0d68e13c973b9cccc4..f967c6621d47aa65d02186a763fc7e8360b688de 100644 GIT binary patch delta 102 zcmaFM{FZq`3ZsOffv$mNh=GZfp`n$LfwqBxm4SiFN6GrhHH?y2B~8~XJUn?Vql^kR Uok=?zWEglQ%M7(8A5T-G@yGywqP6Cl_C diff --git a/sprites/s_node_shape_type/layers/6d6db666-0f53-414f-8e2e-75217cbcd027/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/6d6db666-0f53-414f-8e2e-75217cbcd027/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index c67c7000952b0b6da368253ef60f2c4fe2f33f04..9a28326643884cc374e4898d74d6f996bd64d14d 100644 GIT binary patch delta 101 zcmeyv^oMD}X9+_CT?5My0~0GlLn|W#Z36=<0|S?jlJ%3h86~kwnyy)Rc(M(nj0!fL TNjn>47=Xaj)z4*}Q$iB}ao-wO delta 101 zcmeyv^oMD}X9)vST_e*F17j-_Ln~8DZ36=<1B3t7Trrcm86~kw_Ni@pFxiGtMg^PB To5qvv8Gyjk)z4*}Q$iB}g)|H(?D3a;v;uzv_{O#3^yayC` zTmrQc(rcfsSQje2WqS)_&*etu(>?NqCxZH-X_kP zTGz=x7`lYkH?sRpd>D5jb%*#2p8py*j>m_UuzhdhF?q*+DPpJYMEji#8kuF=J@&m} z1X`+E;u=wsl30>zm0Xkxq!^40j7)S54Rj4GLkvu;3=OS}473dltPBiXK1$Z3Xvob^ u$xN%nt-*B7!oxrf8gLs*GILXlOA>PnaO+9h*&qYd!{F)a=d#Wzp$PyJ8gy6y literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/layers/71e478b1-ed0d-4f73-b942-57d5680a935e/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/71e478b1-ed0d-4f73-b942-57d5680a935e/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index b1a62a51842e5c7dd0f522e171e770c4af84b1ba..7ed61f5089263a9d2523d1afddd0e338a58f5f03 100644 GIT binary patch delta 146 zcmbQtGMQyV7h}Dlfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbUOV delta 146 zcmbQtGMQyV7h}DFnXZvRh=G}vsfm?=iMD}(m4Sij>6sT87#LJbTq84v1xFbrkDfNpaIuVl9`)YT#}eufLo7nGs9*E1}+8$Pgg&ebxsLQ0A~Lt AiU0rr diff --git a/sprites/s_node_shape_type/layers/83cbb736-e130-438e-b366-d4834ff26292/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/83cbb736-e130-438e-b366-d4834ff26292/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 59b2451292dbe39e74598009c40aee8210732239..9e43b4ba0b6881a1cecb3d22f4efae4b3d630b16 100644 GIT binary patch delta 122 zcmcb`e2aNQAfu4v1wpgksmX87Nd*`Hp$?45}rr5hW>!C8<`q`6-!c pl?+A(Mkc!0G?=bgczCiUql^kR$)uePGC!C8<`q`6-!c pl?+A(Mkc!0H1w%$dNA3NQAP!u45}rr5hW>!C8<`q`6-!c zl?+A(Mkc!0G?=bgco?Wb1FoSYGdH!kBr&%Dx1OY(4KfT2Tnr4Ju6{1-oD!M3? delta 145 zcmX@cbc|`j-g*O5T_e*F17j-_Ln~8DZ36=<1B3t7Trms`45}rr5hW>!C8<`q`6-!c zl?+A(Mkc!0H1w%$dH~d*0oPEHnVVW%l9*e7ThC47$@UBkTnr4Ju6{1-oD!MFVdQ&MBb@04XOK&Hw-a delta 102 zcmX@We1Lg_IirMusjiV}h=H+{iJ_ILrM7{Am4U(kYOa{c{*01XCHvGiJ(%3UD5HW+ U=S}0u_6$Ja>FVdQ&MBb@06cpdIRF3v diff --git a/sprites/s_node_shape_type/layers/b1ec2af5-bef8-4227-95ad-3e2460e6e676/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/b1ec2af5-bef8-4227-95ad-3e2460e6e676/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 87edcc992564bd1369cedac20a3c21423184d85f..4bb39e4533d9df77e18ab081ddfd47576a5c915e 100644 GIT binary patch delta 122 zcmdnRyo-5*A)}|Efv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx pv`Pje10xe%Y#L10EId59icv-dn`F|?1{t7f44$rjF6*2UngFp)AJPB- delta 122 zcmdnRyo-5*A)}{(sjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx pv`Pje10xe%Y#RF1Ha(bJ#VDhKP4cGkWP6}#44$rjF6*2UngGXLAUyy8 diff --git a/sprites/s_node_shape_type/layers/c993ff0d-daf9-4950-9c17-252474cc9195/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/c993ff0d-daf9-4950-9c17-252474cc9195/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index e451838a02db7340b1e372c434fa3ee19fdffd00..610a0748fe3b106faf1d111f036bf53cee6471d8 100644 GIT binary patch delta 122 zcmZ3*yoz~)BBQ6Ffv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx pv`Pje10xe%Y#L10EId3pi%~`en`F|?1{t7f44$rjF6*2UngEzxACdq7 delta 122 zcmZ3*yoz~)BBQ5)sjiV}h=GX}5E&Y18yHv_7#!95|C)h;LAAs+q9i4;B-JW6KP5A* olEKKp$V3;LhArjp;gho%WmK?9K2A#O0Gh_&>FVdQ&MBb@0PbBNrvLx| diff --git a/sprites/s_node_shape_type/layers/d2df5faf-acdc-4267-9fc3-e2587ea46ffb/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/d2df5faf-acdc-4267-9fc3-e2587ea46ffb/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index ffc7affcbf9c5f16f783792693f04088c6ae1b5e..8354c6fd311677ce1d0b479574d14c40a39088ed 100644 GIT binary patch delta 102 zcmeBW>1El_!YE;Aple_mVqjurXlP|*plx7aWnkd)QL=vW97aj3lBR1G9-e%bQAP!u U&ZM0UG7LcA>FVdQ&MBb@06(W1Q2+n{ delta 102 zcmeBW>1El_!YE;2s%vB#Vqk1#VrXS*scm3jWnl2Xnk#1V97aj3l6`8M9!x&VD5HW+ U=S}0u_6$Ja>FVdQ&MBb@08;xJyZ`_I diff --git a/sprites/s_node_shape_type/layers/d327df90-02a8-4278-a2f0-bad7924956ff/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/d327df90-02a8-4278-a2f0-bad7924956ff/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index ac353f757df72b9d80fa40a9bd1c3865e80ff7ae..2d19d6eca1a4d57af3f421cacc7a39e2a78d7875 100644 GIT binary patch delta 146 zcmcc2e3^NJ7h}Dlfv$mNh=GZfp`n$LfwqBxm4SiFN6C5y1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#L10EIbU AT>t<8 delta 146 zcmcc2e3^NJ7h}DFsjiV}h=H+{iJ_ILrM7{Am4U(kYOWXt1_sp<*NBpo#FA92-29Zx zv`Pje10xe%Y#RF1Ha!4p(12?w$;?eHE=kNSz^&(|@nm}j1}+8$Pgg&ebxsLQ0GW3u A$N&HU diff --git a/sprites/s_node_shape_type/s_node_shape_type.yy b/sprites/s_node_shape_type/s_node_shape_type.yy index 1a048e3b3..31d41ce3a 100644 --- a/sprites/s_node_shape_type/s_node_shape_type.yy +++ b/sprites/s_node_shape_type/s_node_shape_type.yy @@ -27,10 +27,11 @@ {"$GMSpriteFrame":"","%Name":"d2df5faf-acdc-4267-9fc3-e2587ea46ffb","name":"d2df5faf-acdc-4267-9fc3-e2587ea46ffb","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0","name":"9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"68cedd47-7826-45d0-936a-09d3f0b2514e","name":"68cedd47-7826-45d0-936a-09d3f0b2514e","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"6f6b7c89-ea42-4cfb-bb35-4037443cb1b2","name":"6f6b7c89-ea42-4cfb-bb35-4037443cb1b2","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"49f66653-48bb-46ca-adb5-39604325a9d1","name":"49f66653-48bb-46ca-adb5-39604325a9d1","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"d327df90-02a8-4278-a2f0-bad7924956ff","name":"d327df90-02a8-4278-a2f0-bad7924956ff","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"4dd803df-0824-47d6-a1d9-a4c0b94aa30f","name":"4dd803df-0824-47d6-a1d9-a4c0b94aa30f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"60deee41-cb26-435b-b3dd-7f03e79b3f50","name":"60deee41-cb26-435b-b3dd-7f03e79b3f50","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"49f66653-48bb-46ca-adb5-39604325a9d1","name":"49f66653-48bb-46ca-adb5-39604325a9d1","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, {"$GMSpriteFrame":"","%Name":"71e478b1-ed0d-4f73-b942-57d5680a935e","name":"71e478b1-ed0d-4f73-b942-57d5680a935e","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, ], "gridX":0, @@ -68,7 +69,7 @@ }, "eventStubScript":null, "eventToFunction":{}, - "length":20.0, + "length":21.0, "lockOrigin":false, "moments":{ "$KeyframeStore":"", @@ -133,20 +134,23 @@ "0":{"$SpriteFrameKeyframe":"","Id":{"name":"68cedd47-7826-45d0-936a-09d3f0b2514e","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, },"Disabled":false,"id":"9b4d9126-b4d4-4c7a-82ce-cce6f63de1b1","IsCreationKey":false,"Key":14.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d327df90-02a8-4278-a2f0-bad7924956ff","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"08e182fb-9797-4ce1-b4bd-d39862c036c0","IsCreationKey":false,"Key":15.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, - {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4dd803df-0824-47d6-a1d9-a4c0b94aa30f","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"7b49830e-1876-4d95-99a2-c9a3f8401044","IsCreationKey":false,"Key":16.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, - {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"60deee41-cb26-435b-b3dd-7f03e79b3f50","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"ebd5e057-56d6-4239-9544-690c95b076f6","IsCreationKey":false,"Key":17.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"6f6b7c89-ea42-4cfb-bb35-4037443cb1b2","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"f16951f5-5941-4d97-b0ee-db674a17d555","IsCreationKey":false,"Key":15.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ "0":{"$SpriteFrameKeyframe":"","Id":{"name":"49f66653-48bb-46ca-adb5-39604325a9d1","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"cd22fe67-e516-45a9-96de-b624bf5c6754","IsCreationKey":false,"Key":18.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + },"Disabled":false,"id":"cd22fe67-e516-45a9-96de-b624bf5c6754","IsCreationKey":false,"Key":16.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d327df90-02a8-4278-a2f0-bad7924956ff","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"08e182fb-9797-4ce1-b4bd-d39862c036c0","IsCreationKey":false,"Key":17.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4dd803df-0824-47d6-a1d9-a4c0b94aa30f","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"7b49830e-1876-4d95-99a2-c9a3f8401044","IsCreationKey":false,"Key":18.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"60deee41-cb26-435b-b3dd-7f03e79b3f50","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"ebd5e057-56d6-4239-9544-690c95b076f6","IsCreationKey":false,"Key":19.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ "0":{"$SpriteFrameKeyframe":"","Id":{"name":"71e478b1-ed0d-4f73-b942-57d5680a935e","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"e6879ae7-52d0-4dfe-89fe-0ec9d4d53e26","IsCreationKey":false,"Key":19.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + },"Disabled":false,"id":"e6879ae7-52d0-4dfe-89fe-0ec9d4d53e26","IsCreationKey":false,"Key":20.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, ], "visibleRange":null,