From fdf245c1a9953016ff98f935df7e0b11a8ece065 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Mon, 24 Jun 2024 18:49:54 +0700 Subject: [PATCH] shader set vec2 --- PixelComposer.resource_order | 2 + PixelComposer.yyp | 2 + scripts/array_functions/array_functions.gml | 1 + scripts/node_bevel/node_bevel.gml | 4 +- scripts/node_blur_radial/node_blur_radial.gml | 2 +- scripts/node_blur_zoom/node_blur_zoom.gml | 2 +- scripts/node_cellular/node_cellular.gml | 2 +- .../node_chromatic_aberration.gml | 2 +- scripts/node_dilate/node_dilate.gml | 2 +- scripts/node_grid/node_grid.gml | 4 +- scripts/node_grid_hex/node_grid_hex.gml | 4 +- scripts/node_grid_noise/node_grid_noise.gml | 20 ++-- .../node_grid_pentagonal.gml | 2 +- scripts/node_grid_tri/node_grid_tri.gml | 4 +- .../node_herringbone_tile.gml | 4 +- scripts/node_level/node_level.gml | 20 ++-- scripts/node_line/node_line.gml | 4 +- scripts/node_mirror/node_mirror.gml | 2 +- .../node_morph_surface/node_morph_surface.gml | 8 +- scripts/node_noise/node_noise.gml | 6 +- scripts/node_noise_fbm/node_noise_fbm.gml | 10 +- .../node_noise_simplex/node_noise_simplex.gml | 8 +- scripts/node_pb_fx_brick/node_pb_fx_brick.gml | 2 +- scripts/node_pb_fx_strip/node_pb_fx_strip.gml | 2 +- scripts/node_perlin/node_perlin.gml | 8 +- .../node_perlin_smear/node_perlin_smear.gml | 4 +- scripts/node_polar/node_polar.gml | 2 +- .../node_pytagorean_tile.gml | 4 +- .../node_quasicrystal/node_quasicrystal.gml | 2 +- scripts/node_random_tile/node_random_tile.gml | 4 +- scripts/node_rm_terrain/node_rm_terrain.gml | 8 +- scripts/node_shadow_cast/node_shadow_cast.gml | 4 +- scripts/node_shape/node_shape.gml | 12 +-- scripts/node_shape_map/node_shape_map.gml | 4 +- scripts/node_skew/node_skew.gml | 2 +- .../node_smoke_turbulence.gml | 4 +- scripts/node_spherize/node_spherize.gml | 2 +- .../node_sprite_stack/node_sprite_stack.gml | 6 +- scripts/node_twirl/node_twirl.gml | 2 +- scripts/shader_functions/shader_functions.gml | 4 + .../dc246176-904a-4f21-a1bb-78132de29a3d.png | Bin 0 -> 3342 bytes .../db6207be-0d2a-45c3-8e52-4b6eb0f051b6.png | Bin 0 -> 3342 bytes .../s_node_3d_path_extrude.yy | 90 ++++++++++++++++++ .../6dd76180-ba3e-44f2-9f24-8ea67eae966c.png | Bin 0 -> 2225 bytes .../ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59.png | Bin 0 -> 2225 bytes sprites/s_node_path_3d/s_node_path_3d.yy | 90 ++++++++++++++++++ 46 files changed, 280 insertions(+), 91 deletions(-) create mode 100644 sprites/s_node_3d_path_extrude/dc246176-904a-4f21-a1bb-78132de29a3d.png create mode 100644 sprites/s_node_3d_path_extrude/layers/dc246176-904a-4f21-a1bb-78132de29a3d/db6207be-0d2a-45c3-8e52-4b6eb0f051b6.png create mode 100644 sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy create mode 100644 sprites/s_node_path_3d/6dd76180-ba3e-44f2-9f24-8ea67eae966c.png create mode 100644 sprites/s_node_path_3d/layers/6dd76180-ba3e-44f2-9f24-8ea67eae966c/ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59.png create mode 100644 sprites/s_node_path_3d/s_node_path_3d.yy diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index a7005d815..7d893e642 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -1643,6 +1643,7 @@ {"name":"s_node_3d_obj_combine","order":5,"path":"sprites/s_node_3d_obj_combine/s_node_3d_obj_combine.yy",}, {"name":"s_node_3d_obj_export","order":30,"path":"sprites/s_node_3d_obj_export/s_node_3d_obj_export.yy",}, {"name":"s_node_3d_obj","order":3,"path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",}, + {"name":"s_node_3d_path_extrude","order":31,"path":"sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy",}, {"name":"s_node_3d_plane","order":6,"path":"sprites/s_node_3d_plane/s_node_3d_plane.yy",}, {"name":"s_node_3d_point_affector","order":21,"path":"sprites/s_node_3d_point_affector/s_node_3d_point_affector.yy",}, {"name":"s_node_3d_scene","order":14,"path":"sprites/s_node_3d_scene/s_node_3d_scene.yy",}, @@ -1900,6 +1901,7 @@ {"name":"s_node_palette","order":14,"path":"sprites/s_node_palette/s_node_palette.yy",}, {"name":"s_node_particle_effector","order":13,"path":"sprites/s_node_particle_effector/s_node_particle_effector.yy",}, {"name":"s_node_particle","order":12,"path":"sprites/s_node_particle/s_node_particle.yy",}, + {"name":"s_node_path_3d","order":20,"path":"sprites/s_node_path_3d/s_node_path_3d.yy",}, {"name":"s_node_path_anchor","order":1,"path":"sprites/s_node_path_anchor/s_node_path_anchor.yy",}, {"name":"s_node_path_array","order":2,"path":"sprites/s_node_path_array/s_node_path_array.yy",}, {"name":"s_node_path_bake","order":3,"path":"sprites/s_node_path_bake/s_node_path_bake.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 37ce83fde..8468d9780 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -2186,6 +2186,7 @@ {"id":{"name":"s_node_3d_obj_combine","path":"sprites/s_node_3d_obj_combine/s_node_3d_obj_combine.yy",},}, {"id":{"name":"s_node_3d_obj_export","path":"sprites/s_node_3d_obj_export/s_node_3d_obj_export.yy",},}, {"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},}, + {"id":{"name":"s_node_3d_path_extrude","path":"sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy",},}, {"id":{"name":"s_node_3d_plane","path":"sprites/s_node_3d_plane/s_node_3d_plane.yy",},}, {"id":{"name":"s_node_3d_point_affector","path":"sprites/s_node_3d_point_affector/s_node_3d_point_affector.yy",},}, {"id":{"name":"s_node_3d_scene","path":"sprites/s_node_3d_scene/s_node_3d_scene.yy",},}, @@ -2464,6 +2465,7 @@ {"id":{"name":"s_node_palette","path":"sprites/s_node_palette/s_node_palette.yy",},}, {"id":{"name":"s_node_particle_effector","path":"sprites/s_node_particle_effector/s_node_particle_effector.yy",},}, {"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},}, + {"id":{"name":"s_node_path_3d","path":"sprites/s_node_path_3d/s_node_path_3d.yy",},}, {"id":{"name":"s_node_path_anchor","path":"sprites/s_node_path_anchor/s_node_path_anchor.yy",},}, {"id":{"name":"s_node_path_array","path":"sprites/s_node_path_array/s_node_path_array.yy",},}, {"id":{"name":"s_node_path_bake","path":"sprites/s_node_path_bake/s_node_path_bake.yy",},}, diff --git a/scripts/array_functions/array_functions.gml b/scripts/array_functions/array_functions.gml index a02cb28c5..99567e782 100644 --- a/scripts/array_functions/array_functions.gml +++ b/scripts/array_functions/array_functions.gml @@ -55,6 +55,7 @@ enum ARRAY_OVERFLOW { pingpong } +#macro aGetF array_safe_get_fast function array_safe_get_fast(arr, index, def = 0) { #region INLINE diff --git a/scripts/node_bevel/node_bevel.gml b/scripts/node_bevel/node_bevel.gml index 490d7112e..f08460261 100644 --- a/scripts/node_bevel/node_bevel.gml +++ b/scripts/node_bevel/node_bevel.gml @@ -76,8 +76,8 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con surface_set_shader(_outSurf, max(_dim[0], _dim[1]) < 256? sh_bevel : sh_bevel_highp); shader_set_f("dimension", _dim); shader_set_f_map("height", _hei, _data[11], inputs[| 1]); - shader_set_f("shift", _shf); - shader_set_f("scale", _sca); + shader_set_2("shift", _shf); + shader_set_2("scale", _sca); shader_set_i("slope", _slp); shader_set_i("sampleMode", _sam); diff --git a/scripts/node_blur_radial/node_blur_radial.gml b/scripts/node_blur_radial/node_blur_radial.gml index b1b284d88..17e63280d 100644 --- a/scripts/node_blur_radial/node_blur_radial.gml +++ b/scripts/node_blur_radial/node_blur_radial.gml @@ -72,7 +72,7 @@ function Node_Blur_Radial(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou shader_set_interpolation(_data[0]); shader_set_f("dimension", surface_get_width_safe(_outSurf), surface_get_height_safe(_outSurf)); shader_set_f_map("strength", _data[1], _data[10], inputs[| 1]); - shader_set_f("center", _cen); + shader_set_2("center", _cen); shader_set_f("gamma", _data[11]); draw_surface_safe(_data[0]); diff --git a/scripts/node_blur_zoom/node_blur_zoom.gml b/scripts/node_blur_zoom/node_blur_zoom.gml index f32d801f6..d06a5e2d9 100644 --- a/scripts/node_blur_zoom/node_blur_zoom.gml +++ b/scripts/node_blur_zoom/node_blur_zoom.gml @@ -72,7 +72,7 @@ function Node_Blur_Zoom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) _cen[1] /= surface_get_height_safe(_outSurf); surface_set_shader(_outSurf, sh_blur_zoom); - shader_set_f("center", _cen); + shader_set_2("center", _cen); shader_set_f_map("strength", _data[1], _data[12], inputs[| 1]); shader_set_i("blurMode", _data[4]); shader_set_i("sampleMode", _sam); diff --git a/scripts/node_cellular/node_cellular.gml b/scripts/node_cellular/node_cellular.gml index 55d5cb1e5..d494599bf 100644 --- a/scripts/node_cellular/node_cellular.gml +++ b/scripts/node_cellular/node_cellular.gml @@ -93,7 +93,7 @@ function Node_Cellular(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) surface_set_shader(_outSurf, shader); shader_set_f("dimension", _dim); shader_set_f("seed", _tim); - shader_set_f("position", _pos); + shader_set_2("position", _pos); shader_set_f_map("scale", _data[2], _data[11], inputs[| 2]); shader_set_f("contrast", _con); shader_set_f("middle", _mid); diff --git a/scripts/node_chromatic_aberration/node_chromatic_aberration.gml b/scripts/node_chromatic_aberration/node_chromatic_aberration.gml index ebd46a507..0cf7816d4 100644 --- a/scripts/node_chromatic_aberration/node_chromatic_aberration.gml +++ b/scripts/node_chromatic_aberration/node_chromatic_aberration.gml @@ -47,7 +47,7 @@ function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x, surface_set_shader(_outSurf, sh_chromatic_aberration); shader_set_interpolation(_data[0]); shader_set_f("dimension", surface_get_width_safe(_data[0]), surface_get_height_safe(_data[0])); - shader_set_f("center", _data[1]); + shader_set_2("center", _data[1]); shader_set_f_map("strength", _data[2], _data[4], inputs[| 2]); draw_surface_safe(_data[0]); surface_reset_shader(); diff --git a/scripts/node_dilate/node_dilate.gml b/scripts/node_dilate/node_dilate.gml index 6d864d028..8d73c9f83 100644 --- a/scripts/node_dilate/node_dilate.gml +++ b/scripts/node_dilate/node_dilate.gml @@ -76,7 +76,7 @@ function Node_Dilate(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co surface_set_shader(_outSurf, sh_dilate); shader_set_interpolation(_data[0]); shader_set_f("dimension", [ surface_get_width_safe(_data[0]), surface_get_height_safe(_data[0]) ]); - shader_set_f("center", _data[1]); + shader_set_2("center", _data[1]); shader_set_f_map("strength", _data[2], _data[11], inputs[| 2]); shader_set_f_map("radius", _data[3], _data[12], inputs[| 3]); diff --git a/scripts/node_grid/node_grid.gml b/scripts/node_grid/node_grid.gml index 311753565..26e42eb7d 100644 --- a/scripts/node_grid/node_grid.gml +++ b/scripts/node_grid/node_grid.gml @@ -133,8 +133,8 @@ function Node_Grid(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons shader_set_f("truchetSeed", _data[18]); shader_set_f("truchetThresX", _data[19]); shader_set_f("truchetThresY", _data[22]); - shader_set_f("truchetAngle", _data[23]); - shader_set_f("level", _data[24]); + shader_set_2("truchetAngle", _data[23]); + shader_set_2("level", _data[24]); shader_set_color("gapCol", _col_gap); diff --git a/scripts/node_grid_hex/node_grid_hex.gml b/scripts/node_grid_hex/node_grid_hex.gml index c43176b98..c76c520d0 100644 --- a/scripts/node_grid_hex/node_grid_hex.gml +++ b/scripts/node_grid_hex/node_grid_hex.gml @@ -128,8 +128,8 @@ function Node_Grid_Hex(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) shader_set_i("textureTruchet", _data[14]); shader_set_f("truchetSeed", _data[15]); shader_set_f("truchetThres", _data[16]); - shader_set_f("truchetAngle", _data[19]); - shader_set_f("level", _data[20]); + shader_set_2("truchetAngle", _data[19]); + shader_set_2("level", _data[20]); shader_set_gradient(_data[5], _data[17], _data[18], inputs[| 5]); diff --git a/scripts/node_grid_noise/node_grid_noise.gml b/scripts/node_grid_noise/node_grid_noise.gml index ab3953a67..d1e8758af 100644 --- a/scripts/node_grid_noise/node_grid_noise.gml +++ b/scripts/node_grid_noise/node_grid_noise.gml @@ -65,18 +65,18 @@ function Node_Grid_Noise(_x, _y, _group = noone) : Node_Processor(_x, _y, _group _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); surface_set_shader(_outSurf, sh_grid_noise); - shader_set_f("dimension", _dim); - shader_set_f("position", _pos); - shader_set_f("scale", _sca); + shader_set_f("dimension", _dim); + shader_set_2("position", _pos); + shader_set_2("scale", _sca); shader_set_i("useSampler", is_surface(_sam)); - shader_set_f("shift", _shf); - shader_set_i("shiftAxis", _shfAx); - shader_set_f("seed", _sed); + shader_set_f("shift", _shf); + shader_set_i("shiftAxis", _shfAx); + shader_set_f("seed", _sed); - shader_set_i("colored", _col); - shader_set_f("colorRanR", _clr); - shader_set_f("colorRanG", _clg); - shader_set_f("colorRanB", _clb); + shader_set_i("colored", _col); + shader_set_2("colorRanR", _clr); + shader_set_2("colorRanG", _clg); + shader_set_2("colorRanB", _clb); if(is_surface(_sam)) draw_surface_stretched_safe(_sam, 0, 0, _dim[0], _dim[1]); diff --git a/scripts/node_grid_pentagonal/node_grid_pentagonal.gml b/scripts/node_grid_pentagonal/node_grid_pentagonal.gml index 0c91d7bc8..eb74fa7a3 100644 --- a/scripts/node_grid_pentagonal/node_grid_pentagonal.gml +++ b/scripts/node_grid_pentagonal/node_grid_pentagonal.gml @@ -107,7 +107,7 @@ function Node_Grid_Pentagonal(_x, _y, _group = noone) : Node_Processor(_x, _y, _ shader_set_i("mode", _mode); shader_set_f("seed", _data[ 9]); shader_set_i("aa", _data[10]); - shader_set_f("level", _data[16]); + shader_set_2("level", _data[16]); shader_set_color("gapCol", _col_gap); diff --git a/scripts/node_grid_tri/node_grid_tri.gml b/scripts/node_grid_tri/node_grid_tri.gml index 8db66cb42..a3351105e 100644 --- a/scripts/node_grid_tri/node_grid_tri.gml +++ b/scripts/node_grid_tri/node_grid_tri.gml @@ -130,8 +130,8 @@ function Node_Grid_Tri(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) shader_set_i("textureTruchet", _data[14]); shader_set_f("truchetSeed", _data[15]); shader_set_f("truchetThres", _data[16]); - shader_set_f("truchetAngle", _data[19]); - shader_set_f("level", _data[20]); + shader_set_2("truchetAngle", _data[19]); + shader_set_2("level", _data[20]); shader_set_gradient(_data[5], _data[17], _data[18], inputs[| 5]); diff --git a/scripts/node_herringbone_tile/node_herringbone_tile.gml b/scripts/node_herringbone_tile/node_herringbone_tile.gml index 6f57c6fd1..8ecf4418e 100644 --- a/scripts/node_herringbone_tile/node_herringbone_tile.gml +++ b/scripts/node_herringbone_tile/node_herringbone_tile.gml @@ -123,8 +123,8 @@ function Node_Herringbone_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, shader_set_i("textureTruchet", _data[14]); shader_set_f("truchetSeed", _data[15]); shader_set_f("truchetThres", _data[16]); - shader_set_f("truchetAngle", _data[20]); - shader_set_f("level", _data[21]); + shader_set_2("truchetAngle", _data[20]); + shader_set_2("level", _data[21]); shader_set_gradient(_data[5], _data[18], _data[19], inputs[| 5]); diff --git a/scripts/node_level/node_level.gml b/scripts/node_level/node_level.gml index 529274805..b8c3d171c 100644 --- a/scripts/node_level/node_level.gml +++ b/scripts/node_level/node_level.gml @@ -125,17 +125,17 @@ function Node_Level(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con var _ao = _data[16]; surface_set_shader(_outSurf, sh_level); - shader_set_f("lwi", _wi); - shader_set_f("lri", _ri); - shader_set_f("lgi", _gi); - shader_set_f("lbi", _bi); - shader_set_f("lai", _ai); + shader_set_2("lwi", _wi); + shader_set_2("lri", _ri); + shader_set_2("lgi", _gi); + shader_set_2("lbi", _bi); + shader_set_2("lai", _ai); - shader_set_f("lwo", _wo); - shader_set_f("lro", _ro); - shader_set_f("lgo", _go); - shader_set_f("lbo", _bo); - shader_set_f("lao", _ao); + shader_set_2("lwo", _wo); + shader_set_2("lro", _ro); + shader_set_2("lgo", _go); + shader_set_2("lbo", _bo); + shader_set_2("lao", _ao); draw_surface_safe(_data[0]); surface_reset_shader(); diff --git a/scripts/node_line/node_line.gml b/scripts/node_line/node_line.gml index c309c7054..758bf7bdd 100644 --- a/scripts/node_line/node_line.gml +++ b/scripts/node_line/node_line.gml @@ -398,9 +398,9 @@ function Node_Line(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons var tex = surface_get_texture(_tex); shader_set(sh_draw_mapping); - shader_set_f("position", _texPos); + shader_set_2("position", _texPos); shader_set_f("rotation", degtorad(_texRot)); - shader_set_f("scale", _texSca); + shader_set_2("scale", _texSca); shader_set_interpolation(_tex); } #endregion diff --git a/scripts/node_mirror/node_mirror.gml b/scripts/node_mirror/node_mirror.gml index b6db9dc57..6d7689e89 100644 --- a/scripts/node_mirror/node_mirror.gml +++ b/scripts/node_mirror/node_mirror.gml @@ -53,7 +53,7 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co surface_set_shader(_outSurf, _output_index? sh_mirror_mask : sh_mirror); shader_set_f("dimension", _dim); - shader_set_f("position", _pos); + shader_set_2("position", _pos); shader_set_f("angle", degtorad(_ang)); draw_surface_safe(_suf); diff --git a/scripts/node_morph_surface/node_morph_surface.gml b/scripts/node_morph_surface/node_morph_surface.gml index c2e4a5b90..76df782d9 100644 --- a/scripts/node_morph_surface/node_morph_surface.gml +++ b/scripts/node_morph_surface/node_morph_surface.gml @@ -33,10 +33,10 @@ function Node_Morph_Surface(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr surface_set_shader(_outSurf, sh_morph_surface); shader_set_interpolation(_data[0]); shader_set_surface("sFrom", sFrom); - shader_set_surface("sTo", sTo); - shader_set_f("dimension", surface_get_width_safe(sFrom), surface_get_height_safe(sTo)); - shader_set_f("amount", amo); - shader_set_f("threshold", thres); + shader_set_surface("sTo", sTo); + shader_set_f("dimension", surface_get_width_safe(sFrom), surface_get_height_safe(sTo)); + shader_set_f("amount", amo); + shader_set_f("threshold", thres); draw_sprite_stretched(s_fx_pixel, 0, 0, 0, surface_get_width_safe(sFrom), surface_get_height_safe(sTo)); surface_reset_shader(); diff --git a/scripts/node_noise/node_noise.gml b/scripts/node_noise/node_noise.gml index 6a9600452..e8a0b6a46 100644 --- a/scripts/node_noise/node_noise.gml +++ b/scripts/node_noise/node_noise.gml @@ -56,9 +56,9 @@ function Node_Noise(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_f("seed", _sed); shader_set_i("colored", _col); - shader_set_f("colorRanR", _clr); - shader_set_f("colorRanG", _clg); - shader_set_f("colorRanB", _clb); + shader_set_2("colorRanR", _clr); + shader_set_2("colorRanG", _clg); + shader_set_2("colorRanB", _clb); draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); surface_reset_shader(); diff --git a/scripts/node_noise_fbm/node_noise_fbm.gml b/scripts/node_noise_fbm/node_noise_fbm.gml index 7e95d43c8..d115b9f06 100644 --- a/scripts/node_noise_fbm/node_noise_fbm.gml +++ b/scripts/node_noise_fbm/node_noise_fbm.gml @@ -64,15 +64,15 @@ function Node_Noise_FBM(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) _outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth()); surface_set_shader(_outSurf, sh_noise_fbm); - shader_set_f("position", _pos); - shader_set_f("scale", _sca); + shader_set_2("position", _pos); + shader_set_2("scale", _sca); shader_set_f("seed", _sed); shader_set_i("iteration", _itr); shader_set_i("colored", _col); - shader_set_f("colorRanR", _clr); - shader_set_f("colorRanG", _clg); - shader_set_f("colorRanB", _clb); + shader_set_2("colorRanR", _clr); + shader_set_2("colorRanG", _clg); + shader_set_2("colorRanB", _clb); draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); surface_reset_shader(); diff --git a/scripts/node_noise_simplex/node_noise_simplex.gml b/scripts/node_noise_simplex/node_noise_simplex.gml index df9ce715e..009c8739e 100644 --- a/scripts/node_noise_simplex/node_noise_simplex.gml +++ b/scripts/node_noise_simplex/node_noise_simplex.gml @@ -77,15 +77,15 @@ function Node_Noise_Simplex(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr surface_set_shader(_outSurf, sh_simplex); shader_set_f("dimension", _dim); - shader_set_f("position", _pos); + shader_set_3("position", _pos); shader_set_f("rotation", degtorad(_ang)); shader_set_f_map("scale", _data[2], _data[8], inputs[| 2]); shader_set_f_map("iteration", _data[3], _data[9], inputs[| 3]); shader_set_i("colored", _col); - shader_set_f("colorRanR", _clr); - shader_set_f("colorRanG", _clg); - shader_set_f("colorRanB", _clb); + shader_set_2("colorRanR", _clr); + shader_set_2("colorRanG", _clg); + shader_set_2("colorRanB", _clb); draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); surface_reset_shader(); diff --git a/scripts/node_pb_fx_brick/node_pb_fx_brick.gml b/scripts/node_pb_fx_brick/node_pb_fx_brick.gml index 302f6a302..aae5f7fbd 100644 --- a/scripts/node_pb_fx_brick/node_pb_fx_brick.gml +++ b/scripts/node_pb_fx_brick/node_pb_fx_brick.gml @@ -42,7 +42,7 @@ function Node_PB_Fx_Brick(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) c surface_set_shader(_nbox.content, sh_pb_brick); shader_set_dim(, _pbox.content); - shader_set_f("scale", _scal); + shader_set_2("scale", _scal); shader_set_i("axis", _axis); shader_set_f("shift", _shft); diff --git a/scripts/node_pb_fx_strip/node_pb_fx_strip.gml b/scripts/node_pb_fx_strip/node_pb_fx_strip.gml index 7451810bf..343cab661 100644 --- a/scripts/node_pb_fx_strip/node_pb_fx_strip.gml +++ b/scripts/node_pb_fx_strip/node_pb_fx_strip.gml @@ -28,7 +28,7 @@ function Node_PB_Fx_Strip(_x, _y, _group = noone) : Node_PB_Fx(_x, _y, _group) c surface_set_shader(_nbox.content, sh_pb_strip); shader_set_dim(, _pbox.content); - shader_set_f("scale", _scal); + shader_set_f("scale", _scal); shader_set_i("shift", _shft); shader_set_i("axis", _angl); diff --git a/scripts/node_perlin/node_perlin.gml b/scripts/node_perlin/node_perlin.gml index 897056fc4..015f461d8 100644 --- a/scripts/node_perlin/node_perlin.gml +++ b/scripts/node_perlin/node_perlin.gml @@ -85,7 +85,7 @@ function Node_Perlin(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co surface_set_shader(_outSurf, sh_perlin_tiled); shader_set_f("u_resolution", _dim); - shader_set_f("position", _pos); + shader_set_2("position", _pos); shader_set_f("rotation", degtorad(_rot)); shader_set_f_map("scale", _data[2], _data[10], inputs[| 2]); shader_set_f("seed", _sed); @@ -93,9 +93,9 @@ function Node_Perlin(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co shader_set_i("iteration", _ite); shader_set_i("colored", _col); - shader_set_f("colorRanR", _clr); - shader_set_f("colorRanG", _clg); - shader_set_f("colorRanB", _clb); + shader_set_2("colorRanR", _clr); + shader_set_2("colorRanG", _clg); + shader_set_2("colorRanB", _clb); draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1); surface_reset_shader(); diff --git a/scripts/node_perlin_smear/node_perlin_smear.gml b/scripts/node_perlin_smear/node_perlin_smear.gml index 4507307c1..84f3ae180 100644 --- a/scripts/node_perlin_smear/node_perlin_smear.gml +++ b/scripts/node_perlin_smear/node_perlin_smear.gml @@ -44,8 +44,8 @@ function Node_Perlin_Smear(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro surface_set_shader(_outSurf, sh_perlin_smear); shader_set_f("u_resolution", _dim); - shader_set_f("position", _pos); - shader_set_f("scale", _sca); + shader_set_2("position", _pos); + shader_set_2("scale", _sca); shader_set_f("bright", _bri); shader_set_i("iteration", _ite); shader_set_f("rotation", degtorad(_rot)); diff --git a/scripts/node_polar/node_polar.gml b/scripts/node_polar/node_polar.gml index bec3798d3..b340734cb 100644 --- a/scripts/node_polar/node_polar.gml +++ b/scripts/node_polar/node_polar.gml @@ -62,7 +62,7 @@ function Node_Polar(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_i("distMode", _data[9]); shader_set_f_map("blend", _data[6], _data[11], inputs[| 6]); shader_set_i("swap", _data[10]); - shader_set_f("tile", _data[12]); + shader_set_2("tile", _data[12]); draw_surface_safe(_data[0], 0, 0); surface_reset_shader(); diff --git a/scripts/node_pytagorean_tile/node_pytagorean_tile.gml b/scripts/node_pytagorean_tile/node_pytagorean_tile.gml index 5ce14621e..a46e5671a 100644 --- a/scripts/node_pytagorean_tile/node_pytagorean_tile.gml +++ b/scripts/node_pytagorean_tile/node_pytagorean_tile.gml @@ -125,8 +125,8 @@ function Node_Pytagorean_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _ shader_set_i("textureTruchet", _data[14]); shader_set_f("truchetSeed", _data[15]); shader_set_f("truchetThres", _data[16]); - shader_set_f("truchetAngle", _data[20]); - shader_set_f("level", _data[21]); + shader_set_2("truchetAngle", _data[20]); + shader_set_2("level", _data[21]); shader_set_gradient(_data[5], _data[18], _data[19], inputs[| 5]); diff --git a/scripts/node_quasicrystal/node_quasicrystal.gml b/scripts/node_quasicrystal/node_quasicrystal.gml index 938badff9..6f17cc765 100644 --- a/scripts/node_quasicrystal/node_quasicrystal.gml +++ b/scripts/node_quasicrystal/node_quasicrystal.gml @@ -76,7 +76,7 @@ function Node_Quasicrystal(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro surface_set_shader(_outSurf, sh_quarsicrystal); shader_set_f("dimension", _dim[0], _dim[1]); shader_set_f("position", _pos[0] / _dim[0], _pos[1] / _dim[1]); - shader_set_f("rangleRange", _aran); + shader_set_2("rangleRange", _aran); shader_set_f_map("amount", _data[1], _data[6], inputs[| 1]); shader_set_f_map("angle", _data[2], _data[7], inputs[| 2]); diff --git a/scripts/node_random_tile/node_random_tile.gml b/scripts/node_random_tile/node_random_tile.gml index 6ffea5530..2f148b870 100644 --- a/scripts/node_random_tile/node_random_tile.gml +++ b/scripts/node_random_tile/node_random_tile.gml @@ -120,8 +120,8 @@ function Node_Random_Tile(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou shader_set_i("textureTruchet", _data[14]); shader_set_f("truchetSeed", _data[15]); shader_set_f("truchetThres", _data[16]); - shader_set_f("truchetAngle", _data[19]); - shader_set_f("level", _data[20]); + shader_set_2("truchetAngle", _data[19]); + shader_set_2("level", _data[20]); shader_set_gradient(_data[5], _data[17], _data[18], inputs[| 5]); diff --git a/scripts/node_rm_terrain/node_rm_terrain.gml b/scripts/node_rm_terrain/node_rm_terrain.gml index 0ed7124ee..1eab6cea9 100644 --- a/scripts/node_rm_terrain/node_rm_terrain.gml +++ b/scripts/node_rm_terrain/node_rm_terrain.gml @@ -105,16 +105,16 @@ function Node_RM_Terrain(_x, _y, _group = noone) : Node_Processor(_x, _y, _group shader_set_i("shape", 1); shader_set_i("tile", _tile); shader_set_i("useTexture", is_surface(_text)); - shader_set_f("position", _pos); - shader_set_f("rotation", _rot); + shader_set_3("position", _pos); + shader_set_3("rotation", _rot); shader_set_f("objectScale", _sca); shader_set_f("thickness", _thk); shader_set_f("fov", _fov); - shader_set_f("viewRange", _rng); + shader_set_2("viewRange", _rng); shader_set_f("depthInt", _dpi); - shader_set_f("sunPosition", _sun); + shader_set_3("sunPosition", _sun); shader_set_f("shadow", _sha); shader_set_color("background", _bgc); diff --git a/scripts/node_shadow_cast/node_shadow_cast.gml b/scripts/node_shadow_cast/node_shadow_cast.gml index 83ac0d46c..03784dd02 100644 --- a/scripts/node_shadow_cast/node_shadow_cast.gml +++ b/scripts/node_shadow_cast/node_shadow_cast.gml @@ -118,10 +118,10 @@ function Node_Shadow_Cast(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou inputs[| 8].setVisible(_type == 0); if(!is_surface(_bg)) return _outSurf; - + surface_set_shader(_outSurf, sh_shadow_cast); shader_set_f("dimension", surface_get_width_safe(_bg), surface_get_height_safe(_bg)); - shader_set_f("lightPos", _pos); + shader_set_2("lightPos", _pos); shader_set_color("lightAmb", _lamb); shader_set_color("lightClr", _lclr); shader_set_f("lightRadius", _rad); diff --git a/scripts/node_shape/node_shape.gml b/scripts/node_shape/node_shape.gml index 7a45eb60b..37873ef11 100644 --- a/scripts/node_shape/node_shape.gml +++ b/scripts/node_shape/node_shape.gml @@ -331,7 +331,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 21].setVisible( true); shader_set_i("shape", 11); - shader_set_f("trep", _data[21]); + shader_set_2("trep", _data[21]); break; case "Parallelogram" : @@ -475,7 +475,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con inputs[| 24].setVisible(true); shader_set_i("shape", 17); - shader_set_f("arrow", _data[23]); + shader_set_2("arrow", _data[23]); shader_set_f("arrow_head", _data[24]); break; @@ -491,7 +491,7 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_f("inner", _data[13]); shader_set_i("teeth", _data[25]); - shader_set_f("teethSize", _data[26]); + shader_set_2("teethSize", _data[26]); shader_set_f("teethAngle", _data[27]); break; @@ -501,12 +501,12 @@ function Node_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con shader_set_f("bgColor", _bgcol); shader_set_i("aa", _aa); shader_set_i("drawDF", _df); - shader_set_f("dfLevel", _level); + shader_set_2("dfLevel", _level); shader_set_i("tile", _tile); shader_set_f("corner", _corner); - shader_set_f("center", _center); - shader_set_f("scale", _scale ); + shader_set_2("center", _center); + shader_set_2("scale", _scale ); shader_set_f("rotation", degtorad(_rotat)); draw_sprite_stretched_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], _color, _color_get_alpha(_color)); diff --git a/scripts/node_shape_map/node_shape_map.gml b/scripts/node_shape_map/node_shape_map.gml index a84194d6c..823d110ee 100644 --- a/scripts/node_shape_map/node_shape_map.gml +++ b/scripts/node_shape_map/node_shape_map.gml @@ -54,7 +54,7 @@ function Node_Shape_Map(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) if(_shape == 0) { surface_set_shader(_outSurf, sh_shape_map_circle); shader_set_interpolation(_data[0]); - shader_set_f("scale", _scale); + shader_set_2("scale", _scale); shader_set_f("txScale", _sca); shader_set_f("angle", _rot); @@ -65,7 +65,7 @@ function Node_Shape_Map(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) surface_set_shader(_outSurf, sh_shape_map_polygon); shader_set_interpolation(_data[0]); shader_set_f("sides", _sides); - shader_set_f("scale", _scale); + shader_set_2("scale", _scale); shader_set_f("txScale", _sca); shader_set_f("angle", _rot); diff --git a/scripts/node_skew/node_skew.gml b/scripts/node_skew/node_skew.gml index 36e18cbbc..598f4847a 100644 --- a/scripts/node_skew/node_skew.gml +++ b/scripts/node_skew/node_skew.gml @@ -75,7 +75,7 @@ function Node_Skew(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons surface_set_shader(_outSurf, sh_skew); shader_set_interpolation(_data[0]); shader_set_dim("dimension", _data[0]); - shader_set_f("center", _data[4]); + shader_set_2("center", _data[4]); shader_set_i("axis", _data[1]); shader_set_f_map("amount", _data[2], _data[12], inputs[| 2]); shader_set_i("sampleMode", _samp); diff --git a/scripts/node_smoke_turbulence/node_smoke_turbulence.gml b/scripts/node_smoke_turbulence/node_smoke_turbulence.gml index 87053972a..1506732f9 100644 --- a/scripts/node_smoke_turbulence/node_smoke_turbulence.gml +++ b/scripts/node_smoke_turbulence/node_smoke_turbulence.gml @@ -51,8 +51,8 @@ function Node_Smoke_Turbulence(_x, _y, _group = noone) : Node_Smoke(_x, _y, _gro shader_set(sh_fd_turbulence); BLEND_OVERRIDE; - shader_set_uniform_f(shader_get_uniform(sh_fd_turbulence, "scale"), _sca); - shader_set_uniform_f(shader_get_uniform(sh_fd_turbulence, "seed"), _sed); + shader_set_uniform_f(shader_get_uniform(sh_fd_turbulence, "scale"), _sca); + shader_set_uniform_f(shader_get_uniform(sh_fd_turbulence, "seed"), _sed); shader_set_uniform_f(shader_get_uniform(sh_fd_turbulence, "strength"), _str); draw_sprite_stretched(s_fx_pixel, 0, _are[0] - _are[2], _are[1] - _are[3], _are[2] * 2, _are[3] * 2); BLEND_NORMAL; diff --git a/scripts/node_spherize/node_spherize.gml b/scripts/node_spherize/node_spherize.gml index 63d4f0c7a..7edf19a05 100644 --- a/scripts/node_spherize/node_spherize.gml +++ b/scripts/node_spherize/node_spherize.gml @@ -81,7 +81,7 @@ function Node_Spherize(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) surface_set_shader(_outSurf, sh_spherize); shader_set_interpolation(_data[0]); shader_set_f("dimension", [ surface_get_width_safe(_data[0]), surface_get_height_safe(_data[0]) ]); - shader_set_f("center", _data[1]); + shader_set_2("center", _data[1]); shader_set_f("trim", _data[13]); shader_set_f_map("strength", _data[2], _data[11], inputs[| 2]); shader_set_f_map("radius", _data[3], _data[12], inputs[| 3]); diff --git a/scripts/node_sprite_stack/node_sprite_stack.gml b/scripts/node_sprite_stack/node_sprite_stack.gml index a45bf968e..45a00fc9a 100644 --- a/scripts/node_sprite_stack/node_sprite_stack.gml +++ b/scripts/node_sprite_stack/node_sprite_stack.gml @@ -239,10 +239,10 @@ function Node_Sprite_Stack(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro for( var i = 0; i < _amo; i++ ) { if(_hig && i == _amo - 1) { shader_set(sh_replace_color); - shader_set_i("type", _hig); + shader_set_i("type", _hig); shader_set_f("dimension", _ww, _hh); - shader_set_f("shift", _shf[0] / _ww, _shf[1] / _hh); - shader_set_f("angle", degtorad(_rot)); + shader_set_f("shift", _shf[0] / _ww, _shf[1] / _hh); + shader_set_f("angle", degtorad(_rot)); draw_surface_ext_safe(_in, _po[0] + _pos[0], _po[1] + _pos[1], 1, 1, _rot, _hiC, _color_get_alpha(_hiC)); shader_reset(); } else diff --git a/scripts/node_twirl/node_twirl.gml b/scripts/node_twirl/node_twirl.gml index 2cdd4520c..b9c60fd45 100644 --- a/scripts/node_twirl/node_twirl.gml +++ b/scripts/node_twirl/node_twirl.gml @@ -75,7 +75,7 @@ function Node_Twirl(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con surface_set_shader(_outSurf, sh_twirl); shader_set_interpolation(_data[0]); shader_set_f("dimension" , surface_get_width_safe(_data[0]), surface_get_height_safe(_data[0])); - shader_set_f("center" , _data[1]); + shader_set_2("center" , _data[1]); shader_set_f_map("strength", _data[2], _data[11], inputs[| 2]); shader_set_f_map("radius" , _data[3], _data[12], inputs[| 3]); shader_set_i("sampleMode", sam); diff --git a/scripts/shader_functions/shader_functions.gml b/scripts/shader_functions/shader_functions.gml index f2efd7290..d03deecba 100644 --- a/scripts/shader_functions/shader_functions.gml +++ b/scripts/shader_functions/shader_functions.gml @@ -27,6 +27,10 @@ function shader_set_i_array(shader, uniform, array) { #region shader_set_uniform_i_array(shader_get_uniform(shader, uniform), array); } #endregion +function shader_set_2(uniform, v) { INLINE var shader = shader_current(); shader_set_uniform_f(shader_get_uniform(shader, uniform), aGetF(v, 0), aGetF(v, 1)); } +function shader_set_3(uniform, v) { INLINE var shader = shader_current(); shader_set_uniform_f(shader_get_uniform(shader, uniform), aGetF(v, 0), aGetF(v, 1), aGetF(v, 2)); } +function shader_set_4(uniform, v) { INLINE var shader = shader_current(); shader_set_uniform_f(shader_get_uniform(shader, uniform), aGetF(v, 0), aGetF(v, 1), aGetF(v, 2), aGetF(v, 3)); } + function shader_set_f(uniform, value) { #region INLINE diff --git a/sprites/s_node_3d_path_extrude/dc246176-904a-4f21-a1bb-78132de29a3d.png b/sprites/s_node_3d_path_extrude/dc246176-904a-4f21-a1bb-78132de29a3d.png new file mode 100644 index 0000000000000000000000000000000000000000..38fed79f514b136ac953fff6a9d8241ba11cca52 GIT binary patch literal 3342 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 literal 0 HcmV?d00001 diff --git a/sprites/s_node_3d_path_extrude/layers/dc246176-904a-4f21-a1bb-78132de29a3d/db6207be-0d2a-45c3-8e52-4b6eb0f051b6.png b/sprites/s_node_3d_path_extrude/layers/dc246176-904a-4f21-a1bb-78132de29a3d/db6207be-0d2a-45c3-8e52-4b6eb0f051b6.png new file mode 100644 index 0000000000000000000000000000000000000000..38fed79f514b136ac953fff6a9d8241ba11cca52 GIT binary patch literal 3342 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 literal 0 HcmV?d00001 diff --git a/sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy b/sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy new file mode 100644 index 000000000..2e1bdbfb2 --- /dev/null +++ b/sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_3d_path_extrude", + "bboxMode":0, + "bbox_bottom":58, + "bbox_left":5, + "bbox_right":55, + "bbox_top":5, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"dc246176-904a-4f21-a1bb-78132de29a3d","name":"dc246176-904a-4f21-a1bb-78132de29a3d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"db6207be-0d2a-45c3-8e52-4b6eb0f051b6","blendMode":0,"displayName":"default","isLocked":false,"name":"db6207be-0d2a-45c3-8e52-4b6eb0f051b6","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_3d_path_extrude", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"3D", + "path":"folders/nodes/icons/3D.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_3d_path_extrude", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_3d_path_extrude", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"dc246176-904a-4f21-a1bb-78132de29a3d","path":"sprites/s_node_3d_path_extrude/s_node_3d_path_extrude.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"cdb305ec-00da-4dea-b754-fde82398f4dd","IsCreationKey":false,"Key":0.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, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_path_3d/6dd76180-ba3e-44f2-9f24-8ea67eae966c.png b/sprites/s_node_path_3d/6dd76180-ba3e-44f2-9f24-8ea67eae966c.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf95041e8b80aee9880c07ed3003c49fe37b9d5 GIT binary patch literal 2225 zcmZ{mc{J4D8^=FmjG4#~k!2KF;wxVhV@SUCtYK`EB4o+VG{(No*d>%kWS#h-lC6>@ z%akn1*Vj&ou{I*x*faP||NPGR{qa5bKKFgj^E|I}pZlD9&b=uZb3<-U5l#RAxQ&hU ztyrr4+h825^@Z2nDVB)48d;eEK)4J55aR*h7t2Ll1b`qU04zBJfO-x9oWbQcS!%EX z94@AY`oQt;L1`&}1OU+g80+iUgnnJgjq&BD3wLQ%i)E^r>pmJ>FCk#~82p?vB<>PH zS#sFOFt(t{-&#dxyvgKIv72u}5BcyJs4h#xe)Zgl&68EbD?tRSy2o#;OrDBXs&cDC zA0G)-QtZXK{9qFAjgwcJ59ac_)k41aUG7TBtv)RmT^Laq(MEf>+d_|8bryV`(?J(L zf93*rQmiRRtEPR1upL>&ZuB5VwBghq(4dfg{@Qck1Y-?I&Fn2p;e|s&03L7wH8^Q# zB&bs8^XW%1@(CK+VmLJfXJ4M%ks%SlfPEon$M{vH*`yvi72oad`IP)XyiKvgK}~_Z zUnkn?yyt@qAOim<5yTKqd63AwjxZlf$>$=z5>kLN9vwx>bupznXfTI-sr{00Xim1- z4!m3*{?VF4GZ%07ZH90)ZC)i+emnJ&lZiO=kGZEhxz?ghKMSt<-eFxp3!jJeVr9`8342y8VZ`7rB`{$Y#Ul z!yhA0>X5bdNa@*UQh5@1H(qkGj;zWSJ$C&LKS+3s(If2oD8Py@K z{hcXn1CM2gCB?G2TffTaE&p{p@;~g)6wB$Y{F*E&B~^^q@-%xQk?SE z_IBW{8*(Z^pKHGO+Kj5WC@LuXpk@0fQfI5lXuBe8Ddv<=YGem#j@G-PS~8Jq~yU!WB@`V)DE_h&wIW~m1e_L zW78h})w$4GWJgmu#Y2ynoH*%^v}jCh8N)nAz$ihb0he;hy~{Xp2JNkq)4Pl67WSsg zX4hUGmuCQ=HV-|K5KMb3Vy_m?5F}%F5CS0xwM-fGT=pML5ZK;d5Nax@jcy=7uDv@HV=uklAGc6b#K0d+rX^_ck(O!6e`{SsCAdMU%gL>P~=^YK!cM=^kDQ_xcKeQ z&}e{(h&tF9v&=oU7K#7mtA*kC24}K)_Mf7GnWte5QB$G1#0&hc4ewVr9lOhb2-2kN zWF9v)hTUpmjtiawHiT8oHPHV1zsk!ccF)*y&~eqFqQy%Ke{^RU^I?l{eLU z!V(|P%em{kkUX0)G`TIj5sKI{YunU5UD}d$5{g63oSX0o(DAAej;)es)!2iX8o#fT z7O7R^lU1_wphl~}DcI6}~kQB#}#MIqfQo2wvi5`E~S&D**+OHoiS zJK`18&jRhazVEkqs=U1S{;Ubvj zN+;+mgo9=pyFa)|Wwu^OKzmJOdbs8~kp1E5^r{;J_~7!;cH8WOqg7{*8nS+dg;8>`o;C)3A$Kgr=2FqL?zOmbSOl01dSHIWYWN+6mo?i zh0>2*SHi?>&&-?!$$MeZQEy7b zuXczFv#v{hu?8u!Q}yZ2MWQ(as8F$Lb_rGv>|sZ0 zYZd^m&BjPBMslR~%9yJuRGG&0aF62&=bxeMkJvq3**D>%W z(W~f_v0Nn;O@=ePriCT+-S9U&E~Wa;9al>)-s@M03}(IH(uAva1h?A+cXe01J4*m1 zq!LO2iB?cT*&r{gqtNO|v^)~2jzp6E&%XUXz%Rhf>rU9e0}IM!zdstX|J#A!<>wwq Zxb27gcjlE$(g=$IjIWyOSLr&({ukoa1Bd_s literal 0 HcmV?d00001 diff --git a/sprites/s_node_path_3d/layers/6dd76180-ba3e-44f2-9f24-8ea67eae966c/ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59.png b/sprites/s_node_path_3d/layers/6dd76180-ba3e-44f2-9f24-8ea67eae966c/ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf95041e8b80aee9880c07ed3003c49fe37b9d5 GIT binary patch literal 2225 zcmZ{mc{J4D8^=FmjG4#~k!2KF;wxVhV@SUCtYK`EB4o+VG{(No*d>%kWS#h-lC6>@ z%akn1*Vj&ou{I*x*faP||NPGR{qa5bKKFgj^E|I}pZlD9&b=uZb3<-U5l#RAxQ&hU ztyrr4+h825^@Z2nDVB)48d;eEK)4J55aR*h7t2Ll1b`qU04zBJfO-x9oWbQcS!%EX z94@AY`oQt;L1`&}1OU+g80+iUgnnJgjq&BD3wLQ%i)E^r>pmJ>FCk#~82p?vB<>PH zS#sFOFt(t{-&#dxyvgKIv72u}5BcyJs4h#xe)Zgl&68EbD?tRSy2o#;OrDBXs&cDC zA0G)-QtZXK{9qFAjgwcJ59ac_)k41aUG7TBtv)RmT^Laq(MEf>+d_|8bryV`(?J(L zf93*rQmiRRtEPR1upL>&ZuB5VwBghq(4dfg{@Qck1Y-?I&Fn2p;e|s&03L7wH8^Q# zB&bs8^XW%1@(CK+VmLJfXJ4M%ks%SlfPEon$M{vH*`yvi72oad`IP)XyiKvgK}~_Z zUnkn?yyt@qAOim<5yTKqd63AwjxZlf$>$=z5>kLN9vwx>bupznXfTI-sr{00Xim1- z4!m3*{?VF4GZ%07ZH90)ZC)i+emnJ&lZiO=kGZEhxz?ghKMSt<-eFxp3!jJeVr9`8342y8VZ`7rB`{$Y#Ul z!yhA0>X5bdNa@*UQh5@1H(qkGj;zWSJ$C&LKS+3s(If2oD8Py@K z{hcXn1CM2gCB?G2TffTaE&p{p@;~g)6wB$Y{F*E&B~^^q@-%xQk?SE z_IBW{8*(Z^pKHGO+Kj5WC@LuXpk@0fQfI5lXuBe8Ddv<=YGem#j@G-PS~8Jq~yU!WB@`V)DE_h&wIW~m1e_L zW78h})w$4GWJgmu#Y2ynoH*%^v}jCh8N)nAz$ihb0he;hy~{Xp2JNkq)4Pl67WSsg zX4hUGmuCQ=HV-|K5KMb3Vy_m?5F}%F5CS0xwM-fGT=pML5ZK;d5Nax@jcy=7uDv@HV=uklAGc6b#K0d+rX^_ck(O!6e`{SsCAdMU%gL>P~=^YK!cM=^kDQ_xcKeQ z&}e{(h&tF9v&=oU7K#7mtA*kC24}K)_Mf7GnWte5QB$G1#0&hc4ewVr9lOhb2-2kN zWF9v)hTUpmjtiawHiT8oHPHV1zsk!ccF)*y&~eqFqQy%Ke{^RU^I?l{eLU z!V(|P%em{kkUX0)G`TIj5sKI{YunU5UD}d$5{g63oSX0o(DAAej;)es)!2iX8o#fT z7O7R^lU1_wphl~}DcI6}~kQB#}#MIqfQo2wvi5`E~S&D**+OHoiS zJK`18&jRhazVEkqs=U1S{;Ubvj zN+;+mgo9=pyFa)|Wwu^OKzmJOdbs8~kp1E5^r{;J_~7!;cH8WOqg7{*8nS+dg;8>`o;C)3A$Kgr=2FqL?zOmbSOl01dSHIWYWN+6mo?i zh0>2*SHi?>&&-?!$$MeZQEy7b zuXczFv#v{hu?8u!Q}yZ2MWQ(as8F$Lb_rGv>|sZ0 zYZd^m&BjPBMslR~%9yJuRGG&0aF62&=bxeMkJvq3**D>%W z(W~f_v0Nn;O@=ePriCT+-S9U&E~Wa;9al>)-s@M03}(IH(uAva1h?A+cXe01J4*m1 zq!LO2iB?cT*&r{gqtNO|v^)~2jzp6E&%XUXz%Rhf>rU9e0}IM!zdstX|J#A!<>wwq Zxb27gcjlE$(g=$IjIWyOSLr&({ukoa1Bd_s literal 0 HcmV?d00001 diff --git a/sprites/s_node_path_3d/s_node_path_3d.yy b/sprites/s_node_path_3d/s_node_path_3d.yy new file mode 100644 index 000000000..7fb4d274c --- /dev/null +++ b/sprites/s_node_path_3d/s_node_path_3d.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_path_3d", + "bboxMode":0, + "bbox_bottom":61, + "bbox_left":7, + "bbox_right":62, + "bbox_top":4, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"6dd76180-ba3e-44f2-9f24-8ea67eae966c","name":"6dd76180-ba3e-44f2-9f24-8ea67eae966c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59","blendMode":0,"displayName":"default","isLocked":false,"name":"ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_path_3d", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"path", + "path":"folders/nodes/icons/value/path.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_path_3d", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_path_3d", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"6dd76180-ba3e-44f2-9f24-8ea67eae966c","path":"sprites/s_node_path_3d/s_node_path_3d.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"408a6210-5430-4d3d-bf99-eee1e309f6b5","IsCreationKey":false,"Key":0.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, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file