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 000000000..38fed79f5 Binary files /dev/null and b/sprites/s_node_3d_path_extrude/dc246176-904a-4f21-a1bb-78132de29a3d.png differ 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 000000000..38fed79f5 Binary files /dev/null and b/sprites/s_node_3d_path_extrude/layers/dc246176-904a-4f21-a1bb-78132de29a3d/db6207be-0d2a-45c3-8e52-4b6eb0f051b6.png differ 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 000000000..6bf95041e Binary files /dev/null and b/sprites/s_node_path_3d/6dd76180-ba3e-44f2-9f24-8ea67eae966c.png differ 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 000000000..6bf95041e Binary files /dev/null and b/sprites/s_node_path_3d/layers/6dd76180-ba3e-44f2-9f24-8ea67eae966c/ed6e88d7-0348-4baa-9c2f-9a0fec3b2f59.png differ 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