From 323dde7f3164477b3d51fda8352d8b37a19f7f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Sat, 21 Nov 2015 16:12:54 +0100 Subject: [PATCH] Update 2D demos scenes for 2.0 format --- demos/2d/area_input/input.scn | Bin 2886 -> 3118 bytes demos/2d/dynamic_collision_shapes/ball.scn | Bin 1898 -> 1857 bytes .../dynamic_colobjs.scn | Bin 4348 -> 4399 bytes demos/2d/fog_of_war/fog.scn | Bin 3714 -> 4159 bytes demos/2d/fog_of_war/tile_edit.scn | Bin 1443 -> 1570 bytes demos/2d/fog_of_war/troll.scn | Bin 1839 -> 1979 bytes demos/2d/hdr/beach_cave.scn | Bin 2972 -> 4834 bytes demos/2d/hexamap/map.scn | Bin 2644 -> 3517 bytes demos/2d/hexamap/tiles.scn | Bin 2091 -> 2217 bytes demos/2d/hexamap/troll.scn | Bin 1839 -> 1983 bytes demos/2d/isometric/dungeon.scn | Bin 8743 -> 4708 bytes demos/2d/isometric/tileset.scn | Bin 2565 -> 4476 bytes demos/2d/isometric/troll.scn | Bin 2100 -> 2116 bytes demos/2d/isometric_light/column.scn | Bin 1909 -> 2026 bytes demos/2d/isometric_light/cubio.scn | Bin 7006 -> 6952 bytes demos/2d/isometric_light/map.scn | Bin 8661 -> 9352 bytes demos/2d/isometric_light/shoot.scn | Bin 4561 -> 4111 bytes demos/2d/isometric_light/tileset_scene.scn | Bin 4812 -> 5339 bytes demos/2d/isometric_light/torch.scn | Bin 4416 -> 3861 bytes demos/2d/kinematic_char/colworld.scn | Bin 7459 -> 7366 bytes demos/2d/kinematic_char/player.scn | Bin 1728 -> 1703 bytes demos/2d/kinematic_col/colworld.scn | Bin 2941 -> 4073 bytes demos/2d/kinematic_col/player.scn | Bin 1495 -> 1625 bytes demos/2d/light_mask/lightmask.scn | Bin 2916 -> 3829 bytes demos/2d/lights_shadows/light_shadows.scn | Bin 7181 -> 4978 bytes demos/2d/lookat/lookat.scn | Bin 1622 -> 1640 bytes demos/2d/motion/motion.scn | Bin 2845 -> 2738 bytes demos/2d/navpoly/navigation.scn | Bin 3456 -> 5128 bytes demos/2d/navpoly/navigation2.scn | Bin 3564 -> 0 bytes demos/2d/normalmaps/normalmap.scn | Bin 2450 -> 3168 bytes demos/2d/particles/particles.xml | 265 +++--- demos/2d/platformer/bullet.xml | 275 +++--- demos/2d/platformer/coin.xml | 295 +++--- demos/2d/platformer/enemy.xml | 106 ++- demos/2d/platformer/moving_platform.xml | 216 +++-- demos/2d/platformer/one_way_platform.xml | 67 +- demos/2d/platformer/parallax_bg.xml | 258 +++--- demos/2d/platformer/player.xml | 244 ++--- demos/2d/platformer/seesaw.xml | 209 +++-- demos/2d/platformer/stage.xml | 843 ++---------------- demos/2d/platformer/tileset_edit.xml | 221 +++-- demos/2d/pong/pong.xml | 206 +++-- demos/2d/rubegoldberg/ball.xml | 272 +++--- demos/2d/rubegoldberg/box.xml | 246 +++-- demos/2d/rubegoldberg/domino.xml | 246 +++-- demos/2d/rubegoldberg/pendulum.xml | 210 +++-- demos/2d/rubegoldberg/platform.xml | 190 ++-- demos/2d/rubegoldberg/rubegoldberg.xml | 181 ++-- demos/2d/rubegoldberg/seesaw.xml | 266 ++++-- .../screen_space_shaders/screen_shaders.scn | Bin 5936 -> 7562 bytes demos/2d/sdf_font/sdf.scn | Bin 2415 -> 2820 bytes demos/2d/shower_of_bullets/shower.scn | Bin 1836 -> 1909 bytes demos/2d/space_shooter/asteroid.scn | Bin 4516 -> 3548 bytes demos/2d/space_shooter/enemy1.scn | Bin 3759 -> 3369 bytes demos/2d/space_shooter/enemy2.scn | Bin 3801 -> 3253 bytes demos/2d/space_shooter/enemy_shot.scn | Bin 3944 -> 3218 bytes demos/2d/space_shooter/explosion.scn | Bin 1497 -> 1756 bytes demos/2d/space_shooter/level.scn | Bin 9185 -> 6496 bytes demos/2d/space_shooter/level_tiles.scn | Bin 2168 -> 1825 bytes demos/2d/space_shooter/main_menu.scn | Bin 2402 -> 1903 bytes demos/2d/space_shooter/parallax.scn | Bin 3307 -> 2814 bytes demos/2d/space_shooter/ship.scn | Bin 6752 -> 4965 bytes demos/2d/space_shooter/shot.scn | Bin 4079 -> 3315 bytes demos/2d/splash/splash.xml | 338 +++---- demos/2d/sprite_shaders/sprite_shaders.scn | Bin 4079 -> 5477 bytes demos/2d/tetris/grid.xml | 254 ++++-- demos/2d/tetris/tetris.xml | 254 +++--- demos/2d/texscreen/bubbles.scn | Bin 1551 -> 2626 bytes demos/2d/texscreen/lens.scn | Bin 1805 -> 1850 bytes 69 files changed, 2753 insertions(+), 2909 deletions(-) delete mode 100644 demos/2d/navpoly/navigation2.scn diff --git a/demos/2d/area_input/input.scn b/demos/2d/area_input/input.scn index 1a2dcbc5f44b01e92b4ae7228f8c09511b4f5700..f3a19f64daef3e45fa3d99dd9a8e95c129ad4cb9 100644 GIT binary patch literal 3118 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 S_I*IR4Zz^gpg2fh(EkJEC{z^y diff --git a/demos/2d/dynamic_collision_shapes/ball.scn b/demos/2d/dynamic_collision_shapes/ball.scn index e332de276d8698b527041c4c478758606b154b12..51a91d5bc02062993b458cb1a56cf9ce72d5686e 100644 GIT binary patch delta 1301 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 XsZjOKLg$wbzEyuCSG9|K{b~LWDtW(o diff --git a/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn b/demos/2d/dynamic_collision_shapes/dynamic_colobjs.scn index e6d1ebf9cfd05ef4ad6129fc90f81faa1d128cc7..6d17e2209f8e88d24e09103c20c2414c5e53bf08 100644 GIT binary patch delta 3103 zcmX|E3wRXO6+W}G+1ms;GOUlwMh9_fLkW8vISgo4_UuenMy18H% zDyLT6rdtTxV_BMBppw@GGo90C>*m1(E+v5f0>SAqboNL-xyJ6ig0o|T&TlZ89Xfu2 z<8Cr^$j+eTb!!=Obl4GHugf=Z9w;TVqfh8UVTHTOKW6Mz`{ZDc-0P~xT`WKZxdV;k zjYpa35HYjICnlCPnsE^rNT$9|@`Plu6|zYxRw2s`VI#hS$;hDv@<=h7aT&6#Q}qVL zIY=w$J7Su-f7{ZutFQ1cA)^nU*~c`D8oZt1;tHKr%Gr zI2J-7F;Cqlj&pTd+c=kxfJTj2`D zHEvwfxOk9>|eTs9P)K&RDPKQ9V(sEri-PJE9;&crVpz)BV%O0N4 zboDS-ODwIg)HjBZ9z#85Yo>ar(Gu$`u4>8u8_t^=UXI?8P-^1ZDoemKJ1IJxP#AW8 z!rrKO<>mpslUH5qE6VLBhHn;UYH+=17DyzM-zJSZKZ@Vm{HoCr^0}m-><|kR9E#T^ z4~QWU;ya*|CoxGM@cETsOnC7F9DvS9wxFv#^s!;^bK|s@6Navk;&C~8i(Yj0MFy?= zz`Z%5!QczK$WOxduf?+EtK?(gv(AUE*(1hkpI>##fk33SX+(ouqf73VLY|kBf2(S(N}xq?x3_JmPQl? zQcLn;)5xt%Pf&Em(kW5|ZFSBQOt)%VZm3q=UezyKOCV(XkiR>UZIi$ko6%gD7Em_G zj&6_S4pjH3eq}?&N=EXy!rT|)8OA5up3`}Q4)0i)jNuvZ6m2yG9D#L;&u7hVIm7l! z1CB^me3t#!+;`x${u3OntM6M!qb;u~V7nlsF~E`;i8NXvfwp9r20&BR>u{XJ2G9!|$RNF;fQeUe|1yukp>Bq>lqqC1TV3GoKVi$(VttHKPKkLeTu zjix>&pmb5R)RAOr*Nh5NV;3vqkD@U#;FWw1pE4kOG<_9hk_BQO<5$UgMp1DSEBh#( zX0s0`{j?t2DVA(d)n0K1yWyVp2C6!V5OJYs!&C|*grks9$V`J+q0TRR$Sts{PfK_P ztHe6i?N?lyek){YurR(gLGA7i$U$)fb!9E25tCTY271(fEm44!_{`W6?2QA~<5`{B z9T3e%-;1BWeeRE?Z=+db4#WndUzu$4sKILjrsGCkx7sHf>9Cf^OpF=&6uIB0`k$@E zQofuPiej|#w=gcHC@Z!f11u^=TBkR7tOPw}hXUb*P<$83A_i9}-N z614B*+PiV?kHTX|3mHdmX~;SJ_TlKs#6n%^{^;eznQb~61f?UIUKYH%4PJTIr#}EQ z9%52KW45yazq?DUq5CTkI>>9{e&Kn>G2m>{Eou6(IMg)f0^~6MP-!$l4h9vkd(0fY zJ;|0B);s;O>@5pNwh&pPPGf*sad*oozS#X!-M|kFWPBiM`^X!zu!#oaSH_nef6>K+s-V&<+cc&lA}97M9uM)$y^=!Kf~R~NOI#s;aYuApN>f9{ z*Z4_FmrQzOk5BdoY)LI-1Omj*_DkynBw})^y}dGp7Z-Vx{F3~E@sL?-6RMoFiWA{L z<mNi~c$4D*`7smT0A`ZR z=iw}ruo-2fu!fn!aWwOrFrPn<`A2v2Td=rsHWu>_V0EK~N~9AfnjwQ2(QMDfx)le} z+^C^>#X`LCF2PDu;wd!KevSQ8G%k;#6Cr*PtTd|%2#X)!0UX6JEnt}#7FsZq)~Yn@ zfd)b^`WAtb&5p+S3@yPvb}UZjW)M^E*8h#I1Xi`0LP%(u7UX^9m8w5lUmvuSU`%o)mpxj+c~9rAxWXOoO~xN zqFcKNi(^JuLIqi1Cns^#G%5wuxX@JJz5Vxka{hm$K z?<}4H*~WlWH3kmh!i|#;E}{I5BA`hKXPAOLq24a9q-=sU0W7U!GRJ z`ffz&tlfF?y!EK%74x@ixY2VB1J>bZZ-4oe_t47+<=bvwSFwB7`{gauch9i!J#%vY zvi{GW1#`!CwC*|mne@Q@&yp=U&b5Y;mfziV@RH@9*9MlBZFyg~CDiszk_Mze5d;@mH#1G9=}3}^Nm|P5 z%kZoS{di_EL2=rT$E3D-Gu=Zl>PVwALt6m-olzcPVSw1e&?LI z_nzNx_7>f?nSi-VZRiGyZeTx{8fFnlMBZoc2s*Xq(gOOGx9HV(+*(?;?m>7XkqstNt-)iu;lMch z)8&*L-3XYK$kEu@x-sy2B3nxtMzNW=_x@rnoWnW-_$xR(e#4A5F(lPEy?V!;#0Ca3 z2#Y4R>(phQpJJFUd7>g0^lANu^R@B0y8IOT56-gq8eMzrGycE)Wn)0;kfLo;0QjA_ z%>ba{0|4SDjb|H8XkkyCJoymT;aD&btG+|@w@ZNgActhQIDQ!pK^ykREabsLtdK|8 zWIkG1j}nXuBaxulUSIN@E*OzIg35B`u>DM_poC>>o9b!`jB7Papbl&LzeN$xAgp zTR(LrX(LKca=P0-wZCg8QE8%TQ^nlPRQl&uKMZ3 zulzfl+Z~XiqTAj2KHDS*rN$RhJa)x9zicwrh+D5hazdd=4u;yJ)gjq4S8S>HiXLoa z!s1D0!6>~dq~Ze_V2h&Za^_CbhO+fALQAc$7}&T9V;WnJIhwH^YWf~!Xr}*9Yx}0U z_`~|aF-K3uSnv-U#3{jQzc^nCFWIUw1K5BVnX4Jf^Z_yKlY=dF&pawv!I7K*Gx(2e zx4>NF(%??f2oOoReTSHo(vvGEJj1!$LtZf|xrIW#TMl}qPC-nGgu-&PdjQN((;8h6 zeeIk>S8?#7!FP?zoN!Z%!Hc_=lZ5j#Lrc5t_qqc`nx|V`Y%$t~wM}JW?d0Hn~n}kjr_cR=C# zN*iMNSte4APeOF!5ir~8=zg)HCn}Sr7%SDFKdn)cyuyBsnYE^t72BfGIYA<_1n^J6u$tCi1DvkX#a$Sry0CDWL&QaMg1dEG(@M7$r{M=hD1E`>c(FzW7* zBXW!1Ac3B;q>-@34k;Xwl_0Rh1Po;o3*{y*mG*Sd?NQokXXha#`{l7g#VcvLJgme# zNF~Mb7?*9LAQpiVK?=qoXQsv}tV;fXTxujJhTI{!Q}PQl zX{<`r)RAB~XCBh?% zg}6y5)P*HKnF$^02^y{tD}_SV7nZ$RN;hPaA|Y3UZoSgl8j+&H0_sr@Su|k@8);MK zX{ioKPYz0q!$6X*4CG(bDXkH~!cEq)kB+jpInbgp`?sdXHyf*l>i~Wcytqi$s&oh( zEn%b`OE5uqLYfy+!Y{{hu)WJpDc1fri_0n?eOhyr}2#4INb}kxB_@vy;>#q1{PpA0_#JIi5XQ$hZT8 zKlMCwY*>7LYN4*w9N(BaC=HasGRVvGlKJtT)cheEDX73Pog5JMIbLPlogSBNoa-r} z%eD40%wxjsgX4@8b-9jr#Pw-aspnEWVMz*>o{QI|?A1FY6G+h&ePvV*NL3m$U6qXUWWS$;rGQ9EXv>tZXNk8xJY-XR zTDq&DVkUlVXpu;peQiB z9XXth)%XNf+gDNTJBIo8`Dn5KgO0agv3(I*8cT4feK`(ow9t+-lQ~!m{V2-f?1z>~ zyV243IsLCjiz63jU@U%bU~yhR&&1WpQH5;AxwJ38pc0r)1(C(OR7Y9ta`4zil`tPa z;m6<%#s=zh^fYhLCM_l@RQgydvX4OtF;RD*VhiYVj-V&xq2SX{N(%5a`uJjv_1$xb z^*JCL>qF7!^ey`^P)=i&(OCCzymj)|d^6_rWl%wi`Ld)!z50NCG4JD==w*aqw9=t{ zApR&+(gOBE72$Y=@?@VKPOTe8P|HFMwR51BZpZg9lGikdOtgKqEj>Pu7#Nid(#@a=W<*}2-+|4ICZKtlc=cD}Jm5=}XUF)9B zFGpd>_CJR2zW=9w7tg#tdiAkY{Pjh{zubO3z$IIMw07pHAAZ+%aAy77R}O!F z1JhP8ehm}TpsYk(cWq5)@b<~hM<&i~F@I57W|+6U+}eGp*85Ht%&H#q*K2S_H}z^e zbn)hC3m(~35;R`;YP)qVWL$Y$I9Pga^q#}}zR%u$@SDF^=BNs}Z|)w>fr>&$7XnMGDs&kKBSZbU;W4fd7tN(w&!rQ+9 diff --git a/demos/2d/fog_of_war/fog.scn b/demos/2d/fog_of_war/fog.scn index 4987f1ead5198aecede135b9d290bd9fc2676553..cf196015675fbc1b13105375d148805cf00df992 100644 GIT binary patch delta 2506 zcmW+&2~-qk68>j;h8YGCl;Iez{)a>H;80K_sMH*wxT{M5gDWxJ?a%`)Gt)Rd2xxFd zJcuSnBayrqH-ZNe58{!oWLTe%sI-^3USdEYjA&(5nJw7rd!vq?E3IANiQpOhNTUZB+&WGVZ zaWX;#&OjqE@riM)n@&S&9OF~K+1Py6Me8y6rY9#``I4k6yG>L#qd=VK(Q8~z-eyY@ zEDof?K`5Utlp%kt@kA?!ElY~&M@WOU3L9@>Y`9Q92?fJzjQUgvLV!TwI0D*`60498 zCg7r6Krz@C1xtLHTREREW+$8JI2A?NSr|`7+iVi^`-Vl|gLU8eR%7w#y1S{{fqfuU+s+6%=Dc)*@ zd=Y7BR>?cL63#*YNH6lKrrZMWbRol!$fBPxniDwQkz66LR2k=B?Tm}Fc-D(3LSc1s z78j256pAQBxrDE9SXj|VtFkfGtW!V%&>*65gq;z}=m+#>qL^_pjFH(-j}PD+NBN(=9BP!@cwmICArr{{^Xa99Q5hG)cb#>wf|d#rHHsFDuM0E~241lKl_!9_W z0}zm8I!Z^$ovaNnK+8pC6C~16M2V9t78RRJezeXlqD{ND8uBIY?;5h{I6^4pD@9+E zX*C_)m=1O?f>|(E&RYdfsE;S_JYE(NWaa?~Gv}ZxSlJltNrGThEvkdT9D4}4;v0~YzHxSr`G2M}YSyuw zbMg*58*}Flkqf^7iN92q@+G{3xuZ0|W_dX;Fd-s=#J_q08I?w$fU87(sY%a?3!IBf+D5Qy@m_#W_kY zghCBu!?t}t5R9`#po8F?BGHE91kMfdrdMF@Lo=kJgxw$ER#==Y>lot(Y~aSs1s_S> z;PnHmlp8QgH4ZYZk&Q+m!A>R;5fWv75DRV61~N~P+JN+^Jme@tt^!MVh4Dn9f2e;5 zCe(Y>@y8;SE%I=rZd7S}(VHRZgHZp_km?U+U}%W0pQMf&iGAoy@I`X0L^3?8{%cLx zF;Zdl@&u`Rc#X_G3I~Ea z0|Yc0`$@2(%8>MMN&=-oG=!0KXc}yW0}vrm&>!>{Y5n34N``t#Uk@r+1F>Sz8Of&> zuY{daQVSuU7@qUhn zkvLS-AXQ{T?)=&QnsA6z_~*2=ZY@z=FOXH21wnkveiR#x1sO)ZjU)w)il3u+Kq>G z9gzVm?8z(3yAJEgwYIAEZBx%z&3KY|+Fm34>x4jzeO4noaM<`kx^Bm{u8-TP}p(e90+?O{uGXdKQ=ahXqJ-tnz zsxZcx57ig=_IygpFC=swv3|HKx4LzgdEPsNi}(N8lX|Q4KLQ&hE72TQld;al$DU2+ zny;o6*^FU9DZ3x~Uhq^s9q7pLU)eHMW+orJy!2b+w{4FqdX7%q7tj!e-aLML;nzi9 zmR;}-QLZ|9f_!z+P4ym__ONeR%ChHv<6CpJkKamqeNwk}Z(i=e2=t(z+{2}qem&i| ztMTWCnVPP?mIp6?*pNO%9BFTV&7WaDx2nghja6b|S^&`%~&$u|{QFWL?&V zsrKF1oHyo?sda;CPnz!Nf^C(jmPNM|G?;JkVVScYcNMgLW8Utzs>s# zAlEK$rYZLkb@AWaJ09&-9(eczd3RrweAUpir4u{feAst=d&Ld^ergX@)A8~_-=)i& z`p=W?$t{y*dtZp+H+@GpJ-*Fx-w_kfs zRt`|>OI~-k{C@Rt-KCO(aorlyS=QVg=&K;i8|(Ab*$Q*+_=Bh1)-TJ(Ezo{eziriL zbIIgM;`Yqk(uECg-7;oL)%!GRvChg_u_qHq+bfZWV807XTTq+-twxncB;wx)q zf^SQ~$%$Q89cK-7qnthDpy}^F27c9jH!gEl&X_|rIonXooYal+=^sz|_^W@u8)hW+ zFK5T6H06A{v8%SaHTZ%dZ0&yctj^R$?7CL%P*>*B398N+^!0ASdRYwc8F6|*<|YjL fPaY1RL$8ai7>RPS=9^oMbS*-8`FW<{AGrSm-bRag delta 2043 zcmZvd4{X%d8Nff=ckv~6Ktjk}{&2~=B&QTXNVX15?FRYmJHk*~XmhK&bZTv%&v)_g z**Du42+ej!Kr3xm+A3RHvb7Mkh;9g}8`Gw#(&mvMrm2&dR;|-iX^vXN(oPzUD4_LE z_6|bFq*=23{ND5P`}6yL-*3rOTpY=yQc$}Z0Stuik2{zoX zsC%?rM%7G>tn#-21jsg7g4HDS+;Cro0giM6PdLcPEexz84P>a{?ty{4RoGm}L5MWg zeO))SjONN)eP%touW0z8^Uz58tBH_nTZXaOQBC;;XdtnGVX2BizQGPcyZloCKeQF2 zz>*lW6Aq^#NO-8DrSq%<-J~Ac2v@yDn) z4c(m>kQ*37^Z6)el@yh9GSKP=`vZ<<1K}PSX(m>gd(o3m`>iZ zivuOgQQCc`iM1_PX`lsg$j7r!)k(#Q<|>l30Hf@EN=aUXBKfm&8r+1*NKV2Mw(zQE z7z2*JzdA3k;=Wy0a%7TmB{>RFGA~E#)UxARMac(;fhMnw8B_4DOg@hpApvS)Ceh1V z=0M)oRhNXS8-0idvsT$uHNS3M&`>6{itWfhkY~A^;ws9^%KP%aBKPQ~R#aSF6|LMv z;+Xh6J8Tt{_>`3hiQkbgix0y%8NmuYw^PDr!V-i@IH+2tDXHXpQ?m$OJD7<+pKV7K z+r>-VxMJ&xR=VY#WDwR7PFU}OIEq;u^Ja^lkr2i2U|(jrM( zPIoO^DjDU1Zc2`;xSEr=;B$9~uR^B!K1Oj5zKTn%TDG%k%+SBb4*sJ0hBxqT=m>6t zHDt@XT(0K??YBGOpoy!I6L#_?eV=AXj@hj}iVq@SJ96B9%PPuC+}@{twGA7E6jOG( zC%t}Q09%C^W91Kg!vB8p-gzAAn#UM&@+O>wLGn#(#4y}hJ)FLTYw_oyoR&BA!k8=d z#2INq9+?)n){4XCt#O&BtNoIQ&B7^eT-WxdK0L4ilei?5Fo9>8oSv8#JzP&aRS{d$ zUxR)4*zuO?W^928Kh%Qho&>nb8L*WtzvI(?7YMJJUYn@6XWY{5OLCqmAcwO1zH1EuhN5Qy%@P3P;E^!lh=`?D<>`sF0Gys9^HOru}Q>3 zbYdtXhj*oBnYDm0{9O-xCX7A!7V`K=fB*m?5uUrce03RP)4PJnGhM;g*!EBeK3isK zYkmDn;p+0T%)_}Y;{KlTQ! zyhByFiI1GzIG1DDyI3W4I>E z>PL9DP~7ndrTCQ^#S%;HBH!W|NnoEurFR?2f{6bh+AUHS0_%kjvGa47g`>i0x`uDz zG)twK-B1Jg)06(n^5ja&&mTeV0(*x;0x(<@4?fQ$=)Ydn4JHo6}Jpu#=3E=bi)FNcbbgQtIR9f*N+J85O{XTVj z6)oX)v~UR}aW!_NAE$Q-JD`ae)QFGaDVo35;700O9yiiqXu60%3*qo9cqbmC;}mcQ ttwsl8q!Hi7jJMJIvhTc&ABb^$fwo^0j&U`sPX%dO2N=oJjihQB|380PexLvV diff --git a/demos/2d/fog_of_war/tile_edit.scn b/demos/2d/fog_of_war/tile_edit.scn index aaca19d3701ca7a8bacf6fea2f340fcd6474c0d0..3eddf38e48d9d7aeeae3019c4629169e0374e1af 100644 GIT binary patch literal 1570 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 diff --git a/demos/2d/fog_of_war/troll.scn b/demos/2d/fog_of_war/troll.scn index f5d87c363181f4cd96a61ec91051ba0bae6f9d55..ab9af17221357df9908abb7c045acd79404bf5a2 100644 GIT binary patch literal 1979 zcmWlaYj6|S701u+>gfjv;|G4BE7=B`2ILw#riS3NT3NQkBVZFCHObz!w2~G}yUOm$ z7(>b$0tVV-rcfw^P)wM#X~HC=X{JdZpx~5YT0)bVv_Q*D7D#dFGyPCX84|j=-~RXB zx#yh!{hfRJ`UL^L907p+(*RC-0T=*_0oL*`zz`0~2v@#ZN({-#{)DW`Fi=hcb{l}3 zEP-i+o2JW#R?ri2M3r(f%p@~rCJKhB&{7f zT2bl!vEA2Q&w0e0Y)YaiiDk3blt-jBAcWU5x$Y{El z(~>f6V0FzTFNFRRt@0!ax-P4xH03sOnr3FOmjAAMRMT=$N|L^;l2gn`R!&(h)-=}C z@^qtBPWH1I6NE-^d^A}%ZyTzJms5Z&oOZUF_q z)oE>i3{M|F%Ht3=;aX0s*x7;YI1@owjHQ@`S`u)JqMTIB&`ma4&f2c|yh-bJd=oSr zW8^&jIk&%L_cDA0xxqE~JFfKl-#al7+eq8#0xahM2=DOMDEMe2tIOH&X~#eJ37qf9 zw65%8olxyiMSQf@hUeT`DrLwf9d%}#yP9b;XJoX^wqFq1>FkLP%oPEb;jdXOWzZUL z*~|5le>e=2SYtD9C6eJ)*S(L!!m-DZVk?ewNja4j5En7x7COLgyGo=GhPly{z23s)Xrt|J$Mc33^tl#GD;S>hR58N3ot*O!t zH;<=cf90!f4(un2P6xZ~&x`hNiu^U<&}8GdFJ_E=A8DX(3a>EYNFvU5#Gj_)@zz@~i_r@$2N>DxzH`0? zpTRgDeDz!NJ^_Qy#7WouENM12-N6>&F2*ul{8HznS+~lzyArxAt8=y^!H4HOiqB&S zeuhuo;-5c z99coZ;;rcp|4%y2q2Nj^Ek0d5g=?_BYcbY$H(@;rSnrtFUFk5EN0DEF?T+N%cVrVj z7FDsIKZ^@vTM&BwhY4q?C*&+G!AQ4)N2A|Ei2n_zdKDap8d8Zn`5YSjG4ytI<7TKQ zLG(fc@j8GuPI!CEP=p|vj$VE_dYKSdUgzRCe9#*h%Q>Z0;lZA<-akFGYjMk#-!vrwr!M%5C=nN?fUha+Y zYd7rr$M2U++p#*Z>-xJd`S{j#>kiFXP?S$Uc}Z zV3kY;zPP$?Yw?X{>uAuGABY1pc)8-EkB8!asS135&Hd*)&i(lEcP6G^xP9c$$Aiti zuf5v#neU#pd(+Tz`Pkc6F12P}dHat4M|W;-yBhqb8oc??%c(1i_I$za*-)80{`#hy z7h5y)K6fwGHgCIjfBmK-!T;VnF}41J=X7A@i=Rxf5OBTs@sjw!`QulT6~&e8JG~xg v_uF%rYjiJr0Mv;}|IZ?aTRP6({pq78$&E7T?OGLkJxX`<_4f&V&bR%4AU%9l literal 1839 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 b&3naed`HNbrP8t6>5c|4Ju{tb-roKP98T2s diff --git a/demos/2d/hexamap/map.scn b/demos/2d/hexamap/map.scn index 5798aab850c671aa2ee8c2775eb4614935064cde..de49527003e077d8c6bab21af2aef935e20fc89f 100644 GIT binary patch delta 3096 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 yfq#O>DAsRq2eh&}yf-z6L#fZ=P!3p?ULO) z{FNEbT2X3Kn>yBFrWw#wovFh#I;lxJ(FLZNPHWSUnv7}Fb~TBZs5RF9NYiHQ+nU~g znd!~E&wjplZ{CmZ+xMO8=?wtLyLYt65fGJ1j>GH-ZMkgP_rb-^6kgO(vR6tT3_C$VW{5 zGOE`-olyUOqQUI<#n{&wya|r-P1dLq7NX_7Y(3;yQ8t42?El6~F&jJ*JP$Th4rz!D z&RH}lLm5y?^J7P>ZKET;O@)vGqw&5!HupWX4rN)`k={RyV9@;a4Gk z>W_G9Mbr`()ru_KWmATRG%-#bw%%b?ii^ZSHqb0E4w?lDzlr50noKmCSYcu%86*8> z8Z1tzH_>3C(S+Z`auZD^noX>rFf2RGUSABRp-K1wI7<(MTzc5f4-4__8kC@H4BX3Y z-S!bt)g(oRwqtF7!yep_5mscG4=V{dPP`a&FX=KEFDyojv6s7$HX^8!AjgwK_-lbG zU?&k2B6}Xsi-S^JQTgF$A|lDW78l~8R^~O>YTU(gvJ@k^ff#m?b2dqn2BIQ4i-FFz ztt^7q;){3@wr6OvFw752yTqtrtpPV`B3?#S&~Eez+Gi1mA#j)du48NsUX59HkD|~K z*-L18Ep`QqNi(U%Su6nJFpG=ZUnj*DRg9v|Fk;xIa1AMDBdRoLSf63?V6xDFXHG8Q zBXk8{fyYofS;K1Em7PXLFgQg@CR=b!2fPNaw~?p zo1t;vW=!xhe9%594n?KN_Bi%4{BH83<>_~jP>RdgJwt*@mk97_5WDcxmLX+?*lFkw zU^kvj8?_^%G7U#ikBRvm? zAc{iO=RqaEo9zG>YH}ttkr(9=Nmb-n#Srn)T@B&|>_gAnwkr`u7H-%$d@eN2E$he|_c3YJ8E& z0)v@gH8nCo8tBAD!5;Jz@?!8T!|w{WTUy$mA_t)WRo#RFMom;6wTbb#Bu8HJymlNP zbA%IGT#5058qvsBJZG(mq6)3L7DSR0`~-)t!zw!Dft#75*03sy@{&=ELVsPd9{1SM zs+qvYuB8Ed0_W2{W3>6~0QwBTp&8xBtUxtfgfIp`~!7vMgAIDC59|Zbth}ca}3b%5b z3}-8D#;oCP<@TAr!|=3nFPe7LwCkq*idrD&k!7^flL1=l2?KUygDk|tLj+(&c3`Q~ z%8#AkpplK5n^ryh=X24b??Np`dMh}QhmJ_EMfsyR^HJ>jJpS)|kYi*&ni&?Q%$>5_ zl;x!?KV_bj6{M^%W!{u6PFYdPic?mSGT;BqLU;OJ=4HAc8d*&bKQAzz zV-_fZRvuoGX?3EvOe5DYgs#xzNDs}Y$G0b91F|4R$z|wA`Dx?b8`otyytv4k)!7m1 zLA7ZZ0IJh1$mW|lx8oAcb4h22>wDtB-M3b6oWriM>k}`zA75)Eq0&b-y>P=-l$`aP zc|Q$>CL!b5=pC|mt;74%ZML6>H$2F_T6?K~>pk`Pg{zVFJ^HAW^k;o1zjVT;dn(F*?^YnAOM_Sh_ z)5mun`0Uy_{`bBu`M+>4>$o(2`@-QLoqFfPRZsre(R*!V?7&~FPdJ$&0!sb2H!m iSJKyXx4W$OtYZNXWOlY~3{3~f*P*AkC)h*(r2Gd3D#XYD literal 2091 zcmaJ@Ym6IL6+Yv!J-hZkkZnIvr0wK-#F}4Tn z8Ea;|Nn4~kL?VSspa@YZt<jRDsj{;GsqeLMb5r+=aA&5VU^)K~w-#Pcpwfvnk-*_djsvtf?058P>9t!~cRswjRQna)sklH~VppOMYPZUaD zGs^jrVHvESF97)2=XDJRSkHiCxOU4a87ZsKFrb$WD_XH-mFq@XpA5Ps$8373c2I&C zn}i-F_pBOcy_RFZFbgy6`&=ruwzfJmJ9oHgRe6NL5kAUbjz^g^JI_Zm((F-6NOQ9S zXO}1sX#ooY7Vp*;>4vc)9OKdAX7mx5+l<~6kQC>9K=oskz6t5gs3Ot|q<luRg((nVG6b2d-tf6F#d=|u z$vCb&ZkLU84*J(nG8w#zPu30qeruSq@4@q@{E2FaAER@)!1YIGKA<$z;UP1`D5XoqCYF-mPszXWN0S`SgX z=!AIz3j!7eED1O&;F$h>{R^UbzA*KIAT8jCfO!E60u}`<2{=l?eP=|~{{|_&SbXus z5qaHk+>8qH{=a2^lI=j4g_V+RSz5_%P0fJJ1`xV2u%_PTz8Flf35;d_+PhwG%!1{) zFv&(BNu3;Jau?JX7SBH@wI9Mk1obOjXisz_B9zs~@jRBZ?+t63Q8qo>(VF#E)wDF% zn;Han>LMm_m9E)%0e9g5%J^Py(>!a`HPxwj260@{idMAHpHLhbKbx`XTsojqaP)^|fPbsBv+AqZ z>$*bWd=?|9%Il_aCdba@aT_vCtUQZcM`)3L2a{FmIn5A~dSe1OZqKe@{Pd^KBp^u{}H zfi~R%qok;xboYkKMy1fIds^MB*1oaa-JAV;k6W|PXjR877tQW?wxEyuY{!iMi~A?C zANiiLjLTn?Z@&BPgJ_NNRdRpi3h-DR(qDan$CBS#5^#>-+lK|aNbsCrguf8*Iv-D7 z`?<(f2sZa!`oUEmJ5B4gTX)x&?yjf!_~~nTQ53l3>j9XA9nT|cCBM9Ddg-(vKbc`>-E3p2l#XY*nkc=K(^b9H|dx8 zn4jiGW(tN`T37Hf8jsT$0fj{|l99x)V1&~|gjpYi$hk`7PztV*oNE}y<*iGhHA2_g z)*7bU``80mg?_3$NS?2tMx&$PAPj9NnK$rh*u@4>!Kd+l7$J5)?55omJzEN@^kqb& zY>2BJd>PN6i#9*i$zG&5bBeEZV0`mLHSu$Nfw z>gHM%CW#%-i`{*KeMs!&Gw-V}Z!u{<@Z;M_n7X$O@g0`fVbeS8zz#dO!;<%y?-0NT zx%}4Q@R{xG!yO;Ba{DbAWJSGpw|oon~879=;bJ*p5^8 c;)4{Q>ZnWVkzrw>G+?m(S;?=cEA%(vKL_<|k^lez diff --git a/demos/2d/hexamap/troll.scn b/demos/2d/hexamap/troll.scn index f5d87c363181f4cd96a61ec91051ba0bae6f9d55..1f33dabf8e6c00f565948ca6b5542aea5d7121b4 100644 GIT binary patch literal 1983 zcmWkvYj6|S6+XMGr)_~Sem~H)Yy(XTat$3*^YB@%knQpaSOk(nx_2$Dq{Y&%vb!?I zKv_e0rs+&!pe7{6B$FmhG6`v#Y0{=dv0H{|2~B3w0v%>pAcfLb+L@Lz43BQ^zwewg z_nh;c@7z0(5Cr)01Objt19-&?zyMebu$G4bhHy|pxWF1IIV7hNNm-Ra43MDR3E(D+ zVH)A4>9U~}^`sn8rMwI?$&8uFqG4)z(a>_kvMvrPk^x>)AEQ=A708fIWRX(UobcO+u!S}r#~lL8;9^sSRe%%Uzskd)ipEViI# zC=X?%)|JzeQjRQQzYg>8Apx7KW;~p5<%6L(2I8Ye1Ozk;56ZL_Y~AYN2RG3QBTF8qCSG5)2&Wj7Ud>`lLAZ zV`Z7CORAC9^gPTUt8KQ%rDQU)POBi<(pat-il#<#(pFhFXu@WyxV&Tx*`7J>yrgFo zmEIfMd)4)D`q4or>%Bt8f$6= zy2%QVLu}Rrq1l?w4r*rjJOedksVk*R8FB2Ju1HptRsJ-jY+pSL+fdKXw7CUzOY|L^ ztHK>nX?r$VyM>iD_mznQ_zC_F)E1XlEJ$Y7fLWvm0ULOK>qs=f07t5#zrtGV^d>b` z6_Z-ArOh!mAe0*DDw}DDet`|b^PXWzS0vT6(s&vN5TK5@uv~EAq|Z@wk0WvmDEO@& zYv-eQ>cnv#hp-jbaa!f>ZtTLD2*M&P#~jp?pj#B>lw!7AXA8Mv_#`75EjA+?;b&}a zE`E*URV7cW@CgjkJFRXZfk&KrYw^kOGVI|wtVFNhP^E%cP)6jO?V87%v|-n`LBlad zF3?|ahsyRY!==a#uEpPTVj(GqxCjC>(|?v1h@=;!)j@R)_N;m zZk+n#I80%!&AgLLg;!toJ_ZZM9z%*9xQ|Q8>70PLkP)}ijqLVIL~6k>H=33lJv(*X z6)=d~*|auHy$)O$bvT>w3@h@Mf~LP{Vmtp~Y#X*jk1#1E+`y_yM`KQ$g;=*d3nRE~ zqS~5|)v(p}Rb#CE8(_`}fKLB3*%!UW77e-ejC)woH8meg*xX&bi6QbMcUH@2s&viG z;~TNR@-;RG_7f#%gWdN1lKtBfe_1#>)x6IavnPLv&8@p#QZZ+W$^C=xmzsMsoRl9_ z!k=2r?f+(S+P8eRu8^Fz8I2a?Q(;He>T`Y!~ieEW4av;@nhsqhhBksmroDdnc0EPDmU)hKF!5 z{s#wdaDM~m8FOG`Ea1epvJQuHLX6deU7V$49#SuJbey)bAD>&9-o!8Iea2$|apb+8 zaAYL~i?^oZBtGe^hk~oHyz~^FawfGFz4!q(_RhgZ6tK}DvbWCBSph|U4R$$@KkL9& zd^DeK@=fGrlXf%fnKHsEUz;>4j=Ycjpd!@s_{tQp8hM39N3%L|G>eY zQ$QaUeP*_pA5PnN8qa|>t9t`w4cO!g^!LRE$b2_C9nbag6Wm8{44ozwp$q*n ze%<4H{_%&!({`;1?z#H@i$1<%{raP`=a=MD55MzvC_Hw@o-u3cy{F6T#)rn=`thQk z!&cc;@WG{n+e&Y>S;s@J!p1l-gBL14{cI@ym+IgT*WUYn_vBA5d~ag<*;~i{d?M7= z|N3j4|MK0n_HG_pA;0kM#q%B6SKqzuf93YA?UzFTR72Mvc{zP?;r<8g{>Q6QC*ItA z{aidj85y7J{yiK3g2$c;>{#RAp%u`(D2X wy8QNR<}y9N9tL%y%K!7oczgGUcYgM*m&mmW=wH4%_GXms8b}NX1J2j|e@PmCwEzGB literal 1839 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 delta 7901 zcmX|`2{=^I|Nrlp!N^WUmd>?=R77^lH6~O_h(gRvj6K7QUAc-PLu5~Ak;qy^q3r2v zo01SoqmnfhvXtdFeZT+bf1l^v=icWzpYyr*d|sdT*}f_k5|7!~nwmoYE)fV)*#|)j zybu&C06~d@5QKrCC=7&wc@QiDK>{#N@Fd06hw5hQO7){cySBq3Y)uHl!G>ffNC?K? zFjGb`5Er}?!oyhnDKB5DEj17lhxuWI$3R{E9EA}GZ^bawU?DdC5hTKfl<hjOVnFgRA0)|n z&fswi^7Ek5{K&hwPgv62sG7v6H$0^C)IbV}MApW+`_gE1@;;=E>o~=qYz3W%_mTG? zZ5R>*9!75AU8%ml>I|=NDtVGDhz|&&xX~$ofh6*FlekoM%=SGggvE@fnHMqo45)X+HNC~7eVn{rv@bWSIDE=gWuTZKl zc{c)a+WJP8!q923CENv{!chIm8Q7F9R}Ufb2o@Voqn#&j#YRM*G)6=Sres~R8X|~= zAlQUMiLB{GvMd*!>I>Upf~jmA1KCHG#d^>cyxiEh9hhyI#?%IuAwM=P!jM8;&A1HA0?4uE zi{sD?h90ylm75wE=;h}z&O42y7v^zM=pI)ykXGD2Us#dhWrd)=rYi_>3^L+0B>7Fi z2IoqrQvH-{5ZJ^^=_ta3%pw^Gui2^vWlBs5xdKBtPR2$NkVB^TFk%n_aYY$JY)-OZ z_z?vYTTT=p;wer%Kol=0mthEk?m);d%)%zjBj+5&3kluf#R@=+n@Bc?KVEnzTqVYh z!w51E$Xw1un2>@%gqbP@9uo}acPf?F1a&;z`vWU{SXV7rjp$q9=W_gJ6ND7<-g=a7 zT7%0sJ>rk#Bdy~C!+Y2ewVlwUVv0bvG`!a%qzW-MwZggv(do+iWK~YUB$7_WKQ!e> zB+TBhv4t29H}ZCbiq|AUQk;+EhIsznAP(nP{{ON_`iCWia=}8Jj*&vJ-2c#naIh$r ze{7ZmAH)aqa|JP|Y`%SnB97+H;7AC}D^MWaI*ZeE;B@^ht+Ki>Lyyq9uA!92rqIBMGg@8 zkprfSh%zJ!1B4e6gLx5CPLClZ&fp@#He@21Yy~FL$Z@lPK+rZA2W{oV*c91>wsT_E z2T5=Y`VeJKflP!=__6;~^wJeh^>H$U;F0Mqfu2F<&-qcjd?5f!K*O*#&$W{$%mued zAu>2r@Q4M`2Hp-Cz*r2YwllVkyzm|l0e6oOO-^}U`ks9xi8>VUNr4smO4sV$6{bRf|B(Q|y1d!X7Y7U0sH8Z% z3ETDCrQ12^do-+mT+QoX`toUkUB_na(LOEAri8?^ri%fQapJo2Cq`mFt+ea1bTKj6 zRczr@Hn8Qf=9>%SCH>(-;Fa*^r6ptIk+I{8@=}6#`mBVOn}^yxUwO)|j=G_rNhoN< zR^FY-jt&-zi%nVfq*Y+T6G;(sED5m!7F#y_g_KCyJEFLCN*XM)Pb?|8Nj{3^;6n! zLYol@jdK+XRK6^9yfOFv`$Zl5M0CV=w7?Kl{3?1F->t9QdR0}kqF2+=A-`E)3F~oQ zr!nELG&6r46gBR?|4K!pTj8U|Z+Rz)IK0_<3NvzvSmS={c2ety&YY*VMYf3 zC_ifF4UXM}6S%Eg(NiQ{!{sQhiy}3_`*LWju_B>r3 zN9cR`q;sG-lx96-;1D|78G-_d6^~ahM_E+>ZLGR@jM(!b{4sOfA*Ern%-C7xyX{dh zvv;-Q_J)&aTS*mmF1F(W9bH|-I&XJ*_cPnMv-Y8n5?C+l6FxXPE2PA1lm2ui@q_A3 zTj$7)XA6pGmFcV0!e+2=`*)r2(MgxA{gbr*p=@4J`MKx6BQ(92Xbs+F`fI%)BsRpw zs&JwZtnHtseOu^Kb%JD}x?@NpdI3C=gJu*A_d8;f^c@`LaMQ4WgP73VZE^z!tIdXcy zlSp6cO`^UV`Tq1^(By+xAklVs+g!p^@3PJ7iR*iQ$X_a}7g>I};^)SepDO#H01%zAb#)OB~*Pc;rZ}VyOFBi_R2@1GC7%yn`3Q#;%;q9go?gpG-aBQ>a?# z9#o-slXR9P(Fb-c+%odUMwM$Kmt){D)@0q=I9zg6RYDi~tg*I1@8JT_imkEfao=B` z_0{E8qPbJd$*dQ8tmA@BzY@FX9n5i%wbauoaDxcD^ctO9x#!EX*t*#%Ggh5$;(p+ z#2(*65788A;KbaCPj2I8^DpOqz>D9r&3EH|9hCVZzPutys>aKdfp}A*+`4bd}dtGlQ)(c%2-UXVqCnUO= zZuy1tF$xewd7CW-_^Rr@b$@ui5Z@`zdnbMtUF&@vDk4X*%e$BB5W&?VqysEZWO!w) z{CP1xFJI))$CElH;eK7(XK0j$&3sZ-FA)UH$Gr!n6W(eCKzYFIF0DFS_IpY3sl!)e z@V1RBQ|1&|1={)As*7Bohb!OyaCYnald77QbD=w5Clw={&E5;o1N-z-e=HR+Au)hY~f zwC(Mx6wyffk;?SjanVVZ`Hi|G4cCLNXFfP2=yD%_}0BA_M4!E$4 zma4IuhpgT*8Bw7@K8e9~4_xpATzbfK4yZ1^--5jll{+41cHH$0Tp!gDBjn6Ho=!ad zL#Obs@dfa+s$wlKa?z5q@RZr}H{+)=xIh5MsqRGo8fVTF zBuG&+?ss`PyA5P@FqLD`*Llurz6r;iEk0wseknPwIq3G1q{$!Jd-Tq3NNcLA`O7d8A3t zWq!S9!5fRMW$G7dYiql}=jQE{=X>d6=6Js^{ZFTj`h$+^t7kA#rt*)>u)8x-$w2Pz zfaCPu^ah1@jwM}hy$Tk#jpZ?fFirY)rMs6!nv1}eWId0y(f1DdB{EPhqej*8ru7c% zDFwMWT+RXN77GaMFWJhqGk)XBy%5LIP`%Jo?t9v3%=1@m)Kbk*<9eO0Vla)$pLjlmPg|*~qq`&nva6{Hj<&n1&%{A`94#Iprsm z^NH74-UJfYim;G{%H5G2hYPHpnX6D;h*zwh#afDtiK~_T?tTZje_tjLkBL2JM>nob zTIUtS{2FR@brtxPox9pq*up+*Z4^VNUa3`9_PGVr*hdFSp3(Bz;P<3FbD zNVI4<$a_8PF4iMaDb3I)N1GjW@>@=Q9q6Zi%i$&x30HnVkPKwt1IbWiM0aOe6jkx$ zU_I2gf-nsS=bf_Kx>i>bL)=Cb<>PK9$NVxnb~D*B^d()#FjV?;&ceMS!%=R|%=4K! zm7P#ijQRZ<06ETknFXetWu znJTJUCGQ`S>U?&3dv?RG9`uH~Qd!wd$N0mC#{dx_`W&yxA{ku_U19Uedw;0Y3K~n` z@<~oUSN*8{j58q38oM~>NTJR%@<9(8I@i*!c^`aSeD7_c=96NZsmozEK!0`FF@M&M zpl#AIki>J#(oS8Z5M>y#lA5c2 z@%ZWS4PnqwW@0e0HY&OMK=C`OQj5|S03{TwErZud!lkCUg%-d;13h?7Gp+2Bnysqa z8(Gr9_JUHTWt+1i4#UZZNTMWAPIGYPGfuWPP3IQd0O`5 zHa?A*VHu)tq!JIKBPO6TdvGqZi{B^V)5m-ANN2L<&bErR4P#LX^XR9^?9OB{{LS3& z2h=Ma^(Ul0ULt1psNv=0lfgkL!4SWZ3**9@UPdE4KKSM2ld1|W2k$5NC&?N|iX8?5 zrPW7ejsJL^Us;Rz^sq{Mfy=4%ri5)vX*sp(N6w5NNPJa+zBp3*hN=|(#z!k*Ab}Z+ zZj=oq>XzHItsDPIy#qdS$AoOIH+l)_RD5i#m|tv{_;kqdJ-W93qwT};sRlFPpZ{WT z*ig69O*HUNSokDVB%st6wmxYJk7&bt?>;s4g?_OcT0E_b zpZDK94w!qZ92F?`b}6!7r(%Q)^e6=4G-9^n->^sunvQPcBGVkkCH!fH8Y^cl$XD!b6s{;M7t8pxS$Q)mwxj)DxzsHF+ zS@Hl)r(av?kc{^q%h?5D+FJx_|W12=SHzqEUHd1_x=HF8#)He#41EzMQy zwx?;dhiTsGrvg5*C?9MyCr61wzLXh4p6Kzig&1x@C?vh8*?F5;d>U}fzrw~fOSx7T zGc9=pTlB@n@cU8=svl^)uXMy*woaGCyQ<#De_2RERi*be_TD{v#wWo>#i%5`6Mh0@ zm#?O2+_$vbCiYe;VeJ_vuDCmOsJpqpnI)>kCyr+U@5AdGLR@_|C?u4_ z-Bv;vx9rjTlEN@v1h-@r?;kxql9UDXCk74_^Humso;Sx^_j^DLcEHN*#-pXDX_T%ikX0((~D! zS=X6W)h@*iAR}LW4;ej=v;$J8NUruNk&xe&d^>`9G`;Dsl@mOw7{KFr?yfkvm4_lA zQmWA=)k$@BgHC$vUTF0Vx9+e@F9(iJy7)7NGn&pp6`u|`mZ@KNd+(XR^YOc^7Pn1a zxBE+QE^KWs!>|aP-a4ZZ*3DA@=r>&g#Hc0IdsoE07X$>HF|jWcGTCy?%5 z?U>VG6#mn=mG!15{usJ6eW6By{mNwv~}lD_D=|9l>^e?MnCmb*6VOsou81{;57A9W6}hOEqfLf!m< zH{J~Ns9$0ro@lP+`Vx=W)ihw1yD_u5a%-@0t-AN)-?LlVxifdl1zwB{oZle%e=0l+ z=<0gt%9jOm;pb-NxUs$;8@h9`?Ahqe`5(dP%#3^-uz&Tp{<+F?9dVl#O8VYJ8@mj* zK8Ct?Im^Yp?*Q?$F5s+neX8$S1_sk+>h32z)va-qMx_TE7yElh_ps`URVsj^(R7Gz z1uM$(szuzV>5l^-7$z@$zOnziOTBBg z>glR>{|g%{z{F@c*zE6AL7vRgqx+L<-aVB=!dKh{E^vFsWCiY z*BqlHjPjKA2HlvcL=;tkf>=wD8gprY_4C{4;yA-jQERj=KZSdoi|?9KZ*IjpP*A^a zmzU8Ie=JEJXL2WvK=>AGRW)=)z!mq5{&n>WFR+M{&<(OXE1NjG7P@Do0)M?}wf}dcv zdPL7WjeR<&sd$R`-HEoTHbwvztX)NC=LgFkTSxAskCzJSnYP`&-6|LL2xw#bG0v|`MkGbsUGfXMS}^F= zlCXDoU(AG@o-hx}sb$p%TwW|}TH&yq0`=Vm=*UH?UsjqHdz}$@G zpOQXo#gIwc*Ux8g0d}WZ`nIP}-?e?PhoBPG7X&(DlrNt-eMRly2O%@+m(P>T#C^Rq(7P{rq&Bc>harY#Ff>bq{+VLS~<|eW)b8%6@Pc z1qkpdB=m=QC*H7TW*N-KWF99R;N?ON8BUUz)|%5=7!dz^>Xmn{D;m+X{zi5DRhg!P zfd}uPA8DuT{k{b~fvXWL5{OYbI5r9vwd!PYL|GY!{h7;(8qYQ zEf*|3S}CD1Z&xX1)hHg$Fi<-Du5^AY^i1Nb7dV$bfA3p!bjS@6?=pUab>GNqP*-1c z>hh=aNfioI%TO@%71h!=oShr_tjg@`%R=j*b%A(2zL_AG{>u8Pr*%`{t7Ya(y9>b~ zG~wmBzOmdvjxc-wUNJ<2Czcy`=ewtavRZIzhMRT0T)Xym4sXrZS;qT6BpW$z^;$Bs z)nb=2h*fWCUiw1Y92!p*CQ6POZqAc(BUkd3P}BvK0!$v&o_+cDr`3Sqr;aC3dIc8IY(TAM-HDLmJ`UA OA;`wo#`NEr_WuEUhtA9Z diff --git a/demos/2d/isometric/tileset.scn b/demos/2d/isometric/tileset.scn index c04ea5382c0264332d369910f0440d5ff5848000..e487285f83f7fc71b929d08939364c0e204f0216 100644 GIT binary patch literal 4476 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 literal 2565 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 QlRmQ5+7xKw9#7`~1FxWtO#lD@ literal 2100 zcmXX|4Qw1o6@I&O=d;g$@qg{J{KZx*l)cT$4-g@c1npHva`3hcenU% z_qw}xj_nkklQu~!1yoAYq(#I^L8(xHltN2YL@qXMX-QE~g;Zz}8x+z|6%YbJ6oJAd zu&Yl`-;Cya@6CHNyVEnW40oP&081Pf0st9K1%Q$O0B$*QH+5R; z-3L%XN7*dY(aJhocdUY~=`mBy>Ci+QnzVxBS~aVlmgYvf0h)BvjJI%DwtQw_xkA zj#hhQy_h%COoAY7^JOhf&C>hDK^S7^J%5Y11=vap{;WneY%QzLWYoMq6lW4110Nmc zIT7kBRSPBQYG60UeSQGwpafsRYN=bQ6&;As7TC&18d#aVShL$O^_=P&+PIZmpcd59 zaJ6FO@|Nu?dDYFRJAy^SF%m}Ba2H}M2-)TRth&@nth}nx^#a^OM?JCC=jhp#QVv0@ z=MPn7jdaFUa;h`O{#otXs_CRGI~U7a%cnh|L9{KGry?|f6W#;5TIpMiEkZTj$E~er z>Cc6tuD%d7%zVL(c8@d?J8hWk&xcL=#`vMbg$gC7yQ-q7uli^5 zw&CiD1K^%LFn&6^#pmj_o@7zKl}b6f%Yyz?*2pUvPY6PheNrr@>}UlztQs;a)zZIN zknJHkD_IB+gU+XIJxwpG8%sf-V(XgARzWU*1T)fjq!%aDX14!Q3!Vj;+Jddp2-bvO z2|pPP$bCdB*fzbW)%%^CWw{w_AAg=KT2@Y7tIQfX!;NM2RH?UAC%RUieZ5p0E(sYo z@$FK*n6TWamzX6Ng3kZn7~28Pudu6$NKm}8A_pYlfWs#J}xqbApfLXjeiGVeIk^A0UfR= ze*dSXbxRj_SmiEFdu32f?wfNBaySXPnyR@3{*L$npg71K|Raz zJfsfk2J1Nd%jiACarM0VIr6pO(NT;bNxUv~kiEx-5Z6gxX4}|itmTn5emg5&2cAYr}J5*0Na}dG>VsXqjiwdmHEE$FKSKmZ!!)VC`V_ zb@yMFyUQWj6c=UI$iuespU zY+W}uTtFKC$A(=v9Vjb@$|FB$TE%Da=EV7rn>wXMfbi!%LMD!S0l?We7ttgoBYm3% zgp;S#M)94?52PNIl9S^V4p4p{|CkcEy#jcGyQss0)XD7*48_mzf?dG?PGM-rehlGT z7?L({`y|JAc~>VfDqX>C<2DXRYd8>p1iPmm#_q}e7}&WFWqb4)zIQD1FGid}fh*S>v5>j(gdIN6_M4&T%j2xUwP*;6oVl>enF3#Y51; z#Rm8)=;hx+!ee?L6~0dK+LrJc+~YMZUD^g4=w2KM_VG;;IQjwn`~}#^cdUZrUXCV? z0ZMpypP&I~=4{hlwwW`5v)ElW$XN?#Tkf)iK{1d!`dAI>)1xzheu3oZ`RGt=@k H|6lkoH@I(B diff --git a/demos/2d/isometric_light/column.scn b/demos/2d/isometric_light/column.scn index f0b76838850b30c39baf5d82046454ca11de14d1..03f3c2c97644b51fc19bd23256ac488da61c0bb4 100644 GIT binary patch literal 2026 zcmWkv4Q$lr8Gi44m%Chk2qfX)l8`S6`C$b@2`Xwxlh^ja5fa*vz<`a;_W67lH$MBY zeIY5dTu7n7U`zqV&r}EzDjn?@6m6PHRgR#csv~XbHf=3THEjn)E$cd|h@Xz`!_p`F z`+cA9d7tNXcMs3Qqo)X9Pa(iZJ^&X$#s%(7jtg9bfqcRgbV+ib66=u_U4iWdq{x{M z;3tcqkT8X&Vi{>uRvL9FsX#HATr8(8+eiwQq4g`K5LG1$d}ONElwxYy5}R@?*;G?@ zVg8QNgN&>@#h_X^Rp9@9u2{vFj~Uefy|tKC+T z%OzVeRY`-Xq@Ij;nj0H8NFa25i1i3f}6JBN6nmM}Oe*!ADcg#!~CIVZdm zoBy$&`!N0%`|ijV?z->a_yW5XLS!M^fzM!s{k_|QYElYibYGQEHnen7he@QcK-E)e zyD_E8eNt3Y#3@x>-jrfB&TAC?(pE7Srvz+M(yh2*CSfvZaokfqY9gVSVhLH7uc?-5 z=#82*sF;@67-?{Z0MFP>9(M$x+0lEzfv{gR_#IYyaVMPNl&CThpE7i zJ#kZ&Z6b-6y-_2r%ZeEE3qn${B|!l0Zf=h)*{aMLvB9c7{4S>_WvaFU>@G--b&%a- zE7=bnxaMw58CyER9_z$buMv-1iY*4*rjnpEWHJGdU@EdLZUN)i4Hx8*&%BzN=(Pp$ zTPPxh(20fPKC+MHst*p$fgUzZO4u{f>gdFUHQWRvq*F0+iu;c*r3k7XQwF5ZQ3buG z(O%EGx2;%JHyx${XEUs>CdCpy4~rzI-pyUbLsVx$e6~u% zHZ~8ZpfA_brIe6T2Nccm%n5H7LoU-GgH`v*kV{F4raSS@Hv&V9;d+OO$&@{A)UVk3G z?2ak%;asx7B@Bu`Wj1|G+Hl4rd~u1Yk^;KVQ+%7;aid@K(e46{x@I(|UsX1w40CJ~ z*0SgMUt<;biYum8hr$I|?xuW8Tlp0*fE!0kGjp*N1|5GXhHLhKUEd0(_{sQE{(OGg zQUpcsS4~4tDm71h#&qFLtRzQVy+++c-3f=8fqTL$*{Kc#&e|*$#SG_vS?9ehdyW6q z#flwk_?_eDu%c$zEv2=HRyPtooUK^$6Glo#)#@wtJ4r?Dy;-xxAanT8^wuneUV9Mx z_#Iz(S7zI}YvOb;8VW&uDU>bab$C8nH5aO}kho=X#o!9A#w(MgVyvao12LiZ-T^Bh^s}msvItfFj ziGbhJ0QsomdTN^$cn0&rN9o9Nn#UFBTf7d-A`vWO>#&U0#!1+NHI#7nuT+K>KE}OB zrTqc6g?C`v(ucIo!4nY$7t$piUvZ<@fqRgrHL)1;B6(C`l;$AGr+b_59QBmNw&M@% z6@10%wR1GRg5I!YL z&W^69BL#sFmU{}?mxjB^6fgBSH2B#8=E56&?~we;SKGtv$~9YW|K&_zd|uI|Z_h3G z@xCo&?6r>d>%aQ?!TD{KKOg>MLw`d_=fzh(_+`_2mZ~J_nY_KlNu(jUfS0XUVnMTOrz`Md(H2@*?a%l%0=7rzFGbLSol)o@$WW$ zJ@@FHmgJqm;qJ8?vQMsk;`qtq!L=Jd;x#!Wzy0Z}vzFefxI1+8${lBze0{QKWpAMhmXbtV|>E^rXU;h8$KaZ3E literal 1909 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 diff --git a/demos/2d/isometric_light/map.scn b/demos/2d/isometric_light/map.scn index 89002f991fe03caf28785dd857c9795fc49c54c7..da3fc5654f033d334cb5a7e4b602e0de349c293d 100644 GIT binary patch delta 6974 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 diff --git a/demos/2d/isometric_light/shoot.scn b/demos/2d/isometric_light/shoot.scn index 672608810f8b521127646911cd7773613aeca77a..6909ae0c7197e0620097eb8f772e6ba39784746d 100644 GIT binary patch literal 4111 zcmYjV3wRV&mOjh6R*FhT(FN#E-3>Q0&NuC}T> z5QL!uqJ-D%>Vn`p^R+YM>WaFKD9#W+Xvp{&#ZN_NeZo}0k=<3t$GWqwj=Hxa^X=yQ za&r3Is&nr>=idMSI|J*yUda9w1Be7*jTK;}4Iscm9DvS&NzdVcBRu32zF>_Q9Fjuo zf>K<9le0;&(E_l5tN@TQBI(w1^b*UU7?M=xa!^ig*YjuzdD!faDItk=S))=sk{kpJaq&?_ zNl+WFC8Y%Ia^~8CLz;VmJ2{e=getv+ONeB#z!^|umg7lDHFDZaL(+);i*y|pW&c?197F(?Mc#d0?a9ER)I~xNblLooY z53T+{DjteTp&$gl4qU@Q5vg+B!7X>YToy%1Hb+9V)3#pPl1!-*lo&93=L=kO!u1J; zGXyFOAhg5m9~7est;L|X%^X#NVw7y+7lC3XjRXw7g0=H!MqY)f6<*K&X@Q@3z1abQ zUkrVAQu^aVOMZN)4L(a(ct6Yc%4#qwts4{*Qj0IR7YaycdJA>xc8&<%3wEy<9~QNq zq!hbWbbW4;#VBp@=5fSw6`5g3XVy_ zd|ZSFCmYTP&kHhp8L$_3Oy-{9?>~C9eR9SbPwk|1hHcuj48bTFH@|vrb$c~&Wt=;= zd!9eL9e==aaFDvQ+fD3RU%Gy~;TZS!7?yF)1qL_n85NF04JpfvLoKmiE@nxv|B}7c zlh1a01RX-L*s$vhoGH|^f!U~C;_9&)0qTf3Q%%`HnnOy?M7m^eAJnrf$6zkoS@AKv z9{UaZF@67sy=+u6c&mN? z*VP@vu|*v>ytI3zaNg)#E4V-A-@|dv4Ws2AAAXJ(Al_I2TCfnVCDm9m7#=)PAjcD_ zq&p!8hr~dXP1^7&mymjYLv2G{G#5*y_P&dehYiy-lN^aOHm!PYo*SZ#zsphL?x;8- z&0E$}ZE)p$Ow@*qoO*~kpW)>AVAH<4fPoSH9q0EuPnkr&f3TMCljBl%fjQ_=LL+k( z;lh4@cq5rPxSp)lZFHRh$4%~pGIkM?|9r$(p|`_Au?fVvLxEpIf}Dgv<6~BLLREs2 zrtSN(>%0LotRX2ZrlLu|b1@$e`IGgp2A>9X-VaURIB)gbhHH4uttHYI^uiZ&yZ_68 zezO=%%EO~O3@9^e35lUfg~5gP?%~B$Qo%XYdj&LDL!NQoDHsQ8@Q<7n7v6!8*s%9s zDFLlv4M;TCdH;N$(6jevVs7+O&+q4cZjMOqK`Ewr5_+*|t3O8GG|WYuxP>0j9dwM= z;GYb0nPIMPUIH;v>MHfrxvn#Xl+BHG`ct?gU8?`8=ZkbPA4rA6L^Nsg*0GD}X`G~y ze&=CcPDEvAp693O83rc{6|fp#bD_{ki0dP)IQxR{JKmp4gj}8Ar_~m}91lrbXn)Pw zoflypE+HOVI=T!N23GvpbY}E~*w@$CFwp-QFUFKq!_C61k(A;=6o8R7KaO+>oqFtZa>Nvfd8;95-~F-9JQh`~Q)lH;=8$j2j5b`AWQ=@wQ*2}%vl zYYNM8GE6HB)Bo58*|i!LRarEwXA49IzW%8r;Mam82^gk}v?>!ZCln1zNZ2yP$!=-^ zzjM@-VA7#He~qXnWd{0Mi;wYtk>yAJ7v=+_fBXNZ|IEcqnLgJ#%ru6kG16@UJK^nd zM#cVwm>kq#HYsFRekM~BHWQ|~GU zk{Yp;izoFkgREj4KoBfw2Q$eRZefZ??_k~0fdaKtU>PmIv5fV6-rK)iiEWH6fU$)c z?HKi}wfOx~NKQJJ@QG+D;@V@?l44TQ{C>kc7n?wE-b>5zMutjHg%{)D{6wFM`p_ESb|bS9@NWW@OZ8ReM5ILY6WcUL>Qkmt85N{p8C z>+WtrEEZm;ZL}E+c!r7s@>uQNN2^V$6eSyA*swf^^Jz6ZC346xAMiXtXBcqcsx+Wm z*;Kc9t7t8+4Jws7m{5wP4S>aXPHp(`D1hV;NG+2SY5NrJOzTmJ%Rf()vHF>{SL^kH}vYdFXlW#D;eL; zXwR@c)IEno-mwoY>oYx`59kb&qRMsuWSAvy9JY3E3g%5|4(#I!7{4CnH8m2TEo|CZ z-T`ug{@VKp=ifqCn3i|lPVeqo@DWVs)KuNQAVq3lsO-#O7aq#Js#Y1P-Q9o_mibXq zs|9QRjn;X;M&Be{!?Lx1l)u9qWb787vjd6mt2w=R5LF=`H(7Px_~|<K0cs@{uM_<;Zht$K9N>CB?kSuEoS(B+TXx0*WOob$gkhOh#wSUJ1BnKDluTdcKv8)#I7FG&sAMgd3JlJkY*Vh#a; zWB2V4+VvatYuN!>i`K6BSVi8VGJ3I!b+$W~?I_3;lz?rX$Fa?O9k#JBx;;-CHLab0 z?L3UFcwKKTDm_c^O7}2s6prGqRbS&SPdo1FJBgaG5?6U1MK5~`=97HLDzzYP%qlfj zG#-nfniOHga})M~gL#VZE*5c4&^LpNSaCBGQCV9%W$T!|59Xw;y?HpnBvBCtVct}% zf!WWPu(9GQCTy%&pPg?Zo3EM8cMPl0&RXCmS(I78Q0A5Fa1R@9VZ*H~XKQvjLOp&A zi&)mnu$bkz3`>{=Xd`ApgQdhO48bxM`4*OEEw=*nO1LI%g_UV*U5;2*a}#Z2zt(ww zpjPm(xR<@s3ce}Z$zF*-7xOp5D&`kKH}m_l#e5Tb8D73AtS~Cygg(-Uka-_glYG>S zvdhA=%%H>YUiPp{IB{WhYS#tUzzWaqzK=j`JT`yD*h~BU2p$`2txZ^FOAe-Dfw(9~ z#b-e$({jev^sg$&n~Ae>3VOPI1MF+)&$+oaU$NuNV?(Fdm(W!`K4JY0yFY!aqi+JI z=X`#pG!}jOz1j`y9Scr8vuEiZTmQ-2C#vu4fBp^Sy!+B)g(sIjQl9tFzI}z?J4P@4 zaiFB(dine#zx~gucLE2?zxeLc&nC1NFW8H}JiRb?hT|}I>&8<{1Iu?jc1G@dDSzzc z1=Gi(vFV4lAG=}yh3o&}6Gy|oLR{-P_IhRLotMu&QJJ^z75lv>Vt6d`{_o@M>;Lg_ z$1CnX2&*PyhYVufAU2vitkobk6)oi&{4v+VI3NN1FoDC Q;h{SR)(v>F#Q~ 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 diff --git a/demos/2d/isometric_light/tileset_scene.scn b/demos/2d/isometric_light/tileset_scene.scn index 3d0773c9c54f80081d472e133ce5866bfe12e149..4841cc18a7fed8587bc9c46e53b0c19a2b954495 100644 GIT binary patch literal 5339 zcmZWt4OkS_`hRC<*t9%8IC{D4dyHPy|Hzh|FweSq9k4vb*grBHG88 zwa{+gL({@(jol8~UmSqtMgU?2xM%>_ix&f+FrZTm3^0U+VT2vN!0Bq08*5y$SB9-) zNSrzuz(fk+2EyJDkb}PVfJ?S{oozB$NW8_>9t`=~#Guc!R1Sy@Zf6jTBr(eGb9+NU zDc=xu1>F9SO)*GmMwiDIlp7(2WSLy;9*@}OYm}u1li%m*Z1#B}nj}Yw4ej1W4;cq6 z8Aja}yVJYW87vFQZI#ZD9B?~5kVI0*#@LxQTa(A<3y8rMXQLd*B_pKyrdoMfs68OV zNR=69cDiJ{&*KZ^`n}C+Y#k)3kjr#9$>XZ7mfil%Y!|tIT2xh)P{VRC&X$32cmA(-b{sWwP6|*3M+pX6u^Vpn;CGnI}s8{ zp26<(E|r%pxMz`}rp4)(Cp%m@_N<-rrC1nCj7qGI_JRsvIB*Pr3ffQI0e%EA>#JNY zPrLO`-8Yei{AYA_-@W_-YN5a<(IrZ(s$T*;iItY9+55UHq*)5k3JT1DV`@PU1vUDL zYU_y@D*3F)j1me`j|xj@otoPt43jE$Rw}iTf)WJ@9C~{f|}hU zTtUEXVFZmZb!y(ezG_nWWnQk*!%w9fRTiY$h7z=-lqhg+{8|M~!X#-uvXbr#*HYt` z`Jb*Vp(SC>p-Ap|{u4w(9r`>?QfFvC>S!gvdDB}ZFP2&%g{00MSJGS}&V5i91S?5^ z8HA+?Y=bi>OID*Ow#gxCbX1hZ>EZtjb6`8*zXkS>H+l3{jx{p}%}-|cF3HV{HbWN(b}%R$>Dn`CNvM2e;( zR9L`3Jej5H67}xpW;q~@R6#V@JkCxz5R__EW@J>GGuR5rWLCV(=M9FO-jL{Vdu3-p zTq=`8I(Mkkd4~#VdZ)L!-J`PU{3H6NfZG+K$M_qK4Ze1-ONQa3I=Uw047pu`udy@Z z&t>y(T&G+ZVCK#FQs2<-_B4JSJ&JcqAA*>%4Vu?X34h90>MPvMEurI&5hq;(zCBM% z_28idL@6>ilet~YNMu?@}w7{ZWldrQ^>hrf4dm+`PHaQ%+M|P(BKP=|4ofb zg?wkDYFLB$Z-k)Y3r{PrhM?3Oj;FtL$J3xR*qu*fc>&xR4>N&w=Mogg8QPqIX1CX- zyhW?K-*`PpERSz><-UBQ%Llwl33oMVGZ2FcB2ODN?1%q(C-F zr71!bv(z~uuVN!@f-*A7L2;Im65*RDQIs3qp$QJ1-_xEkA4KcV5F)RDsOq!n1eW)@ z+oX|>H8f88>&|Gp7tP|nwXUKq^d&li8jV4((=Ynn%QB)=b|U|zl)?mjq%(6SS;@%$ zrjhK%nEQ(8Y|1jreO7Pjjcn$nw~J|9`6a19%B90~*bcI?7{b$Z{!uAi7mz)q4wkA> zJLyCzoox=d8&&`@VjxI<0w>GY!@3O%bUxylPZ#Y6nch974VW35Hp3c`4 zl#+~>cHU)ooZi=myOcS&Gg{R@%GW{u$~r31Np!WYQEpmwnoMEDPHD03j!%g*gId|; zO->{`3vks=ueQELPoyrEa;ykJbFJkWI((M;&j_455r^bX!v#@6$AP z{qn_>juJkFWpssSa(z6QJO;?V=h9-wiN=>XT5VB$1=B>MA^I4 z9q@VEG8-fg1Dj3 zMfQeNJqNMfT(mC``oj}dKU%#OR@a94GjK!35&cjyGF~+dbx>eQJYe$fux8PP&^{K*s{c^3kG?cOLo;Wd^mSgcK4?oHV1I-Q6WQ-wAc!;D)&j|yJxJ)Y4 z%`ClLS`DK}R^so(#vUDL_lj6SLvC+#P!wG^3BS@(x;f^LqXX{gpk$$aQ4>96Owg5? zCB@qds3QWi5WENrok@izZF7)M3?d#UWZ6raDdFABWQVk##-P@1##_%0v;Y06vjTmR zCh=ovk^+p%(;d{pn1MjFvfU0)MwGr-f*|oSI<-o>nlQq*#y1 zR6qjBEMfEPBex?(Kru3y=}ZdPsPziA-v8>+h66kRc5VX7E=D;@+3;%Kq9nmyvWH3O zlMXX<9C?X;iRTpyR?zG8AZ2N5xPvTKO|9X2nyJ)7n5=~}J1wx0RH@PR^svg-GkUQ0YNZPIeMj2g)EZqncf>GW9FbIbcW?1F$kPTwj`iijWu?UwG7d;HSyIlydY$pfblNInRVIxr;G@rWoECrk#*?`$G z()SezzmI+wU|v5VRj@mv>sO;i`}1my*pLq(8S%+6PZ4=bx9I!=A4+mngUH{Fa%NI* z_^4x@B0`*X?Xetmu3%>lqg0b5HM(^U)}L0iKZ*E`YYraA!&e;5i5Ro!AkRjUvNSvl0cZha5)*nQ z@~LzeUdMSe`emj`^cQNu(TF8D^*>ji<_oXQU7`7cczjO8oE6@~XKGfDWl>usHVeiO zKZadQTZK#^hhG&*&CLBzZ z5GSmn7so-VpM1rDTDfCCUaef-zGQ<@=-AZ#Ts=W2K#CbVaa&r zx&e)}YV8%Y{yPOVEP#h5z_yFAuvn4M6^v#oK{x1jgia=Uu1otLz_9qkRvQ z5{rEW%ppd*%g))0?VNBL=8_}|)W(Z?{Fd+rBk(g#urG?&4y4Wok1V=}J}_KzuyF#W zm!W#pHrbytg<9I%8oW-oN9u>#F?z%O3+B%m9+N`T^ux>MI;zP;{uw6QG-$j%Py+Fym7Pt!urmOWKG|tEl-Rt{*`<8&|Qze zecQST@0|Gl&8O^TDFbB{T^H(J7{6pu*$DCFBZJ&$OYaEHdSc6~Ez8I5{ixKj|HV@? zC(Zoe>&NcxU(ITwSa--vxNV}) zQ5ctW*S+&HUwr)7)2k*5wPi&q8`gH--_`kux4Dd)`UICC+opwv#{t#H(^>y2T6uC! zSN!JcHKyn-;w>k*v%s3d-KM#Y4?}F@{drga_q%Y3;o+E#6}QwsK7H7!Qm!BFjeF>T za??K^yK1CQK9t`>3kHkQ&vqtyryg1nGsAZ1pAEMa4?3F$W?7TD&o^YbfxiB9 z;m^B%7zvKo@4Mgm)NfbroVNXkcM8?n=7rqHpN#nN%9rnVOdU*GUG>^8E4yB(hG#go zXVM4bx_ZM0ySRhjUP+$6{*I5nPyX$rrqgMqX{GD`HmqS-W?jXjov*&VMdi+ZCmjg7 zPx{|WuWD{zQeSuH*WXNuiGS|ZYq?wL(Q7*%=I)*K>x>-_oPU3H)ry<%1h`{h|6+2_ zS$5@vmroo&zUkx@?mYKfX3w|jEsJ+lp6a<+ap~L@5(kZOxBf82`9Hf(-krm>O$|M8 zcKKWQWw&E@)3iHl^-1?xFIuz`&1u!KtZrOSUA$HDciJ2<=UTJtVYx<~~lFY4JWI1-zhnx1`F$HYIkKeq3Kwg33> zUrCRTJ_*FSnR{{biw8SP9GxS?w`-K}%a@nk_VGITp*LQ5?c*K2<#}N%*Za+9hn~9u zZW(;_ry~!&@^fUCC=%Mb-+f zY{2eB3(OpFq=8B9h9=y#0w$9`^co76+{|UJ5h1<1269Q7yCxTM$=X~CZEnJ~&Gg#N zB<@?8WRiO3?f3tE@4fH${>TG^k_7f&6~L$M08Rnm2X25l2S6DS2Vio*nQjGO0drMs zRpYy~k-@l@*4RSpZh&&urN~gp$||#(p-*JvS}3iKYv5zmzW9WZ)5m2)PfcoBIhIrn z5Lm4%qbJijLuq##@oX}a3lZ~WLOi7#+6Yvz=8E`4DkYEWBN~*kh3<@=+LzGNis6!D z6X}r@yB&D81d~2VO;4)EeK~D>i<;B2Ni_wvtd2e5+z<-wQCY9s7*j{IY#Xaqwv=tt z_U0zC8Z5S8#ez{au1R`I&$eaK3Cp_;{1(^7r*u7Q@!Rp+_>wcF$JG>@aIA)U`~d@t zuW_t_oK;cdSPO4Z!?%Oq$-3+n(Qy}y+beg&PwbU-Q04k^r2}@_EBC+!du2U<+g#f_2(`EVA$?D&WVed z$Jrl`rzRTzwD1snQ2aoA1h*rI9`qsLKjKc)YdLp<$h^uc|ne|Zw<+KGmal6%aI$|k(r?!~eW;&uKEm-_cnk+s|%x{=GEb(+< zy9(CI(+AhlMNb!r=?u5sTJyrC0k-AZnl|&acsD*_@t|yrMd>CpYQpRtM@_mCRx6Ja zCh>*hHWaS4|7L#_qeWYwnYJ6^`^1U%;Cb|0>+Q~V+yZc;?9EL_qQ8YY7Kjc-jp(jT z#~cPUvKrXNc&y=Ls-Y>3@W9HQD^9^e=J&|S@r<6$$r&{_mbg+enKY8IWGb247g8!9 zb@*3`$E@Y`j2dURaj=ASS&mw#p`}LUVqnv^Ek~d{l}wD~P_r$SjRrRI{8+7Z879@lcJEGt*XPQefdmO(iq(n8j7Vq_W;I zIht+x^vE_CD|kd&Rr*^l!UQ|BKf`CWM6%`e`wyEHyqwkIMY-icSgUM=*vc{3HFklI z>#0=3A+}aL!wu%xC(d|SAKBONBa~WxU7pe8xIU52fw!Sm@$yD!bx0{wf2Ne71NOrZqJyPipK*@%Q1K7A$k9=>)rK zIhKp)9L*-78{vf}PxMnZ3`A<&?S^h#shP?Uqy8XiiN!cgs0FW4VH)=p!_U>ABXQTCM=J ztDTnnJFsT|l&Kfj_0h{HiDET=Qm95l{kuXtdc}_+*1YOumsc62}|&sJ2qdlgrx;-^EEmg zN+!~JR%>_(CYtUG_nWnM-h@nHF)E9U4MDLtJFX2O4BIhL~jaA~>t zn4E3A3VQ6brp2y=78*~cEq)=V?o~xI;4pI9{+G;3KBFcyb*owFoK#a2n)+SS>(=&W zWNjpQuo1G2$N3R$L{^%>&?=?RV+%oTln%VimSaVDL{KMk`kt(sQ66(mWHMSd9_UjRP1Df&J1i(dpgAbsYCz_U7pVjZMc9I+gAu#yF^4oz-S zUG??@Yv4Av82T75K2n69S1@*{fit^t2)%uOD1sR%`s^W(%?Q#j(Ss@RFF;mXR(;^e zP>jle+~joRG-Jg8uEZ44>fixfgq3vSBR-SdtFSb5nZoemuknKYODa ztML8CPK#TGKPoQ4aMNyx7yiEIQ|_FI%TRRaqlV%aK0EcO6uJ7sCG_KQXg7}w3jn}H z6!6k#L?gGd-I}~t-Um*a`m^7#ZWj}f=ch*1tg@H~_+N>xVvbRLQW0o)R~UVi(#k1@ zXnX9KVvq?I;tGmI0;NJ88z_GY!bsBgh`6RK;~$?IMqC1JwgmR#v{J*reWkCfSOfbk zsNs{NwXb3gMj*u^F3P}JaIkxTBR)$gpa_){h9+z2$z)bfk8A0iQcsqs$Lm}HAedC_{KD1Hc)4gY*; zIfW!UDf6uQwO4R?@SszjNaf`C;n>r~<*=Bw@alLh+4zpR+(og0va90fpMGj-SCO}G zh@Y2^lo@0C9yyUsj#$q7!XGM2U4(6NAIljC|Ijg&*3SGZ|K^n|_u`MagJv;h39wv6f?syIedIy?7O$+1XzOxW?!0_hjee-y@FVU#MFHutR> zL_N%!aRYDHAmaCVy97}>OyDdLe^2@G3P8hi7SD4YU{G$JlmNOS08u7zen|vD>Hmqe z_qGqhNgpSH|vXstjagJS|~oj?@?1JOSnQNcd|{K^Ae5#u*di>=JMU9hf;Uu zH6`PQ!3Y%jNW)Qf9PUyw#n)jGTTc5rY*?G1fZ|brDhF4z&-{AP;65h;P$|Ixi`Xyr znbYtbOK^3UlxYrcXM6Ar)iyp@Yr!;zP!``YsYZ~CLl`uNpvdy@Vc}hPg7sVFL-?Y_ z4{=U<=4VOya~F$4;Rk8cakiPAVuTp;CiBoXY0%<^%s(O!%=;Bzc6hD&$x*fFjtVr%YM&6=d~e8boEwEsJ?t z=T^T~d^Pf+DMMA`(TlAlS;whX&KzKVt9)1Q&*($EAtHno?mQW+NT=hVK70V1EY83ndM2}nE!!Za6t5d-2O zTHB1>;SdHb9>i;59~zO*DWrqtH^l3hK$&RB@=a5K+J=Y33wSi@!DG?Gn2%ayj~eoY zX*`NTkBsrKjAwgZ#_szSJV@-Y9s;b&YQK!nTDvZbetYUNETgH`%i^%uE)HA#Wic+E zB|(mgy?7Hnm`5*miU)~~(IX4!6OYXVPGFGq2qEKW5Ht-(QvtisN z^@l@T0~`oZStt-@g7mG2Ci?bA65+FOI~n9CG}G8N424xnY)<3}FcLP?Ot08Xtq(g; zkaP@K^%tOp^SrY8Sk=(r_E`YbAcR+RenXq&7Ri%`IS_(q!V6=3?hpnnNX90Bab}rntFU zCXo8zWvvvNc)Uc<$P13eR%nd`~Nuj5$? z?q2K$%DCbj2}95nW!r-64VWWj)?Y?>CU9Al@JYNGHV8l`2u82W2J>_nX5)GMt64sO zu_HW1o<+#aMvvk(W|tI*ZxHiL|xK2&Dy%M^R^a=dCBuMwl9eIZOQNXQuoeVu!Mk(7_ybvP8?tvdvTse z!=uCl*0ao4`p=8GflU)1JW&!4I@vJsfsK?tpwC~j7~D%|+Vg#vzRsuXn|xgJ@aKRs z9gz)S0yDk5o8U)I0Cs&9fHE7Hc9lin5=bdS3517Lw5ywTwb8B)i-!{UHqZoN9teFD zxNPKhQtKnK#{q(4Qwfd<4#8S_5UN-ZkClKpL_iehfmrgi#U)W{N_^(w=*2ksqEG^) zEr4ADhG`c-5XpKak6F$5c~~M@ki4ti@)A5TFyrqf-|oZB_C}CMO7d(xF(0k)P|2sg z*iRlUh#ln5!q=izkZveND|Vg$e=A;Do%0dulM8Mbyjq@W=FGM~Q|JUJHsZiv1!z3E5~9V|2HHl6Vq*a394C z9{q5C!2_E~+Isp`Ac)0iSbnz!3qa5MkKLdXH-w>223Lr(+t(rvqn@6q?MEkE>iAF zs_BF^3`OYSbv;Aff@!H4+R0f4IqWh6a|70BMzxE|xr{3 zOnfdml1;~wYK%UM{qA+@HY;nWFoV<+yL?d~U=AxWeXATv>XFV&Izcy-gp~A%V)k2V zYL!BcIW#2+UK{2XS-KG&mhl!|H9ASicC3d=8(JN4C8~zRm2}9Sx;?jC*^z8wr@vqqz{56Q{5 zE1-mwLM;(c#9L7iqI%k*vyos~$k`O+)24=pSQvd|u5^Uy&IRob0SEDA`jlY8OvtSk z3jk!mRhWBIa3c4150+qsXUCsff}4w9=(#-WNgFCW`9H4+RxYgSc`v?#4egRP0Nb<1 zZe08YJ97;i&up{nPKll3o4lo^d~+^wJCsj^o`VN!l-<7TLa?jr6C$`Pu&b*J0g&+& z4;~oBM0^h^frm*6cL1eb(RyJ(NoADx_^AMNND>en7cQ*qIglR`--BjSnX4lzmu)Ah zDFFZaPFK(7pDzin{Q4f>y-Y9{Y<+xvzQh6W&}((H%@zPxObKa5G^q{_D;afuFTFdI z%xwaQ9m|z)M3k&|h3(RVTsho#yjMO~6>egIY9ckTo(R$%{AxXhcVV+jmQ$*w$TIah z1~Z0cy$g-*v>DfpR3M}84ukdd6Nq5u+QY~FkHvOFpx~xtypno&LrsLfi^p>wko_md zFUIbQo_DBeC6a9Mh(7|e89}AR{(o=z3uan3@J!a=lL0&YLeCNY|_#)Nli7BXYw^Rr}aJwEAgW5Gx1eWn*SDi0y5;g z5NSQ{4rB~Hs+y*(6hXc3q75}dOpPmKbL(v8Nldo<9(9$&&~+<-j>sll3#R%Kd07D) zf(|8WX(Qurv6SJ>jOu$#+-P${d(H|<*3z++hTes5!CG>J{1MND_tP_;5zW*hT2iw{ z1G!#$M%=E>i$r&REd8V9E3UYf2q-B%+Y-f=e7TU+;wt@3Xj;Bv;!){SA)^=yc?)8# z`^ZmQTX9vsvgrh`DzQXszTBPE(yC&}BWmjja)5&>u|FpYW=2cfTy znq_~^*9Zwi86jbiZEgot+uWK$J#SjZ{ZEBY<`*uT>Qa)j5{;@!Tj&BydWB1~jdl39 zd>6!;_k-46V)NhOv~=rMT*{>r{#$KcE>uUp9y*>6@o_CpI%$>7_Z1CiRe3~dzg-F1 z{DgEf$dM9|cRpjg>I#Y84$z*S!hGu;T&o39pa$D_kN+4op+nhXFEywIQgY=u2@TFvQ{9Y zMYr^RM5j0NTt;1ffVzL!mz#bC8kHJKaF)X|v_!(M9_oaoZwjZUcmEblI!My_%Gj%- z>7NT`(>l(QFT4KEde&<;OR7CwHhD#u(dXmihPG>McrQf!k3)3)9&XTTYI8&-JvQpQ zTRn}ZV-tl#;&XzW&BR)pmVblUZ))db>NfgHo05AP2C6UkVn>cIu{%Z(W z8?No>#}7GnyH)l-hhCgd3Vd3Ql7nE;T7*I^U1f8%_y*RZEAj!PJ6`GE44q_wSi-ir zkcbN$vaH6m4yQxTB(sU;N}tGEs@c|I3+*_&_d2aydLNe2=Y8L7{%?AWne^f&@&N|% zG)_lXk(pL9a;9ksByGo>_#oDDhE7I(SIN%VZ%DTbk9zj>;1brk$8=h16(rw$d{jsxNlbnP5MigR&q zTiGzh1)MxeH}X6FKolP~31e}^pq1?Y_$-8FxPy=DBh^r{Vcv3~N>L97l6PdbM6gr1&tk1fo^ec^A2Ggwo%XBBt=V92Iu@_I#vYH_e_cT@p@;_~;tZp5RP?~Qn)(z{16@`7CnHY6sbd!Ok zR%VH1=oE0Vn>B*lAx5?fN;<02xnDYj&%!p_{VZ15|5vaV6h!Kt#?Esi622ce<&+*% zK_KP8Kv$umWU_0rt}9Q1s-1r?G(aV35tLL!Ybwh%6v;O*7WE43zU(OolNN%wYKn&` zG=~{@nf%TXf1zKhqcuf3D>2r*9ChMshjTcr96l&}J(k`;vmf@vfobUyRDUV4Po z)05I|oV<-L<`?ySmF|UV(l+BpJ~Ox@8`-qXz?P+@6Q(Rj_Di2*AMW>j3Ahv^VbTgb zUoo*fQH%0wu8w0NW7r~B$}N*(oUm(S^Hm zA-f2$j-gB1N`T8ttP2AJh((j~OyJx23lv}`RuT|9$sz~D8M14N(bF#X(AR>io}V>= z=ba0&I=JYE<@DR)%NRl(qpV_C{)cidE-&U>@Kbs(|N4b`W|=`8#fv6`Y=h31)_pDb zn9xsUS8D75JS4w?%0?c@xtzduvBI7_fXN`&d6-SgA@JqX z7=9A##8E7fK45l%`2tW!9QY=#fC^H=#%wCr}6#Q0UFE_bC+mQY=*E zWCaRhKhwAo8>KtZ1y!UGE2Jg35xk_7=^w|s(A`+q7iUL-!YOEBl~hjzJcSpbfm!iO zDO?JTOm?ZbmtB=U$VD0Sa^Z8}XLLO@GkTqQAYO)6QpW5ohBmfuqsSr)?QEY8vzUku zH!(U09gJ>;*^`u;1G%lNe@{*X7;S^Oj2?!0lRQJ`K=(lxV{>^j}GW3F0lia-=Hg)s25f;UWQd{>uTbX60nBN zUSt4ilHSf}DS{MWcJCk#7-YJ(NJsG};=NeGGGra8!zc_f4eSO8c|#SG{{zyyo?#!j z3dj4_IT`3wWi5UG>kI{4Wg-u<#Bt*v+}3b56-g^vQn?1dAa%|M)~;SU)lPPk2kXzex|*cM&tIIFz9@O^!|=Z~o&MdDEi=FW>-A?_ z9-BC_`N-^n-#gd*tnp51|Fv(n)<-j^KGf^ij-^Iw5C8S*kyvfnU875$_}`&}(>C3G zrSzq{+b;g(==Q{$Crj|h1d8uf;MuUZ?^AyTzC0EB!>fBwNc27!7#s)z>I|~u`eJ5C)9$XTxGuAP^HA5lt%8r8ot;@`*YP#%Njv*} zQ{Q*~I`?(%y{GOy=T8O(!(pgAwE(mI02@63K9X0cN&qMdATT#d2r!MgyqopdkP#n@ z8Cio}#4n>!tXta&67xu%o#19}SK3Ub@>;b!W~D6~rn83Ww&7R>J7xs4dd2{m)yZii zo6M)63caFb za62*E%;kecw*U<+Qx_{Zc`KtjR(ja5)u^dE+Fi1($IXHR)yyxe(Ly$!Hsad7;9<3% zEynJA!8TwP^Ra*OtO^G6mK{r}+Q(97E}P`8HkiSo&6Ut&Mp%)!C%}dEUMHo;tzBv~ zZAH1K4Qi-PG;Kp$faAWfo*mYm^?4(+QD>jKOg#;a92OOi;8xMFJK59v5%97FuCx`? z)9fW_DQpzkbOv0SDP0ODT×ni}uT%74qvSvoln^so)4bE16qA+~K|7)!V8zq1e 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 GDg}{HE{}-GVc@F>p literal 7459 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 diff --git a/demos/2d/kinematic_char/player.scn b/demos/2d/kinematic_char/player.scn index 5809c0e98a0855602623e59ddf2276ede5cff52e..5ee86ce85d5909f920b50d06e2343faf9849c05e 100644 GIT binary patch literal 1703 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 Wq~i4K!s(8PXw)#5pHt_=-}PVgtPNTK diff --git a/demos/2d/kinematic_col/colworld.scn b/demos/2d/kinematic_col/colworld.scn index 064ff12075eeb348d460d2c64ebcd43e81beb544..06607b7efdc6d64ed3d245058fab5a60c0792a53 100644 GIT binary patch delta 2649 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 diff --git a/demos/2d/kinematic_col/player.scn b/demos/2d/kinematic_col/player.scn index e558bffe8e315a86b5f74e70e5ed1f0c363d57de..28ad204472b16bf585c51cf2d5cfd62ee914171d 100644 GIT binary patch literal 1625 zcmWkveQXrR6@R;XAHF*qAI9e|I6OXoK@vFE0o=F=etUcPqXY^*Xp=_G&febmyz$=d zb$8F$goq2ofiyxDAVLx;k!c$gRDzNsRc&K6SEDvcLsijAZBo%{N!vvJqoNT_MAKGu zn15#8yqWiYzc;_9nan8)+#PWMRu3SD00e-l0Ae*HfIuXuCsM;6O`lOje+mAxz?sqbUL6BuetJ;dHueYV*w5TrALCu#fBxR2&AY{cxvP zwu)4NC}|6rwyv3ESo{(U$RYt>N{EBN7896loMgJESw)lOrnNE~%+f4&LV#>TkRQhF zgcC;TMtD!{Ug#j}@S02@L}GHQ=t7D_povKMr|NqGG?G;fhE=Y3>9V2EXnB*-CUEhv z;L@BgG)pDTo$*8c z!II__4eLhZ*^pXdo~EkW@%o*H#Y&oI=oz~(-<86vLAUG}9@9>PckVQ{K(5+?Cqb#5 zgdBcIw#fhiO@=ZdWXib|BO`=q_LA;QqDPA^#*Wt2u_2xqwp`$4LZeBLR%b zEAsmRu9gw-0em5b4`X-c0V(>&?gw!Q*C1q)7()}itYCPyqn6D|*Mg|J9=QW< zm+ea%@IFblj1q0eM=?%scdcZG@C*V+^{uV~j>r-=VL0MiT3Ia{bIkMuo0K~?$zCF!7T^H|cpV}posB|?YjW^51vNO!A1WK3q;Xi{{TN%q66 zA3TSfxLI_JqyOY7haf@fXuA(5g7(yu%RG9J@AfD|v`2EM?E`*9QO?r!i^Eu|0dAMi zi1w6ATf--IR+r6pH!fqVFI+wsxe@4>_rv{9??;LQcr09CQ>Iaz_Hc`!&eO-FLm!e6 zTz?nql;&`(0ADD)u!qDcdzOZ|xh2EPw-}l=*nzU`^sdi%*ek!IjAK{k8KGdLIz&rn zbRB0^)fSWqn8PO*6V=U_fO)@;3%{qm_nDrJnStf;9r;+rWh%2~4ac@hy|2+u&gd!p z1Ut#A!D+i_TiQoK883=u+tpfp3H(QE{KTUFzncH+ntWY(;Yw0aOMR05o#nSN*?lyi zRZLISkLQ0{OO8%TS}AX&u2qx0p9-e^>=V+09F?~yUT~O!rQE_s|ag_F@cS zdX29VWBp?nCeCkoapC!eH@Llr0@mTbquz9-l(#g)gig{5?-MEX+@9TI4bcu<7igFm z&rXu2An!TYP$vhZUtFB|IjQeFHIbF~J+knR-@g?-I?%kJHOL?JHGct#f3YK%fBTnn zdgsdHPi*+5A1i#dYvkmu69mxUp+hzuTAmu;Ee-QoJd+zW0FC7=Bql+7>=iz0)u`V(T gyPH=hp8q`X2zjLeCU)%3UdqrTFqxZFCi$oGe|9hSwg3PC literal 1495 zcmW-hYitx%6oAj{?4#W+eJ$+*rS08r0R>^9MNuC1%SC+;#fw7*~)~jI?zBmgY1CIOxK~SgN|nFB{x|M3eZTp8H4#0JtdjlJL}3lZw$1VBRZm(aHQGFZTej!WGT zBoS$@&w)PD2>nFF`L(YEXeG@}TXmBaRae(!D_bS5v_4$X9eqMKbhnzMVK62$G*asn zt&*yd9s%YN$@6vk9cJW|dKa{Nfv$jMDlVU|MqFDpot$MClO=2NMNeq+*_KO>aRZ#V z3~XX8IMO`7qFH5g(xok;lU$jk4fGS*i0vK>sk?b>pPtW?+c1~B)vQ^Dp=X)0Uv~>h z$Cdm7#Jo@p_Fn9zPkH_UvPICdUgN5uR#0tKb4gbEo~{Zzx@9Jds-4$O6%IM%M|twl z!JtxPuBs^N@qkmZb(itOWolvh2)OSYkEe!$VN(7O*CEI!0cdX>a9IuN3EV1%uO-&w8XQW= zzqS3FdIoj;2_x9hKj0!fDeuI%^tX`J;{!fZV|1a9=Q2HtL^zcKNrgm zQwR$dth{BahUdR2t;U`ZGb_4nnMKKvYTSPuY5MfA<%!_kIpy6rB}Yffmp%q%(FR~z z=!?VH9m%qsS~gt8(DQ{uqxEk2R?sO}`<1-Ccu3ak^JSIJ2W#VQFg<^l{FCpX$==;A zUb%dE15T%3y$)2c%l&%-%yo4$|D}R^a0xzfCc5}AI5djW{^bVgcNT90M%z+FOndMx z=X&&d)2v^!88iE5k)#9t6p!NNbmNWo^|%~i({li|g@l<8lWRQjF{8xn73}n1kyHNIxT_cW@cv z8{NbdPGM^E7EJL=f(~BEZh33YLMPdT$41U0NC)t$bQ;g5-^37f@uG7T7S4pAn}l$7 zcrVUEFKNLgQl|b*9Ux8`_{Tkq*HGar2c=PIkW>9{bAmxmvJ(?qs@Mey(vMM2JBZPd S#>wwOyokeCW-K+vOZtCGox4&1 diff --git a/demos/2d/light_mask/lightmask.scn b/demos/2d/light_mask/lightmask.scn index 08805f44c673fafd0929d7742f1fcaf7b2b357b0..fcf56b5b84dc831d802ff628b7ee1cdf03cd4594 100644 GIT binary patch delta 3290 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 DYuC9p delta 2370 zcmX|D4R90J5#GC#b+!c9_)q@9_(}fd$CeEN5)Yhl>AJFG-!rN(#a$tZAwBqN#_Vnp$%y}^`xCPN$C^q zR5QDJ+Nby3?%wWx?~A72*RI{LQIeqesQ@?_0GQ$dUf=*2fE)u1@gj!+vxvtxqQ-V; z@r^Of(8z3e89)Q+SH1}xDdoDmfhXR_M&8+0CPy72lM(=j$Km=HKeDo zAorQ@9u4IKtjB8*AZ=40v;A3dD}F9E4Gyq2gh)N~6Ha_jJ1F&fXK!akR6 zRQ7_5`xJ*)jo7GZg{`4Z?VfyvH<~pa$4rB8g-@8Vj4ji|h9KJB;0dR+gcF^1`8sgg zTui%sAh%Wc+U4u>8s1bIykR|Qn3mT54JKpnE6vq{O&-WsqvEsmNli|q)TA9IuQ2*# zFw**()bFzOo^j1`^tQ$7k6boTYCD$Z#ImEZ75UY^(_T5PIjStHukN$e#*;r|hOFT- z>6JE*)&t=}snTAOR;{FN15yQ7!LIr_-Yyq0PtweYCu2S*#vRd^=l zv~IX1<%~L^Jeh0uq}1J-rL+uQay?b9rvvo%Bcw8PObV|~u;#9C;pbwuEnmq+Gl>Kl z5iUPm(fKqkpw6xGW>StmmeM=V3_g^vcbWU7r`7E@JpYuQ2etiE<@g`q&oH9Aq^KRI zncdOOXZi4$MT^C@LkEMEFt6o97wWmVmQcxqAO~gEh|7aLiTi0GnNIL@@C+WpIM|_q z>seSXRJb5AYD|3wzjC39wa2vJPa_%n&;u%?W?E{=50qbsiO}D`9zIEX?TN?}czO6c z9X%dHj+vQ`<NZG)9Ns0BHXLw_rI2 z5UBPKX0M?iHx0J=Wm${sj%mqbsZ7fuoHWV68bk*;;U5nQrl3+N6lSsnIzm)=I8q` zU7&Wnhcy$n65ww(UA_3bZ;KZ(;4=M^`wJXBpBupSvwRe%m^AsnNnHckS%vx%)6!`d zyPihyl1A^Op{W*lNE!F`TW_txwJ@9b3r9KIN=Azj<2)!QrDUG+T!~CuSDsK-vVB84 zmHkjh=GXndVyuiI(@u4CBWcSr<%CAOhC_J7M+X`mZZaJlwo--Ji=|yD(rOpkLzxR@ zq!%Ms;qKxahI&%!LV~5WN3M8fJ7#H`L6S%WouMP-duY*reL^E!9m(-bZ3NE<24$9- z(*H3FWf6b5rP-8Rq8U0A%p$v}Hb5}xavVnh0j3smH}EEPcuJ_oa+r@51casF&l0{Yt=c=%rlXsNQYjKJ zLN8O^A!HtOl3uu#2jWuz=LpMigq}Z(jZ~`eKICx?HUdvtktdfFUigIW{*uaG1d&kr zF0Pfjaf_J6jY0(Z!XBt3i!tVMAVr{xRNx8pV|G71k;S#N|EqAAVh&Ku8j5*JxD!uN zLM+Eqv@gM}n#L_|U|PtbB)*1!k?QbKiUjj0n>P{;&(ovFDb#U{VHm4i{ya31R$--Z zMOX>V6y=a`L0HKK0h9p<<#~KmSPLzrJWIb?36EQ#jp}32PIWnSP`!hOU$ieEykNsZ zs$;N-T4Y$9=b?+PrlI?`4%5AFK@Zh3^ioSRbqr@<38`=w%?Q&jHzS;LkIyhm!R?w6 z&ePxGz3#CY5520u<~s-{T$eVAG6F0o9 fQdmXxKWL6mNN*Ic7slQf==BI-!^RC#@#6F!7GKMt diff --git a/demos/2d/lights_shadows/light_shadows.scn b/demos/2d/lights_shadows/light_shadows.scn index 152f68a40729fe71e124fb9dc2233b063be99e29..24ccd1e0be6d2fa184b69d3bcda0fbb232cffd09 100644 GIT binary patch delta 3856 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 delta 6126 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 m|Nm~BWAfzd?6vVq@bKl;*7{{I2K+xi{= diff --git a/demos/2d/lookat/lookat.scn b/demos/2d/lookat/lookat.scn index 880070b4c7ca5d096d9494fe05b1b5376cdb9031..66be060c06da4b69179ad5af44faa1ff394658e8 100644 GIT binary patch literal 1640 zcmW-ie{2-T702K1-rf5A1H1Ug*$4K`8El`^!eN^v)DZmk_VACYxQ>lgS_C`myYbz| zce}^#o^2cu2MK9QM3W|MTGA3-nx-WRiXgN^v{kr-3Zf>iR7ePcMA;+=LVuv95)mPd z(skyKr=Y8kRcQm78vJ4BO27puojQ9XJfC2}6!N&nd1gIoJ)rgvyV#%=t(;3W{ zlNzTRKp<;j5fK)d%rf$3f<<*T%fL^*CMpwoJ(*!i+Tybkrk1m#1s{DB%1CS3CN^v5 zO$Ifjf?!o|G^(1WF|#tKr$8jNFh=im_?EJaVN9v^%2blRj(_xIjD(sYYxpksl&nH< z#1HT$3J@eq@#o+rBKU}ahj|NHi66UAC~O5w4Pd9JC|PE!ib5au4jW0<9jE2qq-L^& zP2aAxO;xuh4Ko|f85TVccJVx-m^G65jA}D_N8$5Vc-%)?fYA|QEN5z@4ZFpJpDQrx{0?*y6_uQ7r!8n9ix9A18Y-J+rllFW+o?L~1_rR34107XVdTk( zn+qb8f^?(91;Im>U=SY^rd7Ah1BFScNm`42NT7*CsuhJLHQO+iTqd8=bcMXg+sq1g zIzj}$AxOHGrFGICtf5D|nx#!-7(MLP58&4DHka`dE=JLB>1s~NX|pWjcve6yxr+ul z(;z#@EwYDWIeJ=nto)(%cn=D~oME^?!Sz5N*2KE#-E<{Zxl1CUfX%V9w3#zm_z#>m z?RcNY6|`AMnOf5E9N_Aq*yO+guQ54kF}pZdco?dQNY@Ki+L&?tvczahu@|!?z+XyF z@y4W847f%(&J{`+aJb`7`yJ0gX&id?j3dQW_yaM?CNo+pZR2WA*+IAPJKrH{7+Zz8 zN!9#H<82vha3?=$OjFU-xH^WlSoBS6Y$j)zzm8y=bV@#n;n)zD)LMhQo?vw8!qE^L zD9q_Pi5X>3e%@G)6lc5^~2a_Zd;Rh4MXH9 zZ`w#1y85A4!XxsFQiCIa^SzS0Uv$1GIe#rl@5)b{ZU%*2llQ;+Cv0B!fJe<|Y$fr- ziIb&fsA~-iYIZ_v{d=Lg?O8r!m^2_fd9Z1H$rX1+c=L*9Q)wvnE^XosQ)~OJ<6*MS z&*|)$>%#mSZ`^|~aaG`O2L;PaP0(()>{5A@oS?_#!<;gk=;wR;w?;t?8*V0r?R2jt<+9zlW$@C16b!G8?RRG_9RTk z^!D9IB(42hI4S~oWPo!qd=eWFq-_AcReHp|%K z8^0I(8jp6;sOz9U?7%4P@WLS(3Rh?c|NF~*G{o0V4N?(1O1C9@V8(sMg!I5VBEXkL zz_6=i5sstah#)P-jkpXyj-Pfp6|T3pVrWAFmkdnd688d7#$%2km4q`~*2k>P==@*pntR1FQrM@fUr0Em>~Md6hrQ!kUs(0_*F(x%P({(YgVVlUQ} zKKb*%j;!);S$^O4{b?hUzWI9S#HXG2rLPO|)eoLqylv)0`%f<2yrRAQe*0@5eX;MO z)q6=O{Z`ZIZO(VUtaqx!=TC;tc3rqDILcK&d*fK?`x_ql>~<*UH?B?n<(p?O^~-k@ zy3TB#AKoy3VV4*p?6KwkTNl3*DhU7ke_nb>E&X_&UOn~S1Mh7Y z)~*T#nkO=Kg#-N2JC|Wu*Out)sr|d3+sFTO^oITB4S0VpM9RIJpQt|+>rB3LIUTuu zZ}sI}&)uJ%Ium}OyS&uTUGzm@iI+YD1-as_^^X6&-$ed#u)%+nd|nMh8;0XA#OPkP NFQa3l@~HdA{2!Nj5|#h} literal 1622 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 literal 2845 zcmX|D4{#LK8UOb7E=%qp34{=m5O{Z&KZHLyAP_2Q`1Ur5hEPEQ#fqJMdv|-6o!sr7 zyPFV#Z5N}^S}h%-Z9%6wwMu8yGM2IbY|9BwnW;LXm0JIf%UN_B>@e*x)v@igUu4>w z`F{8QeD8g~_uhW*_jZja3e5fL0RGSn@PP!dTm%pRJOKn&g(3pXXTk7JEj^}ZM$)>e zvjzSpfEw1v_kqafiQU~0z$)G_-?cT<$y#V9aUP}JBasAHRahzAYR)os6Ob6`wA;7wLJ zY1=5e39m|kYPMNYQ{!ePuV?rvn8)fuyY)$T-1f5UWc8LrBCXloMKi}w!U#uxr?*Th zSgv82-8l~-%rKa@(psMN2G+qtTCE>y2&{+4(E)UViyTd=7hYMQ}pPkL&zRSi;s~7Z&7WXrhGm5MeFQ%tVy&IuymU zWx9L~GOSCo=$?S-7+4B85M}FdJ8iwUmG(T2hq)~}upGSQn4{LpS*C%)BY|?NA0ya} zj|N<$z}EW0b_Ah>n6HQr;61_uV4EpYrhH>^9Zecz4Qw}W3f*F5^bP%djiefdqGh{k zYBAKa72yfPF;Yg}a1SJSSjg+Xv_!OuTAD2vV5uKk8+7!1RxP*4L%h!$s?Hm^QCBT! z&e+-eDpl`k8&g*V+q!#|FDwKn)&jb=KQNV;(vAeD61JX?i7;{K=aQ-xbXQYV{x`wM zl-9)V=AVQ{inihEsWsp}b~5>5yd1k4dr@8$va(r6cX>FJ%^O8^)EB}q!LJKUWbOC_ zI6MNQrHFi-hxrb%U}eVH%=C$Xt>VsM>nk<+Gs0ewU6^;CyIjUOS-M+6E}H zFr?zYoR=utR$6x)mF)@Wuq-<2Lz9%zv)XvxRii%?&5Y{Cno@nDZCP&g`sfYG0A|2> zJje4s^a)y8>xEih+!b(&dQ?i@;tRWp)&)@;cP-q)F9)}4DLv0S!UfIF8D=7{XI<@R zsg|wgUoX{wEnn5Hlm69q3skS$~ZLru6FU67Mc3)cO-2sh$ zczsDvzQi|HC5)VD*?M$aaNN;hVR^lfaMt0j z>61lO&ls+^2(0$efSyr#8#t-H=lOj)B1+-TROD^k9&uqXYDnzs}cqgZ<{f zSHub3c9Q=BF}kJy7&dyVMAKB$>@{$CGeWr;OtgKWIr#`S<7-tDnr&#Nd++K11JIr- z!@%vB8khlSPnB(5DS_8guD|y%b|MUPQRd|3k3rR@LYA!-^W!l;pgL~+RdCvF^Tm~N z_mh9bB{+>+@pCafZrjl`AEB6yM}Fm=|`*m;Bk2m^c>oQ9M|EI_U-ZOJ5I2Tf_i}O3*7Y< z)1nv?rm`Ih76SmE=kCWyAZtxO5aj7y5lX#GCpsi|v1OB`Q?1wz-U$q}>{&q#YS(%Y^bHcDKvyk*Iia*7Va7E{( z;HZ_e%(g%I;&Oa?TUuV?i{O8?Ov}8YRAb5iciBH%mfuyrf3CH&u<{kOm-$J>|T@X$c{xaioq)EsMErtD(N__NAS1a&e!7}zp+CqFX0^h4Mt*yHUp zA>DNiGxz%;_)q~o#^T_*nF1R+&+MLd(LFettXV`xcZkRi!59dD{OxwC{ zc07wrHafQ9E`X=Mh9~63gU|eR;d59*kUfCt9lj_I-tS8=w3YOP#1{3k0?VLsrDw292WnM`7_&+twK!_R_F>%qg39ns}Od-`EnQZVt zcuc`|QjGb*L1R+S_@NGLhAKw6$a+X-7^@D>(D(D760jN$SVNLm4FaR}uo&IiB9kxz z!IFeu#(KOJ>p^0Tg!8Dqo@AU5AHiW9!4}#IdT-RBQ>Ki?9QL3}S*xN%R{ww7i}k+b zki$*1)*2Rs1r%$HE>x-9hJ4nr$>JPykVufPhz zAIO(+wGahwnDke|lMtUnnqmbFX`>+`rtu~sI!#1#WbdGa7Hvd3+l-f?gS;<8=NGv0 z3+y5UScO3bu$saHtofq6mdYx0mn29K;TBj&emPiAI0hRCYoUkwHj-_k+6w3;udT3| z>R+PLKDdrB2V1CqJ@t3O4OF_3+79}32z{(hj>zxeED`@Ek^B@R7o|wDM?OPbXDYQl z*A^t7lCR*HoS>rtvWQ6v|@Gx;!VWqG-?a%NU}y^@#}5DpOo`OoCk(jz}5&&YepJGqbQ;w(jpkD)@L zDm!LDX1^I&0ZAs6PtToH<)vXIT}cds5?!q9t#l46M=mzLkI=uB`ko&iSWP$8>*RFv c)=GT1e|Ru5_bM~*(`elQyGC{?yXay3U!1*2a{vGU diff --git a/demos/2d/navpoly/navigation.scn b/demos/2d/navpoly/navigation.scn index 1bb7de391bc18b358e12fea55c335682fe5718da..c56270bfd3cb2d5ae2d758f7bf1a5c048f220a9d 100644 GIT binary patch delta 3410 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 delta 1660 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 L*nkc6Kkxqlpyh3~ diff --git a/demos/2d/normalmaps/normalmap.scn b/demos/2d/normalmaps/normalmap.scn index ab737e83f37b4813890226fc1eeac260e0bfc1ad..cf5fc05ce15b9f36372e742de79e3b27584dad11 100644 GIT binary patch delta 2749 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 diff --git a/demos/2d/particles/particles.xml b/demos/2d/particles/particles.xml index c8f7596b86d..c21ccb1f55b 100644 --- a/demos/2d/particles/particles.xml +++ b/demos/2d/particles/particles.xml @@ -1,37 +1,49 @@ - - - - + + + + + + 0, 0.1, 1 + 1, 1, 1, 0, 0.886275, 0.371681, 0, 1, 1, 0.99115, 1, 0 + + + + 0, 0.2, 1 + 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0 + + + + 0, 0.1, 0.5, 1 + 1, 1, 1, 0.870518, 1, 0.47451, 0.6, 1, 0.529412, 0.74902, 1, 1, 0, 1, 0.698039, 0 + + + + 0, 0.1, 0.7, 1 + 1, 1, 1, 0, 0.886275, 0.401015, 0, 1, 1, 0.679866, 0.432123, 0.12654, 0, 0, 0, 0 + + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "Node" - "_import_path" "__meta__" "Fire" - "Particles2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/behind_parent" "visibility/blend_mode" "transform/pos" "transform/rot" - "transform/scale" "config/amount" "config/lifetime" - "config/time_scale" - "config/preprocess" - "config/emit_timeout" - "config/emitting" - "config/offset" "config/half_extents" "config/local_space" - "config/explosiveness" - "config/flip_h" - "config/flip_v" "config/texture" "params/direction" "params/spread" @@ -47,136 +59,159 @@ "params/initial_size" "params/final_size" "params/hue_variation" - "randomness/direction" - "randomness/spread" - "randomness/linear_velocity" - "randomness/spin_velocity" - "randomness/orbit_velocity" - "randomness/gravity_direction" - "randomness/gravity_strength" - "randomness/radial_accel" - "randomness/tangential_accel" - "randomness/damping" + "params/anim_speed_scale" + "params/anim_initial_pos" "randomness/initial_angle" - "randomness/initial_size" - "randomness/final_size" - "randomness/hue_variation" - "color_phases/count" - "phase_0/pos" - "phase_0/color" - "phase_1/pos" - "phase_1/color" - "phase_2/pos" - "phase_2/color" - "phase_3/pos" - "phase_3/color" - "emission_points" + "color/color_ramp" + "Particles2D" "Smoke" + "randomness/spin_velocity" "Magic" + "randomness/orbit_velocity" "Explosion" + "visibility/behind_parent" + "config/time_scale" + "config/explosiveness" "Mask" + "color/color" + "emission_points" - "version" - 1 - "conn_count" - 0 "node_count" 6 + "node_paths" + + + "nodes" + -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 29, 2, -1, 26, 3, 1, 4, 2, 5, 3, 6, 4, 7, 5, 8, 6, 9, 7, 10, 8, 11, 9, 12, 9, 13, 10, 14, 9, 15, 9, 16, 11, 17, 12, 18, 9, 19, 9, 20, 9, 21, 11, 22, 13, 23, 14, 24, 9, 25, 5, 26, 9, 27, 15, 28, 16, 0, 0, 0, 29, 30, -1, 25, 4, 17, 5, 18, 6, 4, 7, 19, 9, 7, 10, 20, 11, 9, 12, 21, 13, 22, 14, 5, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 11, 22, 5, 23, 23, 24, 9, 25, 5, 26, 9, 31, 5, 27, 5, 28, 24, 0, 0, 0, 29, 32, -1, 26, 4, 25, 6, 4, 7, 15, 8, 26, 9, 7, 10, 27, 11, 9, 12, 11, 13, 10, 14, 14, 15, 28, 16, 9, 17, 29, 18, 9, 19, 30, 20, 9, 21, 31, 22, 23, 23, 5, 24, 9, 25, 5, 26, 9, 31, 5, 33, 32, 27, 5, 28, 33, 0, 0, 0, 29, 34, -1, 28, 35, 34, 3, 1, 4, 35, 5, 3, 6, 4, 7, 15, 36, 15, 8, 6, 9, 7, 37, 36, 10, 20, 11, 9, 12, 11, 13, 37, 14, 9, 15, 9, 16, 11, 17, 12, 18, 9, 19, 9, 20, 38, 21, 5, 22, 13, 23, 23, 24, 9, 25, 5, 26, 9, 28, 39, 0, 0, 0, 29, 38, -1, 25, 4, 40, 6, 41, 7, 42, 8, 43, 9, 7, 10, 27, 11, 9, 12, 11, 13, 9, 14, 15, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 5, 22, 5, 23, 5, 24, 9, 25, 5, 26, 9, 31, 5, 39, 44, 40, 45, 0 "variants" - - "" + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "pixel_snap" + "ofs" + -193.367, -465.428 + "snap_grid" False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 "zoom" 0.440127 - "use_snap" - False - "ofs" - -193.367, -173.288 - "snap" - 10 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -185,77 +220,55 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - True - 1 - False 1 165.787, 527.801 -179.790649 - 1, 1 32 - 0 - 0, 0 + 1 15, 15 - + False + + 0 20 180 80 0.7 0.3 2 - 3 - 1, 1, 1, 0 - 0.1 - 0.886275, 0.371681, 0, 1 - 1, 0.99115, 1, 0 - 0, 0, 0, 1 - + 377.396, 543.147 176.575912 4 - + 20.907272 47.151516 3 - 0.2 - 1, 1, 1, 1 - 0, 0, 0, 0 + 593.848, 531.064 40, 40 - + 0.01 9.8 15.515152 45 100 - 4 - 1, 1, 1, 0.870518 - 1, 0.47451, 0.6, 1 - 0.5 - 0.529412, 0.74902, 1, 1 - 0, 1, 0.698039, 0 + + True 613.467, 182.62 0.05 184.546997 366.300415 - 0.886275, 0.401015, 0, 1 - 1, 0.679866, 0.432123, 0.12654 + 192.975, 141.598 170 + 0.1 128, 128 - 0 1, 0.477876, 0.60177, 1 - 0.533333, 0.752212, 1, 1 - 0, 1, 0.699115, 0 -0.125, -0.03125, 0.65625, -0.148438, 0.609375, 0.0234375, -0.757812, 0.375, 0.265625, 0.078125, 0.632812, 0.382812, 0.671875, 0.414062, 0.367188, -0.226562, 0.75, -0.125, 0.4375, 0.421875, 0.335938, -0.148438, -0.125, 0.257812, -0.171875, 0.359375, -0.601562, -0.265625, 0.375, 0.382812, -0.296875, 0.09375, -0.664062, -0.21875, -0.554688, -0.226562, -0.320312, 0.367188, -0.320312, -0.257812, 0, -0.257812, 0.578125, -0.25, -0.164062, 0.109375, -0.578125, -0.015625, -0.445312, 0, 0.273438, 0.101562, 0.320312, 0.03125, -0.125, 0.0703125, -0.570312, 0.289062, 0.257812, -0.09375, -0.585938, 0.179688, -0.664062, 0.0234375, -0.25, -0.0859375, 0.6875, -0.109375, 0.234375, 0, -0.5, -0.265625, 0.710938, 0.335938, 0.609375, -0.046875, 0.664062, -0.210938, -0.242188, -0.21875, -0.484375, -0.257812, -0.453125, 0.414062, 0.609375, -0.203125, 0.289062, 0.132812, -0.03125, -0.257812, -0.492188, -0.1875, 0.5625, -0.140625, -0.5625, 0.148438, -0.257812, -0.234375, -0.140625, 0.15625, -0.5625, 0.109375, 0.132812, 0.398438, -0.640625, -0.25, -0.585938, 0.304688, -0.328125, -0.257812, 0.226562, 0.148438, -0.546875, 0.210938, 0.625, 0.179688, 0.648438, -0.0078125, 0.367188, 0.328125, 0.265625, 0.0546875, -0.59375, -0.273438, -0.203125, 0.21875, 0.570312, -0.21875, -0.695312, 0.078125, -0.375, 0.03125, -0.164062, 0.0390625, 0.265625, 0.226562, -0.625, -0.109375, 0.203125, -0.132812, -0.671875, 0.328125, 0.625, -0.179688, -0.640625, 0.0859375, 0.65625, 0, -0.242188, 0.414062, 0.242188, 0.25, -0.148438, -0.0625, 0.390625, -0.25, 0.664062, 0.351562, 0.320312, 0.203125, -0.546875, 0.335938, 0.328125, -0.148438, 0.609375, -0.0625, -0.171875, 0.046875, -0.578125, 0.0546875, -0.304688, -0.28125, 0.734375, -0.0546875, 0.679688, 0.390625, -0.460938, 0.0859375, -0.703125, 0.101562, -0.140625, 0.234375, -0.507812, 0.078125, -0.25, 0.304688, -0.046875, 0.359375, 0.1875, 0.0703125, -0.570312, 0.242188, 0.65625, 0.0859375, -0.203125, -0.265625, -0.164062, -0.179688, 0.367188, -0.1875, -0.601562, -0.101562, -0.117188, -0.210938, -0.546875, 0.109375, -0.585938, -0.28125, -0.59375, -0.03125, 0.3125, -0.179688, 0.414062, 0.429688, -0.476562, -0.195312, -0.0703125, -0.21875, -0.5625, 0.304688, -0.609375, 0.226562, 0.429688, 0.429688, 0.203125, 0.242188, 0.078125, 0.367188, 0.242188, 0.03125, 0.601562, -0.0390625, 0.328125, 0.03125, -0.53125, -0.195312, -0.53125, -0.210938, 0.3125, -0.257812, 0.445312, -0.273438, 0.273438, -0.273438, -0.695312, -0.179688, 0.234375, -0.15625, -0.546875, -0.242188, -0.234375, -0.125, 0.734375, -0.226562, 0.367188, -0.234375, -0.15625, 0.046875, -0.445312, -0.226562, 0.625, 0.03125, -0.0859375, 0.210938, -0.648438, 0.296875, 0.335938, -0.109375, 0.625, -0.078125, 0.601562, 0.351562, 0.242188, 0.140625, 0.0234375, -0.273438, -0.679688, -0.109375, 0.640625, 0.15625, 0.171875, 0.0859375, -0.273438, -0.273438, -0.242188, 0.34375, 0.179688, 0.15625, -0.179688, -0.117188, 0.671875, 0.03125, -0.640625, 0.304688, 0.109375, -0.242188, -0.210938, 0.382812, -0.0859375, 0.0078125, -0.695312, 0.078125, 0.296875, 0.320312, 0.304688, -0.226562, 0.257812, -0.0234375, -0.203125, -0.015625, -0.648438, 0.335938, -0.703125, -0.132812, -0.273438, -0.210938, -0.15625, -0.273438, -0.0390625, 0.335938, 0.617188, 0.179688, 0.34375, 0.390625, -0.210938, -0.132812, -0.226562, -0.117188, 0.617188, -0.289062, 0.125, -0.21875, 0.71875, -0.164062, -0.570312, 0.1875, -0.1875, 0.382812, 0.640625, -0.296875, -0.125, 0.109375, 0.671875, 0.289062, -0.515625, 0.382812, 0.359375, -0.179688, 0.726562, -0.226562, 0.25, 0.320312, -0.328125, 0, -0.117188, -0.234375, -0.210938, -0.148438, -0.546875, -0.117188, 0.359375, 0.429688, -0.15625, -0.226562, 0.632812, -0.257812, -0.28125, -0.273438, 0.265625, 0.015625, -0.765625, 0.351562, 0.703125, 0.421875, -0.585938, 0.0078125, 0.28125, 0.109375, 0.304688, 0.171875, 0.65625, 0.421875, 0.078125, 0.382812, 0.179688, 0.25, -0.382812, 0.0703125, 0.585938, -0.140625, -0.109375, 0.382812, -0.59375, -0.09375, 0.4375, 0.398438, -0.132812, 0.0234375, -0.625, 0.0078125, -0.210938, -0.21875, -0.25, 0.257812, 0.257812, 0.398438, 0.625, 0.195312, 0.148438, -0.234375, -0.476562, 0.398438, -0.210938, 0.046875, 0.695312, -0.101562, 0.695312, 0.140625, -0.492188, -0.1875, 0.25, -0.09375, -0.195312, -0.195312, -0.328125, 0.0703125, -0.242188, -0.0625, 0.296875, 0.34375, -0.632812, 0.0078125, -0.265625, 0.09375, 0.421875, -0.203125, 0.171875, 0.03125, -0.09375, -0.0703125, 0.289062, 0.0859375, -0.609375, 0.390625, -0.554688, 0.257812, -0.6875, 0.0078125, 0.304688, 0.414062, 0.226562, 0.390625, -0.21875, -0.28125, 0.265625, 0.320312, -0.671875, 0.234375, -0.210938, 0.03125, 0.679688, -0.0234375, 0.359375, -0.203125, 0.3125, 0.289062, 0.671875, 0.140625, -0.78125, 0.414062, -0.546875, 0.40625, 0.625, 0.367188, 0.0859375, 0.421875, 0.1875, -0.09375, 0.617188, 0.40625, -0.078125, -0.0390625, 0.695312, 0.0859375, -0.6875, -0.265625, 0.421875, -0.265625, 0.601562, -0.0234375, -0.3125, -0.265625, -0.078125, 0.046875, 0.617188, 0.164062, 0.273438, -0.03125, -0.695312, -0.015625, -0.5625, 0.164062, -0.578125, 0.265625, -0.726562, 0.421875, -0.078125, -0.25, -0.171875, 0.171875, -0.234375, -0.0390625, 0.257812, 0.429688, -0.179688, -0.117188, 0.351562, -0.03125, -0.78125, -0.234375, -0.546875, -0.171875, -0.460938, -0.234375, -0.164062, 0.09375, -0.65625, 0.398438, -0.445312, 0.0859375, -0.71875, -0.226562, 0.671875, 0.101562, -0.46875, -0.195312, -0.71875, -0.265625, 0.617188, 0.125, -0.78125, -0.21875, -0.226562, -0.15625, 0.21875, 0.0234375, 0.289062, 0.101562, 0.648438, -0.171875, 0.390625, -0.273438, -0.257812, 0.078125, -0.21875, 0, 0.65625, -0.203125, -0.679688, 0.171875, -0.1875, 0.328125, -0.46875, -0.28125, 0.273438, 0, 0.664062, 0.296875, -0.140625, 0.335938, -0.625, 0.382812, -0.34375, -0.21875, -0.171875, -0.25, -0.546875, -0.117188, -0.117188, -0.203125, -0.1875, 0.351562, -0.585938, -0.109375, -0.203125, -0.0625, -0.570312, 0.03125, -0.5625, -0.109375, 0.601562, -0.195312, 0.3125, 0.140625, -0.101562, 0.25, 0.25, 0.3125, 0.125, -0.203125, -0.09375, -0.140625, -0.242188, 0.414062, 0.664062, -0.0625, -0.21875, -0.078125, 0.6875, -0.210938, -0.140625, 0.015625, -0.632812, -0.25, -0.109375, 0.234375, -0.695312, 0.015625, -0.3125, -0.28125, 0.296875, -0.0234375, 0.296875, 0.203125, -0.125, 0.234375, 0.570312, 0.390625, -0.554688, 0.203125, -0.5625, 0.351562, -0.15625, 0.21875, -0.375, 0.0390625, -0.226562, -0.140625, 0.695312, 0.164062, 0.632812, 0.367188, -0.328125, -0.210938, -0.59375, 0.34375, 0.304688, -0.242188, -0.34375, 0.0703125, -0.679688, -0.179688, 0.664062, 0.101562, 0.34375, 0.171875, -0.695312, -0.078125, -0.242188, -0.0546875, 0.304688, -0.234375, -0.0078125, -0.21875, -0.632812, 0.203125, 0.625, 0.03125, -0.414062, 0.015625, 0.273438, -0.078125, 0.695312, 0.28125, 0.34375, 0.101562, -0.164062, 0.289062, -0.1875, 0.273438, -0.203125, 0.0703125, 0.734375, -0.171875, -0.59375, 0.34375, -0.15625, 0.210938, 0.429688, 0.375, -0.234375, 0.34375, 0.617188, 0.101562, 0.703125, 0, -0.578125, 0.148438, 0.21875, -0.171875, -0.304688, 0.375, -0.65625, -0.09375, -0.101562, 0.25, -0.4375, 0.03125, -0.242188, 0.421875, -0.546875, 0.0625, -0.632812, -0.148438, -0.125, 0.179688, 0.179688, 0.304688, -0.265625, 0.078125, -0.289062, 0.421875, -0.585938, 0.1875, -0.289062, 0.34375, 0.273438, 0.367188, -0.109375, 0.117188, 0.34375, 0.046875, -0.0625, 0.320312, 0.6875, -0.234375, -0.523438, 0.320312, -0.09375, -0.242188, -0.65625, 0.25, -0.609375, -0.117188, -0.140625, 0.140625, 0.28125, -0.09375, -0.625, -0.28125, 0.34375, 0.328125, 0.265625, 0.109375, -0.609375, 0.0078125, -0.078125, -0.234375, -0.289062, -0.203125, 0.289062, 0.289062, -0.0859375, 0.0078125, -0.101562, -0.28125, -0.625, -0.101562, -0.546875, 0.382812, -0.539062, -0.195312, -0.210938, 0.046875, -0.492188, 0.390625, -0.664062, -0.0703125, 0.71875, -0.101562, -0.140625, -0.046875, 0.695312, 0.289062, -0.710938, 0.429688, -0.703125, 0.3125, -0.203125, 0.109375, 0.421875, -0.273438, 0.304688, 0.21875, 0.328125, 0.257812, -0.632812, -0.0703125, 0.320312, -0.140625, 0.265625, -0.203125, -0.109375, -0.179688, 0.25, -0.210938, 0.65625, 0.109375, -0.648438, -0.0625, -0.0859375, 0.375, -0.429688, 0.398438, 0.320312, 0.3125, -0.0703125, 0.265625, 0.648438, 0.0078125, 0.320312, 0.335938, 0.398438, 0.421875, -0.101562, -0.0625, -0.296875, 0.40625, 0.695312, -0.0390625, 0.335938, 0.21875, -0.546875, 0.117188, -0.476562, 0.390625, -0.648438, 0.117188, -0.078125, -0.28125, 0.328125, 0.289062, -0.226562, 0.179688, 0.226562, 0.375, -0.429688, 0.382812, -0.0546875, 0.34375, 0.59375, -0.125, 0.632812, 0.265625, 0.226562, 0.3125, -0.523438, -0.140625, -0.546875, 0.046875, 0.242188, -0.148438, -0.648438, 0.0234375, -0.289062, 0, -0.546875, 0.101562, -0.125, -0.0625, -0.492188, 0.367188, 0.328125, 0.15625, -0.351562, 0.0546875, -0.609375, 0.414062, -0.296875, 0.09375, 0.671875, -0.203125, -0.257812, -0.273438, -0.335938, 0.414062, 0.65625, -0.195312, -0.601562, -0.101562, -0.203125, -0.078125, 0.210938, 0.242188, 0.296875, 0.335938, -0.578125, 0.40625, -0.664062, -0.078125, -0.0859375, 0.390625, 0.171875, 0.304688, -0.6875, 0.390625, -0.554688, 0.0078125, -0.570312, -0.179688, -0.210938, -0.09375, 0.726562, -0.03125, -0.546875, -0.0859375, -0.265625, -0.171875, -0.65625, 0.179688, -0.171875, 0.257812, -0.164062, -0.171875, 0.203125, 0.335938, -0.640625, 0.21875, 0.390625, 0.375, 0.6875, -0.234375, 0.742188, 0.34375, -0.0546875, 0.351562, -0.632812, 0.195312, 0.671875, -0.21875, 0.195312, 0.015625, 0.226562, 0.117188, -0.507812, 0.078125, -0.140625, -0.15625, 0.703125, -0.28125, 0.226562, -0.140625, 0.328125, 0.421875, 0.3125, 0.1875, 0.703125, 0.078125, 0.351562, 0.289062, 0.21875, -0.242188, -0.328125, 0, 0.171875, 0.101562, -0.304688, -0.242188, -0.210938, 0.078125, 0.625, -0.0078125, 0.25, 0.242188, -0.664062, 0.117188, 0.203125, -0.140625, 0.226562, 0.429688, 0.328125, -0.203125, -0.679688, 0.0703125, -0.195312, -0.148438, -0.523438, 0.328125, 0.382812, -0.257812, 0.578125, -0.171875, 0.65625, 0.320312, -0.632812, -0.148438, 0.703125, 0.0703125, -0.53125, 0.398438, -0.414062, 0.03125, -0.0859375, 0.0546875, -0.53125, 0.335938, 0.304688, 0.429688, -0.234375, -0.148438, -0.375, 0.046875, -0.148438, 0.289062, -0.0390625, 0.421875, 0.226562, -0.125, -0.570312, 0.398438, -0.0703125, -0.0234375, 0.257812, -0.132812 - "nodes" - -1, -1, 0, 0, -1, 2, 1, 0, 2, 1, 0, 0, 0, 4, 3, -1, 60, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 9, 14, 3, 15, 3, 16, 10, 17, 10, 18, 2, 19, 11, 20, 12, 21, 4, 22, 3, 23, 4, 24, 4, 25, 13, 26, 10, 27, 10, 28, 14, 29, 10, 30, 10, 31, 15, 32, 16, 33, 10, 34, 10, 35, 10, 36, 15, 37, 17, 38, 18, 39, 10, 40, 10, 41, 10, 42, 10, 43, 10, 44, 10, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 19, 51, 10, 52, 10, 53, 10, 54, 20, 55, 10, 56, 21, 57, 22, 58, 23, 59, 3, 60, 24, 61, 3, 62, 25, 63, 26, 0, 0, 0, 4, 64, -1, 59, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 10, 27, 11, 28, 12, 8, 13, 9, 14, 29, 15, 3, 16, 10, 17, 10, 18, 2, 19, 11, 20, 11, 21, 4, 22, 3, 23, 4, 24, 4, 25, 30, 26, 10, 27, 31, 28, 32, 29, 3, 30, 10, 31, 10, 32, 10, 33, 10, 34, 10, 35, 10, 36, 15, 37, 3, 38, 33, 39, 10, 40, 10, 41, 10, 42, 10, 43, 3, 44, 10, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 3, 51, 10, 52, 10, 53, 10, 54, 20, 55, 10, 56, 21, 57, 34, 58, 35, 59, 3, 60, 36, 61, 3, 62, 25, 63, 26, 0, 0, 0, 4, 65, -1, 59, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 10, 37, 11, 10, 12, 8, 13, 9, 14, 19, 15, 3, 16, 10, 17, 10, 18, 2, 19, 11, 20, 38, 21, 4, 22, 3, 23, 4, 24, 4, 25, 39, 26, 10, 27, 15, 28, 14, 29, 18, 30, 40, 31, 10, 32, 41, 33, 10, 34, 42, 35, 10, 36, 43, 37, 33, 38, 3, 39, 10, 40, 10, 41, 10, 42, 10, 43, 3, 44, 44, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 3, 51, 10, 52, 10, 53, 10, 54, 45, 55, 10, 56, 46, 57, 22, 58, 47, 59, 48, 60, 49, 61, 3, 62, 50, 63, 26, 0, 0, 0, 4, 66, -1, 60, 1, 0, 5, 2, 6, 3, 7, 3, 8, 2, 9, 5, 10, 51, 11, 7, 12, 8, 13, 9, 14, 19, 15, 19, 16, 10, 17, 10, 18, 2, 19, 11, 20, 12, 21, 4, 22, 52, 23, 4, 24, 4, 25, 30, 26, 10, 27, 15, 28, 53, 29, 10, 30, 10, 31, 15, 32, 16, 33, 10, 34, 10, 35, 54, 36, 3, 37, 17, 38, 33, 39, 10, 40, 10, 41, 10, 42, 10, 43, 10, 44, 10, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 10, 51, 10, 52, 10, 53, 10, 54, 45, 55, 10, 56, 21, 57, 22, 58, 55, 59, 17, 60, 56, 61, 3, 62, 36, 63, 26, 0, 0, 0, 4, 67, -1, 59, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 10, 57, 11, 10, 12, 8, 13, 58, 14, 22, 15, 3, 16, 10, 17, 10, 18, 2, 19, 11, 20, 59, 21, 4, 22, 3, 23, 4, 24, 4, 25, 39, 26, 10, 27, 15, 28, 10, 29, 19, 30, 10, 31, 10, 32, 10, 33, 10, 34, 10, 35, 10, 36, 3, 37, 3, 38, 3, 39, 10, 40, 10, 41, 10, 42, 10, 43, 3, 44, 10, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 10, 51, 10, 52, 10, 53, 10, 54, 60, 55, 10, 56, 61, 57, 48, 58, 62, 59, 3, 60, 63, 61, 3, 62, 25, 63, 64, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/platformer/bullet.xml b/demos/2d/platformer/bullet.xml index 84c903803f0..63938581ad7 100644 --- a/demos/2d/platformer/bullet.xml +++ b/demos/2d/platformer/bullet.xml @@ -1,11 +1,16 @@ - - - + + + 0 10 + + + 0, 1 + 1, 1, 1, 1, 1, 0, 0, 0 + "shutdown" @@ -18,14 +23,14 @@ "cont" False + "times" + 0 "transitions" 1 "values" False - "times" - 0 "value" "sprite:visibility/self_opacity" @@ -33,6 +38,8 @@ "cont" True + "times" + 0, 1.00394 "transitions" 1, 1 "values" @@ -40,13 +47,13 @@ 1 0 - "times" - 0, 1.00394 "method" "." 1 + "times" + 1.31 "transitions" 1 "values" @@ -59,57 +66,51 @@ "queue_free" - "times" - 1.31 + "conn_count" + 1 + "conns" + 4, 0, 73, 72, 2, 0 + "editable_instances" + + "names" - + "bullet" - "RigidBody2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" + "damp_override/linear" + "damp_override/angular" "script/script" "__meta__" + "RigidBody2D" "particles" - "Particles2D" + "visibility/opacity" "visibility/blend_mode" "config/amount" "config/lifetime" - "config/time_scale" - "config/preprocess" - "config/emit_timeout" - "config/emitting" - "config/offset" - "config/half_extents" "config/local_space" - "config/explosiveness" - "config/flip_h" - "config/flip_v" "config/texture" "params/direction" "params/spread" @@ -121,54 +122,27 @@ "params/radial_accel" "params/tangential_accel" "params/damping" + "params/initial_angle" "params/initial_size" "params/final_size" "params/hue_variation" - "randomness/direction" - "randomness/spread" - "randomness/linear_velocity" - "randomness/spin_velocity" - "randomness/orbit_velocity" - "randomness/gravity_direction" - "randomness/gravity_strength" - "randomness/radial_accel" - "randomness/tangential_accel" - "randomness/damping" - "randomness/initial_size" - "randomness/final_size" - "randomness/hue_variation" - "color_phases/count" - "phase_0/pos" - "phase_0/color" - "phase_1/pos" - "phase_1/color" - "phase_2/pos" - "phase_2/color" - "phase_3/pos" - "phase_3/color" - "emission_points" + "params/anim_speed_scale" + "params/anim_initial_pos" + "color/color_ramp" + "Particles2D" "sprite" - "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" + "Sprite" "CollisionShape2D" "shape" "trigger" + "_update_shape_index" "Timer" + "process_mode" "wait_time" "one_shot" "autostart" "anim" - "AnimationPlayer" "playback/process_mode" "playback/default_blend_time" "root/root" @@ -177,128 +151,158 @@ "playback/speed" "blend_times" "autoplay" + "AnimationPlayer" "disable" "timeout" - "version" - 1 - "conn_count" - 1 "node_count" 6 + "node_paths" + + + "nodes" + -1, -1, 24, 0, -1, 23, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 5, 10, 6, 11, 5, 12, 0, 13, 7, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 6, 20, 10, 21, 10, 22, 11, 23, 12, 0, 0, 0, 49, 25, -1, 23, 26, 13, 27, 3, 28, 14, 29, 15, 30, 0, 31, 16, 32, 6, 33, 17, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, 6, 41, 6, 42, 6, 43, 5, 44, 6, 45, 6, 46, 5, 47, 6, 48, 18, 0, 0, 0, 52, 50, -1, 1, 51, 16, 0, 0, 0, 53, 53, -1, 3, 54, 1, 55, 0, 56, 19, 0, 0, 0, 57, 57, -1, 4, 58, 3, 59, 5, 60, 8, 61, 0, 0, 0, 0, 71, 62, -1, 8, 63, 3, 64, 6, 65, 20, 66, 21, 67, 8, 68, 5, 69, 22, 70, 23, 0 "variants" - - True - 1 - 0, 0 - 0 - 1, 1 - 1 + + False 1, 0, 0, 1, 0, 0 - False + 1 0 + 1 + 0 2 - + True + 0, 0 + -1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - "Script" - - "current" - 2 - "sources" - - "res://enemy.gd" - "res://player.gd" - "res://bullet.gd" - - "2D" - "pixel_snap" - False - "zoom" - 3.424785 "ofs" -74.7573, -35.9676 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 3.424785 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -307,29 +311,22 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" 0.559322 24 0.1 - + 10 - 1, 1, 1, 1 - 1, 0, 0, 0 - 0, 0, 0, 1 - - 0, 0, 0, 0 + + -1 ".." "" - "nodes" - -1, -1, 1, 0, -1, 25, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 9, 14, 1, 15, 1, 16, 3, 17, 8, 18, 10, 19, 9, 20, 8, 21, 0, 22, 0, 23, 2, 24, 3, 25, 11, 26, 12, 0, 0, 0, 28, 27, -1, 57, 2, 0, 3, 13, 4, 1, 5, 0, 29, 5, 6, 2, 7, 3, 8, 4, 30, 14, 31, 15, 32, 1, 33, 3, 34, 3, 35, 0, 36, 2, 37, 2, 38, 8, 39, 1, 40, 8, 41, 8, 42, 16, 43, 3, 44, 17, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 1, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 10, 70, 3, 71, 18, 72, 1, 73, 19, 74, 1, 75, 20, 76, 1, 77, 20, 78, 21, 0, 0, 0, 80, 79, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 81, 16, 82, 0, 83, 2, 84, 8, 85, 8, 86, 5, 87, 5, 88, 9, 89, 18, 90, 8, 91, 22, 0, 0, 0, 92, 92, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 93, 6, 94, 8, 0, 0, 0, 95, 95, -1, 3, 96, 1, 97, 0, 98, 8, 0, 0, 0, 100, 99, -1, 8, 101, 5, 102, 3, 103, 23, 104, 24, 105, 0, 106, 1, 107, 25, 108, 26, 0 - "conns" - 4, 0, 110, 109, 2, 0 + "version" + 2 diff --git a/demos/2d/platformer/coin.xml b/demos/2d/platformer/coin.xml index 194ea711b01..f33a63bd57f 100644 --- a/demos/2d/platformer/coin.xml +++ b/demos/2d/platformer/coin.xml @@ -1,9 +1,9 @@ - - - - - + + + + + 0 10 @@ -20,14 +20,14 @@ "cont" True + "times" + 0 "transitions" 1 "values" 0 - "times" - 0 "value" "sound:play/play" @@ -35,14 +35,14 @@ "cont" False + "times" + 0 "transitions" 1 "values" "coin" - "times" - 0 "value" "particles:visibility/self_opacity" @@ -50,6 +50,8 @@ "cont" True + "times" + 0, 1.66 "transitions" 1, 1 "values" @@ -57,8 +59,6 @@ 1 0 - "times" - 0, 1.66 "value" "sprite:visibility/self_opacity" @@ -66,6 +66,8 @@ "cont" True + "times" + 0, 0.4 "transitions" 1, 1 "values" @@ -73,8 +75,6 @@ 1 0 - "times" - 0, 0.4 "value" "particles:config/emitting" @@ -82,19 +82,21 @@ "cont" False + "times" + 0 "transitions" 1 "values" True - "times" - 0 "method" "." 1 + "times" + 2.7 "transitions" 1 "values" @@ -107,8 +109,6 @@ "queue_free" - "times" - 2.7 @@ -123,6 +123,8 @@ "cont" False + "times" + 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 "transitions" 1, 1, 1, 1, 1, 1, 1 "values" @@ -135,8 +137,6 @@ 1 0 - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5 @@ -147,49 +147,43 @@ "pitch" 1 "sample" - + + + + 0, 1 + 1, 1, 1, 1, 0, 0, 0, 1 + + "conn_count" + 1 + "conns" + 0, 0, 76, 75, 2, 0 + "editable_instances" + + "names" - + "coin" - "Area2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" - "gravity_point" "gravity_vec" "gravity" - "density" - "monitoring" + "linear_damp" + "angular_damp" "script/script" "__meta__" + "Area2D" "sprite" - "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" "hframes" - "frame" - "modulate" - "region" - "region_rect" + "Sprite" "anim" - "AnimationPlayer" "playback/process_mode" "playback/default_blend_time" "root/root" @@ -199,12 +193,13 @@ "playback/speed" "blend_times" "autoplay" + "AnimationPlayer" "collision" - "CollisionShape2D" "shape" "trigger" + "_update_shape_index" + "CollisionShape2D" "sound" - "SamplePlayer2D" "params/volume_db" "params/pitch_scale" "params/attenuation/min_distance" @@ -213,19 +208,13 @@ "config/polyphony" "config/samples" "config/pitch_random" + "SamplePlayer2D" "particles" - "Particles2D" "visibility/blend_mode" "config/amount" "config/lifetime" - "config/time_scale" - "config/preprocess" - "config/emit_timeout" "config/emitting" - "config/offset" "config/half_extents" - "config/local_space" - "config/explosiveness" "config/texture" "params/direction" "params/spread" @@ -237,160 +226,170 @@ "params/radial_accel" "params/tangential_accel" "params/damping" + "params/initial_angle" "params/initial_size" "params/final_size" "params/hue_variation" - "randomness/direction" - "randomness/spread" - "randomness/linear_velocity" - "randomness/spin_velocity" - "randomness/orbit_velocity" - "randomness/gravity_direction" - "randomness/gravity_strength" - "randomness/radial_accel" - "randomness/tangential_accel" - "randomness/damping" - "randomness/initial_size" - "randomness/final_size" - "randomness/hue_variation" - "color_phases/count" - "phase_0/pos" - "phase_0/color" - "phase_1/pos" - "phase_1/color" - "phase_2/pos" - "phase_2/color" - "phase_3/pos" - "phase_3/color" - "emission_points" + "params/anim_speed_scale" + "params/anim_initial_pos" + "color/color_ramp" + "Particles2D" "enabler" - "VisibilityEnabler2D" "rect" "enabler/pause_animations" "enabler/freeze_bodies" + "enabler/pause_particles" + "enabler/process_parent" + "enabler/fixed_process_parent" + "VisibilityEnabler2D" "_on_body_enter" "body_enter" - "version" - 1 - "conn_count" - 1 "node_count" 7 + "node_paths" + + + "nodes" + -1, -1, 11, 0, -1, 10, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9, 0, 0, 0, 15, 12, -1, 2, 13, 10, 14, 11, 0, 0, 0, 26, 16, -1, 9, 17, 12, 18, 13, 19, 14, 20, 15, 21, 16, 22, 0, 23, 17, 24, 18, 25, 19, 0, 0, 0, 31, 27, -1, 3, 28, 1, 29, 3, 30, 20, 0, 0, 0, 41, 32, -1, 8, 33, 13, 34, 7, 35, 7, 36, 21, 37, 7, 38, 12, 39, 22, 40, 13, 0, 0, 0, 66, 42, -1, 23, 43, 12, 44, 23, 45, 24, 46, 3, 47, 25, 48, 26, 49, 13, 50, 27, 51, 13, 52, 13, 53, 13, 54, 13, 55, 13, 56, 13, 57, 13, 58, 13, 59, 13, 60, 28, 61, 28, 62, 13, 63, 7, 64, 13, 65, 29, 0, 0, 0, 74, 67, -1, 6, 68, 30, 69, 0, 70, 0, 71, 0, 72, 3, 73, 3, 0 "variants" - + True - 1 - 0, 0 - 0 - 1, 1 - 1 1, 0, 0, 1, 0, 0 False 0, 1 98 0.1 - + 1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - "Script" - - "current" - 2 - "sources" - - "res://enemy.gd" - "res://player.gd" - "res://coin.gd" - - "2D" - "pixel_snap" - False - "zoom" - 3.794776 "ofs" -34.3697, -21.6562 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 3.794776 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -399,14 +398,11 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - + 4 - 0 - 1, 1, 1, 1 - 0, 0, 0, 0 + 1 + 0 ".." @@ -414,23 +410,20 @@ "spin" + -1 2048 8 0.4 5, 5 - + 10 0.2 - 2 - 0, 0, 0, 1 - + -10, -10, 20, 20 - "nodes" - -1, -1, 1, 0, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 8, 14, 9, 15, 10, 16, 11, 17, 0, 18, 12, 19, 13, 0, 0, 0, 21, 20, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 22, 14, 23, 0, 24, 2, 25, 8, 26, 8, 27, 5, 28, 15, 29, 16, 30, 17, 31, 8, 32, 18, 0, 0, 0, 34, 33, -1, 9, 35, 5, 36, 3, 37, 19, 38, 20, 39, 21, 40, 0, 41, 22, 42, 23, 43, 24, 0, 0, 0, 45, 44, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 46, 6, 47, 8, 0, 0, 0, 49, 48, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 50, 3, 51, 1, 52, 1, 53, 25, 54, 1, 55, 5, 56, 26, 57, 3, 0, 0, 0, 59, 58, -1, 55, 2, 0, 3, 1, 4, 1, 5, 0, 60, 5, 6, 2, 7, 3, 8, 4, 61, 27, 62, 28, 63, 1, 64, 3, 65, 3, 66, 8, 67, 2, 68, 29, 69, 0, 70, 1, 71, 30, 72, 3, 73, 31, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 32, 83, 32, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 33, 99, 3, 100, 17, 101, 1, 102, 34, 103, 1, 104, 34, 105, 1, 106, 34, 107, 35, 0, 0, 0, 109, 108, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 110, 36, 111, 0, 112, 0, 0 - "conns" - 0, 0, 114, 113, 2, 0 + "version" + 2 diff --git a/demos/2d/platformer/enemy.xml b/demos/2d/platformer/enemy.xml index ad3a70931d6..72d2ff068ec 100644 --- a/demos/2d/platformer/enemy.xml +++ b/demos/2d/platformer/enemy.xml @@ -2,9 +2,9 @@ - - + + 0 14 @@ -40,33 +40,6 @@ - - - "walk" - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 0 - 1 - 2 - 3 - 4 - 0 - - - "explode" @@ -146,6 +119,33 @@ + + + "walk" + 1.25 + True + 0.25 + "value" + "sprite:frame" + 1 + + "cont" + False + "times" + 0, 0.25, 0.5, 0.75, 1, 1.25 + "transitions" + 1, 1, 1, 1, 1, 1 + "values" + + 0 + 1 + 2 + 3 + 4 + 0 + + + 0, 1 @@ -153,14 +153,6 @@ - - "db" - 0 - "pitch" - 1 - "sample" - - "db" 0 @@ -169,6 +161,14 @@ "sample" + + "db" + 0 + "pitch" + 1 + "sample" + + @@ -177,10 +177,12 @@ 0 "conns" + "editable_instances" + + "names" - + "enemy" - "RigidBody2D" "input/pickable" "shapes/0/shape" "shapes/0/transform" @@ -210,8 +212,8 @@ "damp_override/angular" "script/script" "__meta__" + "RigidBody2D" "enabler" - "VisibilityEnabler2D" "transform/pos" "transform/scale" "rect" @@ -220,23 +222,24 @@ "enabler/pause_particles" "enabler/process_parent" "enabler/fixed_process_parent" + "VisibilityEnabler2D" "anim" - "AnimationPlayer" "playback/process_mode" "playback/default_blend_time" "root/root" "anims/idle" - "anims/walk" "anims/explode" + "anims/walk" "playback/active" "playback/speed" "blend_times" "autoplay" + "AnimationPlayer" "sprite" - "Sprite" "texture" "hframes" "frame" + "Sprite" "CollisionShape2D" "shape" "trigger" @@ -244,10 +247,11 @@ "CollisionShape2D 2" "CollisionShape2D 3" "raycast_left" - "RayCast2D" "enabled" "cast_to" "layer_mask" + "type_mask" + "RayCast2D" "raycast_right" "Particles2D" "visibility/self_opacity" @@ -277,7 +281,6 @@ "randomness/spin_velocity" "color/color_ramp" "sound" - "SamplePlayer2D" "params/volume_db" "params/pitch_scale" "params/attenuation/min_distance" @@ -286,13 +289,17 @@ "config/polyphony" "config/samples" "config/pitch_random" + "SamplePlayer2D" "node_count" 11 + "node_paths" + + "nodes" - -1, -1, 1, 0, -1, 29, 2, 0, 3, 1, 4, 2, 5, 0, 6, 1, 7, 3, 8, 0, 9, 1, 10, 4, 11, 0, 12, 5, 13, 5, 14, 6, 15, 7, 16, 8, 17, 8, 18, 7, 19, 0, 20, 9, 21, 10, 22, 0, 23, 0, 24, 11, 25, 12, 26, 8, 27, 13, 28, 13, 29, 14, 30, 15, 0, 0, 0, 32, 31, -1, 8, 33, 16, 34, 17, 35, 18, 36, 11, 37, 11, 38, 11, 39, 0, 40, 0, 0, 0, 0, 42, 41, -1, 10, 43, 5, 44, 8, 45, 19, 46, 20, 47, 21, 48, 22, 49, 11, 50, 23, 51, 24, 52, 25, 0, 0, 0, 54, 53, -1, 3, 55, 26, 56, 27, 57, 10, 0, 0, 0, 58, 58, -1, 4, 33, 28, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 62, -1, 4, 33, 30, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 63, -1, 4, 33, 31, 59, 1, 60, 0, 61, 29, 0, 0, 0, 65, 64, -1, 4, 33, 32, 66, 11, 67, 33, 68, 5, 0, 0, 0, 65, 69, -1, 4, 33, 34, 66, 11, 67, 33, 68, 5, 0, 0, 0, 70, 70, -1, 26, 71, 35, 72, 5, 73, 36, 74, 37, 75, 37, 76, 0, 77, 38, 78, 39, 79, 8, 80, 40, 81, 41, 82, 42, 83, 8, 84, 8, 85, 43, 86, 8, 87, 8, 88, 8, 89, 8, 90, 42, 91, 23, 92, 8, 93, 7, 94, 8, 95, 7, 96, 44, 0, 0, 0, 98, 97, -1, 8, 99, 8, 100, 7, 101, 7, 102, 45, 103, 7, 104, 46, 105, 47, 106, 8, 0 + -1, -1, 30, 0, -1, 29, 1, 0, 2, 1, 3, 2, 4, 0, 5, 1, 6, 3, 7, 0, 8, 1, 9, 4, 10, 0, 11, 5, 12, 5, 13, 6, 14, 7, 15, 8, 16, 8, 17, 7, 18, 0, 19, 9, 20, 10, 21, 0, 22, 0, 23, 11, 24, 12, 25, 8, 26, 13, 27, 13, 28, 14, 29, 15, 0, 0, 0, 40, 31, -1, 8, 32, 16, 33, 17, 34, 18, 35, 11, 36, 11, 37, 11, 38, 0, 39, 0, 0, 0, 0, 52, 41, -1, 10, 42, 5, 43, 8, 44, 19, 45, 20, 46, 21, 47, 22, 48, 11, 49, 23, 50, 24, 51, 25, 0, 0, 0, 57, 53, -1, 3, 54, 26, 55, 27, 56, 10, 0, 0, 0, 58, 58, -1, 4, 32, 28, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 62, -1, 4, 32, 30, 59, 1, 60, 0, 61, 29, 0, 0, 0, 58, 63, -1, 4, 32, 31, 59, 1, 60, 0, 61, 29, 0, 0, 0, 69, 64, -1, 5, 32, 32, 65, 11, 66, 33, 67, 5, 68, 34, 0, 0, 0, 69, 70, -1, 5, 32, 35, 65, 11, 66, 33, 67, 5, 68, 34, 0, 0, 0, 71, 71, -1, 26, 72, 36, 73, 5, 74, 37, 75, 38, 76, 38, 77, 0, 78, 39, 79, 40, 80, 8, 81, 41, 82, 42, 83, 43, 84, 8, 85, 8, 86, 44, 87, 8, 88, 8, 89, 8, 90, 8, 91, 43, 92, 23, 93, 8, 94, 7, 95, 8, 96, 7, 97, 45, 0, 0, 0, 107, 98, -1, 8, 99, 8, 100, 7, 101, 7, 102, 46, 103, 7, 104, 47, 105, 48, 106, 8, 0 "variants" - + False 1, -0, 0, 1, -1.08072, -2.16144 @@ -449,8 +456,8 @@ -10, -10, 20, 20 ".." - + 3 @@ -463,6 +470,7 @@ -12.495, 3.53415 -33.2868, -9.34363 0, 45 + 15 29.1987, -9.34363 0.121212 32 @@ -479,7 +487,7 @@ "version" - 1 + 2 diff --git a/demos/2d/platformer/moving_platform.xml b/demos/2d/platformer/moving_platform.xml index 4d54d6d11c8..4b94a7af482 100644 --- a/demos/2d/platformer/moving_platform.xml +++ b/demos/2d/platformer/moving_platform.xml @@ -1,7 +1,7 @@ - - - + + + 0 -88, 24, -88, -24, 88, -24, 88, 24 @@ -9,169 +9,189 @@ + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "moving_platform" - "Node2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" "script/script" "__meta__" "motion" "cycle" + "Node2D" "platform" - "RigidBody2D" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" + "damp_override/linear" + "damp_override/angular" + "RigidBody2D" "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "CollisionPolygon2D" "build_mode" "polygon" + "shape_range" + "trigger" - "version" - 1 - "conn_count" - 0 "node_count" 4 + "node_paths" + + + "nodes" + -1, -1, 5, 0, -1, 4, 1, 0, 2, 1, 3, 2, 4, 3, 0, 0, 0, 28, 6, -1, 21, 7, 4, 8, 5, 9, 6, 10, 4, 11, 7, 12, 7, 13, 8, 14, 3, 15, 3, 16, 9, 17, 3, 18, 4, 19, 10, 20, 10, 21, 4, 22, 4, 23, 11, 24, 2, 25, 9, 26, 12, 27, 12, 0, 1, 0, 29, 29, -1, 1, 30, 13, 0, 1, 0, 31, 31, -1, 4, 32, 10, 33, 14, 34, 15, 35, 4, 0 "variants" - - True - 1 - 0, 0 - 0 - 1, 1 - + + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - "Script" - - "current" - 0 - "sources" - - "res://moving_platform.gd" - "res://enemy.gd" - "res://player.gd" - "res://coin.gd" - - "2D" - "pixel_snap" - False - "zoom" - 1.360373 "ofs" -210.652, -172.81 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1.360373 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" - 400 + 179 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -180,24 +200,24 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - 1 + 0, 0 + 1 + False 1, -0, 0, 1, 0, 0 - False + 1 3 + 0 0 - - 1, 1, 1, 1 - 0, 0, 0, 0 + True + -1 + -88, -24, 88, -24, 88, 24, -88, 24 + -1, -1 - "nodes" - -1, -1, 1, 0, -1, 11, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 2, 12, 1, 0, 0, 0, 14, 13, -1, 23, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 15, 7, 16, 8, 17, 9, 18, 10, 19, 11, 20, 1, 21, 1, 22, 3, 23, 10, 24, 10, 25, 12, 26, 10, 27, 0, 28, 0, 29, 2, 30, 3, 0, 1, 0, 31, 31, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 32, 13, 33, 0, 34, 2, 35, 10, 36, 10, 37, 7, 38, 7, 39, 12, 40, 14, 41, 10, 42, 15, 0, 1, 0, 43, 43, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 44, 12, 45, 16, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/platformer/one_way_platform.xml b/demos/2d/platformer/one_way_platform.xml index 491dd32b17f..85b23227115 100644 --- a/demos/2d/platformer/one_way_platform.xml +++ b/demos/2d/platformer/one_way_platform.xml @@ -1,6 +1,6 @@ - - + + 0 100, 10 @@ -12,22 +12,13 @@ 0 "conns" + "editable_instances" + + "names" - + "one_way_platform" - "StaticBody2D" - "_import_path" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/light_mask" - "transform/pos" - "transform/rot" - "transform/scale" - "z/z" - "z/relative" "input/pickable" - "shape_count" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" @@ -40,42 +31,34 @@ "friction" "bounce" "__meta__" + "StaticBody2D" "sprite" - "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" + "Sprite" "CollisionShape2D" + "transform/pos" "shape" "trigger" + "_update_shape_index" "node_count" 3 + "node_paths" + + "nodes" - -1, -1, 1, 0, -1, 24, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 1, 12, 8, 13, 3, 14, 9, 15, 10, 16, 8, 17, 3, 18, 3, 19, 11, 20, 12, 21, 4, 22, 5, 23, 2, 24, 5, 25, 13, 0, 0, 0, 27, 26, -1, 21, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 1, 28, 14, 29, 1, 30, 4, 31, 8, 32, 8, 33, 3, 34, 3, 35, 7, 36, 15, 37, 8, 38, 16, 0, 0, 0, 39, 39, -1, 12, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 17, 8, 5, 9, 6, 10, 7, 11, 1, 40, 9, 41, 8, 0 + -1, -1, 14, 0, -1, 13, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 8, 12, 7, 13, 9, 0, 0, 0, 17, 15, -1, 1, 16, 10, 0, 0, 0, 18, 18, -1, 4, 19, 11, 20, 1, 21, 0, 22, 12, 0 "variants" - - "" - True - 1 - 1 - 0, 0 - 0 - 1, 1 - 0 + False 1, -0, 0, 1, 1.46304, -13.1672 + 1 0, 1 20 + 0, 0 + 0 + 1 "__editor_plugin_screen__" "2D" @@ -198,6 +181,11 @@ "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -207,13 +195,12 @@ 0 - - 1, 1, 1, 1 - 0, 0, 0, 0 + 1.46304, -13.1672 + -1 "version" - 1 + 2 diff --git a/demos/2d/platformer/parallax_bg.xml b/demos/2d/platformer/parallax_bg.xml index cc8cfe5de0c..3b306aecab4 100644 --- a/demos/2d/platformer/parallax_bg.xml +++ b/demos/2d/platformer/parallax_bg.xml @@ -1,23 +1,23 @@ - - - - - - - + + + + + + + - "" - + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "parallax_bg" - "ParallaxBackground" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/mode" "layer" "offset" "rotation" @@ -27,148 +27,204 @@ "scroll/base_scale" "scroll/limit_begin" "scroll/limit_end" - "script/script" + "scroll/ignore_camera_zoom" "__meta__" + "ParallaxBackground" "sky" - "ParallaxLayer" - "visibility/visible" - "visibility/toplevel" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/notify" - "transform/pos" - "transform/rot" - "transform/scale" "motion/scale" "motion/mirroring" + "ParallaxLayer" "Sprite" + "transform/scale" "texture" "centered" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "clouds" + "transform/pos" "Sprite 2" "Sprite 3" "Sprite 4" "Sprite 5" "Sprite 6" "mount_ 2" + "region" + "region_rect" "mount_1" - "version" - 1 - "conn_count" - 0 "node_count" 14 + "node_paths" + + + "nodes" + -1, -1, 12, 0, -1, 11, 1, 0, 2, 1, 3, 2, 4, 3, 5, 1, 6, 1, 7, 4, 8, 1, 9, 1, 10, 5, 11, 6, 0, 0, 0, 16, 13, -1, 2, 14, 3, 15, 7, 0, 1, 0, 17, 17, -1, 3, 18, 8, 19, 9, 20, 5, 0, 0, 0, 16, 21, -1, 2, 14, 10, 15, 7, 0, 3, 0, 17, 17, -1, 3, 22, 11, 19, 12, 20, 5, 0, 3, 0, 17, 23, -1, 3, 22, 13, 19, 12, 20, 5, 0, 3, 0, 17, 24, -1, 3, 22, 14, 19, 15, 20, 5, 0, 3, 0, 17, 25, -1, 3, 22, 16, 19, 15, 20, 5, 0, 3, 0, 17, 26, -1, 3, 22, 17, 19, 18, 20, 5, 0, 3, 0, 17, 27, -1, 3, 22, 19, 19, 18, 20, 5, 0, 0, 0, 16, 28, -1, 2, 14, 20, 15, 7, 0, 10, 0, 17, 17, -1, 5, 22, 21, 19, 22, 20, 5, 29, 23, 30, 24, 0, 0, 0, 16, 31, -1, 2, 14, 25, 15, 7, 0, 12, 0, 17, 17, -1, 5, 22, 21, 19, 26, 20, 5, 29, 23, 30, 24, 0 "variants" - - False - 0 + -1 0, 0 0 1, 1 0.7, 0 - + False + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - - "Script" - - "current" - 0 - "sources" - - "res://moving_platform.gd" - "res://enemy.gd" - "res://player.gd" - "res://coin.gd" - - + "2D" - - "zoom" - 1 + "ofs" -5, -25 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1 "3D" - - "zfar" - 500 + + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 - "window_mode" - 0 - "window_0" - - "distance" - 4 - "default_light" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - "show_grid" - True - "show_origin" - True - "pos" - 0, 0, 0 - + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" - + "custom_args" "-l $scene" "run_mode" 0 - "__editor_plugin_screen__" - "2D" - True - 1 800, 0 32, 0.94 - - 1 - 1, 1, 1, 1 - 0, 0, 0, 0 + 0.1, 1 28, 127 - + 404, 24 154, 46 - + 525, 130 255, 158 - + 674, 70 0.2, 1 0, 225 - + + True 0, 0, 800, 256 0.4, 1 - + - "nodes" - -1, -1, 1, 0, -1, 16, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11, 3, 12, 3, 13, 6, 14, 3, 15, 3, 16, 7, 17, 8, 0, 0, 0, 19, 18, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 5, 31, 11, 16, 7, 0, 1, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 12, 33, 13, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 0, 0, 19, 43, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 17, 31, 11, 16, 7, 0, 3, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 18, 28, 4, 29, 5, 33, 19, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 44, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 20, 28, 4, 29, 5, 33, 19, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 45, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 21, 28, 4, 29, 5, 33, 22, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 46, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 23, 28, 4, 29, 5, 33, 22, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 47, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 24, 28, 4, 29, 5, 33, 25, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 3, 0, 32, 48, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 26, 28, 4, 29, 5, 33, 25, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 0, 42, 16, 16, 7, 0, 0, 0, 19, 49, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 27, 31, 11, 16, 7, 0, 10, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 28, 28, 4, 29, 5, 33, 29, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 9, 42, 30, 16, 7, 0, 0, 0, 19, 50, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 3, 28, 4, 29, 5, 30, 31, 31, 11, 16, 7, 0, 12, 0, 32, 32, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 20, 9, 21, 0, 22, 10, 23, 10, 24, 9, 25, 1, 26, 0, 27, 28, 28, 4, 29, 5, 33, 32, 34, 0, 8, 3, 35, 0, 36, 0, 37, 14, 38, 14, 39, 1, 40, 15, 41, 9, 42, 30, 16, 7, 0 - "conns" - + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/platformer/player.xml b/demos/2d/platformer/player.xml index 8c7b74ceae1..493279672f3 100644 --- a/demos/2d/platformer/player.xml +++ b/demos/2d/platformer/player.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + 0.5 20 @@ -77,80 +77,6 @@ - - - "idle_weapon" - 0.5 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0 - "transitions" - 1 - "values" - - 25 - - - - - - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 0 - 1 - 2 - 3 - 4 - 0 - - - - - - 1.25 - True - 0.25 - "value" - "sprite:frame" - 1 - - "cont" - False - "times" - 0, 0.25, 0.5, 0.75, 1, 1.25 - "transitions" - 1, 1, 1, 1, 1, 1 - "values" - - 5 - 6 - 7 - 8 - 9 - 5 - - - "falling_weapon" @@ -173,6 +99,28 @@ + + + "idle_weapon" + 0.5 + True + 0.25 + "value" + "sprite:frame" + 1 + + "cont" + False + "times" + 0 + "transitions" + 1 + "values" + + 25 + + + "crouch" @@ -264,6 +212,58 @@ + + + 1.25 + True + 0.25 + "value" + "sprite:frame" + 1 + + "cont" + False + "times" + 0, 0.25, 0.5, 0.75, 1, 1.25 + "transitions" + 1, 1, 1, 1, 1, 1 + "values" + + 0 + 1 + 2 + 3 + 4 + 0 + + + + + + 1.25 + True + 0.25 + "value" + "sprite:frame" + 1 + + "cont" + False + "times" + 0, 0.25, 0.5, 0.75, 1, 1.25 + "transitions" + 1, 1, 1, 1, 1, 1 + "values" + + 5 + 6 + 7 + 8 + 9 + 5 + + + @@ -272,7 +272,7 @@ "pitch" 1 "sample" - + "db" @@ -280,7 +280,7 @@ "pitch" 1 "sample" - + "db" @@ -288,7 +288,7 @@ "pitch" 1 "sample" - + @@ -298,10 +298,12 @@ 0 "conns" + "editable_instances" + + "names" - + "player" - "RigidBody2D" "input/pickable" "shapes/0/shape" "shapes/0/transform" @@ -328,13 +330,13 @@ "damp_override/angular" "script/script" "__meta__" + "RigidBody2D" "sprite" - "Sprite" "texture" "vframes" "hframes" + "Sprite" "smoke" - "Particles2D" "visibility/self_opacity" "visibility/blend_mode" "transform/pos" @@ -364,27 +366,27 @@ "params/anim_initial_pos" "randomness/spin_velocity" "color/color_ramp" + "Particles2D" "anim" - "AnimationPlayer" "playback/process_mode" "playback/default_blend_time" "root/root" "anims/idle" "anims/jumping" - "anims/idle_weapon" - "anims/run" - "anims/run_weapon" "anims/falling_weapon" + "anims/idle_weapon" "anims/crouch" "anims/falling" "anims/standing_weapon_ready" "anims/jumping_weapon" + "anims/run" + "anims/run_weapon" "playback/active" "playback/speed" "blend_times" "autoplay" + "AnimationPlayer" "camera" - "Camera2D" "anchor_mode" "rotating" "current" @@ -400,15 +402,16 @@ "drag_margin/top" "drag_margin/right" "drag_margin/bottom" + "Camera2D" "bullet_shoot" "Position2D" "CollisionShape2D" "transform/scale" "shape" "trigger" + "_update_shape_index" "sound" - "SamplePlayer" - "config/voices" + "config/polyphony" "config/samples" "default/volume_db" "default/pitch_scale" @@ -422,33 +425,38 @@ "default/reverb_room" "default/reverb_send" "default/chorus_send" + "SamplePlayer" "CollisionPolygon2D" "build_mode" "polygon" + "shape_range" "ui" - "CanvasLayer" "layer" "offset" "rotation" "scale" + "CanvasLayer" "left" - "TouchScreenButton" "normal" "pressed" "bitmask" "passby_press" "action" "visibility_mode" + "TouchScreenButton" "right" "jump" "fire" "node_count" 14 + "node_paths" + + "nodes" - -1, -1, 1, 0, -1, 26, 2, 0, 3, 1, 4, 2, 5, 0, 6, 3, 7, 4, 8, 0, 9, 5, 10, 5, 11, 6, 12, 7, 13, 8, 14, 8, 15, 9, 16, 10, 17, 11, 18, 12, 19, 0, 20, 0, 21, 10, 22, 13, 23, 8, 24, 14, 25, 14, 26, 15, 27, 16, 0, 0, 0, 29, 28, -1, 3, 30, 17, 31, 6, 32, 18, 0, 1, 0, 34, 33, -1, 29, 35, 19, 36, 5, 37, 20, 38, 21, 39, 22, 40, 23, 41, 23, 42, 0, 43, 0, 44, 24, 45, 25, 46, 8, 47, 26, 48, 27, 49, 9, 50, 8, 51, 8, 52, 28, 53, 8, 54, 8, 55, 8, 56, 8, 57, 29, 58, 29, 59, 8, 60, 9, 61, 8, 62, 29, 63, 30, 0, 0, 0, 65, 64, -1, 17, 66, 5, 67, 8, 68, 31, 69, 32, 70, 33, 71, 34, 72, 35, 73, 36, 74, 37, 75, 38, 76, 39, 77, 40, 78, 41, 79, 10, 80, 29, 81, 42, 82, 43, 0, 0, 0, 84, 83, -1, 15, 85, 5, 86, 0, 87, 10, 88, 8, 89, 44, 90, 11, 91, 11, 92, 45, 93, 45, 94, 10, 95, 10, 96, 46, 97, 46, 98, 46, 99, 46, 0, 0, 0, 101, 100, -1, 1, 37, 47, 0, 0, 0, 102, 102, -1, 4, 37, 48, 103, 49, 104, 1, 105, 0, 0, 0, 0, 107, 106, -1, 14, 108, 12, 109, 50, 110, 8, 111, 9, 112, 8, 113, 8, 114, 8, 115, 51, 116, 51, 117, 51, 118, 51, 119, 6, 120, 8, 121, 8, 0, 0, 0, 122, 122, -1, 3, 123, 11, 124, 52, 105, 0, 0, 0, 0, 126, 125, -1, 4, 127, 11, 128, 13, 129, 8, 130, 44, 0, 9, 0, 132, 131, -1, 8, 37, 53, 103, 54, 133, 55, 134, 56, 135, 56, 136, 10, 137, 57, 138, 5, 0, 9, 0, 132, 139, -1, 8, 37, 58, 103, 54, 133, 59, 134, 56, 135, 56, 136, 10, 137, 60, 138, 5, 0, 9, 0, 132, 140, -1, 8, 37, 61, 103, 54, 133, 62, 134, 56, 135, 56, 136, 0, 137, 63, 138, 5, 0, 9, 0, 132, 141, -1, 8, 37, 64, 103, 54, 133, 65, 134, 56, 135, 56, 136, 0, 137, 66, 138, 5, 0 + -1, -1, 27, 0, -1, 26, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 4, 7, 0, 8, 5, 9, 5, 10, 6, 11, 7, 12, 8, 13, 8, 14, 9, 15, 10, 16, 11, 17, 12, 18, 0, 19, 0, 20, 10, 21, 13, 22, 8, 23, 14, 24, 14, 25, 15, 26, 16, 0, 0, 0, 32, 28, -1, 3, 29, 17, 30, 6, 31, 18, 0, 1, 0, 63, 33, -1, 29, 34, 19, 35, 5, 36, 20, 37, 21, 38, 22, 39, 23, 40, 23, 41, 0, 42, 0, 43, 24, 44, 25, 45, 8, 46, 26, 47, 27, 48, 9, 49, 8, 50, 8, 51, 28, 52, 8, 53, 8, 54, 8, 55, 8, 56, 29, 57, 29, 58, 8, 59, 9, 60, 8, 61, 29, 62, 30, 0, 0, 0, 82, 64, -1, 17, 65, 5, 66, 8, 67, 31, 68, 32, 69, 33, 70, 34, 71, 35, 72, 36, 73, 37, 74, 38, 75, 39, 76, 40, 77, 41, 78, 10, 79, 29, 80, 42, 81, 43, 0, 0, 0, 99, 83, -1, 15, 84, 5, 85, 0, 86, 10, 87, 8, 88, 44, 89, 11, 90, 11, 91, 45, 92, 45, 93, 10, 94, 10, 95, 46, 96, 46, 97, 46, 98, 46, 0, 0, 0, 101, 100, -1, 1, 36, 47, 0, 0, 0, 102, 102, -1, 5, 36, 48, 103, 49, 104, 1, 105, 0, 106, 50, 0, 0, 0, 122, 107, -1, 14, 108, 5, 109, 51, 110, 8, 111, 9, 112, 8, 113, 8, 114, 8, 115, 11, 116, 8, 117, 8, 118, 8, 119, 6, 120, 8, 121, 8, 0, 0, 0, 123, 123, -1, 4, 124, 11, 125, 52, 126, 53, 105, 0, 0, 0, 0, 132, 127, -1, 4, 128, 11, 129, 13, 130, 8, 131, 44, 0, 9, 0, 140, 133, -1, 8, 36, 54, 103, 55, 134, 56, 135, 57, 136, 57, 137, 10, 138, 58, 139, 5, 0, 9, 0, 140, 141, -1, 8, 36, 59, 103, 55, 134, 60, 135, 57, 136, 57, 137, 10, 138, 61, 139, 5, 0, 9, 0, 140, 142, -1, 8, 36, 62, 103, 55, 134, 63, 135, 57, 136, 57, 137, 0, 138, 64, 139, 5, 0, 9, 0, 140, 143, -1, 8, 36, 65, 103, 55, 134, 66, 135, 57, 136, 57, 137, 0, 138, 67, 139, 5, 0 "variants" - + False 1, -0, 0, 1.76469, 0.291992, -12.1587 @@ -464,7 +472,7 @@ 3 0, 0 -1 - + "__editor_plugin_screen__" "2D" @@ -587,6 +595,11 @@ "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -596,7 +609,7 @@ 0 - + 16 0.363636 20.7312, 3.21187 @@ -604,7 +617,7 @@ 4 0.3 0.1 - + 180 20 9.8 @@ -613,14 +626,14 @@ ".." - - - + + + "" @@ -630,25 +643,26 @@ 31.2428, 4.08784 0.291992, -12.1587 1, 1.76469 + -1 - -0.138023, 16.5036, -19.902, -24.8691, 19.3625, -24.6056 + -1, -1 27.7593, 360.87 1.49157, 1.46265 - + "move_left" 121.542, 361.415 - + "move_right" 666.224, 359.02 - + "jump" 668.073, 262.788 - + "shoot" "version" - 1 + 2 diff --git a/demos/2d/platformer/seesaw.xml b/demos/2d/platformer/seesaw.xml index ed879a93199..760423167f2 100644 --- a/demos/2d/platformer/seesaw.xml +++ b/demos/2d/platformer/seesaw.xml @@ -1,7 +1,7 @@ - - - + + + 0 128, 8 @@ -9,159 +9,192 @@ + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "seesaw" - "Node2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" "__meta__" + "Node2D" "plank" - "RigidBody2D" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" + "damp_override/linear" + "damp_override/angular" + "RigidBody2D" "sprite" - "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" + "Sprite" "CollisionShape2D" "shape" "trigger" + "_update_shape_index" "pin" - "PinJoint2D" "node_a" "node_b" "bias/bias" + "softness" + "PinJoint2D" + "transform/pos" - "version" - 1 - "conn_count" - 0 "node_count" 6 + "node_paths" + + + "nodes" + -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 25, 3, -1, 21, 4, 1, 5, 2, 6, 3, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 0, 1, 0, 28, 26, -1, 1, 27, 12, 0, 1, 0, 29, 29, -1, 3, 30, 2, 31, 1, 32, 13, 0, 0, 0, 38, 33, -1, 4, 34, 14, 35, 15, 36, 8, 37, 8, 0, 0, 0, 28, 28, -1, 2, 39, 16, 27, 17, 0 "variants" - - True - 1 - 0, 0 - 0 - 1, 1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "pixel_snap" - False - "zoom" - 2.050547 "ofs" -116.979, -109.897 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 2.050547 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" - 400 + 179 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -170,27 +203,27 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - 1 + False 1, 0, 0, 1, 0, 0 - False + 1 0 5.102041 - - 1, 1, 1, 1 - 0, 0, 0, 0 + 1 + 0 + True + 0, 0 + -1 + + -1 "../plank" "" -0.290825, 20.2425 - + - "nodes" - -1, -1, 1, 0, -1, 8, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 0, 0, 0, 11, 10, -1, 23, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 12, 6, 13, 7, 14, 8, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 0, 1, 0, 29, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 30, 12, 31, 0, 32, 2, 33, 9, 34, 9, 35, 6, 36, 6, 37, 10, 38, 13, 39, 9, 40, 14, 0, 1, 0, 41, 41, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 7, 43, 9, 0, 0, 0, 45, 44, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 46, 15, 47, 16, 48, 3, 0, 0, 0, 29, 29, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 17, 7, 3, 8, 4, 30, 18, 31, 0, 32, 2, 33, 9, 34, 9, 35, 6, 36, 6, 37, 10, 38, 13, 39, 9, 40, 14, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/platformer/stage.xml b/demos/2d/platformer/stage.xml index d081a1be384..3b5d2815519 100644 --- a/demos/2d/platformer/stage.xml +++ b/demos/2d/platformer/stage.xml @@ -1,27 +1,29 @@ - - - - - - - - - - + + + + + + + + + + "conn_count" 0 "conns" + "editable_instances" + + "names" - + "stage" - "Node" "__meta__" + "Node" "tile_map" - "TileMap" "mode" "tile_set" "cell/size" @@ -36,11 +38,13 @@ "collision/layers" "collision/mask" "tile_data" + "TileMap" "coins" "coin" - "Area2D" - "_import_path" "transform/pos" + "input/pickable" + "linear_damp" + "angular_damp" "coin 2" "coin 3" "coin 4" @@ -84,24 +88,23 @@ "coin 31 7 5" "props" "moving_platform" - "Node2D" "motion" "cycle" "moving_platform 2" "moving_platform 3" "seesaw" "one_way_platform" - "StaticBody2D" "player" - "RigidBody2D" "music" - "StreamPlayer" "stream/stream" "stream/play" "stream/loop" "stream/volume_db" "stream/autoplay" "stream/paused" + "stream/loop_restart_time" + "stream/buffering_ms" + "StreamPlayer" "enemies" "enemy 5" "enemy 6" @@ -115,7 +118,7 @@ "enemy 14" "enemy 15" "parallax_bg" - "ParallaxBackground" + "scroll/ignore_camera_zoom" "Label" "margin/left" "margin/top" @@ -124,26 +127,24 @@ "focus/ignore_mouse" "focus/stop_mouse" "size_flags/horizontal" - "range/min" - "range/max" - "range/step" - "range/page" - "range/value" - "range/exp_edit" - "rounded_values" "text" "autowrap" "percent_visible" + "lines_skipped" + "max_lines_visible" "node_count" 67 + "node_paths" + + "nodes" - -1, -1, 1, 0, -1, 1, 2, 0, 0, 0, 0, 4, 3, -1, 15, 5, 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 1, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 10, 18, 11, 2, 12, 0, 0, 0, 1, 19, -1, 0, 0, 2, 0, 21, 20, 13, 3, 22, 14, 23, 15, 2, 16, 0, 2, 0, 21, 24, 13, 3, 22, 14, 23, 17, 2, 16, 0, 2, 0, 21, 25, 13, 3, 22, 14, 23, 18, 2, 16, 0, 2, 0, 21, 26, 13, 3, 22, 14, 23, 19, 2, 16, 0, 2, 0, 21, 27, 13, 3, 22, 14, 23, 20, 2, 16, 0, 2, 0, 21, 28, 13, 3, 22, 14, 23, 21, 2, 16, 0, 2, 0, 21, 29, 13, 3, 22, 14, 23, 22, 2, 16, 0, 2, 0, 21, 30, 13, 3, 22, 14, 23, 23, 2, 16, 0, 2, 0, 21, 31, 13, 3, 22, 14, 23, 24, 2, 16, 0, 2, 0, 21, 32, 13, 3, 22, 14, 23, 25, 2, 16, 0, 2, 0, 21, 33, 13, 3, 22, 14, 23, 26, 2, 16, 0, 2, 0, 21, 34, 13, 3, 22, 14, 23, 27, 2, 16, 0, 2, 0, 21, 35, 13, 3, 22, 14, 23, 28, 2, 16, 0, 2, 0, 21, 36, 13, 3, 22, 14, 23, 29, 2, 16, 0, 2, 0, 21, 37, 13, 3, 22, 14, 23, 30, 2, 16, 0, 2, 0, 21, 38, 13, 3, 22, 14, 23, 31, 2, 16, 0, 2, 0, 21, 39, 13, 3, 22, 14, 23, 32, 2, 16, 0, 2, 0, 21, 40, 13, 3, 22, 14, 23, 33, 2, 16, 0, 2, 0, 21, 41, 13, 3, 22, 14, 23, 34, 2, 16, 0, 2, 0, 21, 42, 13, 3, 22, 14, 23, 35, 2, 16, 0, 2, 0, 21, 43, 13, 3, 22, 14, 23, 36, 2, 16, 0, 2, 0, 21, 44, 13, 3, 22, 14, 23, 37, 2, 16, 0, 2, 0, 21, 45, 13, 3, 22, 14, 23, 38, 2, 16, 0, 2, 0, 21, 46, 13, 3, 22, 14, 23, 39, 2, 16, 0, 2, 0, 21, 47, 13, 3, 22, 14, 23, 40, 2, 16, 0, 2, 0, 21, 48, 13, 3, 22, 14, 23, 41, 2, 16, 0, 2, 0, 21, 49, 13, 3, 22, 14, 23, 42, 2, 16, 0, 2, 0, 21, 50, 13, 3, 22, 14, 23, 43, 2, 16, 0, 2, 0, 21, 51, 13, 3, 22, 14, 23, 44, 2, 16, 0, 2, 0, 21, 52, 13, 3, 22, 14, 23, 45, 2, 16, 0, 2, 0, 21, 53, 13, 3, 22, 14, 23, 46, 2, 16, 0, 2, 0, 21, 54, 13, 3, 22, 14, 23, 47, 2, 16, 0, 2, 0, 21, 55, 13, 3, 22, 14, 23, 48, 2, 16, 0, 2, 0, 21, 56, 13, 3, 22, 14, 23, 49, 2, 16, 0, 2, 0, 21, 57, 13, 3, 22, 14, 23, 50, 2, 16, 0, 2, 0, 21, 58, 13, 3, 22, 14, 23, 51, 2, 16, 0, 2, 0, 21, 59, 13, 3, 22, 14, 23, 52, 2, 16, 0, 2, 0, 21, 60, 13, 3, 22, 14, 23, 53, 2, 16, 0, 2, 0, 21, 61, 13, 3, 22, 14, 23, 54, 2, 16, 0, 2, 0, 21, 62, 13, 3, 22, 14, 23, 55, 2, 16, 0, 2, 0, 21, 63, 13, 3, 22, 14, 23, 56, 2, 16, 0, 2, 0, 21, 64, 13, 3, 22, 14, 23, 57, 2, 16, 0, 0, 0, 1, 65, -1, 0, 0, 45, 0, 67, 66, 58, 5, 22, 14, 23, 59, 2, 60, 68, 61, 69, 62, 0, 45, 0, 67, 70, 58, 5, 22, 14, 23, 63, 2, 60, 68, 64, 69, 65, 0, 45, 0, 67, 71, 58, 5, 22, 14, 23, 66, 2, 60, 68, 67, 69, 65, 0, 45, 0, 67, 72, 68, 3, 22, 14, 23, 69, 2, 70, 0, 45, 0, 74, 73, 71, 3, 22, 14, 23, 72, 2, 73, 0, 0, 0, 76, 75, 74, 3, 22, 14, 23, 75, 2, 76, 0, 0, 0, 78, 77, -1, 6, 79, 77, 80, 7, 81, 78, 82, 79, 83, 78, 84, 7, 0, 0, 0, 1, 85, -1, 0, 0, 53, 0, 76, 86, 80, 3, 22, 14, 23, 81, 2, 82, 0, 53, 0, 76, 87, 80, 3, 22, 14, 23, 83, 2, 82, 0, 53, 0, 76, 88, 80, 3, 22, 14, 23, 84, 2, 82, 0, 53, 0, 76, 89, 80, 3, 22, 14, 23, 85, 2, 82, 0, 53, 0, 76, 90, 80, 3, 22, 14, 23, 86, 2, 82, 0, 53, 0, 76, 91, 80, 3, 22, 14, 23, 87, 2, 82, 0, 53, 0, 76, 92, 80, 3, 22, 14, 23, 88, 2, 82, 0, 53, 0, 76, 93, 80, 3, 22, 14, 23, 89, 2, 82, 0, 53, 0, 76, 94, 80, 3, 22, 14, 23, 90, 2, 82, 0, 53, 0, 76, 95, 80, 3, 22, 14, 23, 91, 2, 82, 0, 53, 0, 76, 96, 80, 3, 22, 14, 23, 92, 2, 82, 0, 0, 0, 98, 97, 93, 2, 22, 14, 2, 94, 0, 0, 0, 99, 99, -1, 17, 100, 95, 101, 96, 102, 97, 103, 98, 104, 78, 105, 78, 106, 6, 107, 9, 108, 99, 109, 8, 110, 100, 111, 9, 112, 7, 113, 7, 114, 101, 115, 78, 116, 102, 0 + -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 18, 3, -1, 15, 4, 1, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 1, 11, 7, 12, 7, 13, 8, 14, 9, 15, 10, 16, 10, 17, 11, 1, 12, 0, 0, 0, 2, 19, -1, 0, 0, 2, 0, 2147483647, 20, 13, 4, 21, 14, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 25, 13, 4, 21, 17, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 26, 13, 4, 21, 18, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 27, 13, 4, 21, 19, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 28, 13, 4, 21, 20, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 29, 13, 4, 21, 21, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 30, 13, 4, 21, 22, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 31, 13, 4, 21, 23, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 32, 13, 4, 21, 24, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 33, 13, 4, 21, 25, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 34, 13, 4, 21, 26, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 35, 13, 4, 21, 27, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 36, 13, 4, 21, 28, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 37, 13, 4, 21, 29, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 38, 13, 4, 21, 30, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 39, 13, 4, 21, 31, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 40, 13, 4, 21, 32, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 41, 13, 4, 21, 33, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 42, 13, 4, 21, 34, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 43, 13, 4, 21, 35, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 44, 13, 4, 21, 36, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 45, 13, 4, 21, 37, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 46, 13, 4, 21, 38, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 47, 13, 4, 21, 39, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 48, 13, 4, 21, 40, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 49, 13, 4, 21, 41, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 50, 13, 4, 21, 42, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 51, 13, 4, 21, 43, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 52, 13, 4, 21, 44, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 53, 13, 4, 21, 45, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 54, 13, 4, 21, 46, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 55, 13, 4, 21, 47, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 56, 13, 4, 21, 48, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 57, 13, 4, 21, 49, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 58, 13, 4, 21, 50, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 59, 13, 4, 21, 51, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 60, 13, 4, 21, 52, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 61, 13, 4, 21, 53, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 62, 13, 4, 21, 54, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 63, 13, 4, 21, 55, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 64, 13, 4, 21, 56, 22, 15, 23, 16, 24, 8, 0, 2, 0, 2147483647, 65, 13, 4, 21, 57, 22, 15, 23, 16, 24, 8, 0, 0, 0, 2, 66, -1, 0, 0, 45, 0, 2147483647, 67, 58, 3, 21, 59, 68, 60, 69, 61, 0, 45, 0, 2147483647, 70, 58, 3, 21, 62, 68, 63, 69, 64, 0, 45, 0, 2147483647, 71, 58, 3, 21, 65, 68, 66, 69, 64, 0, 45, 0, 2147483647, 72, 67, 1, 21, 68, 0, 45, 0, 2147483647, 73, 69, 1, 21, 70, 0, 0, 0, 2147483647, 74, 71, 1, 21, 72, 0, 0, 0, 84, 75, -1, 8, 76, 73, 77, 7, 78, 15, 79, 74, 80, 15, 81, 7, 82, 9, 83, 75, 0, 0, 0, 2, 85, -1, 0, 0, 53, 0, 2147483647, 86, 76, 1, 21, 77, 0, 53, 0, 2147483647, 87, 76, 1, 21, 78, 0, 53, 0, 2147483647, 88, 76, 1, 21, 79, 0, 53, 0, 2147483647, 89, 76, 1, 21, 80, 0, 53, 0, 2147483647, 90, 76, 1, 21, 81, 0, 53, 0, 2147483647, 91, 76, 1, 21, 82, 0, 53, 0, 2147483647, 92, 76, 1, 21, 83, 0, 53, 0, 2147483647, 93, 76, 1, 21, 84, 0, 53, 0, 2147483647, 94, 76, 1, 21, 85, 0, 53, 0, 2147483647, 95, 76, 1, 21, 86, 0, 53, 0, 2147483647, 96, 76, 1, 21, 87, 0, 0, 0, 2147483647, 97, 88, 1, 98, 7, 0, 0, 0, 99, 99, -1, 12, 100, 89, 101, 90, 102, 91, 103, 92, 104, 15, 105, 15, 106, 6, 107, 93, 108, 15, 109, 8, 110, 1, 111, 94, 0 "variants" - + "__editor_plugin_screen__" - "2D" + "Script" "__editor_plugin_states__" "2D" @@ -263,6 +264,11 @@ "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -273,7 +279,7 @@ 0 - + 64, 64 8 1, 0, 0, 1, 0, 0 @@ -287,119 +293,10 @@ "_edit_lock_" True - - "" + 672, 1179 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -34.3697, -21.6562 - "pixel_snap" - False - "zoom" - 3.794776 - - "3D" - - "default_light" - True - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Script" - - "current" - 2 - "sources" - - "res://enemy.gd" - "res://player.gd" - "res://coin.gd" - - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - + True + 0.1 704, 1179 736, 1179 1120, 992 @@ -441,119 +338,8 @@ 4300.75, 541.058 4236.75, 541.058 4172.75, 541.058 - + 1451.86, 742.969 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -210.652, -172.81 - "pixel_snap" - False - "zoom" - 1.360373 - - "3D" - - "default_light" - True - "fov" - 400 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Script" - - "current" - 0 - "sources" - - "res://moving_platform.gd" - "res://enemy.gd" - "res://player.gd" - "res://coin.gd" - - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - 0, 140 5 624.824, 545.544 @@ -561,483 +347,17 @@ 10 3419.86, 739.662 450, 0 - + 2402.79, 849.52 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -116.979, -109.897 - "pixel_snap" - False - "zoom" - 2.050547 - - "3D" - - "default_light" - True - "fov" - 400 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - + 927.698, 1120.81 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -133.699, -110.553 - "snap_grid" - False - "snap_offset" - 0, 0 - "snap_pixel" - False - "snap_relative" - False - "snap_rotation" - False - "snap_rotation_offset" - 0 - "snap_rotation_step" - 0.261799 - "snap_show_grid" - False - "snap_step" - 10, 10 - "zoom" - 2.050546 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - + 251.684, 1045.6 - - "__editor_plugin_screen__" - "Script" - "__editor_plugin_states__" - - "2D" - - "ofs" - -181.946, -86.2812 - "pixel_snap" - False - "snap" - 10 - "use_snap" - False - "zoom" - 2.272073 - - "3D" - - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "default_light" - True - "default_srgb" - False - "deflight_rot_x" - 0.942478 - "deflight_rot_y" - 0.628319 - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "listener" - True - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "listener" - False - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Script" - - "current" - 0 - "sources" - - "res://player.gd" - - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - - - True + 2 - + 500 + 834.664, 1309.6 - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -227.625, -197.9 - "pixel_snap" - False - "zoom" - 1.108033 - - "3D" - - "default_light" - True - "fov" - 45 - "show_grid" - True - "show_origin" - True - "viewport_mode" - 1 - "viewports" - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "distance" - 4 - "pos" - 0, 0, 0 - "use_environment" - False - "use_orthogonal" - False - "x_rot" - 0 - "y_rot" - 0 - - - "zfar" - 500 - "znear" - 0.1 - - "Script" - - "current" - 0 - "sources" - - "res://enemy.gd" - - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - 707.665, 1225.05 1125.21, 1053.06 1292.11, 1059.24 @@ -1048,79 +368,16 @@ 3429.73, 540.865 3546.2, 1356.19 2406.63, 815.115 - - - "__editor_plugin_screen__" - "2D" - "__editor_plugin_states__" - - "2D" - - "ofs" - -5, -25 - "zoom" - 1 - - "3D" - - "fov" - 45 - "window_0" - - "default_light" - True - "distance" - 4 - "pos" - 0, 0, 0 - "show_grid" - True - "show_origin" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - - "window_mode" - 0 - "zfar" - 500 - "znear" - 0.1 - - "Script" - - "current" - 0 - "sources" - - "res://moving_platform.gd" - "res://enemy.gd" - "res://player.gd" - "res://coin.gd" - - - - "__editor_run_settings__" - - "custom_args" - "-l $scene" - "run_mode" - 0 - - + 12 -202 358 -10 - 7 - 14.769231 "This is a simple demo on how to make a platformer game with Godot."This version uses physics and the 2D physics engine for motion and collision.""The demo also shows the benefits of using the scene system, where coins,"enemies and the player are edited separatedly and instanced in the stage.""To edit the base tiles for the tileset, open the tileset_edit.xml file and follow "instructions."" - -1 + -1 "version" - 1 + 2 diff --git a/demos/2d/platformer/tileset_edit.xml b/demos/2d/platformer/tileset_edit.xml index db289433aba..3ae9f1bd2ac 100644 --- a/demos/2d/platformer/tileset_edit.xml +++ b/demos/2d/platformer/tileset_edit.xml @@ -1,6 +1,6 @@ - - + + 0 -32, -24, 32, -24, 32, 32, -32, 32 @@ -63,48 +63,41 @@ + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "Node" - "_import_path" "__meta__" "floor" - "Sprite" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "transform/pos" - "transform/rot" - "transform/scale" - "z/z" - "z/relative" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" "region" "region_rect" + "Sprite" "collision" - "StaticBody2D" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" - "layers" + "collision/layers" + "collision/mask" "constant_linear_velocity" "constant_angular_velocity" "friction" "bounce" + "StaticBody2D" "CollisionPolygon2D" "build_mode" "polygon" + "shape_range" "trigger" "edge" + "transform/pos" "wall" "wall_deco" "corner" @@ -118,147 +111,152 @@ "ramp" "ceiling2wall" "help" - "Label" - "focus_neighbour/left" - "focus_neighbour/top" - "focus_neighbour/right" - "focus_neighbour/bottom" "focus/ignore_mouse" "focus/stop_mouse" "size_flags/horizontal" - "size_flags/stretch_ratio" - "range/min" - "range/max" - "range/step" - "range/page" - "range/value" - "range/exp_edit" - "rounded_values" "text" - "align" - "valign" - "autowrap" - "uppercase" "percent_visible" + "lines_skipped" + "max_lines_visible" + "Label" "platform_floor" "platform_edge" - "version" - 1 - "conn_count" - 0 "node_count" 42 + "node_paths" + + + "nodes" + -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 6, 2, -1, 3, 3, 1, 4, 2, 5, 3, 0, 1, 0, 18, 7, -1, 10, 8, 4, 9, 5, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 2, 0, 19, 19, -1, 4, 20, 11, 21, 12, 22, 13, 23, 4, 0, 0, 0, 6, 24, -1, 4, 25, 14, 3, 1, 4, 2, 5, 15, 0, 4, 0, 18, 7, -1, 10, 8, 4, 9, 16, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 5, 0, 19, 19, -1, 4, 20, 11, 21, 17, 22, 13, 23, 4, 0, 0, 0, 6, 26, -1, 4, 25, 18, 3, 1, 4, 2, 5, 19, 0, 7, 0, 18, 7, -1, 10, 8, 4, 9, 20, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 8, 0, 19, 19, -1, 4, 20, 11, 21, 21, 22, 13, 23, 4, 0, 0, 0, 6, 27, -1, 4, 25, 22, 3, 1, 4, 2, 5, 23, 0, 10, 0, 18, 7, -1, 10, 8, 4, 9, 24, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 11, 0, 19, 19, -1, 4, 20, 11, 21, 25, 22, 13, 23, 4, 0, 0, 0, 6, 28, -1, 4, 25, 26, 3, 1, 4, 2, 5, 27, 0, 13, 0, 18, 7, -1, 10, 8, 4, 9, 28, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 14, 0, 19, 19, -1, 4, 20, 11, 21, 29, 22, 13, 23, 4, 0, 0, 0, 6, 29, -1, 4, 25, 30, 3, 1, 4, 2, 5, 31, 0, 16, 0, 18, 7, -1, 10, 8, 4, 9, 32, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 17, 0, 19, 19, -1, 4, 20, 11, 21, 33, 22, 13, 23, 4, 0, 0, 0, 6, 30, -1, 4, 25, 34, 3, 1, 4, 2, 5, 35, 0, 19, 0, 18, 7, -1, 10, 8, 4, 9, 36, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 20, 0, 19, 19, -1, 4, 20, 11, 21, 33, 22, 13, 23, 4, 0, 0, 0, 6, 31, -1, 4, 25, 37, 3, 1, 4, 2, 5, 38, 0, 0, 0, 6, 32, -1, 4, 25, 39, 3, 1, 4, 2, 5, 40, 0, 0, 0, 6, 33, -1, 4, 25, 41, 3, 1, 4, 2, 5, 42, 0, 0, 0, 6, 34, -1, 4, 25, 43, 3, 1, 4, 2, 5, 44, 0, 0, 0, 6, 35, -1, 4, 25, 45, 3, 1, 4, 2, 5, 46, 0, 26, 0, 18, 7, -1, 10, 8, 4, 9, 47, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 27, 0, 19, 19, -1, 4, 20, 11, 21, 48, 22, 13, 23, 4, 0, 0, 0, 6, 36, -1, 4, 25, 49, 3, 1, 4, 2, 5, 50, 0, 29, 0, 18, 7, -1, 10, 8, 4, 9, 51, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 30, 0, 19, 19, -1, 4, 20, 11, 21, 52, 22, 13, 23, 4, 0, 0, 0, 6, 37, -1, 4, 25, 53, 3, 1, 4, 2, 5, 54, 0, 32, 0, 18, 7, -1, 10, 8, 4, 9, 55, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 33, 0, 19, 19, -1, 4, 20, 11, 21, 21, 22, 13, 23, 4, 0, 0, 0, 46, 38, -1, 7, 39, 2, 40, 2, 41, 56, 42, 57, 43, 10, 44, 11, 45, 58, 0, 0, 0, 6, 47, -1, 4, 25, 59, 3, 1, 4, 2, 5, 60, 0, 36, 0, 18, 7, -1, 10, 8, 4, 9, 61, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 37, 0, 19, 19, -1, 4, 20, 11, 21, 62, 22, 13, 23, 4, 0, 0, 0, 6, 48, -1, 4, 25, 63, 3, 1, 4, 2, 5, 64, 0, 39, 0, 18, 7, -1, 10, 8, 4, 9, 65, 10, 6, 11, 4, 12, 7, 13, 7, 14, 8, 15, 9, 16, 10, 17, 9, 0, 40, 0, 19, 19, -1, 4, 20, 11, 21, 66, 22, 13, 23, 4, 0 "variants" - - "" + + "__editor_plugin_screen__" + "Script" "__editor_plugin_states__" "2D" - "pixel_snap" - True - "zoom" - 1.670183 - "use_snap" - True "ofs" -446.534, -87.6905 - "snap" - 8 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1.670183 "3D" + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 "deflight_rot_y" 0.628319 - "zfar" - 500 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 - "x_rot" - 0 - "y_rot" - 0 "listener" True + "pos" + 0, 0, 0 "use_environment" False "use_orthogonal" False - "pos" - 0, 0, 0 - - - "distance" - 4 "x_rot" 0 "y_rot" 0 - "listener" - False - "use_environment" - False - "use_orthogonal" - False - "pos" - 0, 0, 0 "distance" 4 - "x_rot" - 0 - "y_rot" - 0 "listener" False + "pos" + 0, 0, 0 "use_environment" False "use_orthogonal" False - "pos" - 0, 0, 0 + "x_rot" + 0 + "y_rot" + 0 "distance" 4 - "x_rot" - 0 - "y_rot" - 0 "listener" False + "pos" + 0, 0, 0 "use_environment" False "use_orthogonal" False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False "pos" 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 - "viewport_mode" - 1 - "default_light" - True - "ambient_light_color" - 0.15, 0.15, 0.15, 1 - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 - "default_srgb" + + "Anim" + + "visible" False - "deflight_rot_x" - 0.942478 "__editor_run_settings__" @@ -268,23 +266,20 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" + True - 1 - 0, 0 - 0 - 1, 1 - 0 - - False - 1 - 1, 1, 1, 1 0, 0, 64, 64 + False 1, -0, 0, 1, 0, 0 + 1 + 0, 0 + 0 + 1 + 0 32, -24, 32, 32, -32, 32, -32, -24 + -1, -1 64, 0 64, 0, 64, 64 @@ -329,7 +324,7 @@ 2 "This scene serves as a tool for editing the tileset. Nodes (sprites) and their respective collisions are edited here. To create a tileset from this, a "TileSet" resoucre must be created. Use the helper in: Scene -< Convert To -< TileSet This will save a tileset. Saving over it will merge your changes. Finally, the saved tileset resource (tileset.xml in this case), can be opened to be used into a TileMap node for editing a tile map. " - -1 + -1 0, 256 128, 0, 64, 64 @@ -339,10 +334,8 @@ 24, -24, 24, 24, -32, 24, -32, -24 - "nodes" - -1, -1, 0, 0, -1, 2, 1, 0, 2, 1, 0, 0, 0, 4, 3, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 12, 0, 1, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 13, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 2, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 15, 38, 9, 0, 0, 0, 4, 39, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 16, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 17, 0, 4, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 18, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 5, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 19, 38, 9, 0, 0, 0, 4, 40, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 20, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 21, 0, 7, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 22, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 8, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 23, 38, 9, 0, 0, 0, 4, 41, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 24, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 25, 0, 10, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 26, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 11, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 27, 38, 9, 0, 0, 0, 4, 42, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 28, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 29, 0, 13, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 30, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 14, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 31, 38, 9, 0, 0, 0, 4, 43, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 32, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 33, 0, 16, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 34, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 17, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 35, 38, 9, 0, 0, 0, 4, 44, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 36, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 37, 0, 19, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 38, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 20, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 35, 38, 9, 0, 0, 0, 4, 45, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 39, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 40, 0, 0, 0, 4, 46, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 41, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 42, 0, 0, 0, 4, 47, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 43, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 44, 0, 0, 0, 4, 48, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 45, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 46, 0, 0, 0, 4, 49, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 47, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 48, 0, 26, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 49, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 27, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 50, 38, 9, 0, 0, 0, 4, 50, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 51, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 52, 0, 29, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 53, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 30, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 54, 38, 9, 0, 0, 0, 4, 51, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 55, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 56, 0, 32, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 57, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 33, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 23, 38, 9, 0, 0, 0, 53, 52, -1, 25, 1, 0, 5, 2, 6, 3, 7, 3, 54, 0, 55, 0, 56, 0, 57, 0, 58, 2, 59, 2, 60, 58, 61, 3, 62, 5, 63, 3, 64, 3, 65, 3, 66, 5, 67, 9, 68, 9, 69, 59, 70, 7, 71, 7, 72, 9, 73, 9, 74, 60, 0, 0, 0, 4, 75, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 61, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 62, 0, 36, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 63, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 37, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 64, 38, 9, 0, 0, 0, 4, 76, -1, 20, 1, 0, 5, 2, 6, 3, 7, 3, 8, 65, 9, 5, 10, 6, 11, 7, 12, 2, 13, 8, 14, 2, 15, 4, 16, 9, 17, 9, 18, 10, 19, 10, 20, 7, 21, 11, 22, 2, 23, 66, 0, 39, 0, 25, 24, -1, 18, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 26, 10, 27, 67, 28, 14, 29, 9, 30, 10, 31, 4, 32, 5, 33, 3, 34, 5, 0, 40, 0, 35, 35, -1, 12, 1, 0, 5, 2, 6, 3, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 2, 36, 7, 37, 68, 38, 9, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/pong/pong.xml b/demos/2d/pong/pong.xml index cf47a8db9ff..2189be7c620 100644 --- a/demos/2d/pong/pong.xml +++ b/demos/2d/pong/pong.xml @@ -1,153 +1,170 @@ - - - - - - + + + + + + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "game" - "Node2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" "script/script" "__meta__" + "Node2D" "left" - "Sprite" + "transform/pos" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" + "Sprite" "right" "separator" "ball" - "version" - 1 - "conn_count" - 0 "node_count" 5 + "node_paths" + + + "nodes" + -1, -1, 3, 0, -1, 2, 1, 0, 2, 1, 0, 0, 0, 7, 4, -1, 2, 5, 2, 6, 3, 0, 0, 0, 7, 8, -1, 2, 5, 4, 6, 5, 0, 0, 0, 7, 9, -1, 2, 5, 6, 6, 7, 0, 0, 0, 7, 10, -1, 2, 5, 8, 6, 9, 0 "variants" - - True - 1 - 0, 0 - 0 - 1, 1 - + + + "__editor_plugin_screen__" + "Script" "__editor_plugin_states__" - "Script" - - "current" - 0 - "sources" - - "res://pong.gd" - - "2D" - "pixel_snap" - True - "zoom" - 1.108033 "ofs" -54.59, -36.0052 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1.108033 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -156,27 +173,18 @@ "run_mode" 0 - "__editor_plugin_screen__" - "Script" 67.6875, 183.208 - - False - 1 - 0 - 1, 1, 1, 1 - 0, 0, 0, 0 + 577, 187 - + 320, 200 - + 320.283, 188 - + - "nodes" - -1, -1, 1, 0, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 0, 0, 0, 12, 11, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 7, 7, 3, 8, 4, 13, 8, 14, 0, 15, 2, 16, 9, 17, 9, 18, 10, 19, 10, 20, 11, 21, 12, 22, 9, 23, 13, 0, 0, 0, 12, 24, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 14, 7, 3, 8, 4, 13, 15, 14, 0, 15, 2, 16, 9, 17, 9, 18, 10, 19, 10, 20, 11, 21, 12, 22, 9, 23, 13, 0, 0, 0, 12, 25, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 16, 7, 3, 8, 4, 13, 17, 14, 0, 15, 2, 16, 9, 17, 9, 18, 10, 19, 10, 20, 11, 21, 12, 22, 9, 23, 13, 0, 0, 0, 12, 26, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 18, 7, 3, 8, 4, 13, 19, 14, 0, 15, 2, 16, 9, 17, 9, 18, 10, 19, 10, 20, 11, 21, 12, 22, 9, 23, 13, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/rubegoldberg/ball.xml b/demos/2d/rubegoldberg/ball.xml index 625438eb75b..73b699514c4 100644 --- a/demos/2d/rubegoldberg/ball.xml +++ b/demos/2d/rubegoldberg/ball.xml @@ -1,171 +1,200 @@ - - + + - "" 0 32 - + - "" + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "Ball" - "RigidBody2D" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/pause_mode" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/pos" - "transform/rot" - "transform/scale" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" - "script/script" + "damp_override/linear" + "damp_override/angular" "__meta__" + "RigidBody2D" "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "CollisionShape2D" "shape" "trigger" + "_update_shape_index" - "version" - 1 - "conn_count" - 0 "node_count" 3 + "node_paths" + + + "nodes" + -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 6, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 7, 20, 10, 21, 10, 22, 11, 0, 0, 0, 24, 24, -1, 1, 25, 12, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 13, 0 "variants" - + False - 0 - True - 1 - 0, 0 - 0 - 1, 1 - 1 - + 1, 0, 0, 1, 0, 0 + 1 + 0 3 - + 1 + 0 + True + 0, 0 + -1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "zoom" - 1.50734 "ofs" -80.5995, -149.825 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1.50734 "3D" - "zfar" - 500 - "fov" - 45 - "viewports" - - - "distance" - 4 - "x_rot" - 0 - "y_rot" - 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - - - "distance" - 4 - "x_rot" - 0 - "y_rot" - 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - - - "distance" - 4 - "x_rot" - 0 - "y_rot" - 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - - - "distance" - 4 - "x_rot" - 0 - "y_rot" - 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - - - "viewport_mode" - 1 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 "default_light" True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 + "fov" + 45 "show_grid" True "show_origin" True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -174,18 +203,13 @@ "run_mode" 0 - "__editor_plugin_screen__" - "Script" - - 1, 1, 1, 1 - 0, 0, 0, 0 + + -1 - "nodes" - -1, -1, 1, 0, -1, 31, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 3, 9, 3, 10, 2, 11, 1, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9, 18, 0, 19, 1, 20, 10, 21, 3, 22, 5, 23, 0, 24, 0, 25, 1, 26, 0, 27, 2, 28, 2, 29, 4, 30, 5, 31, 11, 32, 12, 0, 0, 0, 33, 33, -1, 25, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 3, 9, 3, 10, 2, 11, 1, 12, 4, 13, 5, 14, 6, 34, 13, 35, 2, 36, 4, 37, 0, 38, 0, 39, 7, 40, 7, 41, 1, 42, 14, 43, 0, 44, 15, 31, 11, 0, 0, 0, 45, 45, -1, 16, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 3, 9, 3, 10, 2, 11, 1, 12, 4, 13, 5, 14, 6, 46, 8, 47, 0, 31, 11, 0 - "conns" - + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/rubegoldberg/box.xml b/demos/2d/rubegoldberg/box.xml index c715326ae01..c30d30e9f9d 100644 --- a/demos/2d/rubegoldberg/box.xml +++ b/demos/2d/rubegoldberg/box.xml @@ -1,142 +1,214 @@ - - + + - "" 0 32, 32 - + - "" - + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "box" - "RigidBody2D" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/mode" - "visibility/visible" - "visibility/toplevel" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/notify" - "transform/pos" - "transform/rot" - "transform/scale" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" + "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" - "script/script" + "damp_override/linear" + "damp_override/angular" "__meta__" + "RigidBody2D" "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "CollisionShape2D" "shape" + "trigger" + "_update_shape_index" - "version" - 1 - "conn_count" - 0 "node_count" 3 + "node_paths" + + + "nodes" + -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 5, 10, 6, 11, 5, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 7, 18, 8, 19, 6, 20, 9, 21, 9, 22, 10, 0, 0, 0, 24, 24, -1, 1, 25, 11, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 12, 0 "variants" - + False - 0 - True - 1 - 0, 0 - 0 - 1, 1 - 1 - + 1, 0, 0, 1, 0, 0 - + 1 + 0 + 1 + 0 + True + 0, 0 + -1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - + "2D" - - "zoom" - 1 + "ofs" -125, -163 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1 "3D" - - "zfar" - 500 + + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 - "window_mode" - 0 - "window_0" - - "distance" - 4 - "default_light" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - "show_grid" - True - "show_origin" - True - "pos" - 0, 0, 0 - + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" - + "custom_args" "-l $scene" "run_mode" 0 - "__editor_plugin_screen__" - "2D" - - 1, 1, 1, 1 - 0, 0, 0, 0 + + -1 - "nodes" - -1, -1, 1, 0, -1, 32, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 17, 7, 18, 8, 19, 9, 20, 1, 21, 3, 22, 3, 23, 5, 24, 0, 25, 0, 26, 1, 27, 0, 28, 2, 29, 2, 30, 4, 31, 5, 32, 10, 33, 11, 0, 0, 0, 34, 34, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 4, 15, 5, 16, 6, 35, 12, 36, 2, 37, 4, 38, 0, 39, 0, 40, 7, 41, 7, 42, 1, 43, 13, 44, 0, 45, 14, 32, 10, 0, 0, 0, 46, 46, -1, 17, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 47, 8, 32, 10, 0 - "conns" - + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/rubegoldberg/domino.xml b/demos/2d/rubegoldberg/domino.xml index 324bf57e664..ec86c833df2 100644 --- a/demos/2d/rubegoldberg/domino.xml +++ b/demos/2d/rubegoldberg/domino.xml @@ -1,143 +1,215 @@ - - + + - "" 0 16, 64 - + - "" - + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "domino" - "RigidBody2D" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/mode" - "visibility/visible" - "visibility/toplevel" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/notify" - "transform/pos" - "transform/rot" - "transform/scale" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" + "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" - "script/script" + "damp_override/linear" + "damp_override/angular" "__meta__" + "RigidBody2D" "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "CollisionShape2D" "shape" + "trigger" + "_update_shape_index" - "version" - 1 - "conn_count" - 0 "node_count" 3 + "node_paths" + + + "nodes" + -1, -1, 23, 0, -1, 22, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 5, 12, 0, 13, 4, 14, 4, 15, 0, 16, 0, 17, 8, 18, 9, 19, 7, 20, 10, 21, 10, 22, 11, 0, 0, 0, 24, 24, -1, 1, 25, 12, 0, 0, 0, 26, 26, -1, 3, 27, 1, 28, 0, 29, 13, 0 "variants" - + False - 0 - True - 1 - 0, 0 - 0 - 1, 1 - 1 - + 1, 0, 0, 1, 0, 0 + 1 + 0 + 1 0.5 - + 0 + True + 0, 0 + -1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - + "2D" - - "zoom" - 1 + "ofs" -135, -114 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1 "3D" - - "zfar" - 500 + + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 - "window_mode" - 0 - "window_0" - - "distance" - 4 - "default_light" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - "show_grid" - True - "show_origin" - True - "pos" - 0, 0, 0 - + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" - + "custom_args" "-l $scene" "run_mode" 0 - "__editor_plugin_screen__" - "2D" - - 1, 1, 1, 1 - 0, 0, 0, 0 + + -1 - "nodes" - -1, -1, 1, 0, -1, 32, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 17, 7, 18, 8, 19, 9, 20, 1, 21, 3, 22, 10, 23, 5, 24, 0, 25, 0, 26, 1, 27, 0, 28, 2, 29, 2, 30, 4, 31, 5, 32, 11, 33, 12, 0, 0, 0, 34, 34, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 4, 15, 5, 16, 6, 35, 13, 36, 2, 37, 4, 38, 0, 39, 0, 40, 7, 41, 7, 42, 1, 43, 14, 44, 0, 45, 15, 32, 11, 0, 0, 0, 46, 46, -1, 17, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 47, 8, 32, 11, 0 - "conns" - + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/rubegoldberg/pendulum.xml b/demos/2d/rubegoldberg/pendulum.xml index 2a5378ff2fa..90ad45f2873 100644 --- a/demos/2d/rubegoldberg/pendulum.xml +++ b/demos/2d/rubegoldberg/pendulum.xml @@ -1,7 +1,7 @@ - - - + + + 0 3, 12 @@ -14,165 +14,201 @@ + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "pendulum" - "Node2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" "__meta__" + "Node2D" "union_0" - "RigidBody2D" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" + "collision/layers" + "collision/mask" "mode" "mass" "friction" "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" + "damp_override/linear" + "damp_override/angular" + "RigidBody2D" "Sprite" + "transform/scale" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "collision" - "CollisionShape2D" "shape" "trigger" + "_update_shape_index" + "CollisionShape2D" "union_ 2" + "transform/pos" "union_ 3" "union_ 4" "joint1" - "PinJoint2D" "node_a" "node_b" "bias/bias" + "softness" + "PinJoint2D" "joint 2_3" "joint 3_4" "ball" "joint 4_ball" "joint wall" - "version" - 1 - "conn_count" - 0 "node_count" 21 + "node_paths" + + + "nodes" + -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 25, 3, -1, 22, 4, 1, 5, 2, 6, 3, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 12, 0, 1, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 1, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 34, -1, 23, 35, 16, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 4, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 4, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 36, -1, 23, 35, 19, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 7, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 7, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 25, 37, -1, 23, 35, 20, 4, 1, 5, 2, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 10, 0, 26, 26, -1, 2, 27, 13, 28, 14, 0, 10, 0, 33, 29, -1, 3, 30, 2, 31, 1, 32, 15, 0, 0, 0, 43, 38, -1, 5, 35, 21, 39, 22, 40, 23, 41, 8, 42, 8, 0, 0, 0, 43, 44, -1, 5, 35, 24, 39, 23, 40, 25, 41, 8, 42, 8, 0, 0, 0, 43, 45, -1, 5, 35, 26, 39, 25, 40, 27, 41, 6, 42, 8, 0, 0, 0, 25, 46, -1, 24, 35, 28, 27, 29, 4, 1, 5, 30, 6, 17, 7, 1, 8, 4, 9, 4, 10, 5, 11, 6, 12, 7, 13, 8, 14, 7, 15, 1, 16, 5, 17, 5, 18, 1, 19, 1, 20, 9, 21, 10, 22, 8, 23, 11, 24, 11, 1, 18, 0, 16, 0, 26, 26, -1, 2, 27, 31, 28, 32, 0, 16, 0, 33, 29, -1, 3, 30, 30, 31, 1, 32, 15, 0, 0, 0, 43, 47, -1, 5, 35, 33, 39, 27, 40, 34, 41, 8, 42, 8, 0, 0, 0, 43, 48, -1, 5, 35, 35, 39, 22, 40, 36, 41, 8, 42, 8, 0 "variants" - - True - 1 - 0, 0 - 0 - 1, 1 + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "zoom" - 2.78951 "ofs" -121.028, 0.923909 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 2.78951 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -181,23 +217,25 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - 1 - - 1, 0, 0, 1, 0, 0 False + + 1, 0, 0, 1, 0, 0 + 1 0 0.2 + 1 + 0 + True + 0, 0 + -1 "_edit_group_" True 0.1, 0.4 - - 1, 1, 1, 1 - 0, 0, 0, 0 + + -1 0, 26.9432 1, -0, 0, 1, 0, 0 @@ -215,18 +253,16 @@ "../union_ 4" 0, 106.787 0.98476, 1 - + 0.5, 0.5 - + 0, 92.5287 "../ball" 0, -12.1024 "" - "nodes" - -1, -1, 1, 0, -1, 8, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 0, 0, 0, 11, 10, -1, 24, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 12, 6, 13, 7, 14, 8, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 9, 12, 0, 1, 0, 28, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 13, 29, 14, 30, 0, 31, 2, 32, 9, 33, 9, 34, 6, 35, 6, 36, 10, 37, 15, 38, 9, 39, 16, 0, 1, 0, 41, 40, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 7, 43, 9, 0, 0, 0, 11, 44, -1, 24, 2, 0, 3, 1, 4, 1, 5, 0, 6, 17, 7, 3, 8, 4, 12, 6, 13, 7, 14, 18, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 9, 19, 0, 4, 0, 28, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 13, 29, 14, 30, 0, 31, 2, 32, 9, 33, 9, 34, 6, 35, 6, 36, 10, 37, 15, 38, 9, 39, 16, 0, 4, 0, 41, 40, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 7, 43, 9, 0, 0, 0, 11, 45, -1, 24, 2, 0, 3, 1, 4, 1, 5, 0, 6, 20, 7, 3, 8, 4, 12, 6, 13, 7, 14, 18, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 9, 19, 0, 7, 0, 28, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 13, 29, 14, 30, 0, 31, 2, 32, 9, 33, 9, 34, 6, 35, 6, 36, 10, 37, 15, 38, 9, 39, 16, 0, 7, 0, 41, 40, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 7, 43, 9, 0, 0, 0, 11, 46, -1, 24, 2, 0, 3, 1, 4, 1, 5, 0, 6, 21, 7, 3, 8, 4, 12, 6, 13, 7, 14, 18, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 9, 19, 0, 10, 0, 28, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 13, 29, 14, 30, 0, 31, 2, 32, 9, 33, 9, 34, 6, 35, 6, 36, 10, 37, 15, 38, 9, 39, 16, 0, 10, 0, 41, 40, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 7, 43, 9, 0, 0, 0, 48, 47, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 22, 7, 3, 8, 4, 49, 23, 50, 24, 51, 3, 0, 0, 0, 48, 52, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 25, 7, 3, 8, 4, 49, 24, 50, 26, 51, 3, 0, 0, 0, 48, 53, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 27, 7, 3, 8, 4, 49, 26, 50, 28, 51, 11, 0, 0, 0, 11, 54, -1, 24, 2, 0, 3, 1, 4, 1, 5, 0, 6, 29, 7, 3, 8, 30, 12, 6, 13, 31, 14, 18, 15, 9, 16, 10, 17, 11, 18, 1, 19, 3, 20, 9, 21, 9, 22, 10, 23, 9, 24, 0, 25, 0, 26, 2, 27, 3, 9, 19, 0, 16, 0, 28, 28, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 32, 29, 33, 30, 0, 31, 2, 32, 9, 33, 9, 34, 6, 35, 6, 36, 10, 37, 15, 38, 9, 39, 16, 0, 16, 0, 41, 40, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 42, 31, 43, 9, 0, 0, 0, 48, 55, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 34, 7, 3, 8, 4, 49, 28, 50, 35, 51, 3, 0, 0, 0, 48, 56, -1, 10, 2, 0, 3, 1, 4, 1, 5, 0, 6, 36, 7, 3, 8, 4, 49, 23, 50, 37, 51, 3, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/rubegoldberg/platform.xml b/demos/2d/rubegoldberg/platform.xml index 0cc8f4b137a..09cd0fdda6e 100644 --- a/demos/2d/rubegoldberg/platform.xml +++ b/demos/2d/rubegoldberg/platform.xml @@ -1,6 +1,6 @@ - - + + 0 128, 16 @@ -8,148 +8,178 @@ + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "platform" - "StaticBody2D" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "transform/pos" - "transform/rot" - "transform/scale" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" "shapes/0/trigger" - "simulate_motion" + "collision/layers" + "collision/mask" "constant_linear_velocity" "constant_angular_velocity" "friction" "bounce" "__meta__" + "StaticBody2D" "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "CollisionShape2D" "shape" "trigger" + "_update_shape_index" - "version" - 1 - "conn_count" - 0 "node_count" 3 + "node_paths" + + + "nodes" + -1, -1, 12, 0, -1, 11, 1, 0, 2, 1, 3, 2, 4, 0, 5, 3, 6, 3, 7, 4, 8, 5, 9, 6, 10, 5, 11, 7, 0, 0, 0, 13, 13, -1, 1, 14, 8, 0, 0, 0, 15, 15, -1, 3, 16, 1, 17, 0, 18, 9, 0 "variants" - - True - 1 + + False + + 1, 0, 0, 1, 0, 0 + 1 0, 0 0 - 1, 1 - 1 - - 1, 0, 0, 1, 0, 0 - False + 1 + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "pixel_snap" - False - "zoom" - 1 "ofs" -135, -114 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -158,18 +188,12 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - - 0 - 1, 1, 1, 1 - 0, 0, 0, 0 + + -1 - "nodes" - -1, -1, 1, 0, -1, 17, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11, 7, 12, 8, 13, 8, 14, 2, 15, 3, 16, 1, 17, 3, 18, 9, 0, 0, 0, 19, 19, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 20, 10, 21, 0, 22, 2, 23, 8, 24, 8, 25, 5, 26, 5, 27, 11, 28, 12, 29, 8, 30, 13, 0, 0, 0, 31, 31, -1, 9, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 3, 8, 4, 32, 6, 33, 8, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/rubegoldberg/rubegoldberg.xml b/demos/2d/rubegoldberg/rubegoldberg.xml index edb6dda0e15..490b0f9d34c 100644 --- a/demos/2d/rubegoldberg/rubegoldberg.xml +++ b/demos/2d/rubegoldberg/rubegoldberg.xml @@ -1,25 +1,37 @@ - - - - - - - + + + + + + + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "Node" "__meta__" "platform" - "StaticBody2D" "transform/pos" "transform/rot" + "input/pickable" + "collision/layers" + "collision/mask" "platform 2" "platform 3" "Ball" - "RigidBody2D" + "gravity_scale" + "sleeping" + "damp_override/linear" + "damp_override/angular" "domino" "domino 2" "domino 4" @@ -31,7 +43,6 @@ "platform 7" "platform 8" "SeeSaw" - "Node2D" "box" "pendulum" "pendulum 2" @@ -40,102 +51,142 @@ "Ball 5" "velocity/linear" - "version" - 1 - "conn_count" - 0 "node_count" 21 + "node_paths" + + + "nodes" + -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 2147483647, 2, 1, 5, 3, 2, 4, 3, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 8, 1, 4, 3, 6, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 9, 1, 4, 3, 7, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 10, 8, 8, 3, 9, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 15, 12, 8, 3, 13, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 16, 12, 8, 3, 14, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 17, 12, 8, 3, 15, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 18, 1, 5, 3, 16, 4, 17, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 19, 1, 6, 3, 18, 4, 19, 20, 20, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 21, 8, 8, 3, 21, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 22, 1, 4, 3, 22, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 23, 1, 4, 3, 23, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 24, 1, 4, 3, 24, 5, 4, 6, 5, 7, 5, 0, 0, 0, 2147483647, 25, 25, 1, 3, 26, 0, 0, 0, 2147483647, 26, 27, 9, 3, 28, 4, 29, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 13, 11, 14, 11, 0, 0, 0, 2147483647, 27, 30, 1, 3, 31, 0, 0, 0, 2147483647, 28, 30, 1, 3, 32, 0, 0, 0, 2147483647, 29, 30, 1, 3, 33, 0, 0, 0, 2147483647, 30, 30, 1, 3, 34, 0, 0, 0, 2147483647, 31, 8, 9, 3, 35, 5, 4, 6, 5, 7, 5, 11, 10, 12, 4, 32, 36, 13, 11, 14, 11, 0 "variants" - + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "pixel_snap" + "ofs" + -717.096, -249.162 + "snap_grid" False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 "zoom" 0.598737 - "ofs" - -15.4883, -75.0379 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -144,17 +195,19 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" - + 116.881, 145.589 -20.87962 + False + 1 336.29, 264.52 526.99, 264.52 - + 76.0801, 67.2141 - + 1 + -1 + 262.764, 182.008 356.951, 182.008 448.834, 179.291 @@ -167,12 +220,12 @@ 679.231, 588.598 424.491, 588.598 185.655, 588.598 - + 602.935, 554.501 - + 476.002, 509.406 21.737282 - + 391.607, 305.444 343.172, 303.774 288.056, 303.774 @@ -180,10 +233,8 @@ 116.165, 526.515 0, -200 - "nodes" - -1, -1, 0, 0, -1, 1, 1, 0, 0, 0, 0, 3, 2, 1, 2, 4, 2, 5, 3, 0, 0, 0, 3, 6, 1, 1, 4, 4, 0, 0, 0, 3, 7, 1, 1, 4, 5, 0, 0, 0, 9, 8, 6, 1, 4, 7, 0, 0, 0, 9, 10, 8, 1, 4, 9, 0, 0, 0, 9, 11, 8, 1, 4, 10, 0, 0, 0, 9, 12, 8, 1, 4, 11, 0, 0, 0, 3, 13, 1, 2, 4, 12, 5, 13, 0, 0, 0, 3, 14, 1, 3, 4, 14, 5, 15, 15, 16, 0, 0, 0, 9, 16, 6, 1, 4, 17, 0, 0, 0, 3, 17, 1, 1, 4, 18, 0, 0, 0, 3, 18, 1, 1, 4, 19, 0, 0, 0, 3, 19, 1, 1, 4, 20, 0, 0, 0, 21, 20, 21, 1, 4, 22, 0, 0, 0, 9, 22, 23, 2, 4, 24, 5, 25, 0, 0, 0, 21, 23, 26, 1, 4, 27, 0, 0, 0, 21, 24, 26, 1, 4, 28, 0, 0, 0, 21, 25, 26, 1, 4, 29, 0, 0, 0, 21, 26, 26, 1, 4, 30, 0, 0, 0, 9, 27, 6, 2, 4, 31, 28, 32, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/rubegoldberg/seesaw.xml b/demos/2d/rubegoldberg/seesaw.xml index 30edbe91627..281e4e7c0d2 100644 --- a/demos/2d/rubegoldberg/seesaw.xml +++ b/demos/2d/rubegoldberg/seesaw.xml @@ -1,169 +1,243 @@ - - - + + + - "" 0 -32.6231, 32.0838, -1.28218, -31.1383, -1.28218, -31.1383, 33.8412, 33.1645, 33.8412, 33.1645, -32.6231, 32.0838 - + - "" 0 -99.0874, 7.76759, -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723 - + - "" - + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "SeeSaw" - "Node2D" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/mode" - "visibility/visible" - "visibility/toplevel" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/notify" - "transform/pos" - "transform/rot" - "transform/scale" - "script/script" "__meta__" + "Node2D" "Sprite" "texture" - "centered" - "offset" - "flip_h" - "flip_v" - "vframes" - "hframes" - "frame" - "modulate" - "region" - "region_rect" "StaticBody2D" - "shape_count" + "input/pickable" "shapes/0/shape" "shapes/0/transform" - "simulate_motion" + "shapes/0/trigger" + "collision/layers" + "collision/mask" "constant_linear_velocity" "constant_angular_velocity" + "friction" + "bounce" "CollisionPolygon2D" "build_mode" "polygon" + "shape_range" + "trigger" "RigidBody2D" + "transform/pos" + "transform/rot" "mode" "mass" - "friction" - "bounce" + "gravity_scale" "custom_integrator" "continuous_cd" "contacts_reported" "contact_monitor" - "active" + "sleeping" "can_sleep" "velocity/linear" "velocity/angular" + "damp_override/linear" + "damp_override/angular" + "transform/scale" "PinJoint2D" "node_a" "node_b" "bias/bias" + "softness" - "version" - 1 - "conn_count" - 0 "node_count" 8 + "node_paths" + + + "nodes" + -1, -1, 2, 0, -1, 1, 1, 0, 0, 0, 0, 3, 3, -1, 1, 4, 1, 0, 1, 0, 5, 5, -1, 10, 6, 2, 7, 3, 8, 4, 9, 2, 10, 5, 11, 5, 12, 6, 13, 7, 14, 8, 15, 7, 0, 2, 0, 16, 16, -1, 4, 17, 9, 18, 10, 19, 11, 20, 2, 0, 0, 0, 21, 21, -1, 23, 22, 12, 23, 13, 6, 2, 7, 14, 8, 4, 9, 2, 10, 5, 11, 5, 24, 9, 25, 8, 14, 8, 15, 7, 26, 8, 27, 2, 28, 9, 29, 9, 30, 2, 31, 2, 32, 15, 33, 6, 34, 7, 35, 16, 36, 16, 0, 4, 0, 3, 3, -1, 2, 37, 17, 4, 18, 0, 4, 0, 16, 16, -1, 4, 17, 9, 18, 19, 19, 11, 20, 2, 0, 0, 0, 38, 38, -1, 5, 22, 20, 39, 21, 40, 22, 41, 7, 42, 7, 0 "variants" - - False - 0 - True - 1 - 0, 0 - 0 - 1, 1 - + + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - + "2D" - - "zoom" - 1.670183 + "ofs" -277.779, -292.484 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 + "zoom" + 1.670183 "3D" - - "zfar" - 500 + + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 - "window_mode" - 0 - "window_0" - - "distance" - 4 - "default_light" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - "show_grid" - True - "show_origin" - True - "pos" - 0, 0, 0 - + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" - + "custom_args" "-l $scene" "run_mode" 0 - "__editor_plugin_screen__" - "2D" - - 1 - 1, 1, 1, 1 - 0, 0, 0, 0 - + + False + 1, 0, 0, 1, 0, 0 + 1 + 0, 0 + 0 + 1 + 0 -32.6231, 32.0838, -1.28218, -31.1383, 33.8412, 33.1645 + -1, -1 1.19748, -29.9368 16.223282 - + + True + -1 1, 0.5 - + -125.025, -8.98358, 125.162, -8.44321, 99.2248, 7.22723, -99.0874, 7.76759 0, -31.1343 "../RigidBody2D" "../Sprite/StaticBody2D" - "nodes" - -1, -1, 1, 0, -1, 17, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 4, 15, 5, 16, 6, 17, 7, 18, 8, 0, 0, 0, 19, 19, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 4, 15, 5, 16, 6, 20, 9, 21, 2, 22, 4, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 0, 30, 12, 17, 7, 0, 1, 0, 31, 31, -1, 22, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 32, 10, 33, 13, 34, 14, 35, 0, 36, 4, 37, 5, 17, 7, 0, 2, 0, 38, 38, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 39, 1, 40, 15, 17, 7, 0, 0, 0, 41, 41, -1, 31, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 16, 15, 17, 16, 6, 32, 10, 33, 18, 34, 14, 42, 1, 43, 3, 44, 3, 45, 5, 46, 0, 47, 0, 48, 1, 49, 0, 50, 2, 51, 2, 52, 4, 53, 5, 17, 7, 0, 4, 0, 19, 19, -1, 27, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 4, 15, 5, 16, 19, 20, 20, 21, 2, 22, 4, 23, 0, 24, 0, 25, 10, 26, 10, 27, 1, 28, 11, 29, 0, 30, 12, 17, 7, 0, 4, 0, 38, 38, -1, 18, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 2, 14, 4, 15, 5, 16, 6, 39, 1, 40, 21, 17, 7, 0, 0, 0, 54, 54, -1, 19, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 22, 15, 5, 16, 6, 55, 23, 56, 24, 57, 5, 17, 7, 0 - "conns" - + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/screen_space_shaders/screen_shaders.scn b/demos/2d/screen_space_shaders/screen_shaders.scn index fc2be96fc9926b3e6e892e12a868e5dd58465182..be12cef02d351e833d370c0274a2f76890fa9b0e 100644 GIT binary patch delta 6351 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 delta 4695 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 Wr~(f$Sy;IC*}AQ0t5o=J(tiRuMR9=u diff --git a/demos/2d/sdf_font/sdf.scn b/demos/2d/sdf_font/sdf.scn index 89d6245bf09648d607749f352dcfc7b5022340f3..4880500d6df37f9d59f9a7afec4c3103c4083fe6 100644 GIT binary patch delta 2451 zcmWlb3vd(V7J$!Y)1-vb_xqJUY5IU$T4^iQw$PJDYpDpG@)l`!lWf|ZrrDTHA5b(Y z2rXhMFA<7B5h_?H02wR*0}x_B71A)k5Eh~cJE4JhwhFE}PQfd{!B`Tj zlmNt#N?-}g6cuqz3`7uC?cikra6xRq&wFLJrpQg=@iyqlLySivUyxK)3G6m6A)v5H zswwd9?(PSJ(j&=?jtPFpUbU8}WH6G2kV9CU!+Ir`z!|l6dz%p8?RM@3m_?G95*tUH zJMeM-oO6fDC&{O#4#k0Nya)oH!8AxczmjQqP(71(2p&hQu8sFMi{4_7;0|yFLopD@ zIRq2P+M#IHFE+QVyfzf8bx47L)E0yUVvKT2&UU$2Z1zfi!EU@_dKlsqNCuhI4JBGm z#K__@!S43(&2n*zp0JG8|M=&0>TG`9{>^`w8Cr)7} zTP|_wyn&37p1fn$yX;2Y>ghNQS@TgYk=^-?A2HT;mn-LrZ~{Q?kH}(H(9*_bsr-V6 z%rktcurf~Ove;(7=u*^amO?H~f&K`|?UscAw~YFJs#fAmtlT1XD&wq{hq&ya3Tz7l zPRFlQl3V6dw8xjsvMwom#)>HlbEM{7!#G8~%{&iEd*&gB4`HwIevY4M31AsxU&<|3 z1($zGgav41m$`XAm#6~xopa%Gm0RlIw6vegENH?ZO@}CS`Xv7=1(<6-Q8S1J%M8XP z8q-x?r@&>>Ss{Lv?R)6L?xCbm5hlS>B{B(Z;32k&Gr-S%b+XRdXF3~c7rY&!U-Gt@ zrgD0k&ofDQ9ra|Vx$crKKcyEos-rLcqB(x!)Lu={n^HCH3%hG$s5=F;-d<_;@r!Rl2l^9p-@ zsQ(H_YP&bB*JKA>6}1J|AeHgA=WdD+0s+z6{85VaS**nuUu!H-K;{zglzOsYJM5f-FId4vY^HEcghp2@3LY1kd7Cj9xVhLe)CJXH7i!@z0-+RumJ66q1J&Ys z+=}eXNILeJch>%rKY*H<=fab4Dh7=;gYJSJr-iN4fGi#Xk<^h64sbCwj>0Nr6)oVj z@Ecf+hv?s0Fou43Ko_mp*|@JxgO%p*vD`d_<&WLL1(qBvwhW-wIt5Fy5=(2Uu(bX( zB^gWWQnA#$8A~4cCP zvMGs#MJJ?Cr_>WsgNB|&PRZ+)Ig#d@gyy&h8w2m~2zJpc2Y6cUGH0X4463O?Bt2vz zBLgk%Z4NIldN{kzL3?3M!>q?9=+ZG$Jz++jt&x}_=maQ;BpG`6;6Q8eIDl&644ZlG z!d15}oNc|prG|gWU$lMX*7jFL{mqIcA6#5iac*tX)P0vTcW4*IH02fCXD-{XFS1qj z^-k13^74_^-nsw2ICYA6J}^3v*WYVy*T!u;Ija1bdFR@y>-y1q$7jCZ)O+NG{`dO% zy>I_~=(F>eBmVg`kSm_-#|ua22le$SIniU)Yg#U)YIKh-mH*6xK=<PgjX`OvSE7xkP7cHeRx9Zv7o>U&SDdtr=;n;rUi?1$ej zUS59x`%9gMaO3_POPiX`9F7{*mlQ%(_p#HynV-+CSbclm-TS|cns4-WoPDSJzrm6D zoy~vg?}W2I+LdkGg{iYN*BZ)u#pp-ZwJyy0{LWKn#~aizPycz`OaEj4y4qZv%7*mn z*LSm_=_Lc1-FX-2dR~vaepr9`#q)d5#H>mw8Fse+{%K%;LDKKm)4S9cidAR6{>Rhr zAJU6Q``rgN%-;US{5Lj~R~}s3aQNNB6=#Fj4=;Rg{@?%LuB_9){^L9Ee5Tsi`s3er zJ^3ctS{1x~sfR7kyY!xTL-7C?7cU#a6u$=ZH{Xk+qb{z&BFeV^~X)R9mg9dztoZO z#HqvCUazS!A-Hqf>oMQnT;4bB&cvtLjJ~zqtNQjZubzYREg+VK%F;1?0_oSRuVw3$ p$mH?2{-ymxb1dh>Ge6l~mj6Vw}xv{{bq~FP;DZ delta 2048 zcmW+%YitzP6+SbwyR)o~z1aA6Ox(P+1d5PyEChq zwJ~n0onRbDQ$%Q*s1Ox43P~#3R0_0-NTO!LOHI`Dt&}8?Ohgdy1LX%oN@*+i+N04o z=iYnnobTRy?)mn&e%+MYHI_)g!s7=x)CBMm5AYNNKwp~y#`Z`6^~CMlDJv6dc1%%q zl`M7c2WTW4B@sB{<%Wj9O+4<5Y^mTUUVqt?bt`9>#h9hY1r-_`*Aaa+^Wc$ceEr|? zLoRLTW$79@$*qgUa-@M7%8@3#4L&l=6by2iw6nwTlI(WeE!=8&lO;_A9Bz;uIn&Mf zmQW;6YQqsnYTCrr9Wl`yYX5#lvX_l7J3R-z@ zO!9?abUdw`QIZw1f`N9&y~<^&g`8Lm#2=D2+FOhg(kn>h-+%UD7@T;6$fDSU`upM5jY^r5tTr`90SOc0!7r8|K0b=qUu(Izhzoo!#YsO=b2NXY$BR^F!SVB70}!}3-Vsol=Dy`KFIVUA1j%LqFPpPUw90< zf^80T@L4q{PZr7|*}>{rG5JSnnllZf9J&&^8W%v0e#%%eeEd3lDSh05G$SjSFH*N1 zXlAXF+G{7lVRnP%z%}fZ{u7R;yzxKT`Kli)SJO@0lxkY(@6+UeGr0lVglD2xKo4Gq z$&iQkbt2R{lj|I|6I+oJ9&=5}rY46*)z6@ttc@S8LE49z{hu=SC_aRZsSj#k2Wri8 z1K5X<{3q67A^s7F89r2GONGhs1xB>+7EQZ**pGz@h2ijBY{CZQ@N>STO{)db(nCvd z00BE`#DmfS?)X&`(T|tIC1=ShY{xh!PN_=uB9Pv*KyqjC1J=k{QXBt=M;}N$y7tEj z+>Xz}8v9w{U2GEm6&eVgjJ5|)FydZm1N+1$Bp1aHHsxF@CYF*avRNjwLz zHjWWtGdHEFdr}vk+=o%Tcc~8FV6s}UpV5`M6rEv9*HSGojX#n`D9xSN0(%{A3nrmJ zk}KQ5ls5<$a43F8=;u{^N;3_;7~U@RP~RTBfjzy7Yuv~idZhCFm)sNhn=~i1IvhAZ ztWl4u^S_$&VNJNQrR{w8+^NJ*&b@=(;aT-{0!_3U(Yf zCI|4(@Bi#}qbZ#7RkRl#9$j)cHM;*U5^*7qntdxA|LE*nH#Z)6%Oy42k1&8Vxd2~H zzX4*ewk`X5r_4v}7TF4SCGQpty2#saGm;M+J(p&=kMQ!u8kLh=(a6G-E_m}9| zexkM#*I_7iEP7|tNoh>adE7#62?LvM zV?elw0k4nh3)K~r3mhTW%L*4 zX`$os3{?dl--G280b0;SL$@x5ZCkY4sVzbW4ckdQ4nTn7EOb#+=oRL%qQHv9Mi0f$ z7y|Z0?F@uyMGw=C9*9t!g(#ihORZ<1Z@~@v2`@Cm0JZyIB^?_ieC^jYfK|i`_Yp1_ zf_Y&KPf$ifbn#muMm;SUruYS{Uc?cK*I*4v^K@_4(#F?t{{qr&q|ClW{3P?G>yFc? kz_-buFz5s(gst>^UXBmaTCVGsEG!%X>>AsZSdjhy1M|C6_W%F@ diff --git a/demos/2d/shower_of_bullets/shower.scn b/demos/2d/shower_of_bullets/shower.scn index 648888d099c818c31a55c6a0be29607c092f9421..9e2181e9c6f6df9a25901e6cd4c2a4b77ed00a84 100644 GIT binary patch literal 1909 zcmWkvX>b(B6@D|bmsY2B-|E$cTms#N9AVI#-Iau#2xA?w9YUsOXJ=Ov&CV<{vqAz~ zTG?E7MYsaKh)KMVU>wJ|Ob&305LQya32{>KkxB(Sslk;3JBN>oNhPi_&d~o}cfap_ z@9S4zk57a`aC;R2SOoyvy#NeAngKTLVSphVLL(FsY`WRUYok=+B}Ase88 za0P~J>M28#J2f#OLkYQ~L`s>Ko)Ao3os|tCqKGDVNx9n)qe{x8y&h9Cl%&;}_Rv}; zW{{1n2{~jQiZmleRGAioi8ooZ zvn!A#x5OEmgT+3}5H&NV8wv5(He1dr@i@5;-}1)|aaOVBg;`mmbD2U~ldCG4EE+;o zOeBH7%Oz^@l$tHVs~m60VjzirFvZEpy*8xC`yi5&SbyR%Ty^uBk`S$??sPZ*51*u~ zs$wd-CI;y#`mO8>P)a`Igj6z0)`LLn+=8M-wQ8*kIoCS zW)VLfpnbNl6lzeky?yMQVr66pz_V>fcacK57kD5BO_8vIf4KP%561P?e_K3oe`#Ouf{ zM-@vq0v=B)u4sa31?~p3aoXnEa4mm`mae=(Ukxk;DgM-{+J@T$|HMID#bWg4n3|Xr zlFFQ{+OBn>f75El(8+w@Dp_RYq;!Bg?BBl$HzLRF()9!_<@kmGVo|Vw_R|i`=Ku(g z9M<7YTE`l)N~U1eb|1%ew2q4#O4N2Og`cNYHY~aISj?0yy33*P_24nu96Dp?ghK0R zeP#d?S-?%<2&>0TTH!tX{P~q5`iT{+u$iA6&#_%c`6=jKoI;9S&h$)qqjF4D;?oxP zF~U6E#_jnt8N~YABx9oCkOcTFghjZAjp?)0>x6wlEWwOtR*`omb>l=Iw(u82-^M_2 ziis+X)vPATw3c;jLfjYr4b0*0Oj)`E%V6I2m0`H)0$8nIfI+XWY!3CYDN}CRv3m<-gEQ#5}VXbvE1gselY9Y$k?A}?JHUS-Oy93b&QZ` zS(P4JIgfQskGRB?Y6;T8$j`HN!;f=fBBC_Dk*;ew!>IcHQ`~osR&C01x4B6_4n6ue z_hfd|d8R7R*Bk+5Z*{gNq`|I{Maj?o?)BF<;<=H7*`u6k#3S?>r)+I#oYc}Yp%)lo zj&5KFhIh~d!(G>*k}*;(N8GYyDO&t;#n6X1j8DFpO7SO zCOsJLb{^taLGbHEn8Gii z<7c^9z;-8S$2HE-t#QN+ehqhE)5r|YWBBPSimh2Yz`Fw%}Yp`0|Jcb? zeg~ssbaLo)wh)JK$L6E=T)gwr{@n-PbR4vc0{ZYTerr0Fh-jjsLIbIQ>xA<>x^>G) zzP}o4UHPM%!{emb?UaNzAI7-lmu7xR@)}N$hWW_{_WkRv?t+KAV4vt}9DDZ@*V+%& z+T-4v&4+&9u(qJ}D?JKvuYJ3wuk^?!^3k^QzqmM7IDUoxHu!0Jp}PT=nCbHcU9Zgz z-#s_BrAj^b&cZ8G1jPhmy?}`xBdN@7WtoQ-xC>i)#Mp U(3bGaLHaPj_{4Z<-1%_-50NxoGXMYp literal 1836 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 GbN>%1ggVLq delta 3588 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 V86Hi2H$iWK?PJ@M+u1)!{|}@(7XSbN literal 3759 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 P>FqE&HX0dae^vh%#wLbp diff --git a/demos/2d/space_shooter/enemy2.scn b/demos/2d/space_shooter/enemy2.scn index 1d31f9c30e521350520b690ff1c220728e1ef33c..644add77aa105eb6eb3f284757a91c4f1255d056 100644 GIT binary patch delta 2519 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 diff --git a/demos/2d/space_shooter/enemy_shot.scn b/demos/2d/space_shooter/enemy_shot.scn index 13f5ae89e5ff577f271c407ac9a6960bedcaad42..353c9058f78e353ed9f3454b90b3a69f8c329131 100644 GIT binary patch delta 2514 zcmYjT3v?9K8UAPPCcDWd=BEs3Q{c=)Rv>3dOB(qi?!^YY0l|v}sX8AJpP)>adndX?k4V z%eR7)Ry(bvsijmnc4t1fh>Vyjh#j^o07>6l;Gm13kP=72h$;yx@}2PNW1DT_A=d&= zXafZn^Bu6tF7)v8CURVN0q2AFx#l8wzg15{9fF-4k!~52wX%a@U31 zcnkcr+W(SL_&#?bva?XrlOw6Nq!!(vgcITcu!5^YpUbX@As1kIWF;9i%;Crpo1fv( z;&Ihf{y^fUGTL~WNTX^r`e3$1u5~6fT~$me790=O2hMUMiCk&WzvJlH-+V(`l>hvH2btYUn1TimC1R z%;sMJr73ULheTCl($=``tj)#6hkH)>yBVA|IS(XX`XNY0t6VD-Go?ins^uRKK8vfj zNF|FL1Zd_mr4bE|f>6J;c2V3QoY%*tp5Jsg-!hf6rg@cRPZZIAGh zI_9qo{E1gpU0!aJ68wl&piW;0Y3WTLU@W0qhcvqZ|8{YyfC{1i)s0&W!;CLCOG^=}w2gX4P>< zMCTF@Iss@UuEgaC;fL5`yMncOlBCA8lpjbkF%l09a8|0Jh0*e_HkpOj2#Q>Rhp|+t z5Z3$8=k{PFuJdWY$&5!=6s4L$peMsi`U@| zNXRC`7?vx@s~5wFrTC@1KyJli04>5%0qaAn<$B&!6LhtIl}#*cVV7}J+if7=g5aQB zZNr|se=cugmkq%WF&$4X;O4xej2?D_AAI z4r91E>&djD2R7O+4~Ck|7Ej=3!rm8pL&QB|sgkOXYNnwNHx9^N1}%n{(Mx|yhK#t; zINf&4#G|3tgc&vg`v*BTp0&Tp+3Ct04-hNRtdzo*0|y}FXD|-{@|p0BNv4s?dYA;~ zzFQUwXgw?XP#%+B6L?z0CTeB!>YDcd2vj{~JG@Ym^%fXrY6^g^B&HDD>tIU5B)o~C zz*}J&O_w^p-2mE^|1INz&@x~$pR0HOkM>hrml@5~Lj`SQ!V%Hv-b{U-6g3itDOZvM z`>Pk{2;)?y8~ck28E|XJxLsoB6_XFPrGDE(EJ=bI zS}Sat_@=Nn?K>=&2`4c0E-YdbErx39vSE;CJf?5vOIFlmWk%yj1&!+n$pcRD<15{{ zuOB{z>s`B-pY7hgJlyT3-Rw>1^BKZr1tfS9=L-v2nOvoSPM!kD?=jac`~%MWn$U@m zadPv5%=Lr z=Q1UDN$y}7H?kUhn%Q1vYna`PZq_2_GVh{JbPI8IuMgeq@PbtMC5~aASdY!(JGfIU z#k7~*hv~Ek$|%83ycf!;8y8HS^rZL!lYsAoht}a-p^5dwN?L-^sr)utBz(oP+r*nO z4YjlqpMW~HSQl&PPD~4Ha5H#W@`UgTTAU9umEg}hA;7GGStGM1X3be=8fLLz_S91_ zhedN)6o+f5Q&Sa2-^`7v~`p-$*z$+a+##UI1>m=2u=q<@IOUm;y&+s6>|;XT+JePGKTGPO4!EACiCD&VyhSJu9(F2`gv$D#rLF@@ zX-CLi&$j*(S88ZvIHD_BLg|A`v^xK;70Z?s7uH~%qj+g=Xn>Y;2tGf!aF9HIbi;GB z$ouHhkg)2O9iO~$tZ-X<#g2E+9NH>A|JpD5?)=GbuexXLde3{Y|MN?i4wqbfGQB-& z-(ih^@#3Ch-@XUckGS}?u!kEe@?ziO+>`6uM!q<)OyBXBr_a5)yd!+zpWW+n&mO(! ziw!^i%}oD}&DD4P`bMGhv%kN6e)1`O@`v(s^W|H1_I6F{o1EU63A&?DLoQZjUV?e~ n+3Xs*ykKR|p`95JW}k?wRRKdNY|GyC(-h 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 diff --git a/demos/2d/space_shooter/explosion.scn b/demos/2d/space_shooter/explosion.scn index 4edcf709cb4d7ffa0de4255ab8d3c75f8e80c409..6fc105fac3a9b89c3cf03e199d82967f73724d84 100644 GIT binary patch literal 1756 zcmWkveQX@X6@R;X=RN!U8QbxP`KQIZh*?d|z&6G4fch_saM?Cs5+x8B>m z?(Ur(W5Oko3Al|)TY{8;k_$?!ilV3#ghanMoPsDyMEgh8La92Dtnf!$Rh5bqP*J-X z>COAio0<1}Z|03=enC~?Zfgd(*Z}a`8UO*HEPz<95kMdk)Dx-x5#3l~nFWK{4E}}9 zd>kN54niZ58eQf&Mb}_)ThB9ykd}y(&3erDKqk?!;aHCA(XkrOaLs}rzw5M?^vYVg zXlE>zp_g%g-hpbgq;v0aR?C!A$sqxe=)h5PE7@gOetgHFhHdT%Cwb-4Oqb^D(&Sx*bXOnq#cuBk>tpu;L?vbXQ#gx zEqY92cFA-dJ3qWZ2ZDs2#7}X6T#^=@oHKlwhx+l=WUaEDOTfQY4dyHS%PRk%s(hlp zaJ^5^@}m>R#^x`vZ|F=&FIv84Jd?gy?VEW*((`F^@DJs_(bzrzr5)163tf}dAe)h^ zxTHS26+T*>OMF7RM8`Epe#}EmwPAIZ8g+1UbQc~L8h{HIB+t#I>3G1}tIm@*>1*mw z1Z{;L6c41nP0yzG-iA)WEsp#Um^u1h$8;4_c)rdkdcKp_bT{YGR=ghCZINMbX&y(^ zJD9u$4+P#iZ`VH+GF-;&(Wj6k|1Eu50sVTfqa2O%3*9uhEbmVKFV`|a_SbUiF#C1 z26oK-9h)B9flZ2!kKy$|059WWoCg;hvFap3>MA;?1^Xk%XNd3UvTv9oDeEpvv zDh)uIt9$Wppa1Dhq`%>Juh73tyneD2@~c0sd4u-|k?7A_gnj4e##wT-5$2{JPF_pU O(*W}e^Xh!?ul*m3wj@Gmh2CxU-d)!0 z?Vh`vYmEgj5m69IDa9&Qx_(fL#ww*0l~yjL*8UMi5u_lW)$L66KHpHKa>UPtRFdlV&rI z<6!tndeob9C^V2RGPP=FB9Sv3+FP{pAd+UNB~rk&b<8pV|$25Id zn->R%v4I7-Q#D+`6A&cr&`Bhv8S4~9Nr*1QNGlo3{1B!`i>B=ww&km}j%Vm5b^Ax5 zo{iEH`I6g+$R_xWR;`fMa{mNQU?p+~^xXwb8(QVjk*9q-H+h zP*d}a63skOr`uM}$S1UdJ!h47`%OX9$WhOTAvBY%ehW50x;(*iR#$Xr(Xn;vy0C@` zJpo!UyfpR+_8bdLVY|TZj3nRprxwpLX-JsSqK&cV1Zu@DD~J4z)25JiqbZR>D-+Fy z_n;JijJ(LigTb6>6w@;-+ytfRZ~RH{NIv-RSyjczBJHmW6gEtP7ilMKvc~qU3YsZ~T%G=6EBK}Wt4j)E6=MXr7InxYs@baUlntPMM@bS?3g?=N7E(EF=DU8(@eZ3 zX_irl-WDm%zCFw2NF}cV9*8%IS-YUzuZky7UD~Q4L;ap>x&nO;*=kIijqLx8=@4A`{e&Oih{BJMKbJKPmA7yQx>nHZVq` zspYW?Vu?D~CV&*3{o>B(AMx)+E3Id5gG4$Jupc`m%g*wzc2>5H*H6ERhhZ)0;~gPY zVC)KRy5Zv#HjFpR<>c(hUyX7FBhtd&%h#|4VBL8>GS>4~WPw0sM1T?O;noyFd7up3 zab;y?NV$kQ{_=D4>)6ZtZmU|Bg_}u~rLR`H6s`aeN1Fls;}sbXRpy0r*(AT!ry*1LG+T z$4Ad#PwE27spB}H-s9Bqdw2MG6jkL4u1}rj_U|~E{1#8EKcYMu!>QyF&Z@U?HW|Qn z=qA6S%su5j%lN{c9oQhmp)BvYiVey>lwlod$9G^ok?~8|z-2pZHPQ8Wa^l`AGRd-M`o*^HB#A LlN0I$AL{=CdQ`nN diff --git a/demos/2d/space_shooter/level.scn b/demos/2d/space_shooter/level.scn index 12a679f8b66fbb3217340c8290e41807b304f598..6d5f8005f52b9f707e1ac6a9fa351805c6a1f42f 100644 GIT binary patch delta 3570 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 BB|ZQE diff --git a/demos/2d/space_shooter/level_tiles.scn b/demos/2d/space_shooter/level_tiles.scn index 4d1feea70f325680b188e1c284d6ed8e1f1a9c77..932be39a298c1d49f1093ca2179d1ec6868537bc 100644 GIT binary patch literal 1825 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 diff --git a/demos/2d/space_shooter/main_menu.scn b/demos/2d/space_shooter/main_menu.scn index b87cc5d3a8b1c1313558b4d4f81e2d02e3f066c9..91b0b37b1465dc9d338efe7c9a0844361b14d9e0 100644 GIT binary patch delta 1601 zcmW+%Yitx%6h50g-5|nyor)8}LK|oZj%$;th+X=ffo0-`{ z+k{;})C3a*NeL?PDTJH$m4Fe*g-gNcY2Z}R1wlY7rO-?`^L zeyqAy8CkPdmf_Y208Fn0c+dwR0AvMlWxWCjlt4Kp6|2?QCT(zSOfxhntDu460sunq zgi1;dL_37t2U2r0^Wj@sfl&0F#&3{7kj}s{@K7IkDZvSs4b8L!W^jEGV{|9cGz0MO zGS!F;n^vc#$A=yEQa<1rFdfHCvP0EFW-M)Y>T$!gG$m=KZ4GXtE3?yy?U<>24NRvs zrM5n%DMJZ0Zg*zrdcQtq8jhNPnxdz{J)&8TPQPF#ow(qt$9F&x!Q-fk0)Dy}WGcBV zGr`Wd9o^w|XgEKOPOx+N%A#;CAIP7RnmmrS#eo1_Dx@^=4WHpC zBf6~*(2dfkr3u~8?2KY>(o-q%6jaeLNvd0vY;B=k+DKNY16ua5V8_H6tXfbL;_YmJ zq!Q{VJLY!GcswC36$Uj{FNVNT{}m!>aS#l3B~eU6!Fhs`YW9Oo)A&!J3}3@bU{J}Y zq*Q0vhMDv!1PtOVajlTCb=ntsB61b$a6w7TGz=wXrVWP$BdvuXTUiu>;HLLsP}=St zQ7v6Hoa_+P(|X=Wf_LHu9?6H(xOZ8h1tIbn*H%CS4fqsA8`K@sqCY@deABJij_QaT zK`FXB@D3swdXm-P!x;>)Z=QVyH6Eu99~BmKvsri%tI+4O4K<~t^etkpNao0ovY=p@ zbX07m+XOAeu8}88AMe6tNQ5!7`I_V=V>?#gjRAR#En#!9f&fqn2{uLAS(9LC;#ol- zDSDp8Ijo7qEq$=)-Y3*TbH1Sn`#k2*kgYjvjI-#6Y1GfUh&^m>E|$phC%I+rMc(Ew zgkcABo85B~-Vt5foHDKF)?ql((c?iek`@N_=Ag@nX>0~hoJFjc? ze=T-Hf_8_$28(?MLVm7%rS-T^(Tow@GL0|;hlP0dLA;D1I_VxZ zybXaYiZNWpr+sjf0>j)QubAnBv)S1Ke311C1y6nFlhHF?8z_HK zQk2k922wqDFORO2enXHpa{VY)|Bv-t-jBYXNo?fDudzrV`k=HIABk?|&0d0MaY7qr_mOVidlAQRHqW)6ug`I;;&wZZU#NZr>S#ZP@Hm#qRs2eT)F}1!p4#>$ zRsg3K{c4152UxRqjeP6h F_zwtd_A3AY literal 2402 zcmXw536K=k8UDL_c6)dBWMOyMV|L%n9)JtXvVaGWC>E9SC{rkj5%aJrUH$$2 zA7B6Pe@DO9<8fJrD_1?hr5OPCivTZh0PJ=-;7BPfxV z58xxq=|-p}6}6UTn|Uj#MGQ5oK_!_XDv7+2%4jLtUT!BXJ?BK+a=H{m5{5W!(yxHAC9?KKMJSLGZ*^aR=~ZHnb1{Z-O!+LOIhO z;B5$#N?6SFrIeB#K20;Ag3PRtO~bLw4AhXSDn-xcOv_PnsxwI+@)vYlPv{xl*&3mK zE~9y3lVIl5Bx&bhHW{E{cY)8=G80Ov6`H)V*2;{Yo^+I~YEMx|RE^}MX+RB3UR_r=558$SpO2CWO*c`O*k;i^UvlTGe@(Y*ynD7fahOS)FhWKsg3Aq z!?ZLdYvyeYW|S6j5u4mvoP}@rZGBo(CNgT;j*w%VJ{^j2YKHFd_-0>0vm8D22M(Ia zkjDqAZO77_I&1)%zc7dJPEjZd1hrS4Em;)nmkOa|>pNneVF*jRk zj_xYY=W?2rR72b3{a7VvhNC2u{S};@3_U?_6ml7LD;?va`EZ{*CZu#*CG#LfpYb_n zI-QZua4C(R7Ia(5b!NaO?RZQ~X7uEgVjAu&I?m}yGAu_!=fI&4k}fW%&{DL4E+7TB zp9Mxral8iWLf>$N}iikuM=1 zE|e>_qdJ-$-scH(J^n^)!rO7BR4pX)mK8cd;|Qg|j(+#AxEBNR1EI&dK1)4ysv28x z57!@~-lDCpYep&Pe-gx%3#bUucnXFCsr(|r*%+QwKe;_TR`um$fZHo6P35w?02jTnOr ziOqQnEcz~R#f7nf?pH)bGYYz88sXJ!X>_m-rSN0y=(*^dG}ETh{qzTdgirH1(^i{2 z0lZsEj8gQzDS5Azq_gr*PX_01>Um85@rk1t?A-2C^BG4;-j{f!6dbuMsM&-bKH~;^ zuH`ePMFYYkdz%MJth}B&oRaVVuxx#4RQ?xjp8HDod!A2|4Sw3t9={;Ge){zHaP_L* z(q6%~(h1tn+H8}@NgMsG{3NGrNe=PLhHj@jhqj-GHJp|2eyB`y9NkF2G$!ALL-_E# zi&ycW%)PMlXL!=LAVa$BxwSk0D__FcIatAx4Vp2?y&*HH_1>2=29=C zn~()O!E@LYmWOF}=B93C~;64O&Z1VXd{ zS4W@2o1$eHj~z#G^lDUaJ0^#Jfk`%j!=dQg_|(XGj4=A$7-zwmxR#|H#@10k9$NiA z9*QRLkn|fo#3Jy2c*0RsJn?Ah$lxc~J6gca&_-6E2*IL=PhkgikUD%^+KwU@f^C5{ zci~3pWG)f9h{(d-MG<<4C`DKeQWeZ0_2+u4BwMP&xSJ_2k{7nolC zonFJ(K89Kbj-igBjG>-!M3_ND;F)z5v*tiAt9Cxa0)`OFXTw4kXD2O0SUduK%pYbR z;YxmX`j(T5@}y}PSLUx0YncB^4gJIiix?x%I1f|63Vg}$Oy;u*L)9~EzyffA2<7*$ zyMDOF--2zvn$eNiIB6(juL7w+xnse%7yiQZXGdew`kQxr^46l-lcYX&L(@jzaOj2FJiq1e)zCHbh&KZt~0w%ullyMp{0YY5f13?l9~svzOz() z_TA@Szb?J&)$4@xak>0Q^~b(?re>*kK9s^$mA@~%`T1s~y&b1}*H2}inQ_C)hBF_3 z{eBVMsi%tQbH diff --git a/demos/2d/space_shooter/parallax.scn b/demos/2d/space_shooter/parallax.scn index f67277dc015a44edfb044730bb434a382288a05b..2753d16e84634e40ea8a46c247255941681fb41c 100644 GIT binary patch delta 2374 zcmb_ei&qra8UJQxU$`hB;SKIxU=;zS0o1lp_-1!i@Ig?C&n7#w%dkw@o#o6fM6AiK zQlF4HX01=A$fJk&a<(Hirp<}{UBwRa(&_7CWs^PTzq z=FZ&vyWjop@6OGv`)M=gFK{>@ekB8Zlm@WZ2vE%dFaQw-*oc7vhH#KbxRLdur$uU9 z;E@yw${r!fS~&nm9)nSY+dO+*Sf~UO$u~7f%R_Cd1nI;~aP&{h%G_R;R}~v&NeNAC zRlJ~aHb~RJmJsxdKA$TX5>?Gq2&ozrvToU{G5Po}7(udizJN#c5ik2F*l;v~0b??z zBL~?e2Ty>W7{Nd|{DcicK1qPmFeO=RtEiH-jJRAFWAKR`k_twWtq(Lc1*MQ+HL8J- z7?J~uV1*#*0I4UD3;29x(IPx#&A=3$TMSCBXgZ80votO}Ql+t_i9Xpchg@#SD=Uzq zF{P1oR#F;;o+xjWy-GlpTpsIAgDQqyD*^$(u-oWz`K6HPatRBeK6(c1`FX5Y4Orh6 z3apzW=V2uAF#Z6Zv7W#`VJMnx@XM+iP-W{Ic5|#2=7_0$anHvLBon78q>4(gDWLkJ zGx;kJdN~10^S84hNzMN;KUcS)Rh2`lCTq+Twlxsc36mnZU2E79=J~Ee?4+>!RL?dj zcSpf&U1(MUjgqTX3^fN~3>k%B@8+N6+9fq;U+dWKOvDT<*LwnrLg(^j=N5!mwlG&? zvcX1koz3qyw2P`NDxpXdl#xuj=o~yC;1FT}x~M6V%0#M>!xhYrpmQl!U_E4!aFW^O zk{abuKy|hH+VcAyN2u^%{x(NvtO!dvUXlI6BaSF03l}&!D7y=m;FAbcNhMS66pHaW zjz(ibP!U^Qt@3ior|Bkm8Zi6VL9&XGT7_P2%ZRmAI1M?^Wc-A?_aI!2$#`CvB22`Q zw0@EBR8pQJLC9lO$yca{c1^zrCkT0*SCtzz-E+=sLY4;4y^?|}=(s#gh%$)ubEXQ9&(;^cw4LUSa8aly8oMQ(;6+Z8+ac+k;+e)LP zw99Hh@fWTZEL2V-oxg?b(l-aZ0Y$v5=W)MtE1#}$pe>2f_NaC**7a9i!ZOC?w_R`4 zdb=^Npi?Kd`9dzwdiT*-UhO4T^t)^4Me=NaVSNEr$lzXlA*(7zRoPy_7RQFG`i5Ao z{eqA+?uPAEO(!`Nc7-DCy}|YO^-aUsHRWB?^&||LWZX5#WYjiW7b}HAMdFDJ=MJ2K z&yVo51w#S9OH{oF?wi{v=z8*8WvJCG#nvK|EVBrlr zz|{dr<;yU`0FeU@7M_ik!B^Hr5EVLECRSq&z&XKe0C>yJM2-jr1}65D6Jm_e(p7BC zWjecN8uP;ZZF^tM14EE10QjBtK+y#O>^?epVog2C769KtGk*`wGm_AZb7@`9L*tA- z%&7STCfT>45eI3dFTe`AB-1~0)L;;oQ76pB#~s!9IPJ!PQ1jUAZCHZdIZkY;8Ne30 z(OQuDUj6kqzb^jNq8S$PLp|=+xJ7(-LMokVA`R->;kd;| z0Mdv7tYm0E14}(Mo#G4{sWhnR$K{q#gH0yI8kEptNQ!q{Kyrq8)-W%8$g_tzwT`2m{_1atJ@srrset&NA#f#6DSsd>lgQ|U>-v994 z#l!!8J?AI#;of?;)3iC;xI0S@+2!b^Tz!o_OcDeeKaTZyO_ZVUM{ZvuBsw z7x^kR*)qnuHOz85m=9Cf!4$S^$_u+5^}+^2=>ho1yIZ$SQ!INnlK0;E_Rnu_y8O{V zU-ZpQe>Yj}g;VY8`%kWhr3XgevQ&=w^`-9zdyf9iJ$Ur|7u&yE^V@IqOY2DOmcf&E zt<|3|vfMq--0c7IZcBG{#=&P!e_eCypO_qWD5kR035&1=mFsMEx*ml~zCmSr*)NyLXDaAO7BcKKGaJJ$L5L zx%ZqqXIe9Z<3Rh12e?)MaLWL&ngXa~0LV|60t)Fdg8^cZuHST*d#>0p!!7znFb_rX zYB7KgjTi2NI20YHh(WnUaf>#;%O^q%N-#LF>YbPgn{R1PJ1 zRH_p11|v$&VAnS;}yNuHF?CogGOq0EsG-6rQBg!(zRXPYOBfMUUi% z1eF>VP683_#-A9RPM;WZIh{hR#TnjZKNC3vQ-lL}ma$a|O7)Ug3N5e+M)Z=ZPh#YN z%Z)NA7>xWvR=7|X6uphkNSggql}?NCN}i^W)8`7#6h> z5m2O%2<$EhZQq5h*0FR*RI6MRNH=LC8b{VI*SM^${TX8x6e(_z@9c z@5c~Mq{3yG;jOp;*U~8f*76v!K?=!=GvIBp`uT^+Mg^@iaXw#*^KlVX%nJkXdw2jg z#034WfHNS?7rnv|3^GOp7qzP3?>*71HxKngK@(_tyKoC}2e=m)<-E(^|L7B;#R;uyeh9C7SHx>0Tw45VAi;zZoRv`XT<@?%SE zILCgHXRw8xPBlom`zXJA*$Q%17~{d*4VaJHgklncL9jrL9)x-DB0g^mD8ktzUHnC8 z$@#?~`dcMM_WQCI3udy)Y4`#*=X#==WRL83eHUfNd&+rxlFEQu7a`*v>hBTt^DM6-ie$As!rsV(F^_JjvnU3@#7P5b=B6$W+te3>a_*nbgl-a z3$Jp|Q_lJB3VK{cv(R37`Ukj3DJ?l0X)zSaFaN>t6Mo$2ZV85DpVOsyg2KJHQ&;Fk z*}?oOa!3-mo0vZj6UcPSe~hisxfN0L=hk4vU(cOfe$XDx^#E9g;w0Q38^}cped72O zR|Pid$bRyGAZ((615|=f;u44S$tK5uHJkF*ew04988>6FlN?49RfefJt{MPKhSb`P zY?pNjtD2;WSz+mt9`G2$hB>|LBkVK|oAlSW2iQ$>76~T(Z#@rk-4DbOs`$2y2Nz?wh%S)o{7&b*}5xEiAU` zvkzPNt_RkU;V;St@`L-e3s&Z3sN=Cr2Ju~W{DG}+3s!w5ZssqoI3$>uGX)ACaq53L zQO!S{eo?ULNB#LS_t29%VV?fA#WDP*btg&g=0p$Yi=XRHsQ9&ceAlthg=7S->3FW5 zhF4gCuJf^_m8pwMFX?{5qx2AdnWN$1j%jeoavnN_?KBmswA_L(iB|w`vs8E=ae<1= z;UPi^tMyb^;sIU|l4-!X$OO9tQ`EnD>o^F9x6{47v83R{2{tk~feiML_1^4#iiL0- z&pyqyR)zIJ5*UDQQQVNb1zp{N2MGmqH#i^!;h2M9oWE)A@7r` zxPPRYYsKS9T9XDVy!9_+C<-~zS>uVG)nK`sq1f@H+w zGWHAH&b^M?$-_Ru0BK0)@ZmOGhVR0l7PR4ms-X?i(G>i(F@rc4M;ghYD4+>sB8EJY z0W+zV1|1?6QnbOM^+**pKn&?wN$XEqHnHZBx2Ay<7zUG12dv$Y*1>2mN+1OuXw8mC zgC0d=8>z|$Na&ks05V`VBoa-8fyBxX>v+%+N+Q%omSMnU#6<%xfefPku@$>jM_02s-qpvmFSdBW>#7>%IVHBj3eIGz}ID<6u4FfvT z$X@>c(NP(|$uJJZ_k|{wY^hTV49P1kEb+I)g4g#2r9UqCZ%{}O8T>2>is64j8BBtd zM_frE%|u3lBynGkVFoRP-aoP|tqt-~zM8D%nH7d0=6rRT%4qR(-`?w?eS2-+al2Qb zF6m?wZ}TvX_ul40jZfd^;dij@4lcTbN8G{1cW}uaT&lKqLKIq5Rjt#$1A@|J;y+1U zvXW>pqUh*QQ;Vk%C(;WSbsW@HNud0%-LD^B{20+nO5>wdQ^EsMe zZm#0(wX>Ihd(Yu%OL6=|-1Nkp(mC(8efIvw8@2vYcd^o<;|kw?;L$y8(T(=5=iQVRZ z?Dfk(pY7P$z6ZANV>a&psPlJgRng7^%UArnse3&iGS?0bL&Bjy*{^2CFIzX&a+NN< z?^yG??cEcrHrzX;XWIrd^X9vb>-L+)FP<3h*!0=QTbb~4AD|}-q5I*-Uz(MXLYcD{ z8CRWq|Ju>~l-A&y?o%_D91A`3#>%*T@u{+9|ApgA&Ef~ytHTu;fwrHsq6>2Gz7c+R z#4G8CKD~O*VLZ9=!qrpecfLz)xk8;i01&wBSX*VPOB%6sbM+PXa=z+k zl}#^hdtz@Y#f6`Pnn5)PEXoeD%Ysdp_)i1&+P+Rr)=uJKu5eL*JI=fS_Mh`857zR#*a1 MGoyy9A^+z52c#MzVgLXD diff --git a/demos/2d/space_shooter/ship.scn b/demos/2d/space_shooter/ship.scn index 82c710eda78d1adb3a22b8bc1442e0290cbb7571..c60e2e3e3b41019a1d91e96afa00c38a3befe1aa 100644 GIT binary patch delta 4197 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 literal 6752 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 noRs$q-^=q$esPGe@p)jkm4N_ diff --git a/demos/2d/space_shooter/shot.scn b/demos/2d/space_shooter/shot.scn index 86a20ffa474d71cfc73a2ab17cacbb00d06c8ab7..9daf4ebe82dc9b77490b55313ffe6dfb365588c5 100644 GIT binary patch delta 2575 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 delta 3382 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 HKTH1$MJ+vA diff --git a/demos/2d/splash/splash.xml b/demos/2d/splash/splash.xml index ecfcb0f5b54..4a36619b09f 100644 --- a/demos/2d/splash/splash.xml +++ b/demos/2d/splash/splash.xml @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + "scroll" 1 @@ -26,6 +26,8 @@ "cont" True + "times" + 0, 1 "transitions" 1, 1 "values" @@ -33,47 +35,22 @@ 0, 0 -800, 0 - "times" - 0, 1 - - - - - - - - - + + + + + + + + + - - - "loop" - 0.6 - True - 0.1 - "value" - "logo:frame" - 1 - - "cont" - False - "transitions" - 1, 1 - "values" - - 8 - 7 - - "times" - 0, 0.3 - - "intro" @@ -86,6 +63,8 @@ "cont" True + "times" + 1, 1.5 "transitions" 2, 1 "values" @@ -93,8 +72,6 @@ 412, -212.981 412, 171 - "times" - 1, 1.5 "value" "logo:frame" @@ -102,6 +79,8 @@ "cont" False + "times" + 0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3 "transitions" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 "values" @@ -117,8 +96,6 @@ 7 8 - "times" - 0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3 "value" "start:visibility/opacity" @@ -126,6 +103,8 @@ "cont" True + "times" + 2.5, 2.8 "transitions" 1, 1 "values" @@ -133,8 +112,6 @@ 0 1 - "times" - 2.5, 2.8 "value" "start:visibility/visible" @@ -142,6 +119,8 @@ "cont" False + "times" + 0, 2.5 "transitions" 1, 1 "values" @@ -149,8 +128,6 @@ False True - "times" - 0, 2.5 "value" "copyright:visibility/visible" @@ -158,6 +135,8 @@ "cont" False + "times" + 0, 2.5 "transitions" 1, 1 "values" @@ -165,8 +144,6 @@ False True - "times" - 0, 2.5 "value" "copyright:visibility/opacity" @@ -174,6 +151,8 @@ "cont" True + "times" + 2.5, 2.8 "transitions" 1, 1 "values" @@ -181,45 +160,61 @@ 0 1 + + + + + "loop" + 0.6 + True + 0.1 + "value" + "logo:frame" + 1 + + "cont" + False "times" - 2.5, 2.8 + 0, 0.3 + "transitions" + 1, 1 + "values" + + 8 + 7 + + "conn_count" + 0 + "conns" + + "editable_instances" + + "names" - + "splash" - "Control" - "visibility/visible" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" "anchor/right" "anchor/bottom" - "focus_neighbour/left" - "focus_neighbour/top" - "focus_neighbour/right" - "focus_neighbour/bottom" "focus/ignore_mouse" "focus/stop_mouse" "size_flags/horizontal" "size_flags/vertical" - "size_flags/stretch_ratio" "__meta__" + "Control" "bg" "margin/right" "margin/bottom" "1" - "TextureFrame" "texture" - "modulate" - "expand" + "TextureFrame" "2" "margin/left" "scroll" - "AnimationPlayer" "playback/process_mode" "playback/default_blend_time" "root/root" @@ -228,152 +223,172 @@ "playback/speed" "blend_times" "autoplay" + "AnimationPlayer" "layer2" "margin/top" "layer1" "logo" - "AnimatedSprite" "transform/pos" - "transform/rot" - "transform/scale" "frames" "frame" - "centered" - "flip_h" - "flip_v" + "AnimatedSprite" "start" - "TextureButton" - "disabled" "toggle_mode" - "click_on_press" "textures/normal" "textures/pressed" - "textures/hover" - "textures/disabled" - "textures/focused" - "textures/click_mask" + "TextureButton" "copyright" - "Label" "custom_fonts/font" - "range/min" - "range/max" - "range/step" - "range/page" - "range/value" - "range/exp_edit" - "rounded_values" "text" - "align" - "valign" - "autowrap" "percent_visible" + "lines_skipped" + "max_lines_visible" + "Label" "intro" - "anims/loop" "anims/intro" "next/intro" + "anims/loop" - "version" - 1 - "conn_count" - 0 "node_count" 17 + "node_paths" + + + "nodes" + -1, -1, 8, 0, -1, 7, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 0, 0, 0, 8, 9, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 1, 0, 14, 12, -1, 7, 10, 5, 11, 5, 3, 2, 4, 2, 5, 3, 6, 3, 13, 6, 0, 1, 0, 14, 15, -1, 8, 16, 7, 10, 8, 11, 9, 3, 2, 4, 2, 5, 3, 6, 3, 13, 6, 0, 1, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 13, 24, 14, 25, 15, 0, 0, 0, 8, 27, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 5, 0, 14, 12, -1, 8, 28, 16, 10, 7, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 18, 0, 5, 0, 14, 15, -1, 9, 16, 7, 28, 16, 10, 8, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 18, 0, 5, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 19, 24, 14, 25, 15, 0, 0, 0, 8, 29, -1, 6, 10, 5, 11, 5, 3, 1, 4, 2, 5, 3, 6, 3, 0, 9, 0, 14, 12, -1, 8, 28, 20, 10, 7, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 21, 0, 9, 0, 14, 15, -1, 9, 16, 7, 28, 20, 10, 8, 11, 17, 3, 2, 4, 2, 5, 3, 6, 3, 13, 21, 0, 9, 0, 26, 17, -1, 8, 18, 0, 19, 10, 20, 11, 21, 12, 22, 2, 23, 22, 24, 14, 25, 15, 0, 0, 0, 34, 30, -1, 3, 31, 23, 32, 24, 33, 25, 0, 0, 0, 39, 35, -1, 11, 16, 26, 28, 27, 10, 28, 11, 29, 3, 1, 4, 2, 5, 3, 6, 3, 36, 1, 37, 30, 38, 31, 0, 0, 0, 46, 40, -1, 12, 16, 32, 28, 33, 10, 34, 11, 35, 3, 2, 4, 2, 5, 3, 41, 36, 42, 37, 43, 38, 44, 39, 45, 40, 0, 0, 0, 26, 47, -1, 10, 18, 0, 19, 10, 20, 11, 48, 41, 49, 42, 50, 43, 22, 2, 23, 38, 24, 14, 25, 44, 0 "variants" - - True - 1 + 1 - "" False + True 2 + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" "2D" - "pixel_snap" - True + "ofs" + -301.424, -450.503 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 "zoom" 0.54036 - "ofs" - -301.424, 3.30361 "3D" - "zfar" - 500 + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 "viewports" "distance" 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 "distance" 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False "x_rot" 0 "y_rot" 0 - "use_orthogonal" - False - "use_environment" - False - "pos" - 0, 0, 0 - "viewport_mode" - 1 - "default_light" - True - "show_grid" - True - "show_origin" - True + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" @@ -382,12 +397,9 @@ "run_mode" 0 - "__editor_plugin_screen__" - "2D" 40 - - 1, 1, 1, 1 + 800 1600 450 @@ -400,38 +412,36 @@ "scroll" 194 456 - + 0.1 212 - + 0.2 412, 171 - 1, 1 8 345 369 494 443 - - - 658 + + + 658 417 776 434 - + "(c) 1994 SOGA" + 1 0 - -1 - + -1 "loop" + "intro" - "nodes" - -1, -1, 1, 0, -1, 16, 2, 0, 3, 1, 4, 1, 5, 0, 6, 2, 7, 2, 8, 3, 9, 3, 10, 3, 11, 3, 12, 4, 13, 0, 14, 5, 15, 5, 16, 1, 17, 6, 0, 0, 0, 1, 18, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 19, 7, 20, 7, 8, 3, 9, 3, 10, 3, 11, 3, 12, 4, 13, 0, 14, 5, 15, 5, 16, 1, 0, 1, 0, 22, 21, -1, 18, 2, 0, 3, 1, 4, 1, 5, 0, 19, 7, 20, 7, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 15, 5, 16, 1, 23, 8, 24, 9, 25, 4, 0, 1, 0, 22, 26, -1, 19, 2, 0, 3, 1, 4, 1, 5, 0, 27, 10, 19, 11, 20, 12, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 15, 5, 16, 1, 23, 8, 24, 9, 25, 4, 0, 1, 0, 29, 28, -1, 8, 30, 2, 31, 13, 32, 14, 33, 15, 34, 0, 35, 16, 36, 17, 37, 18, 0, 0, 0, 1, 38, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 19, 7, 20, 7, 8, 3, 9, 3, 10, 3, 11, 3, 12, 4, 13, 0, 14, 5, 15, 5, 16, 1, 0, 5, 0, 22, 21, -1, 19, 2, 0, 3, 1, 4, 1, 5, 0, 39, 19, 19, 10, 20, 20, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 15, 5, 16, 1, 23, 21, 24, 9, 25, 4, 0, 5, 0, 22, 26, -1, 20, 2, 0, 3, 1, 4, 1, 5, 0, 27, 10, 39, 19, 19, 11, 20, 20, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 15, 5, 16, 1, 23, 21, 24, 9, 25, 4, 0, 5, 0, 29, 28, -1, 8, 30, 2, 31, 13, 32, 14, 33, 15, 34, 0, 35, 22, 36, 17, 37, 18, 0, 0, 0, 1, 40, -1, 15, 2, 0, 3, 1, 4, 1, 5, 0, 19, 7, 20, 7, 8, 3, 9, 3, 10, 3, 11, 3, 12, 4, 13, 0, 14, 5, 15, 5, 16, 1, 0, 9, 0, 22, 21, -1, 19, 2, 0, 3, 1, 4, 1, 5, 0, 39, 23, 19, 10, 20, 20, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 15, 5, 16, 1, 23, 24, 24, 9, 25, 4, 0, 9, 0, 22, 26, -1, 20, 2, 0, 3, 1, 4, 1, 5, 0, 27, 10, 39, 23, 19, 11, 20, 20, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 15, 5, 16, 1, 23, 24, 24, 9, 25, 4, 0, 9, 0, 29, 28, -1, 8, 30, 2, 31, 13, 32, 14, 33, 15, 34, 0, 35, 25, 36, 17, 37, 18, 0, 0, 0, 42, 41, -1, 13, 2, 0, 3, 1, 4, 1, 5, 0, 43, 26, 44, 13, 45, 27, 46, 28, 47, 29, 48, 0, 49, 4, 50, 4, 24, 9, 0, 0, 0, 52, 51, -1, 26, 2, 0, 3, 1, 4, 1, 5, 0, 27, 30, 39, 31, 19, 32, 20, 33, 8, 3, 9, 3, 10, 3, 11, 3, 12, 4, 13, 0, 14, 5, 15, 5, 16, 1, 53, 4, 54, 4, 55, 4, 56, 34, 57, 35, 58, 36, 59, 36, 60, 36, 61, 36, 0, 0, 0, 63, 62, -1, 29, 2, 0, 3, 1, 4, 1, 5, 0, 27, 37, 39, 38, 19, 39, 20, 40, 8, 3, 9, 3, 10, 3, 11, 3, 12, 0, 13, 0, 14, 5, 16, 1, 64, 41, 65, 13, 66, 1, 67, 1, 68, 1, 69, 13, 70, 4, 71, 4, 72, 42, 73, 43, 74, 43, 75, 4, 76, 44, 0, 0, 0, 29, 77, -1, 10, 30, 2, 31, 13, 32, 14, 78, 45, 79, 46, 80, 47, 34, 0, 35, 1, 36, 17, 37, 48, 0 - "conns" - + "version" + 2 diff --git a/demos/2d/sprite_shaders/sprite_shaders.scn b/demos/2d/sprite_shaders/sprite_shaders.scn index 7c36f2137c0b54e7b21cccd5c52ee12740721e34..b6060f8eaa9632f0ff34f9207ed5c01bc0373c5b 100644 GIT binary patch delta 3962 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 WwggG>GX&r8$nuQL48G|P_x}NWnX>`_ delta 2436 zcmYjT4{Q`=7JoC}?oPYgzff4{w)E?^1#E2>sfx$}Z)UbYK|rZNbDqvjccwT~1?ir+~)$%HjU5b3LJ2SfC^AU{lUAn z#KU@WD50A=t@UnWYv>wPfjU}sWMiyJ-B1Yfv7D(^@kxkKQ4KcPM-KOOLX#(~5Ns`J zSLItM77iwyt%wCu;AE z#S*z;!|KbLDVR&!AV`TXZ6&lcT}YO}lZ4h$@W?#=7T7HwDsJJz+OSaybvq%F;*mwny-)yw;qtqPXu@TbMi z{QKME`_!t$8Qw^ZUaCGUy`U~sm#E9+iA&rUu(_+oZyQ<~d~_3%fj!aFDo9_JLpX?S z?3{@E2M&6E;0kLmZ;8W;bTSZ&xub?d_vMOta$D#s=$FBGCiE%nEWS*dxt|w5AlsUx z%eyaj45)`tK-h48>LOIrh9de}xJvOsUvHQ8>q}1ufM;4Z6j^)xSzsM`z21dRTtx|qAhp` z?}b_#3XIrVDx;fT^(m`|{>HjDCg*_kSe z#tb=t_459@Z1BFH&^_zdL^i&?26o*uvvnL~`b2R`cz(gayYcLef<{WAPqyC8JqOf& z?d+qS#e-FpTU&g#>fZbeIXA;UZ#?tkJ~#Gp^>AR{#`U;j@KC_iGP(m%x)8c38T|K# zZ+YEz)Gq%PE2%G!r@js;MkZ_7u9DT<(H-&NnBf@1M%r-4V``8~>z**5SXnJW7md8E zMhm?@M^BF^qYS2HDHnPg7#|2?b&98*9=n-*~D8pzeBx-6<-Tg*HUFo;=lwp~vsY1}F z*m}ZMSNp7-n>N}{!JPI8WKNVIR<6>{5-n$IGs2zi1>Q_5Gy%FACBtd9Yo62G_Q?$w zNYb{l;>Vn|Q@dEWSZa{31so%7<#d;pqveU#iV`>E_45!Sd23 zfV=L;<(Tv*EYnmH>%U_kq1+56J?8Pv*o)1q%R9I+?dHdPrt82WS|c5l!e!Vvj>F>n zjMfTk2^8w_R2d49@?0o%A1EwAxN8FYF%1i8zM)Z3^rYchwvtWfQiiEGE`1N2=zLs? zX(r2}*KiKjA;CXZXN_HYT5(J*tKP(#y%`Cau&hjJKZ7bZ;Cp<|(Y@+kT!0cNorg-V z0`1wvQ4w#$*Ee6qkA>{9GgG0ycg|xN4?}<9@L>L1oFl)@CH3f`&DT5XIb~d3&Hv(k zs^&3DCPp+{ZDJt3CbQ@d@gvrlDlqj{3FqPtGG^#IWpB@3?80kuE4JfvQGvLcnV8gW z02>!bGq4LEQJ1rt&8r?)ST_M<_!|O#>SMJVCe>-faT&SW49PXXF(fZw6fe}VR21DD zGi=Lb*mTu4mT()?(<*GMX5Bt&r7TlRd%i{BqlG&DdO0v;n~t)i@dE^UmN4)KNqpKh5NktVC@}w zv5B$Ts{hZUM83|}ogWV*^>>Vw_5!p&ghu)=X1;yN zE%7&BWabmntzbsq;vJy06)XSVEQD6iZ#sq|^fM>*eFeaVFlPo??t#dFx#R_$tgv)nmp7cT$mRyVYfJdgq1TyjR(~J?0QmNNux= z+PuDs^dVM6!nFA0OwUp27*^z?Oyk#f9xu=2CGJnI`}zVT_S{7>sBRiyq;dj1x_ zjML0Qrse&gS{8Jcrsawkp1wkk$rjt?ghwi@Qi;m?5ISU*xgI|tum*)~L)+xpzh3_Z DwTTAl diff --git a/demos/2d/tetris/grid.xml b/demos/2d/tetris/grid.xml index 072ffb5e751..49ad4ccc416 100644 --- a/demos/2d/tetris/grid.xml +++ b/demos/2d/tetris/grid.xml @@ -1,153 +1,209 @@ - - + + - "" - + + "conn_count" + 1 + "conns" + 1, 0, 30, 29, 2, 0 + "editable_instances" + + "names" - + "Grid" - "Control" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/mode" - "visibility/visible" - "visibility/toplevel" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/notify" - "anchor/left" - "anchor/top" - "anchor/right" - "anchor/bottom" - "margin/left" - "margin/top" "margin/right" "margin/bottom" - "hint/tooltip" - "focus_neighbour/left" - "focus_neighbour/top" - "focus_neighbour/right" - "focus_neighbour/bottom" "focus/ignore_mouse" "focus/stop_mouse" "size_flags/horizontal" "size_flags/vertical" - "size_flags/stretch_ratio" "script/script" "__meta__" + "Control" "timer" - "Timer" + "process_mode" "wait_time" "one_shot" "autostart" + "Timer" "gameover" - "Label" + "anchor/right" + "anchor/bottom" "custom_colors/font_color" + "custom_colors/font_color_shadow" "custom_constants/shadow_offset_x" "custom_constants/shadow_offset_y" - "range/min" - "range/max" - "range/step" - "range/page" - "range/value" - "range/exp_edit" - "rounded_values" - "text" "align" "valign" - "autowrap" + "percent_visible" + "lines_skipped" + "max_lines_visible" + "Label" "piece_move_down" "timeout" - "version" - 1 - "conn_count" - 1 "node_count" 3 + "node_paths" + + + "nodes" + -1, -1, 9, 0, -1, 8, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 8, 5, 0, 0, 0, 15, 10, -1, 4, 11, 6, 12, 7, 13, 1, 14, 1, 0, 0, 0, 28, 16, -1, 14, 17, 6, 18, 6, 3, 2, 4, 2, 5, 3, 19, 8, 20, 9, 21, 6, 22, 6, 23, 6, 24, 6, 25, 7, 26, 10, 27, 11, 0 "variants" - - False - 0 - True - 1 - 0 + 40 - "" - "" + False + True 2 - - + + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - - "Script" - - "current" - 0 - "sources" - - "res://grid.gd" - - + "2D" - + + "ofs" + -229.129, -80 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 "zoom" 1 - "ofs" - -69, -22 "3D" - - "zfar" - 500 + + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 - "window_mode" - 0 - "window_0" - - "distance" - 4 - "default_light" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - "show_grid" - True - "show_origin" - True - "pos" - 0, 0, 0 - + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" - + "custom_args" "-l $scene" "run_mode" 0 - "__editor_plugin_screen__" - "Script" - 1 + 1 + 1 + 1, 1, 1, 1 0, 0, 0, 1 + 0 + -1 - "nodes" - -1, -1, 1, 0, -1, 32, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 1, 15, 1, 16, 1, 17, 1, 18, 4, 19, 4, 20, 5, 21, 5, 22, 6, 23, 7, 24, 7, 25, 7, 26, 7, 27, 0, 28, 2, 29, 8, 30, 8, 31, 3, 32, 9, 33, 10, 0, 0, 0, 35, 34, -1, 9, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 36, 3, 37, 0, 38, 0, 32, 11, 0, 0, 0, 40, 39, -1, 45, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 1, 15, 1, 16, 12, 17, 12, 18, 4, 19, 4, 20, 4, 21, 4, 22, 6, 23, 7, 24, 7, 25, 7, 26, 7, 27, 2, 28, 2, 29, 8, 30, 1, 31, 3, 41, 13, 42, 12, 43, 12, 44, 4, 45, 3, 46, 3, 47, 3, 48, 4, 49, 0, 50, 0, 51, 6, 52, 12, 53, 12, 54, 0, 32, 11, 0 - "conns" - 1, 0, 56, 55, 2, 0 + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/tetris/tetris.xml b/demos/2d/tetris/tetris.xml index 1b5e5afeb05..a8e47a8ae40 100644 --- a/demos/2d/tetris/tetris.xml +++ b/demos/2d/tetris/tetris.xml @@ -1,147 +1,192 @@ - - + + - "" - + + "conn_count" + 1 + "conns" + 4, 1, 23, 22, 2, 0 + "editable_instances" + + "names" - + "Tetris" - "Panel" - "process/process" - "process/fixed_process" - "process/input" - "process/unhandled_input" - "process/mode" - "visibility/visible" - "visibility/toplevel" - "visibility/opacity" - "visibility/self_opacity" - "visibility/on_top" - "visibility/blend_mode" - "transform/notify" - "anchor/left" - "anchor/top" - "anchor/right" - "anchor/bottom" - "margin/left" - "margin/top" "margin/right" "margin/bottom" - "hint/tooltip" - "focus_neighbour/left" - "focus_neighbour/top" - "focus_neighbour/right" - "focus_neighbour/bottom" "focus/ignore_mouse" "focus/stop_mouse" "size_flags/horizontal" "size_flags/vertical" - "size_flags/stretch_ratio" - "script/script" "__meta__" + "Panel" "Grid" - "Control" + "margin/left" + "margin/top" "Label" - "range/min" - "range/max" - "range/step" - "range/page" - "range/value" - "range/exp_edit" - "rounded_values" "text" - "align" - "valign" - "autowrap" + "percent_visible" + "lines_skipped" + "max_lines_visible" "score" "restart" - "Button" - "disabled" "toggle_mode" - "click_on_press" - "icon" "flat" - "clip_text" + "Button" "restart_pressed" "pressed" - "version" - 1 - "conn_count" - 1 "node_count" 5 + "node_paths" + + + "nodes" + -1, -1, 8, 0, -1, 7, 1, 0, 2, 0, 3, 1, 4, 2, 5, 3, 6, 3, 7, 4, 0, 0, 0, 2147483647, 9, 5, 4, 10, 6, 11, 7, 1, 8, 2, 9, 0, 0, 0, 12, 12, -1, 11, 10, 10, 11, 11, 1, 12, 2, 13, 3, 2, 4, 2, 5, 3, 13, 14, 14, 15, 15, 16, 16, 17, 0, 0, 0, 12, 17, -1, 11, 10, 18, 11, 19, 1, 20, 2, 21, 3, 2, 4, 2, 5, 3, 13, 22, 14, 15, 15, 16, 16, 17, 0, 0, 0, 21, 18, -1, 11, 10, 10, 11, 23, 1, 24, 2, 25, 3, 1, 4, 2, 5, 3, 6, 3, 19, 1, 13, 26, 20, 1, 0 "variants" - - False - 0 - True - 1 - 0 + 400 - "" - "" + False + True 2 - + + "__editor_plugin_screen__" + "2D" "__editor_plugin_states__" - - "Script" - - "current" - 0 - "sources" - - "res://grid.gd" - - + "2D" - + + "ofs" + -229.129, -54.344 + "snap_grid" + False + "snap_offset" + 0, 0 + "snap_pixel" + False + "snap_relative" + False + "snap_rotation" + False + "snap_rotation_offset" + 0 + "snap_rotation_step" + 0.261799 + "snap_show_grid" + False + "snap_step" + 10, 10 "zoom" 1.360374 - "ofs" - -44.5757, -54.344 "3D" - - "zfar" - 500 + + "ambient_light_color" + 0.15, 0.15, 0.15, 1 + "default_light" + True + "default_srgb" + False + "deflight_rot_x" + 0.942478 + "deflight_rot_y" + 0.628319 "fov" 45 - "window_mode" - 0 - "window_0" - - "distance" - 4 - "default_light" - True - "x_rot" - 0.337 - "y_rot" - -0.575 - "show_grid" - True - "show_origin" - True - "pos" - 0, 0, 0 - + "show_grid" + True + "show_origin" + True + "viewport_mode" + 1 + "viewports" + + + "distance" + 4 + "listener" + True + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "distance" + 4 + "listener" + False + "pos" + 0, 0, 0 + "use_environment" + False + "use_orthogonal" + False + "x_rot" + 0 + "y_rot" + 0 + + + "zfar" + 500 "znear" 0.1 + "Anim" + + "visible" + False + "__editor_run_settings__" - + "custom_args" "-l $scene" "run_mode" 0 - "__editor_plugin_screen__" - "2D" - + 40 35 80 @@ -151,6 +196,9 @@ 283 49 "Score:" + 1 + 0 + -1 252 55 293 @@ -161,11 +209,9 @@ 311 "Restart" - "nodes" - -1, -1, 1, 0, -1, 32, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 1, 15, 1, 16, 1, 17, 1, 18, 4, 19, 4, 20, 5, 21, 5, 22, 6, 23, 7, 24, 7, 25, 7, 26, 7, 27, 0, 28, 2, 29, 8, 30, 8, 31, 3, 32, 9, 33, 10, 0, 0, 0, 35, 34, 11, 4, 18, 12, 19, 13, 20, 14, 21, 15, 0, 0, 0, 36, 36, -1, 42, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 1, 15, 1, 16, 1, 17, 1, 18, 16, 19, 17, 20, 18, 21, 19, 22, 6, 23, 7, 24, 7, 25, 7, 26, 7, 27, 2, 28, 2, 29, 8, 30, 1, 31, 3, 37, 4, 38, 3, 39, 3, 40, 3, 41, 4, 42, 0, 43, 0, 44, 20, 45, 1, 46, 1, 47, 0, 32, 9, 0, 0, 0, 36, 48, -1, 42, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 1, 15, 1, 16, 1, 17, 1, 18, 21, 19, 22, 20, 23, 21, 24, 22, 6, 23, 7, 24, 7, 25, 7, 26, 7, 27, 2, 28, 2, 29, 8, 30, 1, 31, 3, 37, 4, 38, 3, 39, 3, 40, 3, 41, 4, 42, 0, 43, 0, 44, 25, 45, 1, 46, 1, 47, 0, 32, 9, 0, 0, 0, 50, 49, -1, 38, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 7, 2, 8, 0, 9, 3, 10, 3, 11, 2, 12, 1, 13, 0, 14, 1, 15, 1, 16, 1, 17, 1, 18, 16, 19, 26, 20, 27, 21, 28, 22, 6, 23, 7, 24, 7, 25, 7, 26, 7, 27, 0, 28, 2, 29, 8, 30, 8, 31, 3, 51, 0, 52, 0, 53, 0, 44, 29, 54, 9, 55, 0, 56, 0, 32, 9, 0 - "conns" - 4, 1, 58, 57, 2, 0 + "version" + 2 - + \ No newline at end of file diff --git a/demos/2d/texscreen/bubbles.scn b/demos/2d/texscreen/bubbles.scn index 41026aceed0d264372e05e999c94af67fcbbd51a..8509b3811c391420f9584b22e9896e76b0a30f9c 100644 GIT binary patch delta 2496 zcmWkwd011&7oFrKBm@GHoglmy7NaOAw3Y$|CkX;t6$BI)FfW9VM8bPC2_S)*V5=+^ zQGvE`4e%=pqE-tcbwd(acrK z2~sT+XOTG?!!d&kqS2DsCcP7I!Dh2GN}Wucp_0fobFr07rH&-D5*2VV)7@#gGPPET z-NZ?3`ye$8o@0o`Su(9eESC5H5hkFjNtGn7$P+(7&yuL+O2SM%Vd9uh2vV`9l2rJp zMoEcQ3(g2oV1wD%maf#2YH_wIhex#%YqS!rOv4K>BQxO~L_jF@S-2Bi4LSI2s#2r$-h|66e6BE+ z5*&s5!w1j-GORU(BwL)V+#pk#X#v7%IG3U(v3#B{R)om10S#M<>|||;gb@&-=t%Df z=!9I4c3%KF!freS4}@$4089W8=qZxoo>a9=g{=U&W_k?_z&-VdT&+wu)5;(UB9wXh$P@Sr!M%aEvXCyTDB${xf? zZF_z;x?dBSu`y3(6VC8RQZx@DgMLboVaumKjBoDG4{8RVOp&M*q7 zuqeM6pvDI}VgU#H%$II0mJzv1HA!U2eC&iLEGE+7FhsF^GzBRq37-)&;su+i*`!9| zVn%>@bvp!=sWdz43}a;$%~ceA5Rqi1DZTp)o_>8)6{*HukzGdj$aaKkQ6W7pDt$;# zYF{LJiM#XZe)VRWOhiz1gsg4^>Fw!>fUVI7DlgM``gudZ4N>P1Vm~UPRTA<`uA+@F z8dmdr`29f4hd_fn!V9zj73Ql^&VzoUNfS8p|B1WBtlKfC>`y}1fyF`F@$#(xCY zXjLb9=530!?+QW!|5BtF@f3H*`M+L6O+hp%$Y++qi_DwUfRW7lXG`Q=+WMC#HR9pI zF<$~bv(@_dx3}~Y58rHT8x9Yh*jX1-(eYsVz!R%Y^=w7XfB{`Oe2noN+v@jdA2)h% zG^H$7LM&@|vAsdhjOiyfy?maEJBk*g=PRRf2^J_=~vG_vDM z-p7mWTPg})kQ+J?UdH?QzHhhu!m_jMa0PYpv<{wp6p|`rvCSITa#Cp)WirMi)!lcAI zX9nBZqr1}am#w+_Psh5@gbF#275BMA5IzCgw-gtDn7Cix#@iozAVXi6qiws28e5-D zX8%ei+wY(C=e@$O@HrWIF~7a?-TiK`o8R2Px{tQpee~!Q{qkoC(YNvs>5S8^KV~wS z&6^DdZh7Agn*|Hd6t9;0b)~EONAqqnTTie0Y3%0E@zt6rj^57G!?mk{GmPe4Im%sg zYiITRbj_Q`HEFAI{EY^K>GI=*rimVN(cy2T%qj4W-E06bA$DN&- z{8u9~_wB}^llkcAzwbvb@PB{*u2;H#*!sc-|L|jn<~jbXi#H60w61>5L!YRUa+cLS z`geWxi{nQd4f{rKuhAz>MNUPkS2l$1S(wB|lZIjdb8_7(pPKk=Xma0>;E0ZD81k!x z#xcazinSTNdw+{!+ojw0Rgo_-X}#@*@xzzapMLZHj7R7Asq*KG>+IU@T)pCCtNTjP zwEgMCp+f>43j5f_=Y>NXlhZ?DUjLzabM{xAUCaH`10j{}+ID@(q>Bgd;f?ONUnbx9 z6(5HB%zXvxgR+Nl(2M$ZxB!5^LP2n;il zxdSs$PxW1SS#oX10k2YxU(brxP9Xf_)FoZa{)X7jrALnBqx}yqZ;StA{=YxZbcwTn z&R#x5F^}9W4X~+f&_@(p-@RZLYTR?1ANbwOSE>D{Qyb}edJzbeY(TU?kw5n<#z7*>tdqDirL^15}cVoeCuz<^>^qu;g|M*{ou?9qyNQ#fA_N3 z13v+QqB5Ipyw0ku9;Q2gzfIR3++u} zE)=f+jWwW$pv%AI2bUR|#Ma)&XM?7_D!Z2y7J{x626fE~4f8gY2|w*(KQATh%C?+T zzgyFL_*sA0zNZyvrA|92i3ip%k~>P2dyyZFAHsV&7T5K&TV7mySvZ`DmKmYY|y-;E%j@JXF5r$Hb$}4uDn^TNOKN2eV{nW0-^ms5}F9 zm;1Irf{L(jXQjx??uRYCOw8+YW9yumxhx(fod*0kfNGoKYCqT)!lJ*rH+()X;2s^s zw>cafuXCu#_ni$6d>d@0TUigI2QNl6oNKbb;pBVA7A#u0Eb535-;|J;Ao}=i`wt06 B*{uKo delta 1369 zcmWkuYitx{6utABr{*_m}_ zwv=Mr(FEcT4AG`WLJTT~g!o9zR169+k_g5}VsyC4$^DX>oOAA% zn=?K4xoTW9oJhdkss*@N4e)0GfB`5mz>o^$5TKgyp~qBh8_f)B)TE@wyB~ljeaa@7 zMJf+Tok0dz(gFhE4q1ze6A&V8ykTjoL6)&S@Gq%B@PuFR4YVOj=HVCwhyWFY!*^K+ zT1gO^2nVwX$GUW!oDe8AYC~hXqo;L4 zcXz~<5MxkJXyB}TQPoHb1C3swn|G*@m8Y7Z!3#764Si(Pm2;}IO>qU))J82kZezW= zs$46iE!VYjP*0W%SxYN8vcG04q+|Ok;s(vSFxLw;vaXd^a-Psr+6-YY)LW+bt8!me zTpuwlo60$>;OshDYAAw39xu z$hgObs~y*-t~M&$s;gVd@39wtWc$)vD&!n>RasUq@2*$7Pb^{vZE3%FHjq>85#21$ zNbi(u%il=Z*dOUEZV+--reLT=mns_qbUd$`nRFaG$p-;Pw@l#3`_izKf+|uK)GX7K zHLGB{N)%x#%9&P%dTdnMhf&mnW2&vIrt3fp>5qq~+Z=Z!+Fg_Rwb+y*E1sK<4A>{@I<3;V?ouN7>Y zmTzHkD!i93U73oD?w%i5gPPj+*nO?~4mRRj%%Y_7gt!^!pb&ISH81D&acU?VeeI}p zREaXSMW$oN$>$8st4p}Uq5XZ>ibal@uB?G zX2zzi)vP{7J>J1?rI{PC^^C_y5(kxt2hRkoY}TQ!GT}>YPL3*VoHJ@|_ksy2q_mVD z#GL;lefSw`WgR6fT>fzB^jEE~Ok>z%&b}TFdi*hQ9W36p4i)Udr`Zh6?ls9I$8~Sz z#&o)UAiC>sY?pc^#F+FOlhIo>*3_sn&$n1YY#i7JW=9q3F?D(}c-RnDpcg?u$#8 z9>P_rWs?y;Ry=YYRK_l}PX?&#>gLD=CGivv;*qX%T^B&^d=ng{4nO6)4btXpJ&Em! zzc4ui%YAc=*Q+lc_!wk`B=2+#C1!l#70HsoG$ipgv2pO?+wtrCvo|3v76D?LJdVS0 zu{ZT?g#*M-rj33){8xq|uJ@^C!5mVFH~iNDY{K1GhXW|!N^BZf;P=BmZX<|(jUE diff --git a/demos/2d/texscreen/lens.scn b/demos/2d/texscreen/lens.scn index 5c6f8b7af86e8c57171b6c1d4562d8548aad835a..530a0b1eb036632213586f3d591e56a2e2315a99 100644 GIT binary patch delta 1592 zcmW+%e{2)i9sk~)6FYH89f(O{68vlvpn)b3f+%T6zUOm(xM>jBiCWrK_s;g&Ik4}{ zogESyb`C8R)P{;iT?f*tuyz$w+o@u$T9t~rVM1+5DM)DQCXkLFg{@ltXtzl$)5MNF z>8tnse!lO0zn|~-y{9)_`)TdYSX>a`!SDbWO8|mS00yAM09&eLfFT^z5Uys2l-why z;z?PRVHiDDCqN~63~FtcE*n}=Ps$ytl#{9V_zwTpdeT#>rgaWQ&4@XC45~LcXVWB)o9P8z(tymztgs<6Gr$t0v6|GH^SLd9S@XE@YAdp zpQ#okbxbm%1vwX|UrM`h5PalGzHWwN#+iLHlgyyWFQ+bPJF8?yZ&cOr8)*|=LpQ)O z(shH8okLPV))gt6aPSwPk*wrjMGhRqjmr?i^EbKcILNE~8@!Hg%!S`(4G5A>+=z9K zOja_C#7IR!msBGiI8@P**9`EGkj2!25!?zg{fbL!d2{06Z!ym5a`ND7fju|bA5gCn z#hhG_L=he$Q3!`7D#OKeTGj>9L%SgxJjcLNvI26mx1po#N?Zv@i7WhwBc9ilLMhLi zpoT(DF)tNH4OmHf5b$Ne889mhMN@$z^?V2$u+vVis-ZVbCO&~|=#a(u%A0YH z8IuB&j9MtA`3uN7y9+-GLz(vlbUWX!Io-4F$h$olw~OA*0em@E;+O#eIsOd#5%^o?cUCc!&@Fn#=GuVI zF`W_GhOgjKbh->x%8PkrTt4`O?ev9n)W_%=nFu^erWiS&*u}k8eRvxNk>mDjnjO)m zRO&$w{)cX%?YP7?36C7M^e(3@cAK+g1jek2Q}~E&W^~1T@wy#%3wVi(Hd!$J!Uwba zORK^|bQNceYWu7zA^a!0a<&_DWx%A+6`8>X=XaMMKL5euVi+4N<`1W;Zn#EZ)6@u3 z+<-5!DLI`yhh2;~L7!zO|4gI+2D$xdN&i2$MZxAa$)>e2>SO`BOgfH7D#sLgUtZIH zGm5SJ{qVnWbNDEeQi48KP0F>!Z{en=V!g8cJ#u8<#vLv#45p?>OxdGvB zbuA<(BAkoRmu_1BYo#>-S7nJ6hyUo@m-uwyE9b zuHJSGm!sipw29SprS%=lAqy(IUzOkb8~4rp{Lk>?C|5oK#@b`F(@xhc#7J{#W|hW> z6|JC;NTA~CYG z!X^M~U3i51;=MiRNR9vVXoMer`q0A6#p<~Yp5AZ&S@+D&y*D!dx^JHEy%JVp{w>}w z-j8-1+WPK%TD?^MNNRkv^YumU{!MoG&v9tR{NCTS^zOoePo=}&$K&dhx%v3=n`fpU zPV^lhQ%dT@=ePdB_%Dl92ky*1bhbc!7Z$+e3Mm#$A;j(|FKl9P;ugtf`2HReA*PhuP;vE>lCNRMEgXYsi>a^r hj9EDC+jH{6bd-Eu1JT~?k(%F!>A_e$COr5q{s-z({7nD= delta 1555 zcmWkvYitx%6h1T4?zG#|7TQwi()R9dYtf1;FHMQiGc#MDK@@1>10QqmPN&%)KhPg5h*49G(O@J&Gx&&t#zc+L5MQ@9Ip;od@0auV z^4${+dmFZF8`dzMJ<9GvTm|2_Z6n|JJT+o5-?qSWM&{S|g4?EorXSQ+a2^CiNhadd$Eu-AEPU z)~!h-Y}4_tN{>JdA^VSBvGQuTiJl0mTgBz@4&Fr|kov?G@cT?FZVzkBDKLL1XJ&@! zdrZVGXeZa;pVJ{>Lhz?c!ln{S;cx5)(Mpe>)5WxxUJcDeKQEZ_W|lKOi`mS8 zD$)*%h@`j(cw43J8~JP8gm)+h@gVkLqdFt{5F_iLlSnu}l(w1gLnE07YP_>n&5w?n zp5|tEviIwBE0cA-oStR5F?uLmDpcci|m&Uwu7M`QD(MAr3#(0tKzbH?&Oh=U*d984Awi-{sTTw6?d zrpsdJy7LeB= z^W0uYRBDW3ENm1}?cN@JE&itB-=Cr3>QURu>SKWrh63$}LcB)Vr&VBVrcQZ+hUtyu zEy$CPz@+`vo|(2>hg~d(L8r5L29;P5NVl{YGYOEIPHmpJ(b@MhkI3-X%WuiEDHD_S{HZVtUr ze`KI<&oSD|n|6TT`ru?)5;kfmsb^7B`oC+s7*;<)8()OQM4gUGEu|~LkDd&qrGdB= z7veiOpsbXPyyrzxqr#R{ss4N1k zqTBH`{i56t2eO!iW{!B{;^^^jyUd7pY&s1l~he@XT6aXHe5x!X(%v z+4~ZBZ0);~8?I26hD@hmd9Jfwr(Haw8}JA0>ONjI=B8aIKBN51&pPqtr}^suJ-WBx3MEWRmJjlPB-?X4plm!B^H%fCS`R$Qts$^O0->% zwn>LdPcL3q;lcITxI=qL_Q%|DJ?&W!M=L|>Il5SMJ*#JaP-SWlh(*VI{(|)J?Ce_H zH1ulaY49)apUVW7XxqpVdR#jq=o7|zan1U>>F&WdzlSNo%lDM4&0NlM(x>m&?!)!? zRM^P-IX9y-FYVK2ES;)aW|MBech&A^w7)QU*&mbFamaPw*I%^G^;|@vSUtONA9_kX z-YG-!vw_|-{S{glUBhKc!Z>yf{`*tQ>hh{GfLIQ($9R8}fg}z763BqlN@fG)LP1C; z+(ab!ZwBx_4&R`*Rqnvk7)h3nU^5P)j6)b1G%IH0sRx*N* zp^qhKBaJ94D-NTs{D$)BXCXqm@E9y1GWJ3T_fs5x91m{1Fqx6L_QST}ZQ9&V@IM>Y B;7kAj