From ae76739bbaf5bbf1c7cf33d9d20ed1a690f3b828 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Sat, 1 Jun 2024 12:35:08 +0700 Subject: [PATCH] - [Particle] Fix error when connecting empty array as input. --- PixelComposer.resource_order | 1 + PixelComposer.yyp | 1 + .../_node_VFX_spawner/_node_VFX_spawner.gml | 9 +- scripts/node_registry/node_registry.gml | 2 +- .../node_rm_primitive/node_rm_primitive.gml | 22 +++-- shaders/sh_rm_primitive/sh_rm_primitive.fsh | 20 ++-- .../1edabec3-254d-42f4-8d2c-52898860ab0c.png | Bin 2258 -> 0 bytes .../96237c8e-e704-42b8-af43-7cb2d40b21a8.png | Bin 0 -> 2023 bytes .../30e25e94-92fd-4e97-87a4-b6fe46ef67a9.png | Bin 2258 -> 0 bytes .../ccdc9f3a-1460-4a95-9125-e0cac7676f79.png | Bin 0 -> 2023 bytes .../s_node_rm_primitive.yy | 12 +-- .../1d619a24-5a8f-49bc-af1f-b8dd8c730cc3.png | Bin 0 -> 3564 bytes .../73a74463-1f16-42f3-961d-556967f4f8cc.png | Bin 0 -> 3564 bytes .../s_node_rm_terrain/s_node_rm_terrain.yy | 90 ++++++++++++++++++ 14 files changed, 132 insertions(+), 25 deletions(-) delete mode 100644 sprites/s_node_rm_primitive/1edabec3-254d-42f4-8d2c-52898860ab0c.png create mode 100644 sprites/s_node_rm_primitive/96237c8e-e704-42b8-af43-7cb2d40b21a8.png delete mode 100644 sprites/s_node_rm_primitive/layers/1edabec3-254d-42f4-8d2c-52898860ab0c/30e25e94-92fd-4e97-87a4-b6fe46ef67a9.png create mode 100644 sprites/s_node_rm_primitive/layers/96237c8e-e704-42b8-af43-7cb2d40b21a8/ccdc9f3a-1460-4a95-9125-e0cac7676f79.png create mode 100644 sprites/s_node_rm_terrain/1d619a24-5a8f-49bc-af1f-b8dd8c730cc3.png create mode 100644 sprites/s_node_rm_terrain/layers/1d619a24-5a8f-49bc-af1f-b8dd8c730cc3/73a74463-1f16-42f3-961d-556967f4f8cc.png create mode 100644 sprites/s_node_rm_terrain/s_node_rm_terrain.yy diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 129910a49..362346679 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -1910,6 +1910,7 @@ {"name":"s_node_rigidSim_renderer","order":1,"path":"sprites/s_node_rigidSim_renderer/s_node_rigidSim_renderer.yy",}, {"name":"s_node_rigidSim_wall","order":11,"path":"sprites/s_node_rigidSim_wall/s_node_rigidSim_wall.yy",}, {"name":"s_node_rm_primitive","order":51,"path":"sprites/s_node_rm_primitive/s_node_rm_primitive.yy",}, + {"name":"s_node_rm_terrain","order":52,"path":"sprites/s_node_rm_terrain/s_node_rm_terrain.yy",}, {"name":"s_node_sampler","order":19,"path":"sprites/s_node_sampler/s_node_sampler.yy",}, {"name":"s_node_scale_algo","order":7,"path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",}, {"name":"s_node_scale","order":6,"path":"sprites/s_node_scale/s_node_scale.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index f8cfa45b5..dbc030e36 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -2484,6 +2484,7 @@ {"id":{"name":"s_node_rigidSim_wall","path":"sprites/s_node_rigidSim_wall/s_node_rigidSim_wall.yy",},}, {"id":{"name":"s_node_rigidSim","path":"sprites/s_node_rigidSim/s_node_rigidSim.yy",},}, {"id":{"name":"s_node_rm_primitive","path":"sprites/s_node_rm_primitive/s_node_rm_primitive.yy",},}, + {"id":{"name":"s_node_rm_terrain","path":"sprites/s_node_rm_terrain/s_node_rm_terrain.yy",},}, {"id":{"name":"s_node_sampler","path":"sprites/s_node_sampler/s_node_sampler.yy",},}, {"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},}, {"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},}, diff --git a/scripts/_node_VFX_spawner/_node_VFX_spawner.gml b/scripts/_node_VFX_spawner/_node_VFX_spawner.gml index c2c6ba10b..c1c7ebc8b 100644 --- a/scripts/_node_VFX_spawner/_node_VFX_spawner.gml +++ b/scripts/_node_VFX_spawner/_node_VFX_spawner.gml @@ -232,6 +232,8 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co var _posDist = []; + if(array_empty(_inSurf)) return; + random_set_seed(seed); seed++; var _amo = irandom_range(_spawn_amount[0], _spawn_amount[1]); if(_distrib == 2) _posDist = get_points_from_dist(_dist_map, _amo, seed); @@ -335,8 +337,8 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co static getSurfaceCache = function() { #region var surfs = getInputData(0); - if(!is_array(surfs)) surfs = [ surfs ]; if(array_empty(surfs)) return; + if(!is_array(surfs)) surfs = [ surfs ]; for( var i = 0, n = array_length(surfs); i < n; i++ ) { var _s = surfs[i]; @@ -496,7 +498,10 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region var _spr = getInputData(0); - if(is_array(_spr)) _spr = _spr[0]; + if(array_empty(_spr)) return; + if(is_array(_spr)) + _spr = _spr[0]; + var _flag = is_instanceof(_spr, SurfaceAtlas)? 0b0001 : 0b0011; inputs[| 3].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _flag); diff --git a/scripts/node_registry/node_registry.gml b/scripts/node_registry/node_registry.gml index b9e1b2926..6b14c94f2 100644 --- a/scripts/node_registry/node_registry.gml +++ b/scripts/node_registry/node_registry.gml @@ -753,7 +753,7 @@ function __initNodes() { ds_list_add(generator, "Ray Marching"); addNodeObject(generator, "RM Primitive", s_node_rm_primitive, "Node_RM_Primitive", [1, Node_RM_Primitive], ["ray marching"]).setVersion(11720); - addNodeObject(generator, "RM Terrain", s_node_rm_primitive, "Node_RM_Terrain", [1, Node_RM_Terrain], ["ray marching"]).setVersion(11720); + addNodeObject(generator, "RM Terrain", s_node_rm_terrain, "Node_RM_Terrain", [1, Node_RM_Terrain], ["ray marching"]).setVersion(11720); ds_list_add(generator, "MK Effects"); addNodeObject(generator, "MK Rain", s_node_mk_rain, "Node_MK_Rain", [1, Node_MK_Rain]).setVersion(11600); diff --git a/scripts/node_rm_primitive/node_rm_primitive.gml b/scripts/node_rm_primitive/node_rm_primitive.gml index fe8380646..9e8806ab3 100644 --- a/scripts/node_rm_primitive/node_rm_primitive.gml +++ b/scripts/node_rm_primitive/node_rm_primitive.gml @@ -23,7 +23,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro shape_types_str[i] = new scrollItem(shape_types[i], s_node_shape_3d, _ind++, COLORS._main_icon_light); } - inputs[| 1] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) + inputs[| 1] = nodeValue("Shape", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1) .setDisplay(VALUE_DISPLAY.enum_scroll, shape_types_str); inputs[| 2] = nodeValue("Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) @@ -41,7 +41,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro inputs[| 6] = nodeValue("View Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 3, 6 ]) .setDisplay(VALUE_DISPLAY.vector); - inputs[| 7] = nodeValue("Depth", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1) + inputs[| 7] = nodeValue("Depth", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0) .setDisplay(VALUE_DISPLAY.slider); inputs[| 8] = nodeValue("Light Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ -.5, -.5, 1 ]) @@ -113,6 +113,10 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro inputs[| 29] = nodeValue("Tile Amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0 ]) .setDisplay(VALUE_DISPLAY.vector); + inputs[| 30] = nodeValue("Background", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_black); + + inputs[| 31] = nodeValue("Draw BG", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); + outputs[| 0] = nodeValue("Surface Out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone); input_display_list = [ 0, @@ -121,7 +125,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro ["Deform", true], 15, 16, 17, 18, 19, ["Transform", false], 2, 3, 4, ["Camera", false], 13, 14, 5, 6, - ["Render", false], 7, 9, 10, 8, + ["Render", false], 31, 30, 7, 9, 10, 8, ["Tile", false], 20, 29, ]; @@ -257,6 +261,8 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro var _radR = _data[27]; var _sizz = _data[28]; var _tilA = _data[29]; + var _bgc = _data[30]; + var _bgd = _data[31]; _outSurf = surface_verify(_outSurf, _dim[0], _dim[1]); @@ -265,7 +271,7 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro var tx = 1024; surface_set_shader(temp_surface[0]); - draw_surface_stretched_safe(_extr, tx * 0, tx * 0, tx, tx); + surface_reset_shader(); gpu_set_texfilter(true); @@ -334,9 +340,11 @@ function Node_RM_Primitive(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro shader_set_f("tileSize", _tile); shader_set_f("tileAmount", _tilA); - shader_set_color("ambient", _amb); - shader_set_f("ambientIntns", _ambI); - shader_set_f("lightPosition", _lPos); + shader_set_i("drawBg", _bgd); + shader_set_color("background", _bgc); + shader_set_color("ambient", _amb); + shader_set_f("ambientIntns", _ambI); + shader_set_f("lightPosition", _lPos); draw_sprite_stretched(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1]); surface_reset_shader(); diff --git a/shaders/sh_rm_primitive/sh_rm_primitive.fsh b/shaders/sh_rm_primitive/sh_rm_primitive.fsh index 1efecc593..ca500c3c3 100644 --- a/shaders/sh_rm_primitive/sh_rm_primitive.fsh +++ b/shaders/sh_rm_primitive/sh_rm_primitive.fsh @@ -51,6 +51,8 @@ uniform float depthInt; uniform vec3 tileSize; uniform vec3 tileAmount; +uniform int drawBg; +uniform vec4 background; uniform vec4 ambient; uniform float ambientIntns; uniform vec3 lightPosition; @@ -384,7 +386,7 @@ float sceneSDF(vec3 p) { p = el.xyz; } - if(shape == 100) d = sdPlane(p, vec3(0., 0., 1.), 0.); + if(shape == 100) d = sdPlane(p, vec3(0., -1., 0.), 0.); else if(shape == 101) d = sdBox(p, size / 2.); else if(shape == 102) d = sdBoxFrame(p, size / 2., thickness); @@ -440,7 +442,7 @@ float march(vec3 camera, vec3 direction) { } void main() { - gl_FragColor = vec4(0., 0., 0., 1.); + gl_FragColor = drawBg == 1? background : vec4(0.); mat3 rx = rotateX(rotation.x); mat3 ry = rotateY(rotation.y); @@ -469,18 +471,18 @@ void main() { vec3 c = ambient.rgb; - float distNorm = 1. - (dist - viewRange.x) / (viewRange.y - viewRange.x); - distNorm = smoothstep(.0, .3, distNorm) + .2; - c *= mix(vec3(1.), vec3(distNorm), depthInt); + /////////////////////////////////////////////////////////// + float distNorm = (dist - viewRange.x) / (viewRange.y - viewRange.x); + distNorm = 1. - distNorm; + distNorm = smoothstep(.0, .3, distNorm); + c = mix(background.rgb, c, mix(1., distNorm, depthInt)); vec3 norm = normal(coll); vec3 light = normalize(lightPosition); float lamo = dot(norm, light) + ambientIntns; - c *= lamo; - - // if(sin((wcoll.y + time * PI * 2.) * 96.) < -.9) - // c *= 4.; + c = mix(background.rgb, c, lamo); + // c *= lamo; gl_FragColor = vec4(c, 1.); } \ No newline at end of file diff --git a/sprites/s_node_rm_primitive/1edabec3-254d-42f4-8d2c-52898860ab0c.png b/sprites/s_node_rm_primitive/1edabec3-254d-42f4-8d2c-52898860ab0c.png deleted file mode 100644 index 761e224400ac0ef11ee13397faa83c53e9fabfc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2258 zcmZ{mdpy&P7stQb*gUKmxjZ3Oxy)ReVLYx=OLJ%DlKXYJCfCGbijq9JCq!x$5klq? zw(j8xg&}fDA|;n3wz6ma^LzdNd0yvr&gbBny=A z+eM&)SQ8pOB@k2~iEIY|NvZ%qPX_?5AVpsUfOsqbEcpR|(NzGDJ$bFe$wW|q2G|@W z0{q`r*;Q2l0I+9PL<>sd+vPIP5YHcbUzlgn8Ui&+a0mZ*()%W(ROhDDbL>MR<6hdM z%s%(l3l_r{^p`I&9;4qmQ_N5Nvx!5;L(6{V>OdI?Z@eDIQW35d?S6T#NZChHX*$4| zY}%7>uPkzTHZ@3TuhoKr_x{t$zQ`Va>Q3wQQU3Hw>RO&kx&1f2aEDzyruy|N1Rb&p zZdzYcKdqm4J4<^8JjpIG8MqTJd_xYHq{9qPIDQpExyTc|?fWyDeP%lIRwGZT2U>v|4lsKjg6WXxYA224 z+A#ROtkv&;ac!2EgsgpmZv#3$4B>|~tg>EUJ-DjC`%B4}`$vy^!pqBL?LhlPTH;X}qB`iGddoBK$$ zPK8B>MY->+S<51_8-@=Zj#TH0f)+t$gCFK6mbYJeMQ2deMJyDG%7I?%Xdmb2;@8N> z(`AlNm0s^yR{cSd6NZ+*tLk)+WQ&ZOb?pAxByC}8^L1L`eJ{_P7$qGNa(?&0v~MaQ z5uj+DH|MCXnimvtu~CPjz6@oKW620Q&Da9g4#N1VnaUkzD44Dx0+uYrHm_zsYB9e! zzW)P=bX(HgSvGu{e~i(13amu3NF|7J_ZA7waBfwJ0VhAEN!>U_BBPY!lMw@te6=rw zo1`{=&|(g(GP#W-9!I~$-eC%>rKzhgDpAe`KLc%v4#$VQ$zS5*DqGJ$QD;^@>ZmV@ zqu$#syzPzQ#MZWS|LNJk&o8MLG_&8ps2I!+y%TGb^cgiSUl%iifRij(n!>;8$v~U_ zr@pJ^G832(Qu~rny|o2D(~0H?xu3^#lfQ27ZB>wf;dd*?X$;!DAU5O{UPk=K0Jmib^JTgsWck_vn}@I*pY&a?4WYY3_SlFEAZ?ryGk2oJtH zP^q!K(MkPJr>9MyG=xwDra5(UP11Ne0hr|>W=_wHW@vfJ+IT0{Z{5J_6>RmFO;!|Z z1pj2JuGqe#eQz=F(SuY*s7S6YPOhYmCxt{#z3D6&gXBhp+}U@k^(v!|YiYK<-WMU$ zDk()-e2p`xcSsNX9GyH(V5t-|bW7x8MEvAdeLA)(AWH-1AmQcuZ$BAQq9#T;F^SY` z5St(I@?!P+5)(LjLaUBAYP8WSodudl z)7u8&xeLl|(qLwtqJx7H^oWMlH0CJUPcDJ|8f)bsF-T62`OiuU4+u%hfN8@#&ZoU;#l6s1^U&WhYTN}na}_gQuCq|IEiO_`N9VFs;0 z3%<-IlpQeRw+D9YeKnv}muk2k9kjneMnX)2MLIiS4fB=B@z$ z6xSl7$0;^vE$78wi#=dt>|{Qj`1!3IHk82Y)|}%gy%5=%qZ-N`({ITi7G*OzuCDH$ z$6jkS+XmYE7?qzW%~NXH!b*KLi5Z(39)6h~XQ1iuYP_epV#NcP$CTKP^JCqpYyN17 z95oCz(Xxf+{J`+ox@|#~D0}xCU7$sgQ1=~9sDn9%n?f8vgN8i@fZ-&dg;M}U5+=pJ zs&>`dQ|8rlS=%nG;`b>gd5mWn$Tjzy!%L|8waGJ(Uoj&fG%_O7z_h=R%z^_$S+i+0 z@!D<1UATzsd(+1^PgK|dNa0RF=eeYe8U#W3aUC5SzviY)_h%0o3@Yhh+;ss_A^H9I zL~N$GDkvLs-iG?Z(HX!X5kwk#<7=e^J@naXUI1@O8la%OL^H2VYe)-5LU~Yb*X_;r zTA-THHh$XRK9cTF%q{5q6z&FgM2#UW)~`X?)d7i>lE1!q{GP^ceSl2aCv%AWn_4I!O!i8533IO!~HpGQS2FJ$vN1ps|hMd;ADqsMsBlg7lLw;xf E1@IvPfB*mh diff --git a/sprites/s_node_rm_primitive/96237c8e-e704-42b8-af43-7cb2d40b21a8.png b/sprites/s_node_rm_primitive/96237c8e-e704-42b8-af43-7cb2d40b21a8.png new file mode 100644 index 0000000000000000000000000000000000000000..2cb732e83ab331caa334f404804419b39c11ecfd GIT binary patch literal 2023 zcmZ{ldo&aLAIHDj*hHI4M5yQ?lFPu+TBx4cKpbkLC6Phfj!4GBVqqp#L?5Ho?%a4x*Fkah7q)jJ`y|TklAN-{I%&p zPEykroFiOgu7&j64bYRiu~(LQ?XZFru(g6<)o;KBnkii+vKyv*%}(e=GG}LI&nU*f zTAbC)L8}2GY^00Nc4_ZBU};fiJxtkzNdoEPk|p)H{mC%|TSo)UZh8$e&V3H|*w53%!z(?yks!t=H*qM^Z*%fL%X&I-@@*rS9Qb*OSK zhNkW!GkL3$-IpzyQ!rhf^??1eZr>`_#*`?~xb!e{Ekf&10z?Hfa{5xsNYE2V@Ozf~ zp^so+W(MpDqT9?8dP#L|9=^ZX%6?CWz} zW>#|PVg0)at+!v=d$|?wGJ$eWA%1BRTIDrWfA+!YmPKntdu_tCC4!}77$!!id`S^D zL+F|+7ypBq8ELjy-bpwA!Z9l_|;QHl6mg7y9%h1E^KP{XcF{{O@7JF*4N87b6V_`AW z%@9Y#IU^PxdTi`otB0TixBbef0)a^5aDI_Zm@K?I-n3&kx$ts(H>?KY03}Dud*@ zq~6^-2H|yeFIn?iN_W$VwHFrm#(*y&Z8{#CViM2W-tN=qM1z4YoWSAf)pbvLbynik z&?n}7D^zHK{KCvU(t5p0LuB=?3ru@XP*(&@}Z8h!H}u1)X(oyE3WXE-wsyE%{%fEo2{u*6t0tr+oJlc{>&Kwhl^xT$vNOv+ou+ zLuPKxV5Y`r-B(6!MQVjeo>E#~{&7-H>Gwh9&%PZD3;uYNxq7C|>s=!gq72*H{+;q> zP>l_9!l>D$(6}8$4-?|R=g+6FRA@W4nU(f?->GhX64SUjYXah5J}bW3(7{nhC#wY` zr>(GR@l#3J$e9G+K43r-tonF6_=e&{{BIDfMAw)t9&x*#zWT7+8>B4$#k9{Q->UNZ z%DUGmNhNPYNpS70a@vuiDl-JToD4-3knXix(qHIA_YyCAx9-ilJ&Kd5lp@#~kLLENU` z6i5kl#O{{?y)rHj2~@lka#Sv}D#iS&bY{&&CJs0{k80LF>WAVbchFbU^t+Z_AsoNl z>=QMGDrY21@L~HH1{Zyc^dbI=LQFJcd$>4_HLCeARf=;bpW60nZQB;HGbo*TR+64> z$xVCG&(DL2G01XYdDd>(nlx{Pr46@xP}XYj-p@C?GZ%7Z@EZ z7GR7v#u}ja7@#pkG!}<7#bHf$qtQ4t8h?`I@GpQw4hj#6|8D?eBflaBbpO90Hk=e3 Z6B|H^{BI^i53MC;fRmjIq0-hr^=~lNk9Pn7 literal 0 HcmV?d00001 diff --git a/sprites/s_node_rm_primitive/layers/1edabec3-254d-42f4-8d2c-52898860ab0c/30e25e94-92fd-4e97-87a4-b6fe46ef67a9.png b/sprites/s_node_rm_primitive/layers/1edabec3-254d-42f4-8d2c-52898860ab0c/30e25e94-92fd-4e97-87a4-b6fe46ef67a9.png deleted file mode 100644 index 761e224400ac0ef11ee13397faa83c53e9fabfc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2258 zcmZ{mdpy&P7stQb*gUKmxjZ3Oxy)ReVLYx=OLJ%DlKXYJCfCGbijq9JCq!x$5klq? zw(j8xg&}fDA|;n3wz6ma^LzdNd0yvr&gbBny=A z+eM&)SQ8pOB@k2~iEIY|NvZ%qPX_?5AVpsUfOsqbEcpR|(NzGDJ$bFe$wW|q2G|@W z0{q`r*;Q2l0I+9PL<>sd+vPIP5YHcbUzlgn8Ui&+a0mZ*()%W(ROhDDbL>MR<6hdM z%s%(l3l_r{^p`I&9;4qmQ_N5Nvx!5;L(6{V>OdI?Z@eDIQW35d?S6T#NZChHX*$4| zY}%7>uPkzTHZ@3TuhoKr_x{t$zQ`Va>Q3wQQU3Hw>RO&kx&1f2aEDzyruy|N1Rb&p zZdzYcKdqm4J4<^8JjpIG8MqTJd_xYHq{9qPIDQpExyTc|?fWyDeP%lIRwGZT2U>v|4lsKjg6WXxYA224 z+A#ROtkv&;ac!2EgsgpmZv#3$4B>|~tg>EUJ-DjC`%B4}`$vy^!pqBL?LhlPTH;X}qB`iGddoBK$$ zPK8B>MY->+S<51_8-@=Zj#TH0f)+t$gCFK6mbYJeMQ2deMJyDG%7I?%Xdmb2;@8N> z(`AlNm0s^yR{cSd6NZ+*tLk)+WQ&ZOb?pAxByC}8^L1L`eJ{_P7$qGNa(?&0v~MaQ z5uj+DH|MCXnimvtu~CPjz6@oKW620Q&Da9g4#N1VnaUkzD44Dx0+uYrHm_zsYB9e! zzW)P=bX(HgSvGu{e~i(13amu3NF|7J_ZA7waBfwJ0VhAEN!>U_BBPY!lMw@te6=rw zo1`{=&|(g(GP#W-9!I~$-eC%>rKzhgDpAe`KLc%v4#$VQ$zS5*DqGJ$QD;^@>ZmV@ zqu$#syzPzQ#MZWS|LNJk&o8MLG_&8ps2I!+y%TGb^cgiSUl%iifRij(n!>;8$v~U_ zr@pJ^G832(Qu~rny|o2D(~0H?xu3^#lfQ27ZB>wf;dd*?X$;!DAU5O{UPk=K0Jmib^JTgsWck_vn}@I*pY&a?4WYY3_SlFEAZ?ryGk2oJtH zP^q!K(MkPJr>9MyG=xwDra5(UP11Ne0hr|>W=_wHW@vfJ+IT0{Z{5J_6>RmFO;!|Z z1pj2JuGqe#eQz=F(SuY*s7S6YPOhYmCxt{#z3D6&gXBhp+}U@k^(v!|YiYK<-WMU$ zDk()-e2p`xcSsNX9GyH(V5t-|bW7x8MEvAdeLA)(AWH-1AmQcuZ$BAQq9#T;F^SY` z5St(I@?!P+5)(LjLaUBAYP8WSodudl z)7u8&xeLl|(qLwtqJx7H^oWMlH0CJUPcDJ|8f)bsF-T62`OiuU4+u%hfN8@#&ZoU;#l6s1^U&WhYTN}na}_gQuCq|IEiO_`N9VFs;0 z3%<-IlpQeRw+D9YeKnv}muk2k9kjneMnX)2MLIiS4fB=B@z$ z6xSl7$0;^vE$78wi#=dt>|{Qj`1!3IHk82Y)|}%gy%5=%qZ-N`({ITi7G*OzuCDH$ z$6jkS+XmYE7?qzW%~NXH!b*KLi5Z(39)6h~XQ1iuYP_epV#NcP$CTKP^JCqpYyN17 z95oCz(Xxf+{J`+ox@|#~D0}xCU7$sgQ1=~9sDn9%n?f8vgN8i@fZ-&dg;M}U5+=pJ zs&>`dQ|8rlS=%nG;`b>gd5mWn$Tjzy!%L|8waGJ(Uoj&fG%_O7z_h=R%z^_$S+i+0 z@!D<1UATzsd(+1^PgK|dNa0RF=eeYe8U#W3aUC5SzviY)_h%0o3@Yhh+;ss_A^H9I zL~N$GDkvLs-iG?Z(HX!X5kwk#<7=e^J@naXUI1@O8la%OL^H2VYe)-5LU~Yb*X_;r zTA-THHh$XRK9cTF%q{5q6z&FgM2#UW)~`X?)d7i>lE1!q{GP^ceSl2aCv%AWn_4I!O!i8533IO!~HpGQS2FJ$vN1ps|hMd;ADqsMsBlg7lLw;xf E1@IvPfB*mh diff --git a/sprites/s_node_rm_primitive/layers/96237c8e-e704-42b8-af43-7cb2d40b21a8/ccdc9f3a-1460-4a95-9125-e0cac7676f79.png b/sprites/s_node_rm_primitive/layers/96237c8e-e704-42b8-af43-7cb2d40b21a8/ccdc9f3a-1460-4a95-9125-e0cac7676f79.png new file mode 100644 index 0000000000000000000000000000000000000000..2cb732e83ab331caa334f404804419b39c11ecfd GIT binary patch literal 2023 zcmZ{ldo&aLAIHDj*hHI4M5yQ?lFPu+TBx4cKpbkLC6Phfj!4GBVqqp#L?5Ho?%a4x*Fkah7q)jJ`y|TklAN-{I%&p zPEykroFiOgu7&j64bYRiu~(LQ?XZFru(g6<)o;KBnkii+vKyv*%}(e=GG}LI&nU*f zTAbC)L8}2GY^00Nc4_ZBU};fiJxtkzNdoEPk|p)H{mC%|TSo)UZh8$e&V3H|*w53%!z(?yks!t=H*qM^Z*%fL%X&I-@@*rS9Qb*OSK zhNkW!GkL3$-IpzyQ!rhf^??1eZr>`_#*`?~xb!e{Ekf&10z?Hfa{5xsNYE2V@Ozf~ zp^so+W(MpDqT9?8dP#L|9=^ZX%6?CWz} zW>#|PVg0)at+!v=d$|?wGJ$eWA%1BRTIDrWfA+!YmPKntdu_tCC4!}77$!!id`S^D zL+F|+7ypBq8ELjy-bpwA!Z9l_|;QHl6mg7y9%h1E^KP{XcF{{O@7JF*4N87b6V_`AW z%@9Y#IU^PxdTi`otB0TixBbef0)a^5aDI_Zm@K?I-n3&kx$ts(H>?KY03}Dud*@ zq~6^-2H|yeFIn?iN_W$VwHFrm#(*y&Z8{#CViM2W-tN=qM1z4YoWSAf)pbvLbynik z&?n}7D^zHK{KCvU(t5p0LuB=?3ru@XP*(&@}Z8h!H}u1)X(oyE3WXE-wsyE%{%fEo2{u*6t0tr+oJlc{>&Kwhl^xT$vNOv+ou+ zLuPKxV5Y`r-B(6!MQVjeo>E#~{&7-H>Gwh9&%PZD3;uYNxq7C|>s=!gq72*H{+;q> zP>l_9!l>D$(6}8$4-?|R=g+6FRA@W4nU(f?->GhX64SUjYXah5J}bW3(7{nhC#wY` zr>(GR@l#3J$e9G+K43r-tonF6_=e&{{BIDfMAw)t9&x*#zWT7+8>B4$#k9{Q->UNZ z%DUGmNhNPYNpS70a@vuiDl-JToD4-3knXix(qHIA_YyCAx9-ilJ&Kd5lp@#~kLLENU` z6i5kl#O{{?y)rHj2~@lka#Sv}D#iS&bY{&&CJs0{k80LF>WAVbchFbU^t+Z_AsoNl z>=QMGDrY21@L~HH1{Zyc^dbI=LQFJcd$>4_HLCeARf=;bpW60nZQB;HGbo*TR+64> z$xVCG&(DL2G01XYdDd>(nlx{Pr46@xP}XYj-p@C?GZ%7Z@EZ z7GR7v#u}ja7@#pkG!}<7#bHf$qtQ4t8h?`I@GpQw4hj#6|8D?eBflaBbpO90Hk=e3 Z6B|H^{BI^i53MC;fRmjIq0-hr^=~lNk9Pn7 literal 0 HcmV?d00001 diff --git a/sprites/s_node_rm_primitive/s_node_rm_primitive.yy b/sprites/s_node_rm_primitive/s_node_rm_primitive.yy index d7c979d82..b63d91074 100644 --- a/sprites/s_node_rm_primitive/s_node_rm_primitive.yy +++ b/sprites/s_node_rm_primitive/s_node_rm_primitive.yy @@ -2,24 +2,24 @@ "$GMSprite":"", "%Name":"s_node_rm_primitive", "bboxMode":0, - "bbox_bottom":63, + "bbox_bottom":62, "bbox_left":2, "bbox_right":60, - "bbox_top":1, + "bbox_top":3, "collisionKind":1, "collisionTolerance":0, "DynamicTexturePage":false, "edgeFiltering":false, "For3D":false, "frames":[ - {"$GMSpriteFrame":"","%Name":"1edabec3-254d-42f4-8d2c-52898860ab0c","name":"1edabec3-254d-42f4-8d2c-52898860ab0c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + {"$GMSpriteFrame":"","%Name":"96237c8e-e704-42b8-af43-7cb2d40b21a8","name":"96237c8e-e704-42b8-af43-7cb2d40b21a8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, ], "gridX":0, "gridY":0, "height":64, "HTile":false, "layers":[ - {"$GMImageLayer":"","%Name":"30e25e94-92fd-4e97-87a4-b6fe46ef67a9","blendMode":0,"displayName":"default","isLocked":false,"name":"30e25e94-92fd-4e97-87a4-b6fe46ef67a9","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + {"$GMImageLayer":"","%Name":"ccdc9f3a-1460-4a95-9125-e0cac7676f79","blendMode":0,"displayName":"default","isLocked":false,"name":"ccdc9f3a-1460-4a95-9125-e0cac7676f79","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, ], "name":"s_node_rm_primitive", "nineSlice":null, @@ -69,8 +69,8 @@ "tracks":[ {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ {"$Keyframe":"","Channels":{ - "0":{"$SpriteFrameKeyframe":"","Id":{"name":"1edabec3-254d-42f4-8d2c-52898860ab0c","path":"sprites/s_node_rm_primitive/s_node_rm_primitive.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, - },"Disabled":false,"id":"22ee247f-a875-4591-afa7-cb8d52f409c7","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"96237c8e-e704-42b8-af43-7cb2d40b21a8","path":"sprites/s_node_rm_primitive/s_node_rm_primitive.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"4a891850-7d27-44e0-81b2-e7192095161f","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, diff --git a/sprites/s_node_rm_terrain/1d619a24-5a8f-49bc-af1f-b8dd8c730cc3.png b/sprites/s_node_rm_terrain/1d619a24-5a8f-49bc-af1f-b8dd8c730cc3.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4737db30a5de4149b9985088d95e51f14b1ae1 GIT binary patch literal 3564 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 sLjQk&xYEUA5Fqql4?Zq#j!%7T-8}z4#_0xJ0K@":"", + "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_rm_terrain", + "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":"1d619a24-5a8f-49bc-af1f-b8dd8c730cc3","path":"sprites/s_node_rm_terrain/s_node_rm_terrain.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"f90ac6b1-5887-446e-8ce7-3e2f5f29765d","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