From c20e2ef21d98960bf9a3a99cafcefa0b2edb2579 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Sat, 25 May 2024 12:01:54 +0700 Subject: [PATCH] - [Curve] Add alpha curve. --- scripts/__VFX/__VFX.gml | 18 ++- .../_node_VFX_spawner/_node_VFX_spawner.gml | 71 +++++------- scripts/node_curve/node_curve.gml | 8 +- scripts/node_shape/node_shape.gml | 69 ++++++++++-- shaders/sh_curve/sh_curve.fsh | 8 +- shaders/sh_shape/sh_shape.fsh | 103 ++++++++++++++++- ... 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 0 -> 479 bytes .../49f66653-48bb-46ca-adb5-39604325a9d1.png | Bin 0 -> 515 bytes ... 4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png} | Bin 439 -> 439 bytes .../60deee41-cb26-435b-b3dd-7f03e79b3f50.png | Bin 0 -> 493 bytes .../68cedd47-7826-45d0-936a-09d3f0b2514e.png | Bin 0 -> 456 bytes .../6c545309-6ffe-4c08-bed2-9c82065ad8d4.png | Bin 326 -> 0 bytes ... 6d6db666-0f53-414f-8e2e-75217cbcd027.png} | Bin 380 -> 380 bytes ... 83cbb736-e130-438e-b366-d4834ff26292.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 0 -> 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 0 -> 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 0 -> 479 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 0 -> 515 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png} | Bin 439 -> 439 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 0 -> 493 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png | Bin 0 -> 456 bytes .../4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png | Bin 326 -> 0 bytes .../e8dfb98d-070d-4cc7-8d95-66066132cc72.png} | Bin 380 -> 380 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 0 -> 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 0 -> 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 | 104 +++++++++++------- 45 files changed, 275 insertions(+), 106 deletions(-) rename sprites/s_node_shape_type/{layers/d3111831-695a-4461-9130-3228744761bb/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 14bfe2b8-bba9-422d-9309-159a2068a2b8.png} (54%) rename sprites/s_node_shape_type/{71d205ee-df82-4582-bf38-39392d51dd23.png => 1b712b1b-6360-41cb-8ff2-e1251fd32421.png} (71%) create mode 100644 sprites/s_node_shape_type/41c086f9-4334-4833-a514-0a6c3194841b.png create mode 100644 sprites/s_node_shape_type/49f66653-48bb-46ca-adb5-39604325a9d1.png rename sprites/s_node_shape_type/{layers/3b6185db-9a13-4cdc-a4e6-a483cf4d6281/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png} (60%) create mode 100644 sprites/s_node_shape_type/60deee41-cb26-435b-b3dd-7f03e79b3f50.png create mode 100644 sprites/s_node_shape_type/68cedd47-7826-45d0-936a-09d3f0b2514e.png delete mode 100644 sprites/s_node_shape_type/6c545309-6ffe-4c08-bed2-9c82065ad8d4.png rename sprites/s_node_shape_type/{layers/5526c2ef-3545-4dca-bec6-85357e76b6b1/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 6d6db666-0f53-414f-8e2e-75217cbcd027.png} (52%) rename sprites/s_node_shape_type/{8973bafa-9ba5-4018-82fe-49369c528c77.png => 83cbb736-e130-438e-b366-d4834ff26292.png} (65%) rename sprites/s_node_shape_type/{d3655d0c-9269-4162-9ae7-82c547edf674.png => 8ea8d1e8-6255-4f98-9112-0092f61f32d0.png} (67%) rename sprites/s_node_shape_type/{layers/651de5b3-7033-4983-aa29-7308549c5997/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 9619ab69-4168-4599-a598-8c722310ef03.png} (65%) rename sprites/s_node_shape_type/{2893727a-1872-4e51-b211-59df36bbc651.png => 9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0.png} (53%) create mode 100644 sprites/s_node_shape_type/ac2c058e-dd94-4d88-9958-fac479f23660.png rename sprites/s_node_shape_type/{83508ab4-faeb-411c-8b6e-d29be9cddea9.png => b0761a58-4f3d-4174-8a91-3d14246ac152.png} (57%) rename sprites/s_node_shape_type/{7a237ffa-be4c-4d8e-bd2f-ae809eb3b319.png => b1ec2af5-bef8-4227-95ad-3e2460e6e676.png} (62%) create mode 100644 sprites/s_node_shape_type/c993ff0d-daf9-4950-9c17-252474cc9195.png rename sprites/s_node_shape_type/{bab10856-f499-4364-8bdb-230f241dcf0d.png => d2df5faf-acdc-4267-9fc3-e2587ea46ffb.png} (74%) rename sprites/s_node_shape_type/{84e23289-8dc8-4aeb-b056-57889a5a04a9.png => d327df90-02a8-4278-a2f0-bad7924956ff.png} (70%) rename sprites/s_node_shape_type/{d3111831-695a-4461-9130-3228744761bb.png => layers/14bfe2b8-bba9-422d-9309-159a2068a2b8/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (54%) rename sprites/s_node_shape_type/layers/{71d205ee-df82-4582-bf38-39392d51dd23/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 1b712b1b-6360-41cb-8ff2-e1251fd32421/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (71%) create mode 100644 sprites/s_node_shape_type/layers/41c086f9-4334-4833-a514-0a6c3194841b/e8dfb98d-070d-4cc7-8d95-66066132cc72.png create mode 100644 sprites/s_node_shape_type/layers/49f66653-48bb-46ca-adb5-39604325a9d1/e8dfb98d-070d-4cc7-8d95-66066132cc72.png rename sprites/s_node_shape_type/{3b6185db-9a13-4cdc-a4e6-a483cf4d6281.png => layers/4dd803df-0824-47d6-a1d9-a4c0b94aa30f/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (60%) create mode 100644 sprites/s_node_shape_type/layers/60deee41-cb26-435b-b3dd-7f03e79b3f50/e8dfb98d-070d-4cc7-8d95-66066132cc72.png create mode 100644 sprites/s_node_shape_type/layers/68cedd47-7826-45d0-936a-09d3f0b2514e/e8dfb98d-070d-4cc7-8d95-66066132cc72.png delete mode 100644 sprites/s_node_shape_type/layers/6c545309-6ffe-4c08-bed2-9c82065ad8d4/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename sprites/s_node_shape_type/{5526c2ef-3545-4dca-bec6-85357e76b6b1.png => layers/6d6db666-0f53-414f-8e2e-75217cbcd027/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (52%) rename sprites/s_node_shape_type/layers/{8973bafa-9ba5-4018-82fe-49369c528c77/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 83cbb736-e130-438e-b366-d4834ff26292/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (65%) rename sprites/s_node_shape_type/layers/{d3655d0c-9269-4162-9ae7-82c547edf674/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 8ea8d1e8-6255-4f98-9112-0092f61f32d0/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (67%) rename sprites/s_node_shape_type/{651de5b3-7033-4983-aa29-7308549c5997.png => layers/9619ab69-4168-4599-a598-8c722310ef03/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (65%) rename sprites/s_node_shape_type/layers/{2893727a-1872-4e51-b211-59df36bbc651/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => 9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (53%) create mode 100644 sprites/s_node_shape_type/layers/ac2c058e-dd94-4d88-9958-fac479f23660/e8dfb98d-070d-4cc7-8d95-66066132cc72.png rename sprites/s_node_shape_type/layers/{83508ab4-faeb-411c-8b6e-d29be9cddea9/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => b0761a58-4f3d-4174-8a91-3d14246ac152/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (57%) rename sprites/s_node_shape_type/layers/{7a237ffa-be4c-4d8e-bd2f-ae809eb3b319/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => b1ec2af5-bef8-4227-95ad-3e2460e6e676/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (62%) create mode 100644 sprites/s_node_shape_type/layers/c993ff0d-daf9-4950-9c17-252474cc9195/e8dfb98d-070d-4cc7-8d95-66066132cc72.png rename sprites/s_node_shape_type/layers/{bab10856-f499-4364-8bdb-230f241dcf0d/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => d2df5faf-acdc-4267-9fc3-e2587ea46ffb/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (74%) rename sprites/s_node_shape_type/layers/{84e23289-8dc8-4aeb-b056-57889a5a04a9/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png => d327df90-02a8-4278-a2f0-bad7924956ff/e8dfb98d-070d-4cc7-8d95-66066132cc72.png} (70%) diff --git a/scripts/__VFX/__VFX.gml b/scripts/__VFX/__VFX.gml index ca2d19b28..639342b1d 100644 --- a/scripts/__VFX/__VFX.gml +++ b/scripts/__VFX/__VFX.gml @@ -115,6 +115,8 @@ function __part(_node) : __particleObject() constructor { anim_speed = 1; anim_end = ANIM_END_ACTION.loop; + anim_stre = false; + anim_len = 1; line_draw = 1; @@ -149,6 +151,8 @@ function __part(_node) : __particleObject() constructor { drawx = x; drawy = y; + anim_len = is_array(surf)? array_length(surf) : 1; + life_incr = 0; life = _life; life_total = life; @@ -329,19 +333,21 @@ function __part(_node) : __particleObject() constructor { scy = drawsy * scCurve; if(arr_type == 2 && surf != noone && is_array(surf)) { - var ind = abs(round((life_total - life) * anim_speed)); - var len = array_length(surf); + var _life_prog = life_total - life; + var ind = anim_stre? _life_prog / life_total * anim_speed * (anim_len - 1) : + _life_prog * anim_speed; + ind = abs(round(ind)); switch(anim_end) { case ANIM_END_ACTION.loop: - ss = surf[safe_mod(ind, len)]; + ss = surf[safe_mod(ind, anim_len)]; break; case ANIM_END_ACTION.pingpong: - var ping = safe_mod(ind, (len - 1) * 2 + 1); - ss = surf[ping >= len? (len - 1) * 2 - ping : ping]; + var ping = safe_mod(ind, (anim_len - 1) * 2 + 1); + ss = surf[ping >= anim_len? (anim_len - 1) * 2 - ping : ping]; break; case ANIM_END_ACTION.destroy: - if(ind >= len) { + if(ind >= anim_len) { kill(); return; } diff --git a/scripts/_node_VFX_spawner/_node_VFX_spawner.gml b/scripts/_node_VFX_spawner/_node_VFX_spawner.gml index 6279b2cc7..c2c6ba10b 100644 --- a/scripts/_node_VFX_spawner/_node_VFX_spawner.gml +++ b/scripts/_node_VFX_spawner/_node_VFX_spawner.gml @@ -47,7 +47,6 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co inputs[| 15] = nodeValue("Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Make the particle rotates to follow its movement."); inputs[| 16] = nodeValue("Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) - .rejectArray() .setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst", "Trigger" ]); inputs[| 17] = nodeValue("Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) @@ -57,15 +56,12 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co .setDisplay(VALUE_DISPLAY.range); inputs[| 19] = nodeValue("Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.range, { linked : true }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.range, { linked : true }); inputs[| 20] = nodeValue("Direction wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }); - inputs[| 21] = nodeValue("Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ) - .rejectArray(); + inputs[| 21] = nodeValue("Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true ); inputs[| 22] = nodeValue("Surface array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0, "Whether to select image from an array in order, at random, or treat array as animation." ) .setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation", "Scale" ]) @@ -73,98 +69,81 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co inputs[| 23] = nodeValue("Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] ) .setDisplay(VALUE_DISPLAY.range, { linked : true }) - .rejectArray() .setVisible(false); inputs[| 24] = nodeValue("Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) - .rejectArray() .setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random" ]); inputs[| 25] = nodeValue("Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, []) .setVisible(false, true); inputs[| 26] = nodeValue("On animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, ANIM_END_ACTION.loop) - .rejectArray() .setDisplay(VALUE_DISPLAY.enum_button, [ "Loop", "Ping pong", "Destroy" ]) .setVisible(false); - inputs[| 27] = nodeValue("Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true) - .rejectArray(); + inputs[| 27] = nodeValue("Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); inputs[| 28] = nodeValue("Random blend", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject(c_white) ); - inputs[| 29] = nodeValue("Directed from center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Make particle move away from the spawn center.") - .rejectArray(); + inputs[| 29] = nodeValue("Directed from center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Make particle move away from the spawn center."); inputs[| 30] = nodeValue("Distribution map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, noone) - .rejectArray() inputs[| 31] = nodeValue("Atlas", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, [] ); inputs[| 32] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, seed_random(6)) - .setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { inputs[| 32].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { inputs[| 32].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) }); inputs[| 33] = nodeValue("Gravity direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, -90 ) - .rejectArray() .setDisplay(VALUE_DISPLAY.rotation); inputs[| 34] = nodeValue("Turning", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) .setDisplay(VALUE_DISPLAY.range, { linked : true }); - inputs[| 35] = nodeValue("Turn both directions", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Apply randomized 1, -1 multiplier to the turning speed." ) - .rejectArray(); + inputs[| 35] = nodeValue("Turn both directions", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false, "Apply randomized 1, -1 multiplier to the turning speed." ); - inputs[| 36] = nodeValue("Turn scale with speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, false ) - .rejectArray(); + inputs[| 36] = nodeValue("Turn scale with speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, false ); - inputs[| 37] = nodeValue("Collide ground", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false ) - .rejectArray(); + inputs[| 37] = nodeValue("Collide ground", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false ); - inputs[| 38] = nodeValue("Ground offset", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ) - .rejectArray(); + inputs[| 38] = nodeValue("Ground offset", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 ); inputs[| 39] = nodeValue("Bounce amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5 ) - .rejectArray() .setDisplay(VALUE_DISPLAY.slider); inputs[| 40] = nodeValue("Bounce friction", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1, "Apply horizontal friction once particle stop bouncing." ) - .rejectArray() .setDisplay(VALUE_DISPLAY.slider); inputs[| 41] = nodeValue("Position wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }); inputs[| 42] = nodeValue("Rotation wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }); inputs[| 43] = nodeValue("Scale wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] ) - .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.vector, { label: [ "Amplitude", "Period" ], linkable: false, per_line: true }); inputs[| 44] = nodeValue("Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, false ) - .setDisplay(VALUE_DISPLAY.button, { name: "Trigger" }) - .rejectArray(); + .setDisplay(VALUE_DISPLAY.button, { name: "Trigger" }); - inputs[| 45] = nodeValue("Follow Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false ) - .rejectArray(); + inputs[| 45] = nodeValue("Follow Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false ); - inputs[| 46] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.pathnode, noone ) - .rejectArray(); + inputs[| 46] = nodeValue("Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.pathnode, noone ); - inputs[| 47] = nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ) - .rejectArray(); + inputs[| 47] = nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ); inputs[| 48] = nodeValue("Reset Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, false ) .setDisplay(VALUE_DISPLAY.button, { name: "Trigger" }) - .rejectArray(); + + inputs[| 49] = nodeValue("Stretch Animation", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false ); + + for (var i = 16, n = ds_list_size(inputs); i < n; i++) + inputs[| i].rejectArray(); input_len = ds_list_size(inputs); input_display_list = [ 32, 48, - ["Sprite", false], 0, 22, 23, 26, + ["Sprite", false], 0, 22, 23, 49, 26, ["Spawn", true], 27, 16, 44, 1, 2, 3, 4, 30, 24, 5, ["Movement", true], 29, 6, 18, ["Follow path", true, 45], 46, 47, @@ -241,6 +220,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co var _arr_type = getInputData(22); var _anim_speed = getInputData(23); + var _anim_stre = getInputData(49); var _anim_end = getInputData(26); var _ground = getInputData(37); @@ -325,6 +305,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co part.seed = irandom_range(100000, 999999); part.create(_spr, xx, yy, _lif); part.anim_speed = random_range(_anim_speed[0], _anim_speed[1]); + part.anim_stre = _anim_stre; part.anim_end = _anim_end; part.arr_type = _arr_type; @@ -490,6 +471,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co inputs[| 22].setVisible(false); inputs[| 23].setVisible(false); inputs[| 26].setVisible(false); + inputs[| 49].setVisible(false); inputs[| 46].setVisible(true, _usePth); @@ -505,6 +487,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co if(_type == 2) { inputs[| 23].setVisible(true); inputs[| 26].setVisible(true); + inputs[| 49].setVisible(true); } } diff --git a/scripts/node_curve/node_curve.gml b/scripts/node_curve/node_curve.gml index a3e7edfe5..92bb41b1e 100644 --- a/scripts/node_curve/node_curve.gml +++ b/scripts/node_curve/node_curve.gml @@ -24,11 +24,13 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con __init_mask_modifier(5); // inputs 9, 10 + inputs[| 11] = nodeValue("Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01); + outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ 7, 8, ["Surfaces", true], 0, 5, 6, 9, 10, - ["Curve", false], 1, 2, 3, 4, + ["Curve", false], 1, 2, 3, 4, 11, ]; attribute_surface_depth(); @@ -42,6 +44,7 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con var _rcur = _data[2]; var _gcur = _data[3]; var _bcur = _data[4]; + var _acur = _data[11]; surface_set_shader(_outSurf, sh_curve); shader_set_f("w_curve", _wcur); @@ -56,6 +59,9 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_f("b_curve", _bcur); shader_set_i("b_amount", array_length(_bcur)); + shader_set_f("a_curve", _acur); + shader_set_i("a_amount", array_length(_acur)); + draw_surface_safe(_data[0]); surface_reset_shader(); diff --git a/scripts/node_shape/node_shape.gml b/scripts/node_shape/node_shape.gml index a5ffd42e6..f5c4f266d 100644 --- a/scripts/node_shape/node_shape.gml +++ b/scripts/node_shape/node_shape.gml @@ -1,7 +1,8 @@ #region create global.node_shape_keys = [ "rectangle", "ellipse", "regular polygon", "star", "arc", "teardrop", "cross", "leaf", "crescent", "donut", - "square", "circle", "triangle", "pentagon", "hexagon", "ring", "diamond", "trapezoid", "parallelogram", + "square", "circle", "triangle", "pentagon", "hexagon", "ring", "diamond", "trapezoid", "parallelogram", "heart", + "arrow", ]; function Node_create_Shape(_x, _y, _group = noone, _param = {}) { #region @@ -37,11 +38,23 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 1] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); - shape_types = [ "Rectangle", "Diamond", "Trapezoid", "Parallelogram", "Ellipse", "Regular polygon", "Star", "Arc", "Teardrop", "Cross", "Leaf", "Crescent", "Donut", ]; + shape_types = [ "Rectangle", "Diamond", "Trapezoid", "Parallelogram", + -1, + "Ellipse", "Arc", "Donut", "Crescent", "Disk Segment", "Pie", + -1, + "Regular polygon", "Star", "Cross", "Rounded Cross", + -1, + "Teardrop", "Leaf", "Heart", "Arrow", + ]; shape_types_str = []; - for( var i = 0, n = array_length(shape_types); i < n; i++ ) - shape_types_str[i] = new scrollItem(shape_types[i], s_node_shape_type, i); + var _ind = 0; + for( var i = 0, n = array_length(shape_types); i < n; i++ ) { + if(shape_types[i] == -1) + shape_types_str[i] = -1; + else + shape_types_str[i] = new scrollItem(shape_types[i], s_node_shape_type, _ind++); + } inputs[| 2] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, shape_types_str); @@ -106,12 +119,17 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 22] = nodeValue("Skew", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.5 ) .setDisplay(VALUE_DISPLAY.slider); + inputs[| 23] = nodeValue("Arrow Sizes", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0.2, 0.3 ] ) + .setDisplay(VALUE_DISPLAY.slider_range); + + inputs[| 24] = nodeValue("Arrow Head", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 3 ); + outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ ["Output", false], 0, 6, ["Transform", false], 15, 3, 16, 17, 19, - ["Shape", false], 14, 2, 9, 4, 13, 5, 7, 8, 21, 22, + ["Shape", false], 14, 2, 9, 4, 13, 5, 7, 8, 21, 22, 23, 24, ["Render", true], 10, 12, 20, 18, ["Background", true, 1], 11, ]; @@ -277,6 +295,8 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 18].setVisible( true); inputs[| 21].setVisible(false); inputs[| 22].setVisible(false); + inputs[| 23].setVisible(false); + inputs[| 24].setVisible(false); var _shp = array_safe_get(shape_types, _shape, ""); if(is_struct(_shp)) _shp = _shp.data; @@ -291,14 +311,12 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con case "Diamond" : inputs[| 9].setVisible( true); - inputs[| 18].setVisible(false); shader_set_i("shape", 10); break; case "Trapezoid" : inputs[| 9].setVisible( true); - inputs[| 18].setVisible(false); inputs[| 21].setVisible( true); shader_set_i("shape", 11); @@ -307,7 +325,6 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con case "Parallelogram" : inputs[| 9].setVisible( true); - inputs[| 18].setVisible(false); inputs[| 22].setVisible( true); shader_set_i("shape", 12); @@ -415,6 +432,42 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_f("inner", _data[13]); break; + case "Heart": + + shader_set_i("shape", 13); + break; + + case "Disk Segment": + inputs[| 13].setVisible(true); + + inputs[| 13].name = "Segment Size"; + + shader_set_i("shape", 14); + shader_set_f("inner", -1 + _data[13] * 2.); + break; + + case "Pie": + inputs[| 7].setVisible(true); + + shader_set_i("shape", 15); + shader_set_f("angle", degtorad(_data[7])); + break; + + case "Rounded Cross": + inputs[| 9].setVisible(true); + + shader_set_i("shape", 16); + break; + + case "Arrow": + inputs[| 23].setVisible(true); + inputs[| 24].setVisible(true); + + shader_set_i("shape", 17); + shader_set_f("arrow", _data[23]); + shader_set_f("arrow_head", _data[24]); + break; + } #endregion shader_set_f("dimension", _dim); diff --git a/shaders/sh_curve/sh_curve.fsh b/shaders/sh_curve/sh_curve.fsh index 973809494..a586849b3 100644 --- a/shaders/sh_curve/sh_curve.fsh +++ b/shaders/sh_curve/sh_curve.fsh @@ -16,6 +16,9 @@ uniform int g_amount; uniform float b_curve[64]; uniform int b_amount; +uniform float a_curve[64]; +uniform int a_amount; + 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 + @@ -105,13 +108,12 @@ void main() { col.r = curveEval(r_curve, r_amount, col.r); col.g = curveEval(g_curve, g_amount, col.g); col.b = curveEval(b_curve, b_amount, col.b); + col.a = curveEval(a_curve, b_amount, col.a); float w = (col.r + col.g + col.b) / 3.; float wtarget = curveEval(w_curve, w_amount, w); - col.r *= wtarget / w; - col.g *= wtarget / w; - col.b *= wtarget / w; + col.rgb *= wtarget / w; gl_FragColor = col; } diff --git a/shaders/sh_shape/sh_shape.fsh b/shaders/sh_shape/sh_shape.fsh index 0e11de00c..5d283b4b4 100644 --- a/shaders/sh_shape/sh_shape.fsh +++ b/shaders/sh_shape/sh_shape.fsh @@ -29,6 +29,9 @@ uniform vec2 center; uniform vec2 scale; uniform vec2 trep; +uniform vec2 arrow; +uniform float arrow_head; + uniform vec4 bgColor; #define PI 3.14159265359 @@ -170,6 +173,95 @@ float sdParallelogram( in vec2 p, float wi, float he, float sk ) { return sqrt(d.x) * sign(-d.y); } +float sdHeart( in vec2 p ) { + p.x = abs(p.x); + p.y = -p.y + 0.9; + p /= 1.65; + + if( p.y+p.x>1.0 ) + return sqrt(dot2(p-vec2(0.25,0.75))) - sqrt(2.0)/4.0; + return sqrt(min(dot2(p-vec2(0.00,1.00)), + dot2(p-0.5*max(p.x+p.y,0.0)))) * sign(p.x-p.y); +} + +float sdCutDisk( in vec2 p, in float r, in float h ) { + float w = sqrt(r*r-h*h); // constant for any given shape + p.x = abs(p.x); + float s = max( (h-r)*p.x*p.x+w*w*(h+r-2.0*p.y), h*p.x-w*p.y ); + return (s<0.0) ? length(p)-r : + (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) ); + } + + // === 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.yn7!Jivb8c MUHx3vIVCg!0DSZmcmMzZ diff --git a/sprites/s_node_shape_type/71d205ee-df82-4582-bf38-39392d51dd23.png b/sprites/s_node_shape_type/1b712b1b-6360-41cb-8ff2-e1251fd32421.png similarity index 71% rename from sprites/s_node_shape_type/71d205ee-df82-4582-bf38-39392d51dd23.png rename to sprites/s_node_shape_type/1b712b1b-6360-41cb-8ff2-e1251fd32421.png index 31b767bbb809a2ba92330ee3617626dd824a675c..1633d8014406ddfc2c22f26cb9a119bc8b45b199 100644 GIT binary patch delta 81 zcmX@ke4KfME2E&Xm5HI1sin4oft7*5|7xz7$zhBNsG@ypn;uMVXH=F&QG3&PvONP3 Nc)I$ztaD0e0sw-k73BZ` delta 81 zcmX@ke4KfME2E&1m5G6siHWv>ft7(lLeR~flfxJlP(=m#6Imy>Gb+oXsCAQaxWxbj Mp00i_>zopr08FnG4FCWD 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 new file mode 100644 index 0000000000000000000000000000000000000000..270fd37b535bb353764606e69aff8801115de662 GIT binary patch literal 479 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?D00cu#WBR=_}i%ud7BIb zTIG-ZH)>jJ!6bb{P~xTAAzq1vejolMt}ggCi|Oc*Bl?+_p4@ux=+)n*^6kln)qmwT zs6NL>Ja4Y5XcYOr`7qCmpPeG7lxy`85~MVz7+aia zkO@-g-!tbpYy8QpGtx6d^jBS-G0WoTFW23n1?Oa}9JE-@$o%4oVo+|l?DbRjfMmn= zdk2^cr03o9eaetd(7PX|5NQ4 z7O5`YynW7ZYoPB`OI#yLQW8s2t&)pUffR$0fsu)>fvK*MX^4S|m7#%^fu*(qkTeLX zJt~8uAvZrIGp!Q0233XH1waiNa2rZ8b5n~;5_1c1>nSpgsR!y|@O1TaS?83{1OSEk Bt=s?r literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/49f66653-48bb-46ca-adb5-39604325a9d1.png b/sprites/s_node_shape_type/49f66653-48bb-46ca-adb5-39604325a9d1.png new file mode 100644 index 0000000000000000000000000000000000000000..1e153aa811d0f5a08b40cbdd87d91010194cf1e0 GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?DDutI#WBR=_|>Ur1)B^6 z-0WrEFJXRpU`hh#v;@s*4xB*74aV?%8QUh_8o8J`0!~g!GIwV392UB#JX_vq(hZ}s z*_Zx%E?|sdyu#pSdS9K1n<1S+J#**BH}jMN#6CQD8QuTRNh@hmwD@6jCRJy< zWz&v_FN*lFMq#TC|D?TBgVzZyJs|yZxo4RhpQ0mAO-1^IDTG-=w^6$%2zz|R^ag8WR zNi0dVN-jzTQVd20Mkcxjrn*L^AqFN^CMH$}7TN{|Rt5%L+YU`Y(U6;;l9^VCTf^_y mRXRWo8gLs*GILXlOA>PnaO+v~FZwf34}+(xpUXO@geCxVceV8Z literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/layers/3b6185db-9a13-4cdc-a4e6-a483cf4d6281/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png similarity index 60% rename from sprites/s_node_shape_type/layers/3b6185db-9a13-4cdc-a4e6-a483cf4d6281/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/4dd803df-0824-47d6-a1d9-a4c0b94aa30f.png index c308f966be725b5794ee58797a04863810049c21..d1a347d5810a213d718f3378305d13402cf6ee92 100644 GIT binary patch delta 81 zcmdnayq$T2DWjmVm5HI1sin4oft7*5|7xz7$!?4asG@ypn;uLqXH=F&QG3&PvONP3 Nc)I$ztaD0e0swAl6_o%0 delta 81 zcmdnayq$T2DWjl~m5G6siHWv>ft7(lLeR~flie5zopr061?Gy#N3J 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 new file mode 100644 index 0000000000000000000000000000000000000000..a6fdf326f59122d664d6ef0d68e13c973b9cccc4 GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?DDuG5#WBR=_|>Tgd7BM* zTYCsmoZOKjNcs6BDbq3tYEo?`0+pQy|(SgW8KcRv Q2kK$)boFyt=akR{03Wcbf&c&j literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/68cedd47-7826-45d0-936a-09d3f0b2514e.png b/sprites/s_node_shape_type/68cedd47-7826-45d0-936a-09d3f0b2514e.png new file mode 100644 index 0000000000000000000000000000000000000000..10eec35a37144137dc6f5f3697983124ddd9285e GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?D6-qr#WBR=_}Qr!c@G)z zu&(#HASj`zT*7R{w78Y`5SuKJ&0=O?@95&tbyw}eUB&z_?Y;9v zt{}5Rxgf}@mX*nXS#ZbHv<+XjMm@S^8tbatt#@F_#udLN{NK0CerHBMM`ZE(wVQJS zPki!>P7$2Jy))By|HI3l?|2|H(?C}Qd9;uzv_Jo(T6|Mtwf zjKaRY@?v5e5(F2U1WCMn)f~v}rYo^E;Yw2=_X@@hSJ``1W*begllUdZz%aj=#mFdc z#af^tswJ)wB`Jv|saDBFsX&Us$iT=%*T7WQ$TY;j$jZdP%EUz5z`)ADAR*}HP81Ef v`6-!cmAEws@+YzaHE6(XD9OxCEiOsSEx@hEP0HaGP!EHrtDnm{r-UW|Yj0Ue diff --git a/sprites/s_node_shape_type/layers/5526c2ef-3545-4dca-bec6-85357e76b6b1/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/6d6db666-0f53-414f-8e2e-75217cbcd027.png similarity index 52% rename from sprites/s_node_shape_type/layers/5526c2ef-3545-4dca-bec6-85357e76b6b1/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/6d6db666-0f53-414f-8e2e-75217cbcd027.png index aeffc17b9c88c74bbf04eb7070f6c98e43ddb4df..c67c7000952b0b6da368253ef60f2c4fe2f33f04 100644 GIT binary patch delta 80 zcmeyv^oMD}FF|7~6GJOgOKk%KD+7c7)m$-?xfvBuMf=n?J(z66s4R=3_NMV delta 80 zcmeyv^oMD}FF_+K69X#~6Kw+nD+7aspqo1n7!Jivb8c MUHx3vIVCg!0DH3(a{vGU diff --git a/sprites/s_node_shape_type/8973bafa-9ba5-4018-82fe-49369c528c77.png b/sprites/s_node_shape_type/83cbb736-e130-438e-b366-d4834ff26292.png similarity index 65% rename from sprites/s_node_shape_type/8973bafa-9ba5-4018-82fe-49369c528c77.png rename to sprites/s_node_shape_type/83cbb736-e130-438e-b366-d4834ff26292.png index 806e8e83ef07129edd745e69825923ddabb901a7..59b2451292dbe39e74598009c40aee8210732239 100644 GIT binary patch delta 81 zcmcb`e2aNQ1f!s_m5HI1sin4oft7*5|7xz7$(f7_sG@ypn;uM_#i%TcqV}foWP1i6 N@O1TaS?83{1OS?~7DNC5 delta 81 zcmcb`e2aNQ1f!slm5G6siHWv>ft7(lLeR~flQS6=P(=m#6ImzEVpNtzQR^nft7(lLeR~flUo@TP(=m#6Imy3V^o$!QR^nft7(lLeR~f3=9maC9V-ADTyViR=N2pnQ4^_Mg~SE px(24YMy4SKC>jL$6Imy3W>l6%5p|PtxCJzZ!PC{xWt~$(698xN98UlM diff --git a/sprites/s_node_shape_type/2893727a-1872-4e51-b211-59df36bbc651.png b/sprites/s_node_shape_type/9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0.png similarity index 53% rename from sprites/s_node_shape_type/2893727a-1872-4e51-b211-59df36bbc651.png rename to sprites/s_node_shape_type/9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0.png index fee407c1241c96047bd80b13f908ca89273e366c..80c1dddc9850ae0e7871a06aa4887227d6324241 100644 GIT binary patch delta 80 zcmey#^pk1AcR^z-6GJOgOKk%KD+7c7)m$-?IT#gCMf=n?J(z6Cs4R=3_NMVn7!Jivb8c MUHx3vIVCg!0C(^dWB>pF diff --git a/sprites/s_node_shape_type/ac2c058e-dd94-4d88-9958-fac479f23660.png b/sprites/s_node_shape_type/ac2c058e-dd94-4d88-9958-fac479f23660.png new file mode 100644 index 0000000000000000000000000000000000000000..024eb812d3f9510d35f4b42dcef4f1878960194b GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?C}Qd9;uzv_Jo(T6|Mtwf zjKaRY@?v5e5(F2U1WCMn)f~v}rYo^E;Yw2=_X@@hSJ``1W*begllUdZz%aj=#mFdc z#af^tswJ)wB`Jv|saDBFsX&Us$iT=%*T7WQ$TY;j*viDv%G6TZz`)AD;D0q&42p)_ v{FKbJO57Uy)HXc;YS4h&P?DLOT3nKtTYy{7P2ft7(lLeR~fll>VLP(=m#6ImxWFe=NUsCAQaxWxbj Mp00i_>zopr07KIg>Hq)$ diff --git a/sprites/s_node_shape_type/7a237ffa-be4c-4d8e-bd2f-ae809eb3b319.png b/sprites/s_node_shape_type/b1ec2af5-bef8-4227-95ad-3e2460e6e676.png similarity index 62% rename from sprites/s_node_shape_type/7a237ffa-be4c-4d8e-bd2f-ae809eb3b319.png rename to sprites/s_node_shape_type/b1ec2af5-bef8-4227-95ad-3e2460e6e676.png index b23724e602e312d2c3edeab3956e66f318d25cb3..87edcc992564bd1369cedac20a3c21423184d85f 100644 GIT binary patch delta 81 zcmdnRyo-5*1*4#`m5HI1sin4oft7*5|7xz7$)1b~sG@ypn;uNAVpNtzQG3&PvONP3 Nc)I$ztaD0e0swL~6{G+F delta 81 zcmdnRyo-5*1*4#mm5G6siHWv>ft7(lLeR~flRX&~P(=m#6Imx$F)GWVsCAQaxWxbj Mp00i_>zopr06aSr%m4rY 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 new file mode 100644 index 0000000000000000000000000000000000000000..e451838a02db7340b1e372c434fa3ee19fdffd00 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?C^Fa6#WBR=_}eKLc@HUw zxbo{MC|gWYHegb=6uNsr@CD2D`Lh_rlDUtVy!5^&{zT@)<0KWsO?u8Rmp>5U5v*|N zeQUgE$(H6@+Dm+bRd$B2IeR~?pyuF}#+im*2NyRhBu`m?g315EE@3-nbA@Yp0*u!S zs-_=m>|e0=_FIk_(aBd?Ja&0^**84iG<_|TN~Gt$PpvJfXX}!uIKPWK?*EBwv@Yv12t&CZ79jiO)V}-%q_sJ=W$Y62T%`#r>mdKI;Vst0O$LUPXGV_ literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/bab10856-f499-4364-8bdb-230f241dcf0d.png b/sprites/s_node_shape_type/d2df5faf-acdc-4267-9fc3-e2587ea46ffb.png similarity index 74% rename from sprites/s_node_shape_type/bab10856-f499-4364-8bdb-230f241dcf0d.png rename to sprites/s_node_shape_type/d2df5faf-acdc-4267-9fc3-e2587ea46ffb.png index b495824197740d79bde021796d5c80fde3f60533..ffc7affcbf9c5f16f783792693f04088c6ae1b5e 100644 GIT binary patch delta 81 zcmeBW>1El_%_wMWWnyS$YN>5tU}a$NznUv%@*GA5RM9@QO%EoYWmJ|$QG3&PvONP3 Nc)I$ztaD0e0sxEO7DWI6 delta 81 zcmeBW>1El_%_wMOWny4uVxnzeU}a#C5Oj0rzopr09EA_Z2$lO diff --git a/sprites/s_node_shape_type/84e23289-8dc8-4aeb-b056-57889a5a04a9.png b/sprites/s_node_shape_type/d327df90-02a8-4278-a2f0-bad7924956ff.png similarity index 70% rename from sprites/s_node_shape_type/84e23289-8dc8-4aeb-b056-57889a5a04a9.png rename to sprites/s_node_shape_type/d327df90-02a8-4278-a2f0-bad7924956ff.png index b17144d252e12b9623505b747141de1b2feb1f1e..ac353f757df72b9d80fa40a9bd1c3865e80ff7ae 100644 GIT binary patch delta 108 zcmcc2e3^MeAfuD9m5HI1sin4oft7*5|7xxn1_lPz64!{5l*E!$tK9sQ%(O}dBLgE7 pT?12HBhwHA6b*f9n;uM_%&07jB6`z!vOUlk22WQ%mvv4FO#oQ delta 108 zcmcc2e3^MeAfuC!m5G6siHWv>ft7(lLeR~f3=9maC9V-ADTyViR=N2pnQ4^_Mg~SE px(24YMy4SKC>jL$6ImxuW>l6%5p|PtxCJzZ!PC{xWt~$(697Ch8_xg$ diff --git a/sprites/s_node_shape_type/d3111831-695a-4461-9130-3228744761bb.png b/sprites/s_node_shape_type/layers/14bfe2b8-bba9-422d-9309-159a2068a2b8/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 54% rename from sprites/s_node_shape_type/d3111831-695a-4461-9130-3228744761bb.png rename to sprites/s_node_shape_type/layers/14bfe2b8-bba9-422d-9309-159a2068a2b8/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index b58f9e8ecf8171a9b378bd02f865591611927de6..5368c286f0771915abf290fa4954212ec2e8382e 100644 GIT binary patch delta 80 zcmey%^p|PEZ$V=#6GJOgOKk%KD+7c7)m$-?c^DN?Mf=n?J(z6Es4R=3_NMVn7!Jivb8c MUHx3vIVCg!0DSZmcmMzZ diff --git a/sprites/s_node_shape_type/layers/71d205ee-df82-4582-bf38-39392d51dd23/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/layers/1b712b1b-6360-41cb-8ff2-e1251fd32421/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 71% rename from sprites/s_node_shape_type/layers/71d205ee-df82-4582-bf38-39392d51dd23/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/layers/1b712b1b-6360-41cb-8ff2-e1251fd32421/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 31b767bbb809a2ba92330ee3617626dd824a675c..1633d8014406ddfc2c22f26cb9a119bc8b45b199 100644 GIT binary patch delta 81 zcmX@ke4KfME2E&Xm5HI1sin4oft7*5|7xz7$zhBNsG@ypn;uMVXH=F&QG3&PvONP3 Nc)I$ztaD0e0sw-k73BZ` delta 81 zcmX@ke4KfME2E&1m5G6siHWv>ft7(lLeR~flfxJlP(=m#6Imy>Gb+oXsCAQaxWxbj Mp00i_>zopr08FnG4FCWD 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 new file mode 100644 index 0000000000000000000000000000000000000000..270fd37b535bb353764606e69aff8801115de662 GIT binary patch literal 479 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?D00cu#WBR=_}i%ud7BIb zTIG-ZH)>jJ!6bb{P~xTAAzq1vejolMt}ggCi|Oc*Bl?+_p4@ux=+)n*^6kln)qmwT zs6NL>Ja4Y5XcYOr`7qCmpPeG7lxy`85~MVz7+aia zkO@-g-!tbpYy8QpGtx6d^jBS-G0WoTFW23n1?Oa}9JE-@$o%4oVo+|l?DbRjfMmn= zdk2^cr03o9eaetd(7PX|5NQ4 z7O5`YynW7ZYoPB`OI#yLQW8s2t&)pUffR$0fsu)>fvK*MX^4S|m7#%^fu*(qkTeLX zJt~8uAvZrIGp!Q0233XH1waiNa2rZ8b5n~;5_1c1>nSpgsR!y|@O1TaS?83{1OSEk Bt=s?r literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/layers/49f66653-48bb-46ca-adb5-39604325a9d1/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/49f66653-48bb-46ca-adb5-39604325a9d1/e8dfb98d-070d-4cc7-8d95-66066132cc72.png new file mode 100644 index 0000000000000000000000000000000000000000..1e153aa811d0f5a08b40cbdd87d91010194cf1e0 GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?DDutI#WBR=_|>Ur1)B^6 z-0WrEFJXRpU`hh#v;@s*4xB*74aV?%8QUh_8o8J`0!~g!GIwV392UB#JX_vq(hZ}s z*_Zx%E?|sdyu#pSdS9K1n<1S+J#**BH}jMN#6CQD8QuTRNh@hmwD@6jCRJy< zWz&v_FN*lFMq#TC|D?TBgVzZyJs|yZxo4RhpQ0mAO-1^IDTG-=w^6$%2zz|R^ag8WR zNi0dVN-jzTQVd20Mkcxjrn*L^AqFN^CMH$}7TN{|Rt5%L+YU`Y(U6;;l9^VCTf^_y mRXRWo8gLs*GILXlOA>PnaO+v~FZwf34}+(xpUXO@geCxVceV8Z literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/3b6185db-9a13-4cdc-a4e6-a483cf4d6281.png b/sprites/s_node_shape_type/layers/4dd803df-0824-47d6-a1d9-a4c0b94aa30f/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 60% rename from sprites/s_node_shape_type/3b6185db-9a13-4cdc-a4e6-a483cf4d6281.png rename to sprites/s_node_shape_type/layers/4dd803df-0824-47d6-a1d9-a4c0b94aa30f/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index c308f966be725b5794ee58797a04863810049c21..d1a347d5810a213d718f3378305d13402cf6ee92 100644 GIT binary patch delta 81 zcmdnayq$T2DWjmVm5HI1sin4oft7*5|7xz7$!?4asG@ypn;uLqXH=F&QG3&PvONP3 Nc)I$ztaD0e0swAl6_o%0 delta 81 zcmdnayq$T2DWjl~m5G6siHWv>ft7(lLeR~flie5zopr061?Gy#N3J 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 new file mode 100644 index 0000000000000000000000000000000000000000..a6fdf326f59122d664d6ef0d68e13c973b9cccc4 GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?DDuG5#WBR=_|>Tgd7BM* zTYCsmoZOKjNcs6BDbq3tYEo?`0+pQy|(SgW8KcRv Q2kK$)boFyt=akR{03Wcbf&c&j literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/layers/68cedd47-7826-45d0-936a-09d3f0b2514e/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/68cedd47-7826-45d0-936a-09d3f0b2514e/e8dfb98d-070d-4cc7-8d95-66066132cc72.png new file mode 100644 index 0000000000000000000000000000000000000000..10eec35a37144137dc6f5f3697983124ddd9285e GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?D6-qr#WBR=_}Qr!c@G)z zu&(#HASj`zT*7R{w78Y`5SuKJ&0=O?@95&tbyw}eUB&z_?Y;9v zt{}5Rxgf}@mX*nXS#ZbHv<+XjMm@S^8tbatt#@F_#udLN{NK0CerHBMM`ZE(wVQJS zPki!>P7$2Jy))By|HI3l?|2|H(?C}Qd9;uzv_Jo(T6|Mtwf zjKaRY@?v5e5(F2U1WCMn)f~v}rYo^E;Yw2=_X@@hSJ``1W*begllUdZz%aj=#mFdc z#af^tswJ)wB`Jv|saDBFsX&Us$iT=%*T7WQ$TY;j$jZdP%EUz5z`)ADAR*}HP81Ef v`6-!cmAEws@+YzaHE6(XD9OxCEiOsSEx@hEP0HaGP!EHrtDnm{r-UW|Yj0Ue diff --git a/sprites/s_node_shape_type/5526c2ef-3545-4dca-bec6-85357e76b6b1.png b/sprites/s_node_shape_type/layers/6d6db666-0f53-414f-8e2e-75217cbcd027/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 52% rename from sprites/s_node_shape_type/5526c2ef-3545-4dca-bec6-85357e76b6b1.png rename to sprites/s_node_shape_type/layers/6d6db666-0f53-414f-8e2e-75217cbcd027/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index aeffc17b9c88c74bbf04eb7070f6c98e43ddb4df..c67c7000952b0b6da368253ef60f2c4fe2f33f04 100644 GIT binary patch delta 80 zcmeyv^oMD}FF|7~6GJOgOKk%KD+7c7)m$-?xfvBuMf=n?J(z66s4R=3_NMV delta 80 zcmeyv^oMD}FF_+K69X#~6Kw+nD+7aspqo1n7!Jivb8c MUHx3vIVCg!0DH3(a{vGU diff --git a/sprites/s_node_shape_type/layers/8973bafa-9ba5-4018-82fe-49369c528c77/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/layers/83cbb736-e130-438e-b366-d4834ff26292/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 65% rename from sprites/s_node_shape_type/layers/8973bafa-9ba5-4018-82fe-49369c528c77/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/layers/83cbb736-e130-438e-b366-d4834ff26292/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index 806e8e83ef07129edd745e69825923ddabb901a7..59b2451292dbe39e74598009c40aee8210732239 100644 GIT binary patch delta 81 zcmcb`e2aNQ1f!s_m5HI1sin4oft7*5|7xz7$(f7_sG@ypn;uM_#i%TcqV}foWP1i6 N@O1TaS?83{1OS?~7DNC5 delta 81 zcmcb`e2aNQ1f!slm5G6siHWv>ft7(lLeR~flQS6=P(=m#6ImzEVpNtzQR^nft7(lLeR~flUo@TP(=m#6Imy3V^o$!QR^nft7(lLeR~f3=9maC9V-ADTyViR=N2pnQ4^_Mg~SE px(24YMy4SKC>jL$6Imy3W>l6%5p|PtxCJzZ!PC{xWt~$(698xN98UlM diff --git a/sprites/s_node_shape_type/layers/2893727a-1872-4e51-b211-59df36bbc651/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/layers/9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 53% rename from sprites/s_node_shape_type/layers/2893727a-1872-4e51-b211-59df36bbc651/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/layers/9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index fee407c1241c96047bd80b13f908ca89273e366c..80c1dddc9850ae0e7871a06aa4887227d6324241 100644 GIT binary patch delta 80 zcmey#^pk1AcR^z-6GJOgOKk%KD+7c7)m$-?IT#gCMf=n?J(z6Cs4R=3_NMVn7!Jivb8c MUHx3vIVCg!0C(^dWB>pF diff --git a/sprites/s_node_shape_type/layers/ac2c058e-dd94-4d88-9958-fac479f23660/e8dfb98d-070d-4cc7-8d95-66066132cc72.png b/sprites/s_node_shape_type/layers/ac2c058e-dd94-4d88-9958-fac479f23660/e8dfb98d-070d-4cc7-8d95-66066132cc72.png new file mode 100644 index 0000000000000000000000000000000000000000..024eb812d3f9510d35f4b42dcef4f1878960194b GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?C}Qd9;uzv_Jo(T6|Mtwf zjKaRY@?v5e5(F2U1WCMn)f~v}rYo^E;Yw2=_X@@hSJ``1W*begllUdZz%aj=#mFdc z#af^tswJ)wB`Jv|saDBFsX&Us$iT=%*T7WQ$TY;j*viDv%G6TZz`)AD;D0q&42p)_ v{FKbJO57Uy)HXc;YS4h&P?DLOT3nKtTYy{7P2ft7(lLeR~fll>VLP(=m#6ImxWFe=NUsCAQaxWxbj Mp00i_>zopr07KIg>Hq)$ diff --git a/sprites/s_node_shape_type/layers/7a237ffa-be4c-4d8e-bd2f-ae809eb3b319/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/layers/b1ec2af5-bef8-4227-95ad-3e2460e6e676/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 62% rename from sprites/s_node_shape_type/layers/7a237ffa-be4c-4d8e-bd2f-ae809eb3b319/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/layers/b1ec2af5-bef8-4227-95ad-3e2460e6e676/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index b23724e602e312d2c3edeab3956e66f318d25cb3..87edcc992564bd1369cedac20a3c21423184d85f 100644 GIT binary patch delta 81 zcmdnRyo-5*1*4#`m5HI1sin4oft7*5|7xz7$)1b~sG@ypn;uNAVpNtzQG3&PvONP3 Nc)I$ztaD0e0swL~6{G+F delta 81 zcmdnRyo-5*1*4#mm5G6siHWv>ft7(lLeR~flRX&~P(=m#6Imx$F)GWVsCAQaxWxbj Mp00i_>zopr06aSr%m4rY 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 new file mode 100644 index 0000000000000000000000000000000000000000..e451838a02db7340b1e372c434fa3ee19fdffd00 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gj3dtTpz6=aiY77hwEes65fI|H(?C^Fa6#WBR=_}eKLc@HUw zxbo{MC|gWYHegb=6uNsr@CD2D`Lh_rlDUtVy!5^&{zT@)<0KWsO?u8Rmp>5U5v*|N zeQUgE$(H6@+Dm+bRd$B2IeR~?pyuF}#+im*2NyRhBu`m?g315EE@3-nbA@Yp0*u!S zs-_=m>|e0=_FIk_(aBd?Ja&0^**84iG<_|TN~Gt$PpvJfXX}!uIKPWK?*EBwv@Yv12t&CZ79jiO)V}-%q_sJ=W$Y62T%`#r>mdKI;Vst0O$LUPXGV_ literal 0 HcmV?d00001 diff --git a/sprites/s_node_shape_type/layers/bab10856-f499-4364-8bdb-230f241dcf0d/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/layers/d2df5faf-acdc-4267-9fc3-e2587ea46ffb/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 74% rename from sprites/s_node_shape_type/layers/bab10856-f499-4364-8bdb-230f241dcf0d/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/layers/d2df5faf-acdc-4267-9fc3-e2587ea46ffb/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index b495824197740d79bde021796d5c80fde3f60533..ffc7affcbf9c5f16f783792693f04088c6ae1b5e 100644 GIT binary patch delta 81 zcmeBW>1El_%_wMWWnyS$YN>5tU}a$NznUv%@*GA5RM9@QO%EoYWmJ|$QG3&PvONP3 Nc)I$ztaD0e0sxEO7DWI6 delta 81 zcmeBW>1El_%_wMOWny4uVxnzeU}a#C5Oj0rzopr09EA_Z2$lO diff --git a/sprites/s_node_shape_type/layers/84e23289-8dc8-4aeb-b056-57889a5a04a9/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png b/sprites/s_node_shape_type/layers/d327df90-02a8-4278-a2f0-bad7924956ff/e8dfb98d-070d-4cc7-8d95-66066132cc72.png similarity index 70% rename from sprites/s_node_shape_type/layers/84e23289-8dc8-4aeb-b056-57889a5a04a9/4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4.png rename to sprites/s_node_shape_type/layers/d327df90-02a8-4278-a2f0-bad7924956ff/e8dfb98d-070d-4cc7-8d95-66066132cc72.png index b17144d252e12b9623505b747141de1b2feb1f1e..ac353f757df72b9d80fa40a9bd1c3865e80ff7ae 100644 GIT binary patch delta 108 zcmcc2e3^MeAfuD9m5HI1sin4oft7*5|7xxn1_lPz64!{5l*E!$tK9sQ%(O}dBLgE7 pT?12HBhwHA6b*f9n;uM_%&07jB6`z!vOUlk22WQ%mvv4FO#oQ delta 108 zcmcc2e3^MeAfuC!m5G6siHWv>ft7(lLeR~f3=9maC9V-ADTyViR=N2pnQ4^_Mg~SE px(24YMy4SKC>jL$6ImxuW>l6%5p|PtxCJzZ!PC{xWt~$(697Ch8_xg$ 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 5953b33f9..88f5f8426 100644 --- a/sprites/s_node_shape_type/s_node_shape_type.yy +++ b/sprites/s_node_shape_type/s_node_shape_type.yy @@ -2,7 +2,7 @@ "$GMSprite":"", "%Name":"s_node_shape_type", "bboxMode":0, - "bbox_bottom":21, + "bbox_bottom":22, "bbox_left":1, "bbox_right":22, "bbox_top":2, @@ -12,26 +12,31 @@ "edgeFiltering":false, "For3D":false, "frames":[ - {"$GMSpriteFrame":"","%Name":"6c545309-6ffe-4c08-bed2-9c82065ad8d4","name":"6c545309-6ffe-4c08-bed2-9c82065ad8d4","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"d3111831-695a-4461-9130-3228744761bb","name":"d3111831-695a-4461-9130-3228744761bb","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"5526c2ef-3545-4dca-bec6-85357e76b6b1","name":"5526c2ef-3545-4dca-bec6-85357e76b6b1","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"7a237ffa-be4c-4d8e-bd2f-ae809eb3b319","name":"7a237ffa-be4c-4d8e-bd2f-ae809eb3b319","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"83508ab4-faeb-411c-8b6e-d29be9cddea9","name":"83508ab4-faeb-411c-8b6e-d29be9cddea9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"71d205ee-df82-4582-bf38-39392d51dd23","name":"71d205ee-df82-4582-bf38-39392d51dd23","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"bab10856-f499-4364-8bdb-230f241dcf0d","name":"bab10856-f499-4364-8bdb-230f241dcf0d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"d3655d0c-9269-4162-9ae7-82c547edf674","name":"d3655d0c-9269-4162-9ae7-82c547edf674","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"84e23289-8dc8-4aeb-b056-57889a5a04a9","name":"84e23289-8dc8-4aeb-b056-57889a5a04a9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"2893727a-1872-4e51-b211-59df36bbc651","name":"2893727a-1872-4e51-b211-59df36bbc651","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"8973bafa-9ba5-4018-82fe-49369c528c77","name":"8973bafa-9ba5-4018-82fe-49369c528c77","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, - {"$GMSpriteFrame":"","%Name":"651de5b3-7033-4983-aa29-7308549c5997","name":"651de5b3-7033-4983-aa29-7308549c5997","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"ac2c058e-dd94-4d88-9958-fac479f23660","name":"ac2c058e-dd94-4d88-9958-fac479f23660","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"14bfe2b8-bba9-422d-9309-159a2068a2b8","name":"14bfe2b8-bba9-422d-9309-159a2068a2b8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"6d6db666-0f53-414f-8e2e-75217cbcd027","name":"6d6db666-0f53-414f-8e2e-75217cbcd027","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"b1ec2af5-bef8-4227-95ad-3e2460e6e676","name":"b1ec2af5-bef8-4227-95ad-3e2460e6e676","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"b0761a58-4f3d-4174-8a91-3d14246ac152","name":"b0761a58-4f3d-4174-8a91-3d14246ac152","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"8ea8d1e8-6255-4f98-9112-0092f61f32d0","name":"8ea8d1e8-6255-4f98-9112-0092f61f32d0","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"9619ab69-4168-4599-a598-8c722310ef03","name":"9619ab69-4168-4599-a598-8c722310ef03","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"83cbb736-e130-438e-b366-d4834ff26292","name":"83cbb736-e130-438e-b366-d4834ff26292","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"c993ff0d-daf9-4950-9c17-252474cc9195","name":"c993ff0d-daf9-4950-9c17-252474cc9195","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"41c086f9-4334-4833-a514-0a6c3194841b","name":"41c086f9-4334-4833-a514-0a6c3194841b","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"1b712b1b-6360-41cb-8ff2-e1251fd32421","name":"1b712b1b-6360-41cb-8ff2-e1251fd32421","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$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":"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",}, ], "gridX":0, "gridY":0, "height":24, "HTile":false, "layers":[ - {"$GMImageLayer":"","%Name":"4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4","blendMode":0,"displayName":"default","isLocked":false,"name":"4d0fb2c0-7da4-4a71-a1ca-6e964555e7d4","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + {"$GMImageLayer":"","%Name":"e8dfb98d-070d-4cc7-8d95-66066132cc72","blendMode":0,"displayName":"default","isLocked":false,"name":"e8dfb98d-070d-4cc7-8d95-66066132cc72","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, ], "name":"s_node_shape_type", "nineSlice":null, @@ -61,7 +66,7 @@ }, "eventStubScript":null, "eventToFunction":{}, - "length":13.0, + "length":18.0, "lockOrigin":false, "moments":{ "$KeyframeStore":"", @@ -81,44 +86,59 @@ "tracks":[ {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"6c545309-6ffe-4c08-bed2-9c82065ad8d4","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"ee006fd1-e9eb-4d05-b46f-eae5fa8612b0","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"ac2c058e-dd94-4d88-9958-fac479f23660","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"2f766208-44fc-4bbb-ac0c-a6bbdf6aa948","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d3111831-695a-4461-9130-3228744761bb","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"46c3d423-c7ec-4994-af09-809ef518a079","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"14bfe2b8-bba9-422d-9309-159a2068a2b8","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"e82eca16-b46d-4b08-adc4-3d700284a9e3","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"5526c2ef-3545-4dca-bec6-85357e76b6b1","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"31c2191f-90a4-40a8-89d2-1ff98308a5e7","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"6d6db666-0f53-414f-8e2e-75217cbcd027","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"455e0678-04b4-42e4-8b55-50c80b9f2fb5","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7a237ffa-be4c-4d8e-bd2f-ae809eb3b319","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"67b85fa1-1715-453b-a9e3-c936d250dc7d","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"b1ec2af5-bef8-4227-95ad-3e2460e6e676","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"06a0723a-12ad-4b68-be76-0f7211427afe","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"83508ab4-faeb-411c-8b6e-d29be9cddea9","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"21957fda-cd5a-4e10-a5a8-ca944c8ccc65","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"b0761a58-4f3d-4174-8a91-3d14246ac152","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"3a442dac-3cd2-4edb-ad51-c2c739494466","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"71d205ee-df82-4582-bf38-39392d51dd23","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"766e25dd-8b26-47a2-996a-ca9f7b58f9ae","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"8ea8d1e8-6255-4f98-9112-0092f61f32d0","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"21287849-b4cb-4471-b37c-ab656344897d","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"bab10856-f499-4364-8bdb-230f241dcf0d","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"75551b21-9282-41fa-8c8a-855d0b527fbb","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"9619ab69-4168-4599-a598-8c722310ef03","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"842496cb-ff53-4eec-86d6-3c45d2e0a909","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d3655d0c-9269-4162-9ae7-82c547edf674","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"f8425249-5e88-4123-a018-c3eb02073c4a","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"83cbb736-e130-438e-b366-d4834ff26292","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"d04f8de9-a47b-43e0-b589-f03e48d4f5dd","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"84e23289-8dc8-4aeb-b056-57889a5a04a9","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"8e68a1ba-fa7b-4a85-b48d-cdf67b539901","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c993ff0d-daf9-4950-9c17-252474cc9195","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"794d4fe9-9547-44c3-992c-c3b9734c9cf1","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"2893727a-1872-4e51-b211-59df36bbc651","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"7c381e7f-8d22-4f8b-a9a8-00df7fe13c2e","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"41c086f9-4334-4833-a514-0a6c3194841b","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"4c444757-09fd-40d2-a457-c3a3ff5cc662","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"3b6185db-9a13-4cdc-a4e6-a483cf4d6281","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"60c28ee2-65e2-4896-923e-2ed609102398","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"1b712b1b-6360-41cb-8ff2-e1251fd32421","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"45408932-cb01-462e-9fee-4188d46331b4","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"8973bafa-9ba5-4018-82fe-49369c528c77","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"4c0e2a8c-e36a-43d2-a462-b1f386b96940","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"d2df5faf-acdc-4267-9fc3-e2587ea46ffb","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"12a7f51a-f928-49aa-8f69-1261ddf60d83","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"651de5b3-7033-4983-aa29-7308549c5997","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"faf1f5e1-c375-4707-bb11-4ecc614a5126","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"9fbc0143-c73b-4d43-9ab1-2b54fdf9dfa0","path":"sprites/s_node_shape_type/s_node_shape_type.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"f2a3bc4d-69bd-4b2a-95dc-b8b4095852ec","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + {"$Keyframe":"","Channels":{ + "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":13.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":14.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":15.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":16.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":17.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,