From b9f4971d318cfe05f140728085887528ee7f75a4 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 08:05:39 -0600 Subject: [PATCH 01/33] Initial commit --- .../assets/Bottom arrow round button2.png | Bin 0 -> 1371 bytes .../assets/BottomLeftButton2.png | Bin 0 -> 440 bytes .../assets/BottomLeftCorner2.png | Bin 0 -> 146 bytes .../assets/BottomRightButton2.png | Bin 0 -> 439 bytes .../assets/BottomRightCorner2.png | Bin 0 -> 149 bytes .../assets/HorizontalEdgeIcon2.png | Bin 0 -> 145 bytes .../assets/Launch round button2.png | Bin 0 -> 1822 bytes .../assets/Left arrow round button2.png | Bin 0 -> 1347 bytes .../assets/Red playerShip (1)2.png | Bin 0 -> 2674 bytes .../assets/Right arrow round button2.png | Bin 0 -> 1357 bytes .../rectangular-movement/assets/Saw_Off.png | Bin 0 -> 681 bytes .../rectangular-movement/assets/Saw_On_1.png | Bin 0 -> 681 bytes .../rectangular-movement/assets/Saw_On_2.png | Bin 0 -> 704 bytes .../rectangular-movement/assets/Saw_On_3.png | Bin 0 -> 826 bytes .../rectangular-movement/assets/Saw_On_4.png | Bin 0 -> 733 bytes .../rectangular-movement/assets/Saw_On_5.png | Bin 0 -> 668 bytes .../rectangular-movement/assets/Saw_On_6.png | Bin 0 -> 707 bytes .../rectangular-movement/assets/Saw_On_7.png | Bin 0 -> 827 bytes .../rectangular-movement/assets/Saw_On_8.png | Bin 0 -> 760 bytes .../assets/Top arrow round button2.png | Bin 0 -> 1349 bytes .../assets/TopLeftButton2.png | Bin 0 -> 434 bytes .../assets/TopLeftCorner2.png | Bin 0 -> 143 bytes .../assets/TopRightButton2.png | Bin 0 -> 439 bytes .../assets/TopRightCorner2.png | Bin 0 -> 141 bytes .../assets/VerticalEdgeIcon2.png | Bin 0 -> 140 bytes .../assets/tiled_Summer Tile Water.png | Bin 0 -> 2892 bytes .../rectangular-movement.json | 2876 ++++++++++------- 27 files changed, 1693 insertions(+), 1183 deletions(-) create mode 100644 examples/rectangular-movement/assets/Bottom arrow round button2.png create mode 100644 examples/rectangular-movement/assets/BottomLeftButton2.png create mode 100644 examples/rectangular-movement/assets/BottomLeftCorner2.png create mode 100644 examples/rectangular-movement/assets/BottomRightButton2.png create mode 100644 examples/rectangular-movement/assets/BottomRightCorner2.png create mode 100644 examples/rectangular-movement/assets/HorizontalEdgeIcon2.png create mode 100644 examples/rectangular-movement/assets/Launch round button2.png create mode 100644 examples/rectangular-movement/assets/Left arrow round button2.png create mode 100644 examples/rectangular-movement/assets/Red playerShip (1)2.png create mode 100644 examples/rectangular-movement/assets/Right arrow round button2.png create mode 100644 examples/rectangular-movement/assets/Saw_Off.png create mode 100644 examples/rectangular-movement/assets/Saw_On_1.png create mode 100644 examples/rectangular-movement/assets/Saw_On_2.png create mode 100644 examples/rectangular-movement/assets/Saw_On_3.png create mode 100644 examples/rectangular-movement/assets/Saw_On_4.png create mode 100644 examples/rectangular-movement/assets/Saw_On_5.png create mode 100644 examples/rectangular-movement/assets/Saw_On_6.png create mode 100644 examples/rectangular-movement/assets/Saw_On_7.png create mode 100644 examples/rectangular-movement/assets/Saw_On_8.png create mode 100644 examples/rectangular-movement/assets/Top arrow round button2.png create mode 100644 examples/rectangular-movement/assets/TopLeftButton2.png create mode 100644 examples/rectangular-movement/assets/TopLeftCorner2.png create mode 100644 examples/rectangular-movement/assets/TopRightButton2.png create mode 100644 examples/rectangular-movement/assets/TopRightCorner2.png create mode 100644 examples/rectangular-movement/assets/VerticalEdgeIcon2.png create mode 100644 examples/rectangular-movement/assets/tiled_Summer Tile Water.png diff --git a/examples/rectangular-movement/assets/Bottom arrow round button2.png b/examples/rectangular-movement/assets/Bottom arrow round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..20778061b8a6a48390429fd4c5ead410597cba3c GIT binary patch literal 1371 zcmV-h1*H0kP)Hq_aj%wu1;%KJUhg@Xk*Zqg2`gyhr{9S`T2SA(o#WNXcKL(*Xy^P0u2*#6TERX zdr>NoQuNscX&XDq_!F8a{>@Evw%u-jqHZ>uFIDya{{9=Db?W;I?^d-B^N^I9=fF)v z6WZ-|zaJkTf2>xkPww$IZB(>{HUVgfRF0zt5~>=KI84k9{`-7Bf7cdhp^83oFtdO} z#%Cv;N`3S#3hr+csGT%up$c_}#QPQ5JiMcx5=Hd4gRJNu{XQDRI1Ky$w;4u&vVjyCpPQ^TBwJlR;W)ts3{JbuL zM?qwM;_X%7fzhB1!jI}Ic+^*9F3wFWD=yfNu7h`~nCsOmGi6jj2J{8IQ>DxfuxJY2 zkbZ&Xa`~Ze0AkKm18eV_v3%1P;j#A(Ji1$g`30jEd(p}vAgR5_!hY~{j1S0L#< zE*w~Dup0)FW*U2N^g;VAT~H7|&|Ek;E7G(;tqc~FQ7zl2@papXz-bY(m9~&N&04lE z6#%&{^g7q{0R(_v0W4Nv!UQb5cxW*#DFFyff{O`toDqD{8dOREqSC-r!Lg=vm6rOZ z2q0DC0^LOiq`7TN4M1SS`u-OrqD-^qfKmf6Uyc7W*T*1~mHkTS~EC!_#s2gp+dkZ$Xa07?$#bc~|x+@3^1f9O{#09L?E3P2tv zv?>xHssQLaPG(UgXgL)C+dPFI8)v8j;7dd$RSBF#qQZ+L0pwvpt0Ljs7BHi>s%;{{ zdL@=%mMEcclx}H9+6qJ|TJFq|rd*)ZR!$p4Nlue)<&K;n4P{D_30fdZ6T*y47!{&% z(sY(Ih#G7<-5?yJbJ~Qe6o^`(h%-Xfg3{+FL9Z=Z2cW!^zEx0(257EylqcpvB}(gC z4JdZ-`0lC@)}(=T*eA^^43~na4IVI|w)^aqmc`MIOF`5IukvVzM~!Ee1B?wk&k?tw z_jsH2eUK^;t-#}6L-43Cy;Ng0*bsTHQ**hW%u)@ze64JD0x7J0naA zdv`yi!uC~P{o*&2QoKwpb+otkjU~#^X#0gRU4dm6ZAMKm8ZKfm;4v&5ImyyIH-ZJ* z5kuvkz{R-~xGHz~u5gHMYpl9uw>G5j z(qiZ#Z zqK&e%Hpv0!W4OU+Xr2#*q@&Ny<<-Zk2Z@ll0+E9@c0a!k`cNR5IiTbGKMzaI_y2w!Q{%NJZy%MGmKmg0_3@t+ELqF>*p>HK!`tQw&o7qk zp8I3pdZy>Ee9zwHXmSw!{r6vf&$f<}66K0KhxwGHv@gf^J)(lDO+uWUxBO0b{{47vpHJ7Dk^Zfa1Lsk5 zu+#9(o}Cjc4JRx1A9p@*OY#1(4W9)*)!0ECS-CfkX-f~#u#iwyhtnXlVy{C4Onj9O ztbPBRKU%ta{Ygi%e}oSsbozZ|MPRUFaBw5R8_DS{lK=qGqNE)W9ueh PR4{nD`njxgN@xNAf6%=d literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/BottomLeftCorner2.png b/examples/rectangular-movement/assets/BottomLeftCorner2.png new file mode 100644 index 0000000000000000000000000000000000000000..607d523ed912e2fcc1529b8fad2dc6417861c84d GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(HG z#W5t}@Y{16c^MRVjvRPn|2Ch&i;;=#K(Fr3{a!|0YZx_>7!8haItVbaa0n$eGajxO51 zE%#{Q?z>Ow_Mhi^&a(e#eDfYPHb>vfC%#sNb{2nEtU0{)^)B^d>FSN2ACy15U{tnE z{Lww*1*vax^p~v5W{f&^?wga|^lk>-dDsk3SAw?fBpo!mp z?`6Q%*RwSNPDm&D@S>jw@!);sUz*o1*6=4zTNmj&FoGHc*5UBG9&wp*$q%U2z}K zzH6_y?zgzg-ckPSpU=VTJAY45;Fu?FVq_7r*f4Ep%)dIX6L%xlhH1TUw_*78F|uK~ TT!sWNCKxJRm8q;LyOp$i%`S q0Aw_<7ueVH^yV{&&Sx;PyT-U8Fr`bn*f<_&B!j1`pUXO@geCwIktx6c literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/HorizontalEdgeIcon2.png b/examples/rectangular-movement/assets/HorizontalEdgeIcon2.png new file mode 100644 index 0000000000000000000000000000000000000000..2d9897d6fd9cccb4e6f0fc2beafa4b536800794e GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(@a z#W5t}aB_kK>*55F2Mppfmi!ME=C@_Hsr&Q8o+DUlQp#-OR}F#eJyr=<7#H(Nlpa{Y o%+|}iqP2YFVdQ&MBb@06O_9Bme*a literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Launch round button2.png b/examples/rectangular-movement/assets/Launch round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..01fc3586bd24e37afa3c0392b5a7b855c969b21e GIT binary patch literal 1822 zcmV+(2jTdMP)saQpE;l0S*Wq zPC`Cxz%?;}83V?A49I}Z&)|OdV2K)w+xoP+rJmtd-FmJ!Qg`2@`%_Dz*XvNOudf$= z|Ni|(bX9b4dwV;oq8xj7ch~1!#^}8i!PwOBq5OApe}8X$C}X8#_Rr4FUdB-6Y~o@Rq4x0bVE+91^QdK#9mhFonATR-%9^8qCyQB^D{HDM24ui|Nd`3a zvdW4#b{(?gs*AY)MtM4nI}_kD})%V)ge#F;NzkNbQ!L7!ny>a|D4ExS65eKsanRS zvjA@zVv#M_>J_34IJ8a1Rf{oXtAsRbFMv4omG{<*uGTEVn}%3q8@4yCxXUt#vFR*@ zZBaNE*$4yIytg1HC-V%i3Pc#dqBg)^zkZEugT~b3`Ro;K_QIkTyvxhWz9dnjDZSLZ z3bxtohDqg?MGj81LAV<8F4$-Rm{e+QB<2UUt1wS_uP7hd?1xQh;gEPYn$C0RYN2f7 zP*_mJO;@#(px>ozY;2g7l@+tOx!KyB*sQUDku~>STwEmDNnKZ6;JtqR`cdD#d-n*m zjjF7%fRUOD<%ea7ag$e0>RRx;3}B{j-@Y{;K77ESVDn$|0jSbAE^WRWAi028h2q8)VsR}VGI3GWLY?LQqps|73bo-(n6oXJe z@TfZAYz4wf7<#|D9#=)lr7k_8#t3!*>}x-=q1c5`1VVtzbZKd+ z_L^W}0od>T`0-<){n&Q?W6mm-wrME4gfT2MMzHIho}P}RqL{q4xp6>+4e526y0$p5 z&=|qa3b4&wSJWi?QmSziu>#b7XsZHK8AF51?o@oF7>yM<(B!oZfEd*VJc@>o`(>DD ztU3W0x>z(V8c_oz=d}T^NzteUP1Umo@wI6*wNNUn7mxW`uDN+F;jr#OXtGMDWKYK&k9z(wuHri*Ig zeIaw1t1T9Qf8XlYer#GuT<6ys)@85@#5KUg24Hj1n~IyxUU`L`dqlqBgmLT7lDDs24+tHrKeiZ4#G`cgqET%Jf6J8C@|32!0ey5 z6C@#y#Vt)dgi-(N|tkib|h3vW{N0V1>oL&1TLX(END6HFf->N^n&dtkhiAp3suxmuUdl`6X`52d`=-6{;NT#UN@Mcs8p^XI z*r?eKlTz=?L=Iln20^=i=_vH3fz581)cRU!e}8|X4TLMt<0lW;gl(G5u&Dj5+}E#P z7bWJ6rc5+X-^*c3n&VW3h0_AJ;*$8sf%rc5-85Lt8TVX9)Y^^U_OABraP0N9T1#B4P3-29PrcPVvYE37gd~U%n&))wH29*MvDc zt*#-2swc*+V_*nqqJzm~@?Y;INa~pY9neqKftq^QC_Q(XvAVM3f3S0kwcw7|N&o-= M07*qoM6N<$g5Ru;H2?qr literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Left arrow round button2.png b/examples/rectangular-movement/assets/Left arrow round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..67a58b14bced1ed7c5250c9f6786609b9e1bda50 GIT binary patch literal 1347 zcmV-J1-$x+P)Ph;06t}Qw?eD)0AMIWP~JeVvd{`~wre|&sgZW2A{3w@&R>+9>cRYAjq+yqZt zYc`o4NGaY~gS1VYWc-dz6#wQXdcIn%exTjl+gtpG_?r|BeW6bPJs_16(;%U$F^R*(+~7|yE-v1sf);Cdhlklj zB+{OpbSm{RyEg1M z+h|H$7m4JWf-z@TX|J*z-YkcWOJO51Rt_47mmh`(5Oby)*m>Oy_f5Zuh<#}A=xT)uQm4=cIXxN=4HX_y<%T9@TO9}WKqanm zB~oFO$w7yL{R0b*!>>_i7y}x-qUOqnIh1iH+ovUcd~IsMnNcZ>+CmyMYuUaSJeujY zU<-r6HT?iKfULpWJz4<4gb7&OdE~Y?UEyg0#2BN_ga*#J)uazRO@L^0V`?w3rs=Aj z>f0BdHbAPzd+9DZz+9g0HSn|nf(;wX-%TQ#Y1Y__C-Gs_*|9IwC`auw! zQmbCrLAv(Esi&IYNoW=r?X8Vz-cK^)tOYN%>eGz%HcvsJz>6?jDgv;?n6fGJPm4-(+U*z;ckhX#-?ysHLCB_(wtfu97e0U%8%Y*#qa zfwUEfVu3Wx1xhXDEI^c4%58IkbSqObnV=0(D48(c+l`Y>XK6u1KrfNb+V0NfPN?RF z2zV(?(~E?vMoRw}h~`rITANDrChNZ2>_|)>}_k(jdj?JoEz(XA!=@{ z)9liVQ(BrwJNiI0d9)*-#^;&?%n^L~F=|3hvYZF;Hwmt^f}&`BXYY1j<~q#H$x^ zn}`9FcqyB1Pi8Md7OC7;bn&t572JHq$^{>Y<d%njrD+&>pm@5}-__C$Us~&a@cb6|3m0TK2O?yf}~D7()F6iO>ho z(0A-$JCdR1r0&pzI`=VCz>VR{{VqpkF&|yFKPe)002ovPDHLk FV1nhVfwKSr literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Red playerShip (1)2.png b/examples/rectangular-movement/assets/Red playerShip (1)2.png new file mode 100644 index 0000000000000000000000000000000000000000..213f1be09db97d002aec20fc919718185a83518e GIT binary patch literal 2674 zcmV-&3XS!NP)2%r`8EAK7sVY-w1}CEuU}m#f4z7Oem}^6Qw7Wq@r9v}cp)6`)VS%kIEwSj1 z9j*=a(M|>NkTa>}Z9EaGIWJzz>-KLRsrVf>Z&g?(2g=Hg=WAarnM7w zb)LvTeKEZq8XCG=AsSLzi=ga<3<}~Zy$z8JN^9d46`sgIeKEZ?l7amS)sWKK-j`qY zL%Pc9J2Ab*vk`@?#{x|N@W#i-IhbArpD6s$9{s5FHYAOajz)cvfp((S zP#KlKc(Gspw$=|B7T?}hD|CHojC?-N!A!jUwl6Z!jxTdYKPtTqDXsM?_+;Uy(%TTo zptLq987jREDXoRI?cVK+478IsC#a0dL!liZl-Bwce4_9Z(_3Sy+M`f*Sx$9!m5FKX z)#>R#WT3s6-nMo3)+&@YC~q`0++7uEZhiOU7p&&Xb~cfo3MBYs;djv><&(A!hW@LX zPQ~7dG^^!GE(dCAwjOS3sRT%{_nKQ-V{DL3U%nD58R!rFqJJ9eP*Y1SE&|1ZQK}-R z$__`Os{~GM*BSQh`3tP~;tX5-@me6kCksFHhknsN#-TAWJ}w4a6n7*ESR$$-EqZ~3 z&TiH*I>x~w`|+pMP{}}lV*eNq;|h044j0Fr6&H;4ngBT7+QGUEP$uTDurmTsFv^1Z zUU?-D8E8*^iTz_djEnIx51P}a#ghYf-L0*WP^6`r z96r+0#@YrG?A+V}2LvVpHISLR37}8GCksCq`W45au`v(K2lFa+JORGIxq!KWKX}k8 zAAGR&^^y`Mno(i3{GNM4n?zM(^L{ZdH1+nINZ?>(7fm1~=JEvqJNE7kLBUz{~LPnMF% zn7nk^B>2ABwTqp8>M75LcB1e@zv4Ja>7pRRJc|)efGh9?&V)H}pb<-v?c4dJ@s~b) z?cRHLh7}k3#-}WuCL5WZH-VI1Tr!c-wEJ1s_{<*9*6{T6CNj{kIL`3QyyLtu@37(t z@FZ+yyuky=h|!%vxApNyAEjGI_Z%0DbykcE9m6R{XUPDH2oj~Wq%r>V>lfH_zxll{ z6SW4Vw`4=pIal+8A3@^@@C2^Fm$0Tg13VPS`1J9|3l&a1@dW$V4F-+i;_BAKx+=zn z==bq;aly$3GFcNy%hy&+WcVclR=ENaeOHVnGC9`{k^vN}w3hbQ1|j3jts{=rW-@r1rz0FJ;DxQaN_Dg+*E$$%X>P;R;k#9Q;N`je$%T==N{+YRG_lbx|i zYa!SGW>7Ln_*td5WBDatbB4e0+bW&_C*UQn7Qj=+*i6R#_wT_!haP@-UBz!swz4k= zlkDGL-5ihxwGwSX%r33Pe%YX8lt1}&Vc)Hr^wz6ciAE7G;0GLmr;IUh=VTZ>6e7GG z8C~bn+}h$g`?Rx%If*vECTooI`2~~U1DHX{5QQK5H<3SkDYy?7q7irjH^R_~44%0{ zgiv5{B7^MfkulaBi~EWTb|z~KF|7@Qj8~t0#zcnK^ww)U0Y1P<#?FciN|XvBn{r<_ zWWeI-@QAR|81q+uFlme+X)O%xMXiDU&0oD_L-hyvSm9Q)CpEjCF#~N%(C<##nBN zC1)2D8HND|;Ng}GOTp(P{5B#(pSi$>M(S8ka)kAq&#=CUS^imK<`UDhm;W!xfM4(r ze!^e)4gY}y@Ni3prQmZCejAaInfiiV>-`0{%duavT;Fy!oBA`GNF8K}R2{Dy8=ql= z7qjf_RNnS3x>dX0p}zFWGGWZl=fo!LJ^)m+zv%Om0)j_&zI!>`%1vc~1@e zj{70|Cj0J025l>kfOS*0%CDw_>0Zb$`=iH5!xcY^}!h zMvdj#4f}d+(zi1im_Pi0Kky6wS@{h-fD7=k+I2`5yl5Nl1GP=LY|3}XwVgf3wEevw zYPCHdYL*1S20vN5i{R9i(?+HhyS2#pPygDyFh9%_^R@E@esX^ezu~`Itg!pMfbmBA znXz5n?;cw_f((n%Rf_~gKKnyqojn$9W0_2*sAQmjyuc~OzG4A?TNM!Waou0b z@FES?+wT4WCLUAa_ho#$m-Fe^3XFsCuk>F<-q4 z?&fp^I^~&;H}ZN=q}{=hbj%U@SHGv>ve3^oq*5t<081F}fukSvr+&V{A0e?I2MpUC zG_1~>@=@rFLJH>i`30}R9QDzTg0?yjJ=opBPh-<{ouBsa^_)V~M?17v=M#pLUFG~7 z!7U%XtxjMIq0lLwbSj(MPx#07*qoM6N<$g4#MDI{*Lx literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Right arrow round button2.png b/examples/rectangular-movement/assets/Right arrow round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..0abd109d182c179053b1013c7e9f9b6d79ece047 GIT binary patch literal 1357 zcmV-T1+w~yP)a>50wEO$sbJHA z)q&H2bnHHTT=KIt6+9a?nmNqxLgw;VmK0)d^E0PfgEEpSSGz>;&J%7^9&yEEWqt91gdyudmCar-rdGCdPhvc=(VMXjqV0;Mny1 z7^p!?@yryYEi;nw=vpZL&n$GY-EM!QKRrEtZ|dvy`X@eX)b|g*+cZARL$B1l1a9tH z&~CT;yV-1h-QVATH6Oq7(J>ar1fVrinMDmGRMjPMSeTjo_1)dwM_-`1I-XI2nL8vh zK09et>Wj@OnBUEycG94^I@BE!Z*w}Ba}?m2H+sV-h)MfY(MvmCq76t$qqcX=*_+KZ zC9aJ`a!tXUgR69@vK+iw2pi|aMq;iU#9%6o2T@0XpJSFfSBInF>ktPKVE}z7)FCEY zcTV_2RT^s(3w5~7!_R$C*_JAui`qmBc*_*PV<0ZYK*UC!ig};awoaXyO}rI}^HKzl zg2>{;n~T5$qd^Bm9F;0~G*)CG&e)5`1^baYc&CoFUhJ7EqXIHuDBztsWp;o?SMVnE z4XjqH&qD(cYo;35dfyE9O}~hUeQ4m(-3k??R-p|zJsJ-U6+EKKIVEKq9S8M5eca

<<_d%mE!-o~9jU4rSWP_Gw8UH{LPqfT$EYZ6OVsHEo}bIgSBD z#s!RR0Omx`ueAVdI`h>65tuLmb2|@Brlrlnxdw>9#OX|E;0zVg^m=Wx4>Ule=A{x? zQ@To1eY*gt0U}l73f)B~rM+$Ingp96pAwi_fb#VwKW&cjW zaHx!|P$0gsgLLnUtS5=+JtYuC;wdf+v{>#mIzdVs*uLhgU;KvBkQ2>$ zYH#ZsOO&C}jte!fz_N=r)2iuDvUIPFpcVCNcN#QTSeG*{98OceXx()2 zy0hxm-P%mu9$M_)d~|6`wb(?^;uE}93&@WD^||=L}D(Dg1Palv^X46t!Qa0 z`>B0F+TmpvmIAnORQh$50EL~=1k!ccC#n*lOrWXpq4mcab4MwAG zkrFx4cxG~S_2Km(5fWKjC1{!X_s3`m4U$;`nw5V%VA&C@c?sB9v&8#9)#sA4LxWr# P00000NkvXXu0mjfBrPx%V@X6oR9J=0SUYaQKoA`x4v>N(9kLV=ND*-YdL*PsoWW9*f)tzpEhfc+t3d(&W2ikwjZjjELU?S3vJ=7kdc$d z7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5nTx7?@Q@u?U(2)W#6xeg30U)m}btk|g zT1o99npj(ggHc|#h4ebU@V|;~;h|@G9Uq2+5!EOM_JXXZ*6ytf!NPWD2JCQ@MEWj3ounAm@vst$# ztk2%Qtb?C-2tGdzCStGT3tkb$v~`u0MY$7Vl%#DfqhVlMCg>duPc2%8>T6FCRCNRS zy*T9AG4Zr5sLptFyt55?hn1 z1EjkYroja88JkXl&+&4$IB_BE00{n$j>oPmqe8#$zyb_%Gmq?>D0wHv=)8F P00000NkvXXu0mjfzU4E& literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_1.png b/examples/rectangular-movement/assets/Saw_On_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a3c128b50a45ecefc4d4c590da754ed03d5119b GIT binary patch literal 681 zcmV;a0#^NrP)Px%V@X6oR9J=0SUYaQKoA`x4v>N(9kLV=ND*-YdL*PsoWW9*f)tzpEhfc+t3d(&W2ikwjZjjELU?S3vJ=7kdc$d z7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5nTx7?@Q@u?U(2)W#6xeg30U)m}btk|g zT1o99npj(ggHc|#h4ebU@V|;~;h|@G9Uq2+5!EOM_JXXZ*6ytf!NPWD2JCQ@MEWj3ounAm@vst$# ztk2%Qtb?C-2tGdzCStGT3tkb$v~`u0MY$7Vl%#DfqhVlMCg>duPc2%8>T6FCRCNRS zy*T9AG4Zr5sLptFyt55?hn1 z1EjkYroja88JkXl&+&4$IB_BE00{n$j>oPmqe8#$zyb_%Gmq?>D0wHv=)8F P00000NkvXXu0mjfzU4E& literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_2.png b/examples/rectangular-movement/assets/Saw_On_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec99a465ecf793d24f353038d77735792247437 GIT binary patch literal 704 zcmV;x0zdtUP)Px%dPzhSV#o=+4+MG%Lnn)5kqb;tkVUdc7d}B3 zg@Ho%?FCF=oS8CUyc?KV%ndw?=?k(dId;>lX)-E9PvrnUO;exYv ziXqoayTGQ=xYV|-Lx6Oh5-(QPaY`NwdVPT6>G_dCIJ6Ebs`A!6UhaHWpj;}Enw~Hh zvUt)QxT&fVW-BRY&PMWe^T|xxeM%O9;T-%{hZ`*mwhNUb8J=(CZf+iS|LSU&yb{`jY7V za(~P3ZyNw+muK7mc(L-@-Cdy-S4z9C1gb5`*j=;ZBcyxw`qMRVfP><%AAcJ?Z=N!u z$p`@D6SKtV-OV`wpTGWOc6r9^`yZmoXgm8V*-kK7o+u>^A+2M~2B)holnqSu?yMz% zO(4zP*JN@oFnx_FfOxUm#56Fyy3f@OK4%!;RNX~Dge z7Ejh=N2$bR*P4M;HjORoRDw0FxLr^Jq=$ugu_^@4mh3AlabGB?zGRWW{svy!l}?XE zlaaNg2fQM^DOZi@jAMG5(v86TI}Lf(gsW3=yX5p(mM2Qj0ydys+83%4Y#$I^zO||M m&7bX)gP*sc1u!_w1@S-L*p7W-G)Jre0000Px%^hrcPR9J<@SUqdoKp1|`ZTAoe?Gj``NfQl5f1rkr0YkTj?1I`uJh)4@q<^4; zTW|~d1MLt91hS`7AOvBkU59`WbTG7o`wOm%UiozTx;v@O10Jl8({s-~@5dd30c^|V z(j^u~fyq#Xc&PKRZMguzFD}mk0Q1`r05I~7H~@BU#E29TibYEI*|22%n1m6Cl#0hvirJP6nzj636X_sUN=XcPDU(zn!?xU7Y7tZ?n6Q_l zj?zFF1&xuSakZCHglOodNYS`t7127feNu`wNuUbxijV-<+p)3V?IoPp4K&DpCrZYGlM~hS}e*&GFDt=eQ1M$!5&+=Wk_<6G3 zZe#25meOEv`XihkckyE55qi6u=uWrJ^%3s^_BTt68Zo$`-Kn9GfyDycGZiTQO25uA=gt#ayGUDS?Bpgs{QMf=?zC)HX2 z*vLD|WZwS`dBsRE=8q>_ToUq)u3wr$DiWk-t?}*^NC%5NX|cOaCD_PnBwI;m`}R+^ZnoueZ#c-@Q)(1V%an++{bb&@PBmRpz|pm$>Q7sH&@m4oG&%m4rY07*qoM6N<$ Eg6npG*8l(j literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_4.png b/examples/rectangular-movement/assets/Saw_On_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4f704ea180714fc8ca2be325c3093deef0dca1ce GIT binary patch literal 733 zcmV<30wVp1P)Px%mq|oHR9J<*m_2IaKorOS3O+)5BM2c;VSEDh218(*y?~0{!dv(P&R#%;RXByt zU>|c{BQYBgy`QK$2(letz>lG;(l3xzl+;=UJXOHgl~8 zOAXPuZM+UB*ncLD|Ha z$YX8daTmtXC{Tb9%=AJSM_31|q77!KI{$?`ofl&mxAmH6;3eRA2oOt_Csi;S*pzK! zEg5AdJ@4_}1pqAkr3RPn}PQwubyFQ1N!Bu7e-nb+DnL047PhLw>OT@b~o+3tA;< z3u~)wD){+YOO>8eEc_+*8y_!Ecj{R9OVRVfII62>pI}*@IPrFe^qh(TDL(caAAgfS z+HcPfx1i@qC=-ritY8ha;5!|OyqTvRV@PXBVH~OUB5f;u#Y2EEJ=v{f z<=cC9HK;649A4ak&o)J1&N^82YD+_)=$;7&=&#lQQ1Dj|0JZKOqPER4L26(ej^E>( zhcV!!yCv(7D%XOuYDsmmz(sE-={dzZSYb%qj`9XeP`m?>N8;_SmzS-;+LqGHv?fVC zDEPx%R!KxbR9J=0SUrluP!OJo_mF@HT8JmG7X-__Knk~Ti(J4PSZJX|&L9Ya{hlCL zD2fo$EV7k1$TmBV$@u<~m#q6$`d;SEm-&4Y4=RM;8f1JeNn@|fS*3(HkkH|C4*&q? zYa;f-U{;EpQ2>>y4)B3fxlguyJQn1=?QFLS$+m`o`uG7(bA>Ab+n6(Uv#PREn@9WB>_oHWKzpx5u! zPAXcirF+VB_FIE2_;|049FkI%6lJ+c(%4hIO%>3Q0x%TVSE2zRuPt>az#>{n^&*;B zTSmiiRH%nY1BVu5-oHg!46l!{=VaopV-FQuoUPw)3IukpKYD zNYdD&elCmq>ShGO^~7%bb-hMY(WT{z{NP*OxjOGZG)d01fLIs zS-w}&f>-2V-nz=lqTCZPPSUoP@i4G06Z{T_UW=A%^|hx6s=9&vUL3L{jXiA(s8W78?{ zIVxw1Clm4xfS`ADbi1yQ(&9~yB zFpY1eEhBRy64EI(eF$_Srb`eTr8aP~7+Px%eMv+?R9J=0m_cgeFcgM=g&bk_#!yO|Mezx|HyGv;S~Lr1;R~cE$Rb%}7Cu9u zQ0TrVFj=_MQZU(+q0C}#;8`@!$f~4BmXqcOFC^R2rzhz>Ju!GH45CJ^t9K>yZP%-T zFo>GRrw0JQ^K0GK=REU<>-{r9i9ka^0l?U|0T;>BZW=%@FrBpy0m;*z^Q_UqDJ!WV z-A{+Wa-Ma{s&xne)wV*hTr2zOSS$=80B9bc9+1STvQv`DT8m_fr0YV<9=T1W&SX+|6V*pU^N&o|er0dJDQ?`u=H2CYw5J{ZU)UrXq_KkMxT*4LbIS`5tNt`zI zu4E%XeWtQewXKlEDK_&M0I-?I*vw-jaq7H*o?q)0Fbtw*MBY9OqJ|!u^+n!$Gmr66 zzT@udNBi#A&kGdGwb$+*6D^sN%C`C_-+Oni67@ZnE51XbWhXZi07p0|x>`^^W$@V) zfQN&f+)Th{Q{3La;m^xI-2MLBLfziKfzPJx=uM)4P7jqC@VP6A)TS{}s&kbs6rj%$ zzMQoP&;?T7eJ+F3fr)F30YI@_w?55wk@2v0ikK-x4n}bjIOEfW5v<;oOwM?Q zmf+kwVexD&c9Kk-cCGA4Y162pjuFf?p_Rj@Z^;=WLT`I3bk`yRZr zE43Emv#Bzr2jJ!DW$AKEtsfJ^l-LOH^-hDnmEmkMZk@Ci+XqzZYa^BVLK(sOfQa(V pO}%gaR8tQ4Sqm5d3^>jO@qhmSlq1MQEusJb002ovPDHLkV1gCJPXGV_ literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_7.png b/examples/rectangular-movement/assets/Saw_On_7.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4008436f1a24f6faccc1ca827f8d40368d3f3b GIT binary patch literal 827 zcmV-B1H}A^P)Px%^+`lQR9J<@SU+pqKpcISX6urnp;>|~FiGRV=nK?j4WtcZsMijH)LLjJ(n)9& zvn?k>s_cCLkktiN3KuQ^nl72v)NG_-ej6lp=ccZ4@5yF%d{WM;Ftdcv!gZ^XG?VZ`W7G%DOM2# zph&R1eKEn-?gkcTxuAhQ3KINY(VJ-)YE~z4NiTOCtEk$aw2y)$UM_(6swjgj-vgfYFnq9E{x7C@?cv|rY`1@ zEnG@|Fp@_~&iqADth;psG?vmG4sy>RxNlU3u7fhg03eb}4zS8|3Nt7F;mVnuTL2{< zi~S(H$+XhpTUAm(!^e}rD*QPVU1}*BCkChwj{&n2qkpVi)GKT)v_}8{002ovPDHLk FV1lu1clrPT literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_8.png b/examples/rectangular-movement/assets/Saw_On_8.png new file mode 100644 index 0000000000000000000000000000000000000000..9ceb91b905c33ce7a44c5215c314c81853e77641 GIT binary patch literal 760 zcmVPx%vPnciR9J<*n9pk4KoG`11wTL!J@jS-A#HRpegfYOhCrS{koaI9`~pp1KnMHa z9P|RsArLV5?!168RBlZ`_*Q5SeFODi&t`V@Z&s51fk2XXcYdCoo!OOx6UuFO6S|N0 zYsaRqRb#0kYPVc1u-(M~fQdh{0u+O}?QUWk$}&Rj0I0THdHqbaP63q#ME#^H1uHXV zstC#^&O{z75|6teoHYUk2*FG*1mO%5f0Pu#)K%%faNFIa3FEe26E!>q91j6viTCR? z7&XjWZB0!XtxOv4`pN|W^m_vhPSGz{3-o(~6j+l`MY_InHMk4@<8rmoTzoDl;IP1s zwh{nnnR)8yxs$Fqu4ogfd#~fE`xen=ke>xAoX*v=KOX8}bwvS8l2(Z$l*67AdRD<- z)k`dBm82!CD7UHL=W{Jpw29E~4eBbN5I_p5DQS7^INuImDP_9-w!-Fnq+RzfZ{q%x zyUZ!Q$ZjszLeg2>>0C@QF(Q1q!oTZX`3XB)hB6%GT{&)WH%N3+g*G%sCd72cyb5c%M^h*6Ms~xEY*Rc zcP1R5Z><3!;ad*?neMKmqQf#lYG53WzvG98Cg7x}CF_qW=Yq2;Nm;SLMZ1$|6Jg?y zP$zC1*})PNuK?tca5}H#Wh=0vsWewwo}?ZWe})3`SElXeva#UL^ArK)8KZtADU=wD qi~#x(i(*Rh*|V%&Ww5%2Z1o?I67~X8u?@5U0000Mkly# z5O0ufU_bfwMlk%E2gff#KJ8ThgIw?!=|18UDd}>6&>;2cPCt_(MN!OTqIlij-hO<1 zeEfPi9OkAKrY$=*e0GL=(Z^&g7Y2)gACJe&r>CdQ^FSB+LZ9e+x7)qX3K|Av1~@gX zd=|POrFdoz(pDJBxb_Vc|7Qley1&2wjke$KzqPfSo0}i_tWn=TxVNo;Obwt1sr`?}ljT3w;7;gH#q#gM_O3Bn|^JFaLABUVj)0ny=v*7G~*@ z$oS?-qf(z;M#21U0ksPa&DWsrka(BT!8=C*&wQg7`~~sSL#pVx4PT-QB&1Q>x|Zyl zEj1;si$row!8?nqv{hLSZy_ zJqMl!M5@NMa2I_csb$*`@T4Jv4SnwaO(Gg;P7R(kL>jrSHld{FzYy>wA-Dm`r zPpQI_iXMScZEZ~Bej$A;33w7ahBRVb#R)0EP|G(-c%dQEWnBf3S(Pl{g@#yT77`%e zZ_Ndw7(kxHqX==8B*5p0t~Y>V1n9~NRZ`(ak^o`ywJdPRbd(x1Y9&K>@PH_J$c87A z5AEC1fI<~JkZ`0!&y!mFBb6gfV}TmUL#Y9zOSvj0NVhUW2NQAt$bt#;+HRb5I6p;z z)U&8|=QIMUDFb{FP}K_QrwGs)(%0NnN)4cQQ;CN4hxXcY0!V`+wQWthv5u94g` z0KtT=s$OJiX{C0g0PZZl_ko5p#N6aeykMQ^GvJyauQOq%K(blt`j zHXaw9Q+y?)&_-)sy>AkFzUI=`dS--4;ponXw9I|&N5A+9r4$cShf3}3d}4`4Xr%qZ zn2x}*gEsTN2Msq`tCL7ncfo=z{c9s=Cw6N!>NMA)F0VLnIM4l{bz3S*Z`Ex&wVC^T z=$QAGlXI_Ji%p0YpWwA((0NYkY|EdNL2Jmk3hv|p(NSz7Tmc?l@+ozQJaa;%1QeeW z@d7Cx%BI_s;zh_jmD`doJ|pJOUiVXf@S zQ2;lNO257mpqOVgLE_o2G~=jBfHIXXTtQDrq-0pk25DEGYQD2c%$M~SFMauXs0tLq z^#L^W?MvuHFf=-;Yr0V9-UpJ_ls*;U?gJH{#XYzeeKcjkCI`+H;YLJ5GSwH7j%Q|9 zS07dn5)tC?jfGa2f4@)0a6vLH(8B)lfK5+WOABnOS>pX4tWS)?FyDYJ00000NkvXX Hu0mjfWdv?j literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/TopLeftButton2.png b/examples/rectangular-movement/assets/TopLeftButton2.png new file mode 100644 index 0000000000000000000000000000000000000000..f446b5370240ca42865d2a3fbf3c6ca21ffe920b GIT binary patch literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^MnG)9!3HFQziaLSQk(@Ik;M!Q+(IDCcB}c^xxhC4a8+Q-RtI^J#V?NM zZJ%xNYv1%liL}<@ruZ+n71no7U-0^?R_yhaM|S=euzOgx|Nj1&w{LXMji1NeK5gUX zy#nR)8FiD>s}-l8c5MI&OxTvonjvX@o7-~!d8TD=UQen|J$2(|yNR!|Ldl6M8$Z8s zx_2|<#LE&P0j(!@H-0|ulg3zIJ-<)3U5?i3!GWTt3NT{lVHwVZV89t^h zEgLrTYn~2jm?luRO?=b+_pBM5i9kDD134ht%689X&{cesqpxzlm@&%f#!qF%g=SKl z?&h)X5f&l3(~wdbIh2w^vtdGn3f8n-?px~p3N9_3}|cE>ZuH1Ph`&GD%kIJ zruN*#xwR*Xc79=BzAvVA&hG~d@z4K#k#4tMF!5;8M;W2x8~<_ic}{X+Jva5P{Cxe$ VhC7w}&4H1?;OXk;vd$@?2>_0m!wCQY literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/TopLeftCorner2.png b/examples/rectangular-movement/assets/TopLeftCorner2.png new file mode 100644 index 0000000000000000000000000000000000000000..ae105d8865c3378a00ebd101badfe9a2f8cc89d5 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(rS z#W5t}@Y{2%1sM!@4hOuqUu*uNomDiRom68I5aRYGO=(7 jD1aC*ez3G~$=c_hf1c76zj6O-pkWN2u6{1-oD!M<486!bs_09Kc#;9ZGzBw(@5L%G>CP)8Cfd$6}qcS!1ToxT!L(`VI;lhUmH#ONVSPx$G=Z{h;zf4zSu;2j z)2kKVwK882I&{wY#MdfOi0YI`HHhk+ck`IGv~1YCcY@7%km~2_TlRR@G~2g}xGE;R z>{zMz#zyVj|(Obvj-q=*R{b2X)nI|Z-ep_y+p;g%X!#j)3cloPcV|ilFYQxAK71?lcerPN( PCKx*55F2Mqo4_W%5OYZ^VJdfL}9Yw(^7Wbd&`xWc%YPong|3T8K1gD=^WCM*B| literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/tiled_Summer Tile Water.png b/examples/rectangular-movement/assets/tiled_Summer Tile Water.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ccdf41fd576d65428255342a967dd8d30f435d GIT binary patch literal 2892 zcmcJR`8U*y8^=GC-H>J6MlQ+{$qXY)7;Cc67&{YLv+t8(Y=dk=BUy^6td|j4#?sKB zkS)0?*(x%&>|`zE>;4hnbDr1pKF@Q``<(ZW?=%afA&66$6952^vC$37Q`PwocGlDV z+$Ut}RL*+on(G2UJt_JSoqc+XyBk@W13(Hd0A!qUd}@l<0f3lD09Z-~0L^&-fDDFd zCgA{pQ`tvf-y+P?P*2?0Kwm}ix{8WC9I6NaM!iq-aMspiLMi{Y;qb-p6+S}n*-!<- z4pjW_v*`18SkDgtUEJpWsT7?Xe0)p>4~hs(rNu_oscsi#C@#E4=PcY5h!l#)%~6x+ z$jFWP`TgFu=}E7Ru>Fas!X_vni4udtSn`;~^DlpA!>fI=OEMg;KL%JM2u$UGg2Pf} zyYBiM9Z8t#U-;HOj-&J`ZYHCncF!M6sEWiB)W>S;b^z$R-M!$CR5$JZbqP5jSVmk^ zx>VjHNrc=?%ZHg*bcec;FmwMD#t2QI2Uk5rG2M(ORuldHiuNc8nA!rDP%!l@L%*f0 z?9O&e$QE-e)HE~DH{g9yR46=KjXAzpJ3F^;u3-r(+h1wstOBHa{kaMW30Nw*geh>u zI0_d)@?+7Ilhy-Osr9u>ZJY;Rl~PCdQ`TyaESCY7L85QN3NL0b7Eo_y7RR0Nk{2!l zk_It;9b0cBy%~{df3aHzWZYL$Qo2tQ$;+Y@b*#jxAAw@F5E5JA9gkAh2huz_v(I8f zzS+wf%j#(%5V`$~VbF0d)2cb0}lo>Zot zD6FC!pZI0T>=pvb1MEiMikRmXwFo8WnD`?tzV1#RE+q1@Fvx$EtJkaT7qT25)&!>= zWDVUv6j|gyZ|24E3zF`~@Z%UJ0Fq4LzBAw=CT#pgg)_FVh18f;>zEJXUC!~0G7F`$ z^%HpEy3lcMP945+mc0ZMi!;l*65dRgb=cHEP{ONJjZ0-MX(jKoD3Ryx!6xwEbp z;Wy&vF4`Dz!3l%ntRB2Ax>^?Ef;)_R(3timf9DB)$Gs?jtPgoaU|Jp>-m}?R<->hx29H>XLiN+Up zHL&ZXvV+k2+Lb)Ki<%&VWD&DZ2D_9YA0Ve{~P_^jG@S|be@azxO z^W4eFAKuuzYAVh=K0Byxrnmr#O47 zB8NhT-Ia{N;B^|i2=Aj5xnAX&AqH!R04mSqQ~s2RGcuZN4pVW6k#CA|2b{68@Tj{mS(T3iKOd^NVQA!KiDybmKi;K(3p+A zhkb_4+##At`(^*#&*#AudATJkI_v21k!`{ySIHTvH+kbSXsHiSMVT!m00UFLu{;UEW}c=_1Nqkn7<#jt zlNSt3OLB*i!^z$ok7QsWj-3uvcjI>t-$;dp5<^L$A}x9?wk;Z=8}my)1AnIdd^N8z zCnj4YxC3SugoAmm+_HRZTXtpg3RRE`jFOqMOUT{HWzHRy{o8igs=&q;y=Q^6nW~LO zM>-~zGbj&>EXzY}Jxy{;d}{}65x@c7CdE zsF#_|+8)}BqJ`I3N>~JgGSe6CAN(ZvW0*;>`od1=I{~Po&GW z6(0OJ+>B|BcAW;dM@5U(j5zjVCT7@<=tp}8h@WFysO=LiK;XNW1$gt?@HGY1I@MHu zLGXy+j`a9-n&g3QYGA5DnT9p|8oW^v3msIhzUJ?dyY+mxswPG5URalgL>*r-ABeA^ z>YMF`6GGI7&*9wl#+zQ|qXkud;8E!p2mvX`+YEKceG*T4Ao0)Z9rsa1FL%1zbN4&; z(CV1#MSsI^NEFe%S9ad4d-82w53*i zq*BNp#0C{Y~9%z#e8q0lg(8sRg;rHx z|G{as_I~$IAKu@4pGJ=BQ|gy{AJr!1Z)(>b`ltM;{)H%p%q7Wrz|!@_|K(?Y!+^!W zjcM0*_Y)E-X|>bOK-ys5K#b_{cB~zK{G3sh^t4{%(DbS)&wA%7V@-H+t?tmf66=Fp z8W){Ltaz)rF+iuw{4vpGV4&Zpt8=2lCX}2KTe0*);)Gpm7z7hFKnMrp%FMj zjLT-x?3+B{`GS&y{S;ct`Y3*+dCX@lSFA^5NbRUmtFe9GuV?H&h!bQ063g5qWr%<@ zCqH?A9v?3ovHr-d%0;dq8Hm36b$>^(0ozAb2mSclMKEM5fU_u-}qQjh8R%3s;)mm+|$c5V>Z#T8zmxX5?d+)wm zS&I>h3DCAb8XgUrn2zmQzPV_=LUuayj%|oXo!gl|-adk@^ym!;*sLr$u9WBgPK3R*$=*7uZ%)h?#h?S6Y#Ac-jMc z-R6b;d)tTVw05i0vdIx_KIwiugx6{PY=bd_&hd!g+1Dp6RvtIl^mIzn14@ t$L?hL@51;|t$nfjOkZWf|8Gp*YZ_LaL2C%s-8~Hh7#kpO)abb+{0|7#YLEZ` literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index b905fc20e..bf70cf044 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -44,10 +44,15 @@ "showGDevelopSplash": true, "showProgressBar": true }, + "watermark": { + "placement": "bottom-left", + "showWatermark": true + }, "authorIds": [ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", "gqDaZjCfevOOxBYkK6zlhtZnXCg1" ], + "authorUsernames": [], "categories": [], "playableDevices": [], "extensionProperties": [], @@ -62,7 +67,7 @@ "resources": [ { "alwaysLoaded": false, - "file": "assets/Red playerShip (1).png", + "file": "assets/Red playerShip (1)2.png", "kind": "image", "metadata": "", "name": "Red playerShip (1).png", @@ -75,7 +80,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Bottom arrow round button.png", + "file": "assets/Bottom arrow round button2.png", "kind": "image", "metadata": "", "name": "Bottom arrow round button.png", @@ -88,7 +93,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Left arrow round button.png", + "file": "assets/Left arrow round button2.png", "kind": "image", "metadata": "", "name": "Left arrow round button.png", @@ -101,7 +106,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Right arrow round button.png", + "file": "assets/Right arrow round button2.png", "kind": "image", "metadata": "", "name": "Right arrow round button.png", @@ -114,7 +119,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Top arrow round button.png", + "file": "assets/Top arrow round button2.png", "kind": "image", "metadata": "", "name": "Top arrow round button.png", @@ -127,7 +132,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Launch round button.png", + "file": "assets/Launch round button2.png", "kind": "image", "metadata": "", "name": "Launch round button.png", @@ -140,7 +145,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopLeftButton.png", + "file": "assets/TopLeftButton2.png", "kind": "image", "metadata": "", "name": "assets\\TopLeftButton.png", @@ -149,7 +154,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomLeftButton.png", + "file": "assets/BottomLeftButton2.png", "kind": "image", "metadata": "", "name": "assets\\BottomLeftButton.png", @@ -158,7 +163,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopRightButton.png", + "file": "assets/TopRightButton2.png", "kind": "image", "metadata": "", "name": "assets\\TopRightButton.png", @@ -167,7 +172,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomRightButton.png", + "file": "assets/BottomRightButton2.png", "kind": "image", "metadata": "", "name": "assets\\BottomRightButton.png", @@ -176,7 +181,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopLeftCorner.png", + "file": "assets/TopLeftCorner2.png", "kind": "image", "metadata": "", "name": "assets\\TopLeftCorner.png", @@ -185,7 +190,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopRightCorner.png", + "file": "assets/TopRightCorner2.png", "kind": "image", "metadata": "", "name": "assets\\TopRightCorner.png", @@ -194,7 +199,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomRightCorner.png", + "file": "assets/BottomRightCorner2.png", "kind": "image", "metadata": "", "name": "assets\\BottomRightCorner.png", @@ -203,7 +208,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomLeftCorner.png", + "file": "assets/BottomLeftCorner2.png", "kind": "image", "metadata": "", "name": "assets\\BottomLeftCorner.png", @@ -212,7 +217,7 @@ }, { "alwaysLoaded": false, - "file": "assets/VerticalEdgeIcon.png", + "file": "assets/VerticalEdgeIcon2.png", "kind": "image", "metadata": "", "name": "assets\\VerticalEdgeIcon.png", @@ -221,12 +226,155 @@ }, { "alwaysLoaded": false, - "file": "assets/HorizontalEdgeIcon.png", + "file": "assets/HorizontalEdgeIcon2.png", "kind": "image", "metadata": "", "name": "assets\\HorizontalEdgeIcon.png", "smoothed": true, "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/Ship 8.png", + "kind": "image", + "metadata": "", + "name": "Ship 8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Ship/de9c11db444fa822127f9a23d83a400b8b8ad889c8e539d75664d6fe8693a88b_Ship 8.png", + "name": "Ship 8.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/tiled_Summer Tile Water.png", + "kind": "image", + "metadata": "", + "name": "tiled_Summer Tile Water.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Worlds/Summer/91910f5fb077be639f7415954118355ac8dc9ad2ae61b49c04f6bcce451f7fda_tiled_Summer Tile Water.png", + "name": "tiled_Summer Tile Water.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_Off.png", + "kind": "image", + "metadata": "", + "name": "Saw_Off.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_Off.png", + "name": "Saw_Off.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_1.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_On_1.png", + "name": "Saw_On_1.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_2.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/1d982f3e006a7ac6b76bca8cefbf716fd017b25f7e0218942276b4dd92ac1813_Saw_On_2.png", + "name": "Saw_On_2.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_3.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b208726b0292bb1f401f3738902ec190c004841ae8c555b2817d9f19ef46ca62_Saw_On_3.png", + "name": "Saw_On_3.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_4.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b6119060081879814ea630f152a39fb3c303d421b797515814c045b73b94abdf_Saw_On_4.png", + "name": "Saw_On_4.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_5.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/2cfa1cffe1380dd56016085e018c4b68844c6f669e67925dd365481f8ef26586_Saw_On_5.png", + "name": "Saw_On_5.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_6.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_6.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/75d8836f8bfc835f3217c0468d04f8aae970f136231c792f1251b73f5e868058_Saw_On_6.png", + "name": "Saw_On_6.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_7.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_7.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/6351b1a83d1930df91b19b49cc23a375aa154ee74f7a31280acc6abb6f1b1fd2_Saw_On_7.png", + "name": "Saw_On_7.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_8.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/63cce13ef5f9e917ed2de1359357510061e462e6cc8183553c0fb0c70a3c03f9_Saw_On_8.png", + "name": "Saw_On_8.png" + } } ], "resourceFolders": [] @@ -275,6 +423,17 @@ "name": "BottomLeftCorner" } ] + }, + { + "name": "MovingObjects", + "objects": [ + { + "name": "Ship" + }, + { + "name": "Saw" + } + ] } ], "variables": [], @@ -284,11 +443,11 @@ "customSize": false, "height": 0, "layer": "", - "name": "RedPlayerShip1", + "name": "Ship", "persistentUuid": "dd4c94fd-46c2-4295-a91f-dd5bd83adcdc", "width": 0, - "x": 135, - "y": 191, + "x": 83, + "y": 242, "zOrder": 3, "numberProperties": [], "stringProperties": [], @@ -317,7 +476,7 @@ "name": "BottomArrowRoundButton", "persistentUuid": "df762352-5127-472c-93a3-0afcdde4d15e", "width": 32, - "x": 777, + "x": 770, "y": 70, "zOrder": 4, "numberProperties": [], @@ -332,7 +491,7 @@ "name": "LeftArrowRoundButton", "persistentUuid": "82b9d847-0e61-44ff-9347-fc1e56a83474", "width": 32, - "x": 750, + "x": 743, "y": 43, "zOrder": 5, "numberProperties": [], @@ -347,7 +506,7 @@ "name": "RightArrowRoundButton", "persistentUuid": "92a19aae-673d-4369-93a5-75c5f2a646a6", "width": 32, - "x": 804, + "x": 797, "y": 43, "zOrder": 6, "numberProperties": [], @@ -362,7 +521,7 @@ "name": "TopArrowRoundButton", "persistentUuid": "c61738a6-47b5-4043-a440-c74dfd737dcd", "width": 32, - "x": 777, + "x": 770, "y": 16, "zOrder": 7, "numberProperties": [], @@ -387,13 +546,13 @@ { "angle": 0, "customSize": true, - "height": 32, + "height": 53, "layer": "", "name": "LaunchRoundButton", "persistentUuid": "dbb9127d-4786-4677-8bbd-7d82ac5ffe6c", - "width": 32, - "x": 117, - "y": 46, + "width": 53, + "x": 160, + "y": 38, "zOrder": 8, "numberProperties": [], "stringProperties": [], @@ -407,8 +566,8 @@ "name": "HorizontalDurationSlider", "persistentUuid": "4fc8c105-82d3-4ac0-bd31-ed0b22e65bcf", "width": 0, - "x": 284, - "y": 32, + "x": 323, + "y": 30, "zOrder": 9, "numberProperties": [], "stringProperties": [], @@ -482,8 +641,8 @@ "name": "VerticalDurationText", "persistentUuid": "c9d9f889-f23a-4d32-8052-5ba2fd810116", "width": 0, - "x": 512, - "y": 78, + "x": 554, + "y": 102, "zOrder": 14, "numberProperties": [], "stringProperties": [], @@ -497,8 +656,8 @@ "name": "HorizontalDurationText", "persistentUuid": "fd3d01e7-ecaf-4235-a687-7512106f5a39", "width": 0, - "x": 512, - "y": 18, + "x": 551, + "y": 16, "zOrder": 15, "numberProperties": [], "stringProperties": [], @@ -512,8 +671,8 @@ "name": "VerticalDurationSlider", "persistentUuid": "cf4d24ec-5bfb-49ba-91f9-854d4e576372", "width": 0, - "x": 284, - "y": 92, + "x": 326, + "y": 116, "zOrder": 16, "numberProperties": [], "stringProperties": [], @@ -527,8 +686,8 @@ "name": "VerticalEdgeIcon", "persistentUuid": "85025344-06bd-4f92-b80f-e90d74bb8941", "width": 0, - "x": 228, - "y": 76, + "x": 270, + "y": 100, "zOrder": 17, "numberProperties": [], "stringProperties": [], @@ -542,18 +701,153 @@ "name": "HorizontalEdgeIcon", "persistentUuid": "4eed9e50-163a-47c9-86ed-29d24ee93c4b", "width": 0, - "x": 228, - "y": 16, + "x": 267, + "y": 14, "zOrder": 18, "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 100, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", + "width": 300, + "x": 491, + "y": 244, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 75, + "layer": "", + "name": "Saw", + "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", + "width": 74, + "x": 492, + "y": 245, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Reverse_Text", + "persistentUuid": "17525b1c-04eb-4ee7-b613-7ce09cad0bb7", + "width": 0, + "x": 143, + "y": 112, + "zOrder": 21, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "MoveToCorner_Text", + "persistentUuid": "bcb0d6b4-0a06-435d-9e56-e8db4ab3d5b7", + "width": 0, + "x": 18, + "y": 113, + "zOrder": 22, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "MovementDirection_Text", + "persistentUuid": "56979510-ddf5-478a-bb63-9b4f03c84f9e", + "width": 0, + "x": 744, + "y": 111, + "zOrder": 23, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "HorizontalDuration_Text", + "persistentUuid": "43e10301-cb97-4f29-aa58-79f4b80ba31d", + "width": 0, + "x": 336, + "y": 50, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "VerticalDuration_Text", + "persistentUuid": "5c85ceea-1fdb-471e-876f-38618854fda2", + "width": 0, + "x": 345, + "y": 133, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "InstructionsShip_Text", + "persistentUuid": "299a4b99-214b-4dd4-a260-68c567e329d1", + "width": 0, + "x": 49, + "y": 423, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "InstructionsSaw_Text", + "persistentUuid": "0caace04-0116-45e1-928f-944a81fb94a8", + "width": 0, + "x": 475, + "y": 426, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ { "assetStoreId": "2b2dfbbe01d820384d341ecfa1cf553b2700019a4f78c1d6fc4c55cb4b373bf5", - "name": "RedPlayerShip1", + "name": "Ship", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -563,8 +857,8 @@ { "name": "RectangularMovement", "type": "RectangleMovement::RectangleMovement", - "Width": 500, - "Height": 200, + "Width": 300, + "Height": 100, "CounterClockwise": false, "LoopDuration": 4, "Left": 4, @@ -1363,6 +1657,7 @@ "behaviors": [], "string": "1.25 seconds", "font": "", + "textAlignment": "", "characterSize": 20, "color": { "b": 233, @@ -1384,6 +1679,7 @@ "behaviors": [], "string": "2 seconds", "font": "", + "textAlignment": "", "characterSize": 20, "color": { "b": 233, @@ -1472,52 +1768,490 @@ ] } ] - } - ], - "events": [ + }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Drag", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "assetStoreId": "78fbaed77b34f218e20f8182f106b74730c23ec24b4b8cec88c1cc88b07e3094", + "name": "Ship8", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 4, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "easeInOutSine", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Ship 8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 49, + "y": 44 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } ] } - ], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "TopLeftCorner", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "" - ] - }, - { - "type": { - "value": "Create" - }, + ] + } + ] + }, + { + "assetStoreId": "3f294355a854e85aeb0e08c0e0ab9ad836c01468f7623e583beff5fe0c173a44", + "height": 128, + "name": "SummerTileWater", + "tags": "", + "texture": "tiled_Summer Tile Water.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 128, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Draggable", + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true + } + ] + }, + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Reverse_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reverse\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MoveToCorner_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Move to \nCorner", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MovementDirection_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Movement\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HorizontalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Horizontal Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "VerticalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Vertical Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsShip_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag corners to change ship path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsSaw_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag blue object to move saw path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Drag", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "TopLeftCorner", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "" + ] + }, + { + "type": { + "value": "Create" + }, "parameters": [ "", "TopRightCorner", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", "" ] }, @@ -1528,8 +2262,8 @@ "parameters": [ "", "BottomRightCorner", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()", "" ] }, @@ -1540,8 +2274,8 @@ "parameters": [ "", "BottomLeftCorner", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", "" ] }, @@ -1576,7 +2310,7 @@ "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopLeftCorner.X()", "" @@ -1587,7 +2321,7 @@ "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopLeftCorner.Y()", "" @@ -1614,7 +2348,7 @@ "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopRightCorner.X()", "" @@ -1625,7 +2359,7 @@ "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopRightCorner.Y()", "" @@ -1652,7 +2386,7 @@ "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomRightCorner.X()", "" @@ -1663,7 +2397,7 @@ "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomRightCorner.Y()", "" @@ -1690,7 +2424,7 @@ "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomLeftCorner.X()", "" @@ -1701,7 +2435,7 @@ "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomLeftCorner.Y()", "" @@ -1720,9 +2454,9 @@ "parameters": [ "TopLeftCorner", "=", - "RedPlayerShip1.RectangularMovement::Left()", + "Ship.RectangularMovement::Left()", "=", - "RedPlayerShip1.RectangularMovement::Top()" + "Ship.RectangularMovement::Top()" ] }, { @@ -1732,9 +2466,9 @@ "parameters": [ "TopRightCorner", "=", - "RedPlayerShip1.RectangularMovement::Right()", + "Ship.RectangularMovement::Right()", "=", - "RedPlayerShip1.RectangularMovement::Top()" + "Ship.RectangularMovement::Top()" ] }, { @@ -1744,9 +2478,9 @@ "parameters": [ "BottomRightCorner", "=", - "RedPlayerShip1.RectangularMovement::Right()", + "Ship.RectangularMovement::Right()", "=", - "RedPlayerShip1.RectangularMovement::Bottom()" + "Ship.RectangularMovement::Bottom()" ] }, { @@ -1756,9 +2490,9 @@ "parameters": [ "BottomLeftCorner", "=", - "RedPlayerShip1.RectangularMovement::Left()", + "Ship.RectangularMovement::Left()", "=", - "RedPlayerShip1.RectangularMovement::Bottom()" + "Ship.RectangularMovement::Bottom()" ] } ] @@ -1795,7 +2529,7 @@ "parameters": [ "HorizontalDurationSlider", "DraggableSliderControl", - "RedPlayerShip1.RectangularMovement::HorizontalEdgeDuration()", + "Ship.RectangularMovement::HorizontalEdgeDuration()", "" ] }, @@ -1806,7 +2540,7 @@ "parameters": [ "VerticalDurationSlider", "DraggableSliderControl", - "RedPlayerShip1.RectangularMovement::VerticalEdgeDuration()", + "Ship.RectangularMovement::VerticalEdgeDuration()", "" ] }, @@ -1817,7 +2551,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" ] }, { @@ -1827,7 +2561,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" ] } ] @@ -1862,8 +2596,70 @@ "value": "RectangleMovement::RectangleMovement::ToogleClockwise" }, "parameters": [ - "RedPlayerShip1", + "Ship", + "RectangularMovement", + "yes" + ] + }, + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", "yes" ] } @@ -1889,7 +2685,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -1902,7 +2698,18 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" ] } ] @@ -1927,7 +2734,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -1940,7 +2747,18 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" ] } ] @@ -1973,117 +2791,125 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Top-left corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Top-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObjects", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomRightButton", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Top-left corner\"", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Bottom-right corner\"", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangularMovement", + "\"Top-right corner\"", + "" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomLeftButton", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangularMovement", + "\"Bottom-right corner\"", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Bottom-left corner\"", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangularMovement", + "\"Bottom-left corner\"", + "" + ] + } ] } ] @@ -2112,10 +2938,10 @@ }, "parameters": [ "Trajectory", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()" + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()" ] } ] @@ -2128,7 +2954,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnTop" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2141,10 +2967,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Top()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", "2" ] } @@ -2158,7 +2984,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnBottom" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2171,10 +2997,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Bottom()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()", "2" ] } @@ -2188,7 +3014,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2201,10 +3027,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", "2" ] } @@ -2218,7 +3044,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2231,10 +3057,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()", "2" ] } @@ -2290,7 +3116,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingUp" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2316,7 +3142,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingDown" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2342,7 +3168,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2368,7 +3194,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2388,6 +3214,42 @@ } ], "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move saw around object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::MoveAroundObject" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "SummerTileWater", + "" + ] + } + ] + } + ], + "parameters": [] } ], "layers": [ @@ -2419,6 +3281,10 @@ "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl" }, + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement" + }, { "name": "RectangularMovement", "type": "RectangleMovement::RectangleMovement" @@ -2431,7 +3297,6 @@ { "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", "category": "Input", - "description": "Draws a draggable slider that users can move to select a numerical value.\nThe value range, tick spacing, and the appearance of the slider can be defined with properties.\n\nHow to use:\n- Add this behavior a **Shape Painter** object\n- Place an instance of that shape painter on the screen where you want the slider to appear\n- Use the \"Value\" expression to find the Value based on the position of the slider\n\nTips:\n- You can disable the slider to prevent a user from interacting with it\n- You can set the Value of the slider and the slider will move to the correct position\n\nFurther details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).\n\nBreaking changes (1.0.0)\n- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.\n- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.\n", "extensionNamespace": "", "fullName": "Draggable slider", "helpPath": "", @@ -2440,6 +3305,26 @@ "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", "shortDescription": "A draggable slider that users can move to select a numerical value.", "version": "1.0.5", + "description": [ + "Draws a draggable slider that users can move to select a numerical value.", + "The value range, tick spacing, and the appearance of the slider can be defined with properties.", + "", + "How to use:", + "- Add this behavior a **Shape Painter** object", + "- Place an instance of that shape painter on the screen where you want the slider to appear", + "- Use the \"Value\" expression to find the Value based on the position of the slider", + "", + "Tips:", + "- You can disable the slider to prevent a user from interacting with it", + "- You can set the Value of the slider and the slider will move to the correct position", + "", + "Further details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).", + "", + "Breaking changes (1.0.0)", + "- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.", + "- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.", + "" + ], "origin": { "identifier": "DraggableSliderControl", "name": "gdevelop-extension-store" @@ -2465,12 +3350,9 @@ "objectType": "PrimitiveDrawing::Drawer", "eventsFunctions": [ { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "onCreated", - "private": false, "sentence": "", "events": [ { @@ -2610,22 +3492,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -2633,12 +3507,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPreEvents", - "private": false, "sentence": "", "events": [ { @@ -3270,22 +4141,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -3293,12 +4156,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPostEvents", - "private": false, "sentence": "", "events": [ { @@ -4024,22 +4884,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4052,7 +4904,6 @@ "functionType": "Condition", "group": "Slider", "name": "IsBeingDragged", - "private": false, "sentence": "_PARAM0_ is being dragged", "events": [ { @@ -4082,22 +4933,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4110,7 +4953,6 @@ "functionType": "Condition", "group": "Slider", "name": "IsEnabled", - "private": false, "sentence": "Interactions of _PARAM0_ are enabled", "events": [ { @@ -4140,22 +4982,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4168,7 +5002,6 @@ "functionType": "Action", "group": "Slider", "name": "SetEnabled", - "private": false, "sentence": "Enable interactions of _PARAM0_: _PARAM2_", "events": [ { @@ -4302,33 +5135,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Enable", - "longDescription": "", "name": "Enable", - "optional": false, - "supplementaryInformation": "", "type": "yesorno" } ], @@ -4340,7 +5160,6 @@ "functionType": "Expression", "group": "Slider", "name": "Value", - "private": false, "sentence": "", "events": [ { @@ -4358,24 +5177,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4388,7 +5202,6 @@ "functionType": "Action", "group": "Slider", "name": "SetValue", - "private": false, "sentence": "Change the value of _PARAM0_: _PARAM2_", "events": [ { @@ -4550,33 +5363,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Slider value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -4588,7 +5388,6 @@ "functionType": "Expression", "group": "Slider value configuration", "name": "ValueMin", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4606,24 +5405,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4636,7 +5430,6 @@ "functionType": "Action", "group": "Slider value configuration", "name": "SetValueMin", - "private": false, "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4670,33 +5463,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Minimum value", - "longDescription": "", "name": "ValueMin", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -4708,7 +5488,6 @@ "functionType": "Expression", "group": "Slider value configuration", "name": "ValueMax", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4726,24 +5505,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4756,7 +5530,6 @@ "functionType": "Expression", "group": "Slider track configuration", "name": "TrackThickness", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4774,24 +5547,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4804,7 +5572,6 @@ "functionType": "Expression", "group": "Slider track configuration", "name": "TrackLength", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4822,24 +5589,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4852,7 +5614,6 @@ "functionType": "Expression", "group": "Slider thumb configuration", "name": "ThumbHeight", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4870,24 +5631,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4900,7 +5656,6 @@ "functionType": "Action", "group": "Slider value configuration", "name": "SetValueMax", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4934,33 +5689,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Maximum value", - "longDescription": "", "name": "ValueMax", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -4972,7 +5714,6 @@ "functionType": "Expression", "group": "Slider value configuration", "name": "TickSpacing", - "private": false, "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", "events": [ { @@ -4990,35 +5731,25 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Tick spacing", - "longDescription": "", "name": "TickSpacing", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5030,7 +5761,6 @@ "functionType": "Action", "group": "Slider value configuration", "name": "SetTickSpacing", - "private": false, "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", "events": [ { @@ -5064,33 +5794,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Tick spacing", - "longDescription": "", "name": "TickSpacing", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5102,7 +5819,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetTrackLength", - "private": false, "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5175,33 +5891,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Track width", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5213,7 +5916,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetTrackThickness", - "private": false, "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5317,33 +6019,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Track thickness", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5355,7 +6044,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbWidth", - "private": false, "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5417,33 +6105,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb width", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5455,7 +6130,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbHeight", - "private": false, "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5517,33 +6191,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb height", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5555,7 +6216,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetHaloRadius", - "private": false, "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5588,33 +6248,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Halo radius", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5626,7 +6273,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetHaloOpacityHover", - "private": false, "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5659,33 +6305,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Halo opacity (hover)", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5697,7 +6330,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetHaloOpacityPressed", - "private": false, "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5730,33 +6362,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Halo opacity (pressed)", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5768,7 +6387,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbShape", - "private": false, "sentence": "Change shape of _PARAM0_ to _PARAM2_", "events": [ { @@ -5854,32 +6472,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "New thumb shape", - "longDescription": "", "name": "Shape", - "optional": false, "supplementaryInformation": "[\"circle\",\"rectangle\"]", "type": "stringWithSelector" } @@ -5892,7 +6498,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetRoundedTrack", - "private": false, "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", "events": [ { @@ -5968,33 +6573,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Rounded track", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "yesorno" } ], @@ -6006,7 +6598,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbOpacity", - "private": false, "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", "events": [ { @@ -6039,33 +6630,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb opacity", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -6077,7 +6655,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetInactiveTrackOpacity", - "private": false, "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", "events": [ { @@ -6110,33 +6687,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Inactive track opacity", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -6148,7 +6712,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetActiveTrackOpacity", - "private": false, "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", "events": [ { @@ -6181,33 +6744,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Active track opacity", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -6219,7 +6769,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetActiveTrackColor", - "private": false, "sentence": "Change active track color of _PARAM0_ to _PARAM2_", "events": [ { @@ -6252,33 +6801,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Active track color", - "longDescription": "", "name": "Color", - "optional": false, - "supplementaryInformation": "", "type": "color" } ], @@ -6290,7 +6826,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetInactiveTrackColor", - "private": false, "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", "events": [ { @@ -6323,33 +6858,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Inactive track color", - "longDescription": "", "name": "Color", - "optional": false, - "supplementaryInformation": "", "type": "color" } ], @@ -6361,7 +6883,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbColor", - "private": false, "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", "events": [ { @@ -6393,33 +6914,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb color", - "longDescription": "", "name": "Color", - "optional": false, - "supplementaryInformation": "", "type": "color" } ], @@ -6465,22 +6973,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -6773,51 +7273,361 @@ "name": "HaloGrowSpeed" }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "TargetHaloRadius" + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TargetHaloRadius" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "Movement", + "extensionNamespace": "", + "fullName": "Rectangular movement", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", + "name": "RectangleMovement", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", + "shortDescription": "Move objects in a rectangular pattern.", + "version": "1.0.0", + "description": [ + "Move objects in a rectangular pattern with easing functions from the Tween extension.", + "", + "It can be used for:", + "- Moveable platforms", + "- Enemy movement patterns" + ], + "origin": { + "identifier": "RectangleMovement", + "name": "gdevelop-extension-store" + }, + "tags": [ + "rectangular", + "movement", + "rectangle", + "patrol", + "platform", + "enemy" + ], + "authorIds": [ + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Top-left corner of the object (X coordinate)", + "fullName": "TopLeftCornerX", + "functionType": "Expression", + "name": "TopLeftCornerX", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Return corner", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.CenterX() + ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "disabled": true, + "name": "First try", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalX", + "=", + "Object.CenterX() - Object.Width()/2" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalY", + "=", + "Object.CenterY() - Object.Height()/2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedX", + "=", + "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedY", + "=", + "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedX", + "=", + "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedY", + "=", + "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Variable(__RectangleMovement.RotatedX)" + ] + } + ] + } + ], + "parameters": [] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Top-left corner of the object (Y coordinate)", + "fullName": "TopLeftCornerY", + "functionType": "Expression", + "name": "TopLeftCornerY", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Return corner", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.CenterX() - ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "disabled": true, + "name": "First try", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalX", + "=", + "Object.CenterX() - Object.Width()/2" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalY", + "=", + "Object.CenterY() - Object.Height()/2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedX", + "=", + "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedY", + "=", + "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedX", + "=", + "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedY", + "=", + "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Variable(__RectangleMovement.RotatedX)" + ] + } + ] + } + ], + "parameters": [] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "objectList" } - ] + ], + "objectGroups": [] } ], - "eventsBasedObjects": [] - }, - { - "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", - "category": "Movement", - "description": "Move objects in a rectangular pattern with easing functions from the Tween extension.\n\nIt can be used for:\n- Moveable platforms\n- Enemy movement patterns", - "extensionNamespace": "", - "fullName": "Rectangular movement", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", - "name": "RectangleMovement", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", - "shortDescription": "Move objects in a rectangular pattern.", - "version": "1.0.0", - "origin": { - "identifier": "RectangleMovement", - "name": "gdevelop-extension-store" - }, - "tags": [ - "rectangular", - "movement", - "rectangle", - "patrol", - "platform", - "enemy" - ], - "authorIds": [ - "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "dependencies": [], - "eventsFunctions": [], "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", @@ -6826,12 +7636,9 @@ "objectType": "", "eventsFunctions": [ { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "onCreated", - "private": false, "sentence": "", "events": [ { @@ -6993,22 +7800,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7016,12 +7814,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPreEvents", - "private": false, "sentence": "", "events": [ { @@ -7140,22 +7935,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7163,12 +7949,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPostEvents", - "private": false, "sentence": "", "events": [ { @@ -7242,35 +8025,102 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } ], "objectGroups": [] }, + { + "description": "Move around the rectangular border of an object.", + "fullName": "Move around a rectangular object", + "functionType": "Action", + "name": "MoveAroundObject", + "sentence": "Move _PARAM0_ around the rectangular border of _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, { "description": "Teleport the object to a corner of the movement rectangle.", "fullName": "Teleport at a corner", "functionType": "Action", - "group": "", "name": "TeleportToCorner", - "private": false, "sentence": "Set the position of _PARAM0_ at the _PARAM2_ of the rectangle loop", "events": [ { @@ -7388,32 +8238,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Corner", - "longDescription": "", "name": "Corner", - "optional": false, "supplementaryInformation": "[\"Top-left corner\",\"Top-right corner\",\"Bottom-left corner\",\"Bottom-right corner\"]", "type": "stringWithSelector" } @@ -7426,7 +8263,6 @@ "functionType": "Expression", "group": "Rectangular movement shape", "name": "Perimeter", - "private": false, "sentence": "", "events": [ { @@ -7444,24 +8280,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7472,9 +8302,7 @@ "description": "Return the time the object takes to go through the whole rectangle (in seconds).", "fullName": "Loop duration", "functionType": "Expression", - "group": "", "name": "LoopDuration", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7492,24 +8320,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7520,9 +8342,7 @@ "description": "Return the time the object takes to go through a horizontal edge (in seconds).", "fullName": "Horizontal edge duration", "functionType": "Expression", - "group": "", "name": "HorizontalEdgeDuration", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7540,24 +8360,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7568,9 +8382,7 @@ "description": "Return the time the object takes to go through a vertical edge (in seconds).", "fullName": "Vertical edge duration", "functionType": "Expression", - "group": "", "name": "VerticalEdgeDuration", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7588,24 +8400,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7618,7 +8424,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Width", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7636,24 +8441,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7666,7 +8465,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Height", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7684,24 +8482,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7714,7 +8506,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Left", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7732,24 +8523,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7762,7 +8547,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Top", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7780,24 +8564,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7810,7 +8588,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Right", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7828,24 +8605,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7858,7 +8629,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Bottom", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7876,24 +8646,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7906,7 +8670,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetLeft", - "private": false, "sentence": "Change the movement left bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -7940,33 +8703,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -7978,7 +8727,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetTop", - "private": false, "sentence": "Change the movement top bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -8012,33 +8760,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8050,7 +8784,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetRight", - "private": false, "sentence": "Change the movement right bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -8073,33 +8806,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8111,7 +8830,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetBottom", - "private": false, "sentence": "Change the movement bottom bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -8134,33 +8852,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8172,7 +8876,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetHorizontalEdgeDuration", - "private": false, "sentence": "Change the time _PARAM0_ takes to go through a horizontal edge to _PARAM2_", "events": [ { @@ -8195,33 +8898,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8233,7 +8922,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetVerticalEdgeDuration", - "private": false, "sentence": "Change the time _PARAM0_ takes to go through a vertical edge to _PARAM2_", "events": [ { @@ -8256,33 +8944,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8294,7 +8968,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetClockwise", - "private": false, "sentence": "Use clockwise direction for _PARAM0_: _PARAM2_", "events": [ { @@ -8351,33 +9024,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Clockwise", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "yesorno" } ], @@ -8389,7 +9048,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetEasing", - "private": false, "sentence": "Change the easing of _PARAM0_ to _PARAM2_", "events": [ { @@ -8412,32 +9070,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Easing", - "longDescription": "", "name": "Easing", - "optional": false, "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", "type": "stringWithSelector" } @@ -8448,9 +9093,7 @@ "description": "Toggle the direction to clockwise or counter-clockwise.", "fullName": "Toggle direction", "functionType": "Action", - "group": "", "name": "ToogleClockwise", - "private": false, "sentence": "Toogle the direction of _PARAM0_", "events": [ { @@ -8562,22 +9205,60 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is moving clockwise.", + "fullName": "Is moving clockwise", + "functionType": "Condition", + "name": "IsMovingClockwise", + "sentence": "_PARAM0_ is moving clockwise", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8588,9 +9269,7 @@ "description": "Check if the object is moving to the left.", "fullName": "Is moving left", "functionType": "Condition", - "group": "", "name": "IsMovingLeft", - "private": false, "sentence": "_PARAM0_ is moving to the left", "events": [ { @@ -8665,22 +9344,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8691,9 +9361,7 @@ "description": "Check if the object is moving up.", "fullName": "Is moving up", "functionType": "Condition", - "group": "", "name": "IsMovingUp", - "private": false, "sentence": "_PARAM0_ is moving up", "events": [ { @@ -8768,22 +9436,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8794,9 +9453,7 @@ "description": "Object is moving to the right.", "fullName": "Is moving right", "functionType": "Condition", - "group": "", "name": "IsMovingRight", - "private": false, "sentence": "_PARAM0_ is moving to the right", "events": [ { @@ -8871,22 +9528,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8897,9 +9545,7 @@ "description": "Check if the object is moving down.", "fullName": "Is moving down", "functionType": "Condition", - "group": "", "name": "IsMovingDown", - "private": false, "sentence": "_PARAM0_ is moving down", "events": [ { @@ -8974,22 +9620,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9000,9 +9637,7 @@ "description": "Object is on the left side of the rectangle.", "fullName": "Is on left", "functionType": "Condition", - "group": "", "name": "IsOnLeft", - "private": false, "sentence": "_PARAM0_ is on the left side", "events": [ { @@ -9033,22 +9668,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9059,9 +9685,7 @@ "description": "Object is on the top side of the rectangle.", "fullName": "Is on top", "functionType": "Condition", - "group": "", "name": "IsOnTop", - "private": false, "sentence": "_PARAM0_ is on the top side", "events": [ { @@ -9092,22 +9716,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9118,9 +9733,7 @@ "description": "Object is on the right side of the rectangle.", "fullName": "Is on right", "functionType": "Condition", - "group": "", "name": "IsOnRight", - "private": false, "sentence": "_PARAM0_ is on the right side", "events": [ { @@ -9161,22 +9774,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9187,9 +9791,7 @@ "description": "Object is on the bottom side of the rectangle.", "fullName": "Is on bottom", "functionType": "Condition", - "group": "", "name": "IsOnBottom", - "private": false, "sentence": "_PARAM0_ is on the bottom side", "events": [ { @@ -9230,22 +9832,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9256,7 +9849,6 @@ "description": "Return the duration between the top-left vertex and the top-right one.", "fullName": "Duration to top right", "functionType": "Expression", - "group": "", "name": "TopRightDuration", "private": true, "sentence": "", @@ -9276,24 +9868,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9304,7 +9890,6 @@ "description": "Return the duration between the top-left vertex and the bottom-right one.", "fullName": "Duration to bottom right", "functionType": "Expression", - "group": "", "name": "BottomRightDuration", "private": true, "sentence": "", @@ -9324,24 +9909,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9352,7 +9931,6 @@ "description": "Return the duration between the top-left vertex and the bottom-left one.", "fullName": "Duration to bottom left", "functionType": "Expression", - "group": "", "name": "BottomLeftDuration", "private": true, "sentence": "", @@ -9372,24 +9950,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9400,7 +9972,6 @@ "description": "Return the ratio between the covered distance from the last vertex and the edge length (between 0 and 1).", "fullName": "Progress on edge", "functionType": "Expression", - "group": "", "name": "EdgeProgress", "private": true, "sentence": "", @@ -9445,24 +10016,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9473,7 +10038,6 @@ "description": "Return the X position of the current edge origin.", "fullName": "Edge origin X", "functionType": "Expression", - "group": "", "name": "EdgeOriginX", "private": true, "sentence": "", @@ -9514,24 +10078,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9542,7 +10100,6 @@ "description": "Return the Y position of the current edge origin.", "fullName": "Edge origin Y", "functionType": "Expression", - "group": "", "name": "EdgeOriginY", "private": true, "sentence": "", @@ -9583,24 +10140,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9611,7 +10162,6 @@ "description": "Return the X position of the current edge target.", "fullName": "Edge target X", "functionType": "Expression", - "group": "", "name": "EdgeTargetY", "private": true, "sentence": "", @@ -9652,24 +10202,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9680,7 +10224,6 @@ "description": "Return the Y position of the current edge target.", "fullName": "Edge target Y", "functionType": "Expression", - "group": "", "name": "EdgeTargetX", "private": true, "sentence": "", @@ -9711,24 +10254,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9739,7 +10276,6 @@ "description": "Return the time from the top-left vertex.", "fullName": "Current time", "functionType": "Expression", - "group": "", "name": "CurrentTime", "private": true, "sentence": "", @@ -9759,24 +10295,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9787,7 +10317,6 @@ "description": "Return the covered length from the top-left vertex or the bottom-right one.", "fullName": "Half Current length", "functionType": "Expression", - "group": "", "name": "HalfCurrentTime", "private": true, "sentence": "", @@ -9807,24 +10336,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9835,7 +10358,6 @@ "description": "Return the displacement on the X axis from the top-left vertex.", "fullName": "Delta X", "functionType": "Expression", - "group": "", "name": "DeltaX", "private": true, "sentence": "", @@ -9855,24 +10377,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9883,7 +10399,6 @@ "description": "Return the displacement on the Y axis from the top-left vertex.", "fullName": "Delta Y", "functionType": "Expression", - "group": "", "name": "DeltaY", "private": true, "sentence": "", @@ -9903,24 +10418,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -10098,7 +10607,8 @@ "hidden": true, "name": "ToogleClockwise" } - ] + ], + "sharedPropertyDescriptors": [] } ], "eventsBasedObjects": [] From 8aea59409ba1424b64aedfcc8c6f6d339a95a34b Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 10:32:40 -0600 Subject: [PATCH 02/33] Added saw to example --- .../rectangular-movement.json | 1154 +++++++---------- 1 file changed, 473 insertions(+), 681 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index bf70cf044..7bb5fa3b0 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -1769,65 +1769,6 @@ } ] }, - { - "assetStoreId": "78fbaed77b34f218e20f8182f106b74730c23ec24b4b8cec88c1cc88b07e3094", - "name": "Ship8", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 4, - "VerticalEdgeDuration": 1, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutSine", - "InitialPosition": "Top-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Ship 8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 49, - "y": 44 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, { "assetStoreId": "3f294355a854e85aeb0e08c0e0ab9ad836c01468f7623e583beff5fe0c173a44", "height": 128, @@ -2214,7 +2155,8 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Drag", + "folded": true, + "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -2233,336 +2175,478 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "TopLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "" - ] - }, - { - "type": { - "value": "Create" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "", - "TopRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", + "HorizontalDurationSlider", + "DraggableSliderControl", + "Ship.RectangularMovement::HorizontalEdgeDuration()", "" ] }, { "type": { - "value": "Create" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "", - "BottomRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "VerticalDurationSlider", + "DraggableSliderControl", + "Ship.RectangularMovement::VerticalEdgeDuration()", "" ] }, { "type": { - "value": "Create" + "value": "TextObject::String" }, "parameters": [ - "", - "BottomLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", - "" + "HorizontalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] }, { "type": { - "value": "ChangePlan" + "value": "TextObject::String" }, "parameters": [ - "Corner", + "VerticalDurationText", "=", - "3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "TopLeftCorner", - "Draggable" + "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ], - "actions": [ + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopLeftCorner.X()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "HorizontalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + ] + } ] }, { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopLeftCorner.Y()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "VerticalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + ] + } ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "TopRightCorner", - "Draggable" - ] - } - ], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Change duration", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopRightCorner.X()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + }, + "parameters": [ + "HorizontalDurationSlider", + "DraggableSliderControl", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "HorizontalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + ] + } ] }, { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopRightCorner.Y()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "BottomRightCorner", - "Draggable" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + }, + "parameters": [ + "VerticalDurationSlider", + "DraggableSliderControl", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "VerticalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + ] + } ] } ], - "actions": [ + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Change direction", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "BottomRightCorner.X()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "LaunchRoundButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::ToogleClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "yes" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::ToogleClockwise" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "yes" + ] + }, + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "yes" + ] + } ] }, { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "BottomRightCorner.Y()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "yes" + ] + } ] } - ] - }, + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Drag", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DraggableBehavior::Dragged" + "value": "DepartScene" }, "parameters": [ - "BottomLeftCorner", - "Draggable" + "" ] } ], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" + "value": "Create" }, "parameters": [ - "Ship", - "RectangularMovement", - "BottomLeftCorner.X()", + "", + "TopLeftCorner", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", "" ] }, { "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" + "value": "Create" }, "parameters": [ - "Ship", - "RectangularMovement", - "BottomLeftCorner.Y()", + "", + "TopRightCorner", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", "" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "TopLeftCorner", - "=", - "Ship.RectangularMovement::Left()", - "=", - "Ship.RectangularMovement::Top()" - ] }, { "type": { - "value": "MettreXY" + "value": "Create" }, "parameters": [ - "TopRightCorner", - "=", + "", + "BottomRightCorner", "Ship.RectangularMovement::Right()", - "=", - "Ship.RectangularMovement::Top()" + "Ship.RectangularMovement::Bottom()", + "" ] }, { "type": { - "value": "MettreXY" + "value": "Create" }, "parameters": [ - "BottomRightCorner", - "=", - "Ship.RectangularMovement::Right()", - "=", - "Ship.RectangularMovement::Bottom()" + "", + "BottomLeftCorner", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", + "" ] }, { "type": { - "value": "MettreXY" + "value": "ChangePlan" }, "parameters": [ - "BottomLeftCorner", - "=", - "Ship.RectangularMovement::Left()", + "Corner", "=", - "Ship.RectangularMovement::Bottom()" + "3" ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Speed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DepartScene" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "" + "TopLeftCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ - "HorizontalDurationSlider", - "DraggableSliderControl", - "Ship.RectangularMovement::HorizontalEdgeDuration()", + "Ship", + "RectangularMovement", + "TopLeftCorner.X()", "" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "VerticalDurationSlider", - "DraggableSliderControl", - "Ship.RectangularMovement::VerticalEdgeDuration()", + "Ship", + "RectangularMovement", + "TopLeftCorner.Y()", "" ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "VerticalDurationText", - "=", - "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" - ] } ] }, @@ -2571,43 +2655,35 @@ "conditions": [ { "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "SourisSurObjet" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "LaunchRoundButton", - "", - "", - "" + "TopRightCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::ToogleClockwise" + "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ "Ship", "RectangularMovement", - "yes" + "TopRightCorner.X()", + "" ] }, { "type": { - "value": "FlipX" + "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "LaunchRoundButton", - "yes" + "Ship", + "RectangularMovement", + "TopRightCorner.Y()", + "" ] } ] @@ -2617,50 +2693,35 @@ "conditions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "Ship", - "RectangularMovement", - "" + "BottomRightCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "FlipX" - }, - "parameters": [ - "LaunchRoundButton", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ "Ship", "RectangularMovement", + "BottomRightCorner.X()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FlipX" + "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "LaunchRoundButton", - "yes" + "Ship", + "RectangularMovement", + "BottomRightCorner.Y()", + "" ] } ] @@ -2670,45 +2731,34 @@ "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "HorizontalDurationSlider", - "DraggableSliderControl", - "" + "BottomLeftCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ "Ship", "RectangularMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", + "BottomLeftCorner.X()", "" ] }, { "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "Saw", - "RectangleMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", + "Ship", + "RectangularMovement", + "BottomLeftCorner.Y()", "" ] } @@ -2716,49 +2766,54 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + "value": "MettreXY" }, "parameters": [ - "VerticalDurationSlider", - "DraggableSliderControl", - "" + "TopLeftCorner", + "=", + "Ship.RectangularMovement::Left()", + "=", + "Ship.RectangularMovement::Top()" ] - } - ], - "actions": [ + }, { "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + "value": "MettreXY" }, "parameters": [ - "Ship", - "RectangularMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" + "TopRightCorner", + "=", + "Ship.RectangularMovement::Right()", + "=", + "Ship.RectangularMovement::Top()" ] }, { "type": { - "value": "TextObject::String" + "value": "MettreXY" }, "parameters": [ - "VerticalDurationText", + "BottomRightCorner", "=", - "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + "Ship.RectangularMovement::Right()", + "=", + "Ship.RectangularMovement::Bottom()" ] }, { "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + "value": "MettreXY" }, "parameters": [ - "Saw", - "RectangleMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" + "BottomLeftCorner", + "=", + "Ship.RectangularMovement::Left()", + "=", + "Ship.RectangularMovement::Bottom()" ] } ] @@ -2771,6 +2826,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Teleport", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2817,7 +2873,18 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", + "Ship", + "RectangularMovement", + "\"Top-left corner\"", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", "RectangleMovement", "\"Top-left corner\"", "" @@ -2846,7 +2913,18 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", + "Ship", + "RectangularMovement", + "\"Top-right corner\"", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", "RectangularMovement", "\"Top-right corner\"", "" @@ -2875,8 +2953,19 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", - "RectangularMovement", + "Ship", + "RectangularMovement", + "\"Bottom-right corner\"", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", + "RectangleMovement", "\"Bottom-right corner\"", "" ] @@ -2904,11 +2993,22 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", + "Ship", "RectangularMovement", "\"Bottom-left corner\"", "" ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "\"Bottom-left corner\"", + "" + ] } ] } @@ -2924,6 +3024,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Draw", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -3226,18 +3327,11 @@ "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::MoveAroundObject" + "value": "RectangleMovement::RectangleMovement::MoveAlongObject" }, "parameters": [ "Saw", @@ -7298,13 +7392,14 @@ "name": "RectangleMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", "shortDescription": "Move objects in a rectangular pattern.", - "version": "1.0.0", + "version": "1.1.0", "description": [ "Move objects in a rectangular pattern with easing functions from the Tween extension.", "", "It can be used for:", "- Moveable platforms", - "- Enemy movement patterns" + "- Enemy movement patterns", + "- Moving along the border of another object" ], "origin": { "identifier": "RectangleMovement", @@ -7324,310 +7419,7 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], - "eventsFunctions": [ - { - "description": "Top-left corner of the object (X coordinate)", - "fullName": "TopLeftCornerX", - "functionType": "Expression", - "name": "TopLeftCornerX", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Return corner", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.CenterX() + ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "disabled": true, - "name": "First try", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalX", - "=", - "Object.CenterX() - Object.Width()/2" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalY", - "=", - "Object.CenterY() - Object.Height()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedX", - "=", - "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedY", - "=", - "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedX", - "=", - "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedY", - "=", - "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Variable(__RectangleMovement.RotatedX)" - ] - } - ] - } - ], - "parameters": [] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Top-left corner of the object (Y coordinate)", - "fullName": "TopLeftCornerY", - "functionType": "Expression", - "name": "TopLeftCornerY", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Return corner", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.CenterX() - ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "disabled": true, - "name": "First try", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalX", - "=", - "Object.CenterX() - Object.Width()/2" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalY", - "=", - "Object.CenterY() - Object.Height()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedX", - "=", - "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedY", - "=", - "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedX", - "=", - "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedY", - "=", - "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Variable(__RectangleMovement.RotatedX)" - ] - } - ] - } - ], - "parameters": [] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "objectList" - } - ], - "objectGroups": [] - } - ], + "eventsFunctions": [], "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", @@ -8039,10 +7831,10 @@ "objectGroups": [] }, { - "description": "Move around the rectangular border of an object.", - "fullName": "Move around a rectangular object", + "description": "Move along the rectangular border of an object.", + "fullName": "Move along the rectangular border of an object", "functionType": "Action", - "name": "MoveAroundObject", + "name": "MoveAlongObject", "sentence": "Move _PARAM0_ around the rectangular border of _PARAM2_", "events": [ { From 0c9305333a2dbbcb7a8fef8fc08407a033703d8c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 10:35:37 -0600 Subject: [PATCH 03/33] Wording improvements --- examples/rectangular-movement/rectangular-movement.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 7bb5fa3b0..0d3ff7403 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -7831,11 +7831,11 @@ "objectGroups": [] }, { - "description": "Move along the rectangular border of an object.", + "description": "Move along the rectangular border of an object. Run one time, or everytime the basis object moves.", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", - "sentence": "Move _PARAM0_ around the rectangular border of _PARAM2_", + "sentence": "Move _PARAM0_ along the rectangular border of _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", From d22133ff89334c0adfdb17ab8dd7c43b70261332 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 16:42:25 +0000 Subject: [PATCH 04/33] Optimised images with calibre/image-actions --- .../rectangular-movement/assets/Saw_Off.png | Bin 681 -> 451 bytes .../rectangular-movement/assets/Saw_On_1.png | Bin 681 -> 451 bytes .../rectangular-movement/assets/Saw_On_2.png | Bin 704 -> 444 bytes .../rectangular-movement/assets/Saw_On_3.png | Bin 826 -> 488 bytes .../rectangular-movement/assets/Saw_On_4.png | Bin 733 -> 459 bytes .../rectangular-movement/assets/Saw_On_5.png | Bin 668 -> 446 bytes .../rectangular-movement/assets/Saw_On_6.png | Bin 707 -> 438 bytes .../rectangular-movement/assets/Saw_On_7.png | Bin 827 -> 488 bytes .../rectangular-movement/assets/Saw_On_8.png | Bin 760 -> 468 bytes .../assets/tiled_Summer Tile Water.png | Bin 2892 -> 179 bytes 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/rectangular-movement/assets/Saw_Off.png b/examples/rectangular-movement/assets/Saw_Off.png index 1a3c128b50a45ecefc4d4c590da754ed03d5119b..368b463ea0c6f419698bb2d09d288104cd77a3f2 100644 GIT binary patch delta 425 zcmV;a0apI01;Yc7B!3BTNLh0L01FZT01FZU(%pXi0004XNkl8PuHA$27Pagyao90W}q)msR;5VJjUa<^4 zKY+MDo*y}$FQZh0OL@)#Rfh@&IRo&24AcZlGSVC@HYkBnP=6^McY;unz!SiP92C}x z^>8e00000NkvXXu0mjf3Z}9- delta 657 zcmV;C0&e}o1E~d&B!2;OQb$4nuFf3k0007GNkl=7kdc$d7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5n zTx7?@Q@u?U(0`EvFcjExq5&YUEp;crB3eo9BAQrRhJ#UFwuSUMzVN?_ZsDP4dL18z zgAv=X^%j)_(AO&ptZ@Kh2k`hK^ApL1F4)+twOtv@NL4ercMb{`c)d2GdOG3ckwA zAOs#2tbco^r2UbH5d3^R{l%cGv%!uMTa&5-q`MTR!36Lbn@)kx@p85}aUtyh2>ye^_dq#GQNJwYY r^dZoRm@YwVjM~7-V|1;`*!%(M)WtWn7JbG5015yANkvXXu0mjfx^ObN diff --git a/examples/rectangular-movement/assets/Saw_On_1.png b/examples/rectangular-movement/assets/Saw_On_1.png index 1a3c128b50a45ecefc4d4c590da754ed03d5119b..368b463ea0c6f419698bb2d09d288104cd77a3f2 100644 GIT binary patch delta 425 zcmV;a0apI01;Yc7B!3BTNLh0L01FZT01FZU(%pXi0004XNkl8PuHA$27Pagyao90W}q)msR;5VJjUa<^4 zKY+MDo*y}$FQZh0OL@)#Rfh@&IRo&24AcZlGSVC@HYkBnP=6^McY;unz!SiP92C}x z^>8e00000NkvXXu0mjf3Z}9- delta 657 zcmV;C0&e}o1E~d&B!2;OQb$4nuFf3k0007GNkl=7kdc$d7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5n zTx7?@Q@u?U(0`EvFcjExq5&YUEp;crB3eo9BAQrRhJ#UFwuSUMzVN?_ZsDP4dL18z zgAv=X^%j)_(AO&ptZ@Kh2k`hK^ApL1F4)+twOtv@NL4ercMb{`c)d2GdOG3ckwA zAOs#2tbco^r2UbH5d3^R{l%cGv%!uMTa&5-q`MTR!36Lbn@)kx@p85}aUtyh2>ye^_dq#GQNJwYY r^dZoRm@YwVjM~7-V|1;`*!%(M)WtWn7JbG5015yANkvXXu0mjfx^ObN diff --git a/examples/rectangular-movement/assets/Saw_On_2.png b/examples/rectangular-movement/assets/Saw_On_2.png index 6ec99a465ecf793d24f353038d77735792247437..6c4d4a0faa5a7a8330272d4d1bf6bd9a9fda72f0 100644 GIT binary patch delta 418 zcmV;T0bTyU1-t{0B!3BTNLh0L01FZT01FZU(%pXi0004QNkljJV1E%k(a6K?L zPdH!zB?V?zY=7zslmye?ffWM-qk`eT3}}-DhC9_>f~4nq%eU})FW8l-|5bR_Vmkot zlnaU5a3@CrvwLOA%qO>JA`P7Y*tg;SVD74oEv)QQlhpYU!*LG2N&<>f%Rt~XPx&;= z7m^{pqZC=#x#cQ)sH50KidA(eWup+-C~9RcSTS$qgd4m%RLKJI3-%=axXjnu6951J M07*qoM6N<$f@>eO4FCWD delta 680 zcmV;Z0$2UK1Hc84B!2;OQb$4nuFf3k0007dNklC?0Ho}Lt*3VQv*?91{*`P%g|5cK-R)AJ($o7ZgHKYxwJ-f(-rEKoX7TTlR9 zUjt2Ke)g&f>;>lX)-E9PvrnUO;exYviXqoayTGQ=xYV|-Lx6Oh5-(QPaY`NwdVPT6 z>G_dCIJ6Ebs`A!6UhaHWpj;}Enw~HhvUt)QxT&f-OV|J zaM*YQZCtjv*RPAd-nR%HE@7~;;$cn8$EBHGNQ={0Ob?2#OU44IRKx({$zG}#_anaqRD7G z`zqN^Fj<}`B@H31W6TDpt1grcO!V%oC4fyJ&E3~zaxO4^jVXY5vD(J8x-)O;?e6V|tp>jllam4SCjt zt5b2iwW;^bpCRp&gP*sc1u!_w1@S-L*p7W-G)Jre O0000>e; zUDE*o0P=bdlU;82$>3dUupc0Vk|M@LcdQO2fgwZ~U5zs?V1L|1F(9KjfSw74KJB$_>z*xZ4WlCGDLof=L3zj-%W}P57Ffe%M z0!9mW?v6q@nqRreA3HS65wdC!-BEOBH4{}%gQyn$1z43*gb8o)wAOKmg3WMf)_kdQ zh~(OS@1>TUHl1!gp|}((>7c5#Zpp%3yQh>|!s52BNk>m9d82LlQ@hypz9Kdel@+Zf zy5CoXB}cj#iNU$v@K`S2IIt>E*5zlS+ch8D<#8_92cXR%TJ5Xks{jB107*qoM6N<$ Ef|~!%ZU6uP delta 803 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 diff --git a/examples/rectangular-movement/assets/Saw_On_6.png b/examples/rectangular-movement/assets/Saw_On_6.png index e8c657efed1244b98a36f6ec8fbc7875fb9c3903..6c143571ada7375302183eb938b20ca90235631b 100644 GIT binary patch delta 412 zcmV;N0b~Bd1-1i_B!3BTNLh0L01FZT01FZU(%pXi0004KNklCJ|OD?8V3x^ik^p~$oo2JP;=CeiT zMpOGRh}-?q$MJlzQ58oh1XV|+!isl!2o-`6#O-!5Zm32v7=Jww!#561Y_>Zd?sbuU z=nyP~;s&9(uxL|LL0YJ+v4dTb3(6W>S`YsjSdTMfU{tu#!fJFWMBgx~FiN1IM9R6J zmD40JEEF?+3hpDZ`x2=nQC|10{iXk@ z6J}>@>I~F`nSbjjioxid3&Xbzx+e>Ug&GthC9UO~cyA}zl&SAkSZlQv01K5O@g8aA zI54|brqq0LYbNB-3BbOM`@`H>8=F|!Urk!ykBF0e_;wm7&RzzTtG=La delta 683 zcmV;c0#yCB1H%Q7B!2;OQb$4nuFf3k0007gNkl;)80HdMGz(|p3#2E=B3Wb>K0}~T=)NZ~S-8_uFxix$%wlffSv1ecs-#Gklja96 zB-_%bC+R&sF?cErqDHQ(cO~;}*QWz2LQnHYu(o8Jb&|s>-{r9i9ka^0l?U| z0T;>BZW=%@FrBpy0m;*z^Q_UqDJ!WV-A{+Wa-Ma{s&xne)wV*hTr2zOSS$=80B9bc z9+1STvQv`DT8m_fr0 zYV<9=T1WRiGV@Hr5Q4oRFg^{!+iKz*jNQMIj*#3?rO7yz)D$JoqcBysAz zfu3LM7BCE=W<=gT45Ee}oApKBdoz#mQNH8u>PP$T*MH9o6w9^O?j92@nUc!3`Y7Lf zcdiokJ(erJL!xCTHxmFyI4HVWP(Eew*%W|>gPq(=z-Lq3-oN3`%Rk)x{@X&`-oJs* zrtRoWqJT~hl^O84D~Z&mF;S{>l`RyY&k??ywFuA!Qr>+ogVTYDYm5Ovv0S%4&35Fj zR<@Dxuzz-nm?=aKMsX522gf19}~lr*a-0T zPJ_Oc;cPN)owOF)2UP28BbE9>8NvF1i1N)%y(Dk`R8tQ4Sqm5d3^>jO@qhmSlq1MQ REusJb002ovPDHLkV1iQ$P9XpQ diff --git a/examples/rectangular-movement/assets/Saw_On_7.png b/examples/rectangular-movement/assets/Saw_On_7.png index 8e4008436f1a24f6faccc1ca827f8d40368d3f3b..516e953a79cf1ef9cc53e74818b68be6ada20800 100644 GIT binary patch delta 462 zcmV;<0Wto&2IvEjB!3BTNLh0L01FZT01FZU(%pXi0004+NklUPVib#2$x&@aZRV9LI4KBDvrslFyFwJI*i|#&Yp9 zMK*LD0U&_f?vIz9E`Kiz-+F_601=cFF($fGb0`UnAmZq1oPTiv;}%K*k^OG>evu0k zaf?K7ljHzGd4gr(a%PScEuQ*wEtomCXd5`NS}3!u#JPdqc|e)r1dVcois3MIlE5th zG^dz;QwqId`+;$Wa9;(6a4y?PDle&hHCPZqWB66dFNrU$%^rjjI8yS*|8BY-#@R|8 z#4;sT2hEn!1b+mAVCQk8h6AWsKFkFhCkzn5j_Z{POkJk5#X1HIUA=nH@X3du- zmq@Pd_ugvBY18f26N*crnhvT->y|Ctt$RwTC9H1ix<~Ysk~i9xKX-~<-z!oJp{!^% z(fz$5E;-V}ND9vNg~#&v#(_0~vTi>U-J$#79*;}Gp3kx&S_iBzJpcdz07*qoM6N<$ Eg6A*JEdT%j delta 804 zcmV+<1Ka%Q1G@&0B!2;OQb$4nuFf3k0008@Nklyn|NS%NGu zN#nuj3)Ex{qzz=K*A9Z#Lp-=2pw85-gFDy-eSvi76v*yQfe?fTr_CY+rIga4{RHYz z{p6ocC+SX7$O8?QmKULLjJ(n)9&vn?k>s_cCLkktiN3KuQ^nl7d>nWO?4w&m1Pi=aEfguNVflm>#(Z;TX;YrK>k+|W&tqH)P8+&Z#- zQi?T6pbYVfkO0`*v2oBlOgP;eF%>wu+6lHv+}s9KDWZf}5c-1THO1bJow}MprdBQ& zOLV#&BT}*a2~27#|1QS^{^QTzpQpjM@8j)O3!9HOwSNYC^Lm6YpI+fv=OOz07W(@Z zp1*tt-7#n!Z!*R89Q+SN zK_$zyAIspE{{yq5HWp_~bo=@iAP^~55d@$}u)KXS!Pf2u7H8!Osh}!T>oFPL8duI| zTe}-LK7XBKcGRx)e-1%4k|N6_qR1cPCy!G1$6tTL9S*djo1$8-pMo+z<)12HE(eP) zsUmWT`ArECI^7Pn%Bg#GQ9CMu`b4M{9rO+(Qf&=@7`Z1}Ip;1RuNWyNyva1;OG3Ue z^-EJoMS|30ps3&AZ!Ff(=4nuq(M&wSVi#BNcyK@UkUa$z=O>CtEk$aw2y) z$UM_(6swjgj-vgfYFnq9E{x7C@?cv|rY`1@EnG@|Fp@_~&iqADth;psG?vmG4sy>R zxNlU3u7fhg03eb}4zS8|3Nt7F;mVnuTL2{V4u3`O@Q z5jWrvNL+w(a0|-Rhz5xhP@|NosA$th;vO4;F#34BUeAm@WRZS>7@9$;1F7P$` znD?aaKWs#6etxh0@$37pFhFS|Z5^&fxx(c_NkHyZlQz@9G=HejBjlT)@0vkrRTzVL z8(6L;1BVuPNY9=~Fv$WGEg~ElTmtii(j>xRDDrZ*fD(_J#{rNx0oi=+o=U)4R|TQ4 z0qDIO7}-FZkxCimGg*GL|02^}Ovb`}I>f*E7ReFE|8s(`mgj!>QrQ zL)LOZ0^?92V1ExdljpFb4$H-ha(BK)*mHM94`3`;ZU`m zW}S^{$U=7}Y3v0T_HSvDa8?U61>+MyTOaZqW2jo1sWb6ALtR<*z)m|t3z#d^*zsAQ k#@4x2jT?MY&tYp{e>(60kNZ|MRsaA107*qoM6N<$g8Svh+yDRo delta 736 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 From 7f703a398c029a39a7229ca931886db15cba2b33 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 18:15:33 -0600 Subject: [PATCH 05/33] Change ship behavior to use new behavior name (RectangularMovement -> RectangleMovement) This is what was breaking the object groups. :) --- .../rectangular-movement.json | 569 +++++++----------- 1 file changed, 233 insertions(+), 336 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 0d3ff7403..54ea41490 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -1,5 +1,5 @@ { - "firstLayout": "", + "firstLayout": "Rectangle Movement", "gdVersion": { "build": 99, "major": 4, @@ -386,8 +386,8 @@ { "b": 31, "disableInputWhenNotFocused": true, - "mangledName": "Rectangular_32Movement", - "name": "Rectangular Movement", + "mangledName": "Rectangle_32Movement", + "name": "Rectangle Movement", "r": 31, "standardSortMethod": true, "stopSoundsOnStartup": true, @@ -855,20 +855,21 @@ "effects": [], "behaviors": [ { - "name": "RectangularMovement", + "name": "RectangleMovement", "type": "RectangleMovement::RectangleMovement", "Width": 300, "Height": 100, - "CounterClockwise": false, - "LoopDuration": 4, - "Left": 4, - "Top": 4, - "Progress": 4, - "Easing": "easeInOutBack", - "InitialPosition": "Top-left corner", "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1.25 + "VerticalEdgeDuration": 1.25, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "easeInOutBack", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false } ], "animations": [ @@ -2155,7 +2156,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2180,7 +2180,7 @@ "parameters": [ "HorizontalDurationSlider", "DraggableSliderControl", - "Ship.RectangularMovement::HorizontalEdgeDuration()", + "Ship.RectangleMovement::HorizontalEdgeDuration()", "" ] }, @@ -2191,7 +2191,7 @@ "parameters": [ "VerticalDurationSlider", "DraggableSliderControl", - "Ship.RectangularMovement::VerticalEdgeDuration()", + "Ship.RectangleMovement::VerticalEdgeDuration()", "" ] }, @@ -2202,7 +2202,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] }, { @@ -2212,7 +2212,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ], @@ -2226,18 +2226,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -2250,7 +2239,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2264,18 +2253,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -2288,7 +2266,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2324,18 +2302,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -2348,7 +2315,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2373,18 +2340,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -2397,7 +2353,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2444,17 +2400,7 @@ "value": "RectangleMovement::RectangleMovement::ToogleClockwise" }, "parameters": [ - "Ship", - "RectangularMovement", - "yes" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::ToogleClockwise" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "yes" ] @@ -2479,7 +2425,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -2506,7 +2452,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -2529,6 +2475,159 @@ ], "parameters": [] }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Teleport", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObjects", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Top-left corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Top-right corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Bottom-right corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Bottom-left corner\"", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, { "colorB": 228, "colorG": 176, @@ -2559,8 +2658,8 @@ "parameters": [ "", "TopLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", "" ] }, @@ -2571,8 +2670,8 @@ "parameters": [ "", "TopRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Top()", "" ] }, @@ -2583,8 +2682,8 @@ "parameters": [ "", "BottomRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()", "" ] }, @@ -2595,8 +2694,8 @@ "parameters": [ "", "BottomLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Bottom()", "" ] }, @@ -2632,7 +2731,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopLeftCorner.X()", "" ] @@ -2643,7 +2742,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopLeftCorner.Y()", "" ] @@ -2670,7 +2769,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopRightCorner.X()", "" ] @@ -2681,7 +2780,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopRightCorner.Y()", "" ] @@ -2708,7 +2807,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomRightCorner.X()", "" ] @@ -2719,7 +2818,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomRightCorner.Y()", "" ] @@ -2746,7 +2845,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomLeftCorner.X()", "" ] @@ -2757,7 +2856,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomLeftCorner.Y()", "" ] @@ -2775,9 +2874,9 @@ "parameters": [ "TopLeftCorner", "=", - "Ship.RectangularMovement::Left()", + "Ship.RectangleMovement::Left()", "=", - "Ship.RectangularMovement::Top()" + "Ship.RectangleMovement::Top()" ] }, { @@ -2787,9 +2886,9 @@ "parameters": [ "TopRightCorner", "=", - "Ship.RectangularMovement::Right()", + "Ship.RectangleMovement::Right()", "=", - "Ship.RectangularMovement::Top()" + "Ship.RectangleMovement::Top()" ] }, { @@ -2799,9 +2898,9 @@ "parameters": [ "BottomRightCorner", "=", - "Ship.RectangularMovement::Right()", + "Ship.RectangleMovement::Right()", "=", - "Ship.RectangularMovement::Bottom()" + "Ship.RectangleMovement::Bottom()" ] }, { @@ -2811,207 +2910,9 @@ "parameters": [ "BottomLeftCorner", "=", - "Ship.RectangularMovement::Left()", + "Ship.RectangleMovement::Left()", "=", - "Ship.RectangularMovement::Bottom()" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Teleport", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObjects", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Top-left corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "\"Top-left corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Top-right corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangularMovement", - "\"Top-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Bottom-right corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "\"Bottom-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Bottom-left corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "\"Bottom-left corner\"", - "" - ] - } - ] - } + "Ship.RectangleMovement::Bottom()" ] } ] @@ -3039,10 +2940,10 @@ }, "parameters": [ "Trajectory", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()" + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()" ] } ] @@ -3056,7 +2957,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3068,10 +2969,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Top()", "2" ] } @@ -3086,7 +2987,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3098,10 +2999,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Bottom()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()", "2" ] } @@ -3116,7 +3017,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3128,10 +3029,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Bottom()", "2" ] } @@ -3146,7 +3047,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3158,10 +3059,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()", "2" ] } @@ -3218,7 +3119,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3244,7 +3145,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3270,7 +3171,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3296,7 +3197,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3378,10 +3279,6 @@ { "name": "RectangleMovement", "type": "RectangleMovement::RectangleMovement" - }, - { - "name": "RectangularMovement", - "type": "RectangleMovement::RectangleMovement" } ] } From 8047a097b91b0048990e006f4a0fc88dc99e8855 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 18:17:26 -0600 Subject: [PATCH 06/33] Renamed to use new name --- examples/rectangular-movement/rectangular-movement.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 54ea41490..8ba2ff60b 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -18,8 +18,8 @@ "templateSlug": "", "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Rectangular movement example", - "description": "Show how to use the \"Rectangular movement\" extension.", + "name": "Rectangle movement example", + "description": "Show how to use the \"Rectangle movement\" extension.", "author": "", "windowWidth": 854, "windowHeight": 480, @@ -7283,7 +7283,7 @@ "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", "category": "Movement", "extensionNamespace": "", - "fullName": "Rectangular movement", + "fullName": "Rectangule movement", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", "name": "RectangleMovement", From 418e6e9aaeb7b0410f8d071f0c439a764fcbef4d Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 18:41:25 -0600 Subject: [PATCH 07/33] Removed unused ship sprite --- .../rectangular-movement/rectangular-movement.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 8ba2ff60b..6761e6c27 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -233,19 +233,6 @@ "smoothed": true, "userAdded": true }, - { - "alwaysLoaded": false, - "file": "assets/Ship 8.png", - "kind": "image", - "metadata": "", - "name": "Ship 8.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Ship/de9c11db444fa822127f9a23d83a400b8b8ad889c8e539d75664d6fe8693a88b_Ship 8.png", - "name": "Ship 8.png" - } - }, { "alwaysLoaded": false, "file": "assets/tiled_Summer Tile Water.png", From c706e83a272570bea5f535e0035ef507000f45c7 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 19:18:41 -0600 Subject: [PATCH 08/33] Added standalone function to move objects along the border of another object But... it doesn't work. --- .../rectangular-movement.json | 136 +++++++++++++++++- 1 file changed, 132 insertions(+), 4 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 6761e6c27..d3d1f9c36 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -2143,6 +2143,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2265,6 +2266,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Change duration", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2353,6 +2355,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Change direction", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2467,6 +2470,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Teleport", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -3214,6 +3218,20 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Behavior action", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3229,6 +3247,37 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 27, + "g": 2, + "r": 208, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stand alone action (NOT WORKING)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::MoveAlongObject" + }, + "parameters": [ + "", + "Saw", + "RectangleMovement", + "SummerTileWater", + "" + ] + } + ] } ], "parameters": [] @@ -7270,7 +7319,7 @@ "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", "category": "Movement", "extensionNamespace": "", - "fullName": "Rectangule movement", + "fullName": "Rectangle movement", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", "name": "RectangleMovement", @@ -7303,11 +7352,90 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], - "eventsFunctions": [], + "eventsFunctions": [ + { + "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", + "fullName": "Move along the rectangular border of an object", + "functionType": "Action", + "name": "MoveAlongObject", + "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Rectangle Movement (required)", + "name": "RectangleMovement", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", - "fullName": "Rectangular movement", + "fullName": "Rectangle movement", "name": "RectangleMovement", "objectType": "", "eventsFunctions": [ @@ -7715,7 +7843,7 @@ "objectGroups": [] }, { - "description": "Move along the rectangular border of an object. Run one time, or everytime the basis object moves.", + "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", From 508a852d41040efb9e2d57dc42c98f2552825eec Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 19:50:17 -0600 Subject: [PATCH 09/33] Added functions to help users - LinkNearestObjects - Added ForEach and object linking to Move Along function.... which still does not work right :( --- .../rectangular-movement.json | 228 ++++++++++++++---- 1 file changed, 185 insertions(+), 43 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index d3d1f9c36..c2bfec7eb 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -3261,6 +3261,30 @@ "comment": "Stand alone action (NOT WORKING)", "comment2": "" }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::LinkNearestObjects" + }, + "parameters": [ + "", + "Saw", + "SummerTileWater", + "" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -7361,51 +7385,71 @@ "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", "events": [ { - "type": "BuiltinCommonInstructions::Standard", + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement_Behavior", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, + "actions": [], + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement_Behavior", - "CenterObject.BoundingBoxRight()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxRight()", + "" + ] + } ] } ] @@ -7430,6 +7474,104 @@ } ], "objectGroups": [] + }, + { + "description": "Create an object link between two objects that are nearest to each other.", + "fullName": "Create object links between nearest objects", + "functionType": "Action", + "name": "LinkNearestObjects", + "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that is closest to it", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "FirstObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "SecondObject", + "FirstObject.BoundingBoxCenterX()", + "FirstObject.BoundingBoxCenterY()", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "FirstObject", + "SecondObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "First object", + "name": "FirstObject", + "type": "objectList" + }, + { + "description": "Second object", + "name": "SecondObject", + "type": "objectList" + } + ], + "objectGroups": [] } ], "eventsBasedBehaviors": [ From 5904d98100b31fd6a82ad783c50df472be1d2e1f Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 9 Apr 2023 15:19:25 -0600 Subject: [PATCH 10/33] Got object linking working and example shows multiple pairs of objects --- .../rectangular-movement.json | 111 ++++++++++++++---- 1 file changed, 86 insertions(+), 25 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index c2bfec7eb..cad485569 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -390,7 +390,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 1.1333333183288583, + "zoomFactor": 1.026002653128652, "windowMask": false }, "objectsGroups": [ @@ -698,28 +698,28 @@ { "angle": 0, "customSize": true, - "height": 100, + "height": 181, "layer": "", "name": "SummerTileWater", "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", - "width": 300, - "x": 491, - "y": 244, - "zOrder": 20, + "width": 87, + "x": 492, + "y": 190, + "zOrder": 0, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": true, + "customSize": false, "height": 75, "layer": "", "name": "Saw", "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", "width": 74, - "x": 492, - "y": 245, + "x": 534, + "y": 284, "zOrder": 10, "numberProperties": [], "stringProperties": [], @@ -829,6 +829,66 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw", + "persistentUuid": "b1df6c0b-eb4f-4be9-9758-5cc4184a35e4", + "width": 0, + "x": 660, + "y": 334, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 71, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "65f6a78d-5715-4e21-b12a-d34a59d15109", + "width": 72, + "x": 626, + "y": 298, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 71, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "118918d5-ac00-4278-abe6-515da1e3816e", + "width": 188, + "x": 626, + "y": 189, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw", + "persistentUuid": "3ed137c5-c0dc-4612-91df-c0137605426d", + "width": 0, + "x": 722, + "y": 225, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -2126,7 +2186,7 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Drag blue object to move saw path", + "string": "Drag blue objects to move saw path", "font": "", "textAlignment": "center", "characterSize": 20, @@ -3251,14 +3311,14 @@ { "type": "BuiltinCommonInstructions::Comment", "color": { - "b": 27, - "g": 2, - "r": 208, + "b": 109, + "g": 230, + "r": 255, "textB": 0, "textG": 0, "textR": 0 }, - "comment": "Stand alone action (NOT WORKING)", + "comment": "Non-Behavior action (handles object linking)", "comment2": "" }, { @@ -3274,7 +3334,7 @@ "actions": [ { "type": { - "value": "RectangleMovement::LinkNearestObjects" + "value": "RectangleMovement::LinkCollidingObjects" }, "parameters": [ "", @@ -7378,7 +7438,7 @@ "dependencies": [], "eventsFunctions": [ { - "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", + "description": "Move along the rectangular border of an object. Run once (or anytime the center object moves).", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", @@ -7434,7 +7494,7 @@ }, "parameters": [ "MovingObject", - "RectangleMovement_Behavior", + "RectangleMovement", "CenterObject.BoundingBoxLeft()", "" ] @@ -7445,7 +7505,7 @@ }, "parameters": [ "MovingObject", - "RectangleMovement_Behavior", + "RectangleMovement", "CenterObject.BoundingBoxRight()", "" ] @@ -7476,11 +7536,11 @@ "objectGroups": [] }, { - "description": "Create an object link between two objects that are nearest to each other.", - "fullName": "Create object links between nearest objects", + "description": "Create an object link between two objects that are colliding with each other.", + "fullName": "Create object link between colliding objects", "functionType": "Action", - "name": "LinkNearestObjects", - "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that is closest to it", + "name": "LinkCollidingObjects", + "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that are colliding with each other", "events": [ { "type": "BuiltinCommonInstructions::ForEach", @@ -7513,12 +7573,13 @@ }, { "type": { - "value": "PickNearest" + "value": "CollisionNP" }, "parameters": [ + "FirstObject", "SecondObject", - "FirstObject.BoundingBoxCenterX()", - "FirstObject.BoundingBoxCenterY()", + "", + "", "" ] } From afb50f7437656ddb2072c4ce4a634fb017c50a8c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 9 Apr 2023 16:00:40 -0600 Subject: [PATCH 11/33] Cleanup and object linking improvement - Object linking now loops into both object lists to cover situations where objects overlap. - Removed original "move object around another object" function --- .../rectangular-movement.json | 354 ++++++++---------- 1 file changed, 157 insertions(+), 197 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index cad485569..5957cb1cf 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -698,13 +698,13 @@ { "angle": 0, "customSize": true, - "height": 181, + "height": 69, "layer": "", "name": "SummerTileWater", "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", - "width": 87, - "x": 492, - "y": 190, + "width": 170, + "x": 493, + "y": 300, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -718,8 +718,8 @@ "name": "Saw", "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", "width": 74, - "x": 534, - "y": 284, + "x": 554, + "y": 348, "zOrder": 10, "numberProperties": [], "stringProperties": [], @@ -838,8 +838,8 @@ "name": "Saw", "persistentUuid": "b1df6c0b-eb4f-4be9-9758-5cc4184a35e4", "width": 0, - "x": 660, - "y": 334, + "x": 722, + "y": 225, "zOrder": 28, "numberProperties": [], "stringProperties": [], @@ -848,13 +848,13 @@ { "angle": 0, "customSize": true, - "height": 71, + "height": 66, "layer": "", "name": "SummerTileWater", "persistentUuid": "65f6a78d-5715-4e21-b12a-d34a59d15109", - "width": 72, - "x": 626, - "y": 298, + "width": 77, + "x": 734, + "y": 302, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -883,12 +883,42 @@ "name": "Saw", "persistentUuid": "3ed137c5-c0dc-4612-91df-c0137605426d", "width": 0, - "x": 722, - "y": 225, + "x": 770, + "y": 327, "zOrder": 28, "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 177, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "1b96dea9-1205-4cb1-98c4-9b89974bb767", + "width": 84, + "x": 493, + "y": 192, + "zOrder": -1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw", + "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", + "width": 0, + "x": 516, + "y": 323, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -1826,7 +1856,20 @@ "type": "TiledSpriteObject::TiledSprite", "width": 128, "variables": [], - "effects": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 2, + "thickness": 2 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], "behaviors": [ { "name": "Draggable", @@ -3287,38 +3330,7 @@ "textG": 0, "textR": 0 }, - "comment": "Behavior action", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::MoveAlongObject" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "SummerTileWater", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Non-Behavior action (handles object linking)", + "comment": "Non-gehavior action (handles object linking)", "comment2": "" }, { @@ -3342,6 +3354,16 @@ "SummerTileWater", "" ] + }, + { + "type": { + "value": "TiledSpriteObject::SetOpacity" + }, + "parameters": [ + "SummerTileWater", + "=", + "210" + ] } ] }, @@ -7403,7 +7425,7 @@ "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", "category": "Movement", "extensionNamespace": "", - "fullName": "Rectangle movement", + "fullName": "Rectangular movement", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", "name": "RectangleMovement", @@ -7416,7 +7438,11 @@ "It can be used for:", "- Moveable platforms", "- Enemy movement patterns", - "- Moving along the border of another object" + "- Moving along the border of another object", + "", + "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer)).", + "", + "This example can be used to check some settings ([open the project online](https://editor.gdevelop.io/?project=example://rectangular-movement))." ], "origin": { "identifier": "RectangleMovement", @@ -7438,7 +7464,7 @@ "dependencies": [], "eventsFunctions": [ { - "description": "Move along the rectangular border of an object. Run once (or anytime the center object moves).", + "description": "Move along the rectangular border of an object. Run once, or every time the center object moves.", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", @@ -7549,70 +7575,78 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "FirstObject", - "SecondObject", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "FirstObject", - "SecondObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "True" - ] - }, + "type": "BuiltinCommonInstructions::ForEach", + "object": "SecondObject", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "FirstObject", + "SecondObject", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "FirstObject", + "SecondObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "True" + ] + } ] } ] @@ -7638,7 +7672,7 @@ "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", - "fullName": "Rectangle movement", + "fullName": "Rectangular movement", "name": "RectangleMovement", "objectType": "", "eventsFunctions": [ @@ -7713,7 +7747,7 @@ "Object", "Behavior", "=", - "Object.Behavior::TopRightDuration() / Object.Behavior::Perimeter()" + "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()" ] } ] @@ -7742,7 +7776,7 @@ "Object", "Behavior", "=", - "Object.Behavior::BottomRightDuration() / Object.Behavior::Perimeter()" + "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()" ] } ] @@ -7771,7 +7805,7 @@ "Object", "Behavior", "=", - "Object.Behavior::BottomLeftDuration() / Object.Behavior::Perimeter()" + "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()" ] } ] @@ -8045,84 +8079,6 @@ ], "objectGroups": [] }, - { - "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", - "fullName": "Move along the rectangular border of an object", - "functionType": "Action", - "name": "MoveAlongObject", - "sentence": "Move _PARAM0_ along the rectangular border of _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxRight()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, { "description": "Teleport the object to a corner of the movement rectangle.", "fullName": "Teleport at a corner", @@ -10448,6 +10404,7 @@ { "value": "100", "type": "Number", + "unit": "Pixel", "label": "Width", "description": "", "group": "Dimension", @@ -10458,6 +10415,7 @@ { "value": "100", "type": "Number", + "unit": "Pixel", "label": "Height", "description": "", "group": "Dimension", @@ -10478,7 +10436,8 @@ { "value": "4", "type": "Number", - "label": "Horizontal edge duration (in seconds)", + "unit": "Second", + "label": "Horizontal edge duration", "description": "", "group": "Speed", "extraInformation": [], @@ -10488,7 +10447,8 @@ { "value": "1", "type": "Number", - "label": "Vertical edge duration (in seconds)", + "unit": "Second", + "label": "Vertical edge duration", "description": "", "group": "Speed", "extraInformation": [], From d20eb8926c4fa264111941121921130422cc3e0f Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Wed, 26 Apr 2023 22:33:08 -0600 Subject: [PATCH 12/33] Working and preparing to clean --- .../rectangular-movement.json | 1473 ++++++++++++++--- 1 file changed, 1200 insertions(+), 273 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 5957cb1cf..09c121cda 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -418,7 +418,33 @@ "name": "Ship" }, { - "name": "Saw" + "name": "Saw_TopLeft" + }, + { + "name": "Saw_BottomLeft" + }, + { + "name": "Saw_BottomRight" + }, + { + "name": "Saw_TopRight" + } + ] + }, + { + "name": "Saws", + "objects": [ + { + "name": "Saw_TopLeft" + }, + { + "name": "Saw_BottomLeft" + }, + { + "name": "Saw_BottomRight" + }, + { + "name": "Saw_TopRight" } ] } @@ -695,36 +721,6 @@ "stringProperties": [], "initialVariables": [] }, - { - "angle": 0, - "customSize": true, - "height": 69, - "layer": "", - "name": "SummerTileWater", - "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", - "width": 170, - "x": 493, - "y": 300, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 75, - "layer": "", - "name": "Saw", - "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", - "width": 74, - "x": 554, - "y": 348, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": false, @@ -835,11 +831,11 @@ "customSize": false, "height": 0, "layer": "", - "name": "Saw", + "name": "Saw_TopLeft", "persistentUuid": "b1df6c0b-eb4f-4be9-9758-5cc4184a35e4", "width": 0, - "x": 722, - "y": 225, + "x": 662, + "y": 221, "zOrder": 28, "numberProperties": [], "stringProperties": [], @@ -848,13 +844,13 @@ { "angle": 0, "customSize": true, - "height": 66, + "height": 176, "layer": "", "name": "SummerTileWater", - "persistentUuid": "65f6a78d-5715-4e21-b12a-d34a59d15109", - "width": 77, - "x": 734, - "y": 302, + "persistentUuid": "118918d5-ac00-4278-abe6-515da1e3816e", + "width": 188, + "x": 626, + "y": 189, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -863,14 +859,14 @@ { "angle": 0, "customSize": true, - "height": 71, + "height": 177, "layer": "", "name": "SummerTileWater", - "persistentUuid": "118918d5-ac00-4278-abe6-515da1e3816e", - "width": 188, - "x": 626, - "y": 189, - "zOrder": 0, + "persistentUuid": "1b96dea9-1205-4cb1-98c4-9b89974bb767", + "width": 84, + "x": 500, + "y": 188, + "zOrder": -1, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -880,27 +876,27 @@ "customSize": false, "height": 0, "layer": "", - "name": "Saw", - "persistentUuid": "3ed137c5-c0dc-4612-91df-c0137605426d", + "name": "Saw_TopLeft", + "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", "width": 0, - "x": 770, - "y": 327, - "zOrder": 28, + "x": 544, + "y": 275, + "zOrder": 29, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": true, - "height": 177, + "customSize": false, + "height": 0, "layer": "", - "name": "SummerTileWater", - "persistentUuid": "1b96dea9-1205-4cb1-98c4-9b89974bb767", - "width": 84, - "x": 493, - "y": 192, - "zOrder": -1, + "name": "Saw_BottomLeft", + "persistentUuid": "dbc06742-fad8-46dc-bbfc-612eccf3fb8c", + "width": 0, + "x": 660, + "y": 337, + "zOrder": 30, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -910,12 +906,27 @@ "customSize": false, "height": 0, "layer": "", - "name": "Saw", - "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", + "name": "Saw_BottomRight", + "persistentUuid": "7ae8dd52-e6a8-498b-aec7-196c2afb86cf", "width": 0, - "x": 516, - "y": 323, - "zOrder": 29, + "x": 786, + "y": 334, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw_TopRight", + "persistentUuid": "6e4401f1-56a3-47ff-a235-47330dcd02f3", + "width": 0, + "x": 780, + "y": 222, + "zOrder": 32, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -1022,7 +1033,8 @@ "r": 111 }, "absoluteCoordinates": true, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "", @@ -1046,7 +1058,8 @@ "r": 208 }, "absoluteCoordinates": true, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "e8d619ef35124fd6ba96fafde6790bdd7f80b9c65b4bccfbcbdb4e5025bc2788", @@ -1497,7 +1510,8 @@ "r": 0 }, "absoluteCoordinates": false, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "", @@ -1555,7 +1569,8 @@ "r": 0 }, "absoluteCoordinates": false, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "14d7be205d64a5719d7d63a4cc681d984a67948efe4caa888fd054e268dad255", @@ -1880,7 +1895,7 @@ }, { "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw", + "name": "Saw_TopLeft", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -2086,186 +2101,807 @@ ] }, { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Reverse_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Reverse\nDirection", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "MoveToCorner_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Move to \nCorner", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "MovementDirection_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Movement\nDirection", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "HorizontalDuration_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Horizontal Duration", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "VerticalDuration_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Vertical Duration", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsShip_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Drag corners to change ship path", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsSaw_Text", - "smoothed": true, + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw_BottomLeft", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "Sprite", + "updateIfNotVisible": false, "variables": [], "effects": [], - "behaviors": [], - "string": "Drag blue objects to move saw path", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Speed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "behaviors": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Bottom-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw_BottomRight", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Bottom-right corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw_TopRight", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Top-right corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Reverse_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reverse\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MoveToCorner_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Move to \nCorner", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MovementDirection_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Movement\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HorizontalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Horizontal Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "VerticalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Vertical Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsShip_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag corners to change ship path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsSaw_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag blue objects to move saw path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Speed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ @@ -3330,57 +3966,46 @@ "textG": 0, "textR": 0 }, - "comment": "Non-gehavior action (handles object linking)", + "comment": "Non-behavior action (handles object linking)", "comment2": "" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "RectangleMovement::LinkCollidingObjects" + "value": "RectangleMovement::MoveAlongObjectLinked" }, "parameters": [ "", - "Saw", + "Saws", + "RectangleMovement", "SummerTileWater", "" ] - }, - { - "type": { - "value": "TiledSpriteObject::SetOpacity" - }, - "parameters": [ - "SummerTileWater", - "=", - "210" - ] } ] }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], "actions": [ { "type": { - "value": "RectangleMovement::MoveAlongObject" + "value": "TiledSpriteObject::SetOpacity" }, "parameters": [ - "", - "Saw", - "RectangleMovement", "SummerTileWater", - "" + "=", + "210" ] } ] @@ -7468,6 +8093,7 @@ "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", + "private": true, "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", "events": [ { @@ -7478,10 +8104,11 @@ "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" + "value": "RectangleMovement::LinkObjectsPointInside" }, "parameters": [ "", @@ -7490,6 +8117,21 @@ "" ] } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "CenterObject", + "MovingObject.BoundingBoxCenterX()", + "MovingObject.BoundingBoxCenterY()" + ] + } ], "actions": [ { @@ -7561,11 +8203,191 @@ ], "objectGroups": [] }, + { + "description": "Set rectangular movement to follow the border of an object. Run once, or every time the center object moves. Objects will be linked to each other.", + "fullName": "Set rectangular movement to follow the border of an object", + "functionType": "Action", + "name": "MoveAlongObjectLinked", + "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create object link if one has not been created", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "CenterObject", + "MovingObject.BoundingBoxCenterX()", + "MovingObject.BoundingBoxCenterY()" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update rectangular movement to follow the border of object", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Rectangle Movement (required)", + "name": "RectangleMovement", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, { "description": "Create an object link between two objects that are colliding with each other.", "fullName": "Create object link between colliding objects", "functionType": "Action", "name": "LinkCollidingObjects", + "private": true, "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that are colliding with each other", "events": [ { @@ -7667,6 +8489,111 @@ } ], "objectGroups": [] + }, + { + "description": "Create an object link between moving objects that have a center point inside the center object.", + "fullName": "Create object link (if needed) between moving object and center object", + "functionType": "Action", + "name": "LinkObjectsPointInside", + "sentence": "Create an object link between _PARAM1_ that has a center point inside _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "CenterObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "CenterObject", + "MovingObject.BoundingBoxCenterX()", + "MovingObject.BoundingBoxCenterY()" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "CenterObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] } ], "eventsBasedBehaviors": [ From df644d10b9ef39ea918ae13dbe48e5ad7ae6e6e6 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Wed, 26 Apr 2023 22:41:10 -0600 Subject: [PATCH 13/33] Clean up --- .../rectangular-movement.json | 400 ++---------------- 1 file changed, 36 insertions(+), 364 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 09c121cda..19c5991fe 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -1909,13 +1909,13 @@ "Height": 100, "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Top-left corner", "ToogleClockwise": false } @@ -2116,13 +2116,13 @@ "Height": 100, "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Bottom-left corner", "ToogleClockwise": false } @@ -2329,7 +2329,7 @@ "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Bottom-right corner", "ToogleClockwise": false } @@ -2530,13 +2530,13 @@ "Height": 100, "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Top-right corner", "ToogleClockwise": false } @@ -3656,10 +3656,33 @@ "colorR": 74, "creationTime": 0, "folded": true, - "name": "Draw", + "name": "Draw border", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "TiledSpriteObject::SetOpacity" + }, + "parameters": [ + "SummerTileWater", + "=", + "210" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -3975,7 +3998,7 @@ "actions": [ { "type": { - "value": "RectangleMovement::MoveAlongObjectLinked" + "value": "RectangleMovement::MoveAlongBorderOfObject" }, "parameters": [ "", @@ -3986,29 +4009,6 @@ ] } ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "TiledSpriteObject::SetOpacity" - }, - "parameters": [ - "SummerTileWater", - "=", - "210" - ] - } - ] } ], "parameters": [] @@ -8089,126 +8089,11 @@ "dependencies": [], "eventsFunctions": [ { - "description": "Move along the rectangular border of an object. Run once, or every time the center object moves.", - "fullName": "Move along the rectangular border of an object", - "functionType": "Action", - "name": "MoveAlongObject", - "private": true, - "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::LinkObjectsPointInside" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "CenterObject", - "MovingObject.BoundingBoxCenterX()", - "MovingObject.BoundingBoxCenterY()" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - }, - { - "description": "Rectangle Movement (required)", - "name": "RectangleMovement", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Set rectangular movement to follow the border of an object. Run once, or every time the center object moves. Objects will be linked to each other.", - "fullName": "Set rectangular movement to follow the border of an object", + "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.", + "fullName": "Update rectangular movement to follow the border of an object", "functionType": "Action", - "name": "MoveAlongObjectLinked", - "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", + "name": "MoveAlongBorderOfObject", + "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_", "events": [ { "type": "BuiltinCommonInstructions::ForEach", @@ -8381,219 +8266,6 @@ } ], "objectGroups": [] - }, - { - "description": "Create an object link between two objects that are colliding with each other.", - "fullName": "Create object link between colliding objects", - "functionType": "Action", - "name": "LinkCollidingObjects", - "private": true, - "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that are colliding with each other", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "FirstObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "SecondObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "FirstObject", - "SecondObject", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "FirstObject", - "SecondObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "True" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "First object", - "name": "FirstObject", - "type": "objectList" - }, - { - "description": "Second object", - "name": "SecondObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Create an object link between moving objects that have a center point inside the center object.", - "fullName": "Create object link (if needed) between moving object and center object", - "functionType": "Action", - "name": "LinkObjectsPointInside", - "sentence": "Create an object link between _PARAM1_ that has a center point inside _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "CenterObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "CenterObject", - "MovingObject.BoundingBoxCenterX()", - "MovingObject.BoundingBoxCenterY()" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "CenterObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - }, - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] } ], "eventsBasedBehaviors": [ From a503a233c4dae8432cbbb3dc755a8f118fdefa9e Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 28 Apr 2023 06:44:22 -0600 Subject: [PATCH 14/33] Linked object based on distance to closest edge --- .../rectangular-movement.json | 472 +++++++++++++----- 1 file changed, 345 insertions(+), 127 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 19c5991fe..11d48fcaf 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -8096,155 +8096,373 @@ "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_", "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create object link (if one has not been created)", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "ObjectVariableAsBoolean" }, - "comment": "Create object link if one has not been created", - "comment2": "" - }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + } + ], + "actions": [], + "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "False" - ] - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Find closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "CenterObject", - "MovingObject.BoundingBoxCenterX()", - "MovingObject.BoundingBoxCenterY()" + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Set initial value if one doesn't exist or is lower than existing", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeX", + "=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeX", + ">", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeX", + "=", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeY", + "=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeY", + ">", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeY", + "=", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdge", + "=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdge", + ">", + "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdge", + "=", + "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" + ] + } + ] + } + ], + "parameters": [] + } + ] + } ] } ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update rectangular movement to follow the border of object", - "comment2": "" + "parameters": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Link objects that had the closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", + "=", + "MovingObject.Variable(DistanceToClosestEdge)" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } ] } ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update rectangular movement to follow the border of object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" + ] + } ] } ] } ] } - ] + ], + "parameters": [] } ], "parameters": [ From 5086ec93e1ec2c3589f4493e73ba0458b43c3f9c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 28 Apr 2023 20:18:15 -0600 Subject: [PATCH 15/33] Applied review suggestions --- .../assets/9patch_Bordered Hud_all_32.png | Bin 0 -> 716 bytes .../assets/tiled_Summer Tile Water.png | Bin 179 -> 0 bytes .../rectangular-movement.json | 399 ++++++++++-------- 3 files changed, 214 insertions(+), 185 deletions(-) create mode 100644 examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png delete mode 100644 examples/rectangular-movement/assets/tiled_Summer Tile Water.png diff --git a/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png b/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae30fb57b02f146824de813833a519da340a486 GIT binary patch literal 716 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5he4R}c>anM1_q`& zPZ!6KiaBrRdixzV5OLky$R}BOxqEG{Gh7ZA^ zoE#kaq6!KE3GdG?V)~Qd!u{#6pz#6z6{Q9(%#7c3L_{C3D@IL_Z{s=0!@+W6b3jOg zd`pI7orDpKF;LTar$EL!fm>DFkF-yIG5Hh8R8$=;Fkzn1gvYpMZ=4pNS^~&NMhQ*mAqF{&4INd(y7x zY{1M!tg9dfyy@Y#uerz1F~31ly7=b2b*wBO>KrPx8@@9q)#`S9XI`|I;h#`nsmFuA zK$}d3TN&(mE;jvfIKp!ye2&B+PR4h{1p&yijBewG`dd?09n=>(kT~yT^$hjnH|72u zzge{4^Fpp4i-NaWUiuSZ`>%Fc&FSLnzs2o>>$;vQGj3M7(xcc=x3Ki?>;8lBF^A+> zOC*2Pt85Y5sLpto_p;0%YtFSv91Efo&Wf&yuhHdOR()1t?>>eXuZ$;t{dYDRm^>Lg MUHx3vIVCg!0B|58G5`Po literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/tiled_Summer Tile Water.png b/examples/rectangular-movement/assets/tiled_Summer Tile Water.png deleted file mode 100644 index 7f4289b7c7193de7818c080336e4a76b477eb8ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F3${@^GvDCf{D46Q$ z;uunK>+J", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeX", + ">", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" ] } ], @@ -8191,7 +8258,7 @@ }, "parameters": [ "MovingObject", - "DistanceToClosestEdgeX", + "__RectangleMovement.DistanceToClosestEdgeX", "=", "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" ] @@ -8203,32 +8270,13 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "VarObjet" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdgeY", - "=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdgeY", - ">", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeY", + ">", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" ] } ], @@ -8239,7 +8287,7 @@ }, "parameters": [ "MovingObject", - "DistanceToClosestEdgeY", + "__RectangleMovement.DistanceToClosestEdgeY", "=", "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" ] @@ -8251,32 +8299,13 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "VarObjet" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdge", - "=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdge", - ">", - "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" - ] - } + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdge", + ">", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" ] } ], @@ -8287,9 +8316,9 @@ }, "parameters": [ "MovingObject", - "DistanceToClosestEdge", + "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" ] } ] @@ -8305,11 +8334,11 @@ "parameters": [] }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, + "colorB": 224, + "colorG": 16, + "colorR": 189, "creationTime": 0, - "name": "Link objects that had the closest distance", + "name": "Link objects that have the closest distance", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -8335,7 +8364,7 @@ "parameters": [ "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", "=", - "MovingObject.Variable(DistanceToClosestEdge)" + "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" ] } ], @@ -8385,13 +8414,13 @@ "events": [ { "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", + "object": "MovingObject", "conditions": [], "actions": [], "events": [ { "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", + "object": "CenterObject", "conditions": [], "actions": [], "events": [ From 15b54a9a23afa803be07f310d23959e50a0cf691 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 29 Apr 2023 02:20:36 +0000 Subject: [PATCH 16/33] Optimised images with calibre/image-actions --- .../assets/9patch_Bordered Hud_all_32.png | Bin 716 -> 524 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png b/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png index 0ae30fb57b02f146824de813833a519da340a486..d78abacbf4fa60e1d2d4fe1c6ea9b417245965ba 100644 GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5he4R}c>anM1_s7` zo-U3d6}R5rb@Xd75MfKudvIy0clj~r9UuAToiwgw^lz0EKI^bx>8)=EKTO<{5?1@< ze_8@Zt`*PAKfnFCJl5_zpX!SG$RGCVHx@l(-10{B?tYeql^@bs zA{sh)|F2=tY{~gCee#-E-Q#`l;=49*6M_}WUi|asaAokm-xK%nj@Q#V*4Yd#@#2g?f8hcL;usaK z)a%nHpiX2bQ=DVGvMbU;qXy zD?c?Hda~u=6>zgh}J@R3=K9f(ne`6_7@?tUj-|qgvt-SxZU%WD&n0D;^Es))wu6{1- HoD!ManM1_q`& zPZ!6KiaBrRdixzV5OLky$R}BOxqEG{Gh7ZA^ zoE#kaq6!KE3GdG?V)~Qd!u{#6pz#6z6{Q9(%#7c3L_{C3D@IL_Z{s=0!@+W6b3jOg zd`pI7orDpKF;LTar$EL!fm>DFkF-yIG5Hh8R8$=;Fkzn1gvYpMZ=4pNS^~&NMhQ*mAqF{&4INd(y7x zY{1M!tg9dfyy@Y#uerz1F~31ly7=b2b*wBO>KrPx8@@9q)#`S9XI`|I;h#`nsmFuA zK$}d3TN&(mE;jvfIKp!ye2&B+PR4h{1p&yijBewG`dd?09n=>(kT~yT^$hjnH|72u zzge{4^Fpp4i-NaWUiuSZ`>%Fc&FSLnzs2o>>$;vQGj3M7(xcc=x3Ki?>;8lBF^A+> zOC*2Pt85Y5sLpto_p;0%YtFSv91Efo&Wf&yuhHdOR()1t?>>eXuZ$;t{dYDRm^>Lg MUHx3vIVCg!0B|58G5`Po From 77d069d7e2d9abaa4875139a90fc3a5e3eae094e Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 4 May 2023 19:19:08 -0600 Subject: [PATCH 17/33] Applied more review suggestions to optimize performance Removed extra ForEach() loops and some redundant conditions --- .../rectangular-movement.json | 270 ++++++++---------- 1 file changed, 113 insertions(+), 157 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 7eddc4a24..2ae7359b7 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -2861,9 +2861,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ] } @@ -8144,11 +8144,11 @@ "actions": [], "events": [ { - "colorB": 224, - "colorG": 16, - "colorR": 189, + "colorB": 228, + "colorG": 176, + "colorR": 74, "creationTime": 0, - "name": "Find the value of the closest distance", + "name": "Set a valid initial value by picking any Center object", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -8159,98 +8159,74 @@ "actions": [], "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Set a valid initial value by picking any Center object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - "=", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeX", + "=", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - "=", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeY", + "=", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdge", - "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdge", + "=", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" ] } - ], - "parameters": [] + ] }, { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update value if distance is lower than existing minimum", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update value if distance is lower than existing minimum", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - ">", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } - ], + "conditions": [], "actions": [ { "type": { @@ -8267,19 +8243,7 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - ">", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } - ], + "conditions": [], "actions": [ { "type": { @@ -8323,75 +8287,67 @@ } ] } - ], - "parameters": [] + ] } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 224, - "colorG": 16, - "colorR": 189, - "creationTime": 0, - "name": "Link objects that have the closest distance", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ + ], + "parameters": [] + }, { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Link objects that have the closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", - "=", - "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", + "=", + "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } ] } ] } - ] + ], + "parameters": [] } ] } From 561099eaf5cbbcf765d5fc4e5d3db158b7c74b03 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 6 May 2023 08:42:12 -0600 Subject: [PATCH 18/33] Preparing to change to new functions --- .../rectangular-movement.json | 230 +++++++++++++++--- 1 file changed, 195 insertions(+), 35 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 2ae7359b7..99e0807bc 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -4000,18 +4000,6 @@ "", "" ] - }, - { - "type": { - "value": "RectangleMovement::MoveAlongBorderOfObject" - }, - "parameters": [ - "", - "Saws", - "RectangleMovement", - "SummerTileWater", - "" - ] } ] }, @@ -8111,6 +8099,123 @@ ], "dependencies": [], "eventsFunctions": [ + { + "description": "Distance to the closest vertical edge of an object", + "fullName": "Distance to the closest vertical edge of an object", + "functionType": "Expression", + "name": "DistanceToClosestVerticalEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min( abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Distance to the closest horizontal edge of an object", + "fullName": "Distance to the closest horizontal edge of an object", + "functionType": "Expression", + "name": "DistanceToClosestHorizontalEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min( abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Distance to the closest horizontal edge of an object", + "fullName": "Distance to the closest horizontal edge of an object", + "functionType": "Expression", + "name": "DistanceToClosestEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min( RectangleMovement::DistanceToClosestHorizontalEdge(CenterObject, MovingObject), RectangleMovement::DistanceToClosestVerticalEdge(CenterObject, MovingObject))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, { "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.", "fullName": "Update rectangular movement to follow the border of an object", @@ -8159,23 +8264,7 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - "=", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } - ] - }, - { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8193,6 +8282,7 @@ ] }, { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8225,6 +8315,20 @@ "actions": [], "events": [ { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the distance to the closest horizontal side", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8242,6 +8346,20 @@ ] }, { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the distance to the closest vertical side", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8259,20 +8377,39 @@ ] }, { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update min distance value if one of the sides is closer than the current min distance value", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "VarObjet" + "value": "ModVarObjet" }, "parameters": [ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", - ">", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" + "=", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" ] } - ], + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [ { "type": { @@ -8282,7 +8419,7 @@ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" ] } ] @@ -8307,9 +8444,32 @@ "conditions": [], "actions": [], "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, { "type": { "value": "BuiltinCommonInstructions::CompareNumbers" From caa9dc1b823d70db6f2f52817ffa743615712cbb Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 6 May 2023 08:47:04 -0600 Subject: [PATCH 19/33] Nice clean extension using new fancy functions :) --- .../rectangular-movement.json | 118 +----------------- 1 file changed, 3 insertions(+), 115 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 99e0807bc..82f8cf9da 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -8264,25 +8264,6 @@ "actions": [], "events": [ { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - "=", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } - ] - }, - { - "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8294,7 +8275,7 @@ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" + "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)" ] } ] @@ -8314,99 +8295,6 @@ "conditions": [], "actions": [], "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the distance to the closest horizontal side", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - "=", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the distance to the closest vertical side", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - "=", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update min distance value if one of the sides is closer than the current min distance value", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdge", - "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -8419,7 +8307,7 @@ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject))" ] } ] @@ -8475,7 +8363,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", + "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)", "=", "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" ] From 937df740726eb1887b4f90078349c7e42f342b01 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 6 May 2023 08:49:57 -0600 Subject: [PATCH 20/33] Make new functions private --- examples/rectangular-movement/rectangular-movement.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 82f8cf9da..468ca38f2 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -8104,6 +8104,7 @@ "fullName": "Distance to the closest vertical edge of an object", "functionType": "Expression", "name": "DistanceToClosestVerticalEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { @@ -8143,6 +8144,7 @@ "fullName": "Distance to the closest horizontal edge of an object", "functionType": "Expression", "name": "DistanceToClosestHorizontalEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { @@ -8182,6 +8184,7 @@ "fullName": "Distance to the closest horizontal edge of an object", "functionType": "Expression", "name": "DistanceToClosestEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { From 0410ff46119fa415a85c30c7013853f94b772ed4 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 14 May 2023 13:15:08 -0600 Subject: [PATCH 21/33] Removed unneeded ForEach(CenterObject) since object link picks correct Center object --- .../rectangular-movement.json | 148 +++++++++--------- 1 file changed, 70 insertions(+), 78 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 468ca38f2..268f17119 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -834,8 +834,8 @@ "name": "Saw_TopLeft", "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", "width": 0, - "x": 533, - "y": 197, + "x": 464, + "y": 177, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -849,8 +849,8 @@ "name": "Saw_BottomLeft", "persistentUuid": "dbc06742-fad8-46dc-bbfc-612eccf3fb8c", "width": 0, - "x": 540, - "y": 389, + "x": 471, + "y": 395, "zOrder": 30, "numberProperties": [], "stringProperties": [], @@ -864,8 +864,8 @@ "name": "Saw_BottomRight", "persistentUuid": "7ae8dd52-e6a8-498b-aec7-196c2afb86cf", "width": 0, - "x": 765, - "y": 387, + "x": 739, + "y": 421, "zOrder": 31, "numberProperties": [], "stringProperties": [], @@ -879,8 +879,8 @@ "name": "Saw_TopRight", "persistentUuid": "6e4401f1-56a3-47ff-a235-47330dcd02f3", "width": 0, - "x": 766, - "y": 199, + "x": 807, + "y": 222, "zOrder": 32, "numberProperties": [], "stringProperties": [], @@ -894,8 +894,8 @@ "name": "BorderedHud", "persistentUuid": "83a14713-1a5a-4447-8c1b-ab18e60abcb8", "width": 75, - "x": 612, - "y": 255, + "x": 608, + "y": 254, "zOrder": 10, "numberProperties": [], "stringProperties": [], @@ -909,7 +909,7 @@ "name": "BorderedHud", "persistentUuid": "fe4899a6-6668-4069-826d-c4fa511e0a8b", "width": 245, - "x": 529, + "x": 530, "y": 191, "zOrder": 0, "numberProperties": [], @@ -924,8 +924,8 @@ "name": "Saw_TopLeft", "persistentUuid": "da7b905c-98af-4b17-a585-4bb12938ad13", "width": 0, - "x": 652, - "y": 297, + "x": 646, + "y": 294, "zOrder": 33, "numberProperties": [], "stringProperties": [], @@ -8421,76 +8421,68 @@ "events": [ { "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", + "object": "CenterObject", "conditions": [], "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" - ] - } + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" ] } ] From 16b2bce30da09f498a880e7469569e08fed76a9d Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 14 May 2023 22:08:06 -0600 Subject: [PATCH 22/33] Fixed distance calculation when outside of an object - Added temp testing scene for new functions --- .../rectangular-movement/assets/NewSprite.png | Bin 0 -> 202 bytes .../assets/NewSprite2.png | Bin 0 -> 203 bytes .../rectangular-movement.json | 589 +++++++++++++++--- 3 files changed, 514 insertions(+), 75 deletions(-) create mode 100644 examples/rectangular-movement/assets/NewSprite.png create mode 100644 examples/rectangular-movement/assets/NewSprite2.png diff --git a/examples/rectangular-movement/assets/NewSprite.png b/examples/rectangular-movement/assets/NewSprite.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a789c21d9059733be6840770599a689122f7fa GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|T0C7GLn`9l zUS||!P~c%UOk-QwaY%;ar^3SHvtGZczQ?s+utEL-ONqk{=IKI97+5tN7`a-64=Au1 zb~y612^zE+0O=%wW(gkk1}H;0ffpoj1gJ*Bj{(YXJ0JxT04X+@!vJOUG?;cAv}%^W YkvOyQ+oaq5K=&|sy85}Sb4q9e0I5?u4*&oF literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/NewSprite2.png b/examples/rectangular-movement/assets/NewSprite2.png new file mode 100644 index 0000000000000000000000000000000000000000..ce577e73ce54cef52e9ca94205b1e3cde37ad9b4 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|T0LDHLn`9l zUS||!P~c%URO4m-F};yl;FF_Mzv=ax&-aPeDKpp~;C#_gz^=", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxBottom()" + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "min( abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + "min(\nmin(\nMovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop(), \nCenterObject.BoundingBoxBottom() - MovingObject.BoundingBoxCenterY()),\nmin(\nMovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft(), \nCenterObject.BoundingBoxRight() - MovingObject.BoundingBoxCenterX())\n)" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" }, { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Distance to the closest horizontal edge of an object", - "fullName": "Distance to the closest horizontal edge of an object", - "functionType": "Expression", - "name": "DistanceToClosestHorizontalEdge", - "private": true, - "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If point is outside rectangle, find distance to clamped position on rectangle", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + ">", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">", + "CenterObject.BoundingBoxBottom()" + ] + } + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "min( abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"MovingObject X:\" + ToString(MovingObject.BoundingBoxCenterX())", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"MovingObject Y:\" + ToString(MovingObject.BoundingBoxCenterY())", + "", + "" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" }, { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Distance to the closest horizontal edge of an object", - "fullName": "Distance to the closest horizontal edge of an object", - "functionType": "Expression", - "name": "DistanceToClosestEdge", - "private": true, - "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", - "events": [ - { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Not" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxBottom()" + ] + } + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "min( RectangleMovement::DistanceToClosestHorizontalEdge(CenterObject, MovingObject), RectangleMovement::DistanceToClosestVerticalEdge(CenterObject, MovingObject))" + "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", + "", + "" ] } ] From fe24c6d7a62530754f1539ee418260a01ab48406 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 04:11:42 +0000 Subject: [PATCH 23/33] Optimised images with calibre/image-actions --- .../rectangular-movement/assets/NewSprite.png | Bin 202 -> 179 bytes .../rectangular-movement/assets/NewSprite2.png | Bin 203 -> 180 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/rectangular-movement/assets/NewSprite.png b/examples/rectangular-movement/assets/NewSprite.png index b5a789c21d9059733be6840770599a689122f7fa..a2f27b70ee1f96783cde053f97c85abbbe5e7be6 100644 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkS(} zi(^Q|t+y8(1sNDv7z{F9M7=DFEUMQWP}==$vw(s_0|O%y3kOAvchM^igRGg4Oj!c7 OkipZ{&t;ucLK6TPt0lAm delta 174 zcmdnYc#3g?NGZx^prw85kH^JY5_^D&pQ=XB1>m;9)jQV_VsANQUF5!ouUT zUcafn$F*OuLH+?tiNg-&=|W2wST!6Nxmtt|D6koJIP$a!8nhVz=_G+>2_E$ZC__1c z7bI{5s7At%0m^VYAO#WtDppT2n8N^OB^mTIn06erYL>r|IJ5EFq}%;K2QhfM`njxg HN@xNAcf>dw diff --git a/examples/rectangular-movement/assets/NewSprite2.png b/examples/rectangular-movement/assets/NewSprite2.png index ce577e73ce54cef52e9ca94205b1e3cde37ad9b4..bf40c3b3beb9b16611148ad70739bbd2cf5e23d1 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkSJ( zi(^Q|t+y8(1sNDv7!0n8T(ECrds6T%qR}<%e7d4T0|O%y3x|LLC5$`Uiv%8dh573% Q0BvOOboFyt=akR{0IO~$TmS$7 delta 175 zcmdnOc$#s7NGZx^prw85kH^JzX3_D&pQ=XB1>m;9)jY<7NIay^&eqlcQ6= z>Ghk>_lediGuR*Ce9=(AuBYn3$Q97QB*LNI;K-9C&@92DoWPR^q>m`D8A|vuKpAca zq(A~4Ks5$)7@&-v22+rLK(mI#kpv4yu=XPf5{%gb&82Mi>rLk${4C__26PdFr>mdK II;Vst0Gc5*rvLx| From 5d678e3e85f2871664d68cd508e37161cefef6e4 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 1 Jun 2023 18:27:30 -0600 Subject: [PATCH 24/33] Cleanup of extension (remove console logs) The new 3D features also have created a lot of new things... --- .../rectangular-movement.json | 270 ++++-------------- 1 file changed, 56 insertions(+), 214 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 2811b942c..5fc15b24e 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -3999,8 +3999,7 @@ "textG": 0, "textR": 0 }, - "comment": "Non-behavior action (handles object linking)", - "comment2": "" + "comment": "Non-behavior action (handles object linking)" }, { "disabled": true, @@ -4048,9 +4047,14 @@ "ambientLightColorB": 0, "ambientLightColorG": 7893896, "ambientLightColorR": 16, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, "followBaseLayerCamera": false, "isLightingLayer": false, + "isLocked": false, "name": "", + "renderingType": "", "visibility": true, "cameras": [ { @@ -4225,9 +4229,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ], "animations": [ @@ -4305,9 +4309,14 @@ "ambientLightColorB": 9688048, "ambientLightColorG": 150995054, "ambientLightColorR": 1869182049, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, "followBaseLayerCamera": false, "isLightingLayer": false, + "isLocked": false, "name": "", + "renderingType": "", "visibility": true, "cameras": [ { @@ -4400,8 +4409,7 @@ "textG": 0, "textR": 0 }, - "comment": "Make sure object doesn't get re-drawn every frame", - "comment2": "" + "comment": "Make sure object doesn't get re-drawn every frame" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4428,8 +4436,7 @@ "textG": 0, "textR": 0 }, - "comment": "Use correct min value (instead of always starting at 0)", - "comment2": "" + "comment": "Use correct min value (instead of always starting at 0)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4458,8 +4465,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set track height function (which enforces valid thumb sizes)", - "comment2": "" + "comment": "Set track height function (which enforces valid thumb sizes)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4488,8 +4494,7 @@ "textG": 0, "textR": 0 }, - "comment": "Start halo at same size as thumb", - "comment2": "" + "comment": "Start halo at same size as thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4582,8 +4587,7 @@ "textG": 0, "textR": 0 }, - "comment": "Track where the mouse is (in relation to object)", - "comment2": "" + "comment": "Track where the mouse is (in relation to object)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4623,8 +4627,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move slider when being dragged", - "comment2": "" + "comment": "Move slider when being dragged" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4673,8 +4676,7 @@ "textG": 0, "textR": 0 }, - "comment": "End sliding and update variables", - "comment2": "" + "comment": "End sliding and update variables" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4712,8 +4714,7 @@ "textG": 0, "textR": 0 }, - "comment": "Update \"Value\" based on the location of the thumb", - "comment2": "" + "comment": "Update \"Value\" based on the location of the thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4742,8 +4743,7 @@ "textG": 0, "textR": 0 }, - "comment": "Grow halo even more when pressed", - "comment2": "" + "comment": "Grow halo even more when pressed" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4774,8 +4774,7 @@ "textG": 0, "textR": 0 }, - "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)", - "comment2": "" + "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4803,8 +4802,7 @@ "textG": 0, "textR": 0 }, - "comment": "Detect mouse clicks near track, start dragging", - "comment2": "" + "comment": "Detect mouse clicks near track, start dragging" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4906,8 +4904,7 @@ "textG": 0, "textR": 0 }, - "comment": "Reset hover detection ", - "comment2": "" + "comment": "Reset hover detection " }, { "type": "BuiltinCommonInstructions::Standard", @@ -4935,8 +4932,7 @@ "textG": 0, "textR": 0 }, - "comment": "Grow halo when hovered", - "comment2": "" + "comment": "Grow halo when hovered" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5026,8 +5022,7 @@ "textG": 0, "textR": 0 }, - "comment": "Shrink halo to zero when not hovered", - "comment2": "" + "comment": "Shrink halo to zero when not hovered" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5088,8 +5083,7 @@ "textG": 0, "textR": 0 }, - "comment": "Redraw slider only when halo is not at final size", - "comment2": "" + "comment": "Redraw slider only when halo is not at final size" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5275,8 +5269,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set inactive track parameters (by default, use thumb color)", - "comment2": "" + "comment": "Set inactive track parameters (by default, use thumb color)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5368,8 +5361,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw inactive track", - "comment2": "" + "comment": "Draw inactive track" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5399,8 +5391,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw half circle at end of track (inactive side)", - "comment2": "" + "comment": "Draw half circle at end of track (inactive side)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5455,8 +5446,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set active track parameters (by default, use thumb color)", - "comment2": "" + "comment": "Set active track parameters (by default, use thumb color)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5538,8 +5528,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw active track (2 pixels bigger than property) ", - "comment2": "" + "comment": "Draw active track (2 pixels bigger than property) " }, { "type": "BuiltinCommonInstructions::Standard", @@ -5569,8 +5558,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw half circle at end of track (active side)", - "comment2": "" + "comment": "Draw half circle at end of track (active side)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5642,8 +5630,7 @@ "textG": 0, "textR": 0 }, - "comment": "Prepare halo", - "comment2": "" + "comment": "Prepare halo" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5680,8 +5667,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw halo (it will grow or shrink as needed)", - "comment2": "" + "comment": "Draw halo (it will grow or shrink as needed)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5731,8 +5717,7 @@ "textG": 0, "textR": 0 }, - "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)", - "comment2": "" + "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5795,8 +5780,7 @@ "textG": 0, "textR": 0 }, - "comment": "Prepare thumb settings", - "comment2": "" + "comment": "Prepare thumb settings" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5833,8 +5817,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw Circle thumb", - "comment2": "" + "comment": "Draw Circle thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5875,8 +5858,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw Rectangle thumb", - "comment2": "" + "comment": "Draw Rectangle thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6075,8 +6057,7 @@ "textG": 0, "textR": 0 }, - "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)", - "comment2": "" + "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6104,8 +6085,7 @@ "textG": 0, "textR": 0 }, - "comment": "Reset halo size (so halo won't appear when slider gets enabled)", - "comment2": "" + "comment": "Reset halo size (so halo won't appear when slider gets enabled)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6365,8 +6345,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set the proper offset (it moves the slider)", - "comment2": "" + "comment": "Set the proper offset (it moves the slider)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6903,8 +6882,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move thumb to correct place (based on new track size)", - "comment2": "" + "comment": "Move thumb to correct place (based on new track size)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6990,8 +6968,7 @@ "textG": 0, "textR": 0 }, - "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)", - "comment2": "" + "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -7091,8 +7068,7 @@ "textG": 0, "textR": 0 }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -7177,8 +7153,7 @@ "textG": 0, "textR": 0 }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -7461,8 +7436,7 @@ "textG": 0, "textR": 0 }, - "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)", - "comment2": "" + "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -8382,8 +8356,7 @@ "textG": 0, "textR": 0 }, - "comment": "If point is inside rectangle, just use min distance", - "comment2": "" + "comment": "If point is inside rectangle, just use min distance" }, { "type": "BuiltinCommonInstructions::Standard", @@ -8450,8 +8423,7 @@ "textG": 0, "textR": 0 }, - "comment": "If point is outside rectangle, find distance to clamped position on rectangle", - "comment2": "" + "comment": "If point is outside rectangle, find distance to clamped position on rectangle" }, { "type": "BuiltinCommonInstructions::Standard", @@ -8513,130 +8485,6 @@ "parameters": [ "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"MovingObject X:\" + ToString(MovingObject.BoundingBoxCenterX())", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"MovingObject Y:\" + ToString(MovingObject.BoundingBoxCenterY())", - "", - "" - ] - } - ] - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Not" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - ">=", - "CenterObject.BoundingBoxLeft()" - ] - }, - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - "<=", - "CenterObject.BoundingBoxRight()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - ">=", - "CenterObject.BoundingBoxTop()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - "<=", - "CenterObject.BoundingBoxBottom()" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", - "", - "" - ] } ] } @@ -8784,8 +8632,7 @@ "textG": 0, "textR": 0 }, - "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)", - "comment2": "" + "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -9004,8 +8851,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set the initial state according to the configuration.", - "comment2": "" + "comment": "Set the initial state according to the configuration." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9154,8 +9000,7 @@ "textG": 0, "textR": 0 }, - "comment": "Update the rectangle when the object is moved outside of the behavior.", - "comment2": "" + "comment": "Update the rectangle when the object is moved outside of the behavior." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9195,8 +9040,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move the object on the rectangular path.", - "comment2": "" + "comment": "Move the object on the rectangular path." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9226,8 +9070,7 @@ "textG": 0, "textR": 0 }, - "comment": "Save the position to detect when the object is moved outside of the behavior.", - "comment2": "" + "comment": "Save the position to detect when the object is moved outside of the behavior." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9289,8 +9132,7 @@ "textG": 0, "textR": 0 }, - "comment": "Step on the path.", - "comment2": "" + "comment": "Step on the path." }, { "type": "BuiltinCommonInstructions::Standard", From 034c966b69f88d7cb7e63a41a2a777426aed6507 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 2 Jun 2023 19:28:18 -0600 Subject: [PATCH 25/33] Initial commit (moving-saw-platformer) --- .../README.md | 0 .../assets/9patch_Bordered Hud_all_32.png | Bin .../assets/Bottom arrow round button.png | Bin .../assets/Bottom arrow round button2.png | Bin .../assets/BottomLeftButton.png | Bin .../assets/BottomLeftButton2.png | Bin .../assets/BottomLeftCorner.png | Bin .../assets/BottomLeftCorner2.png | Bin .../assets/BottomRightButton.png | Bin .../assets/BottomRightButton2.png | Bin .../assets/BottomRightCorner.png | Bin .../assets/BottomRightCorner2.png | Bin .../moving-saw-platformer/assets/Bubble.png | Bin 0 -> 5255 bytes .../moving-saw-platformer/assets/Climb.png | Bin 0 -> 5633 bytes .../moving-saw-platformer/assets/Climb10.png | Bin 0 -> 5675 bytes .../moving-saw-platformer/assets/Climb11.png | Bin 0 -> 5543 bytes .../moving-saw-platformer/assets/Climb12.png | Bin 0 -> 5543 bytes .../moving-saw-platformer/assets/Climb13.png | Bin 0 -> 5510 bytes .../moving-saw-platformer/assets/Climb14.png | Bin 0 -> 5510 bytes .../moving-saw-platformer/assets/Climb15.png | Bin 0 -> 5562 bytes .../moving-saw-platformer/assets/Climb16.png | Bin 0 -> 5562 bytes .../moving-saw-platformer/assets/Climb2.png | Bin 0 -> 5633 bytes .../moving-saw-platformer/assets/Climb3.png | Bin 0 -> 5562 bytes .../moving-saw-platformer/assets/Climb4.png | Bin 0 -> 5562 bytes .../moving-saw-platformer/assets/Climb5.png | Bin 0 -> 5510 bytes .../moving-saw-platformer/assets/Climb6.png | Bin 0 -> 5510 bytes .../moving-saw-platformer/assets/Climb7.png | Bin 0 -> 5543 bytes .../moving-saw-platformer/assets/Climb8.png | Bin 0 -> 5543 bytes .../moving-saw-platformer/assets/Climb9.png | Bin 0 -> 5675 bytes .../assets/Gold Lingo.png | Bin 0 -> 3045 bytes .../assets/GreenHero_Climb_1.png | Bin 0 -> 10535 bytes .../assets/GreenHero_Climb_10.png | Bin 0 -> 10390 bytes .../assets/GreenHero_Climb_11.png | Bin 0 -> 9690 bytes .../assets/GreenHero_Climb_12.png | Bin 0 -> 9690 bytes .../assets/GreenHero_Climb_13.png | Bin 0 -> 9552 bytes .../assets/GreenHero_Climb_14.png | Bin 0 -> 9552 bytes .../assets/GreenHero_Climb_15.png | Bin 0 -> 9801 bytes .../assets/GreenHero_Climb_16.png | Bin 0 -> 9801 bytes .../assets/GreenHero_Climb_2.png | Bin 0 -> 10535 bytes .../assets/GreenHero_Climb_3.png | Bin 0 -> 9801 bytes .../assets/GreenHero_Climb_4.png | Bin 0 -> 9801 bytes .../assets/GreenHero_Climb_5.png | Bin 0 -> 9552 bytes .../assets/GreenHero_Climb_6.png | Bin 0 -> 9552 bytes .../assets/GreenHero_Climb_7.png | Bin 0 -> 9690 bytes .../assets/GreenHero_Climb_8.png | Bin 0 -> 9690 bytes .../assets/GreenHero_Climb_9.png | Bin 0 -> 10390 bytes .../assets/GreenHero_Fire_1.png | Bin 0 -> 9282 bytes .../assets/GreenHero_Fire_10.png | Bin 0 -> 9918 bytes .../assets/GreenHero_Fire_11.png | Bin 0 -> 9911 bytes .../assets/GreenHero_Fire_12.png | Bin 0 -> 10097 bytes .../assets/GreenHero_Fire_13.png | Bin 0 -> 10189 bytes .../assets/GreenHero_Fire_14.png | Bin 0 -> 10189 bytes .../assets/GreenHero_Fire_15.png | Bin 0 -> 9953 bytes .../assets/GreenHero_Fire_16.png | Bin 0 -> 9953 bytes .../assets/GreenHero_Fire_17.png | Bin 0 -> 9693 bytes .../assets/GreenHero_Fire_18.png | Bin 0 -> 9693 bytes .../assets/GreenHero_Fire_19.png | Bin 0 -> 9099 bytes .../assets/GreenHero_Fire_2.png | Bin 0 -> 9481 bytes .../assets/GreenHero_Fire_20.png | Bin 0 -> 9099 bytes .../assets/GreenHero_Fire_3.png | Bin 0 -> 9493 bytes .../assets/GreenHero_Fire_4.png | Bin 0 -> 9991 bytes .../assets/GreenHero_Fire_5.png | Bin 0 -> 10043 bytes .../assets/GreenHero_Fire_6.png | Bin 0 -> 10193 bytes .../assets/GreenHero_Fire_7.png | Bin 0 -> 10187 bytes .../assets/GreenHero_Fire_8.png | Bin 0 -> 10332 bytes .../assets/GreenHero_Fire_9.png | Bin 0 -> 9915 bytes .../assets/GreenHero_Idle_1.png | Bin 0 -> 8487 bytes .../assets/GreenHero_Idle_10.png | Bin 0 -> 8856 bytes .../assets/GreenHero_Idle_11.png | Bin 0 -> 8925 bytes .../assets/GreenHero_Idle_12.png | Bin 0 -> 8925 bytes .../assets/GreenHero_Idle_13.png | Bin 0 -> 8846 bytes .../assets/GreenHero_Idle_14.png | Bin 0 -> 8846 bytes .../assets/GreenHero_Idle_15.png | Bin 0 -> 8699 bytes .../assets/GreenHero_Idle_16.png | Bin 0 -> 8699 bytes .../assets/GreenHero_Idle_17.png | Bin 0 -> 8699 bytes .../assets/GreenHero_Idle_18.png | Bin 0 -> 8597 bytes .../assets/GreenHero_Idle_19.png | Bin 0 -> 8597 bytes .../assets/GreenHero_Idle_2.png | Bin 0 -> 8487 bytes .../assets/GreenHero_Idle_20.png | Bin 0 -> 8597 bytes .../assets/GreenHero_Idle_3.png | Bin 0 -> 8487 bytes .../assets/GreenHero_Idle_4.png | Bin 0 -> 8597 bytes .../assets/GreenHero_Idle_5.png | Bin 0 -> 8597 bytes .../assets/GreenHero_Idle_6.png | Bin 0 -> 8597 bytes .../assets/GreenHero_Idle_7.png | Bin 0 -> 8676 bytes .../assets/GreenHero_Idle_8.png | Bin 0 -> 8676 bytes .../assets/GreenHero_Idle_9.png | Bin 0 -> 8856 bytes .../assets/GreenHero_Jump_1.png | Bin 0 -> 8833 bytes .../assets/GreenHero_Jump_10.png | Bin 0 -> 9191 bytes .../assets/GreenHero_Jump_11.png | Bin 0 -> 9278 bytes .../assets/GreenHero_Jump_12.png | Bin 0 -> 9278 bytes .../assets/GreenHero_Jump_13.png | Bin 0 -> 9319 bytes .../assets/GreenHero_Jump_14.png | Bin 0 -> 9319 bytes .../assets/GreenHero_Jump_15.png | Bin 0 -> 9319 bytes .../assets/GreenHero_Jump_16.png | Bin 0 -> 9319 bytes .../assets/GreenHero_Jump_17.png | Bin 0 -> 9319 bytes .../assets/GreenHero_Jump_2.png | Bin 0 -> 8833 bytes .../assets/GreenHero_Jump_3.png | Bin 0 -> 8909 bytes .../assets/GreenHero_Jump_4.png | Bin 0 -> 8909 bytes .../assets/GreenHero_Jump_5.png | Bin 0 -> 8798 bytes .../assets/GreenHero_Jump_6.png | Bin 0 -> 8798 bytes .../assets/GreenHero_Jump_7.png | Bin 0 -> 9146 bytes .../assets/GreenHero_Jump_8.png | Bin 0 -> 9117 bytes .../assets/GreenHero_Jump_9.png | Bin 0 -> 9191 bytes .../assets/GreenHero_Pose1.png | Bin 0 -> 10172 bytes .../assets/GreenHero_Pose2.png | Bin 0 -> 8925 bytes .../assets/GreenHero_Punch_1.png | Bin 0 -> 9371 bytes .../assets/GreenHero_Punch_10.png | Bin 0 -> 8756 bytes .../assets/GreenHero_Punch_11.png | Bin 0 -> 8756 bytes .../assets/GreenHero_Punch_12.png | Bin 0 -> 8756 bytes .../assets/GreenHero_Punch_13.png | Bin 0 -> 8756 bytes .../assets/GreenHero_Punch_2.png | Bin 0 -> 9791 bytes .../assets/GreenHero_Punch_3.png | Bin 0 -> 9791 bytes .../assets/GreenHero_Punch_4.png | Bin 0 -> 10172 bytes .../assets/GreenHero_Punch_5.png | Bin 0 -> 10172 bytes .../assets/GreenHero_Punch_6.png | Bin 0 -> 10172 bytes .../assets/GreenHero_Punch_7.png | Bin 0 -> 8877 bytes .../assets/GreenHero_Punch_8.png | Bin 0 -> 8877 bytes .../assets/GreenHero_Punch_9.png | Bin 0 -> 8942 bytes .../assets/GreenHero_Run_1.png | Bin 0 -> 8711 bytes .../assets/GreenHero_Run_10.png | Bin 0 -> 8440 bytes .../assets/GreenHero_Run_11.png | Bin 0 -> 9299 bytes .../assets/GreenHero_Run_12.png | Bin 0 -> 9299 bytes .../assets/GreenHero_Run_13.png | Bin 0 -> 9111 bytes .../assets/GreenHero_Run_14.png | Bin 0 -> 9111 bytes .../assets/GreenHero_Run_2.png | Bin 0 -> 8185 bytes .../assets/GreenHero_Run_3.png | Bin 0 -> 8789 bytes .../assets/GreenHero_Run_4.png | Bin 0 -> 9035 bytes .../assets/GreenHero_Run_5.png | Bin 0 -> 8996 bytes .../assets/GreenHero_Run_6.png | Bin 0 -> 8996 bytes .../assets/GreenHero_Run_7.png | Bin 0 -> 9290 bytes .../assets/GreenHero_Run_8.png | Bin 0 -> 8527 bytes .../assets/GreenHero_Run_9.png | Bin 0 -> 8253 bytes .../assets/HorizontalEdgeIcon.png | Bin .../assets/HorizontalEdgeIcon2.png | Bin .../moving-saw-platformer/assets/Idle.png | Bin 0 -> 4822 bytes .../moving-saw-platformer/assets/Idle10.png | Bin 0 -> 4910 bytes .../moving-saw-platformer/assets/Idle11.png | Bin 0 -> 4887 bytes .../moving-saw-platformer/assets/Idle12.png | Bin 0 -> 4887 bytes .../moving-saw-platformer/assets/Idle13.png | Bin 0 -> 4871 bytes .../moving-saw-platformer/assets/Idle14.png | Bin 0 -> 4871 bytes .../moving-saw-platformer/assets/Idle15.png | Bin 0 -> 4885 bytes .../moving-saw-platformer/assets/Idle16.png | Bin 0 -> 4885 bytes .../moving-saw-platformer/assets/Idle17.png | Bin 0 -> 4885 bytes .../moving-saw-platformer/assets/Idle18.png | Bin 0 -> 4749 bytes .../moving-saw-platformer/assets/Idle19.png | Bin 0 -> 4749 bytes .../moving-saw-platformer/assets/Idle2.png | Bin 0 -> 4822 bytes .../moving-saw-platformer/assets/Idle20.png | Bin 0 -> 4749 bytes .../moving-saw-platformer/assets/Idle21.png | Bin 0 -> 4713 bytes .../moving-saw-platformer/assets/Idle22.png | Bin 0 -> 4713 bytes .../moving-saw-platformer/assets/Idle23.png | Bin 0 -> 4713 bytes .../moving-saw-platformer/assets/Idle24.png | Bin 0 -> 4646 bytes .../moving-saw-platformer/assets/Idle25.png | Bin 0 -> 4646 bytes .../moving-saw-platformer/assets/Idle26.png | Bin 0 -> 4646 bytes .../moving-saw-platformer/assets/Idle27.png | Bin 0 -> 4791 bytes .../moving-saw-platformer/assets/Idle28.png | Bin 0 -> 4791 bytes .../moving-saw-platformer/assets/Idle29.png | Bin 0 -> 4786 bytes .../moving-saw-platformer/assets/Idle3.png | Bin 0 -> 4822 bytes .../moving-saw-platformer/assets/Idle30.png | Bin 0 -> 4786 bytes .../moving-saw-platformer/assets/Idle31.png | Bin 0 -> 4763 bytes .../moving-saw-platformer/assets/Idle32.png | Bin 0 -> 4763 bytes .../moving-saw-platformer/assets/Idle33.png | Bin 0 -> 4747 bytes .../moving-saw-platformer/assets/Idle34.png | Bin 0 -> 4747 bytes .../moving-saw-platformer/assets/Idle35.png | Bin 0 -> 4784 bytes .../moving-saw-platformer/assets/Idle36.png | Bin 0 -> 4784 bytes .../moving-saw-platformer/assets/Idle37.png | Bin 0 -> 4784 bytes .../moving-saw-platformer/assets/Idle38.png | Bin 0 -> 4646 bytes .../moving-saw-platformer/assets/Idle39.png | Bin 0 -> 4646 bytes .../moving-saw-platformer/assets/Idle4.png | Bin 0 -> 4749 bytes .../moving-saw-platformer/assets/Idle40.png | Bin 0 -> 4646 bytes .../moving-saw-platformer/assets/Idle41.png | Bin 0 -> 4684 bytes .../moving-saw-platformer/assets/Idle42.png | Bin 0 -> 4684 bytes .../moving-saw-platformer/assets/Idle43.png | Bin 0 -> 4684 bytes .../moving-saw-platformer/assets/Idle44.png | Bin 0 -> 4617 bytes .../moving-saw-platformer/assets/Idle45.png | Bin 0 -> 4617 bytes .../moving-saw-platformer/assets/Idle46.png | Bin 0 -> 4617 bytes .../moving-saw-platformer/assets/Idle47.png | Bin 0 -> 4761 bytes .../moving-saw-platformer/assets/Idle48.png | Bin 0 -> 4761 bytes .../moving-saw-platformer/assets/Idle49.png | Bin 0 -> 4757 bytes .../moving-saw-platformer/assets/Idle5.png | Bin 0 -> 4749 bytes .../moving-saw-platformer/assets/Idle50.png | Bin 0 -> 4757 bytes .../moving-saw-platformer/assets/Idle51.png | Bin 0 -> 4736 bytes .../moving-saw-platformer/assets/Idle52.png | Bin 0 -> 4736 bytes .../moving-saw-platformer/assets/Idle53.png | Bin 0 -> 4719 bytes .../moving-saw-platformer/assets/Idle54.png | Bin 0 -> 4719 bytes .../moving-saw-platformer/assets/Idle55.png | Bin 0 -> 4754 bytes .../moving-saw-platformer/assets/Idle56.png | Bin 0 -> 4754 bytes .../moving-saw-platformer/assets/Idle57.png | Bin 0 -> 4754 bytes .../moving-saw-platformer/assets/Idle58.png | Bin 0 -> 4617 bytes .../moving-saw-platformer/assets/Idle59.png | Bin 0 -> 4617 bytes .../moving-saw-platformer/assets/Idle6.png | Bin 0 -> 4749 bytes .../moving-saw-platformer/assets/Idle60.png | Bin 0 -> 4617 bytes .../moving-saw-platformer/assets/Idle7.png | Bin 0 -> 4896 bytes .../moving-saw-platformer/assets/Idle8.png | Bin 0 -> 4896 bytes .../moving-saw-platformer/assets/Idle9.png | Bin 0 -> 4910 bytes .../moving-saw-platformer/assets/Jump.png | Bin 0 -> 5035 bytes .../moving-saw-platformer/assets/Jump10.png | Bin 0 -> 5255 bytes .../moving-saw-platformer/assets/Jump11.png | Bin 0 -> 5293 bytes .../moving-saw-platformer/assets/Jump12.png | Bin 0 -> 5293 bytes .../moving-saw-platformer/assets/Jump13.png | Bin 0 -> 5296 bytes .../moving-saw-platformer/assets/Jump14.png | Bin 0 -> 5296 bytes .../moving-saw-platformer/assets/Jump15.png | Bin 0 -> 5296 bytes .../moving-saw-platformer/assets/Jump16.png | Bin 0 -> 5296 bytes .../moving-saw-platformer/assets/Jump17.png | Bin 0 -> 5296 bytes .../moving-saw-platformer/assets/Jump18.png | Bin 0 -> 4912 bytes .../moving-saw-platformer/assets/Jump19.png | Bin 0 -> 4912 bytes .../moving-saw-platformer/assets/Jump2.png | Bin 0 -> 5035 bytes .../moving-saw-platformer/assets/Jump20.png | Bin 0 -> 4883 bytes .../moving-saw-platformer/assets/Jump21.png | Bin 0 -> 4883 bytes .../moving-saw-platformer/assets/Jump22.png | Bin 0 -> 4711 bytes .../moving-saw-platformer/assets/Jump23.png | Bin 0 -> 4711 bytes .../moving-saw-platformer/assets/Jump24.png | Bin 0 -> 5121 bytes .../moving-saw-platformer/assets/Jump25.png | Bin 0 -> 5135 bytes .../moving-saw-platformer/assets/Jump26.png | Bin 0 -> 5111 bytes .../moving-saw-platformer/assets/Jump27.png | Bin 0 -> 5111 bytes .../moving-saw-platformer/assets/Jump28.png | Bin 0 -> 5158 bytes .../moving-saw-platformer/assets/Jump29.png | Bin 0 -> 5158 bytes .../moving-saw-platformer/assets/Jump3.png | Bin 0 -> 5039 bytes .../moving-saw-platformer/assets/Jump30.png | Bin 0 -> 5142 bytes .../moving-saw-platformer/assets/Jump31.png | Bin 0 -> 5142 bytes .../moving-saw-platformer/assets/Jump32.png | Bin 0 -> 5142 bytes .../moving-saw-platformer/assets/Jump33.png | Bin 0 -> 5142 bytes .../moving-saw-platformer/assets/Jump34.png | Bin 0 -> 5142 bytes .../moving-saw-platformer/assets/Jump35.png | Bin 0 -> 4883 bytes .../moving-saw-platformer/assets/Jump36.png | Bin 0 -> 4883 bytes .../moving-saw-platformer/assets/Jump37.png | Bin 0 -> 4855 bytes .../moving-saw-platformer/assets/Jump38.png | Bin 0 -> 4855 bytes .../moving-saw-platformer/assets/Jump39.png | Bin 0 -> 4685 bytes .../moving-saw-platformer/assets/Jump4.png | Bin 0 -> 5039 bytes .../moving-saw-platformer/assets/Jump40.png | Bin 0 -> 4685 bytes .../moving-saw-platformer/assets/Jump41.png | Bin 0 -> 5091 bytes .../moving-saw-platformer/assets/Jump42.png | Bin 0 -> 5104 bytes .../moving-saw-platformer/assets/Jump43.png | Bin 0 -> 5080 bytes .../moving-saw-platformer/assets/Jump44.png | Bin 0 -> 5080 bytes .../moving-saw-platformer/assets/Jump45.png | Bin 0 -> 5127 bytes .../moving-saw-platformer/assets/Jump46.png | Bin 0 -> 5127 bytes .../moving-saw-platformer/assets/Jump47.png | Bin 0 -> 5109 bytes .../moving-saw-platformer/assets/Jump48.png | Bin 0 -> 5109 bytes .../moving-saw-platformer/assets/Jump49.png | Bin 0 -> 5109 bytes .../moving-saw-platformer/assets/Jump5.png | Bin 0 -> 4846 bytes .../moving-saw-platformer/assets/Jump50.png | Bin 0 -> 5109 bytes .../moving-saw-platformer/assets/Jump51.png | Bin 0 -> 5109 bytes .../moving-saw-platformer/assets/Jump6.png | Bin 0 -> 4846 bytes .../moving-saw-platformer/assets/Jump7.png | Bin 0 -> 5221 bytes .../moving-saw-platformer/assets/Jump8.png | Bin 0 -> 5236 bytes .../moving-saw-platformer/assets/Jump9.png | Bin 0 -> 5255 bytes .../assets/Launch round button.png | Bin .../assets/Launch round button2.png | Bin .../assets/Left arrow round button.png | Bin .../assets/Left arrow round button2.png | Bin .../assets/NewSprite.png | Bin .../assets/NewSprite2.png | Bin .../moving-saw-platformer/assets/Punch.png | Bin 0 -> 5407 bytes .../moving-saw-platformer/assets/Punch10.png | Bin 0 -> 4808 bytes .../moving-saw-platformer/assets/Punch11.png | Bin 0 -> 4808 bytes .../moving-saw-platformer/assets/Punch12.png | Bin 0 -> 4808 bytes .../moving-saw-platformer/assets/Punch13.png | Bin 0 -> 4808 bytes .../moving-saw-platformer/assets/Punch14.png | Bin 0 -> 5197 bytes .../moving-saw-platformer/assets/Punch15.png | Bin 0 -> 5012 bytes .../moving-saw-platformer/assets/Punch16.png | Bin 0 -> 5012 bytes .../moving-saw-platformer/assets/Punch17.png | Bin 0 -> 4888 bytes .../moving-saw-platformer/assets/Punch18.png | Bin 0 -> 4888 bytes .../moving-saw-platformer/assets/Punch19.png | Bin 0 -> 4888 bytes .../moving-saw-platformer/assets/Punch2.png | Bin 0 -> 5313 bytes .../moving-saw-platformer/assets/Punch20.png | Bin 0 -> 4640 bytes .../moving-saw-platformer/assets/Punch21.png | Bin 0 -> 4640 bytes .../moving-saw-platformer/assets/Punch22.png | Bin 0 -> 4464 bytes .../moving-saw-platformer/assets/Punch23.png | Bin 0 -> 4389 bytes .../moving-saw-platformer/assets/Punch24.png | Bin 0 -> 4389 bytes .../moving-saw-platformer/assets/Punch25.png | Bin 0 -> 4389 bytes .../moving-saw-platformer/assets/Punch26.png | Bin 0 -> 4389 bytes .../moving-saw-platformer/assets/Punch3.png | Bin 0 -> 5313 bytes .../moving-saw-platformer/assets/Punch4.png | Bin 0 -> 5578 bytes .../moving-saw-platformer/assets/Punch5.png | Bin 0 -> 5578 bytes .../moving-saw-platformer/assets/Punch6.png | Bin 0 -> 5578 bytes .../moving-saw-platformer/assets/Punch7.png | Bin 0 -> 4781 bytes .../moving-saw-platformer/assets/Punch8.png | Bin 0 -> 4781 bytes .../moving-saw-platformer/assets/Punch9.png | Bin 0 -> 4857 bytes .../assets/Red hero_Climb_1.png | Bin 0 -> 3554 bytes .../assets/Red hero_Climb_10.png | Bin 0 -> 3554 bytes .../assets/Red hero_Climb_11.png | Bin 0 -> 3653 bytes .../assets/Red hero_Climb_12.png | Bin 0 -> 3620 bytes .../assets/Red hero_Climb_2.png | Bin 0 -> 3573 bytes .../assets/Red hero_Climb_3.png | Bin 0 -> 3457 bytes .../assets/Red hero_Climb_4.png | Bin 0 -> 3412 bytes .../assets/Red hero_Climb_5.png | Bin 0 -> 3409 bytes .../assets/Red hero_Climb_6.png | Bin 0 -> 3566 bytes .../assets/Red hero_Climb_7.png | Bin 0 -> 3520 bytes .../assets/Red hero_Climb_8.png | Bin 0 -> 3492 bytes .../assets/Red hero_Climb_9.png | Bin 0 -> 3566 bytes .../assets/Red hero_Fall.png | Bin 0 -> 4200 bytes .../assets/Red hero_Idle_1.png | Bin 0 -> 3781 bytes .../assets/Red hero_Idle_2.png | Bin 0 -> 3801 bytes .../assets/Red hero_Idle_3.png | Bin 0 -> 3838 bytes .../assets/Red hero_Idle_4.png | Bin 0 -> 3801 bytes .../assets/Red hero_Jump.png | Bin 0 -> 4085 bytes .../assets/Red hero_Run_1.png | Bin 0 -> 4133 bytes .../assets/Red hero_Run_10.png | Bin 0 -> 3983 bytes .../assets/Red hero_Run_11.png | Bin 0 -> 4225 bytes .../assets/Red hero_Run_12.png | Bin 0 -> 4235 bytes .../assets/Red hero_Run_13.png | Bin 0 -> 4335 bytes .../assets/Red hero_Run_14.png | Bin 0 -> 4342 bytes .../assets/Red hero_Run_15.png | Bin 0 -> 4367 bytes .../assets/Red hero_Run_16.png | Bin 0 -> 4041 bytes .../assets/Red hero_Run_17.png | Bin 0 -> 3973 bytes .../assets/Red hero_Run_18.png | Bin 0 -> 3800 bytes .../assets/Red hero_Run_19.png | Bin 0 -> 4310 bytes .../assets/Red hero_Run_2.png | Bin 0 -> 4143 bytes .../assets/Red hero_Run_3.png | Bin 0 -> 3951 bytes .../assets/Red hero_Run_4.png | Bin 0 -> 3438 bytes .../assets/Red hero_Run_5.png | Bin 0 -> 3796 bytes .../assets/Red hero_Run_6.png | Bin 0 -> 4055 bytes .../assets/Red hero_Run_7.png | Bin 0 -> 3830 bytes .../assets/Red hero_Run_8.png | Bin 0 -> 4160 bytes .../assets/Red hero_Run_9.png | Bin 0 -> 4111 bytes .../assets/Red playerShip (1).png | Bin .../assets/Red playerShip (1)2.png | Bin .../assets/Right arrow round button.png | Bin .../assets/Right arrow round button2.png | Bin examples/moving-saw-platformer/assets/Run.png | Bin 0 -> 4824 bytes .../moving-saw-platformer/assets/Run10.png | Bin 0 -> 4886 bytes .../moving-saw-platformer/assets/Run11.png | Bin 0 -> 5097 bytes .../moving-saw-platformer/assets/Run12.png | Bin 0 -> 5097 bytes .../moving-saw-platformer/assets/Run13.png | Bin 0 -> 5013 bytes .../moving-saw-platformer/assets/Run14.png | Bin 0 -> 5013 bytes .../moving-saw-platformer/assets/Run15.png | Bin 0 -> 4683 bytes .../moving-saw-platformer/assets/Run16.png | Bin 0 -> 4459 bytes .../moving-saw-platformer/assets/Run17.png | Bin 0 -> 4866 bytes .../moving-saw-platformer/assets/Run18.png | Bin 0 -> 4766 bytes .../moving-saw-platformer/assets/Run19.png | Bin 0 -> 4555 bytes .../moving-saw-platformer/assets/Run2.png | Bin 0 -> 4555 bytes .../moving-saw-platformer/assets/Run20.png | Bin 0 -> 4555 bytes .../moving-saw-platformer/assets/Run21.png | Bin 0 -> 4807 bytes .../moving-saw-platformer/assets/Run22.png | Bin 0 -> 4515 bytes .../moving-saw-platformer/assets/Run23.png | Bin 0 -> 4623 bytes .../moving-saw-platformer/assets/Run24.png | Bin 0 -> 4791 bytes .../moving-saw-platformer/assets/Run25.png | Bin 0 -> 4922 bytes .../moving-saw-platformer/assets/Run26.png | Bin 0 -> 4922 bytes .../moving-saw-platformer/assets/Run27.png | Bin 0 -> 4869 bytes .../moving-saw-platformer/assets/Run28.png | Bin 0 -> 4869 bytes .../moving-saw-platformer/assets/Run29.png | Bin 0 -> 4656 bytes .../moving-saw-platformer/assets/Run3.png | Bin 0 -> 4976 bytes .../moving-saw-platformer/assets/Run30.png | Bin 0 -> 4431 bytes .../moving-saw-platformer/assets/Run31.png | Bin 0 -> 4837 bytes .../moving-saw-platformer/assets/Run32.png | Bin 0 -> 4736 bytes .../moving-saw-platformer/assets/Run33.png | Bin 0 -> 4527 bytes .../moving-saw-platformer/assets/Run34.png | Bin 0 -> 4527 bytes .../moving-saw-platformer/assets/Run35.png | Bin 0 -> 4778 bytes .../moving-saw-platformer/assets/Run36.png | Bin 0 -> 4486 bytes .../moving-saw-platformer/assets/Run37.png | Bin 0 -> 4593 bytes .../moving-saw-platformer/assets/Run38.png | Bin 0 -> 4761 bytes .../moving-saw-platformer/assets/Run39.png | Bin 0 -> 4894 bytes .../moving-saw-platformer/assets/Run4.png | Bin 0 -> 4862 bytes .../moving-saw-platformer/assets/Run40.png | Bin 0 -> 4894 bytes .../moving-saw-platformer/assets/Run41.png | Bin 0 -> 4842 bytes .../moving-saw-platformer/assets/Run42.png | Bin 0 -> 4842 bytes .../moving-saw-platformer/assets/Run5.png | Bin 0 -> 4699 bytes .../moving-saw-platformer/assets/Run6.png | Bin 0 -> 4699 bytes .../moving-saw-platformer/assets/Run7.png | Bin 0 -> 4933 bytes .../moving-saw-platformer/assets/Run8.png | Bin 0 -> 4621 bytes .../moving-saw-platformer/assets/Run9.png | Bin 0 -> 4716 bytes .../assets/Saw_Off.png | Bin .../assets/Saw_On_1.png | Bin .../assets/Saw_On_2.png | Bin .../assets/Saw_On_3.png | Bin .../assets/Saw_On_4.png | Bin .../assets/Saw_On_5.png | Bin .../assets/Saw_On_6.png | Bin .../assets/Saw_On_7.png | Bin .../assets/Saw_On_8.png | Bin .../assets/Top arrow round button.png | Bin .../assets/Top arrow round button2.png | Bin .../assets/TopLeftButton.png | Bin .../assets/TopLeftButton2.png | Bin .../assets/TopLeftCorner.png | Bin .../assets/TopLeftCorner2.png | Bin .../assets/TopRightButton.png | Bin .../assets/TopRightButton2.png | Bin .../assets/TopRightCorner.png | Bin .../assets/TopRightCorner2.png | Bin .../assets/Trophy_Idle.png | Bin 0 -> 913 bytes .../assets/Trophy_Pressed_1.png | Bin 0 -> 881 bytes .../assets/Trophy_Pressed_2.png | Bin 0 -> 881 bytes .../assets/Trophy_Pressed_3.png | Bin 0 -> 881 bytes .../assets/Trophy_Pressed_4.png | Bin 0 -> 865 bytes .../assets/Trophy_Pressed_5.png | Bin 0 -> 913 bytes .../assets/Trophy_Pressed_6.png | Bin 0 -> 913 bytes .../assets/Trophy_Pressed_7.png | Bin 0 -> 944 bytes .../assets/Trophy_Pressed_8.png | Bin 0 -> 944 bytes .../assets/VerticalEdgeIcon.png | Bin .../assets/VerticalEdgeIcon2.png | Bin .../moving-saw-platformer.json | 26545 ++++++++++++++++ .../rectangular-movement.json | 11712 ------- 392 files changed, 26545 insertions(+), 11712 deletions(-) rename examples/{rectangular-movement => moving-saw-platformer}/README.md (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/9patch_Bordered Hud_all_32.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Bottom arrow round button.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Bottom arrow round button2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomLeftButton.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomLeftButton2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomLeftCorner.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomLeftCorner2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomRightButton.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomRightButton2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomRightCorner.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/BottomRightCorner2.png (100%) create mode 100644 examples/moving-saw-platformer/assets/Bubble.png create mode 100644 examples/moving-saw-platformer/assets/Climb.png create mode 100644 examples/moving-saw-platformer/assets/Climb10.png create mode 100644 examples/moving-saw-platformer/assets/Climb11.png create mode 100644 examples/moving-saw-platformer/assets/Climb12.png create mode 100644 examples/moving-saw-platformer/assets/Climb13.png create mode 100644 examples/moving-saw-platformer/assets/Climb14.png create mode 100644 examples/moving-saw-platformer/assets/Climb15.png create mode 100644 examples/moving-saw-platformer/assets/Climb16.png create mode 100644 examples/moving-saw-platformer/assets/Climb2.png create mode 100644 examples/moving-saw-platformer/assets/Climb3.png create mode 100644 examples/moving-saw-platformer/assets/Climb4.png create mode 100644 examples/moving-saw-platformer/assets/Climb5.png create mode 100644 examples/moving-saw-platformer/assets/Climb6.png create mode 100644 examples/moving-saw-platformer/assets/Climb7.png create mode 100644 examples/moving-saw-platformer/assets/Climb8.png create mode 100644 examples/moving-saw-platformer/assets/Climb9.png create mode 100644 examples/moving-saw-platformer/assets/Gold Lingo.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_10.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_11.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_12.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_13.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_14.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_15.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_16.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_3.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_4.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_5.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_6.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_7.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_8.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_9.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_10.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_11.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_12.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_13.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_14.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_15.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_16.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_17.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_18.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_19.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_20.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_3.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_4.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_5.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_6.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_7.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_8.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Fire_9.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_10.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_11.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_12.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_13.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_14.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_15.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_16.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_17.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_18.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_19.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_20.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_3.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_4.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_5.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_6.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_7.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_8.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_9.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_10.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_11.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_12.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_13.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_14.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_15.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_16.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_17.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_3.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_4.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_5.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_6.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_7.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_8.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_9.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Pose1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Pose2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_10.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_11.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_12.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_13.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_3.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_4.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_5.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_6.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_7.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_8.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_9.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_1.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_10.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_11.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_12.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_13.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_14.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_2.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_3.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_4.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_5.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_6.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_7.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_8.png create mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_9.png rename examples/{rectangular-movement => moving-saw-platformer}/assets/HorizontalEdgeIcon.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/HorizontalEdgeIcon2.png (100%) create mode 100644 examples/moving-saw-platformer/assets/Idle.png create mode 100644 examples/moving-saw-platformer/assets/Idle10.png create mode 100644 examples/moving-saw-platformer/assets/Idle11.png create mode 100644 examples/moving-saw-platformer/assets/Idle12.png create mode 100644 examples/moving-saw-platformer/assets/Idle13.png create mode 100644 examples/moving-saw-platformer/assets/Idle14.png create mode 100644 examples/moving-saw-platformer/assets/Idle15.png create mode 100644 examples/moving-saw-platformer/assets/Idle16.png create mode 100644 examples/moving-saw-platformer/assets/Idle17.png create mode 100644 examples/moving-saw-platformer/assets/Idle18.png create mode 100644 examples/moving-saw-platformer/assets/Idle19.png create mode 100644 examples/moving-saw-platformer/assets/Idle2.png create mode 100644 examples/moving-saw-platformer/assets/Idle20.png create mode 100644 examples/moving-saw-platformer/assets/Idle21.png create mode 100644 examples/moving-saw-platformer/assets/Idle22.png create mode 100644 examples/moving-saw-platformer/assets/Idle23.png create mode 100644 examples/moving-saw-platformer/assets/Idle24.png create mode 100644 examples/moving-saw-platformer/assets/Idle25.png create mode 100644 examples/moving-saw-platformer/assets/Idle26.png create mode 100644 examples/moving-saw-platformer/assets/Idle27.png create mode 100644 examples/moving-saw-platformer/assets/Idle28.png create mode 100644 examples/moving-saw-platformer/assets/Idle29.png create mode 100644 examples/moving-saw-platformer/assets/Idle3.png create mode 100644 examples/moving-saw-platformer/assets/Idle30.png create mode 100644 examples/moving-saw-platformer/assets/Idle31.png create mode 100644 examples/moving-saw-platformer/assets/Idle32.png create mode 100644 examples/moving-saw-platformer/assets/Idle33.png create mode 100644 examples/moving-saw-platformer/assets/Idle34.png create mode 100644 examples/moving-saw-platformer/assets/Idle35.png create mode 100644 examples/moving-saw-platformer/assets/Idle36.png create mode 100644 examples/moving-saw-platformer/assets/Idle37.png create mode 100644 examples/moving-saw-platformer/assets/Idle38.png create mode 100644 examples/moving-saw-platformer/assets/Idle39.png create mode 100644 examples/moving-saw-platformer/assets/Idle4.png create mode 100644 examples/moving-saw-platformer/assets/Idle40.png create mode 100644 examples/moving-saw-platformer/assets/Idle41.png create mode 100644 examples/moving-saw-platformer/assets/Idle42.png create mode 100644 examples/moving-saw-platformer/assets/Idle43.png create mode 100644 examples/moving-saw-platformer/assets/Idle44.png create mode 100644 examples/moving-saw-platformer/assets/Idle45.png create mode 100644 examples/moving-saw-platformer/assets/Idle46.png create mode 100644 examples/moving-saw-platformer/assets/Idle47.png create mode 100644 examples/moving-saw-platformer/assets/Idle48.png create mode 100644 examples/moving-saw-platformer/assets/Idle49.png create mode 100644 examples/moving-saw-platformer/assets/Idle5.png create mode 100644 examples/moving-saw-platformer/assets/Idle50.png create mode 100644 examples/moving-saw-platformer/assets/Idle51.png create mode 100644 examples/moving-saw-platformer/assets/Idle52.png create mode 100644 examples/moving-saw-platformer/assets/Idle53.png create mode 100644 examples/moving-saw-platformer/assets/Idle54.png create mode 100644 examples/moving-saw-platformer/assets/Idle55.png create mode 100644 examples/moving-saw-platformer/assets/Idle56.png create mode 100644 examples/moving-saw-platformer/assets/Idle57.png create mode 100644 examples/moving-saw-platformer/assets/Idle58.png create mode 100644 examples/moving-saw-platformer/assets/Idle59.png create mode 100644 examples/moving-saw-platformer/assets/Idle6.png create mode 100644 examples/moving-saw-platformer/assets/Idle60.png create mode 100644 examples/moving-saw-platformer/assets/Idle7.png create mode 100644 examples/moving-saw-platformer/assets/Idle8.png create mode 100644 examples/moving-saw-platformer/assets/Idle9.png create mode 100644 examples/moving-saw-platformer/assets/Jump.png create mode 100644 examples/moving-saw-platformer/assets/Jump10.png create mode 100644 examples/moving-saw-platformer/assets/Jump11.png create mode 100644 examples/moving-saw-platformer/assets/Jump12.png create mode 100644 examples/moving-saw-platformer/assets/Jump13.png create mode 100644 examples/moving-saw-platformer/assets/Jump14.png create mode 100644 examples/moving-saw-platformer/assets/Jump15.png create mode 100644 examples/moving-saw-platformer/assets/Jump16.png create mode 100644 examples/moving-saw-platformer/assets/Jump17.png create mode 100644 examples/moving-saw-platformer/assets/Jump18.png create mode 100644 examples/moving-saw-platformer/assets/Jump19.png create mode 100644 examples/moving-saw-platformer/assets/Jump2.png create mode 100644 examples/moving-saw-platformer/assets/Jump20.png create mode 100644 examples/moving-saw-platformer/assets/Jump21.png create mode 100644 examples/moving-saw-platformer/assets/Jump22.png create mode 100644 examples/moving-saw-platformer/assets/Jump23.png create mode 100644 examples/moving-saw-platformer/assets/Jump24.png create mode 100644 examples/moving-saw-platformer/assets/Jump25.png create mode 100644 examples/moving-saw-platformer/assets/Jump26.png create mode 100644 examples/moving-saw-platformer/assets/Jump27.png create mode 100644 examples/moving-saw-platformer/assets/Jump28.png create mode 100644 examples/moving-saw-platformer/assets/Jump29.png create mode 100644 examples/moving-saw-platformer/assets/Jump3.png create mode 100644 examples/moving-saw-platformer/assets/Jump30.png create mode 100644 examples/moving-saw-platformer/assets/Jump31.png create mode 100644 examples/moving-saw-platformer/assets/Jump32.png create mode 100644 examples/moving-saw-platformer/assets/Jump33.png create mode 100644 examples/moving-saw-platformer/assets/Jump34.png create mode 100644 examples/moving-saw-platformer/assets/Jump35.png create mode 100644 examples/moving-saw-platformer/assets/Jump36.png create mode 100644 examples/moving-saw-platformer/assets/Jump37.png create mode 100644 examples/moving-saw-platformer/assets/Jump38.png create mode 100644 examples/moving-saw-platformer/assets/Jump39.png create mode 100644 examples/moving-saw-platformer/assets/Jump4.png create mode 100644 examples/moving-saw-platformer/assets/Jump40.png create mode 100644 examples/moving-saw-platformer/assets/Jump41.png create mode 100644 examples/moving-saw-platformer/assets/Jump42.png create mode 100644 examples/moving-saw-platformer/assets/Jump43.png create mode 100644 examples/moving-saw-platformer/assets/Jump44.png create mode 100644 examples/moving-saw-platformer/assets/Jump45.png create mode 100644 examples/moving-saw-platformer/assets/Jump46.png create mode 100644 examples/moving-saw-platformer/assets/Jump47.png create mode 100644 examples/moving-saw-platformer/assets/Jump48.png create mode 100644 examples/moving-saw-platformer/assets/Jump49.png create mode 100644 examples/moving-saw-platformer/assets/Jump5.png create mode 100644 examples/moving-saw-platformer/assets/Jump50.png create mode 100644 examples/moving-saw-platformer/assets/Jump51.png create mode 100644 examples/moving-saw-platformer/assets/Jump6.png create mode 100644 examples/moving-saw-platformer/assets/Jump7.png create mode 100644 examples/moving-saw-platformer/assets/Jump8.png create mode 100644 examples/moving-saw-platformer/assets/Jump9.png rename examples/{rectangular-movement => moving-saw-platformer}/assets/Launch round button.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Launch round button2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Left arrow round button.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Left arrow round button2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/NewSprite.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/NewSprite2.png (100%) create mode 100644 examples/moving-saw-platformer/assets/Punch.png create mode 100644 examples/moving-saw-platformer/assets/Punch10.png create mode 100644 examples/moving-saw-platformer/assets/Punch11.png create mode 100644 examples/moving-saw-platformer/assets/Punch12.png create mode 100644 examples/moving-saw-platformer/assets/Punch13.png create mode 100644 examples/moving-saw-platformer/assets/Punch14.png create mode 100644 examples/moving-saw-platformer/assets/Punch15.png create mode 100644 examples/moving-saw-platformer/assets/Punch16.png create mode 100644 examples/moving-saw-platformer/assets/Punch17.png create mode 100644 examples/moving-saw-platformer/assets/Punch18.png create mode 100644 examples/moving-saw-platformer/assets/Punch19.png create mode 100644 examples/moving-saw-platformer/assets/Punch2.png create mode 100644 examples/moving-saw-platformer/assets/Punch20.png create mode 100644 examples/moving-saw-platformer/assets/Punch21.png create mode 100644 examples/moving-saw-platformer/assets/Punch22.png create mode 100644 examples/moving-saw-platformer/assets/Punch23.png create mode 100644 examples/moving-saw-platformer/assets/Punch24.png create mode 100644 examples/moving-saw-platformer/assets/Punch25.png create mode 100644 examples/moving-saw-platformer/assets/Punch26.png create mode 100644 examples/moving-saw-platformer/assets/Punch3.png create mode 100644 examples/moving-saw-platformer/assets/Punch4.png create mode 100644 examples/moving-saw-platformer/assets/Punch5.png create mode 100644 examples/moving-saw-platformer/assets/Punch6.png create mode 100644 examples/moving-saw-platformer/assets/Punch7.png create mode 100644 examples/moving-saw-platformer/assets/Punch8.png create mode 100644 examples/moving-saw-platformer/assets/Punch9.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_1.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_10.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_11.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_12.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_2.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_3.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_4.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_5.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_6.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_7.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_8.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_9.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Fall.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_1.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_2.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_3.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_4.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Jump.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_1.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_10.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_11.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_12.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_13.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_14.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_15.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_16.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_17.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_18.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_19.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_2.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_3.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_4.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_5.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_6.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_7.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_8.png create mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_9.png rename examples/{rectangular-movement => moving-saw-platformer}/assets/Red playerShip (1).png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Red playerShip (1)2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Right arrow round button.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Right arrow round button2.png (100%) create mode 100644 examples/moving-saw-platformer/assets/Run.png create mode 100644 examples/moving-saw-platformer/assets/Run10.png create mode 100644 examples/moving-saw-platformer/assets/Run11.png create mode 100644 examples/moving-saw-platformer/assets/Run12.png create mode 100644 examples/moving-saw-platformer/assets/Run13.png create mode 100644 examples/moving-saw-platformer/assets/Run14.png create mode 100644 examples/moving-saw-platformer/assets/Run15.png create mode 100644 examples/moving-saw-platformer/assets/Run16.png create mode 100644 examples/moving-saw-platformer/assets/Run17.png create mode 100644 examples/moving-saw-platformer/assets/Run18.png create mode 100644 examples/moving-saw-platformer/assets/Run19.png create mode 100644 examples/moving-saw-platformer/assets/Run2.png create mode 100644 examples/moving-saw-platformer/assets/Run20.png create mode 100644 examples/moving-saw-platformer/assets/Run21.png create mode 100644 examples/moving-saw-platformer/assets/Run22.png create mode 100644 examples/moving-saw-platformer/assets/Run23.png create mode 100644 examples/moving-saw-platformer/assets/Run24.png create mode 100644 examples/moving-saw-platformer/assets/Run25.png create mode 100644 examples/moving-saw-platformer/assets/Run26.png create mode 100644 examples/moving-saw-platformer/assets/Run27.png create mode 100644 examples/moving-saw-platformer/assets/Run28.png create mode 100644 examples/moving-saw-platformer/assets/Run29.png create mode 100644 examples/moving-saw-platformer/assets/Run3.png create mode 100644 examples/moving-saw-platformer/assets/Run30.png create mode 100644 examples/moving-saw-platformer/assets/Run31.png create mode 100644 examples/moving-saw-platformer/assets/Run32.png create mode 100644 examples/moving-saw-platformer/assets/Run33.png create mode 100644 examples/moving-saw-platformer/assets/Run34.png create mode 100644 examples/moving-saw-platformer/assets/Run35.png create mode 100644 examples/moving-saw-platformer/assets/Run36.png create mode 100644 examples/moving-saw-platformer/assets/Run37.png create mode 100644 examples/moving-saw-platformer/assets/Run38.png create mode 100644 examples/moving-saw-platformer/assets/Run39.png create mode 100644 examples/moving-saw-platformer/assets/Run4.png create mode 100644 examples/moving-saw-platformer/assets/Run40.png create mode 100644 examples/moving-saw-platformer/assets/Run41.png create mode 100644 examples/moving-saw-platformer/assets/Run42.png create mode 100644 examples/moving-saw-platformer/assets/Run5.png create mode 100644 examples/moving-saw-platformer/assets/Run6.png create mode 100644 examples/moving-saw-platformer/assets/Run7.png create mode 100644 examples/moving-saw-platformer/assets/Run8.png create mode 100644 examples/moving-saw-platformer/assets/Run9.png rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_Off.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_1.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_3.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_4.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_5.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_6.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_7.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Saw_On_8.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Top arrow round button.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/Top arrow round button2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopLeftButton.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopLeftButton2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopLeftCorner.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopLeftCorner2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopRightButton.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopRightButton2.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopRightCorner.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/TopRightCorner2.png (100%) create mode 100644 examples/moving-saw-platformer/assets/Trophy_Idle.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_1.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_2.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_3.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_4.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_5.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_6.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_7.png create mode 100644 examples/moving-saw-platformer/assets/Trophy_Pressed_8.png rename examples/{rectangular-movement => moving-saw-platformer}/assets/VerticalEdgeIcon.png (100%) rename examples/{rectangular-movement => moving-saw-platformer}/assets/VerticalEdgeIcon2.png (100%) create mode 100644 examples/moving-saw-platformer/moving-saw-platformer.json delete mode 100644 examples/rectangular-movement/rectangular-movement.json diff --git a/examples/rectangular-movement/README.md b/examples/moving-saw-platformer/README.md similarity index 100% rename from examples/rectangular-movement/README.md rename to examples/moving-saw-platformer/README.md diff --git a/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png b/examples/moving-saw-platformer/assets/9patch_Bordered Hud_all_32.png similarity index 100% rename from examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png rename to examples/moving-saw-platformer/assets/9patch_Bordered Hud_all_32.png diff --git a/examples/rectangular-movement/assets/Bottom arrow round button.png b/examples/moving-saw-platformer/assets/Bottom arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Bottom arrow round button.png rename to examples/moving-saw-platformer/assets/Bottom arrow round button.png diff --git a/examples/rectangular-movement/assets/Bottom arrow round button2.png b/examples/moving-saw-platformer/assets/Bottom arrow round button2.png similarity index 100% rename from examples/rectangular-movement/assets/Bottom arrow round button2.png rename to examples/moving-saw-platformer/assets/Bottom arrow round button2.png diff --git a/examples/rectangular-movement/assets/BottomLeftButton.png b/examples/moving-saw-platformer/assets/BottomLeftButton.png similarity index 100% rename from examples/rectangular-movement/assets/BottomLeftButton.png rename to examples/moving-saw-platformer/assets/BottomLeftButton.png diff --git a/examples/rectangular-movement/assets/BottomLeftButton2.png b/examples/moving-saw-platformer/assets/BottomLeftButton2.png similarity index 100% rename from examples/rectangular-movement/assets/BottomLeftButton2.png rename to examples/moving-saw-platformer/assets/BottomLeftButton2.png diff --git a/examples/rectangular-movement/assets/BottomLeftCorner.png b/examples/moving-saw-platformer/assets/BottomLeftCorner.png similarity index 100% rename from examples/rectangular-movement/assets/BottomLeftCorner.png rename to examples/moving-saw-platformer/assets/BottomLeftCorner.png diff --git a/examples/rectangular-movement/assets/BottomLeftCorner2.png b/examples/moving-saw-platformer/assets/BottomLeftCorner2.png similarity index 100% rename from examples/rectangular-movement/assets/BottomLeftCorner2.png rename to examples/moving-saw-platformer/assets/BottomLeftCorner2.png diff --git a/examples/rectangular-movement/assets/BottomRightButton.png b/examples/moving-saw-platformer/assets/BottomRightButton.png similarity index 100% rename from examples/rectangular-movement/assets/BottomRightButton.png rename to examples/moving-saw-platformer/assets/BottomRightButton.png diff --git a/examples/rectangular-movement/assets/BottomRightButton2.png b/examples/moving-saw-platformer/assets/BottomRightButton2.png similarity index 100% rename from examples/rectangular-movement/assets/BottomRightButton2.png rename to examples/moving-saw-platformer/assets/BottomRightButton2.png diff --git a/examples/rectangular-movement/assets/BottomRightCorner.png b/examples/moving-saw-platformer/assets/BottomRightCorner.png similarity index 100% rename from examples/rectangular-movement/assets/BottomRightCorner.png rename to examples/moving-saw-platformer/assets/BottomRightCorner.png diff --git a/examples/rectangular-movement/assets/BottomRightCorner2.png b/examples/moving-saw-platformer/assets/BottomRightCorner2.png similarity index 100% rename from examples/rectangular-movement/assets/BottomRightCorner2.png rename to examples/moving-saw-platformer/assets/BottomRightCorner2.png diff --git a/examples/moving-saw-platformer/assets/Bubble.png b/examples/moving-saw-platformer/assets/Bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..e8be1b2fcdb36ca0af52b31a4b8c8d80ffd4814c GIT binary patch literal 5255 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb10.png b/examples/moving-saw-platformer/assets/Climb10.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff747e8c8763e68225c9b0b31e83f2a84988b8f GIT binary patch literal 5675 zcmV+`7S!p9P)Px~$8ReApJxwoJ5+GX~^?(9<*6@;KBfCLE7AYnlP5yS;8UJ6o5 zm4#p`hLV_+DT6VZh!&AjBH&v=gn$~PNCk=n@+J^vVRv?RcA0(7O!sv6eVx?z|L5Gk z)6DG5&fbQe)ZDGE?&-dL`riLL-~T>m9a=a#N&-$tUCqM9&;lSGHVGC0SpcNNB+y}( zv%ruAKsrnU9daO=_ zZ)q0=d#dEWu$y*$@u{}St!)F(;yye6l$BpTPnV7#Aniv)u_h;{$jQ6pZylwC+J0+j-zO-L7akh9Da5jhg462YR?VR_K!W3x%@I8a2EGEFHTu~ z-zC~xQYH#Dk+Og|{Mu0tImH}pKKXAmmtW=s&I@VJ;v&~QxJi>T;sG=8+B_JLQjV%m z57N$?AInsRnGQCK`lc@|d9qf&i_Uh|T(LF~lp~9-glv`9L$}5T$k=B}`Fr=VTr^e24s&Cm# zLx29O8Si_|4=&RbY4NO#s&ZU_0bmqSPLXbev}NPHGmdpIa>;bCgZbgC&OPD&Yjw{N zODWe?Bpt;RhY>|lM3Iguj$?{Q9mI&Bd;Mk7^^jdj%;v_6yJ-9MGe^Ad_?yf1nlp}}Tv%B5F`IYEUhzQ!N580e_wb1&jd$FjQmP zCs6w4BTBDMsq080Q!C7hrNgVLZz4D|)J;7n0p zU<*0mnM3}oj1Hq4iOBBYm<-POJsIR>90$n=pa8XqNB#KGHr3_=z zVa)#h#IrkTp5VPPq(1k=c=>f&)NuwpriT zMP;q~*%exK=Yu2$|o7Thz5*8HLj7IF!SXiU|VTDG6DyuITe0XGVlOr(L zxXhOT)a(@CA_U{e|OWw)KKd(SW7#2fiZmFLSi%B^ zT*dQ(Ede0=f(nfV6I6@Eo-iQR>%ter{ow11#~b8t-pi^=mGcC~#}%Kp&Cz{-!`$A1 zubi)ozrBL(2ip$IjCx2h-fM)+ob5OMj3>uCAH6{r7k5zvbw--i5!6(#SE3%bOx<3Q ziYm_r9qe$8s+tar#Pc$<9_}yz7z-z8Uog&~03eQ407@$$1{fq7S#|BNGdomof#Usj z8oG9#F=X8Xo3y*Q$aJ@=ih-zw6xRYGKcaXdq#d_D=B&QyR6TIjNfcG;z=-E3*a2qr zd1dPH1Q2*y`Gg&cv*WV^L|B4&1jc=DFwT!^SZ6OxVw8w~mtzyK!(0cey&xig^FA)+ zdWV%L*g8tXH$R%GmdSLmsc5+V=O5PWzZ*l&s;U-<3abUom|&zzyFUMnC+s^~E(NWVscqr`}vy7~++wN9chYT7r>6HfDupl z3{w61U9{|sw@}y7%PEGDH)&P~z3Aqd8DL1aTWSHsq)d#vn~v67Z`}A!Jo6#=YE);2 z?DfZ~64$5>h5!&9a+Vm3un$8Sds!TpV1fm^tMuw0{xVY;W;$4_5LW*6MqPTx3Nhr? zpaTd7#FyuaPi}XCmY#G3s|MrOu(}dJatsI_mLU?Mrx?P9eR{Rk^p}uM0U#0}0uVOp zP+4)vDhrW&1U8%W{Uk69b79Oep|UpUatCcZ&|p?LdYJ%XVvi;mKIv*e(RhPOYY(GE zZyVrq?19(<0U;uDFas(JE^n*K!g*|MlAv&^TWY$!NGd`-rDGA~xxfyN+L5L=48gPU zmzyacfa1p#?yA!E>wlWL{4yUfjqkb#Kd9BBViKY2Iy@@F45%vuNbfN#scTJt0tk!P zaoDXziUgh&dsuFfy4>QV7$mVHT-uv{hCx-qsSTniaeEOMjztq37=j(JEg=`TA~E7% z3Q{~a|0cnV)LeE|Y3RBKGnZfH1Ev94efLE=|JEfE0D>WnP;7^_AyuCZ{9(thqe5R< zl8zFGk>e;r3=Z`KR>0Fr+Ym{;E3Su_)S|@bEub``bfn}_8wqJ5sxw0ni@=sxgN{g^ z0g2Oqh&^FH9AJPo#k)f0 zR{*gp3)d4zNcpfIEMV}2aoFV@x?!HFEC^@mr%utm8{aIpaoiU#3t$*;3lv@a&Nbxb zyu`I+dw`Zrau^WA9Sn+#T$aQkwm@aUP&Nghm_-2unO?4o*kV-_&_s;dNKFF5RC19^ zy@-KWMM)AgPOB_a!$Dv;@$4{-eC~2(V}Bl zk#dm)kwa{VC?W`43R1}Q<~hO03^BPZ>usTG$loyDmMv0oUEP#(eJ})oM0I9H5__0) z&>Vqt#b!u}fV0!g4y(2_r{KpQ`8DnN`oCl@zsv_bkki)xiFfJl)7SG2GB6VX*R1=F zT0t%YB9~(U!QTJ`NkmS+ySYiJcWXz49V%7IZL%X_2xTz;7kI2$i|<(K|Idxv*3AP5-I#^ZW97HH!3 znmRcI4a1!ymvUS&l)_ZrK?xVJh$I*Rimj}RC6as;;_lGor~n9J5caB2!i9<=up(wd z4p0OD0YM6B0!))7M5^f0=#Tz~_TBp*naeNp0cQhe2gPVTX7TL9B(1Qh}|6?cW{>zUe<;M(&0!xey zNm#=EzX*O3K=wSgA?8Tc(II$NOQz+=+7(W(gB{x14g4*vn53$hCC1A##VX|Aw%;&w zFWJG$;dKcNXM0f_etETaBF#-{P)iCOiLIcp2WH;~a|F0%Fetw!HUx5%)*kNj<=3Xw z$0iQ}hDnczn`@Y1UEMSoMrD!bQsem%8u|Q_ZJEq%8FaQFq|aOXz00(V(kRrCCx9fN zq=2!8{dAJeC#=-XA&60HwZQ|-806}X|6A+2OC7r^{nwn|dbj@3oRZ<6+)L7CC)GRs~W+Z{1ZQQf( zrwn=8ejsI1e{nbMzT=*aetVQ4c&%*^}fHDTX8krX(ko%1^Q322&75pTw)Cg$NeLjW8C&Z?*$6!8#%FMv-W8`xaxOJq*hPEpdbaH< zzU@CS7vvUQdW>Fl`EN-h9RniaaVq!tTJ4l(hy^EAa!uUVgas{;I2-cGHp2pm6;o)E zLmhqhUp?JcnYDHBxqxB6v+R~rb?Ky4Tv-&h9H3xszmx!B8r!7fZPJ>Qr1EF$<<_pG zfl7T3YYdS}!I}`azs%3Uwo%&oN7=Ujbfnwc3gGh3o~et+EaT=n+4v=O#-td;yl<_% zZEWN25d%s}@WO;t6GKY@N>mn>LlgftygW3ri-8*3G2dEA4}~T8?$TRM zk>0LUi_nx~S`gR|Hr<9TQFhvnG^6m=0+g{ictS5gtjX;wa&xuYohPT9;(?j* zb+l)KRguitJYykEY(~YTSz`LTr2J=#OQz|~7Mjv^a<~i#N6;c#@mb&uK>EQervwbU zZk_F#t7!A@-JO{nGaIN~3|W5rnL59IF-7}o+(v}XN7mmxMHU!G^eJYD2{Cbm?Km{$ z*GXy#o*S5hW!eB^tj?V`kG@1ZZ=ZQHo7qm-jt2xAiD8>P?g=*C zj%Y~N$?!S*p4d*Fo`?{~@dC+PfJ`bqT` zNtLk-Iwv**J2==~<&1Q(R(!lw(HUM2G;{N z!gfK>p07TWnQ*XynFT_&WNHb7T!-Q@pSD~uPj_;d3zEw}bDHjc_Xdha8`2wWR$uYT zE7Ok3fFM~|@oD#+|C|XRsPXq*d=!r>tdQ+C(g#xUwdaOt_!IMNN!wh2u;1bK(}5mg z2RCcWk~q6Yk(;;?#mAc0jPLncHm#ilU%NmTj$SGm=V=mXupcj-l%2b4?>UnhbtpnV z(0A>EQLNzQ_3c3{fY>F~P+4{9#ocl1&ojH1Bc8Zgv!^yyN*@k_t0>xAqb(O@yU$6- z+mH=UU8gyZ#rvZe56LWR01&*q!K`y1zUh%n09o?!6ZN7i-p-BS(;o2NCIWipyll5- z>S#cg-+q?v{{1(JO2T2=b+B;Ms4uLD$6>OR?n?Q=GTmSD7diAz{IOKa-{>P{3-V2YW zXtX}-TS0#7r4#Qu^RoA+bHc23hBsd8)VhqN{0UET1rhyU4G zyrkP*RFZA}kTNqnQcSumxW!RC?T&Z{E1Ql0Wc9b-rwbeU6OU=en=t)VNSPqHx9!UI zwRYNTS@n$zg*nLhV(%8~`I%Ax(ldh}`2Hcw^N4>(n*!pQg;=K>DKc z*h}>4pJbP9ox^2h`js~n5ZuZ7N3PVUQzu(E*}~B*ZWA+e^C{V8TW9gJZ9U};2gKgp zz@6u7Z&??2bYPV$C-c%RJgp8F41W~SD`(%+G53%KQXP9U*hvVxV5@FyrkPl|e{{y&Iu_)5b REb;&V002ovPDHLkV1m!%ynFxv literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb11.png b/examples/moving-saw-platformer/assets/Climb11.png new file mode 100644 index 0000000000000000000000000000000000000000..dc873051b6bab113a1763a9b2b14d25030fc5357 GIT binary patch literal 5543 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb12.png b/examples/moving-saw-platformer/assets/Climb12.png new file mode 100644 index 0000000000000000000000000000000000000000..dc873051b6bab113a1763a9b2b14d25030fc5357 GIT binary patch literal 5543 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb13.png b/examples/moving-saw-platformer/assets/Climb13.png new file mode 100644 index 0000000000000000000000000000000000000000..625c8c627ec07aea1eb215c36ee25927e8ef1da6 GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb14.png b/examples/moving-saw-platformer/assets/Climb14.png new file mode 100644 index 0000000000000000000000000000000000000000..625c8c627ec07aea1eb215c36ee25927e8ef1da6 GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb15.png b/examples/moving-saw-platformer/assets/Climb15.png new file mode 100644 index 0000000000000000000000000000000000000000..8df68d707514809d224290b49f83c6f1127d35de GIT binary patch literal 5562 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 IM6N<$g71oVVgLXD literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb16.png b/examples/moving-saw-platformer/assets/Climb16.png new file mode 100644 index 0000000000000000000000000000000000000000..8df68d707514809d224290b49f83c6f1127d35de GIT binary patch literal 5562 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 IM6N<$g71oVVgLXD literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb2.png b/examples/moving-saw-platformer/assets/Climb2.png new file mode 100644 index 0000000000000000000000000000000000000000..b50bc3dbd58c9eb9504cc43841bab3c31a1ade1b GIT binary patch literal 5633 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb3.png b/examples/moving-saw-platformer/assets/Climb3.png new file mode 100644 index 0000000000000000000000000000000000000000..8df68d707514809d224290b49f83c6f1127d35de GIT binary patch literal 5562 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 IM6N<$g71oVVgLXD literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb4.png b/examples/moving-saw-platformer/assets/Climb4.png new file mode 100644 index 0000000000000000000000000000000000000000..8df68d707514809d224290b49f83c6f1127d35de GIT binary patch literal 5562 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 IM6N<$g71oVVgLXD literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb5.png b/examples/moving-saw-platformer/assets/Climb5.png new file mode 100644 index 0000000000000000000000000000000000000000..625c8c627ec07aea1eb215c36ee25927e8ef1da6 GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb6.png b/examples/moving-saw-platformer/assets/Climb6.png new file mode 100644 index 0000000000000000000000000000000000000000..625c8c627ec07aea1eb215c36ee25927e8ef1da6 GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb7.png b/examples/moving-saw-platformer/assets/Climb7.png new file mode 100644 index 0000000000000000000000000000000000000000..dc873051b6bab113a1763a9b2b14d25030fc5357 GIT binary patch literal 5543 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb8.png b/examples/moving-saw-platformer/assets/Climb8.png new file mode 100644 index 0000000000000000000000000000000000000000..dc873051b6bab113a1763a9b2b14d25030fc5357 GIT binary patch literal 5543 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Climb9.png b/examples/moving-saw-platformer/assets/Climb9.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff747e8c8763e68225c9b0b31e83f2a84988b8f GIT binary patch literal 5675 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 REb;&V002ovPDHLkV1m!%ynFxv literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Gold Lingo.png b/examples/moving-saw-platformer/assets/Gold Lingo.png new file mode 100644 index 0000000000000000000000000000000000000000..b204ccafcd2b1e88f99a7b0565afe1cf9a1e1493 GIT binary patch literal 3045 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 n1K~>z34QCc;MTD7;T)fUxiOHsA8 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_10.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_10.png new file mode 100644 index 0000000000000000000000000000000000000000..9142ae89ef54272c5461d557700f4fc2b53ac943 GIT binary patch literal 10390 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 LV`QF=UGV<`&;AAT literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_11.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_11.png new file mode 100644 index 0000000000000000000000000000000000000000..f7b98754d66f3918f7303f480a1a651142ad4ee3 GIT binary patch literal 9690 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_12.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_12.png new file mode 100644 index 0000000000000000000000000000000000000000..b9db22be95a32a5ae8396da212d33e2912657adc GIT binary patch literal 9690 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_13.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_13.png new file mode 100644 index 0000000000000000000000000000000000000000..832aea9e523a9566e873065acd033b1c117861dc GIT binary patch literal 9552 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_14.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_14.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc82d119b447f3e733ac99ddbc6a10764afe67f GIT binary patch literal 9552 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 J@>FdC{~u9r-^>62 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_16.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_16.png new file mode 100644 index 0000000000000000000000000000000000000000..75f45b46266dad5a390f0cb231d3ecd382c7aecf GIT binary patch literal 9801 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_2.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_2.png new file mode 100644 index 0000000000000000000000000000000000000000..36e42ff37b2becd66f3338fd2f8525dea156e55f GIT binary patch literal 10535 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 N+Gq9D^VDnu{~uk^-kbmc literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_4.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1318294dab2702c6f5591aa52e413266d156c098 GIT binary patch literal 9801 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_6.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_6.png new file mode 100644 index 0000000000000000000000000000000000000000..8944800de7db1bf1a96e899dfc059ab3be2a0a99 GIT binary patch literal 9552 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_8.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_8.png new file mode 100644 index 0000000000000000000000000000000000000000..74a73167ca1a2bf0d31bee41b4110df03772bd8b GIT binary patch literal 9690 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_9.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_9.png new file mode 100644 index 0000000000000000000000000000000000000000..e7a87fb3da38699956bdc7028650e5e34176265d GIT binary patch literal 10390 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 LV~EPtvI+bzWGn(x literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_1.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_1.png new file mode 100644 index 0000000000000000000000000000000000000000..72366ef374054d3683de66d4da521faae08b038a GIT binary patch literal 9282 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_10.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_10.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5089ac64bc36a3e189548171a35ccba43948b4 GIT binary patch literal 9918 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 czg-8>Kg61c2LJ#7 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_11.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_11.png new file mode 100644 index 0000000000000000000000000000000000000000..620b79bcace93a1d23c1198a27f340f53253157f GIT binary patch literal 9911 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_12.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_12.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b0b7733204c12e89cee27bb2f51b4bd6ab0f78 GIT binary patch literal 10097 zcmch72UwHY)^1RGk)j|VB_bd_g@g{$JJJO~z%(FIf+X}_q!$tC(oyLh1*C{{1q3Nl zlqQ0p(ggv58^#&Wob#Xg=iK|>d&86D`}SUYm3O^s?M;$MgR2^J)a=v%0Dw+QQ`Lz0 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 Mrmy-y`FhxY0cmTlApigX literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_14.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_14.png new file mode 100644 index 0000000000000000000000000000000000000000..425e4a1d20e589a62b3e74e2594abfb5bb4bee71 GIT binary patch literal 10189 zcmch72UJtrx-KG86p&t3LZ||PB#;21N$(w$j%h$>fzUhBtANrwDoB+kAR-`25kXXX z5fKqZK#Fu}H*ELz>~r7QXPp@@EeJzlN?a-L?FOS*8rf5Ctv~6 zqF@jj3FI_L6Z7%$5%m!l#S`qsAkxy(VqmBk6bd3zfIR$MJ(0d3R}Y>)IH+Jf&;*>D zCl2olIN^vy;k`WNfJ9Y)+Th~$i><52?|veBOw1SQCI%4&pV;&pAqM@6&drP9{F`tL zS`6!qb-}uNdJt(Lzi8bY@Sb=N2mD{K{x$ti0*JoV)%_*oU+UuG@=Jt=r>Zy6jNcvd zFR49D{M@i&MpzHL7Xgh`^(Lyx^M^Gao<`Vz`13zlP9*=e*b`^>7i&*u{>dn;FYYf$ zPiB6Rx*?PaSfnSOV1max{{bF@KfDNlN{E61g4b}a7`%_iBD6lvbERB@Hp#R{ePrwmlAL;yOt|wYyPPBp| z?IgsdVIU+5BMyQ=B~Tz~DGV4SZU;j{!IE}haWo1DIN5CkkquELE}~nBvVI#g!1-dG%~Wti z&v^V);zZ0prp*7_)JY;c2{nWU&Vz_Jzuz;BG1mR}D`yl^@OGX)NCH;Tp6K7djR~>8R37i@jV1g^eK#ZlNzB$* zf`=T?j(~Ro{K7B56AwVTxjEy|zip?Ow=3rNg!l_#z`vB^f%N|OE|QRv2BVN@Fh~k6 zO$50F5mQJzDGUfk#5f#+l(4gtCT{6pxacHSp$OQou>PO8=y%>|2c)Y#mRRe={ujoG zgQX;jxc@uy{uXinS#JIRzDZ&yZOG4bBlh1j(a(F8pPp1Z ziO%0DHR508oc|Pq#L|r*7K*`oAU!VUkwEgdIWfe{i8sI6Rjey9ZVAL@bl$n1*a=_A(Ns}1 z@y-2~>z9ljvz}3C_ZYB#KiRk0znNfnk6oKbyN;!=k#|if#yyOevYQG{M#+7Kc{wu~ z$aJR62=k2)ewCn`F#vkVim%pU7qxdWwbV}wClT1WEn>S?^WSI_%9_Pk% z*C@Y8Kt?CCKd0pukGiO2NBtiYJgVM2LlToBww9%6cqO?PNBU8Ogo6nZO1XIYmh`gK zd!Lrc0G&neoc^uh=qqndsf|_)aoQggno%jr&2dNsxBH(leMk#fZ;=p;822cYe~SG^ zp=9;;hPDDBpv7uSdnUs6;>Pfl!WHjn(e&Wmkr>Kb7Nave;E{D$x$)94tJ=aN@*4(w z6M#?J-564u@yM$RGEa8nwi5$Z9c`OD10J^o=nnSzO!POX@WqT7sc)%yx$h3IeR}yk zyj{-c_%qLaE{dLdN*5XRNEq@ zVKv}Q^U{YLmKpD|Dv46&Wpx0C1j~GpBrud$pOS+~$yLFhJPrrmO*aKU z?`XjvMQzP}$(P@zDA-G2P^_5KzraZ^|vW~&+@Xd&F&(d?Abwv(m++3DuN!(t<$ zg?G>LkcTJoN~lPQ=!pzSFw}jkFY_1b;1;=JTpOCV!<0d`#VoItH@M)F5SHjSy$&M14ng^yF5?fP`6_s z+)jq^NM3H%?B(U&O2^z2vGrMdeC_!D>Oq0zQAG z>BG}LN2xI}w8ARXq?BPXI=$e*@q{u@Gb49iR4sp-eb@Cn%t_lZR}6};>YD}_%tke} zeU`E8^PrI5m^)so+UlA$x8bdaPB9FY##zt!^yrHo_O-lEERTSy?9_6jp#0?TVzL-! z6XG#!>Zn_SRIi+fifX=aQL-B>8^-W+(?_%WKL|d2<TfNuGv%Yq3g_! zSNzOzdBHtuI;J%3*BMc_%U(M2cIxzIQn$eR(>r;)XA^Qb4pkbt)JX-}dkXDloF0T6 z7B#i6+z)+p$p*j-=ZtXvqRiZD#dSl>4WXD z<9kxKpBNZJh*}w&_TD&3*~7Qb_bAWe0*zwSuUVztS?3ptQ*{qjb|=+i($4jycts|x z$E5z0p++$8s+RT5y^!`pfxr*y!LjW}^E-1C%HR8EDS6AKn8ZaVf_g@(&5uSc-_tjW z9{6=RcXHpJGFk}PNW?eAS2cqxQ7mRmF2jQ=Iwt%~PJSwC*|Y$9jWcuxgl-Dc8Gk(SnGbvg6K|42b&U2hjP&c-#*al zqh0laeXgxS8?^B3{*&wcyebKyLf*9vE&EZ*_?%Lqk=O{GRMS9aCd0&A^r^gL(5+8J zB{23j;0`mcR6{B998A>2Aj!Ow5YU(;xktrfW8*%gmAck;a(IA@n*&uRsZupdZQ1Zpn184}B8hd}Iyk%o4jy0p}E|px+%8-aZbZi7QuQE`Cc8 zd^~RmJ9_Zefy*c&eRNZ)Flo^AMOSi+vd$?ug=GGm!t^kx$CQTkbzaH@fDAnSFk`xA(*m?4c#)iv!MZT&0&|u>N{u->x$Hip<7eep zx&Dti790We;hAK3567vJTM^26q8{@kw$4|iBOFgxkqg2aEk3TuocA~`kV$~>b|+hm zPiZZ1V%K_h#C=w)9(wO+wnhd!Azy2=t_s~epG4jf&_w~TUb$t{PF9@6ApZdU&8}{$ z`Et2+87Y;xO3c($>!|1_iidF{GBk`+3<}p0y?K7LtdHXWBiY`iy+K_SaJ{Tj{9IqBTqNKKn%~r^puhM2!Yk;@1#s$xD!64;|pyRx@PAW>e-oZdNSI00g9Tm z*^`9wgEx`+ZevJ)Yb7d*Ht!kB?&oz@RTv&-Mxk2K_Kncmb5&$cm0z(BLT0oXo9-KD zT{Qv%KPKFZW`#em`C;WnI5Z4=B(VfOw?EuPIb9vn>$7?!S-rPquxnNU4yEtREb#@! z#J*1ze`8c!eZ#s9g|{Z`e8#QJLB2m$8i8J7)3b}O!~|WnJeP{gh(2CMu8eO$S8Qa@ zv&x@pRy`x(Ti#r;w>Bp%8{{2X&QJ#kTzVzlnjgyMaB41F;Ht&DkTrlnJzRe>cMd(P zlwF%;pX#S|g_6TmL=9X;rUXa`@@R@P3ukG&B)>LHA$suaaJ5qJfdbz^zn<>2=b&^` zQ@};7+x)T2axrD@5Ie^Y4fNTCT9l_uYtHVEsaKx=k*gVTIB~Yw_rc`>4_)`D=!(M& zPOElE>Dl@bv}cV7i0fH)Tt4SpaUQl@)Ql;6Ubr^Xdxj_T?x$NMN#o}r6IP*qeMO_0 z=Y)kTzjC07SJbjf87NNM8us?#hg0fmo9BZ5S_RS_>(e`kC>6uzB zt@xcfULWfrT_4ET?+))iEL^qruM{j-LS1ml8KTP9VYoCNM5Dh2U+87CK6k;*NorkV zUK%Xh<2V|&l);vrdN+*#H0h6|-?-&&eHGFq;C7o;XqBBQ%DC~h+Pq-*jrhA^^CPd8Drp1PsRSC&A9*ianM7i;U zZ7UfMG6z|i;9!l&SB=;=-p*R2WgkBaPi~+ms~|x1u)o%Q=SC5MjK|bgal9{c6S9Q0 zSr~c-jgmyj`X7b4(_m>#W1?DUhv0YY!&zX{)iMX82QMB>U035Jt10Y_pu{bXBN}{2 z8LrTbT3lg^M3jS3iJh_BjM}2GkLrCWN^pO~T%&)CAXRFM~y(Y2(g$al}!arFj? zxG%894@&9vI1$y0YmOSpk1h>{nyDtD8dL%mThiXn49y=5DXWk%D?%19W#uw46^Y*TU1_U7)BuSS_qKX)Q)-ZZ}Pe%6KH;~X1*P&aSv6=I% zSm|jmfDuoTN(DW9=@y2i8zz(vxKyhfYsQho=5*%TlMwettVQpI{+I}dS@qz0t8095 zk=YBM$uobnl9qmO(l@9HRX3zz+q%d7#&n!4O6@XPd8d-&(;LDxC(toOjT9nU_ew_-6(u3I z#ZxH$G`d$YVJ2;w1!N-fB`?Y}bXA35S7lMDDx@VcRJ0pLD9x-0Bzph4ks#LG?Fp;*8!|8(J{V}JZ z4tg`ku6qV`5i9^f#b&j+4bsJD8`OY|q*-O?hpTemyq$gJrM0B3izTpux#ZNfQG@4T zm^e|kd>uq(c0_s9q}q30pJW*wM??GMVPKXr!|73gC~cLj#gCf3S%D+p`7!ye@GdlK zes2HsembLqi?Zg#V`Y2GChi(#VPgtYV#E2EloqKDS~*&My+RP5oaLZ6-?Tvr`)gO@ zH#VYW+RyFdFWt8q5Tr~Cqu0N4ijj2p>3h!vP0|r*q}L}wdaapHvV3$2Q1#wHC92r9 z)IRC7d1|M=n!Ng>-ANu{F1d{&8nINzCn8>w#Rchz?G8LkLoXwGKZ_=93@q3){9|Ev zwmwAsXn8`Q%e*W5g*>s!v3MC?kUM7WJv!13-_iBHW-vu&$-!gGoTN*Z!*Ofy_Fnb_ z6VH2hScPb#PpRKJrR~9N=6hfjum144V~w+~GCdPI^}*%l%QJ=5%wvs`>&&u^lb;{z zvildUg>{8Tx*B<4+!@Uc;&l7Mu^G%6b(a_hg1#@?<{l*8RUjPoz6}rOust=Xjhl84 z1y>3xw1<7Y$J=Lppr#oVtPwoNaI{QU%dhns-cQc0%i^=ydw*sucp5fS?G+OM=U35C z)&V@ecB+#3RwK{br#CwIn^-vS>G`R)bw3Dtd+CDA)I6hiiU%AG;&nDtk1SH|>hl+V zH#t!_r|oQNJQ{_@B{d|AGn^~8lC!ZdGxfj(_Xk!)aonu_ESu&n9pD_exqe=D+oR{m zZjL8Mcs5tRxMD#=w!t;E$o~M?+Yq05H4G=s>ye4LPT+LnTX`9zQm?2H{xM}E#JphA zw;$Ay)EUGDDPkL13CrZygD7pPGSkm134bZ(6lkus5>WWWo|^9AB+W$|VBQP83d5Qj ztMLlfT#u^M$mvnbUy6gpnaYb|elaq%vP_PG z!wg~94F>qx3%t*nQ91CL0I8K;#-5j7U%IcKrtdu5$Z_+qrt)(5N2&;Ik!Sulyp0x0 zY&T7ah+?GNZTPs{&2{mxX=5gM2_Nxo|4^q=jEtVQ^U5R2II}b8^|PvU@G8Zy4~a!| zeHs^dM3|$lIMWNkkb+Sc^aqENTF<6&IHqL|QZUd|BGL2{%6a^ifghKn^@10Mt7)_^ zt4DHWFc&AS&)@qLa#`y*H#^cUKAAi`DR1}H!RS1`&viVgAl>UBcjDq%eugk+twcDV zS+P-HiA7~nfgjH>sDg;8QO5ubApZ$jwAToz}Ig> z6wJ=C3U`>m(sp*~C>PQ!Z%F9yl!=`s`gwjy3wd~`9^yG>dN`)x$U3ZE9pAn2T@fId z28Z)eni}ZPRmN`fXKI9H2%1iAeq<*;Qup`jNosUmu_!5C9S>#ArnKzfvkIKC5B8rg z+G;<`UNvb<&L?51oiEqBQvG769tEdtCMCYy{+Gv|x;#>Oa zYG`JuF*BH4A+|PkA;r7|7nqei#A|^L##duISd!XrT!Nqk_zm z4(yNfbfSJU_;jYE+&Ur}fESqYl1hZ_(qLAy8x7xAvYpiM!NL9A6q|D$boWQVtWoJnfE1kHa z#^L5?@%KZBWE=5g!Vn?PV7D~viB0*&eV6HY$YoQ-<)k1EeG@aH8Py50G4>od$b zeK%ftSh(aiYO>dUFhk@Ds&)g^eLgo~Y@HOz|5)!qOkrlQH?hpAWm|+f8()SppV>N9 z6;wGIX@-2~coC&tUNXJue3)3WeKCr8B-X3^_L2jMOa|J*)l@qqz0kmaxlOc6@xpjJ&D*^nkUj~XY_Z>6@^*`?2#l&fARtYd7a={gy{ zdxg!k)^wBL&BWWVj%e5TY!^m1^mrM1N3lTi(7D=-ap#`j9mV%6o)+=EG@1i(uvVY6^;naSVdQIm{_wVxh2}%{JTlzP=cV%WeKp&0W1v^Y z;m!i{FYUoD2m2_V?JU42_AJI~-i^Ii-lCQXTFs9rVSPu=vKW=js|>vke172QZseNV1Kq9;_UNBU9EZj6qZcpiSW-F4rYAW5m&w4E` z3vVsp!s;~9Jf)_=Kzy+0O%f7vHmT^k%X(?sNp)E%@DiZWU8^lrF^ft`$G#%;u6*+H zD%VTb@k7`fHdSE*_Ri?9_4HVo%guMCyjQ}5y*v$#&Y1$FrPS-%qx1TxmiWl{9{)}oJTap1wn z)4QL!b6)e5T+ms;Pus!>wqoS_@yBjWtWL5ZA?zQqlPv+9{@x@Q_yXX9`JOd&^~ zxJK;Bb4sRV*OfYKrf!ylJA*BohW(nSMr;bdMrM05XIJ9-vdBV!3pIm34%QS~#{G}@ zFr@UI-50NxWatga5$g@HnE+4=|JboQh7ajlvt1oxmhsY&co1CtH6cR-wLTs>qe;6h z=C0qB`RFn8L+VGx+twu+if>A@8R9iT&H~}%I)>FO_r0tNz@VMnDc}5a%SIF}Ey|C- z37>?R-WBF4-Ko5m^C4q=?4}dmVDnBI2peV2yubVA!Q9p!((08W5gPe-5vL^Qam@17}CKT?{j4EQU@-!bqb73 z;srhyJ~ms3sn<0v77+7HOJar)ZKyt-Z%o0hvMM6?#7&)0L=S+#l@WOP9FV8GG;%D7ok#XOBoqKe8Yqso2ZmfN@Id*4R35*VW!MSg~`|+8AD+JG$8sYw`o9j}d zyVlpT*RD@IW(!(BUP>7MxZt8%ZR19k?`}VBBbX76p|Jd){f>9c6)r1xH=qydoDxwx4+>W`a}OdSO1hJam?$HYnTY7@AkN6l(@a|nj>bESA~ARrR@B$o zl^{(-B&*=-ibOkNJ-JX=dz_0L&q{qG4;Kz2$72f925Gxq#ya5C{N1sJ{yIize@C=5 zhDSl3OV$@oP~eR9L~{8$JGpqkedTz5=!FyRPlm;KxPFLuI?C}NP7HFHY3p%a#=B#= zq(wnMGzbLZl9Uz&OM=l5NxMs25D)|+29gp3O8~)Aa1aD84(0mw;vtxG$JoIQlvREi zBRt9RICy%x!o|dVe0)TGprUwpdoi%Iw6quqA_jo~2@*gLKNnA=FVMw<_YV!qSP!&2 z&eao#ci}qGh(zJNJmq)@uKtX{+4Z+t7mr^!5fBseMY@WCML{Pq{Sd^Uf6KXgxjX$Z zjzNoIov_YW7f%m@Ecmyqs{`H>@8N*|3)R1;|H%LWTW#&%HvXkA&d$G0cz9m%CWP?| zkbf!dVdUqE6*Itk;Jw_@*el)yH+lbv#>3M9`wu+-gXIMA--|tQc7L(kKP|BazVsJL0m$nI2R1w$K&Ej48Im&m64uUIUWL$ zpg<4=2$C`aNyEh@;o{;VATS&R`YEc7$KdSz{vT1WI9yx;4u<@bD1pWpq$l!kg)wNj z9p2p;N!SCNGtwR_=IUb4!}WV-;g|7Fcz1$ff_Km#UTAB>)m=P1kuGSgy0RP(Ap}tz z4g<%6Q6Llsi2+KBW5GZSRvZaLO2Z_9V5kHLjRuLsq+zH()+^)DUMFNbS^qQfFnBaU z$3Lt}L$PQqR2l`egQCGe2}yA<5G5rk4z!b!L_(!O5>jB4#2?yp-EoB6M>_pk>xoww zf<_3|P6`B)KmwtX(h#5>Rvbd`N*W79K~Yj*2|EzR4kO9Kb+X%Vf*OKL$dmk%;{pE~ zG&^CPlh@BdNeChFL1N&O_h0koe>4A&X=4{00b&Rb*9l*KqH0K}T?AMOwtkH1;e4@9 zX397MG9EvjI5G2&Df9m}byCPqQVp(#^B^$J?^mTU#Jc^ubHZ``$Syb%{WAdc2{*AA zo?pYbf3c1K8DKxv`Z!<-Q2iUu{uJ}T+j;sR-LVLJ0=|En6JmeqJl@3{>;5PAU6Jlc zLbb-ad&u$Fx#OL=e)E^h6VHWob#=m_e{83iw+rT1LHx}yp1-u?f%N|O5ZOT`umlDW zI3*>H0fHsPQ9x-4m;?|a1+|01un@F3n6Phu0ntgWLf|miAG!KJf#{cRv;)$`9!ogu z#Qqn-NJ+uK7${O22!cY8Ks%VY9S{k|LVz$3NE%AW6ewC6_HTpvbK&_v4hH?V4EUQ( zKjFo1lKeGj7_2+)PaOC&&wjhW^@DN$f9(A&=J z21ZL`rC{h2MxSWI|8I|ulPdB9hCg*@e+&^?zLVSE%_iaDce{#pA>^$)p&8A&Iu8iXCEO>7%ej+GvWp{kyNXFFYwzd{^r|uq!gd1FfA|2vH3&9TZ zVcu1!zfDD^BwlP1;5LlZRw|&n7p}$f9}BoDEYJ}FcoWvr5&DXWACae~FA=fQgG0!_ zo=%otx+=f;w7NFE&l#3}PoMJ?B7oVvG`>vkb3jWIccHymSnGso`NNogV!oq0WD$UX z^L=M_Xhx_Rk9LV?ZG2choqo(-w@`&)azZX}3~=$NT{A!I`)0IVt|wQa@j_PdCX77% zo$eWKUFKX0aa$&fs-f`~k&*pch1$T^JvTfZw^`b?Ubfhk@e3mw?!XHNic=1G51Xhb z#`mYz@MWB`{vK|=UtX%6ijv)nTl1WHlmZ|vm6bwU-gORM9_`qA;WqnKuDsKy>%rm^ z5|L1fQ10`$UdOapgn?&6Xgpr*Df$&p1niu-dAv7oGj^2prTlOey171?$4tDP!aMsY z9gt1_lKS%#w1tzlHMJY;ARkpk|^6{jRZXh1@t+z;-3>$D2k z?byB=u+U+;qHr`B_+V#5LH6L0WaC6Rqez}YdeQDh9_5b~>RX*zjT^J}$6Ev!$82dS zv5IFHRH(?<)E%N+%`(k0aeSERs!D(1*W8!Bjlc9*;}~eP-+o-S^C>KN4f7MHZGdH4PqpY(A~A35wmkD(gN%haER6DUfeB!Z0Vd z_$t_Mj48!=Y)s*6(XHEpPCf;90k%hx9pm8bZqZ}Y?A6JpW|)euBMCyMmiq}JhK}i5 z)F1_pWr$w&S~3{95Uw0Yo_fQ6kw0MTxHBN=h&Q>;V!Qx@Tkc-@(V?_)d zI0ko#5&F7Tk+0)m*oqmx0^_=?phWI`` z+5L#e+w#F9V%9;tA^I(um6PhU(3h3>$qRVTvvgIzS?d1Q_)+xftWsl)xvhS+z9uht zs6ue~x>Y4@FOLa5Z%jm*D1t3if=|eSYbS)98U5@~B)IMF_%=9x+<#&xHE1W|p5MYs zV|0I+U-2f7j(iOL{j5gM7HvWK!$WFFNkBr{p5Vd--H7lg8od_Lr%%0Yu8%LO6l-|# zapyiB<+9!A2T*`WO76=~^M$Haah&q90y|o=rv(Uz4f#uV-;tADoobw#FWp9xWRluX z4wi1O?FO#}#UD>v_vl1^4EY#h1RMKayJYG6di(*tWW*a1t=;EWB-cWYt!*9M10^3mwCrjXq$h+xf}U+ZC3r8-q!ejRZBms z6>^3uiJ4E9<*5G8 zeL+#>XTse%lwL26uQIy$k60F-=97pwA@gr&^BLa-o4C~7la=JlZauGQw~Y_5cGL`t zR|I5Fk!cAALIf}xy;DpY z$$FDYHz@dDUT}AL`ZmXLCh!Icb$00Ugfe;ZO*iY^cXz?}5VKsGIjNq{ZB5D854Im* zTvtJUIef;50I+37o$rXpG{qFLm!(Wv9o4moOriOT_?mkZx(17@g$!>OKwm>f#^okN zKiAj9e3CiGJ3^~qYK*~5w&{dCr2UjsSOFkg8lWrLoLk`k9$p=Hg@&O|pv2@6xslYV zY*wC4KqU3${P|i3w?H0Gx6UDKK7`d*gU)5!W=F3(zko@@%Y2y zmOkrP&0xELjHQgqf_wR>I2bhj-ixE0X6Hqtg4?N4QBu4M;}M%5%7gSctY6S^>U6`k zn&4hwrS1Ig>ofhq`v=DiXE_}i$UvdYbh?A&Jq?oN(d5yJWS)Anp>rDhfbTeM19A(j ztW)iW4ko~W(v$Nxhhg2WO)u|y%;3jKJ`u$j3k@K2o?KrNYV@87p1i}!{>Flw*!@Q5 zt1VF{OQM0Wt=l8gyR%GHD2~Snb1RXHy(A9=3&FlgZgHHvX(p$*0g-Wi52IiXQ;SDk zs`6C_Hz%$Kc=>KdNkQdcUcKsbqg%_QLfRR8CL3G@tu1Mlz@+)pbb6s0XybGJuhwnP zS3S{@p{VXjj&P0j#KzrscDwYzek&PxFtln}G79hLZz0VyvmZCjTkIHh+qZFh-@(32 zdZsXzU#KrXIrYA`@ss-AT+0o$0g1CO0P8Gcx82%n^M6|1Z2{ zri(<;Zcs6qVbJooLF~(`MxB2T9GhCiW=-*YHAyXZ3+uM5kN>C!-(cpP& z4;k&L#}b#58H@UzILdmuG~rKmjVaZcpX_tmC|``XjJ!Fu6UawmP`Y4pdTVK-i=lhu z{hq}wgc>>X1r2+2?2H`Mo|9NY565{m&C9y94W(umg>y)0-XdJJ0gkV9z79YE^o=Ho zHct=N>ujEXmb`G3VmWczP$^2?*~Ow=D-ATO;Q@rZ7h;?Sp?8z+(bHs8-6&`dA5gq4 zWr3jJ<~8EaDp4+NG6XG^8>oe%UMo7}RX&N_yx(*C0;++)py9j5+(*h)CPj%EJ zj)bz{pXuB#28E#SSS3iF&<&}Dt^o9XY z*cJv*iVIJMr1lv{d))BqolUDrMXG&Z{uUtHR*Jp1z2jnA$d8rdN^hUfgmzE9G%PI2 z5gZ((;mCp~=nz`P`o18Qr@@Os1rY$_(p3vJJ@IBWbn1{XgEGUpP&N9y#l-*`SzF~o z<03s_S%&+7Yepz7NTFO^Umh|}Sn8}S>3L%i>jyowQj42o+TumZEbi0V3y#_gmk-Vv zL)J>7AgLi1%#%fdh-_lqqrp45tbHK}?InL2oPh!@rDH^X;c+HHjowh!WI4ykPazs9=kfEl(&;&EA`Z!bLRDQp2 z+ypFJ;2b~g*`*4u!nQtAFJnFQ8sr*BG5Bkd6W47bV|D&`IJvdqzQvl#FIRo%X~a=D8kG3XP3!_;uj&eo*5L5Jb#i!O`Bu2L&Ippz|Fms)Z2dss-iM*OI}54*IgkeCbo^uO1E5zOYKo z`wo3^3197)sX`5kTrXkBFEEi*##~8HNq+Ioc)ioZ9f*wx2Pj%ngvs1#tX)4oe|+T& zzgxiUr{zrZ@`P>S2C_!$J^|g>tS+a*hDdAayndORwVeCotNU%s4E79;t+1UUZsl9g zg_fn(f>W%jm`GRd`PV%(Vb#CudlyG!pV;}jA`*}|%sUMx;hMbCuGQt;d%6FVYDX-$ zQof#K8BFm*2sQDiSJ#=Ro4+?5Q7xhXxrO?}6%LFDmwG z_7ws)f`g6+1~`S6zlUUXFB~k%AG8x6^(C$!8K&uIJjuOfBT}Th(Y`G%l;le0Yj0YT7T*M8U6rn7|F`|c-E}Un zO14Ki7^RZBX)Am$6-SzoFBSST(=(kKd6Ou2b6V7w@i37R6Q^UHvZGix z{Y<9Qz3_$N%6r2J_(9UhMBsYacx`d060Jc|(V}4!XlL&bbHE2_iIl;kGOdR;?v^c z=3%hxcE(|2X?_AG_WJIJ!g4NK)|v5VZ(d&pzPng?eWHuI$X44E>D&5`4&r^f8;{nhBic8ER3wbj z^vU&a7cpJWP59I-RU!e-&xv%4~Mo)Wz_xs(s%wE%CETt5z*e4 zozRw{0M=Sx3_27Cr%?TN5q)059mP`_{;@&sT&15&j*nE@yjC8Cpn~5>z`(Nk3sOzm zQ!wp^M}>DcNru%Q6|_%j8Bv#vKiyjhlPtz(lm)<=%xShvH8)4RU;EBgmX2anoXCqAPgYg zL9{m^zg{^VPZz9#(&3$48Ua809A_+QD& z_xT=XBfq9_v{lOL*|*xWQ76BdrgIxc+}q_%(c}4{*`Tb@g(U8p9$USR5!(n-6_Jk! z&1qFOt!p2RhnBg|>UK0Q2qnY)YdQ93*R}%>Khb;PjU@Nov|f`NBBHW7F4P$^s9SY( z+SRu%uN0QIC(z!~rXvY0P9K!qlWl$*lzFDtEfAHQdQOv8XN0r=?7NZpVDJ#Ex7Rva zp?@FT-JA;Oc{w|(x*WTx%=pdesn;mCBu~V-u(~9g^A5Q;RP&vOb`0af(+Wb{%wX@H z?R2$Dk{qmud?+Ws68NE-4kLOwWUo!@oe{u5;n`7Cpv9RU`%Z<9>Z^kE@{FntI-QV@ zgOaZ^uf>W1T1$)222?ZT3MivXITsZ_7DCAv`HwK1n=uP{Y2NE&8|jp`5uaHosT#i% zZD!wo^t8$Ulp*4+ISoDZo>eR?Dw@Tb@8SJk5j<<0*LAg6L|&1q7GrqE46h%Z`V0N5 zxqv-}qt7899w&|>=iK?gkE%D?RN^M0l5J`z8}08*_vbp4`@a(l5GI$t*H~8k%sI>c z7A%f~s9D@6pf@XL#ye`wO0?)o^587gVv62_zp@o5&zL3N%$QkWF==|Xx-h8^We3p` zeElA?Q!|~&xVhHb!|Ci4 zOO6Wo?oGwiyiw$^I(sSKaI8+K_y|&uGX`t6-z--4C1Yasw1qth7+zZe;v5L3R&&v)@{)pVlFgR=VW20rjkBseU7Jg34gOwAnfDC^l<}bp=UWS0PLwS!tT4$EUcUNr ztehSka6qriGpW5xt(zITCxB(>{DY^xGWA z$qF#3i$xK_iA(9cL$I){4vNS8B>ZytDM+slU|=vIN%^ySiI=_T)31E->*Hw2n>Fh@ zyh|e~2tBR)4-=5Og!A|MjQE>}IbJRCrh_def*bD&8%q&Rih-9k=;-4q)PXPX?0dd` z-Azfa9;WGpj!1{uh^WxyfX6WPxJSJEfP2*LwFnhd&SR(Wz3j~qko_9bgG-?XoaS*Z zJLa;}gzqu+ZXc83>!)RoE*8_Z2stxmi-Zdxr8LAXF25L6FdBbxz~8=9NW;`_RTW>J zBxKLjb^T>iwN+|j2{%$alV#DzIKN^4b64)2507Zk=T!zI*FGB(y3;rQ#Lb@SPjUm0 zLG4c+RZA5eQpQ1X8E`arAx@Cqrf$1?@uvS`0mlR18=-QI9L7jPO*hRf`#Rt^(hTcD zebemrr3FVRp?F%YPZ|8C_(vEJ)>oPngz~cs1 z3M`f?ZrV%4)wPY~t@_&Dg%6f;^h7^MBW$h=v9Xh+vrpOBK3S>2sBQWn^H?+dtMZKs z>oP{4%xCrT9}|2$^g5N~pYroQ%YWY@-~;|Loe__)pWbVsaL`*qIX<$w)_85xur}DJ zN022I|NYXEe&bRTn z(t^&ur*6PzOO}?+GEn6fL{;RvU^ZC0@r!f!?h2tNJJTVfJG!37v)LA1Bs8^WNIKP* zxby~C9@HQoEOgDTY-Ia!7L)AES4{V%1t^o6clXq+`zVT1=0VE++6u`bX^;D6(OXR! zRVg187elf-?C-cd-wUj)RMHIy?MrZcm8z!ZH%GCgB!ADU!Siq?=#rzJmJAp=@GW3} zeZO&+j8^eg=bReqL$+Wes*SSCX}0=W|EptiT|tV&n1i8uYxwtKN*kG-*`x%`qYbT3 zMru(D0@Y=syJu@1y|?MypiLD8Ubb^$X)fMn3dVqb;WrlQ^8?}51j_7RWf{6vbx9<^ zs1UOM_0};g&e^jJtPc#YMTSCNjn+?g{Uw20@yw4>@9zx`k1&mUe(_?iY~c_rv2==9 zN_MtTcvi4kl)cs#z$arb-0oz>v3Ps9ydl_^dFi@$vHW;rxjgKk%*yF7EPeRVDZ{nZ nbZsYFVW+nO692RRY#k{mZlU8rr2^w8KSEQ#qN7}Gcol@t%9%J@4G{-upAgPWE1Fu35hM&AC<}(Rw>@K zK={O*T;ybgch{NQMuZOvS2c4FA|gt34=4kOEL3eyH@yDDKFaBBYUSVMmuBecIG zS_;E0FUKk43nwUW#(E+-eVv_LJm9{v+&}cf3HK+%qTHN6L_8g3xe+G@InA{7IF<13 zSWYPs5D*OlfjA|kM8FbYG(^JgGA9HCfrx@6MZw}gup}G=fkVYOf4#T~=G-xMa06wP zU&aVevfK`yp003FQ6C>45g#!Tyt}<9SV~Gt6a*24K!5}ZpogD}C(;+_;=%KW24$=V z+8yWWiNm{ao@hj(@Lry>+yqyD#^CJwTdj-7FPsR7iTWa4MZqGVlbC)8V$i?kT)o_# zei+A~MX^p;XRM2-2SFD6Th`S9?}_(t!2gBn-_!qOfPk&G_HP^i))!~z-zGdfuXq!} z_yx$nmG&_5bH$1pU_J0&?r7{4Z-SdVe?;TqX@LC)p8vseg81*no;bU|SbH+_PeEaQ zaepCtGV@#16|UrtMS9}hjqrGJM$Y?l?m2Bc1-N^~5U- zL8BcEDh?Bqga9R_Br!mU1k?^Fg(A2{P(~77aRd%2sh^mUw)!$Na$SzSP8a%jOpQgu})^n zI07;rKb<%+^N%U>f0;UIWGAHtSHpP_80Yt^(->mie%(3YIDb?Z9EtuJ0Q!WRSPb{C zVcfq-<9`O&PqjV{SOQf44QGFfdEo6leUR>0ggpV@zpV+;zjPk&;*E9xll!hncO;=( zW8FPux$WHX&YZvb%jt>dM7p{<;m|+QDeCQl`PC4AGmQH$?RX%)|9gnUk#H-ZF)SK}MoGbd5R4rRNQg`lCd!(SPkk zKcAI2@}JpdLRJ6u7cGIdvp$YIIv$i@Ha5k3`%JE>4jFaiWD_ zM|d%>tJGhmB2yACweoWrMrtb-Qr!*LV)>5+T;&(&hyXkZYZ(ZAg~WHrQ!|%|Sn0tb zO z9{yVQ43{o*9tG5v$)aX-vR!y=zh1sRu%-Wor{gwDm)7%ky9z!bL{l2Pc(^p>kms;4i=KJ}%+Nmg+y|^{c>7o<>X}OFf+VYNb@bY-~)-$)cudU=H~I(&x&<3ELQlMZojBtYLH=QmQ&79zp{W4CT6i_gjxu zz;5^U)qsU=(-rxnkAe4h#^hxViX@t+Dj9|I#A#S@X>AgvEvo%O(d?-y!_>We~Fk<@oh#DT+`uXur~er)Bo=^3H$)`x-=_ZhUxnv?v-3o{(z%vS462ps6NC ztSMo2c;*&fZq?F)bWoT(&gcah1^N;T%bJ=7w?4Lj*4PAf!MrB>9zy2=Zd`)Dz;2A; zi|pcyV802b6z7Qv`L89nZVNd16y5>Y9z}Lfg17rbj!kn`Keo2PRCFCl5IXf-j}S3* zOy8nLC~z#J^s3jA!N`Sh(`#Pumw z*wBG}WH-6J-g?veH4#Ez>d+S_$?~vFMX@J6_FWZQtCN}*>cX2R)$epM?$Wf9dl#Q& zX7@F(UimVy^Ky!KW+M18ak@*)*aza{wyYZqoS0;4V_uJPAii;Lo7bmA=W06ixNAN; zHfnUoULXpL#<6I-K)1Y;c}HF2R6CVhr!L@UrrrkiHdHq6eVaJ_rD?uegip$zQTpyt zs%F&J4x+iBwdDFQcU&4ZZf@=Xrm5;KrznHOm-?Bvl0HBZxMfo+RjA(Z*TS7GCdA8K zD8F0)KZ*`kI+c$@ZB6dvZqI1Z_T{(<@#_dTIz$g_49~WC0w6i1$rCmEb2h=Fjf&H_ z>jqJl_RT#sU{=u%&XG0oJaVj7j59gyDB!h;a8aqo^ECmRPbtT9r>}oIeLv^xIra4o z=srE!y@-d~a=~Mw)$)^FXTDT(p&p-sqb6!JCVn8ip??Rw)(aD znmpjqDuEBzt*U7UxJ~GJVj|K-5Nx61yn+s#J0axE=qHE5!JT&|x54p~{!=@tK|2w5 z{T5c5qlYT|N;kQ6-q{+-ng`2`0TkEHgf5?-tlckYvKxEfkacQ_KBf*=~abDAI8y{fp zs2LQm0LYmp(-H`T@MAQ{iM1rMyF{%0Z=`wgu(L*IrY0s8_N(YXIaxt*m=Qg&VOh%F zDJG3%y^o4FDEOXVba#3DD%Wu~@CFHWPUzEw3OVvkH|yQkcffZMbDWyFsh&@5P021C zY~RPYu7dn>d5sYPV9U$~-!YFFifLjmOX>6ms%ukOg7a1Jb$2Or4Hj368D1@bzJ`oV z%1()VYOITSFMW<@j8@*%7=!uPsT1;m_I*-u6@YAMn67N|%L3o`@Y=X5Gz^3MWhO=B zMv|v;Sh+U=k`^>Ia>6&Z{Om> z$p@wFgVwQ{!FBZ>L5@N%AaAMr^*V4ANt_en!Wk z(+AgTg?oV&w+s5N&khCe9~?8B<#1#m1BEiv>5h>1H%X93lSeC%dFsuDe$m(me8*`U zkXvA7oa*0pGXaJbADy>34C`}keSXJd7C%Yyo+!pxa2TQU==zdiv-fQ9$25)$FD=N4 z-EZ`~*b;HFBpMFex;-YfJI7RmVt?ck07rV#Z_HEqW zbYEB|JyRUZCpcJ;oO;jO_)+6Pp5=zxu<%lJ%En{SWFz7laRq|}lN%o|WM7z0KFKnCbE~LjR8HESc(<+uqiz7Xso1 zjs{OV`pIZdJrq|;W-J+UVz21$)r3FRHKtT&ezebFqkJjeGV8+)y zUWUH0H+vSh5NhPi7d7nBv9q#NdrqPW{p{z}G?jE|o65~D3FVT~yh6BY0~}xId>s}8 z&^MbT+B`m7Z?Jj#N#f#BisjU4L&Yd{XBUeut#r_wh6fPtUW{=X5xbLgm!2kv>PBH( z_^`rlNecu87mpENcA0W{t08Eq(m*W~)uP~#U;QX@^Ire$i@56Zi)kt5cM#4Br};_F zp6aek91CT!sn+vmuKgnD!*)@|J;q%x7xKu@Wr-n1Y>g~{-a&sLuxpZyY)a;U<>OEZ zCrQ-<3WUU7SuJ=;VNjEJ&^C^gCh~bMV-9_eL4it1NlBQ1gSM-ppy3wPe(lqTl3uB2 zNpBbcg=}E}#klZfNa~<*w8ssvfw}a$RHWKl=5GNqo#oiO+dD3{#e7&<&Wx`4EU~_i z&kc)9as@_4XxOvi2|9$MV&hw;FPH8EC zM#fgT*tkSbNQU7a;F=Li3sNlGFqn^w6OueDLwepA#QIhbt=R77n7(+4GMnqP_JX7K zg3`e`W5`-r6eKmog85@fAR>ntS2U8A$2u5-&|dPV!5PTYQaUCSK5rXM!|{25_=Gem zl2#A%_6N)ZL9Vure*ViU{<)rVOc zrwWFAf`3N9w0kCR2qg(S4xm%Q;76Ri5Ci^YH&sOt8;3s3Fhw~DvbAg4GiHD$MI zHe8&?mJmzzMuuoa(dNaCjVM5a7#XaH*2pimr9{Mx8%xreEl5XNzu4dL32PISAB^(1 zz($wLsMDJ97j1o9EskcvILemzLrl@%6&_oMkr>_nc-jIc5rda$x3jb|s)6uFxLw6s zP`pp7yQyw1ev4bc;vc;}(q8aYoKQS3@|^?08-Fe!xz`@v=lrW7-OPZ|fky zfMapOl5lP8wF{dM@bEbtP%QuVUeEDOkuO3a* zzOZV|dk%wf3197)sX`4(TrXqDFEWu-$6U!sNq+Xtc)iEN9f*wx2Pjxlgh{70*RLO+ zKfdyr&n;l?{c@IhWx}>l6IrwMAir*GcCS-$Q>3+2{*d&|dXD|c)&0(8273m_4%ki! zm-4Nrg3FR?!6{ZXOr$G!{Tm*bu_pfq$! zwL6weu|Q9v0;cdbgqryMi|foYZQomus1{Lxykh+ilLOwcFW&x63sfxkAmf3hO7fb; z&#Lz7_T>XMf`g8ShdG3nzlUV^EgUS#9dr>N4JNK18K&!KJj%OeBV3}p(X}l)ov=yc zn7g563nx!N^&Ku#haF--8aElSEYB^|J6`w zUxUkwvh8tpM#-c;+A816rI9A&OU3@o^h~G5UM9+3X+es02ky$~oEGtAJWQm-#OYY4 z>?kzMJdy5kFMg)5^2TrqevmXa6}Vn8Szj8eNNZ41vS`=}+SxnAobl$&Xs@N!>gLL5 z9VAW}W4`>f##FyBERn3eh0dm&!>q9zShwBo#R1M?=CO^A>_5vKM%F$uuMs0=_JB<& z?Q5oAURJ7jcVTbK7Gn%=&dZPOxhTQYWrOju?W_~gZK zyk9)rJPelE&OB@`FG#?|Uf+FNT*+z6Iy?E~Ws4H<^`+|TQ@vazw%VRxN0?Ea-j%6a zA>3yfC>FirNA=#mwkT_$Cyh-gFWu(1+G8~~t$>}bzEJ7DCyw2`={P07J27h`0yH<* z_e~gPK8_3ZC~Zswn=bp08-m%xwTy`NY#LX>vK`+X-mw!O6SJ@u*JxLTsL=K+zdYZh zfX#&qw@=e+>472vFB~_XDH?7tpeFlxs8Xo%aE21m=5`NX>rqkL-9GMy4<(qA7(2;m4lCPmz*z-ao`OVVwQ!jk!h0=0Ey`0#Kzs4ma3W#@*j6ednvA{F*l$ z5$&zygtiO?u-5xx(4jauh3dCU==0+4DDLX;cTKYAs{LGYeI(Q8wel$hg+x;k#UEITp8Fpkn;&ghH8Y_?I93yC*>p(@ z!vIp(w*ybio=Z9iER%W8k7sVFowV-bRH3P&2xLSJAXhv_@-iL_di+mqQPY z|CQ_lpYLHda%=KOTji{tgRA`;4RV|5I=5lO1HIl9{hn{z3@VCUNaC*Pu{G)#v5g^B z5e10Q+zw^ahOY5=u?qJ&-R`yp!DP69J^TLL+IHaKdwMUtk;J~6RtvcyA}YK4VuK-r zx>a|NU1P`cN^xaZ0_`nrI+D=Rj1h@FnYLF!S!V{^0#V7S=QL?`#yEz~z8;GY29Lr9 z2CSpyhxWmJZK;6%=X2w#%dv~fjNhCddyR8Ra7UaAYe=Fw?~r#xwZM6F$1pBDy)d-X z4EFlTPH%?<$-#Qa+e-2)fp2T+Fd|AJd!1UZjQ|GnPmZDjEzb1Y_sDnGUKOC1V^nR@ z>4Cf(k!Z=f7Ap$qC@(=9P|cFdql_-+UQ&2hEJnV_cZA{Cj9JJ}_gJ<5}apuB*i&@=H{;7{fDXdHm?q zpXp!C1MD#zeF}N|FmW9D#hn*iRJ+ls5;qlJFeBV>YynF{{erqv_e&;-o>8 z9Yjl@oawI4Q;dbWsX-aO;EDt^Qr}m(KNTRArM4sDrYpaMC?jRs8z8EN_JgpuT-}0@*TJr0;ebC@u^*+%rDx+vyPlQ<=FNJE@CAy24e9sP6@l<(r!y9QG159Aro7dk?%+FX>BbEfWz;V`ad6BvQs&kYj>gm` z3({~?1+Tt!en0(QwRBLxH}0#zOqOa3ftu_VQs17X-Sb>|`H&Zu-jl1M$JQaMJ3Hsd z`re6@eQy@NVdJCe>>62RpeMSGv#LH_pGRp8{$5U*{|yC{_Mr>sT?<@JlqoH)GRYQN zzWRKkk{%pzK(F95n<^8DAp99XOMo5!keavAuCH5Ua!)4e=|whSz5Y+R;(J*$KD<8k z+w8~5@-WFuB@sf2OBp<)u(0fIiidn8e6sjy$bb%DcqAc7`ICB?m%Yg2ue|Z=lW2*X zb?ZAkOJgYrJ*|5W5|Fxt{rCDT^yPzGul9J;k#-Y-jn~D^zeaTba;O1^ zd7R6Rxy%gVdrYI-yJYzKY3ZX&rF89r&Wt(2;rvKR4XB0EvvGN&$!7g|_kC}K$~LnbBMmj(G_&m+fZs?n zt&8mgw+S4H(qzpoFZFO)KG-VWQ_?;Bd#9|s>tZ#bTHD6ZqM&EJjKuL z238C#l`L)DOT;yFPUNrp+TMYWl(Y9o-%lqbSDM(^Ny6EuVq%}HoPXRlV}yC44gOX6 zMwN91qfge8M!9zhJ|22KigJ(nc%BrzY3KI=f1b&VN7&EowNp6gEukEXtgba*+cc~X zHtH8(36s&$BIW8@Hm}{l>_5JGcj?}xca3(v`Ev-Agp3lA68C@bcy=O=| zJ(#%k5?C43Bo{1r&8}i>`(ZYd%-YG1GWOv)Axjfwqtgcqn4G0}faD0)frsnsBVo6c%u2qxg;cU=lM?EcRu-Ndo zfc^FT=3O#cg%>?v)KG781e#Hul)X-KwbzDT9Fyw`P#ne_j5b=szn4D_A5{f%Z=~HIl)Xo?tQb?N!;;yt+xbFeYy-R4v7l`58mldj0v&UuIR^{MVJ61R zCb3Pt)8VRT$>qV$fb{Vsn@4e&fIFbF>hI<4@A5=c?xmaLfS39=&Ph~jqg(T<*-7dK z;Y=oH@10L@6e4H2zCAB6c$24Q*lOogGvq>KU2d{Wb+Ys#<9get=u68|qo$oIlbZ+|DXM5>quT<3mp$C=bt?J5t{lH9pwr|+tB|9*&s*A literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_17.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_17.png new file mode 100644 index 0000000000000000000000000000000000000000..580e75edd827cfb770a97accb6a985f2b19b3118 GIT binary patch literal 9693 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 OrLAtDR-n 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 FKLA;EO~?QM literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_3.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_3.png new file mode 100644 index 0000000000000000000000000000000000000000..06bdffe294318ac9540971f2e68766334f7dfb15 GIT binary patch literal 9493 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 auQ5(AQ9pI1PwnvE+mO1(h!Sn*@c#o-xhanT literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_6.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_6.png new file mode 100644 index 0000000000000000000000000000000000000000..d043ef77c2be60163fb819fe1f322625b18c41a9 GIT binary patch literal 10193 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_8.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_8.png new file mode 100644 index 0000000000000000000000000000000000000000..83e27181dfc1a4c38dd2a7cb6b70eb62edd65763 GIT binary patch literal 10332 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_9.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_9.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb9763e07a3d6819dd2e69bf278dbdd3be76c7c GIT binary patch literal 9915 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_1.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4da1bc556f37f76fb4340c61d469d34a121750 GIT binary patch literal 8487 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

QmrW4;SnmUkH7?AMjLY>qSBP@&4b2DzRCmGmp~2 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 I&n4nN06TN%K>z>% literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_13.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_13.png new file mode 100644 index 0000000000000000000000000000000000000000..363f1bf0b299f7e47eda8b61828e114f22134fe3 GIT binary patch literal 8846 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_15.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_15.png new file mode 100644 index 0000000000000000000000000000000000000000..1085dffdc923860aa796f835bbca4719f8df4fca GIT binary patch literal 8699 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_19.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_19.png new file mode 100644 index 0000000000000000000000000000000000000000..d379d9a27923ccf43609003aa30928f322eb6aa0 GIT binary patch literal 8597 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_20.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_20.png new file mode 100644 index 0000000000000000000000000000000000000000..676afe570fd6505b40bc20d8f0b714a210c435c6 GIT binary patch literal 8597 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_4.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_4.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc56cc59bcf0e780c7042e8c979e089797b2c92 GIT binary patch literal 8597 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�~2=3l}}le-%75RS^_rXnV&AQ-xxofH?Zrr$a7gK9OWWp4Q*K zE%$oT%ay=IXpECGsoS|B-#RS(f{vQOY?y!zai*w!@y8cR;IQT5Bu zE9ZF2I#t1@Nl~9~lTe6KTkX*me?q;ax^iWbi!AKJTPe!TL3_ZV*Jg;oKd!al#VwV} z8F}|U@8Bajq>5@jt<*%(wy`#aZprq%?+ao*bnDB)#Y|JkIKeb==jozWu~A)fJ*jw* zI?e6u4yD}na9Y@dD+!&K1t5>^k8?$M?0m}4URv1Bc$)hg-+_;rtM;#!(``dVukX8b zRMk1YNK9W)AJ?6hW+HBvd>56qf?f(nYSaDK-i9wU%1<02L>us(Ix-OT(QR$>?qr;{ zMESy@n~~+lP6Z~%3gx@6n)ly&$0IY6SsIy8T*9MxptRGdf7mAQQ%ip7rc^-$+^6?z rZKKXeN9ol~?FB!PhM52PwJlxn%g*&Q(z)T?f1EHiv@)pFbBp>f*i=s$ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_5.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d682e6926c027711e8ae06b098b6891cadbcc227 GIT binary patch literal 8597 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_7.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_7.png new file mode 100644 index 0000000000000000000000000000000000000000..f614576860ae58c035bef80893f88a375972f15e GIT binary patch literal 8676 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 XRldihZRzsP|1gY?9Mdn?bqfCv|1*7p literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_9.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_9.png new file mode 100644 index 0000000000000000000000000000000000000000..d63b98d1215734c5841ee428675feb5e308b240d GIT binary patch literal 8856 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_1.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_1.png new file mode 100644 index 0000000000000000000000000000000000000000..51677815f6c3568baf21c9fa1520054816af7fee GIT binary patch literal 8833 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 LvNSBy_dNMuwZ+yy literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_10.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_10.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f67b7cf93da8d1e71af9398f35bc92427657ae GIT binary patch literal 9191 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_11.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_11.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8db5c5e931f3940a74a5c671d173b62eb55a09 GIT binary patch literal 9278 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 T(POpy4cdBB0VGq(EqagkD1xln!E}h@hZ?^j-x8 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 OKH3`k$Y*LcA^!!s6Xfmy literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_13.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_13.png new file mode 100644 index 0000000000000000000000000000000000000000..ac02f3d6de1bc4f45e4b714549ea32d014028c5c GIT binary patch literal 9319 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_14.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_14.png new file mode 100644 index 0000000000000000000000000000000000000000..745f0801fe9f60784d57e68d7e538a3caddbc081 GIT binary patch literal 9319 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_16.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_16.png new file mode 100644 index 0000000000000000000000000000000000000000..328e03fcacf60b2a318728478ca271a78c3f4244 GIT binary patch literal 9319 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_2.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e0cbbf8aa72d47528d8e900fa61e17627b6a2772 GIT binary patch literal 8833 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 K7?kOGocs^BnbX4n literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_3.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_3.png new file mode 100644 index 0000000000000000000000000000000000000000..476f191678672bfabcf7706092dd47d5ed517d27 GIT binary patch literal 8909 zcmch72{@E(`}bHI`x>%jj6KGzmKjUPGGq%ygl1)83}dfkm+VW5Xi?H)Ph_b`WQmAE z5s@`S63Ogj#n|Mx!c^M2p|`+svB_uTh=UFUT!zw39N*Lln_=WMJ@c{s&60RRAx z8P>>_aVPFvKz7Er&se5CbvP>@;>QjJD;hr-clG!%w_A`lRU1jH}I+aDJU@%EGbLxT~?k3gsR z_)}=!pdF1kJT1Uq7tC<=XAD%I-)g=6e&NJG3>u8{fx^{bJ2CwbBocnh`2^6tei$bb zpd>F6mE`U3$B>2pmi6(V`P2M7Xn&#l_w+v*U|?%$`P;_7^o2_OZNksrIFJ#>FF^jK zw4Z&54+&~Z@}mXN2_)k{hMTf~MC0dgOZo?%|G{#G`0vI36!KrJ-I@8Pph&@#zYyJ- z`7P>$IY1}j{AqN18qMnu^4R==A_##}gMpMBDBeU`ke~8S48InTjBx%WT`+@4NC*r8 zfoa*p&=`~^28B|A!7(t{Pf<%6kwOmn-$dak3`zq7NB@&3gT_RhKkjdZi3ALpMyKK! zdqAP$+(}R$Z+9^0_s(Jt(7b4LhGB+x$RA!1d^GNE|?L58ihi{kk#Q@ zcr;oQ0w==}5G_p<41y+V5+P&~0zt;3HE<|6{*U!WG(x}**>=|dOgtiuz|ipzt8gL$ zg+mdwAP5u@4}qZ>+O%*uB!sAiglmyVNTRxy#vj_O=@drp2hjm^7KL<4t zjKqgQ;XB{I=8yi({6D4-ds7$?GmP!<*PGX#O(Emm-S};wrCJ9b} zXd+OW5FBwQZP5fI1PLb+i0Wu{O+1N_X#XadKNp_=;a~`V%YeVx^c`OOCdpreMkLWG zf8xNOdG^}{&=1D_zp?kXjQh`O>;Lyng6^~-Kg$jDzgD83??yk7G}+0{A15{DU)7xd zl!J_;8^bs#{^sZ)qDTll3WVMa(TZoE^mSdNR5Ws>|3BrqpWkPdW1>D1eg9ArZ$}6hVH?R%7R+;npw!5Ks zAJiUFpY%&`GrYDV3L`;G9a-DruJ z?!u~qn0vU*Ha}YSWEAXN_Pt+Q_M&1u(aL-3xZ%~Gd6yMQMSSd7u^sc zp&>1`SNB;YyB4V&I#NKi?vtV(a{GPnRjO2> z?tyDp6wcP72M5(NGM&Q1BScH<1E&L=&v+hhsr8IBmx&gz*>{}D5op0}JQpVu$-K7y zX~azVw!Q)Aw)CZ(OW&7Pw`UrpR<}tT%Nu84QDVC8_f978%km2tO_jdY`<^`iz}^)R zBE`lj?3~I5wBizDCC5ezZG296snE8`)XmMSe%F+oGGDiOg-_}m z+YiS*;`5T0yxE?hcRQAgL@59Ak8 zp2@m}O>bV^p6H8Mdn9~YPv#&9z!#l)xIVPmjr;K=nq7X`$t0NJX5x{TOUnE53ZMkjR5Mll2@xI zK3Zo6mef0aR0bF*n6J3kd|VX0lv~qNB#>&@z{xbjYdeGo2T9Vm%m89yV&&MP2%d10 zA=GO9cEy6uQueOxx1r~Rygs+Y@-w}%!M#2z9o+1m0Cidys=5$d3;-y0sGg)xw&y6| zJ$jOXeLzRqj=dR?3hzGeT`^PuvK~>jg=32hyzInCFUvSStv?OhjG5UEp6)|hwq`$n z#Rd>6-Fl?5ts#3uh&7yk%OYH{JzFgn-`>XYJ`RYLeGicFG|Cqst)lgt#0A)ZZMvfO zoZDfXlJ9#~kF9=gzv=E4AXr$5pGL?m>xjUX`VJ0jFJ?%TRwR6G>j<)9f4VLR%i6;| zq29dC_X0~15+X(_CZ#f48@}%ov<-#lZ?&kC8))|O^Fx2JCQkn!b zG=-{gCGo>e{p_1<%TLk43*);5vV?^LzVpnt*#M8q5Z@`p433W%BqM}wHIz3`uX%P2 zE<5*c91S8ZZFIXB##ucA_#C=u5;kuvE#HZGt_$$@F+6C2PD46muhGxk?7ix<7dP{w zRVC%|a>e!XL}2C!;x?{qw052*@tFRhtNPLX%8;83MMhQxrU?h{lcuAMhX=i6JGZG6 z-tNcNYt+HEAQRWi*)^`|AWURr;_YN3+o0&?%P%E3_@@C=TRoWzQRD#jZ;m(~f$)SU z4ez^L7rh4&RF&Aol*Bms?=R07W#2g4WsTY3WVG%$?WH(`-P9Gn8~icm9L?q&hh*B_ zG9Ha+2qn7K;#wA8v^hL&H_K?AFbqmaxK+N^^WtkMm!hf0;E|7CSgzhY)d=uCx6WZ@ z$qb;Zrw`p4PYE$2l0&l!^?{Lq2;Q>QQz>KXZjVKaPq0iKtJv)sepCcnDN_e~msr8DxIKB_)bUP|H?z=z}Uw!Hu%)l#!!$BFw5l zyQX(_wHO%9Dl`f-zYBOC`N(?i>HNaB=iK_jE*Xf!i~7}t`nZdmFS|w?HQi#K8LEuj zrQQ@fGa6gSl_4vtvD&5AqrR5QUTe|nr{f;6IFwfWa*d!(Rq2#f5(tl$WJ*^~(6%{i z?AhW$Mzt!~ zRq3e^hY3G%N4;BT9;}$vg7|TMn z3A)y+!+S0>yU0f`-DbBbH1BrL%zGApEt36WBnT5Uj-V*;%N_@N908*B<(2ROIN*nu zWnaXHRRgx(@IH|!F9UD&=~^{MGCzBjr>yz{s-I>!SaE-|v%8zW5q7$7IOScvG~ecH zhj467mpRY!-H6K3OYKBWlK(!{gOG!&*A&}<8r(8NutcBDRPpt%&$nZDaY@Kk9yhiz zH&BkzuRJJCcnLak_9+a1F$>bxy4WOE4#TICx!A9Ve?vHEDCiuR#3XeB&B{F%5-lVs7ptB)iRm^~Ltt38^Hk&#dGG+j4l#wOhB zU5ePU^gE8fi0hs=PJI26pIHg$HRv$zgvX^)qA3}89yy}Ux0yPdFgm;R+O+AScKy2c zK!v;YxijkqSFE!nmaZITF zgQKdlwchud9HXbW-B24<2OnRL^N^!v;z92-5bUOpTVXY+k#a-5%vU_f40S8!li+pWlka)z zgoTG2yt=Ng&^w*yK%K{L(h-iz{r!tpn#Ysg^f4ElXu+@x=#n#wi4>i={c=5;?*Y(ne!7MM<-WP&oo;JaY_gpnW3xK1VOoNE%-93aa}TTIKb0*V|{73Hl(lzaEa znqBVQzwn@x{UVFbXVIX`eZyy69}CQmteanJz~+=6l}qcPNq*C0FTvDOELYfNj4Q({q5fZKC7V5F`ScF`;B3 zqTstl+AQ5*eT5Y`wY{v8dgNqJXzAA4ywZ{96zut&QNj1d#CD+| z(Tc$a+ir30@KE~+QQ-+$!xE%9w)n}i-P!JS z@qo^pa6ycW(lYC;$C4H0U{amREDeGY*wamYd*fQ~I#MblrW;>pZA^O}3iB6dHt>DU z%FjR6tYCDk@{N0-S{~3)19EqRF5wM24)t6ZZ?CH+QCzv)H8>L&moP` zdt9|!SK$}<^EU`9JjD;^XAyx*#UoxzpN}@)2lTvhFnh}bFYnVVIOeG@81+#!C`_`! zFUa5`lZ$-*+WXO&=`r71QbPvjSCCqU_Y`*9&bA(RPtUFAk0VVrd^rAZ@-#yVwd?H2q!fUsmdz$nmc4ZdKSELG6 z3a2N5NNJfsBAnVeyb`8)@Pys=b?=|)Se5;valja_J8d{5ztSENK`eM&=R1;DXAVVA zDaeU5GUFGzweL>^BQKzX%VcGH4P|JJ;kh8`W9~QhQLkg#5sT3WPUmEE%%nA+?L0kO z_#}38_tiG$S_>@h`A4yMjQfdHF7{#K9;Or#l}^(uYx-rl>BEd_HjjlE9YaSqO-RWd zJ%Ss|qXj(}t2QdgM#zuJk` z*V2YNP`v4Z^Swd_O_959ygtV3%(cC;2*v7V`=PH?AAFn0mKYDIZ>s9^c*>bu*%*$ygUYhJm>pCRa@XgbaL{; zwI%UvPhe$dUwZMlfaDT~n64ARSe#r^Gw^MMrKElFhBu?wf_3jNLIl=c%agAQv10M= z38G2Rf?Xor0|DcHnGTot8|OKxJey><0)pJi=|unYb`5Lx@fkJaO#lE%2A;YuGQ;hr zJ#~()`wTyeNdwF1Si^HggYO+#MQVz%Us5mBcrJd2#DeG5*!N!%P#7TFvgEa~F!kK{ z%2v_+R>)h-$y0>jP6m3X3p{S{2yHh=&*)8laeK3n?+UO@D#Ro;Y)*!H0XKC?KR+*l zNy$EL^@YXZg&`ij1O4}cR#8~CnOBVwlO?il?`?ey5!KfYt$%!M4c+MXHk-Nx2=9~a z4YD<;+b}A(?(X&#;cB`rb>(d`u#LQ@N>!@k%jE4ZYa0Qq*j|wCL!ce?NyjULh{)m= z^5}l)y4M}3REz$l%Jk_HzHF*tk-FdZ#-j(ehr+Jk|1c*pbZ0&tO(}5vwn30~{x(FA z4hNh(4anb9b!CW$USFmUXbQ$j_&!QeZJ93eJ<0`JHw5LTZq8(8mk)(hFVUS<$l_Rc z2@u)+E~|&G&St}qV$i#x>V@ui@6NY zz>nuid*|*x3oK{zyU#m_Xho%?q6}l6J=(QU96EakYNPD)u-Hp4ix5&^HE?;p)3kt= zvf4RZa)d`eU6`CVQ(!H~!YelO(y4DC3+~t15)}}oovR_x>WCeCdd$sDaQ3^buo8$K z`d#OZtYR?i7_Y%N))La;B}Fdb7_@Mq?eDp!AHf`$0E|g^=5}}h0|%WeCWYo8BS@Q{ z_i&!q=3-&T23SP#R|`fYyse2law0v7%Z*Pnc`mi7c6#5eRzcNex42$0PJnY#N?fJ_ zAM1hq!ytY_PVwDh`4+}+7P>v=89wxHmgKycqMH_J?7QYx^OrUagkF8@!Sv{4@4XXx zH4+)*yA;1Ip6bZNXWUJ=8F=}*JUu0nBcB5gxVKf)kdvu;LnNG2{5AB`8g_oxdIOyq ziQ_#Cx}#o|t%g-8HusXtm2}nI=sV~QNSnmJzvYG~UVM;uBICyH-B4#|jxK7ou2+gc^s8;=UvV1N0MP_DT<6Sq%0(K7bvk z^R?5@%{duG6fP=EDp%fRRbvMT^vsAisGXm*1q_-q-UgUE|N@FESYY6oql<0Op&~IaksFj z(s`EiZh9NeN^k9o__|H?dE6YSy1xmKxk|aPwN0 zC&#F1-K{HkYN&D`OIRiAv;M-jezh%+Oj70 z@46njdM>k(Q8zXtit9!W!jU|zp8HDXdcf0%Z>kGZF0M_z9#K7)ABbiH7}-y#i*8)k zD|{IEY2~apzpTn2@H3_1Fg|r|?H`X72msxc;o;(^KmWewO1C->3G- zfajkJ+a`=^Qa3|^J=xYn+pgfq;;Pe0@yBzNmmO#DyqWc>{xgeDD_)#t@`9L*-mC2A zMZWVLzfkJJr;?QU;%(iDdtSQKQm45il>t2@vN*7h*L9Co@-d}n{R3|$8H zwsO4Ok~?;3fUKBHOP%c`9%tQON}R2Ufb!@v&+`je|3(v>;et3B!06CHi zt@lTWFuz$lk}i2yA;E2MRi9qX$%*Pfs%NdS%cV8H348nX<8jNin|J}A{48eU6Z!mE zYe(8AYAzLW2HY*cj7<(nVWM5K>7LgW9No1)=_J}AH z5m`edk!=5H``+*S-}isNf1BfY=6Rm`zV2%|@AJB@`9pgMvLyC)pmiv?Cn%Bw&c( zeS1MV!CDLjRFXdq6ioH<_R|X11%KD8#dzKxhJr!gMf^Q=!TQ?y0Az%mu6s8GBrz(qKsPBhV>6{uG)w zXj>x=PYdwZ1v6az5d+odw_0z%pExlPg9hV#pl~(Vc1+&|iG<&BJ^^&E@5YG)D9MXN zC3*Y%F=XMtWqmwo{xm-i+Fz*tJ^fDx7}#1^{I>C@zEG*ZP5Aj61v0|;3CN#H``Lx~ zkf1gsKUx5tKr#wsxGDQ98b5y<(m(M0H1d^$tE|?L58ihjCBA{>>G!8+4 z;9xi$gak(sAb12p142e3)sc823Wp@2eyum85dyZ!w!QvG;t^>ChK_$&#iQYxWKAL( zLLgvZ5Ev4LfMD=2JOn{RA~7TlvL>E@`K8T@PGRIe&g+j_x4j}VG!lt00ul!!L11_^ z4gx2ma1abyQxk%N6Eul13bmVX5|1o{Yo5Fw?0S0aJR{pK&o zp9aGD_;^tW-?tMQ=uP}t5Pvfa{Fiq8aDo3dL@*>lT>}p%Lf|lUG=v0Wa1&2NBOnAE zjGzg}q0t)Zzajol5N+owQVXW>D_8#~5dGXff(Opqoy6#M(Emj+>L>yVh0uUOP$)c+ z(b-Ta2#$b8L*N)jDMD(fYiJ^IzxeW}!ThoC{67an_*(}2&8Bbj;x|eD8Z;t_PWb}| z{>Zc6E`Yu>?*GQ#-!ksstF3>Ll>gct{_i#kx_u1!QEs6BT8VzV8~#Ajcso14cWSLa zt2zHJ2N|tfi_s|lu5}6?vFvh1<<+6rot|lNS5t=?}13-F)gQcwD z+#!mp6suEf zN^Pj@#HxarySYs_K3O49N`d3C95rSw_w)c~cmUxB#r0(>5_uhjf%>x3=$Jf~nW(f; z&C}I};iXCW7bOcV%6aWq$}e9W$kZ5Z?#U~6H%BtXeBcgC>)Agq2xc~Abb(F}d*j+}(sPvag!?hJ$85D(*#Yz3aI` zl`7QTfAzA$>1xctfOqr7 zudaO@HdVf@MPd9Ynt#o<;g??~_ z1M@`N563<1^MaPV(U!3HW-J$pQUGGg(o~e~VOBiJX2fd2883D*Q?YeJJ7f_N2Q(Ct z!%MC=$-0G2ZCu$J?~Pb}Bz$wP%mEO9FFNy3ZD^w#_u~mRGBm`xMfZnD)A(JS zd-~Wd+91mhFb9Xc#4TsEnrfg}qJer6eSStk^0@Q6J zuT+kIu*wW9sdfCI4A56FTXwJdupoLdr>eV1Al0CblWCgQW)Ke!lB92%0>s3`O0h)| zJmJQJsFm8SvU#1w3p=*ngq{)d`qUiD&-Bt7_v(mraHD$y)NxIy;#_bs0HD~edYnGd zmaTyI=uQUq0v%-AcV|Q@y#2I$*+2ovdRWy4jxEynvK1q}xXbZz?P=IX%=A|9R4>w^ z<-)U+Ws=f`#SyDTK_DjtFeA_rQ?$LWabhvV>2q?Ln68PuB!t zS-ZH$)f?CNo?|IOLc~bLq*P`rgLl1xHsLn6guQFVtDU}JeZO3gyZ$V?Wf~$N40ZXu zm?i-YO`$4WPJDk|@51%grKgzS`LUe>S;E2r-+1O)t${~mh;J2Q2FAt;k`Y2T>Pj1@ zRy{ihmYn+5j|7nx*SlN{;w&Eld=8#B4x2NQmhaGdrVH@*F*sn3NkiISSf!u3-gCug zH*WfQi%QDlrLt?KiNMTZ#7*4Yk?J{`#AEvV&dNvk%R{a+6d76)n8xkBkDH9t9~$tI z?bxDHc)K23tx^YCgN$7-U8r(R2Wdq{Cf-aov|Wp&l?25W#zQt==6AdcM0{)a%NcUS3i6G3LjTvDQ#1T}3`2j8pW6x=9Fjv3i% z$HFWNw5xhnR*HeqtU@C|v)h1Yk&moqpU%y1dCsoQ?~sAmKd)VxuZ=su@uG929_<#> zWS}y9n|fXB)JSY0SB9*p#!BbjZuQk1_G|>}_u51On!i`rpXE_R*eNlv~w$ znJ#}hCwWp;74Xiz3EJG4>6c^0FWP8PG8|r8Gk16}_%<{O^HyuIT)O-2&{9;P^d}adm+}jODKW>&| zkFh9J8>ef&JhbZ)vx|K6;!SqzLbERS%-p8NMk7x*btIa+0+4IaVIcSJ2+K1TBXrh&PE_H%J!kx$;O7p|$JWol1{JBV^>0T(s-@ z^ys*ItxFMGmR|eO=W$(gMv1Rp@G~m`y$0;Z9PzkRN;D+{&m%|F`8r)=9Y$xDUY#;o z(5_w6?k{tnKbo2U0J;ZDvHq@Pw44_K?6FAdu|HT$+^1*0+REh3Fc+`qL9Xd0&P zDiXVy>)~HT^arc*$$+g{o~%ao(N=TBA+8`_PR_G4o}RJY;*KgN+$u^|v1GQHY?C8# z2MnJR^#OvZVsfB5aR93fopRt&^5;_@Id#6c@mEZJ+0+vthgej&v5 z^k0|1G!ZYCQvar4kI^1weD+lV^g#!7;sNhd5bTDJTVW-so|312*H=8q6m=u!qu@2* zlW)1|g!zZ-yt=Ng&|4j6KpjV~(-98JeSHg-=%Y!mdzlN4HEXd8K~c;N;P=hAZQ(w5JNh<*zuAc*$}krdH> z|A?U2y}JqO=9{C3Jk(GNW5vU#T-WYA3}$)0`mPWp^Rxk8#NS=jG@=$ib#`ix42!*Y zu+x3g7j;1ica4X)BFWZQ>*Alpe|BaA2qQn3a-B%lInyAH?kCGjn@`EH0*V|`73Hl& zlzVo^nqKPJH~-)c`*{|fPohDWdWTNCJ{Fi6UNgH|hs`cMz$-yHmfXu1Xls1Kz@9_d zwIWc$CgRH6(i`8wMIz7{{Mt-NM>l}qcQBF@C0Fi!F;z9LpKYHP(=&j!O`^k<5F`Sc zF|K4TqTstp+PJgM`VuQ}Vrxky_3-iT&^w!}bDA?Q+HV1dDzO6Y$1-kxux+&qaNAB_ z|2`tmPH>&Y73%`2+ti9WDssOewzzSG<#gB0zFY$y_{Uk%uTG_)SEgn|onOY`T%YcA zVsXPQ*It5ei5H#P(CD&`3!SeKBKzJ7>)p?0zW!~eSPf1k-IzODTuh~;q+r*lj55C0 z#y0Z>iIxmD*mQ|=hlkpYiwcj+8k8W-u*FZ7Y)^L;^*)JMKEIyBOpaY@*c%`~5dl4h$pP4#VSMNXFICCld^Hdwf#C1vj z>L>G^#nXE)>Qn*{k6%1_Q<}Pq5g!xl-l;)uBl^ed*X3 zqj%|ZylN*`QgXbUrtdctMDvfg?~8+BRU2$dIOKeId+&)}5h{#g->Efc3x>^t~STwo_!FD*K$9W%EdlJ+{Kh4qS9el^Pn@GS+W>y_d{SWPLcSc(9 zst!s~#RoXUbiaOT;0J2J<(;gIGoB{!9iAWD$d0-*K+l#_2rKWo#ml1~$aA(2RIv#@ zNGB&hTwN5u;0Y}6=uIyk6Odfw5Yu%87>Schs`|eUvy`+gH z5Gxk%o*?a4E2U8ne2jO$oNM(ds_>VIp`DpFI7{hWHP%5&ixBo;iU#=h^efI>gnh9$R^ zg{eF53tL&&8zFBoM^6!gI~nMmF7UX{BeYFFJ)}M{r9sHgSY0=F_Z#_uj>S9 zr>}zq>2SdDlYsnP6_*Ej=(TtC01d%73ExL4s?AeHzDKxVYX+d4)Q#!P3#Ef0m5X#I z6|y+iT>?aQzs>5QtFuuzs2KEiuyVfZ?c1}hpBoq3m&LXBt+cw_Ns->STu^WH{tn|v zcy!|8iJ6t%>*wF}UHQs;U&zqsFdG15{1{s7AHj9pIxf6nEG<)vsUb2t;;PhMA)OZ? zer%7^`U5|lCGDQQ-4s~L=69cW0MUX+G^RU=!Zx$h>z_S0+ zT!%>kEoG%+sN^t@Ub-+jce=nzkcC%l`h{a}e-_-Yqd6)dN;^kGpv3_@`qbIYO>pL$ ztgsS@9{Nq^wX9+=%$Zkz3~K>t_mU!)a15Bc(Drp-)r(*bOaR6tG`St>*Mfu26q7=; zkrAYgPrEqJYICu$V*|{i_$vh?65dqB9X^&G#pT9_PM%F|sGiz0qghaK$t|u&j1%CL zloFSzz{k2j{}70ukX?McSiYI@n}u$-S%we&s|7hXrs%qP8vBmfmHfpGeW8~hy0yA> zF6_P)dL7dmLGm4H2zFx)Iw^KMHBQL?z&=jBs|JVtjDN=+HXSwV}oL^n;6 zHPC*NK?Z%6j$k(83@pJ=3qSQZce%^$@2q`ec1nzmTirR@CGK-VFhDOcX18=dmPLQp zvh<9!jRlg)vISG#m#G&gMit4s z7j_DZDxGCH>lRqDren36Po(LUb*>)M1NX*$p(kTG4^k#(Px^%gp44?UUhhBHZ(KcE z%U-4=p-e7$K<2%6sHc>k=R^OW2dH|Zz=&P39(w|2fTwf`$@92sxc9X z8+VgfyUlTA36H%xNn>?7={F_>=Cfm{ax=k7_;{4kODTa&r2XsQ^al2EPju~xC8>dZ z`q!^!d2)=H)ZDmytBNWIvVfJdHuV+0@vClrB(I_5btyPW9N7O7KMWO(ljmRc#t&iX zRD1GmJJ+?yl{1<3jJmNAQCu^80FLBg_1sf3+YO#NbX{GTa(;F4)v)TB{6GvFz|d}7 zU3C50-ol50AD2&i^UJCX06#I#zataN<&cUI$8NjeOZ~kwCwpwCNGHb z$i4DDUgTTfv2%A^_*9ZIpTDU&cF#+fddG40aCtyCi7XE6<#pXJ=#xk^BE@R5h<5@oSF zb-d?}P2F&QWUPzFlU}@azO35m!b&kcW<|ScF|tE?7N?e_g(&V&$=fA~SJ1gl0wrrz z`mkE(j<-_sq4;Hn2|*U6&6LsQa`^%C`?n1#T0L0D6sckXJsq2_V>hpU!NT*gzVBb; z1t5oWptb%85$4ychtnl*DcdL1v|lb^+G zbS$4gYxQv3xV5jc_1(i)FLTl*t+1yI* hB1{Q&|F^HNVIfn<RvBYU8M7G1OxCfJ2o*|%NxrI8qPvn+ z{b}ADX#hY=*Wa5!^dPe!u4Ff=mo{{!vIYvFlC+_R)h!X0-UeiMs%apDY#X@Wju_}c z#FC)8IuI>?97h3-%pySiX`Wt8oWC~on_e8}d1Dw3g?tlXd1yoRHw;4TEv+F2bOsrM zRYkyv2m}Ix!KxxLNFoYDQGuWkC=?u_2}f$ckeWCI3WrvM{P;jQ<`^Uj&c@LAhcV8Z zHq@QP^2Wj8etv$cerl?8h8rA-#bV(I6dZ+uaU@{O052B7ALhlB`>DZ@%p@|X-YhEJ z3$me+;7UKi(uQ(e{T>6&`gN;FIjJQI*ZP9r~irSU(wSpP&3f&q z774?up$RZeiW(M%;e1>*C`e6`tNPFNhIHbI4YF;l|6X_`I+3H}Z&ry!B9cNR6JZ1- zi3HOmp;0hbf~zJ>9Ze)5vFcbf)>ZSTHY)~|Q~LzZKWg3Zip0^VsY%g5xsr%53<=>1 zBcjo07#4w0gSleK7_tVLqK?o&LLnR3#&OheTq11Lmp1h0p#28xJWqTd#Gp8ZkANdL zzJDxo_>1|!O&|24av(-QAsc-8j;bxEcX43l*!nhRP4y>x+8a_i$S}V(KQx5+y zwb95nN)2a9WpWr7@T1e%l6`(Wc~T+YstZRTeh+}S!A&v=`eT^-FVgt$0rp+3pF5cY z)qld-?_x|kh2=+JkoDa-`2J;0!2i^Fx|c7R@dx+42@C?KTay_~Z7797r$K)47s8@L z2;SbFRN}XE!hO9+KN{jMhC%<-4wK;fpF@N}kTui^7+07E7KMc&F=$N~LDLlt)6mq! zAl0!56cLO43GqKcv{9>SIE2Q}TK(@p^do&lcY>E2nX}iy{|CXSqfxFX3`zq=KoBS} zvL+hCDG-c0jG}?25J^}h2217?+Mne69~;mAaWKTcWWZk}eS;UjNb={Pk;n|{A2{$w zp8awG@{Mu-JNEvPasOU#{eMpqeB&7Mz1_h7u@ilNH~fyI@kVui+o^H?s^|Q>9OP`> zIL=1#7h4CJv+H0G>KGV>Q;3}H2aVu#d#pN)OvEB7>J&8sT7$EZefNg`KixVuy2v*e z{%|_`Im9{gZ9M)uY;sl*c~`bcfjxI59KDeiW?O1&4^X>YTqVga+9|zI1Pfcz+-RdfN z?Ff^)Z5P?V%_UYZDrE*qPTm~QKcB$IxEdVbNQ>yaJQ1Y4JM}@oFxokpdCfbzLM%CFuGJVZJC>>h%-@L?V`UzxG2O=BKxodKH%)+3I_ zngN7M%o2p!J<>n{~44Kjk^! zzUFcR08lt*W00K$Ce{iTR#yZ#(T~oBB^I}xazor9Zj}V2gdupj*buJwQIK+rmld1( zZOoFDgwl&8f?bCU+6K$!icLbQgLz`~^iC&>?3@9PG=|DIwPLOXg)AOvTg%jK$8Hk? zy#RzkVj;2+Q~8L(2#G8(sj19S&Luz*ntUCc4c>fe?o(Su@O*VrMn#gR*fM}pWMsNF zXC5lY(>YY_vXCIYM*Pxeblr#)+8&yt0fd@bn~w|E30*YB^YfdP8z;*p#%z}p)DScf zB#9~-KYm;h^u|pF7u20PDdclH`TcC$ghS{0y{8!7(Yojz9Iy|7uFOwMRKru}aI z?0WmTZlsIALHkqJu0u4LsZf*JHq;mL_Gk`nuApq@Rs3K%6WD0=ao118h zt$q68>q0oj!4j8y#+@6#!GM-~0Ru^${i|BGi4$*9`XJ@!*oCbjyJSaFBH;2`Hch@I z`gJKyfK18kP4d!}LlMKtWfQ@NPn}5v`UbCkP0I1IkuqpJeUFRpWl4WOHqYT?bT_@J zP&cI`(a_d&Og`0g_ktu9bf7CDHai0-9J{Pmk5GZwhYJF@ZgAZdCNzM~2Hy>G3F;1$ z@mx8?BmeQDPoTMyV6xI$wN=%`$%n58$pzc{f@5gvowf#~Ja-JQtK0PUKyzEI3&W|> zbvG^E%Yp??9ha9s!*=Bt<9e#YdUI`AY^~VpYDP|l8 ze|kV^*!v_9$Aess5@$Y+0M84)xX~ z8)$CIs}InfrDZATD0V%JDI1;=KZPG#+n*EVwxzQ4lv`H6zDed%SS z+1M;omq*T5m8p5c9{cX+oasxP2kUe9R%{mxHF&k?I+i7yENX3jZ^kjT@nFJ21M|1m z`^T5_Foqg%aDsA;o7n1dZp>Ek{3lPn-o@JGra1d`ImabJ+~Q#^JuTTc6LHAqb(1Db6a=;VmG8*v9dCzM zhAjYj+6zA4!5pla;H0$)-xZ7vSGiH6lm%nn+v^E*j0Av5NPE@rNDqEF;eIK#V`}w1 zvE9?V_gV;-?9?hhAoF;{YB?6(0-HJF)Pq``G;SOxJ(oyr5ZtQXgD|Yz7NRe{8tDY4 z9m}kcCG}{s5q5gu0X4=oHW7 zjr&aHLvO{0`}^^$YtF%fi@M&rfhSK+s;>3s(dw>yEpvezv&*G;vgQisUmIQbhzU9d zklIOZI3YvN7wO%?H@wYP>Fu7I% zuSJ(UAGtkJK6qA-4K9nK@Qk(wG%1`Nw#{34>C;^myaq3O<2)VyYCF9|`J>jn(uK`=%SK0;cOcS0>YY|I3%`zuQrgpmG1%wBx%zO++H0}Ju{Ih1bo7|Hv`?u^cV)Qm ztuNT|de1A*#3Z65qd;gibdPGUo-~N2B0FZGHM>?h_iSM**(bt?I>Rjp0zJ$ey{WSm zq%jnvR1oz9V5R2)>dnoaTD$|trK7SFZ4F`w-dJ{bp6>Ov2?gC|XPqUN8>}udJn#%& zuZh}=RyH+dtr&f4QKReXoY@YyTgHigK{(Tu>n+T_LlD9mC5T*Cbk?hP>!@br$Ja-`P_5Ut&Mr~u2X#fyeO`F>&5xFD=voC z+P&C>jOR0W1O5>PFa6ZJWvA|(d8hS~^Gp|s?UJSnvg8)GLQ%=M*YU3u8RwH*4oiCb?cKz7WT*YDdYW%a!4qHKu;$R!RDZeuL;tqlG(nNWetBwjl(IfhWlRO6|KbaesmWx#5Usv@BoRcp|At@|R;GJ|s`2NK=4m9(+Bcw5|OtPO&Ie@%um3oCL8X^gTeff~OObpEq5UjTk$oW!FWCM*tyq8PwBqMN24YmZWa0T>fChNeDzsIi^&VcJv%SNf~73>{catK zsSzoz_5tBqrTqsd+f=3-hP%J^bd466w?9tNaZomrv;86^dnwh32*lnjesn(JjK1BT zrOv3&bvEV^2Vw>cPL>hdRMX-VJPHKE6MQTx`dp8makn;!Yw7aH7RFlgCm5%zH#Z2^ zf7qTeuwu-*?zEcIeO@;NaJqUWkk=wm=r{BB{af@SW{1b7$Gr*0{8ZDlhR5#0c9V`u zMb~g{JHmMhES6~Www-wO68!E>HoS%vk!hLzHlbI1cF1vq`8yr8?=iu;UN2l}C5-eGF}GeQvou z>xK{t=YTF)JwK;a+mt&YE&2kYuUQo$acQ&32M=y@?mo@+9nqD%agz=zwJLg^wRI~> zBIk54o9jFm`N5gI=(0{@jRo9pDS7_2nSf0n#dBlJD(}c`LCHRpn=ZKDN`$ zb4>7p?EVMkYmK{PJr0*H7N}(lwFtG0}>iuB5ugi_09*NV#0tc{bGU;iJ3v1VPWw(e`M~ zemML2ZcC_xjFq|N9#@(fZSRZYPwKhV^`Jes7RE*SGc+}nZCDcom#Cd^@h9uVr&m2N z$eX)gWbPX{9G&SSXg2P#sB~riCFxAftvk8JE8}AWd%f8C*#KMo`RWp-;$!EM-OaOs zrP|Aiip9nfFAU}LB$GumduGSP>w-nB)bXltK9KC?`^-;;Sw->540t10_^PDUBPj%w zSnDzhV&yM2R=;Xa+P1EgW|}2vg7@sUin{zsq%=u}$~c})n79?E&cn72BCS6V(d~CE z?(J4wa1#W@mVYu_w)b~oFmGJ;6O&G`H&RikXo=>BP{x~zQg%ot3u~1TCMzrFzjE5Z zyla=&*Kpbsv7R2&EsAEpJ>)g5l-Jk5_*}`>{8%2+XZGBP;HzEj$ew)0RFJZtYUJIu zwlIvbvr=XItsEPo17!=gU;OxTr1BM9x+-yMOBnx)%X$cx_)z(n1wdd4T7B-(HTt>F z)#^!H;}j8@eD-CToOAF}p!NYBW66UussilBz`|*%fkXc8ZC%Z_a==B)yTB-GfA2-z zoBCN=4i@d1wg-o@t$WEG>S0V_Z3S*CA!|9eYM3ugN2+^q$>2^>|4RG8^eK}kkAg+opX{C$ z_kDPzXVb^AQupzm2NzrJyk*~e+cQe}U}rYCmAL0&pS)DM)?7!E*|tS+CQ-~VdW(hx zq;~J6HGImV82{dmteu?5{BrFU+g%?odrllJ(ld}1;%cK%(FG3zqW zRzSA=*hi*xmRPVj>DY@9hvm8O#hm>zFTC-Msel7^!M>}QLH2%c5_o4$1g1SDu&;4# z>9m>f^^aXC>#a^zE@wZq3TE5z7Tw=BaKjRKJFK01taubRIjY*A8Oj)J#GBf#Vdu{1MiatY@045 zk~iD#65stQu|LJRa(pIVvV_;VQ?Kyaj0=y5R5Jh6GWVvGc>p1#I4nXzvM$@qHy3eK z@W75e`bimpsLr?&?qvbdyCW8e&}VVgV%jq}U9mlFTKn5Po|k?)b~wYucrGP)h*~-R zOjiyhE!k7hj?c5$lQ=W2!+(T^ej2NvNqEHem zAZpkZ-l%EWq)D6O{IGMV*(&L-@cOeDR~#h+Ole#I6zPTpnbm0={&M`(I~!9%i=(h) zXSFdKpx{!lJG!<jAa7n5-f;_vg)eF(UG6A3W$CMTG?yQz~5s-#mPMKD|I#A;P){1oXaM`bI15j^L2< z00ya#-DVf7;#042Y#ivaTjf5oli+a6X^3IMSDL!8fd)?#YWpU`+HJ_Gd!;i-1 z-!8j8mdn?Ds+q^@4DVJ@^O3E+$sG#J4vRMrKlXYsirehnLewne2a?9jfJ0j~uRcpJ z1USbB1P3gI4?wH{*|L==aDYr;iJ1TqqHxTPl)J9zu_TAM$gaQ2&S z0ax%mPQz!qiWT@*UEiCoc_QL&`(c^l{BovffdpIYeFV(*(IL;u!TS@o&`C34)B7^1 z7e0W^*}VEJ-sN7IfH&I9C&Fb4Cw*d%6VRC>+ZK-QKFKgAxti=ul|6tt?4|y2#=qlZ zQrk*x_Do%Bn0gp`w4iuS@wDflJ{xgjMl~&OXIXWv?pG@zfNf&3Hho%wc2*_m8vkvY zf%fx#PDdL~a0_FvU;5(oE_mR`U619)mTlE%LE&;y*&P(MkB!#Tbz!x6JmN8ldGD8Qr?lZEF%yHTjbP@88CZw0MM& zr^Vb#iI2eN3ybMOT-F++ZnTr4wy+e{y-KWOl@m7`EH_s_y5hbsDMM&yrlH>Wg&d{E z$V$Ww3;Sz^6Ng_Lc3C(TPqmLPb)?J0J$`y8i#aX!r1{u4gRn8q$*1=r{OWvwE<*@5xwZ6LqcjnU9 z)atB~T^c35h^ntaE^!x1rzNyq&DHwM`Z9-(dS38xUt2htdcnx_zkH3X19ZAx*g|>-`muI2>@&p*}S*_Ik^%5fIu(B&Yop&c>qVG)6@tg zx+_`DpXSYx1^~2l{k;i9PcjSQN_MAsX+vkLYM~GcNgH}p!xC=kZ9w**mX$>); zGsqCE8eEkKhr=OgteQGnorplYsX!2L1Of)fz|=KW)iF3Y0*69Eetw`Fa}1Ij&c@LA zr!mf(Hq?W~^2Whnetv#xen>Ss!yTrM#bRM_1Pp;t7* zN;B;OyvZ;dGLwFaK_naba@>^rBN`^lhWs}?|BdAw@n4Hs6t_QFyE*d@L6Q9_eDPAPHA5(cVhMx<_h6EN_8_FRPQWcI+ zg=6gCSR4wCL!tJ;)p2n64^c}xiQ*RUpG4JBIFu$%9s3WW92%1dEW%$3lZZGsI)g^w zO|^1Bz7mN+vnCX3)jB%2v(LpdR+Q79xF+7(SE zqDTl;5*&?E#b~04ssscYtBTkhhGSeYLH4{cTq3a9o7)W6rd=@p5iQ9~0!z@jLiPHdX_ z+mypUO>H)^%~HdeQkWdZ1^nzZwq&25PgDxzdv)Om#2*0=H@QhBL4OWY{zV%9J-~jb z_46Qep!zR3`$LRLcVqbx7-W5S4!(a`6RPq5p6H7*r zRLK}O1jZE(M`2OFApTDfZPqFh2S@)=tN%X`{Y)RxgW%;(=InK_|3)xyHzY#SjmW78 zGJ&LuL8CY~3<{-+#-Lm^)KN%vS9J~v|0Li4+<5+%gCYJU1O6iEo4oi%l0OHHL}pO_ zjst(svtKSizBBHB#@=5t?%(UJ|K~}9Z5~5@v>VtzccLHfhCh%r-mK2=J2mcK^_+i~ zgPg4!$Jr?UV(UN?-LOQYCP9^mLUQ^(8HH6P5Kx?x84*i#)kGk$B=mPiZ)&6ecejqs zF7h3QzdN1%F~m9YZ9e`wY;sEoww?>Zc? z5qx?!8~c8MIo#Z8c~7=kfj4m;2IlQlt?O1aA%bkYR;))1oOH9 zQYwer_cR58ts%I>M=SG!#J~lQFGoV94;V))Jsst*1K%2b{kN^0$1PyyE``L$btN8FA+zYk|Feq2B-RAsDa)0l_bX2Irx z4e;Z!=7GgH$6Y#$)PULLclDJ9waQf8>O+|&#N*rbYqSRME>ss7qmJbZfC#MsE(u5pgY$B+AzUA#AQcv` zDz^;Sm?bL-rI$zqyAB()50%fCn1s{>^Tg=solO?mJqsLd3YBkeLthUHSvuCfo~7G? z-5~~g2?&G4LS!MP@)1Q564_uWBQ#eN2sO1fpAfDWx@3yy=Qpb`PL@lI*(oQe zDQF-_5>+&Q@}x58t-A~^s3&zw$meYGhq?AihpvtL&(OSQPiGd0vL*BmM9J0X6xvT5 zk<&V7EkDZtw&@VRGMg8e*3=(*u}|+-)DgXORAtcgjMeN)PqZ$bKHku?xK*4?&S*cO z{eB^HqvL#!x{JVJ`!m;XKrqZys7c+)v*szIDQqQD1#H?Gz@7C7fbuj{5i%As1;Fml zPqxR_J^T1=F&yn+iOW0Z!HwT!K_&-$>5`B&ZPl;gV(<$<$Bpj88n@}&&BtubYK9R?{GT0 zhu&PIo6?zRXiFWJPc_}UC`kbw>W+xb$p8w+t{@xWDiHf{K>*iHu6x3SMo?z(y&#vM zo-i5e>Jc9KPnUcG&6Na`mDX#lswYoBdNV{W+}R%-L(}N8H6Z1Cpm|;0XLbgf+iG1L zNtLd@W${54EO6$ey!<(~E58`mGac63>nmdGC05rmaw{E=ygzp2jQrQQmCQ+eOvF~} zwfxr%!-7I(p9YP=M^95Sy1<7`lAX+##}`wO^m!k7Jt>c=CinJl6Y0ZH=PmGSCTd74 zAWyMw?ahT8rp}YMK+{WFPnbqQ>auAFr|u-{U^R9c-A8fXi6qP11CdYn2CMKF>?AC1 z2^atT(5-R*%a8!Y7ZUgh`DlZsJ0&{52Ug@Aztf0!E2A{?V|{YQP;$);*A!yQ+c7$n z+f!_yxhbzcKzELot)QdW{V1kKJ$7XYnPYe?APramk4o>lQnI?a!+nM>%ZL~ zWi>QZUP-q2?Ot^*DZYLQi$u|)H1l4cS-It|+I7*b=xJW{n-eXWZz^EbpqI9K3Z?6Z zTC)~b52NGPdNN*P5QpSQtO^gHEcCtHtzwz3T_!^0Z864YN8&V0nk^9!#NOAwqic7) z9bOx@0_15g`Fw|Rv1Wo()+T&c(KcKaMom%{j0JD6r_gZ{KvhE8tCmN4=<6wu%c-5y zYafUmRPVm)AzZT4Yy5z$lM!nbSXis->@lZa#M+c`(*)^-L~5hpc8y-RVbzWheetzO zCot_qp4D9D=dvU2w_%!HKx(N7x*sEB!<_thJ2Fp}XkRmM?e~zy$IJczpk;)Hll#~- z&(zHaOywi*#771O@N4VN!GcS=-nxOOPfw|>_vO>-Z+NY6ftzwFqR6TLoX2N+r~Gt!&m9uzFQTuHa6UNpnpx$0Wf52>s&-8W-&tafL!SGOF;93 z!LsYor7uSBj8+U~>aoG)QEohAZ2`>+nIpFOtFL@|s)N^Iv;&69Ot+lMN@;D=sRvWRZ#@0vs{DToRNKvK zb;Jc9{=9xBy<-3VZFMQO3fDeht_A?3rQC|+p10H-ZC!sOwlv-@{nrvNKGPf%Z8-t^L47%m-=lW1!YL-5A3d-8Q}tWPTFwm9o7yWC`Ti{XLi z@OsUZK9sVlDQlHBXR4scr+n)Qq2Lkxpft7Xh#V;aEVa}0qyLD{K)~4D`5C{OZC{sW ztpv`hM@2{bbXubGFkA`+)ge1y*97elzkQG6p3veyVfVd)&Ee%xFofbI`jNUtFwIqm<>kgXZiPMfNdg_ zLe}7bk&DqX^*P&mMpmb8Je}Nj#6UUH^1LQtef3N4E%$cj@q1430}G7Bz8)gD#(&s-HSveeYo^Ku4z$!GbR6|{CnMLPEG zN?t(lV|wjq+I0n*(Kyq}?3XH*>t&8S|7#%nzgiIy3fKRuY}v7@w|&Bfd5F>7rQ1SDU{ z#9o^{KYbLovbCj11sN_Hb|uuB+uUrA!*E10N}-@T4FI)ciHSzv_dTNg*35N-VA3FU zIMMno_-zsQbs+5P+W8kXW7+}gL*?9eCyZKDT(s>8M$c7YwGCt_d5M^@`yM#;Z_cwn4o3sg@S z64|v~_T++idA?~YKp3DPk3ucR?`r7iy?CWp!hI&TurBAO{E|y}OhQ5h2A?ixhryRy zhx)lGomfrqd{ODYXf_-^*-Ch!dPCpsgGxjrLQvXULKf$U>jg^YsYu~tY70C8yvYUq zrmgNzyIwh7G6v)I%wy-@s8gl;BOi~Me7s%k)2DOGY3sG;8LcKS75DAF7z>uNIPkl5 zD7sdpq{at?Ym@dLnrc^>X&mYK*4sT+Xx{N8MaMzeNY3`FlxR=>ZqEhX5Wv}*)j(d0K%w8vI}UEskC+=7pPBF`81qw1(;A<62-{6L zDivSHx$g?+C9qhc(K~kIHA?Y&x7hF+Rz{{}4cLTU_1PuI4d$Z)>+@O;K9sl#;&O4d z)pBg9ZtAK|T*vdz9 z-$@>e)D-kEri^u1Ny+Amv-w)1{kaS+k-}d9=ghCu9;qM49RW}(OO1|nWB|^Ol>0O^ zSh$5oYJ{uQu^+|kx5lU^L;={pr(3+#P~m|H2$fD4Y!qYLcoD^s0$G+7G{M(?HZfq3 z)o$gD#gSl;M@x{tM|^YfWOBdOREiB6+`hk2fwAiYd;s|k>=&2`MQG#`CE(o22bZ6R z-nKy0=YW+ zC^t1vJ@()c>AO1E-Q3~$I?j8rW|cUS7+%R0nO!{DT;;cB%aBIKM1h5OsZL+D-(P5% z`g-7z7~hsXTJZaKZhxo?JjWdquW{^DL&MYqFI^KU9}}(UnJS8FyjYo7kP6kwDyJ;v zNq>$~H??Q*T$~R@S7xZ)qsRB|3xZypr|r|4 z`jFq|NK3AF&iW*rzj8lB}MXg1-wq;z%R73o~iY3MpFAe4MC6h(7dgsQ)>w`tCH1KLLK9KB{2h7h!*~Rh63|JFb_?o2EV<|Y4 zSm!bZVihbm)x2&=+OeUOW|}Q%f~WRaMP2zUQkEn`VVuk%Ox}*u;9*+_kv1NR=ngoR z^z|q%x(kA0D?S^p*!#OMm^ZKZiAg8e8>uK%wnpX zf@`oU3lGoQn`&`Yze5wfPH+x}3@YSwyWKTV3DoEK+H}URS zUmQW(S*fx8R!2wFaGy!lZ12X~2v{wibWz?R!;gubOCx z*{b7!GSxe78)IvA-S-bT*)^Ox6XvNS|0Vd|^D5uA{(!MkEgb3#)n}}ubF@v}?yk&r zX=H2^xIPm6V(wMBoOAGUp!OjhW68rZY69%0z@izc!6W`2?cFW5a=<0ad%!4bfA1yT zTl(2r4i+6*wugsvtoz8F8evRfZ3S*CA!|AJ99UT126~L_ZFG6=nYQllTBoj959)?Z z)~u?hdSrQ>6Wyb&v(`I$UZ(oe115`joGNdoN2-5$+2C%{z-q_g^l6i)kAp=zp6;C! z_kDD%cgv^oGLMPghnHIKzGL5i*E{C+(avmWJ8|EmetD^Mt@+MovmHy|ETWiU^fpZi zNZtO+>-dxyYRl)m~{nc zD$`?b0H2 zX&&*}o*&E&oeksW|D@0)QV@?nGdKe3a=N^f40G2qNb))9XvV*&c(q7-@I%s|ZS%!M z@>bhD;(K2w4x~6&P0SWZmhxJ6=@ng{b>R__O6H$l;og$603d{vghePw*5{b{=E08( z9@@1}KPdwc)fHFDy&@obZ`1-F`aG^iOnVlmE4Hs)>tMU*i?Yurj%K(R&!+?rQ>rGO zODiW!8dA4RJ#)12z#Iac;~wo8->A?$obrX?(p@N#_~FINArJqP$G-HHKdlZ+MDsrT zI@I2^M@VanK-wX&!fjDpKDceynD0@)L>=3J!11z= zlgJ^DxQlrrDT4mOX>INj1@ZOeGPGc;5A&l5;}+a?^ZOXh`N|P;kFdeBVze5FLTRjk zs9|?_6UMR`L!0OPuydrvD(Rl^#`73goLdIit!WWZtQ!(!R&Y|kZA=NRj>3{% zHO6d!f=l7v=(=9T{oE73?@jg2$8HF#e2C0VKh1skmJ{piGl;4zbWFj`f}~ZVZVotS zJ&2r-$u4Gdf7z-RBO;Id=t=J^E-Ji~QspxA_R*UQ>4m}y5!S^Zp!bckw_0g;1&5sn z(dzox9d@xQJ`I{DCV(z`g+9-e?_nMsMh<1?Jp)Wtxwe8GcBG};nNUUTS#R&iD-_lD zU>+ZV+hz&jP5bXT%P7~U6_0$nUBgw$f9!R?k&L_*8%ji8S#B+Iq_p5@3ip;v9!^;* z^HN^tKE3Hs^HHGSUFGW~+lmX<-i^0k((CJ%cXkX(@%d)h=Mg6_i$mS1{k%LEemu6| zPWg@TJieYYEj(W5c(;REj&1Kt?o?oQTD*Pqsn3&9(r)h_g0zqyOd2->4sXX?d!Akd zaE=cM4p^IX2 zuH<==hR<>pEA+3vu|FMiD&k(pQJIp03Z`hG1Y7GvgsSc1Bh;#)2a~qYDKlZy2QsM_ zKZ4EKy!tHOl|Gq(x7sVG!exr4d}2=$P+6lp7LV^e%`hjqn(R)MJ%m2$rSWLizw=X4 z`)XazY<+5&Mi^?Wuw-8GEOkhq4L>!jmX^P}yrxd~o0Sm2HZfV7KBGX(R0+Dye}`tE z{o;Vr@y1i!!q^*^zdF4S9z1r>bETclXpr{%Rva1dE9osKdzleKe0k!FeQ%10-#0rr=KDBxorr^ zcLhal>?B<&P}K?xlG)K z8={nS_k21tTf|VaTm*GB(z=4k^N@t<8 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_7.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_7.png new file mode 100644 index 0000000000000000000000000000000000000000..3005b4077f0939e8621f45bd0a8a14a95c67466d GIT binary patch literal 9146 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_8.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_8.png new file mode 100644 index 0000000000000000000000000000000000000000..12a7a01e58aea6df50a71e37258ffb89c12c01fd GIT binary patch literal 9117 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_9.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_9.png new file mode 100644 index 0000000000000000000000000000000000000000..1a02f7fe8daa3cde7329589bed4f46564ae6f6f9 GIT binary patch literal 9191 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Pose1.png b/examples/moving-saw-platformer/assets/GreenHero_Pose1.png new file mode 100644 index 0000000000000000000000000000000000000000..9f370d1f0067edb258ca6384562555d3975cb231 GIT binary patch literal 10172 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_1.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_1.png new file mode 100644 index 0000000000000000000000000000000000000000..997ff3ccb3f95a4a26a41c8956724e209a0bd682 GIT binary patch literal 9371 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_10.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_10.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7c017d432c565f377408277e5f47dbe0fde2f3 GIT binary patch literal 8756 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 B&9?vm literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_11.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_11.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2ca0c6b9e597a5bb0ea8e98276813bffe33148 GIT binary patch literal 8756 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_12.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_12.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e245ee3f9217cc725923d8435aa5bd0a9f40d2 GIT binary patch literal 8756 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 H976vOS=G;x literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_2.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ac1d281083630584f559228ae9096565a3cf7815 GIT binary patch literal 9791 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 XHo`J)FL#;_|Kg>gqODw_XcP1w^x44O literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_3.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_3.png new file mode 100644 index 0000000000000000000000000000000000000000..52f3b84b3116908301547fcb401a1de6def5762b GIT binary patch literal 9791 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_4.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_4.png new file mode 100644 index 0000000000000000000000000000000000000000..26e601b01f8b355c83bb95e3a84ae10008b84e6e GIT binary patch literal 10172 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_14.png b/examples/moving-saw-platformer/assets/Red hero_Run_14.png new file mode 100644 index 0000000000000000000000000000000000000000..c448d8204a0defea69fe5e4e87be537862ba564d GIT binary patch literal 4342 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 JPDHLkV1nPAG(i9W literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_16.png b/examples/moving-saw-platformer/assets/Red hero_Run_16.png new file mode 100644 index 0000000000000000000000000000000000000000..cabf9e74eb94e3a39b48ace3611621c6f04c9925 GIT binary patch literal 4041 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_17.png b/examples/moving-saw-platformer/assets/Red hero_Run_17.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb4dad0771a6f4afe439981c81f854edf101cc6 GIT binary patch literal 3973 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_18.png b/examples/moving-saw-platformer/assets/Red hero_Run_18.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8e2bd55e94b4b558c6718d743624811c22e61f GIT binary patch literal 3800 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 JPDHLkV1ii|UX}m= literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_4.png b/examples/moving-saw-platformer/assets/Red hero_Run_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ac99075e47cb0ca8d93bc841ab9ebc9a6c97eda2 GIT binary patch literal 3438 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 KMNUMnLSTX!MM<0h literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_6.png b/examples/moving-saw-platformer/assets/Red hero_Run_6.png new file mode 100644 index 0000000000000000000000000000000000000000..51fe6b374dd7e2c5ac0b82a8951c244e15902bd8 GIT binary patch literal 4055 zcmV;|4=C`7P)Px^kx4{BRCt{2TzQZb*LnYaujklf_RubeI3$E&SE4wDgcoFEgp90!t#Zji7`8$= zB^;S3ak&!PDHA1eMNyUIlucRrLo(zb3WQjPk4QF>F%BRVNJ2ms&y27u+22<0On1N6@4a7t*Zbbv1;#LjF^pjhV;I92{(pk5bc3_o z+Q7E+z3bLtLM$d&N;!A?c5ekD9KU$+iuKRa{FP{AdP_4}Vllk7dbLI*=IIf!nSf;g zk*5=6o#_BQLz?!8)b;;4IXL)X_pV(4Gmc)ka3#78Pv2^dMU&d`aF+3@u8&W_jF0^o zpsr$ruBOTPMMW9|NukTN0Csmh^;GUsI*p#8p^vKjs$SLxGg?~kNGyt#pYNKf$FKbb z5q0`DP4-TxNb|c(y#U{~r|-;}Ki#+QBO|Kj1kGq^#)|rz zB@hwc>>M{fGBwe(_sIEk7)WO-9D$;5HG2|(?4SH`0|N&DTHv-R-ZN6P?v^ya?vWp9 zeFV&ywS9+vvPP05YVs5SJ8r)XI^%l`EMPF08E_w9u3|se5_%zBp z%7Ldz@W}D?-SwTVtu+}}%_J!Gl?|(j=qY6r2lPKpm! z6!AX9R8ImX%xi0-t77qeKYQn$QjPhdCK8m7N0)$EI3z;(rj57lkuhpoWc+$y5WjuzeWWrOOim=QV(KJx7_OaFZy^M#CTP_)lL6)%tqbN$4&ael zF>rrLE0Q+QHV%LG>wWmI!>^U>Ti3)1*tudkCO0;ssD9y4H9@yb8b5^@twp<|o`VJ_ zjXVWS(juQ(iI>Jr#I4Jh2kP4^{pT=q=aU%RupUuSS;$wtib>3N4~WS%$WWv?)e8W$ zPv3#~+CKyUEEnPY3Nz#G6Fqol!EB(RAyi$U76dWh;8t^DhMSV$q!ram>$o0u-`E6- z6uQ~l+iQ5MaM*M3Aac8Q;i>xi2@AWr&K*5^G;rOj-8?f#Ed6%JA&&W#E8P1nFLXbv{2{iuTG2gbNlvPO& z0317Z%=~&_>(;G->QqJ0hK?Bku-Iu=q+))B(xed~@q-_NO5{IuU9YCA0D#k{Pn%z_ zU9x1!RkLQzDqE*2f;yX=}f9x@Tl{QhOo9B-??TRsr_M{*D zN#n~y7~1$Ha5h_AR{~(llqvSp1M}z4FI%T7g1otAz-@>fWmKdwgL7F7ZdhBEq%~{S zRMTBdpKj%Y{^h>=?)zjSktkcIVuHG7PC-V?L_8AYF~(&`vk^CV?^@(uKjhoygAYDf zX?FnthHL-Y#*G`lymRMHjEszwty8h(6H*|SkA2!PeIT-_k9m;`fg|8p15>$dA|Sc> zJJ33AK=Zf1jXhWy=<9+_*7xe>F|};^fJbpFDf^Y^Zt_6LfyfsyQGWb6!~qH+BO>k2bNgqYDM;&FWc=DA&8IdIrtcT1pR8^kOZI&BJ|vMUbT zV@+HY2cU?yB{I)FgMsyTA-(5000mV!efo4+mp`ec8K>^~9L}s>g+H1y?Qo^ztXP8j z@44g41p22^tAzf8s6x^r5r}v_($l76%dt1HZSM;>bN&K|2w%8vDjvFVHpazc5Vp8! z)2naLmXoIfkIm6sC6(4)I~57ki6qjNF(!NJ)Jmdz^FpM^3&D8>mQ7R5z4Cd;{4ioC z-oRHi;HxW^6x;V?Cm8_Fj_Uc)V>D3_L3!v%%F&e|LUI3~chEse16;zw=JTAA=1ZFC zJsr0S-ct%xl^&=_#Zq5dOhd`090}6GK7thLrRqvh^(^N-S<=nppLnKpcE1EFlAyui z!~%ddDr@7}c;SUtOCYDD!6h~*4w%`UlXb2U5s^*O6y=Qic|BS&IY6a>BFi}l;A&YG zqiNX5vBt_C31Ba0)z~-vua6!n+s{%6O;FU(ck;YBHB3ox48^MIC5=1+;gY%#q!Edy zMXWARKm8Dzpp}!yK|mkR96*Asm z3O2w9(1;*34I1K*x(+>`1=yZfrlOkK?5{f>a!hths3zc1PyOMSPgR|#4NXu!otO(S zASEC)*a@){WdAO-2%@oifPnPKC9o_c)|k8lFRZM>cHQmy08n|-2zXJU*r8E@7vo8V zeldtdksR1aa-0j;NsKqNBApy4gn^!*&mhfVh`2z7!@HFyO)_sA$X37OJ`_Ps5zSH& zDf0z_M3Dfuih0gK5Yal2rh)T$Q$Xyabdkn}K}KlOB;?ai^f{9B6(JNsOWIoi&^2HQ zmJ+#K3h}xowbZzz${}G!fM=K(`zVWQ2LQ&@!WAh6Aua#i#$W;}MP4+YGgEsu&S+nG{AYpEHNyH!&~5h>Qc12ACe~M?ZV-9BP4Z1Tl{* z2v0F$WdM3Uhv7@_BN}f+T|+C#reXj9BBYa-kj*5G2a)YJtTJBG2;`o7lp?Lrq0HvD z`pPd?1VmUHROf!{#f_MRTzUk#w5@M8tLce*$)!%lz>5*LiZJs@>?>)yCU<9}(p{-y zgd&JpCf#|Ol4|0Tw8BmEo|`lR$Y!|Rgjo+}MY~1P7~19&qe;{XAyo{g7)Sz~C^e-j zO`832uKEtr3<*+5N(s{Vpdw*`R~?hh56&!t>ND00$Z8F z?J`T!V3@n@ovR-P3-%v#e#Z>fvG>2v*7k4eLlN}uXa)@4$BKc~lr%dTVMt^C=8=Kg zsTUAZ#oioA1Hh|bPBKtf`L_(QDl)d_o3@kE84tE96bd_4(~Q6Dbq%$X==;~c_h0{I zjsGh{=-t&l$@Ji=t6MbyxA_(-<-Htb6sIbdT@^^lFyHlP?+2%Q3oo%|2)(lUi~d0{ z^G?ZpG}Ja1+fPaLw5gm^HH&+X+^PxYf8Np8zi)Sc?ToVt-xpj8vzqGg+$U~Wl-K3+ z1hn}-Msb~NAC@Sn@`I$*Mfat=E}uR*lDTKqf#YF@5EvEx0mFrC9`jlo-k+JM+pkM` z6M#v8d(h=TY9%E5Jv+PxES1V2Ihy|ZvX|cM3Df^DsCe_jy@yX>)q%HOVelGe`Hujn z*)pucb!f#y7ze>eJ>gVME-I#}n!2tdIg&y;n}ZPA%o_0Ei>kKZeST^?9)EYBhhq4e zXincEBJ?YvMT#U?hbSHfY3^NS_8lGG9cTcUA*DoeG>xIlqsZkYgr-4g+DH1|mnvE~ z>|4304Zs6TXdspmK&0ZaJkqH;-?!<^01~90wI%TF_q}tlTt1I%E{|+ZH*(w>gwP86 zgot)mGKQcCP0*PyEGEwIzkzXQA)Qe$W0~PrkWC(yM%M)ZeY-o6R;-$gMSEn;sWU@MR$q-t^P$$plA)=c8haV3@Nzm<++CWhn zkGv=m00!`4BpzJ4=T-D3NAdIrgE;_J0CQ;JoT$)-qc$liN{r@|AR_VS|5>BNm>)vU z<_RpLtclW*ZYdDqd6s;lH>u94>omMevxrftl`w3OkiQvBzV!OwaHt`KMJR%P_2ETC zh>~71e8^E;ZbJ?s_qs zzHZ9jLWs2_M4vY(^f@5bYoz^XYmfh+2wH&vVH`f>XqtAh=e_LPzqwS~)P@S73F-$h z@!9<&cfau369CO;63dw4e%bcfWmm$Aq8kRvE7%A~7cs7Ew;`MbK6c zr)rmXE`^FFt9DGRtHZR$2K;>aqDCfkfT+=y!Wm-Vts8#2CqI}gZ!hLIH)7{aoyUaG z<|tww(~G@vbYO7)XZKaKFFZ7=CaBhU>-L-K1w}@E0>dFG=-Oq^zi`>l3)UJn`!9I4 z!t6b-rG(JNYg(koZFh1aGJEfZ)DL7{)M$F^pjhWB5Oh{{{85>4`se#^(S4002ov JPDHLkV1nX}!6yI! literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_7.png b/examples/moving-saw-platformer/assets/Red hero_Run_7.png new file mode 100644 index 0000000000000000000000000000000000000000..35c05d2f361f6a39785920723327e0555abf1a56 GIT binary patch literal 3830 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 N002ovPDHLkV1fV_`b+=- literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Red playerShip (1).png b/examples/moving-saw-platformer/assets/Red playerShip (1).png similarity index 100% rename from examples/rectangular-movement/assets/Red playerShip (1).png rename to examples/moving-saw-platformer/assets/Red playerShip (1).png diff --git a/examples/rectangular-movement/assets/Red playerShip (1)2.png b/examples/moving-saw-platformer/assets/Red playerShip (1)2.png similarity index 100% rename from examples/rectangular-movement/assets/Red playerShip (1)2.png rename to examples/moving-saw-platformer/assets/Red playerShip (1)2.png diff --git a/examples/rectangular-movement/assets/Right arrow round button.png b/examples/moving-saw-platformer/assets/Right arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Right arrow round button.png rename to examples/moving-saw-platformer/assets/Right arrow round button.png diff --git a/examples/rectangular-movement/assets/Right arrow round button2.png b/examples/moving-saw-platformer/assets/Right arrow round button2.png similarity index 100% rename from examples/rectangular-movement/assets/Right arrow round button2.png rename to examples/moving-saw-platformer/assets/Right arrow round button2.png diff --git a/examples/moving-saw-platformer/assets/Run.png b/examples/moving-saw-platformer/assets/Run.png new file mode 100644 index 0000000000000000000000000000000000000000..2b45c50b3d486df284ee1e8206d96ac3d0c8e3c8 GIT binary patch literal 4824 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run14.png b/examples/moving-saw-platformer/assets/Run14.png new file mode 100644 index 0000000000000000000000000000000000000000..290a2cee065fdadbac61a1bd6102a93031052098 GIT binary patch literal 5013 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run15.png b/examples/moving-saw-platformer/assets/Run15.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f1249e9280531acd54266f5a38a71fd11370ec GIT binary patch literal 4683 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 N002ovPDHLkV1mj~xp4ph literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run16.png b/examples/moving-saw-platformer/assets/Run16.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa18c3ea0407a6c3bee2fbbc868e0c4e2318caa GIT binary patch literal 4459 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run17.png b/examples/moving-saw-platformer/assets/Run17.png new file mode 100644 index 0000000000000000000000000000000000000000..560709a8e197a56941fadf8eb334872488d3effa GIT binary patch literal 4866 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run18.png b/examples/moving-saw-platformer/assets/Run18.png new file mode 100644 index 0000000000000000000000000000000000000000..befdb1149dcbc9c02fb4b0c34d4753acbf1cd2b4 GIT binary patch literal 4766 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run19.png b/examples/moving-saw-platformer/assets/Run19.png new file mode 100644 index 0000000000000000000000000000000000000000..6b264e7244b76ed86f06a9f5d145437516a0f73b GIT binary patch literal 4555 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run20.png b/examples/moving-saw-platformer/assets/Run20.png new file mode 100644 index 0000000000000000000000000000000000000000..6b264e7244b76ed86f06a9f5d145437516a0f73b GIT binary patch literal 4555 zcmV;+5j5_JP)Px`g-Jv~RCr$PTWOG7)pL-#Q$0$vxF$r0!RGX*ocz;uD>%rv@; z=`yCvn9dOBGNv=Ux*pSIOqVg8A<$(^XLxlzrpuWB$KR5#jZ}e-=Nx`^g!PV@3}+_m21L!E4_O6eA#}Y|Nb(26&z@f}mvm6ngwLdi*SM zei|8qq5|VF@Z`r51_?BhBte7()ubxGl#{AFtB4Wj6yDhKB7S`9H)k}K89Ug#jhE_K zA9)XSzAF4@a7I3S^+h5Aib|m`$f7UIq1VqKqf$tDfnk-WL_PwHl@QrN8AXUuwV)Vq zDkvwBun0W?_I~eG{OHC9XDpr>InbP2F4Th`KNm^9A|V-`7zr7s7%$2CY4rJ741_%b zPEMsQQ@Do#rS_oVYK??HR!SnHq>7R}EAqZd-$`Oq6u1Ab1}!|Wv4 z$AZ~N7y=@4(!`srAux%sq?lBYk4y3_#bxmwdXcA;$nKd7|MHaMI;8^)|Jmib_sV5R z@>Kyu{6T;*{=&d%s>WAx7z}$ci!$=F;x{6>NkDOF+9YZtDgH1s5d=yp9~Utm5u755 zaRo^TDG2#I`r=;vbnV}rQf#NR^Rj1d(7GC%V#5aL0;NQlh0>CeQ{pQ_VIKxWMj68v z%dT1qYHDXJXM{C$8?u3(LOJE*GRC6CD-4fl6%SvNE#4G83_AV=87!ri2Jge~^>fg}_Y3mS#yg))+a(;x8xS zBJ!wU?8F#e`N9^AJn}zCDzUT>i#~NR=6v*Ays+}#X~#G19m$rYST#(M2purSd|Bd~ zLeA7IgJBV>C#92q}~hd+Hkc5MA=OY1zm=9i%c zbJ+LAXQvh8w00W4``2~P`_4pCj$9gor;N9V$5?-1)}fSo6dBWpp;RCG{hZV;zA{C> zt63%+3N%WI8HxK}HUC$!EVn>_N20N7$1Z&SPyPrGKKNkEA=t$iwjG#OjMLib-QQWO zy>wu_h2;mqaIf?ZnRSx_b3$Y~H-NEfx*`rFai+gDaK=HzLXA`LIb9ha()IWpTN|+=+?~S>KH9q z=$xS?`1t(Gq@EFmHUYY6(-$$h9|3fZ85|8#mfYE?TH`aj`P>zyz|d%2|kWv zTyez}*t&IVD=<8^loK9OLs?V~7ut%st&JMbw&)wbrM=#iX%rcel(`DZSC%yf7~l6L zB@=+O7a;3r(9h;EFwG-PnV*^Jml>+*Qlxg#P@%%%(S!KXhwsFK-Z}W|`|iQ2RUbe$ zlab5Xwrv|WZrq5+9(!y`wzv;eE_{W>?HRAC+ELyY(!^6YK z=kwUUeLIT9;z>b~eFFs@C2hsr)XCd~08F|OZ(yR^j<@X% z-N_a|x<>0LHq>{fOMrX=W4(sb;*gtivT~tp$PhQA;w!6Ivck-Hec=f!X0nMXofb=Q zR4&A;PrrbtZvC<`{b@W@#z#_$+m5&G4Qs$We4W;jG2R+D77zoD$x4(Mfe|@z;0Asd1oNuw9Zz#0*Lh*rfsr@zcYOs*4V`}TMf%xH_@mT z%7!HtKv@~^%>o?vabr=lVqoRumSB7zDjSMvSBhm+#tJBp7g5d^ksmpN;@)Fo)IBQ~ zBX_~O@XD`zv783<1YJ8LR|qdML7o>rBP5 zycuV5I|0L{dMiT*ngAoMMtxlBWM=X=z+97f8nLI5D2<5kxeisWBCbS;^A+q|{q?qE zZ5x=mzyCfxu;#tcr7EIB1;ocoBAdpnBn)zX<0NI%w=l@E!+42@{Lyi_Xu~Qqws7gc z(ZC(+YErYspc!&`wFNmdI5#O?o_1C&MPe>Q;fJHxcgsJw4NhAdF8{BawCI=f*Fpu+ zzHx}pNK0TVUe^-TUb*gUWMR^{l^E~5?~5N4kBpmoU1}d!Nl&bgYV#f|T>;9n$c;Ga zC7~@0r8snhQPU3aw;h*#rLB0|V$8g|F4O%VSiyAX&X3BjV?fN5-4KMWdTXq)S<2Nm zjo^qhd|wQ>ay&1K_R<#e7*19qvnhTzscOQI%*m?78Y~n{_dmbzOEU+|{JSpGeXCYL zrgePyo-igpQUqIr2{Lft2y2X)npbPY4TfxdMaeQiT&yB0mXUCN%$O-j8+^SVb5lYG ziXC^ns( zYMY|Z0wi^g1YY+R`UM|il%=Z7ZgrB>3rGi21B+_FHL%A{vFP6m+crz~I%a~yM6bC+3JQ)XO&NGMrbPdYG+ z#Om8m35W&K?@6Kb(wi8$C z>asH1*~(TfxnV`p_@yvMCtASbx%p**nxD8)MU7DwFjnB9Z=}p@HD1B)YroYtC>;UA zjpu%Lr4G-W1un;qe(p(c=!Oe)<`?G*I5lZF!?bdmkj5J`mt%`FT)WcHQdu>IL!czx z*o7>DB%QtqMTT0+6aU+L<99j&qS>@hX=fg6-krau{aG1Pin|Kf4aXa58|O8(QHAp% z*QL93ZKXPCcCmO&_{=Oi8LSe@&O`aNLpX5P)29^MTkgF0k?VA{`xr)U`|gz6&At8o zI+&9)Gf~R4T;&&rknLjZ>cX z%uTwuPK;dFo}~yHRUayYAr*A8AB~@{+P?!tq!c$ynJi z#-?)#x@p2!@2zZo(+EmqTi_VuQf<@un=Gd`=+-PD2nxaPO-bDn%+4Y{UdG7pw%-ag zhdTka1^2Di+4C2O$xe90T8x%yn zwCzfR3D?kk|CI*;h1ED~B!ZF)<;nR?Fs}!NEjw`FFFIS`pOj`xpZ=tlJ1&ma@Nj99 z1z0JP@dGPjz9+lnwJDuWl#K1GCS*CZNIZtn~c;KEv+|IV^k01B{h2~CBaiZ4h#o~m-gZJrIG*7-5A}_ zzTdO}^X`9ItNo#@6jYNwD5uEC$+1RWEihmqR<*^Lou-NIQ-RbVlS#>>aNFxNgX4Tl ziZ*3re7r1)fbY2&$KVxTEklGcS^hnM7y7mJuI(MLrUe)oF}Q|tGGtgY5F7$S`Os@h z?tN?kr4d`%xkJzdsdom!hh1s4%xLf)>raXdldsHkIIa;NETH)OJ{*1MC*IIa=j(8O zuc__GmUJLMIK~J-1SMrakt~xAPLs7I ze+FtYOf>f0_C!af_g1HE{%pZLAJo!og=Pj!Ktw{RptfSslF{rOT9_0isE&-`jkT@A z^4dkuyX#Wjzv`^|+@;}&q$KZ*G;;I}`;_0sh^^_;kO>SMze zthtC#$u}ODvM0!h!jCoftb4SL%R2dmpKOcSw_d1wFI{5Roy2UpQsK7+O5?E^``G5! zaNthUM$|68*>q(YB=k{wegu1e?_XMi9KQPs9nR^68p;^w=N1~KZMgZdw*{0MYrb}k z_Gf3!T$wj)vhS5lg)oc4bb#n^0lPj_|H{1t@UAa>NN0ZO47u}SSb>k~=osF(W@i6! z;beDzx}VS8aIx-NwOq=C7Q>zFpsXpG{@GvUD=5Ewu*C}nn8lB*(ZPZ~pd2A4a{o^N zX^eTvlk2nu`&JLPj2tJDl}g**#DPEFIw`x~R?1J85$)`^@T(uusilLhg{iQ^{tF@5 z@w3Ai`P9jq%6AMf^ZxJ>-T&cVFj>{M88U*c#FCQte5|woN_ocsLsl*S{>}0g6|RBN z61dDW-8$+W1x!1VYj>M2FjFAa1*Qv3yCO2%bs5uTOqVg8A<$(^XLxlzrpuTvV>&~i p%b3pa>UvCPx{fk{L`RCr$Pn+uRt^?k>`=XGDZ3#`0ZaCzyJw3$>)&`g*(QcWq9f|wZa(WZok z89Qb=nY5`f&AV+L#t=-J*3=}`n)<>JwS^dIu)Z@`HAH1lzy)M?d4+x6$9eoa-{1d# z?w(y1cF)~~gw7tk-pl2@{-5*xJ^%k}VQd?efHlTtZ~|jsPN9r3Fk@iSIgK&Jj45VJ zG3f}5DJC7SF&{Igm@&nqBQU0zbiBrV%$Q=v6qAm?m}1iL8uKx~ZHk$^Zjs8(X+)+W z4?FL{wr#+VV3i|Oj`w2k7qHc=N{PDu3Y=WE%@`T^BYiSP|gBhGW^VEgOz) z!?qpR77zsyN=LiV`Pw1u{Hq7g>b;)vi%nYh9yMY4?;tm0JgmrqO;tn|9E&dv!-XS2 zT+7kl2`CGeWy5l8*q(zB5jt89WB+3>qvfBUI^*|!MlUe;CpW5G(>S0U0fB-84MV>i zxRwpicHvokIr3S=@zPSFP_2pHvBh%z>Qec&**f8h2rdhciC8jjIzZqmy!ptB zc=eWt&&U`?{iL(Lw^9{;e+E={Mf(s@hb4n05Z88)wLRpW4Dxms1t)`?lSNk4LZi}Z z>DvfJ2^3!is6>4E8c^QG;avyt?5gjM`Zz}QgmX4uue|9EP`v?>$WxEiLdA$e>&LLNEb*Dkkz#HZMX7vle4i`th=vK*$XB@6$4m|CP39sPz5v*`jI*}CqTx#b!c$&$lDn)E$w}1 zc1Z)GUKEs42{0kb%11e@pcL_COezYYGB$dScHrqNzcngj8u3Y{eCBdB?oTd6)Lp3# zPRz(SP(sN#E(&%Q;|ay96EHLEP;q2DGeufzJ3&nS_q{#ETcCnqa0Nb zMBF2iM6vDpH?ed5e~frsBR;|W=RT&Qk}n}Oe(HRWa}-7&nhO;&!K+83SC4upFJ`6p zN&1xjiV-YTI1vbjPM2VMf)cvJB6`9y{KyvvElO?3V&4y*LCftwAJN!Gbnxt-T&JAI z9F#9qP68upv0ZVnG@*&!I8h6I3%`%eZlG_8@fh6*9QvA2MFOTA`sfKu=!%Ny^#V~3 zeUJ*6FGYwfh379FS)Nlfm`OKZq9$DTE<`;Qfg)HWTjeL6#AR$p@)MfT1g}oO5D?9X z(Dc5izXkC#Vpd9$ydX9wJ3vRJ8@nET0c}t2g339Vx@IBj7EBfO9)IRd?Ed(VYaUdhe0FP1W31_*rte;*vKLN<@QJRI;rDlSD<*3(H3l@ zm>3KludQpL)0q-Yh@}9buAcFJfs)*I?%av1uf7_4_Ut*St1{~omto>H@5IaR`*uxZ ztm&XRTW-{buOE3I9GhU+G9VboBy~*xvzXx4;XHzI3sMTOfYkNS;AmpUOQ(86(-JJG zpC!&W8Tm+K%a$!zwrts;?WXfTa|QN)`H7mwSkpmsw|zuK#X!J_e=%_QS!yF&n-Z&K zsf%o#?KWoWwez)e@TBLWRWlHdh5|$?6#sPdoaGY9=zv9;37E`y7c5wS0|ySA1c!M| z!^N}E@$}x*<4k?Plv^)T^_R^?R8E4iL^T==q|qdbu^Fxj#*^HIc}!di(EkvgpfOQx zU=|Z81=n-&(WzHpX5C~-^ag@_<&{^kXwf26DwY0VxFfR&&xZ1&)Z_}*Ytqq!l-7cIv6aAbfKOhR0|gY^y!al5bN-3*ndHc*8ZVc@^PBz~+2@Yp zM|b}_a=Bc;!551~tXj1STeof<)Rf{cshp_jry6Ujoq3`2@BN^%>N1kA3k<@cZ>fS| z&&7u0=)Q}n#?oyDX20W{ynrFBfd!;C6Z52P3#D=icdon@C-$^s;kz%!O*h?yi!WLz z*V?gT2R3fp2r6dCO{*u>SX1rH8)$y;!%8BNNP~hQ91E7im&9$kaScZIU}#Q+z#@{Z z2C7H58+2vO%DdWfFn46T4vw}T!JW%)LD*61H+BM~zZv$%`wG*UQ+hC)RzekZP={cINHOy7xm$w`2*$z@ZIOC44uki2(^5r*BpuXJy2{c+vpZpy+2r z9g2tRDHZX-N|%rf({_CZZ*BV}Ui{o9R1S9yNycr=W6rl%BKLb!vGZLUQjatB0W-h9 zN?ADvmW(3yF@2__Rnw;)<}_M0HXLPv61r`Hz=BaI5tbx+y5)ep zgU;6D*nP(~v_HD@lyIE73})YU6$SA#BHyM3A|T&7f|>UBS1NZ}9lc^-xK4!aYHpJZ;WRPVX7g5TKMKNXSSKKYa$HA) zieEPCD6W3ceI8S7RwI>|71bl=rD5^!aU|0%(Fl8&oCP04Fpbx~Q`Ikl z(ILCPS;e`HQ4uTzJ!OO?R_LfEh&DsL_$aL=0^(4QX*3VJHi-H$Nw!*Y>?=zvV1} znfL5psN#-8I&2eyK#9u)Q*jRx%KO5*F%6>*6)97cnkUn`pB(=Weq41Q~uz8TZe zOAa9RFM}t8x`5*sNkko`c|6FUot4n| zC9uTtN+E;N&NhUdWyxEr4e|jFx$1M0%1N3@vaxOoR9#6L-(jX_lBN<*+f>yRM%ce* zbQUqzq?o3S%T)f-S%|tSu(&R+H$dr?Ht`YtoM#+C2J~!Bj$$U##Qq{yh}>P=EFYw1 zG|-fB(EC4pe@){VtQxKPM9q)hpuEWii6{)ITn18nxfQCy^{IW%xX-K-Av_7nloQo_ zXaJn*O(z%63>=9C9JoGxJ#@O>Ma^J%(x!h}uCfaziwg)lD=63H@%7z55790u?)icblmj6H9xdkdFPK8C)=`Oa4$b& z!!i|>0;qBbNI%8QP$v9H9IBHls+wNX#|$*7Y6$KN$D-15h~RKHdR}-NU7KG!yI>~W zyhu&B@gluq$`po`10C4E`hn_=O#Yk2Dl=~)qOP*eL&69QyUC`x0I0Sn65*Rb;-oGa zePV_53&$o;;+*!eBK$V?Vz>x6!jW%0dv?LhdvdLwso+4(CetKJ!Efz`-_{9lYJ)^2 zRrERQr*jbIBQYGA=Z212R8agb6Lg7eIT?QA&%CC|nt9HM&8N0*?fA2f{vASn2CbiZ z{Op05dDlwuAh+;bDKPnm3A2PF`}2RgUCAZzR(+=0N>FAQ ziFVp1uQ8@bZd4(`2SVDUj&IiGBeSt46o_&1OtX{Dpic@}?5y9j=Sb10Av|MxFkmnsb)aX4< zd7=w`v0jCzQVWk{Lx|=PnA)ZiNPkAaR8?clM=z$4oA25F7Eavv%OM9aZutV0zhs82 z9oEYhOv{vJn2FWmYLm*ja3WcHJ6N6e2!k7 z&8mPQb>FgkQY$6-ux5U5g<_r}ekPuhF@W@vlm3sE@Jhcrg12vaWJK2;(ZTU8HQ#@& za;DU2RS^(ZTe&v&{=pANeEz9lT%ro^nW>k~#*34x>u?755TYjblDjIX>^+XR|MIca z_mTR5(>dg(?_8zarg4(dzO~}sQ9JjXCqANJddt-U^mJ{A_$DPG)R4+M+i`IH@KrQw zH$P+q8^I3EKVGBws}jBL&(v2b&&LQBohV`79}my8&j~QoZ(pj-slsIMG#$MmU@^3Z z9c8>V3^?Zm7>;+|Gwbw1f?Dp_G_=^>D8GIb2i6Y#tCU(UlTyT^v-|9a*C=PwFtYLZ zax(R61B_sm5apH=IQVD7|0(i017_+!T%j5+pDR`TDK`T{x_fL@9PdTtjiYG&+jO&# zJpVZZrfNsd{}>4tC(+ zpAYRf(irtQ1!n4(mZ*lM7a}}fgnzIT2R}NxFwR-U@W#0~vh|a-{c7$1tzyy)Y^3|1 hQ>HZ1!KOL>{{UniFuxalKkNVi002ovPDHLkV1gv#FYN#T literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run22.png b/examples/moving-saw-platformer/assets/Run22.png new file mode 100644 index 0000000000000000000000000000000000000000..97ea2b17d3d6f48cd1a8df20676a0148c8f4def9 GIT binary patch literal 4515 zcmV;U5nS$xP)Px`T}ebiRCr$PTYGRF)p`Hzp547KT}hT@ELoPH&>EWBf(SQfzjtL!1 z1EkQz)237UAQ?hPV3Lj#H^iBtA)(16C4mGAZNq>u=8=g@NGOSo!Q*l4#MnrdAIQOa z-Mx2rPv`s2IeYiYvZcL}LjJgG-?>-Pp562P_V@k1$2r$R;}{bGtAWed2sD5>1v47J zG=NDb8V$xY7}H=(Is_VwNrzWMV;YQUFeV)W4aTIytD!Ls#xxj{4uJ+^(&5$6me@-)X;5=be|z=1UgCZOy|9BG>_7OAEGT!?6eq1&C{FU_jv5uq_Mx z&jKt*0IrR)@8j?*`|#>*4^8{Lr|kyqx129q*Di(EmIq29tPsow#R>vNz_A5fOTe>T zc(%iz>GuX0Kuu3VB9sy6pUeo1luOwE4{ zRWv&^7+K*UYiE$PU1Wp{*K!ybVv7wMQo|BSi2xyjC`3gDD9aEsXQRL8C|+2(aawGc z@{2Bfa-H`Rq*t=pPh0$ru2e~p1M&wEm_EN$bhIPUj>C+CMR6vMHWp?4n>he zPI&MvH^CGV6+JB}$$8j~0;$79B6QwKWUkpqXG8n`XKPoeO$}&J`NmN{k zXP13$%Iukv3oZEJ4N}a=0mKw~;EFHI7!`4Z0>#Oq#VPQs=;YX?SW_5A7_HUHLaM76 z!y2O*LvB=x$`}dD42~ZK2xW-K1|nPHx${3iB{og^B3=J>walH{iD*-X1Gnv7Sa~d8|I0gg<*^lU5-czcOso3#tL8kL8S77+~0ABv! zS0`=Pq%UyhPj8daP??{y$~%;KCIXSGP{biUnc+2IhErtb5Lf~tX4vS2JqZpmMrjQJ z6JR7NV<;$LFdV^PSYmJ}l+&F>!NZ}gyRhf>|C*F-lN!8e^NkW&2M8s*L7b53NaPSG zwu79=pxMcx&247J5PK*zldBm($EsuuI8uTQH(EnL43j�Zzyf3{J%BD=T^(MSctb1}64C|+Otox1I-d*H$? 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 FV1k6Z&OHDC literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run24.png b/examples/moving-saw-platformer/assets/Run24.png new file mode 100644 index 0000000000000000000000000000000000000000..878f30167ff4f34e49dea1180110a3dd72f1dc7a GIT binary patch literal 4791 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 RAWi@P002ovPDHLkV1ggq22TJ0 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run25.png b/examples/moving-saw-platformer/assets/Run25.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8e8545d042a549d61d2d3d3c2503b407ab23c9 GIT binary patch literal 4922 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run26.png b/examples/moving-saw-platformer/assets/Run26.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8e8545d042a549d61d2d3d3c2503b407ab23c9 GIT binary patch literal 4922 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run27.png b/examples/moving-saw-platformer/assets/Run27.png new file mode 100644 index 0000000000000000000000000000000000000000..6d7b7f43fcac674c2e36d5071998eaed8a91e34d GIT binary patch literal 4869 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run28.png b/examples/moving-saw-platformer/assets/Run28.png new file mode 100644 index 0000000000000000000000000000000000000000..6d7b7f43fcac674c2e36d5071998eaed8a91e34d GIT binary patch literal 4869 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run29.png b/examples/moving-saw-platformer/assets/Run29.png new file mode 100644 index 0000000000000000000000000000000000000000..c476bea1d80728649e794fa6edc87cf0a84d41f6 GIT binary patch literal 4656 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 LNkvXXu0mjf>ytCj literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run32.png b/examples/moving-saw-platformer/assets/Run32.png new file mode 100644 index 0000000000000000000000000000000000000000..3d2644737f179339e98c3a48d5ed7b894ea14ec2 GIT binary patch literal 4736 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 N002ovPDHLkV1lj-l@b5| literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run34.png b/examples/moving-saw-platformer/assets/Run34.png new file mode 100644 index 0000000000000000000000000000000000000000..31d92d6a68f469120dbf2402d00508cba9df6fe3 GIT binary patch literal 4527 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 N002ovPDHLkV1lj-l@b5| literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run35.png b/examples/moving-saw-platformer/assets/Run35.png new file mode 100644 index 0000000000000000000000000000000000000000..5dca526c187be32844ff55f924b989e832b6616a GIT binary patch literal 4778 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 Ef)Z&V+yDRo literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run36.png b/examples/moving-saw-platformer/assets/Run36.png new file mode 100644 index 0000000000000000000000000000000000000000..c41dcba481f30005588eccddf4f02562753ff52e GIT binary patch literal 4486 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 Y56n_Cs7&aH^#A|>07*qoM6N<$f(f*Ir2qf` literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run37.png b/examples/moving-saw-platformer/assets/Run37.png new file mode 100644 index 0000000000000000000000000000000000000000..cb91f0c726d038694f94704becf060abaa3ceae1 GIT binary patch literal 4593 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run39.png b/examples/moving-saw-platformer/assets/Run39.png new file mode 100644 index 0000000000000000000000000000000000000000..66182fd8367714220796270c68598a6443afa782 GIT binary patch literal 4894 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 Q4FCWD07*qoM6N<$g4A6%mH+?% literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run4.png b/examples/moving-saw-platformer/assets/Run4.png new file mode 100644 index 0000000000000000000000000000000000000000..a321e89a3dc7b8e81ddba423100e99ff8fee3c43 GIT binary patch literal 4862 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run40.png b/examples/moving-saw-platformer/assets/Run40.png new file mode 100644 index 0000000000000000000000000000000000000000..66182fd8367714220796270c68598a6443afa782 GIT binary patch literal 4894 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 Q4FCWD07*qoM6N<$g4A6%mH+?% literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run41.png b/examples/moving-saw-platformer/assets/Run41.png new file mode 100644 index 0000000000000000000000000000000000000000..41cd645885d9a368d223509ca7667bd7daf374ef GIT binary patch literal 4842 zcmVPx{q)9|URCr$PTMLj>)tUb8xsUFi?s}GefyU9kfR@Qx$Rz*$J-HLgrq|^krR*mtMC5DKi0W~RgF{}Zc;f=#EFPNU5e%!wI zZ2kW^w;%KB?wJA0s<}hcGt>8R&Ue56`~UwtcMMEyLn2^I;4(A<6Tl3^j0s>SfT>J0 zCKxlpm5o0b!Uh>D?5(k7-$uQo`*^ zq34fB@b)c_pR)0u^b5`W{z@5J)CgglFfu-aLEIn^EW>~>1Z=~CCFo}b41)s$hM|UM z2m`Q9ctYa%-gdmU@;^`dxKG*z8vf}5S+n9yn6?F(_8_DIQwRoy00@9^gav*XHXK2~ z5I}-Kp)V;38i}m*;K7G)8OWLvN8WD1@7Mn1q>cZioVfYfHPW6|3na5DREPyo>>yBV zVIgGL2%GeB5Ec$X!iHm5iY=Nkl13*bdt|NW%QVcbtT zck?=FRymLv4}$MHg@(ZsCQyhS1Voh?M$`-=Vmka%pqP9N1yZm{NO%m2mjfo{yU6%1 zT*HTJOYGk8Dq0@cGOlwO*OSfNdaEQoFkBzd`az*n2nvBffYjJkh?)^Zh$+I>x5(U`m}8MXen}%nY-xP_#X)jt4^g{B+NMeKrR^u^=weV;{KI3`j@PvE`FMqdDq8kpvn*GcK~ zuvO`<0WpLMji6>BV4@66H8X~ECTxaA45I)TRn)0^NLT{<-r0p0zV$HT`#N&i(Y2eu z@mWl{{!_>#QY=aw$}tDOU-Z3E&u>%**59^7R)29G{1j=628G{AbQN=Q#T?ZwBFv1L z>{N4_Ce0y6(Zz=gBMObvLv=W(?o3P#O@c5@y!_-Z@tr&FMC*aQgEXmO?Kx=p+7kGg zEZ|9qu#Lp~ZP2)(ML{p@m)30hM^ZRYzz8y=JEE!z*0GM*s0?b&y41U^!S!Ls$Pu)MNIaYkoX*VsB zwbw6zpL7)%f<;AtuS1C$L*lD|p^BH7QfEgwJLM`~T^R@9(7P{vRNGbf>sgoZew2|E zetGb^y1FoL-aK@6b`A;788@7bX@7Sfr0=8ey*9Mm`c%d9toVS2`!AN^PfTID@`xE6 z9Y$uJHEb(TR?>A0Rk{QUWu>SUX3&^5x|YeSDd2e?uB};uKbba{JL`d3v}MZ{EMLBS zFetR6%JG=~_vfL0?P9py3GDpbLlw`n;sa)Gyh<7|8wL%40MQ}D;Ft;^lYAAEfD!Do za5#w&7kR{-pui*hft@?e92$%h4ddk>K7+33cH-F=p2zH_rXm1ZTU)Ve)hg`VxpPRi z1iutv3ukV)8sW31V8=O?8(S3vGwZ2qBur%s6oSDGB>kTLk;PyIW)zuF79yOs!we2F zhIEFCKQ^tj-Vm6Hz62h+?AwSR?8NEy_4w*n{}KxpEM$}G-FM%`gAYD9YzPfRYWBTf zMBT-oz`OG+PurCP^USppeqk6XFcdIKbNEGs%0h*c?I3K2P-TU=d891G9*hnr3MtA` zwr!)Qvl|bu{5IUq#E6V2^{#?b#q+HAfLXt|PDmG6+$e!)aVglx_q~68xbdrDkrRfq0ljH<)O%|O4)|ZwuD7rf!C{xL=xfF zSN<2T-~I&Bo$<1viJd(i&G%o%WAdrciQQe6+*~#m>INnWKJkUTpLw^#wZg!@OvekSOgs(9L8_I@l*8eX)g&5>&lO= zfITG&FXgiHhmgSko%@4|=UMRqjX$|u8XK z^k$RjNS|O(2pj^11X`^nDc3I;6juZx3#mks4e$MrzrlvsP@6No26G-*h0v@?@RAws z$f;PQwW!_aKV0!VD?VV_eHTmXj2QbP%pBTCV=O@_2&QGiu^k1BO~8co@`%Mi?CWo5 zV=1U%f^=QDY*ILJ5>LJXVGCV54xr_}-yr_Z;Ua8^DRb_-6i(A5c>Ni!@yLQ;6Wz_C zWyPZv&$HqKCf~eRR)1kGiy}3VoT90Iu>^xdDVKnu@FAv9y}}tt*l0_2qtoq$onwdc zZTLk-gznC@!NZeRt}oqv2_tMF>$*6$>3tk~W(P7y;|R|=4Ku!V0i4F#98-ubR6TpH z2WbJxT^%^`H!VYvH` z#Uk2;LWUha(v$!c&x7x(ml1Oms~r=RO?zM1g^urTFFEg$ zI}8-MS!H1;lU+C}_vsj7ORnh*?9kjhVWIfK z&}gf)FtqZ)Md6ia5(7lK;`w}C3M2Z|tPSUUW`V4`dOlaS3`hZE zxONG;Y14t1NTc^?H#=ww5bDBpIuF3%c7j?6Zb!ABK6p5}M?vWR7ntY4VjLHi1dJyc z7|bw)&Nn3Jnii&AQ%o8kG``?=y;rz~L3xMP`&{8^(~hSj}M zPGh+G1#3)tZ#Oc>5)ig(EC+$XwuCmc2r$hS-Zv0hz3NbEKDp1;!jm%QDNzXn@n5$h zvUnOIiyGkfXL9Ts@|?opwXuB{6+gyS7BDlOxKf(2kUDR0=L7A~B8rTM4GcO zoF$QGN**Zf74trMBV7ShF#M51E7(mfQ!-nqlTN;I7{~5W+2)LYT_&q9It$YEhh-0m zbN{wO`0yV#6=6{pFtaz^pu#9vCdmn^I-KM5&BMOV=zK zm_Trg>%0M=<-$mZQ^lX9|5XdSWxNuo0m&KV1%?(2cTqTvz?vb#s<`A+<~P+Qnf*Oz z`{qj{-e~IcoU=}YS)@a=Zv6R>$CPAD&cWHFAM9%t&d)G2POIqqmRG14F^}N&?gL z!Wzlp5v&RjqYJ2CC|t9iUM=BzNc~Z-EmL8qHKZszp8|jgT z;AxMdLX00qv`w}VIoxP2reGl5BfW4x?B)6I-{SS z2*Rp}IRQ`_9MizTHBWzZz%>8nCbh^muo)}KHGR{GL9P$VUS3}YGLeBt4@Z-BQQJUM z(}f}nw`QFZ`vI*&&@a(@*n)fDINEL-IUAKT%z^uqh4!4^-YSRlTFbsDO~f(b$1{Vf z%(_*dlm_)Sbs|rpC@ZB|D<}l zVJsV&Phkr!=Z?IA5wM8^C-p<@AP2hQeMfVj;7;3rD_Inc+Rs z*h>P_^!yr?k%qc^B*32kbUdyIUFT#24aqM69UnQ?I z6hKWcUY{5J+(VH0P*TmReg-gVqwkk{aO^w7`?%$>J16#~cFsNIOtc^dhiwLA|Eed3 zob1$p`>Zq~HaloX{_6Qr0TPU<@yC}*duEO5y=V)X$^t-wlumy^=N?Po;ML_Xk&G#n z=4`!1l8>s^j|BR+9T>8;F9q;uKW~2JW=ZS}vUMRiTo@OwhMEGc=WiI(%_y5ObKm+4 zeo!dek;MK>e>N@`tpudm|8qmWxXdv|_iTkM(%(}^C*M4T55GCKzg-$}qEqi$E~((^ z-*ym3|7Cptf~;I{8t%JDM$Vbe_9J&|!H7q&K&k8Ydit^N3!}f0rqqx_MIe=h-Zo)egggnqF9WY939l=KBY%4eTY~YO-q_AI z=e1iTJ*kl1*MqjN7q0`2?aYIZ{@5^PyeD4jd=tP7gU|#p6Tp-Tp5o8{A17ORs0Nd1 Qr~m)}07*qoM6N<$f>KTWp8x;= literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run42.png b/examples/moving-saw-platformer/assets/Run42.png new file mode 100644 index 0000000000000000000000000000000000000000..41cd645885d9a368d223509ca7667bd7daf374ef GIT binary patch literal 4842 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 Qr~m)}07*qoM6N<$f>KTWp8x;= literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run5.png b/examples/moving-saw-platformer/assets/Run5.png new file mode 100644 index 0000000000000000000000000000000000000000..0f39f8b9e05f2d27461547ffe5f949e22472e086 GIT binary patch literal 4699 zcmV-h5~S^kP)Px{6-h)vRCr$PTxpP8)puom8XhlYnwNWutTqHn(Wgt*MB3m{UOoEYcEW5-~ z6+;|@iL6i#S$>eDQWZ8kDVIxjY)otiNKA-uKp{%NBsL~q0D-~UkVYe+eMY^%_ipNZ z_ulR|Ju_$$&GbA~^_%K?Ju}^X@B7X>=X~FH?~H@ak*WwdshUk^GUx!3vYVg-NC%LV zMIdF<=`f@NNXjCRvgvdf(g7r85lGo|It=LmlClV-Y&so=bO1?N1X4Dg4nsPCq$~m{ zo6Z@i7K2sAGt;S$n@ml1wMSwh3mL*m8(0Y^%&uB1?9cRG4k3FcKp@WGwK>s zKiN4OE>L|}pM(680Rg~`05?={l>^st;K7CG@ZrhXbzOL_2iN!D_%7lw!pNS(7~J|Q zc0Ks-slVP-PjJPP>s59^4^WHY)|CN32c8e#b>TZcd_L#d_27X(8Mcry4xoG&$hbIp z=s0#f{sZj1FTKE|5|AZdy-pR*TL4reAXM-i2d-g)?|2gU!10iE17zgkBXE2K1cWRx z%RCBzf??{vB29Y+{IF!EjoU0xPlULFN6iyXmleeEG|IMuAN)6RG6xN{2$G-2qjvw9pa4KRkCmUq-S-uHrf> z@~Fx4I(;RMpa{w{FXNTZJUZj?nDGg$`0rbks)RrcIHEQN3^>NTeH6S5x(yh!{4S9z zf<#t`NR4w91cYB2kXYD2sUjGqs48c&gl5mzI6VR0{F`U7`=RG%G$u1T_|hjorrf@) z6mtTFqXkDBxhqnYb?F&7^aTaX3cAtf6@)F!wj`S}ASMYyAVjtlaVAR$NGz-<$2AnA ziaaV&ReXhBJu1fHT?0*o~ zB5AcO{?w(I^U?G1(yIGsBsMcLDA^I0>zWx7Sqq3Zb+$ru0jO(^{-6i5gC3DC7J}j) z6Uf#0UZPM{p#U?G>4xKaI686+kAC_=?A-R#G5y{JYkwJTe*ycy_wRY9$zq1Z_g^#r zSFyaXPyk1)uzTljeEv`V2oFE}@R*NaSGlzPVB6!<_5t7hops8|`r12KJ`e0_ z0_Z|8>oMicVwTq}0cHImk|ltcs(ga=3=0UogYtLNqSaWK8_+4PNg(W7*Q{BCEnBvX z`6RzL$5wt@W7O8cc*V>9?UO35n9Pd0Lomn?)3=iLxs@y@K*7(T*YA=niylIN*x6+! zrjM~aNoHBqsE%`c7GwR{SBkMW!Dznkkw+fEjW^ynF0@{E7SYLS+v3!=fq1oZKD$cw z{>C{VAQl9k8-NHfT+h%RLQ|(ikr_00N>;(kA>$E{W>A+`M@+Hf-210oMS(JBzSQptKc`h4+6@WmeACgyY zrS}E}^!Wv;(xu(bMJU?)cvZS7Mp%D1IUjF4^+Vis;W}J!;RR!Y9z_wZy6P%y+qP{i zApC4e%N=9}@~9mtO?$kieSqXuF8;=EDW^N58;Fdgl;tj5&owO3fOwuKsVxJab$sN# z9D3PQ^mS8_X3yX0YMmKZ%VkLIq2LBCjtm{bmp*(q7Ix3UUq5gkR4+r;-gS%zi6 z2}n-b?OBm7G9*Vp9J?^pTm#WUrNLl|>lHG1<-6aC-xV8H?ui$(0% zu><9D`IKPDdwmxwjHf+b(>}l`Kpwk+k<#gI0uc6*97+~}p@(>EEOHf)(&Zz|7K)b@ z|LAga$om=b7n(GK??b39ofMS5qpy(`%Qbs^Twz!c2 z+QgZ0ktyP}N+II~Qsmk7b}~f{07PgPW+!BA)s-o-nKZk zZ6HQr@wcw0mNYALYvyDLy@eh^`4TzvWX}~rksT(+(-7$J!dBwhp%F>(?oe2`#2BDQ`ly#8X%x3LtvV z70q5!UF9IEhFYq)Nsd30{aDRa#^fTG6r85=2s1#XSjK@ze~ja=4C3UzBdEPSg0NK6 ztsLGg=3qg%gKZtwf#&Hy=ncP%Bqa8!n+bQbx5{Mse^c z%KMH>0?@T;2?`gz3$Ojk7uyyi$>t`--P3&0{Ee5Y-rqhCwOz+#L25J*1{4c|fMOmD zvIJQ7xX2dn(<%=a^|CErCm@)V*~py*O8}9UOmkV-%9+lC0p?DzqYya?v8xdBIrnkZ z>xgP0qGAoZ)_lD!acT=7bASJRs&DOkp(=HRhf9b~R79SVS(Y%y`iYe;lLiZ83>&mp zI4B+)kzi>S>Gr)%qmzk&Wm!YgOcALUw;U!fk!zFaLoIvqAr#yj2fMDNQ-M|599Y8PAi zkFIYT>n%ni1t7y3+v;zYk_H?pD)nJJST+b#;4oqD(vLOP~53<@RKuxS>JrKnL~R#}FN_XqGeq`MfYCNUIMCeBu2R9-v%qbmL!W!v8Mx^pmHWlH0!l-I ztPva88kG(wGcn5!Yvg9<%9yGu8Abvm>66(AMsTF_tivFSS*|1gw(sWev<-mPL}JDU z=0xV*{cFmbmD4Q?Td~_s4~g2udP$>YZ+*sgjcwX%Byrqq$>1>RcY4#7#wez|IjFvI z7zgipcE;i|Z38cP>;@I?IgY_QzB}O6K#k{2gym>Gmcis5S5jKt$h@b&QoP+t#0~7+Z!oj%0%MJ;%Wf9c7lu#i&T$I$8<{k}K5f4{2LrhvM!ERYmZ1%oPeUbzt z**>uhu_VpO+Q(ZXV@t9PR78DDCM@gz&9!bYB2L9xCh#h$C> z@|3g&m~ znvm?s`T~GuhyX({G8zoAqO6b73vXfQuIXpVlmW8%E7z)EMtB)OH-jv9JAT%r(y2beXhrWPQW{ zB0%Kn8JZc5uCcuiCIH1cqGM%*2Tx-EofFqrlgfT3c+r#rvi$kPpQydljI5Vf&ma&r z%2p`<)1)DHvBLg4o|>}xwN7c_eIHcP3k&obJAn|X%J_{PFr(gMvpBP;MtQ9d4&$wL zQ@aUbN-lWbJ(sKA)#o(VJrY+!>hn&N1|NOFJmh;Zcw^=?dIG|RU@gM_Pj8u$xxLf9 zv1s$P{Ff0Th4d3j6}?99pgi?`E*=A*^n<+^x^rseY!btsdSYVc{rP4sA;Jr|xd7#t z1`!=DA@iQO@Mh)p#RsnJfM@DEO0FpEk;2~fk59?GPBrt{w_mKfFJG$nZHb9<=ZiNf zFp{6mYaib71`ghR`t6n}x$ssqm+d@(hsukC*!O$?GG>eg_gRXwX$NV+}7$j5slYf+}r?0*$&sJ?n=O1Uef1+Mv#ft?K`U%9|0Px{6-h)vRCr$PTxpP8)puom8XhlYnwNWutTqHn(Wgt*MB3m{UOoEYcEW5-~ z6+;|@iL6i#S$>eDQWZ8kDVIxjY)otiNKA-uKp{%NBsL~q0D-~UkVYe+eMY^%_ipNZ z_ulR|Ju_$$&GbA~^_%K?Ju}^X@B7X>=X~FH?~H@ak*WwdshUk^GUx!3vYVg-NC%LV zMIdF<=`f@NNXjCRvgvdf(g7r85lGo|It=LmlClV-Y&so=bO1?N1X4Dg4nsPCq$~m{ zo6Z@i7K2sAGt;S$n@ml1wMSwh3mL*m8(0Y^%&uB1?9cRG4k3FcKp@WGwK>s zKiN4OE>L|}pM(680Rg~`05?={l>^st;K7CG@ZrhXbzOL_2iN!D_%7lw!pNS(7~J|Q zc0Ks-slVP-PjJPP>s59^4^WHY)|CN32c8e#b>TZcd_L#d_27X(8Mcry4xoG&$hbIp z=s0#f{sZj1FTKE|5|AZdy-pR*TL4reAXM-i2d-g)?|2gU!10iE17zgkBXE2K1cWRx z%RCBzf??{vB29Y+{IF!EjoU0xPlULFN6iyXmleeEG|IMuAN)6RG6xN{2$G-2qjvw9pa4KRkCmUq-S-uHrf> z@~Fx4I(;RMpa{w{FXNTZJUZj?nDGg$`0rbks)RrcIHEQN3^>NTeH6S5x(yh!{4S9z zf<#t`NR4w91cYB2kXYD2sUjGqs48c&gl5mzI6VR0{F`U7`=RG%G$u1T_|hjorrf@) z6mtTFqXkDBxhqnYb?F&7^aTaX3cAtf6@)F!wj`S}ASMYyAVjtlaVAR$NGz-<$2AnA ziaaV&ReXhBJu1fHT?0*o~ zB5AcO{?w(I^U?G1(yIGsBsMcLDA^I0>zWx7Sqq3Zb+$ru0jO(^{-6i5gC3DC7J}j) z6Uf#0UZPM{p#U?G>4xKaI686+kAC_=?A-R#G5y{JYkwJTe*ycy_wRY9$zq1Z_g^#r zSFyaXPyk1)uzTljeEv`V2oFE}@R*NaSGlzPVB6!<_5t7hops8|`r12KJ`e0_ z0_Z|8>oMicVwTq}0cHImk|ltcs(ga=3=0UogYtLNqSaWK8_+4PNg(W7*Q{BCEnBvX z`6RzL$5wt@W7O8cc*V>9?UO35n9Pd0Lomn?)3=iLxs@y@K*7(T*YA=niylIN*x6+! zrjM~aNoHBqsE%`c7GwR{SBkMW!Dznkkw+fEjW^ynF0@{E7SYLS+v3!=fq1oZKD$cw z{>C{VAQl9k8-NHfT+h%RLQ|(ikr_00N>;(kA>$E{W>A+`M@+Hf-210oMS(JBzSQptKc`h4+6@WmeACgyY zrS}E}^!Wv;(xu(bMJU?)cvZS7Mp%D1IUjF4^+Vis;W}J!;RR!Y9z_wZy6P%y+qP{i zApC4e%N=9}@~9mtO?$kieSqXuF8;=EDW^N58;Fdgl;tj5&owO3fOwuKsVxJab$sN# z9D3PQ^mS8_X3yX0YMmKZ%VkLIq2LBCjtm{bmp*(q7Ix3UUq5gkR4+r;-gS%zi6 z2}n-b?OBm7G9*Vp9J?^pTm#WUrNLl|>lHG1<-6aC-xV8H?ui$(0% zu><9D`IKPDdwmxwjHf+b(>}l`Kpwk+k<#gI0uc6*97+~}p@(>EEOHf)(&Zz|7K)b@ z|LAga$om=b7n(GK??b39ofMS5qpy(`%Qbs^Twz!c2 z+QgZ0ktyP}N+II~Qsmk7b}~f{07PgPW+!BA)s-o-nKZk zZ6HQr@wcw0mNYALYvyDLy@eh^`4TzvWX}~rksT(+(-7$J!dBwhp%F>(?oe2`#2BDQ`ly#8X%x3LtvV z70q5!UF9IEhFYq)Nsd30{aDRa#^fTG6r85=2s1#XSjK@ze~ja=4C3UzBdEPSg0NK6 ztsLGg=3qg%gKZtwf#&Hy=ncP%Bqa8!n+bQbx5{Mse^c z%KMH>0?@T;2?`gz3$Ojk7uyyi$>t`--P3&0{Ee5Y-rqhCwOz+#L25J*1{4c|fMOmD zvIJQ7xX2dn(<%=a^|CErCm@)V*~py*O8}9UOmkV-%9+lC0p?DzqYya?v8xdBIrnkZ z>xgP0qGAoZ)_lD!acT=7bASJRs&DOkp(=HRhf9b~R79SVS(Y%y`iYe;lLiZ83>&mp zI4B+)kzi>S>Gr)%qmzk&Wm!YgOcALUw;U!fk!zFaLoIvqAr#yj2fMDNQ-M|599Y8PAi zkFIYT>n%ni1t7y3+v;zYk_H?pD)nJJST+b#;4oqD(vLOP~53<@RKuxS>JrKnL~R#}FN_XqGeq`MfYCNUIMCeBu2R9-v%qbmL!W!v8Mx^pmHWlH0!l-I ztPva88kG(wGcn5!Yvg9<%9yGu8Abvm>66(AMsTF_tivFSS*|1gw(sWev<-mPL}JDU z=0xV*{cFmbmD4Q?Td~_s4~g2udP$>YZ+*sgjcwX%Byrqq$>1>RcY4#7#wez|IjFvI z7zgipcE;i|Z38cP>;@I?IgY_QzB}O6K#k{2gym>Gmcis5S5jKt$h@b&QoP+t#0~7+Z!oj%0%MJ;%Wf9c7lu#i&T$I$8<{k}K5f4{2LrhvM!ERYmZ1%oPeUbzt z**>uhu_VpO+Q(ZXV@t9PR78DDCM@gz&9!bYB2L9xCh#h$C> z@|3g&m~ znvm?s`T~GuhyX({G8zoAqO6b73vXfQuIXpVlmW8%E7z)EMtB)OH-jv9JAT%r(y2beXhrWPQW{ zB0%Kn8JZc5uCcuiCIH1cqGM%*2Tx-EofFqrlgfT3c+r#rvi$kPpQydljI5Vf&ma&r z%2p`<)1)DHvBLg4o|>}xwN7c_eIHcP3k&obJAn|X%J_{PFr(gMvpBP;MtQ9d4&$wL zQ@aUbN-lWbJ(sKA)#o(VJrY+!>hn&N1|NOFJmh;Zcw^=?dIG|RU@gM_Pj8u$xxLf9 zv1s$P{Ff0Th4d3j6}?99pgi?`E*=A*^n<+^x^rseY!btsdSYVc{rP4sA;Jr|xd7#t z1`!=DA@iQO@Mh)p#RsnJfM@DEO0FpEk;2~fk59?GPBrt{w_mKfFJG$nZHb9<=ZiNf zFp{6mYaib71`ghR`t6n}x$ssqm+d@(hsukC*!O$?GG>eg_gRXwX$NV+}7$j5slYf+}r?0*$&sJ?n=O1Uef1+Mv#ft?K`U%9|0Px{|4BqaRCr$PTnUs_<$eF%?QJsyjO+|JYg8W#w1W<(-~pN2p}~kff}362t!5ysWA!E*mOo1G6G1ANub82Gs2J&Kx#|^H8!0Q zhKvAGV-l#b>5MRB1dvmg!1z`3RBlEiG7Wjyc@MU21AYXn9HDZ!7dyYa;T^ls-Z2wz zUb|T3&!2#7V*#$~!iEJa0vy=1@APbgd!*Xoco`Vn(I$HK)_aiT& z3go($<6%v^(xmi3MfZFpx{7*pic*`Wy7;wcot7b-fK`S0g5-Ks2vpq5an8k zGB$pIO@0y#~q?<2MqnEr3s6?;=C8|lUd<%|EARJ^Y7a7|{*711LeFwo%0*0>wR3e_f1}1M~|F%7Ndf5+Z zN(MDEnHlS^Ro>(VsNR53$SRN7L52t;>4cn@|sw!>Uj+KC*&aI+ZY7UZmR za>AC_nD+q@!$EZwAySc6SHg~<3J8JmqX3a-p{J(@o9BPCCS)<}lbCkrRVsVlSg2wE zi{24XwF6xBR7JECb#6|8812@f!ObIYXGDc*>q7OGR8-`Lf>J60NQkoXQ4T98MLdn_ zibAN2jh=%Yc=Gb^4!b;tbpjJUf2kVvr{^Q;u2h98>dF{qf{}4t6znWU6AZ6T0HNBV z3UlBH3NaY`TLK{pOKDJIqwYtcu!CUqhGq0dWt5`|f{0f{5@5DH`#QF+{?B2R$*>MS z`#v4QF2gqP^q*g&oW>lKFKE045MhVyis7cJ8taV` zcF=b4^H{wNv>h=lh9?3FZAqvi0i+!I=m|^cii+s<0$~enj0za z8F%AFYRon7LDW+bFa!>XuK7*}e;M16_=4(cj8`Xs5E!Z}f~BuL_VmS$i270z90sx4 zvIBHfy0Puy=g{`}HmIC~i7V!!Zq7tu>*1$f$M#SCY*=J7EQ3ye=o)3$Wuc-7786hX z0HMlqkfpkEJQSRqsH(AE0~*`{a!y9lCC3X0;SR_S8u2KAZ-+S4eh~lrrF+o!_^VYt z=hkO2>l=$PX8ufsB_CTZ`p&S(W>^ND^~5R_6@4uXn?_lia>jIgC(*cxJL;S)8odUL z%`~9F(SXpmIzB*{1P;UwomW2vO}ViMZG{KFdl&Bb+HEKW<$kGWC+}g}XD-FW>*k{E z-WSpGg^j7pC-niFesG1#oOdi2H*U}eF?^1^=`cQf$ya*pVSAOvEh2H*!2?c z1H~pFOq~-D#{`2+lVmZ*t;0D4#4Sk5go#C+uNoYZ*r3x`U)Qt%bLyvwQBQhuL}9~* z4Op~j(VzvIb3cC>c7N@$)a8@ps;zVy;dm^W`8DwRrqKzJd&anFYGqf}*->R^-CEK=F?&XM{Cjd{!x zizQe`3s+L?=448pX%nt=oi-_;;O51)&@JY_I37t#lq~Ub89cl0e~^9VAbxu1e;}93 z^%HurSj4hr%dm0d#z9q9{2`eV75&uYl-fYN!E^8ah_dQ3lGhLr2nuaS6%f`uY&edt zdk9M`oo;8eKFY}pAOvY(Vo|Fjv$AaqrE&?kFTEK@cC=&edoRQdH{5^=FPJN1ZP~H~ zYuBy?88YOd*^-)^QX7aj-hBVZlz3J`1rmgySg;(P;{S@kG$6VLLbXNVGr7o=JK3Vs z?mE-UOmH>zZtli*9UN>wfZG?{gs`L3Pv!)U_T;z^&MQn$ZKVsyy5&s28bhubLZ%Q5 z0fkIqy__|2!xC|Unelb9;&Ij4IpkdpNQQL~sy9X^1M*r{*1@LR9>DW!9yxB=54_OI zILJ*u2gU6NQj=3^18IgVSJmiTEVyO|1QesXj0%fw317(q+6^WZv%(HjM;D+pIP|*W zO1fwm3zAlU>??O++g(qb6ex{L--X2Z5ON zldEy?z8BE`{pV7XQ)&ZI4AbuZsL~~Gf?+_RjwUPkYFH8jBcM2aT_!mzBlg3S#s&=# z?TD~J@y~T@kl1#mQ;T$W?fMMf*z_Ab|HXBv?C%;95w|gq8Q)uq+#gKD*7vMQRYs`} zHuXo#l$CQ}iS%L{(xUS=jY-U+JuQMm?mu5WFEf1tY`Fa)Fd>wk>;_cz1uDj_KQcx~a2QQYDk= z6;K!)YD2EQuGkIkGx7u}tON*)6^T*A^KvyX?DG{s9L*AGe29B}EnDmeQ}9LB&siB{ zu_}s?$z-6iHj3>XD7ALLn>q?;$RH?|K}L~HosYhT_OEVERYs`}CWigrmnrS-^f9E5 zEd~UF;wHQKSMH=bTH8LiH{t$PW0RySOjYLEERKtA zkAkr39upV>ntVwYXG5GE*%%g7o|4M_ZwaiB^8b}hU!)kT}?V7%Yy>#tSL_&mb)Zj`nkHZh1< zt#Rcrsjj4M(q~tskd?eHAzT7OP{fOifiYnBXN_TGf+gbhc{VIhw-^OSN@!X7)70gY z`hYWkwNi8gS9|%jL-1R>v=B@MF)6s%eheN&>Kc4pdDPWM4J_@7bRtR$#dNmB!Dn2{ zkJVRcL<2l9lAZCQzS=D zj!=BD6{^C0&V5F{Pkkj^;UqvN?NW_r27pq%;pFC#fl{!5J=dn2uR2!#e^>zFgqr?& zvC7UFFDgFltf0JYKcXJfUK%GH2e`sa^VFE@FVH)rOv13Trvtl}-&YmD_`jX6 zGPA}a>MH9vB8))yHQ5Xyg0H6O6K*hph=akTHx)CYpId9<9QOPkD#CALErgrcBOLhl z(`N@DvmRfmJ8mdob4a_7Qt(^5;kR|do7f;;mMZ$}64WsSvxL!pNBTRT}FO z(S6d5jo))j6Xo+eBNm<7y0t@*b@X#m>N9Bl?4xHsAXD#HDmH@AZoh-u%pwXM5-UU< zB}BbGw8{!h{9xQwf+E-Rf4VHoM`c*`nQBU1ne7bP88C5)QF+9RtRvvT!Cu2uOLA0J z)`gvOVUNzC^na~5{G;b<0+iD>iP^tit*EL7J;(qCZ;Yx-fp}YNz!pGamgv?Ia~KsS z_P|1A$00b41=ypqurfC643l1#q~-ZkAg3{}LGG;}>L?4?(m3JSEIGo?Is%HF(+uG} z_kFrHo*;Bu0BK&gT)7kKM7T!o}=;?O_9Ctx{ckGhN3Wx9vE1 z+wnK7P5P(HmDEa%rzOq+)s+E6t1MRlvI`!913hPE>SXq_pH$S}Lmo+%P<0Uyd8NuS z+ms_E!CSDu2W_AGi}<%gE!vKoh2xt()+`?=a7b;ppaesoS9oc#NJiwPk5e0I{;_NQ2`9aKgq0pd~rWaj3T`tb>JXc;nr7^lR; zeO<7}%1?_sQI?DP%FtUw-u<_N+X;PYF7iDIO2= zYU-Nl53W$oxZ}tk#Iu$bRU4p3RtZsVIfA`^p3Wm>&k8^${^Mn;;nJCsRX*xrK#*!8 zQ}%~@QF-kkTK_J+uEoCSt)|xV>6whEt$`T?CLK+|OO<>C2MEF;wEca$TM&|Wd{!`o zH{ATtwaOWt)83ZZXsUXBRQ7gY?_Zo=yKo{)?5qJ~;#U`_hK1)NJY0mow-b9mQ9B@< zl?>rcbJJ<-XVQO4+z3NXL;^K-?OCI;YE14&ozDLQY7{WP`*sOv00000NkvXXu0mjf DN9|aT literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run8.png b/examples/moving-saw-platformer/assets/Run8.png new file mode 100644 index 0000000000000000000000000000000000000000..52887d0be40dd172d78894341732dab26655d3ec GIT binary patch literal 4621 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 Dw~^K< literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Run9.png b/examples/moving-saw-platformer/assets/Run9.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2124baac54b794224028e22641f7213e504830 GIT binary patch literal 4716 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_1.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_1.png new file mode 100644 index 0000000000000000000000000000000000000000..83b5fab99ae5e09949253d1e5350258b12c1501e GIT binary patch literal 881 zcmV-%1CIQOP)Px&D@jB_RCt{2nZIrmK@i42Fok)Uk{GC#@Et#@y|^Lch|W)Dyl zMNt$*Q4~c{6h%=KMNt$*QEmpeY)n!v)+aXRG3Dswd+PNYO)$&Q-K_y~Yb(fCHq)*r zLN?dNc+^2Q*9L&dH2_pfjl}y*gt;RfST5El!SOeYM;!pbFz8~mcZ!XjLO5m^bfwdY z$e+)dXY=P{V|*_Y3QyuxN{xwB1ks=*;{i+wKzw}kOERr7Prt5Cedl|b@R|!zDK$i% zAoc)a7<94TJUee)7{9wU0089HRshsYrxoF|Yg)s_S^(ec8gE0f0OL_7G@dJ4F4iYe zz8U7ntmADNY5jof*3D z1S0|Rl}-3w2IXRXLZ75@WH^5urV%54FK_d;@U&QpSO9KRzt@8AWy0)FvS?{v65Ocx zy}p-0zt=*)*IFq55LZp4FlV%P3IN#HDIh5uBy2np;zq4E&k$b^@3UGA5%cPP?hQ#I z*ko1_MwpbtRt`jfXiY%a7J_@6jl&SYq5!~!hs=u&X`p}ImhpgP0SM_48J!y>)%i)- zG@NiEz&uEtcmSii-i49#SZXTFJ>ziuAlADYj#;J%OZy=TlJgEv*_qzbJmE@;p_z$_ z<DQ19^5a7 z?dMNkM*81ioDN7e_H+mNx^{ETwt+D00000NkvXX Hu0mjfQ#*(r literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_2.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_2.png new file mode 100644 index 0000000000000000000000000000000000000000..83b5fab99ae5e09949253d1e5350258b12c1501e GIT binary patch literal 881 zcmV-%1CIQOP)Px&D@jB_RCt{2nZIrmK@i42Fok)Uk{GC#@Et#@y|^Lch|W)Dyl zMNt$*Q4~c{6h%=KMNt$*QEmpeY)n!v)+aXRG3Dswd+PNYO)$&Q-K_y~Yb(fCHq)*r zLN?dNc+^2Q*9L&dH2_pfjl}y*gt;RfST5El!SOeYM;!pbFz8~mcZ!XjLO5m^bfwdY z$e+)dXY=P{V|*_Y3QyuxN{xwB1ks=*;{i+wKzw}kOERr7Prt5Cedl|b@R|!zDK$i% zAoc)a7<94TJUee)7{9wU0089HRshsYrxoF|Yg)s_S^(ec8gE0f0OL_7G@dJ4F4iYe zz8U7ntmADNY5jof*3D z1S0|Rl}-3w2IXRXLZ75@WH^5urV%54FK_d;@U&QpSO9KRzt@8AWy0)FvS?{v65Ocx zy}p-0zt=*)*IFq55LZp4FlV%P3IN#HDIh5uBy2np;zq4E&k$b^@3UGA5%cPP?hQ#I z*ko1_MwpbtRt`jfXiY%a7J_@6jl&SYq5!~!hs=u&X`p}ImhpgP0SM_48J!y>)%i)- zG@NiEz&uEtcmSii-i49#SZXTFJ>ziuAlADYj#;J%OZy=TlJgEv*_qzbJmE@;p_z$_ z<DQ19^5a7 z?dMNkM*81ioDN7e_H+mNx^{ETwt+D00000NkvXX Hu0mjfQ#*(r literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_3.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_3.png new file mode 100644 index 0000000000000000000000000000000000000000..83b5fab99ae5e09949253d1e5350258b12c1501e GIT binary patch literal 881 zcmV-%1CIQOP)Px&D@jB_RCt{2nZIrmK@i42Fok)Uk{GC#@Et#@y|^Lch|W)Dyl zMNt$*Q4~c{6h%=KMNt$*QEmpeY)n!v)+aXRG3Dswd+PNYO)$&Q-K_y~Yb(fCHq)*r zLN?dNc+^2Q*9L&dH2_pfjl}y*gt;RfST5El!SOeYM;!pbFz8~mcZ!XjLO5m^bfwdY z$e+)dXY=P{V|*_Y3QyuxN{xwB1ks=*;{i+wKzw}kOERr7Prt5Cedl|b@R|!zDK$i% zAoc)a7<94TJUee)7{9wU0089HRshsYrxoF|Yg)s_S^(ec8gE0f0OL_7G@dJ4F4iYe zz8U7ntmADNY5jof*3D z1S0|Rl}-3w2IXRXLZ75@WH^5urV%54FK_d;@U&QpSO9KRzt@8AWy0)FvS?{v65Ocx zy}p-0zt=*)*IFq55LZp4FlV%P3IN#HDIh5uBy2np;zq4E&k$b^@3UGA5%cPP?hQ#I z*ko1_MwpbtRt`jfXiY%a7J_@6jl&SYq5!~!hs=u&X`p}ImhpgP0SM_48J!y>)%i)- zG@NiEz&uEtcmSii-i49#SZXTFJ>ziuAlADYj#;J%OZy=TlJgEv*_qzbJmE@;p_z$_ z<DQ19^5a7 z?dMNkM*81ioDN7e_H+mNx^{ETwt+D00000NkvXX Hu0mjfQ#*(r literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_4.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_4.png new file mode 100644 index 0000000000000000000000000000000000000000..eef65d98e8065647db3b413a899b7f418c20bf19 GIT binary patch literal 865 zcmV-n1D^beP)Px&8%ab#RCt{2n!j(;KorNnB@Epoc?c>=ER__oBpX}vKU7iv0Hngu0SQ$M%nT?h zLZSm8_yeM-|AV`+wF@EvDL<&l5XpO%$_(YXXV-D>e0NR)?;}OZ>Fo1+U%z{I?-GDv z7=~dOhG7_nVHk#C7=~f~8#YV~QZ3g56XU2dnw)FfuRTDuTn|nTrYP=i!ExKV!$sIE z9%Alyuvt6=fXH_Ma4QXM5$@`l7-cr>nj8+!-!UCwd?)RO3@E858|oh)|IB91Ej<0Y zEp?qrR7hV~E!TtL_zZKu1K{dy_@@`xJ1zkLP7bC3fa30!?2uYCTbBR;uU81C9!(FG zsUbB5lAISwa^7@45Sb0T@Op(%1hR*w$8dZGx6%k?L{QEFvtc)UFi=XohMb=byP1R# zlU`EWaoeHO*R}v&PyKn)0?hqR=)9_1!C5xRY63wrP-PJ?Be=-LEi&p?*87o1q`+y|J#fp&-kGe(HVjn<-6QExN#eW>Nu{s#v3e!?&3zb4g z1}m!o6)kp1FN9RlQgT^;jEJKX5!w+@+j)dir5v`ue0Uw{fAZ{Aq;0z2tu)jOj-f5U zp#Lq}{`EW3o{lHh`fK;^sTrF9AB!*BfMugS1>SyskB1McVf*?1%SivbPj4b^ll@}u r$qGk+i9x>q7=_>CNm1;x(XY!Nw8)Py`Oa#500000NkvXXu0mjfg`|4B literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_5.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_5.png new file mode 100644 index 0000000000000000000000000000000000000000..6e67748223af76ed84f5d4ed38fea2ffb1e42f4a GIT binary patch literal 913 zcmV;C18)3@P)Px&OG!jQRCt{2nlWz^F%-xD5QgrNZU`z#PJ#qj60xu~-=T^kWkmvp4oIkCU}iuO z2#F4WU`47<{SMcSB`OP{1u0Fb$WZC_EYUF(Uv0;^*s*<=f`3w^bA0hV|L^&o-@5<~ zhr{7;I2;a#!{Kl^91e%$f8vUXL8|3OY+@W$j!(X7+pj%9wcLpJw#F!Kti$s=y2CN7 z6}K^odRQxN0|0Xj0Dh&ZEy6XGlNa6Tv*E6eEi-t3$MmT2J?DpI9w7;^F83 zlc<*%6YZa3bEhcWrtPb(U+Su--SUT@jT)kDxM+b0iwzC>}`z!0L6`U0CkyR zl?kciR(qNp6MKkv3`Ym>E6rF&1f?ZFE_QM8^SjSZ{v6ZsfVUwG3TU;bj1Xb4t9)H) z0VYu|nLMqmXblo0&W7p+0bqijsO|Zk1oJ?3;wtA`^8g#<8Ut1V8%y9)319=O z0+`MXY@j57=XVeW1ysw8n0!R%C0kQ!L!=`H|696E+d}6BvPcU+PioNbA`A-27Ffn; z**+2Ur1;;4K>>q)7lVG65nL9fY%mN8%y-fLDF9$|rzFe=2qyLf{G?j#DR_J6KG|$g zshE&f51_q4B!WrirQrlC^?*f?$`FldA!v^?Q4RwP3IJSqNLp;rf!uXdlLrh7K#(nx zlFE^&(j&s;#0gdeNP~#O2QX6DurbLra!H0n&+9=SxO4Aw=C)+2HoY|X!YREBvh;$? zE+q5*V413}E-O_Ju#xR8A{PNxDM`vb2GpL`arEl&-;V(VQBFZn*~6P6w-_J}gxNm^ zGpz`v-F*N_tsz5`vfT=cCNIk2>DOH}mtreS-(}r80RR608~X#}*&x~M*ur$6v=RhK z-foBag^*>?QZldq2Jz^4gtiCN>UUA9l#}+ScQ2U!2algKZPWdJrKx5xhqeGmhu_%t zuis32JUX$~U%PQ#%~%2M%~0M3VD$Zr`dV?I#bPG5v2oyky!Y`{~%TEY1T= n4D$WQadONDMY_*Mzb=0OOH7%Rxajzp00000NkvXXu0mjfOLw0j literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_6.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_6.png new file mode 100644 index 0000000000000000000000000000000000000000..6e67748223af76ed84f5d4ed38fea2ffb1e42f4a GIT binary patch literal 913 zcmV;C18)3@P)Px&OG!jQRCt{2nlWz^F%-xD5QgrNZU`z#PJ#qj60xu~-=T^kWkmvp4oIkCU}iuO z2#F4WU`47<{SMcSB`OP{1u0Fb$WZC_EYUF(Uv0;^*s*<=f`3w^bA0hV|L^&o-@5<~ zhr{7;I2;a#!{Kl^91e%$f8vUXL8|3OY+@W$j!(X7+pj%9wcLpJw#F!Kti$s=y2CN7 z6}K^odRQxN0|0Xj0Dh&ZEy6XGlNa6Tv*E6eEi-t3$MmT2J?DpI9w7;^F83 zlc<*%6YZa3bEhcWrtPb(U+Su--SUT@jT)kDxM+b0iwzC>}`z!0L6`U0CkyR zl?kciR(qNp6MKkv3`Ym>E6rF&1f?ZFE_QM8^SjSZ{v6ZsfVUwG3TU;bj1Xb4t9)H) z0VYu|nLMqmXblo0&W7p+0bqijsO|Zk1oJ?3;wtA`^8g#<8Ut1V8%y9)319=O z0+`MXY@j57=XVeW1ysw8n0!R%C0kQ!L!=`H|696E+d}6BvPcU+PioNbA`A-27Ffn; z**+2Ur1;;4K>>q)7lVG65nL9fY%mN8%y-fLDF9$|rzFe=2qyLf{G?j#DR_J6KG|$g zshE&f51_q4B!WrirQrlC^?*f?$`FldA!v^?Q4RwP3IJSqNLp;rf!uXdlLrh7K#(nx zlFE^&(j&s;#0gdeNP~#O2QX6DurbLra!H0n&+9=SxO4Aw=C)+2HoY|X!YREBvh;$? zE+q5*V413}E-O_Ju#xR8A{PNxDM`vb2GpL`arEl&-;V(VQBFZn*~6P6w-_J}gxNm^ zGpz`v-F*N_tsz5`vfT=cCNIk2>DOH}mtreS-(}r80RR608~X#}*&x~M*ur$6v=RhK z-foBag^*>?QZldq2Jz^4gtiCN>UUA9l#}+ScQ2U!2algKZPWdJrKx5xhqeGmhu_%t zuis32JUX$~U%PQ#%~%2M%~0M3VD$Zr`dV?I#bPG5v2oyky!Y`{~%TEY1T= n4D$WQadONDMY_*Mzb=0OOH7%Rxajzp00000NkvXXu0mjfOLw0j literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_7.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_7.png new file mode 100644 index 0000000000000000000000000000000000000000..29a209013da49b4babfafcb79033b35ae82f73a2 GIT binary patch literal 944 zcmV;h15f;kP)Px&YDq*vRCt{2nmvpXK@`XThy^_f1?J=}y8^6CZ1OOyAHvklQr)9#TuE`qaYXL0N;NFJJ0!+qD+jv^pT&6U28b3pJ zJfInM4OnK}vzAJ=G__3cHVNY#>p(jAoCYy|(U_1(HXPsQZp##xSpc&Cd62PCw-CJd zoCbFcU}e+H0V?3x+pMgV04h9Tr36p` zR}4tyYp_fMl`7lmPvnqjQSe^n5PvJ^&GiU6`R zLlKr90}79dIC_3~_G17cmnlu%IRJs@6eo+N#Q^_6c*gU9u%{2q5~Qf#HHh>q;AgyF z6({JdzY=Ew`YDSRLfkJ%sK^hbABRb@qYBx9Qb`abg$p%!U&s(aNXccr9OXvDBZNJm zP`r+GHe%+&-`#%VXv^*odQplMVF8W~zd75#|2W#i@Gi}hjc>j7&o zfbbT0@$NOQUdh?*hxZ;k`d_|%=4i|8r(@5eXb+Gv$@d>U``R58={^Px&YDq*vRCt{2nmvpXK@`XThy^_f1?J=}y8^6CZ1OOyAHvklQr)9#TuE`qaYXL0N;NFJJ0!+qD+jv^pT&6U28b3pJ zJfInM4OnK}vzAJ=G__3cHVNY#>p(jAoCYy|(U_1(HXPsQZp##xSpc&Cd62PCw-CJd zoCbFcU}e+H0V?3x+pMgV04h9Tr36p` zR}4tyYp_fMl`7lmPvnqjQSe^n5PvJ^&GiU6`R zLlKr90}79dIC_3~_G17cmnlu%IRJs@6eo+N#Q^_6c*gU9u%{2q5~Qf#HHh>q;AgyF z6({JdzY=Ew`YDSRLfkJ%sK^hbABRb@qYBx9Qb`abg$p%!U&s(aNXccr9OXvDBZNJm zP`r+GHe%+&-`#%VXv^*odQplMVF8W~zd75#|2W#i@Gi}hjc>j7&o zfbbT0@$NOQUdh?*hxZ;k`d_|%=4i|8r(@5eXb+Gv$@d>U``R58={^", + "Object.Behavior::FreeAreaRight()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "", + "=", + "Object.Behavior::FreeAreaRight()\n+ (CameraX(Object.Layer(), 0) - Object.Behavior::FreeAreaRight())\n* exp(TimeDelta() * Object.Behavior::PropertyLogLeftwardSpeed())", + "Object.Layer()", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraX" + }, + "parameters": [ + "", + "<", + "Object.Behavior::PropertyOldX() - Object.Behavior::PropertyLeftwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "", + "=", + "Object.Behavior::PropertyOldX() - Object.Behavior::PropertyLeftwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraX" + }, + "parameters": [ + "", + "<", + "Object.Behavior::FreeAreaLeft()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "", + "=", + "Object.Behavior::FreeAreaLeft()\n+ (CameraX(Object.Layer(), 0) - Object.Behavior::FreeAreaLeft())\n* exp(TimeDelta() * Object.Behavior::PropertyLogRightwardSpeed())", + "Object.Layer()", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraX" + }, + "parameters": [ + "", + ">", + "Object.Behavior::PropertyOldX() + Object.Behavior::PropertyRightwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraX" + }, + "parameters": [ + "", + "=", + "Object.Behavior::PropertyOldX() + Object.Behavior::PropertyRightwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyFollowOnY" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyOldY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "CameraY(Object.Layer(), 0)" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraY" + }, + "parameters": [ + "", + ">", + "Object.Behavior::FreeAreaBottom()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "", + "=", + "Object.Behavior::FreeAreaBottom()\n+ (CameraY(Object.Layer(), 0) - Object.Behavior::FreeAreaBottom())\n* exp(TimeDelta() * Object.Behavior::PropertyLogUpwardSpeed())", + "Object.Layer()", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraY" + }, + "parameters": [ + "", + "<", + "Object.Behavior::PropertyOldY() - Object.Behavior::PropertyUpwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "", + "=", + "Object.Behavior::PropertyOldY() - Object.Behavior::PropertyUpwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraY" + }, + "parameters": [ + "", + "<", + "Object.Behavior::FreeAreaTop()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "", + "=", + "Object.Behavior::FreeAreaTop()\n+ (CameraY(Object.Layer(), 0) - Object.Behavior::FreeAreaTop())\n* exp(TimeDelta() * Object.Behavior::PropertyLogDownwardSpeed())", + "Object.Layer()", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CameraY" + }, + "parameters": [ + "", + ">", + "Object.Behavior::PropertyOldY() + Object.Behavior::PropertyDownwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetCameraY" + }, + "parameters": [ + "", + "=", + "Object.Behavior::PropertyOldY() + Object.Behavior::PropertyDownwardSpeedMax() * TimeDelta()", + "Object.Layer()", + "0" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Delay the camera according to a maximum speed and catch up the delay.", + "fullName": "Wait and catch up", + "functionType": "Action", + "name": "WaitAndCatchUp", + "sentence": "Delay the camera of _PARAM0_ during: _PARAM2_ seconds according to the maximum speed _PARAM3_;_PARAM4_ seconds and catch up in _PARAM5_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Maybe the catch-up show be done in constant pixel speed instead of constant time speed." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingEnd" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "TimeFromStart() + GetArgumentAsNumber(\"WaitingDuration\")" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedXMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"WaitingSpeedXMax\")" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyWaitingSpeedYMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"WaitingSpeedYMax\")" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"CatchUpDuration\")" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Wait and catch up\"", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Waiting duration (in seconds)", + "name": "WaitingDuration", + "type": "expression" + }, + { + "description": "Waiting maximum camera target speed X", + "name": "WaitingSpeedXMax", + "type": "expression" + }, + { + "description": "Waiting maximum camera target speed Y", + "name": "WaitingSpeedYMax", + "type": "expression" + }, + { + "description": "Catch up duration (in seconds)", + "name": "CatchUpDuration", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Draw the targeted and actual camera position.", + "fullName": "Draw debug", + "functionType": "Action", + "name": "DrawDebug", + "sentence": "Draw targeted and actual camera position for _PARAM0_ on _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillOpacity" + }, + "parameters": [ + "ShapePainter", + "=", + "0" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Path used by the forecasting", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::OutlineColor" + }, + "parameters": [ + "ShapePainter", + "\"245;166;35\"" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::BeginFillPath" + }, + "parameters": [ + "ShapePainter", + "Object.Variable(__SmoothCamera.ForecastHistoryX[0])", + "Object.Variable(__SmoothCamera.ForecastHistoryY[0])" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::PathLineTo" + }, + "parameters": [ + "ShapePainter", + "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()])", + "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()])" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::EndFillPath" + }, + "parameters": [ + "ShapePainter" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Follow-free area.", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaLeft" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaRight" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaTop" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaBottom" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::OutlineColor" + }, + "parameters": [ + "ShapePainter", + "\"126;211;33\"" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::Rectangle" + }, + "parameters": [ + "ShapePainter", + "Object.Behavior::FreeAreaLeft() - 1", + "Object.Behavior::FreeAreaTop() - 1", + "Object.Behavior::FreeAreaRight() + 1", + "Object.Behavior::FreeAreaBottom() + 1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Linear regression vector used by the forecasting.", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::OutlineColor" + }, + "parameters": [ + "ShapePainter", + "\"208;2;27\"" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "ShapePainter", + "Object.Behavior::PropertyProjectedOldestX()", + "Object.Behavior::PropertyProjectedOldestY()", + "Object.Behavior::PropertyProjectedNewestX()", + "Object.Behavior::PropertyProjectedNewestY()", + "1" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Targeted and actual camera position", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Circle" + }, + "parameters": [ + "ShapePainter", + "Object.Behavior::PropertyForecastedX()", + "Object.Behavior::PropertyForecastedY()", + "3" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "ShapePainter", + "CameraX(Object.Layer(), 0)", + "CameraY(Object.Layer(), 0) - 4", + "CameraX(Object.Layer(), 0)", + "CameraY(Object.Layer(), 0) + 4", + "1" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::LineV2" + }, + "parameters": [ + "ShapePainter", + "CameraX(Object.Layer(), 0) - 4", + "CameraY(Object.Layer(), 0)", + "CameraX(Object.Layer(), 0) + 4", + "CameraY(Object.Layer(), 0)", + "1" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Shape painter", + "name": "ShapePainter", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Enable or disable the following on X axis.", + "fullName": "Follow on X", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetFollowOnX", + "sentence": "The camera follows _PARAM0_ on X axis: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"FollowOnX\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Follow on X axis", + "name": "FollowOnX", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Enable or disable the following on Y axis.", + "fullName": "Follow on Y", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetFollowOnY", + "sentence": "The camera follows _PARAM0_ on Y axis: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"FollowOnY\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Follow on Y axis", + "name": "FollowOnY", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera follow free area right border.", + "fullName": "Follow free area right border", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetFollowFreeAreaRight", + "sentence": "Change the camera follow free area right border of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"SetFollowFreeAreaRight\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Follow free area right border", + "name": "SetFollowFreeAreaRight", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera follow free area left border.", + "fullName": "Follow free area left border", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetFollowFreeAreaLeft", + "sentence": "Change the camera follow free area left border of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"SetFollowFreeAreaLeft\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Follow free area left border", + "name": "SetFollowFreeAreaLeft", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera follow free area top border.", + "fullName": "Follow free area top border", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetFollowFreeAreaTop", + "sentence": "Change the camera follow free area top border of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaTop" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"FollowFreeAreaTop\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Follow free area top border", + "name": "FollowFreeAreaTop", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera follow free area bottom border.", + "fullName": "Follow free area bottom border", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetFollowFreeAreaBottom", + "sentence": "Change the camera follow free area bottom border of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyFollowFreeAreaBottom" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"SetFollowFreeAreaBottom\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Follow free area bottom border", + "name": "SetFollowFreeAreaBottom", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera leftward maximum speed (in pixels per second).", + "fullName": "Leftward maximum speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetLeftwardSpeedMax", + "sentence": "Change the camera leftward maximum speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"Speed\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Leftward maximum speed (in ratio per second)", + "name": "Speed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera rightward maximum speed (in pixels per second).", + "fullName": "Rightward maximum speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetRightwardSpeedMax", + "sentence": "Change the camera rightward maximum speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"Speed\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Rightward maximum speed (in pixels per second)", + "name": "Speed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera upward maximum speed (in pixels per second).", + "fullName": "Upward maximum speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetUpwardSpeedMax", + "sentence": "Change the camera upward maximum speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeedMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"Speed\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Upward maximum speed (in pixels per second)", + "name": "Speed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera downward maximum speed (in pixels per second).", + "fullName": "Downward maximum speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetDownwardSpeedMax", + "sentence": "Change the camera downward maximum speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeedMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, GetArgumentAsNumber(\"Speed\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Downward maximum speed (in pixels per second)", + "name": "Speed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera leftward catch-up speed (in ratio per second).", + "fullName": "Leftward catch-up speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetLeftwardSpeed", + "sentence": "Change the camera leftward catch-up speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "clamp(0, 1, GetArgumentAsNumber(\"LeftwardSpeed\"))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLogLeftwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "log(1 - Object.Behavior::PropertyLeftwardSpeed())" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Leftward catch-up speed (in ratio per second)", + "name": "LeftwardSpeed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera rightward catch-up speed (in ratio per second).", + "fullName": "Rightward catch-up speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetRightwardSpeed", + "sentence": "Change the camera rightward catch-up speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyRightwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "clamp(0, 1, GetArgumentAsNumber(\"RightwardSpeed\"))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLogRightwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "log(1 - Object.Behavior::PropertyRightwardSpeed())" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Rightward catch-up speed (in ratio per second)", + "name": "RightwardSpeed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera downward catch-up speed (in ratio per second).", + "fullName": "Downward catch-up speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetDownwardSpeed", + "sentence": "Change the camera downward catch-up speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "clamp(0, 1, GetArgumentAsNumber(\"DownwardSpeed\"))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLogDownwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "log(1 - Object.Behavior::PropertyDownwardSpeed())" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Downward catch-up speed (in ratio per second)", + "name": "DownwardSpeed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera upward catch-up speed (in ratio per second).", + "fullName": "Upward catch-up speed", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetUpwardSpeed", + "sentence": "Change the camera upward catch-up speed of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "clamp(0, 1, GetArgumentAsNumber(\"UpwardSpeed\"))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyLogUpwardSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "log(1 - Object.Behavior::PropertyUpwardSpeed())" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Upward catch-up speed (in ratio per second)", + "name": "UpwardSpeed", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "the camera offset on X axis of the object. This is not the current difference between the object and the camera position.", + "fullName": "Camera offset X", + "functionType": "ExpressionAndCondition", + "group": "Camera configuration", + "name": "OffsetX", + "sentence": "the camera offset on X axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyCameraOffsetX()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "OffsetX", + "name": "SetOffsetXOp", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera offset on X axis of an object.", + "fullName": "Camera Offset X", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetOffsetX", + "private": true, + "sentence": "Change the camera offset on X axis of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Deprecated use SetOffsetXOp instead." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetOffsetXOp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"CameraOffsetX\")", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Camera offset X", + "name": "CameraOffsetX", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "the camera offset on Y axis of the object. This is not the current difference between the object and the camera position.", + "fullName": "Camera offset Y", + "functionType": "ExpressionAndCondition", + "group": "Camera configuration", + "name": "OffsetY", + "sentence": "the camera offset on Y axis", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyCameraOffsetY()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "OffsetY", + "name": "SetOffsetYOp", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Deprecated use SetOffsetYOp instead." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera offset on Y axis of an object.", + "fullName": "Camera Offset Y", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetOffsetY", + "private": true, + "sentence": "Change the camera offset on Y axis of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetOffsetYOp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"CameraOffsetY\")", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Camera offset Y", + "name": "CameraOffsetY", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera forecast time (in seconds).", + "fullName": "Forecast time", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetForecastTime", + "sentence": "Change the camera forecast time of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastTime" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(0, GetArgumentAsNumber(\"ForecastTime\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Forecast time", + "name": "ForecastTime", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the camera delay (in seconds).", + "fullName": "Camera delay", + "functionType": "Action", + "group": "Camera configuration", + "name": "SetCameraDelay", + "sentence": "Change the camera delay of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelay" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(0, GetArgumentAsNumber(\"CameraDelay\"))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Camera delay", + "name": "CameraDelay", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Return follow free area left border X.", + "fullName": "Free area left", + "functionType": "Expression", + "group": "Private", + "name": "FreeAreaLeft", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyForecastedX() + Object.Behavior::PropertyCameraOffsetX() - Object.Behavior::PropertyFollowFreeAreaLeft()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return follow free area right border X.", + "fullName": "Free area right", + "functionType": "Expression", + "group": "Private", + "name": "FreeAreaRight", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyForecastedX() + Object.Behavior::PropertyCameraOffsetX() + Object.Behavior::PropertyFollowFreeAreaRight()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return follow free area bottom border Y.", + "fullName": "Free area bottom", + "functionType": "Expression", + "group": "Private", + "name": "FreeAreaBottom", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyForecastedY() + Object.Behavior::PropertyCameraOffsetY() + Object.Behavior::PropertyFollowFreeAreaBottom()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return follow free area top border Y.", + "fullName": "Free area top", + "functionType": "Expression", + "group": "Private", + "name": "FreeAreaTop", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyForecastedY() + Object.Behavior::PropertyCameraOffsetY() - Object.Behavior::PropertyFollowFreeAreaTop()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Update delayed position and delayed history. This is called in doStepPreEvents.", + "fullName": "Update delayed position", + "functionType": "Action", + "group": "Private", + "name": "UpdateDelayedPosition", + "private": true, + "sentence": "Update delayed position and delayed history of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add the previous position to have enough (2) positions to evaluate the extra delay for waiting mode." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::IsWaiting" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.VariableChildCount(__SmoothCamera.ObjectTime)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime", + "TimeFromStart()" + ] + }, + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectX", + "Object.Behavior::PropertyDelayedCenterX()" + ] + }, + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectY", + "Object.Behavior::PropertyDelayedCenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Use the object center when no delay is asked." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.CenterX()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.CenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SmoothCamera::SmoothCamera::IsDelayed" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::AddForecastHistoryPosition" + }, + "parameters": [ + "Object", + "Behavior", + "TimeFromStart()", + "Object.CenterX()", + "Object.CenterY()", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::IsDelayed" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::IsWaiting" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime", + "TimeFromStart()" + ] + }, + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectX", + "Object.CenterX()" + ] + }, + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectY", + "Object.CenterY()" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Remove history entries that are too old to be useful for delaying and pass it to the history for forecasting." + }, + { + "infiniteLoopWarning": true, + "type": "BuiltinCommonInstructions::While", + "whileConditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.VariableChildCount(__SmoothCamera.ObjectTime)", + ">=", + "2" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime[1]", + "<", + "TimeFromStart() - Object.Behavior::CurrentDelay()" + ] + } + ], + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::AddForecastHistoryPosition" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Variable(__SmoothCamera.ObjectTime[0])", + "Object.Variable(__SmoothCamera.ObjectX[0])", + "Object.Variable(__SmoothCamera.ObjectY[0])", + "" + ] + }, + { + "type": { + "value": "ObjectVariableRemoveAt" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime", + "0" + ] + }, + { + "type": { + "value": "ObjectVariableRemoveAt" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectX", + "0" + ] + }, + { + "type": { + "value": "ObjectVariableRemoveAt" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectY", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Don't move the camera if there is not enough history." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Variable(__SmoothCamera.ObjectX[0])" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Variable(__SmoothCamera.ObjectY[0])" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.VariableChildCount(__SmoothCamera.ObjectTime)", + ">=", + "2" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime[0]", + "<", + "TimeFromStart() - Object.Behavior::CurrentDelay()" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add the extra delay that could be needed to respect the speed limit in waiting mode.\n\nspeedRatio = min(speedMaxX / historySpeedX, speedMaxY / historySpeedY)\ndelay += min(0, timeDelta * (1 - speedRatio))" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::IsWaiting" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "max(0, TimeDelta() * (1 - min(Object.Behavior::PropertyWaitingSpeedXMax() * abs(Object.Variable(__SmoothCamera.ObjectX[1]) - Object.Variable(__SmoothCamera.ObjectX[0])), Object.Behavior::PropertyWaitingSpeedYMax() * abs(Object.Variable(__SmoothCamera.ObjectY[1]) - Object.Variable(__SmoothCamera.ObjectY[0]))) / (Object.Variable(__SmoothCamera.ObjectTime[1]) - Object.Variable(__SmoothCamera.ObjectTime[0]))))" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Extra delay: \" + ToString(Object.Behavior::PropertyCameraExtraDelay())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The time with delay is now between the first 2 indexes" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "lerp(Object.Variable(__SmoothCamera.ObjectX[1]), Object.Variable(__SmoothCamera.ObjectX[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyDelayedCenterY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "lerp(Object.Variable(__SmoothCamera.ObjectY[1]), Object.Variable(__SmoothCamera.ObjectY[0]), ((TimeFromStart() - Object.Behavior::CurrentDelay()) - Object.Variable(__SmoothCamera.ObjectTime[1])) / (Object.Variable(__SmoothCamera.ObjectTime[0]) - Object.Variable(__SmoothCamera.ObjectTime[1])))" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SmoothCamera::SmoothCamera::IsDelayed" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "SmoothCamera::SmoothCamera::IsWaiting" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ObjectVariableClearChildren" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime" + ] + }, + { + "type": { + "value": "ObjectVariableClearChildren" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectX" + ] + }, + { + "type": { + "value": "ObjectVariableClearChildren" + }, + "parameters": [ + "Object", + "__SmoothCamera.ObjectY" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SmoothCamera::SmoothCamera::IsWaiting" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelayCatchUpSpeed" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyCameraExtraDelay() / Object.Behavior::PropertyCameraDelayCatchUpDuration()" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Start to catch up\"", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SmoothCamera::SmoothCamera::IsWaiting" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyCameraExtraDelay" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyCameraExtraDelay" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Object.Behavior::PropertyCameraExtraDelay() -Object.Behavior::PropertyCameraDelayCatchUpSpeed() * TimeDelta())" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Catching up delay: \" + ToString(Object.Behavior::PropertyCameraExtraDelay())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the camera following target is delayed from the object.", + "fullName": "Camera is delayed", + "functionType": "Condition", + "name": "IsDelayed", + "private": true, + "sentence": "The camera of _PARAM0_ is delayed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::CurrentDelay()", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the current camera delay.", + "fullName": "Current delay", + "functionType": "Expression", + "name": "CurrentDelay", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyCameraDelay() + Object.Behavior::PropertyCameraExtraDelay()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the camera following is waiting at a reduced speed.", + "fullName": "Camera is waiting", + "functionType": "Condition", + "name": "IsWaiting", + "private": true, + "sentence": "The camera of _PARAM0_ is waiting", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyWaitingEnd" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "TimeFromStart()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Add a position to the history for forecasting. This is called 2 times in UpadteDelayedPosition.", + "fullName": "Add forecast history position", + "functionType": "Action", + "group": "Private", + "name": "AddForecastHistoryPosition", + "private": true, + "sentence": "Add the time:_PARAM2_ and position: _PARAM3_; _PARAM4_ to the forecast history of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryTime", + "GetArgumentAsNumber(\"Time\")" + ] + }, + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryX", + "GetArgumentAsNumber(\"ObjectX\")" + ] + }, + { + "type": { + "value": "ObjectVariablePushNumber" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryY", + "GetArgumentAsNumber(\"ObjectY\")" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Remove history entries that are too old to be useful.\nKeep at least 2 positions because no forecast can be done with less positions." + }, + { + "infiniteLoopWarning": true, + "type": "BuiltinCommonInstructions::While", + "whileConditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)", + ">=", + "3" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryTime[0]", + "<", + "TimeFromStart() - Object.Behavior::PropertyCameraDelay() - Object.Behavior::PropertyCameraExtraDelay() - Object.Behavior::PropertyForecastHistoryDuration()" + ] + } + ], + "conditions": [], + "actions": [ + { + "type": { + "value": "ObjectVariableRemoveAt" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryTime", + "0" + ] + }, + { + "type": { + "value": "ObjectVariableRemoveAt" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryX", + "0" + ] + }, + { + "type": { + "value": "ObjectVariableRemoveAt" + }, + "parameters": [ + "Object", + "__SmoothCamera.ForecastHistoryY", + "0" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "Time", + "name": "Time", + "type": "expression" + }, + { + "description": "Object X", + "name": "ObjectX", + "type": "expression" + }, + { + "description": "Object Y", + "name": "ObjectY", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Update forecasted position. This is called in doStepPreEvents.", + "fullName": "Update forecasted position", + "functionType": "Action", + "group": "Private", + "name": "UpdateForecastedPosition", + "private": true, + "sentence": "Update forecasted position of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyDelayedCenterX()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyDelayedCenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Simple linear regression\ny = A * x + B\n\nA = Covariance / VarianceX\nB = MeanY - A * MeanX\n\nNote than we could use only one position every N positions to reduce the process time,\nbut if we really need efficient process JavaScript and circular queues are a must." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime)", + ">=", + "2" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Mean X", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()])" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" + }, + "parameters": [ + "Object", + "Behavior", + "/", + "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Mean Y", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()])" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" + }, + "parameters": [ + "Object", + "Behavior", + "/", + "Object.VariableChildCount(__SmoothCamera.ForecastHistoryY)" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Mean: \" + ToString(Object.Behavior::PropertyForecastHistoryMeanX()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryMeanY())", + "", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Variance and Covariance", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "VarianceX = sum((X[i] - MeanX)²)\nVarianceY = sum((Y[i] - MeanY)²)\nCovariance = sum((X[i] - MeanX) * (Y[i] - MeanY))" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "Object.VariableChildCount(__SmoothCamera.ForecastHistoryX)", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "pow(Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanX(), 2)" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "pow(Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanY(), 2)" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "(Object.Variable(__SmoothCamera.ForecastHistoryX[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanX())\n*\n(Object.Variable(__SmoothCamera.ForecastHistoryY[Object.Behavior::PropertyIndex()]) - Object.Behavior::PropertyForecastHistoryMeanY())" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Variances: \" + ToString(Object.Behavior::PropertyForecastHistoryVarianceX()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryVarianceY()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryCovariance())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyForecastHistoryVarianceX())", + "<", + "1" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyForecastHistoryVarianceY())", + "<", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyDelayedCenterX()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyDelayedCenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyForecastHistoryVarianceX())", + ">=", + "1" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyForecastHistoryVarianceY())", + ">=", + "1" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Linear function parameters", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "y = A * x + B\n\nA = Covariance / VarianceX\nB = MeanY - A * MeanX" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyForecastHistoryVarianceX())", + ">=", + "abs(Object.Behavior::PropertyForecastHistoryVarianceY())" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyForecastHistoryCovariance() / Object.Behavior::PropertyForecastHistoryVarianceX()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyForecastHistoryMeanY() - Object.Behavior::PropertyForecastHistoryLinearA() * Object.Behavior::PropertyForecastHistoryMeanX()" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Linear: \" + ToString(Object.Behavior::PropertyForecastHistoryLinearA()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryLinearB())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Projection", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::ProjectHistoryEnds" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Variable(__SmoothCamera.ForecastHistoryX[0])", + "Object.Variable(__SmoothCamera.ForecastHistoryY[0])", + "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.VariableChildCount(__SmoothCamera.ForecastHistoryX) - 1])", + "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.VariableChildCount(__SmoothCamera.ForecastHistoryY) - 1])", + "" + ] + } + ] + } + ], + "parameters": [] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Axis permutation to avoid a ratio between 2 numbers near 0." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyForecastHistoryVarianceX())", + "<", + "abs(Object.Behavior::PropertyForecastHistoryVarianceY())" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearA" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyForecastHistoryCovariance() / Object.Behavior::PropertyForecastHistoryVarianceY()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryLinearB" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyForecastHistoryMeanX() - Object.Behavior::PropertyForecastHistoryLinearA() * Object.Behavior::PropertyForecastHistoryMeanY()" + ] + } + ], + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Linear: \" + ToString(Object.Behavior::PropertyForecastHistoryLinearA()) + \" \" + ToString(Object.Behavior::PropertyForecastHistoryLinearB())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Projection", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::ProjectHistoryEnds" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Variable(__SmoothCamera.ForecastHistoryY[0])", + "Object.Variable(__SmoothCamera.ForecastHistoryX[0])", + "Object.Variable(__SmoothCamera.ForecastHistoryY[Object.VariableChildCount(__SmoothCamera.ForecastHistoryY) - 1])", + "Object.Variable(__SmoothCamera.ForecastHistoryX[Object.VariableChildCount(__SmoothCamera.ForecastHistoryX) - 1])", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Permute back axis" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyProjectedOldestX()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyProjectedOldestY()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyIndex()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyProjectedNewestX()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyProjectedNewestY()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyIndex()" + ] + } + ] + } + ], + "parameters": [] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Oldest: \" + ToString(Object.Behavior::PropertyProjectedOldestX()) + \" \" + ToString(Object.Behavior::PropertyProjectedOldestY())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Newest: \" + ToString(Object.Behavior::PropertyProjectedNewestX()) + \" \" + ToString(Object.Behavior::PropertyProjectedNewestY())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Forecasted position", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyProjectedNewestX() + ( Object.Behavior::PropertyProjectedNewestX() - Object.Behavior::PropertyProjectedOldestX()) * Object.Behavior::ForecastTimeRatio()" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyForecastedY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyProjectedNewestY() + ( Object.Behavior::PropertyProjectedNewestY() - Object.Behavior::PropertyProjectedOldestY()) * Object.Behavior::ForecastTimeRatio()" + ] + } + ] + }, + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Forecasted: \" + ToString(Object.Behavior::PropertyForecastedX()) + \" \" + ToString(Object.Behavior::PropertyForecastedY())", + "\"info\"", + "\"SmoothCamera\"" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Project history ends position to have the vector on the line from linear regression. This function is only called by UpdateForecastedPosition.", + "fullName": "Project history ends", + "functionType": "Action", + "group": "Private", + "name": "ProjectHistoryEnds", + "private": true, + "sentence": "Project history oldest: _PARAM2_;_PARAM3_ and newest position: _PARAM4_;_PARAM5_ of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Perpendicular line:\npA = -1/a; \npB = -pA * x + y\n\nIntersection:\n/ ProjectedY = a * ProjectedX + b\n\\ ProjectedY = pA * ProjectedX + b\n\nSolution that is cleaned out from indeterminism (like 0 / 0 or infinity / infinity):\nProjectedX= (x + (y - b) * a) / (a² + 1)\nProjectedY = y + (x * a - y + b) / (a² + 1)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "(GetArgumentAsNumber(\"NewestX\") + (GetArgumentAsNumber(\"NewestY\") - Object.Behavior::PropertyForecastHistoryLinearB()) * Object.Behavior::PropertyForecastHistoryLinearA()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedNewestY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"NewestY\") + (GetArgumentAsNumber(\"NewestX\") * Object.Behavior::PropertyForecastHistoryLinearA() - GetArgumentAsNumber(\"NewestY\") \n+ Object.Behavior::PropertyForecastHistoryLinearB()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "(GetArgumentAsNumber(\"OldestX\") + (GetArgumentAsNumber(\"OldestY\") - Object.Behavior::PropertyForecastHistoryLinearB()) * Object.Behavior::PropertyForecastHistoryLinearA()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetPropertyProjectedOldestY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"OldestY\") + (GetArgumentAsNumber(\"OldestX\") * Object.Behavior::PropertyForecastHistoryLinearA() - GetArgumentAsNumber(\"OldestY\") \n+ Object.Behavior::PropertyForecastHistoryLinearB()) / (1 + pow(Object.Behavior::PropertyForecastHistoryLinearA(), 2))" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + }, + { + "description": "OldestX", + "name": "OldestX", + "type": "expression" + }, + { + "description": "OldestY", + "name": "OldestY", + "type": "expression" + }, + { + "description": "Newest X", + "name": "NewestX", + "type": "expression" + }, + { + "description": "Newest Y", + "name": "NewestY", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Return the ratio between forecast time and the duration of the history. This function is only called by UpdateForecastedPosition.", + "fullName": "Forecast time ratio", + "functionType": "Expression", + "group": "Private", + "name": "ForecastTimeRatio", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "- Object.Behavior::PropertyForecastTime() / (Object.Variable(__SmoothCamera.ForecastHistoryTime[0]) - Object.Variable(__SmoothCamera.ForecastHistoryTime[Object.VariableChildCount(__SmoothCamera.ForecastHistoryTime) - 1]))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothCamera", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0.9", + "type": "Number", + "label": "Leftward catch-up speed (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "LeftwardSpeed" + }, + { + "value": "0.9", + "type": "Number", + "label": "Rightward catch-up speed (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "RightwardSpeed" + }, + { + "value": "0.9", + "type": "Number", + "label": "Upward catch-up speed (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "UpwardSpeed" + }, + { + "value": "0.9", + "type": "Number", + "label": "Downward catch-up speed (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "DownwardSpeed" + }, + { + "value": "true", + "type": "Boolean", + "label": "Follow on X axis", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "FollowOnX" + }, + { + "value": "true", + "type": "Boolean", + "label": "Follow on Y axis", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "FollowOnY" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area left border", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "FollowFreeAreaLeft" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area right border", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "FollowFreeAreaRight" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area top border", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "FollowFreeAreaTop" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area bottom border", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "FollowFreeAreaBottom" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Camera offset X", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "CameraOffsetX" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Camera offset Y", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "CameraOffsetY" + }, + { + "value": "0", + "type": "Number", + "unit": "Second", + "label": "Camera delay", + "description": "", + "group": "Timing", + "extraInformation": [], + "hidden": false, + "name": "CameraDelay" + }, + { + "value": "0", + "type": "Number", + "unit": "Second", + "label": "Forecast time", + "description": "", + "group": "Timing", + "extraInformation": [], + "hidden": false, + "name": "ForecastTime" + }, + { + "value": "0", + "type": "Number", + "unit": "Second", + "label": "Forecast history duration", + "description": "", + "group": "Timing", + "extraInformation": [], + "hidden": false, + "name": "ForecastHistoryDuration" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "LogLeftwardSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "LogRightwardSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "LogDownwardSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "LogUpwardSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "DelayedCenterX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "DelayedCenterY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryMeanX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryMeanY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryVarianceX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryCovariance" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryLinearA" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryLinearB" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastedX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastedY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ProjectedNewestX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ProjectedNewestY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ProjectedOldestX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ProjectedOldestY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ForecastHistoryVarianceY" + }, + { + "value": "", + "type": "Number", + "label": "Index (local variable)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Index" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CameraDelayCatchUpSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CameraExtraDelay" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "WaitingSpeedXMax" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "WaitingSpeedYMax" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "WaitingEnd" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CameraDelayCatchUpDuration" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Leftward maximum speed", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "LeftwardSpeedMax" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Rightward maximum speed", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "RightwardSpeedMax" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Upward maximum speed", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "UpwardSpeedMax" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Downward maximum speed", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "DownwardSpeedMax" + }, + { + "value": "", + "type": "Number", + "label": "OldX (local variable)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "OldX" + }, + { + "value": "", + "type": "Number", + "label": "OldY (local variable)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "OldY" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsCalledManually" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Smoothly scroll to follow a character and stabilize the camera when jumping.", + "fullName": "Smooth platformer camera", + "name": "SmoothPlatformerCamera", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::IsJumping" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + }, + { + "type": { + "inverted": true, + "value": "PlatformBehavior::IsFalling" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyFloorFollowFreeAreaTop()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaTop" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyFloorFollowFreeAreaBottom()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyFloorUpwardSpeed()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyFloorDownwardSpeed()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetUpwardSpeedMax" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyFloorUpwardSpeedMax()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetDownwardSpeedMax" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyFloorDownwardSpeedMax()", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "PlatformBehavior::IsJumping" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + }, + { + "type": { + "value": "PlatformBehavior::IsFalling" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaBottom" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyAirFollowFreeAreaTop()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetFollowFreeAreaTop" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyAirFollowFreeAreaBottom()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetUpwardSpeed" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyAirUpwardSpeed()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetDownwardSpeed" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyAirDownwardSpeed()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetUpwardSpeedMax" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyAirUpwardSpeedMax()", + "" + ] + }, + { + "type": { + "value": "SmoothCamera::SmoothCamera::SetDownwardSpeedMax" + }, + "parameters": [ + "Object", + "SmoothCamera", + "Object.Behavior::PropertyAirDownwardSpeedMax()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "SmoothCamera::SmoothPlatformerCamera", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Platformer character behavior", + "description": "", + "group": "", + "extraInformation": [ + "PlatformBehavior::PlatformerObjectBehavior" + ], + "hidden": false, + "name": "PlatformerCharacter" + }, + { + "value": "", + "type": "Behavior", + "label": "Smooth camera behavior", + "description": "", + "group": "", + "extraInformation": [ + "SmoothCamera::SmoothCamera" + ], + "hidden": false, + "name": "SmoothCamera" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "JumpOriginY" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area top in the air", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "AirFollowFreeAreaTop" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area bottom in the air", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "AirFollowFreeAreaBottom" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area top on the floor", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "FloorFollowFreeAreaTop" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Follow free area bottom on the floor", + "description": "", + "group": "Position", + "extraInformation": [], + "hidden": false, + "name": "FloorFollowFreeAreaBottom" + }, + { + "value": "0.95", + "type": "Number", + "label": "Upward speed in the air (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "AirUpwardSpeed" + }, + { + "value": "0.95", + "type": "Number", + "label": "Downward speed in the air (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "AirDownwardSpeed" + }, + { + "value": "0.9", + "type": "Number", + "label": "Upward speed on the floor (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "FloorUpwardSpeed" + }, + { + "value": "0.9", + "type": "Number", + "label": "Downward speed on the floor (in ratio per second)", + "description": "", + "group": "Catch-up speed", + "extraInformation": [], + "hidden": false, + "name": "FloorDownwardSpeed" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Upward maximum speed in the air", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "AirUpwardSpeedMax" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Downward maximum speed in the air", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "AirDownwardSpeedMax" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Upward maximum speed on the floor", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "FloorUpwardSpeedMax" + }, + { + "value": "9000", + "type": "Number", + "unit": "PixelSpeed", + "label": "Downward maximum speed on the floor", + "description": "", + "group": "Maximum speed", + "extraInformation": [], + "hidden": false, + "name": "FloorDownwardSpeedMax" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "Bouh", + "category": "Input", + "extensionNamespace": "", + "fullName": "Gamepads (controllers)", + "helpPath": "/all-features/gamepad", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWdhbWVwYWQtdmFyaWFudC1vdXRsaW5lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTYsOUg4VjExSDEwVjEzSDhWMTVINlYxM0g0VjExSDZWOU0xOC41LDlBMS41LDEuNSAwIDAsMSAyMCwxMC41QTEuNSwxLjUgMCAwLDEgMTguNSwxMkExLjUsMS41IDAgMCwxIDE3LDEwLjVBMS41LDEuNSAwIDAsMSAxOC41LDlNMTUuNSwxMkExLjUsMS41IDAgMCwxIDE3LDEzLjVBMS41LDEuNSAwIDAsMSAxNS41LDE1QTEuNSwxLjUgMCAwLDEgMTQsMTMuNUExLjUsMS41IDAgMCwxIDE1LjUsMTJNMTcsNUE3LDcgMCAwLDEgMjQsMTJBNyw3IDAgMCwxIDE3LDE5QzE1LjA0LDE5IDEzLjI3LDE4LjIgMTIsMTYuOUMxMC43MywxOC4yIDguOTYsMTkgNywxOUE3LDcgMCAwLDEgMCwxMkE3LDcgMCAwLDEgNyw1SDE3TTcsN0E1LDUgMCAwLDAgMiwxMkE1LDUgMCAwLDAgNywxN0M4LjY0LDE3IDEwLjA5LDE2LjIxIDExLDE1SDEzQzEzLjkxLDE2LjIxIDE1LjM2LDE3IDE3LDE3QTUsNSAwIDAsMCAyMiwxMkE1LDUgMCAwLDAgMTcsN0g3WiIgLz48L3N2Zz4=", + "name": "Gamepads", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/gamepad-variant-outline.svg", + "shortDescription": "Add support for gamepads (or other controllers) to your game, giving access to information such as button presses, axis positions, trigger pressure, etc...", + "version": "0.6.1", + "description": [ + "Add support for gamepads (or other controllers).", + "", + "It gives access to:", + "- button presses", + "- axis positions and force", + "- trigger pressure", + "- configurable deadzone", + "- vibration", + "- automatic mappers for platformer characters and top-down movement", + "", + "The Bomberman-like example handles 4 players with gamepads ([open the project online](https://editor.gdevelop.io/?project=example://goose-bomberman))." + ], + "origin": { + "identifier": "Gamepads", + "name": "gdevelop-extension-store" + }, + "tags": [ + "controllers", + "gamepads", + "joysticks", + "axis", + "xbox", + "ps4" + ], + "authorIds": [ + "2OwwM8ToR9dx9RJ2sAKTcrLmCB92", + "taRwmWxwAFYFL9yyBwB3cwBw0BO2", + "mnImQKdn8nQxwzkS5D6a1JB27V23" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Get the value of the pressure on a gamepad trigger.", + "fullName": "Pressure on a gamepad trigger", + "functionType": "Expression", + "name": "TriggerPressure", + "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const trigger = eventsFunctionContext.getArgument(\"trigger\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in expression: \"Pressure on a gamepad trigger\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "if (trigger != \"LT\" && trigger != \"RT\" && trigger != \"L2\" && trigger != \"R2\") {\r", + " console.error('Parameter trigger is not valid in expression: \"Pressure on a gamepad trigger\"');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "switch (trigger) {\r", + " case 'LT':\r", + " case 'L2':\r", + " eventsFunctionContext.returnValue = gamepad.buttons[6].value;\r", + " break;\r", + "\r", + " case 'RT':\r", + " case 'R2':\r", + " eventsFunctionContext.returnValue = gamepad.buttons[7].value;\r", + " break;\r", + "\r", + " default:\r", + " eventsFunctionContext.returnValue = -1;\r", + " break;\r", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Trigger button", + "name": "trigger", + "supplementaryInformation": "[\"LT\",\"RT\",\"L2\",\"R2\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "the force of gamepad stick (from 0 to 1).", + "fullName": "Stick force", + "functionType": "ExpressionAndCondition", + "name": "StickForce", + "sentence": "the gamepad _PARAM1_ _PARAM2_ stick force", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r", + "\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a stick force\"');\r", + " return;\r", + "}\r", + "\r", + "if (stick !== \"LEFT\" && stick !== \"RIGHT\") {\r", + " console.error('Parameter stick is not valid in expression: \"Value of a stick force\"');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "\r", + "switch (stick) {\r", + " case 'LEFT':\r", + " eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId)), 0, 1);\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId)), 0, 1);\r", + " break;\r", + "\r", + " default:\r", + " eventsFunctionContext.returnValue = -1;\r", + " break;\r", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Get the rotation value of a gamepad stick.\nIf the deadzone value is high, the angle value is rounded to main axes, left, left, up, down.\nAn zero deadzone value give a total freedom on the angle value.", + "fullName": "Value of a stick rotation (deprecated)", + "functionType": "Expression", + "name": "StickRotationValue", + "private": true, + "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Gamepads::StickAngle(GetArgumentAsNumber(\"player_ID\"), GetArgumentAsString(\"stick\"))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the angle of a gamepad stick.\nIf the deadzone value is high, the angle value is rounded to main axes, left, left, up, down.\nAn zero deadzone value give a total freedom on the angle value.", + "fullName": "Stick angle", + "functionType": "Expression", + "name": "StickAngle", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r", + "\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a stick rotation\"');\r", + " return;\r", + "}\r", + "if (stick !== \"LEFT\" && stick !== \"RIGHT\") {\r", + " console.error('Parameter stick is not valid in expression: \"Value of a stick rotation\"');\r", + " return;\r", + "}\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "switch (stick) {\r", + " case 'LEFT':\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.axisToAngle(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId), gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId));\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.axisToAngle(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId), gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId));\r", + " break;\r", + "\r", + " default:\r", + " eventsFunctionContext.returnValue = -1;\r", + " break;\r", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Get the value of axis of a gamepad stick.", + "fullName": "Value of a gamepad axis (deprecated)", + "functionType": "Expression", + "name": "AxisValue", + "private": true, + "sentence": "Player _PARAM1_ push axis _PARAM2_ to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r", + "const direction = eventsFunctionContext.getArgument(\"direction\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "if (stick != \"LEFT\" && stick != \"RIGHT\") {\r", + " console.error('Parameter stick is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "if (direction != \"UP\" && direction != \"DOWN\" && direction != \"LEFT\" && direction != \"RIGHT\" && direction != \"HORIZONTAL\" && direction != \"VERTICAL\") {\r", + " console.error('Parameter direction is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "let parameterError = false;\r", + "switch (stick) {\r", + " case 'LEFT':\r", + " switch (direction) {\r", + " case 'LEFT':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId);\r", + " }\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId);\r", + " }\r", + " break;\r", + "\r", + " case 'UP':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId);\r", + " }\r", + " break;\r", + "\r", + " case 'DOWN':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId);\r", + " }\r", + " break;\r", + "\r", + " case \"HORIZONTAL\":\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId);\r", + " break;\r", + "\r", + " case \"VERTICAL\":\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId);\r", + " break;\r", + "\r", + " default:\r", + " break;\r", + " }\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " switch (direction) {\r", + " case 'LEFT':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId);\r", + " }\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId);\r", + " }\r", + " break;\r", + "\r", + " case 'UP':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = -gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId);\r", + " }\r", + " break;\r", + "\r", + " case 'DOWN':\r", + " if (gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId);\r", + " }\r", + " break;\r", + "\r", + " case \"HORIZONTAL\":\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId);\r", + " break;\r", + "\r", + " case \"VERTICAL\":\r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId);\r", + " break;\r", + "\r", + " default:\r", + " break;\r", + " }\r", + " break;\r", + "\r", + " default:\r", + " break;\r", + "}\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + }, + { + "description": "Direction", + "name": "direction", + "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"Horizontal\",\"Vertical\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the gamepad stick force on X axis (from -1 at the left to 1 at the right).", + "fullName": "Stick X force", + "functionType": "Expression", + "name": "StickForceX", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"Gamepad\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"Stick\").toLowerCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "if (stick != \"left\" && stick != \"right\") {\r", + " console.error('Parameter stick is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "const axisIndex = stick === 'right' ? 2 : 0;\r", + "eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[axisIndex], playerId);\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Gamepad", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "Stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the gamepad stick force on Y axis (from -1 at the top to 1 at the bottom).", + "fullName": "Stick Y force", + "functionType": "Expression", + "name": "StickForceY", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"Gamepad\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"Stick\").toLowerCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "if (stick != \"left\" && stick != \"right\") {\r", + " console.error('Parameter stick is not valid in expression: \"Value of a gamepad axis\"');\r", + " return;\r", + "}\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "const axisIndex = stick === 'right' ? 3 : 1;\r", + "eventsFunctionContext.returnValue = gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[axisIndex], playerId);\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Gamepad", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "Stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Test if a button is released on a gamepad. Buttons can be:\n* Xbox: \"A\", \"B\", \"X\", \"Y\", \"LB\", \"RB\", \"LT\", \"RT\", \"BACK\", \"START\",\n* PS4: \"CROSS\", \"SQUARE\", \"CIRCLE\", \"TRIANGLE\", \"L1\", \"L2\", \"R1\", \"R2\", \"SHARE\", \"OPTIONS\", \"PS_BUTTON\", \"CLICK_TOUCHPAD\",\n* Other: \"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"CLICK_STICK_LEFT\", \"CLICK_STICK_RIGHT\".", + "fullName": "Gamepad button released", + "functionType": "Condition", + "name": "C_Button_released", + "sentence": "Button _PARAM2_ of gamepad _PARAM1_ is released", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const button = eventsFunctionContext.getArgument(\"button\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in condition: \"Gamepad button released\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "if (button === \"\") {\r", + " console.error('Parameter button is not valid in condition: \"Gamepad button released\"');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "let buttonId;\r", + "\r", + "switch (button) {\r", + " case 'A':\r", + " case 'CROSS':\r", + " buttonId = 0;\r", + " break;\r", + " case 'B':\r", + " case 'CIRCLE':\r", + " buttonId = 1;\r", + " break;\r", + " case 'X':\r", + " case 'SQUARE':\r", + " buttonId = 2;\r", + " break;\r", + " case 'Y':\r", + " case 'TRIANGLE':\r", + " buttonId = 3;\r", + " break;\r", + " case 'LB':\r", + " case 'L1':\r", + " buttonId = 4;\r", + " break;\r", + " case 'RB':\r", + " case 'R1':\r", + " buttonId = 5;\r", + " break;\r", + " case 'LT':\r", + " case 'L2':\r", + " buttonId = 6;\r", + " break;\r", + " case 'RT':\r", + " case 'R2':\r", + " buttonId = 7;\r", + " break;\r", + "\r", + " case 'UP':\r", + " buttonId = 12;\r", + " break;\r", + " case 'DOWN':\r", + " buttonId = 13;\r", + " break;\r", + " case 'LEFT':\r", + " buttonId = 14;\r", + " break;\r", + " case 'RIGHT':\r", + " buttonId = 15;\r", + " break;\r", + "\r", + " case 'BACK':\r", + " case 'SHARE':\r", + " buttonId = 8;\r", + " break;\r", + " case 'START':\r", + " case 'OPTIONS':\r", + " buttonId = 9;\r", + " break;\r", + "\r", + " case 'CLICK_STICK_LEFT':\r", + " buttonId = 10;\r", + " break;\r", + " case 'CLICK_STICK_RIGHT':\r", + " buttonId = 11;\r", + " break;\r", + "\r", + " //PS4\r", + " case 'PS_BUTTON':\r", + " buttonId = 16;\r", + " break;\r", + " case 'CLICK_TOUCHPAD':\r", + " buttonId = 17;\r", + " break;\r", + "\r", + " default:\r", + " console.error('The button: ' + button + ' in condition: \"Gamepad button released\" is not valid.');\r", + " break;\r", + "}\r", + "\r", + "if (buttonId === undefined) {\r", + " console.error('There is no buttons valid in condition: \"Gamepad button released\"');\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) {\r", + " console.error('Buttons on the gamepad are not accessible in condition: \"Gamepad button released\"');\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "//Define default value on pressed button or use previous value\r", + "gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] || { pressed: false };\r", + "\r", + "//Get state of button at previous frame\r", + "const previousStateButton = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed;\r", + "\r", + "//When previousStateButton is true and actual button state is not pressed\r", + "//Player have release the button\r", + "if (previousStateButton === true && gamepad.buttons[buttonId].pressed === false) {\r", + " // Save the last button used for the player \r", + " gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r", + " gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = true;\r", + " eventsFunctionContext.returnValue = true;\r", + "\r", + "} else {\r", + " gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = false;\r", + " eventsFunctionContext.returnValue = false;\r", + "}\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Name of the button", + "name": "button", + "supplementaryInformation": "[\"A\",\"Cross\",\"B\",\"Circle\",\"X\",\"Square\",\"Y\",\"Triangle\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"Up\",\"Down\",\"Left\",\"Right\",\"Back\",\"Share\",\"Start\",\"Options\",\"Click_Stick_Left\",\"Click_Stick_Right\",\"PS_Button\",\"Click_Touchpad\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the index of the last pressed button of a gamepad.", + "fullName": "Last pressed button (id)", + "functionType": "Expression", + "name": "LastButtonID", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "//Get function parameter\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "\r", + "//Player id is not valid\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in expression: \"Last pressed button (id)\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "\r", + "//Return the last button used by the player\r", + "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].lastButtonUsed;" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Check if any button is pressed on a gamepad.", + "fullName": "Any gamepad button pressed", + "functionType": "Condition", + "name": "C_Any_Button_pressed", + "sentence": "Any button of gamepad _PARAM1_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameter\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in condition: \"Any gamepad button pressed\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "let buttonId;\r", + "for (let i = 0; i < gamepad.buttons.length; i++) { //For each buttons\r", + " if (gamepad.buttons[i].pressed) { //One of them is pressed\r", + " buttonId = i; //Save the button pressed\r", + " break;\r", + " }\r", + "}\r", + "\r", + "if (buttonId === undefined) {\r", + " // No buttons are pressed.\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) {\r", + " console.error('Buttons on the gamepad are not accessible in condition: \"Any gamepad button pressed\"');\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "//When a button is pressed, save the button in lastButtonUsed for each players\r", + "if (gamepad.buttons[buttonId].pressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r", + "eventsFunctionContext.returnValue = gamepad.buttons[buttonId].pressed;\r", + "\r", + "\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Return the last button pressed. \nButtons for Xbox and PS4 can be:\n* Xbox: \"A\", \"B\", \"X\", \"Y\", \"LB\", \"RB\", \"LT\", \"RT\", \"BACK\", \"START\",\n* PS4: \"CROSS\", \"SQUARE\", \"CIRCLE\", \"TRIANGLE\", \"L1\", \"L2\", \"R1\", \"R2\", \"SHARE\", \"OPTIONS\", \"PS_BUTTON\", \"CLICK_TOUCHPAD\",\n* Both: \"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"CLICK_STICK_LEFT\", \"CLICK_STICK_RIGHT\".", + "fullName": "Last pressed button (string)", + "functionType": "StringExpression", + "name": "LastButtonString", + "sentence": "Button _PARAM2_ of gamepad _PARAM1_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const controllerType = eventsFunctionContext.getArgument(\"controller_type\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in string expression: \"Last pressed button (LastButtonString)\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "if (controllerType === \"\") {\r", + " console.error('Parameter controller type is not valid in string expression: \"Last pressed button (LastButtonString)\"');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "if (gamepad !== null) { //Gamepad exist\r", + " //Get last btn id\r", + " const lastButtonUsedID = gdjs._extensionController.players[playerId].lastButtonUsed;\r", + "\r", + " //Return last button as string \r", + " eventsFunctionContext.returnValue = gdjs._extensionController.getInputString(controllerType, lastButtonUsedID);\r", + "\r", + "} else { //Gamepad dosen't exist\r", + " console.error('Your controller is not supported or the gamepad wasn\\'t detected in string expression: \"Last pressed button (LastButtonString)\"');\r", + " eventsFunctionContext.returnValue = \"Gamepad not connected\";\r", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "string" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Controller type", + "name": "controller_type", + "supplementaryInformation": "[\"Xbox\",\"PS4\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the number of gamepads.", + "fullName": "Gamepad count", + "functionType": "Expression", + "name": "GamepadCount", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get the last activated controller\r", + "const controllerId = gdjs._extensionController.lastActiveController;\r", + "\r", + "// Check if controller is active\r", + "const gamepad = gamepads[controllerId];\r", + "if (gamepad == null) {\r", + " eventsFunctionContext.returnValue = 0;\r", + "} else {\r", + " // Return active controller id\r", + " eventsFunctionContext.returnValue = controllerId + 1;\r", + "}\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [], + "objectGroups": [] + }, + { + "description": "Check if a button is pressed on a gamepad. \nButtons can be:\n* Xbox: \"A\", \"B\", \"X\", \"Y\", \"LB\", \"RB\", \"LT\", \"RT\", \"BACK\", \"START\",\n* PS4: \"CROSS\", \"SQUARE\", \"CIRCLE\", \"TRIANGLE\", \"L1\", \"L2\", \"R1\", \"R2\", \"SHARE\", \"OPTIONS\", \"PS_BUTTON\", \"CLICK_TOUCHPAD\",\n* Other: \"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"CLICK_STICK_LEFT\", \"CLICK_STICK_RIGHT\".", + "fullName": "Gamepad button pressed", + "functionType": "Condition", + "name": "C_Button_pressed", + "sentence": "Button _PARAM2_ of gamepad _PARAM1_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const button = eventsFunctionContext.getArgument(\"button\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in condition: \"Gamepad button pressed\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "if (button === \"\") {\r", + " console.error('Parameter button is not valid in condition: \"Gamepad button pressed\"');\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "let buttonId;\r", + "\r", + "switch (button) {\r", + " case 'A':\r", + " case 'CROSS':\r", + " buttonId = 0;\r", + " break;\r", + " case 'B':\r", + " case 'CIRCLE':\r", + " buttonId = 1;\r", + " break;\r", + " case 'X':\r", + " case 'SQUARE':\r", + " buttonId = 2;\r", + " break;\r", + " case 'Y':\r", + " case 'TRIANGLE':\r", + " buttonId = 3;\r", + " break;\r", + " case 'LB':\r", + " case 'L1':\r", + " buttonId = 4;\r", + " break;\r", + " case 'RB':\r", + " case 'R1':\r", + " buttonId = 5;\r", + " break;\r", + " case 'LT':\r", + " case 'L2':\r", + " buttonId = 6;\r", + " break;\r", + " case 'RT':\r", + " case 'R2':\r", + " buttonId = 7;\r", + " break;\r", + "\r", + " case 'UP':\r", + " buttonId = 12;\r", + " break;\r", + " case 'DOWN':\r", + " buttonId = 13;\r", + " break;\r", + " case 'LEFT':\r", + " buttonId = 14;\r", + " break;\r", + " case 'RIGHT':\r", + " buttonId = 15;\r", + " break;\r", + "\r", + " case 'BACK':\r", + " case 'SHARE':\r", + " buttonId = 8;\r", + " break;\r", + " case 'START':\r", + " case 'OPTIONS':\r", + " buttonId = 9;\r", + " break;\r", + "\r", + " case 'CLICK_STICK_LEFT':\r", + " buttonId = 10;\r", + " break;\r", + " case 'CLICK_STICK_RIGHT':\r", + " buttonId = 11;\r", + " break;\r", + "\r", + " //PS4\r", + " case 'PS_BUTTON':\r", + " buttonId = 16;\r", + " break;\r", + " case 'CLICK_TOUCHPAD':\r", + " buttonId = 17;\r", + " break;\r", + "\r", + " default:\r", + " console.error('The button: ' + button + ' in condition: \"Gamepad button pressed\" is not valid.');\r", + " eventsFunctionContext.returnValue = false;\r", + " break;\r", + "}\r", + "\r", + "\r", + "\r", + "if (buttonId === undefined) {\r", + " console.error('There is no buttons valid in condition: \"Gamepad button pressed\"');\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) {\r", + " console.error('Buttons on the gamepad are not accessible in condition: \"Gamepad button pressed\"');\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "//When a button is pressed, save the button in lastButtonUsed for each players\r", + "if (gamepad.buttons[buttonId].pressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r", + "eventsFunctionContext.returnValue = gamepad.buttons[buttonId].pressed;\r", + "\r", + "\r", + "\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Name of the button", + "name": "button", + "supplementaryInformation": "[\"A\",\"Cross\",\"B\",\"Circle\",\"X\",\"Square\",\"Y\",\"Triangle\",\"LB\",\"L1\",\"RB\",\"R1\",\"LT\",\"L2\",\"RT\",\"R2\",\"Up\",\"Down\",\"Left\",\"Right\",\"Back\",\"Share\",\"Start\",\"Options\",\"Click_Stick_Left\",\"Click_Stick_Right\",\"PS_Button\",\"Click_Touchpad\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the value of the deadzone applied to a gamepad sticks, between 0 and 1.", + "fullName": "Gamepad deadzone for sticks", + "functionType": "Expression", + "name": "Deadzone", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "//Get function parameter\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in expression: \"Gamepad deadzone for sticks\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "///Return the deadzone value for a given player\r", + "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].deadzone;" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Set the deadzone for sticks of the gamepad. The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved). Deadzone is between 0 and 1, and is by default 0.2.", + "fullName": "Set gamepad deadzone for sticks", + "functionType": "Action", + "name": "A_Set_deadzone", + "sentence": "Set deadzone for sticks on gamepad: _PARAM1_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "//Get function parameter\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const newDeadzone = eventsFunctionContext.getArgument(\"deadzone\");\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in action: \"Set gamepad deadzone for sticks\", is not valid, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "\r", + "// clamp the newDeadzone in range [0, 1].\r", + "// https://github.com/4ian/GDevelop-extensions/pull/33#issuecomment-618224857\r", + "gdjs._extensionController.players[playerId].deadzone = gdjs.evtTools.common.clamp(newDeadzone, 0, 1);\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Deadzone for sticks, 0.2 by default (0 to 1)", + "name": "deadzone", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Check if a stick of a gamepad is pushed in a given direction.", + "fullName": "Gamepad stick pushed (axis)", + "functionType": "Condition", + "name": "C_Axis_pushed", + "sentence": "_PARAM2_ stick of gamepad _PARAM1_ is pushed in direction _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "const stick = eventsFunctionContext.getArgument(\"stick\").toUpperCase();\r", + "const direction = eventsFunctionContext.getArgument(\"direction\").toUpperCase();\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + " console.error('Parameter gamepad identifier in condition: \"Gamepad stick pushed (axis)\", is not valid number, must be between 0 and 4.');\r", + " return;\r", + "}\r", + "if (stick != \"LEFT\" && stick != \"RIGHT\") {\r", + " console.error('Parameter stick in condition: \"Gamepad stick pushed (axis)\", is not valid, must be LEFT or RIGHT');\r", + " return;\r", + "}\r", + "if (direction != \"UP\" && direction != \"DOWN\" && direction != \"LEFT\" && direction != \"RIGHT\" && direction != \"ANY\") {\r", + " console.error('Parameter deadzone in condition: \"Gamepad stick pushed (axis)\", is not valid, must be UP, DOWN, LEFT or RIGHT');\r", + " return;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) {\r", + " eventsFunctionContext.returnValue = false;\r", + " return;\r", + "}\r", + "\r", + "\r", + "//Define in onFirstSceneLoaded function\r", + "const getNormalizedAxisValue = gdjs._extensionController.getNormalizedAxisValue;\r", + "\r", + "switch (stick) {\r", + " case 'LEFT':\r", + " switch (direction) {\r", + " case 'LEFT':\r", + " if (getNormalizedAxisValue(gamepad.axes[0], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " if (getNormalizedAxisValue(gamepad.axes[0], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'UP':\r", + " if (getNormalizedAxisValue(gamepad.axes[1], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'DOWN':\r", + " if (getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'ANY':\r", + " if ( getNormalizedAxisValue(gamepad.axes[0], playerId) < 0\r", + " || getNormalizedAxisValue(gamepad.axes[0], playerId) > 0\r", + " || getNormalizedAxisValue(gamepad.axes[1], playerId) < 0 \r", + " || getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " default:\r", + " console.error('The value Direction on stick Left on the condition: \"Gamepad stick pushed (axis)\" is not valid.');\r", + " eventsFunctionContext.returnValue = false;\r", + " break;\r", + " }\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " switch (direction) {\r", + " case 'LEFT':\r", + " if (getNormalizedAxisValue(gamepad.axes[2], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'RIGHT':\r", + " if (getNormalizedAxisValue(gamepad.axes[2], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'UP':\r", + " if (getNormalizedAxisValue(gamepad.axes[3], playerId) < 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'DOWN':\r", + " if (getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " case 'ANY':\r", + " if ( getNormalizedAxisValue(gamepad.axes[2], playerId) < 0\r", + " || getNormalizedAxisValue(gamepad.axes[2], playerId) > 0\r", + " || getNormalizedAxisValue(gamepad.axes[3], playerId) < 0 \r", + " || getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) {\r", + " eventsFunctionContext.returnValue = true;\r", + " return;\r", + " }\r", + " break;\r", + "\r", + " default:\r", + " console.error('The value Direction on stick Right on the condition: \"Gamepad stick pushed (axis)\" is not valid.');\r", + " eventsFunctionContext.returnValue = false;\r", + " break;\r", + " }\r", + " break;\r", + "\r", + " default:\r", + " console.error('The value Stick on the condition: \"Gamepad stick pushed (axis)\" is not valid.');\r", + " eventsFunctionContext.returnValue = false;\r", + " break;\r", + "}\r", + "\r", + "eventsFunctionContext.returnValue = false;\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Stick: \"Left\" or \"Right\"", + "name": "stick", + "supplementaryInformation": "[\"Left\",\"Right\"]", + "type": "stringWithSelector" + }, + { + "description": "Direction", + "name": "direction", + "supplementaryInformation": "[\"Up\",\"Down\",\"Left\",\"Right\",\"Any\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the number of connected gamepads.", + "fullName": "Connected gamepads number", + "functionType": "Expression", + "name": "ConnectedGamepadsCount", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "// Gamepads can be disconnected and become null, so we have to filter them.\r", + "eventsFunctionContext.returnValue = Object.keys(gamepads).filter(key => !!gamepads[key]).length;\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [], + "objectGroups": [] + }, + { + "description": "Return a string containing informations about the specified gamepad.", + "fullName": "Gamepad type", + "functionType": "StringExpression", + "name": "GamepadType", + "sentence": "Player _PARAM1_ use _PARAM2_ controller", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameter", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;", + "", + "if (playerId < 0 || playerId > 4) {", + " console.error('Parameter gamepad identifier in string expression: \"Gamepad type\", is not valid number, must be between 0 and 4');", + " return;", + "}", + "", + "const gamepad = gamepads[playerId];", + "", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.", + "if (gamepad == null) return;", + "", + "eventsFunctionContext.returnValue = (gamepad && gamepad.id) ? gamepad.id : \"No information for player \" + (playerId + 1)", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "string" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the specified gamepad has the specified information in its description. Useful to know if the gamepad is a Xbox or PS4 controller.", + "fullName": "Gamepad type", + "functionType": "Condition", + "name": "C_Controller_type", + "sentence": "Gamepad _PARAM1_ is a _PARAM2_ controller", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameters", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;", + "const controllerType = eventsFunctionContext.getArgument(\"controller_type\").toUpperCase();", + "", + "if (playerId < 0 || playerId > 4) {", + " console.error('Parameter gamepad identifier in condition: \"Gamepad type\", is not valid number, must be between 0 and 4.');", + " return;", + "}", + "if (controllerType === \"\") {", + " console.error('Parameter type in condition: \"Gamepad type\", is not a string.');", + " return;", + "}", + "", + "const gamepad = gamepads[playerId];", + "", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.", + "if (gamepad == null) return;", + "", + "", + "if (controllerType == \"XBOX\") {", + " eventsFunctionContext.returnValue = gdjs._extensionController.isXbox(gamepad);", + "} else {", + " eventsFunctionContext.returnValue = gamepad ? gamepad.id.toUpperCase().indexOf(controllerType) !== -1 : false;", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + }, + { + "description": "Type: \"Xbox\", \"PS4\", \"Steam\" or \"PS3\" (among other)", + "name": "controller_type", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Check if a gamepad is connected.", + "fullName": "Gamepad connected", + "functionType": "Condition", + "name": "C_Controller_X_is_connected", + "sentence": "Gamepad _PARAM1_ is plugged and connected", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameter", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;", + "", + "if (playerId < 0 || playerId > 4) {", + " console.error('Parameter gamepad identifier in condition: \"Gamepad connected\", is not valid number, must be between 0 and 4.');", + " return;", + "}", + "", + "// If gamepad was disconnected it will be null (so this will return false)", + "// If gamepad was never connected it will be undefined (so this will return false)", + "eventsFunctionContext.returnValue = !!gamepads[playerId];" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Generate a vibration on the specified controller. Might only work if the game is running in a recent web browser.", + "fullName": "Gamepad vibration", + "functionType": "Action", + "name": "A_Vibrate_controller", + "sentence": "Make gamepad _PARAM1_ vibrate for _PARAM2_ seconds", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */", + "//Vibration work only on game in browser.", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameters", + "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;", + "const duration = eventsFunctionContext.getArgument(\"Duration\") || 1;", + "", + "if (playerId < 0 || playerId > 4) {", + " console.error('Parameter gamepad identifier in action: \"Gamepad connected\", is not valid number, must be between 0 and 4.');", + " return;", + "}", + "", + "const gamepad = gamepads[playerId];", + "", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.", + "if (gamepad == null) return;", + "", + "if (gamepad && gamepad.vibrationActuator) {", + " gamepad.vibrationActuator.playEffect(\"dual-rumble\", {", + " startDelay: 0,", + " duration: duration * 1000,", + " weakMagnitude: 1.0,", + " strongMagnitude: 1.0", + " });", + "}" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Player_ID", + "type": "expression" + }, + { + "description": "Time of the vibration, in seconds (optional, default value is 1)", + "name": "Duration", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Generate an advanced vibration on the specified controller. Incompatible with Firefox.", + "fullName": "Advanced gamepad vibration", + "functionType": "Action", + "name": "A_Advanced_Vibration_Controller", + "sentence": "Make gamepad _PARAM1_ vibrate for _PARAM2_ seconds with the vibration magnitude of _PARAM3_ and _PARAM4_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */", + "//Vibration work only on game in browser.", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameters", + "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;", + "const duration = eventsFunctionContext.getArgument(\"Duration\") || 1;", + "const strongRumbleMagnitude = eventsFunctionContext.getArgument(\"StrongMagnitude\");", + "const weakRumbleMagnitude = eventsFunctionContext.getArgument(\"WeakMagnitude\");", + "", + "if (playerId < 0 || playerId > 4) {", + " console.error('Parameter gamepad identifier in action: \"Advanced gamepad vibration\", is not valid number, must be between 0 and 4.');", + " return;", + "}", + "if (weakRumbleMagnitude < 0 || weakRumbleMagnitude > 1) {", + " console.error('Parameter weakRumble identifier in action: \"Advanced gamepad vibration\", is not valid number, must be between 0 and 1.');", + " return;", + "}", + "if (strongRumbleMagnitude < 0 || strongRumbleMagnitude > 1) {", + " console.error('Parameter strongRumble identifier in action: \"Advanced gamepad vibration\", is not valid number, must be between 0 and 1.');", + " return;", + "}", + "", + "const gamepad = gamepads[playerId];", + "", + "//we need keep this condition because when use have not yet plug the controller we can't get the controller in the gamepad variable.", + "if (gamepad == null) return;", + "", + "if (gamepad && gamepad.vibrationActuator) {", + " gamepad.vibrationActuator.playEffect(\"dual-rumble\", {", + " startDelay: 0,", + " duration: duration * 1000,", + " weakMagnitude: weakRumbleMagnitude,", + " strongMagnitude: strongRumbleMagnitude", + " });", + "}", + "", + "gdjs._extensionController.players[playerId].rumble.duration = duration;", + "gdjs._extensionController.players[playerId].rumble.elapsedTime = 0;", + "gdjs._extensionController.players[playerId].rumble.weakMagnitude = weakRumbleMagnitude;", + "gdjs._extensionController.players[playerId].rumble.strongMagnitude = strongRumbleMagnitude;" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Player_ID", + "type": "expression" + }, + { + "description": "Time of the vibration, in seconds (optional, default value is 1)", + "name": "Duration", + "type": "expression" + }, + { + "description": "Strong rumble magnitude (from 0 to 1)", + "name": "StrongMagnitude", + "type": "expression" + }, + { + "description": "Weak rumble magnitude (from 0 to 1)", + "name": "WeakMagnitude", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change a vibration on the specified controller. Incompatible with Firefox.", + "fullName": "Change gamepad active vibration", + "functionType": "Action", + "name": "A_Change_Vibration_Magnitude", + "sentence": "Change the vibration magnitude of _PARAM2_ & _PARAM3_ on gamepad _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */", + "//Vibration work only on game in browser.", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameters", + "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;", + "const elapsedTime = gdjs._extensionController.players[playerId].rumble.elapsedTime || 0;", + "const originalDuration = gdjs._extensionController.players[playerId].rumble.duration || 1;", + "const strongRumbleMagnitude = eventsFunctionContext.getArgument(\"StrongMagnitude\");", + "const weakRumbleMagnitude = eventsFunctionContext.getArgument(\"WeakMagnitude\");", + "", + "", + "if (playerId < 0 || playerId > 4) {", + " console.error('Parameter gamepad identifier in action: \"Change gamepad active vibration\", is not valid number, must be between 0 and 4.');", + " return;", + "}", + "if (weakRumbleMagnitude < 0 || weakRumbleMagnitude > 1) {", + " console.error('Parameter weakRumble identifier in action: \"Change gamepad active vibration\", is not valid number, must be between 0 and 1.');", + " return;", + "}", + "if (strongRumbleMagnitude < 0 || strongRumbleMagnitude > 1) {", + " console.error('Parameter strongRumble identifier in action: \"Change gamepad active vibration\", is not valid number, must be between 0 and 1.');", + " return;", + "}", + "", + "const gamepad = gamepads[playerId];", + "", + "//we need keep this condition because when use have not yet plug the controller we can't get the controller in the gamepad variable.", + "if (gamepad == null) return;", + "", + "if (originalDuration - elapsedTime <= 0) return;", + "", + "if (gamepad && gamepad.vibrationActuator) {", + " gamepad.vibrationActuator.playEffect(\"dual-rumble\", {", + " startDelay: 0,", + " duration: 1000 * (originalDuration - elapsedTime),", + " weakMagnitude: weakRumbleMagnitude,", + " strongMagnitude: strongRumbleMagnitude", + " });", + "}", + "", + "gdjs._extensionController.players[playerId].rumble.weakMagnitude = weakRumbleMagnitude;", + "gdjs._extensionController.players[playerId].rumble.strongMagnitude = strongRumbleMagnitude;" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Player_ID", + "type": "expression" + }, + { + "description": "Strong rumble magnitude (from 0 to 1)", + "name": "StrongMagnitude", + "type": "expression" + }, + { + "description": "Weak rumble magnitude (from 0 to 1)", + "name": "WeakMagnitude", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "onFirstSceneLoaded", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "//Define an new private object javascript for the gamepad extension\r", + "gdjs._extensionController = {\r", + " players: {\r", + " 0: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " 1: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " 2: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " 3: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} },\r", + " },\r", + " lastActiveController: -1, // Last active controller\r", + " controllerButtonNames: { //Map associating controller button ids to button names\r", + " \"XBOX\": {\r", + " 0: \"A\",\r", + " 1: \"B\",\r", + " 2: \"X\",\r", + " 3: \"Y\",\r", + " 4: \"LB\",\r", + " 5: \"RB\",\r", + " 6: \"LT\",\r", + " 7: \"RT\",\r", + " 8: \"BACK\",\r", + " 9: \"START\",\r", + " 10: \"CLICK_STICK_LEFT\",\r", + " 11: \"CLICK_STICK_RIGHT\",\r", + " 12: \"UP\",\r", + " 13: \"DOWN\",\r", + " 14: \"LEFT\",\r", + " 15: \"RIGHT\",\r", + " 16: \"NONE\",\r", + " 17: \"NONE\"\r", + " },\r", + " \"PS4\": {\r", + " 0: \"CROSS\",\r", + " 1: \"CIRCLE\",\r", + " 2: \"SQUARE\",\r", + " 3: \"TRIANGLE\",\r", + " 4: \"L1\",\r", + " 5: \"R1\",\r", + " 6: \"L2\",\r", + " 7: \"R2\",\r", + " 8: \"SHARE\",\r", + " 9: \"OPTIONS\",\r", + " 10: \"CLICK_STICK_LEFT\",\r", + " 11: \"CLICK_STICK_RIGHT\",\r", + " 12: \"UP\",\r", + " 13: \"DOWN\",\r", + " 14: \"LEFT\",\r", + " 15: \"RIGHT\",\r", + " 16: \"PS_BUTTON\",\r", + " 17: \"CLICK_TOUCHPAD\"\r", + " }\r", + " }\r", + "};\r", + "\r", + "gdjs._extensionController.getInputString = function (type, buttonId) {\r", + " const controllerButtonNames = gdjs._extensionController.controllerButtonNames;\r", + " if (controllerButtonNames[type] !== undefined) {\r", + " return controllerButtonNames[type][buttonId];\r", + " }\r", + "\r", + " return \"UNKNOWN_BUTTON\";\r", + "}\r", + "\r", + "gdjs._extensionController.axisToAngle = function (deltaX, deltaY) {\r", + " const rad = Math.atan2(deltaY, deltaX);\r", + " const deg = rad * (180 / Math.PI);\r", + " return deg;\r", + "}\r", + "\r", + "gdjs._extensionController.isXbox = function (gamepad) {\r", + " return (gamepad ? (\r", + " gamepad.id.toUpperCase().indexOf(\"XBOX\") !== -1\r", + " // \"XINPUT\" cannot be used to check if it is a xbox controller is just a generic\r", + " // name reported in Firefox corresponding to the driver being used by the controller\r", + " // https://gamefaqs.gamespot.com/boards/916373-pc/73341312?page=1\r", + " ) : false);\r", + "}\r", + "\r", + "//Returns the new value taking into account the dead zone for the player_ID given\r", + "gdjs._extensionController.getNormalizedAxisValue = function (v, player_ID) {\r", + " // gdjs._extensionController = gdjs._extensionController || { deadzone: 0.2 };\r", + "\r", + " // Anything smaller than this is assumed to be 0,0\r", + " const DEADZONE = gdjs._extensionController.players[player_ID].deadzone;\r", + "\r", + " if (Math.abs(v) < DEADZONE) {\r", + " // In the dead zone, set to 0\r", + " v = 0;\r", + "\r", + " if (v == null) {\r", + " return 0;\r", + " } else {\r", + " return v;\r", + " }\r", + "\r", + " } else {\r", + " // We're outside the dead zone, but we'd like to smooth\r", + " // this value out so it still runs nicely between 0..1.\r", + " // That is, we don't want it to jump suddenly from 0 to\r", + " // DEADZONE.\r", + "\r", + " // Remap v from\r", + " // DEADZONE..1 to 0..(1-DEADZONE)\r", + " // or from\r", + " // -1..-DEADZONE to -(1-DEADZONE)..0\r", + "\r", + " v = v - Math.sign(v) * DEADZONE;\r", + "\r", + " // Remap v from\r", + " // 0..(1-DEADZONE) to 0..1\r", + " // or from\r", + " // -(1-DEADZONE)..0 to -1..0\r", + "\r", + " return v / (1 - DEADZONE);\r", + " }\r", + "};" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "onScenePostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "//Each time a player press a button i save the last button pressed for the next frame", + "/** @type {Gamepad[]} */", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);", + "", + "//Get function parameter", + "let countPlayers = Object.keys(gdjs._extensionController.players).length;", + "", + "//Repeat for each players", + "for (let i = 0; i < countPlayers; i++) {", + " let gamepad = gamepads[i]; // Get the gamepad of the player", + "", + " //We have to keep this condition because if the user hasn't plugged in his controller yet, we can't get the controller in the gamepad variable.", + " if (gamepad == null) {", + " continue;", + " }", + "", + " for (let b = 0; b < Object.keys(gamepad.buttons).length; b++) { //For each buttons", + " if (gamepad.buttons[b].pressed) { //One of them is pressed", + " gdjs._extensionController.players[i].lastButtonUsed = b; //Save the button pressed", + "", + " //Save the state of the button for the next frame.", + " gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: true };", + "", + " // Update Last Active Controller", + " gdjs._extensionController.lastActiveController = i;", + " } else {", + " gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: false };", + " }", + " }", + "", + "", + " gdjs._extensionController.players[i].rumble.elapsedTime += runtimeScene.getElapsedTime(runtimeScene) / 1000;", + " if (", + " gdjs._extensionController.players[i].rumble.duration - gdjs._extensionController.players[i].rumble.elapsedTime <= 0 &&", + " (gdjs._extensionController.players[i].rumble.weakMagnitude || gdjs._extensionController.players[i].rumble.strongMagnitude)", + " ) {", + " gdjs._extensionController.players[i].rumble.weakMagnitude = 0;", + " gdjs._extensionController.players[i].rumble.strongMagnitude = 0;", + " }", + "", + "", + "}", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [], + "objectGroups": [] + }, + { + "description": "Check if any button is released on a gamepad.", + "fullName": "Any gamepad button released", + "functionType": "Condition", + "name": "C_any_button_released", + "sentence": "Any button of gamepad _PARAM1_ is released", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [] + }, + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {Gamepad[]} */\r", + "const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []);\r", + "\r", + "//Get function parameters\r", + "const playerId = eventsFunctionContext.getArgument(\"player_ID\") - 1;\r", + "\r", + "if (playerId < 0 || playerId > 4) {\r", + "\tconsole.error('Parameter gamepad identifier in condition: \"Any gamepad button released\", is not valid number, must be between 0 and 4.');\r", + "\treturn;\r", + "}\r", + "\r", + "const gamepad = gamepads[playerId];\r", + "\r", + "//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable.\r", + "if (gamepad == null) return;\r", + "\r", + "for (let buttonId = 0; buttonId < gamepad.buttons.length; buttonId++) { //For each buttons on current frame.\r", + "\r", + "\tif (buttonId === undefined) {\r", + "\t\teventsFunctionContext.returnValue = false;\r", + "\t\treturn;\r", + "\t}\r", + "\r", + "\t//Get previous value or define value by default for the current button\r", + "\tgdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] || { pressed: false };\r", + "\r", + "\t//Get state of the button at previous frame\r", + "\tconst previousStateButtonIsPressed = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed;\r", + "\r", + "\t//Get the state of the button on the current frame.\r", + "\tconst currentFrameStateButtonIsPressed = gamepad.buttons[buttonId].pressed;\r", + "\r", + "\t//When previousStateButtonIsPressed is true and actual button state is not pressed\r", + "\t//Player have release the button\r", + "\tif (previousStateButtonIsPressed === true && currentFrameStateButtonIsPressed === false) {\r", + "\t\tgdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = true;\r", + "\t\teventsFunctionContext.returnValue = true;\r", + "\t\t//break;\r", + "\t\treturn;\r", + "\t} else {\r", + "\t\t//The player didn't released the button yet, the previous frame state is still true\r", + "\t\tgdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = false;\r", + "\t\teventsFunctionContext.returnValue = false;\r", + "\t}\r", + "\r", + "\tif (currentFrameStateButtonIsPressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId;\r", + "}\r", + "" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Return the strength of the weak vibration motor on the gamepad of a player.", + "fullName": "Weak rumble magnitude", + "functionType": "Expression", + "name": "WeakVibrationMagnitude", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;\r", + "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].rumble.weakMagnitude;" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Player_ID", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Return the strength of the strong vibration motor on the gamepad of a player.", + "fullName": "Strong rumble magnitude", + "functionType": "Expression", + "name": "StrongVibrationMagnitude", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const playerId = eventsFunctionContext.getArgument(\"Player_ID\") - 1;\r", + "eventsFunctionContext.returnValue = gdjs._extensionController.players[playerId].rumble.strongMagnitude;" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "The gamepad identifier: 1, 2, 3 or 4", + "name": "Player_ID", + "type": "expression" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [ + { + "description": "Control a platformer character with a gamepad.", + "fullName": "Platformer gamepad mapper", + "name": "PlatformerGamepadMapper", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Controller_X_is_connected" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Up\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + }, + { + "type": { + "value": "PlatformBehavior::SimulateLadderKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Down\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Left\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Right\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Up\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + }, + { + "type": { + "value": "PlatformBehavior::SimulateLadderKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Down\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Left\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Right\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Up\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + }, + { + "type": { + "value": "PlatformBehavior::SimulateLadderKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Down\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"A or Cross\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"A\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"B or Circle\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"B\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"X or Square\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"X\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Y or Triangle\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Y\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"LB or L1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"LB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"RB or R1\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"RB\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"LT or L2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"LT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyJumpButton" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"RT or R2\"" + ] + }, + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"RT\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "PlatformerCharacter" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::PlatformerGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Platformer character behavior", + "description": "", + "group": "", + "extraInformation": [ + "PlatformBehavior::PlatformerObjectBehavior" + ], + "hidden": false, + "name": "PlatformerCharacter" + }, + { + "value": "1", + "type": "Number", + "label": "Gamepad identifier (1, 2, 3 or 4)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "GamepadIdentifier" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use directional pad", + "description": "", + "group": "Controls", + "extraInformation": [], + "hidden": false, + "name": "UseArrows" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use left stick", + "description": "", + "group": "Controls", + "extraInformation": [], + "hidden": false, + "name": "UseLeftStick" + }, + { + "value": "", + "type": "Boolean", + "label": "Use right stick", + "description": "", + "group": "Controls", + "extraInformation": [], + "hidden": false, + "name": "UseRightStick" + }, + { + "value": "A or Cross", + "type": "Choice", + "label": "Jump button", + "description": "", + "group": "Controls", + "extraInformation": [ + "A or Cross", + "B or Circle", + "X or Square", + "Y or Triangle", + "LB or L1", + "RB or R1", + "LT or L2", + "RT or R2" + ], + "hidden": false, + "name": "JumpButton" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Control a top-down character with a gamepad.", + "fullName": "Top-down gamepad mapper", + "name": "TopDownGamepadMapper", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Controller_X_is_connected" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyUseArrows" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Up\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Button_pressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Down\"", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyUseLeftStick" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Analog\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateStick" + }, + "parameters": [ + "Object", + "TopDownMovement", + "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")", + "Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"360°\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateStick" + }, + "parameters": [ + "Object", + "TopDownMovement", + "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Left\")", + "sign(Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Left\"))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"8 Directions\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Left\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Right\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Up\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Left\"", + "\"Down\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::PlatformerGamepadMapper::PropertyUseRightStick" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Analog\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateStick" + }, + "parameters": [ + "Object", + "TopDownMovement", + "Gamepads::StickRotationValue(Object.Behavior::PropertyGamepadIdentifier(), \"Right\")", + "Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Right\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"360°\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateStick" + }, + "parameters": [ + "Object", + "TopDownMovement", + "sign(Gamepads::StickForce(Object.Behavior::PropertyGamepadIdentifier(), \"Right\"))", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::TopDownGamepadMapper::PropertyStickMode" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"8 Directions\"" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Left\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Right\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Up\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Gamepads::C_Axis_pushed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyGamepadIdentifier()", + "\"Right\"", + "\"Down\"", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "TopDownMovement" + ] + } + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Gamepads::TopDownGamepadMapper", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Top-down movement behavior", + "description": "", + "group": "", + "extraInformation": [ + "TopDownMovementBehavior::TopDownMovementBehavior" + ], + "hidden": false, + "name": "TopDownMovement" + }, + { + "value": "1", + "type": "Number", + "label": "Gamepad identifier (1, 2, 3 or 4)", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "GamepadIdentifier" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use directional pad", + "description": "", + "group": "Controls", + "extraInformation": [], + "hidden": false, + "name": "UseArrows" + }, + { + "value": "true", + "type": "Boolean", + "label": "Use left stick", + "description": "", + "group": "Controls", + "extraInformation": [], + "hidden": false, + "name": "UseLeftStick" + }, + { + "value": "", + "type": "Boolean", + "label": "Use right stick", + "description": "", + "group": "Controls", + "extraInformation": [], + "hidden": false, + "name": "UseRightStick" + }, + { + "value": "Analog", + "type": "Choice", + "label": "Stick mode", + "description": "", + "group": "Controls", + "extraInformation": [ + "Analog", + "360°", + "8 Directions" + ], + "hidden": false, + "name": "StickMode" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "Input", + "extensionNamespace": "", + "fullName": "Behavior Remapper", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFscGhhLXctYm94LW91dGxpbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOSwxN0EyLDIgMCAwLDEgNywxNVY3SDlWMTVIMTFWOEgxM1YxNUgxNVY3SDE3VjE1QTIsMiAwIDAsMSAxNSwxN0g5TTUsM0gxOUEyLDIgMCAwLDEgMjEsNVYxOUEyLDIgMCAwLDEgMTksMjFINUEyLDIgMCAwLDEgMywxOVY1QTIsMiAwIDAsMSA1LDNNNSw1VjE5SDE5VjVINVoiIC8+PC9zdmc+", + "name": "BehaviorRemapper", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/alpha-w-box-outline.svg", + "shortDescription": "Quickly remap Behavior controls to different keys. ", + "version": "1.0.0", + "description": [ + "Make sure to disable default controls unless you want two keys to do the same action.", + "", + "Actions have two versions. `custom` allow the movement keys to be changed to what ever you would like. `presets` provide a common key-bindings that can be selected from a list.", + "", + "### Available Presets:", + "", + "##### `WASD`", + "-\tW: Up", + "-\tA: Left", + "-\tS: Down", + "-\tD: Right", + "-\tSpace: Jump", + "", + "##### `ZQSD`", + "-\tZ: Up", + "-\tQ: Left", + "-\tS: Down", + "-\tD: Right", + "-\tSpace: Jump", + "", + "##### `Numpad` (Num lock must be disabled)", + "-\tNumpad Up: Up", + "-\tNumpad Left: Left", + "-\tNumpad Down: Down", + "-\tNumpad Right: Right", + "-\tNumpad Return/Enter: Jump", + "", + "##### `IJKL`", + "-\tI: Up", + "-\tJ: Left", + "-\tK: Down", + "-\tL: Right", + "-\tReturn/Enter: Jump", + "" + ], + "origin": { + "identifier": "BehaviorRemapper", + "name": "gdevelop-extension-store" + }, + "tags": [ + "remapper", + "key", + "bindings", + "presets", + "platformer", + "top-down" + ], + "authorIds": [ + "AlZ3D1xkH0QDao7T37VZZUeYNpn1" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Allows for the controls of a Top-Down behavior to be re-mapped via a single action.", + "fullName": "Remap Top-down", + "name": "RemapForTopdown", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyUp()" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "Topdown" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyLeft()" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "Topdown" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyRight()" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "Topdown" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyDown()" + ] + } + ], + "actions": [ + { + "type": { + "value": "TopDownMovementBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "Topdown" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "BehaviorRemapper::RemapForTopdown", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Remaps Top-Down behavior controls to a custom control scheme.", + "fullName": "Remap Top-Down controls to a custom scheme", + "functionType": "Action", + "name": "SetCustom", + "sentence": "Remap controls of _PARAM0_: Up: _PARAM2_, Left: _PARAM3_, Down: _PARAM4_, Right: _PARAM5_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"up\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"left\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"right\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"down\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "BehaviorRemapper::RemapForTopdown", + "type": "behavior" + }, + { + "description": "Up key", + "name": "up", + "type": "key" + }, + { + "description": "Left key", + "name": "left", + "type": "key" + }, + { + "description": "Down key", + "name": "down", + "type": "key" + }, + { + "description": "Right key", + "name": "right", + "type": "key" + } + ], + "objectGroups": [] + }, + { + "description": "Remaps Top-Down behavior controls to a preset control scheme.", + "fullName": "Remap Top-Down controls to a preset", + "functionType": "Action", + "name": "SetPreset", + "sentence": "Remap controls of _PARAM0_ to preset _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "QWERTY bindings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"WASD\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"w\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"a\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"s\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"d\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "AZERTY bindings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"ZQSD\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"z\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"q\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"s\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"d\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Numpad bindings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"Numpad\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadUp\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadLeft\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadDown\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadRight\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "QWERTY player 2 bindings " + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"IJKL\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"i\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"j\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"k\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForTopdown::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"l\"" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "BehaviorRemapper::RemapForTopdown", + "type": "behavior" + }, + { + "description": "Preset name", + "name": "options", + "supplementaryInformation": "[\"WASD\",\"ZQSD\",\"Numpad\",\"IJKL\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "w", + "type": "String", + "label": "Up key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Up" + }, + { + "value": "a", + "type": "String", + "label": "Left key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Left" + }, + { + "value": "d", + "type": "String", + "label": "Right key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Right" + }, + { + "value": "s", + "type": "String", + "label": "Down key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Down" + }, + { + "value": "", + "type": "Behavior", + "label": "", + "description": "", + "group": "", + "extraInformation": [ + "TopDownMovementBehavior::TopDownMovementBehavior" + ], + "hidden": false, + "name": "Topdown" + } + ], + "sharedPropertyDescriptors": [] + }, + { + "description": "Allows for the controls of a platformer behavior to be re-mapped via a single action.", + "fullName": "Remap Platformer controls", + "name": "RemapForPlatformer", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyUp()" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateUpKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + }, + { + "type": { + "value": "PlatformBehavior::SimulateLadderKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyLeft()" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateLeftKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyRight()" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateRightKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyDown()" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateDownKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + }, + { + "type": { + "value": "PlatformBehavior::SimulateReleaseLadderKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "KeyFromTextPressed" + }, + "parameters": [ + "", + "Object.Behavior::PropertyJump()" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformBehavior::SimulateJumpKey" + }, + "parameters": [ + "Object", + "Platformer" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "BehaviorRemapper::RemapForPlatformer", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Remaps Platformer behavior controls to a custom control scheme.", + "fullName": "Remap Platformer controls to a custom scheme", + "functionType": "Action", + "name": "SetCustom", + "sentence": "Remap controls of _PARAM0_: Up: _PARAM2_, Left: _PARAM3_, Down: _PARAM4_, Right: _PARAM5_, Jump: _PARAM6_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"up\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"left\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"right\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"down\")" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"jump\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "BehaviorRemapper::RemapForPlatformer", + "type": "behavior" + }, + { + "description": "Up key", + "name": "up", + "type": "key" + }, + { + "description": "Left key", + "name": "left", + "type": "key" + }, + { + "description": "Down key", + "name": "down", + "type": "key" + }, + { + "description": "Right key", + "name": "right", + "type": "key" + }, + { + "description": "Jump key", + "name": "jump", + "type": "key" + } + ], + "objectGroups": [] + }, + { + "description": "Remaps Platformer behavior controls to a preset control scheme.", + "fullName": "Remap Platformer controls to a preset", + "functionType": "Action", + "name": "SetPreset", + "sentence": "Remap controls of _PARAM0_ to preset _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "QWERTY bindings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"WASD\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"w\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"a\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"s\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"d\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Space\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "AZERTY bindings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"ZQSD\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"z\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"q\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"s\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"d\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Space\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Numpad bindings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"Numpad\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadUp\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadLeft\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadDown\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadRight\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"NumpadReturn\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "QWERTY player 2 bindings " + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StrEqual" + }, + "parameters": [ + "GetArgumentAsString(\"options\")", + "=", + "\"IJKL\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyUp" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"i\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"j\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyDown" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"k\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyRight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"l\"" + ] + }, + { + "type": { + "value": "BehaviorRemapper::RemapForPlatformer::SetPropertyJump" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Return\"" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "BehaviorRemapper::RemapForPlatformer", + "type": "behavior" + }, + { + "description": "Preset name", + "name": "options", + "supplementaryInformation": "[\"WASD\",\"ZQSD\",\"Numpad\",\"IJKL\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "String", + "label": "Up key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Up" + }, + { + "value": "", + "type": "String", + "label": "Left key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Left" + }, + { + "value": "", + "type": "String", + "label": "Down key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Down" + }, + { + "value": "", + "type": "String", + "label": "Right key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Right" + }, + { + "value": "", + "type": "String", + "label": "Jump key", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Jump" + }, + { + "value": "", + "type": "Behavior", + "label": "", + "description": "", + "group": "", + "extraInformation": [ + "PlatformBehavior::PlatformerObjectBehavior" + ], + "hidden": false, + "name": "Platformer" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "", + "category": "Movement", + "extensionNamespace": "", + "fullName": "Platformer character animator", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGc+DQoJPHBhdGggZD0iTTIzLDExYzIuMiwwLDQtMS44LDQtNHMtMS44LTQtNC00cy00LDEuOC00LDRTMjAuOCwxMSwyMywxMXoiLz4NCgk8cGF0aCBkPSJNMzAuOCwxMi40Yy0wLjMtMC40LTEtMC41LTEuNC0wLjJsLTIuOSwyLjNjLTAuOCwwLjctMiwwLjYtMi43LTAuMmwtNy45LTcuOWMtMS42LTEuNi00LjEtMS42LTUuNywwTDcuMyw5LjMNCgkJYy0wLjQsMC40LTAuNCwxLDAsMS40czEsMC40LDEuNCwwbDIuOC0yLjhjMC44LTAuOCwyLjEtMC44LDIuOSwwbDEuNiwxLjZMMTEuNiwxNGMtMSwxLTEuNCwyLjMtMS4xLDMuN2MwLjIsMS4xLDAuOSwyLDEuOCwyLjYNCgkJbC0xLjYsMS42Yy0wLjQsMC40LTEsMC40LTEuNCwwbC0zLjYtMy42Yy0wLjQtMC40LTEtMC40LTEuNCwwcy0wLjQsMSwwLDEuNGwzLjYsMy42YzAuNiwwLjYsMS4zLDAuOSwyLjEsMC45czEuNi0wLjMsMi4xLTAuOQ0KCQlsMi4xLTIuMWwyLjUsMWMwLjcsMC4zLDEuMiwxLDEuMiwxLjh2NmMwLDAuNiwwLjQsMSwxLDFzMS0wLjQsMS0xdi02YzAtMS42LTEtMy4xLTIuNS0zLjdsLTEuNy0wLjdsNS4yLTUuMmwxLjQsMS40DQoJCWMwLjgsMC44LDEuOCwxLjIsMi45LDEuMmMwLjksMCwxLjgtMC4zLDIuNS0wLjlsMi45LTIuM0MzMS4xLDEzLjQsMzEuMSwxMi44LDMwLjgsMTIuNHoiLz4NCjwvZz4NCjwvc3ZnPg0K", + "name": "PlatformerCharacterAnimator", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Sports and Fitness/Sports and Fitness_training_running_run.svg", + "shortDescription": "Change animations and horizontal flipping of a platformer character automatically.", + "version": "1.0.1", + "description": [ + "Automatically change the animations and horizontal flipping of a platformer character based on movement and interaction with platform objects.", + "", + "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer))." + ], + "origin": { + "identifier": "PlatformerCharacterAnimator", + "name": "gdevelop-extension-store" + }, + "tags": [ + "animations", + "platformer", + "flipping", + "automatic" + ], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Change animations and horizontal flipping of a platformer character automatically.", + "fullName": "Platformer character animator", + "name": "PlatformerCharacterAnimator", + "objectType": "Sprite", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Flip character based on input from controls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableHorizontalFlipping" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Left\"" + ] + }, + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Right\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "Object", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Right\"" + ] + }, + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Left\"" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "Object", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Change animations", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableAnimationChanges" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsJumping" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyJumpAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsFalling" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyFallAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsOnFloor" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyRunAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyIdleAnimationName()" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsOnLadder" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyClimbAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PlayAnimation" + }, + "parameters": [ + "Object" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PauseAnimation" + }, + "parameters": [ + "Object" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::IsOnLadder" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PlayAnimation" + }, + "parameters": [ + "Object" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "onActivate", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Flip character based on input from controls", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableHorizontalFlipping" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Left\"" + ] + }, + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Right\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "Object", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Right\"" + ] + }, + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsUsingControl" + }, + "parameters": [ + "Object", + "PlatformerBehavior", + "\"Left\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "Object", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Change animations", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::PropertyEnableAnimationChanges" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsJumping" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyJumpAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsFalling" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyFallAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsOnFloor" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyRunAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyIdleAnimationName()" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::IsOnLadder" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetAnimationName" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyClimbAnimationName()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlayAnimation" + }, + "parameters": [ + "Object" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PauseAnimation" + }, + "parameters": [ + "Object" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PlatformBehavior::IsOnLadder" + }, + "parameters": [ + "Object", + "PlatformerBehavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlayAnimation" + }, + "parameters": [ + "Object" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Enable (or disable) automated animation changes a platformer character. Disabling animation changes is useful to play custom animations.", + "fullName": "Enable (or disable) automated animation changes", + "functionType": "Action", + "name": "EnableChangingAnimations", + "sentence": "Enable automated animation changes on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableAnimationChanges" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"EnableAnimationChanges\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableAnimationChanges" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "Change animations automatically", + "name": "EnableAnimationChanges", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Enable (or disable) automated horizontal flipping of a platform character.", + "fullName": "Enable (or disable) automated horizontal flipping", + "functionType": "Action", + "name": "EnableHorizontalFlipping", + "sentence": "Enable automated horizontal flipping on _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableHorizontalFlipping" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"EnableHorizontalFlipping\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyEnableHorizontalFlipping" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "Enable horizontal flipping", + "name": "EnableHorizontalFlipping", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Set the \"Idle\" animation name. Do not use quotation marks.", + "fullName": "\"Idle\" animation name", + "functionType": "Action", + "group": "Configure animations", + "name": "SetIdleAnimationName", + "sentence": "Set \"Idle\" animation of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyIdleAnimationName" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"AnimationName\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "description": "Animation name", + "name": "AnimationName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Set the \"Move\" animation name. Do not use quotation marks.", + "fullName": "\"Move\" animation name", + "functionType": "Action", + "group": "Configure animations", + "name": "SetMoveAnimationName", + "sentence": "Set \"Move\" animation of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyRunAnimationName" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"AnimationName\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "description": "Animation name", + "name": "AnimationName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Set the \"Jump\" animation name. Do not use quotation marks.", + "fullName": "\"Jump\" animation name", + "functionType": "Action", + "group": "Configure animations", + "name": "SetJumpAnimationName", + "sentence": "Set \"Jump\" animation of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyJumpAnimationName" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"AnimationName\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "description": "Animation name", + "name": "AnimationName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Set the \"Fall\" animation name. Do not use quotation marks.", + "fullName": "\"Fall\" animation name", + "functionType": "Action", + "group": "Configure animations", + "name": "SetFallAnimationName", + "sentence": "Set \"Fall\" animation of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyFallAnimationName" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"AnimationName\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "description": "Animation name", + "name": "AnimationName", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "description": "Set the \"Climb\" animation name. Do not use quotation marks.", + "fullName": "\"Climb\" animation name", + "functionType": "Action", + "group": "Configure animations", + "name": "SetClimbAnimationName", + "sentence": "Set \"Climb\" animation of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PlatformerCharacterAnimator::PlatformerCharacterAnimator::SetPropertyClimbAnimationName" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"AnimationName\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "Sprite", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PlatformerCharacterAnimator::PlatformerCharacterAnimator", + "type": "behavior" + }, + { + "description": "Animation name", + "name": "AnimationName", + "type": "string" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "true", + "type": "Boolean", + "label": "Enable animation changes", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "EnableAnimationChanges" + }, + { + "value": "true", + "type": "Boolean", + "label": "Enable horizontal flipping", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "EnableHorizontalFlipping" + }, + { + "value": "Idle", + "type": "String", + "label": "\"Idle\" animation name ", + "description": "", + "group": "Animation names", + "extraInformation": [], + "hidden": false, + "name": "IdleAnimationName" + }, + { + "value": "Run", + "type": "String", + "label": "\"Run\" animation name", + "description": "", + "group": "Animation names", + "extraInformation": [], + "hidden": false, + "name": "RunAnimationName" + }, + { + "value": "Jump", + "type": "String", + "label": "\"Jump\" animation name", + "description": "", + "group": "Animation names", + "extraInformation": [], + "hidden": false, + "name": "JumpAnimationName" + }, + { + "value": "Fall", + "type": "String", + "label": "\"Fall\" animation name", + "description": "", + "group": "Animation names", + "extraInformation": [], + "hidden": false, + "name": "FallAnimationName" + }, + { + "value": "Climb", + "type": "String", + "label": "\"Climb\" animation name", + "description": "", + "group": "Animation names", + "extraInformation": [], + "hidden": false, + "name": "ClimbAnimationName" + }, + { + "value": "", + "type": "Behavior", + "label": "Platformer character", + "description": "", + "group": "", + "extraInformation": [ + "PlatformBehavior::PlatformerObjectBehavior" + ], + "hidden": false, + "name": "PlatformerBehavior" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", + "category": "Input", + "extensionNamespace": "", + "fullName": "Draggable slider", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", + "name": "DraggableSliderControl", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", + "shortDescription": "A draggable slider that users can move to select a numerical value.", + "version": "1.0.5", + "description": [ + "Draws a draggable slider that users can move to select a numerical value.", + "The value range, tick spacing, and the appearance of the slider can be defined with properties.", + "", + "How to use:", + "- Add this behavior a **Shape Painter** object", + "- Place an instance of that shape painter on the screen where you want the slider to appear", + "- Use the \"Value\" expression to find the Value based on the position of the slider", + "", + "Tips:", + "- You can disable the slider to prevent a user from interacting with it", + "- You can set the Value of the slider and the slider will move to the correct position", + "", + "Further details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).", + "", + "Breaking changes (1.0.0)", + "- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.", + "- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.", + "" + ], + "origin": { + "identifier": "DraggableSliderControl", + "name": "gdevelop-extension-store" + }, + "tags": [ + "draggable", + "slider", + "shape painter", + "ui", + "widget" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Let users select a numerical value by dragging a slider.", + "fullName": "Draggable slider", + "name": "DraggableSliderControl", + "objectType": "PrimitiveDrawing::Drawer", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure object doesn't get re-drawn every frame" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::ClearBetweenFrames" + }, + "parameters": [ + "Object", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Use correct min value (instead of always starting at 0)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMin()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set track height function (which enforces valid thumb sizes)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyTrackThickness()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start halo at same size as thumb" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyThumbHeight()/2,Object.Behavior::PropertyThumbWidth()/2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Slider logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::IsEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Track where the mouse is (in relation to object)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyMouseX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.ToDrawingX(MouseX(Object.Layer(), 0), MouseY(Object.Layer(), 0))" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyMouseY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.ToDrawingY(MouseX(Object.Layer(), 0), MouseY(Object.Layer(), 0))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move slider when being dragged" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyMouseX()" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "End sliding and update variables" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update \"Value\" based on the location of the thumb" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyValueMin() + (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin()) * Object.Behavior::PropertyThumbOffset() / Object.Behavior::PropertyTrackLength()", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Grow halo even more when pressed" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "1.25 * Object.Behavior::PropertyHaloRadius()" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect mouse clicks near track, start dragging" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisBouton" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseX()", + ">=", + "-Object.Behavior::PropertyHaloRadius()" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseX()", + "<=", + "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyHaloRadius()" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseY()", + ">=", + "-Object.Behavior::PropertyHaloRadius()" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseY()", + "<=", + "Object.Behavior::PropertyHaloRadius()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset hover detection " + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsHovered" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Grow halo when hovered" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "SourisBouton" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseX()", + ">=", + "Object.Behavior::PropertyThumbOffset() - Object.Behavior::PropertyHaloRadius()" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseX()", + "<=", + "Object.Behavior::PropertyThumbOffset() + Object.Behavior::PropertyHaloRadius()" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseY()", + ">=", + "- Object.Behavior::PropertyHaloRadius()" + ] + }, + { + "type": { + "value": "Egal" + }, + "parameters": [ + "Object.Behavior::PropertyMouseY()", + "<=", + "Object.Behavior::PropertyHaloRadius()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsHovered" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyHaloRadius()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Shrink halo to zero when not hovered" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsHovered" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "Object.Behavior::PropertyTargetHaloRadius()" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Redraw slider only when halo is not at final size" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "abs(Object.Behavior::PropertyCurrentHaloRadius() - Object.Behavior::PropertyTargetHaloRadius())", + "<", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyTargetHaloRadius()" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "Object.Behavior::PropertyTargetHaloRadius()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "lerp(Object.Behavior::PropertyCurrentHaloRadius(), Object.Behavior::PropertyTargetHaloRadius(), Object.Behavior::PropertyHaloGrowSpeed())" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Slider drawing", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "Visible" + }, + "parameters": [ + "Object" + ] + }, + { + "type": { + "value": "LayerVisible" + }, + "parameters": [ + "", + "Object.Layer()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::Drawer::ClearShapes" + }, + "parameters": [ + "Object" + ] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Inactive track", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set inactive track parameters (by default, use thumb color)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyInactiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbColor()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyInactiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyInactiveTrackColor()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillOpacity" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyInactiveTrackOpacity()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::OutlineOpacity" + }, + "parameters": [ + "Object", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw inactive track" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Rectangle" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbOffset()", + "-Object.Behavior::PropertyTrackThickness() / 2", + "Object.Behavior::PropertyTrackLength()", + "Object.Behavior::PropertyTrackThickness() / 2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw half circle at end of track (inactive side)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Arc" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTrackLength()", + "0", + "Object.Behavior::PropertyTrackThickness() / 2", + "270", + "90", + "", + "yes" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Active track", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set active track parameters (by default, use thumb color)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyActiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbColor()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyActiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyActiveTrackColor()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillOpacity" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyActiveTrackOpacity()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw active track (2 pixels bigger than property) " + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Rectangle" + }, + "parameters": [ + "Object", + "0", + "-(Object.Behavior::PropertyTrackThickness() / 2 + 1)", + "Object.Behavior::PropertyThumbOffset()", + "Object.Behavior::PropertyTrackThickness() / 2 + 1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw half circle at end of track (active side)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Arc" + }, + "parameters": [ + "Object", + "0", + "0", + "1 + Object.Behavior::PropertyTrackThickness() / 2", + "90", + "270", + "", + "yes" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Halo", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Prepare halo" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbColor()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::OutlineOpacity" + }, + "parameters": [ + "Object", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw halo (it will grow or shrink as needed)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillOpacity" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyHaloOpacityHover()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::Circle" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbOffset()", + "0", + "Object.Behavior::PropertyCurrentHaloRadius()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillOpacity" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyHaloOpacityClick()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::Circle" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbOffset()", + "0", + "Object.Behavior::PropertyCurrentHaloRadius()" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Thumb", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Prepare thumb settings" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbColor()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::FillOpacity" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyThumbOpacity()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw Circle thumb" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"circle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Circle" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbOffset()", + "0", + "ceil(max(Object.Behavior::PropertyThumbWidth(),Object.Behavior::PropertyThumbHeight())/2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw Rectangle thumb" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"rectangle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::Rectangle" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyThumbOffset() - (Object.Behavior::PropertyThumbWidth() / 2)", + "-Object.Behavior::PropertyThumbHeight() / 2", + "Object.Behavior::PropertyThumbOffset() + (Object.Behavior::PropertyThumbWidth() / 2)", + "Object.Behavior::PropertyThumbHeight() / 2" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider is being dragged.", + "fullName": "Being dragged", + "functionType": "Condition", + "group": "Slider", + "name": "IsBeingDragged", + "sentence": "_PARAM0_ is being dragged", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the slider interactions are enabled.", + "fullName": "Interactions enabled", + "functionType": "Condition", + "group": "Slider", + "name": "IsEnabled", + "sentence": "Interactions of _PARAM0_ are enabled", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Enable or disable the slider. Users cannot interact while it is disabled.", + "fullName": "Enable interactions", + "functionType": "Action", + "group": "Slider", + "name": "SetEnabled", + "sentence": "Enable interactions of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Enable\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset halo size (so halo won't appear when slider gets enabled)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Enable\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Enable", + "name": "Enable", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "The value of the slider (based on position of the thumb).", + "fullName": "Slider value", + "functionType": "Expression", + "group": "Slider", + "name": "Value", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValue()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the value of a slider (this will move the thumb to the correct position).", + "fullName": "Slider value", + "functionType": "Action", + "group": "Slider", + "name": "SetValue", + "sentence": "Change the value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + "<=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyValueMin()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMin()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + ">", + "Object.Behavior::PropertyValueMax()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyValueMax()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set the proper offset (it moves the slider)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Slider value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMin", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMin()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the minimum value of a slider.", + "fullName": "Slider minimum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMin", + "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"ValueMin\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Minimum value", + "name": "ValueMin", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The maximum value of a slider.", + "fullName": "Slider maximum value", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "ValueMax", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyValueMax()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Thickness of track.", + "fullName": "Slider track thickness", + "functionType": "Expression", + "group": "Slider track configuration", + "name": "TrackThickness", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTrackThickness()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Length of track.", + "fullName": "Slider track length", + "functionType": "Expression", + "group": "Slider track configuration", + "name": "TrackLength", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTrackLength()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Height of thumb.", + "fullName": "Slider thumb height", + "functionType": "Expression", + "group": "Slider thumb configuration", + "name": "ThumbHeight", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyThumbHeight()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the maximum value of a slider.", + "fullName": "Slider maximum value", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetValueMax", + "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"ValueMax\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Maximum value", + "name": "ValueMax", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "The tick spacing of a slider.", + "fullName": "Tick spacing", + "functionType": "Expression", + "group": "Slider value configuration", + "name": "TickSpacing", + "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTickSpacing()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Tick spacing", + "name": "TickSpacing", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the tick spacing of a slider.", + "fullName": "Tick spacing", + "functionType": "Action", + "group": "Slider value configuration", + "name": "SetTickSpacing", + "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"TickSpacing\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::Value()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Tick spacing", + "name": "TickSpacing", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change length of track.", + "fullName": "Track length", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetTrackLength", + "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move thumb to correct place (based on new track size)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyValue()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Track width", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change thickness of track.", + "fullName": "Track thickness", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetTrackThickness", + "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness() + 2" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness() + 2", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness() + 2" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness() + 2", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Track thickness", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change width of thumb.", + "fullName": "Thumb width", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbWidth", + "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Thumb width", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change height of thumb.", + "fullName": "Thumb height", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbHeight", + "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Thumb height", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", + "fullName": "Halo radius", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloRadius", + "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Halo radius", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the halo opacity when the thumb is hovered.", + "fullName": "Halo opacity (hover)", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloOpacityHover", + "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityHover" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Halo opacity (hover)", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of halo when pressed.", + "fullName": "Halo opacity (pressed)", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetHaloOpacityPressed", + "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityClick" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Halo opacity (pressed)", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change shape of thumb (circle or rectangle).", + "fullName": "Thumb shape", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbShape", + "sentence": "Change shape of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Shape\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"rectangle\"" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "Object.Behavior::PropertyTrackThickness()" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" + }, + "parameters": [ + "Object", + "Behavior", + "Object.Behavior::PropertyTrackThickness()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "New thumb shape", + "name": "Shape", + "supplementaryInformation": "[\"circle\",\"rectangle\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Make track use rounded ends.", + "fullName": "Rounded track ends", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetRoundedTrack", + "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"Value\")", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Egal" + }, + "parameters": [ + "GetArgumentAsNumber(\"Value\")", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Rounded track", + "name": "Value", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of thumb.", + "fullName": "Thumb opacity", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbOpacity", + "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Thumb opacity", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of inactive track.", + "fullName": "Inactive track opacity", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetInactiveTrackOpacity", + "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Inactive track opacity", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change opacity of active track.", + "fullName": "Active track opacity", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetActiveTrackOpacity", + "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Active track opacity", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the color of the track that is LEFT of the thumb.", + "fullName": "Active track color ", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetActiveTrackColor", + "sentence": "Change active track color of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Color\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Active track color", + "name": "Color", + "type": "color" + } + ], + "objectGroups": [] + }, + { + "description": "Change the color of the track that is RIGHT of the thumb.", + "fullName": "Inactive track color", + "functionType": "Action", + "group": "Slider track configuration", + "name": "SetInactiveTrackColor", + "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Color\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Inactive track color", + "name": "Color", + "type": "color" + } + ], + "objectGroups": [] + }, + { + "description": "Change the thumb color to a specific value.", + "fullName": "Thumb color", + "functionType": "Action", + "group": "Slider thumb configuration", + "name": "SetThumbColor", + "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" + }, + "parameters": [ + "Object", + "Behavior", + "GetArgumentAsString(\"Color\")" + ] + }, + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + }, + { + "description": "Thumb color", + "name": "Color", + "type": "color" + } + ], + "objectGroups": [] + }, + { + "description": "Update the hitbox.", + "fullName": "Update hitbox", + "functionType": "Action", + "group": "Private", + "name": "UpdateHitbox", + "private": true, + "sentence": "Update the hitbox of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::SetRotationCenter" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyTrackLength() / 2", + "Object.Behavior::PropertyTrackThickness() / 2" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::SetRectangularCollisionMask" + }, + "parameters": [ + "Object", + "-Object.Behavior::PropertyThumbWidth() / 2", + "-Object.Behavior::PropertyThumbHeight() / 2", + "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", + "Object.Behavior::PropertyThumbHeight() / 2" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "0", + "type": "Number", + "label": "Minimum value", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ValueMin" + }, + { + "value": "1", + "type": "Number", + "label": "Maximum value", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "ValueMax" + }, + { + "value": "0", + "type": "Number", + "label": "Tick spacing", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "TickSpacing" + }, + { + "value": "circle", + "type": "Choice", + "label": "Thumb shape", + "description": "", + "group": "Thumb", + "extraInformation": [ + "circle", + "rectangle" + ], + "hidden": false, + "name": "ThumbShape" + }, + { + "value": "20", + "type": "Number", + "label": "Thumb width", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbWidth" + }, + { + "value": "20", + "type": "Number", + "label": "Thumb height", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbHeight" + }, + { + "value": " 24;119;211", + "type": "Color", + "label": "Thumb Color", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbColor" + }, + { + "value": "255", + "type": "Number", + "label": "Thumb opacity", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "ThumbOpacity" + }, + { + "value": "200", + "type": "Number", + "label": "Track length", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "TrackLength" + }, + { + "value": "4", + "type": "Number", + "label": "Track thickness", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "TrackThickness" + }, + { + "value": "", + "type": "String", + "label": "Inactive track color (thumb color by default)", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "InactiveTrackColor" + }, + { + "value": "96", + "type": "Number", + "label": "Inactive track opacity", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "InactiveTrackOpacity" + }, + { + "value": " ", + "type": "String", + "label": "Active track color (thumb color by default)", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "ActiveTrackColor" + }, + { + "value": "255", + "type": "Number", + "label": "Active track opacity", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "ActiveTrackOpacity" + }, + { + "value": "24", + "type": "Number", + "label": "Halo size (hover)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloRadius" + }, + { + "value": "32", + "type": "Number", + "label": "Halo opacity (hover)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloOpacityHover" + }, + { + "value": "64", + "type": "Number", + "label": "Halo opacity (pressed)", + "description": "", + "group": "Thumb", + "extraInformation": [], + "hidden": false, + "name": "HaloOpacityClick" + }, + { + "value": "true", + "type": "Boolean", + "label": "Rounded track ends", + "description": "", + "group": "Track", + "extraInformation": [], + "hidden": false, + "name": "RoundedTrack" + }, + { + "value": "true", + "type": "Boolean", + "label": "Enable interactions", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "Enabled" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsBeingDragged" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Value" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ThumbOffset" + }, + { + "value": "true", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "NeedRedraw" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "IsHovered" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MouseY" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CurrentHaloRadius" + }, + { + "value": "0.2", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "HaloGrowSpeed" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TargetHaloRadius" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "Movement", + "extensionNamespace": "", + "fullName": "Rectangular movement", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", + "name": "RectangleMovement", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", + "shortDescription": "Move objects in a rectangular pattern.", + "version": "1.1.0", + "description": [ + "Move objects in a rectangular pattern with easing functions from the Tween extension.", + "", + "It can be used for:", + "- Moveable platforms", + "- Enemy movement patterns", + "- Moving along the border of another object", + "", + "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer)).", + "", + "This example can be used to check some settings ([open the project online](https://editor.gdevelop.io/?project=example://rectangular-movement))." + ], + "origin": { + "identifier": "RectangleMovement", + "name": "gdevelop-extension-store" + }, + "tags": [ + "rectangular", + "movement", + "rectangle", + "patrol", + "platform", + "enemy" + ], + "authorIds": [ + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Distance from object to the closest edge of second object", + "fullName": "Distance from object to the closest edge of second object", + "functionType": "Expression", + "name": "DistanceToClosestEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If point is inside rectangle, just use min distance" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxBottom()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min(\nmin(\nMovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop(), \nCenterObject.BoundingBoxBottom() - MovingObject.BoundingBoxCenterY()),\nmin(\nMovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft(), \nCenterObject.BoundingBoxRight() - MovingObject.BoundingBoxCenterX())\n)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If point is outside rectangle, find distance to clamped position on rectangle" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + ">", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">", + "CenterObject.BoundingBoxBottom()" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.", + "fullName": "Update rectangular movement to follow the border of an object", + "functionType": "Action", + "name": "MoveAlongBorderOfObject", + "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create object link (if one has not been created)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Set a valid initial value by picking any Center object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdge", + "=", + "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update value if distance is lower than existing minimum", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdge", + "=", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject))" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Link objects that have the closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)", + "=", + "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update rectangular movement to follow the border of object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Rectangle Movement (required)", + "name": "RectangleMovement", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Set initial position to the nearest corner of the center object. Creates a link to the center object if a link does not exist.", + "fullName": "Set initial position to the nearest corner of the center object", + "functionType": "Action", + "name": "SetInitialPositionToNearestCorner", + "sentence": "Set initial position of _PARAM1_ to the nearest corner of _PARAM3_", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create object link (if one has not been created)", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::MoveAlongBorderOfObject" + }, + "parameters": [ + "", + "MovingObject", + "RectangleMovement", + "CenterObject", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Find nearest corner", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "CenterObject", + "MovingObject", + "" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Distance to TopLeft (don't use a condition on the first check so the variable starts with a valid corner)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerDistance", + "=", + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxTop())" + ] + }, + { + "type": { + "value": "ModVarObjetTxt" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerName", + "=", + "\"Top-left corner\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Distance to TopRight" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxTop())", + "<", + "MovingObject.Variable(__RectangleMovement.ClosestCornerDistance)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerDistance", + "=", + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxTop())" + ] + }, + { + "type": { + "value": "ModVarObjetTxt" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerName", + "=", + "\"Top-right corner\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Distance to BottomLeft" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxBottom())", + "<", + "MovingObject.Variable(__RectangleMovement.ClosestCornerDistance)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerDistance", + "=", + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxBottom())" + ] + }, + { + "type": { + "value": "ModVarObjetTxt" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerName", + "=", + "\"Bottom-left corner\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Distance to BottomRight" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxBottom())", + "<", + "MovingObject.Variable(__RectangleMovement.ClosestCornerDistance)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerDistance", + "=", + "DistanceBetweenPositions(MovingObject.BoundingBoxCenterX(), MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxRight(), CenterObject.BoundingBoxBottom())" + ] + }, + { + "type": { + "value": "ModVarObjetTxt" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.ClosestCornerName", + "=", + "\"Bottom-right corner\"" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Set initial position based on nearest corner", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "CenterObject", + "MovingObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "MovingObject.VariableString(__RectangleMovement.ClosestCornerName)", + "" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Rectangle Movement (required)", + "name": "RectangleMovement", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [ + { + "description": "Move objects in a rectangular pattern.", + "fullName": "Rectangular movement", + "name": "RectangleMovement", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyOldX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X()" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyOldY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Set the initial state according to the configuration." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Top-right corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Bottom-right corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Bottom-left corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X() - Object.Behavior::DeltaX()" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyTop" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y() - Object.Behavior::DeltaY()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update the rectangle when the object is moved outside of the behavior." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.X() - Object.Behavior::PropertyOldX()" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyTop" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Y() - Object.Behavior::PropertyOldY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move the object on the rectangular path." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "MettreXY" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyLeft() + Object.Behavior::DeltaX()", + "=", + "Object.Behavior::PropertyTop() + Object.Behavior::DeltaY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the position to detect when the object is moved outside of the behavior." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyOldX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X()" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyOldY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Step on the path." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "mod(Object.Behavior::PropertyProgress() + TimeDelta() / Object.Behavior::LoopDuration(), 1)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "mod(Object.Behavior::PropertyProgress() - TimeDelta() / Object.Behavior::LoopDuration(), 1)" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Teleport the object to a corner of the movement rectangle.", + "fullName": "Teleport at a corner", + "functionType": "Action", + "name": "TeleportToCorner", + "sentence": "Set the position of _PARAM0_ at the _PARAM2_ of the rectangle loop", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareStrings" + }, + "parameters": [ + "GetArgumentAsString(\"Corner\")", + "=", + "\"Top-left corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareStrings" + }, + "parameters": [ + "GetArgumentAsString(\"Corner\")", + "=", + "\"Top-right corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareStrings" + }, + "parameters": [ + "GetArgumentAsString(\"Corner\")", + "=", + "\"Bottom-right corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareStrings" + }, + "parameters": [ + "GetArgumentAsString(\"Corner\")", + "=", + "\"Bottom-left corner\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Corner", + "name": "Corner", + "supplementaryInformation": "[\"Top-left corner\",\"Top-right corner\",\"Bottom-left corner\",\"Bottom-right corner\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Return the perimeter of the movement rectangle.", + "fullName": "Perimeter", + "functionType": "Expression", + "group": "Rectangular movement shape", + "name": "Perimeter", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "2 * (abs(Object.Behavior::PropertyWidth()) + abs(Object.Behavior::PropertyHeight()))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the time the object takes to go through the whole rectangle (in seconds).", + "fullName": "Loop duration", + "functionType": "Expression", + "name": "LoopDuration", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "2 * (Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration())" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the time the object takes to go through a horizontal edge (in seconds).", + "fullName": "Horizontal edge duration", + "functionType": "Expression", + "name": "HorizontalEdgeDuration", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyHorizontalEdgeDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the time the object takes to go through a vertical edge (in seconds).", + "fullName": "Vertical edge duration", + "functionType": "Expression", + "name": "VerticalEdgeDuration", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyVerticalEdgeDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the rectangle width.", + "fullName": "Width", + "functionType": "Expression", + "group": "Rectangular movement/Shape", + "name": "Width", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyWidth()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the rectangle height.", + "fullName": "Height", + "functionType": "Expression", + "group": "Rectangular movement/Shape", + "name": "Height", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyHeight()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the left bound of the movement.", + "fullName": "Left bound", + "functionType": "Expression", + "group": "Rectangular movement/Shape", + "name": "Left", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyLeft()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the top bound of the movement.", + "fullName": "Top bound", + "functionType": "Expression", + "group": "Rectangular movement/Shape", + "name": "Top", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTop()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the right bound of the movement.", + "fullName": "Right bound", + "functionType": "Expression", + "group": "Rectangular movement/Shape", + "name": "Right", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyLeft() + Object.Behavior::PropertyWidth()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the bottom bound of the movement.", + "fullName": "Bottom bound", + "functionType": "Expression", + "group": "Rectangular movement/Shape", + "name": "Bottom", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyTop() + Object.Behavior::PropertyHeight()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the left bound of the rectangular movement.", + "fullName": "Left bound", + "functionType": "Action", + "group": "Rectangular movement shape", + "name": "SetLeft", + "sentence": "Change the movement left bound of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyWidth" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyLeft() - GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyLeft" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the top bound of the rectangular movement.", + "fullName": "Top bound", + "functionType": "Action", + "group": "Rectangular movement shape", + "name": "SetTop", + "sentence": "Change the movement top bound of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyHeight" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Behavior::PropertyTop() - GetArgumentAsNumber(\"Value\")" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyTop" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the right bound of the rectangular movement.", + "fullName": "Right bound", + "functionType": "Action", + "group": "Rectangular movement shape", + "name": "SetRight", + "sentence": "Change the movement right bound of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyWidth" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\") - Object.Behavior::PropertyLeft()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the bottom bound of the rectangular movement.", + "fullName": "Bottom bound", + "functionType": "Action", + "group": "Rectangular movement shape", + "name": "SetBottom", + "sentence": "Change the movement bottom bound of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyHeight" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\") - Object.Behavior::PropertyTop()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the time the object takes to go through a horizontal edge (in seconds).", + "fullName": "Horizontal edge duration", + "functionType": "Action", + "group": "Rectangular movement speed", + "name": "SetHorizontalEdgeDuration", + "sentence": "Change the time _PARAM0_ takes to go through a horizontal edge to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyHorizontalEdgeDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the time the object takes to go through a vertical edge (in seconds).", + "fullName": "Vertical edge duration", + "functionType": "Action", + "group": "Rectangular movement speed", + "name": "SetVerticalEdgeDuration", + "sentence": "Change the time _PARAM0_ takes to go through a vertical edge to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyVerticalEdgeDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Value", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the direction to clockwise or counter-clockwise.", + "fullName": "Clockwise", + "functionType": "Action", + "group": "Rectangular movement speed", + "name": "SetClockwise", + "sentence": "Use clockwise direction for _PARAM0_: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"Value\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Clockwise", + "name": "Value", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Change the easing function of the movement.", + "fullName": "Easing", + "functionType": "Action", + "group": "Rectangular movement speed", + "name": "SetEasing", + "sentence": "Change the easing of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyEasing" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsString(\"Value\")" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Easing", + "name": "Easing", + "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", + "type": "stringWithSelector" + } + ], + "objectGroups": [] + }, + { + "description": "Toggle the direction to clockwise or counter-clockwise.", + "fullName": "Toggle direction", + "functionType": "Action", + "name": "ToogleClockwise", + "sentence": "Toogle the direction of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyToogleClockwise" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyToogleClockwise" + }, + "parameters": [ + "Object", + "Behavior", + "=" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyToogleClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyToogleClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior", + "yes" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is moving clockwise.", + "fullName": "Is moving clockwise", + "functionType": "Condition", + "name": "IsMovingClockwise", + "sentence": "_PARAM0_ is moving clockwise", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is moving to the left.", + "fullName": "Is moving left", + "functionType": "Condition", + "name": "IsMovingLeft", + "sentence": "_PARAM0_ is moving to the left", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnTop" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnBottom" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is moving up.", + "fullName": "Is moving up", + "functionType": "Condition", + "name": "IsMovingUp", + "sentence": "_PARAM0_ is moving up", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnLeft" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnRight" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Object is moving to the right.", + "fullName": "Is moving right", + "functionType": "Condition", + "name": "IsMovingRight", + "sentence": "_PARAM0_ is moving to the right", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnTop" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnBottom" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is moving down.", + "fullName": "Is moving down", + "functionType": "Condition", + "name": "IsMovingDown", + "sentence": "_PARAM0_ is moving down", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnRight" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsOnLeft" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Object is on the left side of the rectangle.", + "fullName": "Is on left", + "functionType": "Condition", + "name": "IsOnLeft", + "sentence": "_PARAM0_ is on the left side", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + ">=", + "Object.Behavior::BottomLeftDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Object is on the top side of the rectangle.", + "fullName": "Is on top", + "functionType": "Condition", + "name": "IsOnTop", + "sentence": "_PARAM0_ is on the top side", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<=", + "Object.Behavior::TopRightDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Object is on the right side of the rectangle.", + "fullName": "Is on right", + "functionType": "Condition", + "name": "IsOnRight", + "sentence": "_PARAM0_ is on the right side", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + ">=", + "Object.Behavior::TopRightDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<=", + "Object.Behavior::BottomRightDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Object is on the bottom side of the rectangle.", + "fullName": "Is on bottom", + "functionType": "Condition", + "name": "IsOnBottom", + "sentence": "_PARAM0_ is on the bottom side", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + ">=", + "Object.Behavior::BottomRightDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<=", + "Object.Behavior::BottomLeftDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the duration between the top-left vertex and the top-right one.", + "fullName": "Duration to top right", + "functionType": "Expression", + "name": "TopRightDuration", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyHorizontalEdgeDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the duration between the top-left vertex and the bottom-right one.", + "fullName": "Duration to bottom right", + "functionType": "Expression", + "name": "BottomRightDuration", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the duration between the top-left vertex and the bottom-left one.", + "fullName": "Duration to bottom left", + "functionType": "Expression", + "name": "BottomLeftDuration", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "2 * Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the ratio between the covered distance from the last vertex and the edge length (between 0 and 1).", + "fullName": "Progress on edge", + "functionType": "Expression", + "name": "EdgeProgress", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::HalfCurrentTime() / Object.Behavior::PropertyHorizontalEdgeDuration()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::HalfCurrentTime()", + ">=", + "abs(Object.Behavior::PropertyHorizontalEdgeDuration())" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "(Object.Behavior::HalfCurrentTime() - Object.Behavior::PropertyHorizontalEdgeDuration()) / Object.Behavior::PropertyVerticalEdgeDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the X position of the current edge origin.", + "fullName": "Edge origin X", + "functionType": "Expression", + "name": "EdgeOriginX", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + ">=", + "Object.Behavior::TopRightDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<", + "Object.Behavior::BottomLeftDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyWidth()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the Y position of the current edge origin.", + "fullName": "Edge origin Y", + "functionType": "Expression", + "name": "EdgeOriginY", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + ">=", + "Object.Behavior::BottomRightDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<", + "Object.Behavior::Perimeter()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyHeight()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the X position of the current edge target.", + "fullName": "Edge target X", + "functionType": "Expression", + "name": "EdgeTargetY", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + ">=", + "Object.Behavior::TopRightDuration()" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<", + "Object.Behavior::BottomLeftDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyHeight()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the Y position of the current edge target.", + "fullName": "Edge target Y", + "functionType": "Expression", + "name": "EdgeTargetX", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Behavior::CurrentTime()", + "<", + "Object.Behavior::BottomRightDuration()" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyWidth()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the time from the top-left vertex.", + "fullName": "Current time", + "functionType": "Expression", + "name": "CurrentTime", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyProgress() * Object.Behavior::LoopDuration()" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the covered length from the top-left vertex or the bottom-right one.", + "fullName": "Half Current length", + "functionType": "Expression", + "name": "HalfCurrentTime", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object. Behavior::LoopDuration() * mod(Object.Behavior::PropertyProgress(), 0.5)" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the displacement on the X axis from the top-left vertex.", + "fullName": "Delta X", + "functionType": "Expression", + "name": "DeltaX", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::EdgeOriginX(), Object.Behavior::EdgeTargetX(), Object.Behavior::EdgeProgress())" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the displacement on the Y axis from the top-left vertex.", + "fullName": "Delta Y", + "functionType": "Expression", + "name": "DeltaY", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::EdgeOriginY(), Object.Behavior::EdgeTargetY(), Object.Behavior::EdgeProgress())" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "100", + "type": "Number", + "unit": "Pixel", + "label": "Width", + "description": "", + "group": "Dimension", + "extraInformation": [], + "hidden": false, + "name": "Width" + }, + { + "value": "100", + "type": "Number", + "unit": "Pixel", + "label": "Height", + "description": "", + "group": "Dimension", + "extraInformation": [], + "hidden": false, + "name": "Height" + }, + { + "value": "true", + "type": "Boolean", + "label": "Clockwise", + "description": "", + "group": "Speed", + "extraInformation": [], + "hidden": false, + "name": "Clockwise" + }, + { + "value": "4", + "type": "Number", + "unit": "Second", + "label": "Horizontal edge duration", + "description": "", + "group": "Speed", + "extraInformation": [], + "hidden": false, + "name": "HorizontalEdgeDuration" + }, + { + "value": "1", + "type": "Number", + "unit": "Second", + "label": "Vertical edge duration", + "description": "", + "group": "Speed", + "extraInformation": [], + "hidden": false, + "name": "VerticalEdgeDuration" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Left" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Top" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "Progress" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "OldX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "OldY" + }, + { + "value": "easeInOutSine", + "type": "Choice", + "label": "Easing", + "description": "", + "group": "Speed", + "extraInformation": [ + "linear", + "easeInQuad", + "easeOutQuad", + "easeInOutQuad", + "easeInCubic", + "easeOutCubic", + "easeInOutCubic", + "easeInQuart", + "easeOutQuart", + "easeInOutQuart", + "easeInQuint", + "easeOutQuint", + "easeInOutQuint", + "easeInOutSine", + "easeInExpo", + "easeOutExpo", + "easeInOutExpo", + "easeInCirc", + "easeOutCirc", + "easeInOutCirc", + "easeOutBounce", + "easeInBack", + "easeOutBack", + "easeInOutBack", + "elastic", + "swingFromTo", + "swingFrom", + "swingTo", + "bounce", + "bouncePast", + "easeFromTo", + "easeFrom", + "easeTo" + ], + "hidden": false, + "name": "Easing" + }, + { + "value": "Top-left corner", + "type": "Choice", + "label": "Initial position", + "description": "", + "group": "", + "extraInformation": [ + "Top-left corner", + "Top-right corner", + "Bottom-right corner", + "Bottom-left corner" + ], + "hidden": false, + "name": "InitialPosition" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "ToogleClockwise" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + } + ], + "externalLayouts": [], + "externalSourceFiles": [] +} \ No newline at end of file diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json deleted file mode 100644 index 5fc15b24e..000000000 --- a/examples/rectangular-movement/rectangular-movement.json +++ /dev/null @@ -1,11712 +0,0 @@ -{ - "firstLayout": "Rectangle Movement", - "gdVersion": { - "build": 99, - "major": 4, - "minor": 0, - "revision": 0 - }, - "properties": { - "adaptGameResolutionAtRuntime": true, - "folderProject": false, - "orientation": "landscape", - "packageName": "com.example.gamename", - "pixelsRounding": false, - "projectUuid": "be98d949-c9a0-4972-86df-1cfb5a10fea6", - "scaleMode": "linear", - "sizeOnStartupMode": "", - "templateSlug": "", - "useExternalSourceFiles": false, - "version": "1.0.0", - "name": "Rectangle movement example", - "description": "Show how to use the \"Rectangle movement\" extension.", - "author": "", - "windowWidth": 854, - "windowHeight": 480, - "latestCompilationDirectory": "", - "maxFPS": 60, - "minFPS": 20, - "verticalSync": false, - "platformSpecificAssets": {}, - "loadingScreen": { - "backgroundColor": 0, - "backgroundFadeInDuration": 0.2, - "backgroundImageResourceName": "", - "gdevelopLogoStyle": "light", - "logoAndProgressFadeInDuration": 0.2, - "logoAndProgressLogoFadeInDelay": 0.2, - "minDuration": 1.5, - "progressBarColor": 16777215, - "progressBarHeight": 20, - "progressBarMaxWidth": 200, - "progressBarMinWidth": 40, - "progressBarWidthPercent": 30, - "showGDevelopSplash": true, - "showProgressBar": true - }, - "watermark": { - "placement": "bottom-left", - "showWatermark": true - }, - "authorIds": [ - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "authorUsernames": [], - "categories": [], - "playableDevices": [], - "extensionProperties": [], - "platforms": [ - { - "name": "GDevelop JS platform" - } - ], - "currentPlatform": "GDevelop JS platform" - }, - "resources": { - "resources": [ - { - "alwaysLoaded": false, - "file": "assets/Red playerShip (1)2.png", - "kind": "image", - "metadata": "", - "name": "Red playerShip (1).png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://resources.gdevelop-app.com/assets/Space Shooter/PNG/Red playerShip (1).png", - "name": "gdevelop-asset-store" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Bottom arrow round button2.png", - "kind": "image", - "metadata": "", - "name": "Bottom arrow round button.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://resources.gdevelop-app.com/assets/On-Screen Controls/Sprites/Line Light/Bottom arrow round button.png", - "name": "gdevelop-asset-store" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Left arrow round button2.png", - "kind": "image", - "metadata": "", - "name": "Left arrow round button.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://resources.gdevelop-app.com/assets/On-Screen Controls/Sprites/Line Light/Left arrow round button.png", - "name": "gdevelop-asset-store" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Right arrow round button2.png", - "kind": "image", - "metadata": "", - "name": "Right arrow round button.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://resources.gdevelop-app.com/assets/On-Screen Controls/Sprites/Line Light/Right arrow round button.png", - "name": "gdevelop-asset-store" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Top arrow round button2.png", - "kind": "image", - "metadata": "", - "name": "Top arrow round button.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://resources.gdevelop-app.com/assets/On-Screen Controls/Sprites/Line Light/Top arrow round button.png", - "name": "gdevelop-asset-store" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Launch round button2.png", - "kind": "image", - "metadata": "", - "name": "Launch round button.png", - "smoothed": true, - "userAdded": false, - "origin": { - "identifier": "https://resources.gdevelop-app.com/assets/On-Screen Controls/Sprites/Shaded Light/Launch round button.png", - "name": "gdevelop-asset-store" - } - }, - { - "alwaysLoaded": false, - "file": "assets/TopLeftButton2.png", - "kind": "image", - "metadata": "", - "name": "assets\\TopLeftButton.png", - "smoothed": true, - "userAdded": true - }, - { - "alwaysLoaded": false, - "file": "assets/BottomLeftButton2.png", - "kind": "image", - "metadata": "", - "name": "assets\\BottomLeftButton.png", - "smoothed": true, - "userAdded": true - }, - { - "alwaysLoaded": false, - "file": "assets/TopRightButton2.png", - "kind": "image", - "metadata": "", - "name": "assets\\TopRightButton.png", - "smoothed": true, - "userAdded": true - }, - { - "alwaysLoaded": false, - "file": "assets/BottomRightButton2.png", - "kind": "image", - "metadata": "", - "name": "assets\\BottomRightButton.png", - "smoothed": true, - "userAdded": true - }, - { - "alwaysLoaded": false, - "file": "assets/TopLeftCorner2.png", - "kind": "image", - "metadata": "", - "name": "assets\\TopLeftCorner.png", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/TopRightCorner2.png", - "kind": "image", - "metadata": "", - "name": "assets\\TopRightCorner.png", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/BottomRightCorner2.png", - "kind": "image", - "metadata": "", - "name": "assets\\BottomRightCorner.png", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/BottomLeftCorner2.png", - "kind": "image", - "metadata": "", - "name": "assets\\BottomLeftCorner.png", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/VerticalEdgeIcon2.png", - "kind": "image", - "metadata": "", - "name": "assets\\VerticalEdgeIcon.png", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/HorizontalEdgeIcon2.png", - "kind": "image", - "metadata": "", - "name": "assets\\HorizontalEdgeIcon.png", - "smoothed": true, - "userAdded": true - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_Off.png", - "kind": "image", - "metadata": "", - "name": "Saw_Off.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_Off.png", - "name": "Saw_Off.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_1.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_1.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_On_1.png", - "name": "Saw_On_1.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_2.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_2.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/1d982f3e006a7ac6b76bca8cefbf716fd017b25f7e0218942276b4dd92ac1813_Saw_On_2.png", - "name": "Saw_On_2.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_3.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_3.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b208726b0292bb1f401f3738902ec190c004841ae8c555b2817d9f19ef46ca62_Saw_On_3.png", - "name": "Saw_On_3.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_4.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_4.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b6119060081879814ea630f152a39fb3c303d421b797515814c045b73b94abdf_Saw_On_4.png", - "name": "Saw_On_4.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_5.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_5.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/2cfa1cffe1380dd56016085e018c4b68844c6f669e67925dd365481f8ef26586_Saw_On_5.png", - "name": "Saw_On_5.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_6.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_6.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/75d8836f8bfc835f3217c0468d04f8aae970f136231c792f1251b73f5e868058_Saw_On_6.png", - "name": "Saw_On_6.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_7.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_7.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/6351b1a83d1930df91b19b49cc23a375aa154ee74f7a31280acc6abb6f1b1fd2_Saw_On_7.png", - "name": "Saw_On_7.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_8.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_8.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/63cce13ef5f9e917ed2de1359357510061e462e6cc8183553c0fb0c70a3c03f9_Saw_On_8.png", - "name": "Saw_On_8.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/9patch_Bordered Hud_all_32.png", - "kind": "image", - "metadata": "", - "name": "9patch_Bordered Hud_all_32.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Western FPS 2D/Hud/998f3521bccc8b5fedee0a2f6891d6c2604964a6cb048c4858575443b3634f4d_9patch_Bordered Hud_all_32.png", - "name": "9patch_Bordered Hud_all_32.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/NewSprite.png", - "kind": "image", - "metadata": "{\"extension\":\".png\"}", - "name": "NewSprite", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/NewSprite2.png", - "kind": "image", - "metadata": "{\"extension\":\".png\"}", - "name": "NewSprite2", - "smoothed": true, - "userAdded": false - } - ], - "resourceFolders": [] - }, - "objects": [], - "objectsGroups": [], - "variables": [], - "layouts": [ - { - "b": 31, - "disableInputWhenNotFocused": true, - "mangledName": "Rectangle_32Movement", - "name": "Rectangle Movement", - "r": 31, - "standardSortMethod": true, - "stopSoundsOnStartup": true, - "title": "", - "v": 31, - "uiSettings": { - "grid": false, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridColor": 10401023, - "gridAlpha": 0.8, - "snap": false, - "zoomFactor": 1.026002653128652, - "windowMask": false - }, - "objectsGroups": [ - { - "name": "Corner", - "objects": [ - { - "name": "TopLeftCorner" - }, - { - "name": "TopRightCorner" - }, - { - "name": "BottomRightCorner" - }, - { - "name": "BottomLeftCorner" - } - ] - }, - { - "name": "MovingObjects", - "objects": [ - { - "name": "Ship" - }, - { - "name": "Saw_TopLeft" - }, - { - "name": "Saw_BottomLeft" - }, - { - "name": "Saw_BottomRight" - }, - { - "name": "Saw_TopRight" - } - ] - }, - { - "name": "Saws", - "objects": [ - { - "name": "Saw_TopLeft" - }, - { - "name": "Saw_BottomLeft" - }, - { - "name": "Saw_BottomRight" - }, - { - "name": "Saw_TopRight" - } - ] - } - ], - "variables": [], - "instances": [ - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Ship", - "persistentUuid": "dd4c94fd-46c2-4295-a91f-dd5bd83adcdc", - "width": 0, - "x": 83, - "y": 242, - "zOrder": 3, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Trajectory", - "persistentUuid": "14c2a1d9-7d36-41d4-ac60-819e8820da0e", - "width": 0, - "x": 364, - "y": -60, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "BottomArrowRoundButton", - "persistentUuid": "df762352-5127-472c-93a3-0afcdde4d15e", - "width": 32, - "x": 770, - "y": 70, - "zOrder": 4, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "LeftArrowRoundButton", - "persistentUuid": "82b9d847-0e61-44ff-9347-fc1e56a83474", - "width": 32, - "x": 743, - "y": 43, - "zOrder": 5, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "RightArrowRoundButton", - "persistentUuid": "92a19aae-673d-4369-93a5-75c5f2a646a6", - "width": 32, - "x": 797, - "y": 43, - "zOrder": 6, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "TopArrowRoundButton", - "persistentUuid": "c61738a6-47b5-4043-a440-c74dfd737dcd", - "width": 32, - "x": 770, - "y": 16, - "zOrder": 7, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "CurrentEdge", - "persistentUuid": "13e1b39b-e9b4-4f52-80cb-d16367629ae0", - "width": 0, - "x": 400, - "y": -60, - "zOrder": 2, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 53, - "layer": "", - "name": "LaunchRoundButton", - "persistentUuid": "dbb9127d-4786-4677-8bbd-7d82ac5ffe6c", - "width": 53, - "x": 160, - "y": 38, - "zOrder": 8, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "HorizontalDurationSlider", - "persistentUuid": "4fc8c105-82d3-4ac0-bd31-ed0b22e65bcf", - "width": 0, - "x": 323, - "y": 30, - "zOrder": 9, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "TopRightButton", - "persistentUuid": "9102e136-36a2-4ede-b327-6edd216c51ab", - "width": 32, - "x": 65, - "y": 20, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "TopLeftButton", - "persistentUuid": "46c5ca26-1377-4924-af5d-ca27f6e1834e", - "width": 32, - "x": 16, - "y": 20, - "zOrder": 11, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "BottomLeftButton", - "persistentUuid": "c1f0c170-7c20-461f-83e3-74e05dca06a2", - "width": 32, - "x": 16, - "y": 70, - "zOrder": 12, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 32, - "layer": "", - "name": "BottomRightButton", - "persistentUuid": "55f62165-8179-4057-9b59-cfdb14295aac", - "width": 32, - "x": 65, - "y": 70, - "zOrder": 13, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "VerticalDurationText", - "persistentUuid": "c9d9f889-f23a-4d32-8052-5ba2fd810116", - "width": 0, - "x": 554, - "y": 102, - "zOrder": 14, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "HorizontalDurationText", - "persistentUuid": "fd3d01e7-ecaf-4235-a687-7512106f5a39", - "width": 0, - "x": 551, - "y": 16, - "zOrder": 15, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "VerticalDurationSlider", - "persistentUuid": "cf4d24ec-5bfb-49ba-91f9-854d4e576372", - "width": 0, - "x": 326, - "y": 116, - "zOrder": 16, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "VerticalEdgeIcon", - "persistentUuid": "85025344-06bd-4f92-b80f-e90d74bb8941", - "width": 0, - "x": 270, - "y": 100, - "zOrder": 17, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "HorizontalEdgeIcon", - "persistentUuid": "4eed9e50-163a-47c9-86ed-29d24ee93c4b", - "width": 0, - "x": 267, - "y": 14, - "zOrder": 18, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Reverse_Text", - "persistentUuid": "17525b1c-04eb-4ee7-b613-7ce09cad0bb7", - "width": 0, - "x": 143, - "y": 112, - "zOrder": 21, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "MoveToCorner_Text", - "persistentUuid": "bcb0d6b4-0a06-435d-9e56-e8db4ab3d5b7", - "width": 0, - "x": 18, - "y": 113, - "zOrder": 22, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "MovementDirection_Text", - "persistentUuid": "56979510-ddf5-478a-bb63-9b4f03c84f9e", - "width": 0, - "x": 744, - "y": 111, - "zOrder": 23, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "HorizontalDuration_Text", - "persistentUuid": "43e10301-cb97-4f29-aa58-79f4b80ba31d", - "width": 0, - "x": 336, - "y": 50, - "zOrder": 24, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "VerticalDuration_Text", - "persistentUuid": "5c85ceea-1fdb-471e-876f-38618854fda2", - "width": 0, - "x": 345, - "y": 133, - "zOrder": 25, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "InstructionsShip_Text", - "persistentUuid": "299a4b99-214b-4dd4-a260-68c567e329d1", - "width": 0, - "x": 49, - "y": 423, - "zOrder": 26, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "InstructionsSaw_Text", - "persistentUuid": "0caace04-0116-45e1-928f-944a81fb94a8", - "width": 0, - "x": 485, - "y": 426, - "zOrder": 27, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_TopLeft", - "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", - "width": 0, - "x": 527, - "y": 188, - "zOrder": 29, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_BottomLeft", - "persistentUuid": "dbc06742-fad8-46dc-bbfc-612eccf3fb8c", - "width": 0, - "x": 528, - "y": 380, - "zOrder": 30, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_BottomRight", - "persistentUuid": "7ae8dd52-e6a8-498b-aec7-196c2afb86cf", - "width": 0, - "x": 760, - "y": 380, - "zOrder": 31, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_TopRight", - "persistentUuid": "6e4401f1-56a3-47ff-a235-47330dcd02f3", - "width": 0, - "x": 758, - "y": 187, - "zOrder": 32, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 81, - "layer": "", - "name": "BorderedHud", - "persistentUuid": "83a14713-1a5a-4447-8c1b-ab18e60abcb8", - "width": 75, - "x": 606, - "y": 246, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 205, - "layer": "", - "name": "BorderedHud", - "persistentUuid": "fe4899a6-6668-4069-826d-c4fa511e0a8b", - "width": 245, - "x": 520, - "y": 182, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_TopLeft", - "persistentUuid": "da7b905c-98af-4b17-a585-4bb12938ad13", - "width": 0, - "x": 613, - "y": 251, - "zOrder": 33, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "objects": [ - { - "assetStoreId": "2b2dfbbe01d820384d341ecfa1cf553b2700019a4f78c1d6fc4c55cb4b373bf5", - "name": "Ship", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 300, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1.25, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutBack", - "InitialPosition": "Top-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "Red playerShip (1).png", - "points": [], - "originPoint": { - "name": "origine", - "x": 50, - "y": 37 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 32, - "y": 32 - }, - { - "x": 67, - "y": 32 - }, - { - "x": 67, - "y": 64 - }, - { - "x": 32, - "y": 64 - } - ] - ] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "Trajectory", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [], - "fillOpacity": 0, - "outlineSize": 2, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 111, - "g": 111, - "r": 111 - }, - "absoluteCoordinates": true, - "clearBetweenFrames": true, - "antialiasing": "none" - }, - { - "assetStoreId": "", - "name": "CurrentEdge", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [], - "fillOpacity": 255, - "outlineSize": 2, - "outlineOpacity": 255, - "fillColor": { - "b": 27, - "g": 2, - "r": 208 - }, - "outlineColor": { - "b": 27, - "g": 2, - "r": 208 - }, - "absoluteCoordinates": true, - "clearBetweenFrames": true, - "antialiasing": "none" - }, - { - "assetStoreId": "e8d619ef35124fd6ba96fafde6790bdd7f80b9c65b4bccfbcbdb4e5025bc2788", - "name": "TopArrowRoundButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Top arrow round button.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "4992f730d6f87d96e8bc8c4279b76e3df5b1a53bf611023b547674d38a52f49e", - "name": "BottomArrowRoundButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Bottom arrow round button.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "63f198801b80f7d94ab9653a37dcda58393fb32c380cec95815084894f3cf0ec", - "name": "LeftArrowRoundButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Left arrow round button.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "7ef2a3d09ff02fd3f647486fdf8cb9c0ef78506840b7fab91bfcbbbb4a5d8cb4", - "name": "RightArrowRoundButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Right arrow round button.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "TopLeftCorner", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\TopLeftCorner.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "TopRightCorner", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ], - "animations": [ - { - "name": "TopRightCorner", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\TopRightCorner.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 32, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "BottomRightCorner", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ], - "animations": [ - { - "name": "BottomRightCorner", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\BottomRightCorner.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 32, - "y": 32 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "BottomLeftCorner", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": false - } - ], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\BottomLeftCorner.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 32 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "1f5153411e23a057456c7c73223a9e82d85ebe12f98ee07b95eed2baaa49b5c8", - "name": "LaunchRoundButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Launch round button.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "HorizontalDurationSlider", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 0.25, - "ValueMax": 4, - "TickSpacing": 0.01, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "219;219;219", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "NeedRedraw": true, - "IsHovered": false, - "MouseX": 0, - "MouseY": 0, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.2, - "TargetHaloRadius": 0.19999992847442627 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none" - }, - { - "assetStoreId": "", - "name": "VerticalDurationSlider", - "tags": "", - "type": "PrimitiveDrawing::Drawer", - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl", - "ValueMin": 0.25, - "ValueMax": 4, - "TickSpacing": 0.01, - "ThumbShape": "circle", - "ThumbWidth": 20, - "ThumbHeight": 20, - "ThumbColor": "219;219;219", - "ThumbOpacity": 255, - "TrackLength": 200, - "TrackThickness": 4, - "InactiveTrackColor": "", - "InactiveTrackOpacity": 96, - "ActiveTrackColor": " ", - "ActiveTrackOpacity": 255, - "HaloRadius": 24, - "HaloOpacityHover": 32, - "HaloOpacityClick": 64, - "RoundedTrack": true, - "Enabled": true, - "IsBeingDragged": false, - "Value": 0, - "ThumbOffset": 0, - "NeedRedraw": true, - "IsHovered": false, - "MouseX": 0, - "MouseY": 0, - "CurrentHaloRadius": 0, - "HaloGrowSpeed": 0.2, - "TargetHaloRadius": 0.19999992847442627 - } - ], - "fillOpacity": 255, - "outlineSize": 1, - "outlineOpacity": 255, - "fillColor": { - "b": 255, - "g": 255, - "r": 255 - }, - "outlineColor": { - "b": 0, - "g": 0, - "r": 0 - }, - "absoluteCoordinates": false, - "clearBetweenFrames": true, - "antialiasing": "none" - }, - { - "assetStoreId": "14d7be205d64a5719d7d63a4cc681d984a67948efe4caa888fd054e268dad255", - "name": "TopRightButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\BottomRightButton.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "14d7be205d64a5719d7d63a4cc681d984a67948efe4caa888fd054e268dad255", - "name": "TopLeftButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "TopLeftButton", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\TopLeftButton.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "14d7be205d64a5719d7d63a4cc681d984a67948efe4caa888fd054e268dad255", - "name": "BottomLeftButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "BottomLeftButton", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\BottomLeftButton.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "14d7be205d64a5719d7d63a4cc681d984a67948efe4caa888fd054e268dad255", - "name": "BottomRightButton", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "TopRightButton", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.02500000037252903, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\TopRightButton.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "VerticalDurationText", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "1.25 seconds", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 233, - "g": 233, - "r": 233 - } - }, - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "HorizontalDurationText", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "2 seconds", - "font": "", - "textAlignment": "", - "characterSize": 20, - "color": { - "b": 233, - "g": 233, - "r": 233 - } - }, - { - "assetStoreId": "", - "name": "VerticalEdgeIcon", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "VerticalEdgeIcon", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\VerticalEdgeIcon.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "name": "HorizontalEdgeIcon", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "VerticalEdgeIcon", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.07999999821186066, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "assets\\HorizontalEdgeIcon.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_TopLeft", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Top-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_BottomLeft", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Bottom-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_BottomRight", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Bottom-right corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_TopRight", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Top-right corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Reverse_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Reverse\nDirection", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "MoveToCorner_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Move to \nCorner", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "MovementDirection_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Movement\nDirection", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "HorizontalDuration_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Horizontal Duration", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "VerticalDuration_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Vertical Duration", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsShip_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Drag corners to change ship path", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsSaw_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Drag red objects and saws follow", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "afbeb7d1b67ec8b51b3370ddfd8c4aa1bd9b925ee58ead50767f44e2e444d7ba", - "bottomMargin": 32, - "height": 96, - "leftMargin": 32, - "name": "BorderedHud", - "rightMargin": 32, - "tags": "", - "texture": "9patch_Bordered Hud_all_32.png", - "tiled": true, - "topMargin": 32, - "type": "PanelSpriteObject::PanelSprite", - "width": 96, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": true - } - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Speed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "HorizontalDurationSlider", - "DraggableSliderControl", - "Ship.RectangleMovement::HorizontalEdgeDuration()", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "VerticalDurationSlider", - "DraggableSliderControl", - "Ship.RectangleMovement::VerticalEdgeDuration()", - "" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "VerticalDurationText", - "=", - "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "VerticalDurationText", - "=", - "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" - ] - } - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Change duration", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" - }, - "parameters": [ - "HorizontalDurationSlider", - "DraggableSliderControl", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" - }, - "parameters": [ - "VerticalDurationSlider", - "DraggableSliderControl", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "VerticalDurationText", - "=", - "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Change direction", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "LaunchRoundButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::ToogleClockwise" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "yes" - ] - }, - { - "type": { - "value": "FlipX" - }, - "parameters": [ - "LaunchRoundButton", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FlipX" - }, - "parameters": [ - "LaunchRoundButton", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "FlipX" - }, - "parameters": [ - "LaunchRoundButton", - "yes" - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Teleport", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObjects", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Top-left corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Top-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Bottom-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Bottom-left corner\"", - "" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Drag", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "TopLeftCorner", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Top()", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "TopRightCorner", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Top()", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "BottomRightCorner", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Bottom()", - "" - ] - }, - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "BottomLeftCorner", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Bottom()", - "" - ] - }, - { - "type": { - "value": "ChangePlan" - }, - "parameters": [ - "Corner", - "=", - "3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "TopLeftCorner", - "Draggable" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "TopLeftCorner.X()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "TopLeftCorner.Y()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "TopRightCorner", - "Draggable" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "TopRightCorner.X()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "TopRightCorner.Y()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "BottomRightCorner", - "Draggable" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "BottomRightCorner.X()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "BottomRightCorner.Y()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "BottomLeftCorner", - "Draggable" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "BottomLeftCorner.X()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "BottomLeftCorner.Y()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "TopLeftCorner", - "=", - "Ship.RectangleMovement::Left()", - "=", - "Ship.RectangleMovement::Top()" - ] - }, - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "TopRightCorner", - "=", - "Ship.RectangleMovement::Right()", - "=", - "Ship.RectangleMovement::Top()" - ] - }, - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "BottomRightCorner", - "=", - "Ship.RectangleMovement::Right()", - "=", - "Ship.RectangleMovement::Bottom()" - ] - }, - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "BottomLeftCorner", - "=", - "Ship.RectangleMovement::Left()", - "=", - "Ship.RectangleMovement::Bottom()" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Draw border", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "TiledSpriteObject::SetOpacity" - }, - "parameters": [ - "SummerTileWater", - "=", - "210" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Trajectory", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Top()", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Bottom()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnTop" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "CurrentEdge", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Top()", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Top()", - "2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnBottom" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "CurrentEdge", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Bottom()", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Bottom()", - "2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnLeft" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "CurrentEdge", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Top()", - "Ship.RectangleMovement::Left()", - "Ship.RectangleMovement::Bottom()", - "2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnRight" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::LineV2" - }, - "parameters": [ - "CurrentEdge", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Top()", - "Ship.RectangleMovement::Right()", - "Ship.RectangleMovement::Bottom()", - "2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "TopArrowRoundButton", - "\"255;255;255\"" - ] - }, - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "BottomArrowRoundButton", - "\"255;255;255\"" - ] - }, - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "LeftArrowRoundButton", - "\"255;255;255\"" - ] - }, - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "RightArrowRoundButton", - "\"255;255;255\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingUp" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "TopArrowRoundButton", - "\"208;2;27\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingDown" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "BottomArrowRoundButton", - "\"208;2;27\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingLeft" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "LeftArrowRoundButton", - "\"208;2;27\"" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingRight" - }, - "parameters": [ - "Ship", - "RectangleMovement", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "ChangeColor" - }, - "parameters": [ - "RightArrowRoundButton", - "\"208;2;27\"" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move saw around object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Non-behavior action (handles object linking)" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DebuggerTools::EnableDebugDraw" - }, - "parameters": [ - "", - "", - "", - "", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::MoveAlongBorderOfObject" - }, - "parameters": [ - "", - "Saws", - "RectangleMovement", - "BorderedHud", - "" - ] - } - ] - } - ], - "parameters": [] - } - ], - "layers": [ - { - "ambientLightColorB": 0, - "ambientLightColorG": 7893896, - "ambientLightColorR": 16, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "behaviorsSharedData": [ - { - "name": "DraggableSliderControl", - "type": "DraggableSliderControl::DraggableSliderControl" - }, - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement" - } - ] - }, - { - "b": 74, - "disableInputWhenNotFocused": true, - "mangledName": "TestMoveOnEdge", - "name": "TestMoveOnEdge", - "r": 74, - "standardSortMethod": true, - "stopSoundsOnStartup": true, - "title": "", - "v": 74, - "uiSettings": { - "grid": true, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridColor": 10401023, - "gridAlpha": 0.2, - "snap": true, - "zoomFactor": 0.819672131147541, - "windowMask": false - }, - "objectsGroups": [], - "variables": [], - "instances": [ - { - "angle": 0, - "customSize": true, - "height": 102, - "layer": "", - "name": "TestCenterObject", - "persistentUuid": "45daa939-e515-4b45-a896-56b3ad32349e", - "width": 288, - "x": 273, - "y": 192, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "DistanceDebug_Text", - "persistentUuid": "2f13f844-7302-4bde-88c7-154770bd0487", - "width": 0, - "x": 384, - "y": 32, - "zOrder": 100, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TestMovingObject", - "persistentUuid": "c3aaecb9-77cf-43d9-9505-56f13248decc", - "width": 0, - "x": 384, - "y": 224, - "zOrder": 3, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "objects": [ - { - "assetStoreId": "", - "name": "TestCenterObject", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "NewSprite", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "metadata": "{\"pskl\":{}}", - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "NewSprite", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "DistanceDebug_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Distance", - "font": "", - "textAlignment": "left", - "characterSize": 30, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "name": "TestMovingObject", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": true - } - ], - "animations": [ - { - "name": "NewSprite", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "metadata": "{\"pskl\":{}}", - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "NewSprite2", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "DistanceDebug_Text", - "=", - "ToString(round(RectangleMovement::DistanceToClosestEdge(TestCenterObject, TestMovingObject)))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreAutourPos" - }, - "parameters": [ - "TestMovingObject", - "TestCenterObject.CenterX()", - "TestCenterObject.BoundingBoxCenterY()", - "200", - "360 * sin(TimeFromStart()/10)" - ] - } - ] - } - ], - "layers": [ - { - "ambientLightColorB": 9688048, - "ambientLightColorG": 150995054, - "ambientLightColorR": 1869182049, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "behaviorsSharedData": [] - } - ], - "externalEvents": [], - "eventsFunctionsExtensions": [ - { - "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", - "category": "Input", - "extensionNamespace": "", - "fullName": "Draggable slider", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=", - "name": "DraggableSliderControl", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", - "shortDescription": "A draggable slider that users can move to select a numerical value.", - "version": "1.0.5", - "description": [ - "Draws a draggable slider that users can move to select a numerical value.", - "The value range, tick spacing, and the appearance of the slider can be defined with properties.", - "", - "How to use:", - "- Add this behavior a **Shape Painter** object", - "- Place an instance of that shape painter on the screen where you want the slider to appear", - "- Use the \"Value\" expression to find the Value based on the position of the slider", - "", - "Tips:", - "- You can disable the slider to prevent a user from interacting with it", - "- You can set the Value of the slider and the slider will move to the correct position", - "", - "Further details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).", - "", - "Breaking changes (1.0.0)", - "- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.", - "- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.", - "" - ], - "origin": { - "identifier": "DraggableSliderControl", - "name": "gdevelop-extension-store" - }, - "tags": [ - "draggable", - "slider", - "shape painter", - "ui", - "widget" - ], - "authorIds": [ - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1" - ], - "dependencies": [], - "eventsFunctions": [], - "eventsBasedBehaviors": [ - { - "description": "Let users select a numerical value by dragging a slider.", - "fullName": "Draggable slider", - "name": "DraggableSliderControl", - "objectType": "PrimitiveDrawing::Drawer", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure object doesn't get re-drawn every frame" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::ClearBetweenFrames" - }, - "parameters": [ - "Object", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use correct min value (instead of always starting at 0)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMin()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set track height function (which enforces valid thumb sizes)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTrackThickness()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Start halo at same size as thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight()/2,Object.Behavior::PropertyThumbWidth()/2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Slider logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Track where the mouse is (in relation to object)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyMouseX" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ToDrawingX(MouseX(Object.Layer(), 0), MouseY(Object.Layer(), 0))" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyMouseY" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.ToDrawingY(MouseX(Object.Layer(), 0), MouseY(Object.Layer(), 0))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move slider when being dragged" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyMouseX()" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "End sliding and update variables" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update \"Value\" based on the location of the thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyValueMin() + (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin()) * Object.Behavior::PropertyThumbOffset() / Object.Behavior::PropertyTrackLength()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Grow halo even more when pressed" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "1.25 * Object.Behavior::PropertyHaloRadius()" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Detect mouse clicks near track, start dragging" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisBouton" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - ">=", - "-Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - "<=", - "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - ">=", - "-Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - "<=", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset hover detection " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Grow halo when hovered" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "SourisBouton" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - ">=", - "Object.Behavior::PropertyThumbOffset() - Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseX()", - "<=", - "Object.Behavior::PropertyThumbOffset() + Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - ">=", - "- Object.Behavior::PropertyHaloRadius()" - ] - }, - { - "type": { - "value": "Egal" - }, - "parameters": [ - "Object.Behavior::PropertyMouseY()", - "<=", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Shrink halo to zero when not hovered" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsHovered" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Redraw slider only when halo is not at final size" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Egal" - }, - "parameters": [ - "abs(Object.Behavior::PropertyCurrentHaloRadius() - Object.Behavior::PropertyTargetHaloRadius())", - "<", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "Object.Behavior::PropertyTargetHaloRadius()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "lerp(Object.Behavior::PropertyCurrentHaloRadius(), Object.Behavior::PropertyTargetHaloRadius(), Object.Behavior::PropertyHaloGrowSpeed())" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Slider drawing", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "Visible" - }, - "parameters": [ - "Object" - ] - }, - { - "type": { - "value": "LayerVisible" - }, - "parameters": [ - "", - "Object.Layer()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Drawer::ClearShapes" - }, - "parameters": [ - "Object" - ] - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Inactive track", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set inactive track parameters (by default, use thumb color)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyInactiveTrackColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyInactiveTrackOpacity()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw inactive track" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "-Object.Behavior::PropertyTrackThickness() / 2", - "Object.Behavior::PropertyTrackLength()", - "Object.Behavior::PropertyTrackThickness() / 2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw half circle at end of track (inactive side)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Arc" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyTrackLength()", - "0", - "Object.Behavior::PropertyTrackThickness() / 2", - "270", - "90", - "", - "yes" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Active track", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set active track parameters (by default, use thumb color)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "!=", - "\"\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyActiveTrackColor()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyActiveTrackOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw active track (2 pixels bigger than property) " - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "0", - "-(Object.Behavior::PropertyTrackThickness() / 2 + 1)", - "Object.Behavior::PropertyThumbOffset()", - "Object.Behavior::PropertyTrackThickness() / 2 + 1" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw half circle at end of track (active side)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Arc" - }, - "parameters": [ - "Object", - "0", - "0", - "1 + Object.Behavior::PropertyTrackThickness() / 2", - "90", - "270", - "", - "yes" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Halo", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyCurrentHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare halo" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::OutlineOpacity" - }, - "parameters": [ - "Object", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw halo (it will grow or shrink as needed)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityHover()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "Object.Behavior::PropertyCurrentHaloRadius()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyHaloOpacityClick()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "Object.Behavior::PropertyCurrentHaloRadius()" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Thumb", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Prepare thumb settings" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::FillColor" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbColor()" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::FillOpacity" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyThumbOpacity()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw Circle thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"circle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Circle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset()", - "0", - "ceil(max(Object.Behavior::PropertyThumbWidth(),Object.Behavior::PropertyThumbHeight())/2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Draw Rectangle thumb" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"rectangle\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::Rectangle" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyThumbOffset() - (Object.Behavior::PropertyThumbWidth() / 2)", - "-Object.Behavior::PropertyThumbHeight() / 2", - "Object.Behavior::PropertyThumbOffset() + (Object.Behavior::PropertyThumbWidth() / 2)", - "Object.Behavior::PropertyThumbHeight() / 2" - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the slider is being dragged.", - "fullName": "Being dragged", - "functionType": "Condition", - "group": "Slider", - "name": "IsBeingDragged", - "sentence": "_PARAM0_ is being dragged", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the slider interactions are enabled.", - "fullName": "Interactions enabled", - "functionType": "Condition", - "group": "Slider", - "name": "IsEnabled", - "sentence": "Interactions of _PARAM0_ are enabled", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Enable or disable the slider. Users cannot interact while it is disabled.", - "fullName": "Enable interactions", - "functionType": "Action", - "group": "Slider", - "name": "SetEnabled", - "sentence": "Enable interactions of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyIsBeingDragged" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Reset halo size (so halo won't appear when slider gets enabled)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTargetHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "min(Object.Behavior::PropertyThumbHeight(), Object.Behavior::PropertyThumbWidth()) / 2" - ] - } - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Enable\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyEnabled" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Enable", - "name": "Enable", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "The value of the slider (based on position of the thumb).", - "fullName": "Slider value", - "functionType": "Expression", - "group": "Slider", - "name": "Value", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValue()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the value of a slider (this will move the thumb to the correct position).", - "fullName": "Slider value", - "functionType": "Action", - "group": "Slider", - "name": "SetValue", - "sentence": "Change the value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - "<=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "round(GetArgumentAsNumber(\"Value\") / Object.Behavior::PropertyTickSpacing()) * Object.Behavior::PropertyTickSpacing()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyValueMin()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMin()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - ">", - "Object.Behavior::PropertyValueMax()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValue" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyValueMax()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set the proper offset (it moves the slider)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOffset" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::PropertyTrackLength() * (Object.Behavior::PropertyValue() - Object.Behavior::PropertyValueMin()) / (Object.Behavior::PropertyValueMax() - Object.Behavior::PropertyValueMin())" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Slider value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The minimum value of a slider.", - "fullName": "Slider minimum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMin", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValueMin()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the minimum value of a slider.", - "fullName": "Slider minimum value", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMin", - "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMin" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMin\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Minimum value", - "name": "ValueMin", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "ValueMax", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyValueMax()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Thickness of track.", - "fullName": "Slider track thickness", - "functionType": "Expression", - "group": "Slider track configuration", - "name": "TrackThickness", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTrackThickness()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Length of track.", - "fullName": "Slider track length", - "functionType": "Expression", - "group": "Slider track configuration", - "name": "TrackLength", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTrackLength()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Height of thumb.", - "fullName": "Slider thumb height", - "functionType": "Expression", - "group": "Slider thumb configuration", - "name": "ThumbHeight", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyThumbHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the maximum value of a slider.", - "fullName": "Slider maximum value", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetValueMax", - "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyValueMax" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"ValueMax\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Maximum value", - "name": "ValueMax", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "The tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Expression", - "group": "Slider value configuration", - "name": "TickSpacing", - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTickSpacing()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Tick spacing", - "name": "TickSpacing", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the tick spacing of a slider.", - "fullName": "Tick spacing", - "functionType": "Action", - "group": "Slider value configuration", - "name": "SetTickSpacing", - "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTickSpacing" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"TickSpacing\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::Value()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Tick spacing", - "name": "TickSpacing", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change length of track.", - "fullName": "Track length", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetTrackLength", - "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackLength" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move thumb to correct place (based on new track size)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyValue()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Track width", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change thickness of track.", - "fullName": "Track thickness", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetTrackThickness", - "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyTrackThickness" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness() + 2" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness() + 2", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Track thickness", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change width of thumb.", - "fullName": "Thumb width", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbWidth", - "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb width", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change height of thumb.", - "fullName": "Thumb height", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbHeight", - "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbHeight" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "max(GetArgumentAsNumber(\"Value\"), Object.Behavior::PropertyTrackThickness() + 2)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::UpdateHitbox" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb height", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change radius of the halo around the thumb. This size is also used to detect interaction with the slider.", - "fullName": "Halo radius", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloRadius", - "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloRadius" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Halo radius", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the halo opacity when the thumb is hovered.", - "fullName": "Halo opacity (hover)", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloOpacityHover", - "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityHover" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Halo opacity (hover)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of halo when pressed.", - "fullName": "Halo opacity (pressed)", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetHaloOpacityPressed", - "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyHaloOpacityClick" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Halo opacity (pressed)", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change shape of thumb (circle or rectangle).", - "fullName": "Thumb shape", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbShape", - "sentence": "Change shape of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Shape\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbShape" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"rectangle\"" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::PropertyThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "<", - "Object.Behavior::PropertyTrackThickness()" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetThumbWidth" - }, - "parameters": [ - "Object", - "Behavior", - "Object.Behavior::PropertyTrackThickness()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "New thumb shape", - "name": "Shape", - "supplementaryInformation": "[\"circle\",\"rectangle\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Make track use rounded ends.", - "fullName": "Rounded track ends", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetRoundedTrack", - "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Egal" - }, - "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "0" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "Egal" - }, - "parameters": [ - "GetArgumentAsNumber(\"Value\")", - "=", - "1" - ] - } - ], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyRoundedTrack" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Rounded track", - "name": "Value", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of thumb.", - "fullName": "Thumb opacity", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbOpacity", - "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of inactive track.", - "fullName": "Inactive track opacity", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackOpacity", - "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Inactive track opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change opacity of active track.", - "fullName": "Active track opacity", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackOpacity", - "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackOpacity" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Active track opacity", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the color of the track that is LEFT of the thumb.", - "fullName": "Active track color ", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetActiveTrackColor", - "sentence": "Change active track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyActiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Active track color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the color of the track that is RIGHT of the thumb.", - "fullName": "Inactive track color", - "functionType": "Action", - "group": "Slider track configuration", - "name": "SetInactiveTrackColor", - "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyInactiveTrackColor" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Inactive track color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Change the thumb color to a specific value.", - "fullName": "Thumb color", - "functionType": "Action", - "group": "Slider thumb configuration", - "name": "SetThumbColor", - "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyThumbColor" - }, - "parameters": [ - "Object", - "Behavior", - "GetArgumentAsString(\"Color\")" - ] - }, - { - "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetPropertyNeedRedraw" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - }, - { - "description": "Thumb color", - "name": "Color", - "type": "color" - } - ], - "objectGroups": [] - }, - { - "description": "Update the hitbox.", - "fullName": "Update hitbox", - "functionType": "Action", - "group": "Private", - "name": "UpdateHitbox", - "private": true, - "sentence": "Update the hitbox of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "PrimitiveDrawing::SetRotationCenter" - }, - "parameters": [ - "Object", - "Object.Behavior::PropertyTrackLength() / 2", - "Object.Behavior::PropertyTrackThickness() / 2" - ] - }, - { - "type": { - "value": "PrimitiveDrawing::SetRectangularCollisionMask" - }, - "parameters": [ - "Object", - "-Object.Behavior::PropertyThumbWidth() / 2", - "-Object.Behavior::PropertyThumbHeight() / 2", - "Object.Behavior::PropertyTrackLength() + Object.Behavior::PropertyThumbWidth() / 2", - "Object.Behavior::PropertyThumbHeight() / 2" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "supplementaryInformation": "PrimitiveDrawing::Drawer", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "0", - "type": "Number", - "label": "Minimum value", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "ValueMin" - }, - { - "value": "1", - "type": "Number", - "label": "Maximum value", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "ValueMax" - }, - { - "value": "0", - "type": "Number", - "label": "Tick spacing", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "TickSpacing" - }, - { - "value": "circle", - "type": "Choice", - "label": "Thumb shape", - "description": "", - "group": "Thumb", - "extraInformation": [ - "circle", - "rectangle" - ], - "hidden": false, - "name": "ThumbShape" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb width", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbWidth" - }, - { - "value": "20", - "type": "Number", - "label": "Thumb height", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbHeight" - }, - { - "value": " 24;119;211", - "type": "Color", - "label": "Thumb Color", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbColor" - }, - { - "value": "255", - "type": "Number", - "label": "Thumb opacity", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "ThumbOpacity" - }, - { - "value": "200", - "type": "Number", - "label": "Track length", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "TrackLength" - }, - { - "value": "4", - "type": "Number", - "label": "Track thickness", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "TrackThickness" - }, - { - "value": "", - "type": "String", - "label": "Inactive track color (thumb color by default)", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "InactiveTrackColor" - }, - { - "value": "96", - "type": "Number", - "label": "Inactive track opacity", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "InactiveTrackOpacity" - }, - { - "value": " ", - "type": "String", - "label": "Active track color (thumb color by default)", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "ActiveTrackColor" - }, - { - "value": "255", - "type": "Number", - "label": "Active track opacity", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "ActiveTrackOpacity" - }, - { - "value": "24", - "type": "Number", - "label": "Halo size (hover)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloRadius" - }, - { - "value": "32", - "type": "Number", - "label": "Halo opacity (hover)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloOpacityHover" - }, - { - "value": "64", - "type": "Number", - "label": "Halo opacity (pressed)", - "description": "", - "group": "Thumb", - "extraInformation": [], - "hidden": false, - "name": "HaloOpacityClick" - }, - { - "value": "true", - "type": "Boolean", - "label": "Rounded track ends", - "description": "", - "group": "Track", - "extraInformation": [], - "hidden": false, - "name": "RoundedTrack" - }, - { - "value": "true", - "type": "Boolean", - "label": "Enable interactions", - "description": "", - "group": "", - "extraInformation": [], - "hidden": false, - "name": "Enabled" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsBeingDragged" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "Value" - }, - { - "value": "0", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ThumbOffset" - }, - { - "value": "true", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "NeedRedraw" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "IsHovered" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "MouseX" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "MouseY" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "CurrentHaloRadius" - }, - { - "value": "0.2", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "HaloGrowSpeed" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "TargetHaloRadius" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - }, - { - "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", - "category": "Movement", - "extensionNamespace": "", - "fullName": "Rectangular movement", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", - "name": "RectangleMovement", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", - "shortDescription": "Move objects in a rectangular pattern.", - "version": "1.1.0", - "description": [ - "Move objects in a rectangular pattern with easing functions from the Tween extension.", - "", - "It can be used for:", - "- Moveable platforms", - "- Enemy movement patterns", - "- Moving along the border of another object", - "", - "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer)).", - "", - "This example can be used to check some settings ([open the project online](https://editor.gdevelop.io/?project=example://rectangular-movement))." - ], - "origin": { - "identifier": "RectangleMovement", - "name": "gdevelop-extension-store" - }, - "tags": [ - "rectangular", - "movement", - "rectangle", - "patrol", - "platform", - "enemy" - ], - "authorIds": [ - "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "dependencies": [], - "eventsFunctions": [ - { - "description": "Distance from object to the closest edge of second object", - "fullName": "Distance from object to the closest edge of second object", - "functionType": "Expression", - "name": "DistanceToClosestEdge", - "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "If point is inside rectangle, just use min distance" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - ">=", - "CenterObject.BoundingBoxLeft()" - ] - }, - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - "<=", - "CenterObject.BoundingBoxRight()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - ">=", - "CenterObject.BoundingBoxTop()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - "<=", - "CenterObject.BoundingBoxBottom()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "min(\nmin(\nMovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop(), \nCenterObject.BoundingBoxBottom() - MovingObject.BoundingBoxCenterY()),\nmin(\nMovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft(), \nCenterObject.BoundingBoxRight() - MovingObject.BoundingBoxCenterX())\n)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "If point is outside rectangle, find distance to clamped position on rectangle" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - "<", - "CenterObject.BoundingBoxLeft()" - ] - }, - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - ">", - "CenterObject.BoundingBoxRight()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - "<", - "CenterObject.BoundingBoxTop()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - ">", - "CenterObject.BoundingBoxBottom()" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - }, - { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.", - "fullName": "Update rectangular movement to follow the border of an object", - "functionType": "Action", - "name": "MoveAlongBorderOfObject", - "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Create object link (if one has not been created)", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "False" - ] - } - ], - "actions": [], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Set a valid initial value by picking any Center object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdge", - "=", - "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)" - ] - } - ] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update value if distance is lower than existing minimum", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdge", - "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject))" - ] - } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Link objects that have the closest distance", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)" - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)", - "=", - "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update rectangular movement to follow the border of object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" - ] - } - ] - } - ] - } - ], - "parameters": [] - } - ], - "parameters": [ - { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - }, - { - "description": "Rectangle Movement (required)", - "name": "RectangleMovement", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] - } - ], - "eventsBasedBehaviors": [ - { - "description": "Move objects in a rectangular pattern.", - "fullName": "Rectangular movement", - "name": "RectangleMovement", - "objectType": "", - "eventsFunctions": [ - { - "fullName": "", - "functionType": "Action", - "name": "onCreated", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyOldX" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.X()" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyOldY" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Y()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Set the initial state according to the configuration." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Top-right corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Bottom-right corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyInitialPosition" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "\"Bottom-left corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyLeft" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.X() - Object.Behavior::DeltaX()" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyTop" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Y() - Object.Behavior::DeltaY()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPreEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update the rectangle when the object is moved outside of the behavior." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyLeft" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.X() - Object.Behavior::PropertyOldX()" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyTop" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Y() - Object.Behavior::PropertyOldY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Move the object on the rectangular path." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "Object", - "=", - "Object.Behavior::PropertyLeft() + Object.Behavior::DeltaX()", - "=", - "Object.Behavior::PropertyTop() + Object.Behavior::DeltaY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the position to detect when the object is moved outside of the behavior." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyOldX" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.X()" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyOldY" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Y()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "fullName": "", - "functionType": "Action", - "name": "doStepPostEvents", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Step on the path." - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "mod(Object.Behavior::PropertyProgress() + TimeDelta() / Object.Behavior::LoopDuration(), 1)" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "mod(Object.Behavior::PropertyProgress() - TimeDelta() / Object.Behavior::LoopDuration(), 1)" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Teleport the object to a corner of the movement rectangle.", - "fullName": "Teleport at a corner", - "functionType": "Action", - "name": "TeleportToCorner", - "sentence": "Set the position of _PARAM0_ at the _PARAM2_ of the rectangle loop", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "GetArgumentAsString(\"Corner\")", - "=", - "\"Top-left corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "0" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "GetArgumentAsString(\"Corner\")", - "=", - "\"Top-right corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "GetArgumentAsString(\"Corner\")", - "=", - "\"Bottom-right corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareStrings" - }, - "parameters": [ - "GetArgumentAsString(\"Corner\")", - "=", - "\"Bottom-left corner\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyProgress" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Corner", - "name": "Corner", - "supplementaryInformation": "[\"Top-left corner\",\"Top-right corner\",\"Bottom-left corner\",\"Bottom-right corner\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Return the perimeter of the movement rectangle.", - "fullName": "Perimeter", - "functionType": "Expression", - "group": "Rectangular movement shape", - "name": "Perimeter", - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "2 * (abs(Object.Behavior::PropertyWidth()) + abs(Object.Behavior::PropertyHeight()))" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the time the object takes to go through the whole rectangle (in seconds).", - "fullName": "Loop duration", - "functionType": "Expression", - "name": "LoopDuration", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "2 * (Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration())" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the time the object takes to go through a horizontal edge (in seconds).", - "fullName": "Horizontal edge duration", - "functionType": "Expression", - "name": "HorizontalEdgeDuration", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHorizontalEdgeDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the time the object takes to go through a vertical edge (in seconds).", - "fullName": "Vertical edge duration", - "functionType": "Expression", - "name": "VerticalEdgeDuration", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyVerticalEdgeDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the rectangle width.", - "fullName": "Width", - "functionType": "Expression", - "group": "Rectangular movement/Shape", - "name": "Width", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyWidth()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the rectangle height.", - "fullName": "Height", - "functionType": "Expression", - "group": "Rectangular movement/Shape", - "name": "Height", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the left bound of the movement.", - "fullName": "Left bound", - "functionType": "Expression", - "group": "Rectangular movement/Shape", - "name": "Left", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyLeft()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the top bound of the movement.", - "fullName": "Top bound", - "functionType": "Expression", - "group": "Rectangular movement/Shape", - "name": "Top", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTop()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the right bound of the movement.", - "fullName": "Right bound", - "functionType": "Expression", - "group": "Rectangular movement/Shape", - "name": "Right", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyLeft() + Object.Behavior::PropertyWidth()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the bottom bound of the movement.", - "fullName": "Bottom bound", - "functionType": "Expression", - "group": "Rectangular movement/Shape", - "name": "Bottom", - "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyTop() + Object.Behavior::PropertyHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Change the left bound of the rectangular movement.", - "fullName": "Left bound", - "functionType": "Action", - "group": "Rectangular movement shape", - "name": "SetLeft", - "sentence": "Change the movement left bound of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyWidth" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Behavior::PropertyLeft() - GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyLeft" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the top bound of the rectangular movement.", - "fullName": "Top bound", - "functionType": "Action", - "group": "Rectangular movement shape", - "name": "SetTop", - "sentence": "Change the movement top bound of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyHeight" - }, - "parameters": [ - "Object", - "Behavior", - "+", - "Object.Behavior::PropertyTop() - GetArgumentAsNumber(\"Value\")" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyTop" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the right bound of the rectangular movement.", - "fullName": "Right bound", - "functionType": "Action", - "group": "Rectangular movement shape", - "name": "SetRight", - "sentence": "Change the movement right bound of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyWidth" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\") - Object.Behavior::PropertyLeft()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the bottom bound of the rectangular movement.", - "fullName": "Bottom bound", - "functionType": "Action", - "group": "Rectangular movement shape", - "name": "SetBottom", - "sentence": "Change the movement bottom bound of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyHeight" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\") - Object.Behavior::PropertyTop()" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the time the object takes to go through a horizontal edge (in seconds).", - "fullName": "Horizontal edge duration", - "functionType": "Action", - "group": "Rectangular movement speed", - "name": "SetHorizontalEdgeDuration", - "sentence": "Change the time _PARAM0_ takes to go through a horizontal edge to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyHorizontalEdgeDuration" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the time the object takes to go through a vertical edge (in seconds).", - "fullName": "Vertical edge duration", - "functionType": "Action", - "group": "Rectangular movement speed", - "name": "SetVerticalEdgeDuration", - "sentence": "Change the time _PARAM0_ takes to go through a vertical edge to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyVerticalEdgeDuration" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsNumber(\"Value\")" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Value", - "name": "Value", - "type": "expression" - } - ], - "objectGroups": [] - }, - { - "description": "Change the direction to clockwise or counter-clockwise.", - "fullName": "Clockwise", - "functionType": "Action", - "group": "Rectangular movement speed", - "name": "SetClockwise", - "sentence": "Use clockwise direction for _PARAM0_: _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "GetArgumentAsBoolean" - }, - "parameters": [ - "\"Value\"" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Clockwise", - "name": "Value", - "type": "yesorno" - } - ], - "objectGroups": [] - }, - { - "description": "Change the easing function of the movement.", - "fullName": "Easing", - "functionType": "Action", - "group": "Rectangular movement speed", - "name": "SetEasing", - "sentence": "Change the easing of _PARAM0_ to _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyEasing" - }, - "parameters": [ - "Object", - "Behavior", - "=", - "GetArgumentAsString(\"Value\")" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Easing", - "name": "Easing", - "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", - "type": "stringWithSelector" - } - ], - "objectGroups": [] - }, - { - "description": "Toggle the direction to clockwise or counter-clockwise.", - "fullName": "Toggle direction", - "functionType": "Action", - "name": "ToogleClockwise", - "sentence": "Toogle the direction of _PARAM0_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyToogleClockwise" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyToogleClockwise" - }, - "parameters": [ - "Object", - "Behavior", - "=" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyToogleClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyToogleClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetPropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior", - "yes" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the object is moving clockwise.", - "fullName": "Is moving clockwise", - "functionType": "Condition", - "name": "IsMovingClockwise", - "sentence": "_PARAM0_ is moving clockwise", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the object is moving to the left.", - "fullName": "Is moving left", - "functionType": "Condition", - "name": "IsMovingLeft", - "sentence": "_PARAM0_ is moving to the left", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnTop" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnBottom" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the object is moving up.", - "fullName": "Is moving up", - "functionType": "Condition", - "name": "IsMovingUp", - "sentence": "_PARAM0_ is moving up", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnLeft" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnRight" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Object is moving to the right.", - "fullName": "Is moving right", - "functionType": "Condition", - "name": "IsMovingRight", - "sentence": "_PARAM0_ is moving to the right", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnTop" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnBottom" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Check if the object is moving down.", - "fullName": "Is moving down", - "functionType": "Condition", - "name": "IsMovingDown", - "sentence": "_PARAM0_ is moving down", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnRight" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::PropertyClockwise" - }, - "parameters": [ - "Object", - "Behavior" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::IsOnLeft" - }, - "parameters": [ - "Object", - "Behavior", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Object is on the left side of the rectangle.", - "fullName": "Is on left", - "functionType": "Condition", - "name": "IsOnLeft", - "sentence": "_PARAM0_ is on the left side", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - ">=", - "Object.Behavior::BottomLeftDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Object is on the top side of the rectangle.", - "fullName": "Is on top", - "functionType": "Condition", - "name": "IsOnTop", - "sentence": "_PARAM0_ is on the top side", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<=", - "Object.Behavior::TopRightDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Object is on the right side of the rectangle.", - "fullName": "Is on right", - "functionType": "Condition", - "name": "IsOnRight", - "sentence": "_PARAM0_ is on the right side", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - ">=", - "Object.Behavior::TopRightDuration()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<=", - "Object.Behavior::BottomRightDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Object is on the bottom side of the rectangle.", - "fullName": "Is on bottom", - "functionType": "Condition", - "name": "IsOnBottom", - "sentence": "_PARAM0_ is on the bottom side", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - ">=", - "Object.Behavior::BottomRightDuration()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<=", - "Object.Behavior::BottomLeftDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnBoolean" - }, - "parameters": [ - "True" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the duration between the top-left vertex and the top-right one.", - "fullName": "Duration to top right", - "functionType": "Expression", - "name": "TopRightDuration", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHorizontalEdgeDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the duration between the top-left vertex and the bottom-right one.", - "fullName": "Duration to bottom right", - "functionType": "Expression", - "name": "BottomRightDuration", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the duration between the top-left vertex and the bottom-left one.", - "fullName": "Duration to bottom left", - "functionType": "Expression", - "name": "BottomLeftDuration", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "2 * Object.Behavior::PropertyHorizontalEdgeDuration() + Object.Behavior::PropertyVerticalEdgeDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the ratio between the covered distance from the last vertex and the edge length (between 0 and 1).", - "fullName": "Progress on edge", - "functionType": "Expression", - "name": "EdgeProgress", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::HalfCurrentTime() / Object.Behavior::PropertyHorizontalEdgeDuration()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::HalfCurrentTime()", - ">=", - "abs(Object.Behavior::PropertyHorizontalEdgeDuration())" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "(Object.Behavior::HalfCurrentTime() - Object.Behavior::PropertyHorizontalEdgeDuration()) / Object.Behavior::PropertyVerticalEdgeDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the X position of the current edge origin.", - "fullName": "Edge origin X", - "functionType": "Expression", - "name": "EdgeOriginX", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - ">=", - "Object.Behavior::TopRightDuration()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<", - "Object.Behavior::BottomLeftDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyWidth()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the Y position of the current edge origin.", - "fullName": "Edge origin Y", - "functionType": "Expression", - "name": "EdgeOriginY", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - ">=", - "Object.Behavior::BottomRightDuration()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<", - "Object.Behavior::Perimeter()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the X position of the current edge target.", - "fullName": "Edge target X", - "functionType": "Expression", - "name": "EdgeTargetY", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - ">=", - "Object.Behavior::TopRightDuration()" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<", - "Object.Behavior::BottomLeftDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyHeight()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the Y position of the current edge target.", - "fullName": "Edge target Y", - "functionType": "Expression", - "name": "EdgeTargetX", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "Object.Behavior::CurrentTime()", - "<", - "Object.Behavior::BottomRightDuration()" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyWidth()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the time from the top-left vertex.", - "fullName": "Current time", - "functionType": "Expression", - "name": "CurrentTime", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.Behavior::PropertyProgress() * Object.Behavior::LoopDuration()" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the covered length from the top-left vertex or the bottom-right one.", - "fullName": "Half Current length", - "functionType": "Expression", - "name": "HalfCurrentTime", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object. Behavior::LoopDuration() * mod(Object.Behavior::PropertyProgress(), 0.5)" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the displacement on the X axis from the top-left vertex.", - "fullName": "Delta X", - "functionType": "Expression", - "name": "DeltaX", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::EdgeOriginX(), Object.Behavior::EdgeTargetX(), Object.Behavior::EdgeProgress())" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - }, - { - "description": "Return the displacement on the Y axis from the top-left vertex.", - "fullName": "Delta Y", - "functionType": "Expression", - "name": "DeltaY", - "private": true, - "sentence": "", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Tween::Ease(Object.Behavior::PropertyEasing(), Object.Behavior::EdgeOriginY(), Object.Behavior::EdgeTargetY(), Object.Behavior::EdgeProgress())" - ] - } - ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - } - ], - "objectGroups": [] - } - ], - "propertyDescriptors": [ - { - "value": "100", - "type": "Number", - "unit": "Pixel", - "label": "Width", - "description": "", - "group": "Dimension", - "extraInformation": [], - "hidden": false, - "name": "Width" - }, - { - "value": "100", - "type": "Number", - "unit": "Pixel", - "label": "Height", - "description": "", - "group": "Dimension", - "extraInformation": [], - "hidden": false, - "name": "Height" - }, - { - "value": "true", - "type": "Boolean", - "label": "Clockwise", - "description": "", - "group": "Speed", - "extraInformation": [], - "hidden": false, - "name": "Clockwise" - }, - { - "value": "4", - "type": "Number", - "unit": "Second", - "label": "Horizontal edge duration", - "description": "", - "group": "Speed", - "extraInformation": [], - "hidden": false, - "name": "HorizontalEdgeDuration" - }, - { - "value": "1", - "type": "Number", - "unit": "Second", - "label": "Vertical edge duration", - "description": "", - "group": "Speed", - "extraInformation": [], - "hidden": false, - "name": "VerticalEdgeDuration" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "Left" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "Top" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "Progress" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "OldX" - }, - { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "OldY" - }, - { - "value": "easeInOutSine", - "type": "Choice", - "label": "Easing", - "description": "", - "group": "Speed", - "extraInformation": [ - "linear", - "easeInQuad", - "easeOutQuad", - "easeInOutQuad", - "easeInCubic", - "easeOutCubic", - "easeInOutCubic", - "easeInQuart", - "easeOutQuart", - "easeInOutQuart", - "easeInQuint", - "easeOutQuint", - "easeInOutQuint", - "easeInOutSine", - "easeInExpo", - "easeOutExpo", - "easeInOutExpo", - "easeInCirc", - "easeOutCirc", - "easeInOutCirc", - "easeOutBounce", - "easeInBack", - "easeOutBack", - "easeInOutBack", - "elastic", - "swingFromTo", - "swingFrom", - "swingTo", - "bounce", - "bouncePast", - "easeFromTo", - "easeFrom", - "easeTo" - ], - "hidden": false, - "name": "Easing" - }, - { - "value": "Top-left corner", - "type": "Choice", - "label": "Initial position", - "description": "", - "group": "", - "extraInformation": [ - "Top-left corner", - "Top-right corner", - "Bottom-right corner", - "Bottom-left corner" - ], - "hidden": false, - "name": "InitialPosition" - }, - { - "value": "", - "type": "Boolean", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "ToogleClockwise" - } - ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [] - } - ], - "externalLayouts": [], - "externalSourceFiles": [] -} \ No newline at end of file From d2963a5030c4a2dd8bbe392eaab7b77498616540 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 2 Jun 2023 19:29:55 -0600 Subject: [PATCH 26/33] Removed unused files --- .../assets/Bottom arrow round button.png | Bin 1371 -> 0 bytes .../assets/Bottom arrow round button2.png | Bin 1371 -> 0 bytes .../assets/BottomLeftButton.png | Bin 440 -> 0 bytes .../assets/BottomLeftButton2.png | Bin 440 -> 0 bytes .../assets/BottomLeftCorner.png | Bin 146 -> 0 bytes .../assets/BottomLeftCorner2.png | Bin 146 -> 0 bytes .../assets/BottomRightButton.png | Bin 439 -> 0 bytes .../assets/BottomRightButton2.png | Bin 439 -> 0 bytes .../assets/BottomRightCorner.png | Bin 149 -> 0 bytes .../assets/BottomRightCorner2.png | Bin 149 -> 0 bytes .../moving-saw-platformer/assets/Bubble.png | Bin 5255 -> 0 bytes .../moving-saw-platformer/assets/Gold Lingo.png | Bin 3045 -> 0 bytes .../assets/GreenHero_Climb_1.png | Bin 10535 -> 0 bytes .../assets/GreenHero_Climb_10.png | Bin 10390 -> 0 bytes .../assets/GreenHero_Climb_11.png | Bin 9690 -> 0 bytes .../assets/GreenHero_Climb_12.png | Bin 9690 -> 0 bytes .../assets/GreenHero_Climb_13.png | Bin 9552 -> 0 bytes .../assets/GreenHero_Climb_14.png | Bin 9552 -> 0 bytes .../assets/GreenHero_Climb_15.png | Bin 9801 -> 0 bytes .../assets/GreenHero_Climb_16.png | Bin 9801 -> 0 bytes .../assets/GreenHero_Climb_2.png | Bin 10535 -> 0 bytes .../assets/GreenHero_Climb_3.png | Bin 9801 -> 0 bytes .../assets/GreenHero_Climb_4.png | Bin 9801 -> 0 bytes .../assets/GreenHero_Climb_5.png | Bin 9552 -> 0 bytes .../assets/GreenHero_Climb_6.png | Bin 9552 -> 0 bytes .../assets/GreenHero_Climb_7.png | Bin 9690 -> 0 bytes .../assets/GreenHero_Climb_8.png | Bin 9690 -> 0 bytes .../assets/GreenHero_Climb_9.png | Bin 10390 -> 0 bytes .../assets/GreenHero_Idle_1.png | Bin 8487 -> 0 bytes .../assets/GreenHero_Idle_10.png | Bin 8856 -> 0 bytes .../assets/GreenHero_Idle_11.png | Bin 8925 -> 0 bytes .../assets/GreenHero_Idle_12.png | Bin 8925 -> 0 bytes .../assets/GreenHero_Idle_13.png | Bin 8846 -> 0 bytes .../assets/GreenHero_Idle_14.png | Bin 8846 -> 0 bytes .../assets/GreenHero_Idle_15.png | Bin 8699 -> 0 bytes .../assets/GreenHero_Idle_16.png | Bin 8699 -> 0 bytes .../assets/GreenHero_Idle_17.png | Bin 8699 -> 0 bytes .../assets/GreenHero_Idle_18.png | Bin 8597 -> 0 bytes .../assets/GreenHero_Idle_19.png | Bin 8597 -> 0 bytes .../assets/GreenHero_Idle_2.png | Bin 8487 -> 0 bytes .../assets/GreenHero_Idle_20.png | Bin 8597 -> 0 bytes .../assets/GreenHero_Idle_3.png | Bin 8487 -> 0 bytes .../assets/GreenHero_Idle_4.png | Bin 8597 -> 0 bytes .../assets/GreenHero_Idle_5.png | Bin 8597 -> 0 bytes .../assets/GreenHero_Idle_6.png | Bin 8597 -> 0 bytes .../assets/GreenHero_Idle_7.png | Bin 8676 -> 0 bytes .../assets/GreenHero_Idle_8.png | Bin 8676 -> 0 bytes .../assets/GreenHero_Idle_9.png | Bin 8856 -> 0 bytes .../assets/GreenHero_Jump_1.png | Bin 8833 -> 0 bytes .../assets/GreenHero_Jump_10.png | Bin 9191 -> 0 bytes .../assets/GreenHero_Jump_11.png | Bin 9278 -> 0 bytes .../assets/GreenHero_Jump_12.png | Bin 9278 -> 0 bytes .../assets/GreenHero_Jump_13.png | Bin 9319 -> 0 bytes .../assets/GreenHero_Jump_14.png | Bin 9319 -> 0 bytes .../assets/GreenHero_Jump_15.png | Bin 9319 -> 0 bytes .../assets/GreenHero_Jump_16.png | Bin 9319 -> 0 bytes .../assets/GreenHero_Jump_17.png | Bin 9319 -> 0 bytes .../assets/GreenHero_Jump_2.png | Bin 8833 -> 0 bytes .../assets/GreenHero_Jump_3.png | Bin 8909 -> 0 bytes .../assets/GreenHero_Jump_4.png | Bin 8909 -> 0 bytes .../assets/GreenHero_Jump_5.png | Bin 8798 -> 0 bytes .../assets/GreenHero_Jump_6.png | Bin 8798 -> 0 bytes .../assets/GreenHero_Jump_7.png | Bin 9146 -> 0 bytes .../assets/GreenHero_Jump_8.png | Bin 9117 -> 0 bytes .../assets/GreenHero_Jump_9.png | Bin 9191 -> 0 bytes .../assets/GreenHero_Punch_1.png | Bin 9371 -> 0 bytes .../assets/GreenHero_Punch_10.png | Bin 8756 -> 0 bytes .../assets/GreenHero_Punch_11.png | Bin 8756 -> 0 bytes .../assets/GreenHero_Punch_12.png | Bin 8756 -> 0 bytes .../assets/GreenHero_Punch_13.png | Bin 8756 -> 0 bytes .../assets/GreenHero_Punch_2.png | Bin 9791 -> 0 bytes .../assets/GreenHero_Punch_3.png | Bin 9791 -> 0 bytes .../assets/GreenHero_Punch_4.png | Bin 10172 -> 0 bytes .../assets/GreenHero_Punch_5.png | Bin 10172 -> 0 bytes .../assets/GreenHero_Punch_6.png | Bin 10172 -> 0 bytes .../assets/GreenHero_Punch_7.png | Bin 8877 -> 0 bytes .../assets/GreenHero_Punch_8.png | Bin 8877 -> 0 bytes .../assets/GreenHero_Punch_9.png | Bin 8942 -> 0 bytes .../assets/GreenHero_Run_1.png | Bin 8711 -> 0 bytes .../assets/GreenHero_Run_10.png | Bin 8440 -> 0 bytes .../assets/GreenHero_Run_11.png | Bin 9299 -> 0 bytes .../assets/GreenHero_Run_12.png | Bin 9299 -> 0 bytes .../assets/GreenHero_Run_13.png | Bin 9111 -> 0 bytes .../assets/GreenHero_Run_14.png | Bin 9111 -> 0 bytes .../assets/GreenHero_Run_2.png | Bin 8185 -> 0 bytes .../assets/GreenHero_Run_3.png | Bin 8789 -> 0 bytes .../assets/GreenHero_Run_4.png | Bin 9035 -> 0 bytes .../assets/GreenHero_Run_5.png | Bin 8996 -> 0 bytes .../assets/GreenHero_Run_6.png | Bin 8996 -> 0 bytes .../assets/GreenHero_Run_7.png | Bin 9290 -> 0 bytes .../assets/GreenHero_Run_8.png | Bin 8527 -> 0 bytes .../assets/GreenHero_Run_9.png | Bin 8253 -> 0 bytes .../assets/HorizontalEdgeIcon.png | Bin 145 -> 0 bytes .../assets/HorizontalEdgeIcon2.png | Bin 145 -> 0 bytes examples/moving-saw-platformer/assets/Idle.png | Bin 4822 -> 0 bytes .../moving-saw-platformer/assets/Idle10.png | Bin 4910 -> 0 bytes .../moving-saw-platformer/assets/Idle11.png | Bin 4887 -> 0 bytes .../moving-saw-platformer/assets/Idle12.png | Bin 4887 -> 0 bytes .../moving-saw-platformer/assets/Idle13.png | Bin 4871 -> 0 bytes .../moving-saw-platformer/assets/Idle14.png | Bin 4871 -> 0 bytes .../moving-saw-platformer/assets/Idle15.png | Bin 4885 -> 0 bytes .../moving-saw-platformer/assets/Idle16.png | Bin 4885 -> 0 bytes .../moving-saw-platformer/assets/Idle17.png | Bin 4885 -> 0 bytes .../moving-saw-platformer/assets/Idle18.png | Bin 4749 -> 0 bytes .../moving-saw-platformer/assets/Idle19.png | Bin 4749 -> 0 bytes examples/moving-saw-platformer/assets/Idle2.png | Bin 4822 -> 0 bytes .../moving-saw-platformer/assets/Idle20.png | Bin 4749 -> 0 bytes .../moving-saw-platformer/assets/Idle21.png | Bin 4713 -> 0 bytes .../moving-saw-platformer/assets/Idle22.png | Bin 4713 -> 0 bytes .../moving-saw-platformer/assets/Idle23.png | Bin 4713 -> 0 bytes .../moving-saw-platformer/assets/Idle24.png | Bin 4646 -> 0 bytes .../moving-saw-platformer/assets/Idle25.png | Bin 4646 -> 0 bytes .../moving-saw-platformer/assets/Idle26.png | Bin 4646 -> 0 bytes .../moving-saw-platformer/assets/Idle27.png | Bin 4791 -> 0 bytes .../moving-saw-platformer/assets/Idle28.png | Bin 4791 -> 0 bytes .../moving-saw-platformer/assets/Idle29.png | Bin 4786 -> 0 bytes examples/moving-saw-platformer/assets/Idle3.png | Bin 4822 -> 0 bytes .../moving-saw-platformer/assets/Idle30.png | Bin 4786 -> 0 bytes .../moving-saw-platformer/assets/Idle31.png | Bin 4763 -> 0 bytes .../moving-saw-platformer/assets/Idle32.png | Bin 4763 -> 0 bytes .../moving-saw-platformer/assets/Idle33.png | Bin 4747 -> 0 bytes .../moving-saw-platformer/assets/Idle34.png | Bin 4747 -> 0 bytes .../moving-saw-platformer/assets/Idle35.png | Bin 4784 -> 0 bytes .../moving-saw-platformer/assets/Idle36.png | Bin 4784 -> 0 bytes .../moving-saw-platformer/assets/Idle37.png | Bin 4784 -> 0 bytes .../moving-saw-platformer/assets/Idle38.png | Bin 4646 -> 0 bytes .../moving-saw-platformer/assets/Idle39.png | Bin 4646 -> 0 bytes examples/moving-saw-platformer/assets/Idle4.png | Bin 4749 -> 0 bytes .../moving-saw-platformer/assets/Idle40.png | Bin 4646 -> 0 bytes examples/moving-saw-platformer/assets/Idle5.png | Bin 4749 -> 0 bytes examples/moving-saw-platformer/assets/Idle6.png | Bin 4749 -> 0 bytes examples/moving-saw-platformer/assets/Idle7.png | Bin 4896 -> 0 bytes examples/moving-saw-platformer/assets/Idle8.png | Bin 4896 -> 0 bytes examples/moving-saw-platformer/assets/Idle9.png | Bin 4910 -> 0 bytes examples/moving-saw-platformer/assets/Jump.png | Bin 5035 -> 0 bytes .../moving-saw-platformer/assets/Jump10.png | Bin 5255 -> 0 bytes .../moving-saw-platformer/assets/Jump11.png | Bin 5293 -> 0 bytes .../moving-saw-platformer/assets/Jump12.png | Bin 5293 -> 0 bytes .../moving-saw-platformer/assets/Jump13.png | Bin 5296 -> 0 bytes .../moving-saw-platformer/assets/Jump14.png | Bin 5296 -> 0 bytes .../moving-saw-platformer/assets/Jump15.png | Bin 5296 -> 0 bytes .../moving-saw-platformer/assets/Jump16.png | Bin 5296 -> 0 bytes .../moving-saw-platformer/assets/Jump17.png | Bin 5296 -> 0 bytes .../moving-saw-platformer/assets/Jump18.png | Bin 4912 -> 0 bytes .../moving-saw-platformer/assets/Jump19.png | Bin 4912 -> 0 bytes examples/moving-saw-platformer/assets/Jump2.png | Bin 5035 -> 0 bytes .../moving-saw-platformer/assets/Jump20.png | Bin 4883 -> 0 bytes .../moving-saw-platformer/assets/Jump21.png | Bin 4883 -> 0 bytes .../moving-saw-platformer/assets/Jump22.png | Bin 4711 -> 0 bytes .../moving-saw-platformer/assets/Jump23.png | Bin 4711 -> 0 bytes .../moving-saw-platformer/assets/Jump24.png | Bin 5121 -> 0 bytes .../moving-saw-platformer/assets/Jump25.png | Bin 5135 -> 0 bytes .../moving-saw-platformer/assets/Jump26.png | Bin 5111 -> 0 bytes .../moving-saw-platformer/assets/Jump27.png | Bin 5111 -> 0 bytes .../moving-saw-platformer/assets/Jump28.png | Bin 5158 -> 0 bytes .../moving-saw-platformer/assets/Jump29.png | Bin 5158 -> 0 bytes examples/moving-saw-platformer/assets/Jump3.png | Bin 5039 -> 0 bytes .../moving-saw-platformer/assets/Jump30.png | Bin 5142 -> 0 bytes .../moving-saw-platformer/assets/Jump31.png | Bin 5142 -> 0 bytes .../moving-saw-platformer/assets/Jump32.png | Bin 5142 -> 0 bytes .../moving-saw-platformer/assets/Jump33.png | Bin 5142 -> 0 bytes .../moving-saw-platformer/assets/Jump34.png | Bin 5142 -> 0 bytes examples/moving-saw-platformer/assets/Jump4.png | Bin 5039 -> 0 bytes examples/moving-saw-platformer/assets/Jump5.png | Bin 4846 -> 0 bytes examples/moving-saw-platformer/assets/Jump6.png | Bin 4846 -> 0 bytes examples/moving-saw-platformer/assets/Jump7.png | Bin 5221 -> 0 bytes examples/moving-saw-platformer/assets/Jump8.png | Bin 5236 -> 0 bytes examples/moving-saw-platformer/assets/Jump9.png | Bin 5255 -> 0 bytes .../assets/Launch round button.png | Bin 1822 -> 0 bytes .../assets/Launch round button2.png | Bin 1822 -> 0 bytes .../assets/Left arrow round button.png | Bin 1347 -> 0 bytes .../assets/Left arrow round button2.png | Bin 1347 -> 0 bytes .../moving-saw-platformer/assets/NewSprite.png | Bin 179 -> 0 bytes .../moving-saw-platformer/assets/NewSprite2.png | Bin 180 -> 0 bytes examples/moving-saw-platformer/assets/Punch.png | Bin 5407 -> 0 bytes .../moving-saw-platformer/assets/Punch10.png | Bin 4808 -> 0 bytes .../moving-saw-platformer/assets/Punch11.png | Bin 4808 -> 0 bytes .../moving-saw-platformer/assets/Punch12.png | Bin 4808 -> 0 bytes .../moving-saw-platformer/assets/Punch13.png | Bin 4808 -> 0 bytes .../moving-saw-platformer/assets/Punch2.png | Bin 5313 -> 0 bytes .../moving-saw-platformer/assets/Punch3.png | Bin 5313 -> 0 bytes .../moving-saw-platformer/assets/Punch4.png | Bin 5578 -> 0 bytes .../moving-saw-platformer/assets/Punch5.png | Bin 5578 -> 0 bytes .../moving-saw-platformer/assets/Punch6.png | Bin 5578 -> 0 bytes .../moving-saw-platformer/assets/Punch7.png | Bin 4781 -> 0 bytes .../moving-saw-platformer/assets/Punch8.png | Bin 4781 -> 0 bytes .../moving-saw-platformer/assets/Punch9.png | Bin 4857 -> 0 bytes .../assets/Red hero_Climb_1.png | Bin 3554 -> 0 bytes .../assets/Red hero_Climb_10.png | Bin 3554 -> 0 bytes .../assets/Red hero_Climb_11.png | Bin 3653 -> 0 bytes .../assets/Red hero_Climb_12.png | Bin 3620 -> 0 bytes .../assets/Red hero_Climb_2.png | Bin 3573 -> 0 bytes .../assets/Red hero_Climb_3.png | Bin 3457 -> 0 bytes .../assets/Red hero_Climb_4.png | Bin 3412 -> 0 bytes .../assets/Red hero_Climb_5.png | Bin 3409 -> 0 bytes .../assets/Red hero_Climb_6.png | Bin 3566 -> 0 bytes .../assets/Red hero_Climb_7.png | Bin 3520 -> 0 bytes .../assets/Red hero_Climb_8.png | Bin 3492 -> 0 bytes .../assets/Red hero_Climb_9.png | Bin 3566 -> 0 bytes .../assets/Red hero_Fall.png | Bin 4200 -> 0 bytes .../assets/Red hero_Idle_1.png | Bin 3781 -> 0 bytes .../assets/Red hero_Idle_2.png | Bin 3801 -> 0 bytes .../assets/Red hero_Idle_3.png | Bin 3838 -> 0 bytes .../assets/Red hero_Idle_4.png | Bin 3801 -> 0 bytes .../assets/Red hero_Jump.png | Bin 4085 -> 0 bytes .../assets/Red hero_Run_1.png | Bin 4133 -> 0 bytes .../assets/Red hero_Run_10.png | Bin 3983 -> 0 bytes .../assets/Red hero_Run_11.png | Bin 4225 -> 0 bytes .../assets/Red hero_Run_12.png | Bin 4235 -> 0 bytes .../assets/Red hero_Run_13.png | Bin 4335 -> 0 bytes .../assets/Red hero_Run_14.png | Bin 4342 -> 0 bytes .../assets/Red hero_Run_15.png | Bin 4367 -> 0 bytes .../assets/Red hero_Run_16.png | Bin 4041 -> 0 bytes .../assets/Red hero_Run_17.png | Bin 3973 -> 0 bytes .../assets/Red hero_Run_18.png | Bin 3800 -> 0 bytes .../assets/Red hero_Run_19.png | Bin 4310 -> 0 bytes .../assets/Red hero_Run_2.png | Bin 4143 -> 0 bytes .../assets/Red hero_Run_3.png | Bin 3951 -> 0 bytes .../assets/Red hero_Run_4.png | Bin 3438 -> 0 bytes .../assets/Red hero_Run_5.png | Bin 3796 -> 0 bytes .../assets/Red hero_Run_6.png | Bin 4055 -> 0 bytes .../assets/Red hero_Run_7.png | Bin 3830 -> 0 bytes .../assets/Red hero_Run_8.png | Bin 4160 -> 0 bytes .../assets/Red hero_Run_9.png | Bin 4111 -> 0 bytes .../assets/Red playerShip (1).png | Bin 2674 -> 0 bytes .../assets/Red playerShip (1)2.png | Bin 2674 -> 0 bytes .../assets/Right arrow round button.png | Bin 1357 -> 0 bytes .../assets/Right arrow round button2.png | Bin 1357 -> 0 bytes examples/moving-saw-platformer/assets/Run.png | Bin 4824 -> 0 bytes examples/moving-saw-platformer/assets/Run10.png | Bin 4886 -> 0 bytes examples/moving-saw-platformer/assets/Run11.png | Bin 5097 -> 0 bytes examples/moving-saw-platformer/assets/Run12.png | Bin 5097 -> 0 bytes examples/moving-saw-platformer/assets/Run13.png | Bin 5013 -> 0 bytes examples/moving-saw-platformer/assets/Run14.png | Bin 5013 -> 0 bytes examples/moving-saw-platformer/assets/Run15.png | Bin 4683 -> 0 bytes examples/moving-saw-platformer/assets/Run16.png | Bin 4459 -> 0 bytes examples/moving-saw-platformer/assets/Run17.png | Bin 4866 -> 0 bytes examples/moving-saw-platformer/assets/Run18.png | Bin 4766 -> 0 bytes examples/moving-saw-platformer/assets/Run19.png | Bin 4555 -> 0 bytes examples/moving-saw-platformer/assets/Run2.png | Bin 4555 -> 0 bytes examples/moving-saw-platformer/assets/Run20.png | Bin 4555 -> 0 bytes examples/moving-saw-platformer/assets/Run21.png | Bin 4807 -> 0 bytes examples/moving-saw-platformer/assets/Run22.png | Bin 4515 -> 0 bytes examples/moving-saw-platformer/assets/Run23.png | Bin 4623 -> 0 bytes examples/moving-saw-platformer/assets/Run24.png | Bin 4791 -> 0 bytes examples/moving-saw-platformer/assets/Run25.png | Bin 4922 -> 0 bytes examples/moving-saw-platformer/assets/Run26.png | Bin 4922 -> 0 bytes examples/moving-saw-platformer/assets/Run27.png | Bin 4869 -> 0 bytes examples/moving-saw-platformer/assets/Run28.png | Bin 4869 -> 0 bytes examples/moving-saw-platformer/assets/Run3.png | Bin 4976 -> 0 bytes examples/moving-saw-platformer/assets/Run4.png | Bin 4862 -> 0 bytes examples/moving-saw-platformer/assets/Run5.png | Bin 4699 -> 0 bytes examples/moving-saw-platformer/assets/Run6.png | Bin 4699 -> 0 bytes examples/moving-saw-platformer/assets/Run7.png | Bin 4933 -> 0 bytes examples/moving-saw-platformer/assets/Run8.png | Bin 4621 -> 0 bytes examples/moving-saw-platformer/assets/Run9.png | Bin 4716 -> 0 bytes .../assets/Top arrow round button.png | Bin 1349 -> 0 bytes .../assets/Top arrow round button2.png | Bin 1349 -> 0 bytes .../assets/TopLeftButton.png | Bin 434 -> 0 bytes .../assets/TopLeftButton2.png | Bin 434 -> 0 bytes .../assets/TopLeftCorner.png | Bin 143 -> 0 bytes .../assets/TopLeftCorner2.png | Bin 143 -> 0 bytes .../assets/TopRightButton.png | Bin 439 -> 0 bytes .../assets/TopRightButton2.png | Bin 439 -> 0 bytes .../assets/TopRightCorner.png | Bin 141 -> 0 bytes .../assets/TopRightCorner2.png | Bin 141 -> 0 bytes .../assets/VerticalEdgeIcon.png | Bin 140 -> 0 bytes .../assets/VerticalEdgeIcon2.png | Bin 140 -> 0 bytes 268 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/moving-saw-platformer/assets/Bottom arrow round button.png delete mode 100644 examples/moving-saw-platformer/assets/Bottom arrow round button2.png delete mode 100644 examples/moving-saw-platformer/assets/BottomLeftButton.png delete mode 100644 examples/moving-saw-platformer/assets/BottomLeftButton2.png delete mode 100644 examples/moving-saw-platformer/assets/BottomLeftCorner.png delete mode 100644 examples/moving-saw-platformer/assets/BottomLeftCorner2.png delete mode 100644 examples/moving-saw-platformer/assets/BottomRightButton.png delete mode 100644 examples/moving-saw-platformer/assets/BottomRightButton2.png delete mode 100644 examples/moving-saw-platformer/assets/BottomRightCorner.png delete mode 100644 examples/moving-saw-platformer/assets/BottomRightCorner2.png delete mode 100644 examples/moving-saw-platformer/assets/Bubble.png delete mode 100644 examples/moving-saw-platformer/assets/Gold Lingo.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_1.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_10.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_11.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_12.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_13.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_14.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_15.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_16.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_2.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_3.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_4.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_5.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_6.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_7.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_8.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Climb_9.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_1.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_10.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_11.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_12.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_13.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_14.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_15.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_16.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_17.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_18.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_19.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_2.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_20.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_3.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_4.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_5.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_6.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_7.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_8.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Idle_9.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_1.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_10.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_11.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_12.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_13.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_14.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_15.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_16.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_17.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_2.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_3.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_4.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_5.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_6.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_7.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_8.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Jump_9.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_1.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_10.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_11.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_12.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_13.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_2.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_3.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_4.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_5.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_6.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_7.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_8.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Punch_9.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_1.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_10.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_11.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_12.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_13.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_14.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_2.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_3.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_4.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_5.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_6.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_7.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_8.png delete mode 100644 examples/moving-saw-platformer/assets/GreenHero_Run_9.png delete mode 100644 examples/moving-saw-platformer/assets/HorizontalEdgeIcon.png delete mode 100644 examples/moving-saw-platformer/assets/HorizontalEdgeIcon2.png delete mode 100644 examples/moving-saw-platformer/assets/Idle.png delete mode 100644 examples/moving-saw-platformer/assets/Idle10.png delete mode 100644 examples/moving-saw-platformer/assets/Idle11.png delete mode 100644 examples/moving-saw-platformer/assets/Idle12.png delete mode 100644 examples/moving-saw-platformer/assets/Idle13.png delete mode 100644 examples/moving-saw-platformer/assets/Idle14.png delete mode 100644 examples/moving-saw-platformer/assets/Idle15.png delete mode 100644 examples/moving-saw-platformer/assets/Idle16.png delete mode 100644 examples/moving-saw-platformer/assets/Idle17.png delete mode 100644 examples/moving-saw-platformer/assets/Idle18.png delete mode 100644 examples/moving-saw-platformer/assets/Idle19.png delete mode 100644 examples/moving-saw-platformer/assets/Idle2.png delete mode 100644 examples/moving-saw-platformer/assets/Idle20.png delete mode 100644 examples/moving-saw-platformer/assets/Idle21.png delete mode 100644 examples/moving-saw-platformer/assets/Idle22.png delete mode 100644 examples/moving-saw-platformer/assets/Idle23.png delete mode 100644 examples/moving-saw-platformer/assets/Idle24.png delete mode 100644 examples/moving-saw-platformer/assets/Idle25.png delete mode 100644 examples/moving-saw-platformer/assets/Idle26.png delete mode 100644 examples/moving-saw-platformer/assets/Idle27.png delete mode 100644 examples/moving-saw-platformer/assets/Idle28.png delete mode 100644 examples/moving-saw-platformer/assets/Idle29.png delete mode 100644 examples/moving-saw-platformer/assets/Idle3.png delete mode 100644 examples/moving-saw-platformer/assets/Idle30.png delete mode 100644 examples/moving-saw-platformer/assets/Idle31.png delete mode 100644 examples/moving-saw-platformer/assets/Idle32.png delete mode 100644 examples/moving-saw-platformer/assets/Idle33.png delete mode 100644 examples/moving-saw-platformer/assets/Idle34.png delete mode 100644 examples/moving-saw-platformer/assets/Idle35.png delete mode 100644 examples/moving-saw-platformer/assets/Idle36.png delete mode 100644 examples/moving-saw-platformer/assets/Idle37.png delete mode 100644 examples/moving-saw-platformer/assets/Idle38.png delete mode 100644 examples/moving-saw-platformer/assets/Idle39.png delete mode 100644 examples/moving-saw-platformer/assets/Idle4.png delete mode 100644 examples/moving-saw-platformer/assets/Idle40.png delete mode 100644 examples/moving-saw-platformer/assets/Idle5.png delete mode 100644 examples/moving-saw-platformer/assets/Idle6.png delete mode 100644 examples/moving-saw-platformer/assets/Idle7.png delete mode 100644 examples/moving-saw-platformer/assets/Idle8.png delete mode 100644 examples/moving-saw-platformer/assets/Idle9.png delete mode 100644 examples/moving-saw-platformer/assets/Jump.png delete mode 100644 examples/moving-saw-platformer/assets/Jump10.png delete mode 100644 examples/moving-saw-platformer/assets/Jump11.png delete mode 100644 examples/moving-saw-platformer/assets/Jump12.png delete mode 100644 examples/moving-saw-platformer/assets/Jump13.png delete mode 100644 examples/moving-saw-platformer/assets/Jump14.png delete mode 100644 examples/moving-saw-platformer/assets/Jump15.png delete mode 100644 examples/moving-saw-platformer/assets/Jump16.png delete mode 100644 examples/moving-saw-platformer/assets/Jump17.png delete mode 100644 examples/moving-saw-platformer/assets/Jump18.png delete mode 100644 examples/moving-saw-platformer/assets/Jump19.png delete mode 100644 examples/moving-saw-platformer/assets/Jump2.png delete mode 100644 examples/moving-saw-platformer/assets/Jump20.png delete mode 100644 examples/moving-saw-platformer/assets/Jump21.png delete mode 100644 examples/moving-saw-platformer/assets/Jump22.png delete mode 100644 examples/moving-saw-platformer/assets/Jump23.png delete mode 100644 examples/moving-saw-platformer/assets/Jump24.png delete mode 100644 examples/moving-saw-platformer/assets/Jump25.png delete mode 100644 examples/moving-saw-platformer/assets/Jump26.png delete mode 100644 examples/moving-saw-platformer/assets/Jump27.png delete mode 100644 examples/moving-saw-platformer/assets/Jump28.png delete mode 100644 examples/moving-saw-platformer/assets/Jump29.png delete mode 100644 examples/moving-saw-platformer/assets/Jump3.png delete mode 100644 examples/moving-saw-platformer/assets/Jump30.png delete mode 100644 examples/moving-saw-platformer/assets/Jump31.png delete mode 100644 examples/moving-saw-platformer/assets/Jump32.png delete mode 100644 examples/moving-saw-platformer/assets/Jump33.png delete mode 100644 examples/moving-saw-platformer/assets/Jump34.png delete mode 100644 examples/moving-saw-platformer/assets/Jump4.png delete mode 100644 examples/moving-saw-platformer/assets/Jump5.png delete mode 100644 examples/moving-saw-platformer/assets/Jump6.png delete mode 100644 examples/moving-saw-platformer/assets/Jump7.png delete mode 100644 examples/moving-saw-platformer/assets/Jump8.png delete mode 100644 examples/moving-saw-platformer/assets/Jump9.png delete mode 100644 examples/moving-saw-platformer/assets/Launch round button.png delete mode 100644 examples/moving-saw-platformer/assets/Launch round button2.png delete mode 100644 examples/moving-saw-platformer/assets/Left arrow round button.png delete mode 100644 examples/moving-saw-platformer/assets/Left arrow round button2.png delete mode 100644 examples/moving-saw-platformer/assets/NewSprite.png delete mode 100644 examples/moving-saw-platformer/assets/NewSprite2.png delete mode 100644 examples/moving-saw-platformer/assets/Punch.png delete mode 100644 examples/moving-saw-platformer/assets/Punch10.png delete mode 100644 examples/moving-saw-platformer/assets/Punch11.png delete mode 100644 examples/moving-saw-platformer/assets/Punch12.png delete mode 100644 examples/moving-saw-platformer/assets/Punch13.png delete mode 100644 examples/moving-saw-platformer/assets/Punch2.png delete mode 100644 examples/moving-saw-platformer/assets/Punch3.png delete mode 100644 examples/moving-saw-platformer/assets/Punch4.png delete mode 100644 examples/moving-saw-platformer/assets/Punch5.png delete mode 100644 examples/moving-saw-platformer/assets/Punch6.png delete mode 100644 examples/moving-saw-platformer/assets/Punch7.png delete mode 100644 examples/moving-saw-platformer/assets/Punch8.png delete mode 100644 examples/moving-saw-platformer/assets/Punch9.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_1.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_10.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_11.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_12.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_2.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_3.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_4.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_5.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_6.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_7.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_8.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Climb_9.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Fall.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_1.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_2.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_3.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Idle_4.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Jump.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_1.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_10.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_11.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_12.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_13.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_14.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_15.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_16.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_17.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_18.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_19.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_2.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_3.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_4.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_5.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_6.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_7.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_8.png delete mode 100644 examples/moving-saw-platformer/assets/Red hero_Run_9.png delete mode 100644 examples/moving-saw-platformer/assets/Red playerShip (1).png delete mode 100644 examples/moving-saw-platformer/assets/Red playerShip (1)2.png delete mode 100644 examples/moving-saw-platformer/assets/Right arrow round button.png delete mode 100644 examples/moving-saw-platformer/assets/Right arrow round button2.png delete mode 100644 examples/moving-saw-platformer/assets/Run.png delete mode 100644 examples/moving-saw-platformer/assets/Run10.png delete mode 100644 examples/moving-saw-platformer/assets/Run11.png delete mode 100644 examples/moving-saw-platformer/assets/Run12.png delete mode 100644 examples/moving-saw-platformer/assets/Run13.png delete mode 100644 examples/moving-saw-platformer/assets/Run14.png delete mode 100644 examples/moving-saw-platformer/assets/Run15.png delete mode 100644 examples/moving-saw-platformer/assets/Run16.png delete mode 100644 examples/moving-saw-platformer/assets/Run17.png delete mode 100644 examples/moving-saw-platformer/assets/Run18.png delete mode 100644 examples/moving-saw-platformer/assets/Run19.png delete mode 100644 examples/moving-saw-platformer/assets/Run2.png delete mode 100644 examples/moving-saw-platformer/assets/Run20.png delete mode 100644 examples/moving-saw-platformer/assets/Run21.png delete mode 100644 examples/moving-saw-platformer/assets/Run22.png delete mode 100644 examples/moving-saw-platformer/assets/Run23.png delete mode 100644 examples/moving-saw-platformer/assets/Run24.png delete mode 100644 examples/moving-saw-platformer/assets/Run25.png delete mode 100644 examples/moving-saw-platformer/assets/Run26.png delete mode 100644 examples/moving-saw-platformer/assets/Run27.png delete mode 100644 examples/moving-saw-platformer/assets/Run28.png delete mode 100644 examples/moving-saw-platformer/assets/Run3.png delete mode 100644 examples/moving-saw-platformer/assets/Run4.png delete mode 100644 examples/moving-saw-platformer/assets/Run5.png delete mode 100644 examples/moving-saw-platformer/assets/Run6.png delete mode 100644 examples/moving-saw-platformer/assets/Run7.png delete mode 100644 examples/moving-saw-platformer/assets/Run8.png delete mode 100644 examples/moving-saw-platformer/assets/Run9.png delete mode 100644 examples/moving-saw-platformer/assets/Top arrow round button.png delete mode 100644 examples/moving-saw-platformer/assets/Top arrow round button2.png delete mode 100644 examples/moving-saw-platformer/assets/TopLeftButton.png delete mode 100644 examples/moving-saw-platformer/assets/TopLeftButton2.png delete mode 100644 examples/moving-saw-platformer/assets/TopLeftCorner.png delete mode 100644 examples/moving-saw-platformer/assets/TopLeftCorner2.png delete mode 100644 examples/moving-saw-platformer/assets/TopRightButton.png delete mode 100644 examples/moving-saw-platformer/assets/TopRightButton2.png delete mode 100644 examples/moving-saw-platformer/assets/TopRightCorner.png delete mode 100644 examples/moving-saw-platformer/assets/TopRightCorner2.png delete mode 100644 examples/moving-saw-platformer/assets/VerticalEdgeIcon.png delete mode 100644 examples/moving-saw-platformer/assets/VerticalEdgeIcon2.png diff --git a/examples/moving-saw-platformer/assets/Bottom arrow round button.png b/examples/moving-saw-platformer/assets/Bottom arrow round button.png deleted file mode 100644 index 20778061b8a6a48390429fd4c5ead410597cba3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1371 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 PR4{nD`njxgN@xNAf6%=d diff --git a/examples/moving-saw-platformer/assets/BottomLeftButton2.png b/examples/moving-saw-platformer/assets/BottomLeftButton2.png deleted file mode 100644 index 0d5da95cf17b8e2bb475321a6773b32ce43b7ebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^MnG)9!3HFQziaLSQk(@Ik;M!Q+(IDCcaI_y2w!Q{%NJZy%MGmKmg0_3@t+ELqF>*p>HK!`tQw&o7qk zp8I3pdZy>Ee9zwHXmSw!{r6vf&$f<}66K0KhxwGHv@gf^J)(lDO+uWUxBO0b{{47vpHJ7Dk^Zfa1Lsk5 zu+#9(o}Cjc4JRx1A9p@*OY#1(4W9)*)!0ECS-CfkX-f~#u#iwyhtnXlVy{C4Onj9O ztbPBRKU%ta{Ygi%e}oSsbozZ|MPRUFaBw5R8_DS{lK=qGqNE)W9ueh PR4{nD`njxgN@xNAf6%=d diff --git a/examples/moving-saw-platformer/assets/BottomLeftCorner.png b/examples/moving-saw-platformer/assets/BottomLeftCorner.png deleted file mode 100644 index 607d523ed912e2fcc1529b8fad2dc6417861c84d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(HG z#W5t}@Y{16c^MRVjvRPn|2Ch&i;;=#K(Fr3{a!|0YZx_>7!8haItVbaa0n7!8haItVbaa0n$eGajxO51 zE%#{Q?z>Ow_Mhi^&a(e#eDfYPHb>vfC%#sNb{2nEtU0{)^)B^d>FSN2ACy15U{tnE z{Lww*1*vax^p~v5W{f&^?wga|^lk>-dDsk3SAw?fBpo!mp z?`6Q%*RwSNPDm&D@S>jw@!);sUz*o1*6=4zTNmj&FoGHc*5UBG9&wp*$q%U2z}K zzH6_y?zgzg-ckPSpU=VTJAY45;Fu?FVq_7r*f4Ep%)dIX6L%xlhH1TUw_*78F|uK~ TT!sWNCKx$eGajxO51 zE%#{Q?z>Ow_Mhi^&a(e#eDfYPHb>vfC%#sNb{2nEtU0{)^)B^d>FSN2ACy15U{tnE z{Lww*1*vax^p~v5W{f&^?wga|^lk>-dDsk3SAw?fBpo!mp z?`6Q%*RwSNPDm&D@S>jw@!);sUz*o1*6=4zTNmj&FoGHc*5UBG9&wp*$q%U2z}K zzH6_y?zgzg-ckPSpU=VTJAY45;Fu?FVq_7r*f4Ep%)dIX6L%xlhH1TUw_*78F|uK~ TT!sWNCKxJRm8q;LyOp$i%`S q0Aw_<7ueVH^yV{&&Sx;PyT-U8Fr`bn*f<_&B!j1`pUXO@geCwIktx6c diff --git a/examples/moving-saw-platformer/assets/BottomRightCorner2.png b/examples/moving-saw-platformer/assets/BottomRightCorner2.png deleted file mode 100644 index 19b79c79e76f373c5a7f1750ee800ab4cc06e6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|)4e z#W5t}@Y{16IT;iLSPs75f9thFV1P@p`OWrjyBjN+^gW#)OC%f>JRm8q;LyOp$i%`S q0Aw_<7ueVH^yV{&&Sx;PyT-U8Fr`bn*f<_&B!j1`pUXO@geCwIktx6c diff --git a/examples/moving-saw-platformer/assets/Bubble.png b/examples/moving-saw-platformer/assets/Bubble.png deleted file mode 100644 index e8be1b2fcdb36ca0af52b31a4b8c8d80ffd4814c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5255 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 n1K~>z34QCc;MTD7;T)fUxiOHsA8 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_10.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_10.png deleted file mode 100644 index 9142ae89ef54272c5461d557700f4fc2b53ac943..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10390 zcmch72UwHK)@}$@iWC(P1VTWh7zm*T1OfyJB1J)Iii8x1KoTMJ7OG%Hno^`Fh$tXR z5$Q+~Md{LuC{>#D4marDo^$^H?7Po%|9fwqC&~BCtXXT#JMUU+zDXiYjrBQL1y}(9 z0EYnzd7k!--G8$%(LTvvED%q=OFMrYM9Bo|pU zmSm5U^>QK8qyd0aT3%!{#tBCO+2b4tL=EtKSrr&Wz-oXkl#HN8WL=yi0p;V0GxISv z$M`s5;8?JhCg_xx8cl%4CI^E-Xc7=NZz2Wl1tGeL{iy+o zbHlh2$P@yJ2-??(wkNq$G{7`hf6c*#{97&2?GK!2h{<`O$#U|t(EU066vSeF%aPq( zoqrm~V&rhnI2Rm|;zpB||1C>)BvD9ij-U>^4o+PMbCpa zjXwbSx6*Fr-ejEId7K-`-4%n=^PssY_UCNeDCcqi!1F&CP80tFhD37&=U=^Us5ET_gdx$C=3x(h?N>B_Mj)Tf$;D3%sk}&T3WZNJAEAX%+ z3{A&BtlBH6;IU9uEChp>he70Vif9NNi&urf;qq{_q9PiN#$x}}X5vbq#Xj2kpSA9L zg{5g!#VcTNsw!v*PFYn2qJUMDhoDsyR3T8jyeiyY(H^4;r+Kx%+G;d4G?&o(@udNl z|D(}zpLNdezZz9ww7`eT$?t#u(QoxP{r~8`KqSy0hJiu*eEEf{87+6wV5Qmm*=9=c z!Z}+a2{dHfemSvk<{w>F|D|g`k?n_?8j9dXW1RONnZ^uv?T;&G0_bOSsi85yCV<)J zCXNQ&uV%u(S;qeiuwUan9dR_M{x_WcCFVxLQ#{eGIBf?SzJD7Na)0SOiRgiI{U`Uy zXje2XTjN~aG{AUQk_+fJe?b%y2u&tC6EHuQQ_h2k{Uag%W*GP{?YN;m{stl#8lz~h zstAEA~{+~ef$MRtu(L@Iv zt=7r?4<@66SHxg&Xaxuw564676&0ZnI9fp-qH1rih*4El!r_(fPAdtNpv2^Ph5%R=U+_h2n2YhbkJbj8RdRr_~^PMF=$ z!XzIphh z&!>1}W@_isUA_!%G0lqwYu`d2kHStrv)N>7{48tFf7mDU?O@XGxf0wb-66+?25f0S zwIF2Iap9$IAisr87J{#`IrD>!V3ZsCQ~q#a_UoquCn~Ex4!<0+jbyJ5CTBq7%W$*) z8)eD?e&4lr*V9L_v+(n!S+AG7Rz;C%$(*bedGtvB&AQxFnE~3Mykbx;Lo~D`f$GE^ z{7JX_#m1-ps+=a#>|o{#%jq`)Oo&stxuPdq$GDyywoLtI`xwE;x@Nq6BfBW4>U@45 zlHnZC)>+hZdVQ|lm$Yv4X+lCIGtJX_v5ScT0V`to9036VQEz{AbLMnsk{=_Ths6O> zmUf}9?9#}?b^6g$nfg-QWoSPqdL3SXMy!4bjzb(>&9Y3EJ&f1OjuF-2eRq$ewGm3m zB-4-iM|G<=?TynT8KO&~lx0l%6O3;-KOGRwU|AUP9`(FkJFLh;kTBKLqH?1IjAi(w zY9AUi=B0 zW$L99kJR4DdMEF?CQ;o1(zCt#b_T)5@FBQ{AqruMfWP1wvOG%H)M+EkCGYIw`?TUM zWSaP5z_&Jp-loALOz?W~rfwKFgLDh4HPS9x{0^VZQm)x&vD>-@E#0dkd(Sgdg}pmJ zs!V7zw6iWOFn-*5uh2SnY$t-V>Hz`(&2Ax_S6m*v?2`K&sqsywuznk6IwT@6j2-^jeASry=TdE<_e=LOC3 zB@smv*|V~m{xi%=!`>TJN-6LSeuj1*Z>D-?WnGR?J@I5XiMxrHP>WL64Q&axo>ORO&lU68zVtQwYW13Jc6iN0atDg z`d5f3Z7_p9h?}05DOB5Tw1KJN?R5`7ze#$VK$nGVjITrG?oGLq8Udr~?PpC(+;ppR z8ITN;xIGQ|h$Eqlra+#TuZ>k5g1zDGT8NCTH+4)tMgeZbi9Sy6Z<(x$kf6!lb<33( z;v?(j_s{URW^@HE7YA;y2CfeUs+8oxGOXD@0}9(gV?nVixnN*82pwX{Zg0#bdRjab z$!{0LQo|qKi2>+jmYoom9H<-#3Y!<%Zs@$9y4~4c`Pkg2+dW?MTyr3T4qF4D=c1EZ zgj}tNsif1YB0gfLuR~^OHt5QtsGPsqwj~ z-0nM}yd-pNXU6|-n2q#nS1~%f$A|L~W2cZWnuSys`tJ_8JZn2f2(FXp$Zx;1pzi5E zA~u{ekWY-c3e{QUk`zf_{30VFOz_HpApnI%NOpUJ*022T9dDxv>F7kq2mIXcP<5LE z^h`G`W5)aWU%ON27P1pR$paaWc!93aR|c~xO15&v^IF*SYkP434r*<$9Jy;VtcZLQ zDfWpW%=bh9q?|B%(e}o@AoR>*E618t{sHU0rQ*AgfW0`aN3FWB%gi9jDz|TC#H|)i zEm%ID%x`$$)L4xer{+|iz7Z=c1Ng%tBO7aN#9gZ2I=1C=LK`1TKQ%r9!NtX`il;Kv ztOF1TiXYt>#ZVSghIZw*!7O$?$m8+wdq2A0x}vKU#Sn!2 zrzhQt5l`78*x4WDT@&R(4orWj)IU{Cy%+IPf{iI$)m=)tEwo4c3V?L^0FU5u2SO-qVK4mzZ&mf9R64gx0Z$quEY7BdpWi$>U-5B9%-A z{5E?#Ay-ZsnJd@dga8=05iuNEN;79oIQ3ixC!fjz^9z!lKe8IJRxU;{i(M48?%TX) z$eEOh29uUKwFeay<$9Kp*1UBr7K^js;su2&##-*tXHGTdnha5 zmzBUy+_U!X9H)xdntVE{#NeG$l&)te1K0&`(VAjl574+6nyq(H9cee7WU$f}0?NEt z#o1QNIC&=E7VEBnL4sMaK=f&gDGY4*R0i9K*H}ou*3oVoF0_7Ow3DXj)01aj8E?N* zWdouvfe@qB$MtthS&aLj)kZf?Dy%7$ryq;nkPyd5J-SNVvNV|%^?#myLctKw#2dF1 z{82K?_+kB`^#NT5M@_Abip7VAL>BdL>NfD-&**hyiPbYN)cGp;a08*v4oaU>7PDlP zps&@t3~=sL9duZ20I%N15Kal3j}heE`5!xvWwOVo^1*-yGX?UU^&(-Pcv>cs0iRI!-KC3crd zsCcj46H#gS$!11_tQU9y`^(tK{4fcn?A{I87!$(k@_ci0b~$I>JI5KVYlW5bPiM{P zsKZxA($Z4}zE0hiUe0T>B`X;9gjW%QCBsKJ$LRF9n%fIjGZ?GEM~}P}Do_v0a0zd| zV0h#mGwTBmcELJl*cnZ?FVPaALOH<{>WJhaRt;1UW1zoxF}X#eb+Nhe2x>3c=Xlki zjm-e~$z@xY{;|2WP5L)^!|F9C0{b_-(#`4!MDKTfb@kWT;R=@>Zd8P0f`q0Xruvz zXNDb1tt!3?R+tBt929Wl&3PDiSp03?>1fbbe(ni6h~BiD=de%49lI8 zvMjAPsl+&`RFOTp$`Q30^RBAsM_|ex{o>(fRPv=IX6`f{PU+>oX19bBC_00iMlZjm z@yMg9Q9YZ%A0yxeVzTEk?`-OwgB(k1+a(N6*W5&TP=MgkHCyn^U@j==FtNV@R=`e z&P!a3>Zr~Dlf8a0Zp*oygX{(b#EeQ#mL+x8btH((>C7oNd)K7X zN0Yddo87M|h14If(%QMMRZ&Fl-yDWiZf&+aE1x&~SPaZUiBGp=D9EBuWESmlA8&2` z0An~S%zjiqlOl1~Wwucfsn+yH-ujr>*J8Qv?FZ+`Utb*)e|eUqP@G_ABJ2xTN zqw^bnR-HNE^~Uz7*ckI`|29FnSq}s70R`mLt(xN2l5IVPaQ-vw_Qi$Q84c_XtIOU{ zb6i*Etp5s@neYYEia84;lFJat`&@*u5kI1H%^^jcQG%nbLl5zhOH2djZT1G{f&g}J z&Wmc=`afHptl8R`4%bZVf3wO~8l7s#D|yYfIvv~v!xj&6h15~oU&+Yxv{}W3oH;7{ zeNxka?wU5D?jV=3GZYYRP=oS6J>IBJmp^7pes)}-{O|?3-=5~`*>#{06cK#sp=y2*%6o!+(<4j1>J1+F+0k_iJ z?U)u81iaoWLnvWpfW#IPP2rZ4knchH;$W(S(Vg?shT;Y+z+kY45<6A9tJEFE8m{UV zH!fzC*Om~c?iyn@-Ww#^1ejvb^F~Z(W{dQ-^d!xcn{6_o{3yZzXKrcO?AHd@bD`L) zQlVsrQE#9iZ8XUpiL6aw^_xtdKP=t0j{+_vOh z#+~#nfM$1%cBW#6U+t|(w{sCQIQ%K+(ns1cFZKu{c^sT)>@~6;*0Vl}Wu%@j7*mbO zBR-tdHo5XG_84+Ah4`r&hJZoUf+l~6jLH<+Chk@(jBHG7qVuRSUprfLYEtyRYpL%} zv`sI`Z5#?wx#sL_roe`jM@hZ&%oGxzHOxA={W0+KLXH^L$Un?*uDSIFv8u*pLKf&4 zmig|W|JZrW?#wfLUD+MSkFiGK+n?@?HC++c%iE}_#_9tP^@~Lw62Ir0(o>sp-JrS` zU2X7=TaX+}6{C;rc-Q=Ru;j$c_gybg_96z{kM3s$c6x1&rqVessZ|IU2e?;tWa9II zrfF{9_RuXuUm8BlqIwe5ULTA)Og2s$logaM!=K4yD|O_m6*^)#Ayb$5Z0_kZqsLs_ z_{#0kGHYghz}a->%Lhkp-;YYRX0Wh{Cp#nWuO_sBpF0=`((xpW&+PT=wRG(!dG4{? zIK}_E@@}I9Zla*yA;}VKRX=|#$d;IRzUp3HYUItF$CNXOd_|in)Pz!2*kwQ0GMW+)^Zyb3-eXh z6kqAlBTz=H9vrz(%?pk$bkMrg=o=nS+0FfSN|KSkSm2x#75ItvG^I}?Z@?YC$9&T! z#~9@b0eaAtxTKt2x>s-WP2*~n9;XiNOuTuBDSMMZ8H)kLkAWVVWXzI#mA|@&y?DaW z*jupBiKWW`5G6pFX-vA4L9IkZg$MKz*13Eq_9mA3QrDebb4n3G;eX zIg8!*gTo)^1p==mrY4)cdYUElRkr0-SxNRuwh3II{u4rb1nn3k1pd^OG~|%Uf4ih;$@vzyq~GO!k$H`;y1!FO{} zmV3?mqK7-R(8`7|A#z#b>QP7IlD<%W<_3gg*{~s<_O z^((YfCz-8}lbF~em$b^iIz@1M)xKFdmLUI8DV+(Jv2}|AjFxUlFmkbcaMcHYOmH&YuVxrp^0kF+x!_#h;Y;gAd|Z)7YwEsS zes(N6A-mQ*iP*pdXl!0L22qL7jK{zS;nfclJbj`#bUykWD(4RZa$I0dqwSd25O8Kx zUsr5A3(x6q6Ym0#Rlo}NwR#)$e~<&NcXQ02gL9t$QB%aSu<)#Cm>yoXVCnF931(ON z2x9Q?R?p|c6rd$iz#xXf+sq|+))o6fSc3YJY6Hy5q52uGC9@8b0o; z*>QoEGCMZfO2d~n^en&JKI{?oB6rr~$%jsBsF{0IR$BN{>saf-M=uJP4j6hqb!IjT zE)L5Ity#MLe)7j#lf)|36(fc20UJNNr5&E77n_1jzUESr(OG?IhjYT8Ry&1^0C^XW zSj(NAQ!2W6dCXTKcIWZ%-IFcf@8O`ARJt&w@hXjWMo7x8CYW$$1P;#YzG17H zIt9*U7%9G&v|`t+@R?U~IVZei@!3+1sdc8Hc|-2Ri9M>#IKuTAQ-#Fc@m;gV;Ywj1 z1%WM-9=0s^qhQ0ElHG+9QYa10^1}JXDx)X&g#|ZzAX?7q*96bGAJ<8=!za1DpQ=yw z`j(mEp1ORusnm3cOn0vl)MLGYTa4=;(xE>I@|2u76xw)khxajGjVs6pC-B}}$jkpA zz;tipn%85!r{yFSHL(esb}kEUaXeWG*bRR0MxuN$b8R|3x!3sAp?%~NagzuYKOj%gHdp1jTUvNz{fu)hiQd`s|iVjk-E~I7@BxGKG zc}W%-<#Vec=3TYny)u&aTzrx5mrX#ko?|p{KlgLwok$Zd2ClSVB zClz{y2uodZ=nuGLF5bv$Ax?D_0CNAZUsjYmtsE)C_@#bwdj@K^2I1C*bu_w0Z9|;q zTPpmQ52E2J{MMrIB1NlV&t+zOCE=6R-HbqIl0ML*GQ`h?Z)p9QKNlBK&>L|-IIW{O zCd*lt>uT98(e7q$FR6gUMPc)y>ngUcD%TG31`q0_mXlr&puC$x&y_fI45ya|4t;wPK=NWR~QvK8sm?yCoz#)8tRTbMao1u z7+I7;&7^`0c`#3=nKOB7Ix&X8gP~vg5@uh&1zz|ua)Gsr+jA6Bdj1F7n)7!4B}X%V z-lsu!u0O;>eKZiQ4yz`7=7Go3@v?ApZxJ8KVPi?50y%lHfs1d3hgD0) zf{_w4TT&BYVtdOea#J;awu}`C{UqlgX{U=^)&7}b7E*wezBHMQ>C#4IKQq=_+{DU^ z&(SF_@%{7IwOa!0=^x@*mKzLzsBkEzDefe!*%`}ewyCKu2?y$K_$&)B)u{heLXxb6n5}Mb$IWT}@`g zhqyuTcW{7tGyTJNIZ;`rH16DeEXEf2Jr`0TGhn^pSmM7-?;}}tXP`JR8X9lH6M2;O zh^xNzI(P5*rCBOUCa4NG8lP@5uz6zScAQO*KctSaK8|8=$V*KPJ)Wpfm!zA#6!Srp%C?8h?wuP>D(YquSV<|>!?$caF(8|UTl@q zx2~q6A!Cc-bYS_~RQ^8Y&EBouzUQO*eGl*Oi8fR2y||bBR8!`5$+a4iB-ccQ?)>)c z14xgpTc)~TGovTpx5N|r_(U$RpBk%hABq3qGGw_xr;$87b(_~SJBWM>Xe2$cg7s|Q zJsw`a)UBHlXZMLzzQnd$+TMtB8PHKy8OfY1iiK6BWiUR!dCRn5`&~E4f4)kHU|)Od=9)V5`-S1t5FxBx4U#;70U(K;su4g-12V>lPB(9 zsG=UQ*PfNL-Q^i8fAOr<7xda~rn}FLcC#S+C4zTtt!>ot>ADWU zJp=r-99hFhRP)u3s`LXsP!)E&tf~OJf^0n}+HV7|zmE(s5ye0Ey|&$~_!2%cYF`v` zicw)0IUQyIz$WoAxzT>1Vad+QnH~Ee$k_-J&78Uaj6v;l_?va4%ZoZZ$qy@>%jfU) zP47V%%R;2|a$~*ArcO$5c5$m85oUA#-EIB{PEK4=Yp{;n8hv89K)kQ3~uO!bM< zd2jK4-!duoyg3KH3ufLz)+kInrOtgB;kDu)y^grl0ns(6!YN%DT2; zvTX}qU3tT9r{>EpxeMsrF!fzd+tGa5^c>Ur>fKn&Fmx6`-Q#Q-XL4`#I?lZR&p`t{ LV`QF=UGV<`&;AAT diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_11.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_11.png deleted file mode 100644 index f7b98754d66f3918f7303f480a1a651142ad4ee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9690 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_12.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_12.png deleted file mode 100644 index b9db22be95a32a5ae8396da212d33e2912657adc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9690 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_13.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_13.png deleted file mode 100644 index 832aea9e523a9566e873065acd033b1c117861dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9552 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_14.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_14.png deleted file mode 100644 index 9dc82d119b447f3e733ac99ddbc6a10764afe67f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9552 zcmch72{@E(`}deAS;|f-#+G%=!Wcu=ETe4Mmn>suFv2i1#!}XVkgbrcSt2`?y%fqG zsVGFqQbx-xvuj%m*4d}&+DA~cE#9Gmz9a12><}F z>Y=qvXrH*f7vp}~yVqp08SUes7uuQ(05Egzz32cpGxz`irq={BD~gqYz7m$`A&bEg zo$#`L9$qwQ0N|vWpBDyu9!~)|;av!xD#A;R&B7o8PDR)fVE{GoI)!&7paV#F(*Q#= zY`}Re3MZ_l3OebhL{s2_r(i&S9`2rGB|jD6A9|H&*L%YdVbBi|%6S!GjXi@PD+6QD zDIy6ELdinGSSS<Q|^stAE8fMJSCP`Hx39O&1dFwGnZ=d5I+ zrSr=e?VF0QD}~~v1cCVa`pWvs$r4E}5Eu%DfIfyqMmV)`M7!~T}@@*%nZ zFpk4Q@a}jIyeEZBlZE}3^>QUrh-6pdU#R{){Z9sH*cur8w(&20@$mR(>#T0_`U##7m`KO@peuTde z-JAI>>ZNpwgvU^bBr_t>{SWdO|A8V1E-woONmvp*aYSFT#t`G=rj)FRK1HLW1E~gcBBnS3o*r;D2Z{A`xi0k8%IA);+IqG>uRs zUeO8Xq(DOyh65`g<)L6Fgdzrv!ow7tYL9j9 zK0gPMa9ZL+A+WvoU-Q;~Gyjiib58;dVw%%?eEEs0DXn(VV5QmmF=kBg!@FB)5opMe ze>$;e<{wkm|6^*eknN?K5}H7!G0y*2r7^{O|GIJ~fPQ3`5(fJ-0PG$&@i^gM!-Rja zjsF>7Kh^rW;%QL*8_xa|BNLq|z8Df-!-a-b zJCleWpx^ujQHUUnmzO&M`(ryHR8QQmg7}+Z!hdOpjG_K}h!Bbj2&|K$0@xXkf`Jtk z_LvTLMt~7G1kM?YfXl-aXiWbLi1u=oc0MTlk*ohF5dG4Pb;WqP;Av+a;Lyng6y>+Kg$i|e^#QO-?e@ssk4`zKTc|; ze^ql3{~-ryN4FB~p!l1k0|iIm@K9$I7(wgK!173WCoswxMLUudu}~+h0t~MR$L}$E zPaE;SJv#QP$PXC))Sdk?L~Hr>E`K+hv@gHgRlFxHZ%MRflzOIY0s!C_(9_Z|^UGMg z=zsm3rT^?w<2v|0#rKY_$@#l7XHwj|Q$7Q+@rkTQK#ws#JV^jU_*9P&8JLzpk9NLs z4BpAY`Lwh1N~fOl#Uwq(ec|rVXQJv0$K0{)eEU+|-Mf?UW#Ieyo@*8(7na7B($zi% zRutQSu{mcx_1tmD9x-1l{`jh7$+vkes1~gSebf~iP!Dkov1ehl#_+LKw?IL-%NX?z zrq+-I?g%;|X_kGO7JU1|OQHXf0ORI1ofbWyzeKudE5;x_43S)$Of73fHI-7aRHq#R zxq7F+Wjk`Gc>Dc(dMU@y8mCmKqH$BS^hz40izmVOz z$bFvvXe7JGajjaW#A6w%qX7%y$uC=i0k2;#87iL1*$t;>a^icQVt!$8tED&l zMc(xN78X98d;YJI`&U~F=7)AiKg3_$V10Av@)VbZI8@{vHR2Gn05ED=c0#&{WNhIL z)k-X9jNxwe(DR5%CvXlnCjd;$7`^o<*W8bAd~lpw8wv8BV;vbUk($tPHF?vvg*gK<#$)6BwchlC(cAUa!oHoUoj&Knd2u0npauw3kQ0ejryuPy z{(h@u9Jw_k9h5P9Eo-UuD%bNk#E>QN&C2bs*9w;ktRN*#n}%q=PR7a1^F*%h%uA>v zEFo`uER(%F>U=2raMjF<^DK4AbO4E$%N^0`BNb&s#9jb=K`HFrXDR5`JO?o$1U5-Q;Wx_V2ym zxm8rGm3R*hFl6Rp=VH9crOCuL&nCvbF@Zj4_O3TIre^d2Q!HaC9Q{Vv<47#gzWEMy zNLkHi4l!Q0T^}E~JpQKsE2^|ivrI~CpyM{coyD7zV?Uq9^5pU}4vOpFNL?kn zC(ggr_0h4R+%4Q{lo!eowdM70OOT+i ziyzvyCgukC7bxc;HB&m65A-}JaiDQ2yIs9=Y9%gyf5c=pE8;)khv~i5!yUuse2@ zBdluW>ooOaptxv5J{6S=ACjuv1&VJl{ zk)N4nB1AKom=isb6Dwq-H7a(|fS;+0z@3Qn-Kp9=yn7H7=8@0$ww^HLBe;77l7qJ> zXrGOX@)>4H`Le;L;n&$wB4lNuvuPN`A3dntIB~zVQjn)ZMzks+MWfCecW*N=bsHqU zANXN=hrZ%CQ{o}xgH9~|!ctN?`I_`7y0Io7oyh)-*ewJA#8wHFp}(Ez=)OK# z%I~G0A8-2pcKUwn)M!_R0z|=1xL;)XMzJ1A>>6FFJeA`L7rYGuoCnJK|= z@`kR?r-yfUZ*l>rSFTzyFiM1Ub%Iveo`2ccux|Q5!hCTu$q+bFg?lhSZv{L7HjbT82h&Vt63plWo&n9u<`_M{U_ z)eiXBDkTXVI-6-r$;6q^-_Wg2s=g2eieQ620 z(Ev2(z!ceZeC@JK=niK!w#REk5nkH;ObqM55SN&0rj_3w$v8UIlFC@G@rjBuz5!EX z^nWSl2({wVkkqt_&glDssf+?dKk9XVoN?}3A-LPM_JX#Ki1TW7?bc^ipJSHju$)M(p!L&X!)5&d?9otC8_L zhncv;Cpa{y&c*51x2)P56qDRl^PUJ}bZMTL4><;?KW zOR_-HV_*H$p*UF+McxxfMcw;nSoDU_s7siA(lu;BpIl<0aH?n>nZl^|pX8;3L+ zgjbIkr_n6;dfY&CgZrBqP4r zEHH4~P=~))H-21hb<<<%O3l^9h>6@3ZLKVp{fS{wAvZwp^^>JDq3){dmjTpy869iB zgG~|NG|{)jChfR+gF4K8j#ow4#lA{+Jl(ezvp+qYU{>Lfoq;Faqj}$zMNnrMntVtTA}V zMgROl>|+^6!7Q7~c@XB3R))XZg%{V;t0q+oUA<>|Ed&ye2zq-bhSs?@j<|2AQN!^r zAKORQKUCCh603QF>FAP9$vMpGxaF7wc!nZpT7y!7Y zB%k0gQ+Eg{O#H0<7E6@v6Y27V>*?L6b6#J*RnKP4n9>GT;Eu5=E{dr?y8P;hplCw3 z$4XZf1?A(M{mPbEfhPm+s;0J0A7WUD&-OZ-sRT&9bk9KA-*dD3@#aKXQvHq8@Qgk- zlB%{Zc-~F%MFBT};kKb(LLf4)WQQYmUC3W>Xdv~4P@(c}hlrB13kOQhkt4r-Hp|H2 z#+xBal>a&UYxmn?Idaz8?(CYrxw~NqV= z1^6{5T@zwB!cxWKe#F)0rJ&-LB!Cyc@0~W(`i#CLur3*K^swNz!+pVro3(9qS5cZ? zV$m6VC)D-4rS(Bz(EP!(EGDwEAs-h{b}rez&b6|#f@XgKXom_+<|!^Oo_6Bnl9U%v z+O+K4xuYB7+^jl<_x_0DKP>n??<3fDtVDOR*Xi}a)7FJT3_``Je9|FKQ5Fo6nq#BW z91d{##gjvc9s)ztK62wx6G#s4YyLZ9+s)(&vaFhH7{|cCCB~)%{h_7ciCT5Ddk1{@ zKb+eo+6Q#T>p90{IT~(%u9)c2)s9Hz^KZjpF4(6w_XXef>1E+^lc$w{!cMZO!{W;! zS!jx>P2f28o5!#ZTKd6eAaWZ^c~d-edd9bAvo~!+_0iVg#*t~y?J1{b$DORvE2}aa z(}%XTAD*}GUu9)+Za{c%wyuxkZl`mO8!9(kxc|_yY2o|JC)JtX=L^SOc#|Z(OT{3EpG0i3KOWc6bD zsU4f$hTP8dMjZ`{S(NZ2!`eq>?xu?#mVx^5*X?=yo0`J?q|aVxFK;ZV7~6umYExC| z`oy1^yiXo)y8NP#vTVCAKRvdoy<2wW;4Fb&$$Iea`ORlXPw5HAXViTA<_HLl7K$3cRJCIrNFjfh=q@#t|Oz_*<{J$ zwvh41GM*kcR@S(=HX?1M4*-A!2EtL%_8CXs;r^1YoFq=Y#p6Rw4pt|eRhQd{kTIUO zMyr`@=5|h473QL2POEX})s(gdOH^I^5VxFIB@Y-|GxCMnp%V;yg!sUxuBOCnrZ{A; zFk4w^aRC@opG)hAFM0Pdy~_xCw<17xKlI@W3J@XyK4q?1WWpGY2xrJs3w&!wyD{;c zcEs(hIKfC~gDyJ5>Jl-p8Y_0D&6fh61XtemFwWN~V3RuR0X}slBwez{j8i@vWM#_0 zsvBaV9nbad!tK!kOyZfkNuf+Z9D68d%)%V7`ij4o$R&a3937`36Mz&$4haw)Cfss# z_m%DLb(fLCn-1B2b>r1QS;L`y8Bi{)StwXoSDe8=}jIZ8er` z?upM)4B=gAdqZuC`GH*=$CHF^9y#v+j{6h*PIn)E}pH}A}dP^))JCAI=S zbRh)KCikeyNYI#f2S*wA}^HARINhkvTc zzoj|8HE6z)7|ZS<*l5VAn^V-hp|=~HMHq4I!*+r5B;J#Y3qKB4*g zHEVcLS@7j6SCwSoY)5zK7oo)cn$yK}b|3@S#mtKx&uVUUb$_2%i+R3&QWQlgcgfdv ze*UfNdHY??FS-E>uzLE$Nr2gvoQP4zK?{tFt$Adu3}n)T`j_mu-O}RZoZ>{JxomZAe`0eTw6j-#`1^_GduAckqjic89#{`m z0_ENo*FN-LS$bv~Tp=knXgtkE`=N^a+OsOCx|2uix%c(`i#`*G=@m(F0_`*FiIfq)_FUus7_@= z>>$!GC}PB!pdmFoXO3uF5MSTENOk%IdP3LGe#U?qE&cf%u&Y!=i4+dGxcsg{?0a93 zJ!`vh6_M3$5_v>VT3$e9=SVbSwIg?FvYnK>n;Eml<#x}k$Bo+!U6d%0enIq&+L|k2 z=v!}+EUcSRy-1@f&J3|||1FJcJk3h$PHe3?x7Z4fDy$_)c(lI3Z9^mmYkeyoubvCD zfEFITd-cGf;Ah)&q1se841v||#H!sX+U^bPdx6eYi=>6dHqW7&b*4Y)<0@~=wlMFb z{`s1>8s32LVmTlK;+TecOIG02na9s+K)ozUe5o(qi@>64;~!j|e8j+YhApYqdMN1q zN9EkIyu5P6!QCE9md4|?faU4D5DSs}w4){cl}hT4ZSl$j2U2)K&QU#Y2~wG|J3YnSBrI$>g3nkBm4Psf;`4c*pwn_Gv;T z#`Vihhk&*5!{aqm;!lVLbCD6N!Mx=bhG(pd9|pB%-4}fQrNE2qA&tD7ii;7uTQpWZ zZRjdRR`I#nufi{>=&h!u-tZ#Lu%JKLVdfmF`NHcop2@fKWA^k1HvFpQ(O?PViEqIH zi{iz#?i)e$^u-Z51<{4$`!+wl^Z`@D4*TF2A&VQ?ZlVH{gJ;GagpP=eo*S`vh?(*z ztH}B`%CNr5uJOtV-L3vAp!0*uE%nq(Ih4iCq1I{#ryzn*I^X^$bXVW{Z|A1pOx z;E(kCYKEEY9>)%O%>!?F9$w*k_{HlRYw9@0Xh>~6_j}6~$HJSAt-Ken z;CPm6s^;^+_cJ%DJ&aOMBO~7qrKKydYo%6%pHp?(lJWO_8#5-WANE2FIN`Rznfz{Ma{ z6@_#(b>huoKtSn&n+dO%QIZYr+Sg3R+}<;fDm zRSnMrNE~GqnS8m%-5s{&`ZnKB7~Ooa_Tt0yH*y~mkL<(+mClRhE@74c<45ejmS3X_ kfc;kwPxcY!yNx8AF8{W^7|d!;mb=l08ezjG+lL6JsY!$X2#&S(22fWQ$~% zB})<6vL=x|*|Pt~sndJj_jk^F-v4j$`OM7o-1l`~%lGoiY}0MEhW&XkK&y0N4)hy?}r_seAwcYah|bjB2KH9)%}6Nn&lu zID({y6NM%X0Gw9#pkVP11S%LuuqTqxkcIMU2$*P#hM3Cfz;q~Q2$zYPUd{wVFI^+N zmjfPY3sF`ApY}k}6gUy6Sg?naBgqBjfrk917e%|?8dxrqF(L5<*o zcP3J(L^27yrxA-IyHe2*nyWuzaH9NDOLF;%6Advb4=hCrE(zO<={G@J{4Y6*tFz;8 z#%=LZ1V@4sfkbto$-;lhQZAFJWS7h2zfk>a`kxHYu+`D|W#dnMadP@)!i9R)jTXjF zK>k$P#mJLFkTM{+kX@begtKlmH${Gr#)WD?_y?ZLu)SXx#R1{O0Vl5ENDF5-JJ{9Hg#!%_)o2#rWG zP?$6nreFj^qGS;$S=o~?I0^>)A*w^RCE9uZ7g4w@N>&~PL;RB{jmEZED)w)MZSg2O zva=JGmII;_)}A0mA=yK~zcPzDLv|!P(+tzRlljdH9UYVw$%Tp~;R#x5Xb3F?Ng~k} zB}0J0aCljHs2vQCgkt4nrD<={@=yd0i;%&~NK4}gh~L+%k@2p3WZPT+qws9Wc$$uX zScNOt5oBcL_(v|_-*WaXepSsV;%hes$#E7-}(VdZhZYtwTk(rO>;_(!dKUfI$# z%EN8#ka9>_sEiB_4@F>Q6`(k{JPwMpg(F~gGI%>AmZoPf+bEhEnoHQd`a(nCKL^eB zSm)^aV-O)tD}0y~eDD3|{KdbS|Hrg3iAaN38Uo(q%MVlyX}yaEE6vt#WBNo7f}@!l zk%o-R4=47_{A23kzfA2lvb|D6X%by%jPv~2X$%Qhe_lBf!M{}(3XA^{0Dg~~1Y5|@ zVd9^p@jnCXhg$c`1R7NThO3Km4lI{|-by(}%x|CD{{bd!5w( zAQ(JMngB;26rl2QcsLZNKnn&5htmo~0Va!w*A%75J*{`Zn3wRa5p(Qc&vwG;ig zSNnma`d)SZwo{}2tmpiv9HedCDB4ExH(Q6SJXS^qE)9pmVKhd|D#+SFaab8UsI0u5 z3{pl`RzX^Z)`fp~L;jy`9eZ8mHyHkKI{STycI4Z;{B_u*-TXSP5=gYVb*3FgF-;W@ z004nQT52jr9;tJ_p3zpOo|6lTlal0_-jw$S+J&MHMUKsMtxQoj@ds0&!Drg|nR$|; zjSLPy{Oa-0F6ppo__^bUH4Wmg@}=fP2XF*ttEzy*fF}Z2w2$B&^Kaffbg|I3^=W1I z^nB@v_uI8MLX(4=mrBj+w5v^ImU~@iplem-KGjQeBS;-cAdk6HmgMrjCmojNK-=VZ ztl-v26Tn5gV!GGT_jxc0ho1rp+b%Ok6Vy-opOX1=5ytH*e^yyAokU2-D@L`H8@=&) z=4&4)OJ7gE3EOboY&NuJ3t>}E-Jb61NpYi26({W-LV)@i8G%lf+^M-^XO4zM+VkAF)gLAJw@wG<5myjD9GJXsh!)u!tC*J$9 zhzCdCQmOEsdyX$1`Ra=1NPL0c(i9Dv0hMT^F!`leOro)2BPjVH1OMi zk+9E^SJh8(kmCRV^O&Qj*mDeI&)*Ag$OmfQm}xG4>TZYKy2`-83(PonS^0}1*bc|^ z@<`r&G5@R{&oe#Ou?l_*D*QmUQ06(`Y?~PtO+(W=bPw1pG~D7>Bdbda?YHd57HcCu z8OOV-Adec{+aFqM8*@%1P4~o%hQ-0IP5YzC-&bevA6zTBtGFb}P9Hvqv=$4)aItAY zgOGlDU}mV2sxL_GgSZjgEUqlAZjkX6Y*d9)q=Wt{ABit0?Mj`ld}`AbKCi47xn7@o z*4Qgan^K8xx2!l#SOY==asGVzsvY_r=TzdtyYutD=r|xAJzjadxcYb`rAO_>1 z&+JUpi0ii*y&WONZj?^IM!`d^NXD}&4_>$r4YWS%|DMpIW6_9_Ra|Ol^2=TvY+HNl z_Rd;qMKIcr{OE7ck%?(srw_&*%e~|~)h&?M@43=et>n5{+di_} zq*3*~V|U!k;KbP>KElyp0Vb)7+aG7Dj*tb*jLZPeojkWp^Q2GAAd(Ekb*Rvf`J;I4+Qukpwf&C+3I}yYI@ob$&wCi-qo|7jLZj-lzf`oAH6=(DIZ!ARds>!rRbYtWYeNY@_Tp873-lJb?I^r0L-Z~k#pxl zK#YwI{HF)<@~Y-ORP$}DYmc0O(i1JjAf*8rn!@`01+4n|@N+12WGEUO13II^8Q^s) zh$nW9lbbU?J0zaHUGS!6IyZ$JP7l!ns^vz!a=9$ zDP9n1WnxFfmT3H8f-OYZ~Yj*4rs8*$rwvGU$I^MaJo z@`hU!zzIx$-ZBto#wa$$7oQOtE}5Byua{8M3@|0mdjuMqLj38@#JCRgGdy8vqqAc| zuuE30w^-EO8yixtm}4t#^I3168sqsSW?d@24`JkMNiWo^phyQaf@2n277^~Ndc);O zA9Y7WR;JsnGgtJ56Y5nX4KM1dR6TlbzW%5g^UiSL_Zh}oS!sNb=K2)Bp(wC03K0yQ2i zZ!H&2-7bv0JoEbb6);_010FvDL@p)Y;AwYL#ejR!rCzmfPMufCJ2 zn(j3jshBZUY}XUIosfgXRGhe6&PB(mFMgyG|3D|V!Xw>e1b7cO?t$wUa1~;AV>gmh ze{od|ME^xes`lpBwjx$75fkBXl=}Jo>}PX9fq9UHYx8suM)AB4I3?1`o9MnVjX((W zaanyE3*?s~x!fh9O;_6Mym%b=VzWtGuEnbPxmyw(&^yq1Mew@`;eAhwi-geP2YG3` zX{yD$`wzV4M1ZDtlSVYW8lvNs6*jZzzsL0HUBj5^2vBRko&_<58=|ZFL}tS41vA==0#@M- zymWa3X{KE9R-Wtb@JEsx zN}I$LK==HeZmB7hw|YZL_|O3s#_$F&LB~P*;7>e<_$JdMOhM>z(V&V8rq|RSd%BG^ ztf!W3Orx_k5`^<@%t|mv*x9Yh7I`}1@_GwqA+VR%o0>!x-x^z7Vv3m1-v#!gV$b1@ zV;Sq%b)n1pz?bF}2|&{Q#7Uc20f&r}@cy@nF~m2Y1X`}Yo-IE0cBZf=BfkX2%Pj&8 zn>!auMXO)~@_2iuYsVTBugSRNEcjEeQMuCS4cD%VNvTi8WO|E+JS+3oub6gj7|P4M zI>^=jqzu#M9yd8Za}>U7S~+hyfw9#n$365fRy}Qgbt>(A-Niv)`)n3t_y<{qZwBi! zcQ+OY4ZvC3rI@x?nV5hU&U!PD`T?=BH99azqrNR;e%~oBjw8o;`h8*=_4u-U%mWOmN5Zjq#X;)B4UK zu4NPKlCScEIq6$@PYu56%Hv)pRep;D#sHgbKu@SqQ_t1&B-%O}m?icP0t(0QobHfL z22xfwD(bF}Tfz5kKNc4HKJ#x+(yjlCVX8Cs;oBGZ)zx!P7_BZ`ZmAfk)v z&=Rwbnn$Xn4>8=mT&%R|fQ2KJF&XKGx%whvO_CY|^Tdg0TNzxL( zKlG@$YP^WUt={?T5dEyQ?`xVN%#%87NZ9M3rv81eB5&{G(t7uiJBN=?O8k_)MQoW3 zh2%GT1jBb6wWAkdQ&s})GDB!zd4{wPj7ocXp3Y&GQP*x-2wltqC0UnK`MY? z6k;BN?u?-iva|{VwQleUf9BSzI-G@z4iAo(gryD$-tC{mRxHL6>cNETw}!xCOe3tJt2(w1l-)Y`m96Inp=Bd_(R_={Z*ZZ<)lifpEJ%Jgukw?4c*u{aObfMa- z(rm@6={%<*#YAx(6Wshj=JBi>472p7byzDCz=nnhbpQKIAP+4ESYAzumGXOZe0IFZ!|iQ|g64Mkn54$7=?yFDEiH%V3dj;~-@d&6WU zrCtc$#}LSPHR1VO*pp!FZFP)N?XV$~o9s71hl{2}3C8A?#>cd|lrkvA3xOW(ehN@V zZZ|LZ_2uL>kn3mstb5+^129|>J+GQ}u8q1{kXtLo5>B%o;^NTGdzq?*jppEn^D(eR zs2TL`&>vvF$j5R7oYnDW*Q<7k2@O(CNB=9sUSVoeE3_QJE*&rat)d9q@E?fP|$ z&4U>yS3KVdL3vZt&KcLqqeoSP8`q9kQ77_*h9@lI2jR*&T(S1_+x2&r*OP^K*7CgL z@-aRm{-HA%h8US~Q4XBH95dbV1L^LaX8{+kjmwB|*q?bxTtABO$qklSJ1h@s>fgV5 z!KXLho+ML*zcy3wY2>5V*qy58yVZKWgWDk6qYpG3^a9F*(+B4mF%-)~T)Q>w(av4G z+<@a4Z>B;QPiR4rNY+v=7%(CV0=N2VA*R~{)tWK)PPKlHY9AA_qYOZh(o04=fJ)qZ zkhwD^*8bsq>CN{X7dloRR%8K`UIJ1T6y6Do!3q|_3^*Qu>&wis1|9WpA4Le&qR*$$ zpC^g)r2;>$mG!lkf(jUAM9@P?vqzG=UZ-V7X?nZ_bK!3Fq%$Lo)ctZ5QalC}%D9PkY&a+{9Z#y91F zcgjb{8*f_7hP%FPzC;zAXo}B~KEP3w$j&6dCa>!&zo59)yS}~a2MW!e*lzdB^VxoQ z-~u=e%`N-Sl4tUFyxz}D0hKo9y^OvR?^Lk7k`~+F@nWs4eAZ}2Z9-U*(Talw z=)a*X`0_sO>x%cioY?ltqyv$O%!`ar7}Ac&Sa?nTwt>~d_FB;{!~Q1Hl4Zhv;Aq$G zuw;Q$7hQgKip=w8bGvG58ro;H!J*Vu^`PZ1vxYal@0K4l|6G()sP33VDi_~8YGXT> zy(6<}Vx$|X{8q4ay)0GmHNr1aC#}}at?s+&j6`77&<)k#5521+F-ISx<34SCDrp!q zskSOx&&^6SLh_rt&Qx!tABE0Qa=2f_%--}-5`y_XOH~tlG1U_^e|5)wKGS8sraFBR zX?3gq^ApwJ@s8yKdRsk+yiW-^)%sJ>XAOwkiP6CfqWT${*9DrFXNNXPX(M*wNUp9W zEAm|@)PjQIuH55!_%{qS;Emv<;z5>C^$$rKDDO=R!R!=ybr0_FtaMY*ogJhJRC%>}`urTWF#@&oA`cXk4JX%!mtF_E*US9OJlfYjW(tN$s>Y;ODI^<6yvZ@73LB$x=!?oSm$P z&Y}E|g`M#lDL2E7PG~Dxz4UtZEUEcn(TRH@V)QPBK(vv6Zli8>+;{HKh%YR;DUsZ( zT=g6t#FmM=I8*!EQ<>@BUyQNiof~$AEOH!9Y$l0A`>bn@Avdb|_1kTEi2{*ZAL6SO zzlJzf;~tu4bR2dMmwR;3-yj6p?SDm-xlsbsVPQ-yaFr69SKPfscwjOf$*YRcKu$g! zoz+zgM)v!gsrXFw&D@{6U)}d|cfH-7Fv+IkTU~h6*(#wEE;jVy^V91KWm|5bV^yvjSE;Bf8rhhSa?#<%aO$$D>7S_~F1K9?f&;pLLL zp!$#Qf$;hnufd08>LL>(a%_EN0blK$zTZ7O?o4 zbtYMB5~y@vCti+%4!C6O7Rx)GC#Z^WT2T5fRj*UiykuI|eOyx{Ao)t|dHJDO!Fc9e zKL0TQ7(5Jr=`gx)Kndo(R;BldP4t*=^_7`>cmRO(fElq*P<-|x8^c>M!z|!IOfo68 zX8el5xyL?Opi3c%Ur%TFT=)x0!*@`fD}8xRM#M#>RyjRSDecijm)O&zMMW%aIjC9N zgLUl2?DtwYA8}Ai`wB9>S|5~l?|iJW?n~C4Q`Kzdl5JV9L$Y<=e|{q^-88x;(TOeZ zT3%sHUfR`(8oIL~RL9Dd*9B`Q+I9TI(WkFBR^CuP{6w70(qpp9fd4#KYxa4J@@bSQ z-^f@PYz!5h%278&P52`(?b>-2mq-lDZ;8X%8Te7GDi;98%&AoFt<63y>tce3_DVup zHPW~DzF%}e@$F)U$H1~~j(QkMFSR1kAx*wPB_P9}!~e1vFp0Tk#-oQd7n1+{ZP>;x z`g_Up*EZiPeePQk6t7}8Fk0FhK(PvnPbtaV{;s7dqTipx z;>*_m7)+u)A~>tqg?vRA+4jEC-0gz;ZotW;D=#0Jv3}zjK zXY_g6F4LteTWs$$S3wZre1h%QbwP3qJqk~v4-V_sI%r!KMd zRGC)ahgI6l?bMns!Ds{h&m2?rvz1dZ{q#$&GUCdevci_uR)!V0E&Cj9)qT7fxr_|= zj|B z9DwJF=0K{8#i?mO@U)e?Sz@7K7Vcn_vstOsvBG9AFmIwFgyE|(o@PIBqsdNMF`hqE4*TWaamG^*&fjWn+7T<4QWxZu<9p|`<8 z-RMPLIHhu=5yatS9qiG21^n%x-$cZ@1myzVvlH5wu#Afz74w?$&Ji3~nCmKul`|?lq55{r(JI9^F z9v(c;85z&HV0qKWZ6Q^NIV1jIw5mbNgN1f?Uu*t{s``RHlX+204xme}-`1+OTiqTG z&DwiaE%+M^znDXRY`pizC(my(T28EHeYd|l1$ zGWdIJx8$vhm*<(-9&vCRiRV^4YTSQvv_$1|W5h_~(_)t~k=B!V{pPjM;sTnrklhMmMSabkU?fd9>4tmXp{iOaG z#@pn+*$+W?rUGw-VHxP(*%`BHSW`VsEXS=qw|my!?=IF@%U5r1p|`_FH}}6zZa?i@ zF1iZ30zR(TeeOZ>!*?Yy$>SZ#32Ad})3tRw@#9UaUe7M}gY?vj@axFMaA+eA7#C58&qsB%K>SBAUSI z#IKfLGTriO`gH4a){NXm1zAt`LthO&D@9(9s^7uD90arkgO2yceVSU_aG%R*#7YEb z15YD1OZCuoMS@?c-kfFcAMCW(t&~Zyx|Ui#W|lCDetjra+IW@ANNX{7Uufyg7q^<0 z1g{*fwYleXBE>NF8z)KBes-!yWh%)xZ96;a!jbby2UjKo<>H%H?>8xa{BRCJnX8>J z6MUC|{Ssr)>oOC!Z_0aejI~l>LwsFBRT=sJ^P|z9|E{znWKTj`_o_ZRzW2{wT4#0D J@>FdC{~u9r-^>62 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_16.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_16.png deleted file mode 100644 index 75f45b46266dad5a390f0cb231d3ecd382c7aecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9801 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_2.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_2.png deleted file mode 100644 index 36e42ff37b2becd66f3338fd2f8525dea156e55f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10535 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 N+Gq9D^VDnu{~uk^-kbmc diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_4.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_4.png deleted file mode 100644 index 1318294dab2702c6f5591aa52e413266d156c098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9801 zcmcI~2Ut_vwr)aiDj*<&NGK|xfrQW!3NfclO!mz56cTmt?Iu#~kG!{}^*-g>XZCtpjWVYybe@ zfR46?5$zMV|6*aHy_3fiOlTjhWbMmt008^p{TC2$H;o?vVCyHCSWqnVE+Vib7ilz( zguzRDx{zto0Ki#QPcj)I-aiXd!ptGI`ngSO*1r73aaVEMUJdvWm=|#}4_lIRfLBEMmoRFew`vyT4dWN8L zBv(8LE)4-=ArJ^i5iSi?gkohC?azQ@A+oYE5G5I?0vM`@jxOd*hnpnZ*K49T5>6s5WPGX@v(FSSIs-*KWLCgX`F%Rr?e`!W3{h{OJpBfGmg z|7IMAmBBmXUGPMT8%-AaOP1_NqLADiNq?dG*YrObpkb@0_shn=^u@*HmkBq@c`7Z8 z-vRlT(rzYRWW0`AUJXj%>kE@%h544LR43i_2<#5s~P$(3f9<{j)eFZA>fIz%@Lnux{gXdp#tAxIMl zI0Q@%Cx^w!+Joif6%@cqI5}CclB_)(48>tFSTqbLXAigkW4#6m>%LF6{q;W!4@bh% zbo|3A3@Q)DVIg=hL|$GVj8~9T0HfiGIIt2PhQmPR74bMU?hkDSt^```qn-b(b>Ax- zO{1)WJOqQmE75$x!oXO0ISd#h2Zw|0F?d<5oUFYf4kj-O+RrwEriSJcdcVGqqR`(5 zE%sUG?EZ65QI=Nt5Eb$NcI#Dv@2fCfrjtj)`ZMoI!_`}@veVzpNw`z z)4Da@)eR|X?@Dq3{o*f(LIR=5WM=~Qw{*%-iMZbz;xC4Y{-qr^H1%&F!a-;Z#9+bl z@^Cq@97GNWMq?rJV3@3;tdcw)j)uZ$O#cgr_G^{4KfwQ})&CcWe%Fn4L=zqGw7pK| ze-I2B3WvyHVHhw>&K?JbD9GW#7)4qKqQxK!RX{7C(Msrl8_b^@&;N2T*uQ1K-z0sX z7r#jI*P!9>u7p2v;Lkk!Vch>tl4SOeAwS!V%zy7hKkqeu zBB{AwoxknWh=0{{{!wmpuI*V>&&)#E zsL#9gx586HTUW{~>ve0)U@Lv@v*7jW3g4RL`BAu@Xb`WZO1AXMfv26;mOxy}dp1y8 zlo{Z%eF@zg*$2F+#G}suMeUA^F?h|>0cT+UT7+?@I)F_ML?;#6`I=E9^=4l}zUBHy z^76OSZ^Jj8w_1#C*+bb?({^UMd()f)R<@y{0Y(d^08aNBW*|erunHHDv2}h1smWkC zp<@4q={)CYkiW^U-!7ZsG0?}e4Dy^JBh_rTNUD+br~5?VN+Bz6&e%2B2nV=`N7g^D zrl;dVF~sp}SZQ5BuH+93N0xHf>cvWb`VQq;d+KM4fG)!~H(~w^nIr34mnT2?vr2}< z+*YgfnSX&T8~x^vr-PRTlo@Fl8N@em-wVKXoQC{$8W|R_k2hnwuiU@5PKd|1~ zOSS~wZ|an>*|lA?E#q7&1gY+%V z?8?J3W&oBjljy3AmiyK8+)t09AV&RVD#!uuAPQO~OuaMS!mESx2WuEuv-gS;D z;+9Mj^|lR{8Czgz5GH`%P`%Tz^MYD@L{CBfS3M`i$4^$DEUi5mO>I|*pFS0>;yX7R zJ?j2_)?imyxd)*axLNo}CyMdB+QXL~!-H+l2Yw{B>RC0R z=-iv|Hac~Fm>+*UM3715^3JE(>SH9KauW-HYZvcr^L*J;vx>>aZ*%xcNHRAz4{GnE zGT+zIea$059-Qck2@K-k5e-8RdfBs07YbZ3&#xh@-pt?d^y<6Y)`=#Ig`8v*Wn@gC z=gI?cF>W|z%E?JON^o8xuE6mYTu&_(OYMKC?$!GX*DMuzoL#!P?pv_iU$_MXMRUUJ zcyfEnY?gE0_r~g$ry#aIUt@1#ZVDYK-|Ee+@tsgKg<6|jr@<7cIFG7y!Lgs>E1=`2 zE;wV{{L-eWgrk%-JS@t@Y~`T9$4|#=y+*%$VGhx3n3PbdP0K4X)qzy}F~Sx;jnT*)8^`E^65|svizo0@kucm_My5 zCvV&p^ep{6e=ufav`ZnZG`ji{<16vECGh4Y&y)`ysH?WaH|sOxodBpa=c48>gfcTW zH42;^%+If$|5(GnxuH9H3QSM1k`OHm%+wY!6ewgfG=yG2Xu`vgpjhT}YFvTdXM%Y{ zc{Qb)=F5WhF@_wU$9RRkyXO|eew7nz? zqwHM1jN9qqNmI4cK9XILO|&j#^b&I{k0-HVg@5@&Q2cR89S##7yRSAryXRgKGh5&C zhy%EQ882D~!z~ykruh>x!y=@!vathF&at5(jlm$mzDv`mllewMH;lRThk;%7}S+^3{W2Q-1AmRgq-J=P3HDw03x zkBY6%bl7IC8j2(~s7D!J)>p4&AAkb5vVT&D7@2n^aFk9+FDj7#)QJvlNlA5 z8CE2n`8dnkhOzV8qv0Jqx2Asm2fAqIS)r$XZ%-)B?e>HHPb5ZCA05z{7aeb`%I-PPxh3K~+bAdZ|@UF5-`BR{HUHKOS3q>*kRLKJnEW zA!_0Z!f5cI;@_nh1ZTWen=#4w4uP*SD-B{q?9j=Uf}a(ytTnmpO|J?s&ZTN>X`K>| zH=9{#DbW2yR+LD%!{u^p=&%dFK=&8V_dj|(P?m=-2Bb>X0xmvpYooPv%6m{yVbO9) zXME{*lF5P|frkjcYr8pRrgbhlUM`(pg08?K8-s2T&3$q0y-f8? zpV?^TthsWBf$*KgTsW%olw$=q9hafxu`cXGy}U}#46{+-eawU>WuFrL?RHH7Y}lr&tneC7hSx*K=*JA%lD8=D!rna?mN?{D4sq( zyMJ?$^hzv`r&PT8YDc{{uM>Y<4sqMPM7l&hDk~8D~>Bc*=uU$7;*9CU5!A*o@2R-M<-;;J*0L z$I12E%DH-3#m3jebbN9m7FGlInLfX795){Y>Krt%BBb(&>Z?D6O?tm%L0XVOYJ6dL zs_16In_i!N_bqOTu1Zindh>geP5fOqX|6zC_Sbwm#W(7l6h^HrR4d;paNisGM5H2g ziQIv7FW&2ynS=RiHf2PP9AagRX!I6x9-UiTu zTKVP-GDj;>q`=Oi6m^V)!=`+Rw+pIZuxJqqd3B??S#0T@snr#x$VtOJ-~b}-0_G%| zv7SR8ykZD^Wl5F-BtJ-+vWpXR$~+Anc$XAQc>7tf^~RgIk~8mSi+VE)N)dcKV&L%k z3t<$b8agnauXmK5M?Ca-xsPGxjBDd?e%7@i z?vAJBsCJL|sfF3&&^`021?x!^POAd*D4<0BtmU=o^o#YEhx{CJSWTfH<&?e~ZNTnr zF5(-3bGYT$_Sadcz*epX3uetj66Nc3AZD$GiX1wot-h$1qir1qDN=Xl7M+8ODpui| z{#3q(*LXnwx${c#ad6dx>Nb&Jzr|!j~;(kR{DO+?@!aO3NZjoJINblif%bltkf#Yofp2=UTi0hi6tw>6xSoA z=A5;URm&b>xaU}+vgL$^DypI~GmP^L#Uz@g&A!uXZ&w+MXe9NBhZ-Sc#4!n-KbAVgt{U@GWetsFrGY(d9<#uGE z|J*SY|4C-|k)z%p;%?KMTVSWx01W~yf!ziMJBz~GM2FFdeZKAu25cAKjladL1_(hY zE{Gz#V(EjeZNiz`Hu*)q@aR+@&Bnw;gd|8q(gua@4a}n}m*VgZApDIx!w!7!n(GJj z(@?y=D|Z`3*kT&)w(KnpANmM;rn9M&cQefWfgI9o??`rUP-b1!@$PvJNuW4gnC_Y^ zd&yb`@0lnGaZKkVj{uNmBKs!89Q|26wyH#sv9TF{V%0}%&Kmc%0L#)8`8st;dM;E* z;8y*p!g+z5y@@*iK3}_WLBp9ZN@EU}MuDFO6hNqt+G_&?IR65*c^;-P?}zjN<<$3# zjXh`XP^k@UV))2XJwLDBC$Po>6?DHmmhA{Pr*8hMG#zvdCl8dLfjv^g zsBf445X)tL)?=XT&bNEsb<0dhW{s$%+dPsE8J2w^3qp&c3)h1gO*$QYrv{WAs=xiH zVeC8t2{-|0=tV3XVE-6>Z+mJ*W5=+d)D`+v5G^`Fg@77BMw~D0;h);)d1JoE)$<8; zkof{lZ@<^amtRbnxuh7B-wM0@y>sx8SgBz2*j)0JZFvpWkB5Y79#A`W2a7Z-o|aVf zm&kQ<6_vSk%Qnw$1uX?ep672sHgm-cBwn;ceY+B8j#qIInY(d*ChzIfRfp?0ZlLTQ z&bqi``A-Qcn45Rax=$THt{&2~ezKY}nJ+vtX_YVpRn6s&bD-a8xVy5EBFwvXv&o27W_3%(&wZwVVtBD?&1c<{43B>m%HIwHz_7-F!TN zlPDjiA~!E^VX;{DavlgUD$WdQ^V3nB=?KzjLES&o_9ePwT-csGC<>QdHrWMKVLmWh zx}xG79xasJ`oMXqbM;YWHbCVSAWcc>y@&*)a53D7^C76A+!Afn+3@ahq;MVbVk-Sb zq9lJB@Y8yEe@7W}AtOu-Ih;IqEZO@_dRDZy=PM95=5}uei=xSTnERDGk;*LM4DZ>* zhu#vx=}re|1j^sIV}RxiEcOnCI7h23z7W%plNlUbma;*~9!Ysd|5||keeha$ylR2* zGvj1t*BVCx@DhX0GZ&=m9O?C~8$O-rFcS6T`Gu<5W-%36`#{IQ??ACTbUb!`sfT=0 zKRMrg+iEe={e9~dqVQC6Layu~&f+8vCP8)ueLsao6EjPCb;7Rc z$oo`Y%i9=>t)VZ#xgAUTFwY3!jL~mb8TKA~W1B$i-xlmDwV8gS*zAjz;p)|4CAivI zP~~}D;~4F3JA9EoSFr2-VRjm*vbo@G@{Mq}lJ&K$#KF#&>*W=5CbJroBGQaDoUFir zO;w>+4`^RkeD3GQbyOuEib`TxVgy6r_5{YF>k4;_Y#w#giFX?hG!vJt6AuE%y7xw; z3uU_L3UX3mFP_iuX{>AMp3?<|QPwnrSH8{}-}1RvaoF-pac+^Ob270)a_hJqZa!xh zwq<6bAEo+EsBNP>P3VoHf0SN&9hF-D!+cgMsCxLOddSDVwb9t)PmuASH$Rs)j+@ok zlyBr^Cz-$nEZt{oHZzWc=gGM|FJtF!`Kky*{GX?3NW7fx4PLmm>#>mKwoqG>F$K4| z-SFk9ddNiQ${~a8Ud8;+iMcg~(=q3b2s=qJAq?V%nc6o5TUO?Vw}|PZ_7QOI?qwU& zJr~5HlJcJXlLhE^6eaMj(3J9F)-lbG$(s{5YIZTT78fmFePE5LD50GXI-j(Tr6|;| z_Vk63GU&&$C<_07qt4Q~?C!{YnlV9YRXkWn26pz-tSYDZC zmS*6u4UwH`O^9jjbJ^A?$lp{`?g^3#MP&on9p3oWYO6Q~OP~trHCeKdhE>uqe66;@ z!MDKpWsg8hW`;~d^yYH(j{c4yvueV81!qY~0OwHH#iNa<`}{>eLTS1N7+4C7^&SWE zn{cFWeq+_TMCZte30(ymWhN{NZWc^mgEv?QPQ#zzd(Xz2_-1D!W`=Y)392 z0#1aV^B%3Rz>H1ms@S~pe*HYT7noG$EUNy7(hYfr#8YXl5CaC`*8sO^slHOk*Y zU1~6oEHgWgdPK-SJ{({a3hxQHD$dd*h3d32r4+i$NGvGtUBN#zn~365SJZ+}JsO+S zR}O&>1X!r~PWR6~n14{y|7vfe!vR0VuI5)$bllY@u?s3O{PN4Q8;j-JRKla(y z!|)Iue%#Rr#?p*{)NYoh3!Sg?4=FiafAcYfkAd;s2TF>;yVO>rrOPj5@cmf%nlHoy9y%_JsXXNdsDeJXhDFvv5almQdKsK`UD_c{thch^4tcK zoGp>L>_8V*o{S8eaS9Doa`61JwSKG2|Ufy$3TP!f;YTZSJ;W(iLmOTD| zaR3N30)6E)c3@Bi;Ef=R+yZRjY3b*H3lm`AZ_t-e{`2se1IOB#E`xY>ff?Wxmeh%Q*S-7*m0X zsR+mvEIys9X^fZ*fM40O_bw@w8d2DmgmN$lAlTF{0ZduaC_LL+{W`WKcu(Ec#Pk}t zU*7}&n81=dB@9o1W&me^qXaOSrFGV`mn~1U;KjS}%{}Cg z(v@%RepmZFwj;^jB~%bn)(1eg2~J2Y&D!~)qb;W9+ai_Rt=Ev0ADZr*<+Zom`Ji$A zreI#*4Mv`;hQ|UTL>}|2^PW2;63fIW{aj&X0VzyGdag*rh7n!Sy#DXBbWe!@+QT;k zDVVkJA91EWA(M0R`AsdbEF8EQrnf(lRxqH;Bg zK;<4v-^)b^pthHrNBT0Ol$Q3Pj_qre*cES!Yf&-``Ys7)L4{Og^L3YeJ5xfo@BDcZ z?G#e3YI`;M$>KNWCv8N*)8|atwbu-G{Hg=^>rQZp&4198Y{$eLF1GdBTy6O@ed;^0 zsUgG9^`36hZCgaaDaH;5%df}Mf+FPOrrr&`eKE0>Cs5&Z$GcVnF^&3qIEgIJEpNh~ zWB4hANP9$ZUb!3oxa^WXg72ADw7=WfROwz{hFLs3vVs#J%>+3$(=F8%a~l}KHU!P= z_rk5vWvE*19I#YFoODt3-u`?;nd)c8V0djTKq6Ehqn<8v<}=ZfGye%6oB1=hIC=`K z&F@jQE=vccwp%F1$nXp2bi-WLbnF2AvO7#twM$OK+SbOn60_})%cFjPFEfvk;lYVu z!93~PF&nWXbQ%oAlVh6WA1#F8yNt>`-s=3=f~20Zur?IPtK>O*vqXJ!`{I+0VOEAG5u9S$ zhYZA!vdRuU;qaC6BQ42po!n0cXYX<~K=R70y_?6BsXK7f`mPOrsl-dZjUW3Otu#$u z=0}jLMw^&9U2H=<`>uk%ANHS&ypX6`sDFM^7Zskl+F4jp9^3nvpIT>uIuI+GYAlM63f(g;F#AB;qW zNNI(Ya)=H1d#mY4+Ppaa&`HKs0rxKaS`-h`An?^0Tc>Nl@lv%_u=1YX%lnpBRlUby zYZNEC%eT+?WUE}-8@|HLu|2fraj1H}Xz&UPKVZmu?W#3fFUPiXk^fAmdVWqWr=yEvYZMIAi|3`2L5*|~CDJw(&@4musk`?+Z`N6OIjv6W?pkexzTGR_J;bbX z_pHz4p}L}gCuJ{b56J2ZzrT6Iymp-uxG_9+0%+KeT$^kvJLo4cJuno{6W|(u0ey7n zB3D!b*P`_;U+Q9-FiU2_qZoCg)`yE79)7k0kJJr?e5dlGnVgufxPM=--f5#g8lH3T zu3ii<8F@L6{M2;+t#7{nRE)et?Z)0fO)BWTM5XJtLsnZ;Xm*1BJ>9Ap(XWC0L-3Fv zaXr$vFFP(Uu|MYIF_FxxeB5;K^jN9dm!`->{TW9W=!)g3gRTFBNTkHFaGoN(x%6JZWCH6BnNm_ zajVP#Szj#ljpD;q{^8+nNBwHK6q|dQ^%E8;lbAP0(qv87xJ`7H@(zTR-FkVud0FV{ z(K@^PE~iqBS;|f-#+G%=80(NV%P3p+CCh9WVVD_XDQmWnH6&}6$WCQ1g|bHy zSt4X9BqEXJ9o5~lywCmK&-H))@9Vne%sJ=x{e9QZcbRisH!{#+q~oRo004}-2u)+k zH|F3&dzf!>bSP=mLde(yv72tLT7XU!_24`wXveeg8MC08gkr+G*E9v9r zL7@f!&Z_!&AkmkxBoGSggmYKsUukUS2jMWv{1&qMP<@YcSZ5rP}SjQRe@_SCMjla2vu8`awdvtjw=|AP{7!Zv;ArCtyKv zNhlZ%g+f8{a7ih7DKt#pQ33>m!e9`n0z^sIe~NWtN72owf^!N3#>FwxhYg!BQs69xX@pot}-2{;cD z4(|>+;D|)wy-3RZ6jguP;O6n0tvm6TpC}%K_#izXQj*XEn|=^t(7)+Cya=v8gk#VU ztSirNt4Xr+GBdN|`rc%n1@Pgwt6{s#dR-|FlCmhmrjadZ1Ef=JRLQ_T3~kbg-{ zH1+ksLX5FQycYqD)gn{W6!^m$BFPy0H-G*c+bQI~H~LDL|42Lt$X3 zf+-ZPC?l^ZBO?x#QiMW(lIr6zI7i?AMk*zvC?lr`Rrm)|3XCyG67nyJF=$0cJi!e~ zi2=?H>4b%NxI6KKen(dE9NraApa`aDC;dYUeSJk;cOnVtj>hV0D)UoJki_9Iiqa?< z84Mhb1UpJ&QDA9|3>=Jfrcm-Rdva|F&%Aj-$93#t%Bc%TKSGP-+*&trS^5?it~Hu&$PxIErV8 zKb1HT^S33de_A>yWCy9Hh`EQbHrZQQ>I z}-=pW&PkliuA3gT~s@&BnDB9i<+y9k4FM8V}`<-iyU=D{)w zGIC(J3g`#2jc$!$oosg{d=|b|2#;LgE8c1xqje%j%P_V3{6pGR?WE?5!DUAYS6tHMnELPePhL$-% z^Z_^gf7&_@s>lyF{M~f+$1TdpcX0Z9*rZ(i9#^sMl)NQShEcFH0RjMU^XO`-oBCud zU-i9t$-;MjrEwGdkmP;O#`yAmi3=&N-6@}e=(q&N6QHL^FOEcj0c@s+j|fbQr$#v5 zItA-wV13@%dA(ED@oJ(j?V(Ut=nFx$rBklxcCJGyuCCpQ*fQ|LeD@9Wu`4SRE9t7A z{40vB!RVX|pL*`uXOEd}6n}hOvf|ym5m1ZJgg)sC_N#|D1lcjrS|PcZs#~BSOc+wF zgRV6wo;{q3Pn_Y9hB?>a&{F8XML@f~OQlH-=r0j3+KJXr50Oo-O(vH$!kbFTXfkRK zN37oKZ`qC5E8czoo|+9DAdlEM+ha&aDmzP04+2)I7Ii*K-AQLt?3!Xc*3a+m2tnN(B#3EK){1=}=rRQ_QXm?X>h} zzsj3^*uuc2{lNEia{qd3!Q$}#_=mWwTZ|+3!e-b+grNfO$l=H6d4Q3#l2hVE1S4}# zsAfVrZ8UqUo32}QI*xUyIUZnaO6#dhN^(8H^1)$YV=TaPfpKiIL~Kgi*?6RFM}8^o zdEbL<GyK?taz><@h z5H;;PZ93gDR@9z#H-Ks?JfSz)qBKx{A{L|Z-HBkk@1=3ko2bQa=w=ZCD8SXn#bY|SC_=x^D~91nH<%q2M`xW zAARyFC>aiA!T{ozvO|0>P6R-V1uT~k}pu-v62Zc)(;x3fJ>ck{568qk@~SwzIR zKR+kgx(xCv{dEbsi6tld1&6ic*LssHhHp353;XtF_WB$P7lrw#f$AVoK~4l(je5Mx z==+_LN%@^Q@qmo^q^yBBWriRCKav}SVBsgwha(IowU=Lm+@@fnb+Va z7=qsRSR{M6)p?QhU@Dnc7a8i3sQ@B_s~zd(KAUgimbTTf^9`9%v^VLB-1wM8W{-k2 z5Oh=zzN2ZL(RC>>ia$$s_?B$Z})8%%pRAUm^9*zuR&x7!HUmrrCzbOZ9$-plZT!h&Rg1CgeY2%1O{wVVgS zy1@2-+C=ib@5xPqD z&s=`h5nrxdLMRmB4`PpGk3{Ow(yP5&SbN!HAm6%bU%wIOf^Ym-7!T`*fe3u1Ap!zM z+*JfkQ?H}!r}Ih$+Qc*wR5EZ_$6^G)fmT8q=IjjX*F(evv$wFTl3po=*Ou42tUv<3 zE`Mm-nOYd&ULswF)XZojKTvbPg@Hz;%(nH8shN0)IG?{E15U)+FoDN2X>gXVWvK(o zk!Xc*;k(xxDZ;(qUlwTGxcf0XvBqmIW{qBmiCG4x$(EDP&p;y-6UrV#&Cak$SKJU< zO&(=2S)g4Lq{(L%3F}W+kY@ujQBG zDnB#Ln2#bbAt!1oCx*{Zb6n`EJ~v$#jy*x%d#`H$`2JB)h+96_+j`uv7w`UcNDkJ# zpnX0z(rc6<<;xb6x=&|E37@68_O?MJchrzl_|J?e_nbP30dj-nWR`NhPv^EIg9R1-~J+7bO3F*~vV5K|>og8FWPgX`v;t$QmoQNxTa3O*GX2IN{B6hWQx@^rr{<6lrW{=+wJTubJr09vj`yS23_bt~K5=R|@peXh8oWt)~M<4o?R&zf|n`N<>logziwM*_%T&^s~@Ymlv z56)pY5N(0&Vl9Ni*#I#kt^+iqQyfi*8w@&6HHcVpR~zC!SfU zw$C@O7=BF@S5rN!$+ z0T8SMGencgjWCJeJ=SV;kH?q-thD=u5Zaz5HX+qiGrv88c6_EKm9}2}6B%xFOG=g2 zcTmUyYRRQ8s$m(G(f0*e83~Ab((C#(4SD`nvt2NzUN@+{$lb8h)toiB0kms?70;dgXcP+$n;E*;Cw6Q4O-|*Ly>c zJ9j4^dZegL9=)gP^B!ps!|Ipid^9JVUw%f@PZtT2H~SoM@pGF)rL=I%yYiS>4eHKZ zCBg*p!lR_9FV(am#?%Gl8a4?MVj8=_0)dH{x9|bpiB{Z{bW~Q@btYrTydB`wC~W+h zB1`WK45uhH>A|!63Hw&e7*upda9DJdUM&YH?!{_`8P#`;Q3JyE{CwMY8FrTiks!=O z9Fv2=uwm_E^7NPPM=o#nD{I+2E>FI9(iIOnQ3<4bD19y~RO8#g?wd!doM)nm55mF5 zQXOqiA_eXW^n4Lb*ny6>kDQg}4BmJ#mN4ekyI>3C11KJQ)X5Gqaz0C1Pa>^Yq_Lh8`uv!+rI(>I_yhVzMBLtS zI`+^h7Im^?ar(_2%k~C^L|2u(XZ&a##MoVDV))JbJZ@Ffd4d(VjD25yC@O)y6=(f? zyacz!f5qF5t?u%fvdYiiNA_}ddq(ocdmK2ys{s`YN_I_NnG1 zUx?Bu$TZ}*ZLjPZSFD|5r1YgRW}&$g#^C7^(6l@FLG^COR$P{y*e52w=uh*p@`gjO zDn#k4_!Qpy8dB2DzP+|o4T4E(rMg(`lQzHm?e(3Dqe#aK=+t8emDWS)`T^VUSZh6=Xi;!t>m0#V85k?Pi{V z(+1kyy*hD|((Bu9E7xmoEQe3!rf6wqF&s_^i43|0dasu(o(XkT*$e}a7bUcZX5GD-Qj%SM)cuCPRHY~o3DQBbKsKu5Jv`Z<}nsE!e8*| zXRB@+HTiG2JH@{9bNOpe=`Yqm>Pl1DB%lcXUr>I?94T&)h!f$Ixl7G z*j>3C+T)>{`>n02KlZG(fQFn|c6^Plh>^nNcL?wH^1ev zD=|+c9C)*=D;Gh?YnmCpE>~XNOs|?&DRlOn>ow;|IKk`bnGjs(+&JdCrAiLPI(=*( z-~3Qfw~epn2&AG)JSS~GukDg!2H+Tum}?D41u}6lXmzEt06UysF+>8@RQeo(&yZs? zU7dQHoE?I)H+%`VEC{<&U!SpB-;9a6@}iO^M&o;$bhq{EM@-v>9V}3j8+ncmzGu03 zN9nqQ2qD53?RFR`pzC6>UlzSdKl~y0|F1{^aWG6TE`)-EM1L zRV28VWAE_IMWAvW9NVx}S>_1Xh{abNfC?x)*RWr_8-QbRNPmis`j0Lcl@_X3z~93zS}*! zj;JZM${Ir0x6ifdTu>_OOE;fQucbWEvh4v5P{*(B33E1Wp7I4p0cK}XnogT3rUHDL z6O;I8PB2t)xSnvf9^_Tn5e0B!553cZT3yf+1=c0Yo;=RGYyXh<@pf%n-3_>ghfq`o z*BLckPjNjE7_@lwB7?Eye9*_`vz;q8Z*nayEuq<809wI3(|HQ3%jZ#CY@#weirW^Q zd-rsr9h+5Vu$~{`+{byp=Y0g*OqA$M_oCh$J#SUWN5fZ~$|W9ziZrJY)tDHcWwD3J zET0`taN`-C^^%^9oRVkpO!D2E*li|G5hYb6Ls$j|uF*Ed>kY32PSvWJJ~-mV{o&F+ z-p;QxPS-Iy%fVpxbH!ATj#hXomv0*edBrZZxi9dpS1$vbiwva%6m}9#?3V|JC7~%M z*8Y>|Z*HSr2=PbT{_?wM(n#^}`8n^J?cTI4l_xtxTPJ4ScV|$|4trVS*ViSsW{>S^ zJ-%$$zs|_u*dXh<-MTr6xtq>9X`s|_<>6zCrls$L&#E)OFBVQZaVCm-#@Tu|Ef3tf z`t|k%+VbP$UjHD{ZLziaM!Ga*ffaa7K(HROe_5T>FR=CxYf33&8^vZGSP{pbg6lMQoG<(^sL-{xreZ(ZNk z+`S{PkFA%VZZd6J3S|P&$!Jq%;fR)Aft8zKZ9?ut6>)4W*e3{!BN#~s$okdvb9>hN z4Y{4^joRww^Kkwr2DMMhTuqkUEd2H2ZrXA9HZ_I%h+n+YUfx(zF|i}%tVLF#>Jxrp z{62ZIDeP4rY1QUXetJw(d$;7;(Rm!TqCWfMm1s3+k{3ppQ|-1rTtWbdFDMUNO+(Q*abBH|5t__)C5ZlpwSr`Tt&(OX(- zvH@sPUy5rBuXy&+y~_xAx5h(sJ@(-`91z3>i^c3@?hd6rN!;7 zp`-{G1Fkws)g>TbH&*P;nyvUf3#`2FW|Xg9z$A9u4Seo;P`YT3DXUC2$kK#{Q76b; zD~|2mmAm5u$b<`Z(|nn{80KKs=%oc<^>tqlfonWbIohZqV}KY<4gnAq!ryXo|FzBj zO{cNK+xFQ$b(7UVNsTup92?;4$eZ@{t3!<5k5*L%#8L)BOb+3=J(R=Bgx~pn)E2+? z;Kmr23s*6>MqJ7wxn|dg)Y;)>dP7^(G;`F{E(hb8zvYrE81BnAf_ECTsYVmc+_5q)GnMCkF#t712izi-nNT`TF=gTj4B|J% zzXcMDj}aSU2R?aqoZ(<{KLvcIUUj;0WAHs*+s54AzOrG>n%e!V2|Tno^ixg#9gWGI zA+xoF7-l!#MgvBjoTBC}-TlBU+?aD8x>I7*Fmtc9E(k+yazlg(9WID zHrki9HFhv20epa8Tr;S|jyS9ObC4UTXz#3kz6c0{+vv>R?FAg|89D6mjH2t;tkGp9 z-oe+-%E`d_j_%+udb0l&|CX@>|!- z_WP_~bo`d2>Zuc^0jAe;!pCWc%#ltuhA;L;CIVY;#N45s-%{pBpcLl7Y6vKp=gO1~|x zeeAoo^1>vrLR4(XXqJicLlyJ2XPsANFOM>FAMPK4Jm$KfRj?(+QA^k1Zu|J*=HR2U zc43v`_De+<3Z869>Cfwi@`tT&5#tK_3{|PrhY4y$c}8(Hl7Q3X!cEK{1VKkwqozLVv)=b~t z<(11G-S4qrXgpmDSe?xaG8cGAX)Woml~ea@qONt(Sgf(Bv!rKiEnFKOO&cQ43t^)u zEaxuKkM}&G*X{e5Q=H5clia5Yp%*!({XB5_VITEkgk1dqXXa+(qaY;%&!DBYoz*nM zv!3%i`~IH-Qu9c5-Q5d1lI{;Js9z4fw5a%gV|e+r?-%y{tn(0!!+=V);pw^uSKh|m z?o?dTEAiHof9f_vUWaX7Jr+i%US_&Z?|ocXBKN{&`S6nwN|;Ly_pILRp2t-poxj|+ z_uH5}K3Ov({0v{P5D~r}$XRY~aKX~(aX@Re;BFHm6bYaq-?}Whkr7`oz$Qie?imY$r zG@I+p>aS6VZnf8bogb9%sHI-ZAuVqYw^rMu0&slkT!)`g-FWM}TR{|mw9=G;J<;#2 z5wdYEzAcxu++dS?8a?c>2)yHde2wk#7msg@sgp> zD_MwCTvOii##i5k^2q)z+G$kQJ)d|1K6$E`ZCXn}o`d?bc&Z84wGb3h^0caryPv%w|t9STf zc=-9o=i)U9WGM>W6^CCMRPo&|+a-8D)hp?;HtpC?@{1I=;`hmijQ&AE3x diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_6.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_6.png deleted file mode 100644 index 8944800de7db1bf1a96e899dfc059ab3be2a0a99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9552 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_8.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_8.png deleted file mode 100644 index 74a73167ca1a2bf0d31bee41b4110df03772bd8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9690 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Climb_9.png b/examples/moving-saw-platformer/assets/GreenHero_Climb_9.png deleted file mode 100644 index e7a87fb3da38699956bdc7028650e5e34176265d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10390 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 LV~EPtvI+bzWGn(x diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_1.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_1.png deleted file mode 100644 index 3f4da1bc556f37f76fb4340c61d469d34a121750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8487 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_5.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_5.png new file mode 100644 index 0000000000000000000000000000000000000000..ac677fd76616004ecdf6ddc6fb97d336829c1c7f GIT binary patch literal 10172 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 Z(PZKsG_JX|>E!=)nwRyEWh&Oe{|7CqTkZe= literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_6.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_6.png new file mode 100644 index 0000000000000000000000000000000000000000..975ed3637b36eb39be51c67742ba303cbe887f37 GIT binary patch literal 10172 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 g$BO^$?|4UwCKKTQ?U;Ie=yNjo&W#< literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_7.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_7.png new file mode 100644 index 0000000000000000000000000000000000000000..439246451abc3a59681a83c8eb5ca17b0f4ad49e GIT binary patch literal 8877 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 Ucf?~3|4^c(uBTR}ayjfj0EYejMF0Q* literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_8.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_8.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5ef6be2aa9bf9a1f3f64854ae709e2dd1d289c GIT binary patch literal 8877 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_10.png b/examples/moving-saw-platformer/assets/GreenHero_Run_10.png new file mode 100644 index 0000000000000000000000000000000000000000..34282a59d56c8932abb9baedc3e8c89db93491bd GIT binary patch literal 8440 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 Ha}N72c|{#Z literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_11.png b/examples/moving-saw-platformer/assets/GreenHero_Run_11.png new file mode 100644 index 0000000000000000000000000000000000000000..9adc653cb85c63d82bd56516cdbfd90bd0732e1f GIT binary patch literal 9299 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 MPa0{JX*fmw7wh`9R{#J2 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_12.png b/examples/moving-saw-platformer/assets/GreenHero_Run_12.png new file mode 100644 index 0000000000000000000000000000000000000000..366338fdd4b060a0d20e89e19ca08f5ea65333f4 GIT binary patch literal 9299 zcmcI~2UJtrwswF}1*9oe4ZRtX5C|cFgdz}nFG>qZfKVg7NRf_G0)ik4h$4tm6al4I z1(YHnN>Pd;2uK%D5qLp8-tz9b=l=hDFJtUv@3rQdC^H6UpaT!}g%J_NH6Lvvh+ zJ5CWVqz`QIz|GVTcguhlroMijdlYL6Eh9F-XJP zhX7KPfr4>RC={fiC<9Y~;baw@Pl9Bjva%2;5&}bjVMr8I79|G<{dx&e%=zG*QKp(& zzl>3yRD@jp{75JWBrq^gCJ-*;?c)N0DJm*Lpt2BISujNc>>KRmhYbRI`3nD`L6hK% z^C6P_h~8eH1C3ZGZ+|}(A&RR%WAG&XR_o>a3nvO5sj~(DdBH;{s+q`;=dRB5uN{J?ZM1H1VsoU z{)yI_xASqgFME6pa_zclYxRHtcYHC??7M4gBX4-AZTL!2r5Dp zBEi8>Suhl74uhd&ktn#LG!%w{LVt=Hc;kuA!T()U4kd>`$s+ziltN=X)(`ua!gw6Y z+1tkxOW6aWC)R}kA$hq7fqw5SO2ga3+lOM9;vM{l7X}6>jF+z;)(c0#XsQTNLXaU6 z@hAlZ0SCi7!NFK0lmN!UwhL5-Wx~J z@i(i^cxSkxvmzFZkSE~5FoK){*hvwp0Hy#0!$M`9oe*&RAKHw3h?LyNdi=fC1F!HD zjW|UoMFgCZmk3#$99Th4&KXQuDhGB}P>{n??qp%|vO=JP-9}N=P+Yce-0|hQW75ufgQa6nz#9j`M*tDco8WOQ;Z$(TQNc93c)9ilIValyYTjTzzGuR9MS=tp*;u(+QA;10M+paA!C znD{TY@jnCX=lVcb0tKpn!`Yu=zTVD$fmk1cnhOQrzsw29pE~dD6+rO$JNHRgA1tL> z6MTGCgq(f6Jwd@VM!zpBJRg_LIS+-zY5}Sh6(+t9bas~zlTT>4~Hr`6BNPD zSOgx7z{z33NGAl8LNNqE772BBmQzIj0r7u_h?1*t6infdT>bxn=-2k)T(Mp*1WK=i z{11XrkW)lJ3375^yrMj%vmxb>V5GA%60E2w4_AQVV9p2y`F|VC-xr?$<6v-q$$-Du z^aEb}Cdr?Jh9~$C|BeHH&$HhyfPOIUf5+ZmGVVXCt$&u3|I{7+_cjS~a18lbZXo|$ ziGDt7{zOviAUl6_YSh1~IsYjKDXkktX%v6aI*_tZXSggu9xRVTV!>FP92|^PB;deU zth1~F4kwG3M^YNuPj9^cr>*0liu{1#?@nib3{j4J2e-cuo0Ny&$5nzCC2xHwhtY&& zvs3_pR}iDAW*&5X$u5{IFdV!ew$gaYIUv9)lxQVR4SdIupx5;Vfykn1J=bEG@SHJm z>9Ia*`V>$pMfyWVF7kAW?&t?(N-oZMt;bU+`14+s@@zxaQ+Zt#7D zviJ5|umRKn?X0@}U;x4+l`8T9|BR%OKle8a?E-Bsb0x{?`v_QkUAn%d_T@FlF8$L( z{@hFq)a;Iz$G7w(cD)eS^LKh3Pr+wd*nK*%JTI6Tgj_J47i)&N?arWlyKg^vAKJJ2 zZ7d7r8D2~(OjlQjUSO^&d1}^eO^CQ3>M`Ci+p67}cmBhLXEnRmkO)|DhaCJ4dq8SJ z44|YC+GS=>d|P>s+qQb)^|+yfU)s3c0@+lZXQUNK6(vNaMx8EF$VM5EU}O_4k8%F= zwY7NrP4m~Y?S~szE7n#&H`zK3u6T(t5>Kf!(?l7EbgsMCdE0Kx5At5>=hTgI!eJtF zgHC5O=}KT79=_M4HZM+}(&cH*9#N@`*l9ksr4YRs@hz~3!zhgltUh~+y);jO*~Mm# zQAHtl*CjWrtik?qIvXE@SpB-0tN@3xdg~FUa?%tdZM?be#mGDLGR|?%(Lg>e4vu(O z)%=IKyyo4#$(%3q<@*=70H(uV#MZWiMNZGBA8Ee7dgV~lr;`gGwJkKDrBc*tx)u$->5E;1muNtjAohhU%o}{g=o``)IP8S#%B8lXn{bBo725eRnpQ@Xe8cNIg`yZEWzjs$X zOs8LnHK@)#LxomXzm3nxNDZ*i#C%)5eeIsqIW}IvjjL3ykvvazBxH5E(CLu~zPj|O z$BTW9_TN(W-*|4Hk8BqSl3s2;o=h9}atiR`Ym?cjf!%9!;d#|m9MRv1qPiBDg3_8io{_Su9>Mmde|oVBoFOr6Q)@+9W8 zF>W=Wv;rLp{$)t;ie2C=1kyNvET3w%=;*8S(`9LF05>erW^%>h%aQer&cv(!_UhoL zBuoLwma8y6iZspO4rjQ+u#@JoG)|+rX)1JMP|(bY%paQE;VPn*bfh`FwRp@D5)yC6 z>CGant(uj|gx=Qf--~)!isRMZWKC&QTckZ}fm4yD&-0ra@{nD~FbHF8RbdVg%Ee&xHgPmH_o$#|vN!`>L52af~hkK7JC5pk=egZ`~iZXNaQ z<5yyYOY0X4sczi4oK$OUq^otGizC*QeE?7U{wzIvs?~JWS7=W{vX%#jW~LOX?@W!? zG^D&XxM}4pX&^gmQ;b`Cj^1ig%QW(GM<2gg?hG7&wP0lzVdugi?<1lY8cJS2Yz6X1 z^B_Q?f+Ex6`=2LAzI@n6L*=NND`<+(uj~5Ro}+H_Va6q87D3x?9?lOP|EK{ePu(_Z z4yo$>K2R+PV46D_Y=rH-si!Yrv$rEq`07;pQ=yV7fzmwtLvg$X7-Ke>kX^$sg42De z6DjnnI|e`vPC(?ssz_dwze+&(2W@f_%~5n49p-w=JY;k0`u5$GXjGUt* zz3;*c(p|FK<-Y4;^w=9Va}PAGlw|W(10D=m+t?;?j$c7P?8fv=483|4mm2m7=R48e z_4XR<%WHmgIS{BOaUo^nio@v0_l9$FcPb~cEw+v38`%JkJSUkMZkFrn0QjMYBHapk z5HFt2tVN0C&X&4iI`ngxd72hqH<41FEbi=mik6I9c>}Z|!B!JDupH4f@|Pg7BGmlh zc8|P{58N;*Zs!M}BkL<&j%lOHLIFKuljWF;DiszM0qHoyx2Bh^ovi!G8A%Q5t)08u z``q?Hd$jz3S5M@5m+KbG6_;rggLj(tfUMtl9)d)tSp7Jxp z`68v4@#eS*sm{7MFdq|lKOhPO@FW9aPVHp2NF18gm`W{bDvgGikxNU1>>v|we5^ZO zquNBf_E8Rzya#!e`-pY!dKe-_X&IT6oIIT61L8cH2DU7|m3t_VXdP zByzjm@gA~W?5TA;`h(}BbWuz>%ANFpf8LCJ*{)%wvW;AZ^vk!7tG<%*0;8^9wa*=;&e==A&uCcP zT>IW6GP-!wf2T6h$3`xGPO$!xL@6&?)>N&^S70JhWy(!`Z()zWD~%RZe>LY~6cG$LHnQkx1O6Hk6iTe>^$(3-NMoRS|l&n|My z_cM&4ZQaN&Zduw$-IUcG&l8s@pFTaW26(j$J1e<$EPHBdu=Ts+p2blr;}RxWx*3K? z@5hGrMwM!}qXqc&;&Ke)xN4?***RDxk^bp|n5fnf&Xk*Xg^}uQJZHnpR-SOs)4G)k zL#g!2Rrzzd1ukVZZ{a@ePt4{h%;}ume@XaQyDTU2;qL7yGg(KrRN4=&+Z~4hrB#Qh z*10qXE|hd^obqo;lU?XRd!X~y$7NIk8UuAFJe*q<)PAy=2Y5ry{{b*6p%)RcABkTnsXH3RhOdy7B9BDH`yRV*W?A<$hw$+!brQJe?oIQ>7N~_42U^_)O{1(|%CnxnarzwFC>l1DawOuoh=u@oD-4 zN7B6l1kiQ)1`Z2zA7*B3rs`f_XD-7!DQOndoA?>;PKFs7Ogvhuh<4dJmCbCl!c9x> zT$w}vRLtwn+Bv$}Otx3d!&Vt83KjMBl(xjjDRzZfQGqwZlKKed@v{Js))1AL`11sP zk3_Ppe>_-F2UCC|W)FNKr`s;-lsF9g1MxsuI}Z(l?uWUcEQR%cLcM~?V-@c*u_hWSL`||&W^!fTbY1ob>?(h z5GG24RP>Be^kVF>X}RBfo)+dmkSXpO7Py0$-kh)qKRMa26z1DQX2mhW#v-dPV3?7H zpo=n^*OcH6#lRSM?&*%VXPaT)vs9ZTpCfy?`6>l(_Vzxi&AG8bb5HecK=;MP9zVPV zmx&a+`NrJ^ZjXgpU^~G)UYrV0s0ju`y0o@(%&e}eg6T%yZeim(?o!dJehX4610nbB^_(lSc>}-TNuz#M}`-4*Mr@n zTH0oKb%o9@S9ANlh&A2Sva8KD!wfL<;JS^NH6=Ii+DoGpm|df{?iqd|Uu6gcd@&K; zuugp{Quq-7K*A`kA>71V1tFS#H%XsxyMnhX6J5yOfTXr#EenaFf{(fth_qNUb|nq~ zuTYEdl)BILB=mJ7kuwpetLDdJ`%lM7AQSA5k5{fdJUmJMbd67xyt#x^T6m=RYRlTAC6UT0 z_r!baahbH2!j(JK@4wzLJ8i3QBiX-yBaALP`O_-LI%}h0cUnSVvUka;=KWEv*;Pk5 zO`Xb!v6N}1n^~Q0CEE6T;!>!9*ycEV%(&L^W8XdrbH|?5uE_yeMp|&%Y%BHi&38Pl z#_3dc_irsuHnx^x3NxVOF;Oma;X7<$*n^<_x8nvVIp>z(0@VdDj;fRfq9mPS5(dn$Q z3OoOeD1O78!Uc#wp(Zw&3e84K-}=5@VR^Uxge_KT&2LCq?Ze6W><9g7%qxXW&*@GD zjz$~bbhf2+6w`<~8&~jL(6_W0`EsdXXr_bZD#A^qZa$M`36CFU6KYsX>S-IV?4u zHM9ljMD2oSxOS%0TMgw(Q#&cT?kUyi@*zKZz;{a8D17j)7_Eu%E0a57LzoPGX){1A z!bg=u^668CtIQjoDRN^KwqNUSPPMqwy^+f!6SsAoTF#)wIGzqWYDd{I0yzpr^yTC7 z?of;J3qHh>yyBSAZCgHqm&8U4QRA500XZsbpTTFMy&oslduL}5N-StxG9_0Vs@G?x zXj+Z7l^xYt^iNX=a1v>CEm>JTOrqzxcP{D9bpFdw%kd}D6P*ugh#b1n8r_kG!v45M zzGJ7Nd=@%@s$}7r(XE$=%+VkLU$6--uh{_rW{D4`p2EZR zxCDq%BXoWx&p_>n!7F0PHA}iU(Uw70e1-1F^5qesF#$QA=#sXjREv)PC z-}v;E!%#HdL)s+Ih2v(Q@V)$Ql&ooeN8$xa<5pa(KlzR zx(%B<>+YdF*WGFeab_U6!r2?U&p5sECLV`2GTtSnE=7gfa_f^(pi5%~O3J|ZRLGpk z@Ul2F@gnLfhsFir%692KDRub8o*rJ;S_@I!`s!%7r>CYF2 z-{xC~=C7KsB+=_FzRyG{p!A}IV5^3U&0P+StLqC_c2!Aqx|VvP{tt%P-I}}-*qo!z zSo2BP)xFbzpO`4sxZCMIYH6*`P%S=M2>?H=ZBlP=f47#n*}sb@4m*1l_WA?K)F|%S zt=#w54*Q37H?4D;ZF|-i`3*B}C*BvR^YYvx$VjJf^gcgmq*8xZxyt>P^vi;7U4H=cz1Z0+ZSo3u7g2y z6rC7dvryrCBVEt5VoGy+=;gbu>bAh6s-i${*~`j^MUu4+td-t+ATI&ym!p>W)j|Dp`6p^o3#ZihN?9? z@U`+ayJ2wq6qJ~EBA*!1|IGJj__ufBX<%F>k-?N>ZDPHtJG5pmybAYuyzd=rNAzVj zJ6Z;#Ek!-0)HJ(2C3A;yo0~IvlDf-@Z00(2&&NAg&ToBNeUj#qPP3_E?j6MjxLeFH zFnysAT^Ygj#5b#OJ@V0#F&o7D3fD?%c=SC( zBI!c3rcY^Bi1_AaR&(=`sEXw=(dM<{>W4ht`lodwa#>r4LRVNFlvnRWgzSH%-1Y znzXsS5`Hk!k}J6a+z01OX{Z zq=O(x?+8+)7ZF}ikN4c~-E+@f@4hc<&A-g-+2uFCy=StLNE0I+c9tV7004j;rK@F1 zz2o*969e^18cQ~#-k3?cR&D?QE6;vA07%c|0{~choy;uVEe#D6u|$G28b`$7rM(Fx zsx$zgeA=6Y#yaEOK^VM)ldFozVnwwG$O)$+Vj*V;H6&@`9i4QqlJV!R8ku3QI%API zk<+RmWp72Q0s`J04e}4e zR74!z-ARfNh?kd_w3m!Dk?a70A(2Q36b^yI!Bh#bn~$qI+8gZZCi;g4Exa3+>_l>R zBD#Y1HKH*@4|f$2s;fU^Adr5mb#?oN6BRLtH<|>2NkjKz`XPwJ{+1(okX?Ql$6+CO z7d!#)>h4CBh5eQ#ITGE8ZjQviQ2l%OpA1m3H8lKf<6rthApADr=C18Y4dWLe|5Dn` z%!h=BnBv`t9%L+D+mq_1=pWIzxtrquf#-iPohtr&vb&T0U(DSf`KO@p-cElZx?vs6>(hL*Za3 z!VCsegd-GXkSC!qMJV*As38&OWbgBTi^?j>$}7U<|4EceV;tHY{kOt6tfD=UOh8lD zz=?o%z(Yu`4kDo6E32qUbRm+dhN<4k{P4oiP!Z+o=8ks7;!#>EBGeG1ot$urc)T1A zjlm(oXe=HFhGJ!LU^EVa0m~xcNO?FCiG|`Zf6Uh+VmAibfz2vKUzr(Ee&GQq@phLht97iU{mir{zBDTs(eu zD!{3U4~4+?ufN8v{$~6i!{=R{s1UK|8iRw9O?V`d;we_RV#K{})VyWdsMaJ!? z6Z>ZVF=X{WhV~2DeyS0J^<3xUSJN=7g z{LcXUsn*L8Plf8=aQ3H|8`0j~3r)tWJ5cfc+nj*>rSn8rPdxcg?vv1DG__je$!;nl z_GBUf^qapRcOnQ)BDpwWe=H}&(-rrtApT~U$Y0uVLwo*vh~Q|b92!ndR5%Qa1Ir*~ zkzfo~1`D>Ak%!46?O_;MES2eh1raq@WfWlwf8^@_3q-$kV;#}14tVNb2l+38vB#pZ z7z9EVEDM*D17q!}iH1Qc$b#jdvPc{h4Z}ha$bTEmp9|0baxmDxWx(Go`aUmyljN^K z!{NzJf8xNOdG^}{&=1D_|FQSCjQh`O>%U>#|IQ*o_KzVy%MIjzR-&KpT0fCIv!9(m zc520cRdfDR4pO&nMe0WJH(Q4+&K`|{A>_b#1hvppc`OS?%gJHDI2o7>5|34Yp)u65 z`qLZYf4g<;SCJnu{ONS|M;Gr+5?B_=v&j&JI;QM&W2xo z$F6Rl6@67pOUJ}vf@w_MEO?BY3rZIT2m)#(F059WRbE{j{MI70QEAaV!$H^CEj85z z88FM8UCX~Pyy*9Bg9T$R+kpUnyGCnha3(R1LG!<8A&+|^BOM`}baBV@-`h3=4rtLd zv(bdG)1urG1*Gu#J<_bMN(TqbM|FG5##l~V)kvw0_m<_G0C6PV>~%xYI0NeCh|TNq z0KOMr@R)~+MINHKGjG@&X&LU7vqZ5tAF3>TYTx0^nqMBXRBnAJKda}lz$B|M3Sa=! zkk;Wzz8`t}!ISTtvC5q*4e^XG_R3!qzQSUn834LL(VrOTy7P0ZjE`XW>==-yleU9? zSHD?Zx3RJL;P<%S$|ccM!%>Y-4GIF?(^ZQL6+0kIpOX})7nH_zlX0m%yG^BcC8}k3 z{@dhmK%UOYIuMN(_Ok9cSJu2gi*rgrhF49x@xfSY-z<`tq%4pj?rE)s7Eo*?E|{D9 zgs@gZAOOE;91PIWV14)XT&2>T*IQMP^??^N7nnTggW-uE#l)0==QY^sth&m5hr$|s zU0ch~PwVM$S;*4y$W8XzsY1X}w)Hubj!l}G9 za;s?Ydq+Iuok2jnqkdxCs+y$+n`pJ?5dq`kbdK3oh)GkKq~r8#3#@c-~C7~GTS(}p86-3s@+24h0URN5bKq&{e5Gbof?Su#By<*}EM282yIDGwpEKC62j=RUMX~t%5>pOcLUvpA* zcgxln_0iT~a%%U@(w?b;&z$(W@l5D}ZmZ7=JH04{I8nivwTT{{`z%0S=CYhP9_i&q z9qB7$H*yYool#rk3>53+jaF0Tt`~3CNy(j}@-+c08UQ>xD2@`GlWR7HU z|7)tJyLWCgFwzBQ^OD1qZ6<3yE+VQ}XV*^|^45t%n71`)}o z)PE*jxU#-8{xwLP_=fRNQQe~&J@>R*s0NtKi%TocF4dm2ltjA&eDdw_?*?QnsyP$t zt8j}D#x>DUpJh1PS@-Ep=R!O1j?|&fBOYAy%Z3KL+Va(3X z#`b|X_Plwn7FKiCT0o1>e2HutHqZldh0t9hweZe5mR!DtR^xsxI(7HmeWN>?rQi%l zR)+~7TR|EewWTb3Bt9}x15KV>nNZ*fh8~H*URaC~vwT|g@lth$JV7HMV6W@@amKZw z9l&Ue1#o@4(kGDf|UlKC7lL>?62UBeQw~lS3j%^*? zjp)p-jC1oHo;l%3d+wnB5n8BdYUx> z;OU*)U%fuUJ;?ZDT6Q4?7aQM+?TVJ3i!L)$mo*J%#zdqF%LQRW)UHcrw5!engC1Sv z(nAN1?RaJ`FL}+aTsrKxi9_6`e<~03$pwhLZ9Hr#6ZYxLb*R>v(0lbnlQ9LR2zGa1 z5Wh)GFqv1NAt;;IcTzo0?Ot7uaV-=Yff6>#HPlrz&_e9YOJpmbtra@G$3t?tv@EYQ zT**Kvx)9`@MbjwNMR)mGu$5?Nsnj$1NKs=(Qt$Rn-8!u!x{U%FD9HySk`2<2M)VkQ z8c7Ck)8*{zHAI6O^=5;aYAhq_Ac%uoZ|64$&+pyT+v~lwSnO?}aOl!{`dlqQ#$AeK zZr66^xPHVejh$YH<)P){If48UY-O1DAaON44e?N_a$S0H0=gLFSAWLgc$2ERiBSs2 z*&8SMj`6>%J!d}Nwdl|EHe_nC+p|)fVClKW54=OuAm0Y-Q;W6OJ|K2Y|CSh&g~kN$ zy_;a#mZV<$IfDvO!F<$Zb$exj36qqx57T@F`~~bF=A=`P=HfC;S@d#bEMAOVFw)KY zOi75}OkUk8c?5zUq&r?u`OLKQU>-5^FsgVbD^aa*VBCCg!CYXoTcKv=)bTzvPY)s* zsH*guUhU=xf7a(98|DNVNR`#e+n+n^a``ztPkKFpuk+x$>E8q5RCU` zKQI+*W_tY&kf#f=lT@(ONr!oBd1cGVa^*H_J9%|Xs(jld74i9F|b^RgnqEn zYFcV~I=21tO$+5|IyyR>Lk`3&D5Q$6d{*WGqbzJ_U(Wazz1@PJFKi7zi}3k$O|cNM zbesdzuV5h`01^iY(Dz&!k?P@igHl=+Rr@T(X(yH*$jzc*A|IfQDpH=8W=ZdZpq}~L zGtjA3(F&f4&_8HWQ%V=wXU@QO0gho8d>1GR>hsg;4}ZyCFuWPm8KP2sfHv!MFl~QZ zhp0Sdg#W~co}0k?kL5GuG$+m%j$WYizaJ>g1^7lJSgQ7lsNa znRb`inoWDR5l|F-gLBZ=jfZY?Ud~d*r7!fqF-k>GqTT!xdA*uXwF^l7RW>xn_BDv$EgySjEcH9?RV$1GwW^77W5AZ)pKfag{|z(KQ}CS`vo^8=FS_K zxE&+52%;Zex);JkTd|GqRg?VUrpsb7<|g^*^8*^=NC0&0)tp@8YG}MU@!VbXn?CN^ zzI5nWlJIhCmuVp{@D7~?CVFUT^X0dq?{yCZGRl^8P&|n>@#>=2Z|ka;!+DXIU=CFwKaMQ^?a=`2jIk1V5pJh7n4A7Fb>6~;>sTr#=8QZ+Gk+- z0R4;GqE&al5j7Pijdz()cw-RV0?=^8{UE~4PnMcg%p-}#< zccR!3g~y_Laro3ZFS*6HB@OB_ltjtzldtZw`+p0HoqN5U;t)N!wHd43dH{J%`W2Jy z{pFWc!!g5^Ypwi={RX!ky*@`WwPxK)Jb$fFrG=c|T9z&m#~s0_2jvm&HKUKV#$Z$? zhZ8AzRx{^g4OkPVn_W+S0MeFmkMht42<}YTN;3dt4smSk_J@0|`+L@18@o;Y*<(>{ zvoXCdhgS>5Mc&kjwK=?){y9zRRd>sEl2q`^%R^2Ry3QPu9%FfmcIxeQlU0$!#NnJn zyvEbLXH1%tN}eDj21PGiBr!jijBJ$AY1yIETbPZ1HOFg z^mF(!dXJMX|2+d=#h1v85S^=w6v0;`1+`yNs+*MZ#?3y>9t3~}6gTVJ4LL7b^_5}Y zJ*UmX9!pTl`LI|vo1~Me4L*5~(EsAGxVfyzqTOl?SYh37VTg75;?As6CT(Bq7{yGm zO6`1h=kSxY)1}k;rBLxK`Pse@2(T)oF_D&YEntn480lr`VjL^3V_lmJm=q+5zwk-s zj@r>wilq}RP)0t5^{K*J%k9;$3?>TfXQQkS<@vmF?N=`1vOXa|1wh?t;-ijgq7u1g zd8|D7x@afUu|a&DvG_c@iOU<8ML)gkqI?XxddJxsWf|G>g+(4o8JF*=gsFs3kdnl! zyLW>2dN(;#xY^WLoU1Osc{++f(wNX(z1PL#vM^s9e-HeK1Z;CGE_MwKZHs10?Pzqn zjBa9yxmme<`HWU1(-NuO*5>8%+S?E2zSbU-DH<}q7QzFH0F^^DCvLkdj7%_Ox?t$# zF@_7)`caLyyj#|#2fBuOSfT-B@iU9Pg>_ z$--53r!O+0*&yW#U6fk44(%m24}!`2^#R|r?)~S`b88a}{ipbDj7U3&RND*hSa{S} z^)Y;!=y95 z4V7=-7>OUsc*Sjudyr{e@6vPXzUy)QmL_$NiNkGL<7apU*oI5C`a15ac#3Ly*htR5 z?LTQ{xB0QfBHdJ0-AK;(y*VKnNr-{fS$%wQ;-!5}|A!p+Ml$`xK;|Ij)K^ml4P6w) zXG?S4!`znlqQTD8qq`gh!`}3EE5TBBfCLjC%*bfRUDa)=crTgJbEfEr^>=ex3RfL~ z?Io_=;#y`;Qs!S6AcOgfy6|%jjnhy1Bcm1sy3bqIRES?#*QP;|O+Ts%QY`Y6Kkn%c zrz}*YCKe6q%8Z{t=yz(h*7RO9-f@_W+`XCPmH@9doRxGsnr+|9-Z^z@p=Kq^-tKxn%M;e!_ULe?CmGkYaM>s(R7#ttqjfYFcg-O)xx?%nHp zl&6jb~73uFk z#*7Uu&42INoAKosAAVGb$;}*pnZFel#`aooB9m6z2+XYwxpDQ3g5l0W+J#yNoedk5 z99zfiC)4fF@2&dK>>bi#k@eMgFA)0HoKun=?bf+>4k6|(R03s1y;idnV)rh8k$A;R zKXD?$oOASraH^?Gep_je=8@6|%!_P8N~Ud3y^tt$e_>;KOysc2%7^y0^2y$lDAZrlvfhYcjpkC54?BIB^Qc|V2z!8Pz}Nl&WJC0M&xBk%=V7yXkRr`QA6={fGlCquEB?ei&j%Ti#TxH+ z9E@zx`AS-hEfaVP`JsxK_wyacuf2urudo$+K_Psl3PDB} zmv6qxuBE0m`0us8O<`G1ZlPTtyD_a79eM5LV3KXc1i`AQ_|PXuZkHMud<4X? z=7`Tf#&IX=1?S$wRlBx}pc21CE0RPJRD&r(c2)POmxs8$!OnWx-IrBs?bj^vt3z`GdT^*E@P9{t@|ZelSzhh&SdZj z1f?cW|B&jQ!qt=0mz={J+ro`G30-wH_A=J5hUu23%Dj9TrGoMt*cO&OQT|u xp67WjIV;c5Ro|q!viJ0Zog;VWf7LcmODsTs^8e6EwtY)!gjj<=$BE~F;G1J(K?4o3sC2c5*h*BbC%S6_Q z>{(NmtRe9m)ziED-sgSZ>;L}#uItQvzvtZNUOwk@-}iA5WooR;%e9XS008jf^t8>G z-^A^~$-q@UQ-j#qQ zN*+@KsrV`}6;Mc?c#to}&D}%ES5@+dUM1%9_B2Ei^h3ncRaH`B+aSow$P}bSrISEd z1t^#Rg+f7StO5)TBf!z*qaZjG4u?Q75Eu#!!ze-FN=O9g*N-IA9Gys3GSfc(%NX-b zRnpnhlcofL`1trJ_#hOhbSDT5i^W2qa0na@W=eoP{MC`sXsJmlROA?7n-LF z)g8305${O#@>G>%y81H)3hlRAcaL8V|5nc}}Ud%BSSWbgLMKLkbcb@>y~?Umo6 zG$k!M3GYdzn^UQ7e~`!Y4-`RgqyiKqXX)Zjr22TsZ^!U!14$e2Nm7+$5(xo@!og6C zISi%*$0#ANN1!kzDD8bXp|xt ziX@`JXao`i#*@hiFcv`~6UZ1vm?D-W3EDpGZ8c1n@Z0&ND#>*9$E4LZ>)gD4PNLz= z#D_v)+n>MIt^Z>EZ_B6LU6>HVB|+PK`HAXDX6<6a%Cz-k&eX-1B|PD00EBIBl8BPOrd|HUG5%+O z{Z#AYOkzUyZ#er?%!5ky^ug0f8cs}n|1u{af9gEd-J3-JJNIdLI-XgrNpufYNiv;E z0sZDL$dd}f(`arkgdfKV@pdQvDu}-sCi$m!Jn-KC9wHcqgh!%bP%spYB!UqLBm#^f zpx|Hx5{W>OnR5sP{tt-%H$==_MJT~Af8^@_3q-$;kKl}VcOo%+9pt|V28u^w&{#AU zjK^S@*#<>o!5FwA3JgbKh>m1MGzssB`nSRSec}2491P(v8Soc}zRio@B>8jDh$Onp z-*MpYdG^}{&=1D_-`M+0#{Flt_0N*>pSr{U-627?uOUCn4dkCI(a(47pGY3x&dwj5 zTIpZaod1-A%+{^MY!rXdIuIlhoCJ4-fnj(I91KSw;b2ERlECZ$7$h8t#uAC-9~E$0 z8}+|!9otpp2Mm9AJNsjbdF9)F{C(MEzWlzflH8ejOJ`n2w@w3@mt7HNE7dUf&6u(C zOR_zcwiWPo@L6ZajoIw-$DVsM1wjl!bxuYm!$F--p|oblURJi2G>!HXU!t?%=U?$^ zkTavtYisM8I*oCTXqbnL2ns-1!vVoS&BWQIO7n{Ia|7R+4}Pt%?3&_Z?dX!9=!Eo} z=X_euJ3TZP@a-#?BN^F_0e-u{Vq|zcF^*m9zZjtpx}&0;A^fay2Mk`@zX9yf-uZ@S zXDBZV&LdGwo|M%}P8# z87~bIT z-cojIQeRiV63Hr*4U7YtN+WjK-kFxQY%--9MZ?nDXDc}4~GHQu{bZWfr#t`5F}*er%0k|=TZ zt8L_-*jjvzX1usQX{rSb27#hLLU7wV!`yrQrm{c*W7$_SJcZ!WtOD9b(yb28s7Pz4 zFxEqw&XU?hAU3+8^6`hVhxX-@T&V#jfkM!=bR!z_=upVdoS%k!o=Wh#M``D<~$bm{+}+9s*k8` zuG#woUu@MDemB-@O3NGUUTg2p=gKHU}+> zibg)%0qky%NE3MNT ztGJ;sU;=@~c(Z4#Cmke63k!pY3uj+qx(ZQc!l`vQs*J&IVBJQX!bJ(XEG1+70Z?e0 zTZ(+R)y3*vDMvS7&TpBa{ibDBOs2wibXk9#-RQxg(x2`MZz z>MEQYxtzV*=eYVZe~@&CV3a-XyJ`AkPH0f7qU5{C=;P*GMH`_x{`bZ|*5}Nc)GB@p zlRo(Ldxh&}mvu*3(vcFP)iRC+vSUZuaf_O8T|Tip)5&MFUYTcSTY+(kbrJP~`aOY& zpdM#!F{#T^oVtyqt<_#goK*jJoyLppz%2$_&XX7Ox33stduNg#2%E`1Oc-l5pz|fm zT)d!mtZU;2I|pk>mM}eB#df^L%MMe?&GK}gBl7S#z$3=S-*ytKYpeA5mhT*_JWP7Q zUHNNd9wWJiJg#Eo5|!{Ng5e)2*rg(cFn|mP$R^f&Sy0QQM_#B}7wTUrfQ(wseP>@s zxdoqG!ZQxV7PUtnme`Zwv!pvNMs>HbexIkPl}kuc98eJ56yP>)IoKBvA>ROSTVinx zN)%+rAZ+g+EV=_Rx_a*n;9No=rzEG$m%3NYrQd~yYI@$57ZcbI^hU50`l>3m9NTwZ z@)4gJ(bu3a<&ElS9JlvC*_7*JaeA|R65DOBfktlJu9qTtVzyTwcy}lDMn>gMNJAvE z7zo?WqV{O3Bu9fgo)UNRO ziHZDO56I|LWgmrt=M(8J&-#3t?2AT^eAO%!Gz@y9EO+49*wWN7!|xe-;=As=<_@YV z`z)=mKk$bAq{6CUPuE_a{U5XU?B37YypR3fJ#X`_{k72{jd$Ks*km_de7**LspiPa z$|CfFzi#;ooiC{3ud##{9seBFG-Rj`6bNNKLu(fPd~pmd6aw8BLpVJbBW?Al@ZFiJ>nMt5VBl8g_d^`Z zgByVL$}NB%Zk6N7!Fy$wo2(XvxnF!smw#j2(-h>^3id3!%yHU7@%=N?1&^-kzRzlk zr{dc=jlwQR0ng7gkS$Ue`#(geDU3l(41$K>w?LYfwJ8x_7~Rk)khhM+Cn*QbpYK;FhK*%L` z#UBlLbo0g+pLcLCI_ZG6LukHT<16V+sgje?rREw)vxr@ek*N}j!GuutOLEuS)II@& z@7oFJ}FHY99}~T}L$?L32j( zdIEz*O=Cjn!eR}E~Y8Ix( zDSRg`9}zhq`l{xn#c1c;Mb7%riMcNC3K@!(_p&JP=FSFGE38*N)^dG^^aX=!(wvr> zW5Tzuf?1lAddSm;&qi229XV~R zm-~^C5Wkwdv{rl{1l`SgsE+ZGbK~v|X6oLRqK(W%^@9FUi-B1SvDGeg_0-Wry?CK+ zOf*nU`30N$)nU=hkHNOP5)hC|>mxTlwmamA@_EN8nx8TfxW?I;diZX>g`A7iL$iZ0 z;j4YXRD!wLrJF#ZPRvG9{(J|kW4+b6H5aSJ8{BR5r4jkQrE5>{<6hKYA9ZC<>>K#S z+IKlqcN_o!?dov1WeGYT!>As$NOtpvdr8u;1+0Oe%P*;1Ai<<0v;by7*+J%9X7ZSh zB0E)c<$%^?4(Ps=m(WO~jB%N3k-7Spql!<#1VVB{IzD0+@+L>y3af;gjs>uDU4n$Y zwbpK$Z+bMc{_JHl<54<3I)YCTv`hS;8ouIjsTYhf`&H-c^>5MZ&7_%vmWUG=zxNlE z3NZ7B_#FGtmZ(6G3`mTv``oa6H{VN~@`9B5M|pk+>GU8$E=^NZpboB3Wk!K3y%&Oe ze38t~s$R(=emv4(w`p|=Ygn%ZJI`sjBd_?YASqC9fOcQRGv556)!>d$)v6sVnIA(~ z`dZtiP>f;G!*9E<0`ELPU02i^J5?}Bkll=B*5I@@Mx+xwpN zL)WWfFJceKQAT@$q%~qI%{X6U-?xg@Ijc^#9qAh?pBQ>BY%P=w+<^n?_hx7*eF@Vv z_G6aWIn!f~@8ZmMnyGUZ*S=M(DOAf`k0e&2AGVtNBz%Y2c8L*qdPGDh4$L5306f@+ z!Zmf)4@W*$FRZRs^tm4>U!33Ky0x#Lcqr47U81<21@H)EI`ceyacky@QE~le;)JxP za8TlUjPx9cZD{^>C?`w#I=)9;?z4v;m+6Ry-2IPtcbY^2pv%vv6&shr;w`8rZ{c6| z3fA5o7Fs&Z3WR|-SuGu-2j^FxeJlK4dspmw>AWsZD6u+Tl_=_dDjLo|PvG>?_}E}eIA4^}j6)nY)s2*qZVC8t(Fg0Mm zPIbV1h~y5j>-zon`_kl#x~>90=;yB0v(0{r@oH0fZTr6bS^`Vd?IwXtJ0Vc5MdXw| z4tKHT<`o`H!GSA1L{jRskK$Z?af1eektp|l{P`{3i{FA{r(Z0jI7JVvt;XuK?7&`7 zc+P2mXW?1pP|Q%pa*JqUpWzK>pN~Efq4Y?C0-?$%n3uGx3{2;^<_m>uMvwA=WkoWauD zGQuzyuT(#k)iLyN`B=%MK?zhQ6ZNS#6auUaZA@h0Uk+U6r$+f0xtYYu=-SjI1IEQ^ zGEe=I1+Q#qDaW!(<*Q&H!Ftu;EoEeN0=p@i_rw*OJ-L3*-TPDu1#AwBF#*tU8GEOz zmZ(gxUKlA$z9iMbd0>E4Ya%nlYwGsWZ7x9nl9UL$p8g@8MkEJMo`mFmd6Tj&)o|5N z23C%Ge)DGVR?jM*svwU#muuzOmybSRuscn6p1<8Gl3u}$$ zNo{ZRIE!!Min&^`aQ3)%6z4px&EEFe!gBpv3x6B0@f1yjzokUK5{ySbtPbeZFGJ@n=;{Am07_!zyYit7)}B-;RUmX#bqteMo%V_}lQH#G8dgQjR zPiU!4J)Awy>+%^9mIYEN*TboI>9U;R@uHZ%Ug`Hg;n{Z*KfOH0-gi{w^00zyXcbvv z!_uqTx|jX^CsEGoF?rLLh^(ZOAQOw$TQNfV#dpqL-D+%%i}9Q|;tp1gc-y+56X z@!HH6^%yK$zdRg2c>TGc3Gr@*O`Ti!(L3&k44RuXyvFvnYL6Zl7ULNzUh8eYrRpuE z?PV)BQ{Q*Q+F|uwvt_y&Qo~r$_$Nz_w!dE*Wj}hbc2p4Y47jg`K2nr^d;LeNk6t#kx*eRhP@0UeVc!rJKD|6K7cF zs=V9M8%miiPfaWw&_j$K#u#*Hw^aAonQSI$OOM zeBQCc*RQaiGhhF{(&~4~bMU4P zE^6y`=lz@jza8IR6q>38)ITSTuWk}=?&aiNa;~4yC?R)4-}t5mwD%fjU9=CG%ClG? zDwLfn!d_=(D`F@Nk|N`ePX^I>ul@9mwVL$I(U`vuUSm zoOHk1;uLw>KfO0w5BuI?0L|K<%@x|5fAth&V8cHl*WPB6b8`=7#!@v1Ddn@2iH_Ym z`&st6Fx%MSNDKZCPbE^#-11sWy0!L|+}$=fq^ZkcC|ZBF}UKRD)COPkos|K{N1kHziwDr={#^DVMYoPLo}9B$b* zmYFen@OWhiL;m9jhwfqCK()XxeSz49=u_SaIS#Hv<})CronyVMv0}S0^w>?Ahn~59 z*vL%oc#lJ1Y=iC>+FWd@Sp8J)iC$Do=EEnlC$;qZ*mUjQ&YLt0NlZ>$OG_HFHtzY1 z9)qI09bX+zU9EjQBvS6tAoxrWY=n*~Nj>;!nP(D((AZ!}&{30q=7{`BreK zNC`UF__U$}`z08ctb%IOu_vRYcdnx=j`{jdwo;PmE6mz1TIsd8m&3g@aK5MYnJxKM z&6$PHH?|ZvgGoth6}z{I555>BH#FpNU2n3~tg1+MG4W-RROFsQkJ(Ex6&1@yd5}@) z;9|9xx~g)77V{SsN!^y*x1k`0A9jC4We{&ph9;@0pl_M>g{@J!KE*7h*a)s6eh`aS zO{pzvS3XeXhoS>-4~EhqafBB~p;}{h3{+rYF+;{_T(F1tIL-fW9vf4!5Ba=>(cw2ti_37 zoHQMH2*Ig~)!k#dhdzH~@{DUlV{3#7Kc%y_nvAe{KEygdQR?H*As?LU#523#ojMP! z@i}^qwJ-O<%>HiCLNQH%I`EBw*kK2X>H1)3{J;byFk++bq0T1V1P5=PFV`Qjj zLI1_?GV>X||>&XdKy734=ObNOZ(|18U?w1_JhwAa&I35Qfcn~}Z zUNmpIEbNyo#g$AWd%KeVLiMlde=tDD*3|TujX(9p)AN@JZ`u)GdKfQxQqa0o z0)|GWT9L^fzmdoMHxz+zWhE$3-iG9bC;NFH*oooi0)iffM$iD!iG%<{;b5qm6%2-k ztDzBU3Q!mt3jHB!O2(6j0skthj8;}f!;$|WN~bX%L&N;7Fdl~{lBu2;`W}!xF)joM z#mfZ*{I#=aU9tz6N;gdR4)NU!Q&Y5&mp2XLg(Dd0X@KYF0SK&T?{U;>_i z0jm&{)xa246cLOiD&wF8RU%#u5C3hw9vSDeL$;muKN1g5#?f{BZdFBvphhIBD1%{e zBmzuCC}Y4V3=$7kg`<#AJVF_+{JS_?{-SG-f*9b)+uox_o09GSn5nvUJ zGQEexLg{IW!sB2t7+eKUk7{SP(R4L*moPi|r2&Hd9JJkGorlklK_r}>_)rLJ=lOHq z?r-LQpSJcQ(IKWou)~)hs9Mr%7adl*t?y&zB!7a3tsaSvjQ0;GcFg=fW%o~0JB4f~ z)zF3{Z#v@wepVVw!s(wq4-)WucA+u29|7QYxJkf+eh!oVWE=lIz<#Lpb0yHB`foV< zL(H2@r1@c}1Z@{OzJHq&kiT@E?Bz?K{=t0;hKiwAYXa3<14N{fJ%PXY3#5^O7z)LM zg!{go5MM9+&w}`iVW7XXFBDgq7rmDc|oh<d&d1+we_!(@}EwJ|J)`)cCH~m$_?b7E76a4y&p*G?_}rqlN$YJHRs>uApPh@ z(+`TjIXbXJ6ak5(C#4D&1qCDU^pcN);Z?zS0t|;yAz(0A485%W@P_<HfNG(qDdER|#J9yrt4Fqd1T{6#x)wG1Akv^3VC=5RfF^6|fyL>$7qy z$c=YjeyVOpwMPU$>u76F5+AqbbC|(&!N}EfO;1JHK8mLgRi_yDR*N619vK=+vs{gZ zDMg(YZzyLHg$~IB`Sb;JbbvBoSDViE>2}&m(BQ?xj()GE-E0In?mZn_yP0n{oxfbr*oI?2rcJJYW6y>PT<}7qZq(*K%Kjp9x^6HIwVSawTXi{tW z9&)^j@64dZhkBRI9^9)z@1eL{UW&>cM!?NwRnD~C>m|mz%zSO;4rlW6swDmFw$HR3 zws3^4&`Jd4o0$m=&EbsNsZ=h`Eafzd4rAT5y@kSRs-lBsel2$|du^;Z_<2;Lf=S!H zd=bjBexX4m!yx`f#?o-ceT%0k8*HpfVIMDFOpsL1W6n3s2e?kgGn*aoAAKzSC8M(g zC~uMfZe>}yN$#y@zU-H_K;lv{$Ah1AOzGNO_OTpW z#0~0j1F^0kS9y7hOG6=@^74`_V^3@(7#GB)3Wp|v0LGXG&L`*2STow2i-v^0%5w@^ z%R3x0mgn-23ADQpijFohm_2kcj5hhHD%fZxqqYNT{_MkD!8fDHF_)9fI~j}*Y8_`w z5Lyu5Q&xy48nu!>ht@i>`}pf4X+8``gd1%3X64j?_$-2&`Ji0fir57HGVNBF zP6Gdv#taqT_jSWF7s7ld#(e9`!YUtZzT<~ex-KExYp7j5vD~pN;gS2F=TzQM7fMe| z;p`Yo@A#7b`r3K>xcdOd<35I`5rfWBV{>`WE{J4=ltY?G5rhf z8_ucqjVO7;ud{3!Q9fb)xw#o^$pc$?FW8;8dU5vvqv^nvyf11fA zca4Qy1eZznRIvc$a9e!oDCCouY|h~8J}Mq+{Qj|_kv78OsQ2#9x%+4Ht)i9KO83V0 z0##W-k+R))9voj0VOw|?FSN#A&v)IF=yrG^;W2YCLc7S&Z6A_#bTNxIVF7W4n|+z z{@_>U_hc793)*vraCuXMcDauEx=5s)F88B}wA+qb!!g+(KXiQw=ug^EYT=H}r;V5G z7CE-p5q#xzfUSVVu_`_idp2rZhFdd*8F8cu#`(OZpc9(00*SGE#O4<=dOe;S5WD=Y zbgcGJ=}P+rt!GhXA_LAfesd$Kns475g|@!FS?6?TeP7#M8EPNBKBV2tqs<*KoZ@f1 z)4NF1^PsrBve=kUIZx>t8EiQ_@qp>_qt%leqY09@vFGWQ31cyjm&InD&XCnPt(P&< zQ4hbG)$62h8lPBx#es5*)#6PX7dE>TB!M)k@RcErr2EPVfb*3fdzVx|^(@GUiWApj zdxoO#;wV!aDx!0Bsb85xVGVs%#m!%;1``Gb2BO;gm&|x^qxPS*BhEH9J|tXA_kI;v z+)Pm$b(1Ed{7Swg&sMN+k(`BxOiAoYlaII~=sMQeN^d$_emi*|CPa9#=* zW5YRN15DqZ|!JkG4J^t`Y#0sugEu_{XtFvs`+Z z^oIK)#8y-lnv;@}C*Rv&IFZa+-@q20!RPE2{^EVsx=C~Ut8MYCewr6%Dnu@4>&FC0 z+2}-G3%RXUehgs?964Fh@9WR7BVnrxV3J*1%p`FB6MpF@-Wu#;ktnO!lX3&Rd!IM z+x>I)`0N=)gxh?fnvTs1_#jIUYls|kl<80C0{L748;1`!VDjqXk zzhfeG0LE;K5ydunbPS0y7~EAfGg7(O)K#HJkQHhZ$(HN`09JczeX6&&*2`Rnbru&F zo$+|)I=@-X5sh{4I*hJ2WB5|Zd2^yxXtdC#*J>>w+n=nD{>mW5z@eq{vgq6%8Gw7F zE3cG6X6eD(W~cjjta6s#GB9%BUfYoymg^+h0GVn}D?R%imqO3CjXTeU+`z6NC34sI zo*OQ0eTh#l;ndShS$vtj|2b-b$YtH|v{4z`09Cf^ETUf+dW_zB#&+ntQleun@KNLG zkJHg{aeLcWht_OEr%>A^n@ZJ09-0&Xt&xk4f(+tP3ktch=IEx5lLz<#dPZ-X0or^> ztgD6dHNlqLQF)`O;6_y-pD4B)w>uZVFtcTWEnO~w7+^}d%tF67*7uEiO`bzuS#^(w_&DKt?40k6mm@+DDOz!whZN`7;y=On!S4|36;NzNmh)$@P zv$|u~dA8;7itcpSMziirS@43o;?^_^fWPNt?EWTcL1|R1oUWHHBGX2Ap!6dJ&lOwLGs&+s`Vi>1fQ$`G^&GrM8G;HX0a&F1A0OLWc3R zX$DBpY%otZt&iDz;k|#7=3L> zKv$sD)V}8BH{mM$cupo*AwCILYN&et+M5$z)CY0dd^ucEV2Q zneu%sU!tcU?%ANzBd?d3@()+CP?uq47o)&Had#0Aa`RYJKvZG zxgo9m7#@%vSUG9>G55JoM9wvDW`D8WY!$rN4XD{=e>U4dauR*HL`1>sy@8Ntw=6U;+M zSI-&zWG@pl=aQU(gvot*2)!_6Jm8(*`WAX{EhOb_i6KmnKmWj2xsI20IrgzoyX4oK zLK#FC*pyOjyu-B$0f4|s=1aT+4277AmYla;iijTD(lS2x<6*(w9|E4UwbtD5YWY<6 z#5AZ|TQ+rnM((~UZqYo|kj^^;MB%|`_SlA#T<+j_f~Y%x#Ssr4kUL+mXqifE@u8M- z_u-SoQUc|hZO;QZfZ9yObR)FuJvt6nEBfwQ7X)b%3pn@0f>X z9RoY3a#H9)sVSLrz&E>OpOa#$0Sz_WtSML64CDy9d{bYGLkYL8%S1%_Aero0?YV^g zi#D+>egU9cm2U15t%*rZ$;dqMwO5lhWd@tgA-9{MhWydP(bqW&m(nb1WRf%ZV~lf9 z_FQpb+oSteg)B!D-KL^VhV`fssZ_xGd1=pJoSzOm-uUVpT`mG9jdUzdXDz^3KF*Kg_`Ev_~$<*oLa47^Qxp z&#Y?me6M9&$Ov<*rEXEc#JlcCi&0PaaLpXNBmU49l$~^hv=Cmn>+-%?lk;cz8Jo0X zPcf33S(ryZonm~UCIiRiqy>JX^+cwQziXeLXqgSZj9mFyD8ktCH=SEvyN4>{br7r9lps+8A!sPcr(Utw`7PF z4e_MeNUp=YZ0GRYWz#xCQxmbDl}nH2#foz1upE3=!= zrDre3+>|thhhN=9`Pdw2iIDXAR;?$V{>sk3I66V7WZI=gTt@n|-+gw#$ETsuIg$ld z6GqolQXC;cyw$@GwmAJeJ%-(?6YrsK^)cLgV&g6k0EuqTUpKQ3TbPyu3K+dKZMOVY zHnvCk3?s`z>!q5-YzYgev<&C!wP5#~lF#OERRM0TPKL~$OZ44rPw}fWj(AbJ@Z_}| zv(~rQH{#gx9+3u%#Rfz?_XSz#a4jr79+x|F0%+#an4T6s+P+%^xh78vs-CiM?VcO= z(O$Wj!V#=9m`<+MUJ(jj&@g{|xqLw{h>ub2vHKZ1v(Flkx4J%+*}rpom3;rw9+crx zX7S$fQeX7Pbd%m2OE6yLk=<+AV3tpFx&iozvDKZi2Ck^Ux>TT0!m`4xfC((F>wLxOt67QFb=cbbD_L@B^_nOP9c=-Nn zUb^InoBy1MvF3h>(E0UKJnpyBAPjHlN7&a#l*iK$POUt~YsuDG_Ij-2V|(jSvReGr zn8#gw>Jp&Mf~DRbM{V;3-B<>4^Mtyy)URU=?JS=+=v@Cz5Y#g%#*=ggW`K&8BuRP8&X#xfBVo z;B1U{{VZBEs=bntzkcpjYRR!X#X(A%lomu%Yok+79c|LmCG0^d*7d@{HI_KA*#@@7 z^D1)t)82|3%M0<3nUbs`zG{0#3nfVUTelp2l0RE+`OpsiHB%t~7v~-_N%naVaZO7ud6RTk_y-~PT3jfQSA;XnC~69p58ag#WZxl*@Dil9BHLBpjq78 z3z;$6q^{sJ8*syD*dykJv`m}*Rr>ucm7fL*xN=prLF<7VeI2%k#EqaY{pC(=Y% zkA53qF3vyaczvJpW<@M%O{2s72(Q&*{&P*4%H&?lv3r8_a70b+4vrN#n<}-CqFw}} zsnRli=)k5Hs)qgwi(JkGk9BPT+?ROs+O_QFN>ZmQ%dP1sP6?}L{N>w0VzX#Uzy1~M z!jkN{e9pkiqm?{V>88V#6S0Y79r>R(KHd#K0d%@Qy64#>>2{23q#k#9o*}qT^tC29{mygKW zwXdBVoo#@esauLGxj3LUSTw^}RHQx3eQkY^Z&a;cY~L1eLX390EAprdkBa>b6VbUC z1+Mzx=g+!=sx*fs`!>De*N=L30z;+45;!&X+?THhqCwx+;H zqCx{u|AmIG+mGN2z1y{sT0?HiS6{@jyoZ{PU9~Sk3sK|Ccj?Bm=UZR%|5VSFe<}|c zljv%GK@LlMuvy)9`*6T=c5336`itr+?(aO8tuQNHS0b0WBfO>YBN6+~YBq3CB4agA zX!^Zg-^2yB&&NDJS~P^J$WpmNOuAR?Mjj;GIMv;wHo}gIwieJ|aCp!e_@z?I>%O9} zc+7esQB?8s*_i_X=EG{3xwp=k*;~#=g8_l1^(TE;xU8BXc+;!*%owXL4aMa4Y+eeo zq0`Y(W_E7oxCwj=%R<~3Di8izy)iPjd>~gQI;ljPh4)k<4q;(WUg_#?ImG)O#Dgeg zYiqmGb#5U$aq5k?F$==Ny=T5u5fVI5a`rlF-@ETQJkOVWnRCoB#(c*+$`4|U&**Tl3bFzK01iD} ztO@PgY5xH-(>}c>Zko})SiE$tDF6W5q5X#ra5s$~0AL*=nORY-3{Rs8WDhx<6B$pG z^Y`$gNdo{X>i%9hf*X+v!V_Ico~q!bng%e4L8Rh9{vPh06tur8_?uod?R|e43I=@>p}MJpHTDgHtPG7or^wz! zkg^;MLV&?wAVp<4xFVc@P;{0BAz%mu6s81)D?s2%Xcz*GLV|w$fobNvot)7oSnVIi zXunj!u2iZQ8VdFE^ON&K%8|WYpm1enWhe{*MIazF2?!;?lZx|)cv8fEYQPdH1aFcT zl|=Rg?Q6v0$v#w7FwNEPckuA~rPh=311B0{P=A~k6fOtbztcBCC&Di|FCTCBZ^oSn zP@+50gXl@6&}8AiWW8L;R5Hbt{3oh^ZU2J-8n%Xpzij+VUpzd1nV?X$d}-JC0m#3U zrkDkI5uqkT3fae-K-BW3xheMZHWaD}@o#wk8^>wlzYbGL&VO=tf9D@AMf4~AiRk{$ zFHtY_DQ_ZU>cE-5Eudi zQ!<0Y(Fi3p3MK=CqhYY`qK0HAl5@a+6-A*@3TTAlKZw$3?1ZD@{!-Y9fOaN(d*Em> zAbH?ih)^$27cl5oWYMR{?qqM8VVZZyZ(bN0qV+r}RGcS)sE1Vr)2<*#A~~TI@JKjH zQ5gXc`rf&Iq`I zlQP5^C9ecgbVeZ|IAu5vf>0(X5S-&g~qsmAC<a|5zsdi!lCs zfPGi%=SrkO_1|#zyBLM+O!dQg6E$3D`2J;1K>yTvvZpW6`|sTM!g=Fp)tcx{Q3X4D zlRZGc_zR+vK{zijcM{=SIHA6tPCp9bFNT5t)D8vb``<(4OhDq12%-W6h9e*#a0Chg zQKqqyMpc|L0Rp$$-BI`aUmyk>t-o zb0T_^{*D8G&$C}HfW9&A|Bt=DWZb`3TmRRC1l=D)zLy*5KUbpfzp>wu)ZWj|Z=D+b zuWHV}%RyS}M$;O_U$hP+LQz2;zTZcc6ciyy7)lv}BPb|9P%tNXCA@+>0)}+nXY{@{ z@_*Vo_N&M@82)ZL`?*9L`SxFb4V$zdzs6OfCoONiX~XE)>!n@*;E0$WR>RCcZNV;} z{HXbzy^9+b=1_8owf(bZ9x$Caqi8fxQWAEcwIv%#Ifub|Vd=DlwN)u*&gb|QkM>ir zF46B{M|mxWxpj0{Kz)N?Ft^gpz<=kkQ zD%Bgd_`JJUwTjLhxGmYA(0^Ks$F}6rR>YnBSlxksIshx^5de%C9y2%vAq`wVvHNGB5_-Nisic*6&Q7 z{q51cn-WnX_k*cV8QybxZfdRPBSf9*~$GV0wCJYBjVz zuzG)Bx%%N16I3{?Qn?F0BK`igEOP|)P1 zH$6`@;50qcWgaH_Q(-&Uw59_L6=qMzLwr`+^d8w?TIutvb4#am0$*#*mTpLXHtIdgw>nlkv5V}IKjowoeO>@S4Y|~n=4P~aclHk-gVHNmpR_HwMa8FL zpOgtR35(7QB-20U!t{wpMhiMUI;ioEz&9mH`;dcKU=Ux;jzM z>@|mW(f*ry>CtgVmGpC+tE=@q4sfG}>9wUX_BzkpX3jox3N3zG(%F!p#+8lxBu|Q< z5tZW+O0pLwn%1NUHxqp!yc||mk4flqfe1(;lDWJYFyj%Yy5^PlvY%Jo1vH}MZ_Wa5 zzTsTLO_>ZT#3EhCjufRN9DY1?kHJX4KK=?bZuX^cw!2_hEHH}yLRHl0p~Ho@x1*+( zF5wQ3zfQP!mK+nYJz75B0(`7F@?;?C)qsceu_?RJSGwl{`qD1>I)Fm-!RdfcpQWUy zOQuHUpKSM465Kl#vN5<1>k^Jl@-Cs8Ot#nHYgs9^h*Ci59B#F+U~#FtRqbLGn3`k9?i4~1YA z&O(4t4#LxgyyY*C)v+pP!z4kK#UbPQt8rDWMmqtUTL-SPZ~8gpZwwz#G0CP&KjWv7 zf?Cxp&@ndM4ZZtvBMbu&$1j(DedNC}UeqM7b1r&ABv7<|XZpswI?ILw`i6V6hc?`s z+hrQAy{WjMi{V#V`d}d0FRElqNE8;ecyNHVY*nID-Qm2m&0@9&tBGZ$7HhD@tw_;C zo77h!F4|z`B7T*FA<9c;FJiY6Eaf`A=Px{+aH#heE38?pu8Yf2s~0k=-8hi#aZGFQ z!fG7!D01UbcXx`qms74NMW+*O&3Sm*8~=Nd9s4|S&@_XauH`A4Bbn{4NLmc9%w@TI zPjeV_w#Nj5w3Sor1Em5313#lHDv0c}*1*t4kjD$nP>MjH-( z1x6m}REssMuu$zQ)6!v21GT5%tp&C33G%!YzoIJeDk-7(!YNsHq*Z3*^N-XBTr|YC z;$4@+=*K>2&~eL8tLb}3#l*ydjCv(BBo<#^PgqhZRk>}Nwyl}pRv#}QntO7VgY%=Z z1)go(S>u^1S&Hki3h~RD^6xpTjBp`wykl!~GaBEMI0d3lZicFF7}hS=4icsYEx~$; z?J9}lO$C*sSM!SM1E*su&heTyyhVWE4Ih|nlLg|fk3I~1sL}CJtz_7WI`{$*`bP{) zLW*FR@m+GMZY%h3I9kZHRjr*1%Zo8}^W-YkN(!qay|_-%_wgg zE*+sXvt>Z*vfF7hLR|~(qL%lf9E*o`cM6)z#9AgFa@nwa^2M4kjKNk6FXNLQoGSuV z#E1bG>#*$l6;Uyn5xKEvOMJ{cgw5m5PVqlFFF=X2jvgHK=3q{N1fJ=$`xIsgw&`J0 zQ0OyOMQXO{t3DQacY?d~%pp=PTqH>R0(}X)a}>9yXxr;ptgQ4oomfJ@lJ-D*_9oo= zu4Xrm;?-qY)Y$V;XIGDMkMc6+L(n?UZ4+VNQu`pfTZHsyaq;I(CWc;JELZf1-l!P% zaxWnkUpRJ$7*)a?WmiVOts4O_^Qf&%_BYAuFpXaXK=*o&TLo_lxR&qEAK0Ba7I~^L zP}yCc87U?p*ZoeY!Ry(JY>Ki#O0JYaHYGXhbkFG#7M5tnM1>F-Llm8%BeSfGxI35r zJ9=y>P`BmFG?QT=KNIRA^O>0A@3P&xw3no=j4yYOMXqe!Lw1!cy%4+bL8mLq$}i1O zHgVyQQEiV~-_;l5t!LU=e9NovL}%sXX`fEiKfusD9M4~j$xq>_;E*C^!??{%9~0|l z&j;Ag(1N5BP#Q7HcddASy7FBQXIi9Vv69Cnh9gJAThzWD2|Y116dH-knkAOi)I##) z=}YskSZUXi+bX)DtqDz+dIYkejM)9K6iM3=M`y2vm4Bx;L>#`n@axJ1k@CPAAOr z0Cj<2MqpU7Sa`A}i8S7k2f_O@EDap4+Oe=1%zn*pLz4W$3x0{RG0AHSr3mtbwZ;S) zr78 zYIL49S>rAfX~j3pRT6GI(NPm)*!ZG8d&>NNQC;Oj4S)@TzPb1Xms?Z&>*HmF^Fbb+ zU3*>b7gZ4CuwPMQ4j~v zaR~M1vdIa_o5{Cc*)5k`H^rSnv?7KOtuV>n?BRypZ54A710iIorfEoe9MAaY<&bCsDo58ze{a(BI~g=HLOrvtFK>*LAhfNPGW| z#S>xyKb4OHh5?^ACH97>ZjwDGLJE(c1As!^vdq4&XF)M^u*Ivq@9_uqc3|v!`9i(3 zhl3d0Q#m|YBy?LbNz6iT`CnNLwKkq$ZWk|(iPTFMVmKqKR8kzXEi1%k#T+Sk)7;kc zTDstNOVd!;9o(RvX>9V+NGaly_xvTv6-Fzg>pm?FQA5@5U$ZQn|a!JyEb zSg?9Nve#W!3GPVPSv_$f_F7Z*T7z&woMEuvhygD$E$0smZ(r!2C9A^t9ii&nT-x~6MDd?^s83|6d z_C3OWhBd#KuQ8Fm&4>%3)0Y8VP-x<~GtHmbJALe)rMW}HcGJru)i0HDHl6O~pY5|= z_!@Uks%-`B6%}~@Ixy&ngv2n5v%F4Hv57w9}Gg3HDaU6z;~HN07;*7AaDTw92nUK3{QH3RFDNiNVcxXI>Nah=RxKYo93@!IwL z3tq>?BLTc0vo|h3QslkWU4vLSM$*4VFNIm3e6YQ`sA|Z;k`W46AlzD0xeB_;=xiCl z%!hqYt9@~yutukTr7`uzVux?$a@Xm;?XuyuDs|25Dt-pC>iDglg6EDmox(d z=^L4VOkT-PxiaQ1LGgIsn@y(c)0>aQO4jmz_Y~Z2Z?V+FLzr?uT6Bl1KQ~OTmT1`H zR3hZIY}P$L*S}aPT>jaeJ4|ADB6sxMZwf}TTzD?2ltLF2{+Kzi$<_r0vnbL@Z6AND)K7%z=vr)LIx!G!Zjv<~FD7ZJ)7 zNgG4+s>NVz$(K1NG6f*pjH0B=$powCJ>g8oT{$`B^#s4JJ^bwB^nL6UgO&sN3NafGkdG(J z-2yy=w*sHqo_LiiY$~*XT?oE^Rcs`cqOIO-A$`0`i#Z^YuY-i=!yEe z&*3fUcIy)>WW_zf%ew1IF~(9XZ6^di!oinE*>2P$(7}$PT7g?LJI{FT=tY|)-ElDD zZ!&uBoMo8Zh&2Xt|#qADs=rpsRp*wFv_=UA@dKn#}fKMUYoITN7ATR$j2uSTW#S zJ~448JbGR{;`d!<0Px7?&ifn7mKTxdhAMB%#H`*2g7SJ?4PH*7!?Bo1z|@%9#cKjN zr)Nix&SN33RI9T09!~A0*`l{?iX{tEqmJAh?SR>WfE@C~!F(91rwf{qV0(5jQ zYVuA_L8jfsX-Dv>O2xV$p$FAs5!beyyQ?QAMP}meP*_t;5y^A*5pKH~w;sf6#yZWl zwlBXOyo7-G<}3ooC&H4d&zxKf_su=1$FCpR8LE{~sR!|ua@RKq80b?!+AzhLawnm~ z^CsuHtWA*EsuGq*o9gPYH+A0x za!4bWr4@EQ&u`c=z;*k^RjAz;oBLN&6Y9W6!rTTvmFmjSSc$t`LRMR8%1L*xrMrr$ za!e;B<UeGo&2rkKpfk&udt}k*kIPV2%|SMRrKCIHzc$N4TD`qPRmhQX!Ugk!d+kf=v(@6k(j!16XCR;~ua+=B zJ+Nf3fNddumd;HGc5<9JIX8OO{a)>jYOyhA@oqH));Ge{FY-;v?1$EkW4p3i+uU9K zQ|63(r0Zi9(_8*?trpRFu}?G)Z+>Y_Fs>&*7p66?TD^^_w0oc6tmW6%GI%3i=LTE# zg)@Z$s~g^#NR4otkq=fw)!#qkdCe4cNd6O+!^9AFX->?cQ0>WXW%ps~*=#O#)vs0_ zorOiyDP7v-{*AH6!;Mvy$pm@=IHkOU(BIft`fJ@s8=Ot?|x8Sm~m!im}s^M+J{| zwYet@2{$-HzTWpkx76Hd!!b*}u~538w(^uyUVHINmE`^EXL@>SYb-5Xxr#SB_Ec6^ z{}9P<(D2dflaAyi^@|AAr{?LMCN-}BbZ#m6E55gkSRpHn!FOH<$)&C~^^v27>g-7VFe@g~i;B#WyvLkANnI?`j`^bjs0;o}G2Mbkg_vk~(}&6}oLj z>$=e#`rN-skuKzl-ZSGvDty_qmtP{kiXR=DH*yO$~Ut4sihh0A3?Q zJqyM+c6V^FGd@XguUIj@I7x=*$N&Jh!0uoIT)id?0C2q|SlLnROwJ-OL~mIXmWam5 z26~ei(g1*(W*`ZL@x)PpXq+3tM;%0OxeEdku<9UNxCzvRq>FPW7zX>|EQ3w0Fu|S} z6)Z?o1E>~=U?}j$QBc4@Z!aG*B2XRlT`z+1ygLm60l$k-Jk>$ky9R-FCP<(z(H93) zk%fXWP$(3rq#`S)B!_`1;ZFf!P#6pXRffnZg5{JEP#8i%9{BSQ#4zWJ#Um{A^nV&- zys3lSDHIX{0tpBRkPVQRCHlHS z2t*&?u0|A^=tofpFn<)hRpX}XT`G=rzfrLL1-Cg-5 zNN4LCg%1*Z;T5J?^kg@K{U zR&sI(m@+~EdJ-y!fI@$Wnh>!Be9(UuRX`{xB4A4YAj+UI7DYk*r7#wQz!QDFQH&fA zyismA2+79{1pJj*gf7vG=*uw7@J{}_7bYeMBOfva<%7W)>8XPlA;=O4SOgS@R#a3_ zf`b+D@)$5qMF9?0#=_;nFpNA}1q)MA!YC^Lv0smf@!KWa?*1Qzhb3YdI{s!=P63UQ z!^)$&;1p#-njbNx@xP;oRFLjXI&q=#o)_M8;m{fu> z3LgrQ+x`5xe(o>U|F&%HLtsD*0|9sW@&i>%M(<+4%CPl)4oL{adD-a^7|4)+II(Ny zZ%gO?X=%5S?UowCkU(ZIF6d{cvBaJK`Q$|aey=VB3iBfX%q}-^SkTXD!oNu4zX#Y4 zwE^xp22}qAXMc#1iFir?$`_~Y#=!S4YXb78&J%t7alU`&J_+TEVsvYqFIgRg_a%A* zfAJScAp%h(k{1E zm+*HS_oQC{dm{=fu#O!b$&mo5&x>^ z{JR`v9Nh@ULGc$yhoU@634?}1!FVN{0vMybdk~?a@?b1V83o5c<#8&?m|aHiY9s!4 zkB;3g@*Rf1yPf?p#klhAKK{CFGG2aNS8+a!y7gsTMyDSZ8Up~rB1U@JR)N<(Ifc|a z+Me493(0?|wji&h)EKmU>4AjelK6EK{*BtI2Cb8zhEq&_GttG-Ys}h$Y;63Q$g1d` zRhC-*lXkbP?7a$*eCWZV;(h5SOr9-$2%A{#?^SW5)4!&*KIwh+eq7-r7B;m0`W6|# zaC^E}Wiy~{wNX+6^s$gk>tA7`$cZ`WAb9>?hjxXTq29zBrgfmwmV*?t-76bbbZE8~ z>(gW_mHC0GQWv3U=RpMZc@eq^eR4+ONwIvo+`asSM8Kyf2HOHJbImvwZmp3a(f(JY z?M)4PIwI|u^t6hhTn54YkZO_UO47pQ2C4K8=ws3zYZ?ny@ltti_X!yT&xDe^vU!c> z-xU$-3QzDtQIQ|J3V0A%eEf+h;Pd9S^h+kKwk{+G`qcEeouhh_>}-3BuD&C#mTvZ2D4TvyocX%+d=d!B@R zN_T*S8?3*b%85biUFLkmRWIcZlCt2S(XPawh>KJZynO78G}Q)qDZZQM#ER%BdD6vy zyQ`xmU@JS<^g2z5Be&!R;sPI^t4Lf{isS8hZ`*P6Hm@$BWR7%LJ)eTKrUJ8>Rw;9A zc+QS<#|Up!j(fb84)dN^j9J=3#3ExnTw`g`ynr7YJT9TxzK@-j#O@ODr6oQ*_}OMm zUQ^^%KbfR!GQJixK8r|0wnXdL=)L?EeBuPw_Y!fll0r~c8)5xZFu7WB@j8)}@z&*M zEj~MM$AS>qlp>mOqADN~5Nvcl@O^I0TE+O>@Hi+b?nXb~bh(kPxD^vxh(-em`lY0& znj`tqpEw4PK#&;+kgwJ-H{~*~ML)GO^1`76(XbC+a_?^69v;pU3E8jbq~pul^SHt$ z^y417v~zHOv06^_q~W7t-3*YGln_2W!M&yE13Uc_Bm4cp26a{68t>3G~){(6aTk@8I9!0+5rbIe>a`g+>;ZZ5_< z@&_gK-M+sLq=)gV3@T^QByop|*TtvTj}@@1{JxThHj?Y(l#hTWi z3C?t)hsX9_JIcv~Y}?opn~8Y+pmEWWy?mn1ESGO9ql!=J;-kZh>B;6uaUCvNnKo`+)VwNBf+A-TB5E~Kx#F?3?{;GHzZH)XACR;eLXSNnyYzsB$$CD4vU8*}N)rDx07Y`?tj zB3pg9tuohQAZ5jvBQnatWigf1H_2}F2~^_#G5piT;NSLy-DWC@>sDUJ@^+h#U)&oF zi1Xzqx1^$W@jqG78*&J0ol7fzj%-6ZJ}2$F-nV_T#I~^zar5_D*IC z(mJ=t#xa@??JyJS7}yt~_g>Vt4UWF#8=oRUda5Zs z29$`aXYsy5b?-|zzV~&HvrJjHTQ6rqQ+vfiIWu2D^U`~1z7?|&^5;gr&>7BbyI0Cv z7M1jKY$tjA3HpF`zhS3@G2-2C?=kWh!tVNs;R8}KH>#b7#RI_>taynWlo-441fpMqZ|KQmE6 zxw=jksZO3r4x?|YN!)CVJT%nhPYZKC5E=OHh9{~kgSzjzfyRK!QJ#b5hw)giOLcLm zxlhbW^Jx(a>J~ZL3 zd-TKFBLj_S1(SoVLe<$w*!CQ$G}Q9s^$(P%!Hoe03EeF%9mp9qxp_kXz}A~>3a!n` zPoQc$K6!Edn)n+YrurP4sl5Y5vkfKToU9T?(ZsFwR^_cn&b=mmlLsTdWRbRmrnNmU zs)wvhrm8NqXM!CLv?ZM2#Z}CB#LgZ9xVVoT$z}Gwpu2=5z=dKo?ED3uq~{PhI1@Ra zlG2aKDxiq+JPt*VaUO6=>!C*y9G7ci6wC|jAKb5#J2Ixq1!($8r{B+1ZFF^Y1)T9r zNxPUEzLM!~y1!-fY;U)YdrnsI9`1WZSLT3aA+~+-PFnM~M95ASr+hi(N=F3YIfWjU z&tLA#X{IzcQG!pfCmEUBk0x+e->u(X2Sq0(ai$#A4Bx;?=_osHpOgw+?CpKr?Vb}$ zE%Xgroc;s=zVAN2qNms1TdN0z@|@b=Poue>c6FsD8^aFNS0qXO7Cb4%N0oBi86)a= zd+dFp`FU;Uw;8!ZSY})-AcLZN-eH5DbvOJr|(K8VQrx_jSxt+^d z@2qoRfL$#k<-AAODlH3P2U{;a{pB52EmG`}6%5MN+K-Dp?_exRn8T)(J$_mi?ttuiwb*FX!7_Pt)z8 z_f%S8kgxssk$QY+zLNlFr@D50gK0Y3JsnrwMjRA9b)w0`QmTeMci)?po6x58D52WL zK8P;8r~l!{{BT~&eRLK*8W)pI+cbiwEtuuTOgXpVLz#!Y10!MH*~iivM)&}RtEOIH z$L6g)v$@lsO*0iPF~>)HNa!X;wU>buQ_kK9E*$u<4z7bf23atj66PEWJ}P1BdHeTv zp3ju{x1-{YYXc6@%_X^_gzJ3ys)=h`Ojvn%ZJjHx#O8y1=)0jWnNJ3!pNbx41~5O* zQ{E73RjS$Ht>a1b)T3_LFdYJ-vItCf5SBEgZWmLpBbQc3I-6UYC+mEA+GuB@XSm^| z4z6LNvgz)~U@d7Q_9zI~A=-;KR`_8FZ?J=p$A_sO;i;cIzgGl#Y*b-zo9 zt91l8Q``P_lio=r4H&QOZkQbRg?+*;p;bM}kHds3$>@@=B4mNE^1(4IJ{K#@%>~CV zgl(i9I@vU;r0H#a4hVd$dHeU~ub(xA?gp&S9j^=T76CrKG+AV@1!FQx5z>;sU$a{K zAjlcJSkCEssbpTnM!vE^_KV>mb77`TDo!M&`_92P@;#>jH@QJz7JKp6>J8+DiYMbU z#L_8Cip;euLRQaK=YxrN!e=T9%1YW6%%)-h#ai>QPUL%RlF%bAJ=J57vZzSy_*v&e zo4>`6grJfOE-!Pz#VWRT@Mi@VDWY`u{dkyqkPJh#snKrP_?dppg)r>IX*vo(&w(P!>5MJ#48?0_5e)qQ35P^rT~Ed2@%c3ZAdFf z6}tR9X`!XQta{v6C;AO6y7;(ZUwevm$4#SS%wF+;H;>0J#D{-aOpqEh?vgw@!+OlD z@BYW@t18luOBTLj{4iomp*l%ct;?n6eIUc3c2leMmk-K5u0 z2hTN_eu!8;b3T$nUu)ElSeTGivF=5cWUxg{cw7sD^gtzUA&dDs7M)p-sY4B>fn{;I zrmm^II&laKbFCnj*fqA_s)HZN@=8}%M6vSaqqXyb&EK~kpHt?26odis<*cs45-!tBVIIro*ns2Xk$KV9W$0fY&4!R6r#51qwZB4Hj{-zOm{rI3{ z3gc?6wihkzf8zAI&~&Tk=ZBC@%-|XG$sz8^%`kPjw!Qgg*K_RF76i+Nt?p--)9b&c zcU!+pb||}`Dy8%}Dq7;ekip)LR9j>-dde(Iu_}~B@<9pdLz;gp{*~)IRmUz0aA%ix9=XaE zy7DsB7MNKOjM0)_y89+QEvN4B%KT)nELVT(EaGb{hhw$WO<w^@K*=oO@Z9+!Mpb zB}gc>U>y?B71Bi(6=Y?yZxUaxSox7ibg+p1Qt z%vE#hKduP-FkE(BOB=*?V{~ZvYkBhyJCKyoV`NpaptdE#WmR)X>RLtcJCrp?u=I;d z!gi*8M{IArQ@e8H?7p+!W^G|x+k>m8cHl!|chf7_IW8N&OW+dRgY4of7u33FE>)qeX4B&V=}X+p9&RCKl54*k1q6h2lBsH9aU|G+$Zt;zQ=kRO^-1 zZ%;RfNNKeMy(7|>*t?iYg(H*2ONDiWn33XoH{7=Jm$jI7+$1ELNuQIqhn<)D2d`8R z+00x0qXfj1L5B zp2aq&e;8Qm%aLcYYTTzGuq4#afBwB?<>CDnJOx~b%7wK&@C^;`o*sP3VR*Kp%zkp(U+1M%gh$rRv>PLoZ>5zQrS+}339kGxAyLHT!nu5bS(L1q)yz&PHjf#ph*F`#5=$4 zsj)rn2D#jL(621<)>nq&@-)%)=-e}TLoBDKgL0vxahb*(k|G`x8Vx7cSL%od+T6N& zT#(-Uj(ME(!MboQb5_-JIfpkhs)*$a%1hA5b(v2^`-G6%-5Sx%5f;4T9P{ zl0)9V2c(5<<>Zu)8PNU5`$5xRv}v;!`A&gVmb2EQE&G6uFK$ZP+0T|$l)TDWOxG@0 zoJ~UB37zUw%V-zPj#F0*7<4~qzXPv34-k^FYCL+Ur){Nh)lyt4&tpI$?hp_d;^Seq zxb*Vwb5Yf;ve{z^qC;VFR!5>wUNHP^H6doI^=ZuMtYMGwT;cnN6Nt#Tr*I3Ts6shA ze}O|XI7ypc@#34^jS#P~_n8lU7{BAEZ7ZJo>ZC+m?d`}8yY(S zpA<}-n%gsO`#R{OSTP=Eo$6>VO{yy5?mSF)E#=_yYkjLkH{&^`*0_UCzGd9_KKA{} znUf_l-(Hd7_ntaHcI<9!uBFbd#JJc~TEB_t_gLH1R?a^#6dC%oNAu>(=#W9K4yrk{i4bBqaOf`s9dUx_xih)JQ~cUQY1U&J4|XP#k6W3q-Od zEv;npgwxe2ib?9C*=^SWJXbPHug2%znxmWdcJAC+yvP#pTa0`fOKti4XlStrld+)ghh@1yUubmTY9$Mj8{WM-DY^oD-PzN`O$4`!I3 zt5@&eJ)?9z_rU~`=9-s3s<=88Hg;XoQ_u;z=JY0cyl>!YhePLAcE!2lU1VviwwSJ} zkm;-1PcC{+ScJU&_(?72h`ZY`h{W#AF}bwXI~@>lgPyreFSK}>b=WzXS;9>8we#zZ zEnOt5m3$z1lqf^3nXx{RUM{)NpgHt6_Ao{$?A*%y`;PgMZX*2fPF(vlc)gPg1zyIMJLS-NaG5rw4Vt&gJeZ1U$7{_8{ zac($woQF4wA`AU3OLQT46G$$Ezfk>q`JW6>ur)IJZR211;_m+21j$?5mlDP=K>npP z$s&M=lQqMU2tHmIoVG8;O|d_sA$gnO{(KXRf|mt>;PwZ3O#eU;2$PqA0FPVaJ+K5nlGH&Azc%2sP~JFI5QRu`U`iW(8Hc&C8>T~r<}uSk*pCs7KGu_$lU-wIS-2*_jo?KwOz}?chZjahaD5MwH_8Kp)7Mf3Q9_Wx7V6+@o5e&n^>)d>P zPAb7Di4T#59(?{Uyk3iC4n%mFuXSkSL&{J%KH z{|vC7YW-Yr6sZ0UXMc*32u|L9C@-A4GX>wj%?a7Rbe`bhi}U)E`$Uu%ic+m{UL;kJ zlNZ4q_?y2#ZvqfSB)Z`-KaNw@*8}^jApT|;=r8S%P`>{jA_a)DoB~D}4OVbMQ3}3- zJO-?SQpSKOmjO&3t$D%+5bi`PD&~$ zoFY~ZEH5XA2CK+XfPGA)b2B(Blkdv2Jp``7<3Fgm*=l^psn7?Jf-yHe@FMgBc zuR+7&yzqbGz@K^c+Xdhc#{Ivs_xFtZk811x_#w$2v>`vsjqHD|L_goPej=%Jkexqn zYWTmZIsYjKDOWd~a#8%v)gh;hQ&fOa+9)S^IV>2WNV$kmCb#-z^b4zN*LS$ zqYtzZ{<~MlK^6G{!=JjdKc*-x-@)VWW|Q*ryIsY3Q1aG`(u^WlPptv~{Hyv}>K6W4 zi@}$!+kfzxAS^E{x)Xh!*#&dVLf&l%$(TxENE#zpnF1luhl}NH7@(uHVK2CT?Unh3!`mXE+gCoh zVVDhlL2HcXw$z`{+@WhzN;+RP^?K;NeJycTL+gkhT^!?rbc+~W5?_!RojXeH2!yl)qtwydtrFT;ZY>FQYBqax{c0x(`EGZZ z5Tcw-==I(?zTd|K0>rpHUmjbTyXd=At?9}H1cYa0f{vT54BP6Y(5zk3UfUL5dqmBA z6bS6ID9{XLn(spzRC+iTl3;Muytjm1d$1N zEJ^hAN#1w5FIdi6iN+lTIf@8N8AR|HY|=}P9c8)+be!7*eCaiVzJloSgR<6_SO}wD zLq4Ie`botAxY*suo3jMrvC5@X!uAY;r4I=iEsy+^5@B+h`Gnfps6nIB^g=0v=4lZ? z?->ED!Cfh{l@aPD00eD+4kUFgit&y}!{;jc$447BeUPKfj_dYT9}AXhr{i7i@iyql zHWN)5aOvO_mzX059lI%!+nQ^xCG&<5Q&(t8w}G^jv0|zZff~pc`G#j6Fj-box%bU) zhbet$FYVUX5z+(qt_LOxl-6;D$LLHKQnXxn zHV$k8ip@jNod|r`pd1yuywpBceg*2^rovCyYPHNcmD(2yEAjvv0GKUM^H&X;fS}@t zJnWrJwo zR;H@P6uvHwleHL}FPvYLs{4G%tkI);n}y$_TI1HEwAlFbnodFkirx06y%xL;iq6?J zWZue^x*Fw#MH;&mdfO}f$ZZJwZksuzw9?vyt$pwLjKF>p^0P>zdq>G=WTBvzl`My6 z`r*yznfnDn>nc?l$9u%NJSEH*Z@d^Y-8@c;Q3yc}((ekGit{Rmp?k;sU&u;wQgQ2- zD$aLoD>kytrS(SZvI?}cq_a$0^M1WV z9oM5$?p+Jt4R8s=VzbUTzS-0}LOo93E+;+Y&(GA(+*VnuUov4e;Rl7GSNjeJmFrhL zO-SISNq%8`QQslFxq2YLl@*=djB6FZpX(Y(@pRy%21@gNZ6HvRbbS4Fz2orX*A;`+ zl*rSY2!3X^@e>caTKMbpK=lfe@2#i{Qy_45?_cpM{-37$A%L|%{QH#;X zV%u7HOZC0btnvxc7}4Iv(!LCpAXbjxj~+q9Ipd(2%n7wSJx4Z{#^bY3`AwI02;1## zdWrGQ>v&1>?Vdj2uiRhBZSxdyc{>8NYI(T!gGG##V8EB5STAdd*&_xrA(S%bi1xp` zP(#f~bDHX$LBV)zEMw<4BDPQcSh-I^Ph$kf(hg8ZR~HI{Mc5Wc(=f2-_Pb;a?iv(H zuDdmO-k1AsDW;VcsearH(!TZ8H=fv%bvbKF;0Xi}E}?!x3VqfkgO)YTlD%I~jFDED z7qMY#M#cMXL%kK4h*@*DX9#sa{KAk86j53VO-M{^sLXVx-uzq+$+r%2yy3VG^D*I5 zqwSYSDvXeRb>=>Ss_b)Da<~M2tojN16yuf{cb+pW1$ZIQ^wvCcnB!Gm=EtdezznB^ zr*k<`ej%T%S0X2NN+3P6KI3qP&mQ{ge%5yypT-5mBwO0Z_|Lg^OW0py2*7_3LOVJ} z`h%FzskwOWm*NW2#}W~htrFpfB5llGN-7w(eakT7H+{=yQD~V(n$h;}P;I(8-8p%& z@uJLTU0Wx?0K^%*>Ms7o^|D^k#l_7l8CH&0JUyRRT$9Gog4(+rY=#95BBJqV(Z^zE zF!I+VKI1Rf#+tt7Is(^lGm|$=h^h#8wbj*Df>_^tK60{Z`c_HEQJQqO(~Fnb`-C($ z3rI`pHrBbFj}ugeE2-yS;u@m$QLdhr=;Az^vy~CAK3RzZbkqV&tCqTB!dk=B^iXQ~ zdFC`i_XaJc=*t%g5cBt8U1yfYtnO+lM2Gq!->>E%BdnYDI5I|6uSPw89V1zw_XTQr zy>cA~c*~D|Jx6%9rdfA^3Sd?!=hqj+%0X2PCNv33Nvi$?&| zj)e&b?yCbvwZwfk4Y+k3E90kQ+$EE*yOW*vv)9ebbohC~1rwS%o~#c&j#A@P0=1^W z^Id7q7Ke{~XFYOdF8Spf(?%zjXF^|4OFqHA!R<3O!5h7C@eeW-&>t3}CmN>;BSl6$ zop)BH4Z&2`?Nu^v!l6`g?kWA{k%kNOHxC;!zoczry&Iu(&nb#(^fO`O+znvY3v^kD z^DOpI>Vqh(WRz&(M^=^rLk~$N?<|d>>6>@lZ{UMp`7|xju_e~u({vr1L)RX&b@0O9iVo+?&K=+w^F^%fk zoD~K9{rS3pQQ4Bs4*t*q`LWg85ezS@Yae$nWDP_$S0h^Kw(F@oAGcpD+A?ESe-x%u z&J3l0mX*E|#rTRAjVVrYBM2GRh^Lg_awGYTf*6c9Yostoq@J-1T@djQY($)fl*iZ0 z)!Ed^X~aoNv;vMh)NCHA4r2qHU!igWDsWbohGzh~Hra8-fFdf0TcBuI+3ev;^&FZg z;zN$FL2MFleJf8|*E*Mh@_M|~o(zdmr+BQRMo#ogy7k0|byGzVZ2d5#iCLMAJ~!fW z45xXl@s6z+9T#)_^$gv~YYeKd0f@>&C`QQO+ZZlg&N)~HZ)8H)^;sFcgfN6obtOk_ z3ea5(ykGq8?W?PjSI!4W*!7*f$_kPejUK6ck^Cks=a8cG#MeIy0%r`kvEu;AiaCVHF%c3Rngufy{i6_IR z&K00is1~2_(skr&_)+{}CIbf=9z!u`|K6jHHboow;WG1lv27lVaW$3NhbjKXf(M_! z@hUf6q&?4`yG5;6B>KpPoaUB^CXs!)57q*s(3;wCe__wk0xb;9UbfeT=f7+?$V1z~Rd& zLB#SiBqzGX?dxrPNmLg^1%u2JB_;Rfbwykk;H#R|bhoqYVfk$J zKDeUI&P?e3q=S~Mq3D?6&W&)g!-{95B|+Vz@BA)K<+JVUac6IDj|~;# zVmz1Jp!he68SWv-(Ao__%|ZjFId=Qov_qU?67x6P{l9I#K)z00x2{2E#B3NXx*|xk z8RufsWs_W9lwgcMKQkd2o(d$x&T}(z-G`A_ir zscEtI(W_~$Mkp5V`?X`uM`p1xT!k;Mv+V_Bp-y^EQTsJgJJldWO?*c@vQpAr+|IsM zGt=<8YkPIW5OGK(W7m%G4Ul}qbe@Xk>vZ26#pth&?>;}Iw5Z#MmS7UnJ-kr{ic8Y= za$CzgK$buu|plV&>%wtNleCuipCW-1@|8R<2!9TF`By(OM%WFjJ%f zoaVi;{aLW|R9|(lSnrt;vtIKLME7h1&Sc|3;3EffO8@r!6LxnzvFTJrx7~%xw{+Ii zR12GXH$=ZXueXfKhq)|YR&}O(mD0`J`}smp^J8FMO6dNQBn$uJCJi&Y7jM7yoC&Ph z(jt*db+0{7BRoi5#{?^7lfyo95cRj-6P7` z#W)slT`N^FomXdzPJVav)@GOaa;!tvaCwE+vG&~k8}5^PfYyYMq>^WExDPr`vW?Sx zLb4G}{NAX%`Sp_1bGu)V-!=$(Zw^hCwdm7*vM5Fsd_@Ex@=tOZio1d#7vovtBZ7=s zMNHbw%tr2h8Tca0Bz3NbzKl~$II|p=-Uv9qHpRxDH+N^Z<1~4G{gXEaR)VRqktdD{ zE1!Oqj4d>x4`=TXTOjr8;+GQnbaXFgoXH{t7Elp1H_M)B3wm60Is7yQ_wtPW$3_Jmi-W(6y!008H@Lwnvz2QauAx-J zES!8~ZMvrrmFw z#ggaFEDA>=lsMz;Sb$}BjjK`yPS+($AMw95CT;sI%`UPc2Edi<(pvITEaV<~+@jy_ zm@*5Ks_7(ETua^+1(A?%%VB{2h!vwR&B5UfgNN0epB6Y2Y{Vq+}I zPfRmf$yKi6_Ee#wQX5d5$z}#w6(7xSC>5VAXj@X|>2!5^5YyTQqz{U2g+ob3NLAaY z){)u~({N2(aYgPbX13f2ohfz3+N1U!@oOjFr_w0x-QlZ%nydA2P}? z%wO8BIn|IDEGVw};w5Spi(O(4`7)Ka0A;uEPz4s;H-9>(UwS`+ftgp0bvC~I?guz6 zCua=RDqr<{ICb>x$4S;r<@*Lap)21ld&WEVZX+tK`j_%GoDb(wZ+6)WZhQ;Y))c9m zRq7tP%6sg>|L1VXc+2^7ksMZJEMpS~-COF+QHxTr&H0 zk8nTmO;KN94h1-B9oqYN?}CH>+C2tCRrS5}Lx|`T44Ut^2CNj$!;`vO0%aJ)1)#M@ zdgh1QyFZnV#0NeOFr2oSYv5?BIVtVnJ1EOK?m0|ucD$&6`r*7v{OSVM##X{J|5$fa z@{wa#PS$-fNepe=YS`tt85r^X)y@~;Zq{tvXJO4Cory#{q)uEqxWhcxO(Odi0_Ys2 z;eXE5$`MoUc|4*OZtuVI;nZ~LCPSw+;9l{L7QjBy$w&NFTlh`q)g=%>GAHYr=EqfA z9GlX^MCYq}Pn!ZJtLTwWW=vYJ;}*GUx4Tkb&j5)h9{tLH5AJe<=ZbiaMtuD5Yr8P@5`D2No=_k_RohmAEZsk$0{MKD{cnc|^b&f9NqJ^RY<-reaQdK-YVmWfj=zBLG2zh~9J@-WDGKRvQoGyOUN zLAIu%+AOeSQ_hwac@k>FrZ#bEVkIPYjW(>#csW~=QWEZ_Dy&@y*^mts+*ZucDZHU6 z92peV{`f1wXg^(Y`R+BO-S^?GKH~6%p>}9pRp~N4rFg&;EUK>uDQIb%oNdtztgv-Q z1h3_^U-`IvhtC>Hy~I+S%sEO|bb9BRb39>u%|YS((aOT}#yPA2-+Ko0qK8W?T#<-5L5~xR;;2kSRc%!)HU}Fg;x~-OB~u1nt7$nw_Oa}p-ZN?y zgw?t+el<`-`uw@mI!g>4<3?P)!C|Yrc+n7 z3=NnnjU>Mb@m~>sZTPYNskY$Bup0z&QJJVoi^X)!?As`n_sDg(3PM+V`X11a?j)0f z1ufsMwnqZroy|~(-S|eohN)ij;+hCMIePbGVSDAVu~T0s1WklC3EcM>*4;3}UF0w7 zx|iSVFRhU0mO?jZq6~Cpk~WMH&WEl&7`T&m>rsb?c9)dX`O2$Z){|<*dXaO=0+gQ_ z5A&wKR++CQCs>DM2|qe5Qjc=k_Eh0*vEo8RKWft_Eze?loG_v8IUJB(8Ka<&abeEmu@^+7g+rp5f zo6J+Q3rfl#z~sHEfbppJIY*XZYmA@%$HvYDZr4inSF)!{5B`ruU)xygv4&&B{{ohm BXjA|I literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_6.png b/examples/moving-saw-platformer/assets/GreenHero_Run_6.png new file mode 100644 index 0000000000000000000000000000000000000000..fa171f73163a89a46494ddac5b59a5107d997bd8 GIT binary patch literal 8996 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_8.png b/examples/moving-saw-platformer/assets/GreenHero_Run_8.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc56c8c30d753618049c17b08be503df46f2d2a GIT binary patch literal 8527 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 M=osU3wd}+H3wT*E;s5{u literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_9.png b/examples/moving-saw-platformer/assets/GreenHero_Run_9.png new file mode 100644 index 0000000000000000000000000000000000000000..34822aa3d1d249e0ccf41b3c89ece2abb60ffea4 GIT binary patch literal 8253 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 O{6_l6ab>zrVgCoJj?0+< literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/HorizontalEdgeIcon.png b/examples/moving-saw-platformer/assets/HorizontalEdgeIcon.png similarity index 100% rename from examples/rectangular-movement/assets/HorizontalEdgeIcon.png rename to examples/moving-saw-platformer/assets/HorizontalEdgeIcon.png diff --git a/examples/rectangular-movement/assets/HorizontalEdgeIcon2.png b/examples/moving-saw-platformer/assets/HorizontalEdgeIcon2.png similarity index 100% rename from examples/rectangular-movement/assets/HorizontalEdgeIcon2.png rename to examples/moving-saw-platformer/assets/HorizontalEdgeIcon2.png diff --git a/examples/moving-saw-platformer/assets/Idle.png b/examples/moving-saw-platformer/assets/Idle.png new file mode 100644 index 0000000000000000000000000000000000000000..b91ca8b9955e9b134e318ea70beb97b4fd664c6c GIT binary patch literal 4822 zcmV;{5-IJ8P)Px{kV!;ARCr$PT?>#E)tUbKb?@9eFf#-Oc?<&#=!y}8CMvM3Vj}3O3n;5BMiGTo zlZ}Hj<5|L)d6b*m@|7!@^}>SRy_q{0?K6_6?*6()fS zn@*J>RX{3C0u?r$DnqJ(RG0)RY&unjQ~{|l2~^m0stlKBv4_~ zsWPMrNQFtD!lqMYNEMI@lR$+{r^=8jAQdKo3Y*Rcjv-BV%@>)|8Z zG++u7h8G~nd2o;C(7X2t-u#DOe&DX}12N%=U;3n|J#P}yV@JYvY?uM$E(}C2D6i!AjXM+yJHzSTJE~;TtAw z0)cl4h)J(uz%UH@FAU3o;aKny;8{g%AiJARH6EC9v<0JMr?(Kdi`WueeD~d19GJPaO^9 zJeUIEiYFnH(1{(60>m+G*ro*=792V%U?hVSASeOi3m={cAZko>pXkQ#=G2E$rUbHQBp?)1hIlZNSO{&As`V@NV)Ov=<;Y6 z2t>f_@Pv{!1UJO8;dK&c2orfs@K7`6$+4;Tyrf`myNVL+7qD6xXT zu#qwxq?sl3S{|hxA(oI~H(>~ZgIJ;&qQD3|6ap6o;la%sc!F9JuhY>5-@K`V*Vs2LWa*n}>65oR9AA9^~A- z0;Gtd72x>3LwIG;gJqFTSq3FTPUIlnPALvD9-Qik*pM(PXJcLhgoIzCn31;Vbt+V2 znjw@rAp=e-%XS=e?%ac4ef42$IJPvQJ8E=I19M{gk)g5qTiJU^>Ewj^;t z#(ZIps9*9?1UVO=JX1IWN{`6cLk5BdET}-wl(r-4S&_P8hD6jBeNK$1w`(!0t_7#1 zM?Ajm*yhA2=pP~=rLrW^3-3724E&FDVDFBA&6?Y7&n zZr!?5Kxv#k4d;J-8AQE<-ds+)#qjVybJrv;pTq~8wt2M>zAvM-0X7YW&Rt0lD{4bZ z#+=lZWQepKq@r$Yx)kTuwZIh~I|fnj?Zk-_IP=Uiv48*mQ$`+jUNg@9*S|rKv5?E> z;Mbbid;bgQdhn%0Wt8Y(V?J}CXjnN5K~Hh;I-MX*ChHnHtxj&Nj>JQw&i11ehd8j1 zvD5g%^lNaMRnOVoC>VOci!QndTefT&aQsnorsAXDx(2Qlz%>ILe`OEaZvT0rGD>u? zrXO4_(tkFZQ|d!)oKz(5O2;A*!>$8C28L~j&7Kx91SW8O-8{@|`WVL?bRO+e(|Cst z9m0$mGx*qNlj$zr#$0h0TE22Qik^%7J14MX@w!B1l;~jOUBNbiU=V$!q(p+0$-z=^ zNbWDOgz{HmaA-N<-`Q*yZO^`nJ>PpC8`u8`GtWM|kIX6lSiO2RHf-1sTSagA+Eu8# zbQ+31d2GMT05w-vP|I(;I6Q7IG4fo)s(?eaA^_C{yy`G@*~VVP)IvlyB4 zCcrZS?3n!_1!Us=e0i7i^1a$BgHG%aRH)JniLgW`9HT)ar{}qROHB|K(jzlCytM;c@BS%r z9Y=-@iqlw&Y2RH6d*TSVy+!ze4`CU|Z##g_&;KSdIVCnw%hM|b9BKiHkr4snQPY(n zRhBaDI*N~`=A-t7Uo(pgq_Q>0b)CTLU;YJ-yx1NK3bhGMy>Ag}&u@a;o#W(V5Cjkg z;C3Fz-j&J4B8dSqZSyL@f{xkvJG5H{gTl5%Cm&U5R|;NvVUgO2t~7ESlXgHEfsRLC z!rmYL0e*L3z>&=w2b1nuh`RYLaJ%!&3#y4wIX#VO# zjJ#+n+>?0*f_I+)31Flx6y7|H&d)xTn4A(DXxf%lBG#Z2AUUrOASF=9>ynj47PhLp zbGAx>pt}`iw@K-{)XhTb=ji4(9NhRS^6f`JHsiF<%|Y!2li+q2AcPMQh>#r&NXmkL zFo!)iY)ni}i48Pdh6Ft>+YoL6RV>k<^sk$!X3)-fdYn@LF$Tn#Ig>ox-|R~1?;{mxmy_$L4Lx0SBUHd6EU2` zqT6|r+et}ffm~h%MAYkI^+k*@qwI+B;QFBx0;Ezk%p7uc$&LuX{z!)1UeV)W*A>aN z1tkN>1B*oF?6I+R5L&Xuj$;ZCnah&#Na=Ndd&1znSLI7!kj5faMJTZC@ImgdS(ldY z6@m849!^9~@AWd?#Zr`Co%rBlQ8S~FRneduU9t}pS`YIom9`^dLn3iW=yfqu$WSZB z^b^}~?1^mrm4N6Bf!$bJ0@*XrzTiVyZE8up7C8T*8V?8WT1&_uM{=sP8d4%ZW#P| z{`D?7M@yyOnHd}jhN?^3m1ulYVv1r6*Hng*4|!R9dsWB|b3_VOLq@)*H_Jf##UD0? z+;^qOTrfd)Dh{@p21L$9?zIEba|(^QjzJ;@J{p(k*Rsp56q`iB7zh~#LNSEW{WUi1 z#_XxdPs4zBuorulCDWso2ty{Uxl&|45f4akvVi<+2TDO;DENM05Lk4p0fQD%S=y$s zbyW5xvH(tr-j)3z7uy+28%-*!d&@3#{o|%YWR=JuP4_Pr>2qR?x@jOdmPhW@ z{h_)FqjMdlhhCR5_$v7rb%UinQGjSL2D?g9Yo;N=aIC(nO8u5VD*WjP-oE3>L}Zo7 zAmi^{AhMTChR6@$WmyW4tp}tp%C2t2c4!r*SrZz0c|SV4!yKFF)}Mh{5)y{KOEE{m zhcmSSM#>%(khTw-4Iv@KWqV0Acn5pfsMD&{d8bm`F@O!xpeP`i9Xc+F#3y}Lo$|;i zJwvG+8aFki0S4V{8a3vcA&!N%zxaM43pcSiga(@a;;mw+Towt2qV)XsE?K@!k#}Xv zR6Gf>pW7>e(lrys29=ry3oYL=87U#=o zx5w1V*rOjq%&ddlEBny-*2hObPHSm&P6ilJuckcM_FJ52&ohn z9tCYAI4wYja_0#Drc}CCRiPc>+J?&9lAWOQQ1nj>ax55h4h04QVvbD18kJEQUs=|q z+DXvuq5ab2Vvs~t77aG$u6d$v;ps3kw$#une?(w-hk7_p;UW=bg$We3v+*SXla|Ul zaCaTWq3`^W7gNLXbA&m<0XzZ!WFE(VvfZe^`YbVGK}#uj#z1HgG&4vIntZ0)zk!c0>A~I=KZ`x*|Eo~6 z6OqIqabrw=ayd6Zum0-i@U6p*|XR(>_TeZc%85tGSc>_&PV-_g8n`Kfzg1N z2K?g%bX+|QmG$%Mg;|$UKq?dlS$<~5M(dpNJW8YgC6}Ec%}*>7&iD}n0}`FBs$B#{ zAG?!eyBgl}IdGISgEFm9te1(URm z!s}gl`?lm&SJ?rX{_^cY@WTWQb@#2oIW3B)`A7|P>QPSNqr+9}C#~cH*^(Q6GT?Qb z@u$BN{>eg^2cz?FDqe5gwb-}shbz9e3DN7Ky$tD;vI9c08Nc=_VY&gFrjc+@6hIw> z!J!v|sV)u;<_O&=O&0ZMdD?vI&oxBQp-Hu~`Vp wbPx{=t)FDRCr$PTnm&{)p`ET>z+FgU_jmsubBZ2si{S!B4Ug{RIE!0LIevc0+zP1 zt*NPPLRQk&EL~|5q4kjvX;O=tsEG|kqm@zvDvDsK78{%yfq5|l0}R}m`#R_BuK(Zr z+{<0a9cVD6;947*YbH$Rto?(xO}%3)dt zbWN8J4{#$1c#$}Inor`umw$HNEx7Yy!qtDXKvaBYJVK)?VVWj%p|SAk+0Zl?AW-PF z0YlfJ)5A2N=^7G|IJ!P+!=9D@cwXFVQBSgZ<4t17CF5b(7PO=X-6P>^&`I!`&JR;P zGZ=~~bdIKJ^e;3WfMr4$K-b|8yuNTlQQvb>PHya9epU>xKgx$-2P?Yyxbd#F;liNgS%5Z2g7a9Sf zfq@_)OM#Q%B_Nh=!qg2|>N6h{$sodlZcj@A;tCIra3O3RJ<%R~_~Z^8dSX{m$)Knv zGwt=&LbG%r?lAx)P*WpNg3OSB5C{Z_#em3X35a}@Cnpxzf)+I zDVd@4KAGecASqCM)#QU=!qy28pCtqk*%SgrsyJqeATX55g2!MG2m}U!66fb6oN^s6 zfBNeMmq$S-FzMN)!kRb?BJN0i?*l>tWtR9xoD8@EL^EL$e{&h-~sc=%_DWDTdxW z10ET23d1Eq*f-U68OpIShfEeqS68~bq_TVfSZxtQ0)Wu>1ap;DiOYu7VYFR^uxaD1 zZ9DMjLyut3zIV?`HIKP+8fHJd97dImNRI@?F$GS3)Q$to|0(bC$@_qlo>?l)ah2qU z_L+y5o)wwmbgCq6&?Os!HiXm`vBuU+_NqqNRah}$9>&?jGp_HtF4nDEhfSL{oi*;T zPmRMB8&|*>UCwreV-ri@-C2+1T|Rjquy)rPA(D=a*7`a8%&nih>dV8D>MCtdh(W}z z6%($-%wcsLZ}>*tcc&wf2&PY;j<&Y8vqm0r(O6vi=yIUSMl>1)sjb$h_Mr89JM$`| zybd<%FXoD2i#`RfCplo1ihLtV8p?#C%3CS>;DZo0BwN^^YZe=FQepQ^`vS(9RqR;> zU1@*7nKNhNz4zYhbNr!~RO8|eOW@cVlA4RI|7=3Tn*63z@(Re57nciTL>YubzHa{q zClyoacFJA(pvY8-H0%^0N*f{rLK8v*7MER)`8BgR_V8~`W_^KV}))x(*!2;i8r>G&FoJ ze}+9TfK1%HScIkzhe)_tg(Q-s(gZYJ=SZF(s)9(tVkTSCjSl=dbc8F*ak`-$d++}# zA_v>Ej_03XjjBZL4;I55Q-NeG0SY8N&x2lJq5i5L=0#4@p~=HB_2rd9D>r%d4|q^k zHtvEu8+xcey;slIvx6HG?ZxmI}?iOvWPJoFMeUi~oZ9qP7;Dc|`$RQ&ElB+o?Q zcpil3!E-$rRbg~J^FEGkd@C=q%F7_NyH<;=?4X%ALgu)rWki8O-j;9RWuA+Avs5+E zH~Ojf>GmHZWI{7_w7jqnhaTUFWM_Auz-S=@lm7bi7&^ZW$ulvyo@9m~)kzE)W}|0s z3)=2|IWMxx`5>e2yIKrea#42sLH$!P7b59`dU(jFr&vM^QHe(%6j^td0Qe0J{EqWr z^0w%;S!tuE=>(2Eu?xqy9moJhFS9W5n+q^>UM&)*V{9`d80sMaqtb$NB8J0@p3b?f z@}jb;zrRS>pT1yF_QUH=NVR54`;no#sMw_Yy;k&<0wd6+7*uV3fJsVHw+z74aBBA< zbUe2ov4&1qqbo6b?JSgEIsr~3o(YC07!+OvWfn8G;p+TU5p$0Eq^Fk(t9nS*bP2^D zZdZ)j3|ZAMI}}TNru43x_?=hj9;|d-KDgR^%cX@)_TZfEI7n5I2j#>PvP~$ZrlhJu z(t~Cj(83l!H(a?X=d#KRL#Dp6QfRi>Z@OLT7J$4f_e4|yLG6l)C8WNBZ1Ia(QYWe2 zL=GjHP=4OZfA)10H9BxjjKBz)5>upwD^MJ{wfkQ6bwqp%?^&UK2wkV!0iL=W?iSMutf?{-zm19v1l(Bg!N*l>yQ$0}XR? zA0VFNot(>E0~0phD8iSH=SH{z4*?_^PeLS|vu%gZkPNk@R2YMzZsC*M2??7pQTBrw zLhPsvK_6;o*gbLrqOUch^&7wXBqI%4a5=sB#HSXE(9|p`6S5z17xCX5SDg;zUHLX6 zU`K*BMMd$-ic7ZmED7AvKsP6~RxgH7CYoZG(G{u23ty6Y*hJ6U&1n6z+y;m_1!T%E zR|pEMDC+I^Ff@24V~8I-&g@9JxW3Q>3<-K$(hF0bR)$SEhlCI_gzN^XEg7AYs?y4> zv%Erb#hvzU9A5HlPGy$Ui`VQ}rEF>cfRI;}Y(0ZSY`hs z{JnI12h5)N3?Wb)sj7_OWqrHoih+$e&iv*SklJ70Ew~^xfK+JZ#edU@Wb0}0W*wC# zNr4gsB&f=W9T}=iZeL3o_>4P~-(?&DF!(xQ6I4JO=peOKpW^^Aw}50zD$?k#K=eP3 zN)L;{kb+JD!yxp<4&@rtsVT23Ab8pPlW_#!D$keyHrdq0VA#JkdcYJ9xx)2VSNpTUwq6tCQ1*_tYCOX}$F zF6kUkplPMt(pLBOTH$r~UqmAo_3Su;wy(aDGr8sL!gPbRZ>|yCP~Fc#DV6BnHniTm zO&j;!8+aF$7frD1nKIg(HVFiZei|hO6gdLv9$`N|k->Z)s){}%b){^Kmvqs5_ltab z&1-iEm`1;89*)@ewxjvp+|}4~3P{~sYlJsImkFtW)6XA3$KUPJ#y@g{@Om7Oo~9H$ zmwQQQecF&-=@ezuGmLv6KFKsEDt2)_cnO!I@uuH@o=>UXc%!gqj+gOJABRTU8Fm~- z`(M49Gr8sL!pxA@?^b(2`sw2h=;R5H-6RMEib)6rVvi3D3p$vR&tQkLJAHu?R9(KU zq2Mp!N|IPQdsgIBw10iOR9o-dBX|>09|xUVKkNHBm03ev8pS*?D8>uUb>?wMt0utE`a!F}5bFH22N?L{W>1p{!o-V9n6`3NDc`9^Hh--?1Bo?nfMmmV%GTQ@ zAU=~A3@R4M4iLXyK`M(P`;G@+A8_s${Lw5?K6?_|Ay!f394KH?HG5TeA?G5tw-qh- zoNVdsPWzh$OSi}*&>ih^6kN7$X56$bc7mFtS^oxR6CIRqmPcUJrl9-mk z!C}*i!vDlZ(J-WD`&}}KC?5&wsQ0Jea()$gh(jk%Nba|w5sYAeyLTX>~I`ScV`#gcxe6I?4+lc2;+h> z>AuPi2({5PGlC~CF8WRrTK_b+#izl5QZ#_ny}6bHL%*z=0fMURaU2r15Z%*^wy$K5 zmM8xB3-YHs$W0E$CcW;O8M40>Er0mSg3F`e6QETy^8Twt)#4fHW(YqOo9YTluPwdI zM8n*{HLZ=`xKM;I83#~2(?>zM|wHmG&BtyP) zy(qh4V%8=LE(09t!V#5Z9E`5d)j36>vS_=TPSv_>+ubO&K*Bp3!I7oecQsZ2=oVqu zjT}^8v8*flKq6rLny8?B+XW2fI()nc;Vh4|-IZNCy*lpNBTN2%W6fNrt z=l&K2Lk7EDI=C_^TYPHEejMM}|Ia8*{@F5Njx5jK=pDGQF~r8{S3g4gS7kar-$y|P z4c_GFuYFbwz45~A-Hp8@Ln_AYjN;G$`!=S&dWWFQa(}<8(x*N7lXE;MP>k(wN6R4cW#@S5tfv8)Zk3-sk4#GdupozmBdwAg$h{lh7)MIU6x>bAJg`&lffqC#Z*kgbrk>bQ#64; zrJpi4#*{-d42Yft1eJ}c$)Y=n=6kYd gld~@OPjJHj07xZ-zY>T*GC0znaNQ0C#W59@^G?LOtqtZ1>YJ`Zy0FjpN z=IitM8@|sycklc0bwAwQa~G?ttwKV?Km-5)NYqqe`v27apBoVZ|HaN;1&e=zuI)`+Rw5HXo5?;nyw$ZqLTZ4@8$}gkeV7DIlT=XknWZLXeI0U zp?l8p(*0SEZAp-3MQe?DaCv!duG`-I(lOS%k0>mf$M&J!IGDNRFSLkYAyIsCH|N*6NX-pbSH|-j?$mp&h00@bdtE%?04TGtnOhJE@cu@ zM`^P!f348R=+FTz9mfS}TPo|iwGzNJ-Q(Z~__q*A1_h=4iTo|;lNg)~pgyyu% z7HdY#E1*nF7b=Vp*azpdFzE>wVrqIslEa+izgD;(Jp?S6)x1q(jFNgw2pd}WP-GgP zc~-0Pz5p#hWS#K;PxNW;3nVk!7PA14x;rv(QChIwZh}qm;1c;i4vHhb;*2~ zDw_2{ezrfgx9{Ys^bBGm7KbSbqj+(8k|s3<&8ciYA|7>5vHyC;)KqH$N~=xw6|%Qr zOk3xuGQXG(xMw0VPYI^{AW=h=tcEUn?T8OVcNfHgo%PFzJfgvR6!9hys!@CS3}YFu z(tDi;qHsYV3_?dLIHMd5V7Fl+HpMCojlTT5v!8-xalm%{N=Qet6LX_?$AKexm~txr0ST1S!xD!PKRWWW3#Y)KqM$t!v6BSxFqI_s zEya9?kF}|*{?ESB_FE$bn{je{*ekW>kvKHUt+v~!?7jRTEA`hxvtFK{Ooriu0V$ee z5L^&95}KCK_(4h8>*CpxLxaXFO>Wy-plzb6yooTSJ1L}Q`55rv zebW(u0JfkT25BA^P1Aro^l5JtH_pJrSe`6r+3anqo#zWoqb;B;J^7GX6^l0M%6FN@ zrT}{1zcPHOEP)FF)7X z^Bn#&7(Q!9DZHB|#W}w(`)B$3?xJ{Po%Gg~zQJ*EgN-v>$7?oXN9a;3<4_&znx={ zy;v)5;IHH$`yLRx!ERU_G=2Sk!uxR6_O-WXd7^C4*>aXkb@y1#GYr6CsDjvY@mn>N z|HI4idX&>)5b>T!bFg}c&F#-@0x$`a&Xts-q5{FUPOyfTYU1-0#5g@|VitT@Wpq8x zf;y9*>Z!Q6&E7)u=JvL<-CE1v^_Ts-NR;|1o9k<-KY@Nf&o$ig-it`?R{2JtjdCNs zI9ujp7mU)13Fpa7m8lNpWua{fHCXAj;S5O4Z>a7oH~k2`fzPH5wRQuEA;x(=$1*?M zoAAr4-G1pUuQFcO?lWRie<*WVem*PU;*j$eg!PXR6VkuOu`M?K$)>r@Qb$>^(e^NX zkD(;i_XEvuF{2N-VX9Vz=z2lTJUM0%Dbr@VT>FmH8*Eh``d4RGq>pr@k2&bA^({=z z)o`+}{+R>;4s=qdl~OS`=mn4w4(cS9vE$Te4I9>d=uSQJM={O4;5F( zj>>Yl|L}ed7LnK-$0;t;vc2YM=yL&et=NcYimzZN{OBVJ zrK8upT_3~O^zEiZAysj9_hR#P$F27UqS=4H&|4~E&#Sw}F*BU=nGt_lJeWaq<8)_Z z^M(}9Qo*S5`&MOM5s|Are4}*Y+3xkh9kV&g zjh-nq{<AzBUdnr7G zvU$kcUjcpeU4s)ed?}4Od;ie6^TY3lmbYRa+Nm+1 z6_WfqY9q>)NGwDT$Iihc1te&(FSrg-vCpme3#VM(rTWSbqp~LLBDbknAvCNG0yCgK zO4iiHz9g2z;j}8I_n%g~Vlu<3Kb@{wN?v@LNp_M7?myx*&Ov%I(sYf@;fUf#Dg?35 zS|J%6EefQgj62}?%Wngm1<9qiEUh+=6!a1VF`H6JD7MvCb%w5cYCJ~d_H)vn ztL1*4HXUId+lvp@G z5da=Lc|*%^%ZgEa+-m0OXnE*cRfzleYF~s#F@1~M~+ zb>ImPm3O4)!pXL`u62$JlL10hd@Mg|ZSY50h$J@6Hm+U)H%dkkNfGX}pgC_Gaq_J! zO!FqGm_xmttVSa}>G{qX3t`qU0{}u~&L4HU*X_-8OwcP|JH!_)^IO2c?P-T`c*W8K zu<3o%QSzj>ahIgP9xae+MLqeBh8o2uvh>igD^s{yx5b5d59LdQ_$;^hn>w~0&1>Ev z<56sb%2>@kH@D(rd&o<{q{DC!r)QKhsrd*l(JsAy?s`%|C~dun{Mj06ZkSDdx@zz( z;8aCU#wX!*K*K1rT(ZF4ro$>0i`>VeC(XGgZi-;iAVRO-L!P!^9eLzt z$Kxs`u*qnt=fTy=S6?J>Fy;wu40(lLE=JaeWUS6@>{J10BSLtjI%em!uoBJ=s#%>N zb6@q-z$nF-wV{d!Et0av5d%SfPn`G^RsQrPQIEb-s#5F^-guncW-m%m5dG%QgQgsM z?gcjEvcRZ&<$`!t*;-tymAadO{wUe#u7frhj$OPaRLnt$Qik`fj50 z^5?HLLu6xL_~B2IxE=+MP*Wvd*&7o@$$g1s{c1nAhVdscE8t|4M8EISedS=NQb3t` zjt&Z3fH?;dn>}qa5pVt1QwCNhLNQbh;ZM2>Tr7f${FsLWfRtZ}42A@}YksJ;i~ z9}tk7RnUm}2xFf-0fr|r0j*GO*N=UU`C^>gU%3<#!OWL4rZ4(l2(To0psw3Dn10q@9%tP$awjU_CW)8GUw~mMW8d;P*cWEd+jvRrEN<^8!qd0E+xl0YtU3U z!yLZOm^a(@U z=T(&OdMaD<@ioZm$juaw*tCFClQaQacnq5!^DP*9FXE6A;A>pQRZtq*8!f60n! zo_ejwJ{o##Y&HU0kF=9)R8G80x<6Nn;P-v)X9hVvis8s}e@ET|O!4fR7F$nnj&-@KN6GoaV_?iOD7tD2X`K^`~nc5{EI=?GiT zSapAuwa=dKR!|ZixG!jTQZ*hFpt?_$`CPjUY79UzeFq6o2jx6u7IG^LIBmE?ejyX4 zIrJX*u59`o1pi!Zob7SK8e;h$Z{#7WV@`J$4++;O7ttz)=tv4%Tv-y9-%%h?-NB>} zZbmgyO{ert)4k%uN-uI1SJ)jwf22Ni>e!+(bH@ZzgO)U9XG1PAbQEZnyx=Csw*qsq zTiTovhIy!MBO9(ygW^nz$D_?oq!s2(G=tI|bZUn=vV9x@7SVJ{JA#$|fVB(s2c4^k z9xY)hoe|j}Y2#iSr>Ia(X074S-}5g|c4?6X!}rj=oNe+zr5PJ=EXS?3K-LVcJ5jM? z7z9AcYR>;sOr;@i_?Dn$*pB;i$&{m6vKYX7kgSGE*%vGfC)!TXjV_V1bYQp}$d*zn ze#E{F42)hu5)!^|Osp*`8k0onwMSD{;;;~Y7Gz{_#2R3pF87vL;5m<2T0_2Lrt1a= zH@54>Z(AcJ&)jQhre7(^O3ga0Mh9?&jG4gtjnGm#3g=(BnL?MV#D3-+3{FQpraOaV z1Hok??5vR=cz=i%E~*7?kZ(?V?wM{*>vg?d_A!H4(o2@=m$f)PKCy?XZ>>s}urq4o zNAP9aFcE1bv?8{!1D+RuF|=3~IDcQgyS%H%icT7F+=gK*q50wj(}q!-F@@B`aJjhI z{)N_JJ6We~30=LTG~P(=_r+zk$N2FpTtu%QQNDHY(-Sy=%9qV3;tfU(bO??-Qnc4A z$%297oLK@WK(B3S%sO63?tW|x;0m^r7qOiL6($KQZ=Hp6>7@QUZI;4X#GF~1&0v3{ zJ%|2E#NBA;Zkwt;iC#S{No|)Z>wM(ZeyP-n|D#8(~~b zWcWbkr@y@s1>I7)(5d>o^#9Q7;|vjMLnvP;X_Uol9qrDo+N9EP8Px|Lx>tR|Eo~!#n2^aJGIb;06zd%4Fd!d}l zloOMM54-fBs@AiEatc>R{;N*&~n@K&^}r2 zn(V=sxk|(!3yifzWTd`tOxv*jRi28Q)NCfB>VS5$pI~{4c-D41LDgYJi6gmZR>ARi z!XA?b0xugT4#{*BrYq0uHTT@(r=ZE{}YxiAtn#m0PE;>XMkM&qI)b{9hg)#j+CNkM6MZ@OGEjw-Y9%fAq)m|h#cTBzhZ zx-oK8q#>gjDNlX>eL#knU@>T-3l9_;x8eC%`Pg{>+seO97T*GC0znaNQ0C#W59@^G?LOtqtZ1>YJ`Zy0FjpN z=IitM8@|sycklc0bwAwQa~G?ttwKV?Km-5)NYqqe`v27apBoVZ|HaN;1&e=zuI)`+Rw5HXo5?;nyw$ZqLTZ4@8$}gkeV7DIlT=XknWZLXeI0U zp?l8p(*0SEZAp-3MQe?DaCv!duG`-I(lOS%k0>mf$M&J!IGDNRFSLkYAyIsCH|N*6NX-pbSH|-j?$mp&h00@bdtE%?04TGtnOhJE@cu@ zM`^P!f348R=+FTz9mfS}TPo|iwGzNJ-Q(Z~__q*A1_h=4iTo|;lNg)~pgyyu% z7HdY#E1*nF7b=Vp*azpdFzE>wVrqIslEa+izgD;(Jp?S6)x1q(jFNgw2pd}WP-GgP zc~-0Pz5p#hWS#K;PxNW;3nVk!7PA14x;rv(QChIwZh}qm;1c;i4vHhb;*2~ zDw_2{ezrfgx9{Ys^bBGm7KbSbqj+(8k|s3<&8ciYA|7>5vHyC;)KqH$N~=xw6|%Qr zOk3xuGQXG(xMw0VPYI^{AW=h=tcEUn?T8OVcNfHgo%PFzJfgvR6!9hys!@CS3}YFu z(tDi;qHsYV3_?dLIHMd5V7Fl+HpMCojlTT5v!8-xalm%{N=Qet6LX_?$AKexm~txr0ST1S!xD!PKRWWW3#Y)KqM$t!v6BSxFqI_s zEya9?kF}|*{?ESB_FE$bn{je{*ekW>kvKHUt+v~!?7jRTEA`hxvtFK{Ooriu0V$ee z5L^&95}KCK_(4h8>*CpxLxaXFO>Wy-plzb6yooTSJ1L}Q`55rv zebW(u0JfkT25BA^P1Aro^l5JtH_pJrSe`6r+3anqo#zWoqb;B;J^7GX6^l0M%6FN@ zrT}{1zcPHOEP)FF)7X z^Bn#&7(Q!9DZHB|#W}w(`)B$3?xJ{Po%Gg~zQJ*EgN-v>$7?oXN9a;3<4_&znx={ zy;v)5;IHH$`yLRx!ERU_G=2Sk!uxR6_O-WXd7^C4*>aXkb@y1#GYr6CsDjvY@mn>N z|HI4idX&>)5b>T!bFg}c&F#-@0x$`a&Xts-q5{FUPOyfTYU1-0#5g@|VitT@Wpq8x zf;y9*>Z!Q6&E7)u=JvL<-CE1v^_Ts-NR;|1o9k<-KY@Nf&o$ig-it`?R{2JtjdCNs zI9ujp7mU)13Fpa7m8lNpWua{fHCXAj;S5O4Z>a7oH~k2`fzPH5wRQuEA;x(=$1*?M zoAAr4-G1pUuQFcO?lWRie<*WVem*PU;*j$eg!PXR6VkuOu`M?K$)>r@Qb$>^(e^NX zkD(;i_XEvuF{2N-VX9Vz=z2lTJUM0%Dbr@VT>FmH8*Eh``d4RGq>pr@k2&bA^({=z z)o`+}{+R>;4s=qdl~OS`=mn4w4(cS9vE$Te4I9>d=uSQJM={O4;5F( zj>>Yl|L}ed7LnK-$0;t;vc2YM=yL&et=NcYimzZN{OBVJ zrK8upT_3~O^zEiZAysj9_hR#P$F27UqS=4H&|4~E&#Sw}F*BU=nGt_lJeWaq<8)_Z z^M(}9Qo*S5`&MOM5s|Are4}*Y+3xkh9kV&g zjh-nq{<AzBUdnr7G zvU$kcUjcpeU4s)ed?}4Od;ie6^TY3lmbYRa+Nm+1 z6_WfqY9q>)NGwDT$Iihc1te&(FSrg-vCpme3#VM(rTWSbqp~LLBDbknAvCNG0yCgK zO4iiHz9g2z;j}8I_n%g~Vlu<3Kb@{wN?v@LNp_M7?myx*&Ov%I(sYf@;fUf#Dg?35 zS|J%6EefQgj62}?%Wngm1<9qiEUh+=6!a1VF`H6JD7MvCb%w5cYCJ~d_H)vn ztL1*4HXUId+lvp@G z5da=Lc|*%^%ZgEa+-m0OXnE*cRfzleYF~s#F@1~M~+ zb>ImPm3O4)!pXL`u62$JlL10hd@Mg|ZSY50h$J@6Hm+U)H%dkkNfGX}pgC_Gaq_J! zO!FqGm_xmttVSa}>G{qX3t`qU0{}u~&L4HU*X_-8OwcP|JH!_)^IO2c?P-T`c*W8K zu<3o%QSzj>ahIgP9xae+MLqeBh8o2uvh>igD^s{yx5b5d59LdQ_$;^hn>w~0&1>Ev z<56sb%2>@kH@D(rd&o<{q{DC!r)QKhsrd*l(JsAy?s`%|C~dun{Mj06ZkSDdx@zz( z;8aCU#wX!*K*K1rT(ZF4ro$>0i`>VeC(XGgZi-;iAVRO-L!P!^9eLzt z$Kxs`u*qnt=fTy=S6?J>Fy;wu40(lLE=JaeWUS6@>{J10BSLtjI%em!uoBJ=s#%>N zb6@q-z$nF-wV{d!Et0av5d%SfPn`G^RsQrPQIEb-s#5F^-guncW-m%m5dG%QgQgsM z?gcjEvcRZ&<$`!t*;-tymAadO{wUe#u7frhj$OPaRLnt$Qik`fj50 z^5?HLLu6xL_~B2IxE=+MP*Wvd*&7o@$$g1s{c1nAhVdscE8t|4M8EISedS=NQb3t` zjt&Z3fH?;dn>}qa5pVt1QwCNhLNQbh;ZM2>Tr7f${FsLWfRtZ}42A@}YksJ;i~ z9}tk7RnUm}2xFf-0fr|r0j*GO*N=UU`C^>gU%3<#!OWL4rZ4(l2(To0psw3Dn10q@9%tP$awjU_CW)8GUw~mMW8d;P*cWEd+jvRrEN<^8!qd0E+xl0YtU3U z!yLZOm^a(@U z=T(&OdMaD<@ioZm$juaw*tCFClQaQacnq5!^DP*9FXE6A;A>pQRZtq*8!f60n! zo_ejwJ{o##Y&HU0kF=9)R8G80x<6Nn;P-v)X9hVvis8s}e@ET|O!4fR7F$nnj&-@KN6GoaV_?iOD7tD2X`K^`~nc5{EI=?GiT zSapAuwa=dKR!|ZixG!jTQZ*hFpt?_$`CPjUY79UzeFq6o2jx6u7IG^LIBmE?ejyX4 zIrJX*u59`o1pi!Zob7SK8e;h$Z{#7WV@`J$4++;O7ttz)=tv4%Tv-y9-%%h?-NB>} zZbmgyO{ert)4k%uN-uI1SJ)jwf22Ni>e!+(bH@ZzgO)U9XG1PAbQEZnyx=Csw*qsq zTiTovhIy!MBO9(ygW^nz$D_?oq!s2(G=tI|bZUn=vV9x@7SVJ{JA#$|fVB(s2c4^k z9xY)hoe|j}Y2#iSr>Ia(X074S-}5g|c4?6X!}rj=oNe+zr5PJ=EXS?3K-LVcJ5jM? z7z9AcYR>;sOr;@i_?Dn$*pB;i$&{m6vKYX7kgSGE*%vGfC)!TXjV_V1bYQp}$d*zn ze#E{F42)hu5)!^|Osp*`8k0onwMSD{;;;~Y7Gz{_#2R3pF87vL;5m<2T0_2Lrt1a= zH@54>Z(AcJ&)jQhre7(^O3ga0Mh9?&jG4gtjnGm#3g=(BnL?MV#D3-+3{FQpraOaV z1Hok??5vR=cz=i%E~*7?kZ(?V?wM{*>vg?d_A!H4(o2@=m$f)PKCy?XZ>>s}urq4o zNAP9aFcE1bv?8{!1D+RuF|=3~IDcQgyS%H%icT7F+=gK*q50wj(}q!-F@@B`aJjhI z{)N_JJ6We~30=LTG~P(=_r+zk$N2FpTtu%QQNDHY(-Sy=%9qV3;tfU(bO??-Qnc4A z$%297oLK@WK(B3S%sO63?tW|x;0m^r7qOiL6($KQZ=Hp6>7@QUZI;4X#GF~1&0v3{ zJ%|2E#NBA;Zkwt;iC#S{No|)Z>wM(ZeyP-n|D#8(~~b zWcWbkr@y@s1>I7)(5d>o^#9Q7;|vjMLnvP;X_Uol9qrDo+N9EP8Px|Lx>tR|Eo~!#n2^aJGIb;06zd%4Fd!d}l zloOMM54-fBs@AiEatc>R{;N*&~n@K&^}r2 zn(V=sxk|(!3yifzWTd`tOxv*jRi28Q)NCfB>VS5$pI~{4c-D41LDgYJi6gmZR>ARi z!XA?b0xugT4#{*BrYq0uHTT@(r=ZE{}YxiAtn#m0PE;>XMkM&qI)b{9hg)#j+CNkM6MZ@OGEjw-Y9%fAq)m|h#cTBzhZ zx-oK8q#>gjDNlX>eL#knU@>T-3l9_;x8eC%`Pg{>+seO97Px{!AV3xRCr$PTnm&{)p`ET>po_NVNe(x9s|sbh@`d_BNahv6obWDB?t*vFk-;a zHa4|2&8jskNt-TNi7P_uBO$Vy8Z?bDu>mF8SYkmz5nWR)R-73g^I`@DnBmUc*Ewf* z{r}$Q%(=tN+`;zVxn$kL8t!B6oW1w|?eBl@tD$%mlmxVbnoV&sC<0Poo1h3t5s(6t zK!HuC$dDo+1tx(4n@*7-ML-Hn0tGgmB14LR6qp1GY&u1T6agtP2^83LiVP_NQeYA& zu;~;TQUs*HBv4?}DKex8NP$V9z@}4VND+_%lR$w@r^t{ZApbWBO#AMwB2rb3P%O`@;)6h8R!^B3HPyC5b!?XlZL$z_$W%A+s@2_DetQ2>Uf zgCU_uO=o}%U59QO&YQkn1waW0HjT=QmAp~3q2vdh^0mthPW8cax1-bTun^f(KYlJnS6r#^owgJ9M zk^(2eOF%5$gsB^_)O#K%l0k$8El=|SafAz7I1phSeephg@YF6Gd2&xd$)KPnGjs2~ z0*(uideY<`H_2H0>WKs`0U;0w5Q_nkj}j31Lq=Y41Vl7fxFA5%!a>@#VQVg&sDZ{E zZ{z(33di^t3?MW2eo=^&O_C!81%m}jsz?Ijvw{S!n+P!=7D9u8LY!h-BN+k+2Edy*776mbhy1nZKk`6T5$_xX6pnxE7l>K04FaRb45z;J# zz1PeVQvpXTA;YfoJ((f!7-BO+2#}PUMoQSQqZ%5X+l&AC`b(oOk5QjM?Q3fVXeZn9 zLGnVy70Qb;85B=7d0?0b>ja3$5(0>93W1_rU}A|NFqF!I%U}=)1O|bU(un-d@D* zqz?+Ku2LO`HvKzVez0#;WHTy*R&D&WD4Aakk+7u`x@h}kQzLp%{jZ!#`HA(rSa zdQP0ifhA9lifl$@(3)32FNDi36{k4JcyOvC!-gnzr2;?N{cI<6#Smr+0TTd3F@z#} z2QITC6tZySy+-`oLtAjN{%A&Kvu^n{nE%jn*t$S0-s^+nl<3&=I}eYFZ1O(nguh%M z%5R$mH)%uD)$lS@fUe6>&dW#nK_G#mjJ5{=t1V(k01#4X1apN|hEI;ILuI%E5i^Xv zJ9go*habiMciuiH)jaXqOEGWbDi{@E#QG#CwkdG>qYfNg^)GpsPu>Ttes+a0tI9Y4 z9PE;wm2`c*R7t-#jny_ZFS2ZDAfz^|5L{)fP#_b))!G;YRuw~1ZbA}yz zc@?hNyc$Mj3ELHNi_@0C+jAeyyL|FKVC|lDLZoeJ%!jzV%`&Vi2)w z_2e5cXKWqE8=g`3RADR@!_1j8(ca#E&d6hCU4p9~TLn~v5s$|~YOC$({b>8{?!3w< zuY*na>+8hWrI*9)OAlM6BHxINxtB8Gyp^&K9taUbvV{%0X0ahB6?XrnpFx#b!Jbvn zmG%alGiMIoefQl#$1lHf3a;3+9ClbkT656-U(IM-m*131UICf@!YW~06os%Ub{_iT zq@tg0r`(lFCaP44H0%^0N*f{rLK8v*mPN0|qMErJdw7eJSzn;DvlFvt&qh~QSLWc# zhS8hjZ@LUM-?{}UJB4IVA3nG_zlE*50#dhcy~xH6CK zx}>xOO|RDD;J0_;*&jZG`SY*M5c-)jXRv0?8f@RbJ!=hl`ZpG%V#zF|QYjpq|3qG8 zl()gEHZB$=3#%dGc2(w7-4`;Yb9_m*0T} z^A{i*jiRBU0o%51LsL`Jkjx1F;^I55z?83k3h8tj2j~5U0y6yqwDR%SpgqbT^c%S{^@o^ue=1d;~@5a8(O}& zJ#QN~Zv)l7zD|f_c6Ly}NDQF{1ur=m%xTFKe7}*Gs!T^X9KorBE!chUR;0V*9~+d3 zYp=${4fBwS^}*4A)bX=8`niA2o1F48&?OJuD9V=9!i^8_U9l7$N(732K)i~f>MZf= z=c+;|^H!8D(GeL_f)j5x;jORy7|9c7&l{AotEOParrY2+Hf-DGqLwf;G=3_7hCMHU zOx?Ongl3L|NI6-BB+{hP1TGD5c_o z!N%Q7sYshL5SU;xl0IvdM3Cx=;o!qBq4SjwvaV1Mo0$H{AENa4rXqbd4%>AhTo z$b@F0l(p|lS0;7ctRDbi+C|^{E^w|U)S29D8>LiAY4WsWsE86ednHO2* ze2@wEFBD^!&&qB;sDCQqK%^b&hGQGzvxFF;5|17zvhFVXue^o^e#Ln(xh#5amW8>k z^w^VoaB|1N3{do_g{j}T3FSA|BGr>%n<2qaKhzmnX2Cv{z|p18{+@j6j!SP_=mhCMikXG5}MDRyE8H z#S)Jx1M4PU=T(0XR)0+;xZ6C-rA18k;OyQcNL7&sWhYXyO~_YMQdJ@CLJJ$vA{IY3 zUYnmz$D9K)kR6y%3<5&Wi6N3P5+HibPkc}$7<7?`#Uq6c zB>%e;E$c6EKrUMQyW*ntS7%MP)7ExRCE%Ry;~mND@IVL{cOMv4_Vs~LEE@_8DgMC! z{6Yc4U_dcMsw-lvUSdHn4N0&JjeCs`|3U66h&g4*C4aw2l-*b}0uM`r-P!{->b^l& z3>gd<)=k73x&OH?e?FJ$W@MOT<8MDh$ipJP;-aWzrZPa9WuWo8+y{u~xsvl)H86Se zEh2K&BxKED2_V&U8r<7E&~|tX$xvHLg)t~<2_I)ABy7S&*$-A*#E!BM^zv|q-6JO; z{;L+Wef^goXQUAeE~hu2`t&jpnvo@CLiQu+Ao<}*)#*Uqm1i>ob|h$1R1~kQxMYjR zlE8|FTb$Hd0~kV?Xo_7bOT8X#UyyplMBke&X#0!Y28cNYWcrJ%1qD_V^$vL%8r;(f zBoCcrcK9x?C-eYAg5H*7lJc}NY|42ggqR^@H%M*C=$urQR$`sw6_P7%cl6@u@*n3^ zW;wli&91e|mJSUFc~$AQvq&|a^5c(;fY48)4DJRqfElWbmPGk`>G%$tJ@Xhspx9DX z8RMdZyXcC6O*zi|<`j_H{|vN?4nYyxdC3pEkZ$XNW|2!fAnphP5>#cxjttc$kFWU# zK4WF_cNtdz48Bjq1QpPRyGU&{Qu7pdyzI1szpM)BS)LHNuED5klxxunERoWK+8fumF8CRfrjXcs;_vU)x_6}V{ zBNp}TI)?TKU(T7_a&}`{VC@_01UFObYA#?^r<%tGcU{EJd ze*9KJHFqv#QO1{mAuoxtt^-t8zZ&!0WW|PaJg$K1@@x$Sf5b#0iKVk=MNUP>*It!s z>#chQA0is$qR%$W{a#LGmeZS0c<6djaoa37J;`&HM>{h?3A?pFm%H<++gZI404y-u zmF!R|hJg)uVE*q0^Rzr8&-O@x!YLA&ry^IIQXy0$A-VL;>$ zKPMpRxp%;1XSQ)QDuUKx^YGE`ag0O9%sCHhq7N3eLr_enWu z*^u4!tp3So1+h#5paAg;V1b&wWpHrVyn6J%VxwRfQuFHFGKl1pxzuE!^nRd{$F7mC z!#UB1)-Pq(=fpbh^U5fA1%U9*H->ah|2N;2-?Jcty4KltZoYnBv+HglQp#3v2G%RB zs(OW2YSkz^oJ8|I*@ZXl=PLyp?}7O-S$y}-V}ok`iFc2q_0O`iF4yuX7>3mTdaYn% z9;{KQ=l*+&A#Qgf!$TWNNY&3Q7ska=>Aoru^!2nYC z#(EA6y|QWs2&%HjJ--nP@%=4m|4Q~~dFl^8Bdn=oWlR%{O$Mx*8B*Vd)<1c1)a5bi z6QEr){(%LeV%hBeW(Y48>vx6p?=3xQqVc+sHLXqByhKEST_W@$I|z7s{)(Rlp`8S==@B6`i#tW6eV_|wO_aZDu{N22R<^_hZDS#;b@ zr)pic<8EY*NqEO&IJP4DsirCae7gwOjUQ28v8gOXBs%(K>>lGgqJ#1Vcu8TskNO$`+s5R*#dLhyEHR{(`je zCD|Lj12;CtgwgZLN9cG^rsMN{jmn_GMOOap?~C$VF3aBCI6yL_Vw|oxjtp~dW5z3Y z3Cb)F^}Q;C3Y!A?h=qoExviZK1@x!`LUoYvWh2w`0~e943#9h-FUZu%d0rGKCh9xT zx*_+?)dQzC>VQmp?z1v@3)DXNXf!oAQ!Ru#8@V{8jv7!&T%}d$1XQx|6q@gpCD?)2 zrSEKz!6xO!R7}HZckl92G=V?l^p<77Ih(}c#kp^;E;vAFLX#i6RUmD{np%!@XB_6Z zC{ib42v?TDO*+uWSP+Rc+%))`AoTGOm{AK&OP(I_hN|AWRM3gqWP8kSAvGcvjEN=C t3KRZYk{|jdqg1-vofq(!2002ovPDHLkV1if*5Rd=> literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle14.png b/examples/moving-saw-platformer/assets/Idle14.png new file mode 100644 index 0000000000000000000000000000000000000000..22602005a7f4ff9879c7214d85e71c4ca0563746 GIT binary patch literal 4871 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle15.png b/examples/moving-saw-platformer/assets/Idle15.png new file mode 100644 index 0000000000000000000000000000000000000000..07d709be200168fbad3a875940ba04fbdff327b8 GIT binary patch literal 4885 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 Hu0mjft+pz+ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle16.png b/examples/moving-saw-platformer/assets/Idle16.png new file mode 100644 index 0000000000000000000000000000000000000000..07d709be200168fbad3a875940ba04fbdff327b8 GIT binary patch literal 4885 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 Hu0mjft+pz+ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle17.png b/examples/moving-saw-platformer/assets/Idle17.png new file mode 100644 index 0000000000000000000000000000000000000000..07d709be200168fbad3a875940ba04fbdff327b8 GIT binary patch literal 4885 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 Hu0mjft+pz+ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle18.png b/examples/moving-saw-platformer/assets/Idle18.png new file mode 100644 index 0000000000000000000000000000000000000000..7f3add7e39c7238abaa19fe6ec99271959098fbe GIT binary patch literal 4749 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 wb`1uffWBlhp>M$q>9oHJ9iGq14^IA8 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle22.png b/examples/moving-saw-platformer/assets/Idle22.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd54f4955db5527ba4e042afac22c505b45afc2 GIT binary patch literal 4713 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle23.png b/examples/moving-saw-platformer/assets/Idle23.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd54f4955db5527ba4e042afac22c505b45afc2 GIT binary patch literal 4713 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle24.png b/examples/moving-saw-platformer/assets/Idle24.png new file mode 100644 index 0000000000000000000000000000000000000000..61ce3343caecb1d756839a1ce960ea04d9dac41c GIT binary patch literal 4646 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle25.png b/examples/moving-saw-platformer/assets/Idle25.png new file mode 100644 index 0000000000000000000000000000000000000000..61ce3343caecb1d756839a1ce960ea04d9dac41c GIT binary patch literal 4646 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle26.png b/examples/moving-saw-platformer/assets/Idle26.png new file mode 100644 index 0000000000000000000000000000000000000000..61ce3343caecb1d756839a1ce960ea04d9dac41c GIT binary patch literal 4646 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle27.png b/examples/moving-saw-platformer/assets/Idle27.png new file mode 100644 index 0000000000000000000000000000000000000000..27d8e18a33429da5bfc50e390f40ac2e5249e023 GIT binary patch literal 4791 zcmV;o5=iZdP)Px{aY;l$RCr$PTYHpM<#qp^$9)a+Vg?w7_so#0i9xWYVn92nr9LRO)kdL#2ne{6 zuu?;kuC}bMG%i<4tPc`vgQ?bP8=GWV+lUQ_nukC_SPD{=ssoH8b76Q6^Sbw**Vnc8 z_nmvs3^VthJ6u@)aSz;e?%X-|oNxcW-`@MT_xFv4@-Zv|S{aw&5hw#Q0yE0Mlz}NO zXp|XKW=xqe#UW5;OmTRXV@#PbWyTbTK$$Vc;Z=??WyX{lQyc0NqCBwSzWJj1x+cUMYhdU)G#3nj4h@E;!GHl>(_yF= zz2~1z1Dc@&x`uRjACCX_5dL@lPcF)sFX%%ite-Dx7JdTJx-o#|L3acjY$|pT5GI3R zFes)vGk-LK4bU_>L`~O#r~%8ik=*qj_I~NYvgm>V)AamO5t~*EE$sp>Br|*vkORcj zeLxIE$gKkG(KQY7AK*d26CONG05Jo7J$=}A%>x%~{3X9}{o1QU{qo8#$HngmG#NNgd1070w~3K-$S z_8eHkftN6F?A;IX>pQ+*Qd>%Pv&M}JMb&~9h<;0@I%${>3}qjR9TFG zB{&iodeL|NSi`_5#@IeE1deCJP3SmrxDz`U{bR}ODanl{Y-klVw_OUa*W%fg^Q>lE z1zXBS!~!y$Ukr+g7y(1?1E2Z8(DfW+d{-jIz=Q3%u!RIALoe5c6W4J3KnHez?gu5Y zsU$a2coy6W z1MOS);hpu*pSNA-eS?@MeJ#HiMI9##r*~*{~BDwtxEX&fBi@y1}G}Zx$7Er@%`&tf3|C<(UI61LVgQ z$~X!XcAo$+1X2(f#TeE*DrI{r_HOl& zc>yzX=RLwpJF>DE1dJbe6)>bvI34GJi7Cd!v#vxyQS6Curt(v_uVaJ&^q9$U2EJ*q+1bHO(&=8zL|lzqsJe5S;W zs0zN4F@AO;K}UdAn-xgJ6L|fF?fBt+j{p`Sl{;!Ln}q8(twhE2I`sDRX2GEpe&qSR zXup5ksB9e7mnJ=Qvq*eqGKAxv)8vpDNvT~f5T&5=HHxoY$dwYh1Vv^gb=C})|DUX! zhHL9C$AoANB4z{~9~{OHHa~$!zq<*xZ4Y{GbX+B_d2lJl&uu|(PY;8`F4oz|6B?5@p65;z@QQd^4lUq3^QJR(< zl*iLgKaCYDR-E%(voeOO9=Z#4^IOn&wwE)OTcKmml@E=|#!-EVbc@$-*jsvR?tP zR>dPRtZ%*@jgeZ`EkOz3KW^T5RNCaMFC)_Bj?vgT6F!?Lj zV*IizVLLY7nfrKAcFOS=aZLWF#Uegy0z@Xi8}W@vkWm{`sbIfe3bq=2-NMDB5oOnV z@veu_eIUuBYM9u7Yv)~yy81fo*|P_G_wEfn+J-e(qha;ca2y-mueKq%VS7=w7IpEA z7e6ob>L}Mmc@HWk>7`52m+j|5mtDGmTS;AGa_tm}Me+JqpF!u#Z_6nw@R*Ut5NW7H z%lB`GF)jf|cu0M45*@4lvnX4Oy0~S>YANap9hAly80!2>QSXbrV5Lof_@x4!W6>z= z?g9L2?NjJ^|5%}?jQIN*-@XOaH?|z^gWB>eec&WkS zYPit}Vw4cf7`?0JXKt(rnp=o$N|MIP3VXw zVsQF0czfeZNWOTkUKt6k%HNxcrUw_n)jT-1!vWiKJ!lms4qo@&nN=WjF>QDCOV#f6K#*Y0;eaP_o4Amj6?IL z#n5Wva55HL&t+gpTIe+~^!)SyPHfy68l2D2;~$YmDA7U6m@ z#wO7B%0YDf?Q5a!4SiwrFIQ4;F@L6@Zoch7P>;rtY{`M6VokR783ZA>RN^Ea+7+xM`bL5f}^tMY$36L5!Lh?2aCEEd6n4dqZ7VzizG=yL49J zjHGGs`Yecy!XcDgQ&W`S@w1dFvdNdVt2|iCL3$?T-@QsMYa5z zwV%f9gOtO>x5USV&IAIV2_E)t2?&D{1jqHDSH+>3L}d+!t`DEGLm@b2^I{SE)P#Z+ zHDTr)@8?XwyA*u3WY5aICrUv|-6jU-qw2H(@YB^>hb!J%ZppAsOH7+l&zB6tks z%0_L1zo|tG9Gw5pq3jLKm}$@bnTSlOE}W`80lTwDHn0M&M1DT3Tge9Tpk}&n_;40v zVe!F`5Xt`p3I|+uwq59zG3XT$DK?`Q0GOtqEfZQIGGfP0h6;_dk@Zox+`3`pz~CUv zE~P#Tq;a*^V~~T&tUf$6gVcgwPcbM89EvZ*SPHuJ#1?sI2@`$)aTr~jUJ1pTP!~17 zwnE62^*kCz*WjJa!0PA@WF)0y)aIXHAZDQ0rQ|saMyL@5a15{|8($ocQ#4Pe8Z!m# z^sbZW{Q7@|dP1m+nt!>9LVkV?V`y-X4@h7lMoz;7vXUQne9@N$g~5@mQ;8~nkPrS= zMq?FpX}Qv4w=wD~22CUb^X74MuKQ^yn?qgHvf~~hY&S13WVF?B7Iv}+T4bop3=@b+ z-zZfq0g}M@*yKE^zz`|k$UP$2034Z632-LLAxL0l-amySD_;m@bEu1E{$`EvXwg2; zL9UVczmsrI4lppma)4vYkP<=0AgT}iOr;o8EOQ1iM!>AEfJOm#=n94*UA=wrzlX9p z)I}{jR|^(x1&;Jv$Kds5I3o>W!%zjRKw?$Qzf+*7c$3w3S^D@9bjSdh5sERcfKeTT zUK<}iN$48Ojl&E7HI&VvE}Hr4H6m{xhVJ4D47`zqpni>?k^I1#1wsYeY}^^*a z96vD)1!w5wsQ98+L}82@99IUXIucm|hyLK{P&S9Us32n~Rc9Qe_8kSNh$NB44Ju`5 zAYJED_s}9Um!$6o^{zw%uxSS|&b<4-4nV!N!L+yNV7u9_^%g5jq7!T_^ch_FSrb{v z4Xd{(#`HTleCsozyd=~`O)o9u)q!EVcN7yG59znMfSArpE4;iypio(0=yLI&W-=Ii zvhL+8;#>e`7?ly6esUj#<6z9ZX|nA=GiiC!oycCwQdw6}8}$gJtol_uz_X1l z9lD|A+=53bCqVA7(BwTyFA?}r+F$^5EcvlEd7~>$&W1()J3C46%C%*#fA_-s!vSW$k3rDOgQ~E zbgF48qde;xwM|Kr(O$lc?AKBe$h{SEPd|1L5TvXX8%fCV&v6s&w>-=COn&@U5uH)T z&+;q})`3$7sl9n8 zrty)Rg-+W|e1;IP#1sVzzbEFI(wz?7@GnJ8bY8(4*6>2tH9ojd#4Z`njc^GBF-C$z z8b`JRs0S-uD}CTNPHp;4UPC7R!%ae06>_$}9W zfj045H;4r7;H1*QZx$(*$abUZu&ISO_jDS`^*_t|{0ZM|74gd&}*ltwsDJEELXK?hdU(WmdvCC$Qn$LYo zW;w--Y|8i3KW8hA<5us>2hsJ-@Jl2Y#g!U1ED)79wZQAA9pZuBE4`=x3KY3?tHbW< zL+8DPTL4X4mkZ8>LA~QQx&mzq%1o&@l1P4~xF9F%Ev;X6Vui_QpVFYLoySMZvq zt;>WKAErU1dM1OqX|$B_`yqkZx?Hfb^}BH+I6pIHcW1#&SI`i3LCIoFsD`=P{!Y3h zEHKTl+%34vS73V;v9Nzf2af&a$BZ$d*0%lGFm*U52JqqSg?BkMzqXQHso*XPiZd|- z_K{w6+}inRHnktYVStJ()@o%-SVqd!f#)MaRWUOL27Rj zo#!d^N&-ydcNU6@`O{^cRK!8804hRHJiKefaWwyYMQ~*{)ZJi3 zFh;fqiaf}r+CDq-A9#)y7z)Oj_fFu*%5W=>Lx)`w#x!kPF7)bHwwfj(#$uJuQ~;7{ zC1J;Zm!%ff)b0d|32k$q7;zjkf4f$2KZkd7sTXG{)%x_eeW(VY6v-MdxY3Hmp&P?3 zms}8F=%$k%y+zP?B2%hhpGv_}#-OEacvLcE9A4_6YX;s-;@E~) z3r^6K?=2D-V*n8Y?g`qcNbIC-9&z3=B@6>v#)hEPiHr?rz(wbp(XoZ>`F|_1Z@(bE Rt3Ch#002ovPDHLkV1fZr2YLVi literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle28.png b/examples/moving-saw-platformer/assets/Idle28.png new file mode 100644 index 0000000000000000000000000000000000000000..27d8e18a33429da5bfc50e390f40ac2e5249e023 GIT binary patch literal 4791 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 Rt3Ch#002ovPDHLkV1fZr2YLVi literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle29.png b/examples/moving-saw-platformer/assets/Idle29.png new file mode 100644 index 0000000000000000000000000000000000000000..1705f2ae9fe1a3202a529d6acee3d99ee19b0409 GIT binary patch literal 4786 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 M07*qoM6N<$f~^tz5dZ)H literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle3.png b/examples/moving-saw-platformer/assets/Idle3.png new file mode 100644 index 0000000000000000000000000000000000000000..b91ca8b9955e9b134e318ea70beb97b4fd664c6c GIT binary patch literal 4822 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 M07*qoM6N<$f~^tz5dZ)H literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle31.png b/examples/moving-saw-platformer/assets/Idle31.png new file mode 100644 index 0000000000000000000000000000000000000000..abfdfd6a4bb1f5d723dbaec42047a2195e0dee55 GIT binary patch literal 4763 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle34.png b/examples/moving-saw-platformer/assets/Idle34.png new file mode 100644 index 0000000000000000000000000000000000000000..59b551d1cea79f33d638c98f3923e41127ed7290 GIT binary patch literal 4747 zcmV;65_Ii}P)Px{MM*?KRCr$PTWge6<#~Sg?ObMtVNe(x?#zscq_!3#6;WywgT-1U2nkp)V!+Tg zHnla)sx>P~n=VtK_0VUd4VnIO>T~jSqoEa{2V+MxHaAwYJ@BMYX z@AvIJ`wVAhpEC^9A7|@uZu{)Lzh^)1^SR zi7_R{lo(SS0wu;2hgV5sN{lHnrZ@yjj42MUlE#!6Q({bU2$UF899|`jDKVzRnBov9 zF{U`YN*eP?V$9U<-6mo+m55ZvVO7SU8wPaxPt%~g8r(!0*)wVMwVc3*Uwz^K<>p43n9wC^J}{1OVG9Q$ zs-rL2hYz3LfkRL28u4+A_yK3^zE8k$0SX&U-gA>g)ejpQumpy{AYd#8Mm|blxRc7Iujj7=k;z=6R7qY#n6_$;A; z>n0)$jD<)(aEN29MUpXqU|?*;7y>5k+Q>b+*xmI96(8Ul(mhrm&(n^+?V z6ctKv859D8Kp}9_{FsGZrepi3zA++WI_HB-{rPfXjxUEGws4A7z^IffwMAwdUrRI- zQNv@42aE)Vfbq13zUS$TP@&{$OfD!Hq=-4Nk%Eo?{PaJZ^SI9G0M!r87nOf>Iow2s zW#DXJe*Y6dAG7t$sK44Tu>tz`Nh8ba4h^Y_?0>mP$bVjCcSq&33t`HD9 zV8l%%61_-^EJQ>{Z*MP>cG?GrL#kZIfertG)*tQ}_V|YV#hUe>6=n0LK%{J$G`vbx z0VJziSRFA7e%YQ5N8SondkIs$fvr3q+z(^ktIR`Qw+-@WM_O;wzTT z$E@YoBbiE~H=UH=5NmW7J;zRB-=e36J-%UovG%nu3gL1J;?kYOg-iGxjZtBw3OHf| z>xixx!^|Oo0>CK7P^Ij^Wwt~j77o4Ngnxf{6OK0=&gqBimtKQ;4=;tS3nY@gJ~&R9 zj$Oa=$gsyZtS^rH%j-nt?K9z~ZD_hWge*0n>#`*C`W?TRBXE?sdO&bE5n}?tP^b~y zRaON)J-Qy%(JI8uD0Xk#fyWw=PaXO{I!>2?)nuls-j5rNpNga;N-`h*uUam zhc(7weQC;b%Y<1|!G&DDO=cpQvb`3dUw9=uf*M2NL@bJGCTF2>(JHK*coS-(V{#7f zI1bjWTZc`XHl20a(U;fYnvE-ARF|>tP&&_A0`JUuY*=F))|cvbtq~$?OVJ%<^E&0T zf$7gkGK~85h8RU`TRHJY%pP6O^@=CHUWg_V3Cx%=105Y5XPtS}%u8_9<12uwD3Zw} zD4g1#*^Bn??JRnnMSo%3UtcdqFTNaZUv@~Zka7u$uGb21U!?TI10!Zg_OS4377H$g z)&rM*4mD;KXQE&U;GJ;x?Adtlz4!8-zw*jSxMIUn*ij8x&B5vaZb8$U;#-BHftmK= z3SnFnhp?#@9em^F(YG0>H&RWbY5}AGQ=um{MizD^ga#~$UyTK|bGUZ#E>L#aKv!26 zX3d&~?(Xi~lPis*H^<(58EU_CD>8Nl>7G7(cuVmHSJA-K?^!Ft*rJlRGNh#5$ZlFz zwZsm;$TK8c=yh3n8Jb^f!2a)U$8$e=7W3v^n=|-Rr%qwjs#Vy!b?cBfg+842t%ays zG!vOj2K(ndS@bxI`a;e6g`#Z!6o{l9dSTS~kul}fGC9?+%1$h}Dt$9+q7nRR%@gQ& z;{c+u7?v)*6W7hV4)J&#jg5`ivSkaJo0|t^O7Me=@4Nz&zWy0xvsvt)d!B)r_RG73 zF**jWc8A)8todYJqxo$?(1(#$gY1`>J%$M@62U89d;;C?91I11$S^i^)c*4wh+laL zY{x<3gLbrjd23N5C~D`rH`WM|4rdD$e#96uvb`oS*fUA%pq$D6+7?S zjO^*;u)!I>`f7|{Hy4>i9~=$H96f`>U--A8##->smppuvs9017H#u}R;?X$N@QHq4 zJO@wB1o-~0a_nSZL~VeM*r+lbd#f35f9)qoA3IYtI2Bh-!t@Qd!*Oibw$0|2Ff=rM zrZ@pE7?{bMmx#!WF%TIi^kPMpLQO!^b*_y0PdR#2^yRXr-w^kvQDPNk=xOT2z6XDb z#DUJx^Laa1<0?@1gC!svB%8{B3PRU)p_f}|yzYkuk5wj*0=MbgR|&1mWHt<~FM_=p zP^;j9!XoUo3Q}_h0u*dIXhD>(?`yY83U9Wx^dX;+A#I#5M5aqu&8QC*Q*scrV zx^NvAMpX=_pL-w2HtsHXyan%Ax9dwHlr3~LTgV=YEPe$JWhYOFWgn&avj+S;FyR)Q zHZdY5G*d_03-994lRJ^^?#&C37BMj8+n+_{f_h}nq~N%cDS|?p7&AJGzI|=zxPN=W z<1J{%aSzNFqnFMM*B6@qNjVT%hi27SV|>;SV^o9bfg^okIe+9C-~5XEEO}}4+^mT5 zbnTI+cH#K8{W;+1aSM~bbu%h&szatH#hM~PQGYbkSz*CGk;37{&lWV^f7;veMf8yZB{1t43^}h*q~O&p128q5+H(k9&o>~|)D5e; z0@Z8hpzNxNuoLNAP+Y;_@Xd%@%;2W^g}ZtMAvopPWx|>?DzputrqVf`qG>}80cMM0 zjmMmUzKu6?)IW#R@96~ZoTqGB%;bz`_ohK1L>b3UW#sgVA3idKkaeL&4QMfoADgZ% zeCDzsV5YyaN@!7YP@6$=9-wUGoJcA_G{8`-p|A?F$1}BLtf;w0E(w`nUSH%rda*-> zxKK7K^;84|y}?E~F@$Uo7G1hSf^VcTDk9k%HIUlVg|-KNS*9~=n^ZIqGtOi=^r|LH>O z+7SZgqSe1EE?RqasLepP+C7nibFz=`5VOStBOt;)K*|pF0aC0R3=|1N;9q{B0Af&} z7$d`o*sGUW(90tdG(+RL^n-s;n4=fUm`nbCfvC8twt$SJ!EWmTi?1)diZS^B;+P>8 zNj|V|T+F6sCmAj|vE9!Y%1EUD7sVx0l|X5hfu`#VEA&FIX5z+MMeM2x2% zp1U5XEgoZX!byb|gQG4Z^lI`TM}sD8l)i8{5nC!E&?}=kx=3Q3{BVGQ?obt0AqsLNis`i zrX0;FqFG_akgiZT$!eEENGr3>%A!<4*qyyNy!0ob;||@ScE@U^d4mH(St#3n2ASp) ze*KbD*!k^2{`Ad2=7bbo7Wo!3VGr4zd5j@&Y#Bnvn0WruLNT(rfKEFUn7aQ8Ov4UB z8M+hckGhdL7_lWMq~x+PUx;(APJWiN1wi5B#7vNpHq=Jp)L1~F z7Y8t`p4%i2X!N|uJmC|WfKT8DwkaH$ETkxgI*!dYg)88FooKy(Xb(6PnEKsoggeBn08z8&XZz9hkGr%9k1Y~zUxum8UI^I_ zbn$sLWZf!yOhn?}`Hk0PIK6$J;KfXNHrlsw&i6wJ5xT>;hi?#7x6g#rlRoP-bf;3(n63VW zyjxG-!C^;0@P*s1WQ(Fc102X${%83zlPAWkR|*_1{be6SB?6WBXMq^CpboTtmkT`_Ys5gN@dS>nc-{wh z%9cAh>g?L}f;ChKYAN5*~ zSva_;zd@YzPqLMvB*0-!mHGQ!X#4YRp=4lb8#3t+_;A98MZ&0};t6QE=j;W?Q(yRk z)FTE){_%4Hl%9JFjVy!hiLSrdyXhA1#JQQTPGQz@=ulWHfP7C``97p|seSEedmy|I3L8h!j0rm+Iei{5?2k}Gr=0qriNwdr zIA~oLK5aVXr=J(ZIthdV#y7$Op0Z_dk=L?vWR}j4C}V10yGIs-ypog5Xr&7QXN^;d zuEROjhqkYT$2+l*=c#gxuK*z4`oDVC6Yu;>Oo z67}4FPcgCyX%@ zpS(@PetW!}&<}3D%jCP)T!S>{u zW`s=RdcQf)bu`^jAY&fAMZ~X}9BRgsKxdDf#u3#_7NR2;q`;$PXgaxPVaw1+Hfaz? z6F9Oge3jFrf4M_M>&F%}Z!SIE1P(6^KW-RsBc?IDOoVKPkmWPJCd4hI4je~oNZnEB z^4Xx)BpZ&Rt$^b3f-t7gWv;=Cq3-}GG4f~71lU4ui?~BS?FAJZo9B_q1eWyE#Lqn`vnf~hCf;#!Zez%Z!&{P=5EHusy z_jU&ZZA5?}A0~QPVLCAILc(18x;MTgTY@4tD)>?jooHKE*d+eI!;c6sQ=k95EW!fb z3omJC^=002ovPDHLkV1mH+`Q-or literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle35.png b/examples/moving-saw-platformer/assets/Idle35.png new file mode 100644 index 0000000000000000000000000000000000000000..09aad34ee2d987a1d2ba5afc278f5902280fc948 GIT binary patch literal 4784 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 KMNUMnLSTaWLn$!; literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle36.png b/examples/moving-saw-platformer/assets/Idle36.png new file mode 100644 index 0000000000000000000000000000000000000000..09aad34ee2d987a1d2ba5afc278f5902280fc948 GIT binary patch literal 4784 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 KMNUMnLSTaWLn$!; literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle37.png b/examples/moving-saw-platformer/assets/Idle37.png new file mode 100644 index 0000000000000000000000000000000000000000..09aad34ee2d987a1d2ba5afc278f5902280fc948 GIT binary patch literal 4784 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 KMNUMnLSTaWLn$!; literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle38.png b/examples/moving-saw-platformer/assets/Idle38.png new file mode 100644 index 0000000000000000000000000000000000000000..61ce3343caecb1d756839a1ce960ea04d9dac41c GIT binary patch literal 4646 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle39.png b/examples/moving-saw-platformer/assets/Idle39.png new file mode 100644 index 0000000000000000000000000000000000000000..61ce3343caecb1d756839a1ce960ea04d9dac41c GIT binary patch literal 4646 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle4.png b/examples/moving-saw-platformer/assets/Idle4.png new file mode 100644 index 0000000000000000000000000000000000000000..7f3add7e39c7238abaa19fe6ec99271959098fbe GIT binary patch literal 4749 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle41.png b/examples/moving-saw-platformer/assets/Idle41.png new file mode 100644 index 0000000000000000000000000000000000000000..7884f2293c9090dea2d9f80aaa8590b8366c2a59 GIT binary patch literal 4684 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle48.png b/examples/moving-saw-platformer/assets/Idle48.png new file mode 100644 index 0000000000000000000000000000000000000000..1e503b2b1a73fb146904d6a0433a4c7b90f40a93 GIT binary patch literal 4761 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle49.png b/examples/moving-saw-platformer/assets/Idle49.png new file mode 100644 index 0000000000000000000000000000000000000000..f185395a2c4d67dd86378b544251aedc78f041e7 GIT binary patch literal 4757 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle5.png b/examples/moving-saw-platformer/assets/Idle5.png new file mode 100644 index 0000000000000000000000000000000000000000..7f3add7e39c7238abaa19fe6ec99271959098fbe GIT binary patch literal 4749 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Idle51.png b/examples/moving-saw-platformer/assets/Idle51.png new file mode 100644 index 0000000000000000000000000000000000000000..6149c4bd6ae1b5a1daa4f575d808ecd564865fbc GIT binary patch literal 4736 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 N002ovPDHLkV1o1X2aNy# literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump11.png b/examples/moving-saw-platformer/assets/Jump11.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc3fac87b5ec0c93016d55330376fd1dd132530 GIT binary patch literal 5293 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump12.png b/examples/moving-saw-platformer/assets/Jump12.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc3fac87b5ec0c93016d55330376fd1dd132530 GIT binary patch literal 5293 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump13.png b/examples/moving-saw-platformer/assets/Jump13.png new file mode 100644 index 0000000000000000000000000000000000000000..20e239cc4187a3e7fe633aebf805dc82b59351de GIT binary patch literal 5296 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump21.png b/examples/moving-saw-platformer/assets/Jump21.png new file mode 100644 index 0000000000000000000000000000000000000000..661a839d276f2a6ee867fac05876a4a22e73483a GIT binary patch literal 4883 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump22.png b/examples/moving-saw-platformer/assets/Jump22.png new file mode 100644 index 0000000000000000000000000000000000000000..3094049947e8efd1b3dd77bc136db833e100b8a9 GIT binary patch literal 4711 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump25.png b/examples/moving-saw-platformer/assets/Jump25.png new file mode 100644 index 0000000000000000000000000000000000000000..d3eea00f240aeb26794e46a01c608d90f1a5a88a GIT binary patch literal 5135 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 Z{vQCabHCMS0ww?e002ovPDHLkV1jP#(u@EA literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump27.png b/examples/moving-saw-platformer/assets/Jump27.png new file mode 100644 index 0000000000000000000000000000000000000000..2759665d2315d9a5c49c689b0ee5be9c1b189d5b GIT binary patch literal 5111 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 Z{vQCabHCMS0ww?e002ovPDHLkV1jP#(u@EA literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump28.png b/examples/moving-saw-platformer/assets/Jump28.png new file mode 100644 index 0000000000000000000000000000000000000000..abf516fb19250b3c0013116e525784790ea06b43 GIT binary patch literal 5158 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 FV1jMlc=-ST literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump30.png b/examples/moving-saw-platformer/assets/Jump30.png new file mode 100644 index 0000000000000000000000000000000000000000..acf9ea53a1745ed8d01328d1e066595f18331516 GIT binary patch literal 5142 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 P00000NkvXXu0mjfMUmAn literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump4.png b/examples/moving-saw-platformer/assets/Jump4.png new file mode 100644 index 0000000000000000000000000000000000000000..fa935e8946107dc580ebc25c63000f7023df722b GIT binary patch literal 5039 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 FV1jMlc=-ST literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump40.png b/examples/moving-saw-platformer/assets/Jump40.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c0f18039fc572416a067fd9e9a9c122228c3d9 GIT binary patch literal 4685 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 P00000NkvXXu0mjfMUmAn literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump41.png b/examples/moving-saw-platformer/assets/Jump41.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c7bd3a5913e438ec993b550288cdfd0a413ec2 GIT binary patch literal 5091 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump44.png b/examples/moving-saw-platformer/assets/Jump44.png new file mode 100644 index 0000000000000000000000000000000000000000..e94fe4b87ba9f623b815d9ca39e34f307663fdfa GIT binary patch literal 5080 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump45.png b/examples/moving-saw-platformer/assets/Jump45.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2e15d14c68a3be948c49d47bc661222c189d0d GIT binary patch literal 5127 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump46.png b/examples/moving-saw-platformer/assets/Jump46.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2e15d14c68a3be948c49d47bc661222c189d0d GIT binary patch literal 5127 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump47.png b/examples/moving-saw-platformer/assets/Jump47.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c38c2b275494345c0128d70c49274a5dd1abe5 GIT binary patch literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump48.png b/examples/moving-saw-platformer/assets/Jump48.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c38c2b275494345c0128d70c49274a5dd1abe5 GIT binary patch literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump49.png b/examples/moving-saw-platformer/assets/Jump49.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c38c2b275494345c0128d70c49274a5dd1abe5 GIT binary patch literal 5109 zcmVPx|uSrBfRCr$Pn+udx)p^JNXP?KtcV5B(1H&*Nq6TB*!l(q0i4Rn;XcQl`l_u84 zG?f~~6(`ogc5PUB2@w(q0zxooZ|k20Y(k>Hw+NIFusj4!WHzpqro^4G{G*W9#KLf zkn{-<+7?33!oIh+;*Bpoaa6`o_KP;$d!elQ{IQT3AA&4}wZmd7aI}ut1Ohf3VZ&uG z4#RO74nZOdQs)p<`a@ts8Nx>hKMdd#prk-&+adhhx!*7QILdm##z!udsZ*u_**qXg zE8<$Bti=pG4#gudmIIH#u=Oa5A~5uaj7CZYCLk~}Kt2qR3-j<@Ae~O*mkaJF>sZQm zvBt+&$mGd&K*o<|nZYm&HAtfX)aF7r#Lot?P+=`!W@+(g>0oU#+4!{VIJ8ahisTfP$AI# z%x3JoXZ@JQHl~wjty?Lb`fA90$O6f8%X=M(G#D0B6M?j~C`)mXu=U=5JE(Jzg4Y}05*P8Lc*M2(c@s0Y#SipY)M) z0=$0u=!JOHVCHPPR)*;uiwc8bEwCVj5=&0&W3I%JNQ*1Gk7X>zLsGkw5nr+ta-aG{ zEhc+4NF`Eu;jy3M;al$+TyVPr^H;CH30EybPj4@>3?~miX<^^`_ptrue;L&nM|IMS zM=p`xoLb0ypnxzKV=)9pnLmM1b&<(#Rn#HNh%AP6M!6EfB7g*S>6Fv3aKc>H9Nzp8 zn|}2gR;^lvmX?-5fKI;Q0?hsMbJ5e?!!DJBk8C=Fca}Ufsxgl0q}eZiQ5s#53`D^( zT40I(8Lz2_IJ?!+Cm{$%L1zdQS&Rg5-sE{$UN@g}7A@%vo3@P`H)7ecWys}ngW$}) z=>i=0<;4sq7v|un1m6Da{i7P=s7^X=!!jH@u5 zSTrJ6^4MCGIA1^e3z(Ix<9x-`N=CbgMpIK0HgDcMWFPCqTQ5Mvs`*HF^{_h~cx4NA zuYRfIah7~S-EC*d>cz8Q=OkRmh39$@jzCuWNQZrZu(;7ga8&z1eK_OQE~TQ97iGQ1 za$L%eJr_63xdd~ZshsH+QULX+zVBn+ym@%8~*Y%KaT?NQ-(H&%PDBlgLp1H{stCjk@lX5At4t60+K}sbO zIJmtP&Wn5T)B|f7`oQh3yY9m3)vJf?dWs4cb05AE-rULP>(1bVC6AUo&XP{3|Nc^$ zIIb496i9d;Jo;!buI+$6do%4w2YqmCf>S6WRasDIGjJIYOX>(zWkm`bR{sdwe*Pw! zKHr4fzj-?rE?fxLb+L2jPCW3y16aFuZBeb@sn?u=`oCC&Twf0FFDhMtiw0AF=lRk* zp%w@LFQK3ioP_JawOxinvz`fZ*p+TmTEo5D0dR!PkxA7=R2~!xNwUIUth^tcTlPhR zZ=BJ{_iJr!MJA*2mtwYtThBr5<-Z3%^zp%hqXcHs^$TQW(=6`d3(tn5l?OVniP{gTB;Nhu%lP2I^~H?+h{sf&+JIx%T#Ud95xN#W zT(q`m127jY>V%m;St+F-!g2&`&q0EKBoauH#yCnJs6eEgg|_CdJsOP7Rzo*o5sqcT zCQ_*ugX-R~)p-v7`;OrTTDLs&^0ho1g5+8_PT5yu+8*{}yU{QYt%CM3CD zv0R(o$W6HL*jf@uI4VIip_ro4?yiq!lhh3^a9Mdc}O>b&Sv4xpd11va67eO|U zJ?q}a-lyI|(3Kqoh@dol{Tzl7y=6s)JPOk%95kpAngplv~sn8`OSlBs$1Tscz| zGGMHP2IDFBp&W#&V(Q1V?%N07&nsQgFp7ag15?&vti+Uzx;bU0oAy$&)k*`Jw2w)tha;_szzAN4wp|CdZNv3EWZOE?+j>}86!&8WXi8jX;$lqD^zq75 zv}KsRCNhM*=oM^zKm^A?QIN>B*<$Ejn}iKfo#22F9Li$XisD}-=?7-|eM_a7RH;mu zpu{vrxDLCEn{<)casb)(9*9a$cQkbukLx29g^r{(ktM~NTLp(vkE451LxyJ>yV{J+ zn6(wPCl@mMVoyl1wa|cqo*Z^v^bezRrRi&yO1rjF%_5mU=>|n5SFpPf7^gakEuVYH zs$MZy)+{{{lA;5{AYGzpq#9Q2Lc;)3$)9npnB&kpBg4MWq{(pWQ1elXPLah(KLBOx z_QaH0kg_cV2h-Sf`ALPR7d1Zx$&b&WEt86P&xyceIJ5gPzU1@bN9`nTy%_ z9XRQxMY3|i41oNU9$be-hQeS3-z2x=5O!bvb3S*{b@Qe7sanWvpj^iQifN6>f``m) zV#h~tM$nmoTvS+6D+zD~oXI2yg`-5u#kPf|RoH_F&Rq8glEPk;$C$9K;fSP*z7G$g z<;(vZojc|0P12@flgwDd=~oiO!g!=T#?=OZVcjv-Gt|_^pV$bo&R^(MXG$eoIm6OQ zPTy}oyROtrcRy;naS(K%S5Mm_>Lue1ECpMk=E#O3>;2edyG|t60}^* zQAq2GAxLi2yKx8h-B#M$4}&N+Jan;i>MGSN=(2!knp}zic{YLrz1Vfd;Lt}x9QNio zN^yjsh%jWNiiPum|E|HP72g4H1`0BVYYCb5;WSi3R3!>7q{+~V!L|jZ>C2E7GwIsX zWc7-Zbbb=I7&REW5xdf#DDjPN)7SjIlzqO+C)m7IR%$|dq&r4)Os->cAd(j&;ISwb z-6#%YKyPu8euyenJ^OpR(01p4@Uzw5d!gL-*QGDZ z76pb5ns&$elA6i3XJgOxFN~<_Q*K!-z1fu0P%8kO4{^0?HcqKcJ43ZJc+)QgsAx!9 zM(@N3&SJThkjW!BoPmEZgD{)t-ZN#~45pIcBp`D>T5l+=uREMejX2n1{4svajK^1~ z_hzErh%WNzAPq*O9OQO(AUK@nNJ3GN(g1EF0<}((%+g!`^@5wWmuvY4e$?%C{ryVmGQ#R^v>nK-UY+Xn*j{vW=%~7ot&9 za!5W;brY5Ts?s%GwSw`I+oWG>LHlFFFM>_Ed9mac0!2pMVpVQOP#jnUC#Bj8oi8?{ z{r=a>HlDIwh=x7;<*OwLC53B>AQ2b>r23Cchr)i#7e{UZO#HLcrAx^s2{!eeNpuMY zW#;5cw5JrJ#>0+to-FHF%673Sw=~I`V$?RJ^`)L1b`Fz~7c+)|$Bg)J#a#5bSFV=a92%JA zntrT?#WP_G`1^ZDTx6eo!y;L=fW#eZQm%ZwQ$rkUwTWN zQ-5lS#y1w*LZz*eU&+fZJ?pok?OU%Nabg;ux=iT{UDx!Fj-)NGlGaBL4rlO_S zBhE5G3nX?dDNjCARxt60uD^GgOn#c0M+x5hs3X#*hPogSwH(j)mfx)PZnw3 zeTm(a@|lixzs12dzZ&zn#(aTd#CgV}mq=%N4fjpd>Y>VOD2wg-r}wb`?#)F%N5c;; zlJ2n+VNax2;M6)&luMGowQ^n2*E`blkNE<{faz~Z7fNSp1q(10f88%_!~VPe zeN@je^YInZZmi+V*DTfrZN2ztlwG@idS2?l{;wWi|K0PY+gKef1djDNM>SJpz3Kml z^T)v)VV1_hjDso7fyXUo++xNprZfWM7E>Cpag7iFP XghLOvwn^Dg00000NkvXXu0mjfL#^PI literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump5.png b/examples/moving-saw-platformer/assets/Jump5.png new file mode 100644 index 0000000000000000000000000000000000000000..52e1d83525bd84d057f5b7be834e5368b46a2761 GIT binary patch literal 4846 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 Uq25M$U;qFB07*qoM6N<$f|fD=Q2+n{ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump50.png b/examples/moving-saw-platformer/assets/Jump50.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c38c2b275494345c0128d70c49274a5dd1abe5 GIT binary patch literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump51.png b/examples/moving-saw-platformer/assets/Jump51.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c38c2b275494345c0128d70c49274a5dd1abe5 GIT binary patch literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump6.png b/examples/moving-saw-platformer/assets/Jump6.png new file mode 100644 index 0000000000000000000000000000000000000000..52e1d83525bd84d057f5b7be834e5368b46a2761 GIT binary patch literal 4846 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 Uq25M$U;qFB07*qoM6N<$f|fD=Q2+n{ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Jump7.png b/examples/moving-saw-platformer/assets/Jump7.png new file mode 100644 index 0000000000000000000000000000000000000000..da9496625e1646b27c68e8db6662670e34042965 GIT binary patch literal 5221 zcmV-r6q@UaP)Px}A4x<(RCr$PT@92}<#~SY@667!{3Cx0tSn%J8q(&_#43d#Dp80?#6KkdG$v}= zkTgAQdYXFdiSe9N4IU~z4Wc0lN>ZgBjKncLvVPI_D0vvva?BpYM5pp7*_@fy%9{EMSz?YATCC1&}h^1QkFk zfRvd9%4|6mhExD4GYgd2aw-g|08(ZaD6{2M7*YYG%q&o5%c(G=0!W!zpv;z2VMqm# zbGJb4U;e4c%ovBN+EGZ4%)oI|ux$&bVS;{)P#`P>$RE$5=iqU4{_jCFKDqt8+H~i| zVrOl-O$?hg7Iw;oB@CE>!AA=wY{TRugF=r@69(NK6EF?rdvoa6(~6y|Hl7!swX7HU zv6t===}9AC27u{-H~@!@Zox4uScV0g?OQ55%4gbA# zU0HwTvRvHsO)Ew9oCz?z5T*|{H0^vcJOSXCwmcFTrUr!oB9<5ooZ!wvh(HJgf{p<~ z+ko!?NB(C&cHXj~EI)hME$Wi(_X<1h0{K9>Bxz`Ec!$|xBRZ`5Ev2= zUj*=k&&SX;(A}HGfBx|!W%v2ZWA(VKxk3zzBqNLFz8u5-~%9;hGLy(`JUy z9z8n*1f-tYWJ+1Q~h7BczUi$%?~vw&V7 zhM-uiV}f*1HoGeVfi`-Sn?C^vHqY(PY(~%gH zG12t=TloD$FPDWaO1_AT{^|-b`j(F)$ojAZU@#blbW_T}k^$2ADF#G=5iv!AC10-s zJ26DC(}FJqeBq;@SdtGspfnODg6xfB}7-G5>JR?N5Ckv4> zk@ND%_VzF!IRb~=ml2@X%VF0QPn6UqB|G`V?_DRVFRz85xWTEaa#yOzBg5)oEg2AF zhvhOT6h}CoPz>QXLg}z6-_I~1LIFGDV*mRM*uHKnKHS%e@gJ|l+wkT(pwyP~Q!*g^Q0$=nt=*N59dwi~O0pwuxyp6v zj7w%(F2xYjBCf$O1gw;cJv(<}%l&JSKiU;(HqOW@%)Rd#)ZhGRgee2v-C60z2$YP0 zU4Qsk$?Q^+6W2a-qexvc1|m1C4 z5P6@C#N1GTaJtJ(DHen5uIO%QmnGd*Jh&5R^cteugw!a^8#xPg)f3?K0*Ce=z~<+k z#oD!NQ79Bn0me!@nE4lrP<#74mq3?U$@;z3>2BlJGC>9JT{dlg37)u$MK-MV#Hvu4dlO3h;z%|iX( zTn#ZQ1uyi__4_vLyYut6kWFjJPS+Q?x=?2w|Mjv+6xPp{8Rn?Ed%*U6*9G^iU@bKQ1 z|B|?U5q#J_ui|2m9?JNk>kyg3%FM}PcIcp9EDkA-Pmc{q#!NZT$rQ?eaq2x&}RVGh0s zRj)%epOnnb#*bC&^f;w-EczYYKHTyS9=`n>xOC3!K8D}6Z5!^s`)(XRetb|sCVllv zjJe|zDD>u0XwRbQrsop1QKBcCw)IwFSErDo0BuV!T+4}yIuZhp6gtrx7T8rq@`*_` zhAjLfFp@1gC9X=R(eZvOwyyjxMhzc{>z6IXoY}L{lkLG9Z@hsWJ9Z!lfC)8lZ zGdBY@Hhj-V5Qb=2{DVYol<3JWer2`bc%Z;Y*=_`g4&qcpwB(P%3w>sa$yt_aOesKg zn#+KgHZqwiw7l_u_~n*bZBc!p1GiRqPx?J*$+t&puYNw>6VZ}8SLluluPcY`U)_Y`?=+tiD5)tUQ2*3Q zpxTCC@DPLn;96){aDf6c=DvAi#ERLld;@9MEdrwAf|lB;Fw6#dH05MAr28A1LAo}P zEnJy_Q8JKnUHCnD?0)nWG{5+pvj(N^AFoHvf{Rhe<`|4H2!WJ^#)Z!$x@i+TS>3kV zg<+YnZ5wGPg(@e-niL0WWmq|=V4yq9p|Q7()7Nm*0cEJ*_ZloQI`C*|dsAeN-hM@0-ZkEcqHI zQe*Zo+6yPROK6y~mWUUPx|-(+6U8dowv}}a3znt@tICGg)rDV052@uT=*&8p8 z@=(+0z0PKYR4A&UH!?ikiY(BwNRbr`hXx~laj|8d%CIPgz`*`xn}^&+arzGV$)>$62nI0$wO$*cfztPo;+kD6ELdkjyj84m{e{`LR3_b;~$bLcUI0^6T&hO`ZR|k zyNN-rfRMll2?)VJ5Ig7(!X6JTxBlyp+bA(W#{KntQBBG&vBR}tr({8>bt!gNv1*&T zcYBUC!yq6?h*J0dph&rp+?8UAVuyadf52ck_&)-H%1A_fZW0I#6~ ztzUoj!U1H;4_64Y+662VR?6lq$hE1`CWgdDd6*$K_8mKbu6&kb4YPv*p~p(5XX&=s zKhXfh*%5gwrQj+gcpOOZ#+P8wBi6j=IYuPT5COxr(DmvEIJSP*g#pNz2j+=ki)TRi z#10E)%7NqBa9Fifx|HsfTMjz2U1&Mh3e&RsvO_aP_f0tSQcx&UMHXWa)W4L#sK}w@ z{+RJKFpLEOqrg$|gIw(X<;m(;vDKeZx_(wKn!J9gu*PIyQ2cQ1h#`)u%%!WcIMX86 z(|D)_1-~HK!CHJjhOm~d+*nM-JtaGdn4u=+=mpAMF&kp;OZP$8XK^rBzyR>ud(e9S zONp{$NCBDh>`j7wziaW`N;$9{8r9Krxw6tG`Q*fj6KFfq2FsR#oDAP5hV%zR0~6mO zeSlCX#19c;)C=|NRSb~~5wiYB**N*~UL4=}_5}pUk3TOc&zFEGhB&0)s;PC=nl%M* zsJRus=YcADZdmmT=sY7tv4nxrjSkt|Qr=4*2Lh%4a|#%KT8=iVnNwnjd=qlB2Ufk1 zI2c3AkRRMAjEuwSE=dp;f#USNri0>1_Si`rKhzGB*ugPdvm^dkbrw~CmpQQRHtIk^ zN7WXN+>!<<#tO}pIDo_q6-Q_Tb-&((V^1a<%!j-%tbKa9Fl$oKEFnNlhc6b87uZlG z4HF#=hgs&JSi>2V?7PO|NbIq8Rf;9L1+1ndij0w?)&sDn_?%=&6kudfr>BS=U)Wj_ zb_^*)YBw$y)`&Fs6lm8`m2TSVvNJWiOM&$GojOW#00G&wLRi%fpyLR+D{^1z3MZ{Sb?t3~-<_9+ zRn>PN*VTtDu`DZ=aYZ00d?LmSlo!STiddrR5qnGqUULTye&v-55RiYmURcyWC&RgP z5vIi{t(?P>q98nhqg!{wojE3Q8U1%W|Gg>$w#8TGs3zZL1F_bW#Hm@uCYkvRFU*-n`B{m%(!Y_*ID1PHN%+?TqThUF2<#NPQ&@fs#RzC?&Z zAcMMIRsVRR!HE@%QJNeFN3&``r`!jfA}cKuPVMl-JB0m7JY;~7f!*n&j$6& z#2%MH<5kJ_KavCFk!yr|=~%e~2@r}Uw$!MixNDebP(uV0A6+5@&1+G%6Wif3>(Xhj zjv)s1cBMPi8CRS&dI&FeF1a&`=jL_zAw3|V@A@M#eC2Ei zj~YD#142e=Tp)Yalb*OvgxNwQeMbw8Y7_1{$#@diw+1XC`_(Dh2hw{{Eko%oovYx( zsB%C8C9-mGz9Rl5?9$u$T%a@ha5WE)b+0`jvv1b5yD z5RyeGsB0HQ8{U$DjDL8sut!yaE>RFcu}Q@4OG_In9`I(T_n`OGu8rK6mg=L&F@ci4 z1Et$Ta3aTm8)+L>O$uhUWCtCCj$RzN`^6!PsRL!;13fpS3!vhVMn_q&BS6SlRFP9A zWt;GiX3@OjCr0gt8w44j+#9n)HH%n*r4C+9g=KAw*d~Nb6dViGuh;L(e?x^PH=C&I zS3uZZkk>I%ftqn(W+VtkwF|4p<@efuW9cqqivu&HfY6Di{o8F^v2$BgWk_UDGEB#Y zw{dL4+s4!_D|sTG0O3H(ZB*GbVumOcmO-d;;O{?y_I1BL?b=7){0G9BI)VXa;8GUM zv<rj^1YA58KO@(;jtwmJ##cbwTNZ#rEFc>_u<&uoov);FWx4? zu0jzI1xh4|a}-v|S=vJGw};U2^lwiK$hbA15=JH^Q(h%-lB*&>_)ZL=V~vaao_4g} zS30>QQHBiWJ10DHwMbt!p4|$&D*{6ULM+irta>AIJFWK(-Z&cntp$QM0JG9DdGbU8 zVoM;1DJdJ~FbCN;ThR8+^7wjG*#VzHs7?3nE!wcE{#Re*OQdyb z%OLRNhZ;JFwOPrKy}R3R(=y?A^q{#+Y7kyiDgEZ;jmt&)V`Djf@GU;LCcnxj8a&{y;Bd}t__=n&a$!## zCf|>XQLPe49V@z72K>X_iI0nxt;?GF>`lU%B8#`^rd(7sye5YX!QX5KplQkA?uF_a z%BG}XMar5T@LD?2Qli1QQ%GCt9YNemg#Nm%Ben|nSNIY&~(k|F%YenW$Q{>Lp znOFP;WW1b@rX@c*t96r_?ADEx8X38={wzsZXt<(0zKZ;;K3Ebvgw8Sb`CF75BX`r+ z-%xSbaOJrfkCTYW!)4JKzt+&Tkll3sH3+#V%gz+gtxzn}EvQjwlLj{6zCyN{evPvlJB zyY{JN;^4iN2GyC`tIz8u|MN0Y%3Px}E=fc|RCr$PT?ueq<#qn<{ZXAtkYH#UPn$ppaiG%<29gXJ5+EdCur0}!W!aJ?TYCFl{?0l7 z|KE2dWXWN9?;&*I&3$^?{oncS`OZ1tIrrJX%vMzvFsf=bGmF6tAXRn}%m6Y2NR?Tj z%9bO#;6Ad3)h}4`qxOFMmo(t17VT3@K_u;4W$R9j{ z!>{hg?tl5e_uL8ho>=g*doC3X$1g<9yaqUy1v4~Y3lkO$n6x)cSOkh;z%UKKG$1Sk zf$w8v-w^trc?~- zsffIR05RUbyyKRrmd?YC*rZ z{bpe~Hq2ra17RCB8`>ieF>Sc|X2|>WJbQ_0aZE7`6A(mM>~t7a@vKfTHkG z2m^#3kV$8-{p>GQl?|$5F-^CeA?AJJL>Qp~GZG2UD8&o%3fHp1d((kuI1GrUFC9mi zwgmkz5He*+5Aj97fD|Gh#mGlK^buGQ3TB9>PyS+6*nxbz;tQE~Y7dOFv%y6=okp%$P##l6-~vbX z4B$6cJXleiRP5jj?piGx)+~p}2IL={va*Mms?bxZE>RVM!XPBPL*6GUQ`E(Qow6+X zpObR2cULza+;BHWdj?~9V0LE~5}2^o!oi>X7TteUxs{p!yn zv%3UFQnaaUn~SAauf)R3PeN2{A)Co?oC#b5FP>gG>Z%AJi~jXuQFHP_pdh_N1448| zx|9y+l+McRN&+ImkbuyAon`UfusF>nFI&{mghS8m!uI(y#2t&W&3uVw;K_blLWe>>ZSzQkF_&Whu(iQV7Kl21L4>VZqI3B6NVj6nN!~ z%@wgt*$=w#pDz?OXS6}&L(aJ+Ad;>)sIxXDD|DhE9n{CtmIQ+WJpo2uG1r}ijcsc& z&zZ#<7N?Nvvnha|dg`gzv17+rP-p@2rM%6#pc9KfzXqXa;PA7%(R*9@V@cToS^DH3 z3AiTd8j`FMfKUX8JtVF{$V*h+F^0BeJwh2)CYl#XRriBl9mL6g1gkONUC3SNHsjReyw_^@a3}Hv6 z%%E%smThrim=*<=JCc14Ew}45fvFauTdefPIu^agMqNW4p8KcodhM?dh2m?MbqA)_&h2JTwjmmnkjwd&W=y0B61%W|lw&!^8 zYy!pM0+1BheZ@m>Qha5XP!@nP^O8Uja5eRHcIRhv8b-ef~5Cr2YHXh$!R3axAz6 zM9M|VO)+hGmdk)ppdR)!*k2rC z7T>iN4Hv9n?}$XmUz@~1a>majl2))~0M&GtqF#78LNr9<9y$$X6T!O$4 z5K-)4?+_4S$R5(Q=G$epQCSbR_`BYB1MGkPOTBgg0Kw~M{>w?4PxY_eaP+_fZ^I`ShWnP6Pghge3exR z2m&LF0CnPYee|KSp0s5>*y2al3#zIK5XW=iraYuv0>ouSSJxQ5*+Co*(y&Y$G_#OY zge66l`X@;+=)NpAr9{QkS*pJ-sMT)E0Xj};5h3tHgn9A|!3`}2gFJ|0ND#p=O>|%O za9M3swu80&-Fd?OzR#6pS<-RT3!M@2azs-_W3`jqqr_6Q}9$h`zk zZW0nnPJ#{201*&me4-|LjBk_pr zi3p?;FbHY7t^|n4_}H`IzosW3)RZ#kq@;lv5C@Lu!gUaYez;*sB0%^?|0|G^f+V$oOH!hY8BA2l*!mAPI^$6S zMDdskI7C+^+9Kqm!v*wy@(0rtkcX}me1?2Z815RP3OWCLGD5_m8I`AdR0s zQ>0e5%BB=~h^qi`Y}mHcqvTMWjp5-T6bc1UTQx~ra@q&T5rnX2rFh?S<#(r_hqT;zo^Y4VXCtuM>&n87=6LB+1D?xOE!^RO zA%sD|fW$ps4(uflQGrBZQnJ?=Babn7Dcg!^N;#GULwQfaOYD|DrRIEIS?_CF2~~Kg5}ij2rUCV5m4!YQ&cU`GnpwK^)QSRstbGcPg+` z95Fl_&VqUryANaU4bw2oYQ66=Vbs_>FGU_gltp_I8BMwvN9k3hbCC|Evny@<3B5z6 zTavqy<%d4=HK8TwO5RPxk;H4`OpD5-raG8)E{a`4*n7i&Pe00%8J6;n1R$h25jAn4 zXPO8`@+_anbfwz6LQ|HiIkeaCk55BDD8nKfDbJ8zV!|NrP}D?Om47geLjNcXD{=NyDA9)2UZM6f$R}cp1}q7Z z21M&ANdOWfK$LKpH8!lKIyo=qS}43WfZiJ)onC-6{`ol~bz+PBk}7^MAat|k1vYF` z%S54P7{O3(OuUGVuBqv0VCYyAgQqj&arV>{7E_u^pdAx-b3I)TA+s;jKr~uJ_a$4V z7a&cypC?ks&*vH-27*0>JVa(vY;*zSUpL z&xXCIA(rQ9ZNdIg^j!VD=>C$?xlX7NTG^8-jbm3 z!z86>V~?%ilk_!)&L)d9RFMzmU^UjlU3{FB-W9#(Uz~<9WYJeH5>``v+?$YIVgdw? zscH?Phm4Q>uMa>J0+}8Yb;LBKXhlmYaqLju73*Hfze^d|gy7J7NNFF;LKFkIo%7)| z*Gc(=j-0YF^7sx6+`WBzc}UBb*9y0F_E-<$_+d)Erp+=C4&+dHb)Y2n(c@afinFVP ze3GbBqyVX&)9)DvUWw-DL;#|!kKj<2Q*5)=f!8??<}9y7S+0d$=X|5AV2sa2N;L5f z-fR8l<$|&onf9t+uH%OSgs98kdj$U85h-Z|vPY2|gnm;^q5v4L3daSd&d!pmF0_Fng`Hn)8G67 zU*gNPjw(ncT@ffQ1497O-(BxlKqfjf7JO-~pp=s?;*sss#L$86i_@Os4b4=gi|G5a zA5D28wcNc%@N5<7Wuz*Thoo#3Lu~d^P#O-P>tp2|hN~J6nP?$xThx+n*5EEKzj(f_yqGkN^DWurZ?ZlyfdwxDII~%?Cy)Fmcxk#?fJEgD|acm zAeElN0iH8Fg8|OH*oVGP|G46IC|eye6<|xB-Y7)QSCb#ACLA}W!=FJhBoxOqYukGN zWx}j=W%G(sUabu1NfuSvQyr4~*&g)$#gj9Dkc}zu)}7nVLZ8fu$LUwe0?{%NjTF$c zZt5wJ#api$TZ52CBxMyfFHG{u&NJ_;8Zh|0o9YaHH=kep@H*kN&6d@)9>rl`-h5O# z%PC#nyJ6~~gN|)CaFx#AP6Lr>_i90s>XFfHJ8|F+S@l=LR?&sfMWC#(>iChIKpbZs ziUB;9GX)@xpFK-7eCz|D36?Sa6y5sO>Mwmh{l0G@MAzE)X<<123~c}5Cxkt>hK&+$ zW4wb45cw1vFPQQ&<(9u+BkEQy;d&+B;;Ba!ixLZ=I8sftRZ$NiyL3Epy|CuiAmYG2 zIcZR(z4NU5r(E;mE$f8c+Q4~$@JW$W>^#9csbWuW??(S$miHGMj`mHb{Bq^s)#f|T z7xm|M0Ca^DasN>^I-5tf?ZCl1j!g*U7)95lkXlS}YJ!bo6Lk)IF8`0JutilYLffhB z!H)}fMI%@3+?;w-9I;UB9>(75f4A|@#apfv4pr_X%ZvwxEFe(!>(Q&)L&h(z<0m%= z>Th#wNeYYj3KW|Z0lr@nN7j3>oq<+7NHK?c% za+h!C%6H~>tQLLk65(~u=blLBnLX(HO!Px}K}keGRCr$PoC%QB)t$$`|GRrGV3+|028Kg$iCIahS))dXHwF(}L?9lCiCIl; zEH|r3ZRIGnDlyiUyRmjtMqSY)Br&D3(Y-=q@WR@7u;}Wlc+3nA%q0WP41IV1|8MK} zd++`GKjX-ZVD~hnduY0+kNLm<`@HY(eBB1Bmx`JJqoPJr9So{KDr^x{fmDH1*bG$I zaH$ip<_1_X8>VGJWCQq#G;)I(?E0rCkJyEF#0~7)x(W@uuTh=Fku-cEEup%3#MtpFbo8NfS=AH(epkAUhKfmAN=-+InRn8 z=&=u7A!_C|!nSRg1pzZKV8euMSQ3U|srv>@!-Pqxm0{37z%n6R6S-^_1F!AIbC=&& z@#kBy16=g04WjPY88C7I%mNsKWl8`JK`ZhQm;735e8TSga7!Fd!rn_#)tI zLHK+PTodVB25)WJhK@Tc&(~BGkhXhPi@FnAAyNgH!r)0JFi|BC2-hT)5D7L+4pugUb^)DNuQ5N9l-3{&K31%FM>$s05VX9 z!9cX{(8`eJ%7JH%1j10186#j)A=0r+g^(8sIMNc1fjk1FvuUJq8DxSSvVNX#2})37 zqW8%+u=9q0ozyv*)Ppa6{yKqFp5r01`)vQoTydTu6(U1iQin881R-X+@GJ>~e%I>J zW=jH*2_kF*zA4c8KRYqdzZcEN%|qSXMkJC6r1AtN4^m2&d`hi}XP4bRsdF-E2XEWF zK{zvNfkMDIbht`pi-DNZZ^)2V`VTf$mI4wrTRPgJkeIS{^<&vK(z!Gq`QANv?crxR z^70z%aNL(ZhfiF-9H_N%Adx`E&$1cIn*owT3A}vn-IF#ilXBpuzdl(^z3NjCNu>^D zs@P;{AS(IO{zLitlV3j< zEoU!9I+NktgrN8}CVC!y8M|-&!=%j3q#Sg?e_kofIv4O|`bPGiG(yo8xpnp(l=Oj| zxpe4JXI=!N9J_M(q%8W2jZQu0Pievam)^zZJ08GO+nzx(nH;mKId}C5SaQSJFd99i z5=rFYvu}B2`CXGTH9!`7DMslCi))Sf!;fwDf|4C{eZ3a zUn0E4jSxBV9i)ztKy=tE%Ok2ZVp{Mx%92nMA0mf`&7lMsl2l_DX_Q+)jK z$FXwdN(6yC?&yo@*=W0A1)A3`LpGm7`n@5%wYvOSeA$64eEQ2mtGDC0e*Q<|&uif%;Z9cDNQ~M8<7^)JxR!JE4vPz^w zC)JRDAt2M7I^4K;4eE_JXXsH=NE5w%`*xgi$|)!m3S%lnKUjBCD;ECqY80#h`+oB} z`hWOTS?8#%2b+E8=S6(kELfQU4o$4(z_x4zroe$917G;E9;N(=He0%o7-s5RGATNA zdY>wl zd7Ca3-qc!l)UNBmvE|jZY_4Gq77{q%XCj%pbnap4g#Cp~5b2h~UBgDqagiBJV#~F6 z;rjJ|g>@U&W7e#hNF`Hv@x>Q$`|Y=5+qP}v!Z70w7H_-^c3T7TxjYKVEIKYIuOBHZ zkOhxy5RPrbaa_2r3)dkS((F)}OPB84KIDWChkbx5z3YlD`x0I8b;1&SO-&8Do_rO* zzwRFX8#T2xn9)3gL*2c5_l^rfzhK&`rI>f~Imjl{@O>YF3ACSC-uhPAfHYovqL{jB zDQw?>>v`~8kAaZcaxCcwXtnRlA3%Tpea_CKMaEDmx^_ibyd^{8cs!1t=ikECtM8uh zrXEcPHhYhLGV1pTn`>8h0Io1Vz-bA zve=dGmzCeJ6fc`k5{gt4`xRa5vMgApjsLrEE8e(ktE?)1#7om<$D`%O709PDQXLw| z=Z->!O#AW)qG8n%7zM!fT*P8A#0ZK_KwMSwph-57@H1#n_l1on&fZl?L_^VPkqs#Y z%d+6r#L)B1PP~5iRt&zpd%{S(wrMzKH1J_WbTuv~S#o zRL8)(88nU@Wn-Ja{-ou*`Ov~ilB&^)3mM%@Y?2~AdCR@F_xy1=4y{5)Rc7GCm ze|QbOkG+Beul9^N`srktYl`$E~El>9(*f4+u2 ztl?O&W6GhE4K!mM`z z+HvUFp+Xo6`46?Xipil znysQ@qzehX{fPT)u9V55&z0CSYI%|5dWNxk!^0(8xTCYxk{xKyJr@hJ)?p{jKE$;p z7{`W1Ra(nNb|{76uD#NC$aq#oRe;b?v?Yd|pRcEF3?8 zJ-r4-jl+v1*ExjUUwouw^Heq9WD2a9gMpvD#M?RDwy6*WUvAuq znxUw9(msYbL_=T=k{%0_k%(eObBVS}M)?!Fxei8+Eqw_e=O}7W&3kAaS9sZE5fsN{ zb#OFgQ8m`Xn10Et6crGLzZ%9^aH8sof*C_7BOX#=vNbIZlY$U} zp#y~=K*w1}Nwv4_k@cLVQ`oCj!uKsQS#)dS?G^GAn>XywIRdWHfpCQ|$&3|*Muv;4tq;j$p5<2jRkBElFVJIx0kJi14PF^c40%Q~y zdY{Po48(4!8v(?uagcbb6McX8c*)HASd&?@gOO9GY&VRwG!&{;F%W@{Gh{ce`KHr_ zGq(XjGRsL>m}y5tU!|6C@*^QK6)(e3IBL$KY8l~Q@=6)hwc`?o>}&I_F8ry{lf&g)fiBu~sj@vkMB zh*}r4U6equGDsy29&(-g(D&^>0U*&;G4qx)MgJ{NjJW_>{{B2+&!(_9ugq1TKGR%m zDuIMXc}>hl;>mUlKf3dvi>dLN6Uj=+yvMb<3_>vI{d`M6JezZm%>VYI|JJd`Hqn*+ zalNjj3Yq92Ng?*M7=mlHT5n{#*XU6ml>)l+{yoL(xy@OBjl3Sm>q`VX#efUpqdK=5KwL|E5%k zC9ed7s?G`qtESFH=9PZ*e)D(ZLZ0XXJDk^5#2^;@_A2SrwK~XOQ0Gqh4K`P@dCq=h z&sQHCcib~?K0~nMr|JOJ&omSQ;*mP&F&kEci}n@e-M@PUG?1CMoFVGY zT*#4AxY0mY5&Ce4)s5!nM;JTEm$O6cA>b^Mkp zmux7B)TNc^F33@5OdBzV9()yh@BHJW&P7EiWX?}66!A~B6oG{Gl`+r>c-DkP4fD3L8#UAr%JX{{fgzbHAV_0A~OI N002ovPDHLkV1o1X2aNy# literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Launch round button.png b/examples/moving-saw-platformer/assets/Launch round button.png similarity index 100% rename from examples/rectangular-movement/assets/Launch round button.png rename to examples/moving-saw-platformer/assets/Launch round button.png diff --git a/examples/rectangular-movement/assets/Launch round button2.png b/examples/moving-saw-platformer/assets/Launch round button2.png similarity index 100% rename from examples/rectangular-movement/assets/Launch round button2.png rename to examples/moving-saw-platformer/assets/Launch round button2.png diff --git a/examples/rectangular-movement/assets/Left arrow round button.png b/examples/moving-saw-platformer/assets/Left arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Left arrow round button.png rename to examples/moving-saw-platformer/assets/Left arrow round button.png diff --git a/examples/rectangular-movement/assets/Left arrow round button2.png b/examples/moving-saw-platformer/assets/Left arrow round button2.png similarity index 100% rename from examples/rectangular-movement/assets/Left arrow round button2.png rename to examples/moving-saw-platformer/assets/Left arrow round button2.png diff --git a/examples/rectangular-movement/assets/NewSprite.png b/examples/moving-saw-platformer/assets/NewSprite.png similarity index 100% rename from examples/rectangular-movement/assets/NewSprite.png rename to examples/moving-saw-platformer/assets/NewSprite.png diff --git a/examples/rectangular-movement/assets/NewSprite2.png b/examples/moving-saw-platformer/assets/NewSprite2.png similarity index 100% rename from examples/rectangular-movement/assets/NewSprite2.png rename to examples/moving-saw-platformer/assets/NewSprite2.png diff --git a/examples/moving-saw-platformer/assets/Punch.png b/examples/moving-saw-platformer/assets/Punch.png new file mode 100644 index 0000000000000000000000000000000000000000..224c6fb89aa31c1f46db9fc25c9271c820c96189 GIT binary patch literal 5407 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 KMNUMnLSTZh literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch18.png b/examples/moving-saw-platformer/assets/Punch18.png new file mode 100644 index 0000000000000000000000000000000000000000..4523910bc022ae19a006ea823517c49e33294747 GIT binary patch literal 4888 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 KMNUMnLSTZh literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch19.png b/examples/moving-saw-platformer/assets/Punch19.png new file mode 100644 index 0000000000000000000000000000000000000000..4523910bc022ae19a006ea823517c49e33294747 GIT binary patch literal 4888 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 KMNUMnLSTZh literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch2.png b/examples/moving-saw-platformer/assets/Punch2.png new file mode 100644 index 0000000000000000000000000000000000000000..0401e926e4d8d95649ec65a417d670e3049224db GIT binary patch literal 5313 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch24.png b/examples/moving-saw-platformer/assets/Punch24.png new file mode 100644 index 0000000000000000000000000000000000000000..e4043706c6a30d7cb4e677a59cf1c6d936f3a773 GIT binary patch literal 4389 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch25.png b/examples/moving-saw-platformer/assets/Punch25.png new file mode 100644 index 0000000000000000000000000000000000000000..e4043706c6a30d7cb4e677a59cf1c6d936f3a773 GIT binary patch literal 4389 zcmV+=5!&vFP)Px_-$_J4RCr$PTMLk6ReApIIrsMM$MnqXV`g@Dc6L}nOQwk_Y7O6YVPc8&vc*Lea?5k@B1I;j)&!=BLdzsE}aor24)Us zECaI)OmC*K%$Q}yEHkDz1eO`o8(zyEv&@)f#`K23GGltfYuRI#8MDlo-Vpfzz?g}T zUT(sXGW>xMDo{WKAZj3*uAn+~3^V|;KhIj zfgphRo`%oB$Rj-`V0nP@paKn}Je)dm90$MmU-;>#zPse>Sn@ZVPvDbZ+-i!O*1)5$ zdIDv^AV3I&fW8$y`UsTIzY|Er7W#6NH86;cL81YZQ#f(t81~%vIQD#Q_mZt=$=+x_ zK*s*$QZsb*>!ExF)S7@WFbsr7PWi~G0C|-|UIz$OzyL8Y9*y+C$QU4DU}8k3fhdX5 zPzmCkho3#Q7e9XY7nWpAOY$c3fiiK&W>dUy0;U?nOGpVK3Gx$?iLZPHp`ddpst`p# zL_viNlmkUz5nzk~Vw0d@fvG1A)RG8w(?Ak>I5GVS9=Y_>i(c2F-(X%)zO>a8HjTnm zVqO>ll9f-+3z!{69b&*QU_j?l&>=#VvmPUmI1w2p46&sN41d;Ngou zwWzf%>g0JrxofM*pF0Xv8}@oTV2CA(WkRwk`FWK60tWpeN;*Fa6q%sMfDkZ=NkCuB z7zRTaQ!@e(F(~nYO0A0TUvyjF>+Ac(`9K-pwZ#-JSPN5W!1GuHHnK?M@fnnWK^gK( z7z&Cg>mol#(sI(FAmk2aixGGToQ6plgu01PP3ow`b&*ukV9*eFs8*`@!6mo%wZ^_q zn%8JQahWM!`C25WBL<`$7>YV1A(GEvP{ay<0E2#sJ%)TmQ{c|bieMG4h`%r})_faD z%wSZKI%eV;W|A8J-XPW(126C6^wd%Oc+0My*V*$43+3BqKYEif^#)*sDYQuO7YfM= zIZw=%GI{^C#vd!gLvA+1!USVe%XDn#hQpSW13`V>2hP=bKMp`pNysjg&C9 z$*38fL{P*M@~QI%Cb2RsqZZfkj~~Ai z_uhFo8n805C;7t#ob%ah5GM(qzo|RcED12pWRmThrg=tFY zRES|>Om2|#m%JBnX<&IaCpn$RP)OcbT!ZV@y^X_t_Sn69H@0uzj-yA9wmh#20Ve62}$`4wnGjHqgkyN2q-iwd5}=b7cl5>oM{!ou}mz zJo2jFIqNEn=7u>7&UzW0ziZbn?A*C?*0hN^jpLQB*4)*gg@Ad@Bfn*mN<$c88AHsW zpNTP49aHs89us;}7nK26DFtZp8v?~w)K}36ZGtCqDl#x+z%de>YE(F#cTFkc15HrsBg5ut6mb0I zX}mVS7H6&BfD`o@VWJA;T&=PDM?b)G&p(e`E(en&Kwa`G1PUtW1HOlRsRTcipLH%k zZdD1V_Z$~HL`;>7%~Pu#Q3=%GB*mSr>x7%L@BeHCd!g_Pv!5M^E9MDJ9iis|SC z*FWi`Y>nkU-R99!cWK3visRVINJ<5Ijnq}h=MjcsQ%d{-|8t6jF^N1u^%uQHX+}Vu zFDuW*!2)df>JHikM0^`EAFH#ao3416qabBY}YLzMy%9c~3wUAhxg%D0!six$!+RRx@u7fkQgOia9 z1LGvcO)!Vo5=d$M@3t5Sum0$&?jtnp;bx9LHPj!LUPaG@z)dKOGg3P=YI=QNby(Q{hE z(_+B%$ns)|Y1EFNMs%_&JJaj;+c$pK&>j-Jo+Db=i(!He2Pap1$nXifpfd!ARV9 zqk$wgNU9O`z4NPGt+}f~-5@t{_g3lPrPZ}?ZvQASyH|qh+QLD6#!+#4Mlce@x-fC;qLgHFq_r8(`Mn{>w&{0-H`)uW{kK z#fTk1!XA=V8p>Vw&y@w44W`zdCKHYpL$wrPlLMwXWidiW$2cV)F85+WBo=#ded`K(6Z9YvZj|=%0902Sz-f4 z+q6I0k0XEC+x>gJd}KGcV8u;uGKKR-K}MWyT&1RL3rq&X`b#tS$+kwVUR)W_!%R7x zQ`64((0I9mmwxwKJ)AAe?D>Rl&>8u|ON>7@(A-YRuqF#aOCo3uTAJw&pmg&)EhcAu zes%>;U#@OzBzW=qf9`9IeVx=5IDhyYcl;}*B))zj%nTo(Ry84ZlYnQWq&zv z!vl-D=!-hJ8|JLqd7%j=hD26w-zgiZQqRfMRy@vD>NG>U2cF(IlNLT5rmsAhnFv!i ze{)f5Thz(j07GMje&ZKRVbfT%4szMBV@W$W8BkKsu>dt&ovqzHW+R2?S_7&a;>CA& zw?{qK8qNqXskHv+twxU&0o$VB7AR4_1t`m$EI4kz%8B2}ifo7gp*rYv1XGXU6$AJq zCG79ACi=Mm#!X_)ZCBXM9P0WtC6tDD2bhac4glvTHp-Da6Vae6a8J^?l-^fcgA2wBIVh*RjEE^>F4Y{bL4iCPK9D z7%z1Co~OK(H@?Z3Ml4l%DF;1}6F>%X(B%+bDS#>l4D#NqzS8&l`aW?nz)ak|OHlHGAHESKsUF z`^0{M8U66vOn%cCl1d~|gjj3F>s zLd29D7mVab6y@j+s>+iu;ovR*($^aMI;mf_(0LoacAcRbi9)LYBL$!I2W&j1dusxX z#?cuZ{QZY!&2jXjzhqcOC6bY4OFj@#e7h}N@NxS4dvWN`{BxlGbZnrknRsdFC(Si|ML zbMhp6kPPd4raSsmxAQ(@z?}2gO>zUHl?*qp9YEPf^4`3UJ(u0xac<*(d$l1iVdJIn z%xr0b!i35Dc;)NQ;>hj2b?vgCoe^L*e&+_>L1@`&%+A8z?#0%t6{4S=z=7*$w+&YP z-bJQx{u+2WB@&|WOl)ztp=20SdGa6*ez3cHdONY`RR?DBfpIlN^O|7Lrg0wzMpc_RD>RSMK|79Qo_VdLltjgS#~@ z8n^nEx0vDU-ymk&=RwSEHt`l z;C;?{!PCxp{AQEPShJ=1Q#hq**+`UD((avN*?&&=mnh26cweFR%wbLdIcK3nE>I#P zH^!cuHnCiUvI!&Y7Elt|OJ378f(s(iHelk5zh;8T6-ems6YB=i{$pGpso@a*U=i{0 zDyH5qGNEJrU0aPV2Z&#(Vd{OI+md4+d%OAHTX%aCU*2w#Q&qgQQ~qjg;w#$>$%`fH fd5da-yZQVds^t41y&9c700000NkvXXu0mjf=MHmT literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch26.png b/examples/moving-saw-platformer/assets/Punch26.png new file mode 100644 index 0000000000000000000000000000000000000000..e4043706c6a30d7cb4e677a59cf1c6d936f3a773 GIT binary patch literal 4389 zcmV+=5!&vFP)Px_-$_J4RCr$PTMLk6ReApIIrsMM$MnqXV`g@Dc6L}nOQwk_Y7O6YVPc8&vc*Lea?5k@B1I;j)&!=BLdzsE}aor24)Us zECaI)OmC*K%$Q}yEHkDz1eO`o8(zyEv&@)f#`K23GGltfYuRI#8MDlo-Vpfzz?g}T zUT(sXGW>xMDo{WKAZj3*uAn+~3^V|;KhIj zfgphRo`%oB$Rj-`V0nP@paKn}Je)dm90$MmU-;>#zPse>Sn@ZVPvDbZ+-i!O*1)5$ zdIDv^AV3I&fW8$y`UsTIzY|Er7W#6NH86;cL81YZQ#f(t81~%vIQD#Q_mZt=$=+x_ zK*s*$QZsb*>!ExF)S7@WFbsr7PWi~G0C|-|UIz$OzyL8Y9*y+C$QU4DU}8k3fhdX5 zPzmCkho3#Q7e9XY7nWpAOY$c3fiiK&W>dUy0;U?nOGpVK3Gx$?iLZPHp`ddpst`p# zL_viNlmkUz5nzk~Vw0d@fvG1A)RG8w(?Ak>I5GVS9=Y_>i(c2F-(X%)zO>a8HjTnm zVqO>ll9f-+3z!{69b&*QU_j?l&>=#VvmPUmI1w2p46&sN41d;Ngou zwWzf%>g0JrxofM*pF0Xv8}@oTV2CA(WkRwk`FWK60tWpeN;*Fa6q%sMfDkZ=NkCuB z7zRTaQ!@e(F(~nYO0A0TUvyjF>+Ac(`9K-pwZ#-JSPN5W!1GuHHnK?M@fnnWK^gK( z7z&Cg>mol#(sI(FAmk2aixGGToQ6plgu01PP3ow`b&*ukV9*eFs8*`@!6mo%wZ^_q zn%8JQahWM!`C25WBL<`$7>YV1A(GEvP{ay<0E2#sJ%)TmQ{c|bieMG4h`%r})_faD z%wSZKI%eV;W|A8J-XPW(126C6^wd%Oc+0My*V*$43+3BqKYEif^#)*sDYQuO7YfM= zIZw=%GI{^C#vd!gLvA+1!USVe%XDn#hQpSW13`V>2hP=bKMp`pNysjg&C9 z$*38fL{P*M@~QI%Cb2RsqZZfkj~~Ai z_uhFo8n805C;7t#ob%ah5GM(qzo|RcED12pWRmThrg=tFY zRES|>Om2|#m%JBnX<&IaCpn$RP)OcbT!ZV@y^X_t_Sn69H@0uzj-yA9wmh#20Ve62}$`4wnGjHqgkyN2q-iwd5}=b7cl5>oM{!ou}mz zJo2jFIqNEn=7u>7&UzW0ziZbn?A*C?*0hN^jpLQB*4)*gg@Ad@Bfn*mN<$c88AHsW zpNTP49aHs89us;}7nK26DFtZp8v?~w)K}36ZGtCqDl#x+z%de>YE(F#cTFkc15HrsBg5ut6mb0I zX}mVS7H6&BfD`o@VWJA;T&=PDM?b)G&p(e`E(en&Kwa`G1PUtW1HOlRsRTcipLH%k zZdD1V_Z$~HL`;>7%~Pu#Q3=%GB*mSr>x7%L@BeHCd!g_Pv!5M^E9MDJ9iis|SC z*FWi`Y>nkU-R99!cWK3visRVINJ<5Ijnq}h=MjcsQ%d{-|8t6jF^N1u^%uQHX+}Vu zFDuW*!2)df>JHikM0^`EAFH#ao3416qabBY}YLzMy%9c~3wUAhxg%D0!six$!+RRx@u7fkQgOia9 z1LGvcO)!Vo5=d$M@3t5Sum0$&?jtnp;bx9LHPj!LUPaG@z)dKOGg3P=YI=QNby(Q{hE z(_+B%$ns)|Y1EFNMs%_&JJaj;+c$pK&>j-Jo+Db=i(!He2Pap1$nXifpfd!ARV9 zqk$wgNU9O`z4NPGt+}f~-5@t{_g3lPrPZ}?ZvQASyH|qh+QLD6#!+#4Mlce@x-fC;qLgHFq_r8(`Mn{>w&{0-H`)uW{kK z#fTk1!XA=V8p>Vw&y@w44W`zdCKHYpL$wrPlLMwXWidiW$2cV)F85+WBo=#ded`K(6Z9YvZj|=%0902Sz-f4 z+q6I0k0XEC+x>gJd}KGcV8u;uGKKR-K}MWyT&1RL3rq&X`b#tS$+kwVUR)W_!%R7x zQ`64((0I9mmwxwKJ)AAe?D>Rl&>8u|ON>7@(A-YRuqF#aOCo3uTAJw&pmg&)EhcAu zes%>;U#@OzBzW=qf9`9IeVx=5IDhyYcl;}*B))zj%nTo(Ry84ZlYnQWq&zv z!vl-D=!-hJ8|JLqd7%j=hD26w-zgiZQqRfMRy@vD>NG>U2cF(IlNLT5rmsAhnFv!i ze{)f5Thz(j07GMje&ZKRVbfT%4szMBV@W$W8BkKsu>dt&ovqzHW+R2?S_7&a;>CA& zw?{qK8qNqXskHv+twxU&0o$VB7AR4_1t`m$EI4kz%8B2}ifo7gp*rYv1XGXU6$AJq zCG79ACi=Mm#!X_)ZCBXM9P0WtC6tDD2bhac4glvTHp-Da6Vae6a8J^?l-^fcgA2wBIVh*RjEE^>F4Y{bL4iCPK9D z7%z1Co~OK(H@?Z3Ml4l%DF;1}6F>%X(B%+bDS#>l4D#NqzS8&l`aW?nz)ak|OHlHGAHESKsUF z`^0{M8U66vOn%cCl1d~|gjj3F>s zLd29D7mVab6y@j+s>+iu;ovR*($^aMI;mf_(0LoacAcRbi9)LYBL$!I2W&j1dusxX z#?cuZ{QZY!&2jXjzhqcOC6bY4OFj@#e7h}N@NxS4dvWN`{BxlGbZnrknRsdFC(Si|ML zbMhp6kPPd4raSsmxAQ(@z?}2gO>zUHl?*qp9YEPf^4`3UJ(u0xac<*(d$l1iVdJIn z%xr0b!i35Dc;)NQ;>hj2b?vgCoe^L*e&+_>L1@`&%+A8z?#0%t6{4S=z=7*$w+&YP z-bJQx{u+2WB@&|WOl)ztp=20SdGa6*ez3cHdONY`RR?DBfpIlN^O|7Lrg0wzMpc_RD>RSMK|79Qo_VdLltjgS#~@ z8n^nEx0vDU-ymk&=RwSEHt`l z;C;?{!PCxp{AQEPShJ=1Q#hq**+`UD((avN*?&&=mnh26cweFR%wbLdIcK3nE>I#P zH^!cuHnCiUvI!&Y7Elt|OJ378f(s(iHelk5zh;8T6-ems6YB=i{$pGpso@a*U=i{0 zDyH5qGNEJrU0aPV2Z&#(Vd{OI+md4+d%OAHTX%aCU*2w#Q&qgQQ~qjg;w#$>$%`fH fd5da-yZQVds^t41y&9c700000NkvXXu0mjf=MHmT literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch3.png b/examples/moving-saw-platformer/assets/Punch3.png new file mode 100644 index 0000000000000000000000000000000000000000..0401e926e4d8d95649ec65a417d670e3049224db GIT binary patch literal 5313 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 Y2l9fM&fw$zDF6Tf07*qoM6N<$g1c)z3jhEB literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch5.png b/examples/moving-saw-platformer/assets/Punch5.png new file mode 100644 index 0000000000000000000000000000000000000000..82705ff744518ecb432df8c381c5006975878375 GIT binary patch literal 5578 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 Y2l9fM&fw$zDF6Tf07*qoM6N<$g1c)z3jhEB literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch6.png b/examples/moving-saw-platformer/assets/Punch6.png new file mode 100644 index 0000000000000000000000000000000000000000..82705ff744518ecb432df8c381c5006975878375 GIT binary patch literal 5578 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 Y2l9fM&fw$zDF6Tf07*qoM6N<$g1c)z3jhEB literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Punch7.png b/examples/moving-saw-platformer/assets/Punch7.png new file mode 100644 index 0000000000000000000000000000000000000000..5d928bfe34853c26004ba33ceafcb8b3a070ac49 GIT binary patch literal 4781 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 -%dYgV5}i>l@!T07Qc9@~;7Cwq zrC9sG*6x9?{$~S&)!a2Y|GD`D%c5+BC;fxfD%B=uKXF!2iuQstqK}Ksa5eFqvt=!7 c+5eaQ7ax2EMN1gBF8}}l07*qoM6N<$f@IRq2LJ#7 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_10.png b/examples/moving-saw-platformer/assets/Red hero_Climb_10.png new file mode 100644 index 0000000000000000000000000000000000000000..93c9138c260d8634eccfaa15f1efd826e14c8793 GIT binary patch literal 3554 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_11.png b/examples/moving-saw-platformer/assets/Red hero_Climb_11.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd683ef127a9c636bb96fc565b1343da7e96320 GIT binary patch literal 3653 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 Xs<&9&jt{*{00000NkvXXu0mjf>PZ3W literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_12.png b/examples/moving-saw-platformer/assets/Red hero_Climb_12.png new file mode 100644 index 0000000000000000000000000000000000000000..0e768910019f15aea1ea49f3b727f36fc50191f0 GIT binary patch literal 3620 zcmV+<4%_jGP)Px?-bqA3RCt{2oN0_4#TCbYHM3*S*z0qBV6e^NJ8RBhY;JK1@8AFTs`{9PK^wF|8?-?iv_TuRK^wF|8?-?iv@e;d&!dwwr%Z9S z?>hBlW{(-u42%Hs_9u%70)SM2K41W$8>DkxEkV7T{ZNMqO8NgS8;Z8+|7@)c()-Q4E>;+!4KJt=4J0hExJh8SP;K`4+9w;}` zCus4s!+2!TxlLGP`~*17UrVb0K%>VbMm&d1@_=4o707ZCdF9fz>$=a5cG!Gi1u(-r8cmA3DMlOd)NziO^}2yyA^hd>54Y^Rtd$ zhi^=q_8s8&K*l{Hn$J2hI#o5*5{@NCt6q>FBm8mRsz*!j?E5s4PmmHpe>?YVmQ0_1 zDe$mW5+{V*dhVXYQA-Rgc~Rh^<5oSkJ1I$t2|A*sh1Zu}G9J|Xh>Y|lT!>Ulco>DN zMFOw`u-*esnYa2MJ2xaCDO0;jv@M)68H68-$Vh8=_D8U0D0`L?5z86p%-cWJ@+y7R zHWGkk|5#;iI~NNbYbMB}uU>FoE{T8HB#i-Hyl_blSP2w-2{*A?LPJQe5`o2JkiFY_ zdR}>B&)&LygA^2m$b5vc?imhIi}=-oQx3suvCDnR!-FLuSOOwH|LsW&hBfM5B7(kq z_*{UKoMAhI)`V}$UUNhXBk>ZWVd-I1#S$+Tm?2pWZ9!lZBB#zBGrA!k6DvqWP6$#9 z#u?Ug3z{Psq=-&d-D<(ed3LAOb|)M$wlRX58fsPT-x|sccikfX8p&p&Xe_&}*{hkW z?9ExVd@0RFEJdP1S9!n0RW@+oh%!8^>tV6VD&NB@VIhGi*AdRRMfw z*u)D`i|ELaY6%)!!%OMp1bwl&#m4btd&c!~V*!@JEGEbRNTGhUM9f6`I>)FUOD#bp zZ;R=Y&ypu;ky3T1UbQrmr@~075t2Lq+P)=@M?OowP(+HcSGo3aZI!E)+iiSUVqjIV ztL=iZ#Kp48c6i5q%W=oD`kXVEHgZIye~D)?M2f~fY2}uN)#AevWGBFnjyaO+kC@AZ zLg7l_e4u&Jp;MOwE2lm15ZilteI6#iSVf9))Z#c|t3^A%=2;KAB&ka+;404^kFXQq zmihCTP$;|t+z(s;oP~9J_=WamOPj{!^C=T#jj!K(1zndT;yPlkz}-6T^_7ODU&DDq zQZ%B0op=9lQ}LeDPX)LYSP9ue{86z!zfU3wc(bbEesP&Ew$=A^nZW-Z|n8 zqadu%ko5Es9Fm*cJG;2{$fE$R3ULJBB4F0Ie120$(ajnLL9br4n8RDfP6bv22ie8z zc3-{hs`2+d;6t=dob=UpL>n*=W8D%T%Tq6)kB-oiX#?D82NXE%iI+g@r=_f#B z%gx6g1F)n9IRLHb4>fgyc3rbf0dE6A_i*Po=W@$^Bv}LOBgB!=q#KpM z61#VuW$o`>vt=7Ve@udmOs3Cb->=ay3*0uo;F$_*ss+zXq!ADll2z&gLnulunvPAZ zeO;vzxH+|!mGvE6PK#qSKKkpehq~OLpTVjl)y=pwk=rg}Cc;D$?U0$|jn*QlOlIFT zb7r*wr`Pn(vH^WZS5R1Z>DHXjX0Q9rDJOc0{j&FkP>gj;O|=9haF1F%At~f?g{cyr zTfNqSClqxBJq}zS1LW>+watF!vYFF1t8y8nT=1UXz%yKR5Uo5wEv6zvutL=0#X=y{ zlv@d+Vm?H^Wy+R%^{NK*1Sw4QJBKEip+ku&~2gMe}nHuuoq_gO-CP z-1|TU_+}(TfVp|4;^rEuXfv9dYkbGNIm-D|G~y)!OV3jkKaNumpZYvj25y+~;KRNH zPKb3541jfsQKF99AbRJq!zWFpIO^5v8CW(+%KBgVWmE>H&wc2T-cP#y_x6pe`6dObZH&3bx2 zh32tjvQ45?wqIp3ol0e%P)gm<(OdlN{3q7(pN>62?l~5k*EcM^nAVXaMgcDZbMd@O zB$W!~@_dc zIq`jE%xE54bQV*Zo5usUVZGWr3}}){MM|YUHPF{RCYD-aCGY^{S(Q93gGm;nU#HIW zNo)Su9_440#ePTewTsQ$DIyi756vu=N_mZODWKPhr4~q{Jn@|jpZeMkUh~|B8t#Q! z?CE^oBWsNPWz(l}*ZiXnidIVmDG75+xbk!?0BMf$tCltX*vFbVraHT+=9Wg(5~|4P z2VXU;VS?;QwKY}<#ULgnwP>}RdS47d_9$ADJAx;7*|oiD3CdHxaTpH!zl?^F%z(0^sJbp7MlL+Hvk#EbZXq2iGFKXLD$V{Z4!}5*h5S& zx1_8*WSqHQpCw7sCr?QLwssLaK881;mLN&XIBOY|=1ipTH>4JmKWoc4 zk@Z>v1u@#q9olf}UNLL+lB*>MtEI-hph!zFi&+b>=nyjZ1w%12VhZ-FC_wOyG@R`A=A^r!}FLL_x;mkyvU8$}JvZ0z)WNEn$6V=tACHwAN<{ z6vQsih)Av$yY;#5^2-ggLjrVYT2PKqojrEq+pbYBBo|x$mhRdtcws z>3_X9t|j_X?;D?X(l&DV2Qx*4WuO??AbWv@zkK)Otxxa%tO2iFOH5El z-vCc;-&48b(1X?hIf0V_RgYRAfEevw4@UJcET{GcgoRJ-+PCS}jh`fQjuZ$2o1`6k zDlJ*HZbC-pH)XRkGxjrZe`sl?At4#97C$LARzJv1z_mBNwPn{G?{81TwKTp^XW54R z-MsT@CkvYMqxN@o(Ui?Hbm$OrO<9z7TO=^I1QFv6p zh4yGK*WS~YDmjocL9N5`v$1bbxo?>$$`zqpDbYUwO7ZLA`5|{?lp19}k|_W=gq)_B z0j%$#6-DUnE6L4*x?F$GsTAH4?!@=PhWXEMMytvPLX5f~FRRqEu$CS*ilYtlH{5(@JH$Nh=7u`9S)wq`+Fy~x|WxB=M17fniZ`#I23Q;?+!)vV_p$#E$bJngegSuKNHA5-&w2dt`X-BU3XvaWpq=wu|&o-TP{CK6*4m9FD zdEtKG>KRY1Z@7=KLvkz_JBmLX+m;1*YDY);2XAboyIii-v>{8CpquBka#icW*8{)P zyRbQ00bH?U{hO8lepb)dLcUl_m7ttbY&iP_lu|>1*}zm#9|0SIzQdnhPj9)78U9OP q2jtHsXMl_rT4hP{Y;(}Q)b@YZ-00)P`hZmc0000Px?uSrBfRCt{2oOzHPMIFaK{odQnZgz8SvI!>H9E3v-#S|DN5Y(VR3}^%;QSgua zVbm&*qRP@LE%7YxtJLzqBO;*Da9UgmC}OHa(U?^rn8d&u$emrtCi`~Z?!KRY%+)>9 z^WMCf32N2*ZQjdFPxp8F_nmM5x_hSIK+~Gmw5Bz!X-#Wd)0)<_rZuf;|6`_Jij%x? z-aLQ%8_O@^jA_$4fk{A{`za!V03cOh1Qj6-~Halcxdl)FGaP1lSt6Y z1@pP#Rp)WZoH?_Avw(|%OMxXoho8|W2Jp7T`H~<{KkyglBU=UbAo9%W`yQ+S-2d;r zC(Die33}_Ih5UNu6(t-pJ_cM8%_ZJH(C9IVk=;k< z59I1kt_0n&@(Qk8wD8ryt-xaQXl+u0O)<(yD35={%y$C#BEn6-dA9H1J2pR@)fL}z zBWTmg%X!P9MehZ^3lxGQqWP>7qf=E^E%8`llq!RK6yba4Z@O#jseu+!c;*^QEe=@ zta(;5R=Jy}*YhRLG7$tIBGU+0QELK0qVp9Obd9TS7P68oA@b~4{@1i*-b5`MK~4oG zdpnJ(C23C-*Q>dSNfarJN7bFoGAc+Ak&?HqC6i1odb!-x;^G)(hLZUcwaiT{{tBCp zXjy>B6*lo~Y7rf|rdn)uOFfj%PSAfhwzxP^>`=X)OV_}1=*0vX1!-?wEj4-~eVk)t zPox$b$@>zz6tV0u_d)yB3ObPB&AsidgQIESURhF zA#gh|8yEwgDz9I+<};6Pd*KV)w(GSUHtX1+BjI#gz;*K^Q;S*7#Y;_4WG?oH)mO4~ zR`+SZ4&YV5DZo77GNAX97c2?N2#8P#&!Dx5qMsJNcjLw{pPXRws$-$yg|PHFoPib0 z2R(AW_2f=Xv8+K0$Dj_N zH9@%*H(s#Bb7Uk=_QsX8sYL?4G!&=e)#9|aN0xzR zVhx-a8?WsRu=~1e{q4oKZ1lIo1dY~3a%}m!m!Hx0!9xd!^BlK`kw?Re5L1^Fw+aGK z^I?78yVug)-hLkNE1(PbZF&8=HHXUO@%cCZB0^9FcoCRV3lwMvdE}cHUwGkIWh9X! zHPsTzXU76vqH)Anuuj+<*mT*Yym>)S0r(qmE}>`1me;Sd zKGpbsB7U3-mqerx3AmawjrK%3z8Talq!{J&&H$a{a=7ZN7W9CloX#2^mLSxN9T^@5 zI1FsJ6fpVGoM=cbe(5?rQ5?aB@+_qI#5l*>CQkXp;JSCQcJU&9e(CEduU|(&sfU5N z^?U?Nw?3z1BD=3!GXpqeJMI%yts+uov@)bs)^jsyuqCFPHQ3g{(gSz!-QF>sLa{ie z3dPSVRVXW^ZbV<DwWMR^RjCAxM&p@siq&u+2TqA&Bq%`h?XxLqd=jQ z^J#FkPc@bxfLTAig@NIbn{XCihI#_eQ9_Q?>V?oqAwI4UB`ZRTfn|~`2FZ95YLpy+ zPai6m>zCSn-L=f==qTVU$h-lVBGqcCD&t6XoY9e?I`P2Xg#2USW|T0tn6b;ur=O=| z$}9@S5`{v621wcq^tAurC&^3fSnEvS=TGV=ipUD7R^Lz^A3b}tQeG9*G!#Spx;7eH z;z$W&>F3mAUa;RebvDIP3rZzkr!fe0O}S~qXr)@swgm6!JFi*>Y)zz=L;>8QJSS7A zq@83j&gRLb0)BTg5pBNl1vwS!@pp5LEoszZSL9e_cx6j#dk3%vI1@({gTNNxyHEBH z^k4J9Lp(b;Xmv9+LGIOEkf;eIAf|R~X$;HRa`Kgr_fMLB>z#Lhbjd4!^QO7M>|(_| z_a^c)>!ard*&QJiySyf3=Cj7BNV<7m5JZ>+@TG0Nd}&*6BDZu)9fQuC+zGCN>?39^ z7SxO_S{%VLV6?_5jJRiDiH-vxQ`h#)PU~iR1-<9=1tk$V1-FX%#g?3vhs-ed8?!7y zdWNyvfb4^8`NS!)U~7}unF+j!wG2U8W;i2^JbNO2Kb2Zc{+uo2LN;m{6vWgZc4*aU zc*Lyb%dQq1R#$ic+lXc8#iY}yR1&o$>WLatUbrz^NbXAHPK>2*Vj^v!6gNHC_R~`a z@HAM_3s(0DO-;+9AY)9PNG-P55+cUhgkseacMc6*Xp7wDZNM@ph(nFZ`pr%2$8$J3)skr z*&F2sBWC<^CRQ}vpV>$7G%U9s?#%uW85l}U(1ZJqAjpR3ePOTuCRtv5i9Y1>Zh?4B zPc%}(H}{EP)p{u4lKjWi?2v(=Tl@Bb$QDHYSz9fHh(U9tw(@*ZjQLefwP?-HIjJDu z?|sqwcs`M3`a#{tdv}cs^1;+D2M+Xa+c6k<`kdG@{it{Q z3xk|Bx#M4_O`6yREX`-!5*Kj&#Ml5H!s-LA{y^_D!$&Gfmpw%-^RJ$F4GwYrf>XBO zyujovv`WS~;-nhP5fBp&sBu^Zih&K%53Kn7)6ebQeE7u_UImt!pd%xr+`s>5_1*Jl z-zm78e}y}RS(lRNn3D;F*+ z77ANCCQhVObi!M-X=$l3O|rIHqNKQ3WsnxsHQn5g>;4LJm9j9z+5fQ3__AwSDbnO`$ z$(0<)ksxOUMPX*J?{6_)6~?P$R7Rcjw$_&JmSSO&Ad`T0par2tQ_LvN@6d)tD36TG z)gtP1dPGo)@YB*(brN2vl^a0-N~zA!zAYESm9e9XAK8953Fe%(Rvub*?%XhzyY5F% zYOV2rFtz2ZAQgH?hO*RI4P#kzR2#d{V@VBTx1Ed^vgNIykmJftH}-d~{_~DTk*gM> z!`PiCLqXZ!{^FX`{?&`#YA&S;#>%cBU2Sa`Td92}h84SG)hU_o&s!}&1vx>pFQk^> zaB$$RMuC-5{;FF`?D6mm-EEofjae->1>N@CVU$vjIt~?d#TZu_)L)+&YM?82h<_x& ziDJ9wJF%f}e_rnRmK#C+qhlzgHY%kKgqoC2(wYzbeRqGQ8XhRd+wav zdHJGSZUh1R=-C6KN)?tVrS^wnM!!<(LZ#UF+rw#I1gTz7N`28D(|kqUeKN*Dxg*Y+ z(83=sSyBMi0Th*D9Mtg-_wJO<2m2XK@er@5VCUr*6_ipp0qeYUEgtOx&RTfyqv`K! z#Mn#nvfDhYs9@I>7o(J#kMnzy%Rz}!YyjSW%d`82Kk-EVt?d7XAkQY3O1!3P3O~Hy voC3go`wmxc=zW^u@rK5pO>0`y{x|GD1rhW#{4kz;00000NkvXXu0mjfyV2$N literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_3.png b/examples/moving-saw-platformer/assets/Red hero_Climb_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a66739fb40f4aae9d17cca6baa5fc72fddff9b0f GIT binary patch literal 3457 zcmV-{4Sw>8P)Px?J4r-ARCt{2oN169RTam7x8F==l9^1FNeB?Kkg!BB2nY#OAgF+WAWMV-v7ic3 zKv1a?%Myw&e$Xlr(Ndt$QrU`~ghh}giHI1LO(bjsAtX%p$ubF(S>Mvf58dzey}i8G zue&Eo)tt$D>ArpM>2v=5Kj)s_9*oF{jL3+L$cT){h>XaHjL3+L$cX%(iP{%CIepr+ z%JQ!kp2Xo3CbR-$foAuULj(apY+wi|AoPLk-Pqfkzv{1ltLRv{anrsq8yH4_7SEi) zb;lgdDO0CT0geDp22KNx1zIW{E5HEdC2_vQ>(dRq?tEmGz&b?MFL~zqJixOXHV&5? z*#mUmtb=)U@tF-cU|bKJ66_`Af1tr*0wcanCV0RAuoUDT5qbHd=l{~TuBV50x_4*l zPo@Apw)jlWo^|j%;C|o`b8B@_yhSm_h_6p&i`lOa_!+|QpZd77>%!%KN$W~QG6QJo z;xjmR)~s&>w*!{9MKqsvV05TzvL#xV7^4P2euQwxaZ8^lzPEc%DxV-DfF3z>5ld#z zz6f~8X^9g;UO#V5;;ppUB753=)wO z!`Omxg!SBl<_HETqJvd8TQG8-yVLTx6X#A$22ewyQRV$RrX1qcEfVaJZYHX(%N=X( z)y!4y;$gLXiIP+R0f@*1{3dE4;59m5QAyW0>gJ$Oki`dHxUS0Agm~TrB^^MH0d3`# z`q&b8CW@NX+{QSJ6iPvM$CH!{5=5k-ysR}7k1hJR%-G`UF~;=A^Cu{&LoE6Tn~rE* zfWQ$p^@XuTbj?-S5@uWCQaU|A|J&T+>Iv%h*|jNIfMqa?2~q$VT|Zl@%tU&fV|0(j zmN1aF#B?bj>65fbvAj|*Tax6dC{SvIWY@#%I^%d0kg5PJJL5DK&zNoj^MMlZ#xtE8 ziswJKQs4QYZlrE}y)#i|TWq$(s)0acTNO8}N@OMd!ntR$c*gV-fQ`UEfmeXNi)T!~ z^P@|?rWquIajIOc^e>OAe8Nvl^ivXDmpdk`VitnB9Q|FH0`%f}U*W|4ryK{Y0uIzR zH3Q!`uw~4Rw=Y~!wr)@d#XP_A&WR!&(c7ay!PFH1S=VNO?Ajw_2hil^X68@XuMK#S z=*uBjoi$@x*~Yy82-oF^c#fDAxYx&HOAY23C$<%RUB7;J&0uB#J$2S1fS;h>nhDCZ zDPzXWb3Mo>p}jwhD!}-dX99x<07Qdg9iNQ@5Qv)E|jT?UyxwPg&pT^!J8qc4`fyluvmBbEP*xhO`( zTmik7E@xaP{sq$*o{ z{law-p1^DC>Z{>LRS6{IL+*PR;D$JZ1!)4A9;lehq31eTPu(Jsy7Z}D3|)@uuo?(N zBwK)7Sz3FjYjlk&*Rj>hRiTdPU{%!X`pdd}pcvz{kD!4p1NFn=NdTbDeSH9*0N<|) zk84D%^Q!;=K1aeT=_r5==7oUb0po60sQ`+6cwykG%X7dsU{VM?h%MMsqL?4hjIC^q znQVy|7n*Eq=+YCn_uV{Z+_lQe-P(57gNDvV%cAFs%K#dI%YkcvSvXIqTs`^DdyBn= zVl+U9j~~aI7o9&I2c#yy!6G(dmnh^1jPMCK5@`236Fb>zLw%u$35u?3bn8Tvl{@;o zt6o`s&ziL~G^%yth#G@t3*n6M6N5^ICzofteMXY#R|9 z+qNm>`wbSvJHkN+y;VI7^`W)d5(aY1*hwfWS5lUBj8eG|lu|k1o4{|V{`k)ZU`Ea7 zgN~g%i9esUi1AHLmjbtm$XF3ul|d>D^%D(>-1Lw1Y>Ah^MdDtZFyyAUcJ3-bn(IMM zaX8&GG0WVNge?(_wCe&$a03nHUaH8*V_G31l9mI19!i;c?)Mg{hZMu zF+g+LTES&dy%qCtvBl`=uJ`wL-_$Uw`Hoz}s4oJa2gU_%b8RpboF>C$Ovn5PdyT5>~ zM^emU(rOqLhb^&YqWYNU59Sb%+he&CA<08bq}kWvwtLH!_Ea-bTIMk>o=4%5hCz8_ zEe>14a*Gd`&=87bOVmCz?Lu?#8dZEr!63H#EFwKy^nS5JC?X^)%f{v6dL<2m-U9|f zn&W{&XabL7o}tS(whCL!F%Ede6a-5Cw$F;KJNglMvU~uITP>ou1aHv1{7@w|cPp7#c z|0^*%qyXst&MhFa0+A1@vjrb8XpU58UImnLyVPWh7Jkl71^MmjPm>w%`Lm2RMW+K~Ms0G4~;I*K^yt-{{zz{N`$^mwMmavzH^Uk=REh2&~Xdi|4{K2$!{X?080~rFOltL-1)myJDQL=@S zT_j&{+FP0$CtH@)CdgQvi|LIBjT&PLIPakiiZC!#l7%AbclyH^A$Ls2sA2d)tqd6i zN~s3ldRVWI7p;0{=bFC3opE$dZ63wS1#>U<>vC3&w#I~y8dQ~x8KitAs|vAM{kz^H zt(5hdkXFC$QN!_rY*{nNH+3kt-B^FF{zy<0LV)(`ZW#^+rT_I8R~%NTH(e&7lvQRG zZUQfVUZ`8QQhQ7tp}Jd!gF%@Ablb;UQA*vXl(IE2{7yXztpA|5o^vCGQtJH>p#2~< zUpDi=OzJvaG6M+Uv8_8dgStUK!kQD0E2S>E@U;$q5ma5A+3N3}o}g}bfA*7GcP4)+ zBSJFGLAR{k%mq{T`#Gq4m0~V171#{C18iILkGJIG{`%^auE9K@I`ljik&m|SDI`BB zjgm|O+Fd9zXXR^*Z*17slC#`bu@$@W1qSPT45cDP5tLF}l%gA$7?Jn^ULTG+XrKI+ zYg(B%v5kjLIBGViwR*d+7CQc@=l}8g-W0Dsg-ND4Xt?Cn?jFAW^4lLNrKTvQIzsZ% zHOn@2WeyH}N*Gj@wuT(57cD?3)dI``)dc+KiOpRD*RTE{aTr&VPZdCAv4EzWL;jKo jdAq)eaYROB-^qUgybWN+#PPx?4oO5oRCt{2oO_HF)g8w_XXfs*3kxi;2$Y8lh%dxiqYwl%)l!A{wraJpHCna( z!^YS)Hkvf;A2of%)~2c2XcU`RUlhR_5z$&Gv1$dys#tlhJa-otWnmw8_s*|>%-oqX zue)<+2BgXUmV22wbI$Mle&6~2e&@`bnG1t5D1$O6gEAE#-R<9^xF#DK~J*(FIr$gAh=NfNds&?RdHzH#=_742C;$_&t~F=N`h4rA3?LZ;SE(!)Or8Y7k40pJZJzTH>=DWtr9{Mb#y#`S zU%9*tU%8D$=yLw-GOwMd3tiU?kmdir@{*b?{+U@C1FXI3iW=ZAKz%6TW@bxl2TB8)39}hGWA!@M~| z)4G=lpzohH6JVZewrjLTd_V0qN3<}KATXLPJ&ek_B&ZAgAz2P>L0}{z=gu6}n99e@ z3=)yKQEb6?hV|Tn<_JDeLd#fq=7|IO5+|7e0uYf=1WnXJz$>)B;*zfKtos{9f-C{>qIJ1nqmp?OmTUmo z28<~0RL7R2BT?L_<`gDjq)-a8JDFr;kRT$3^0rn?GPdaLa$}35$JeGSnLlC49Afcj z*zbr|1qhvCzrHB8h_1OJTcT`BJ(bQ5&=;Fq96e#(0lRjk3$PqUF+uu3>Z@l)mDee)^>Tnx+y-U61d*uJCm+O9ny((fAV+LVkfY4TJY zC(kp>268o0Dgw0n(#6c5Fn$uS8aP=ywEwcH%{O1#Jmq;2>CuhUjjwhja*riu zOQJati0q5^va-Yibjqkk=1&+u1$Yk_893YoJPv9iV)X& zC~B5vbwodyGEX^2yxrE{fAF!!^6DfKpbxIQS^@VaXg?jKn1=T5kzg1l%~Mf*M2F<| zZJmb_xDqXKIcO+QpP>D45jp5H>I-E{WFMa-@FP|#0hC1A{4tfoyd_DVif2oRdx*3U zEUQA|07`TpS1fBI!bx$oPd5@($-GdxbIk2ZGObg`0hDyLqf-#8GFz$~i7F>tbdckw z4uPE4v8-ixLU+Ov2T(CdV`Ug;BT{nBI?`;33ZZyl$`uYA?k^>ACsN`7N}Bc;qtsTh zEHulU&FY8y9N6OT(FQrwVtw2_>2BclWbM@q+c4W`_ujK@BKpmD_fPQ3-7?Xfbn0t2 z-yM%B-?Mh_SeJEaAP3gf4yVMX>|j`CKKU%b?E^Koow7V<+%p(Crz^w5<4LpEI9XRs!b69rrB+R>Kz88GlH6p8470hL8qW zco8xf-d>m*MxpmRCr%I9|I)>a=)UbH&K@`R{#w&4VGm5}fSwxD*!uY`H!2ulI6rvH zjno*%Pl2C@!Lbm_qQ9?OGq&tz(qv0ayU1iafG$08d*5}#8s9VwbMELRPfDL9m`d^7 zqJ=D+Jn2l}P2vZt?ZC7F=Q|xYf1CP3;kUpYIDm>}A!1>PMSro|JG<#7a$5B`kmJG! zjagbfO;>%xXbiKkMk(V$Wf;9m87A;8UaSd?j^l!2j)q%N0bMB>`#eQ5$KFTMy7xmCpal~~qr zk&@Y8>>(bMpflC6CB(=?px^_2*vR8B3=?G-C{^`Jdv$OEES@rn`{&JJeBF>bu}U|V z`glt$ZNT)bE30F4+Y(Is0spc1FpADomDnP_ew{i>r2z+EUj3gQ&A2Wm zGFG89U=oCovpL{Bpu~A9pgX|6lp*psun#gU9NsW}3cz^pnnyD+(@2z*Ey)tNh(#4r z0`3NWJ>uadK$ewNdvZ9%GcnKHl7=lYjIPZvI2;;0WVT{2LJOyF_M^XUq-t-uz48ymd-3k5~<*J>esnl8r<=UT0e3<#wLXw{zm2(m;aM0i2S!QTL=Jy=167cxuBHGWk9xQ;b(U$$U_@H zPrv${>4my`Hf}Bn@`KcDApn35a0FYzpoG}s??dFVm-cmR*wk5Z^|_*Cda3u_&pJ7E z#IUV1h7TPB%*kio5|?n@!q@~J(A5H5b^FHcJ^PFOY1{*Hc0_U7SQ9xv3{V%g7f&gd^$ z96WT0f@v~jNG&x56Q$i2iOelgzyw1m0vG`-OX#;0B0RmWM^jN?HyC`Ap>4|INY?Yq)mEK;n7J;3hnUO?>)=AVdswE38y2LbHvDRR>4 zw*=_SOQ%xmGo`o})ZPAa&;VL-Bz}1HsQlP%RxyArix(J5sfU1Dyd&;hXftq1^9yUz zzZh1b?_*vp;Di_dX#uw?r6wt*Ryw&yKs}qL#(pP0}8Px?3rR#lRCt{2oO_HF)g8w_XYRh(WfztOm-ib>L910OF^INBtI(2)RFtN)YEx0~jh zdER+k&?ftXyO}w2&Ueo5JKx{$oS8HC!mth7unpU=4co8{+prDWunpU=4cn*8)Tubh zrBkLj+jm}cA)je(9tku8b@nHR2m*kZzzHCa&lG}KC(?6LiJQ89cglNfj0uKLsxK*OKCY(CBd!Bc4NU@_>F|9mrorWX6( zBWT^y%lZ1uncoL~2N7qf=E@E#X+=YSj<&6NEpUw{GLmTgN`iMZ`{vNQ&GX~ptt;2*#UU&76-me3H=t3+Ti z8Kmn#U*9XQf7q4SH>iMu5IG-VOz8@Ts73s0!6}DewbA4S5G(Pd(9CojKoWfhNXv55lg&S;10=RXbS?P5V>f6^XODQW>%1h zTo9xdTvu4nEohG5B1Lqv5~~GQ&a+QiYWi1X&$u zD()mxOWcttY*e!g<0w)n_|+ZHGAc+Ak*eahR!ls#=xwE zi0l$14>BUTS|UaweV*g09!o7jBp-<5V~~|4XwIln?7U`$0&W9tr1UiK=Sr!qVwwe~ z!%m;#sU=OG3L~XVNFI84Z%3q`VHQcy%%(IERvuy6x#nX7D~{xkt12qdfIH@yU`Fr zY_-G~i2@U@T_>Je-0f_<$`e#yT?O#XasYl}GCAVG^0bMI<*LV_-~M;^Ksi6cER>+_ zE3X7ADVH&!bjPh1N6X$h;tiv?c`E1}!6Dhcx4Wmj8zB~zgPMSr@(`kR`IA;l;5pte z??bpn5!4tPrIPcOIC&~uEk5lb(t)=ufkhD%?^&+3Jlqf@`*b5wLgo3&?PJcVB-1)| z6hX0Q7sQlEwIm#gq7yDU$zf9mPtNPw(6K*`D}fe8P~1DD4dvLg=4)# zg_y4REsCIH_F1CW&O}u31G419eFfCw>6#S%NNu46UHsS+LoY60_D5h%6o6=dqZ~;* z5(Ot*cbj-vy;1$&vTO+p$G4I*jGKTj0$YIJjk<3wgQgk&(7rpL2e=~&+;=RtYI;Q9#GCno1x+8<%{Ao*S;?qKOmk%^61C_H`L>H!$$= z_pYsn2nE^8wR?bVz=Z+qfSB4ULQJ*99f`E%BX61OEP;c8-cI_xU0;9sC0sUjaxJhQ z7=u5J)B@f8Yp%~lF8f@teiOizLC1VoGOk)2XPhhSF88R#swytR{ELuoEOE+&+7V5k z>%Pu?$Fy|XRDgG|CcB*h$(E3I zfyuTEmY%pve@8SlW8|uSi85|A3`3MMnt(TeDU`RlvEJ@Ddi`n|s;j2}Z6ea(CCItD z=_Ybo^)iXuY3dI{zOw` z2xU-~r%Cy~3i?(glrCH2b-kG6LprrGS8vjmK2&M4%#QDzjZoMobON)Q?prI6_3aLk zaSG*DkbXSjNaVC}s>jJw9&BGok|fo(0cVZ<)8B^jrnOj;I>c7bnhG#pJhHbs9e*NM zys7nt5n8$T7D7Kqxsdb?8iCdi+z!m2u=f6Z@6eEQAiaXD4o!7-W2q%9;kw(TQ%kTS z%|c-Z)l3A&;!Z?Ez(K5=(;w~pu&Zyux{W?JQxjxg-RZGHCtd&c#|8J^;M>^1(xc0E-`gGSttk?*~oK?g*aTRSY3_y}&%>D|eq4grWS2 z#_4~52&}cSr{cJ!Tk0G%w`nBU3JSjA)N(;&Zqf1x5}sSo@B~-h3wi{iy~8+q)ztB6 z-Au2b8&02IB_b2ByI8s0QeovGV`C=jK+BS($GUbC$i7sqGI>e@u(iqLxES7qT81Po zW354caCh#!j zxv)HKBh=zJxzcKW~K?TZ&Ha81qiNQHl=bk>YHIm6i9P+w1#{o;r}w6xNYkc?J~pA;Lb59Ai$?wj7|=-+rS z-S_0ZR)H_nSvI*Qhlng5DwrJa>7go@qqeq&>Z+W*E)|hmf{5{kP_SAsO<~AXi17Pu zUB_>~~RXKy4p+qUA%H^pb zwTK9&pnY5`rgPryJyB6|pn?P`rBKS4T-tZGD40UQ9AYpJN@3R3RFALD8BKyT0waKG zglbJOc|?YQ0TKEK3o_9Z^_-p&l*0Qm!sLW2sIjbK1OX_eMtb&xYUKt7hq`9J@cPj> zn3L*icy{5L^SxNsuB)se#mg#Xt-=a&6I2X0ZyDCBB?+*NvjR%J*i|Rv2iYpEAkVZx z+2yYN_T~R>ONu-!wf2 zd}rXbiV<{I`vH_v_ba7LjSMeI4}xmn)syV*S}FBX5S|Cy+_3*}`fsg-Sj7keczFMj zgGw1UdlXZ=!jCGYzH`;T-b{qqIdB3{Z6RvZ)q1cy!?$|EtfB!TCE_!i$e&_LI53dRWN~r@%sV+Tq162Cj$@t;blk!`x4LO5a?OP7r`2zV2 ztDEPHZe;z!vuA+X>ptR|3!OV}^S14Mh03a^q6#WnZ^5K%aLD;&AqQalN8McY@{V?; z)L5m|TLIy==8=7!6(Px?s7XXYRCt{2oN16;RTam7_w~$VW_q$t$YRJs*pxsOP+){eP-8Sn0g9-IibYYS z5nMiCSz2PLg<4v!SYo-L0t%E12$2#bpn~EGg$W1)1VSQNB+Dcuv-b47VIrqMIUpKU^ZEb5?+uGK)wzaKoZEIWG+V+2D>gD*5)e9Gf z$KPD}T27ofvk#aGbo;LgA_xHD0^`60!Z66;7lwvv>;Ldzh;jc5J6?`%14odcbxRg= z)oG`4?t%q#fs=r9fHwlC1J$r%NDL4hiT6jMI)lI?-b)@5*ow&W7v6nu4d9-Czi_17 zXgxu1U3v_^T(`CZkBmUOn8ZlzEt5Q86u1rKCK37D#rOVhc;!HFdJ+k@v|3U_NUzcW zi=#mXca4nvZPWh2+`d5z6okmD5oSdroT3&}v7L6UrloB`H_}BA@&AisijU z-77`V6(=tPSP^zR?6f9)Q}&u8S{O;37!6AgqX0|dSYU=^5ZZ#kbVODzn>nM9kEInP zB4^puf-%B+Zb5SdgA~!p%B>cRoacXN(C(~LW)&l-qfo2h^S!Pd7p+?)S)<%c)ELWe zYksPktNg17cy2hxRjjSX~j66G5_-AG|Z<1DyAg=?{ zf|Gn|$vP9I&1!yO7DWn^Np)wlk_r+;q$4=iipi!HyW%X)qJ%>l~wc zCbif|-j&g%gq2UyBK6=TuUd-asWeiWgyf4q-?}}EM+qxG%_C#}0qG;0Z6*re%dD16 zYakH$PbOz9mP*i~zAD$PTw#=5aQDVoEdlWf3eIU&ZYivm1ePE#QqZgfJ@D4^SUz{o zF~IG>JfIFdIlBJxcU|-FqX)nA=q9~)V`d+7Iub9pC0xHwHno`Te7wR0C9cK(bm93d zpF8JxU;sD`m=7!j-VAL1%$cW0Z3IN9#jl{X3&pT3e(%Q5Um-cs#jB2mh8M%qui*@= z=z1_9=UY!aqp7?EK{L9#IAhLH-FRCpQ!Mot0bl#!>sRWI)WQziE)<1SM=%{R2(Xik zMsfpE%mI6T>*1lI{FnsYcfmS<^}w_SZ7zM!3CBhBh>T}eOPHfnzWe>ydyf5(JZpJs>LVIP>W4@m{{p*iH9m6vfapKIW3-p zsz6tUcB?*n=IMbW<7u)tM$)DhiS&{yPo=9RU_~FWQv1|#g0k*%OrO)!<99{exa^}& zn~r2k;EfZmh80(fC4YJ6gTLCoGe0xF#i#jt#&*&D6@wJLifI2!o9>%V&k3yfWFL@a zpqW?)hU=3Joq6`X7c;k~hYrVab`OuZF2Zp){~SmvXrdufWGgR!)rsBu=oV5-*d(J` zY$0T-#WoqFZr0ziW;LVhFQ2-gT79;|aVCKJ{A%yef@<{xqw6mRk_xH;F9Fk=5Yz+m zz_sU`eRjPzPWlLoHjoX}602v&0$rjhYO!Gr+Z;Ij{>$iaoDTulV)9T0z7O>7zU)2M z8VXu?)2#qsw*e+iEmt_>N~!Y`2{#VoFB3mrhdV^XNraH*Oc+8LXCfWn3{wj!Mms&c^^jDfdbe*~{RZB&=;#H& zr)WGWDQp$|*!w4NYGZx`aVM$Q#t?DC4jT>zhlcC}Vgg_6A(A zWTnyxUI=Xm`WyM@n@SM0pxVo`?|s*7U=Ix#7S~0@Wui6`N#5#&=17*j5+lT`l4VBI z$&LQ@^v%L?Dk!J&gi=nAQfg_MPZm>&5ZgIC!brWo4_K4vso{z?dzD+rnRz8w_@ISi zl<)LV_u@pMU|CLbfRvrp{vZ8>L$%sQyz4SIL61H&iCcUjXUi)RC(Fc=uq+@LtqkHM zgF>Nf!P3lzQV9Z>d&A8f7#qJH@8QeXOc0Hl=}05B=p&4oxUFhwKuU^QLaKBnhs5L} zNPt)NeE-Ld_vT-5(=F^A9{vm7)&14LexM%3zl&A&HnrHMW;92dDlZIJ13xOUC@<)b zQh5b*&933$osfgpflIs#_{CGJ6%kn_uKNaea$?y;ZS=gbQn7_xcxV!=*GR+CKT|8$ z>h;Z-OQq6DS*#&2`H?g17(O7pwptiu!MN#Ot(vF6rfQEU!|mrJZCk zKG&<$H)9@^&Ms7PKC;>Gfz`8r^b>cu?p>Cadi+I1jxuwLJ%mzcqQLPm{F>(}Vqqi( zmL7h7FYL>`xQ*Z~99O;K#+yTOpv1P%rN=G;m?s(`fu%j&k!9VIT`gI#KwNi^Qfek( zdscA|a1U_BrhWTI&$@j>qC)X~F>mM=MO|!VZpjitaXfoSjt&i8($UrP7p2r{ysLvM z@I3IFfddD23{BKodBPoz%oLX!o*C)oO_Wt08G2kx$mCMR* zJufNm2*!wqwc~2B&5((5^K<$s#h!4rHW?GR zb`x*LC5z@2b+fpFK5)X44iTA;-^JGDmKG}ynQfluvoc9~wsD$6_EELgEQ?xf zxg|!7HH1>tlJ*%Iy3lPdTJu>61+gdABg(5qua`N5QbIC3wmrs^*~%#BNni}5I~yrj z6L^~P46In&25K?ec;wYf2&ni<`o7(JM-bT%3}BuWbFj)a?gYeE%%L*kD{0Zn4Ll9Y z?}vYDb`K>ODooJ5yY?Z-jmi7MLH|v%g8Y)aHx%5K4MI;eQsOuFNnkbF6!1y@YhiXM zLC`JRcY(-#h&H-`Gx+GhVPp3>mzDZb@1}!?IcZw;x#Oqy_5;gXvu;UC zxM5*x0*_&B2QK=^=I6)u)v`YJl(f>{dfsw)giDvqzYp&ROin`UWSS#hslgl(G4X_& zhGn1_*dT+zsxLmZ8N<=Eg4!`X-Y^oR!fo; zA8Qokv%qy%J-&VP&fUenCm**Ke4);>fkVU8Cnr~esvH^`qN7q_%9JiTJ1XAZc%$56 zBPJd~cD3NTLfuuk!rvd-f9R{oPJrhEj@( z<4~zo=%_eU93@IA)htih)FL9dg7#8qLD0W-WW1&1Knn@-h;hQlOQOAS#iT1tx^-$3 zpcF&BQ#y~SIL>rIrUE@cCqk#Dm6 z-=NdaZMCM3)+P@u`@Vvb9=4J+TtM+&F*fQ%`P7Je1W0*|igGVD}vf1(pBx7vH@2S2bTr zDCGpI^4<;0)e{3l`Ii1lsa+<96}x)g{8IPlt=2jPc}a6Hrk3dK=#2--WeTNK_!UP> z?g{XnIo+l1jajXAImmP5IY>>;K?K~96Bwn`0~VY(_V5kc3V-`M)mj!}Ki#nhrPMu^ zkkZ3p1k__s=LoT#qvI&0cH8h`*jrlVi*79==-@;hrPM~HoPQ)q3UkJ5KD6nX@%-rO zpi=6~_M8@CZ#WX`pq3E?aQ(L3qLeyUDRrGvYQlG oS8aZZvB{iEtG2bRZT}DUUl)EpR}0e8A^-pY07*qoM6N<$g6fOu8UO$Q literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_7.png b/examples/moving-saw-platformer/assets/Red hero_Climb_7.png new file mode 100644 index 0000000000000000000000000000000000000000..8439f24f9fff32769dfdef5ed78ad1f17deafeb2 GIT binary patch literal 3520 zcmV;x4L|aUP)Px?dPzht|KFv_7oz(i3l&!`2IV1YtH1U80{4GGDHWbfIT`T57Yy5H+J z`;G}%*8Fy7>b>9V{&oMp@B908PrsglhBTxh4QWV28q$!4G^8O7X-Gr<$3(pvjjZbF z@sGcC_L;oCyL%Qe8)$Q1MMMw)qzX&|QwXCV!#hVtN>~5!&%TY{?R@do=r(W|0lJ`f zA=jSv239Osa3ru4I14xrcq7p67xaMvyd!bmBq%ckJm$RQuL1*zY+v)+2TB0*xT^Fow!U5wmz=~)o@%}-B#{@<~mrU@0abN?;PetUBOCI?B=)j>vJT-Kn zuKv^&pnEP@&Aa**oetav9A{pw4N7n*MjZ*2@voTWMuD#){P@@Z*|F!n5B@%{E56hX zpbZzC&%68jt^vLW6oM|Yf;s_o=jyk! zroaCZ;1`Z2NeBhyf-_0NmIStBv%p1f-mvNAyddQU=;XO``Nw7Nod@bUL^>h~7izL4 zK8)hoA{N^gTh9V#ExY?yd$#5PsW5$!+Oo3e7!W=sA{|cm+?U{tQ0^!tB91fuop=8{ zy$7FHM=ZA7KSvkT3v8j=S`4!B@9%k6a~}VSc`5^JUc06lxE+`gNw~S$5*tE#ks7u* z24rY(Z0wOI_7A1@4eG!kL{3MT6Wrk#wn&sM_`Y z>DZEVB#Il=TxAkQ3Y93klSxhn2_n+u9cyZmu|=;}H@3KTj5=e<{E15L5R1RVrXyMr zAaaLIdp5R+Zn-8~Y<>pL`rjJM(@FjiLrPg_?_UXrQPMnRYr`Ir+Xse668aOB zoWneb$fTipP1#~?&luY}a`kwPwaa^bKnR~^?dpR%}1VsU$rBI;1v!e^x49s`+3YY_I zTHMvSZqw?wS&a))t+mqU1|nWY*H-#`UHqzHumEQ+p@>^Gq?b?|&iT+iJ9b(7e*3C( zdF4azXZ6CKuPpBBd|`1{=fL1qSG;rl>UFdf3IRY{FTWVzPuN!&i@=ZGcI+|d{b0qJ z7K8!-YOWgER{HeSMA2<&&KtJ0HV6ab!|Au_Rz5IVu0*v`v}rmwfNwOHH*d=BUV z76HEo1`dAsD&+%obbEUdIMoVs0Mad&F77w6i324mTl^{s*%ARI!WJ9Ik%#p^TlrSj z_AfdX*aaL-^!eZ-;8GtTlC4e8Z!H$D`k{?Q7TQNZv9Tot%(QIrZN;)B1hRnh+}@B2 z`+5QXj=swzD(lCuUgrao^a<qN~t%pTruN^H#-28s#Ok7mP)|oX|0G zN5}S+s!p~s02-Q{WYH}@p8^)*d@hq{{XqOXAIb+-w%BruEsPSg#WNiS-mPQg!$cSf zaQ)8Vk(>K&{e`cL%%EQy8)wOFca(Pw53c}L0kI3-=Ju5g6FE(90;7SFm@W9g7$J|F zgKCG^2(Whhq2bRjx&2P#Ld{yocXe^k>QyZ2nEeLe3&1HrtK*kUmP_N~QT@e>#TlhG zKe2B=XWYFh*6+-_T;JE%!?#X9^#8#$$^{$${D)M|X_9$O+RX*M zi9#p=F!f+d49K&Sdli+uk9~UcJ3=UT1qs&#-IAvwdb3>+MDhWYd5_}p9kak?Q2e|l z?MP&qFotH#wI-TI8}1YVr0cR{=Vx^@JA*#5q_;^#j>7F?{c=m4nTH%iS+YKY%%e3j*J_bR&p?it{``4-LW|0 zs9zPf*lf)WPhitXj!{fz8J$YPmP8{_I_8Cg*#h$1MDD~$_7D?k3u#<^aO~?dCh#n_ zqBo4rWFFZi4}*+F{zPoC<(3dI))0ziOI#b8b)n6iw5F3B3}SDnN91RVUM_J6#e}4P z+?voOtK?zO7GMITEg2|S6L=i+3|pbPHP~X-alk9*AW-(1^h3K}9z$f4cLUSRn7vtU zFk{BAXWEMD{WYbCJ>|5{BNZo$B;86R_nX{XUPI`-mmZpsf z$=Ym*g5uhm0=W+O?zR8gF}`tkw(rS@r4C<3aAfPDQOcFdDWGN_8X2LfSfsVJh32NB z`&_C6)M#-r72K~o$YNcZz?F&DadSK2GESqtTAQ^=X+=qB8*R#{max>1LCy{erRN^wdJq!NUHIshbhefHOJF0`cJ9ERy^~WY#TI`%X3Ty=rPNFNN>i!2oJ8u%Af?nUh)vEO1Addn?vw~h z6$XI=KzB@DLn$7&x0_GumxCMzJsQmoX3hZhw}H`gbCq?EZ>=b$&al}GY;*nhpRfN9 zPSy>e8wUnaO8rc!!bD7RMk)0brPQvel+UUDvhNi>_}G?hN~s>D)HaLlPi`9A_vlcL zPwjD1S5AKM_+G9!cK$nnU*UqU<%~}QUq9i&N2=wF5Au#|ZQPx?UP(kjRCt{2oN0_4#TCbY)iZl}eXw3T91Hlu5NseO7+V&%4B-wK0tgw1aRep@ zk%9t2Nu(eF0X~F?K*A{?B8G(fN;r%O5N-&vISmHei_I>+c5S@(?##=FKBlUV*`DsU z3DUfEkGo%2y{h-`|9e$a-P2H&s#K*aRjEo!c zL)oXPX(TWTsCTv;A_xFd1p0wNgl>>+YrDDz7XAB0&&G3W*X@XI1KSax6DCgJk^^UO zL`%!gz%<}6;Ar5xK%-aC0|s#S#Qu;{nGWD>dy|(1Rw1%_-oKt10C?*2wcE>$>;XD; z@+2NO;rKi@7?%S_1WSqg4>Wj8V8nOI1P|y19t8QTh`fH*GfTTyef1UZcXVdzPo@Ap ze8TaZJbBVAU@@?ldA2+#rCl-Vh_8%y#w^zjT#In~6Kh)6pZV<4w61uP89)!7a2%&h zo_rDTXTU0*5zS{E7#*r%*%EC_j9R@Qze2cq=7Wz8eb~7rl~0fnK=&ViEc2#JIScr^ zt%(ytrE;YsiNlr{w&W#&9~}JPV;j?glp3J@o11y(>@&xM`V^7TfrJZX*%BQ_(QJ_r z+ab1A0*B3f=<)R*r2xqqzDRkQyT|SzTq+`??e007V2@DFC?z7cGv1YV{#?BapIb*l zY&n0nu2ipN3*FXKkVoG-?c|y?{^inC26*Z8c{RYjKtmwmre;fI2_-%n1l5S`V0%H(4e0tMPiF{1WAQ71p#ukh# ztmhUqM=(GU9juDkf|2u_M%{XI_8*%JpnRfQZu@pu_A1R=Bv>NdNL1dIQ`cx*P7l!6n_C<^LEFB5txFbQ8H{3r41zRN&XzJGkv`8cipOG07|3lg zT?$D0BrP)J9#qPfBzY4$lw&)FgR3db9XymPVH5^D|wB45UG zCPY$?Vu%BfdrVfjB{5q9wgg!p)1iQ5F^cs;oDd@15x+hx;W}mFvBj+C*!!9Q5)ffP z>seYy^pgqmlyjzZxc-I@KG9fSnWPUfWFQIcy)*tWikqjx+6WKH)vLC3#q=jADTjFw zk$yw-wX!9&jnCtG6E0cgpx!u+luNpi`KX*ejxD=hD}J3OZ=W%b>0_J50lNb4f6&n> zM?CTb-9z^5CEa?Ey>`=Ycgr231%2%%d>zQ%+(j*X^-60)x*ly+QnRJE;Q^twfrQ?t zzT>FF>0Pw2X8PEs_pp=ryFkzMu}yDp`q6p08q3N6AiI0Taw~nhBfgbB!x0Y{!3;FYf~SO8@5T}%hXIHCPl z`B#akJQWBbE!-jogU;@uf>Gm)DU$)-2X>3_YBo><45ng`esvSE#j6sNEny*KvPBDT zk735m`umTaOMO0f12Ang_Cgec#@bbM%qaByGduIj$<{3{x7yDQX+Ahmu+D$XqdJ*AN=0$}f)*^t&1`?zkz=$Ts= z&i~Z1^5k>5UjV-+-Yxf5D23QHl)!OCVc&WEou$-!y^9tGEc{{4!GP@Ir@gq&q#23) zA*2Boyb0+K?^2j5W!;yvEXgS)!1Xb~0k{r8Iga~z9VV{f+O%ujS^$<|vWk z~H_?UV<0-ethBb!mV9G1$Vtk`3c0QrVn?<`g_%+CS( zPn$C7j(L+OZV)M4Mp4!4;KUA}7R3zS{F%Mj% zlmbzRQux^u?+Ta6D@GXVRflIwD9DvdFL2LpcP|FOYPj`IfF~+8qb&Q%7iQ7PE*cclEX190uY~D6F=qcS0TL)|bD!9XMH)!M+f5HXLc}+iTZiyR0 zdYgLA(`&|}(H7v~bzNPbPF;Mzal!%^bNk%_v;bSqjFS<$(r=i5y?wE(Mu@$mpEnpZx-M9yEYQs#-T zoS%Kgp@Ca+`PvzdPkHQ6Y6tEB{`NsfXJO_8k3{-tK)X|2E$s`=sRdrb{zh9?1_yc> z=VcX#yx&0~Lg-JDs* z`SE$hggWch^p4=mU8RI;f*z8m0(!Gu5JVUi?qNJh{2=*NGxlZCK9kxIcCB>AydBws z2{3?MeCe{4H{JJnvb)cTms~I0dtzQhcJ(@yS#HUgdB`~bAX14WUy~LYXB_STwnW*I z5Zl_9*jQ7RC`k;EAmi)^&2l8tj}x)Q#LwO{E@Y*Wf&9U5xkmMmIQt#6^`qI9qPc;&yWgcVVc@!>b7&KrU z#bHZWZt(#V8bXn5iE2Z$F4QMnI0I5Khz-6Tk)ADjx!55T5t811T}+okB@Kf<1o}Yg zhJL_RLh7JR^+;s`|3rwb=bu!8kTWcUk2^fDujk0A} zF>Hf$0CTTiv2N|N8!NgG5s=gXZR#K7srJpq^Cs-_2v8$%D4;4~3xojUu_6dcxGk^r zM+kGD-q88Ul^>gr-X)RD-rce9=tdqoXez~GaZTfh5fkz`JG})%OVdV#WO=p(L2+yi zf&3b{>5}(admn92_B(mMWcv1(Wryz93~W#eE1%0zS653-K4;&eE|*)vfboY=I9n(d zg`uLND6D>Y^VZ4NfA$3{x)MKFACL^5lP-x;90kf!3JS#{J-vM>rN~(pxm=EX&LU^2 zqEgBlE>DHAMMNkH+NRL1as8^E{!GDv3<3Jdgq=}J&2l?jx&@^u6oo=@h=D;+ie-)U zwcoRp8Y9RkpaG~ssL>cRi2XaXJ`w5dAL2$q9jy~yDNyDe(?+!&UZ|BZgRBYWaaf1d zv{yE4-F(hFpKOj}v!%Y4=MLF_wcmN$w4ob$%+6!EW@Wao>&grur4&jj-@^|otSy+kA!ZjMywgnA(aXus|5yIb2c1qZTZ z5DHNBAz;`?rI6To>HDi6>G9`$CIoX^ob9QFp!?8bbdN0!n9{!A5u!4tCZSLDYewGDN3ouN~r_yUAw-2 zcuR@g%0@=#bG&ubL32R8>KPB_j5c7;y`O!(KtkEQp^lkNqq%;@K6yYbS-*Mk@^@F# zIhgz#dpXH8Xg@w?ww(*$M6ZETa_$4BT=3tI+Fsa{{{4nKO0o+vV8-)r0i2?gI$J6A zhEi&+Qr4SFsWX*QV-~%$;u{4HY=?Kb)>#&{R&dhaT_{k1yj}?RU Sm^i=y0000Px?s7XXYRCt{2oOzHORUOAaZ)SG0OU_LK2_|8ea3lnw)G|;Sh?Ef_SRgS9f)G;# z4OV$np_W$pkEP{NWhq)pd2=X-#BjumK!^fjNvT9oBtT$s2_&2BW^-)zn%SA3fAsZU z_v@LS?nW$Yev_GWzkcuA@AvKR@Auxk?pbJA%Uag5mbI*9Eo)iJTGq0bwd{Y))PLh7 z=Pz31Z{M);9F}x-O#`L_9qzk`2m*lAfC-?2Fak2X`{>c~#y>pbV?4C`mH$S!f!C0r zi+Z}b{>^XV9SauB1C{~j0`CIe0!;NQ`osX@yAfH3{{#!TSH~GxLLz#SnoCw;q z`U2LRbkgO(FPxGjAr#aL_9Tf~5@5-r0`FhGdCNdnk}?x?#+*6qxZ<*7LA`*;j7Y+T zx@w6Jqj1tP3pn?!cmHbN&I}|K8ds@rs}?N;;jFXamK&$ z?#nCp==0i$1`Hup|acK;(zmvoJ*ZZ@)#EFtpjSpG*>GH;@mjUcB3 zGrXPV)RJ^0iW}A3!X%0ms!??(vy2K7M5N?xYsDl}i{36bwYWG&o6%(cL@jfO#b065 z5v>Xkxxyx%O)a7$*Hw$HZ>gu!*$H}mbBl`;#SZoBm2?4?!zd<51*EfiwbU7j^m&d^ zJ&{^$B=1S+QpB<+X^}~9r&+b6$y0HpGziIkclGuq@hD>1hk0b&-5~x7CmV_UV~N$0 zXbuD-{fV5hSmsd-aS8JF$t$;{R!am+kbMaqidY__*f=B!A?%KX%WVnQt&>bGW;++} zbs|VWgtFGNtd8ghQ|2l6NU*!_JO6rKQ+aciJ;ac58rl0t!eNv&Pub3456PE$hmXd3 z@aUS0{q40|w=pnga+z_M2N9VtN?upBSkLjYt?xIkT){P`Eolet1eOAWFR#1uTfmmN zKm8dalg{9reZdSF)7Ney>p5ha}`V2<`Wnd|*qdc*YB0)PuhVJQm z)$i}73swQ#19aDMYun+EtOs)WE~b-W9MJx2{;Nb>o(iXLJy*pH1_wtbtA6c^d%9-< zm(=wM7UJB{sQLu$UUwyPJ3D3rKLKU~U#-+?4{qQ6Dr>fGv!eJ{DeQ>jVZxCpXjf+> z3K7$g6t@ck;NPsjapekt>qvGtrwCLF0Am}kVQy!~t-t`V2Iql;t!;%u|ApO)7VTaC zp$1q{*+)XCP67|YLC3P>7E1#6^OQz%=)T&B*UPI;JsIGG3CQuy%R#3D>o9YY0_Fk# zo;794r?;$rw}lr0kVPL`L7kh`Ve&}J2ZnzqeT6cA_ybF;wufv9e0g1Wg786TC zO`}*H(`HjFmQaNPN+lk&H_ZI;EjN{GHGdQn8Z$c`IP(6J7JqN;;uAMXt@;^Imw4fl zju2wnS(9x8ES=ooGsV*x0^H{96gq!+6Tpj20DN329!053Kn3}L#^IAFuQU-p?n&KH z)DyQJj!oNVMk|x$a;@eN6#@$Y#(ski9f&d=z)m|<3Iu6 zq}%QS=WG96O;8kE`A|Nvs>PODY+;mGEgp23c(;vlj#wK9z7HI~3;yAB;LpLy5au|683VAqs(_N>1O;LE`0fVz*bO;#o-j}4m>gO0 z;wdcTS9x880iVyDBDi+(8_0`&UhUY;WAO0gx3=GzD4~Us2?6_^Z(ldQ}|Igla z-ty(g9oqqX6!-wn0#gAP7m>eJE9Ge*mpgq)qL#XjXid_nC03EsV|-6!i6@%dFEP{7 z>=G<&=MID`ysl`yN~o4_NoKWZwfuUQF4*$Omc}01E%Accs$c!q*uQG=B5qiIW>0oU z2<0xfc33U8JQXQ7&+Cq8nG}?I$#vA5_aHPl*Lvn@k>? zz?)c0O^_gSogAO%NTlzlQj5u-vt?Y!W-Wt)m=)v>tvgN6n6-M@)ndb%lXBSu$aLFB zrWu_|qLxG>QFF=*2eXA_+s(nmmOjKpIzlCGd9dx5r%d2!u%Z`?naMn|TNVYCjlCpl zvE`N!G1d@@RZHACG<2aO#lo3y85G3+P>;y27QJ5L5Q+&&f7|*!GO1-z&@;d|NJlbK zuqN<0u&me-_l4hmP+YcPkh|${VFYoJ17^~h*0hi=Ir)Gx?1l``Z2Sm0Z z@?3qj5F!T6k^0K>Nin`()m4iYe$Gh+`N30%M@Va#o)7xMQ@g5yd@{9K2oazYY*9;; zl!#i)bBNr$wSQ>G&f(}<)E7^ge#{);?0n`eaS7Kij7{JntUh4v zC!Ts~e6T#3#yud1Up?;{9_8wu4lW~qXr3P~Z#Do)S9F~D%V1o<+tG@E= zE4v>YIGn<(z%mmwI8ovLy$5RRy64{uv<8mYE=MN$NjPn_Xc0JSA&O#p1kzduK5kT3TsLNY+Sfo@eP%NmLQmW7>PubKW zBGd%!t^Ew>dyH`|eLbWzYxdKY@`>7r6A1o*})4e6r z3A7=!X^N@f{0?ngM8+m2`H`T`)djBh7F^QU&Ap=^+Qa(q$L? z@t+5t9~nQ81b0D4I}fcmV_(>L2ihbE>-n--4nIY3%za+yIPbY3hn!$rdmn%AS*JDS ziBg5-n zJ)jN&vn;vC!++v`I|n)W=7@8pBl!U>AN{FW?2UhauBw!Jdra=}9&7p9k9xDuoWqtI zL9T-O>Lh2cd`q+Q(?1Lx;<_Er?o>+kD5Z8;u&@8k-oZZ)lq-$FnzXzX^e0a}CP@XI zq`&lzG{5|?ec&MHJ@Q1KQY-;APbsxZDRrSzYVQ60gExHfncloyF)Y`heeV3T+murK z(Ec1vC}(T{ZaU?GOpAQ97ZhD>&ckoxwHk*j>6bGaS+4VjuJ*Rtn`TY_jZ*4rrPLHn zJ(EhQ)k>+mmp=G-Gvm9}ssba`DkIe@6Sc$xVk*l$?SE<6Vy--4ei7$(O950382{Lg ooweT&3{lO>PRm->vi~Rh4^fcAL|7hwr~m)}07*qoM6N<$g4KZOiU0rr literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Fall.png b/examples/moving-saw-platformer/assets/Red hero_Fall.png new file mode 100644 index 0000000000000000000000000000000000000000..4e98f37ecf6dbd9e9313fb436dea88eb0e9178cf GIT binary patch literal 4200 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Idle_3.png b/examples/moving-saw-platformer/assets/Red hero_Idle_3.png new file mode 100644 index 0000000000000000000000000000000000000000..066e8b11e34795b0dbc94bcc2251cd02ee95053f GIT binary patch literal 3838 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 A>Hq)$ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Idle_4.png b/examples/moving-saw-platformer/assets/Red hero_Idle_4.png new file mode 100644 index 0000000000000000000000000000000000000000..90d6137de1b35efd738bf95c08868345fc02afc5 GIT binary patch literal 3801 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Jump.png b/examples/moving-saw-platformer/assets/Red hero_Jump.png new file mode 100644 index 0000000000000000000000000000000000000000..1a889c4672f2152314a20652850cc90de9f91547 GIT binary patch literal 4085 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_11.png b/examples/moving-saw-platformer/assets/Red hero_Run_11.png new file mode 100644 index 0000000000000000000000000000000000000000..d54c36f7a7d08fe0a2e79d965e5c74f082176b09 GIT binary patch literal 4225 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 X!C8}Ww|Ds{00000NkvXXu0mjfldTZF literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_12.png b/examples/moving-saw-platformer/assets/Red hero_Run_12.png new file mode 100644 index 0000000000000000000000000000000000000000..01fb938e9a134cc0ae14540fb29bc320655ccf32 GIT binary patch literal 4235 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

QmrW4;SnmUkH7?AMjLY>qSBP@&4b2DzRCmGmp~2 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 I&n4nN06TN%K>z>% diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_13.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_13.png deleted file mode 100644 index 363f1bf0b299f7e47eda8b61828e114f22134fe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8846 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_15.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_15.png deleted file mode 100644 index 1085dffdc923860aa796f835bbca4719f8df4fca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8699 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_19.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_19.png deleted file mode 100644 index d379d9a27923ccf43609003aa30928f322eb6aa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8597 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_20.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_20.png deleted file mode 100644 index 676afe570fd6505b40bc20d8f0b714a210c435c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8597 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_4.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_4.png deleted file mode 100644 index 6dc56cc59bcf0e780c7042e8c979e089797b2c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8597 zcmcIq2|Sc*+aLP~Wy!wH3_>-`f-%az@3Isn%*t41G$Y2oW-VLF8Y&dWk`fXjOO7mA zLkSgiB9bVCZ&auEyx;Gf_q^Zty`SIjdFFZU`?{~?fBmoPzGr?CY^;oV_K58P002Cu zCI+^QPyFr$WM|xcUtY3jd~o`jIMDzAE`i;P36PT~0s!n8BiTFpIa*q1;3z&y7(4|_ zP@?Z_BFrIgZl_8*SB7R<)5ZzsaAV*6ZkUoV< z0HKv&P#g>f1EJ7La1Q3LP%=&CcMS#v8jecx z^&?Tppk0j^Eaj}9CWPVY_ZWP9f2t+Ze&EDFOqq`HRfa3Uc4PV`h{yeu^F2%T{$?DH zQzm#5d?oCHw==e`7gA{O4jn67etA?#}#EPy{;ZFGP1| zev0~P=u-(8KMK{JLh=5cJT||h2tueR!9WTpNMt-EfTp+`!;b|71B@R*6T%=85(+~= zVe0m96%8a(Llu4q2G@YWzKdE?@FZg3pNXodF{J-VltE)W#t-wi!g!npkwW#sFmgch z!MGEYeaY?+(9g_j=u^BYREA-OcgSyESXyeBl4*VzGLB$spb24wphP0!HSjPD5eFxz zLe-E+Mhs{b3>1x3#X;e4EEHP| zW%%y>$Gp?u%>QHBflOjRjDUc4`SKlAJ4Wwfz{;@oZOn#5CwMy=kQm6&zB{pN<{wi| z|7~iwk?oe6h6#zrU|isjPGd(n^W({z1o~E88W`O70C2n9B;X-GhDm>t#(xj6?`i`) z2n?wH1!upD(I`Z}01TC&>(0RUZ)-yNFP*25{Rz}RxbKUhVi?_;K&5Fyh*XLX=qG5dBCW&I3bsCouLp<^Mx4YA_@mgI7gCv1ph& z6oyhkG71EaVuXcKMIbPEJQ}U`FN67GeD!q|t75e%q-v{;cQx zyBuU}-5QLI;%~MNMpwsTa6}XogI7mDk$4q#C|U)f4pm2@vFZp60uM(qTK;!$DF4^3 zW4DWZgW(USv)_jpN50+1pNCDx%g^H~fy}5|D&sKvs)j`04vPQdw~49kM*1$l#MERgdRRod|bHFljJobbmGMPL#0!j z&gV`NF3Hv3G(1**vh1#dfdJSHBmzo}dH(u^?B^HvR@B{>s=^mS`+9ntObOD=ZeF zrT#{@OzeYbiG=PdUR`AVbgmQHHw>2HDw(`idEgpmZ>aR8`tGaYviXNK9dZ@k=T8Q| zuAab?jNfOs5lTgG>H(1Atr?ymS6v8C0ynRCJbZ24^ht7T>SY0H5J-pBc8FId15Iq#B90$;l_sP5?0l)szsMjUIQiMqWF$=WGut#6* z+Dn#5Y<-|7@ko86=gXpdbM4mB+SJZl?arYQ#pBP@_y?V0fS?Ib@Z!tf=%uD<dy z$zc${SsE?c&YGaog&W!FTa^}X#0*LQqQ`4%7%jnPk)cG_i?Y7Vt1M^almKRLOUK?V zXwfO`&NtWVe;7Y!y$cO4U=%&gAVDYh2$4rqt29Wv2r$p zys`sq@@(W~O)UL2*taTl?fF_mhHN-HGam~y$`RWRgE@6Zx-JA_pGk+!R@^!ANSZX~ z7^Vv3YZ32(x_rEGYN^*%Jt!eNL8s9E{qTtWY3TavR`*R2g?(Cq$@|$-j?$A2{9T#= zuxnQ_yy6#fJPZy*?G-idl;5}YdhY%UmAminEfp*{x@^Y)3pWtaGT~vXPw$9ll3Tqq z@<*P7L=y!#O@&T_@%xxIKaA_^NQL;f-=emk**Fb}h>R4v&~+gv!DfW-B|x3(LB(zw zFNQrHDA3xRPDn16jHv;`iq6FW@>Y_}w-?I7`@JQ`v1Y3Ao90@V!cGDX6v@i1T~mTy zKHrjdaqk*$1D`rG%NjItG1Ng|KgS09)9|?p*Iz3|C!TDqs>5A!OeU{*M5BD}LGKe5 zZ0!=~9#GbA7x6~M>rC78RNI|SfR<|4@n`TGgqb-`4?CwWzRF`dKHXJVf0N=iDPMU% znid9M=UFile-fl8bQGqGnJ)|YFy3X1qoFaqCsCbUVze zx3lzw%G^LsZ{U;7xwFl0s@@*aFN3E?_%3d*fsZ+XHy>;QZ9 z=?@n0xNMoBFUwbU5~M?Ca1|M!~~=&1O5g(f~`Q;2uYA@GHC?8w-2dbBQxS%g)FS%$rxmDpJuEZvSGZ$Zp9 z_p$)?TxY3&S3C9a1KTe)=#!rpE#&leE+Z=sx-@>x`AvE;5U>*F>NP;+1ef>$be7AI zQ!_lmLgwBQq8Vb#=X{-e!5LJa;*!2lS+PJttPf_tIQ#LLgd^b*!Q>5RGj>4F!j<-| zrL9v78*^>IJ=q&^hAmRKfz>z7{SU&JIKss|qIq=rvm>)on?q)wVE`Y;Hg4Nb4aBQ_ z**NQP;MO4G#GMgW)3(L50lLG^J^Iu~*R~^>E|I9c-mTh`UxmMnvg~v7_V(_xPAci9 ze~1p4uD-v`5eCl<%d9kbd(U@${%f)3p=Unk6LW+FK34a&W{4xQ-t_gC!0R#l`Bd8F z5XJ>u$$_p5xL$*?=l8{`PSuE_1@)35`E(Ctc6hl4tCE|y*470)TWhT+lTHV0Dcgf@ zAw43WX7&myIs2dW5}N(u;U$rd4*zww3}vr=%rZ(sQBm+Xm0Qd>G#K|XRfnPVz?O5= z>-Eu!Q`MxQl0dthv1#{$uLtwj-&s!!>g8@m72XOQ_ljsh4(zSDl)AuXUPUsJN2RB2 zC&+Y)dc8L~%wFxWnZxwaK3X7kOz3`Ar-%qm;y0D3M_TJ=CFs8L>TlZYRd3J7D$nVq z3Qua?9TCzq;IfA=a6aX(%rrqQGpXMl(P6e=;hW$wPK3kuWQl0UH$Qk^1&BtAPO*NT z43Ms+OlgH{)g_g7(q9UEzFxBlGGHpxKJt=h?sDIyy3uR1F}~KozCd8Vq{|Xi@qB_- z;3PPWC%VC`%skfL7Q<_L-UQnoj|q9$zrA|@%Yt->*iyqXs(NMl%5MlM4L@MP&eu0* z+IUbBl!pBS2Ar>4pE1!{yXle5^|zQkPR$jqo{2}1XlC%iSVb2 zw3}`ia677uskBRhGJYW}Z2oo;5OJjWi`?^-+56SRUa{9y^wIU#7qjy6yn|f&IA9Y( zcfJn1xZ6UTA`8nv<%`yaWn~9HWUe|}SXd@JP`|{+%*`sx92Kd?O1$8h7YaKL<^*8R zwelQ-RlgSn=-fTokt}({YW*|uDK}>N!W(equp2Y;n=Pi6vPu8K*_fNoK-lKC*J*EDkv|_nuA}>hwoh&OjlljcEijkqwZjneZi{)rN z#{zEX#?&5%9=CqYeFYyWr$26+r%v74KT_%>0#5~gxV&24m51Wq^K1w{LcK1fsmd8I zIvZ6$I{5Ca6NV(A)Mugzy?*6bz=(FjF;za|FM{@R4+Eu}_qvC^_Vg{x*}f7@(U8_( za!i@97*7YY^Lx?t*O3;Awi`CTv6btscr?Y7FBsptwsaWAbVfiLre?Sgl4*2R#S#mO z$SO*ylq%rW7trSfmyvF&Kl~`JtQ$7TztFfE*0cTb3FnQ4<~8rbTU#e&Dh;0)wZ%um z)%aiLyV+Rx%=P;Dykk=~67aYe0~Dn{4n7R-U7*PJh9>a2Tc=yHi>*4!s)<#5%x~w2 zsD5@F;WIP7acoRIaW$Zk%bd~(%v%-Ct6IvrE7CM;_Ey12!b|vQ!@UcDL>AT5$G()g zj#C)|jARW<6|ly=C?if94UoYST#w3>_|6oKxxvY@osO#xNdFA;J5RJQ>v5GW=(=V} z&CDxs_sVTldE0I6anEPb*TzZ@MvAbA;2yKxE6mb#cM2!24hog`h156`X6q`W>eQ#E z{Jvt&%S8dAm|E0=JI>pOau!zTdwWUO))l$PN1A5>y$um%VD&rF?qPEp7L=)^@zWeL z`-E-iv($Et*kqOVQpJJeghU};q{5rvf%ci|@wkHEMnckX#AN~7(1pP1hLQD>J(@<| z99JJ}C%{a&0k@0l-(3xLb&CO+Mw$WiS<^c`LnLjJnV1n(j^}$i7VGP2;C>TJ*~&b*HMe9x*Dp{bDhAk+ah(YliJztj1vNUHh(s_6JU#$41?f z1F)XTKc_R8NYSLIDkF189a!UEHEcxNC0H3I^0lNf!E1>uE#ivFqyCo7^du^Cjn-L2 zs`#ug#jRid9Y8NrYVQf>N0d9qcb<3ZDjRop2bOKE^$3l4hVWW@cR0 zU=wgoJUB99owYaji72hQmc_tE6FkT30q9!~ZLpVO`tVgzYD@9@s!@|Ra&R~q>jSK* zc5l20;1e%QFg3aL?z}U1dVQyX8q%2(*q(R%>Z{)DG0xr7=7fOGoY{W1J!SHD_P5m9 zX>QvY&RP*mcV>L>Y6SO`QPGGBDv;=Pj4a+e&c9!7oK*yBwQ~m6JfDLiXE* z=i>sG)5oL`eVa+vuRd6dR#b^-Ap^g>K9~fmZW+dUb)~g)cq8S!b-LM;in?a&#efJ_ z>N2MS_>n1BdR**N->TEUWWMV^iTYeGzgKtm&bn}eP;cR?%W>=431=Kj`AjmT&W|;| zRQV`S>BFsKHT51^2`?`ixsiF3aSmg8H_ido=OwR~B#(E9(A(BCIlu$k*W;|pv_y`d zHe}yVPaP{(u3x;Be&jJ5DXh9$QusABMGdZac7!c^p8siEu!&r3J9~+Qc;7nn!ze*0 zBua5)!uG1CCOG)U=PNxO5Xd|xA%a`y!EN1~v?8gI)Gf>Q!pQynKoQUx%gM{4Xd}aW z7Q%&WCB&+UYdVn&hH_lL9A=hP%i3DL^UQV3OeOB}Q~k302Wkz2lNYX)H~adU_=7Fb z>~BI_aAQObX7|usJ7#A&KD7v1e%fj>|EcMB@;rAlWIIjf_y8sRtr;?hbgy!B)8q4V zCwOEoos-Q*N?p5={Po($FRgaUg9Yp-t>UvQtt2-Vc0yY$9Ng8HuER}aT_ZzAms`hk z+Qsr#-*>IovfY$mvBGxQMf6_=8Ir}L)71^f4M1$&W?8f=Ok>a7dyHU6)y>eWx7*x( z`;7hE=9WvV7Qb>ReNlsb65W5$7aWnF*d3?!`Fd_Kf99#Cx&n6Y{UGP_5zge%n!5KXkP7hsqsd-Z^1n>Jnzeg z-!vbQ(PwB7_tl`88e=KEa=k$12(=P@aX)&nRy#q;$PXWxjOoMhHKgKRYqI z;?mdRjyuAkpKeROu4cY?36cU;Oy;)bR$!0Yv*EEi{u|}JhWp0+eY52++_P#I(y}Xa z=#6_6qUnR9dM++??zh|Ddi1BoeZtRz`(k+qU_*j$ZK2aof=<||O%guxDLj- zS72;e_w2Vq#)V9HyxO|$JU!>M<$aLvlf9_z1)qNM&6cz%59UDTfujZ7Z`jt&xz4?) ztI)r7P57egSbmVPCx|P&2-rRUZ4PUod72%rEK zNt1^c?5GN$nDWKf=$5BYJ82b1D<^I`$2#7tX?iSV*B70iC0XG;)qDY=1z;&PP--D9 zeXPmnCDB#b^Hx%w>bl4>r&wmNB2jM2OuP>A?f2?3>Kh;+SFn__L-)QVmUDYv_)5*Z zW3n&EGg!Z|$&80cl(eDfN3I3-Sj4=$9tU4i5`Y@b z-)TZWE$n1n>~EExKPT4h)c>oIe4x`<_e*8vmKwIH=Ho{Mr|p4}NArQ5K|XFbM3!6m zJ*}llUB!Tb?cZ$uhkzDlzIx2io3RRRhEA&TRxh`CJDyhPZQq`iH#z#C-UAK3B*`)O zX63mNw5!Q8P+B-DO4cc@<`M_#4Yp~)GdnTGKFsP|OOQS5&6%Sgla7}hG%14*yHy_6 zIe7@p$2jO-eRD?3H>PLu*T?K!;WybB3db)zsrJ|W6r#4+40PLJpgj5SY0!JgI4yH)FMF%b6Y&t%C;aG_* z*|%9U5OjU<3h0P{INf}Y_%zbS31n#fNDFN9c76X%!I6TLox#xuOhGxvf;W5{K9ulZ zr}w_IC9l|KC2E!4kUcq_vg#suc19A>!@|0|aWe4?f4<`k=r%{erg)b?2o$cS$?@wh4y5{HUsNNW5niWK)<&xzkb%M2PEl z^A+(w&3W(7bXalQWaiq;DW#np?FnT3aH)rgkIrK`*?^h14=H0TvWt(o^UFAJ-S8;Y z=&HBPm{*UIpKq<4Quo?-z4i@o0a^e^uoMt(@85aRv(b?otL68r^4?LvN`U@Ug zaz6c*lI{|QH53i�~2=3l}}le-%75RS^_rXnV&AQ-xxofH?Zrr$a7gK9OWWp4Q*K zE%$oT%ay=IXpECGsoS|B-#RS(f{vQOY?y!zai*w!@y8cR;IQT5Bu zE9ZF2I#t1@Nl~9~lTe6KTkX*me?q;ax^iWbi!AKJTPe!TL3_ZV*Jg;oKd!al#VwV} z8F}|U@8Bajq>5@jt<*%(wy`#aZprq%?+ao*bnDB)#Y|JkIKeb==jozWu~A)fJ*jw* zI?e6u4yD}na9Y@dD+!&K1t5>^k8?$M?0m}4URv1Bc$)hg-+_;rtM;#!(``dVukX8b zRMk1YNK9W)AJ?6hW+HBvd>56qf?f(nYSaDK-i9wU%1<02L>us(Ix-OT(QR$>?qr;{ zMESy@n~~+lP6Z~%3gx@6n)ly&$0IY6SsIy8T*9MxptRGdf7mAQQ%ip7rc^-$+^6?z rZKKXeN9ol~?FB!PhM52PwJlxn%g*&Q(z)T?f1EHiv@)pFbBp>f*i=s$ diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_5.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_5.png deleted file mode 100644 index d682e6926c027711e8ae06b098b6891cadbcc227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8597 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_7.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_7.png deleted file mode 100644 index f614576860ae58c035bef80893f88a375972f15e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8676 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 XRldihZRzsP|1gY?9Mdn?bqfCv|1*7p diff --git a/examples/moving-saw-platformer/assets/GreenHero_Idle_9.png b/examples/moving-saw-platformer/assets/GreenHero_Idle_9.png deleted file mode 100644 index d63b98d1215734c5841ee428675feb5e308b240d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8856 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_1.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_1.png deleted file mode 100644 index 51677815f6c3568baf21c9fa1520054816af7fee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8833 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 LvNSBy_dNMuwZ+yy diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_10.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_10.png deleted file mode 100644 index d3f67b7cf93da8d1e71af9398f35bc92427657ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9191 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_11.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_11.png deleted file mode 100644 index cd8db5c5e931f3940a74a5c671d173b62eb55a09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9278 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 T(POpy4cdBB0VGq(EqagkD1xln!E}h@hZ?^j-x8 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 OKH3`k$Y*LcA^!!s6Xfmy diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_13.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_13.png deleted file mode 100644 index ac02f3d6de1bc4f45e4b714549ea32d014028c5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9319 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_14.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_14.png deleted file mode 100644 index 745f0801fe9f60784d57e68d7e538a3caddbc081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9319 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_16.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_16.png deleted file mode 100644 index 328e03fcacf60b2a318728478ca271a78c3f4244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9319 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_2.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_2.png deleted file mode 100644 index e0cbbf8aa72d47528d8e900fa61e17627b6a2772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8833 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 K7?kOGocs^BnbX4n diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_3.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_3.png deleted file mode 100644 index 476f191678672bfabcf7706092dd47d5ed517d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8909 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_7.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_7.png deleted file mode 100644 index 3005b4077f0939e8621f45bd0a8a14a95c67466d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9146 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_8.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_8.png deleted file mode 100644 index 12a7a01e58aea6df50a71e37258ffb89c12c01fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9117 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Jump_9.png b/examples/moving-saw-platformer/assets/GreenHero_Jump_9.png deleted file mode 100644 index 1a02f7fe8daa3cde7329589bed4f46564ae6f6f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9191 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_1.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_1.png deleted file mode 100644 index 997ff3ccb3f95a4a26a41c8956724e209a0bd682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9371 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_10.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_10.png deleted file mode 100644 index 1f7c017d432c565f377408277e5f47dbe0fde2f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8756 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 B&9?vm diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_11.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_11.png deleted file mode 100644 index cc2ca0c6b9e597a5bb0ea8e98276813bffe33148..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8756 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_12.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_12.png deleted file mode 100644 index c5e245ee3f9217cc725923d8435aa5bd0a9f40d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8756 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 H976vOS=G;x diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_2.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_2.png deleted file mode 100644 index ac1d281083630584f559228ae9096565a3cf7815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9791 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 XHo`J)FL#;_|Kg>gqODw_XcP1w^x44O diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_3.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_3.png deleted file mode 100644 index 52f3b84b3116908301547fcb401a1de6def5762b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9791 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_4.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_4.png deleted file mode 100644 index 26e601b01f8b355c83bb95e3a84ae10008b84e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10172 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_5.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_5.png deleted file mode 100644 index ac677fd76616004ecdf6ddc6fb97d336829c1c7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10172 zcmch72UL^Wwr(iW!2n7ZLI{Gi6gr5sNN-XUK}twMkrGOzMS2&cBOOJmpmga10#XzO zLFq+NKzdO?sV{8Zo^$U#`|dODeeY$A{Q3X2=9=Z3-<)fWBvA%>>hv@mGynjAUQ+{U zNc_Z{ys0RNSJ&ATW8w$3tHyN?0DzYHI&x^7vlt44v%!ja zJG&C40f38&-mWOLBNh*`!P+^vD1g_STEQR(i~{(Yq%KU?RTXRRpyBI|HS*OnM*BLV zWiepIOQ4J1azq8rSUd{k?d;^@A?K|C{zI=E@&05O3I_clf_GE^E1wtynd%yVRB`TD zkgOO?6b*yHK+>{eaA`OiA#E!HLckCRC`<+lmlB1`$iWbD65^m=FEG)ZJH}Sd5UKXd z81YE~Y>&sg%0Z!CUS48e;$k>=J1AUMRu&3FKoJO0qJ*f2j|(2Cl#=rE%+4;8#5Bz0MVi>;w z`Ipij#y+lCs3Fz^cgr1(z3fSJlkd-HJn)9tf8hCVEGLTpUW|9J{fo6HGyfqdthd8o zh@Q;+7Il?Vb;qLcICogmIc+}qtW6*N8 zICp0hF$WILC_60F)x{1B`kh%hRh$#fooJZoo%kPK=<3R8x_IDGE@-SKQUOd1LCnDc zBWEiijh29;#YNH5GB%>JG7`3;vbHv8Q5%>I24Mq3NWx@g{#=j5p>Lg#?PUGW!o%Ru zL>>RI3PWL}ZLv}kq8J25QdCA(!bVg^LINQwA&Evv$-*%Rahso*5WUfNcOce2%ITlA zo_K{JYQ)G$p>1tYGNLG$t+c2VQHQ9E^vMMwA&Ej@#cgFIh+ds!`$P@VCDciMDS+X> z22D>`=XC4mpfrM5_%JB^Ufe0}I3_9V zCsU*Y5gCu4PMnze$JF)zG(0pm^hb5cq0m1AK%a0E zivj-{cK8=*{PzI+sn*LLON8pb;p|T_51cLD3+0Ygwj<*Ew>1I%OXqPeo>=#Pa^Dr@ zjv{tzthv2*l&y>?7Dl9{EDU2KipAK%Z6s`E;kH=WKOz3F5D{xtTn_%bR{tju{YoF&9_3<( zCGK_5|3xrpSvXu$ToNUUMWbP&2q_71Vr^hiqP9}D2$YSjI9dixERes-_kU_U|Br(~ z|1AUlCg~@<_)U_(1`UICclaj`{4>vfy8!xwasPMh{Vn7Ez25r&JxS1$W5~~T1O3mP z=;t%?Cz5I>)%nLxE%&c_&cDk+;?^xk+$jEL>yU=QF<2Xvw5asSt|5t%kQGHqBe29x z#0HL#kdcAg$`Cv5Pj7Jl+pXiIi~Iq@Kb_A093me1PHul6Hi-|vkE>W0V%@qE52K@G zRYw2-*Bwoyvaxs8s-I5{#>8iRePW-^s;wdnN0vT(Ci<>*yH!m)%JZs(UzO-OG zmAg2hyIX*tvMPW5#C-Ritlj#|(fslsrOW*`&6~R(+zV_{>wO0L%dKgGuzXO=(>FK5P5CGsrh#Yo(;YZMhVH zw43B&5%#ivBwD-9p%*A%LE&rVv5jjV1FMf!r@5&xnlMj972ia*Le)a&y}Y6p`KAZ^ zYyme>u_HOlEG=HDBd5XuddW#hs7W+Q4SOEhB$x{7-z#PN zUMxiE`{k(xbaiig{Qg?=`rLZN1cfxbLu-~7xMJJ>k*^bGO7qrzuy5DvhWCm|SW5L9 zSN9eO79NV(r z^{dnO8z0pc1SnX?{ZM_LD-cRzPlnUmXS7It(pAy0Y&)3zjo}v%%GtEju~d9jhVb$GpYms@jo|rGxKP<+m)F zS4ux?^qQOkladTu0t=WD7`fdC>r}sQgi-3t#6v)lkHvu@&kf+bv6VI9a-_mx4W)6G z+4qOG2Rud&zV$~#odRa#-z=PK%Z*kgk6P=`!5fWWg+X&_zP}pa*2j9?L5XwUt`-AiL^_Gz{s>cP(;6<>v%zd7Tq@NR*UpTmzPUZ}uvKn({#tqC@(q~I5|enxVlQ8H zK4&4*vnLKbdR)z+Fp$~gaG9`Pi)M{2&10RtOV5{>?;L9~xoWmEiy_)o&)3o?cBWwf z_w-u%qf^(9Mc4M1R;eh20AwMVUY~xLuXRra_%m}if3tPke@_duPRl})-!-cYzEH%o z*=+>9cy#AmxJ}ds3m#C_pn6bOP&F=Q>Wj5qOvc_Y+Jvm?a4rZl?JF~J%Wl~4tr|E9 zbb*Lu3a%tf=uPf!2b}vluI8|Ew5oQ|@BQh`cLKPM*d{BbPL6Q_Br5cJ>f^?)?5k-> zlRESD4z6}AZ7-V(t_T2}oJu0LJH@?RLt!6uUiCXGtQYrZDxo2aQNvnv?ukrpVKqD8 zdoh())hfdwL1@~qu6h$Rlb)XxKQ%6wbsYToy6YqVBGt=!O7b{1RcxPxB4>(*p3KXv z#cs(;WM3Pwk&5rI8bGmnTRHa8#Y&7;#5-Fo8)4HBAVzTDfT=n6~i#orbX- zRO)1{Gw0QE%e!|urDM~S4|4!YwRfj zv@T&pPKQhzRT}d3?9O{-rCZ2;q6xS%Lg-CpH;U3Cn+f<>^8EfYciNG6p%?<^q$S6U zwbJKjwFgT-Slu2h+uby{e%D;+I&}8?SNN%zk6X{JfsAj`eVOKM3D#+-4V;Fj?6JgE!fU@(#nP zjZnqKus7PN#{|zGG1V8AF-n0>U%yUS$^4ifJ}tuisXc=77IYaf+Rvr1t?(wM{Wil> z3lr4xInN@2#Z3t7v1 z^vJJYYS6XO-N>w8c9sv|!m$88C&3_MXh+d7xS5K7GHcMi9UHC%if^e^WCQJ+RR`J9 zzn~arvzMwgtKwk-jxv7x^tuAN)5laaHank*>(ck%N;=dNY_(y*ICi;^x{9<7PU{yx ze;MfRLL1UcPBUN|P!vjiW~=Bm;T2t5ZaWEOI1yVLJ2QVx!>v%ItXSO=Z#UN-0PTJg zNk@fpCr84S$k1?%^J}JwBr4KmiTbVa@()=)MIWBoHJ>(=8~rwZe$sc@%WWasD|Y$F zOg~3jXB9BK%}wE9-IdNoVnG*7wl|3 zA=P+4Q{_h4jEs!?CAKQfj3(2H*gpw1emGrqvaa)wdTDS0y(@KJuCpki=0yQsYQ z@z~LKl9>TzYwxr60c3$gQwZTGj1i{|@O08R6Iz6wt5o=0X=$6_JDs%Hwot0OD#fa8 zyv_Sx7r^p)hk*jKHQ0ge=Xut_qe{|+AxWQ{~JV&$~Eus3z{I(!rP`8(iMecf_B|V80`&!kk;^JRTZ_>f!KK z*Fc`V%XbypU1QbP{Z%o5&M{zzd~d|LZtaWzfX_}sPv5GN@f{PtL?fN?xX7LLaoXSw zh%v69?%Rh#XbSfvUOs{byxc~otHW3@o%#X*d7eH_`rf?KPYeD25qr9^`rSk@1!th( z+Zj4rvJP_kyFEa1Fcnj6s}OHA9b{tG$n>h~SN1IY7^U06<wGKTkQ6xsO|;Z0|*M#ninE5NVsE%&50^)d%0 zSg%ZoUV3K_TcTqkoo?6bdBbJOPVTrnswkOnV!8;nkxZ#i*%_)}j?4V4MAt!Q6aK-J z=>a1=h%Tt7L|m6b=nYO5@}#L$6$H?r!gI@03W(j0Mqlzce}_OZ(1haLDVvDR9r4Pm z@&o9pvna4~MXUt76oZgp;5LC2&tGC zMO2@Zo`h%7`K3E)xhOzqubi{bP&)|hEF1;_*|4&Kw0%2?-%0_p*0>6FEP`WqMN}T} zk)r^j>}HP0r?6~QKNUKbz_QEFb2z#8BkSr*`91Lc-BrSNmS6C;cE!)f3$0aW6iX}$ zc;4sCT=(=fQ)=L^$WyJ2twx9GfgGO!h}B4_RM?0 zf*IMuG}Nt~A2;1(l4rc%^n4#)xofg6k&s8K622<))|#!rc_FHDuyCw#s4ESR&QD+H z%mpaZ8+)nC-#O$e&VI`o5@6(KyML>J*>3KA&K6KO52MbKoUmC)u#4v3k5x@W-DD(o zeOKE$m1l5rzyRTu`Gd#O1?h0~O9_0f*TaWo#>Vta6ysEaY!z_e8CvGq7#Mu?%R7HI zDT8(<@TVmd8f2%Nq+2^`uNbxUWD-KFIGObV!$x*5)O!EJ`B)tQP=iLvpr`9wf}=B~ ztkl9Vo%eEEJn=MbXU1&{3uLDOt_nVpCVP4*DJ9#ei2!RNP`teIy3j;vTjEZo4+zcn znTZZ=9dmaY9T$OmpC-jY!<1Mf`CaLTo72T?P4Tw#=X)wDTTZ!=!FQg*r7ojMDdw8l zoq7C6Ub-3`4{`Mij1EwSa(vc`ED>Ey6i`YapH}u)V^jg?6hBbCOjmRB37JLo%`=ov zzBsJ9^Q$)PRpI$8Dcq8iJ(>f&I65au_eF+K!Y;xOAmfu|5IkiHL^_$%u~Q-9ML3LE z3Zy$V6Pf4-flb5VIy$C_eHiUf_<+`PB*()k`NEB$7y6H~3nFep*Z1VF&RagM?i`>f zECD{ABD=ovK?kbz+0RvUrwcL$50b*l@P?znA+>pSIkM|nXRSnP>T-N13HmDmLk@>^ zx9SwPb{oqZX#pp?-nXC5_RLtQ7gT?b-_3wjm$Iv6)|0=y$95h-3Zw{Uqa#sUafS!= zC<#1KblCI9A2yZc)aTkVX={kE-=m|?tC_l?O48%iqj>Y>(#lKr(hl9jU51nqzYD(T zjg-&Ljch8cyW>_=RCNq07>jser`66CMHaa;8q}!QpopwRR+0S(Sv#(;=_~?df+{F2 z^@*yu?9FS=UkQ2vD_axSG7U|$FWus39GAOtAthoNj}~D(e_oZ7Gft46Mamv>L21)5 zmUXK0tlHE78wza%Z=BD$dD*eb*_1JfISG{l@26=^z#Z@gk)rtEm?iDb<1aG*F@E=hg`lOVg=`1i0-O-)Uq zm<|?R%j}xzly`g=dRMz07&`}}cp4PjK=PMtxlNm9@n@jG;O!iib z2`W_0se|Ri<2vYu^JXsH&{zj~9ek^PJBvqNAy3?XC&{du5FT@;`1N}4Q#;?6@9*fc zRH@mY0Xs(+3YoAD(3M?|Bx3-TiBz4Bmk0z}JBTno42s7*R}V7mr?uD7e$NkaJD>P1 za@;bMS`riO$Q;9`-wSXIxo5QC-{?IP&XcZjT2Vth%fZLBn9+svcBZz%rToyeo|WN* zJ9lyJtx``DE^z}Vo)t(0g^3oWv}UpDg3C95cqt zKd+S&Eu#=~<<(0roIhu%yG}TJG4J@5(4NLkYHyt!*>@YMJ6RbPa@$|*37h=xpQ-{8 z@vH3hv~oa~FV#X`r14CKJ~qp$qD6f^%tl|ub4{`utOXgR6$Lg);=2GZ?Mq9NOPFn( zq$4hbdoEN=d1g45;Ej+v`y#S3bRm z`Lb8h4Y52IawEuf8DNYX8yDk#(`Cx;eU;+qtpaO?p+-p^DT4&E^uE><63ibeiTeMk=Vg{6!6 zJ`U%g=1{w8C?ZbrSv#3$VlQtizdZqMb*QFRWud-}1TOWKkfosso-g}58QLLFpIO0PxITJR(kh<2rd>t%NR*wr11PIs zn?vY)F@_yly%i#3cK^c}EejPDdN%8gvTH5_1mVL6GE25(=tRV0P5y4d<>iT++#Sj7 zEzfzHzmMEtAZQwJut|vt#>KN0GnO;IXC^pEDOyPnqcv&Lco7UGj2C#)v z{!&5Nu2EcZ<A+4tS zDfV`Yk2*s*CZg z!!u_dFZ(gX7DElH0{J{8^N|}ba|E=@S9zUD0a1qiH5Gx%w_sKi9y03`)vQTbWLg`qZz{48AH1f{c^q?(@ zyerxyRV$wy)-m6KU;ssy>O1extsNgOCq?f%e=o{!t#`ZX>&5<*)oV;3K)#x4c<0D) zRp^O;`uLBvej8>b!(d?=--;c%hf!{IgE#K6F@CQ=)mT(~TY95?ZL&@4^w(|K;myy$ zoueTm*3_frZF$gT-xyJ^(NkxA%H!qTh6SpGZEwFxzo(c;A0k0!2tbILQ76nd53n@| zxM_+o-WXEeZaAk1Rj6O&eBSlU(dli@(p$fatX@|$C0}M3J=Bp@*$>lho%a0rb_4(z zY=75tmZZlcP=jyu-R}JYO6f!AxlL(q`Z@-XpVkWO;m05GjMA*FGuva#$1U5Fe64M{ zTAxDdyIEflh6AeChwYB`i@A$U#p(FYFV7$FHR?lee%pKY<0% zou)JF&-bQhjJYTFMoQ`qBE`ZCCZegNPq&3ewC-bO&USd4oFJ|}d|>PO<6Hl$ojwsJ za*J54_mY{olU>`4u+pN}z8G?`uu$mzg6E`jusyE-njRrpJQm~ZqS$K+F@j9JodJFt2p4}-Z>YOo)?o(ngvzj>13r#HULe=1Y}Rgyq$IrUX(G557J zh2!o;!3l&&l7=5?tFQeG6H|xPJL)Y6NN^dtXr`I70%Tw49oKI1S`Oj}rYA%!ucMgS z7h~(pG6Cp;&E7d_Rz0f?2P5iTb`Hp*7x1w!x@_feIO!GfOth?2Ayxx_)Rc2$aU>iGMO5{c+FQ-Wyo}1bH@~a>sG(Q{iEP(^orQt*g~8 zwnpHKYN&4JX?Tit)0^|^kdE*IRp9V)1?Y?3S3Jq*3Ro* zLi#P6heZ2&$Aa<#?$|x7?K*ka$YBoKHBA5yk`j<-=_L?6Zayaaedt=*;@%4N44Sz> z{x;?^q(O{2_$|d)inyZFosY+)c~?gc=_9m*>UAsC3~$C)R-SE2zv@jQ2rf|6 zW(X=9>X@eQJb{r|S$Banf$Vi3{nX}qrPq40VPEyDh3&GsgY@nO+<~0t@8P%&#F!UW z6Uk}@h*=ZRy~Ic5tIz&^!7DZ$VfT9Ag>~jodUcNZt=Vy8cSwh-Mpb>{hu6*#@yd0JckQvB*wzC(qx>-yTpqS4P*o z_@sKPlr@WTbdWEgE@1T2dDf(so6q|9kKtNX9h4+S zQSnv^$9dCPJA5({`>i5?x3kYK_h0+^;R8RC)0w{DukI3F9U-JzilwGVSTZ zvy_>XH5bB=Io}TQ3SH+K&NaO{jq^9%Ht8PeR2yASO_e0GZ=OknMMXXTe609C{T=T} Z(PZKsG_JX|>E!=)nwRyEWh&Oe{|7CqTkZe= diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_6.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_6.png deleted file mode 100644 index 975ed3637b36eb39be51c67742ba303cbe887f37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10172 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 g$BO^$?|4UwCKKTQ?U;Ie=yNjo&W#< diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_7.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_7.png deleted file mode 100644 index 439246451abc3a59681a83c8eb5ca17b0f4ad49e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8877 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 Ucf?~3|4^c(uBTR}ayjfj0EYejMF0Q* diff --git a/examples/moving-saw-platformer/assets/GreenHero_Punch_8.png b/examples/moving-saw-platformer/assets/GreenHero_Punch_8.png deleted file mode 100644 index dd5ef6be2aa9bf9a1f3f64854ae709e2dd1d289c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8877 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_10.png b/examples/moving-saw-platformer/assets/GreenHero_Run_10.png deleted file mode 100644 index 34282a59d56c8932abb9baedc3e8c89db93491bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8440 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 Ha}N72c|{#Z diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_11.png b/examples/moving-saw-platformer/assets/GreenHero_Run_11.png deleted file mode 100644 index 9adc653cb85c63d82bd56516cdbfd90bd0732e1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9299 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 MPa0{JX*fmw7wh`9R{#J2 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_12.png b/examples/moving-saw-platformer/assets/GreenHero_Run_12.png deleted file mode 100644 index 366338fdd4b060a0d20e89e19ca08f5ea65333f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9299 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 BXjA|I diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_6.png b/examples/moving-saw-platformer/assets/GreenHero_Run_6.png deleted file mode 100644 index fa171f73163a89a46494ddac5b59a5107d997bd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8996 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_8.png b/examples/moving-saw-platformer/assets/GreenHero_Run_8.png deleted file mode 100644 index 4fc56c8c30d753618049c17b08be503df46f2d2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8527 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 M=osU3wd}+H3wT*E;s5{u diff --git a/examples/moving-saw-platformer/assets/GreenHero_Run_9.png b/examples/moving-saw-platformer/assets/GreenHero_Run_9.png deleted file mode 100644 index 34822aa3d1d249e0ccf41b3c89ece2abb60ffea4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8253 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 O{6_l6ab>zrVgCoJj?0+< diff --git a/examples/moving-saw-platformer/assets/HorizontalEdgeIcon.png b/examples/moving-saw-platformer/assets/HorizontalEdgeIcon.png deleted file mode 100644 index 2d9897d6fd9cccb4e6f0fc2beafa4b536800794e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(@a z#W5t}aB_kK>*55F2Mppfmi!ME=C@_Hsr&Q8o+DUlQp#-OR}F#eJyr=<7#H(Nlpa{Y o%+|}iqP2YFVdQ&MBb@06O_9Bme*a diff --git a/examples/moving-saw-platformer/assets/HorizontalEdgeIcon2.png b/examples/moving-saw-platformer/assets/HorizontalEdgeIcon2.png deleted file mode 100644 index 2d9897d6fd9cccb4e6f0fc2beafa4b536800794e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(@a z#W5t}aB_kK>*55F2Mppfmi!ME=C@_Hsr&Q8o+DUlQp#-OR}F#eJyr=<7#H(Nlpa{Y o%+|}iqP2YFVdQ&MBb@06O_9Bme*a diff --git a/examples/moving-saw-platformer/assets/Idle.png b/examples/moving-saw-platformer/assets/Idle.png deleted file mode 100644 index b91ca8b9955e9b134e318ea70beb97b4fd664c6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4822 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 diff --git a/examples/moving-saw-platformer/assets/Idle14.png b/examples/moving-saw-platformer/assets/Idle14.png deleted file mode 100644 index 22602005a7f4ff9879c7214d85e71c4ca0563746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4871 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 diff --git a/examples/moving-saw-platformer/assets/Idle15.png b/examples/moving-saw-platformer/assets/Idle15.png deleted file mode 100644 index 07d709be200168fbad3a875940ba04fbdff327b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4885 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 Hu0mjft+pz+ diff --git a/examples/moving-saw-platformer/assets/Idle16.png b/examples/moving-saw-platformer/assets/Idle16.png deleted file mode 100644 index 07d709be200168fbad3a875940ba04fbdff327b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4885 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 Hu0mjft+pz+ diff --git a/examples/moving-saw-platformer/assets/Idle17.png b/examples/moving-saw-platformer/assets/Idle17.png deleted file mode 100644 index 07d709be200168fbad3a875940ba04fbdff327b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4885 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 Hu0mjft+pz+ diff --git a/examples/moving-saw-platformer/assets/Idle18.png b/examples/moving-saw-platformer/assets/Idle18.png deleted file mode 100644 index 7f3add7e39c7238abaa19fe6ec99271959098fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4749 zcmb`L=QkS;)W?a4h@Bd-x7OAeMO!-rL9N=WqHSt6Mk#8`1uffWBlhp>M$q>9oHJ9iGq14^IA8 zcbCvuHqK6(Mktz(!s$)JAz9w-P>@W2v?ODW1V44Z0yT9ok?(sU^?qwOc>CFpDaD`a z?wZ4Dc{U0Aw9o52GZb#O?FdIHFy_S3&nRfS0D+tPEq+a?oK)JcdqWe$iJQ_C?$h7T zH-Qe9>k{S>y(s6ue&OQ)*?|5!*Y-#c`?~eFfVhaSkuU|f9WL+aRyBzj?}g5}SCfrc zORw6SSyvo(I(Xc^iMukMDzLMPp=JG;qTP{N8?3MsI}BLt+P)b$iVDyQ7UH9k3)`4K z;S8ER&6sqGsFE0KShTeQsjJ1x8`_yhkPXj|`=^M`%a&K5BJlYK|qLprm%*I7N+q*-Av`RG+gG>W z83U*Ij8g^}FtliFw~JK%H$vt(08;}+5>?XgM@NANIB{7l5$h?8NY=;?U`zsUa25Zj zr$Zfh5v$#{|_h;AOvi=^nyr(Tg z^T_Rb$ZQuFNa7Wi#pn zmJ4#8ne(2UoZt_{h3p78Puj`He{?wrCJ2!COygZ3F(0T~L5u6q+`azQWC~B-!bGyd z`q1mhWE2lkW?EwE?L#9IZEvaPWj8bvuWrv5t7hJs-$EhXduf`A0;hELN$Rm~B)*Rf z@*WFo{w;Oeb0mZusfW&Ms==|CQ$^?aBIgA-wFZUl10~c$_?vfy#lotEB~@&SxzVj? zBx=UmQm!*SZqMAe?C(UYDaDA#Ym+6y)XqQDbtkxkH9AHXeWK!EBaXvCm`@?^-mgOj)iR$f zRgoH3Nf845S+Y019Y*b82>*yF5jN-)lTg zLpJ}jI@l~X-S$^3IGeFF3N;VzFhxuy!nK?CHgz?Rlv+2DpB z(w6E1VyrD4lKELKV3$Xe4DU7%HM?!bYrEgC7WUhZ%+5ZSb!c=wKRMuA%9_3(b||8B z-UWU4Np8*#TJ4_3iRb?v13NV8rHR8wu2nfb>icge`^{lkTp?2Rcxp3ksndb(?^!Pz z%D^e3Wn#i~xHX$xSXh|8{Og8N_#Zf`#hneiQ-7NNu)mc+J#zf5q-ZNnB@??QlNm`x zuxpeveXih?i)N%p@RsMY&jqj9on0hm_j8`v`l94>l0x!qbc-2}>1ikqXPZ4}y}d-Q zy76wCGbQ{W?!PCGsU1&-L}kL{cWB{KJA3npmXh)IflG@ zDiMHn&0OjyelQVl@{@kwp@W`ELa*fOsGmOPDGHA^{_L^H>Hzf2r5GWKZL~43mdXS6 zOZpoF#NHsN+kFLsIr+^f7p>Zui(QVKpi=|(VwHxy}OdOv3I@r^HfT3ANR`UFB=I{2jCrvQG;vQL<=P@i@?F`0g)`{UjGQ zZ=e;K1Nxqtp&GCnp(jz+19}wdQGE?lgH&}EqOLFQEvgVcXvL%&bJggy8e6lM)DpJK z@Kfc+i=DMc%d<=l*T?3ZtQ>fJPFU@?TR2 zzttt0oSe1(ZjA_{hVLbQ6S+>I7O}adyPA-lbT?Dg-s0wG8pO!KUuFa|fuXOh+0)#Z z1U6Ckz8n;VO^?z(c*_4vF0V`ISdDbrSbYCZvQe8?^rEf8?~I3(Tg_g#p)1^YT923y zQLcFd;!Y*Pj1bDWbywKtZ5glfQuEC->t4^8dDho{EMhVmf|w}H{0tspATWvz=q1-1 zPjA*%Rqr+~KGeDrO6ZYx2iYdFZ3t2eq(#p=77b!{(Z0sT= zn{VssnJY6w0?DjYXC=-VUoBqZ%SY_*nV{N{Q$1U29g8ibL|`ToL_F#!h>kU6vRL-s ze=re0@q#X9qbX=(B*u^=QkfF+$_m_uab-_6z)rkGqG5dWpwae7`ONolH&bLs)nh+w zzg&RtcecbT5pMKcGHJB`ahMj0rah8@;*XcIf`Yv(AW_4^Tu~hbMSqPKZ2JDB2_S1| zON1@VbkZ}vaO6p;zkUyCnP2f#+~fC%WL{?ox;1`VN8lsIgfI3rQjs|=s^M;&kKs_sk)>Wfq&L6XvvN=(7s zpoJ$ayC3#^%L19S-rpTek3mhM*Tnw^*CehAa6>P+1-S(&O}Ch z?}~CLlC(n5Ak`XLFhUcNWS?p3 zx7T7XQbk@r0X<~w z?ikE(siy&r6*@}~-23ki95(gDMCmq#@DOPi2?M>RY{tx!JebsOH>Z>9OgX0(J-chL znL}Rdl~RF$@U0ij1+ zUh8M|GHVSNG`ULL?Ok44^R>{4_YhA63}Wm}&?reUUargLjhOPi1692n3XN?I<+}9e zzIxWSlvJu^ZK2DEqvn0O3}z7fa-(6vAf_$Xba=W5n{NIx#cx-}C_RjfvYs>!r!Zl1 z4%~6tBqdMiWXti*2P{I~GZPSktc9diBsxd{2OIpM9AiU)ei-~7I9aLq(`r=S zprOv42K|Tlp2X3Pop(_%{f;Fk#%82UjtEVZc~~B?adB%M(fy$4y^9z$1A!$=czWK0 zQXhDfzd%-I08O}?Cltl{n}FbNR~<=qHl|QX#!{2mkI^zOWHtM#Vk0c4ZWBdc*u=QW z7G&pM1wZWb9}5|n2Etp^i5@=hHg)djYb&u}irm|`2ku=STtfes3khibCK0i(BxX_Z zmU({zx}nGYmY*9at&YX=kA5z(bJc@kpziDoJx_4;S|$_aD(*9Ie588;1Ydd zUW|Lr^-JmeQ(!a-bYmE!00z(QXl1^;cdxhej?(z)c>!W|?yTpz2ueY6W+EU3plfkm z;!80tMLs#zA%dO3uJayrbi2i3Osr3c2>m954pA9IbDJE+$MQi`o90|8113A-Xkdhg@$cmsmmU& zBu$#ikWs9gS=N&~vFsYSmuD$`58lmQVv6L%4!H4BpZS=+u6 zxfjP&sTV)Si;~ON7kLrbL%qLtCX|?f*1@fB*SYy^tdkrQW8)gaJY$iCH>~4|lN|bR zFCoZ^F(bm)AF*ymM{bK)j$d3&>(b$@&*|JCeee4j zD=KZ>?!H_*X=`_s^+m>G;Iu}TKTbt642N`9z|r99)S^Q_z!C|6@fg>6>$L9w+sr4; zeO804QdNu>&}o~md|`pW=y^}GvT96FlvAuZ<&2MbwB{9Y%cm03gEUs(j@T+Ld-3B9 zdKTZtB<#kLR;-Q;_IL=69a-pu?XNld zbQao6OQs*y6V`Xln3vm{eElwJvWjJDG&>m?0#dH+b#GGx4qpo(kq7IPtM8Rw@jE&w zTK@XEba0h&K|AG0ey;#|6{u~TR-Wvk&a@P2i8{oXD|dH6@Skg)WvdJ&2RZV`6MF)g zu@0&8%2b|D`SE-I=r0Vn16m#Q2iKL3w~0VXQo>^78Uy#RQ4KV`1uffWBlhp>M$q>9oHJ9iGq14^IA8 zcbCvuHqK6(Mktz(!s$)JAz9w-P>@W2v?ODW1V44Z0yT9ok?(sU^?qwOc>CFpDaD`a z?wZ4Dc{U0Aw9o52GZb#O?FdIHFy_S3&nRfS0D+tPEq+a?oK)JcdqWe$iJQ_C?$h7T zH-Qe9>k{S>y(s6ue&OQ)*?|5!*Y-#c`?~eFfVhaSkuU|f9WL+aRyBzj?}g5}SCfrc zORw6SSyvo(I(Xc^iMukMDzLMPp=JG;qTP{N8?3MsI}BLt+P)b$iVDyQ7UH9k3)`4K z;S8ER&6sqGsFE0KShTeQsjJ1x8`_yhkPXj|`=^M`%a&K5BJlYK|qLprm%*I7N+q*-Av`RG+gG>W z83U*Ij8g^}FtliFw~JK%H$vt(08;}+5>?XgM@NANIB{7l5$h?8NY=;?U`zsUa25Zj zr$Zfh5v$#{|_h;AOvi=^nyr(Tg z^T_Rb$ZQuFNa7Wi#pn zmJ4#8ne(2UoZt_{h3p78Puj`He{?wrCJ2!COygZ3F(0T~L5u6q+`azQWC~B-!bGyd z`q1mhWE2lkW?EwE?L#9IZEvaPWj8bvuWrv5t7hJs-$EhXduf`A0;hELN$Rm~B)*Rf z@*WFo{w;Oeb0mZusfW&Ms==|CQ$^?aBIgA-wFZUl10~c$_?vfy#lotEB~@&SxzVj? zBx=UmQm!*SZqMAe?C(UYDaDA#Ym+6y)XqQDbtkxkH9AHXeWK!EBaXvCm`@?^-mgOj)iR$f zRgoH3Nf845S+Y019Y*b82>*yF5jN-)lTg zLpJ}jI@l~X-S$^3IGeFF3N;VzFhxuy!nK?CHgz?Rlv+2DpB z(w6E1VyrD4lKELKV3$Xe4DU7%HM?!bYrEgC7WUhZ%+5ZSb!c=wKRMuA%9_3(b||8B z-UWU4Np8*#TJ4_3iRb?v13NV8rHR8wu2nfb>icge`^{lkTp?2Rcxp3ksndb(?^!Pz z%D^e3Wn#i~xHX$xSXh|8{Og8N_#Zf`#hneiQ-7NNu)mc+J#zf5q-ZNnB@??QlNm`x zuxpeveXih?i)N%p@RsMY&jqj9on0hm_j8`v`l94>l0x!qbc-2}>1ikqXPZ4}y}d-Q zy76wCGbQ{W?!PCGsU1&-L}kL{cWB{KJA3npmXh)IflG@ zDiMHn&0OjyelQVl@{@kwp@W`ELa*fOsGmOPDGHA^{_L^H>Hzf2r5GWKZL~43mdXS6 zOZpoF#NHsN+kFLsIr+^f7p>Zui(QVKpi=|(VwHxy}OdOv3I@r^HfT3ANR`UFB=I{2jCrvQG;vQL<=P@i@?F`0g)`{UjGQ zZ=e;K1Nxqtp&GCnp(jz+19}wdQGE?lgH&}EqOLFQEvgVcXvL%&bJggy8e6lM)DpJK z@Kfc+i=DMc%d<=l*T?3ZtQ>fJPFU@?TR2 zzttt0oSe1(ZjA_{hVLbQ6S+>I7O}adyPA-lbT?Dg-s0wG8pO!KUuFa|fuXOh+0)#Z z1U6Ckz8n;VO^?z(c*_4vF0V`ISdDbrSbYCZvQe8?^rEf8?~I3(Tg_g#p)1^YT923y zQLcFd;!Y*Pj1bDWbywKtZ5glfQuEC->t4^8dDho{EMhVmf|w}H{0tspATWvz=q1-1 zPjA*%Rqr+~KGeDrO6ZYx2iYdFZ3t2eq(#p=77b!{(Z0sT= zn{VssnJY6w0?DjYXC=-VUoBqZ%SY_*nV{N{Q$1U29g8ibL|`ToL_F#!h>kU6vRL-s ze=re0@q#X9qbX=(B*u^=QkfF+$_m_uab-_6z)rkGqG5dWpwae7`ONolH&bLs)nh+w zzg&RtcecbT5pMKcGHJB`ahMj0rah8@;*XcIf`Yv(AW_4^Tu~hbMSqPKZ2JDB2_S1| zON1@VbkZ}vaO6p;zkUyCnP2f#+~fC%WL{?ox;1`VN8lsIgfI3rQjs|=s^M;&kKs_sk)>Wfq&L6XvvN=(7s zpoJ$ayC3#^%L19S-rpTek3mhM*Tnw^*CehAa6>P+1-S(&O}Ch z?}~CLlC(n5Ak`XLFhUcNWS?p3 zx7T7XQbk@r0X<~w z?ikE(siy&r6*@}~-23ki95(gDMCmq#@DOPi2?M>RY{tx!JebsOH>Z>9OgX0(J-chL znL}Rdl~RF$@U0ij1+ zUh8M|GHVSNG`ULL?Ok44^R>{4_YhA63}Wm}&?reUUargLjhOPi1692n3XN?I<+}9e zzIxWSlvJu^ZK2DEqvn0O3}z7fa-(6vAf_$Xba=W5n{NIx#cx-}C_RjfvYs>!r!Zl1 z4%~6tBqdMiWXti*2P{I~GZPSktc9diBsxd{2OIpM9AiU)ei-~7I9aLq(`r=S zprOv42K|Tlp2X3Pop(_%{f;Fk#%82UjtEVZc~~B?adB%M(fy$4y^9z$1A!$=czWK0 zQXhDfzd%-I08O}?Cltl{n}FbNR~<=qHl|QX#!{2mkI^zOWHtM#Vk0c4ZWBdc*u=QW z7G&pM1wZWb9}5|n2Etp^i5@=hHg)djYb&u}irm|`2ku=STtfes3khibCK0i(BxX_Z zmU({zx}nGYmY*9at&YX=kA5z(bJc@kpziDoJx_4;S|$_aD(*9Ie588;1Ydd zUW|Lr^-JmeQ(!a-bYmE!00z(QXl1^;cdxhej?(z)c>!W|?yTpz2ueY6W+EU3plfkm z;!80tMLs#zA%dO3uJayrbi2i3Osr3c2>m954pA9IbDJE+$MQi`o90|8113A-Xkdhg@$cmsmmU& zBu$#ikWs9gS=N&~vFsYSmuD$`58lmQVv6L%4!H4BpZS=+u6 zxfjP&sTV)Si;~ON7kLrbL%qLtCX|?f*1@fB*SYy^tdkrQW8)gaJY$iCH>~4|lN|bR zFCoZ^F(bm)AF*ymM{bK)j$d3&>(b$@&*|JCeee4j zD=KZ>?!H_*X=`_s^+m>G;Iu}TKTbt642N`9z|r99)S^Q_z!C|6@fg>6>$L9w+sr4; zeO804QdNu>&}o~md|`pW=y^}GvT96FlvAuZ<&2MbwB{9Y%cm03gEUs(j@T+Ld-3B9 zdKTZtB<#kLR;-Q;_IL=69a-pu?XNld zbQao6OQs*y6V`Xln3vm{eElwJvWjJDG&>m?0#dH+b#GGx4qpo(kq7IPtM8Rw@jE&w zTK@XEba0h&K|AG0ey;#|6{u~TR-Wvk&a@P2i8{oXD|dH6@Skg)WvdJ&2RZV`6MF)g zu@0&8%2b|D`SE-I=r0Vn16m#Q2iKL3w~0VXQo>^78Uy#RQ4KVPx{kV!;ARCr$PT?>#E)tUbKb?@9eFf#-Oc?<&#=!y}8CMvM3Vj}3O3n;5BMiGTo zlZ}Hj<5|L)d6b*m@|7!@^}>SRy_q{0?K6_6?*6()fS zn@*J>RX{3C0u?r$DnqJ(RG0)RY&unjQ~{|l2~^m0stlKBv4_~ zsWPMrNQFtD!lqMYNEMI@lR$+{r^=8jAQdKo3Y*Rcjv-BV%@>)|8Z zG++u7h8G~nd2o;C(7X2t-u#DOe&DX}12N%=U;3n|J#P}yV@JYvY?uM$E(}C2D6i!AjXM+yJHzSTJE~;TtAw z0)cl4h)J(uz%UH@FAU3o;aKny;8{g%AiJARH6EC9v<0JMr?(Kdi`WueeD~d19GJPaO^9 zJeUIEiYFnH(1{(60>m+G*ro*=792V%U?hVSASeOi3m={cAZko>pXkQ#=G2E$rUbHQBp?)1hIlZNSO{&As`V@NV)Ov=<;Y6 z2t>f_@Pv{!1UJO8;dK&c2orfs@K7`6$+4;Tyrf`myNVL+7qD6xXT zu#qwxq?sl3S{|hxA(oI~H(>~ZgIJ;&qQD3|6ap6o;la%sc!F9JuhY>5-@K`V*Vs2LWa*n}>65oR9AA9^~A- z0;Gtd72x>3LwIG;gJqFTSq3FTPUIlnPALvD9-Qik*pM(PXJcLhgoIzCn31;Vbt+V2 znjw@rAp=e-%XS=e?%ac4ef42$IJPvQJ8E=I19M{gk)g5qTiJU^>Ewj^;t z#(ZIps9*9?1UVO=JX1IWN{`6cLk5BdET}-wl(r-4S&_P8hD6jBeNK$1w`(!0t_7#1 zM?Ajm*yhA2=pP~=rLrW^3-3724E&FDVDFBA&6?Y7&n zZr!?5Kxv#k4d;J-8AQE<-ds+)#qjVybJrv;pTq~8wt2M>zAvM-0X7YW&Rt0lD{4bZ z#+=lZWQepKq@r$Yx)kTuwZIh~I|fnj?Zk-_IP=Uiv48*mQ$`+jUNg@9*S|rKv5?E> z;Mbbid;bgQdhn%0Wt8Y(V?J}CXjnN5K~Hh;I-MX*ChHnHtxj&Nj>JQw&i11ehd8j1 zvD5g%^lNaMRnOVoC>VOci!QndTefT&aQsnorsAXDx(2Qlz%>ILe`OEaZvT0rGD>u? zrXO4_(tkFZQ|d!)oKz(5O2;A*!>$8C28L~j&7Kx91SW8O-8{@|`WVL?bRO+e(|Cst z9m0$mGx*qNlj$zr#$0h0TE22Qik^%7J14MX@w!B1l;~jOUBNbiU=V$!q(p+0$-z=^ zNbWDOgz{HmaA-N<-`Q*yZO^`nJ>PpC8`u8`GtWM|kIX6lSiO2RHf-1sTSagA+Eu8# zbQ+31d2GMT05w-vP|I(;I6Q7IG4fo)s(?eaA^_C{yy`G@*~VVP)IvlyB4 zCcrZS?3n!_1!Us=e0i7i^1a$BgHG%aRH)JniLgW`9HT)ar{}qROHB|K(jzlCytM;c@BS%r z9Y=-@iqlw&Y2RH6d*TSVy+!ze4`CU|Z##g_&;KSdIVCnw%hM|b9BKiHkr4snQPY(n zRhBaDI*N~`=A-t7Uo(pgq_Q>0b)CTLU;YJ-yx1NK3bhGMy>Ag}&u@a;o#W(V5Cjkg z;C3Fz-j&J4B8dSqZSyL@f{xkvJG5H{gTl5%Cm&U5R|;NvVUgO2t~7ESlXgHEfsRLC z!rmYL0e*L3z>&=w2b1nuh`RYLaJ%!&3#y4wIX#VO# zjJ#+n+>?0*f_I+)31Flx6y7|H&d)xTn4A(DXxf%lBG#Z2AUUrOASF=9>ynj47PhLp zbGAx>pt}`iw@K-{)XhTb=ji4(9NhRS^6f`JHsiF<%|Y!2li+q2AcPMQh>#r&NXmkL zFo!)iY)ni}i48Pdh6Ft>+YoL6RV>k<^sk$!X3)-fdYn@LF$Tn#Ig>ox-|R~1?;{mxmy_$L4Lx0SBUHd6EU2` zqT6|r+et}ffm~h%MAYkI^+k*@qwI+B;QFBx0;Ezk%p7uc$&LuX{z!)1UeV)W*A>aN z1tkN>1B*oF?6I+R5L&Xuj$;ZCnah&#Na=Ndd&1znSLI7!kj5faMJTZC@ImgdS(ldY z6@m849!^9~@AWd?#Zr`Co%rBlQ8S~FRneduU9t}pS`YIom9`^dLn3iW=yfqu$WSZB z^b^}~?1^mrm4N6Bf!$bJ0@*XrzTiVyZE8up7C8T*8V?8WT1&_uM{=sP8d4%ZW#P| z{`D?7M@yyOnHd}jhN?^3m1ulYVv1r6*Hng*4|!R9dsWB|b3_VOLq@)*H_Jf##UD0? z+;^qOTrfd)Dh{@p21L$9?zIEba|(^QjzJ;@J{p(k*Rsp56q`iB7zh~#LNSEW{WUi1 z#_XxdPs4zBuorulCDWso2ty{Uxl&|45f4akvVi<+2TDO;DENM05Lk4p0fQD%S=y$s zbyW5xvH(tr-j)3z7uy+28%-*!d&@3#{o|%YWR=JuP4_Pr>2qR?x@jOdmPhW@ z{h_)FqjMdlhhCR5_$v7rb%UinQGjSL2D?g9Yo;N=aIC(nO8u5VD*WjP-oE3>L}Zo7 zAmi^{AhMTChR6@$WmyW4tp}tp%C2t2c4!r*SrZz0c|SV4!yKFF)}Mh{5)y{KOEE{m zhcmSSM#>%(khTw-4Iv@KWqV0Acn5pfsMD&{d8bm`F@O!xpeP`i9Xc+F#3y}Lo$|;i zJwvG+8aFki0S4V{8a3vcA&!N%zxaM43pcSiga(@a;;mw+Towt2qV)XsE?K@!k#}Xv zR6Gf>pW7>e(lrys29=ry3oYL=87U#=o zx5w1V*rOjq%&ddlEBny-*2hObPHSm&P6ilJuckcM_FJ52&ohn z9tCYAI4wYja_0#Drc}CCRiPc>+J?&9lAWOQQ1nj>ax55h4h04QVvbD18kJEQUs=|q z+DXvuq5ab2Vvs~t77aG$u6d$v;ps3kw$#une?(w-hk7_p;UW=bg$We3v+*SXla|Ul zaCaTWq3`^W7gNLXbA&m<0XzZ!WFE(VvfZe^`YbVGK}#uj#z1HgG&4vIntZ0)zk!c0>A~I=KZ`x*|Eo~6 z6OqIqabrw=ayd6Zum0-i@U6p*|XR(>_TeZc%85tGSc>_&PV-_g8n`Kfzg1N z2K?g%bX+|QmG$%Mg;|$UKq?dlS$<~5M(dpNJW8YgC6}Ec%}*>7&iD}n0}`FBs$B#{ zAG?!eyBgl}IdGISgEFm9te1(URm z!s}gl`?lm&SJ?rX{_^cY@WTWQb@#2oIW3B)`A7|P>QPSNqr+9}C#~cH*^(Q6GT?Qb z@u$BN{>eg^2cz?FDqe5gwb-}shbz9e3DN7Ky$tD;vI9c08Nc=_VY&gFrjc+@6hIw> z!J!v|sV)u;<_O&=O&0ZMdD?vI&oxBQp-Hu~`Vp wb`1uffWBlhp>M$q>9oHJ9iGq14^IA8 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 diff --git a/examples/moving-saw-platformer/assets/Idle22.png b/examples/moving-saw-platformer/assets/Idle22.png deleted file mode 100644 index 4bd54f4955db5527ba4e042afac22c505b45afc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4713 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 diff --git a/examples/moving-saw-platformer/assets/Idle23.png b/examples/moving-saw-platformer/assets/Idle23.png deleted file mode 100644 index 4bd54f4955db5527ba4e042afac22c505b45afc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4713 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 diff --git a/examples/moving-saw-platformer/assets/Idle24.png b/examples/moving-saw-platformer/assets/Idle24.png deleted file mode 100644 index 61ce3343caecb1d756839a1ce960ea04d9dac41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4646 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 diff --git a/examples/moving-saw-platformer/assets/Idle25.png b/examples/moving-saw-platformer/assets/Idle25.png deleted file mode 100644 index 61ce3343caecb1d756839a1ce960ea04d9dac41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4646 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 diff --git a/examples/moving-saw-platformer/assets/Idle26.png b/examples/moving-saw-platformer/assets/Idle26.png deleted file mode 100644 index 61ce3343caecb1d756839a1ce960ea04d9dac41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4646 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 diff --git a/examples/moving-saw-platformer/assets/Idle27.png b/examples/moving-saw-platformer/assets/Idle27.png deleted file mode 100644 index 27d8e18a33429da5bfc50e390f40ac2e5249e023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4791 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 Rt3Ch#002ovPDHLkV1fZr2YLVi diff --git a/examples/moving-saw-platformer/assets/Idle28.png b/examples/moving-saw-platformer/assets/Idle28.png deleted file mode 100644 index 27d8e18a33429da5bfc50e390f40ac2e5249e023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4791 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 Rt3Ch#002ovPDHLkV1fZr2YLVi diff --git a/examples/moving-saw-platformer/assets/Idle29.png b/examples/moving-saw-platformer/assets/Idle29.png deleted file mode 100644 index 1705f2ae9fe1a3202a529d6acee3d99ee19b0409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4786 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 M07*qoM6N<$f~^tz5dZ)H diff --git a/examples/moving-saw-platformer/assets/Idle3.png b/examples/moving-saw-platformer/assets/Idle3.png deleted file mode 100644 index b91ca8b9955e9b134e318ea70beb97b4fd664c6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4822 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 M07*qoM6N<$f~^tz5dZ)H diff --git a/examples/moving-saw-platformer/assets/Idle31.png b/examples/moving-saw-platformer/assets/Idle31.png deleted file mode 100644 index abfdfd6a4bb1f5d723dbaec42047a2195e0dee55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4763 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 diff --git a/examples/moving-saw-platformer/assets/Idle34.png b/examples/moving-saw-platformer/assets/Idle34.png deleted file mode 100644 index 59b551d1cea79f33d638c98f3923e41127ed7290..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4747 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 diff --git a/examples/moving-saw-platformer/assets/Idle35.png b/examples/moving-saw-platformer/assets/Idle35.png deleted file mode 100644 index 09aad34ee2d987a1d2ba5afc278f5902280fc948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4784 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 KMNUMnLSTaWLn$!; diff --git a/examples/moving-saw-platformer/assets/Idle36.png b/examples/moving-saw-platformer/assets/Idle36.png deleted file mode 100644 index 09aad34ee2d987a1d2ba5afc278f5902280fc948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4784 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 KMNUMnLSTaWLn$!; diff --git a/examples/moving-saw-platformer/assets/Idle37.png b/examples/moving-saw-platformer/assets/Idle37.png deleted file mode 100644 index 09aad34ee2d987a1d2ba5afc278f5902280fc948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4784 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 KMNUMnLSTaWLn$!; diff --git a/examples/moving-saw-platformer/assets/Idle38.png b/examples/moving-saw-platformer/assets/Idle38.png deleted file mode 100644 index 61ce3343caecb1d756839a1ce960ea04d9dac41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4646 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 diff --git a/examples/moving-saw-platformer/assets/Idle39.png b/examples/moving-saw-platformer/assets/Idle39.png deleted file mode 100644 index 61ce3343caecb1d756839a1ce960ea04d9dac41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4646 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 diff --git a/examples/moving-saw-platformer/assets/Idle4.png b/examples/moving-saw-platformer/assets/Idle4.png deleted file mode 100644 index 7f3add7e39c7238abaa19fe6ec99271959098fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4749 zcmb`L=QkS;)W?a4h@Bd-x7OAeMO!-rL9N=WqHSt6Mk#8`1uffWBlhp>M$q>9oHJ9iGq14^IA8 zcbCvuHqK6(Mktz(!s$)JAz9w-P>@W2v?ODW1V44Z0yT9ok?(sU^?qwOc>CFpDaD`a z?wZ4Dc{U0Aw9o52GZb#O?FdIHFy_S3&nRfS0D+tPEq+a?oK)JcdqWe$iJQ_C?$h7T zH-Qe9>k{S>y(s6ue&OQ)*?|5!*Y-#c`?~eFfVhaSkuU|f9WL+aRyBzj?}g5}SCfrc zORw6SSyvo(I(Xc^iMukMDzLMPp=JG;qTP{N8?3MsI}BLt+P)b$iVDyQ7UH9k3)`4K z;S8ER&6sqGsFE0KShTeQsjJ1x8`_yhkPXj|`=^M`%a&K5BJlYK|qLprm%*I7N+q*-Av`RG+gG>W z83U*Ij8g^}FtliFw~JK%H$vt(08;}+5>?XgM@NANIB{7l5$h?8NY=;?U`zsUa25Zj zr$Zfh5v$#{|_h;AOvi=^nyr(Tg z^T_Rb$ZQuFNa7Wi#pn zmJ4#8ne(2UoZt_{h3p78Puj`He{?wrCJ2!COygZ3F(0T~L5u6q+`azQWC~B-!bGyd z`q1mhWE2lkW?EwE?L#9IZEvaPWj8bvuWrv5t7hJs-$EhXduf`A0;hELN$Rm~B)*Rf z@*WFo{w;Oeb0mZusfW&Ms==|CQ$^?aBIgA-wFZUl10~c$_?vfy#lotEB~@&SxzVj? zBx=UmQm!*SZqMAe?C(UYDaDA#Ym+6y)XqQDbtkxkH9AHXeWK!EBaXvCm`@?^-mgOj)iR$f zRgoH3Nf845S+Y019Y*b82>*yF5jN-)lTg zLpJ}jI@l~X-S$^3IGeFF3N;VzFhxuy!nK?CHgz?Rlv+2DpB z(w6E1VyrD4lKELKV3$Xe4DU7%HM?!bYrEgC7WUhZ%+5ZSb!c=wKRMuA%9_3(b||8B z-UWU4Np8*#TJ4_3iRb?v13NV8rHR8wu2nfb>icge`^{lkTp?2Rcxp3ksndb(?^!Pz z%D^e3Wn#i~xHX$xSXh|8{Og8N_#Zf`#hneiQ-7NNu)mc+J#zf5q-ZNnB@??QlNm`x zuxpeveXih?i)N%p@RsMY&jqj9on0hm_j8`v`l94>l0x!qbc-2}>1ikqXPZ4}y}d-Q zy76wCGbQ{W?!PCGsU1&-L}kL{cWB{KJA3npmXh)IflG@ zDiMHn&0OjyelQVl@{@kwp@W`ELa*fOsGmOPDGHA^{_L^H>Hzf2r5GWKZL~43mdXS6 zOZpoF#NHsN+kFLsIr+^f7p>Zui(QVKpi=|(VwHxy}OdOv3I@r^HfT3ANR`UFB=I{2jCrvQG;vQL<=P@i@?F`0g)`{UjGQ zZ=e;K1Nxqtp&GCnp(jz+19}wdQGE?lgH&}EqOLFQEvgVcXvL%&bJggy8e6lM)DpJK z@Kfc+i=DMc%d<=l*T?3ZtQ>fJPFU@?TR2 zzttt0oSe1(ZjA_{hVLbQ6S+>I7O}adyPA-lbT?Dg-s0wG8pO!KUuFa|fuXOh+0)#Z z1U6Ckz8n;VO^?z(c*_4vF0V`ISdDbrSbYCZvQe8?^rEf8?~I3(Tg_g#p)1^YT923y zQLcFd;!Y*Pj1bDWbywKtZ5glfQuEC->t4^8dDho{EMhVmf|w}H{0tspATWvz=q1-1 zPjA*%Rqr+~KGeDrO6ZYx2iYdFZ3t2eq(#p=77b!{(Z0sT= zn{VssnJY6w0?DjYXC=-VUoBqZ%SY_*nV{N{Q$1U29g8ibL|`ToL_F#!h>kU6vRL-s ze=re0@q#X9qbX=(B*u^=QkfF+$_m_uab-_6z)rkGqG5dWpwae7`ONolH&bLs)nh+w zzg&RtcecbT5pMKcGHJB`ahMj0rah8@;*XcIf`Yv(AW_4^Tu~hbMSqPKZ2JDB2_S1| zON1@VbkZ}vaO6p;zkUyCnP2f#+~fC%WL{?ox;1`VN8lsIgfI3rQjs|=s^M;&kKs_sk)>Wfq&L6XvvN=(7s zpoJ$ayC3#^%L19S-rpTek3mhM*Tnw^*CehAa6>P+1-S(&O}Ch z?}~CLlC(n5Ak`XLFhUcNWS?p3 zx7T7XQbk@r0X<~w z?ikE(siy&r6*@}~-23ki95(gDMCmq#@DOPi2?M>RY{tx!JebsOH>Z>9OgX0(J-chL znL}Rdl~RF$@U0ij1+ zUh8M|GHVSNG`ULL?Ok44^R>{4_YhA63}Wm}&?reUUargLjhOPi1692n3XN?I<+}9e zzIxWSlvJu^ZK2DEqvn0O3}z7fa-(6vAf_$Xba=W5n{NIx#cx-}C_RjfvYs>!r!Zl1 z4%~6tBqdMiWXti*2P{I~GZPSktc9diBsxd{2OIpM9AiU)ei-~7I9aLq(`r=S zprOv42K|Tlp2X3Pop(_%{f;Fk#%82UjtEVZc~~B?adB%M(fy$4y^9z$1A!$=czWK0 zQXhDfzd%-I08O}?Cltl{n}FbNR~<=qHl|QX#!{2mkI^zOWHtM#Vk0c4ZWBdc*u=QW z7G&pM1wZWb9}5|n2Etp^i5@=hHg)djYb&u}irm|`2ku=STtfes3khibCK0i(BxX_Z zmU({zx}nGYmY*9at&YX=kA5z(bJc@kpziDoJx_4;S|$_aD(*9Ie588;1Ydd zUW|Lr^-JmeQ(!a-bYmE!00z(QXl1^;cdxhej?(z)c>!W|?yTpz2ueY6W+EU3plfkm z;!80tMLs#zA%dO3uJayrbi2i3Osr3c2>m954pA9IbDJE+$MQi`o90|8113A-Xkdhg@$cmsmmU& zBu$#ikWs9gS=N&~vFsYSmuD$`58lmQVv6L%4!H4BpZS=+u6 zxfjP&sTV)Si;~ON7kLrbL%qLtCX|?f*1@fB*SYy^tdkrQW8)gaJY$iCH>~4|lN|bR zFCoZ^F(bm)AF*ymM{bK)j$d3&>(b$@&*|JCeee4j zD=KZ>?!H_*X=`_s^+m>G;Iu}TKTbt642N`9z|r99)S^Q_z!C|6@fg>6>$L9w+sr4; zeO804QdNu>&}o~md|`pW=y^}GvT96FlvAuZ<&2MbwB{9Y%cm03gEUs(j@T+Ld-3B9 zdKTZtB<#kLR;-Q;_IL=69a-pu?XNld zbQao6OQs*y6V`Xln3vm{eElwJvWjJDG&>m?0#dH+b#GGx4qpo(kq7IPtM8Rw@jE&w zTK@XEba0h&K|AG0ey;#|6{u~TR-Wvk&a@P2i8{oXD|dH6@Skg)WvdJ&2RZV`6MF)g zu@0&8%2b|D`SE-I=r0Vn16m#Q2iKL3w~0VXQo>^78Uy#RQ4KV64~vEP)Px`;7LS5RCr$PTzhaG)p`Hz>pt|bE!(p7^4o?0HJ!vj42JSB1`3YtIDwQ>LWpgW znWU5Hv`}UoN~VnmS`t$jJCCM7)6fQINLs?g4JkB$u>&a&hdP+Vk{|LDNtP_@adr3Z z?&*BrIcM*cEZw^+T|4>XuDHHe((c(kzx{pR_xpZlg@MX8Dgs6Ym(dZZ05b+ND!^2L ziI+4gjHxiD!kBmnR2UNvuS$-oFs8zocnDM&6A!OSj;S!F!kBmnR2UNvuS$-oFs8zo zcnDM&6A!Q7d5)R;@GZhH4VWn#$apZ44ub9h?El-J{Z6m#oSuB<7cUppOJ<>}c?z7` z6fE0O?n3`!vqB2WpZ%4`_c36VZ8t4=g;Z2o|BW!-MUJoFKU2YorLKD zh7SpdVZby@*oF!EB0%UxKMP-$3DdFQc^-P(JFs*0H_pj5pVgDJ{NpX6_Oe;b1h_u4 zLQmc@ELbpLnHFsNtN`MlGcX2B82m+>pnn__!ZvWS^%!=n-f~v2{j3eX=%sbSs!6~Y z@?j`IXtH|Z8Vtvfz}O)`^u1yXBslb+5CQ=Nd=Wr623+_!u>BqEx&KFJWe#N@v~kn* zV)6}(5M+FqzJS5uAw$N33>(c7`fM9E5(*T@v?WLdtdX2C7!)A__(H%F9y|mH(k4E5 zuN^x-@y)W&qpSnAY+Ws?FKa^3pX15saL9*`0>-f57&aVJz9%f3-w6=<8G&UhFe&%w zPzr<(9|63;hbw&Kf*ky$iBlcj`1y5TE9+d!HdxEIR*Ce7n}9(HN(hW%ie+lX=*e41 zn#2|d#FPXBr2t}ZWFppM2?62=d;&zh+#rXnpM#eGPIdL*mFvDgO&K~Gh=c+rX*!_K%$_iu6fi0Y6EMUU$}tQ~;2|62z~Iok zEpWQ~6kfeDVDxLqcj2c@oOt&D-n!$d3D0Z711#Kij|j3kzH+8Lu>?}2@s}#Y zy7FjN$S_JEW!gxZ2?it#Ck8KHwrNBLCI~=Th8W`p921e@>35=XPfe^CAlB`J>k~x%fsC3IRE^`e18z{!W zHXsrfT;XA0Z~z0@3&F%b+kEoKxsi zzC?3=(dF2%c;XtE6oJBkB+f|0G9Qryl;aX*tm*{1j(6a_|NdVL<+7N2?P8=Grl7B{ zPXfcQ9K57~rL-+xx2^ovZeg}i zIO+VNlCWY7jTs2RC+hUDIvS?QU;E_um}6^|H-)KIIe@5 zx2zPY#SIX?KdQ;W)ySmeX@EMSF!8D!Lm+6zq&SR-DHK++l+$+2w2QH&6JjA*;O?gHG}col0FmAzO+)Ar(vFJi@t6=$5+v`s92 zU=^A_`4RM=?uSdlFKyt>CF9dI;{s;k>-UIYFjv$Pqf$)?l$ypu4U?}(GPh{c>C?Q&pf|r;G(at!px6djQ-v}_-O+j+kcJ255zaU zVgu9g)$2vg^7)|rQf#9MY1V|ms8GoZJIx%)7S1oWgD=frgL#R1W=x?3p!1QIAz*gz z-aUF4Cv9BtwU48A*<56YvKTnljo*Iq>Dcp(eZcG=d`dVCH4vVp`B)oU4a^w%8Xitk zvq*qsj-fD1B@*cCJcasQ1K51uCaC^#*eRZS?m4Vkv*ygxYI#hy&9rKK=-ao#nl%a8 z{tWgm|4!_A#y()dtLp@nXz3gk0|s1TS@|k0L!rX25j~QwNLAI<*!A!a@qbUeggfs1 zGkkgDMx1~C`OKQGt}blbwhbFMZsgKjYMc3)OVIe|%is>VcyC$!1RNijT^ocL@=9G7 z3?YHhDp)dSMA>E)oL9VwgoB^l`8ZC#bBM=JCX-mSXc4Nas?gfnitg_2lIPVsG=AX< z)ZeuPIr!LnS$sP*7BCH8SuSdBT7XiCmoF|LV5Dl*Ce^Tz(#>SpINC^6rSR4x&*QgG zy&4&S(RNHPnvVHf*FvNW_z45QS^BM5^Q19j9nkXRT9G_&s_c!5Z2}NMAQ?ldRW+0O zd}9_EQ?g;?9Ar7LEdy`dzYRxU*fTD0%%qL^TR)EUAIyY1Fa(jd(6jAV=zQ$;SaXfF z^Ste!7Dkmlwtmr5Az)Oiz~FGlUC>ynK1f$9ZD-Oug%c(2Up@3Z+Mj(hHaJaRx(fAo zegxUmgYW|%!Z9)U%fmQ!?+dZ!8f)jMiI;>QCur5<$mTK+4l_q3WF21N&nQ_tHtd9h zwtwA;eUHC{pcF$DeACu0M)Q4FBRAy2_k9EejA_7aKZV10|3|F3#@czoYwJbHFrtg} z0tt*ILy25GT0_%4ls2%!eo8rfG8f7Hsnk0)DV+S}0ldFyI|kdjin6EfmJgxjf$QPB zIbMSzy%X@w0sPZh9QwpFvE~|iXG*-)H_S(rip1biyFeW!0mCmHQq*%&52e?R^dg(i zMeRZ@}4NhNZy3aEQJw=5WRC41z@%$Z5Rm?nb$jT>@R;DdA^Z% zB#&2ke(|o_G~l1i!0Q}<;YbZbT4oqP#F&D76S60^#w|ENuHQ;fbkem=SW~NHb#zSl zZG$-YneRuQZ{!^#i96GPcf22d*8o4u!eOH;(-{C2<{P=}q7C(77*U(f8|_f=xgeq$ z5Q-xW4zXown%Tm@*arL)E)L!n-LQ%dOccApG>~iWg?DlghHVb7N*q=NY$*_b;VOd^ zF2lJ~>7$boiCGl|5!Pn|M`lbUU4 ztIsRmC(%e=fXq85AY3nOAel8`na)=!Qo~y7FiXM`F4-eI|>)G=802b9YwxEu>kQ!NYvX0&Bv8q>DW zc2${^FP(h$_iq)>+&TzanjOhAl`OMuJ@9)5*_xo9iOMuv1?-K;&RFK2!s?_xtB}*0 zCIm+_M1w`imTr*83*;~o7Qe)Ri^QU7GGUMC=ghPXcV7?MKOOyfnaH6;*GG%_*5o7t zT31qchVB+km=v$qJt%EW0*3q%*XJ&m#U7P!+Elp~6hXE;mVpX?r_?fqiP9xuIi_*R zWGBE$C#iAG>I5=-I=HK^yW?W+@ImbhG1IZ&_hfP4#(#-5*H}B#wbLUY$qQ$|NXe%i za>x47e%muf{a;-v(w8)`NyTOs0mLBrGT&&%&>c?M@Vhezdb8a9601zQ>-4N0S(Efv zC_=z)nk2hsWsb4#A>)Za)?nKv|K*DJK|hXckhVh8qc^ifLJwiPd%Dr_*vql!8T){- zN<-t{-yn#}ycnlJAwaY-PF8^Ge2My0y?Va8yXg6w9=lnDLXp(7ZZi}pvc)iACN22A zS+w8&gR;%1Yy-`B;A&C5bT)jlHI;iN4I|}`(7Un)XtM6HK6L(F@jKb{^_v8VHcA<~ z&kB1m21)f}j>R`5uHjuwz?BV{nGaqos;`>Eehh=5y;ovN0Vp~*k%e*e^Tq!LscFkf zVNaD$RE5?BgQ4<}(nGvV6NuP`_c;Nk@sXQ2$57P@eOF~3v7@FsV16!@?1>ZoIQAFY zi{6;VM{gF%Ig{nFx~&Lp46T;cdoo@xR7&objWNyNTqTkhOqZop^)7iZl#!$?NU9Wr zZyZ6#rdNudzv1B(BK?OAGWiw=#qe`MKSd$d_D4^YZ9ZiiXwHvrXWDZmQjQuY2i5&b zUsiU)q(b*!U%GrYJ$jQ!UNn;vcxa;Y8WkflTu+$>_Fwa4+2&KWf#&}B4%RrVA(R)J z2SZr{+y@F62^;&Dm-a?x+{U3s3=O`PVhql5jPq)yQdR}H~i;><~E^&^|eNQ_IKpm zs4MQ>wg;V?caC`-ae-lxT$@1u%ZG5{-k*+pe&ar{aFV>>KfPK?{}>yElz(an2Uq>u z*uX@1Jb$!PPBa;p1(O4Edq&A}URarATJ c|38TQKY~0wzpsaWS^xk507*qoM6N<$f}uyhg8%>k diff --git a/examples/moving-saw-platformer/assets/Idle5.png b/examples/moving-saw-platformer/assets/Idle5.png deleted file mode 100644 index 7f3add7e39c7238abaa19fe6ec99271959098fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4749 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 N002ovPDHLkV1o1X2aNy# diff --git a/examples/moving-saw-platformer/assets/Jump11.png b/examples/moving-saw-platformer/assets/Jump11.png deleted file mode 100644 index 4dc3fac87b5ec0c93016d55330376fd1dd132530..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5293 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 diff --git a/examples/moving-saw-platformer/assets/Jump12.png b/examples/moving-saw-platformer/assets/Jump12.png deleted file mode 100644 index 4dc3fac87b5ec0c93016d55330376fd1dd132530..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5293 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 diff --git a/examples/moving-saw-platformer/assets/Jump13.png b/examples/moving-saw-platformer/assets/Jump13.png deleted file mode 100644 index 20e239cc4187a3e7fe633aebf805dc82b59351de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5296 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 diff --git a/examples/moving-saw-platformer/assets/Jump21.png b/examples/moving-saw-platformer/assets/Jump21.png deleted file mode 100644 index 661a839d276f2a6ee867fac05876a4a22e73483a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4883 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 diff --git a/examples/moving-saw-platformer/assets/Jump22.png b/examples/moving-saw-platformer/assets/Jump22.png deleted file mode 100644 index 3094049947e8efd1b3dd77bc136db833e100b8a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4711 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 diff --git a/examples/moving-saw-platformer/assets/Jump25.png b/examples/moving-saw-platformer/assets/Jump25.png deleted file mode 100644 index d3eea00f240aeb26794e46a01c608d90f1a5a88a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5135 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 Z{vQCabHCMS0ww?e002ovPDHLkV1jP#(u@EA diff --git a/examples/moving-saw-platformer/assets/Jump27.png b/examples/moving-saw-platformer/assets/Jump27.png deleted file mode 100644 index 2759665d2315d9a5c49c689b0ee5be9c1b189d5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5111 zcmVPx|u}MThRCr$PoOy5@)t$$`{rZ~GWm}eP%a$!47}g<+Q$Usg!49{HIm{XZ4o5;l z7E&9E%|cRJISQys2(`s-s7;Ch!H~q+u*I=~z2by$n%Z!!VPOGtNHVf@VcAIXj5JsG z+xq?9dp#{N*38I~!yg)FnDHFl{XYHueSb%fV`1i2l7KbCr8I#VFb7e_444@()tSbO zVrCRGqnPRld>j?C_#10wqPYQf!hx`D$ZUupHHzF|2D|?0sXu9$AJ(0>-Fl9!Ke`2p zrh0fuAC9nLO99&wuwlU#HiQtcEDK>M5sYS$>iG}@FLhw&4}N=CkM*$Z?5GDXmo-Zo z;W!RNK|+KU90)j;t)N)8er`cn0sMFfUaLpLcU0!W1P$F)$fLiFwE#EVyMnbu>UmW?mC z@f6wkm!D)cSUDL}g@7XjT+3k?u5jQo97lm7wOBSQMpzc4LW4ktd@sm=@1Z9!n#afGbCmB``j6CMR0v5i1SLR@AM*?-NLtv}-izli`013cWy&_T{E^F~yRaTsCV<5% zv2+Nj&{3*!;A<$JaQV4w=|`c$%NR0SFo{Mge<{cic^M!d7NKOrJm_9XSQvP>8!vDC z*_5qkN;cHCb)!tIY=#_FN}=bjTZ7cb25oi2Gc?v;Mcb`^-loxpUI%oAeitc>Wq0 zlHoECWt8-&)IwgPOMNz7Ri{u0891dBV^a00bC1D^vsWQudl85oJ9c2xrcLPR=qL%N z_Q-iy^}Y3|`SS$~CrAqPJ+K44w?8|nHBRbFt@m9h{gsW7Ir0`#%UCcbU8}NRm;Azp z&sj;q8KW4Tl}IV4HLb=u&Br5@AuC70R)_icBMBu30t8cu7U%KLlouTZbD~ZbZG6QqO{27gZ^iN-Z$QBgvF|r;qW_0aSG~@vzp(I*&&%ZM1+X(ATw0** z!m%BMLgGM}K_COw?`Y+ia54>JRQYl%P&8h8pX6~t-SIec$)`WE@N71V4I4IK+qP{J zLZLUCE?JG18`dD7%VFfL57711-&DQMs=u&g>qXL^UCV~*c`jT>-96jk9%-HeZSb3+7`aJ%X2BdI`7Pb{n>D z-(D7qNV-_Ltap1ZhJkNvY5)>5U6-o0gkm=DZZzY0rk zIuqISD1snBD1i3Us_&nw0@HZSadP(hRd50ep6|o=d! z`GwN0O~54>zK?|G!zblXI7Ooc8zW&ByGHv}ryY$T)DTL+QR-sfF};*+!xj$y@7^cy z)}2qN?y<^S)5XW2<%YG$k7Sfu44BVNqhjWK`B>So{zzB_!1FyM5(y*-jzeHPUCPs9 z1yVrn2{F(%Mp52Kz?|K4*ukNlGjo&s0M{KzW(zj8_ zi8~$NhA}>V{8w;_6hwtz@DD2(PX_y6JQtVg-c&l0qm5`H{d_zJsBM z-opNSUaSgEMIT=L%Z==WmTSXFXyYZ1p)j)5Xp$5|DZ68+2Sd3ugQ0?rq0sP3=w?&* zJ_>@GyA)fAqPlp0bO}Y9u%y<&vmphL-Je3HdkE5!@Rl_qv?RiOLCuF5h-5G{C!+6+ zJl}=>Tb`+Ct>%1`{czLYo+OjUF67}WHEFKzs#Kj&8OfCNRK?OXtz&<8q!Mm)A~;3m z(9R<$vCdqz07bQ!XVf=w+ac96f<&_#@{)jnkV@!14j&DL9tn&qklQnip0E9T*|o;w zwCsl${p4IJ>OFw2Ao@D%dWL5FpIZtlynw^LttD6 zLr}Qt<%-wlhL8r-dj@)8(OA;fK(tzTSQC35A5*9mtFSTIfS<+67_)Fzi@pe_fG`pD zn)$m{4ajHmAt;lEBYC{P@qwuWGymIbr1xjdyi@WQ2IISMebo-|09$)Y&j-CcUKEb4 zRAN9xKsbKXsLz5%5TxrkpSp`Kf4s3#A>ux%b*!O;)su^OTq6}AuPh2?!$Nb%ZQn@)& zNMwRhI29G7EGBa0G0!=SbSTm9YMgnse6n&q!`Qv~p{etjMR#8yMXk$b${yo63Xto- zrmom_kR2MqaMxbtEh-P|ECfgc$Ap*(D}L05YvAx@0+Z|LJC4Sb8BGL zxO}p5okQ6D#fPU33>S8Eb{)ZBsJvz{)Cp6TA~5^XNbeqiMJd|sIs!2+bjGD`{=B-p zpu8yl{dn$-DP)Xd;@K+}MpW&RS~zL=Hb!3TLGL&IYwEx(`Sm7MLb!tAFc<>lsNc#_ zy^`%4#%S-Lsyoc$qJ`?k8cz{i{uV9wesi79A2pZKU|oZmRjb+Bq2GW>TNkUMvASlMr!w?;(PjPqM z_VA@#^-{Vvs^RB0g%Ujqyt`KYin8hYlcc-29^puVKOdQJ6e=H8j%pc-J{0{@a~xRZ z%M*xON{Biic5_V;3OBu!kq%(@CDpY9rP9Ed6Vdj_rK}iAeGEoFa(Geq450l~H8yPi zo0Fu|+JJB*r%L?DXk#7{Pv=nzSMSIBs-hVi#l^sk<3rz*xq!hqEp=nSh#D8Er#sR2 zcaK+Pyk)_V`BL>5WhMiMdLafQ(Q&Gpjy2zSigXt@AWUbuxQZ&*c*@r5i6F#MJ2j~# zy(q4pG5(|0Do69Gm}{;b3r1Jq?Q5zZgqH=g`2Gu}n4M6DYD`%B3w6)*dWTWW4JS)) zc_TtP&|IM5#9Y$+pxN|Mu~tE~5wX-BOY2dmJtpJ;nGFyQW!Yd!8TPzdxGnXn(A4F{ z{<~kq{`+33S}kS4wA_BS^j9?l`A~(CRtiH(I>_((5M7r&!aJV#owd?!ZGg-Kd~h@* zqAbPLXgrI=!-ld|yk+3$C6q%iIdm!5g3RO*e3;=AAQCRlb6b%MB;}?q7!yxBXIkjUG%Z?~zO!&wBw(!x9iy3aO^SN3L@p`o4V_!NdvAzxg!TfAf^1jcu` zcFFv2Kl*PeeQcGgB>uUwim7y?q!?#T0^w+ZCugJ%4kO*e6tff!wH$AK~r5Ib?2?}-j8VakZ&O_$4e)N9xcV%H$dZMRnL(6`9r7~Zm7V;CCq-kH_ zFjB)^_L)6jeXQ)h=ihXyWP_$^oBA^Yhrsxx7JAKr-Qb~pZS~iuCxTS=;3_4&{K>0i zm?^|Ek(s-ya8gq?aE%e{8$tKi|D)`_7yjcp>@i#_=q$!?OjsFEj+oSC*l7nd|K?L= z-D%4?(?kPl^^X8_9b;-4$^J0%$35u(e)*q&wcfj7T(725{8&izZz&7tT=&bepesGe zWedDYH$>N-5~~*|FlPR$JtdmQ>Wz_^R&tS@!pJ|eNma5`-x#maqYs`DX(i=9NTchb zfBE=bCW6)MPRh2#H(H^In&r(@USHw}5&sDe@dQoU)cMf3B z)sKGsz^vGQH5;$~ry@!lQ72F&!v$cbfX>gCzm&1$pEpU-;Bh$eXhM%U)D=!W3Di|H zWx~$0#}=HGs{LS}J7mgD*PS3|e_^!>BMl^WZMC>xy(cQn-aD!MsF7O{Dh5r<5WlK9 z?x<;CKlH%s*n7tx4|zQmw*=+LFZ$_uGWn^NBABReDDh1#{oH%|vHMFC|C^!}&wNFO z8Tu`8Y*=napW`-7hMeCuh^{NDyAm+1S!v!kPmy)&SE`24)GcLbQf4Zrnx&6@LE3X` zxLD+Hnn(+}ZJ6xrrPSe0neU5$%EYpO!~R^(fh66Pq_b9X*VZ}4Qi=y>K;PZrPW<=oHp~FC~8{oy+FFHv$)CQnGA)6zESA4pHlt*9l_EE zFOhajy;5adMTA(Qq8h23Z_@h}pRr0dHqmG3cQ#a)@KBwyjc4P%&)hTV{quD3$R_^% ziyE`4l-^!J#;as4lRmIYHeTv83xBkZ0Xa>zXrILIZ%b{n<@R-K)b7H%ii*cdj{UHM zspOzO4xgC;bC9zz17-$Hbpbk~m>I>)D5g3BGm5E>*Nn%^C}u`6)e)FcOm)0wJmw(0 Z{vQCabHCMS0ww?e002ovPDHLkV1jP#(u@EA diff --git a/examples/moving-saw-platformer/assets/Jump28.png b/examples/moving-saw-platformer/assets/Jump28.png deleted file mode 100644 index abf516fb19250b3c0013116e525784790ea06b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5158 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 FV1jMlc=-ST diff --git a/examples/moving-saw-platformer/assets/Jump30.png b/examples/moving-saw-platformer/assets/Jump30.png deleted file mode 100644 index acf9ea53a1745ed8d01328d1e066595f18331516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5142 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 FV1jMlc=-ST diff --git a/examples/moving-saw-platformer/assets/Jump5.png b/examples/moving-saw-platformer/assets/Jump5.png deleted file mode 100644 index 52e1d83525bd84d057f5b7be834e5368b46a2761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4846 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 Uq25M$U;qFB07*qoM6N<$f|fD=Q2+n{ diff --git a/examples/moving-saw-platformer/assets/Jump6.png b/examples/moving-saw-platformer/assets/Jump6.png deleted file mode 100644 index 52e1d83525bd84d057f5b7be834e5368b46a2761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4846 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 Uq25M$U;qFB07*qoM6N<$f|fD=Q2+n{ diff --git a/examples/moving-saw-platformer/assets/Jump7.png b/examples/moving-saw-platformer/assets/Jump7.png deleted file mode 100644 index da9496625e1646b27c68e8db6662670e34042965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5221 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 N002ovPDHLkV1o1X2aNy# diff --git a/examples/moving-saw-platformer/assets/Launch round button.png b/examples/moving-saw-platformer/assets/Launch round button.png deleted file mode 100644 index 01fc3586bd24e37afa3c0392b5a7b855c969b21e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1822 zcmV+(2jTdMP)saQpE;l0S*Wq zPC`Cxz%?;}83V?A49I}Z&)|OdV2K)w+xoP+rJmtd-FmJ!Qg`2@`%_Dz*XvNOudf$= z|Ni|(bX9b4dwV;oq8xj7ch~1!#^}8i!PwOBq5OApe}8X$C}X8#_Rr4FUdB-6Y~o@Rq4x0bVE+91^QdK#9mhFonATR-%9^8qCyQB^D{HDM24ui|Nd`3a zvdW4#b{(?gs*AY)MtM4nI}_kD})%V)ge#F;NzkNbQ!L7!ny>a|D4ExS65eKsanRS zvjA@zVv#M_>J_34IJ8a1Rf{oXtAsRbFMv4omG{<*uGTEVn}%3q8@4yCxXUt#vFR*@ zZBaNE*$4yIytg1HC-V%i3Pc#dqBg)^zkZEugT~b3`Ro;K_QIkTyvxhWz9dnjDZSLZ z3bxtohDqg?MGj81LAV<8F4$-Rm{e+QB<2UUt1wS_uP7hd?1xQh;gEPYn$C0RYN2f7 zP*_mJO;@#(px>ozY;2g7l@+tOx!KyB*sQUDku~>STwEmDNnKZ6;JtqR`cdD#d-n*m zjjF7%fRUOD<%ea7ag$e0>RRx;3}B{j-@Y{;K77ESVDn$|0jSbAE^WRWAi028h2q8)VsR}VGI3GWLY?LQqps|73bo-(n6oXJe z@TfZAYz4wf7<#|D9#=)lr7k_8#t3!*>}x-=q1c5`1VVtzbZKd+ z_L^W}0od>T`0-<){n&Q?W6mm-wrME4gfT2MMzHIho}P}RqL{q4xp6>+4e526y0$p5 z&=|qa3b4&wSJWi?QmSziu>#b7XsZHK8AF51?o@oF7>yM<(B!oZfEd*VJc@>o`(>DD ztU3W0x>z(V8c_oz=d}T^NzteUP1Umo@wI6*wNNUn7mxW`uDN+F;jr#OXtGMDWKYK&k9z(wuHri*Ig zeIaw1t1T9Qf8XlYer#GuT<6ys)@85@#5KUg24Hj1n~IyxUU`L`dqlqBgmLT7lDDs24+tHrKeiZ4#G`cgqET%Jf6J8C@|32!0ey5 z6C@#y#Vt)dgi-(N|tkib|h3vW{N0V1>oL&1TLX(END6HFf->N^n&dtkhiAp3suxmuUdl`6X`52d`=-6{;NT#UN@Mcs8p^XI z*r?eKlTz=?L=Iln20^=i=_vH3fz581)cRU!e}8|X4TLMt<0lW;gl(G5u&Dj5+}E#P z7bWJ6rc5+X-^*c3n&VW3h0_AJ;*$8sf%rc5-85Lt8TVX9)Y^^U_OABraP0N9T1#B4P3-29PrcPVvYE37gd~U%n&))wH29*MvDc zt*#-2swc*+V_*nqqJzm~@?Y;INa~pY9neqKftq^QC_Q(XvAVM3f3S0kwcw7|N&o-= M07*qoM6N<$g5Ru;H2?qr diff --git a/examples/moving-saw-platformer/assets/Launch round button2.png b/examples/moving-saw-platformer/assets/Launch round button2.png deleted file mode 100644 index 01fc3586bd24e37afa3c0392b5a7b855c969b21e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1822 zcmV+(2jTdMP)saQpE;l0S*Wq zPC`Cxz%?;}83V?A49I}Z&)|OdV2K)w+xoP+rJmtd-FmJ!Qg`2@`%_Dz*XvNOudf$= z|Ni|(bX9b4dwV;oq8xj7ch~1!#^}8i!PwOBq5OApe}8X$C}X8#_Rr4FUdB-6Y~o@Rq4x0bVE+91^QdK#9mhFonATR-%9^8qCyQB^D{HDM24ui|Nd`3a zvdW4#b{(?gs*AY)MtM4nI}_kD})%V)ge#F;NzkNbQ!L7!ny>a|D4ExS65eKsanRS zvjA@zVv#M_>J_34IJ8a1Rf{oXtAsRbFMv4omG{<*uGTEVn}%3q8@4yCxXUt#vFR*@ zZBaNE*$4yIytg1HC-V%i3Pc#dqBg)^zkZEugT~b3`Ro;K_QIkTyvxhWz9dnjDZSLZ z3bxtohDqg?MGj81LAV<8F4$-Rm{e+QB<2UUt1wS_uP7hd?1xQh;gEPYn$C0RYN2f7 zP*_mJO;@#(px>ozY;2g7l@+tOx!KyB*sQUDku~>STwEmDNnKZ6;JtqR`cdD#d-n*m zjjF7%fRUOD<%ea7ag$e0>RRx;3}B{j-@Y{;K77ESVDn$|0jSbAE^WRWAi028h2q8)VsR}VGI3GWLY?LQqps|73bo-(n6oXJe z@TfZAYz4wf7<#|D9#=)lr7k_8#t3!*>}x-=q1c5`1VVtzbZKd+ z_L^W}0od>T`0-<){n&Q?W6mm-wrME4gfT2MMzHIho}P}RqL{q4xp6>+4e526y0$p5 z&=|qa3b4&wSJWi?QmSziu>#b7XsZHK8AF51?o@oF7>yM<(B!oZfEd*VJc@>o`(>DD ztU3W0x>z(V8c_oz=d}T^NzteUP1Umo@wI6*wNNUn7mxW`uDN+F;jr#OXtGMDWKYK&k9z(wuHri*Ig zeIaw1t1T9Qf8XlYer#GuT<6ys)@85@#5KUg24Hj1n~IyxUU`L`dqlqBgmLT7lDDs24+tHrKeiZ4#G`cgqET%Jf6J8C@|32!0ey5 z6C@#y#Vt)dgi-(N|tkib|h3vW{N0V1>oL&1TLX(END6HFf->N^n&dtkhiAp3suxmuUdl`6X`52d`=-6{;NT#UN@Mcs8p^XI z*r?eKlTz=?L=Iln20^=i=_vH3fz581)cRU!e}8|X4TLMt<0lW;gl(G5u&Dj5+}E#P z7bWJ6rc5+X-^*c3n&VW3h0_AJ;*$8sf%rc5-85Lt8TVX9)Y^^U_OABraP0N9T1#B4P3-29PrcPVvYE37gd~U%n&))wH29*MvDc zt*#-2swc*+V_*nqqJzm~@?Y;INa~pY9neqKftq^QC_Q(XvAVM3f3S0kwcw7|N&o-= M07*qoM6N<$g5Ru;H2?qr diff --git a/examples/moving-saw-platformer/assets/Left arrow round button.png b/examples/moving-saw-platformer/assets/Left arrow round button.png deleted file mode 100644 index 67a58b14bced1ed7c5250c9f6786609b9e1bda50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1347 zcmV-J1-$x+P)Ph;06t}Qw?eD)0AMIWP~JeVvd{`~wre|&sgZW2A{3w@&R>+9>cRYAjq+yqZt zYc`o4NGaY~gS1VYWc-dz6#wQXdcIn%exTjl+gtpG_?r|BeW6bPJs_16(;%U$F^R*(+~7|yE-v1sf);Cdhlklj zB+{OpbSm{RyEg1M z+h|H$7m4JWf-z@TX|J*z-YkcWOJO51Rt_47mmh`(5Oby)*m>Oy_f5Zuh<#}A=xT)uQm4=cIXxN=4HX_y<%T9@TO9}WKqanm zB~oFO$w7yL{R0b*!>>_i7y}x-qUOqnIh1iH+ovUcd~IsMnNcZ>+CmyMYuUaSJeujY zU<-r6HT?iKfULpWJz4<4gb7&OdE~Y?UEyg0#2BN_ga*#J)uazRO@L^0V`?w3rs=Aj z>f0BdHbAPzd+9DZz+9g0HSn|nf(;wX-%TQ#Y1Y__C-Gs_*|9IwC`auw! zQmbCrLAv(Esi&IYNoW=r?X8Vz-cK^)tOYN%>eGz%HcvsJz>6?jDgv;?n6fGJPm4-(+U*z;ckhX#-?ysHLCB_(wtfu97e0U%8%Y*#qa zfwUEfVu3Wx1xhXDEI^c4%58IkbSqObnV=0(D48(c+l`Y>XK6u1KrfNb+V0NfPN?RF z2zV(?(~E?vMoRw}h~`rITANDrChNZ2>_|)>}_k(jdj?JoEz(XA!=@{ z)9liVQ(BrwJNiI0d9)*-#^;&?%n^L~F=|3hvYZF;Hwmt^f}&`BXYY1j<~q#H$x^ zn}`9FcqyB1Pi8Md7OC7;bn&t572JHq$^{>Y<d%njrD+&>pm@5}-__C$Us~&a@cb6|3m0TK2O?yf}~D7()F6iO>ho z(0A-$JCdR1r0&pzI`=VCz>VR{{VqpkF&|yFKPe)002ovPDHLk FV1nhVfwKSr diff --git a/examples/moving-saw-platformer/assets/Left arrow round button2.png b/examples/moving-saw-platformer/assets/Left arrow round button2.png deleted file mode 100644 index 67a58b14bced1ed7c5250c9f6786609b9e1bda50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1347 zcmV-J1-$x+P)Ph;06t}Qw?eD)0AMIWP~JeVvd{`~wre|&sgZW2A{3w@&R>+9>cRYAjq+yqZt zYc`o4NGaY~gS1VYWc-dz6#wQXdcIn%exTjl+gtpG_?r|BeW6bPJs_16(;%U$F^R*(+~7|yE-v1sf);Cdhlklj zB+{OpbSm{RyEg1M z+h|H$7m4JWf-z@TX|J*z-YkcWOJO51Rt_47mmh`(5Oby)*m>Oy_f5Zuh<#}A=xT)uQm4=cIXxN=4HX_y<%T9@TO9}WKqanm zB~oFO$w7yL{R0b*!>>_i7y}x-qUOqnIh1iH+ovUcd~IsMnNcZ>+CmyMYuUaSJeujY zU<-r6HT?iKfULpWJz4<4gb7&OdE~Y?UEyg0#2BN_ga*#J)uazRO@L^0V`?w3rs=Aj z>f0BdHbAPzd+9DZz+9g0HSn|nf(;wX-%TQ#Y1Y__C-Gs_*|9IwC`auw! zQmbCrLAv(Esi&IYNoW=r?X8Vz-cK^)tOYN%>eGz%HcvsJz>6?jDgv;?n6fGJPm4-(+U*z;ckhX#-?ysHLCB_(wtfu97e0U%8%Y*#qa zfwUEfVu3Wx1xhXDEI^c4%58IkbSqObnV=0(D48(c+l`Y>XK6u1KrfNb+V0NfPN?RF z2zV(?(~E?vMoRw}h~`rITANDrChNZ2>_|)>}_k(jdj?JoEz(XA!=@{ z)9liVQ(BrwJNiI0d9)*-#^;&?%n^L~F=|3hvYZF;Hwmt^f}&`BXYY1j<~q#H$x^ zn}`9FcqyB1Pi8Md7OC7;bn&t572JHq$^{>Y<d%njrD+&>pm@5}-__C$Us~&a@cb6|3m0TK2O?yf}~D7()F6iO>ho z(0A-$JCdR1r0&pzI`=VCz>VR{{VqpkF&|yFKPe)002ovPDHLk FV1nhVfwKSr diff --git a/examples/moving-saw-platformer/assets/NewSprite.png b/examples/moving-saw-platformer/assets/NewSprite.png deleted file mode 100644 index a2f27b70ee1f96783cde053f97c85abbbe5e7be6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkS(} zi(^Q|t+y8(1sNDv7z{F9M7=DFEUMQWP}==$vw(s_0|O%y3kOAvchM^igRGg4Oj!c7 OkipZ{&t;ucLK6TPt0lAm diff --git a/examples/moving-saw-platformer/assets/NewSprite2.png b/examples/moving-saw-platformer/assets/NewSprite2.png deleted file mode 100644 index bf40c3b3beb9b16611148ad70739bbd2cf5e23d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkSJ( zi(^Q|t+y8(1sNDv7!0n8T(ECrds6T%qR}<%e7d4T0|O%y3x|LLC5$`Uiv%8dh573% Q0BvOOboFyt=akR{0IO~$TmS$7 diff --git a/examples/moving-saw-platformer/assets/Punch.png b/examples/moving-saw-platformer/assets/Punch.png deleted file mode 100644 index 224c6fb89aa31c1f46db9fc25c9271c820c96189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5407 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 Y2l9fM&fw$zDF6Tf07*qoM6N<$g1c)z3jhEB diff --git a/examples/moving-saw-platformer/assets/Punch5.png b/examples/moving-saw-platformer/assets/Punch5.png deleted file mode 100644 index 82705ff744518ecb432df8c381c5006975878375..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5578 zcmV;*6*cOKP)Px~gh@m}RCr$PTnThs)p`EjI*Vqs+A@|M$?^gwDT%`p>Hq;lSV95^Qfz|*1UqIq zft*8g8dFHqrX+1nIH6n42?0Y61e%sWfzV=T6Bp{RBn_l)Sd3SBkr&yLCE3!g_QBe|5Drz*KZ)3P^=Xpu&bz zWk?l}3X?#E4X4VGDj*dmfeIT=l_6C?Dog?uHk>L$s(@6O1S)JeRfbdnkrJ4(`V%5C zuL-dkwJ__GP-8k&MFCtuu{}7wgRnY}V9Q^w`+v1)N;=t@Yc3G!vt}bUvkpewfC>eQ z4`@Px3KbfiiV98DplT{KO@jd74q7;}y$ip&{zoMpZ#l?Qk_pbf|8kK&V>a|;42tVR z^$-C-fu?BCRSmkLF(C9xY$3p)C{XA$H24}Yc&HDZ>wbsL_x*cG#$IYrPUxg&-ur1$ z`>A$laRab@r~)kfkO?6OrmDkKbQr1*BLGJu5TFL~5by=y!H2I3_%RjzUARFa}VCteT(R1JorBc{@6BB7axsRm5dkbo%iy6_;i z2#D{(@*UW83Kw2NMbGyA_~jMfKkjoWH5kX8 zAx(EI7LC`P26&`jhQJ_$t*c}kh!F;onu(O2KuSw6AjA*?ioqbu!GOrahky_S2(iP1 zm6Di}E2kC!j_-Ul9(<2r%)uiY%*`s_JL3qYz$svkquSS2M@6KOq( zIwQ$|Bvg}a2iX?(y7Ev6_OR$*{?Qb8ia^%RA?I4mlJF#u$gUhYa2T&$`VYr-PNina zaU1-+S5^t~h=>`q!X+3I5b~PHXcH3%jC!L6b$SgFYK+wsz0Xh#8w~+MhZfh--FXnb z2YXQ0HXUkx92qNvfoujj&t|*g`96@)(X*)&Z(aMyahul%5|H*6ZxCvY3AlpY1d;|T zA4R&fWT;~Vh89P?k>WG0C0Kn$!6>vFBnkmN5yNXgUWZq{_fuH?8Pv5kW6mXu(00j3 zQL}IcvWkPj!9jSQ$4t^vG3@>MJJ|HqXFiaiOnK0=*Ip%JAD#|jxp{TNMw!6iKu=?D zDxt+tt0&QDq?sW}EzUqmn;}))@WZT$<99E;fhSkrKjJ-A*D&pjcC;=#6Lsg!g%?xc zW-P)GYSO@lMc^%cIY)|G}BUDX(qof z4S1pKXr+59FwoPF$FBVr`gV4WDVy|1W};=qnW$efpHncTHtoZMcQh-6}|P1V%mdtSIJ4>2WmaX=Vs{SLAVp?rq2rPx!3Pu9RKPzJMo1nxrco_$~KKDe?GAahl zq94}!_#X+qr53_tAD4wIU!_f;)lYyB6Da5-BTitD4Ix0Jt1BN*fJo;SxPI0WoLn;t zzK~8^)Vkbv-+j32uDiya=bU>lL(^wZg|IwiRTl$W4q(rXV;lLlCzlI-W(v?$2*(5H z`MSyh?zY7b6)mT62RrP7q8~JO{Y^sH5)2SK0#JC>tD$$Lv-*i^22yH*RaS#piDMm8>@`c^4OjuwfUNIu$|XNp8ZUu9j19-UxvIcBIEY=#o-9gU;|@A< zK~WDN?}}F-9clmw0iy-=3sPBB-{5o!rPhO#iIGITp5k~UPWdakM#l8gUKlFgd-N4t zG3Okdf6)cdG#xv(@4zFEJdDR5f1Gn#;~n$iUw4D>b5#5e++9{#q^7hXK&S*8Q~|@_kkl4=Ta?e@l)Fat4_#)0Rh@xc zyX-H}wQ)x=vO~+Qi!t-o#c&5K2#SpY&yNaQSx-js6Fz84F&*B3jgCtmD@slie%4e} zR>O@S7j?@%0zrU;-W3^k21H@EkqkWvSJ#G0v+QlDCTg?<$0Q*jVWp6YQn7d(@4oyd zUi!wP$nNW#)O_^1I8J?R1@svy_>L!86^N1Io1AA&7!Ov*s)F3c1K4}Vzm*IOc4Q_s zYXFURoGofEo)4dLR{=AkDvRuh^t=?dA=Ic4tq@X%H!MsMLl_Wdi7f5LlL_?q^x}V? zdlm0L`v!V9@00H6I7jocMQFSGA~?hj5k@uA%kq7JoUq4NeYB`d4Ni9kyRQ7lNy}!u zF;3+DNk6pdjU_C|QN696JFBXE59unYm;cBMNv z>>%4mtRVH2d9xE;Utd3IxlBaZ6S-#64{o^iOi_2)0{A&@9VrBbCZ?%Si8+DlB2aks zbHz}CLTQr(xx-Yp4Hy#bHVIQH#57v5LRXL-%;4yuK6G#GM9=1ZIMQ(tnSFiG8xm-~ z=3_`Lng!RAETAeQgAx4eWGo!nb_lVP8$qcRa!81E;eztIGuU}mWz^*-4G7JV++IO$ zB{d?bfFR?pDNuD?y1v8`vLkec#+}&0b#+Zv4;2E08XIJRDr^Cgb(A4(8m@3sTD~UW zX@INv?8aKQ#mx>>3vqI`R8LWLMZc?n)iZ#tS3S;mrJy!(W()Mj1V`YzuY0N}8BAog z7jsQfgK2$gxu84|IWfKpq*G}mQb}&nv3wVf=LC9R+7oVi3jv`T33r_k2r{)Y)M+C7 zu?h>hvg3rxPrmSEZQZB;dmv*?sS)2NrR3*r2bX>WV0=|UcKac8-1Kx&b1g=wQ~69$ zgKYh$rGlb#QVlILPC{dSBQlDgU=UmAscWT0G^RAGFwdo0-# zrtiZ^N#V+85dh&yAn{M2qQYi~d<~xd?)wmig8mIVuNB8KlZ&vjc;}#jBwP2nK_Gf`*7tW6`Sw zgwj${_);xNfasMoAj*)c;wu6$sLoE;W!^r3y?4G))Le@Z>Qp{c)F7w*>3O35j8>dB zXCZv*1aU27eT##yoNL2!Y z9Vk(i#HvcR3-J{~aKi(!!*gAZNu2Hh2v@*8Fn|Mp_KTwCJQX2N=Cj8f+?hYVNz7W< z4(CV~`(Aw?8^2kY$GP-ZUl;YUGzOh4a=y*%pwn_JShfwxzKsoE94geT*mS?h3=Fc(AV5e}Wr-cO1>3RVS}p`J zgjPS*xr1C6`}`p&p#je~R?Bi!*b)>b9Sdsi%$U$*`vUw`$R z-xB0KSp)z#tl6xpa*hq#w&2(fTnfS{Js-p>oOlcjJc4MRQ%y2MDeEFKSv>T61e}7V ztsu6O79vn*0T>it_;k7+2Z8pkelAo|?O#pDprs5baUF`OGdP*o_h4TI*_Q%9PF}Z4 zB+>~6gVP!mCs100JRx02u6F>Lql0K{KM7XO$~Qg}AY?b_v?J^GJmA6cTsW=+$8lIy zk$1&9e9&f90RoXzDIqXH@-YM_Qs9!Q&Y<-%kay_%%Kws}hb?BZ9eLlF?1%)z@5>?g z?m;fqs&z32gFsQ!5rzbdfl?_Q7e87NEGZa7>ra*nqdCP}%t%Ga9F)w$a%naYQWyic zz6aNn?yXB_0EWmo@cMFrA(yNOjkv!g!FDoZ6B5&?utwASWsbe5n*J6=pOf~Iqx|AHV7gj;!n zj4khuE!Zd^bvCJ{(BBuf$1Bw9$-q0D1#}q%5-3sOOLj=tH~(IsI=E3H=nKx%ad=Do zu~4C|l9-OcU+zZky)Kw-^-^7to0~EvQ`m;YpeBZlI^T}Q;`!KdQTf%@2tcNPWwA(K zy^x#CxKWISCv|&xF$tcHDEazSopY$)MsU%}-q|NtYINo2*%5#-TxEst%MQDI={0Ik z@&g@dLS%z=LPz$^eK`1?q1MsH)n^H{&VjX`w6Fm53GRv{SCPc*MNM;L7lk{ux+q_Sk5Umox_3WqUnx)S z>zJ!y?)sHNP;eJS);wUcnWVHm0z)zcWGi$HyCMai<~8RDwIMEBGV^^~QDYu)fkPl7 z*U8?wU<1!+poA@`1g@cBVEqpCJouY2S9bHCpD*GIo7v4}m1W3=jDjOvfE2`%jqJ<8 zdaoP%*Su6R)*SOevwm=;Fc&n)O*qVw!0Y6|O9H}?xTeC|)Qto8{70dK@Wn;KSU8>8 zLnS=a|dGQ>WTMCwf^%mLB^a_76C$I8S9{; zTf$&fxcAGY$$gDEqB%diUcgkK1nxh3G+`u6DvPqLB$SoMZe*Um=3JpoOUjL)^Z|}L zMltpgrsUg;LUsf;j0DIfUDt>8Kl^d;Z(g6&%5C}k%Y`|oL3&t*tY#kbpfzadyyyns z*o6akmnKU*?u6Q3yiu?V8w6i$(77L$y2BOhx@KbSmD9g=uFy|PNwyF;oZAX(^0E}n zEQ&_%f$HK;bOIvhacfTZ1HT@3+@lG)VdWxGzw|Wu7I(If0tgMk)B(qXz2h+UteQ9j z$8%{X^8UCJYx?rpqV|eYK=wp-h|85uls~#|D-J*W=D7DLFtFdeP>|O{Q9KimKFxhy z5kQ7-05vrXY}kdqM}Ir1XN@L+wr5ueHBRa(U`TjJ{`wA8?!Ma6jXgL2Y|77?2mr&c zneanr{qRbm)yH`iQ@c!Oq^*Cl5B|_&pBHS0DDlX7s35`~`X-HhmV{IF2_1v4?8MuleZ#+$ZT`oSTUiH0-7BOjXk*RDPUyhZ z4&xJ3<=}Jgtp^mo_k8%+z5J(TAM=R>vFwwZ^V|wJ6RV9IsxvH~*wPtFnP&z#JKBmyH}+X$o)Znb8QD5k^h=*OO0OB<+_ z8kn*I(*D8?f|7mtOhC9*V94E)@}THZQ#df)dAV$w{(U{lI=T73x<&9eL4-B&P-Bg@ zxsyx@eGz8XLC0r)e?ci5AgxbaBaF6snWB##k#3R^ks^^Lp~K$Mi#^wWFuK_%%jB{F zGVj&ZLVktCWQPnc$@V|L8HXyY>u~Zj8TpB_0CLh_e_EuL%w_dc)KNh-@S?^)#)rxR z2z>(`B`U+rF{e+$>K)fif+mQ-4bB(10#}%fJ7sLQEnZue@gHvxqW3G?gy@T3sOCWV zEc4VE@Vbt2Q=L|8g7*CFS|PWZwf^X8p|_-Ab@aj?u%N^Y#7>!pj!R3ocl<;GF#O*C Y2l9fM&fw$zDF6Tf07*qoM6N<$g1c)z3jhEB diff --git a/examples/moving-saw-platformer/assets/Punch6.png b/examples/moving-saw-platformer/assets/Punch6.png deleted file mode 100644 index 82705ff744518ecb432df8c381c5006975878375..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5578 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 Y2l9fM&fw$zDF6Tf07*qoM6N<$g1c)z3jhEB diff --git a/examples/moving-saw-platformer/assets/Punch7.png b/examples/moving-saw-platformer/assets/Punch7.png deleted file mode 100644 index 5d928bfe34853c26004ba33ceafcb8b3a070ac49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4781 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 -%dYgV5}i>l@!T07Qc9@~;7Cwq zrC9sG*6x9?{$~S&)!a2Y|GD`D%c5+BC;fxfD%B=uKXF!2iuQstqK}Ksa5eFqvt=!7 c+5eaQ7ax2EMN1gBF8}}l07*qoM6N<$f@IRq2LJ#7 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_10.png b/examples/moving-saw-platformer/assets/Red hero_Climb_10.png deleted file mode 100644 index 93c9138c260d8634eccfaa15f1efd826e14c8793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3554 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_11.png b/examples/moving-saw-platformer/assets/Red hero_Climb_11.png deleted file mode 100644 index 1dd683ef127a9c636bb96fc565b1343da7e96320..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3653 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 Xs<&9&jt{*{00000NkvXXu0mjf>PZ3W diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_12.png b/examples/moving-saw-platformer/assets/Red hero_Climb_12.png deleted file mode 100644 index 0e768910019f15aea1ea49f3b727f36fc50191f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3620 zcmV+<4%_jGP)Px?-bqA3RCt{2oN0_4#TCbYHM3*S*z0qBV6e^NJ8RBhY;JK1@8AFTs`{9PK^wF|8?-?iv_TuRK^wF|8?-?iv@e;d&!dwwr%Z9S z?>hBlW{(-u42%Hs_9u%70)SM2K41W$8>DkxEkV7T{ZNMqO8NgS8;Z8+|7@)c()-Q4E>;+!4KJt=4J0hExJh8SP;K`4+9w;}` zCus4s!+2!TxlLGP`~*17UrVb0K%>VbMm&d1@_=4o707ZCdF9fz>$=a5cG!Gi1u(-r8cmA3DMlOd)NziO^}2yyA^hd>54Y^Rtd$ zhi^=q_8s8&K*l{Hn$J2hI#o5*5{@NCt6q>FBm8mRsz*!j?E5s4PmmHpe>?YVmQ0_1 zDe$mW5+{V*dhVXYQA-Rgc~Rh^<5oSkJ1I$t2|A*sh1Zu}G9J|Xh>Y|lT!>Ulco>DN zMFOw`u-*esnYa2MJ2xaCDO0;jv@M)68H68-$Vh8=_D8U0D0`L?5z86p%-cWJ@+y7R zHWGkk|5#;iI~NNbYbMB}uU>FoE{T8HB#i-Hyl_blSP2w-2{*A?LPJQe5`o2JkiFY_ zdR}>B&)&LygA^2m$b5vc?imhIi}=-oQx3suvCDnR!-FLuSOOwH|LsW&hBfM5B7(kq z_*{UKoMAhI)`V}$UUNhXBk>ZWVd-I1#S$+Tm?2pWZ9!lZBB#zBGrA!k6DvqWP6$#9 z#u?Ug3z{Psq=-&d-D<(ed3LAOb|)M$wlRX58fsPT-x|sccikfX8p&p&Xe_&}*{hkW z?9ExVd@0RFEJdP1S9!n0RW@+oh%!8^>tV6VD&NB@VIhGi*AdRRMfw z*u)D`i|ELaY6%)!!%OMp1bwl&#m4btd&c!~V*!@JEGEbRNTGhUM9f6`I>)FUOD#bp zZ;R=Y&ypu;ky3T1UbQrmr@~075t2Lq+P)=@M?OowP(+HcSGo3aZI!E)+iiSUVqjIV ztL=iZ#Kp48c6i5q%W=oD`kXVEHgZIye~D)?M2f~fY2}uN)#AevWGBFnjyaO+kC@AZ zLg7l_e4u&Jp;MOwE2lm15ZilteI6#iSVf9))Z#c|t3^A%=2;KAB&ka+;404^kFXQq zmihCTP$;|t+z(s;oP~9J_=WamOPj{!^C=T#jj!K(1zndT;yPlkz}-6T^_7ODU&DDq zQZ%B0op=9lQ}LeDPX)LYSP9ue{86z!zfU3wc(bbEesP&Ew$=A^nZW-Z|n8 zqadu%ko5Es9Fm*cJG;2{$fE$R3ULJBB4F0Ie120$(ajnLL9br4n8RDfP6bv22ie8z zc3-{hs`2+d;6t=dob=UpL>n*=W8D%T%Tq6)kB-oiX#?D82NXE%iI+g@r=_f#B z%gx6g1F)n9IRLHb4>fgyc3rbf0dE6A_i*Po=W@$^Bv}LOBgB!=q#KpM z61#VuW$o`>vt=7Ve@udmOs3Cb->=ay3*0uo;F$_*ss+zXq!ADll2z&gLnulunvPAZ zeO;vzxH+|!mGvE6PK#qSKKkpehq~OLpTVjl)y=pwk=rg}Cc;D$?U0$|jn*QlOlIFT zb7r*wr`Pn(vH^WZS5R1Z>DHXjX0Q9rDJOc0{j&FkP>gj;O|=9haF1F%At~f?g{cyr zTfNqSClqxBJq}zS1LW>+watF!vYFF1t8y8nT=1UXz%yKR5Uo5wEv6zvutL=0#X=y{ zlv@d+Vm?H^Wy+R%^{NK*1Sw4QJBKEip+ku&~2gMe}nHuuoq_gO-CP z-1|TU_+}(TfVp|4;^rEuXfv9dYkbGNIm-D|G~y)!OV3jkKaNumpZYvj25y+~;KRNH zPKb3541jfsQKF99AbRJq!zWFpIO^5v8CW(+%KBgVWmE>H&wc2T-cP#y_x6pe`6dObZH&3bx2 zh32tjvQ45?wqIp3ol0e%P)gm<(OdlN{3q7(pN>62?l~5k*EcM^nAVXaMgcDZbMd@O zB$W!~@_dc zIq`jE%xE54bQV*Zo5usUVZGWr3}}){MM|YUHPF{RCYD-aCGY^{S(Q93gGm;nU#HIW zNo)Su9_440#ePTewTsQ$DIyi756vu=N_mZODWKPhr4~q{Jn@|jpZeMkUh~|B8t#Q! z?CE^oBWsNPWz(l}*ZiXnidIVmDG75+xbk!?0BMf$tCltX*vFbVraHT+=9Wg(5~|4P z2VXU;VS?;QwKY}<#ULgnwP>}RdS47d_9$ADJAx;7*|oiD3CdHxaTpH!zl?^F%z(0^sJbp7MlL+Hvk#EbZXq2iGFKXLD$V{Z4!}5*h5S& zx1_8*WSqHQpCw7sCr?QLwssLaK881;mLN&XIBOY|=1ipTH>4JmKWoc4 zk@Z>v1u@#q9olf}UNLL+lB*>MtEI-hph!zFi&+b>=nyjZ1w%12VhZ-FC_wOyG@R`A=A^r!}FLL_x;mkyvU8$}JvZ0z)WNEn$6V=tACHwAN<{ z6vQsih)Av$yY;#5^2-ggLjrVYT2PKqojrEq+pbYBBo|x$mhRdtcws z>3_X9t|j_X?;D?X(l&DV2Qx*4WuO??AbWv@zkK)Otxxa%tO2iFOH5El z-vCc;-&48b(1X?hIf0V_RgYRAfEevw4@UJcET{GcgoRJ-+PCS}jh`fQjuZ$2o1`6k zDlJ*HZbC-pH)XRkGxjrZe`sl?At4#97C$LARzJv1z_mBNwPn{G?{81TwKTp^XW54R z-MsT@CkvYMqxN@o(Ui?Hbm$OrO<9z7TO=^I1QFv6p zh4yGK*WS~YDmjocL9N5`v$1bbxo?>$$`zqpDbYUwO7ZLA`5|{?lp19}k|_W=gq)_B z0j%$#6-DUnE6L4*x?F$GsTAH4?!@=PhWXEMMytvPLX5f~FRRqEu$CS*ilYtlH{5(@JH$Nh=7u`9S)wq`+Fy~x|WxB=M17fniZ`#I23Q;?+!)vV_p$#E$bJngegSuKNHA5-&w2dt`X-BU3XvaWpq=wu|&o-TP{CK6*4m9FD zdEtKG>KRY1Z@7=KLvkz_JBmLX+m;1*YDY);2XAboyIii-v>{8CpquBka#icW*8{)P zyRbQ00bH?U{hO8lepb)dLcUl_m7ttbY&iP_lu|>1*}zm#9|0SIzQdnhPj9)78U9OP q2jtHsXMl_rT4hP{Y;(}Q)b@YZ-00)P`hZmc0000Px?uSrBfRCt{2oOzHPMIFaK{odQnZgz8SvI!>H9E3v-#S|DN5Y(VR3}^%;QSgua zVbm&*qRP@LE%7YxtJLzqBO;*Da9UgmC}OHa(U?^rn8d&u$emrtCi`~Z?!KRY%+)>9 z^WMCf32N2*ZQjdFPxp8F_nmM5x_hSIK+~Gmw5Bz!X-#Wd)0)<_rZuf;|6`_Jij%x? z-aLQ%8_O@^jA_$4fk{A{`za!V03cOh1Qj6-~Halcxdl)FGaP1lSt6Y z1@pP#Rp)WZoH?_Avw(|%OMxXoho8|W2Jp7T`H~<{KkyglBU=UbAo9%W`yQ+S-2d;r zC(Die33}_Ih5UNu6(t-pJ_cM8%_ZJH(C9IVk=;k< z59I1kt_0n&@(Qk8wD8ryt-xaQXl+u0O)<(yD35={%y$C#BEn6-dA9H1J2pR@)fL}z zBWTmg%X!P9MehZ^3lxGQqWP>7qf=E^E%8`llq!RK6yba4Z@O#jseu+!c;*^QEe=@ zta(;5R=Jy}*YhRLG7$tIBGU+0QELK0qVp9Obd9TS7P68oA@b~4{@1i*-b5`MK~4oG zdpnJ(C23C-*Q>dSNfarJN7bFoGAc+Ak&?HqC6i1odb!-x;^G)(hLZUcwaiT{{tBCp zXjy>B6*lo~Y7rf|rdn)uOFfj%PSAfhwzxP^>`=X)OV_}1=*0vX1!-?wEj4-~eVk)t zPox$b$@>zz6tV0u_d)yB3ObPB&AsidgQIESURhF zA#gh|8yEwgDz9I+<};6Pd*KV)w(GSUHtX1+BjI#gz;*K^Q;S*7#Y;_4WG?oH)mO4~ zR`+SZ4&YV5DZo77GNAX97c2?N2#8P#&!Dx5qMsJNcjLw{pPXRws$-$yg|PHFoPib0 z2R(AW_2f=Xv8+K0$Dj_N zH9@%*H(s#Bb7Uk=_QsX8sYL?4G!&=e)#9|aN0xzR zVhx-a8?WsRu=~1e{q4oKZ1lIo1dY~3a%}m!m!Hx0!9xd!^BlK`kw?Re5L1^Fw+aGK z^I?78yVug)-hLkNE1(PbZF&8=HHXUO@%cCZB0^9FcoCRV3lwMvdE}cHUwGkIWh9X! zHPsTzXU76vqH)Anuuj+<*mT*Yym>)S0r(qmE}>`1me;Sd zKGpbsB7U3-mqerx3AmawjrK%3z8Talq!{J&&H$a{a=7ZN7W9CloX#2^mLSxN9T^@5 zI1FsJ6fpVGoM=cbe(5?rQ5?aB@+_qI#5l*>CQkXp;JSCQcJU&9e(CEduU|(&sfU5N z^?U?Nw?3z1BD=3!GXpqeJMI%yts+uov@)bs)^jsyuqCFPHQ3g{(gSz!-QF>sLa{ie z3dPSVRVXW^ZbV<DwWMR^RjCAxM&p@siq&u+2TqA&Bq%`h?XxLqd=jQ z^J#FkPc@bxfLTAig@NIbn{XCihI#_eQ9_Q?>V?oqAwI4UB`ZRTfn|~`2FZ95YLpy+ zPai6m>zCSn-L=f==qTVU$h-lVBGqcCD&t6XoY9e?I`P2Xg#2USW|T0tn6b;ur=O=| z$}9@S5`{v621wcq^tAurC&^3fSnEvS=TGV=ipUD7R^Lz^A3b}tQeG9*G!#Spx;7eH z;z$W&>F3mAUa;RebvDIP3rZzkr!fe0O}S~qXr)@swgm6!JFi*>Y)zz=L;>8QJSS7A zq@83j&gRLb0)BTg5pBNl1vwS!@pp5LEoszZSL9e_cx6j#dk3%vI1@({gTNNxyHEBH z^k4J9Lp(b;Xmv9+LGIOEkf;eIAf|R~X$;HRa`Kgr_fMLB>z#Lhbjd4!^QO7M>|(_| z_a^c)>!ard*&QJiySyf3=Cj7BNV<7m5JZ>+@TG0Nd}&*6BDZu)9fQuC+zGCN>?39^ z7SxO_S{%VLV6?_5jJRiDiH-vxQ`h#)PU~iR1-<9=1tk$V1-FX%#g?3vhs-ed8?!7y zdWNyvfb4^8`NS!)U~7}unF+j!wG2U8W;i2^JbNO2Kb2Zc{+uo2LN;m{6vWgZc4*aU zc*Lyb%dQq1R#$ic+lXc8#iY}yR1&o$>WLatUbrz^NbXAHPK>2*Vj^v!6gNHC_R~`a z@HAM_3s(0DO-;+9AY)9PNG-P55+cUhgkseacMc6*Xp7wDZNM@ph(nFZ`pr%2$8$J3)skr z*&F2sBWC<^CRQ}vpV>$7G%U9s?#%uW85l}U(1ZJqAjpR3ePOTuCRtv5i9Y1>Zh?4B zPc%}(H}{EP)p{u4lKjWi?2v(=Tl@Bb$QDHYSz9fHh(U9tw(@*ZjQLefwP?-HIjJDu z?|sqwcs`M3`a#{tdv}cs^1;+D2M+Xa+c6k<`kdG@{it{Q z3xk|Bx#M4_O`6yREX`-!5*Kj&#Ml5H!s-LA{y^_D!$&Gfmpw%-^RJ$F4GwYrf>XBO zyujovv`WS~;-nhP5fBp&sBu^Zih&K%53Kn7)6ebQeE7u_UImt!pd%xr+`s>5_1*Jl z-zm78e}y}RS(lRNn3D;F*+ z77ANCCQhVObi!M-X=$l3O|rIHqNKQ3WsnxsHQn5g>;4LJm9j9z+5fQ3__AwSDbnO`$ z$(0<)ksxOUMPX*J?{6_)6~?P$R7Rcjw$_&JmSSO&Ad`T0par2tQ_LvN@6d)tD36TG z)gtP1dPGo)@YB*(brN2vl^a0-N~zA!zAYESm9e9XAK8953Fe%(Rvub*?%XhzyY5F% zYOV2rFtz2ZAQgH?hO*RI4P#kzR2#d{V@VBTx1Ed^vgNIykmJftH}-d~{_~DTk*gM> z!`PiCLqXZ!{^FX`{?&`#YA&S;#>%cBU2Sa`Td92}h84SG)hU_o&s!}&1vx>pFQk^> zaB$$RMuC-5{;FF`?D6mm-EEofjae->1>N@CVU$vjIt~?d#TZu_)L)+&YM?82h<_x& ziDJ9wJF%f}e_rnRmK#C+qhlzgHY%kKgqoC2(wYzbeRqGQ8XhRd+wav zdHJGSZUh1R=-C6KN)?tVrS^wnM!!<(LZ#UF+rw#I1gTz7N`28D(|kqUeKN*Dxg*Y+ z(83=sSyBMi0Th*D9Mtg-_wJO<2m2XK@er@5VCUr*6_ipp0qeYUEgtOx&RTfyqv`K! z#Mn#nvfDhYs9@I>7o(J#kMnzy%Rz}!YyjSW%d`82Kk-EVt?d7XAkQY3O1!3P3O~Hy voC3go`wmxc=zW^u@rK5pO>0`y{x|GD1rhW#{4kz;00000NkvXXu0mjfyV2$N diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_3.png b/examples/moving-saw-platformer/assets/Red hero_Climb_3.png deleted file mode 100644 index a66739fb40f4aae9d17cca6baa5fc72fddff9b0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3457 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Climb_7.png b/examples/moving-saw-platformer/assets/Red hero_Climb_7.png deleted file mode 100644 index 8439f24f9fff32769dfdef5ed78ad1f17deafeb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3520 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Fall.png b/examples/moving-saw-platformer/assets/Red hero_Fall.png deleted file mode 100644 index 4e98f37ecf6dbd9e9313fb436dea88eb0e9178cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4200 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Idle_3.png b/examples/moving-saw-platformer/assets/Red hero_Idle_3.png deleted file mode 100644 index 066e8b11e34795b0dbc94bcc2251cd02ee95053f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3838 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 A>Hq)$ diff --git a/examples/moving-saw-platformer/assets/Red hero_Idle_4.png b/examples/moving-saw-platformer/assets/Red hero_Idle_4.png deleted file mode 100644 index 90d6137de1b35efd738bf95c08868345fc02afc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3801 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Jump.png b/examples/moving-saw-platformer/assets/Red hero_Jump.png deleted file mode 100644 index 1a889c4672f2152314a20652850cc90de9f91547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4085 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_11.png b/examples/moving-saw-platformer/assets/Red hero_Run_11.png deleted file mode 100644 index d54c36f7a7d08fe0a2e79d965e5c74f082176b09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4225 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 X!C8}Ww|Ds{00000NkvXXu0mjfldTZF diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_12.png b/examples/moving-saw-platformer/assets/Red hero_Run_12.png deleted file mode 100644 index 01fb938e9a134cc0ae14540fb29bc320655ccf32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4235 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_14.png b/examples/moving-saw-platformer/assets/Red hero_Run_14.png deleted file mode 100644 index c448d8204a0defea69fe5e4e87be537862ba564d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4342 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 JPDHLkV1nPAG(i9W diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_16.png b/examples/moving-saw-platformer/assets/Red hero_Run_16.png deleted file mode 100644 index cabf9e74eb94e3a39b48ace3611621c6f04c9925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4041 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 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_17.png b/examples/moving-saw-platformer/assets/Red hero_Run_17.png deleted file mode 100644 index 7eb4dad0771a6f4afe439981c81f854edf101cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3973 zcmV;04|?#4P)Px^KS@MERCt{2oO^Ut)t$$`zkSZleUJwUgd_-l168 z<)c=XsI#1*%vApv*RnIS>>72LcC}2GYliAr>Z?-Qq4IVRq>iJgph6@9i6P`c5|VrG zIluYiy!N?|bMHC#2Ii0Z%et?9_u1$7`<&nY?Y)0z-vA{kNl8jll9H69Bqb?HN&E|) zYXtzH6@XGz1w_JTNp`jNb#_S5ifl63N)5i*E5tS2)NUw4gn;q zl@1Fa0)S)0SfdmDZt12?g8;DYi!X|gaU))DZ!cJPrQjCwkWE*%p|y76^APlqU6|U7T(HAao;V| zo3=GZBFEqF=|OKI5m@&z_n?hS+wiR!P4^OEy=7J2Eg3 zNPiLNC?7JdVjKWoZ+L|cFaylSi}`1jff)?5+%AJr!VG5JC^tO}u-Y;oscpp~_v)&$ z{m`o0Yi@0945a^<0=lfB9t&zGJnR?<$-r!|%yJY97A_^Cea|hqysojb(zgv`3g~;Y zXMutHSu!qfSS-QH)3c2B%=5TmP1noIw|u&4Rn_?w6~1g3Q$QC~RRYXShJlh1p0GF_ z7V?8-v?s%o+tXWg@cP5I-R8^YF#~i}T^;7vPH1IYNk|6DupC2Jy6XAEVh>pE_6U5l zCg}F{OD@mbjxhtYa(WX)Qv0Fp>Xvb7u(&{2>OKn!h@=ygV;E#te|A5_CaV z+6LOjncctxRxVG-Z#4915B$ubJMK{Pv17~t{n>E`%0G}Jy zpR3WxWg9NNG^ZV70_gh5lQFlZda=`WbjiT~AF%Y{)34n=Yevp-e@p;fF{J^dX%AR2 z#jw>UtPC+rh81Y);DUv5m{>b^eqG(!2c#(kUC{E>tLF=r9J8_p_`+c6g9ER=b;AnJ z^=Mv!%CCHFQZ2w-X{l^4lUS-m0E0|$0D-O5DVWJR(kQZ=OKuAQq#kV@a@1e-m=)HVecU|+~|SW=z5J?t}RZDbgFJbs;|i*?Z) zHXg8ib;DQ;>ikxGnAGtP8#dr*Zy!dJNrW{GQ=?&A*VKq>8tM@e!gUV$f)Lm<4^nhM z%cj%=%;Rmhwx7&gGqESEtT9UvMDtvPu3QFX`UN0!CcJIiHng?1LD%&(U7r8w5CGu9 z@l|-P?Hia|Qv;W00a|D{anj44q5`_3z8=$K(S$mCf5$yf)OT2gE^$05p6b--F)$Qp(#RZfM zDbN&g1F;p9-4Qoyz=XRz`hy1%x_FW2xwdZIiYK3Z(zlKsgG1PPq6Oh!_H{-;x? zJnI(~(2b2#K;RgF3|%J!EVG^stGpZ)PyZaGh;C=||lf2e3P z=~XkPVRAIGB3qiml?nx1Gi-aNJT#OSoa4uj!p`oDoEE@EM~p^PBiMd(kKp~2WHQLt|_at-Jb${z+wgu z4`JwMPiH;fo;`aC(s$mxdA92N_wNsR)h!AjK^hb!S7!~%0bs>BV$&PmPtzBcc9f?E& z>$`5Iw<Mf2q+A05V12M!^rGc;!C=C=ZXDhPrIbF0VW zUlz?rWBIsW-nQfIJAd~@XWljj1{4y6j=xw^p({Kf6xE!$dkf2nE!)Q8!OGT_)ZUE~ ze)VeZwTvWz7ppf+t3y(a-y?JtLRihP^DHNM0H^EN3sggGmhv5Tij_!O^;^cVnQXUL z!zL`Jo@)^-hbJO1a{{2fe(eklh!`ME`8y^C2?a6?V%Qp5rFt@Md}7IX;>@sE>W0OG z^~_zn-|@XaI540ee`RKf!4<@Su^I0!uN)IgY$?)ESJ+>RHGiRubZGSMPg&Fo>;z0R8>K1|Y$gScWib zP?V6RA8fCY1`;(KLtMY*`gGQRbsIJj9u;w#isGrA=2cqKv;>$v93LTIMMCbOj~>dnpG7B zfXT+P0k)FE11C{Y-C!Hz1ZZ1z=(@a;&o~sPP4WtY1^&;&M?3%I*G5@<1G?wJ+6c#` z;n<9>BSXE2RZM_d7IAqE;OKs4sKLCm3IQKGaYcBvfdLI5cep1E-F=;q8(|nMOlmBJBO?XB~dc zOB3H+Z1o3+l91e;-EM6!Dcs!=7Q-U z&@c}$b2|u)_6U+1NHYXX>sZV6vTn%CIwLkESAZviqK4>=&R)N!Wt0FZSAwqN@pMnH zG|U(<3-m0`>RG9S1%aTd;m`9)r;Z7r&0W1<#;?3LeHRJ~fnh13FcekYDstt>^OQip zdhQq*)t1(d4+-M0%jFp_8WGZpDZ^WNjziv+vwbauf^f9rQzG%ibz61@Tb-szAj~hH z=*3AbwvL&1XLEJ0Aez-105daaJpgY{b+;uH^$jBByVq{n`F256BnjM6FRF;(l}lz; zK9^v)|camMW)^f5qz|*G=)=QZt_G*IKrfhyIP~In-1pdbY-SH&e z>>h~UKDBzIk&4GR+jEkx;V2F#wZ0=PVs>ws%Yi9{BEme|+%B$VdQdvP(h# zd7(R=#7_=)^SsLF)@hNlcgdL2wxojbf@Q!_rJ5EHVS^zd%-c$4cao#fBF1+f}V0ug`{Ud5k`^OB+fB2qt5b4D|_M*;kgx~~7tXegA7 zlDLluRdPM&MgB~C&n6t8NP85YKK#X~D%8!2Vgy|^?NMgGSJY5KRk2cp%l>NKAKyvF zp@0O9gFJEx>%9?}&G&;u2)?~OpcDnr=FXEKMY%;$)m^HhLa`qq^Pxgf)l-TP*DIvd zK7QcHZ>GPx18ZAbQ6G)2AQEZ{3~8vh%iG`UJ>63bef>yrmb?JYk43TbibaZ0sEt&b z0-e4FLO+<_WX5Rafls!tJ=LFhrl-$7X4lnAFe9d(B=7{+#4&w~OT2RGtVPkMo-QZ> zA4G}<$dab=C>o;99ztSZ_sPt;nSEC;#x0?i{LCc~S|`45@P6gtV^<%?h2ea>_|r+^L)45D*1{<%^Xxrm5# zYxFWeVF19QOJ3hTd@gk?dXNqx-H$wsvfdLFiJ|^_`}PpH^WxvWdAdE{cvg~^q36 diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_18.png b/examples/moving-saw-platformer/assets/Red hero_Run_18.png deleted file mode 100644 index 3c8e2bd55e94b4b558c6718d743624811c22e61f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3800 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 JPDHLkV1ii|UX}m= diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_4.png b/examples/moving-saw-platformer/assets/Red hero_Run_4.png deleted file mode 100644 index ac99075e47cb0ca8d93bc841ab9ebc9a6c97eda2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3438 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 KMNUMnLSTX!MM<0h diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_6.png b/examples/moving-saw-platformer/assets/Red hero_Run_6.png deleted file mode 100644 index 51fe6b374dd7e2c5ac0b82a8951c244e15902bd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4055 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 JPDHLkV1nX}!6yI! diff --git a/examples/moving-saw-platformer/assets/Red hero_Run_7.png b/examples/moving-saw-platformer/assets/Red hero_Run_7.png deleted file mode 100644 index 35c05d2f361f6a39785920723327e0555abf1a56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3830 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 N002ovPDHLkV1fV_`b+=- diff --git a/examples/moving-saw-platformer/assets/Red playerShip (1).png b/examples/moving-saw-platformer/assets/Red playerShip (1).png deleted file mode 100644 index 213f1be09db97d002aec20fc919718185a83518e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2674 zcmV-&3XS!NP)2%r`8EAK7sVY-w1}CEuU}m#f4z7Oem}^6Qw7Wq@r9v}cp)6`)VS%kIEwSj1 z9j*=a(M|>NkTa>}Z9EaGIWJzz>-KLRsrVf>Z&g?(2g=Hg=WAarnM7w zb)LvTeKEZq8XCG=AsSLzi=ga<3<}~Zy$z8JN^9d46`sgIeKEZ?l7amS)sWKK-j`qY zL%Pc9J2Ab*vk`@?#{x|N@W#i-IhbArpD6s$9{s5FHYAOajz)cvfp((S zP#KlKc(Gspw$=|B7T?}hD|CHojC?-N!A!jUwl6Z!jxTdYKPtTqDXsM?_+;Uy(%TTo zptLq987jREDXoRI?cVK+478IsC#a0dL!liZl-Bwce4_9Z(_3Sy+M`f*Sx$9!m5FKX z)#>R#WT3s6-nMo3)+&@YC~q`0++7uEZhiOU7p&&Xb~cfo3MBYs;djv><&(A!hW@LX zPQ~7dG^^!GE(dCAwjOS3sRT%{_nKQ-V{DL3U%nD58R!rFqJJ9eP*Y1SE&|1ZQK}-R z$__`Os{~GM*BSQh`3tP~;tX5-@me6kCksFHhknsN#-TAWJ}w4a6n7*ESR$$-EqZ~3 z&TiH*I>x~w`|+pMP{}}lV*eNq;|h044j0Fr6&H;4ngBT7+QGUEP$uTDurmTsFv^1Z zUU?-D8E8*^iTz_djEnIx51P}a#ghYf-L0*WP^6`r z96r+0#@YrG?A+V}2LvVpHISLR37}8GCksCq`W45au`v(K2lFa+JORGIxq!KWKX}k8 zAAGR&^^y`Mno(i3{GNM4n?zM(^L{ZdH1+nINZ?>(7fm1~=JEvqJNE7kLBUz{~LPnMF% zn7nk^B>2ABwTqp8>M75LcB1e@zv4Ja>7pRRJc|)efGh9?&V)H}pb<-v?c4dJ@s~b) z?cRHLh7}k3#-}WuCL5WZH-VI1Tr!c-wEJ1s_{<*9*6{T6CNj{kIL`3QyyLtu@37(t z@FZ+yyuky=h|!%vxApNyAEjGI_Z%0DbykcE9m6R{XUPDH2oj~Wq%r>V>lfH_zxll{ z6SW4Vw`4=pIal+8A3@^@@C2^Fm$0Tg13VPS`1J9|3l&a1@dW$V4F-+i;_BAKx+=zn z==bq;aly$3GFcNy%hy&+WcVclR=ENaeOHVnGC9`{k^vN}w3hbQ1|j3jts{=rW-@r1rz0FJ;DxQaN_Dg+*E$$%X>P;R;k#9Q;N`je$%T==N{+YRG_lbx|i zYa!SGW>7Ln_*td5WBDatbB4e0+bW&_C*UQn7Qj=+*i6R#_wT_!haP@-UBz!swz4k= zlkDGL-5ihxwGwSX%r33Pe%YX8lt1}&Vc)Hr^wz6ciAE7G;0GLmr;IUh=VTZ>6e7GG z8C~bn+}h$g`?Rx%If*vECTooI`2~~U1DHX{5QQK5H<3SkDYy?7q7irjH^R_~44%0{ zgiv5{B7^MfkulaBi~EWTb|z~KF|7@Qj8~t0#zcnK^ww)U0Y1P<#?FciN|XvBn{r<_ zWWeI-@QAR|81q+uFlme+X)O%xMXiDU&0oD_L-hyvSm9Q)CpEjCF#~N%(C<##nBN zC1)2D8HND|;Ng}GOTp(P{5B#(pSi$>M(S8ka)kAq&#=CUS^imK<`UDhm;W!xfM4(r ze!^e)4gY}y@Ni3prQmZCejAaInfiiV>-`0{%duavT;Fy!oBA`GNF8K}R2{Dy8=ql= z7qjf_RNnS3x>dX0p}zFWGGWZl=fo!LJ^)m+zv%Om0)j_&zI!>`%1vc~1@e zj{70|Cj0J025l>kfOS*0%CDw_>0Zb$`=iH5!xcY^}!h zMvdj#4f}d+(zi1im_Pi0Kky6wS@{h-fD7=k+I2`5yl5Nl1GP=LY|3}XwVgf3wEevw zYPCHdYL*1S20vN5i{R9i(?+HhyS2#pPygDyFh9%_^R@E@esX^ezu~`Itg!pMfbmBA znXz5n?;cw_f((n%Rf_~gKKnyqojn$9W0_2*sAQmjyuc~OzG4A?TNM!Waou0b z@FES?+wT4WCLUAa_ho#$m-Fe^3XFsCuk>F<-q4 z?&fp^I^~&;H}ZN=q}{=hbj%U@SHGv>ve3^oq*5t<081F}fukSvr+&V{A0e?I2MpUC zG_1~>@=@rFLJH>i`30}R9QDzTg0?yjJ=opBPh-<{ouBsa^_)V~M?17v=M#pLUFG~7 z!7U%XtxjMIq0lLwbSj(MPx#07*qoM6N<$g4#MDI{*Lx diff --git a/examples/moving-saw-platformer/assets/Red playerShip (1)2.png b/examples/moving-saw-platformer/assets/Red playerShip (1)2.png deleted file mode 100644 index 213f1be09db97d002aec20fc919718185a83518e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2674 zcmV-&3XS!NP)2%r`8EAK7sVY-w1}CEuU}m#f4z7Oem}^6Qw7Wq@r9v}cp)6`)VS%kIEwSj1 z9j*=a(M|>NkTa>}Z9EaGIWJzz>-KLRsrVf>Z&g?(2g=Hg=WAarnM7w zb)LvTeKEZq8XCG=AsSLzi=ga<3<}~Zy$z8JN^9d46`sgIeKEZ?l7amS)sWKK-j`qY zL%Pc9J2Ab*vk`@?#{x|N@W#i-IhbArpD6s$9{s5FHYAOajz)cvfp((S zP#KlKc(Gspw$=|B7T?}hD|CHojC?-N!A!jUwl6Z!jxTdYKPtTqDXsM?_+;Uy(%TTo zptLq987jREDXoRI?cVK+478IsC#a0dL!liZl-Bwce4_9Z(_3Sy+M`f*Sx$9!m5FKX z)#>R#WT3s6-nMo3)+&@YC~q`0++7uEZhiOU7p&&Xb~cfo3MBYs;djv><&(A!hW@LX zPQ~7dG^^!GE(dCAwjOS3sRT%{_nKQ-V{DL3U%nD58R!rFqJJ9eP*Y1SE&|1ZQK}-R z$__`Os{~GM*BSQh`3tP~;tX5-@me6kCksFHhknsN#-TAWJ}w4a6n7*ESR$$-EqZ~3 z&TiH*I>x~w`|+pMP{}}lV*eNq;|h044j0Fr6&H;4ngBT7+QGUEP$uTDurmTsFv^1Z zUU?-D8E8*^iTz_djEnIx51P}a#ghYf-L0*WP^6`r z96r+0#@YrG?A+V}2LvVpHISLR37}8GCksCq`W45au`v(K2lFa+JORGIxq!KWKX}k8 zAAGR&^^y`Mno(i3{GNM4n?zM(^L{ZdH1+nINZ?>(7fm1~=JEvqJNE7kLBUz{~LPnMF% zn7nk^B>2ABwTqp8>M75LcB1e@zv4Ja>7pRRJc|)efGh9?&V)H}pb<-v?c4dJ@s~b) z?cRHLh7}k3#-}WuCL5WZH-VI1Tr!c-wEJ1s_{<*9*6{T6CNj{kIL`3QyyLtu@37(t z@FZ+yyuky=h|!%vxApNyAEjGI_Z%0DbykcE9m6R{XUPDH2oj~Wq%r>V>lfH_zxll{ z6SW4Vw`4=pIal+8A3@^@@C2^Fm$0Tg13VPS`1J9|3l&a1@dW$V4F-+i;_BAKx+=zn z==bq;aly$3GFcNy%hy&+WcVclR=ENaeOHVnGC9`{k^vN}w3hbQ1|j3jts{=rW-@r1rz0FJ;DxQaN_Dg+*E$$%X>P;R;k#9Q;N`je$%T==N{+YRG_lbx|i zYa!SGW>7Ln_*td5WBDatbB4e0+bW&_C*UQn7Qj=+*i6R#_wT_!haP@-UBz!swz4k= zlkDGL-5ihxwGwSX%r33Pe%YX8lt1}&Vc)Hr^wz6ciAE7G;0GLmr;IUh=VTZ>6e7GG z8C~bn+}h$g`?Rx%If*vECTooI`2~~U1DHX{5QQK5H<3SkDYy?7q7irjH^R_~44%0{ zgiv5{B7^MfkulaBi~EWTb|z~KF|7@Qj8~t0#zcnK^ww)U0Y1P<#?FciN|XvBn{r<_ zWWeI-@QAR|81q+uFlme+X)O%xMXiDU&0oD_L-hyvSm9Q)CpEjCF#~N%(C<##nBN zC1)2D8HND|;Ng}GOTp(P{5B#(pSi$>M(S8ka)kAq&#=CUS^imK<`UDhm;W!xfM4(r ze!^e)4gY}y@Ni3prQmZCejAaInfiiV>-`0{%duavT;Fy!oBA`GNF8K}R2{Dy8=ql= z7qjf_RNnS3x>dX0p}zFWGGWZl=fo!LJ^)m+zv%Om0)j_&zI!>`%1vc~1@e zj{70|Cj0J025l>kfOS*0%CDw_>0Zb$`=iH5!xcY^}!h zMvdj#4f}d+(zi1im_Pi0Kky6wS@{h-fD7=k+I2`5yl5Nl1GP=LY|3}XwVgf3wEevw zYPCHdYL*1S20vN5i{R9i(?+HhyS2#pPygDyFh9%_^R@E@esX^ezu~`Itg!pMfbmBA znXz5n?;cw_f((n%Rf_~gKKnyqojn$9W0_2*sAQmjyuc~OzG4A?TNM!Waou0b z@FES?+wT4WCLUAa_ho#$m-Fe^3XFsCuk>F<-q4 z?&fp^I^~&;H}ZN=q}{=hbj%U@SHGv>ve3^oq*5t<081F}fukSvr+&V{A0e?I2MpUC zG_1~>@=@rFLJH>i`30}R9QDzTg0?yjJ=opBPh-<{ouBsa^_)V~M?17v=M#pLUFG~7 z!7U%XtxjMIq0lLwbSj(MPx#07*qoM6N<$g4#MDI{*Lx diff --git a/examples/moving-saw-platformer/assets/Right arrow round button.png b/examples/moving-saw-platformer/assets/Right arrow round button.png deleted file mode 100644 index 0abd109d182c179053b1013c7e9f9b6d79ece047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1357 zcmV-T1+w~yP)a>50wEO$sbJHA z)q&H2bnHHTT=KIt6+9a?nmNqxLgw;VmK0)d^E0PfgEEpSSGz>;&J%7^9&yEEWqt91gdyudmCar-rdGCdPhvc=(VMXjqV0;Mny1 z7^p!?@yryYEi;nw=vpZL&n$GY-EM!QKRrEtZ|dvy`X@eX)b|g*+cZARL$B1l1a9tH z&~CT;yV-1h-QVATH6Oq7(J>ar1fVrinMDmGRMjPMSeTjo_1)dwM_-`1I-XI2nL8vh zK09et>Wj@OnBUEycG94^I@BE!Z*w}Ba}?m2H+sV-h)MfY(MvmCq76t$qqcX=*_+KZ zC9aJ`a!tXUgR69@vK+iw2pi|aMq;iU#9%6o2T@0XpJSFfSBInF>ktPKVE}z7)FCEY zcTV_2RT^s(3w5~7!_R$C*_JAui`qmBc*_*PV<0ZYK*UC!ig};awoaXyO}rI}^HKzl zg2>{;n~T5$qd^Bm9F;0~G*)CG&e)5`1^baYc&CoFUhJ7EqXIHuDBztsWp;o?SMVnE z4XjqH&qD(cYo;35dfyE9O}~hUeQ4m(-3k??R-p|zJsJ-U6+EKKIVEKq9S8M5eca

<<_d%mE!-o~9jU4rSWP_Gw8UH{LPqfT$EYZ6OVsHEo}bIgSBD z#s!RR0Omx`ueAVdI`h>65tuLmb2|@Brlrlnxdw>9#OX|E;0zVg^m=Wx4>Ule=A{x? zQ@To1eY*gt0U}l73f)B~rM+$Ingp96pAwi_fb#VwKW&cjW zaHx!|P$0gsgLLnUtS5=+JtYuC;wdf+v{>#mIzdVs*uLhgU;KvBkQ2>$ zYH#ZsOO&C}jte!fz_N=r)2iuDvUIPFpcVCNcN#QTSeG*{98OceXx()2 zy0hxm-P%mu9$M_)d~|6`wb(?^;uE}93&@WD^||=L}D(Dg1Palv^X46t!Qa0 z`>B0F+TmpvmIAnORQh$50EL~=1k!ccC#n*lOrWXpq4mcab4MwAG zkrFx4cxG~S_2Km(5fWKjC1{!X_s3`m4U$;`nw5V%VA&C@c?sB9v&8#9)#sA4LxWr# P00000NkvXXu0mjfBra>50wEO$sbJHA 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 diff --git a/examples/moving-saw-platformer/assets/Run14.png b/examples/moving-saw-platformer/assets/Run14.png deleted file mode 100644 index 290a2cee065fdadbac61a1bd6102a93031052098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5013 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 diff --git a/examples/moving-saw-platformer/assets/Run15.png b/examples/moving-saw-platformer/assets/Run15.png deleted file mode 100644 index b8f1249e9280531acd54266f5a38a71fd11370ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4683 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 N002ovPDHLkV1mj~xp4ph diff --git a/examples/moving-saw-platformer/assets/Run16.png b/examples/moving-saw-platformer/assets/Run16.png deleted file mode 100644 index 9fa18c3ea0407a6c3bee2fbbc868e0c4e2318caa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4459 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 diff --git a/examples/moving-saw-platformer/assets/Run17.png b/examples/moving-saw-platformer/assets/Run17.png deleted file mode 100644 index 560709a8e197a56941fadf8eb334872488d3effa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4866 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 diff --git a/examples/moving-saw-platformer/assets/Run18.png b/examples/moving-saw-platformer/assets/Run18.png deleted file mode 100644 index befdb1149dcbc9c02fb4b0c34d4753acbf1cd2b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4766 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 diff --git a/examples/moving-saw-platformer/assets/Run19.png b/examples/moving-saw-platformer/assets/Run19.png deleted file mode 100644 index 6b264e7244b76ed86f06a9f5d145437516a0f73b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4555 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 diff --git a/examples/moving-saw-platformer/assets/Run20.png b/examples/moving-saw-platformer/assets/Run20.png deleted file mode 100644 index 6b264e7244b76ed86f06a9f5d145437516a0f73b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4555 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 diff --git a/examples/moving-saw-platformer/assets/Run22.png b/examples/moving-saw-platformer/assets/Run22.png deleted file mode 100644 index 97ea2b17d3d6f48cd1a8df20676a0148c8f4def9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4515 zcmV;U5nS$xP)Px`T}ebiRCr$PTYGRF)p`Hzp547KT}hT@ELoPH&>EWBf(SQfzjtL!1 z1EkQz)237UAQ?hPV3Lj#H^iBtA)(16C4mGAZNq>u=8=g@NGOSo!Q*l4#MnrdAIQOa z-Mx2rPv`s2IeYiYvZcL}LjJgG-?>-Pp562P_V@k1$2r$R;}{bGtAWed2sD5>1v47J zG=NDb8V$xY7}H=(Is_VwNrzWMV;YQUFeV)W4aTIytD!Ls#xxj{4uJ+^(&5$6me@-)X;5=be|z=1UgCZOy|9BG>_7OAEGT!?6eq1&C{FU_jv5uq_Mx z&jKt*0IrR)@8j?*`|#>*4^8{Lr|kyqx129q*Di(EmIq29tPsow#R>vNz_A5fOTe>T zc(%iz>GuX0Kuu3VB9sy6pUeo1luOwE4{ zRWv&^7+K*UYiE$PU1Wp{*K!ybVv7wMQo|BSi2xyjC`3gDD9aEsXQRL8C|+2(aawGc z@{2Bfa-H`Rq*t=pPh0$ru2e~p1M&wEm_EN$bhIPUj>C+CMR6vMHWp?4n>he zPI&MvH^CGV6+JB}$$8j~0;$79B6QwKWUkpqXG8n`XKPoeO$}&J`NmN{k zXP13$%Iukv3oZEJ4N}a=0mKw~;EFHI7!`4Z0>#Oq#VPQs=;YX?SW_5A7_HUHLaM76 z!y2O*LvB=x$`}dD42~ZK2xW-K1|nPHx${3iB{og^B3=J>walH{iD*-X1Gnv7Sa~d8|I0gg<*^lU5-czcOso3#tL8kL8S77+~0ABv! zS0`=Pq%UyhPj8daP??{y$~%;KCIXSGP{biUnc+2IhErtb5Lf~tX4vS2JqZpmMrjQJ z6JR7NV<;$LFdV^PSYmJ}l+&F>!NZ}gyRhf>|C*F-lN!8e^NkW&2M8s*L7b53NaPSG zwu79=pxMcx&247J5PK*zldBm($EsuuI8uTQH(EnL43j�Zzyf3{J%BD=T^(MSctb1}64C|+Otox1I-d*H$? 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 FV1k6Z&OHDC diff --git a/examples/moving-saw-platformer/assets/Run24.png b/examples/moving-saw-platformer/assets/Run24.png deleted file mode 100644 index 878f30167ff4f34e49dea1180110a3dd72f1dc7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4791 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 RAWi@P002ovPDHLkV1ggq22TJ0 diff --git a/examples/moving-saw-platformer/assets/Run25.png b/examples/moving-saw-platformer/assets/Run25.png deleted file mode 100644 index ef8e8545d042a549d61d2d3d3c2503b407ab23c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4922 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 diff --git a/examples/moving-saw-platformer/assets/Run26.png b/examples/moving-saw-platformer/assets/Run26.png deleted file mode 100644 index ef8e8545d042a549d61d2d3d3c2503b407ab23c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4922 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 diff --git a/examples/moving-saw-platformer/assets/Run27.png b/examples/moving-saw-platformer/assets/Run27.png deleted file mode 100644 index 6d7b7f43fcac674c2e36d5071998eaed8a91e34d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4869 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 diff --git a/examples/moving-saw-platformer/assets/Run28.png b/examples/moving-saw-platformer/assets/Run28.png deleted file mode 100644 index 6d7b7f43fcac674c2e36d5071998eaed8a91e34d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4869 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 diff --git a/examples/moving-saw-platformer/assets/Run3.png b/examples/moving-saw-platformer/assets/Run3.png deleted file mode 100644 index d5f7097ce03c611f351ac8f0b5ca61c886f86bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4976 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 diff --git a/examples/moving-saw-platformer/assets/Run5.png b/examples/moving-saw-platformer/assets/Run5.png deleted file mode 100644 index 0f39f8b9e05f2d27461547ffe5f949e22472e086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4699 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 DN9|aT diff --git a/examples/moving-saw-platformer/assets/Run8.png b/examples/moving-saw-platformer/assets/Run8.png deleted file mode 100644 index 52887d0be40dd172d78894341732dab26655d3ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 zcmV+o67ubdP)Px`$4Nv%RCr$PTnmsLRhj;}Pj}zf+?mN_LS{0VJi!gDn=B8Zb|VYX$YX^RAyyEJ zumUcurgq(0_JI~63Z+}otQf0UQC3SA1qESur67dxu*@RLq6vXiDkeH4WHNa$k<9Bp zy8CSX|2d~`-^nDCtd+i<+Iy3!JC8ea&iTLo{_lVFwa|Q|$^urZcGKJpnt-J2B4`5A z1SDk^NZEFp3~2(AG7F?^J57c(0ZEw!QnsBYLz;l3%mOLfPLm-`KvHIblx?TUkR~80 zvp~wW(_}~!kd#>;)?X#$cm3#4p2O@=f9Ntp#w zww=?GA-$iyOy+vp;I!r7iv|w8{9E(6uK)ALB1O$o=+p@s_EWmOE;M%B^%h>H7u{=%Gvri9m*+e=;L5 zRw<$H$zS1(&-`a9&z`zX&3bUT%rEK&#(Y>IU=a}Pk~AAM2wCAEYiE$PU1Wp{*K!yT zVuuYIlEqpgloCDy_+fym^ih!kWX{Im-h+5y>DtttKUEu=`{XL=brukg`OFA1tzw2^ zg=;&=*e>#R1_dX}&l%w%Ltxkho6P{4LlHX&kg5#e6Bwb7a#%$=Rsse>UFkJ2$Tj7Ji@eC9#mS*4a>xk}p5?}vL876LBqcd1c2~aC z>@a|YRaC+%s&)w94)OFKrw5c&05WgmP14Rfu&MzlZsI6Pi!+HgfswU6w1_NP-8_m; z9tDwwr`;4WsKyI&RJDH*AYs5D5G%@Ih1pV(J_1Xk>PkGj=<}(tMZ-5S=f^ilF(n5O zGw1?W{9uNt2udh0oGjX$0)G^p9J?;o42BOz!?kjdd?<#nhG>S6yDEhhj0F`2r5ySQ zWPs2HLR;dw^S{t=do*+dJ^y;O%$?hfaI{(rQw=*{GZ?HHBEvvTaa))jq#dLu%nN-2 z!w@6pEa@?~MLI$ZAuvXQ5=O%^Nf`@$@w_(Ta|IskJG;HB{>u;3EIzS-V-9(9;j;tI4!*-Ap8MHb%bhxd|5Mm33 zxa86dkQ0@o3@B294Q{lA02n2=<@z`x$1v=Vp;RgZRdSgY?7WMY&Rx?myEJ6sX`i`N zwq9`-wrG}c;m}qLp|S`?RP9a+I=mv!Sq!ZAQ-J+^Wx+quEYT$cO`w5jnjW- ziLGi@HkChYRlA~OkfJHl5Yi3>2x*8HW#-4?2)QZ(WL3`+ENJOvL9Yc3>d2cmZNkMD zUpyhfW~^R}8GrL$?EcaVIPl;v617pHi*>A8B-=lFF4wA*t0E*QIk(tt5j*JFWak73 zF@kar(h(AOin=I2sb%L!AAv$#0&w;0t2iR#XiR61=G8+(Ls+n20s8y%gv?f0(F^5?yTiy&sVI3%a>p#iCAbik>wfiY3ZrsY0R>b}E^)xhhMiS{8jj%F-t| z0mW91aB)l5QuGu$IS)}PReO-zTC`{pDixInMGtxrHNG+qdj9cJ?73%SqBcr&v7QH( zNq0t(LLcp_6d=qLp|T3<_K`*qC{)E|w`FJ0=H??nDAJ-UpL-u%;jP(|+?AKhVAJ>4 zBlGh?{P6paAd}71*}PmXHU&&(=45*IqkrgvNi*wIQovqBcr&vDuGar}7VS9wZ-; zyRu;kr5~UuODMM$?|~2iMK>2UqR6FD1V*CIiK2!?I0A!*-o`hs{1p7(jn#W2%i_A# zi9RxOrl8z+I8hrVy4dU|u9vbJlFef-i@>mIfY^4VBg7O30$Jg)sGF`JF~fjB?yV^D zoY|YQFZutCYkz=W-T(B7+J0hT|H2j6{pt0I+9=V*WhMy<_SE1@At6nJ3sk9fzr0*Ow9S})!4G| zD~Z}D(Z$GRNuL|#5fC7D5D4tDYOafP#SAl0)z?&j9U5rRU>IOHTqY5=s2J&~c#1%A zZT#}VXR!GzPpL%o1Rq{^E9O6NE!>%{cV zL-wpr1Yv+T{^b5dZItL@)R3~4WBCVkltrvC;vTVuLS$37Vk{LXQNBWMOppJl z5g^shrR0)a9RF_K!I6D$W82ziaB%&$V}c@DJk0r*WoS9C2i2hxLOaCvOTL+?jS^j~ zd(Gw2?QMk&q{%mgF-T!9EK!4O2! zu@Sn!z=k)__th6s-uq4+Frt{n+%J<25;qElnx%j;ETUT zb*QXzqKrUc;S99=VHe~`6=5h5S`wu<2eJF6#}l)43DcU^(< zu0gzY^Am~NC-DWz7+wE-nY4=@tcf(i05d`KWem@{5{3vyD(w5mgJNoA5jfh7)#~r@ zV~=Nyx(I^7G3;LXgT(EV_=4u@?D_gKDTyT<{?n*nbi))PEe3?ztvoQn z?oO5RIY2NKWfRfW`!Br}1BmMHb6}8jF#5_~4E)oE#O;&#f(DQ?KJ{nP>1qL&QVbxb zi&*EvwCjoiqh24&VM2*uw5r&mwW#(tYr4WE6?5Y8CpQBZu3*4_du6iuM--w@T1z;E zFX;aA8w<=@%N@ z^CjL~@o>W~)P^lgI8Xifh0>chMX`hvKIOjn^Ks#D&8@{46Ju5sU6FeG0apV!ztE+Z zDASLhn3i${htgKoL3#Tj41D_8hT5c|i+6qba_LShpz@o;usq$*i1b8Fr5G)!JOIG4aRfK0@6-K-+;gTrHZ>$b+1%x&<|Gz&*H*jEV z>j3=y1PTvn)lH*B2_)wwaWM4jOn+sZRz&r$W9XpeIS2+vu=nFnHrx)W5Ovx_$E_F0 zj*p$suBH6?0aSMXPG|7O@Z*w3E%0@kVj`;;AW;%nrx~>`=#H)Gz9IB~@~PB-!BP1s z45E(tr{`__s2q8Q3RfL@+ue zG0(L@rIFEJ^yA>#O$|B!@ob*>hGu?yxy=5-H12bR!&Q`b9ICrYr`>U}bh}&m)&O?$ zW=bUH#%ev37>gnRH7MqCiwQijBG`Kbdv8y6aN%Sw`osY_^Jllpnz0o}WjR1~U>Mb% zgAg=GC#C9{P=urbiEx>yAQ`!=+BChHtT(PLEC<+oYdYU7AP!iffb@RnTItR2P{yW5 zC{>=|hn!{0N{C>n3|aR1HJqPJ6tu#&iJtdl zn9&eXkKa?MvNm^YtDm&mKeA8?dcy&qTpZu#u8NPI!`Zi;cNh@6Kpz?GNw_6@vMfmqkVrcw+F{&v z5h&!c2oz>XSaV%QNQfPNi2mExTg4BaCA07DVgPvzf?OE&O+2AK=>4>EF08BzF(r%P z4ZHC6*OR^H<77Zd1dy5Eyhdiu>0~!D;UjWgQZY#Teg;HqNyHK|d&WU|>wX;i+RMEE z>31!We6KluLF}N=)&N2*$vFJA-I_t)Rn50&;%xkwU>JnhbxGC*CGfEi5`ESO<+iM> zz*{%fx_Q$+`KQvI-Nt&uMM(mL$}paGUFK_7pzrGc=YUMVXNfE>Jxk>klRe0Fk>N>C zOytEbE8wy?0Y){f;Ls@g|Gqw#nE9>c(sU1LC<2a9u8Sivl?+nNYWH=?cL66mcA{bL z+^1GanuR)M)s=6LjtMp~L<7R%Fnw-73M6;)-ds^Xd@%iU?~|DY)41%;buSG-yjjIv zz@P2Gz@6z1eNVZDocZ#tlAA{3A5>;{1!SoL(0e56zC;x25+gVdiMcC^lKl|7KU{y` zA5GPpu2iigU%Q!;FDR{e6Bn zwHrIpL(Tu`EfYs@ahAmYn0A%B7AHH^exm0&tpVZu=Im)YDU2O?l2eghQOmY(+4oX+ z{?u*gM6V=z-MpXNETg;6shb$(H1r7#RnuF=#VW?81VisuSIpq>BU^FkOX=!~oYsI) z^_Y4bVL8N}8y}nWEVCb7DeXcQ;YgX^g0?S(Im!P5STZxP+2oBc00000NkvXXu0mjf Dw~^K< diff --git a/examples/moving-saw-platformer/assets/Run9.png b/examples/moving-saw-platformer/assets/Run9.png deleted file mode 100644 index 3f2124baac54b794224028e22641f7213e504830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4716 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 Hu0mjfWdv?j diff --git a/examples/moving-saw-platformer/assets/Top arrow round button2.png b/examples/moving-saw-platformer/assets/Top arrow round button2.png deleted file mode 100644 index ff83e7288577a54bc12654f34006e629cffb0a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1349 zcmV-L1-kl)P)Mkly# z5O0ufU_bfwMlk%E2gff#KJ8ThgIw?!=|18UDd}>6&>;2cPCt_(MN!OTqIlij-hO<1 zeEfPi9OkAKrY$=*e0GL=(Z^&g7Y2)gACJe&r>CdQ^FSB+LZ9e+x7)qX3K|Av1~@gX zd=|POrFdoz(pDJBxb_Vc|7Qley1&2wjke$KzqPfSo0}i_tWn=TxVNo;Obwt1sr`?}ljT3w;7;gH#q#gM_O3Bn|^JFaLABUVj)0ny=v*7G~*@ z$oS?-qf(z;M#21U0ksPa&DWsrka(BT!8=C*&wQg7`~~sSL#pVx4PT-QB&1Q>x|Zyl zEj1;si$row!8?nqv{hLSZy_ zJqMl!M5@NMa2I_csb$*`@T4Jv4SnwaO(Gg;P7R(kL>jrSHld{FzYy>wA-Dm`r zPpQI_iXMScZEZ~Bej$A;33w7ahBRVb#R)0EP|G(-c%dQEWnBf3S(Pl{g@#yT77`%e zZ_Ndw7(kxHqX==8B*5p0t~Y>V1n9~NRZ`(ak^o`ywJdPRbd(x1Y9&K>@PH_J$c87A z5AEC1fI<~JkZ`0!&y!mFBb6gfV}TmUL#Y9zOSvj0NVhUW2NQAt$bt#;+HRb5I6p;z z)U&8|=QIMUDFb{FP}K_QrwGs)(%0NnN)4cQQ;CN4hxXcY0!V`+wQWthv5u94g` z0KtT=s$OJiX{C0g0PZZl_ko5p#N6aeykMQ^GvJyauQOq%K(blt`j zHXaw9Q+y?)&_-)sy>AkFzUI=`dS--4;ponXw9I|&N5A+9r4$cShf3}3d}4`4Xr%qZ zn2x}*gEsTN2Msq`tCL7ncfo=z{c9s=Cw6N!>NMA)F0VLnIM4l{bz3S*Z`Ex&wVC^T z=$QAGlXI_Ji%p0YpWwA((0NYkY|EdNL2Jmk3hv|p(NSz7Tmc?l@+ozQJaa;%1QeeW z@d7Cx%BI_s;zh_jmD`doJ|pJOUiVXf@S zQ2;lNO257mpqOVgLE_o2G~=jBfHIXXTtQDrq-0pk25DEGYQD2c%$M~SFMauXs0tLq z^#L^W?MvuHFf=-;Yr0V9-UpJ_ls*;U?gJH{#XYzeeKcjkCI`+H;YLJ5GSwH7j%Q|9 zS07dn5)tC?jfGa2f4@)0a6vLH(8B)lfK5+WOABnOS>pX4tWS)?FyDYJ00000NkvXX Hu0mjfWdv?j diff --git a/examples/moving-saw-platformer/assets/TopLeftButton.png b/examples/moving-saw-platformer/assets/TopLeftButton.png deleted file mode 100644 index f446b5370240ca42865d2a3fbf3c6ca21ffe920b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^MnG)9!3HFQziaLSQk(@Ik;M!Q+(IDCcB}c^xxhC4a8+Q-RtI^J#V?NM zZJ%xNYv1%liL}<@ruZ+n71no7U-0^?R_yhaM|S=euzOgx|Nj1&w{LXMji1NeK5gUX zy#nR)8FiD>s}-l8c5MI&OxTvonjvX@o7-~!d8TD=UQen|J$2(|yNR!|Ldl6M8$Z8s zx_2|<#LE&P0j(!@H-0|ulg3zIJ-<)3U5?i3!GWTt3NT{lVHwVZV89t^h zEgLrTYn~2jm?luRO?=b+_pBM5i9kDD134ht%689X&{cesqpxzlm@&%f#!qF%g=SKl z?&h)X5f&l3(~wdbIh2w^vtdGn3f8n-?px~p3N9_3}|cE>ZuH1Ph`&GD%kIJ zruN*#xwR*Xc79=BzAvVA&hG~d@z4K#k#4tMF!5;8M;W2x8~<_ic}{X+Jva5P{Cxe$ VhC7w}&4H1?;OXk;vd$@?2>_0m!wCQY diff --git a/examples/moving-saw-platformer/assets/TopLeftButton2.png b/examples/moving-saw-platformer/assets/TopLeftButton2.png deleted file mode 100644 index f446b5370240ca42865d2a3fbf3c6ca21ffe920b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^MnG)9!3HFQziaLSQk(@Ik;M!Q+(IDCcB}c^xxhC4a8+Q-RtI^J#V?NM zZJ%xNYv1%liL}<@ruZ+n71no7U-0^?R_yhaM|S=euzOgx|Nj1&w{LXMji1NeK5gUX zy#nR)8FiD>s}-l8c5MI&OxTvonjvX@o7-~!d8TD=UQen|J$2(|yNR!|Ldl6M8$Z8s zx_2|<#LE&P0j(!@H-0|ulg3zIJ-<)3U5?i3!GWTt3NT{lVHwVZV89t^h zEgLrTYn~2jm?luRO?=b+_pBM5i9kDD134ht%689X&{cesqpxzlm@&%f#!qF%g=SKl z?&h)X5f&l3(~wdbIh2w^vtdGn3f8n-?px~p3N9_3}|cE>ZuH1Ph`&GD%kIJ zruN*#xwR*Xc79=BzAvVA&hG~d@z4K#k#4tMF!5;8M;W2x8~<_ic}{X+Jva5P{Cxe$ VhC7w}&4H1?;OXk;vd$@?2>_0m!wCQY diff --git a/examples/moving-saw-platformer/assets/TopLeftCorner.png b/examples/moving-saw-platformer/assets/TopLeftCorner.png deleted file mode 100644 index ae105d8865c3378a00ebd101badfe9a2f8cc89d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(rS z#W5t}@Y{2%1sM!@4hOuqUu*uNomDiRom68I5aRYGO=(7 jD1aC*ez3G~$=c_hf1c76zj6O-pkWN2u6{1-oD!M<48Rom68I5aRYGO=(7 jD1aC*ez3G~$=c_hf1c76zj6O-pkWN2u6{1-oD!M<486!bs_09Kc#;9ZGzBw(@5L%G>CP)8Cfd$6}qcS!1ToxT!L(`VI;lhUmH#ONVSPx$G=Z{h;zf4zSu;2j z)2kKVwK882I&{wY#MdfOi0YI`HHhk+ck`IGv~1YCcY@7%km~2_TlRR@G~2g}xGE;R z>{zMz#zyVj|(Obvj-q=*R{b2X)nI|Z-ep_y+p;g%X!#j)3cloPcV|ilFYQxAK71?lcerPN( PCKx6!bs_09Kc#;9ZGzBw(@5L%G>CP)8Cfd$6}qcS!1ToxT!L(`VI;lhUmH#ONVSPx$G=Z{h;zf4zSu;2j z)2kKVwK882I&{wY#MdfOi0YI`HHhk+ck`IGv~1YCcY@7%km~2_TlRR@G~2g}xGE;R z>{zMz#zyVj|(Obvj-q=*R{b2X)nI|Z-ep_y+p;g%X!#j)3cloPcV|ilFYQxAK71?lcerPN( PCKx*55F2Mqo4_W%5OYZ^VJdfL}9Yw(^7Wbd&`xWc%YPong|3T8K1gD=^WCM*B| diff --git a/examples/moving-saw-platformer/assets/VerticalEdgeIcon2.png b/examples/moving-saw-platformer/assets/VerticalEdgeIcon2.png deleted file mode 100644 index ef14ab6c03a227318363f172ae0ceb9719dad3fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(iP z#W5t}aB_kK>*55F2Mqo4_W%5OYZ^VJdfL}9Yw(^7Wbd&`xWc%YPong|3T8K1gD=^WCM*B| From d52ff1c74adf061f6442aa27de6ccaa65f8cb0a3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 3 Jun 2023 01:35:52 +0000 Subject: [PATCH 27/33] Optimised images with calibre/image-actions --- .../moving-saw-platformer/assets/Climb.png | Bin 5633 -> 5231 bytes .../moving-saw-platformer/assets/Climb10.png | Bin 5675 -> 5227 bytes .../moving-saw-platformer/assets/Climb11.png | Bin 5543 -> 5153 bytes .../moving-saw-platformer/assets/Climb12.png | Bin 5543 -> 5153 bytes .../moving-saw-platformer/assets/Climb13.png | Bin 5510 -> 5078 bytes .../moving-saw-platformer/assets/Climb14.png | Bin 5510 -> 5078 bytes .../moving-saw-platformer/assets/Climb15.png | Bin 5562 -> 5168 bytes .../moving-saw-platformer/assets/Climb16.png | Bin 5562 -> 5168 bytes .../moving-saw-platformer/assets/Climb2.png | Bin 5633 -> 5231 bytes .../moving-saw-platformer/assets/Climb3.png | Bin 5562 -> 5168 bytes .../moving-saw-platformer/assets/Climb4.png | Bin 5562 -> 5168 bytes .../moving-saw-platformer/assets/Climb5.png | Bin 5510 -> 5078 bytes .../moving-saw-platformer/assets/Climb6.png | Bin 5510 -> 5078 bytes .../moving-saw-platformer/assets/Climb7.png | Bin 5543 -> 5153 bytes .../moving-saw-platformer/assets/Climb8.png | Bin 5543 -> 5153 bytes .../moving-saw-platformer/assets/Climb9.png | Bin 5675 -> 5227 bytes .../assets/GreenHero_Fire_1.png | Bin 9282 -> 7303 bytes .../assets/GreenHero_Fire_10.png | Bin 9918 -> 8260 bytes .../assets/GreenHero_Fire_11.png | Bin 9911 -> 8505 bytes .../assets/GreenHero_Fire_12.png | Bin 10097 -> 8601 bytes .../assets/GreenHero_Fire_13.png | Bin 10189 -> 8702 bytes .../assets/GreenHero_Fire_14.png | Bin 10189 -> 8702 bytes .../assets/GreenHero_Fire_15.png | Bin 9953 -> 8416 bytes .../assets/GreenHero_Fire_16.png | Bin 9953 -> 8416 bytes .../assets/GreenHero_Fire_17.png | Bin 9693 -> 8082 bytes .../assets/GreenHero_Fire_18.png | Bin 9693 -> 8082 bytes .../assets/GreenHero_Fire_19.png | Bin 9099 -> 6909 bytes .../assets/GreenHero_Fire_2.png | Bin 9481 -> 7585 bytes .../assets/GreenHero_Fire_20.png | Bin 9099 -> 6909 bytes .../assets/GreenHero_Fire_3.png | Bin 9493 -> 7521 bytes .../assets/GreenHero_Fire_4.png | Bin 9991 -> 7937 bytes .../assets/GreenHero_Fire_5.png | Bin 10043 -> 7994 bytes .../assets/GreenHero_Fire_6.png | Bin 10193 -> 8125 bytes .../assets/GreenHero_Fire_7.png | Bin 10187 -> 8163 bytes .../assets/GreenHero_Fire_8.png | Bin 10332 -> 8373 bytes .../assets/GreenHero_Fire_9.png | Bin 9915 -> 8260 bytes .../assets/GreenHero_Pose1.png | Bin 10172 -> 7647 bytes .../assets/GreenHero_Pose2.png | Bin 8925 -> 6428 bytes .../moving-saw-platformer/assets/Idle41.png | Bin 4684 -> 4379 bytes .../moving-saw-platformer/assets/Idle42.png | Bin 4684 -> 4379 bytes .../moving-saw-platformer/assets/Idle43.png | Bin 4684 -> 4379 bytes .../moving-saw-platformer/assets/Idle44.png | Bin 4617 -> 4358 bytes .../moving-saw-platformer/assets/Idle45.png | Bin 4617 -> 4358 bytes .../moving-saw-platformer/assets/Idle46.png | Bin 4617 -> 4358 bytes .../moving-saw-platformer/assets/Idle47.png | Bin 4761 -> 4382 bytes .../moving-saw-platformer/assets/Idle48.png | Bin 4761 -> 4382 bytes .../moving-saw-platformer/assets/Idle49.png | Bin 4757 -> 4452 bytes .../moving-saw-platformer/assets/Idle50.png | Bin 4757 -> 4452 bytes .../moving-saw-platformer/assets/Idle51.png | Bin 4736 -> 4377 bytes .../moving-saw-platformer/assets/Idle52.png | Bin 4736 -> 4377 bytes .../moving-saw-platformer/assets/Idle53.png | Bin 4719 -> 4422 bytes .../moving-saw-platformer/assets/Idle54.png | Bin 4719 -> 4422 bytes .../moving-saw-platformer/assets/Idle55.png | Bin 4754 -> 4382 bytes .../moving-saw-platformer/assets/Idle56.png | Bin 4754 -> 4382 bytes .../moving-saw-platformer/assets/Idle57.png | Bin 4754 -> 4382 bytes .../moving-saw-platformer/assets/Idle58.png | Bin 4617 -> 4358 bytes .../moving-saw-platformer/assets/Idle59.png | Bin 4617 -> 4358 bytes .../moving-saw-platformer/assets/Idle60.png | Bin 4617 -> 4358 bytes .../moving-saw-platformer/assets/Jump35.png | Bin 4883 -> 4815 bytes .../moving-saw-platformer/assets/Jump36.png | Bin 4883 -> 4815 bytes .../moving-saw-platformer/assets/Jump41.png | Bin 5091 -> 5001 bytes .../moving-saw-platformer/assets/Jump42.png | Bin 5104 -> 4955 bytes .../moving-saw-platformer/assets/Jump43.png | Bin 5080 -> 5024 bytes .../moving-saw-platformer/assets/Jump44.png | Bin 5080 -> 5024 bytes .../moving-saw-platformer/assets/Jump45.png | Bin 5127 -> 5074 bytes .../moving-saw-platformer/assets/Jump46.png | Bin 5127 -> 5074 bytes .../moving-saw-platformer/assets/Jump47.png | Bin 5109 -> 5019 bytes .../moving-saw-platformer/assets/Jump48.png | Bin 5109 -> 5019 bytes .../moving-saw-platformer/assets/Jump49.png | Bin 5109 -> 5019 bytes .../moving-saw-platformer/assets/Jump50.png | Bin 5109 -> 5019 bytes .../moving-saw-platformer/assets/Jump51.png | Bin 5109 -> 5019 bytes .../moving-saw-platformer/assets/Punch14.png | Bin 5197 -> 5003 bytes .../moving-saw-platformer/assets/Punch17.png | Bin 4888 -> 4733 bytes .../moving-saw-platformer/assets/Punch18.png | Bin 4888 -> 4733 bytes .../moving-saw-platformer/assets/Punch19.png | Bin 4888 -> 4733 bytes .../moving-saw-platformer/assets/Punch20.png | Bin 4640 -> 4568 bytes .../moving-saw-platformer/assets/Punch21.png | Bin 4640 -> 4568 bytes .../moving-saw-platformer/assets/Punch22.png | Bin 4464 -> 4292 bytes .../moving-saw-platformer/assets/Punch23.png | Bin 4389 -> 4334 bytes .../moving-saw-platformer/assets/Punch24.png | Bin 4389 -> 4334 bytes .../moving-saw-platformer/assets/Punch25.png | Bin 4389 -> 4334 bytes .../moving-saw-platformer/assets/Punch26.png | Bin 4389 -> 4334 bytes .../moving-saw-platformer/assets/Run29.png | Bin 4656 -> 4502 bytes .../moving-saw-platformer/assets/Run30.png | Bin 4431 -> 4258 bytes .../moving-saw-platformer/assets/Run31.png | Bin 4837 -> 4502 bytes .../moving-saw-platformer/assets/Run32.png | Bin 4736 -> 4503 bytes .../moving-saw-platformer/assets/Run33.png | Bin 4527 -> 4377 bytes .../moving-saw-platformer/assets/Run34.png | Bin 4527 -> 4377 bytes .../moving-saw-platformer/assets/Run35.png | Bin 4778 -> 4614 bytes .../moving-saw-platformer/assets/Run36.png | Bin 4486 -> 4241 bytes .../moving-saw-platformer/assets/Run37.png | Bin 4593 -> 4410 bytes .../moving-saw-platformer/assets/Run38.png | Bin 4761 -> 4468 bytes .../moving-saw-platformer/assets/Run39.png | Bin 4894 -> 4718 bytes .../moving-saw-platformer/assets/Run40.png | Bin 4894 -> 4718 bytes .../moving-saw-platformer/assets/Run41.png | Bin 4842 -> 4559 bytes .../moving-saw-platformer/assets/Run42.png | Bin 4842 -> 4559 bytes .../assets/Trophy_Idle.png | Bin 913 -> 561 bytes .../assets/Trophy_Pressed_1.png | Bin 881 -> 536 bytes .../assets/Trophy_Pressed_2.png | Bin 881 -> 536 bytes .../assets/Trophy_Pressed_3.png | Bin 881 -> 536 bytes .../assets/Trophy_Pressed_4.png | Bin 865 -> 537 bytes .../assets/Trophy_Pressed_5.png | Bin 913 -> 561 bytes .../assets/Trophy_Pressed_6.png | Bin 913 -> 561 bytes .../assets/Trophy_Pressed_7.png | Bin 944 -> 573 bytes .../assets/Trophy_Pressed_8.png | Bin 944 -> 573 bytes 105 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/moving-saw-platformer/assets/Climb.png b/examples/moving-saw-platformer/assets/Climb.png index b50bc3dbd58c9eb9504cc43841bab3c31a1ade1b..2239b4293b7ff20ceaac5a1c8823a506fe4f2f18 100644 GIT binary patch literal 5231 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 literal 5633 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 diff --git a/examples/moving-saw-platformer/assets/Climb10.png b/examples/moving-saw-platformer/assets/Climb10.png index 6ff747e8c8763e68225c9b0b31e83f2a84988b8f..aff2199b28a587908424c3c2e3a6d9ac4d4e73e6 100644 GIT binary patch literal 5227 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 REb;&V002ovPDHLkV1m!%ynFxv diff --git a/examples/moving-saw-platformer/assets/Climb11.png b/examples/moving-saw-platformer/assets/Climb11.png index dc873051b6bab113a1763a9b2b14d25030fc5357..852bdad7a59b313e2714aa9d81068a035fe34f44 100644 GIT binary patch literal 5153 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 diff --git a/examples/moving-saw-platformer/assets/Climb12.png b/examples/moving-saw-platformer/assets/Climb12.png index dc873051b6bab113a1763a9b2b14d25030fc5357..852bdad7a59b313e2714aa9d81068a035fe34f44 100644 GIT binary patch literal 5153 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 diff --git a/examples/moving-saw-platformer/assets/Climb13.png b/examples/moving-saw-platformer/assets/Climb13.png index 625c8c627ec07aea1eb215c36ee25927e8ef1da6..a05065828f9087a851955ff36180b36cbcf8b9bf 100644 GIT binary patch literal 5078 zcmV;{6DjP8P)Ca6lnqjDk_SoC>HD$>4J##-c(c& z5Nm9S(ZpyhNmP>fMWZpvjWLQ!Q@YsuU$gFd*FI>p2{=kEDr=_{7S6V#R`Vd*U<-^K*j2L&HwAQ;)a>azH8&R=GU z|KXK1_If@|>RV5d{Z%xzuZpJiR?&=}O*E@#3(e`Rp?Q6^w6MRPmOR`}%bxDy*i8$& zYH4a?_TQRFOMi*|d)6YDneEbGcpX}5&kh}orfekz906C>y!Ar{HYU^f-g27QS3%(& zGEZxlLoiVNp3RZvc-FzotWYXy0*GU9iPILMJ{ZGcz zxZW}f>nf$NwqlytUP_Yy#@$Mq&R|4$Zlbwe)eJ9sV)r2r8KqL@PTgUh&c)v zR~d|7*HXYQYY86X_~DSsedo6 zeef~mJUUDTPmWUYlVeo+^fCI3|PvO1GMVtM-;YypeOi# z9j^enoufc8vZPggb=~ahTBiDNEgCymqJ$L;M8HpL$e#i8zhDEzt3HN8IU5VTQ%GZ4 z0Y(vpwHH%3vm=7p0WfBFZ4p+)Gb7R&h`h(2$;7XJc8aQ=e?^;Ld`(+kd_&b7__~R| z-|*}-l|B2CfjLUqk3OX}4-Qh|{k@d%@&H9$EU=qk?~j-8#OKN4QJ^^bNP+7D62zGl zJ{(qBU=xFJjllpjE-N7X&Zm&yw@LB=J?rLCXkRIXv=vZDYXOaEQ-J8~n0j};FauyD z^zWfeo>;H}lZ}br`tmH*y=qz%tc32^xg;5wGE)huuE@R{d( zX~v}@yGa%{-^h|heLZ+`wY)xJC@05rV%j<&!0-WvEG z&)2;=N7XOSFndl@`O_0r@c5`m*J}2Zcm{SQ%ieO%#-?4!w@$M79J3pXNLXS7q@#d* zzlwKJK={pD*>N>PGAdyPvjSS}b7GZ97hV_4OhQWv`CkMC1UJOe9tuiVR{FG{(oeORQdmy%FIYsU>sjbNHImy*eruv41lyLKpJ}DH1rJ znK!?CD=mE7KtbCUllSoz@_q#rX0{zm*b}k1Trb1Y(nqW?VFxn-p5c2YfqcGzbe+`Moleg(;kb1PM!QnO1Ono(lrP`8wV_%u(3E-}|v=_?(KP zQJ*arfFzC7h6H5hO~9ydtixTv(Az{@@1C0R;&HsQVNFNvJU(Im_~k$i2{W8;bpS&0<}WX5fojr z;2)Tv=&ns{ybYA`;1eo;c0vsLp8`^+$yNntTe(~)CNt|6_0|g@$mFm9@HMhyJxy#b z7Qe%LMRo|L>nw3ehK#%>vIu6N00k(Bh>i*xd!40;nT*x~zCoNEFi{&5*{l_WKX_ovH5zD9!~ z2s=;!NUlg00GYrAVWd`_FXc%~XAdc155a_@3g7-(2j$P$p_{r5kO~Ke*Z?V)x<^1^ zrc7upA%DmgGA=fEyl2!*F55csIT0%i0V_rwTPfKUnu=I$Vw46@&}Ip~ol6#$tud_y zS`AVuU0u`)$g)snqn5zLHoP_#gy)@vjU5eWrD$!GP5k@iZ0b4eA^4k%*+U!wu|`KZ z1zt=OFM+wE+wf=G1^@XhVGoh)>T}Mnj>ob=W~jKTRl)!Th6#gbP%O;~5IxJ9(NQIZ zTY}aysbJZXD*aWXopd>?)Q#-es<8vTFEA}r%d!^s*Z`RWfN!!?RP;pK?~M zI|BoZLb?ogRA~LIwd_f8{kym@tQAwY1BB&L2V~5(T=L;!7TK1uGwrftSZ0LuuHYX+ zea=`U44_Dx{sseblL5JvOQ9|KsRdZ=}IpP!NykIBZQZxd;GWb#3f1~NW(isysrL_1&Z8qNJI7>#vFg#M z5@47yb=EkiTJO)l;p$w0QS#)tWLMZxM5h=2F}r(0kMMpCVd}%u5FaMVE~woK`YREVuG#Y>V;{OptXiq`RKt`gT*={e!Z~3t4(l zbz3*5o~z9%*_h(T3W!tknj&UKp6rDjqU8R4B7yKG^sZ2y!><$|HV*+q$K5WJwEcs% z;qG-Unb*EW^1(!l(IWyVoUsJ_qNFSE_e^0)u*Q;5jU`BbCo@Z?-`z;FJGao1o^7(R zgyvu-Pj2p`&jc8(eoTD1#0hzf=ioVLCIUeC1~RMId%Glao6}V-{sF)R5C>BSL($|! zyJv_y4%xEhsvV6+dr&yXzq(Gbp`=dj$-Div5-7POxL6wQXWdd%+GY25bWiao6E>a4`)4 z#UNdQQkyVKZa}tdUNS+GE=(L&G>mvLPby>wJBXNQTvdWeU-RH&*=t83iSJ?F_&HdG z-9h}`yzZ?cf#_jPWw}!RQ89oW<2y=e^mnQ53&_xdsj8LouM{gN0hcsCfpq<*d5K6D zgTgEs(^6o&45+8zG5U9e?E?+#kkw@W4+03~RF@9{il&A zD0kGgSu?e3vj7Y{0aApC*JB9>(&Yu+b;1gG24pHq2crYtp|UG`sbVl%ifC+SF?rU; zxHlkZ!z29_P|l}Fv1J8CONAj_K?do9!2=Zi8m;j5GBNr{%~#M~f#CxjFd(LDD|^IN zd5q_<8weoujVJ+wL7j4^!cMBJV6aSv@YK0HOnfojC`lj5dPOr2C1I zFJwJPhaoFAVAgXMwn4y|!Qjj^1V8{I1PFeO?ini0RYndV5RfT&)))rE!ixdY>GpsO zE1YWGTSt!wRlHTgz!uF@1QeF9plh0Z0TlKWRPn+Vo;YM+6L=C)SwqTDL}KM5jdhGj ziOK;PmCg$Mt#SN!!3+y$dZ>w9_Hv)U-QU9Q;psSOIywU5|3iv0driWmM!A|PY_aHU z0WdsqW10&TIIQ=OnenZ~(lVFUM_U<#R3>IE(XPJYIaJ~R5+J~vgcba^LT=_!FoO~J z+d64@4lkZIH~>MBh)o`B={g0*PR5umoPh;0FhN{A2IJ-*cngCQax+&ZG4vLL!!Z^K zz-|lTLv7eqccfaIgs`JCXY4 z*Iy0omI$yyfZ)H0j=}J<>4Osx?7pEb@BPUV@;^c z&IL8eGTCnnycVhUrBoW0HQ5A2nvR*1$%{eo+{3`=;2429vP^l*7Y2VZq{{+KW0GA< z#tM)z0G2WSm11q*jQVVa35GsA>gSSYLkxL-w2(Y^FOaXeiANX%Df`60mZK}=Rt8}U z`-{k!v5o;SI%{-*>>|YwO7g%yuln zk;WDQWywHqF|tLkVOYw<{Egs9B-=s*%AY|Q#Xx)1#|Rto`e8X!25E-1Axcbj6jmp* zVPws0X;mQQ^lX@?*zzV&jyM5DOdm3qpaG+@GGUD#jS3`xNE*M!bH{udQ8iN*0RA3+ zhSvX}17qa+D7kbLSrOz0a)cWxM{b%$Xg&_jjo`=83KW0=U(x03kiC342PNJf6hxyc zFwsZzhCDIw2#;+s@;7}?$BUQ96)>)R>+?SuICw@~8J{j%F4z6CWO%TTjHrsHVZ{sz zXFS6SBFUq6u3`ub9(9Ucy`mZY@mO1xZzo@D_#$6P{CvDHVOY^r`Y>aXuu&wEK?kVn za?x~Qh<=~?pa4VeuV~Mgs}$A6*lT3MFe%8auwq9rJFt3(Nk1j%8?-c z=abzV6n~y5i{b1O>-~q=*5#j}x8;3siD4I zES5$xqa0uVU(YN=g!)ZA-um)Fg*j@NmKv0Rl zumA12Yk|7a)OrMy!+T(c!srJD5T4s()IEioX*vzu3*MCd-X;W@oH~dzdjLDEivlN+ za*FQ%lN)bZp&AxLZ+i5~vkC42ipZ39 zP}$qV{xx8f&pX~)wM(~K^QRdN>{SchM8`7uMcjP=gRHasU7T07*qoM6N<$g0jPq+W-In literal 5510 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 diff --git a/examples/moving-saw-platformer/assets/Climb14.png b/examples/moving-saw-platformer/assets/Climb14.png index 625c8c627ec07aea1eb215c36ee25927e8ef1da6..a05065828f9087a851955ff36180b36cbcf8b9bf 100644 GIT binary patch literal 5078 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 literal 5510 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 diff --git a/examples/moving-saw-platformer/assets/Climb15.png b/examples/moving-saw-platformer/assets/Climb15.png index 8df68d707514809d224290b49f83c6f1127d35de..f85b26721f5e5afc93389c7bcea65673340f5792 100644 GIT binary patch literal 5168 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 IM6N<$g71oVVgLXD diff --git a/examples/moving-saw-platformer/assets/Climb16.png b/examples/moving-saw-platformer/assets/Climb16.png index 8df68d707514809d224290b49f83c6f1127d35de..f85b26721f5e5afc93389c7bcea65673340f5792 100644 GIT binary patch literal 5168 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 IM6N<$g71oVVgLXD diff --git a/examples/moving-saw-platformer/assets/Climb2.png b/examples/moving-saw-platformer/assets/Climb2.png index b50bc3dbd58c9eb9504cc43841bab3c31a1ade1b..2239b4293b7ff20ceaac5a1c8823a506fe4f2f18 100644 GIT binary patch literal 5231 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 literal 5633 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 diff --git a/examples/moving-saw-platformer/assets/Climb3.png b/examples/moving-saw-platformer/assets/Climb3.png index 8df68d707514809d224290b49f83c6f1127d35de..f85b26721f5e5afc93389c7bcea65673340f5792 100644 GIT binary patch literal 5168 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 IM6N<$g71oVVgLXD diff --git a/examples/moving-saw-platformer/assets/Climb4.png b/examples/moving-saw-platformer/assets/Climb4.png index 8df68d707514809d224290b49f83c6f1127d35de..f85b26721f5e5afc93389c7bcea65673340f5792 100644 GIT binary patch literal 5168 zcmV-06wm94P)k7RCwC$T?boK*B12`yr&|<(93|>5D?VFLIf4Dq9`CDy%)s> zqG0bamT2rTYBc8QGqJ=(MFl|w5qtkN`|Y*Qy)$ zlVdk#NML=ISWtbo3CQOh0l#G^X6RttVlbF7f!8xB@b^U&z-G?UXB^@)8Vt+;80<>` zRKS&m0*X0HpK$~?=WAf(*ul8Eko+&DlmEpu3b>s9L4f#ennEGR=hLuD*%VPk69ipo%88ucG*lH8kbPTAKP|gIHWkHANl&-x%m~ zEQ!1i&Lr={GkXWfh^EAEu+I=Mep$dEq>%5~dE|R4nS6gt?(&Pe<;9To*9;o=u$+ds zl~Z_gDMdCh3z`?xsC!H3iHvjF$fU5EGr65%S*A_7|(#h|9D*2va zFn*XrKF4O0&+(-9zNG)jc{HS>jE1z7&=6+E@Vg~60$?;%Fc_8eWy>;(ZLJa@07BBk zjWqAk7D|1*jnW_QpoLF%Qu>n}ayyM5o6o;Xezuj8-fp9q)46{-sor}MDVRSu782O4 z2PD?^BJ$ik$$3HXIXYV+tiV5*9hVo1OaTm^6LZM>$Sgv#=zYj81#Y>~6mqwK!dicmnklh)5L33rT_!4G^#$GV8qA`Qcdt2qG#taKE4C z3p4Pz*SFKjYj+}f@oL0#J?mm=PdVGdm)i$^{Ha)a14`EJquK z0eR2%Q0a^BXz|O#wDi?cTK@VNt$2OhW_S$0133B5_tK&#UsDP*X3mq%H2d`y8n$!p zdz0&PaF&Vy*|3l#SJGL6Xt6QZc>(b~olJpDduXrtjZ<@l834nwYbtqeokU*zGvLAk z3TY{%kj8upZOCVK6xi4i!BQ2|yhOlAc(8_&A8n>AW&|d=^3@Sq`TBcW_2vhvd3%yp zv#oi1N`BV7IZ0KoPY6hhUmg;+DGUkr(#|3!A>?8M?OY1Na6b( zWe9!_@*2RQIr1bWU7BpQr#F0a)5J_PI!HjZV?O?@fW`GXF+INmt_fCNVrc}RSmb^MfN~73!e8u5yQpZM-n@XNk z$P`xp+P4704u;WmVCoFgwVZ*3)Isv*KibM5ujRj8Em0e6e0vp*X;>^1J#c-TEEs%l zk*=#5cG+rB(Ux-p^21#5AHMt(A+E3kQpFKhP-Bi=mkkU7Ado9WR%1B%o5Yfm!V?Im z40d3Gb(!i43?nE;=~65?Oa;%s<=kXDO>bW(xy)#O56B|kYwVM13fVTD`euX+qkT9c zM3^hS1hQrDBNq05&KLG_2niilay3noD#(`T@vUrav#K*71rl9FX>tXfhwfu_!ynXk zAyt2cC3r2uVB{$o9R4Dk2SWe`q%pdAF~zi0QgmY(S!!a*vTvFsuBa%Wx&Y^{`w=9K zmanIfQ~D5uyFN!|+vExo5U7>lji49-8P0%Uf*>W+Sz0om?vi|BmB`hfgVC*Qv2!ou zXbZu?oQ_SBU;>cH=5jGCg6P&t3cIj~Ja;e1hJcv&)=IN2d0Zd z#~1V5!C!Dcv*Sh<1>R6uuq0i#>@2YX!VW#=-eSo;AT5}{C9iZqPXG6Su;i6-w3YpI zw?tZS>Z3J45YZv$iM&@%5zS@fvwsG8fhFuqu&5;3!smtGyPGSO2j{D0RenK!=TgLf zAm>0X5(q$$0UJSKmIU9%0U#j)2qdf2CRvFO>cod&WmmBuScBZ-oeoORfB+0*KC(afQU7h z((uL-mROc8mR%%@2u@VjjPfD=7t)-QA;`)Bh~y*ygSFQVN~T(M^(yMJGE2f5ILc~L zQ5N<*Fllp8GI_d396Q2SBzs2b>MB!LzQfKAgv@w-Ap;A>&FmDIEN`Ctd+D(~4|m4`e;9#YMKR5}8} z?9>4XI-4puuckYcUul*|8LOd@9P_EdeE9g1{a+3k!?0pbR77B}y zkZ8`-$F;1W1ePsqGUc%Lqe!TOVk|D!zO@5^k_iA)%urw;D1hu`a)6NBv4s-aYdMNr zsfE225@87-jXEG@WWBhM0WmmsUO+*&vz&h`*K7Awj`SNB*SCtJ6ASsSGjL@fvn?i4ueg@7d}zhkR*f$R|O7GF@-#pV=pjb(ga2Lg=3a{)&B<9_>c_;xN5F6!kD+dr%RU29 z6@bKk3KC5O3J9s;&`~zg0SPxmTF8Y$84v^{@PBT_F}@9(7=im4x3Rb0T|f-0JvZW zt5)2G)#MEkI}I*+B6>ZEI9e`Eh{O$wMHaNda*bxmOd;7NH^R^xC|f?+G;6|pATjr*&NM(Bf1B6peYY6 zNS3;|-rE7$FC#*-TWtCWD3C8*x_+@sSCB{-19DSETww-KM%*ovNmRXA%VmP&T33k- zfi(a~H{1s!@O$Jk@EPdmLT&@8>dJSBR5cdUV1CcAmZIL@j_R*HUCU#}Htk6oLAX&K8vAjXotnmoIjz zB43g)<}xt(5`7KkRScbnyo75~7AdSzJAbnK2LQC&cs$AmgxzO|L@~gS#IV~16k4Av zJ`7a@&kZhcWmn&MLxmYWM`o$MUL!CLY++C|wgmkKN3Ylt!V?z4&K@#`Tm}9Gs~R#h zw1EL?C|0G9#!>+Z{vks9X{=QN1d%5O0{#N52w_$Pqu6;x)z|vC%D~<_O7hr6^nMQ* zO~!QJg1)F<(IyOARk2!KNC^JGF{VYe70gv-3zhcHk>?-U78Hp6{>T%7i8 z4G8`lR@Bls!jqyWx@7pXxC|iuGDeU$gMfmg-faCIFsF@-Nwou`F-D|}!4ZHUX$A|q zo}-LG3%!}EtX?y|EkL3~17HCJSb=>S{Q@EmD*ER~xz+_g(qzqvqS&|7rM*;L6vMzA zH3HKGV<2VlF_0Gc83D*>nU42)!X;{h$?r7d*9j1pwF`)lq_ROi`?%Wp=iI^Mg&yB; zrph*`>?krg0t{Gln87)!t{r)wF`Dz&!9i2>CAIMts9C_DTDoEcfIwo3IvW}p`0>7J z;jVc(+`!cn6d*ejq?tf&@6nh8IXkEWGfQL4T$}TE$YJyn4D6!O7HF2%z2P6jdoXz(o_|ig4)W;I zVEkjoAnAga%MxH))#V9BV9+TqQJL;zx(b(n)clNIBRe%1^4J_t9vkDylYa^@U<|WIq)hiQdQ^7U5g7E}+A@C)99`CgLAw29Fzt5& zB(tM$@=(_W1XmwnLct36s&O=+d^8QLnIM3m5!+)^yz~GIFks8huGlie9+9Cb+6c@k z4ICYy9t_gumKW*5V5}G?juev#X&SgDme7^bKX0U5CMJNuHpX>givg5<-LS<07y~$` zI)NlW&6A(Vf!vpjaZNznile2~2ZdRStzsyJmX{?$s zarp6FJNs@yF|g&t9AzgpAo#XryYgKFSI5fV#B(j*B)S$TK1XIsgPDGsgX|pgszsKL zNDGtWUiqakq+fO<^<5Y)w*eL|j6r@N;jo^s7#+RAr`SL_p5y?EG<&me8nEOGaw}t> zRXtwrOGhO?2c0i21&9ax3OUi?mOAeQyMuDwA!=HC)rCCbPnLZt6V|^Vn*B-?^)HOJ zO%#5Ii)7GiD~vD}C>aFrBZ#`@C=dV!KW5pLNbWrO@KOD8BBhN-BD-}Hg>9;ldY%B{ za(RdxRiPb1Bgbq&x^Sw)Q4JJkf=As~9C?iw$r@16v$F-0@ceRv)!y#^6ex!!iXH>Yez0XSGY7aan|RWfabZbe$ZeW;}o40>inB+8J6n=8sn? zfI)@#W4|vPxgMnnGjQGG8FeA2bl)4!GJ&kRmLIvBXFu*wGja6S)pa5Whd;&pBFaL! zA9)J=7Nk--?>nFN)0|IUI}%(66iAbPdP7&Il;ZZMcwZbvizo^;EPYo{e3}6a{pwoF zJ{QVKq^a6?LTM*MXzX77X|7DtH>0H6{)XcTKQ=&IMY7yieupru8z^M;hIaZFw!)ew%fnmG4_4=o2!9gNwJFK9G_eb%wR|6u<_$y!- zWb2cJ-5fATKykb0_t%d=hphEFFmMT*E%*3~Cg+Ik`1l9A;HV{u^8V^)VR=QEjuK1n zVaJ1_9_0ZOB$I^OIF1!3%dw8*#DtIiS#UjLPXR@j#*7N-D3(1Mrw0QiijYSo;;8kr zZ-aT&;eHUy0w!G|pI=l?;B$&I^;5~8?8}SqX!t-t?r8tX!POGR&ytk(B%NSRqxu&b zV$4*vi1O8aS1UYz7C>4Hltk)`ZBh~m)=E7K6=Px~bV)=(RCr$PU3rvbRek>6THRH>%uM$*Gd(>E44cR~N)9<}A}9f5M;IU+WQl;1 zKa5624~9ffG@cVpj7wrz1Q$RNH7ZI3g66OrOfZKGVV#{>dzN0Sx~krLH|P7^d#hg8 zbk8)y>*_w4F3y`*UDf^GefPWHZ~t8!%)MsS3^=oDG;@Q&93Zo75zGNH2god&fmt@3 zIfl#uGRtOQmJMf)A#;GtvKg3V!lC<`^;u$Sj+ISvH(GhRgvn%VuDf z4QIv}()-nO)s~O_>x|uhmf=tvPSYo3$v>U1!o%jn2|XD^w4;QLSN^c+Z2R%bp{PF|JZ3_Vd0M7!3IS9-8bMKi0q**KFuwP%N;5q=-<=oh1?2*p zZ~Dcw&D*qHxN#M%eByegDzOHl8bejhIU+zx9(2>yKiO+MUDyAint%RLXz80LtKX?6 z@RS4B@!&a*0N^`b?GQj54GawhUeNJeAn=g53WFQ^@%Xu4o$_-pz2{PuTe(2%J4aiE z(e{xy#pXA|yeSXt&0Mtcce_7zs+xE4(TGPX8VCYIP%1INGeL12ym7pL-3zyXNkF zKL3(`I7hXd&<9nl%J{5+r*Sg!=o)Oh^|8$7FY^md1YF-87pd^bE~rwZ!Kg$?${G+6 z0|dl%u=!85DCqj&@oK@f$HAlXSWaY}3mXUo+2DEz354sT#SPKwhRC^r{7km+cL;`k zID!%>0urN=M5w3;N$6m-Si~!LKaO>`Ju%@t&=BDQ;@HRx0fmh7T~xOWW8)t`koo*& ze!+yof*bk>m(NGg z+b-hCp<0oNB`X}6?7;ES;spXko8O8yuT|cY9sEx8hG7Q(lFVR0Kmb9Es$mCNQckLJ z@Ux`gPktGo8asFE-hV zSn=Rh3cjmF)>svZoGmDkJY>t;d*IJ+6$P&sp;p*DQ$z)hhnyRt;I*K`Z$(E?K*7t2 z$l`Zok>*AHkpvK^6d+n;jU|>f&N9tl|*#lQ7Q5`g?DLx4b*}~6q z9!f84#}*@I4}=X9{Y_HBXm}d!gQ}WBkCIq`ARwirVt|PdC6R#Uwue}A-?MoAi;u{a zmVWmVWx*f-^4_w05l(J}L{7+Dlq3IxP5q!^bm8joQtDWgoWrL?7o z77zda&cBg)>AUSh<+KKHaxR>lFJe`gA_`tl|JwI_JJUJL^kS2(kiI)FQe;3(Kt`)# zMiLAsAE5Oei^T`2O{ifAnITG?qRI)7_j3Zof}kB8ULLJpDBla4kLmEVztkPorr;nnDWaTD53KTH_m zwgv_iUqqMHBgH2+VCyaamf1XJcA%NQNqKJ920_W}&5qR^zmg z%mh} zR!~i8WSJI z0?atr$Q!#bux>k;RCDto+`JE`HH4efdW7b1b^QP~P7v}rPzB!+IIK_bQ6%EfL51)(9|7o=1zqnR*#Iu)FWdU zj*A$m5|EPi;FU4EX+_Yom5#1j< zN###iigeer=5d+=h}iV^ zu2S)?qQtMlBf7NrYgl1HArOv)&$SN{P@xkPqeH0BDY6QFi+JXBku|a4vVd^a^JN2! zRP3C5&5$%8WC#sp6CH6~REA5~^WtVOpy;**8WftsMvoAXv6pvZ>&JhU$y{b~k*UZ_ z#qz;h9&iX53$v2{h6T2Oq)LEsV)eUKGY=wt}3EGm2EKWO%*EQ5xjh)@*K z!~Y0OES8q`)~)GF9YS!Z?5Wr_d>R#oPImv#CMZW~U1C`xK8cHH+bA|%c7JB`nAwH) z2g;%^o~bB*NqK)!8<%TMTuIQ**!AM6GsnU3x@XK@*GFDLCIxW}+kI{JN~oR2ud%io z#~>3c=B{xLO_0$#hXjEp?@&|{D~mu;WJ!wI%nWtKz$;rN$>mdQwS{n~;By|_&K3+l zup0eeek!wh%a){m-!iFn|)8i52BX=#~Q zRt=Dx-_3mfGQZ%yKWOvZPOtX(HkaH7$=NpC8!ury_A$iOcfbANh-n`vd4l^Gs#^C zW4lK%{MvSSZ8^9dA-wK9)}5I>7)EXFZ(V2i{UMAE8Sh-gei{%Xvb171rmxW>HWxy@ z(aNNhmy@&25^6v+DAqU8%G`)50}3bHT3A%-1jGgxX$n(Z)c`R|mAZubW9ZfG@Ct#L z>m!e?!LDyUH!X{KS}r;ngbQx`1J!=k5vIz7R#loMCJAKq3B{IFkC?P=EkPBE{*bgS zSt9v#onMzsddgW$TUJ(oNRmoI@Hz}{MHNHv3_#jIq?Z8G z?RV2QZ_{?+$v|0t|K&>LbIKW{n34dV@qV@F(m!kEo&qK1z0>ry1rAn^)N4(&VsBLF zWP;??C1a>lx@3;9!|0rv1~S%Gd9aA$=G`bhw;6lxetuf#Y+5fq5h%T1J6DO>%UY~) zBFhwBdq!l*nYzRP(f|q_Mn-~Zh1Ert_Vle8T=PFn=$#WUIT4dv7pn?X^jfq@kY3LE z#m@*+Wu%CK2VcU@+oz8iDc2`E9Wj+F_1to*YB{b~GKJdgHI^1lUc(AHk7S9M!Nvr( zMQ~bq>pTf9EU7d}mHsrww{*CK)|M@F(3Y0AxU{0@cN4KgJ`Y^%dH5A<{rqp5vUr{wM zXu(vgP}E@P?4dS&wbNPm)a%OH>J$-C77WLJZ#;YRT@=Si9EI1<$iCcXGHEg+fb`w{ zex(D84W_SvkOoBqBTC+!1q#Nn7^2s);TkY>4s}X*{9}y+#yE{NFw&Nl6yhrhw@Pdv%D>q;yk3$8_*9i47Q04COgu=5G6J^E$g`gdy`*yydN_MMRbb z#42_w`Lq}_6@0A{~Cv;!r~KmM!Tg)u_|~v1TuI z1{p#yXr1jYVbh=dw5fB{)SHdBw%(!gEY%!~_7+>?Okv9yBeD#GbOoW&IW}^fxje3V}r^LcPJRF7~SEgLPO#Kl@+o{?_z5f{nUl#sJ|!dcSgxlA<$h7EPc} z>Po&=fo>U76LqGvGu19&E?6s;v)9+`(I3~6P$sg={tsy;qQgq3aI}I=*N!j1o{FFK zR)1$k0qMNtZL09zl~M^`&mNj;bB@e7hT0d=irz+pMd_y8@a=1}f_Yu=SG<&&b@&$W0q(Wbv2IQo7I3W)a8dO004hc34Gk zfk|6wX|ZLC==Sr3Vi5~NbV`{m5}U5syS47EilV9h{fq3HW)o3o8VhL+?)oUN7fQTtGaeOb+f`zGqFcF^*>RWYHbSXr%cDW z_?|wCKyAy2%87%xBQ+qX|xoh zsUg)nAt-5UtHux``oI?lH$8ap0dm;mA5_w?Q(^~IH3f-sD4_BoBQ1>8KC3z)Xy46_9H(BYyiVyC_ zAl6eYCtuGt){E{^p1bLowQbA{X3~J5sALPBC-u6au551)g_Y|s$hK$j%>vU@Ko0qf z(^UI;M0X*nk^OStdgcs(=rW)Gdvf&@Ayv{Yxl=bR>9&nQT{fbl{Nwd zD>i1@_(-A<4^I4X6H91SGM!7J5Gg5J9Rr68#CKmWhWq1V)TFMNdd9z!^bPxzQgz6 zhHP>6rTIo$3ksnrq7DRP8Wn5a^{u8Z)EQOkhdy$RVkDJ8Jc+DwdyR6eMHImhhUhH- zsqA-r;qkXTIh~guD+w{_)?#Zjfis2Q!W6Qk)tAp%=9&ywvHpSs-#O^bim4d|Wa(WO ztMI69z446MJ4-gAG23m(IZ6<18^*R~>AD5~aKOLqE@SY~3F{N$SBQa%=%H z&79KeOrUHgvc<=mlkd#*{!;~KMsB+D@#~dMfsx+rC-6{uW)rr2TJPx4%vaNI$cJ0@gUeK~q(kqMm42CBN+~whzBk()5_p?M ze|?4uR?O2SMr_<9FlJ*JyY-SdqJfLz^INd>qs{k8W(1H!AG%sO^egNRr437vv8BPE zzl8q3&8{=a-eUPruVi(cSXyjJ)4MW^p9X?;P>8IBpE+H1o__=qZdztir4xw*>Hpq1 zh>cfeFSeH5yGpqWTD2}oZMT#j2Q9GIPyBzb)O&6|MRiT{GuY^-$A9*5S|GsKnXZ9~frj6kD%PgQc_do>eO7 zYu6dVeLTJ0u#CRYy0f!i7?T0i6hM~$_zLAOYS+HU6koEB$dl`__0!pH>>>um{g>G!Hf&c&j07*qo IM6N<$g71oVVgLXD diff --git a/examples/moving-saw-platformer/assets/Climb5.png b/examples/moving-saw-platformer/assets/Climb5.png index 625c8c627ec07aea1eb215c36ee25927e8ef1da6..a05065828f9087a851955ff36180b36cbcf8b9bf 100644 GIT binary patch literal 5078 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 literal 5510 zcmV;16?y83P)Px~KuJVFRCr$PTziyVReAr;^Ul3@o=He1WHL!6(F(e{v|3Qo8l_NFq$!3+u!0aC zbwHgqZgbXuzPm+1w*Ewf* z{l0JSbI-jqH<=0N-nrDdti!#TxwFqc-*5lE_udvQzuHOyR$I+xc`~#NNSiH!Wk8kz zX)_75*>si}vJ6O@NubT9v&@iXK-x?KZ8n`{hAacpW)f(#=`1s38IU%UK$}fxnIX%7 zw3!6jY&y#fSq7xdB+zElS!T#GAZ;drHk;0pFl6nYT&lcHy;K>Uq(dKlVoB!EW;n#t zX{j(aJ${37`m&^=h$x82a%>{UqS6cF^z!u&wsbCw0c692*C{*a@mwoolQeqM!%drO z(*~}8;K6&ZR^G;5QpKS9D@CLtMRu1@QxEN>qks0)qULk%M}JY}wyY+9MV{Q8Pmb@B zr7W^SMO2EYa%zSO!{hYA$G*C#am@tR-1Sb?_3qd5oH0+l?5sz{XOGb6jbA>iG0(IR znlk8oH{G)5*HtuAt^*??Qi_>UIXJZ-mJI&IIm#l3Y_ctz z99*_dj^mK+Iz(hqWvW0E&mW>^Zv2M@Kl7GnKBS__(wxV!GA<2o{lbFBITHxU-#2B@ z`U&*^`DH4pT-lWkdKl@-|$LHr_k4T5Jm zig%+XYjALtNhQc6E#$hM9>-l z*RmM^T)yp*Z@c7ME;Gk~WF@2-QAA-BQRG+@W-J=tcZj}y`KRWU!TNizQr@}UL?Kp< zRRfCU3ZqAMK9IWnQXg<$KpwbO`Td=w0Qi+Dn}ueRlsa1Spf|{`hD7a zXRS>b_`-JOzh)&nA3TI+8b6;Na^J;&pSt`~A8sK~X6BCtYV0HYGhzoCx8h+h8SL)Mz#eTV9~@;p+r6_zBxut}JK3j&AW zvrdLO-45zNtrYD>5QW-$`=;>=dAIoIu zYd0!pwPRI5(b9xrpZ@n3>BwD;?a>@X2TCe}D6SYr{i3l?AsM4DlSY9Id)AKN$AW$vJlK zY*^89w|Db*ZdFmCLR1bZ0vG_NWZnaEdOFA*=;8H@z)qYRumkD}o|MhTI%9(wS?cxj z)a!Oqr<-NQFf(9h%<9#jwEu=shk3$kD+&q12OzUyiDtqg0|TZ2FnkkH`Ths?P+_e{ z{y?v&E6*m|bE+({EoSvgSNv0|i#pZ8=Jl|&`^c=&Ktzaq@flIOZIQou1@TG*Alk)b zRYE>%#J7X(_w+8gCfmFMXE%hu+y^m zdxu{h)%Mhi2|uYAfNz{LWLic*}-n5wj3t1W>*(pl>h=S3hK%L(&=OwBom3x$Bxsn1fCVt zmH<+qiC~u17mPbza3;XslZTH{X{N|(j6v}owjY{GRNi}(Mt|cgsmU?5ff}ulwRc~p za&KKn;be)T0>CKqdo)`iZ=jo;l{scdJt!vj;NZ{pH~{Q+bF|X!re433I-L$S=4S&) zq$05+VVP#4B26+NGYkx36xbVKszv2eiB63jC&V3ghp>bJu`Pao)iGq_gV!o6pV44c z7zkXjv>8Og#&cl@M!Xm{(3a$?U^|c&0YexNzncwu-WBial>h=e0#*n^W@s{)W!oZZ zOB@Rbeq!u6Rmx>T*1*oVM83`JhWg$At}ms!s8b!R5lawYg{O+FrWlavGC93j@&>vj z!3YhYBVjOwLqS_&56(|9ARgO|l`!ajCr9XD&%yw~nwJ2Py{&{{p9xEBLkvU2+k$Zy z(I6>Vn3|>OBPYqp`(%M7zQbww(sPJI{xww@raD+7KsG-10foprnyE4b#vFAJF&#_? z4T{A=ux&{qn#df0AP9sF>G4Em0Vw3R#D2_gMe1E&cv?_d@U)8TX;m2lrWp6vs4WZ~ z1|dzpe2iURE9As$^~cZb+v>cnB2yP->-t>Gt3egLoh^i0=qO~Kk%*-d0+@!Pb3oA z?d6n7hNJUtFHhZWR_Cvhncex|knAF0F>we~65@-J5*q?QVA#PHu_5@T0LcWlEt)wt zLB&%uWaoWy`Z{RpvFGXdC%>Dz{8AsV(aIS3{B{L_N0UXed$JOHz?)(BQiB3^Xd}*&6(K_bA0!@GcLBoCk5OI5Ta2U9b`*qrYnzASRnyVIM`EbuGlC;30HLFd~;#VpUa$%2W;mHuf_U#*oKJO660=@>!4Xd z7yzMjEyT{~qLeTM?k|kL)YBzh&o+rm_O-TyQ}A3h3^;XCh)R-NR22>i0SI%7U1WLT z6Ab$Fp%XOu_zN^~Z*$ne_9|^1c&73C|M(K+4fe1vZwzLYC8Dwf5CEi`7*KdJEV0DM zn<`<4<4YZ#FBGw$x{M2q0+pz%IQ^~-I&xXCA&Ayt$SYhE2{|Kd;*}T>cxEc3i64&A z!4LmiQ)SlF!5e`y_`tPN_|Z8m5xxLmo3w;xig;T9MBbB30T^5qRuj*(@Xq%4O9Dv$-IpqVXoWNo7*LGu z06X}z*bt+>xRZoienc&q2p;Y*z!1YOWnPZ-W0rs+NC-r6Kqy8XAV_^3aS04QKx2oO z-CnJ(z%GYqX5ToybVK@GCiTEA2_Sv9yhU}tYYRoCpf>&hI2sUEU9n9`s4m@a1#kd@ z*bi;^wfigSlxpN2ds(Jxh}wE2^>ucGHCO_M*c`SU_zYX(Sv2|d0UG^CbJf+7*buWK zHau{x0w8fv7~2g2#df50$}C}EgdrxSg2I(_pa^T~y)0wYbtuBCK1|pWiAR_>3;+wB zfr*nX0!SE9l(FdKqtDTiyVGxsYYT>866<$gsi2lj&l3lPCQ{ex3-*M)t%N;c`@kSb zc~_d|q~@ONRy6r7=>yWSNW#Di0E!}X!rVTnZSqQ;=UOeC+}VI(GFVe3j`+=eT4da#JS z7hQ#nQz|<1C`wBM6oY|o%8-GOxTJ2c znKW49bZ4aD+6cBrg&BqzfW!?JHJ0ePH8qunPo>wMZg3Gi@IQ9L1PG`xuoaF5ew|HppGG(^Rv)0zU7QC&5Fz^3Rzm#M9oI!m(g z;Y>@9)540dk7fER&(n!7{m+^HVj=Qf^mmrzrj2IVcl{ex<_)W5e@H`Hl88_0s*Tm| z6>YgSMdmW4?yz3(L|B^ zXVKlko~a4^>ebYIMm^C^6n8?_sINMoShDmS*#}3b*^oOu8FJTj(#$tsq7%FSyXEp} z`3>vASoK>Ms{GcCR5?0B(J8FZB1ID=4hr2BIiidshYJ{koha{0JW|^vQFWcG`#557 z%*{=p=-S+$i(FMWRpjTb{nH+Jrq_k&T~IB?d$KfXlq61Pu}Hsyz1s!wcf= z0NTdH!jDrfRgbIcK36;Iv866JJjI8|;2uzo=+i~Ez}DL&`lP)(Xpe+ z_#0)O!lxJa?w5O(;M)!iTi#u z@4XitXq@2>mIRRgk6)rX-#Nr9RS-#n0w83ERm_lb$V`}hW{f5udF~a>x##NhmAf*} z;0YjFT|sSiK~;I|NO0$iegVAV4-V7V?T@~qdoKjMrr)5^BsPEhX2k~yRNDjDi1TjU zqTY+B-%$%G?ma@|f0a(6Z{_V5D5opKn{SvM00Krl@5zQ7>zQ)j8!0 z!7sh<@PTFn-Ets}d4VbV3={>s0+oh+e#0l|@b7&s)y32Q@kX04Z&?3AZ9<R#y&{ew_Xh8jWPNWPo5oL*Lvbg@|gadJS6;FQmOOKPiY+zjKkwUpOe8 zEe4E)?Z9_isjik(W#Q)QKDS+Uyx|t|(#P zJ>BCoPNzwhlp&bdmha*ml*GZ9iP-{>!k$q&c*o;Sndh26yjbNfS}#GSN$n@^v1VM3YeueWd?w^#?%Q?@8NB}*F4=Nms1LzxG|6V_@S(5YsL<3f--&Vc^Fg2p z)!J-tt7TL)4>UKyLFk)7#wf1Gp2+f?_C*Gn439N~9{Wp0kt zXvY5Z*vn3fY6}@>@E@;I{^mYDW@9n0W}K6|Zuk3C$EIE#2i2aZcv_W`ajEo^V>G(! zReq2%8}O%Z(*}G#KQ}1`5V!grPF?I7qp=iAt3yxTl-P)#03(t3j($>4g(?G6951J diff --git a/examples/moving-saw-platformer/assets/Climb6.png b/examples/moving-saw-platformer/assets/Climb6.png index 625c8c627ec07aea1eb215c36ee25927e8ef1da6..a05065828f9087a851955ff36180b36cbcf8b9bf 100644 GIT binary patch literal 5078 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 literal 5510 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 diff --git a/examples/moving-saw-platformer/assets/Climb7.png b/examples/moving-saw-platformer/assets/Climb7.png index dc873051b6bab113a1763a9b2b14d25030fc5357..852bdad7a59b313e2714aa9d81068a035fe34f44 100644 GIT binary patch literal 5153 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 diff --git a/examples/moving-saw-platformer/assets/Climb8.png b/examples/moving-saw-platformer/assets/Climb8.png index dc873051b6bab113a1763a9b2b14d25030fc5357..852bdad7a59b313e2714aa9d81068a035fe34f44 100644 GIT binary patch literal 5153 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 diff --git a/examples/moving-saw-platformer/assets/Climb9.png b/examples/moving-saw-platformer/assets/Climb9.png index 6ff747e8c8763e68225c9b0b31e83f2a84988b8f..aff2199b28a587908424c3c2e3a6d9ac4d4e73e6 100644 GIT binary patch literal 5227 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 REb;&V002ovPDHLkV1m!%ynFxv diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_1.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_1.png index 72366ef374054d3683de66d4da521faae08b038a..7f75b347638f1b41ca8956bdde984a4a85969619 100644 GIT binary patch literal 7303 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 literal 9282 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_10.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_10.png index ed5089ac64bc36a3e189548171a35ccba43948b4..99a46d2f3b23401387f09e73336160db1de1eba7 100644 GIT binary patch literal 8260 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 czg-8>Kg61c2LJ#7 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_11.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_11.png index 620b79bcace93a1d23c1198a27f340f53253157f..e9e7409c352758edaf0485d91f211743ca785d97 100644 GIT binary patch literal 8505 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_12.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_12.png index d1b0b7733204c12e89cee27bb2f51b4bd6ab0f78..09940e39b13516ce9f8f4053a047cfdf6261defd 100644 GIT binary patch literal 8601 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 literal 10097 zcmch72UwHY)^1RGk)j|VB_bd_g@g{$JJJO~z%(FIf+X}_q!$tC(oyLh1*C{{1q3Nl zlqQ0p(ggv58^#&Wob#Xg=iK|>d&86D`}SUYm3O^s?M;$MgR2^J)a=v%0Dw+QQ`Lz0 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 Mrmy-y`FhxY0cmTlApigX diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_14.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_14.png index 425e4a1d20e589a62b3e74e2594abfb5bb4bee71..28e98fb2cb1a43c919303e7aa71771d30e3a617e 100644 GIT binary patch literal 8702 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_17.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_17.png index 580e75edd827cfb770a97accb6a985f2b19b3118..a6f2cd64cf7e746654e2962097f742eefd3d6b8b 100644 GIT binary patch literal 8082 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%0Aa0^8C&E-l;`80F{>Uk3FnRYYHZdbvFlNUr_ zT+)TF4i1=lULZ=S@8XtAD@x$A#%e0)rAJS9S4}O-Py7!@`DfL@x_1Ho4H~Yq1QqzU zABm<(0!{3sVV#fq3P!(al+%xsjdr9bkXt$A7$*ZGNPPQ5HS?t2l`H?q&I#Em03QTu zieS%1r5PvB8EzxmjEb~>l%XH_9DNTtTEAGSSfH@jmYU-azF1G|*=DKO>Y{CH)SE1q zze9`Lr8wFl0S5q%{`%14<9^S(5<($6BPA8{Kr+u=)RVI0Re+ zU(~oYuPFtz*8=M$R!nL9{1zVg48fB>zF=x0Z=e1QG%*i!o&^Hw1k_Ur?7b8@cem$o zUo@1&4&MRW-@v>|`A1oi-qA*dSf|kiYOWomxEReuaF+PV-+Q~qh<3cTDJM7@yias? zM9W0b{AuR>=0`CLpeZO2%Bz^)*lGq=mSiXnzNi#rA`VPD3H?CU4Hg!C;(d?lt1F*M z*`jU(&~M-}krr6C+hI}$f6oXp#^dO_PmXejQF>aJm_B@M5z4SIIH>62>Wcm|>R>%v zo8w6me4#9s=e%PFk7`x7wMxRR&WO`9xo>>uyZ%ih(-N;%+lQCMn)Ynv(WD}`t_@Av zqV;MkUuwemT+>bjG#tkhqs;7RW!FO{s~ZhO7Ihjy)Zu-cze6`eu3aVeI(2_HxoU{{ zRZjubXG+)`*?Sb5(Z|Zt(HNbc&JV1c99>i&(t;DIr2?3(9L+u?+$*YmiyumGKUG(g zOb%L{U+kT~^72L6Aw}~z#%iCuC1t~A`OvU!ZF6mNax_myGZypY=KaUgAIG>|Oh5SU zx9ni5oke!d>F!JWOPi*D@%6WOqwg3+kOti_PgP6!c8&wn4 zkb0(IiwPHdQLV(P*ODu-WI9$`u|aiq0uGqZR3eV@jowXpEiDRhMN&eqi7njejVd3s zf1e$heqy`7*F6Mg0-qXPXqxVpr+?6i%^X{4!&Ye;B*<35Iw+WmuyeTwi~Lo^$IDX_ zvPH~A@*}WH4PwRGx?!jcXjg?XPC;`}H!mN|Qro;k#25pfX3utdd!BY*#ae^C@(F!w3Sr>Q*|mBq^ALgS@+c>Y8a`h*~+yCe6~_SDWgcU9-+J+PL+}2IG}QK z@?%ILE-e}OzE6p|*C8B;T=&L?%J8Y)e zOF@^7Xhbz5i9%^>xJK)KLfqN`Sy5?adk#na*jvvnSj{xArHsuSlY#f)G=H`8p`xXw zWvu)`HIf5cUCr%rT0Ya_sb;6&#$TvCWkoQ+he;Gq328UmN}o==2$)IE+=JqUS^yFWuo zf#0=iKUr~PLp(vdq+w>k%9)<$5t!*}q+yQ$5;@5Zg!&E+3qH=$Eaoh7yR1abH2Ub6 zx~XPb!+RGJYfRM?;uLxMtQ2yU%ld?zJw3h4>3TAK-$sdfPe=J6tE@v{PSeYw(QD`m zO*U?!7c9=H_)A$|%-Is+nOi2B?3+Pi=OMIxtL+M`l?t-6rIZ9N#wlgb)=YsTXP-#gFgBaLC2WNdMLUPOg!9zz!#A%=(cZwv zKdE{CL3(><^!gQJGfN%6^F?s1JNP*G>;SQ`t7mbVS1Z5(I=bMoFDaf0FP?N(V~293 zsO@J#(wvz*!3|IHHbn)>7W-pKr8LCsM|bja{Kl1(m^0$)5=$d)6T|0lb6}RO=KZ=> zU3COlSZG?zUiii;e{|N8`>D{y*Yl=D{wxOmXUlL6^aP%@k+tshS_zG9LR@QNVTGvP zQw>xAvHr{TC_YW5svk8C$D_28^ZZeZ{83mgey2ih4p{bJgz)4XbIblU*^e5UMoHGt zuMl*sz7F&HP`+%T?Fd9s)_s~~a*#qw26a!*EAO!Y>PGxKwXF$LAt%16ya16%gBDe} zWYEASsOOkxOw*cNyrZK3xxHLCoSXM~kr;(S=8fyzMsoS0K{n_b&IH-M;&WB?6vMJL z`|)B9vRmBQUT(q_GGN7cEwk)0IaMK`ioiq))gBu-GCK+?D+39JjGfvpp$rM5#(bXH z5Ajen3O%j2pMjo1=sFbNwh#;DcE5d#8jM78xAAiZS?R!1+pM1K9~YQ5X7YJ(5{LTq z2wc!6P1GyQz)u{HNz4o`y!1y-puYM#irU;Rd|p2@I#LFz&Q-xu zJQoG1lods}xdT7;j$?PR7@%RP7`$bNe!xgkvnxw#m48t4Yu}!Q;4DX3naD_+Z@mwi z(kPa~(6{LPykcl~Bn~}X4?ZV4hE!mZ#Bgh(dcuU*Kq78uZ^a98%S~yS2IYi=lmPwF zy%Tvwr;HY-<*sU{v$31waNjH|eVu5Kq6{-*inR9KxaadgF(@r6auS@kWp_^fv6b|v zBaPUfchbvusvgJmfj51Cte#&AOetzr`37mO_}>LpA%y4vx_2!Th<&RTCnLR|Ey>%_NGpJ*dx$ zJ9z!$-oV^>l(6rzCGy_L#02>@YB8oRRheMI>!^|AaBhL;jfvoq&X!jV9-FqF*!`?N z@Wrsw(ryqD6v|z)RVC3$^4W>X!n)%(v0_(pN@naCY~|wiSbJnF(=qa;)Y9(iSDxBj z#uP;_(LSYVbDrx|y5# z>s!Z6zATt4MY5vxxt^KveLE^RjK80`D$GnVCp&#J*^SDgB*0Hi#E`XjtW%`H7ndj> zF;~5U3hE@T8QRrvfAfTORs`_7whVQO@=<3S0*@%QW}CDh^pWnBAU1j3@SZKPbH}s8 zBN+2?+Kk*b5w=nc#9|vDoF&_K8f;Tm|UkF5DyMDhC zzqE({ywXFU#TN;-QuDQNTG$ZyY|dTpnI2QKe3!mE+ ztk<6C5OQxmYmr|sLmHd}gL8B9(^1TcvAEm)ibeOKYipo2@9}Dsh=};KI~~^=UT~|~ zC0rc9@1?ZWKjCyWLy2>9@dX-Od$BoS=`2LcdDM7fHD8Co1j|Bej_9UtAm)n-u%_b zj&;Tk>!n?x`a!x#%I)H=oJihFG34T#ERi*Pn;zl*?gBSE7yXSi#-fp!>0@~>KJc9^8Nvk zbhg9Av6tgViOPBlwOtpjYE18kj7kXfLEht`&vp-?P@u&RZ$a+Mw3@5UNo*S4nKg_2 zl#nw!@QTqG*qv&{`4irUR{excdDR0Tzk^0KO`15y~T>@0?-e64@EwJq5cqUTZ&o*uMrvV z)z(EHmHFQ9iH6_NIk}_?=76D%SJe|tIbQYB#8_h15_EsqSf)EiVUI_0FY*{O>|%i- zX1#zPwO%2nGj-GBaGAQ{C0{-`=nAk!qMT`c98|*2ndAhjJbEi-YU-eF&TJ8+rXZIG1>H)?OdqqiJ%9c& zM>{1)-L-rdR>yaYGsti%6=65feOZ$5!A})bF|E%OGiJ3eUD8s})?eJhUxrPRhsx-B zbU3C*&x>^YYlqDXD@qGyB($FU3Ah~jySTec+S}r5ziBjCaTC%luZH;CyAn;FacL>< zUb|vl`?Y^a0b$o3vpMta+2k{W*s53+R&rY0Lj}Fgx%66p8oc%b#jLoEo@lxE7xb~d zB>7PiQmCIr1xr7xI>nIZz2n5gAm13#~eVB}e+%9Dj2LT<|BejQ7cnf_5p4Pq@SFNf(j zJn1@F0o31900{qYB|z2V`4n?SUQW+Cy7>qO-^Gbtw5IdBem(yMDQGItGdx|h-u0fl z5D{=$N?ztI>2tRiidys;uBoY$wx8o8+T&%$4-%Hx-f1to$<&8hHl3dUHMpUn{R8r= z*1{LOf(V9Z4obf-0AT&ZEpJStCoJ9 z%E*8`IqW5>@R4lAdV|%Kz+cebyLt9L8jbb)eVCbmC8Dkq_e|jgD-GcJhX0aC!kusl=rc{x;DwgxTUp*G z3-G3-_I@N9mZaISLq=VcPkmyNKKp;TAZD*(|7tn z6=QSWyAjb*@KgI1c6a;P_}7jySeRXVWOu>`DLS)IByl@$jdlqysE2{E$B~Ab(N;S@38DESZE(O-lCAfq46Xg};-`d-Ct`%QfGS4?(TI+)ER)bH9&h`i|Y;J~Z zY|mG6JmZkfJ3~YzurCp%CJ8k7p;DXAN3$vnPBV;JSp(|{O^xkd$?m_)z5I^O467pM zyo9j$L^06>B8?&qk-Gqb3H!%a{O8=~nhQN$wqRNMO-S3@0ANpaA1gBUu(Ff5rOzAU zv@xP_JU(Pt&w!M^Bm+9GN_drdvXX}n+qFy0-0QVyIDqYj&0Z{zQ|=zD+m{-g;_Bxh zACXr9uh3fPuGl~=AUMD31%V(-Ha8*PLe-^Qy&Cc5f;e=EmWKv00LCpZNg=MRW4>7(}!a7WHm1R zu|Y<&OMgst_)3O!@yG0nok~6JpLm-;)D`UpDKPf8@6a&L%*@z;fx`@l#D~Vgg(_-Q zBIA)~d7FY)8m*7wgPt{YIIj+?rWvDFV&Cf;XQpgml!qYetR=WS9^0j&>e-oSSoF3> zC-1*oib5=r_hTT1GLcK~aY5#yk7lZ=#`LtF+38@$$jG$0(D_6GnF3&E6RnfVd#6@o zI6(c_;|7+hE#k5Y{@bS$a&I4{BXP%U54;}jSo(5 zF1{dB6huf&8!I720*^8fVnU{ufe-se$4ASKh3SVfL>LS*L2Tn3}Aab*>+V}dqXsC&VXpAFV z)92p!u>2ca4o9^+nMsmUESq^bd3EscK4${pQk{i#B=McKm85;|YjV!jq)r>VWJr2` zK4Gg@Elv&kZRb4_{;>>i3GL?+NW{JYUci=g_P1|t8(l$`4X(IGfNX(A+`dz>!FQ?1 zX|5CP+{EVtGg6BkN1P33oj3Sg3|+|k0fA{P#Vip9YJ-g7Nj|(&5^8{RI856;1@HPE zSA((kOSKg~5{*snt3twuuIt|pJp1QDu-A@DvIUME8lIMbWcq3fIP#zb`0KRlH}DO0 zo=&Y;gj1n5_y>Cy{*5GEmlB zmg_?RKc`5u#7!8D*(+Vb4$Hi_MC`s(k-keuD#r(htxbssw4xjhuT?ait`(J)+ZE@C ze>{ts!nIU>MT!Zp@ZniBC(;cz8j&)E^7HZMKkS($_j-U=G3TYrp;DyOBT zP9hmH&~G}>Yx9t>Gib6j!7~XkFFud_kPg(j^FtTDZKn}>^O2s|ht0+f%SA2P`2Sn| zioV{nY2W5(jU*Mi0`_&-Ea#}0s=ltJ=@jWVr)28sDDy0%>FLF;l2~lL;YEXf<93w1 z;%&=cVOe_Tz~lUV$G93Q(zHLZU$P6KJ*%E+^^+@32;q#MUtK;v_I&j1#k-Gfmu!Nb z7p_38+9X-Pt0Cqz;#IqoB>4)3nW=-eC{P?%Ykh&q0<&p7GfYGmS$d0>hMWN4NqGC; zzGLuw0BWi>Brn>1xURMy-g@;EH6JT6(q_^Gq^e2_Ldx4pvT)u%$IYMzz-Bxy{TG6uT6z8xG0xhPDM-(vBnI*(!6X2! zmHW)A_uX^oz6gBUQh;qx)-RoT(oZw-wOLs|exb=7gDAVy=>1C(OIkF-jacJ&7!%RsD3WLd zR=>ia^+|O#sr6*Jx+dnEY7}jYH?|J2{czYwSR@&6>a)oHg%lQj%BR%A7&9zm526$; zZLN7P97K&`P|kyXOWX;R`1na57Oh|m_3Oh%{)zZxo7nsnhxGxCtSLI;%z$S z;#H-5Hf7-5fJ%?JeH)&UR&Vwmx5%ogOMn9s~?=JD=llv|T4Zux5HEFI<`IkVA1 zYE*J?UdnaNi9{6c?(_09Amf6MD+OP@3z&Oe$^(7JR1J}N^@cqYHd6DuyK&bpfa7Lc z;NGA=9POu0tHnm<@Hd>Ba^-^ccuTa(M$BgR6{PBzQ*xIGT*L?D&w z%T2APNXK-kjzIrE2<9JPp2a}L+d~{3bZiN*H>v61!@xVEC@h7UmzBQQsioVMOBc-% zXtj&j83OtXt3JavPfCRt_$Lh-#4LOi^2%VMW~bTrtO7oD@Bg^-S9%GrKV~p5a`Oq+ z82?UDW``4<=-~VNm8LE7E9y%#-X9r8&?DV9Vm5!-S=!ph$}@vT#?&u9Md6cW?r6m{ z0DRpes>Ge)=Y1=hE}!0I_vT#N)l8(=SXFgn)+}B)Qoh{X*wz1WD69N)l2-W0XyU?7 zTDPtM=023NNL}{;gJd7d^fe@=7UA$k0z7|_xLC5Gqn)HPoL_%>Cuyj@Zo+{=vn7E*H`+Xau<|RCS->KA`k~ z(2`B%VFd>Y78h}QHV(Vha{QCW<1qEXE$j)k*a^Zhoh1Y?Y%9*@4Z4u3_d1E}yfW4# zaK_X(7i}a_)f&7Hr&vGqo&WX5Jxg=P=`59)a+zXdK26gc+QvSWj0-A` z*JMkCHH3|^wLb3s^9+07!v_Gg%zWlq)+DLR4mA%iMKB)sGSg2v)iAJE?APmhS?Yyj zEEOgze)AjMF6;Y*7=A@;G&8~0q^nM>C0U#|Ewz-S&N}h+-G8BDlgq76LyAMh3nOPa zLXa;;Uf+!gf~PvjtA}Z@qSzAIf{GcfhS$yr-ELnVT)qOya-wl+88DQ@CxYE9b2 z#%SkuzRxqS)gvy#?T+x_`+FMAGqTw%&2ygXxr8_ng`%f`f6yE=54rBQyEiK9{mzGmk0~+ zf7bNp&MzM*-sLhWuCOQ3Uf*Kc%Zg|A`zsY;a;_INePa&ZouRDH8vlO0>XWNJ5aWSe zxImQ#?d&1)yRF6)ww2N{`5;-OAos4ieKplazqF(kx8_s0Q`gWZ_wG-}j~VIiZQo+dsr&lFdd z49lM&Y&28T(l&hmk$7Ofl_a_5E!B~mPEyRr?VXP+Rf_XcO92ABMmZjtx{2OeJcdRr z!MH2<#y)VttP_1 zBBuUCMP|r8V2=N6@`2v9wc-cilB{HMBbkcQGPd8DaTNsuW*=V_YA|FK=fR3OmP@#s zwc|eK#UVl^ecSX_SgBd-aa0xzmtoPY7xXuhOU6u#m4}Drb6+OJ*eK*$y=wn(P0m4I ze*N8k&i8A_r$SinR@M8|@XLR=+$Sr8drpSW6#CaWyfld2&GLlOirYx5iXkgb+04#x zvj*X`B&_o_qVvdQIJZ`DSnI|s@s%o4z?fUfaTd-*mXt+MDUz{|WJ*he*;o~tN`hnX1{0EinXdTZympxQKA2HXjY$NI^a1? zRj2T!b*O&sM^(7!GgyPZQp=E*nE2-P?zjfgbxpRC;bJm{Qt0H4ZDiPam3DEjdaF&A z>mS*9QZ0=SzS|jYo~E9nU0+~A-YIk=;_G|gU=DHd^~k&jL&qE4huQA zk=32ZaQY26fX(iJ@Z`1FSWor1M+$&6aIL;STn4H0)c$0eA}o8Nw5$^7tqWACkt#rQ z1em;2UyN)H{&VJ6=#yuY72t-L?s#M*5Rd+QHC;kFx2xQD8zB9E_QSV8fsRcM45eSA zCtzzl4&K2dk?Q{o=l{8LcBEgmU#d3i64kT>fUA_|M1fciew6x@#+7UQyDJ0Ur^b1(?OKP5h8o6@CC>Ro}r(K%SlWu0ia z+e-2J${VGx8J2V1p7P0hPof9<@}+5bnLNHHLI0Ysvu=M{-Xry$itARXk2j`RP+NZL zY3DMit?Ji`DHJy9iTk0RspoBI`sgfk#YZfnio|K>8$}{n+NlU9Npo4U7G+#e$j?%0 zM?GdH>LOEI!oZz7qB&-1oLcJ@!s&`2QZx8h8@}gq3B|P<3#48dgE?iwEogP%b0nxI z+4Ew=>6*wIeg0dmPYX9<+LW>IX>z%QRI2rUn6+;iG)IJ?$mVq%`V*rxPXPBf^?0zm zne6$_W-~5BnlZP!TCEXi>|p;NV}(MQ>1b=m*l$=uE;iKLsL)pBZKNuo$=n*%STcpf zTV{{o38+n3nYUW7kyyoYM8}kl(htT#Eo*aY(E5-PKBc=Ja}nRxa^38T3(e~kQOkfn zs!xptcSP+S(qlrp1@0ZLjqXWK{E}_)b>2TgY;;M|BTsLcn~Ds8rJ}6sdV2mQ@g*P+<*1%QLYWL+LB!lN%2toghQT;eL|Cc zyjVbFVkNOVU;YLs3Q@rN?Dp~#fltv8iGZK+kx?g-ujZcE_p1Fo91}YhMkFL8)z!iV z2TK9yMeC^jj|NWX43N5muX#&_>w^x<^w!|g(wU9l0JG@NR23oirtI0XZ^llMExaY9 zY4MM%DRodw5E&A_X9w@RAVX7ccg?D4`wrh8fXtat#@sDN>%KiE$rcNx4_V_)^;h03 z1XSDUMR{Yed*m@+KtX|shjxM*}9736WO`B zjA}e#^Rj(5sQGZSg_(~Nr5H;^DNdhP@1#hIsNqrU?{AY-qpL$d4XC*Jem_1fjj=e} zi3c4uOeWm{`$$rLc?p3+U2S)-u!M6FI!mTG+wc_RmOWm1)BioQbLOy`D~!s@J3&*7 zEkxlW`YLj5c4>hlvG#>#F| zrz_WuCGpJUtZG&21~#SXQX}t@mJ0t&jNNpFLBDK~l*QY+y1TP6Wl)xWnJxXPnQKsH z$xhj$#v8Ec4@D^utFaXr>FW)LzCM2)GClj1JI|?B3k%=MIBEJ1_*M0prlb2#?{+n6 zV#652!R$KAS{sq&FVjEFJf%D1-8LN{V)!t(BP_oY1&;l8s)bPlmn9wyqq(#aW zy!X!YXoh7gzdyIM<-XYMsN=k#24Am zK9R%EGTxNa^Bs2nYDBo4SToMIqzs?ncegpQ1516@@p)q5rHj$-D0iiH&}K&spvf9a zNH_UMN+BDQCweH9ZP~uornB)gPJ2aEDgGjX)N*sNtz_WK*8)#TP+{zxdv(1fI9pnk zV!KNV&%eL9gT#%U zoUH?01Co4pz0>(;XKfB_w;DYsK0Hgcm^JkB!Il!&Dj2O>Lkb$9UKQ!hYW6EEuW~>G z`08s*rWOT8vq+f45z>r}Q z-*miZ=QT4m((A@hx|uZyED96ze_ujxF7xW0ATr4p8lwKuhgU;QUypzUjfUfaJPL2N z267LEj1Ak^3=oMC*D`-w(WTZ9C7dGfugW68(~%SxoXM;*$mbun@wbY){`Bv+4gmf+ ztEJ+z4+^r}zH{aay%bTh-&+@s&i19+0f374O5Dx;`sMd7M^g>`g^i16%kL>cx@(l6 z8~FL8b@aDN5=W6TJE%F))Dv6mCLCUsAg|^`+spA00_Tr^4tX^|Db?8ncUs|3jYq_8?0ahRi@Yz_jumpgmeMcM zy66h^;-q0}-$@&rnukC_Rhh7^-xASR@2HP&az0DiuwbA;CRDq0TA0mF%KUnA3f1PI?inM;4JJ3$(T3k|M8h(+Z)5p~i#8O1jhK-%GC4pCvu$%FU0O~D5Xwd3tzR<-T}z~qoHbmOgv}2 zG@pc)Kf5Z60dPLG%cd=_8BNd9U-A|L<4DzuPT%B+isISc7x?hwQ=-z!T4|-Yctum) zaW{Lr&~$u`8!wtNYHscx>PQ#gNhuntuAJ>qlwa1F+U#;2vOE+1zGNB|5@|5fX!84% z@dh?&f0-xzQ4y))1YPx#yU2xuyW%-^|51vbf?U3aEm|FBV_9GDhZb|>6YCf8;G-M5 zrmw3T2X=msw77-;zKff}W8}a_Fikm)$87jTni5&g(QDpdY`nN0VHIRA6*NdSylm8| zSflUA{@9t=nq6_*dbA;Uu*1Ir6$T@BuKf06ChpjvdpU7mGGFZC*N&9klK{Ur6%fSJ z!tZm!5s)l-^~ICs7tA3t8|kbdEq`KJE7{8NWPf>FWb$3Np68Z>AM}EtyyciE_S!Hu z1r08hyIck&_{CIKh`5^Z?y5SL>(r4a7HM7#SO5v755ZB0faaHKaqHn^K%V*z^9xSDngd5e;$*P?RPGtwmB z_uEC`a7nvtn`Xn|la-d9YvI&Y1-6O>b$jL|V#~=Bzeo^x9ulK^i$GBBC~jwVQOOFvEBLqQqn|BhYrWpZ-YHGqd86gk-a7UrqxrKNDpa~%&|GYmryFoiJd9Vp>~1nVho?atW^!1PExbq4CJBzTd; z;&FfW>fp+q5^EXxas*kjZkepNAge`vJuHi6mf7NDoJOa|yq2;G+4061bfd7&KA*|# zVBV|Ay1GM{2$^xy#pG^`OyLI1C&IQpN(p1V`%Y-Huub85_!-~y_~B%|#X#orx3N4` zjZ{57k-rp66sg(|AIUHQOSWZH{ekrA)&nuGu^;aiX5#B$;^v-PX?`iuP+(fW+cAq2SO zbkVy6V+R({#}=;)m2TiW#WR?N>*Z$7`Y~k!1%yqaHy*k>Y}2`~2m1399(h+2=4?Dl z4VP@-&wyk_KZ8Yfg}J!7O+Wwg*Cs_%W>&wVi^)PcAu^9~ku4ccZr*8BnEq+!d%ruc zz7nrRR?B}|G;5TCe5jqZ{W|fG;0(V~AY+0SBDtwB-9P5?)=$e8-9#jL95g-B_R!#d znE=t5WAR&S>k>wYp2g;03xrL(-V?CJe zqm_v(u}2zlo+LUCa$U^7M6)A%E{9oU#gWc?M&8C48a^SYc2)$k)`x^9llx} zoXFJ=ce~P>eX!?QTjohK-yCMijI=p$sVsUa$TxP$`~X1~k|`ICO;{PTsY4MXEkI0e zc*Ct*$KfvoQVzd-Srq2}L!S4~b_JZxZU`J-=%+yUIzC=|Wb_RAT#`zwv)Bx57y3uo zMm$rrnCpx?LPSaDW~RfL)!o(M)D|yP3dfc*yy3fB6$;3z6XAlucG{k`MaJFB>{>vG zgA?y?tR(dmVSG|ITgSnV^<#F(#0&-;X%g};u*eXa;}rjlT4uD4ZCv8=($ygX{fV0h z{n6qjp03zj#fR>7`LrJAp(0vuMt`uGk+Sxb+LTQzittud$5Ce8)E?nW>rF6gygN5O zYrq!LqT9Mmo;m4pk>W4sD$s8at$QztBOzQia}ju){;>JR749z!E`Xl-yDrFAb+$ej zEDXpUD^h2J8rb6I1g1b0o73q->~=EDrXkZCA_K!Rw-!?TB^9Ou7qHKXX|qlO94}*dUQhjqKwkcfI@hLrowBCm&gJw&4om8@5AR<22{ykg>8L8G$`hEL zxcX0YPmd(iWKcM0CHaMtju~096SP3m@AO^L|6=bg|Due#wqZdO5CjzI0aT==C59A` zQo6gF89JmD5Tv_HLTYH3p+Tg(8JHndx}{-Yn0LIc`}sZZ{o(x&-Y@fM&V8Q0z1LoG zthJ6MK8LgncA=~-jm&Md`KY>rw!__=jq4jXU9pzjQ@dYBzG)uWx=f!(*sLFI$=a8Z zT4jJNH)>cK@;If?$YchGi6Z81 z-;%k))Dsy=xdyY>K3wu}Mr+0IRHkcPFflZ651WYlR=SWJZrweXKXAL@%$u&#&5Iy*ccB z=e$9k(KM2Y#xruk|00YqmQfAG>wp#9kXsUy%;J5A2}Ql-)eZxZxfPHQ`i>ifx{?0z z1iEurTY-YnfN@}G~XCjKbG>6nVc$by8kW@M#0Hs53y!(f2F*^d2;Eqxo*c4josqw z%?t1A++6x;WMWPa z-Le_vNZYu|qD}8rK4eg;oa^g>X`}(!U%}jBGz@X*FIwcQ`;tPX+GU(-)LTmG{3_&= zL}qb-i(P5^B+}CBaxHSKLqEYJcwrh_&-iaQ?e=8J5`5ni;5zG$Uo;LLm6-(A(q&5; zst<|VxE9!-rd--G=Br>tENoBkMKLdJ_ON!hz}Cj!g*N!Mkaz&JwbTuZ>7&X!a)QF% z+Y~JjW`E2GMz1aV-iXDuFCiWI+5<(Kl%XZB$~{KZDDajRbCS?iG!8?rUM0qGgq!Gl z^i>FXDs3{X@d?H!dlo8@*ni(Y8k{vNFowWp+{De&3R07vIUT#d;>}zw15#vKqV(0!EQpv8y==ddDr)@ zy@YtYI9yIwSMwNVb}2PxXM{s86nJ1Mk$@L1whC^Utgp*m@)hQj(E(K%u76BD0Q!DMrdE^ z0ZRmpgPpTMJW*i9bMx$=$VV^j=Zl9r^^H;sg;16)v~6z<-bTO7MF4lc;pjf|80Ve% z{r2k`EGuIuz)qA#Zp)!YF-|8z&!)WCCTj7xB=&h|@iUUATzU!Ene@Lki8pw^f7w=K zElyP}@4_!7%>X$1CUk#)pK943Wt-X+r~N8oo4A&~H!H2tWuxMl_BpMz**D?cKEoNB z2lV$GAey7JL>(&y{0sG}BpQL@5!-H((c5l44Ml8p3Y2e#UrZ=&7!+P-4834}+f{_m zKB3?lE<`&(r7nar%o)r8uzb(dc|Z6<)HGUs#@*bmcdQH)_U(aRXs4}xOM)zj&GVs^ ze$F@Q#yNTSuesd~Z6Y6};>=~e>=~_y1?b+J6|qswQ4E>`HWIuGJCe4gA3f_$V5u0f z0Dyf#Y{T*xEStv?xb$s9oJsCtD;KFD_E`;BD)sOSE51NZ=`P0v+5Xodxo&g~xO9sr z(j+v|nfbj{)>R9th9$g5q~JNW2)D)!_J{mmS9pQMV4bF1N~p41_9ebO=O#-P!ucWi zJ0aa8ns=0I{XOfGAXcb=eS?S$-#ik#*4los-w*GKCY^*H$K{pSqQ_qtQ;wY=SNXU~ z{oHdj^ygYV-=@M1=P#lb&(@3XN?QSljPIhMcNBWq$Il>D+rc5t$P>n`;6i1$i_q`| zr4D@!qjEt1BIezyAy34!`;2UUOw}N3*(p%`lFWp6(;x(C_`OMxYY6m{w$0Ei7d5Y} z`p~kqEvEnOED>KS0(jFK zBq@a>CK4|ycVapYXp{t5Ro2w=%2VslAtQVeGSpa`RNz;%e1@<6VLK*k$(T*wD3`H-W{&W3%${=Y1e?v$e3@ZarxH0Z6Szf{_9peEthSo->VY;(e#3=vr~_toVD~%% zu{C)_#1g?N%CfbWA4AG>0W0;y|@puQY&E3eL?*U;$C3Oe+3)1T*`S_DwKKQTeX~zk>et!mr@Ua)^$@n3hC>Q z=jhxX7%>3%U1~S7QHGlFOWB=stK6%rGt6ym^+{m0MeD{!<3v(u0mc@j!Oh(}!H#<% zdWD8y>lf7GF6PZ584yaSp$=v)q|82`ytK`5J>JJ>*a7UyaF6EML>Mg_W}`pm)}FU> z3vqW5M{<34$h~M9JjfBs2tMyVi@F`#E;No^l+|_f)5>$%w{LYm-!#q|Z(LS_&gkU&nX8x>FAaXd0)vu6c}q+*SO*{LvgF4b72 zrx7v5z_QF<8+4&=j;|yqE{twkN9WBo@ObN_?ToX>kPGK`0qrc`mn&}UIrF5Hjb225 z4sI4>#ayFeM*Gjol1oLi!26;|xUFcY`5Ulc3)#?bDe%eGcX02~!TuY%&L(oC(uj6` zGoJ$y?A8o2e#L7G6DJ9i(gfZfs;=|a7epa+w`05DC)iyKsqFQH9xNVUpC5n??R4ti z(D^r&fdygejqd2n@~cJlZDLUDI7zDP9F2w78=_}eB|TTrWd!#9C#pdA3T6j%MVb2* z9HAQwsn=gxSJ1248bQ|PwyvB1Q&aVwZIy;`ni)|!9NfGo_1gKeCVzpZ9x5(4t;PkfM~k# zw3}O*tAlVyqG zh@f862IfUL?AGOAn-^$&6f7#7I}-#YLw*_SaFj)7j;nm^cmL#`s%>|xxRG$oiM?zM z%UmoGYMGdwPCy)Y`sn!8(BBX=y+V-M`2+U_t)>mIxGp{Ba5n0^Dx2?A>cD9zBfkGu z%`ngNZ|E+s4XizF4CKpYv;?}=^D`RTl$eJIJ?o_X()k4w>5KXIgkXr&eJM89v`^R4 zI(D~??tN#!-(s(t0^+Zf*D$B(QDN0bZn0V?>fB>9m$8Law{=d(ks?w$@O24hYtbYg zM0hw-yspT?MUMbt0hb)KUz>i~&U^sLFW1lsGVC!Edbn?$9`2?f-ILF0q$m_%d!Sqbv25!GR9Vh7CW#-`mJtB;VP?@ z(2%VH2MYb|f(!A;fOsj3Cu98U9-m3af;ythd)7;y0GE5~rN0kvc-uP?hpwOV_C-}} zGp*0fjltLRc%n?qH+2P##<9{r+A3D3Lfym|*lV?rk8-DK+zDO~G=~8kTf(i_B4SLo zV<{2u|E*TfM4QW3>Q1dd3%)*=e%sI0U(-x~(A4HE=2e6bRmQ?Jwj)k0@>VPnfM5me zy~RtNqF}G?qLw%tApP1f{?H#~r8tfYuPDa}fD**km@uyM+0=AaB_#5w- zZfOQu;n&jXOc-(@?HA5>tjRr%x$PlAr0#=>LGaBJcb^w|Vzu{-@~)MfmeWY3fB1`f zTl5T!VP*?pCbMkBc51jisM;m#rOipT`3vf zIv(jhF(qgq75jZ9|3R{rvO_$ctU>q)zMj@;bUQx){hjH3qL;!Y^5Kt+D|g{ry4c#P zPc(xZKA<`9o1X-{$Cn79lZ+pAqKy<_c_Z*MyjRbA{JRaFQiXW%O+Ue6LyZPSA*tG8*l(YM4seCJBi95S@3YKbK!q%#Ux^?cvZ6j+yn6HKw12(?OF&m5Kr*F2T5%gG`5oW;%I{N8<_pmScK`VCn! zGXDhlpUvQ(-W(M{W-jm`>zw&#!ovumn65pvTHzl>WZxL(%q_#%QLMx>$5uSL3F8ob zE$u+(`3`$xr?#hV_C|dOO!3Ad8v(Va{QkQ7IX#%-AK@WL&B~4D<{hD;yInH(qU8z&pr(mbTTLaiLqlGjKH1%wyih~*vDauGvmje4{g3x zvFW|Pp$HzJ=x4F!+CFv#u-R-9)Hg4xJ6Y+Ww~4L!%mYbspJ-{_ry~Tup?mMuk8u0; zrDEq&WcUSGXNrH3FD9kDn(k+vk{fh`vG$)j82F43sj_j5LIPvFvNA&LX=IG1;37hi zCz{pGu_oK0?^_(NCo08AW>Go2#0Y`7H^aYCYj3NnEZHJR{{=74UD_F(u)dMDiM{*R z@yTa#_vIM03>i?S0E@g-<<)#5rgWBw7DbY}qL2=1s`+*G)76gvw!m1X^(z_$tfcg~ zecKM0q2bH9)M9AJoebTJyC2)Y#R#42xmDx42(9>9&_j1FvQb}zw%iZq2hIkC1(}_O z@~ajJSRUeo8?lDTcBSUN5df_Qsi6Byk%dtjX_#{RHu!DGVid&I&pMo@tPrHmi&Qde z;_n;tcKqQPp7w$)?*20NfX3{*oO-7B8p9HCi8VI)L8pUEPSQ8u?s|T~sqq@$ zPkG1bX$gNSD15*5`4>^BS)h4*(b4lp9sB+GoS|xYePcqKA`c;23%ArB^*nQ4muGmh zZhR~5WuZ7=ijYsrFsmwo6i*X7ydDueoUz&%i$xhDK6|DJC+W9=T+I?9v z&duHRV`>25{8PGg4{*lVpV|SHCF9_^w2I}f|e@zxB zTNKiVd~$;o$oNmGZpWC*E;eXsyZm|+$rS6}jD_DXVfTku=E^O_mH9 zS%kIm2wsd%3clH6Z0=%hMRzlJx*n?pVB{MWmLmfxg1}1T3HB{8En*~R%9h1lsR;6< z0A$pMc}4)6G5jl6U@UUh6pksECgJ3W;0QJPNox4dqre{A2{l&KH~27GMSxwW7X$=u zX+3`d8oWsMeysn$(M?5*V8+8~io&pCv&xlLR_P_p?q(!M$de(=hWU}%LR&sAv9fNJ z0I&I{zPTZCbDhsR@_|W@*|h0q*G%4Mm8Ec2s@4k;*+c_1vYA!x*e22vWWf;Lp@%5A zu02GNBw0vZJx`?O$0NMlC%VkbW_`}V{gf>C_cnMdm*T}NrMYhTqtY z-N6CQx`Q7BV>}=F9S80FZ_W8%fPeAn8#Lp@f$#c9unP-2dW_v+hy^V6f|F!nytUY& zUOmwU_F^DGyHLs7%f{Ny4tDq6Q~c?`htX$^puVUSY$#nQk(zLT(4{|zJyNiH2952f zisJ9f?BKJ>PP6kDVqV-V1Hqz9kdD$w$M;A_W?T0Ro$DgAbH_~0v8jrvd+v%^^LK*Z z*`1^5#dHo)P~(Ghm}QeDR6p6cqiS>4j%Oe-H-V#Y1N?w!k!OWfW78C`xj(}?&6rRSpIg8E-EAKu}BnODY$O|`VCCQs*k7ACF3$# zQ>lFZUBA+`7<6jL-Cr#;x?Zb8q|nl;%qTBrKKYqhrE#wDE`~D@?9d>XHFMti-HO7- zsCuub4+}k&W=-n`I=O!g-p?}TC?98g4=jPuBWJ@4S)j(!B+*{kt}Nm13#A+1 zI_l41hDgG}h3^}Y5U%`rcV2HWq=^DmtNC^KjS2kN&BPP={ou>^_GG^KgzA+0hM$j&6@0LQrudkc? zHCKA^Prn~VYk{!2*oMaJ^^lBm`~`9_ZR=WNGq_^!N|P9^mQvcVqT7vm77*?R+c=h* zG961%@v_85>qbn~L6eP-UW!^N*p=K32V!PoU~?&HHGqZ#3Hs3+XjKS?eIM_23dGSa z#agsKUZgwC?soWjL{>u2&0T55x@SNf`Bnb5og9r{}e=L$^xj`hqUJ1xFmItQ&5 zyFcGDR9#*9O6aeYh10s#ygpXG&p1z|9J(wA0NP&rmd+tnPxM-$Y6YZ5;5@+MiAr#1 z=}n^1wzXb^`0C8dTtjwc1T`ry_khzuT$W?J(U)J=((N$qCIqRFYvV@&W9Wx1$rio_pK zyz~6^K*epN8KJ&FyB$CvYQ=9>2ctEPO#i%Ck?gqsmxewWKJuISKyN#ynQNGE-%%-B zatZ0Z8ZJYkHydub-wKeW+cf}lo|#9(=ng2bAFA85pG=|?SNCbYihxsMp*Tf)RPMzvFJbKFLjM6XG*{d1*Hs)7)`1(e zP(elq$@%M?U5dDAgIUkaU33Rt4{HZ6zb~-C-jInuW{9YkS485pUi~Uie21E5Zq45D zK+^-_{grzPzfvKI<3GZqGO34^4z#voxeu&jt*B1X9s<5Jn*PFZAnOr)V0%g6BcSo? zfe$2?jq(`ySrw+xtk0}w4Fy!uvzl2oDD&y_YVfaERO_)pNUV zUsVHoNL$C#T(H$|15B4JF)8rIZoZ$iH1pj@|7zdpw3sRlSPQYuM8hMZ_p0%&uE)xA zUiXd?h!wxz(gAZm?3QQ4--v8rI)6a%NACs+f*LUWr}C|zP;}iX5WJ}vNPPt15A<+k z_9oE*5S&%X<5SlDJmvy(hGe^K*c_N`%bqDPiIA;KOA1jon7`?!TK{Ve4;;Yx)#&FT zYIj1#GqWctLT0L!D@{Z9Lj6Na255i~fZsUB$q`H%`r!3;PxFJKDTT}J{ToJn*~GO*aY20-Hchds_GBuNyF={c)v2G-(kd!60*88NgGnkcSDAD^VQ`nt}%5X^=HWDSQdE;QW4H6s?h9$M1IDY)`@O-E`Ao7!h+OuCC zCf=HR5ryPNhJtDKj9%le5HxIfDcgeL=Ly<@rVg`X0TcI7?61b|7GbA3Rei#d1@C1k$gN>RZ5FL2hE;C` z0@eK@)G96Z!m3sduc~3<(ZP|qwFxy(a3`*2RGQ=a5AO51SU4e(iFcTL=YA%^_1Hs4@{-T7S;D&f^S;xPN1q z*s~d5`O@|a*G3dlV}1|-X;-UQ`AFS^XsYI>v}%gVSbmn`gx*z&v-(z5Jph8+GF2v& zEQ{`8!P?rjPm+{P%RQBrrDj#DP{K;Z@5c6f?^ELxV)db zyu-rTo3CO_B7_rU&mP!BAw5!YjmFXxP9{Guv;&3~1{GBYULP2_NrWfbna^}#@o`0l z0hlK2(H3*x*ZW`xaE&bz-1Y<;HEDc4<2-vfASw8>ZV4-25=Fw3Mc&+{W*}yxJo>3d zIEwrebwh?r?7&&(Cq}!GwctXRJ}^F|n5jMFoV5n;4`{@r^@;ay6umyyz%`1yiTN`B zXsDe$H5y7A_?K_#iVjr5Dm`)^%nVk_#O~GfPh!FXrMnD+{Y;p!@Anm_LM6DhJP8n3 z_#%r1)*eWXV;}5w{?WX6BJQ67Gdv3Z^X!2&k8^3b;Lq^@lztJWd?#26cADrG2u|BSP4bXoi-CvkigX359(;THLbm0d-;_y1@k5y++{A)ngk(tI zYV}jkuzK^6C__i0sj&Bph!ieo(ka`!ND||tjL_yd0~`?Rx+~g}2~d6p5kaU6**X|~ ziD<52#oh{`XRWSGKx1q|Zgln+Eq3Fv%QhBl>!mn!Jma@5SY5Lfd(fya8o#uVMvBeU z8A5c#sKC&m(MP>=X{B$ZN#L>uX&gGx++ChtVr(uDty{k#HI4~;%qWax|LX=5cUSZW zQ(&|{Ib#i+b3o4jcsNz|BT}Q7XLi{C@ES2-$gz2gpvj2qd|Irv!ti3qJ86c=u_*^8 ztf*l`Fy!73|C2`>5k@1m{QqzU{@+XbfA4HSSVY9qe+vWuw=*8e{C}#5|Ld0j&+q@= z1odwt{y#g!F{X_MT14=f-qm)vcGsqD znEPy_u@3rsrIa3rh5@^eFVr@l@EnI`S7~IfWTR+h8s)EPwmNDPBQ_hDuorb_T&}HB z?NC&B_lA~3stP=1?81l`TCZJ^G}ER_v|Eo_+SujSDN9Tc43r?yzJHc#-NE=pGORN3 zN-bD~?-Q)50`FPlm`8>FWLIOy&T6CkUc|W)< z+cgf(>73N?0vYxNcDc512Zf>~pX_oMNtFwL(B=w~N`v$UuWAP0YJiD0xvu?a5Y3LSiQc zG*M!$C&UFt39E*T8TMDbEoumVj?gc#KCtGmCT!e=#%5LKifV^9l>?mhXqKjOgj#w( zhrUMG9jp#S45hLF`05E3;14)%Or=JFN)}ileY3Ub>>RXLAJR^qpvXXUIPpv2!cnUCl4{HhVw%EH- zz&Z906&M;S+WQyu6?SR0ejV&&zIHufYQ%=wdk_VGpC=s zM_%?wN{KrDr;Hk9FQ4huoz^*!w);my4=<(=JytTCkL2Hhe%o}h#1_u{M;&!B3>{tg z+{vMRur2V<@jhhqK5fr>tz+Fz2E;$ySx<<3`I!rVZ_z}@ZYVKY%#VodJxhmwB;CTr zsdMY-|A?klPCKA|9J$OL3%4Yp*Ud^Q{PpFoX~;IG`w5m@WLP6Nma?%j%NClGBFtf? ztvXDPtFg&Cd7@riOvx{DK!_)r&!{ax;uq3*%F#5quGk4WcxP@?9ka&d*fS{)lU0{e z`M6X6uD)>v#5x1&o!)d`eUS}F7h>XEt)6>`hoqbVM zysc2BB&+>9R==EUA4#!o^)p(pr*^F8ql4JddReku87+m!bO(~Z z;H(FrrD65enDjHP-TaHU>BsC)OD~lM+&ZaiUED>T z&5d|rF_~kuTtb<8Sc01SxfJ^W`-Eppfy)$&o3U+~!Q|hrVkTZ+usO8WoEG_#oYQ#T z)z81^ZsZj%jQeRE{%bM0xR9CM(Q0~pCJV!>kUf8ErN@s?Or%fnh-c3!<+Hn1QW^T_ z2=w2gek^rF=s)%ZLUI-7qEGWOEw10 zefrhhYu~=$C6*&WC5iBEaf`OPz^pFJW0oa1i#*pw9!DDvQ* z!sI&*F4l7!PRBhPLHxIDRuaF(f7Cs#dT9!Eud5K6Nzo^Ih&?iq-O!$JbA)=ewJHyQ zQAEr>0^eF)>)ArAwb&y(cjBiCb1a<+Z@I3&btNiTN8Kj5^2%Me=EKh;+sRYD;%1^k zEYXVOHqW=Xt+L6JWx-Mak8LyDu3}#_GH!SJ(%uRo`Cg+I5z>hgbMGDwjNAXI5wYUQ zK)OwV2tf@PtWZ}D)Qx9E$Wqveq7x(?tXM*`Lr4l@>npVEnays0i;Pp@h&rgAQ$){& z&pP*wn@>e9elIC~Y4o$7+B1E(s`le!b)AKc-?QXX{{l=7Z_hOE(m7a1LmLtlauIC;{$wlu!DrN^?+HoNIzM3S?Oq?cv zdX5EpfE~qS-a@G6|5m841&H2?s1Nx5oW$u_r(|Uz@6pJmPBLt3<%0TnDn^uOV+&FH zu-zFWBO~=9QmjM*0!i#tHZC59eltpKrW!TE29?8=ssJtUL6XB!LUlFw&hB9vUUy3C zX>uD?G&B3N=p-ZKgpC#hrPN2$$VLw24B_HTPF<07&#^!@;chfV7husxOfRKQQzxoC zW;P4kq+*m0Le6tKRMmKLaD8`I8s4Z^b}~^>Q~RJfvY-nYWZ*(3!YWgrltzgiN|}vD zYLsUtug$;Lcz9wn#H@)>by!?kosG&M^?sCv4pweX5=510|V;=2UM{n!B{33t3U#RU$W)e^^z_1 z&1@qG9;X(H#Z09^ZZU5DA|;!;AsbMGf6bY97MHWlfgp|B z)H4MazDlAqp5xqP`X=b;s{}|9~!)ykI9YuD{@dUhD%A= zE$}q@r9nd95aYt#2b8Vq)9EDy$FgCB!5q5YFga>G@r3BqQDHYgelND@%_X#WEG{5v zf#mI&SSc~_Zo7@?={TSY+VH{q>_Ra=t-xS_Eze96+WvATi)EG}FQ=ImsYy73c>(s{ zC*FMhKi=i3!#@)&Zn6Cdi=prM>al(i!Dr!ksfD`S5ttYfn2=yqh-XMGQixOh@FDtD zl2R_2>fn#%HuvM74}4F@gl&QXw7uu@^TP$`Sa)PpSjTrN0ixc@aR8|oYWbqfYEtM% zV7+kh1P$zb4!zse)Hr-LJdJ2m5rv%(>2=-OTt}6}jjMu7 zg@`~kuX%=$N9{~fcSCB{AbZ89eIfg*tn12p(fck#`Zwa^a})cNmU7oIC1RXetHw$k znU&fCV<*GurpYb=YuWYwmsm`Iyd5v(Q?c)Xf={E`N^_72cb*h$Pm_xQZ--PJ$IY7~ zf5GF?AFLfumlvt6Q%$JgX^&2RYnoCrTSPy~^Sy`(*fUy9vZ@Ge^Yc> zzDY9{2{vU>P_VYK9rheLzNmbV1+&pS=M>8q1|-T$ZG1KL{yduERA0Pi0?bTO{s1|< zxJ2qVxvZKRRPdzGba*KAAFfQnloVY!ETnz&HU_I7Nj;r)!#3|)K#%YV?p1(4S9Muo zqsZT%Z2p!7s@F zQo<2=sw_dd^UqJDZqnZd7K4Kow)|7)NwV{EKkl;o9xl$fpDefy*$O1hUe7Od`14on zuu5H*m*gvEj}Lw1URQ$hsrtYc1S0<@1lpSUg{6x4rz#00T~o#m{C-)q&c70X5MHB% zJ726`Z3=H(Z{;O#y?HYEo+X)I{LQO$Zj+>Z^uFDRPcY_^-+iw{)qRGtvcXC!J861$ zngiT{T<=RaO`wo9HlX0&z{%jp!}{rIP&XP!cw!Z)_BKdUi#dAJ8qw)@^rOgmEQY^8V_Fnh5>NL&l8A1+Q_>5)p2x+{`O$^#=o6alI>&Tc`bL4SJ~hs^G7usk(2rr2>7FcTNgk_Nep#^OES zX!}vUS3ZO4jWep4CUK#lJB@FW38h1p2F?)WCj_9?dDh%O^hw7m+T=P}>Y5z*jelN? z^r1Ai@FesYb-s7fjU|*-3r3N*d_$Li*G`CYbO3JzwOuTGr#5W+U+zW2HdZt`mIqF1 zFn^OT?Mwgqoe4OyR+s5i{&a+U>6~(T?xTBPds$r7Qrg|IyDCcwA9>@)62LlKl%^BB zCGoV4_=+3nhX)aGs9Z8}lkyq??|Olm!CXmY-R-Z|$!29Yl!y^t-Sw!cfts5V$Y;G~lSH$}8WM{zQ7QY7EMI zd#8j>g=n%Gui}0}sJWGpP`$5DQvA@`A&Y49uZ+DoT6Kv#55x|W(FcmV>T%~wvFh>U zq%(8?rGH3_u`eQX5^d4h0rpey^;rI@noxO3O_JT2;lDfQB=9ZCg5|2mgUaZRzb?&; zlQ5J<;8ypo+-2-;ijd68mFhN?v_d7TarV&?{DFo+;boEWUma`y!S~u~Q>z-zlJ66) zp%>Mdai^5bqliws4aeq3*MB?$YBZYulH?b4{`9HpV7PKVb1@7iL@{qaLSGr0oC*vc zpj{OH?x+jT$~A|h$HY(qt$)@&-|AOvC8FeogN^g(2+tJ)wOlmN3N_NrwpJ2v(juH9 z>Y0RRktqL@Yx!%3*$outewb5b*VaI4(J^Z8hBi22BJ2p?m-vA0E@(mG=Xs0iE3+wy zG9J^K)t}Z5Jg0bY#iEz_Eor{X` z!j7#u%2waKv>d5m)4Sh{chV~#(Nx}ka;1n${Mj^-g`|!eF}f4R4T)B}?Jk_%t~zI# zJGz14bJs8GnBS;^yKCB|W#zXXKcib^UB-W_odj<;w;|i!VCs_Ka034GFJ)uO`YY z=E=}=2n6vBcT339NxsjoznDD=YkhpKOc$Ib_bP=64+mfSp=Z)dHL07*9N#-%U!5(7 z3GvgIu?Z0eOAtu8UtVFO3w>@jV&*igJ2IWC>WH+P9k+*FulVIE1R9DZzKPekdl?v8 z-FPCY{$o4-uf*`6&sou9FWk$nUb}1Jn!msxp?O1XDh-J*7wfHlEq<$0YI{d7j;6L= zI8sS=r3It2{RM})-~^YCT_1OTFbc@2Mr zPlP)@HaaMUS!X@D#C((@$S6+%*>L&V%1{IL_WgPzC&q_W$MhoRf#h;5L)KXV5lXfq zS#fsi$G5!0!`0*Vg%wItL;?6^$ySmh8VPthSS0JMQz~btMR{1I0(a-s43ld#^3}?VZAhecrq%wXhLueYuX)@^Uqn zgei|S(p1K5a`T6sa>;qnHr^p4O2PH2ao5K_bdqt~!=85d2_Q3HkU)fw-KBew&-j*dgCR2(Nwu2w0cEqeGsv`q{@xQg$+SLa_2b-9IkZ}?D04(SAdw!S z`}$+c$K%3)kH155{EtkKJ1a$*&&dYIuO+e)bgc7ExE=1wF@1jY>Ji(#ZCx9$hUrdZ z0>kb?Zl@!Zw|42`D}0(+HVUd*c=*Y3mIvE9b-FGqV7{+T+bPcn$|UDeUshi4YH2KM zawDQ!<(no|QxbcH54U2SoU*s=5+5Vdg?_gUa>CaUC_$B}(`M?`knuk>#^TviCxu4} zEs@n~^~WY!Wvtd|odZt$`_lNDro;681+I@z`nD3t&!kpuh>L=zA^?J84bUq|-$4qO(`a`&Ak13x6-YAVmrSSxE z4YK-v=P@rToCq}V&ySR%XL+;~VnSy%*zT`Ax%?h`O?mJZt*&;aQ{5pnZl5{7 zm3x#lnF>zZVmrz)=6grBEr5rU4WV!-*O@<2qB)~H4|)o9E6xv%lb0+?()6~@L76MZ zT9;Ro>q0jh@9mBJ5bmLVf}pxCU{p6VCe1XD$*<8?W|3uFZ%dSnKO|l6KFhjOeRSe* zP=P&z!N*`aYu0TA)#T?-?)6GK?X7Yzi}{QY&RxE~5-AkT?_&fMiHeH9KI+2c-Tq>{ z)2KGPn*_;F3KSjz&zT&P!*)J>JGx$8*E&)_3(EvQmzs5Z6E1(Q9BAc_4etHAib*4G z>OOt3!#R0<`radZU({2PWZU>41(6v+!jMvInjM~-n>+W0)#dgi{iMGph@A_ex-GrC zf~vKhL8*3Zl&P7PN@l{tybB+1HFizGr0PDVE^12s?yEEOC<5U0$-Y3@}SNiI1YsnM} zJ3R6=dwx0;58w8Go6l9f(lp7w1EDRs-vQf6FG# zog^(B>kn>iT;#UF_S{Ta;hY~nXjZ0-S@f(|Zc4?e>KviEFZEa6PvQUW?7PS$gz*(@1(%R5yHfC+r{*9Y3GA(-6XC9FouXqT=FqnuNub}imZ34hNgf-}2K3|deF z`v(Ps)lv%s4DPgbWftA~6Vr2oK0=i?qPC2@y@rO8SvS~K0B#@X+&Y>1{L)F4Dz+>3V!P*NHol|g=z(1%G}|OzC=ziLgz=puqyxM+ z<{YHs4+&7`nN>=-uW1!r!1LVc2kFVXmC?o2_-c#mHUF&FyaoB)Phvd=QJwQla0^zJ zOX%$L4+W;pjPA;&4kp7tI-2o6zc?h{iB$A1Cql93LkvlZf?|8v&RncBdoS7iX-u-- zkKoL8@AJOJ)Dwhm)$2kG!>@f?3RPV5L3>_qBo8(-ZU&I!7WYr`{HZ|#_vxS`rO zUls2O9punxV7Ww9lHhg0LHWS99$ATp*A1vi_)9z6MuIO#_eCjvapl$4X=q2L32aJL zwmFUS{S-C{LE(PImA5h0thA*vot0+Ws|9(!q}RW)8smY`b5{O7!E%8(b?8Oi$vY{! z0r9A(KpD3T$ML<)cu(DDw?!-EtZgNxp#c$+2<#s1vhVtfoQC#@KC1kC*SOoRzS)mr z$@DO_VP21Jf6hAiyfwOhMt9I`Fd{IWe@AUtj{bSgvmQWi7U@Y?`^&vp^af6wd>11k zvz2dII&|&@qj56JT|52267%$cM)1a6Bls1g1~74=Z2SnWm+(N64w35jtwtkaHqhGa z9gGMiJPq7NDQ;d@2b%4LI6e1R3a-jkI^WaM+kSl5L#=FjuB%J6K&wr1E(@IW-IhG* z@e0ZNeJ4FH3!G1X0IcORJuPVZI=LsbOT5o_s3yhYV!LXO%#tW^sOsAGPrF2&v$Oij zUw~WDoAB&<<4j3nUz@Gkg6XEoXl=l=m77nItxkS zy!PhyanJew^LQKY^Wk!v-P-8nuWxVWDl}*Aek=@}b7B0XszZZF&KWnd{R;dF&7asr zpDCo+A(qZych2=@6PNe-wJ}QQ$>1F^<9w&nrLjztDW~qJ_(a;`sDW=M>7KS1`9k|_C>eul(28@4GZN!M@CK)-iR1`RNA1Bk~jX|I5q)lKV$_n|*H+*riJ5YHQnHorp!o585sV-EzsgP`eNz zpsfx21kG<6TX8j42e&E7;NL$VTyO9MJG8xec(|1K^G}F1*5iN=@pDFg9@24D6!_fp zS^95CBt7{^f-5ht0co;gkUU8yTgEd0j!@*LL~fwQ3Y%QAHb5?*ro_e$xBp#iq^)a= zz*H|y?X9ppFLF&xDDMUAmX{W{K<9GKNr`Z)|6EP`t5Xig zg%%#SzS@lw{l$8HU)OH!YYeUgqtthJ&7zm>L&*o{p5I4!%a-?N3SDZ#tJ%ov=f2agfC~ zyZ-m2m+Gvp`XmRiXteFfmB=UBf%M0w&0jOk&ily8q^H zP_oZQY1T~y?h#?Q?t8_{~?>D7fz~G<`2#0C>!oWWTp`7}Ht0ck-3ZtELTZa9o zzKOn-EsyBN{_wYrpz54!265)Dl@^oyZe#A{kLfy^{cLQgyKl(phG0(5K@~}|w&Jt5 z`LV};vhAxHM5k_Ud86-XjyHC@^5b90`9v~48iis|9%RZ#Q9=bV9?pgPi-Y8qWe4j8 zn4bdcMPoX7-2zNbew9!ahAWBeij+9f@7Z}}(b9Dk|IogrmMH!{hOl8%-9C6_o7vE?12 zjgnd_{cmSJ8(b5hLr@@7S;!P^K~4Y7Fw?2C9MWeeawCx#E&Rz0O^)t8zrU&jW8NH; z@NLX7+$f19EK-~(8S=g=Jy%BaakE8Zs4tmx=Ozm;*icnV=Sz0t>*XZbJ8?En<-w;@ za)}wu;F`tcAjl0ecgw32SQxCTPvp~olV}FVqE22>NwUxJlJM|lyc}ja@7bRiCi`Mq>UFM~ zy7MlD&1a7+On(nHaL}0@2s4DmZ>iOtg_ZV z+E;uaLqA~{dC~tXGDm4G8Fb`|m7;0q_?v1~JoUT(=doNW$t3mcE~aQX>g(4XRI`(i zZ15!iyIf6L2UY>z&3ri)9v0>{4$k9CKPYeJQ6BN-Pl4(>i?@cMl*4o+Jm7HvtK@+c^O-NFfLvL1(hM80pZzJyVzvdg$prgAvmgtS@ zafBDlt@vuh-s-~QD7X9hVA#}IAmLq{q-c)(ijEoFT(#9;i;SY(cpF?@7$zRni~ z0iQ0`v=DH$njY^*5-xxUjs^|eP~4EbrN z%sk1vnN{X6(pmkbZPZ>g+ZUo2?oCgVb#bZ1zp6^8sebWHgnAFcqp7jVBehGjS^x4h z9&mi=CzDKWyTe(@^Tpptzm}p2^=eGUYpTeSr!>v{BmU#wD#!ApBhAAdn&wEjxXf+t z7bRpzN?g09Bb|^bM{dM?`qolUW;I~qxb+h}t+J^MODOZ7yK-zO~Pc6<}xAC-iFWoWk%^Y%BjNb#1HQDwH^-0AKrIA07KZZTH2ZQX_mIs z)C2J;CiHvErNB88VFg_x@2=sphON*{F|v|YXt)72_tq@HZ1V{%i9pwfqq0`>IbOJ#LORDe%fkT5k z*tKU#=j~pW=hiBrr`c$|RC0n$COPE$>Pk{eu!!NS3}MJdCH(PWnxRvafeT@^9S?nj zs?=0#f?G1zXnjjtTC#;EMuSmIlECDYHvU2fzA8YxSSb}cb(IQFi1(R{f7R`!ZpieLx0 zGErl9JKLfcWHcR6`$^{eh;GdFXE3wg=N&H-Xx50Rx^D85{NN}X;kNqqYo)oMZDTpldO&`efnA(X7jzG$(Cu;Cl0>Ok)uN(sy%sLN=_PcOgEdGhZ~$ zoi$z&b%>`nZy+z@?ro^z!;S8ateFY4H2~T-D*<>^A2RqCZB5QMY;WUfoZWes@ch#n zoVx1iBOm!0?ABI08nh$eh$t)yheCwQ3sb_+!Z~Yk)(p8~_Rt_;K znDx@d^&0=^{f6su%=YI+_j^|NxXn#P+CNP>yasmfjw@9|-Ut0V$=KhCfA|-_t8Rr# zI$42Q`3D44hdc}2r^{ifKkiDIR4-3RPf2@OjY?n3T8-Z%i{byA>#AFu@qSGqBxVQM z%_w}!HVtiJe5EezQf{~1rWb1wTLehfn98#mT*&U9re5e_k;q;Y+Eo|*N@1>AK30;M zWoK~SRpB>X5pz~@>9k#pagj8+qK*@sHb{Jm3LE}9LJ-7WQtR>WwT-Xx%5#Rke{}Gn zZbg%$4Yi|58b0+hn)Ldg+N0Ce+f3UG3V4GbY`^5C;){kYq*}%+1;60@Zwp@9Kc#58 zL5$9rJ{Df^NMR%k!sRMNt`(yPyqUHWXrgtik9?hAPd4WBEKm!%d$9!HhljF*Y1ecY zI`gfjj11{bTT)sGn~ijGGy-lM%wA)*#B=At_5}vfDCJt+$KGF?XVHd*>s*S;$EAhH z44tmtA3*wZLo_9dyy3eA1^jjq$E>a*PUC$Hb1$~FOqA+}=nrpk)49@+D`Kdgs9rA$ zFteJq^`tn;m7GH6Kp_tWlfbQb}44tROnhs4@>2N28>M&MS zb{P0#+bru-ser0^UQrzJNJdw&XK&Dy9q*2Oy6N55fHzGEmNM<#BY1WWLMA*J)sf?i zZr8>mxIfIZtmmG$BwGf|JDb=NnsK&+dumK-X}y&+cgrj`N-?Lu6gBbl5ATMwW%xGq z=^sY7#HWJpPVT^fgYm2u<|9ryOnoQ%dc|L}8r0?LEufncf-+Jb)s}Odx${VoYlj`F zhOp8jHtNg*vxllwDWv%I@!kJuehXC3Dwa_CvP;V9FPSdrL=ShU*wEiA-PPOA3w9qXih z-oa=3!#RgllB(vid10`Y@@c98gW>?9M{AxCAT~x>5PP-t^W@Ix7deg~Zs|=E)8D{; z$1XXapHDiW4 z8DxLyPM$Z88rauqXRuX-mUqXE{3zV`8`Q-w?e2mm+otfE`5D6L;w)-ra>rm-=l5ul z&5Aq9KG}&5W>h?RemoSqtl-b&O>AdZ6FMgNQ1~=a;%wk;*TFOeee?gRfV4XQCqw&R zmIvxe;colcxW(-}y$Be;Ed0nS@IqO_|K!KXM(ZSiFOV?m)nRq(dQ$6ppk9qd7q?ig zRr<(fVX^n+T#eVu+~M9%PE(n7Zgt5v(|O_>h(!nA>3Sou<$T9P-Neji^fyG!p!PK~JC3-JB2EvO+lt-zwr~!o< z2p3w#0_QL`LrPx+0)BM{K4&>iW#sc}w4^5_NquKgzcOyft*yBtqXPVDr=j_{>-&8&XvV3s6-i;xwEssSRr-R^TWV&hCD zUMW^;`FlL0dDDF3n!H9xHVo+su-mV(py4IJ1#F`%a_N?f?2Zl((_))_IWnc4atB2w z`y=p#e9m*nK1qD?->BM)XOO7+v{7*DWMop}nz6I3!47N1QuTl$)jzBL26k;s&&{v7 zceBns5v&ty))pBXm_M`mWm znofo}cCFP1Igt3c9=}5X;*AbKfL&`EiKm!Vnm(|sxLG6Qk~4($p+65(ezFGDw)2gW zpmR_J&#~&AylJ-hm0^s`St4LI-OtbMrO_r!GhmKfa`T6r3fHQS#qhl)Qu_Ehd* z!pB6A};yaXfP_OxXROfCS`t-#SLHonn~Qc zVRd<$@>GdKwHTeWY0F}j@N%53A#i`fC3TmwoaRz@RyKJWtnMV+-URh^>^fZuktaK7 zPB6J_th!YkREYxGZeC+KhLdpNc%tWgYPt;-Y`GF%D##@dM@N@t(fBj7`EEa>$IT&H zmClop_>9gX9#k{gb)%Q*9n)lFk>&wy(_(R&&olHJccVRn?$$D@2DY4(weji3Eh1Ko zq(YC!_~>qGM(qm1jDcZzpCbOHrPckW3Ajy&ht;?(XmBR z?}rM%{P@2N2y|%6Y{k+2{BB7z^JB=V$2^Duy;5QYjR#!bFM(5WvcvE@h^Mq2y4@_h zSZyTN^MOR9CsUFeHJ9<0>*XkcN@TJQ-R}?O5A;o81mgz$Q?(}_^WL{*Vb@{flWLWg z)s2qx;SC25oB#SL)fergKQ2B(+rPgXf6L1E#k&!qv#>q1YvPiXj*Ux!Ls#k-xp`pX z9h^iXUVv8}IEj-i^Ja>8ctWyoUfsOe@@CHxNj1PVTWN|TXOMN4q-=9@b4q^`X0c;g zJ1pM&8TjyVm0=-RxHc#_*ncFv5`SDH-sx!ixeS!|$;_%RQ04XB#*E-Y4dhn*VBdfy z*MF}mTN)kfedFBdkvt$ZCnr@zXO+md6Yddbp*Sa|f{%j?pX73qwcKB!g&>vK0%t-+Vj)`W`u&zEc5z z$4yG}b2k@%)ND>PzuMOkJQoZY7@N_Z$J_%O^jcKq}*sj3{ZC{*{VXaO66TS4s{Tu?P=`)F5MCWDpa^uW%I z!_ma_AsS^zOQ9Bu52cX0yIPWpF;9z;Ax|whMYNQjQ2>TB#0u&T=#HisD8mA1@SmTCDRId~+i1=+3 zUB8kH_dh&2ial{2??7_xFq#3cWU3lQeZ1fT)AM|$(pvCuV4d{c;_Dl?ikwMd9ErB= zFc9u~ry~xZGxEbYZHsX$+)+-7*LeRylH4U~ix0eCe8AIWh`<#^ce$>i@Ix$KM#dN9U0t8n>HXvOOrvY zQZ2mADI+1=e1voMJ+8`x?}wJWv$NmUOy8Wmnsk&I`W}_Khsxe-u>B^KZdQ9lCM@ABW*d7*#*eJfqp%?c126ewP*s zE*JC{3A~}3m5VdepYbh)|F7Dj75M+ZN9DaF`g}X{^7eKzg#Y1h{KKnRNtSKZ?0p~I zdp@+Zf;`|$VD7Lel_f-(?fqpD6Xt#JzX+_=*Wd2LIv~9&!L8qN5;n{6TUwArI!f=XlulJ{1i-#4UhF3#VRcFSKGXR6M1q1wEUI{b}muWL0!PwQ5oZ$ zm_|>N*^dUrMP)GL+Oe**l?@w?$)&atgY9o@Nyr!ItsNy%yZ z_9YcmpV`Txt}*>lyC*!gu*OLlx7)R%TRR%<*AO;)55U=4z`*=&q9>G~5{jCyHN9ij z7N_#7fs?<7XT0cfQ1u0(}H8O=;`~WpV|YiN=bk6 zo({9~ZVpy>W(zkh_vb(8EM5a7Q}43igoID1m&4c;Mt{2woQFKbH%X%x@`zq-IWQl@ zR&DkapCc=IGuTvCF49KGeK2^ZS@^gspQsOwt6|eERV6s5+u{$)T|KTp(wq4)n|C3+ z+D>x)1rT9)_-Afkak+9|$m8`cr*veK~JBx4UP^?QR%!=FaE%|zS_8tM~6uZOYWje@ioXiuEI9R-P)}gab zcOr5S5a1h~8*5sfmc4JWj1Za~^b&6Dv$PB+jEc{zLo|#GRA#~rIEb_g8mH9uCvwuQ zx-sn%2kg*~k|mi~^9v!_2$REF2>RG6K0E;>Gi%4Kj?e^~TDG}c)>!_sR-ik=a8=`h ziKGMeVx@il{6buR%5u1ym>3_OcUs)J+*S8H%kkZrnCF>Ee}1SfGK@)!1x!VfVKfwa z^3WP*tLJFiOwl%?_HG7=IKTxXP3j~}ia4B#+$@t2?7FKY)olMNfpv+%i`daB6znjWM7MJIcn{3c%UTQB4i zzZr`*TvYcvofM}?Ty|Q-imKs^;*LDr$K{?M_?SD)?s$2w4qL=^>5>hbavxv5q-Tp6 zcS$-qNi1vD>@Kh?=^}nzG>ILy&+Op%v4jqGISP9(5}rdjnL5i3*L-*IQom3K#mVcd zJ7o>;5%cwrR?uqaO0xujPZyl7Gra(u&{Nfl6c-k}q2A!nEHl+u>1gFZ_$lN0>;=yg zhla|RE*sf2T2snfbi-D~WRz5h~5DS`6YkfawoQ?C(1+=qOJzUxbFaV-VRT8v{`S1>QR z;Yi1Ty+w7e5<4d-DFTv>QZl6X^=0(-vK+TcH~uq%23i=Fa%k}X1cG7JEiI!TQl)Uq ztS~c9mwn5Pa16e4GQ73)bX^Wz#xxus@;9F5w|%Qn@4CUb9OOVR^Sq3%(I8j?lDH|j zEz%GHQ92_YG&fxN^POV{Ia4xf`m6Ai==WiKXM=Epg&W{*OmGf%T1FtF{A6<6hL`nU zFT{w(rv4Qkedrg~q>;FZ}%8n%WY0nexv8o+%zNPChZC7COT0my;J!kc1`X|N$z7Fhqq z;$l+|A^Tb%Tjpl$7LPS>;PLC##cL(f{Sd7;T0sxizJ_?@UrjoauArV)^Y(Y!s;c zK%|Od#tDnz#fltx`*R#w25lMh?ZN>XqZAB;rpfp?vo%^0Rg1EfV5)}rwV^)I@DIGs zHU*D8<%+h2k)D>v=x|Fa86bM)tg6&t7Swd52am$?G<9p|WKcQ5ab$`^g8Y#diwdnK z?-gs&-A5wuP-_vF)tcsSPa~yu<l9(B%R+Xu@wnNYz#*SwEPNY<*@M>Cf)EjW-n>)O^%e$5EXYN$*k z;HzX<^US_Yy(VDX>H&ne<3Yk179~-4&|9ZlDNU18rX>ZCmA_6mV!n3yb4+K`;nINd z5GX@0ThHt)9D?K9yn4XqoM6ygE`+k6X|8w59pH1RIG=i0(&inZ5gyDAWZ zcA{}#>F~`v^c~bb3iBiI9F~s#f`i{j7vo%27Au*j;A`Ibub{J9bR-`hgBXwCOd9GAgKg7a*$fxh_4~c*SqjCKT=XmwWwekG$UaZ6`qR14VB-LQ| z-%K+8zYT+_+|`|G&j7xZbd1^*FuTXpQ+@wPmsZ+$*#TMydQH#$|V z)D_~pBWFmX_148;a~uQN%w>5&3-EEnZ^t*|T&~DD=fxq%Q6w>UhF&pL`#4(EqA8GO zl$s|%Aw;{?M>T$dv$t8miT-ui-pyJ-GX}m=<=ld6K_%5={B&H#J$7@mC{QEGdSz1I6trx?xra!!uhg>~$L$ayf^p=o}tSHZ;8WZKlR zff!whyx)3n=hGrVQoiEf^(WM3{&lh^$9W*VA`@gL@*3d!rAeG&$q9zC7ol3VM zEs2WLk;LpE?5x6wYU0+GgYTxa)K1AR3M8YYp$YfmGm%+Md6yL^?Y9|_OINi#ShJ_3yovlSh{QD`< za*!3cVJi>q=YN;ny3Uv^x2`C*S;ayjQe{Usk1Enij54we8i2t4F()K6&smrqItt%f zu{1km9R)2Bgk{&OC#`YqWH_<8NmNH%Pw+cVpKsZ=-XHo%b_6)n(&glJi%81yUtN(T z8Rh);2(`#u!~;T%H^Y0x$X=nI?Q&2$3|vG+Q0{Y1UfYUsOPOfp`7OZXHWEcpLHw<( ziYMX#zzmo^arw~ka1MN6uxwrSr1GX*8{AsI63rlUrOo zdA^Xw|{YTPXsL~u*#Y^Ey{6cyQc`fk>&c1h)~S z)7gL!(@o|l-<71EXrxb*ao^1G_y?vhG$KiYasq09R&6ENIroLZ!YKjuT!T#LWg`Em z9s)9dKsI(lQx4KH>pGi~X7PdrOc5N=d5fS@J(f_m5rNF~2V|E0T%(|=joMD^MYOn` z&J5S0L6raSrcc{)TUPwbvY)eL)%(|I!}fG>=F{*(-rw z{?~r<_X(3OK|$Aa!JvK9g7-}W{3o*OrR_y}R{L-85cs{uClQ-L%Jyy>T{d8H0TvPf zTc+;a*3t!)PX2y*@+W#geSmN&Me$1_#i>82@hsgbA;B}GQ$W4(Cc$Z0N?5ynXK8oe z1f>%w_*0?mu$W|>=J}A5cnvYWmpKzqsBtCz3rCZ{^(e~vyoh3ubr3IC5B8$>tg+%c zz6Qh4q8ESfxx*Kxei>T>ghsM)(d}~uG>$Y4hcDQ~UvKfBx&@iGj-yNfxA?z_!ySiS zuT&V>#mT!asm0`|FsB96+uqk*pF2c(o@aLI(azD{5TkMEh{Bw}60`_kFm9Rw)Vq<* z+%AED#cDoSMWT+Yjme+6#HQ_#bmTo$c9+@b5IIaAB=KZs!MT;;0ILQLFw;RIEvwT( zKD^2TI##g9LH1@FqE6~GS{}GcMX{IuuV^o$CqCTJ7fIN0Im*-rxI*E%0^RrD52bK{ zOT{pPO9jR@n#H&s*_m1Mbc})p>-kb*Y>c0a&CU-D%&Q|Y0PzA%@rtcIMw&INNudts z7p)J~nR0i1$tyx)I_9NbR*5qZ$q2%K`C1EmlJ~w98vM*iEB`vXJ7fO%{Y|1wMv^_B zKs!!He2#VEI2_b#iV(502H1`r_RH!le>*vINMt6yd+xW1N(nok{R-nf)yyZm+g<-% z95;FOX%ytG^)@uqVon-J7eJcBlq=_ZbO_>oq!i??=}luJ?L$y{Cvx#0>WAde*{C3?aa>J%gEyfwZaWY0-}eqsB%!sg`Kwegr3rOSU*VOp695c-pUHD6Wd zK}z?oaxA%8#ib{k!(Z0YyVKdg&Z7*jxs)}xrqGOYy3Q@|VQXaG2|F1WO+WpoxkI$_ zxXX#N(ZN!(NqP?NT9_n~DDr81Ed2a{T1qJSLVNTodx7DU5qZVPgXhPfM}M-ABXwQn z?R>$Q%6Z~~JBj{8J0mcLy?!tKE4)!AWLatAX_1Lh*AQ?xI*9egzf@%^$SZOx_ws&v zIwZnXiBzk$nXN^MHISx6wJWAiS-lXrDR=SOYug{^FG5Fj>II`%MBj+=*zCaXA<`yN zDpzv}A(myqQ{8hu)uw_BT5t2p5?RI{A^#7a)M)U3sF@$%0yCMJfs|OpMYHI{lXV*- zY6!6uN|m!7pWS`ug3j<;!%T7xGuU=^r?_d(m)CiASac}QJ%nTR%3wT3>!kJg_jAsX z#cqrb$!no75*%5M0gb;I2}wWnw_qQ1zxERlhDvN)`L&hZm=4pjSLfLzfi*bW#miTG zX1+zduEKx$=$lQNHF5G$V5)^$Wzuvs3(zIkAC)2z|C1b-SUlaMJ6>A@Mz}wbQAAEi zX*VR{wF9H96u2BldT1nTXBW=VQYmpnveZ#V{*kE!x^>8^$4LK{TeIbYO+)=fKN1? zx)KG!ML7bRnM1*qY=#ZO(?b~)+3y0=p&75d_$;^oG3Pdh&02r9{e6_R?emWe(&83; zY{n6yaed2wOGM@zth?AGcb=iAb(|i!^<&7yMnS&X1{aI-HR;u)NU$Iq_vZ@_ZQ>c~ z_8`@*-OF1m=5`R07Ujq5?@z>2+AUB7ox$Gp;?F2XgqjYW%rxvPrLvWghCK%N{;}OM z5yqz@I(SbO-t6Vo2+tdgG(fkyZq%T#MUzBzcNx#Xc=mg_f&x_3h_xGf{EPuDv3c1Y1VwrJ(6p~U)~ z^PXNjYoXrL_Ts;mw%+CST`0@TRNv-U8NXo&+=Yus_-=I) z%!xCS5PmWPr2`fk3Kf@-nvW7&iYGiwO@bEhC{EobmfAG{`ZAdd($5ll1l98+dj7is zLZ^n7M6#y4VTiH3*=Q75R(7VSgq9=E zUtY1??P#hW_lfRljsL=XB!J}}(w?TZQQOa>SRtxM1Z9jr6pfQ5B1PnyOr}Iuqt-lO z_iF_#$80qJf_DvWbIyY%!P}ckzk5GHG`qAN@PZ3x+1iXO>|NZaEP<1(H`~d2rL+=; zwB>(Zz0VzvbB#o|7^Gs^jW+9vOyeE}5M@&0lK+Yh;o!C1G_wLiHF^}q@G zt_AfxZRfLp+xzv^e2^@7w6m zGV|+pLv0^Jg4BnW1m=+>e)bwF6V1`QOefDupwr!RUcTp|Bw+0AY8v>uz=plUZ>f5) zFv=coIXd)*AzU0r9u)154P6Q^5z>Ut)Z1#3JN*ed`nEVNvJ)-&drxVxF2+q~D69}t zb^@?Z#MveZ8^fYBj%kcnYqlj9i%8{Vri`+XlB*;cE#0M;(G~;0zO26gdJ(O57ie;) zC6QX6vvTqTJz@m4Z+US#_CtQ1Xb0F^)-I!Ri(p&|EKPoMe(=uLJA;6OTP}8`Wr|oz z7khvr8twO)rC=!` zKaM>ZcH)nfY{IWCx(K6DW$`+4EH8%753FbwczHiP%-2^KFY;NKMjbeV7aQHCv{)*HBl(jaL-B=ZSG0Y}12QsQDagsy9 z3bbYxKcyko(5Iv$*_MsUgzP6`xmPe@1J0&gWA@?{wqc@boHs%&?p_w(o5>;_k zS&{tCU%)%)x%?-g9BUhA8MmJLg{$4WYkN(*GMvSu<8sgfR1|9FAmEaDp1{W|LThqCBKqOJ+8>VB_!d zdqdpN6g-RY?CBx87@|iF)?8(tJ)eg^7B#lKK)7SE`2oz@f$8-`QdA~NqA;f^J(lwV zs~JcWi+_Sg)-0>IEWqVEM&Du>sJ5ro7kEvRaMW4`R z@itHq5|TomLjHazjAqLi=16t|r@AZsN1h3)_}%3(_V@ltxTN^#FsA~KA!TC+DW@nl zo%tj%J%{k5s&6^nYB+Zm|2gtFHDj6+8Z0zLI-S}6ze?A2%|~1k!3RM zYS0Tko*uluf9sO>m-i{;`1bD~f>E~Q0LW|Bo_^QYJMr!P3YoJl>@dakUu3;n0M3-u z%cw`pH_g;Hnc9$jM^fA*rrZbMqsp?5Q9#b9_)k#j?)t$uncC}((vCEjG*E8vV6KGXMxoW#$d-vZzSpnC>a5l= z$8cwSLWbQw;*N@19U5F@N`{TKpDa_yGY?V^Iowd}bO$3YI*~15bJOeb7V40qc%~p% z#3=DL2K+0|%Zv(m&uS$u;t(_S(C-^I@aO;+OgaPl>`Dsk4EndF+!lP=J`C9CZ3~Z} zF=6`_>g@Rx@RC=$4&=So!Rh5M7p}E4x)U4VxS>EeHS~{B;eEC^Kqe-cfbi*%OF^wF zjMh^-LuDyPOsdFEf2|nlyE*k?6i-WeM;N9S+Ad#1{M*y^Kcq4gD3={{CgJt-kL}FZ z=*UdN-`G(equNhFYfYg43h?|~>7zw^w;~kHv;MFt$fID6sc!HW3^0#~7L?Uh=!8Oz zL~f!D>9h_nZvNA0WrUv;S9=Q9Z&dEn~3 zL-B7va-j;}0|cnn{i;s3SVsMfGOcCT#o0;e>ULSr9@c;ZT9p5bV^#AA z|FDFR(L4_LmpiIQN*pHU;nj6!Lo6tMspX&AwwY^m3xxXTTNJH5StIhL&GX<6p=-~3 z`pJ@$qoWkv0tXv`_S?%;p3?o#Utdb?Pdnnvo;c_?lee6I14m5dHi_Jpl76V_TdzmW zNf(9u%d%*;4>`O`iNDr5x`~)w%I*Ear{raF$n+FJPNGZ0JuTc%gZM%{uONf8@IT4y zC;M2%A<(pig@@=zRl54^yZB)%0(Hv7(xX2>1Eo`rroMB+b~e*t!xuY|ad{FWWw)U8 z>lVx@IFPYd_J}Q3PC@jSO40al?GeotvyKHhPz&B=sMZXmyR%9(Vd16J^-8nLl)&V& z)~StuZG?YNGi3|`9pFWi&9uaSnKr1Y${jkPio0QQ>UUC<@*DyP5H9VUVDFn;nV8sI zoi0T92)<`z92JUF2wQ!ZX)|||qwhfcml7sO927B8r%WBY(&%+vWfGo_|9)x~Fzgug z4%$z~TJt5C+2iu@#;&Phh`)<7E{ZQ`2A3?8d?&}6BrF!ItU7wur+t)+;y9O9PrcV6 zY_fVm0+S2TW3<5oDd(*4)gpW zYhY4D#znHIavdQPb+*NbUr0psAp|hx`Pa{^Sfv{wwUZ~Q06rL!7RwI!*m3nQbOmlC z5&o+Mz`!y}Ie!q+nA#-ge)-tz`3iCAc3ckrTX&$(quVF9cqghy-vd50e!PO$S4e)< zbbnrBNgjYIp|vt!(HU)?+Q-ig&tCF6M{tIu>+j3Ik^44CyTiUDQP4FV#*14gpO1+R z57l8%;``sXJup_EKZZ0`{bt!WA!w%O^PkUz?~6RuE!B__wFf0b@x#bXz;@HPM^mr^ zdB91;QHKJb09fi)NhJwIM`M#S?Qs@+tq}eZA2ziHdyV{U1E?b?R~%FTbJXx%PPLPv zvja@>X8cRBGpRZ1OCV!)XQ0-WTX^4?8c|;&ZFkgD#~6(%YJVA7&91K=(bsIMo%z?& zS2cwbRLkfXnL%UC?gO5r1I2*oV_2SeTbs4|6DEhd<*hmS2S zWRINB>FG2j>YP8td;G2yoVXpO3evnkj$Ap+xSX~KN6)v2FG3h)oq38QuE;naL5MgO zd{2M%D`e!dK1yA@TX6Q-g`A=<5#?owyE5kij!M;xNWtlkGceoKXxb~KY-tyl>OQ<% z--F^b>P@?x>MiD%6fnpmj-r(K`AUt?8A*cEpl~1seiX%Iw$0ma$`9c%+r;+z;fCP& z`{co)!4r|}UmAPFLVw<4UrwzOwpRYPFQrss{r`{w$md(V(igfGriIIPf7frrX{62; zyY?cEw;WpJ2ToVOOu6)5`@glY$N`WrEgnGS2I{(X_xEse%P}98F_EIR+pc}>V zN=f# zjn^7AS~;D*2O=IL@Ex>`{W(63_@{(zqr{MKFX@d$2D~|12%Rkxr=_M{7Knnif7@nz z&$fVksvE{M@gE>)j^4B9!VXq-I&r*4b80z#yaHiD=R7bzK9%pn-=~?N&Sq_C+(r2~ zfk+x0po48+sJ>G_;C$DR(!-ux_}jxgp8eB3`;$S;w3AkKpvx&k@j2o`4-GRS+b=D@ zw_u5ZO-z%`Z2weWCrVSY7rOrAZ2({XCiX+78aeyE0!9{8xaD&wSz|}+2KuWdbZlECoW04|4c|B>w>gE zY~!D}MUSOWwry z)b98rt;~OLe6R>ISU)vUsvuczHlJ=E2#af^U3=S;*FeCzU-ZoTA00e8iU{RE=lT~ixH}XbyZ_PSWI!>TCg{%ByNXoX zpmMufV({qXs?KjJvLj_xED{M3itg=K9egxXqFcgqdU@BH;P%(0vSmV}7rh8SKnw4u z7xYZRL+(UP&)%H9@0yyt=*biSKfjdj`@WaHuQRhaO%)p_o>^{c7FZ}GDlB8yp6C%a zz%H%02wuq+=Pzrj1&G&K?Mgq{(dXe!GS-!0jKk7z&UGi#LaL2Mz6bUBP9K83?L(j` znMw9y7lA<3GjPoCS(%glU1uC{{y=pK7p`*LrRc&4#!ys|Nu4H0oe&}Z)~^3cy+7T+ zRNq4%Y9G`wM{*d#+pLG{jh(gD^%TL8nue@JY(=c5V%4@;_D-L_rJNCFUo@bD(?H)a zhU5}(8Pt|PR{~lCNd(@?$$y>NU-CGh&TWo8g-u+aN|xrE5iNOY2yP#8RfptK##sz8 z__-o-R>XGGq4%jW8>m{$Y)BGx_VTZ}`q@BGSYZCKBc5%TGUEw`!##H~_G)zpo0~Rf z&Wn`k6AznEkxle;P<8^(OuG+AOnFls2u*lhHXBTUGl1+m|Hl5VnHM}d6+-@a_J9$nJ^Le zoYfBxcTkK`fOqJ!Q;H(;)vfgqZLcDU@h7u}S6@ANVPrmWCrifV!z1~2O&&_e(f%wC zOG&f>*{xq}jcU!)D4RFFtCJLpaJxwIH@e4om^`$CQg3VvsThbF1S-c^Xz@GxKELpm z{TndlgCHMVUuii|JpITg(9ttCaeHJ`&G&-JQN7Wm{yc#y)g>4Dy_#;&BK#mF;?jCW zkke1c=Y^DayzuoW=v#8*Q0oAg48hf~Jk9p+Qk^DziUC$R*@S?hu%LX(Nk< z(zQB<)WmmAyAiq07%5r}VG3$zC+kgo9iWa27x^iw)eJJ~QxXT4zeEfE-}rsPKalf( zp!XlvfhSr$79C>>j#6IUN&QM+bDn54xOd`5iEGhwY|wn;22R=$Uc~1GpX*$El ztYJ9!%fKfyT;>xc>TD57WlL($`zmi{+a#&C;c#-0{jOYW%KhIv z|HHG;-EM$dVsM+Ax|jDGlkyi5OHp5=oSWtBy4^1dtCtw* z>6<0@6duIw5~v}h&DT@I{92MnG1jl8*xWfXgq2pTi*iCkg(D|T=w$!(glpZiKZ?Xl zAQlaK3CAZyVesz8xiq?#FJe#@U{cHJyLzXD$OzJXYCl0>cuVzs*gAPeNvAl4GiUz7 zGFAuaFJqgQ2fIoc8U72ali7%4V>~|+@%YTIsja5xY9ch>fUy6(VCJ3uT*{(t(f_~; z;L}>@1I-VDu$Apqu<}XYC?7}kNOt5HQ)<5c9@r=xdS}t?DdHIkftYr%%!aFC)`_zb#&U~x6KBI!!Wc8d0A z(iRA0_l{=8(nog!9+qb{KeiK4<(1$YJ9fD??Mqux_vlI-qy*xSQ-UHFwVmF4>n+na z1KM6o^U*>DI~sXgpAfj?ctxC%?K;)JX=@zv z?D;aJNdN#cSxH1eRPIA&GU<#x_lkZ^{n_&ZwT$Eo8RiI6oT$i0K3^~=H_rzR^^Sg~ z{(|F{9f0q@_rA#?vOzgdss1~9^q2*2$v1%;oNUM?M~9-5NZf-y!22Bc%6)IDE@0OI zdhEuv>smLrWN~I%TD2U}0+qDw2DDuanyhWK-8m+i{!-GvbCs$+Z){#=5Jw$(w&14b zn>L}I2ny0ikaYszj9IsD-jGq12V}3KtJBI$-=lpwLJ?UbzvwvfXaRF=1Nt5Ph#f5G zDU(M{v;_kPdVue7-=(ER+r7zR5ZwF(oN;2aGbEG=KC%-~wc#_`28}xb?LK;a+5)+t ze&4T;E7Tutj$@iOu-$)JcJjp?2tp9VLRYbq1UWpX-y?WHKIyZJ83b_njs?uMK7#|D zG9Whuh;eo^4&%(_S&8i4BX4|`>r+4I7o6@aRN&ZM^aoCP>=xvPYw;cKP2#&GK<>FV zfkAfdp$B<(AnmcVykxr)DgWdYV^777QDlJ;yL69gzi0eotY2Ex&#FGTqB@%AZ_;nj zf$Tg(r$2q_X|oO3K}x?^SzfVmoj^PF%Hj&-WoT&7#$E1D{i0*&XZ($>TGV<%z6p>w zRV&i06;AuMYs%_pRE#$qcOC}80&GBzqedQbO-ZR`va)^mF56{)@F36T>bIT3*hbi6 z1mzk3ZFjdOb~!DtEZf+|(ZC#)&hfnjG_I-sGkXV{VU*{u&DwRsPC)cN!8OJY+REBU zbu8m8{T}&w=k2%c8rU?qW_Ll4v6&==GV_vX9w5%dh>IJ#ah76sU;Keh9a+ncIa zZfLr2;iAgT71Pt`YwDYEmp(u{W7nD7=)LF%j2W~Mdc7Gz*I(_Y9o zpCx$74q(%#7tZTFqrd>Vk~RtpW(aB^V+1tN8^|WM4EmWx9t772I#X7H8H|BfwO;8{ z=gxhgWw>PRfS#t$(kCszPJQar)@p5#uiM$@5Q(g`&1=v+ZI{XuhzO?+$RB`EAv2)cs|<2hXad-MBC1 zWc)=ZhQ&BspFYhvP5aSa^aB>(Fut=BkaE~!9<9@=_KR|^glj_Brj&h4~`+HO1&0G-cI^gnZgdCdd127Li}rOrbBY>}eo4V#5P zCU*W^y$?1ByZDi(XP$|kAxgQ}4T+A#&ce3ind#&cd&f>%P&r{HR+^tm2gQAA~=F5BS^TYTq1ID{mF;?ZsTpaerR+8O|(cUqUfFYOXM|;*tKw}@oo|9V( zN!EwlXixUQ_=?OL|KJgM^r;@6Ayb^Ibmghg!}aT*&oOcBOVvSpR@%33|IFCeR@zuumOf#HyJaLH9^A{ zAnix4x+(z%t9aEBkZlV=;1M8n+Z$WTc)Z8ES5zn9d)|}fz%xL!i7h^u82<9fC(EM` zKb#;vFv&`8d^0HqdWeKEac(B#S-pJL#M)$-BhW+?CAJ$sw2jjY)I&2L`L{DE4^ zr0krqqSr(Ti2mT5s}o(5d`=7CF`yQxAm0R^j^hMW2OttKP6X*g!6$$So_W93wc1r3 zw9RF~19_0eoLEQRfIk4Nx|@vKt_+~!S?|C@vcmDa z8V6_tFeIn86kg6rA37`=jeVeV9BF_=vhQ7VR%9Fd16;&c_jMD#vT*=cdZ7&L;Cs$p zliU1x50H=?vnL5~g}(fL)9a;YB6Q`*R9QLDmw=<_0>B**KAPgV+kw(`wlKE??dUn3 zLfXqc>;N6WJ9Pn)0U>|(@Bf~Tr(Izeay!F#Zc#jQ#;R52{TF>8Z7qFeXVnsjsmZ9 zq7CqcjNqkr(br%6qS-Q$15iYw`#I_ zuf>a(+SFL+TS(~q;0fSA zoxOAQJ9CglA^IauKz-48@U5p4!Np<0E-OPVw?3bpXj1So5?gBf%F(!H8_vydh}_$h zApMImPGa{rg)Ov`fbo)cm~jGjY`^+)B-0;b2l|gc^yi`IgE*2mytpBwc@9OrIiBl6 znOvB_9TW+ zKcY`HKr?>Se_j>x$uV3P%pv`cKAU5JeE#Q?zigb;TeqY zc24=LVhl>=7Ka=wi@uMe@QL6H-Ll;?2a@*SG?Fjdz+Tf!gfHZc+!*JnFTFUP6VUjb zp6W;R1rLSJa|F_1ZGyLSh^5uhJ8g_Ubzay+db6mnC+lHsk&eN*2fbsQfYIjc>ue_=$FsI~zxE`T78l~3 zvXL7+BJ;|d&qRLuVlrnOoBc%8hjTA&Y~)Su**Eo;w26LLTXN2No-C2C<2eDzExpno zDbvq>_OsMSeIyw*#$?BhhxC1tcav4`GQLuG4*ZE2vv2~MC)+8$*@Th@TEEy0dRm96F(~?O>`3owc0r*O*^;mDBHJf&50T?$LfEeBLG7g zyq|+CBV>k$vuuC~03p!N#7+J{WFV#qWCBX@Zl9c=00vvb*s2M@WI}o1z`+Dsz0ZV{ z(=6uMM<;2KXQmEubeKQ_2SqJ7r)uZ+ZDsGy9htUlwq;+lYE8G$?;0{{=88DK6aqA_Xp9$<^@|3>!gDhGG%EWh8hF@ZP$m@Vl{J~?aZ z}eC*dRe7@`4v}`4_|g!0%3TlJXIcmyZ+AK zqD@R@GtEKO38)?o0LX!{wG>@3P2@>+=*&g70UVA=__9cg%XC>ZJz0jQ50`};ep8dp-|_q6sP2lGxSu}Q ztRzpsJ)S+@)O|W$XKOwnJlVJX8jxu!?$@>)R!f&fJ1<<6;13cNqP@s3r}k*bIdIb_ z`3H&s_Q*6I(oxPi^6P9zz|GL`;xaPXIR56YaYJ|_FW?klkg;8PX}@C4vd7WM=$eEQpS^o5P`OnsIO;SA?^&;}K#2kg=%TT%9kND0{h)RT{s z8U)SKmjtfj{oc#Isv|p0zmjhq;8~<4r_rI1nV}<787-vzeZe2ksAoD*=}+WI=Q&{j z#hjaT#n#JsYpX(_v&bLOQ2P(;&vz*r`-zWBmoCY^fXsMa`vJemfiio~;%EzwJiKDt z$O@SU;;IjO))Ty8UqlOeC%{?6R0-atbD)!a$7i-)-txWhf(y#^*I!?5zUij&$-nrE za`iP=my14laXQL5V=^)?c#}~Uk?)?Ut8ILTq8@-#5pyD`aJ+I|8*!Ws#dScjEq^oS zG-Mxu$=QV$-L}N1vXL3r#^W8Fu;Zb}hbN~Jc%+;98S+{CQ2hk{(`n9=mtT6Z?2dlM zS)==-uhUIwD^EXtWdgJd7cVJ?=k=zI0bm2OMPHo?sRv#5 z9{n$XH=Qe?OJqCkQ6$%Ef9efB^>q*=w1!BN@hrI)>2S(c`L< zz~j1TLtn2wo#VD4`Xy04`*-aqqjWCh&uy80*h3<+BW*7CZ@>3rU7<~g9 zQO6PZil4><7S9+{XghYA{Tdi-78J;Xp0kwzaCP?^UCjvOxSvf<&^!nLj(6T^{IdD= z&0%A=mmQIe59E_F8s#Eq99zn-JoupxOviu7{`ir33Gj2|Ien_b(vzkre#m*l|HPal z1M-{t7JLxpHytvhp4D#JdQ)`cx^?TyZMWZEZn*Kr^0AM7ES(AZ=-s>bCh-39Z(d1< z4Vhv8r$QHwgf7n}@1%2z?%j57&~6re(1&ed|MlY|!4GY1D`|Rc%#`E4;3o%0b$rqJ zbe@JB9T*u+hwrOV77j^{X^w*zUwSzmx5EpEa+_HTtDKR_F|Qu!)Q&pWr0(R>doWFV z_>Ldh9`Rn+)dAnMFBzq)#$y)38T0Lk@~?mPneyO&{73oU|N5`xhd=ybZmasEAN?pD zL3EscuxWKXOpd%?z8n;E$XL$VjO_HT7?Zy7`!{kd(AerXGLn$oC_6jN-jiic7G?IE zI&>4=CAXY9bU|JgVC@S2PelK#4Mf+GTkq1RvRlTI^v%2zhum z9pumF?f@1=IG@$ou^hn`;9PUfHF>ro$CQ3T8Id|DtG|y|?j(ZW5q|Ph$Her=cK9Qq zpVMK77fgBb-tRnI4m)+>1X{d!ILmLW;$AYMe8%j?NpA#i$3^Y$+f#N2&o;-n-S2D!yCPrD zku&z^w3Vmj`M$>Q{W1O+ojU5Y%q^fhWqYR+-s)qre+;=HmlpOJ70zbm5Eb(U+4*a*%IH`8g|S* zoVuQ=vdo^>g?z?l<^f|-d~H}4?ET3!VoNQx)KW_=weD=?)Qb}Wl#rdv@#t~?noq2uzWznMH1p2C@%PMb? zOD1s~ZwW}m3QLhS)0Jz_HV@sCF1Ttacu6bhR1p?Xt1C-kY6p(&!-`+Al za-Dm@fH9edISgs6i^N;haHej;EZiK0rbvu z;+P99NYISzIUlWpbchp6dvVB+KaOWW>Y=Dxf^;EQK#=O#q@w^y+fMzJbW04yE`3u&NOp|TA4Z=?Rcat zjCw5@URai|Sf2X1^7NId^JFBSje5{itHV>bfrU|)fyu+AXZ%pv9oGP$@&&F~MJ?(P zyYUQonp^*dOw$$Mk;o!jp;?umfN{JFzv;Jo6WEVWHh`Ydy`~;bL;?9qdl7bo?eh-K zzm<`ErjsJtjGf6X^Fkl3?6&BDE&*=)rY4*7h2q_0t8UGBvZT!3&$f{h&NKDX-nGrx zBz)Vn(Ro7K%haKf+~$%K3-u2UgzhZQdb1_fhT|V+4q!~1(?0-NMs>ueg#&({v7f;g zMBmvVXDiCf_J^;B-Ebe7#e4ZDI3Mo=g0k_03l`+|Y8)BrK@Jwgb>Qek*sR^V8e0bN z8w;DD^km+9YtlY!41k>dvJm0cTW>9Q-E~*F=k9yTEw|iSJ`#56?66Djw?&~v40xk_ zBTIz;o$LPysL2nHd_E6g+@<~$P^xn^gOy4U|S>4oSIQy_L^+tulwtBHEM?}s0(=# zSyC4>a5w|%fv=SkZ0+!#oa4_~tIkS*dpP8V47o?0m5F?aoZ%4K7xKc^hjAV* zUQ8$8OysbBI(SU4t8En7L4TAz9Zq3K$vCHy-w=l_yFf4Utg&C32S^5fJ= zCt#ESXw0^YOg+_hCdnbvVUHSzH(i^Kw!wqO;W3fUBvktryCaBD`_!jCRqnm_-qg8I z-EvEw-6(pK{iAE@w>jiSUvk)jsjz_@ekUT1=X3(bGZr;%jpv=IIu`x-k+IRxgPrBK zuly#RO1Y>jWXk~91ANMHU&sZyeeKoXW+a|SO*RtW4~-rwE0?dxsLt!Iy|%3T z_{THq)Yi^yI{j}Xva!GFpT9}*xA7O}v~g29>f(LmKNm7Y`-+MZInSPrMB5tkDgO)4 zJzIYA<9{nZ{O5lz|KlJ3vHZ_}`ls^0{^eiFgAYDfo_qeecy>=ZjdMI4ZBF*RS3TKj zc7kmbRW16jItDrEH*bDDcdOVJ<4kfB8X4v8Y2-faEWKij>4G}VChe~5bb;f4bBvpe z!}>!G#`ag)Y_=KKr?LZNn(ne?#xCUEXJ5Q`BFeTq`0xJpp_jIA)DC1`U#u?^VRg;b z*OXhrej7^~vv77RW7>rvpZG7;-{vAa5s*P+1NAWem_9t7J3E}#-&f9zaa^Vt!%4M?YvY`yVe|FbBC~Q#HzN%}Xzv_9og5FUTUBkv1U8@2=_S&$Khg z5l5@>%&sVFZ`k|ZiScqMc)cxT-&Xj>QMpJk>}oSV=!twATae?B;Nd{buPg?r+m~AS z@fND~|A0>1ZgWu`i?P%C$6SmOyz;m42pd2zjDc!Dgz7j}|3zQe)ZH;IJs5M!{rh8H zU_2f7$iMr!N^d1+o+D>u%s8C=cl^af*s8v0LylZ?j@q}FgL+2$89O;cHy!<<=VWC% z#y?|Gj*QNKTee?IEw$8AOD(n3(jQK5o_Vy?QcG`pGAS}aHeoWs0_fFM>j@f99F4F` z$I{tnm-Ej%Keupm-r02gJ{l9jeUnoe1qHY&F~JrY0z~ndj-8z7n?w&J7<0h|7vw78 zTW-0f+;h)8<#Ulfd-vVt#+z==Xf$VInQU|FaSEAe1Iufkr~(_nB_N_nrO6nuLRkSW z8~`TkoF}3MfIEN)U}XhbfFSA(oHijhudP!>b*~8lBdioPK{eqYJvfp8o2`39w{TiI z#|c0RIK@BUfE<-gJ^K3lvJ4V1sD7%e_DCmSw1sy74fpTcANh`#-gw7gIZ_6rEYtC~ zZ4%wnJz387jCW`+yh>0rew)`5?~QjXJFPiC439x7=OSHzpM_4*T)Af5$` zYn%Q1_m#=uyXdQVaShJ_C}aSiflqbfpQ(Otijo8j5+MZqUp2qKoI5m7)(j0s^4X-b z7Yrnrv?AIl9XwH)<9{-t{X{zgIO(6W;=2wohggjB+4wxgfoDhm=|)$kqubnXlj7QWY;N?`mqT!HX!uD zZ_4XCr&^7w!){IiU{d28I1>8O=ug#kc_q){S+-8(sO?#Azy0>cnf8}|S?;{^u5#;b zx0WleyfPPda6t5j?B)5ZY=`p=iNk96CfMvMr)bI9auOlipmMZpuq;=(@=_c9Gn(LAJuSHL<@rh1dz7oHpIg zJi6!}HbDDpr?k0ouix3;EO&iZ*E=g)$tC`Xf@jA7q$11^+f@5Hk*^2B)<>qLKX^1? zIR*O=*Rvl8{q^o@7ptBa8&v*J$8*Z5Z*O>iG@`_rh4iA12`qFGflJ3cUn76VgE#a& zd%w3y-4sS=*+uLdHqPk3m&V6l>@84Ij9Q^t`1#xcCzTX%hs+fANj~f zQpY|XV}%=HjKEQN;rlNtr-xn+#52=jGsxvJ6lG8Q-H`*I-c!d-+CubpZhsiOrU%Ai zbU~k(1+NxFfAek;e=%lJMq`(aj24mYFF zq93T+dd^UkTN_m6@3yV&Sw(an;c_E|5Vxp1W2phNYcV)-s*UPRg z!RK8&Q*P-L9%tW3_M;x&t6t=ZELz}j+ika%yFUBba`)#yUp^b3gl3R-Se}iAo&=hnt$NC zF~j^A_cV2Cwlu~^c1)Y&C%sz~m)U#{^NFZK&JXkl!S}Si@tnM!TgpC}BY8(p*a&t$ z?R`jnr&Mnn!qeGpH79lPu@X6>>ts{g>R+@gp13CAO*i>1 zbx+k7`PF_dowQ+}%sFD#nDellbFo*Ea;(}Zqc*H_FSdhR90>-o;W=JAi6XVsQcEqh z)KW_=y_0Cp@pMZqwe&WmIsr2Ai4PMUlQF=Vh%H+)0pv`yOo~isY@^8u;e3ZnF1@sz zb@sbU@8E(m9_sIGijhdRJefD|D5z~h1VG41ZhS5rT9^@ewwn6l7r$7(@wb0lzW;+C zlz;gC_sjPpJ@D19CRn}p^0j%sjL9${LINtwS5j^cAdze$`GBkjuB<#G>IP*zyRtE#eKky>8WNl zZGs7LeFnIRq`f%UeB#MK@ML)TigMojE=a)Ub9die9{9>v%GbZ~jdJgOUn+Opc~`k^ z-MWmvab698L;ERb{FC|4(CokGpafH+Y(?`NxK08v}K1U$aDDToUqjk`pbDkgXR2%gXO&o=Vv-U z(m6u|=^*4NOaOIWQ>M8(IJt9lS*4v@H^r>KZ+^2Hm{Y`AIKFFZywpZO3{F5mLh4pu zZy8*;u*?tLsF5XfF{5jueLYu!ZeTUX&5~tHgLxeQw!1mhx2F8F0XF0VlmcP`F4W2P zSk0D+-5I=@sytSpris!c^ZpHaSH5UNtDr@Z4Fb8NzDQljre`@1#}AG9F&)98ESR@5;8)!-w3b4IaMoKe7E?FV2|e-15< zt?D?&3-W&ES!ZS9yk$4!hqMuWcQ%&y(RsDwJWVHHC_lOULkB_Kb*$gX0sZ5cv<0*J z0FRyZM$X0}0SGf|q~5*;h}5P8T-`-^SR8_H^vX3L{K}Q5m-nn$la6U}xq8*A zw6`Lg$v{TB=vQ_%(ZIHGn+_QQppS)oJ5x-)qQW_B(g6_pXC0#5faW4yI8SU>%rSA} zjW=fB@#Qanx!n6#e^qY1?Y469hb}40PCuheMm=^Oo-W&*$2c~bXC;ZG;8aOocak>m zwk6$^cXsYa*+X{yT}eB|KPg}77z)|1dM?iyozpi(oyq-zkd@((c{=AFx}?q`ZRv@+ z*Sxi@{Io03AGxYKQKl@{TTs>iO8IxZBSF*XKbmWAosV)Ut2(6(i03O$j(NJnlNsvV zqb{5k8S&0(!QOZ3#Q8Zg0$4qmk%-Q3rFrx!qiiF)8a2v+G4uW)Z%Ta$9?@6tQ73)0 z@qvXpxlknfQqQ=@IEHSB9JJVo%yQsy(vbh`d%{k6Zrk>-6$kd0>B+-oAj-^6q$4NV zytZ{+$imihOn>Q1Ukd&DyBybi@B2R}-wu7d_rCkeO*h|M-gn^z86nGQgHPVaw$ms1 zW%;8{wViz)!{3u2>}QJxBCkbZ-{))du;2T4?+CF6` zc*>5l!P!s8HEoyr7vITZUXM0TyX;xl;-0DtHR0E=EuvSST`s%g%JP{z?<`*mTky?q zezV;Fl?TdQ_k2DbfyR)=s+?!~PW(L)rQSwLS&DaL`^N9;qfauXOUFa>H|nSVANg& za_=MuRa|p#V-vc_J&}?Z@p(Aj(;H)zv(H^qF2C~1a%;%PU*CU!`J4M6D1RL?a_471 zS3Ys$P36Ovtxf$RPwM$r{68)!i}D5UEebPsAtM~faK9X;O#=nopKe)XO*#P8`uQjk5|8LdGx*7lA2#Pb>DkZG%Jsq zzdnY}Xd~@Hmh{=?dinlnKeFh%r?c(IT33pHWSMlT#cHXgmRf45rIuQHC(vBu>Xuq+ z>1|9VUM8znhC2hnHkJ=?nl3Q0DM?z% zzs0?c<8Zo})N&pklV{Ywxig=ydE{q@yw9`wyia)qxg{M^%_BMabZ?fgzQcu@g76tH z&N%aoa^Xc6rSsOxdFQoQrJdU}t!$jF01Qsx1m!nvYPMxG$&E6gnfGPAy6ZGIncSPO zH@s+ozXWEocug6*z8*twdSCqCeVgAZkGjiLpNoI;?@9>*#XrDN0G_D8*~toW*Q%p3 zdEI&bc;pq$cA%ZJTjKBj;HB+=oDs%p$3aj5OzljEIH*L^0$Fdo@uqU~CqJ1Wu?VNN zYuD!LdG`VLkms}|2bZV;&X?iN>Uy;VCLLSbqg44+K~~?@35aG@ygHtU$nf-}mDY8Y zbvz$=HfvJP>cgGv&s9K`)8Bu-9@DTbR9?!%ubtd zcp`x_5juDzGEEejs2_YIAGyVD*bDN_;UuB}Pqd3R;=IycK-oN>E1pwdU=U!>v$-u` zyk8U`N9IhVXq2m4hfjsnnVxAI@0wY7(c7C&Ob)PgScI-FTk)=OXbLgCBe6yB4VPwME?zh42X;IL`oMZ6HtF9^^j?dL=)|B~6mX@*JfwJpx^bxr| zZ^%B`O0G2I^)>xhD4*}N!R+?0a-X^xWl#cglCt84pu8upHT^{A$Jr#`Sp}Wz);THO zlPSM8Iw@5;UVeGK-V>i$&PYC`x1_H8Q%0)|487^*RpmjZkjc7eChk0Hf8(AkbACOV zZ>3r6Nf4K8@7~=+7w+3@E8CFgxW<7eGK^lavon#uU1J01WRlr8wrnj2Ll@`)9ivax zj(69=H@}lpPGMu4)VWB;9G<1$wtD0Yx9#K18CX$1(T{c!5Z%PCq!S~a>6Vp~CHL#Q zfY$o7q2Bl&oEwiZ&gPAq%CBE|A@%L)r=Kb>zPKUJ=rexG2)8JsdMGp7$sXbp-M%Qs z3!-l6nzQyU3f)^3c4;u`*uB+Vwi7$w{BbnRqFS%!^Jv@7)xH)9zmv>uW)ZbH9_RlLz@jWs-QstT4M2eT>->Aw_UF6fq3_Bg;;z;C3 zIrVqOX6$pbZD?bsMXOq*k@}eBYTngN^=(IGw!4N$`QFWo?p(4zm*QDEvNFc}=fCfL z<&uyEk)rr-+t~BYKR?IYWZuFpeFa%JzTTbD&Ihxft5n}PyA8U@uk}99O7(uVXrlW< zE<)Cg+k9_!ZaB7FuC?zozte++8g>;3tce@;kwM-;2Cx7o>rL-eRjy#*bojzPjK zrrCMC6?NV;^X+(4Yvz+JMkgwR`;s3sJgJ{8wbW8eEw$8AOMiM)$44!-)Y3bMYLpHT zX#EQ>lqVj4ygd5IBjvHj9xLmge?Ea<(K9AHCcZ!}z>tIg0Ym4Udu~~@Y*`sOGB3}s zsMEQbNm6IBTYm%K1K)wX&VbqQ>tC1Wp83_$^z1X``DdRi&pj9E*=J|cuU}YSUU~WD z1kIcYXImEe06~BufQHN+1v)VghU;47{;A8qSkXHnYG?IsH39b~8MRRDlh*dmI4Tn=69rHcXv&blx*_ zUzDXAn5XzH~|G~ zWR`a924SQu&>uibs<`q<=TIjqC9{j9F17AiuY6V1$!CWHey<62)xMMd_(a}qk2N0U z&vTsOwS9vPfXW#{<^Y$qoZ1QK%mHhAwfpY7uYB!mUn^h#`q#@>zxvg3|NZxu&wS=H z<&sM-Nk<_^V0{)ZIJh{qIYQ{6Xe?`$J1x|ydGp^fJiypw?jJz;Xy^G^d605^Cle_f zk)}A)LznV;SG}v8#t&ICWuD2+eLc;6?$4k66Yp!}B2q{0@>*OJJw$go=R{{%kw1UI z{M_Dh)vB`+yk5MdIX_g{*bC<&0w#CGCwsvjv1|A&VnM=V4kxyPZ01&=9F9A8rW4Q> zUz~sQGg7IED9d_g$xfZriJk$e0i`pMV?h8_X9TgemxfG;zMkssD-$r^yrZGoK9yG% zNhr7SZrr#rf&cYkTc3UEsq);feib(M+46kY*f*uH`OY%JS7qtpoC@AqXyH7pojZ3V zAMq1^M0Szq+$Q?`^HVMt4L4`Nx(AQ9ZQD8n!rNABD0pRyw7$v1Wixit9f|kVv(^4s zly))rt-jd~ev3qw@j>$ z{^Wv?_{_HKR7&IvU|D3K?V$0&mAZvmWAo{J)A!Ew30)-rDj!Hx6Zze<+nJcoJ>1`Tgci<=H6DLk~V!e*AAg&T*bI>zuV{OvX{45in7o%1gY)8$7ZA#Ud43hf5cI z;Dcpo$0Ich7v*duF$7CC_s3X*Xk-b?erpQ<805vEp6X zuG*a4&<6h*V;EzZUp@VFo<(c7h-|l@DlcTR%1urFo@wW}cc%Ou*;9`EA;=;ckzVg! z&|f|WbBFQWt(mX6(~FR;_k#F#hAY&_g;r*lmFTwL>a z*y-QIc-SJj-C-liyZmQUEw}dLWHeqSQMh3D0=iXc4z?ddWPqJtyY}+j&BJ+r?|tu| zWuNKX>jV1_q=V8}@~N=nkNy1TDf`ZXR7d5^`Ul}NIZK-m-`|psQ@?If{FA7{e~G%~ zBW0(nOlhA&*D@-ToX6i>mAMckuFu@rk?}0+tUAfRzQd(jr$1J`n%8@0{&^A<& literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/moving-saw-platformer.json b/examples/moving-saw-platformer/moving-saw-platformer.json index dbbcf91dd..5c8f39f38 100644 --- a/examples/moving-saw-platformer/moving-saw-platformer.json +++ b/examples/moving-saw-platformer/moving-saw-platformer.json @@ -27,7 +27,36 @@ "maxFPS": 60, "minFPS": 20, "verticalSync": false, - "platformSpecificAssets": {}, + "platformSpecificAssets": { + "android-icon-144": "", + "android-icon-192": "", + "android-icon-36": "", + "android-icon-48": "", + "android-icon-72": "", + "android-icon-96": "", + "android-windowSplashScreenAnimatedIcon": "", + "desktop-icon-512": "", + "ios-icon-100": "", + "ios-icon-1024": "", + "ios-icon-114": "", + "ios-icon-120": "", + "ios-icon-144": "", + "ios-icon-152": "", + "ios-icon-167": "", + "ios-icon-180": "", + "ios-icon-20": "", + "ios-icon-29": "", + "ios-icon-40": "", + "ios-icon-50": "", + "ios-icon-57": "", + "ios-icon-58": "", + "ios-icon-60": "", + "ios-icon-72": "", + "ios-icon-76": "", + "ios-icon-80": "", + "ios-icon-87": "", + "liluo-thumbnail": "Preview.png" + }, "loadingScreen": { "backgroundColor": 0, "backgroundFadeInDuration": 0.2, @@ -1568,6 +1597,15 @@ "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Hud/Bar/5e8415764fad4e64bf3d6eb76c48ee5a89901545b96795315ec70b17fb0e1f7f_Energy Bar.png", "name": "Energy Bar.png" } + }, + { + "alwaysLoaded": false, + "file": "Preview.png", + "kind": "image", + "metadata": "", + "name": "Preview.png", + "smoothed": true, + "userAdded": true } ], "resourceFolders": [] From 717448e1bfe28b67a6fcc09ca7a0774b76ef77fb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 10 Jun 2023 02:39:30 +0000 Subject: [PATCH 33/33] Optimised images with calibre/image-actions --- examples/moving-saw-platformer/Preview.png | Bin 209525 -> 200403 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/moving-saw-platformer/Preview.png b/examples/moving-saw-platformer/Preview.png index edce42eeed812054e1ece4c45f2b6df739ba83ad..44c9420d83952403881f6904ee45cd5a3da8b4d8 100644 GIT binary patch literal 200403 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

GmJ(+5gNJ;~lA(Y%h{su=Yv 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 e6QGVK6@c0000;UVLPG`l^nmw~jNx5{4M6 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%0Aa0^8C&E-l;`80F{>Uk3FnRYYHZdbvFlNUr_ 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 D?3XCQ literal 9099 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 D?3XCQ literal 9099 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 FKLA;EO~?QM diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_3.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_3.png index 06bdffe294318ac9540971f2e68766334f7dfb15..dd742fc7869bda0ab6a2c229950ee0784fb790f6 100644 GIT binary patch literal 7521 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 literal 9493 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 aDH#or;+4PH%s;1%ru0T#?uU$N@c#gDNCid! literal 9991 zcmcI~2Ut_vwr;3~-UKO%A@mYb2oMmE5_(5eijBO~A}SV;B8c=R zU6hUrh!nvFiXb5E26cP(x$o?=&wKaXeBVmensdxi{`rqFX7VM$!c3oyS&$h30I(Sv zpslE%xcv*rNPQ>IWLZ-`n8*gUJ^%m<&;CUN$jRde0GP)K);7L2rY5RblBYZdM{>c- z2YQmJ(g1+k@jx;L>w)(Lx!~OhUh3fGx+XA)fKvybRy2i~l6COz1cP7-{zR~uH8$7- ztAYa`*8r&ns!|nr;(aloKu@BVk7}Sg_=jFq>izyO6b$+y;_IOf*4j4+vN5#)>5wRR zkcvDEf`!3gAY~PKxH24zP>YfvM&wI9F9GwB9dc z)F*YYyRR=<6$%Xq2#^m@kS9^xpl}rx6(|e=MIazl35ZXSmoFv|;^iayhXyp>2TLK4 zeF-El(7r~D3(3z{9ZYrgXAGX?-)g;le&Iw#3>t_bL*eqU{g{3T;;_Hv$bJ;!592s2 z6i>u^;=O!*sIu_ivSfFXFUiN9^cSjsPydqvDz>Jkzis?WUpzg3oAB|~^{0mM3y^;) z?PDE8#zU>}J|sU17O(41byM_@XncIF@c+Q`KUhu`|Gn6k;QAM9_hZ4S z{Tx(AP!k^ph3~)rnz#L%`F~8G^de9pMu0*4eEEs$32N=4!b-LEW6XjOh$q^h2~=c! zemb#l<{wkG|7~i&knN|MssX`=%DA9kmF5KA`_~Vq#N)ufh6(>- z8~-!FeyR;{$5WyDH=O+`=0kGz4Zu+FT5eQ)|28L}f9X8Q%O6kqllx>01w*aYc#4lY z*p))^1pVeO$d?4dkjX>>_Q!TY{k?F%3gT~uf&bEu561s*AacQA6|t@;2o~>xgmJEC#9Qs)A8+p*FIg z-jM#Mtz*B6{D9$4r?WqXs7Jp2+uw&x>cj8jD&C8lw-oAORKyT63jhd>7^1bT1M@zG z24x;O9kj4qXMD2ZrqlA|%R{fy#cgdWl1?YFUSy&WX=BAuUuZG>M>`^L!0tW_yD`54 z4=UOuoYmi;pEW_i*_Hg6DFJ&pDj^g$-gU7A6g2Q&H)MH|bnk9R)8_1{kq}5#*|lM> z28D&4xsbb4r+RlLNqcuq`;ypS9+)9IX&$H?5Gi{4{D0vpu-im%J>BEw)U*ObHpgnw zhYNscivUctLM#R}{46#smdu&&yV>F+m5YLXLh0v-IBk1&$(i!^aL$eyBkQ*mpyi5I z8bfCIl~NsdCi`T7mKQ&x9G!ESdV_G)(9Yx;_k`3++TQ8sfb{F%eH^CJ2ft5mwUP)>U0g|iQ>(B&o&ZKT%b{!K@89?@4;7uVGdyI3_aHI`UGDTE(O8@wP&^vOe@WmJR}!P+?m+*6fSqo-qovD7Uzu7J=ot8009cD7wr8&I z)vSdbd{jEsu?B=0NSqW?(iV#rv(nBAyoF^>vEK7DpO|L$1J_ZDTcqS-+LN0jp(1U@v0w%W?p8nAW%>k4n-#1Se_zX8wEco5 zlgAgHroEDY6!qGLklQ*v=eP&$ip-E5E!%Qx`KHjJtDIu}jM9*osR~C}6|HSX{n}o>esebO1^2=`MV=vNDBH)Jo9H~G zp!C53v>D$$o|dnn29WZtFIP7PvX`G+TvlhS<}E6nx>fh$sHPRjVAGlp}ze~)d>*y&lipO4yZr(jo z_xW@7(vzvUUGZbXcOQASR)u|km6}g`w!b$D4>Wh)=wMmCe2%!cVUb@GtKm{fLlGfzJ(smLgM7BChUVDDo{~4GL zz`i}Cu<=H+iN-b70ul0h6q{Ks7n1ns;Z|PXfiOsIpl})4k&kXlr6IR|L_PQMQhGem z^H$HGX9rKs^>N!iVGB z>uY|tTT8DlhV9NNx6sPBFvTkJ)jqJ0a%fyp1+a8?w$?U0h8UNMnsZw%zZXNK-}lH+ z$B@D57bC4{bM|aqZD86$7*B5j`46^nT^%rD#WTS4C3~+H&qtH~gMLRgmi*P$Bwy17 zA(#v%RqEvJ&pS}KSYl(CSTlwr1I(6h9+tEnnNz4v?lwP}J=w zZQU`L65V!29fzGOBIenoui&X#zYlqjsuv!FC567;5kR;2bSAmb-}|m~A+N{Hr4C@j zFGL%jnHuapwi(anEHJ8+*1|eIcQ{#7m@UYAu4ZIuSD@Fh5GH^FXl=x8?XqLkeLD_k z*7UI%`F|Yu?s*mRjfKN`^%}kq1uhx}$ER$qb8 z(|qn+6TC-TAkNU07Mk1^4mq*>G`CS^i=tk}r_EiInTjwBGd_LextOJe${Zfx@#&)` z+>i7^VyRRXCQu#knbg%0kJ57&9c~pY?(7t53gltF_uV{1JN7u4DY*J-N)2DD9gBT( zPxHM~+;7=RY{kSKho;91KVKSI=BSoCUssY_L}#gOBzeS0M(TPx;yx{01j!|pXe?M1 zel@x%ss&aSkKqy(i54AJ(R+L*wyEL}X?u_)@~HmNeD`7EObou9`Zis7e9zR^(`Ge?RI>VZ#Ac~nC2Hrd z!VrqFH?W;rN`yAJBxj$YO;@EMVF{GLgJ>|be041F z6`$PJYE>C`d>gPsu&nALEA2R}AX<6jOUdii{!hnJM2Fmm%{tWzbs08T5JXm>`Gvt` zAq{=iG^`frg~e&Bo+2%+W*+8|V73q^6#xQ|#L&q{lp9AG8Z)`H83LG)x2;%-qlPo_ z-b&)tj9i_?aU$=lICYdsEje{lQLRFPGA0MrrA`_BDqa65hN{%_%3Cup% zWaEpC+Z`GuCDwn#Y_2g6+k4QZGmw@zxF5mxZt*U^YnmNgZiW>w7#JIvYlR3#d`ml_ zL21=D``#tZ@$6G54VGutBELsiJ>1ty(L;8EkKWB7qNqVq+D4I-5$f#EZajyaxg#iX z^jNt2!^rKoPr4jn(KR#m(yp%z7Wf~*&;>NQw%g(tggY9mclyhlf>%xyq5Wxv`mY&J z2#RcGFo}py;Ea0Mwp&h`2i*%9pr*^hu61A-Wz+d>(j=Jj{^8y=!`JRNN7s-|zm{5d}YQD4@@ zx(@HQEtBr4?e^$o4qFhB`m13%?$WS_BYJfgH7hjfX(F`8j*W$ZY(^T`(`bTdwE^0+ zb^tq0Bux%~WBTR%oaUAts5Yz_HwjPIOp!}Z;0hPl1RH8t>0AIhgUNaTXIDc#ZFIG_ zA3Hz5a@gAVjS1T=ahhuRHjvsp`$WAnBrd|{dQV-B)H`18wv(Yj_f^qH(QsmY%QSwb$iaU#08yoo}h2>F^MQ_-%Z9F0T> z%IuVPp&il1=RVxaBUz}US&#)gIV#an8-%==F@AU4kZF_KXZ`|FJ=Srg^6s8!_TH7Q zcNsSqS>aHQkAaEI3qf=(k9!2&=f$*cw{x~g(y&D|AMg)bi@PQtm$lX+-b=dho)HbU zz0y7Fk$#47l}RjPedyUx?4npTW}=@4a8)ank)soROf|5f$4N-f5PoaQ+DA4bTSXXXkx#)FLL$Vt{TOdobBDBDQTLt`8ym8o)8!F) zXJ+MV=x_r$YIriM93)*3OfjRF(J1j%NJ_nZVB_uSw{?9lNY5vbmYVN5dV`9hikcBP z2eBxx3oy`o{#$~4iOhT_7!oZyKr)Nv3dLbzTgoAI&zFy03!2jKp1zk)8x0SK7nnd) zj$9l^`CTf8w42_Q^H)(o^TBR)J9trYhc0)Z9(1e2a@v*Od9=MCaoML{y1dyr8DM(6 zW%u_$c|Nf+RVz~m!?F`hfc&JL)H_dKAp!F30k^!6^~ zwx8HYmMs+OcZgKf3NK`yEn8WC7D_))9-c2F@*OVhCc8bLmS>(R9pXZ2dhB&CgZ7VU z=i}&|Z+{rN;S@S^s#FipZtA;w;`m0@=bH%)MGK`-W#y@%n?86auO|YP&!aCf(VTHG zFm!hkm72GF&tV~WIY&)H%)=&Hrc~x=OI<@lP3;~pk@cd;G|=+t^o(E4MgXa!^AxMg z~43>0ty(J%M`!%w7*u{Ic9JcA=!dJcR#zgyM0UHhO?60X-47TKA1qqjE5G2mdRvcTrI@HBez{mUSZZs#2Hg~4vbsu5M6M%!d z!y?q=S(2B)@s8Y3{f_)EUc{7GZyP>~7<87{#rcrMh%axluf2$qOpbvwmNRr^&I$x_ zn-r#fs!9;7ly~=$@$^3%l`Ga$vLVqnnOE@8G(ByJPLs&BBuo>uVx(xzZ&pcP%}19O zBOsj;eLy0={f?kOJSZem(alVUt|ZtNEq_BKGnyT_U7vDBBd!!vdSGFs1G@?sI+=Xc z5-L#?Cvb}2?I?D%vuLgPP-)|RBG;)8#nFsu37l7Iuk@A1rlt;}0k`QDC2HU=*to|* zqC_QWcgk&tQ)RV>mohr@V-{69>!+dKc z_k+$`loTG;17ZPvYEScxW)j+cTyTV>VK1cel(!GQ{LYvD&{#Q-+_ZG0X)~fQTf*{H z5bK!~5oTd2i!M()-%7bnv6Yuq>jt!h1oE@-<38su%w7MGbY;w9$2Xs&`;xI4c)@ss z*#h3O=op_M&2c;>1lA&~cRz)T9oD1K@uICJOKKsqw07aZ8fVrxSP4LUYGPS1(UWQD zulPv~m)$?z75;(ou+sabrzORe7wk-9L?w(6)kzy&$h+o8^)?2@42&&WqPhsF(Ce3c zJtfRbm1j?mQ!>X7X{%YCkJZ60+zm;Uv^+o8{K(8_X`%hyT*csA@tr5dx^S=)*n%&3 z+3TZ*j1NkR8Rd2E@FNYq(V^Dq1GkP&Y-NAdiP5=tC&QX& zybF|HjL|mLBCs9lh(BL(s4ts0%x|W3FzZBGGyOS}biEM+v|VIX>vfXG*Uj(NC@_$g zRi{xqba}CHx)qbEL=GYWyfcLQCgNA(o2vq4)Q~$57rz~deozZCpoI}@&ffl@KYK%= zZrJ$^qkZzFoIACNt?EoYvhkY7?sUn<*Jp61ohZ;0341pv7RR=ss15Rp40O3tqdU6VOTt90eLyMU}(Sv}~9x1)$go#K!@`;Q`vn zl*1v_7H3vF2VOoAx|NJRxf#Dg(+V6|bVv#FTHV{-HfI3T$XmuosG&@(PZ1T?GrLvS z@G6G#wHXWQB$BwSxTV_p%AMk%;+aPh**lzGc;5@Q|K#tee9qQ@*P31Uoa@Y1 zNTcJF_o}|_gmJjtG9(o~i zGf}sGezGiUk!EE+4uD#F+so5sk$^)9Y3I|A%?Olsu+FFFRU8zP^ka$8QE-)fk1b-5 zviR!MqcuN;yWanfeIuf<dvjZ&O@^i5-VTsKehs4%T{7`yj-D=479 zNHfcS7LXZjAbDO@pUoQLjU&HMuMw@=7O5((5&j4^8_g5&u~|R#TFRqdqM7X8ad$7W zXn}>kI6`gpf-peyVc5jge1W^ioet_Az0-fY`Gxd~n1RYVFClq~{3L12MZt@$|{8r_Tg-H4+*fUqvxjKo3+Ej{{#O#n_!WBe&w1Akg0#_X^>2V{8okF8F|f zu|rMph}*@TG5zxy*blTySgi=XolQ%(5dQF@LdS_Jy*XbOQCwU2hawJ@E6x`o!-X>! z8aW)#Jxfd38+t%Fqu3Sf?@;}ydKS2Hxh(rYq(`eLgzE^u{^|;SVcSqVyIG6b zFeAGAXaU;6vH-L_$1g)j_sX#^eIiA4Sd*nY+OX0qdDRIR4K;OndmsdJ>%D13-#GInjhE8)4`Mlq>19%>mf=Lmeik=wov(#2&4RHfjgjy;}^ew z6@}g4{cN&$7Wy@wK?KdG)-|Qphi3Da=wr+lO_e-gAA(?!x0C{^KRUCalD1wir<12Q zXQ!DNDPFkvI2>l!scAVn=683Nf_uKcEWfF+SHGK8lvkIRTz`PeePR8y3$>HejJ;jg z${)MN3EmK5yq=u}+M=Y=ZFca>qzcOA1*i%ql?ZKkFv`m`c~U=t^F6CWjbIij)!g@+f2-s zJ7H`rp03@Tu@uAv5!dF)EjP-d;S2gi6E1KkQ>EG@!ip1jFXiaO^p4H}%= zJNNm{&e`*@uRA+C=Zn?WRK~}l!9hVm!B={{oCrtApmc`dab>65Ey7Zk@z-O&@O8wh%+TZrPccRPfv3muVeaLCNm=^7A4h@-qWsUX$?E?-e5h>CCKhez& z%^m~{1BS_1K`$0E&z90KL`Y{sj`4V;DMr*EjgAIA{+#kogh-eEX5C=IL_r-Hh3vFj z4bh@U-l{bEG3LIYD@m(k*84+$Tz4>|U1)RbpM_ijYU#z1xCz%xjSbt0WO?Ki?0ktc z(!(qe|1*!0^=PopBN%mnbnGp{D>AROPQOKBwVJ)gLaOt{>7*nf{Q2m@BwUoj4A*6{ zZ@bTPpLWHOBTslM-Co=tK-dJAaIytPFrjqz%mKC?Pz8jxER`a&O_ArShFXk`;#QUi z4MV*1vh#_Rpxs?S%y)6(O?PSZ9yd+Mu&FNSU|N{U!yWVWS^@UNf0eRpLRv2(CDr>0 zUBdOU2S@88$;u!NnP57i=f=oCgVJyOTYN7OrqC}(pkpQU2y+H3V%IHDm#gG(n~2=w zNF{W!92>rOAp}30w59U!;l%5fpr5Os3cWgNwnEg2r}%_O+xCbsV&)g#2CTPSwQ?4C z75fL0rZA!nD(D+2fv=Fu*?v;DCiD>&)zNU=R`^yRkAhiMG`mznWifImHpM@HLx9&QPU-13J(NAej69Va4{8MH%xK-kw{@M-Y1nu^U$BA-&^P$E z1v_;EU|&OpGA*$z>%xnFH4%CCV#*OKiIsEeDZ7}W4_ki5$rK>ICrRMa1zoRr*T;ON zo$&+?x$%TP{*JdAJ{i&W2V;}18V{Zk_O$||*32WUDC9MC4>&TXIWk^=te}%Hj~U-a zZv#GtD--y&1ki;RH>}PEbo*#Tz>G&u5_=faDaP>GA~3F!LuV9)zy{N{m{Wx~09b;e z6?k4?r~TOvBcZ#UMCq?7#tu~}LR!ke+kqoQ^Etdc#W(n{sNg3A7o%BF2sKrjj6u|7 zYV=QD7?8QRmBw1HRASV_hpMusBR(<3O|Pb{7F~=kBGp zcx}YY4Qi1a%)M@czdx<-2|}&YH)E0A!-zz9E3STOl5I#rHLSSMQ`~*$7^le{9mdwR zJJm`ztn1zo9ZM)WD0JomQ9bL1xwCcmq=r|6z32^psJ!P0KvKxAWKvr$k2u}Gkg@ks zMT#x5Nm8;8@?*;35I>eG341Y_UkmCeW9Hs!3nL(=@dEF7qGw+voV))w000P3GiiYR za5X~QX<`0;v>IdC_tO*v6~xxWWN1d89mKawmkEQsm|inbBWb-1oo5(vcP21j)eP0N z`(?e{)kJq0M0{%V0!jJ%=+8V52wqAX8DCQ-N?vvq6R7Fiu5445C14YZf)b|a`oALE zhVqeq{mo}*+wE84vY&ScSnJ6yGB3W@7VqEajE~HTJq*YJ&C|fe<^$*PTE=on*T~-U ztok|{?@DFnlv%nsRA4z5z!Pe4MabzRU~Wz^N1oZSP48{@lU%d+eY~M$d9|t;wW;;Z z!*6R|NcPKs8^a|(5cU;mv7r_~Gmu)TeOO|n{XQiz(`2P!c|B!6@6HwlI)~W93|`tp zX0L}d(L8GEhprvqzzYt53VJ|P$J)gQtZRC?uH30SsY9Oe{MzfoC7`Z0s?d2EX#xi0 zX_O-4=}r?OT#El?NUCwY)IR&+laR*C3_ToSC1pqvpo)6K0}$VOHj7y?@lAg`v5dUf z=8TxPE^R?B=e#tXYOvh4X3!QFt3A%pgsR}A;+bD0lewS?&BDCgrxq)@)TA;Xg|a>x zdxuK{`b|Wr+|P~F6fZT@Ss~s)il7$8NkUi{s;-jEuN4z24jYhG;f%a^IzP7 z6K1a1-3Z-Pyn`Y?Zg3CQD4i)DDs@xnTihHb!iF-Us_q^f&NX8j6iE41|MzB)t$A?m ze9N<-ZWcA4*Hq6h{7$VJM37Ax%C;>yvjrWZPZ0o2RF~kirNa95m7d6L_sn%i`zCM& z$M5-q>vsLDXmILn4`JzH?G-3th)X2F?`p)IcM+Z1BZ%g;ng1apXMt|EEK71S8!0fD zUEU0Q$H4P2joeou7)E9T6*bJuNYqS66RiPRJpyUbW;qcu6$j)x^Ri5ObDD~Torucz zb*AUVbDOi(o?@M9hOkX>b~>C>-mv^PxK{Ai95^9Yr!=wx^1G_z;J#@RsnCufGHKv{ zNR^?(8FHALKnC@Y1tw=;b3*5RbRr;}=ansy(yvgV(h-vuH0-ReQf!%ZE1^tCB4PW( zx8us9f!=hz;9L5~%kSY<@|wnhQj#pSweXPMNiE5NTZ#c9BAeFZmDXBa5E;`?O!@oYm;NGO zJY3NtdMxg8{#fi>$#WhU$gpqIO(JW<-J}-nLS#TK(QyNN3m@QW+E>-J5F|?(Nnx7; zW2{T3|fbeaMw&Q}$h+gxP@$JPAzPpJtV7RnBEc@IDB$$a-@?Y{cSMsN- z@$vYrenA+Ig^66SnYTKKOwbYgmskc)1){~ycUhJNxXCDSl^kkAPUMYNTT@yJU^ina zy(0h8*SnIoYdmNI^f{WRW3|l89SR8i8?MA=vu28wV>)`tS<_vD)_c1duPj+sUXF2m zd@OEO9%AMks&N{ng&Ctlt8c@%eX75Sq$mjq+ zE48A79&QGH)tN%e$^fvbDaKlYEf2o<@Fi1H(54cz7y)kWUS9+3xM|ik3^9d`(eWcs?zAsXIe|6QOQ%jR)z+kE_^FFDOpi+FVur)hC6-yD%96ZYJVfFr;otPjM&%63P^>FEQa@F%t*51u3?A7MmV-mhzV9A;LjRQ;?0<%kmzQFI@cGQ6TEMKk&? zW@ZeZd|Ip^UQJ;dlIbn3U?^M7z#b4y{JBc4tXDzMKiB>I`dWQ(I{o!(k;YD_}MlI~najq?>vMCRspf0Lk-DV(YH`K7B`VykJ>geqby2Xh6o|wLP5AB0q z7=Rmrv;%?`#*yg~@bL%pLKryKg$BB2foHt9i?DwW9`4xWq#WbOybmiq|K?VfsuS^! zFsjEm{B$a;%qG!_a_73?K}icgqF}Ul&r=G(oDljmb3Ft{9ieW+AVH=)f7p&ErK+FR z(mdJ8=^K9LT)y7ipu+EUm9(D48RJy9=e#-Zdf6R9`VjN|2k3cT3{J-m5PX^Df)YjZ9ksnuel9Y0UG()Mmi5y0Wq4z=NFcKXqEmp#zanl3ZtY(7 zCK<_>bT`eq%x7xm8~nP9mPkmv6=dK2?t=lUX3wMVUP!Go1FFOo0ezvZj`Ds^Q=p0p zTfAt??27!x-}02;PnaKXC}OJXmQWOFs#QwwyiTAI`-WtyJX=>*Dgt^mm-LB?Y_gjt z9P4j*$ZZV@zI0FDZ4j**U`g>Vcu}Fg!gEBZa^(U6k4cG-X4Kmxb2&O)q(q#8+u2G} zJhm`778}o#t6qn2WO8W#ZXi%n4-n?>DQ}`Azujq~(h-wMZh4+J6~uftiUvR7z?_=i zSa0?lF4ay-{H({Zho@cU39Am z1MHJ#kmD~>l#HuZE#{3SR;>R*g;@@!ad!R18Fy5bVXe%Q zCxO2^Bf;vM%K-;Mx#j5UBdaFk^T9k3v-;I8*u}R*p%%AiZqJz zKF3`AJOO+fSjm+S5I1Mkh`)3*(78`&AI*z~s@Bo9xjeWpQJuXPq=GbfjNe0tEalGtGAe8WwZGo`v z-roVJ-PJKUN83?_2if>AW!A%!qwW&5m+;=^%u%l@iVt-PKDHd9|e;@5>Wyqf~Q zdNhCf@=fszS}Ha(mzSFEv;oZ6c_#4Hg8i&G?v^xNYdNEyt6GHOyZ8J7rhM!Y*{IA( z+cM7+uc(46(3Gr#`MN~0Oa9vnsx;5Rly=4pN8%c9{Xw)K>>`468%T#&pN6|o z25+eQ?ASsPHf@d*(XA0i8I>7N?uG4P9~LBOJVRXF_LHJ6KJNu%S~PY9Xtf64;`=uP}ha5qJJe)XfBiNVsSj}(fMU(lY_b^F1_H2yq{fJ6Oo*&dn! zZ5r?_d!p+!hP&X?$zAs71^&PLH|k-LUZRJxAV5Gna#W5<)MBMHHaOE1w{j>^eHMjM z%2QuZQO9K?+v5V~s_{Vb0zQn|+V1*h*LTmp`TV)*wp%;vK`-|%zm|)>@7cbGZrV+I zXqIQy!{s}L=Gj%)!|y-qetE9zr98ZiohF@q{7H!__#e=jdu**Y5@!t|24$f$n`8)+ zG)#scbFw{x=<{YgA859ms8?36{I+qQUqQ}O`{CrlaCQQ6S}PxlE4oK%3rRXosP|p$ zzkg4z{B^}l^BPuUuA<&4eJy~`coFSAKQ0!xR}g)UB_m^&5!FN-Wm&Ug5l`C7^(AG7 zhi@s(w7dS$UsqnlgKHL|U5WxRBFz#Q04G^BueU-qZ4wLWq$DIDrnt_$t{B_oMPg>uhOkw5(!?S7PhxyqdX?#b9G($@D6V}cz!j?A+ zzn$sV=j{Kx^)Dq4Y&Iq!^b@%Kwu~nIX9v&y1R3GyC;l>%D$#6{e%~~KE&cUNyNH)3 zp%2xzROQ-UAuiE48Zl0_U1wF+UL@HrhyI6AmJ88YO9lS!=w%y#3dEM~A>mYgW?3JR z>GRgLlL0d;*^^D(K93<~Q|lr5jgY^zPBmt9NzBzL`f&0!BlQ?(mP6ByLnS+-+24Jf z5TjbaQiPVfJz{|YBd~3e#^eU8zisFou{rxpSeda@&r9HdVeLe5YBwY4YNt_AA1n1$ zmhe;27qnAc9bz>nFniiYg9ufxk`ucs�AeoQHx8U77$pgOa7ZO#RI3wu$#QRXBKD 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 literal 10043 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 auQ5(AQ9pI1PwnvE+mO1(h!Sn*@c#o-xhanT diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_6.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_6.png index d043ef77c2be60163fb819fe1f322625b18c41a9..52a4b8a733cb85485502b9bf689174093cbc5a85 100644 GIT binary patch literal 8125 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 XOW%BAsFUR800000NkvXXu0mjf;M{q& literal 10193 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 JPDHLkV1kd^a+Ux9 literal 10187 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_8.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_8.png index 83e27181dfc1a4c38dd2a7cb6b70eb62edd65763..e3a685db113d356073ce26eeb5082a4e4537e5c8 100644 GIT binary patch literal 8373 zcmV;mAWGkfP)H9R>!5HuNfrbW!Q3SO5h96%fJR zvBq9wiN=nKf)%62-cYfNy(BTl-F@FTyPLg!*JiWt?p|ioJ->7A=b3^++~oZO-5qkB zYY>MAyg$$Pe9t-eJrf21%ouM@7#G0^#27{(Mj*y80x<$Hh7pJnh%t;nj6jTwU<6_e zBM>7HV;F%Lff&OG#0bO~Mj%EY#xMdgh7pJnh%t;n{&Rpx8T*&Qg#E$~{00-5gqfJ( zcS}u#&*@Q0Uz0J3g()*JmGa;pG7~1Tk;}}y>|7K<&S6#wUMV&yzS&ms>NJZ;WfwC~ zJ5MtodrOIIpH;}=N8q-#2NPK0lnlJM^6G` zg4d8DAS00f3lJ0GN)mHZsb#EZx^h~|R!!sJ{|dca4UxCUL8rSDp!1!H5Q7nWXA&gb zoeD|!ra{WX8PNUVOz3`R8YEsA|Br}`g%{mRW5&t-96b2-5Q-7VF9gEBY$`Fe$qFd- zs_lO}_O&ZGH|^U-`rIX~$u|LK|Q6&l9?A@xa&Kwb+({ANX%YrN;i+#7){)ev-Z zBm`fsf{;s95Po?iL?RG^5rZ(|u1$o*>yx3|&8g7irT`-A)@;bRJqLQy0m2_q6%J+5bN$W@drmL{nkymbQY8c~utAZ5K4?*PP!WZ6O27@0ghmwaYp!DHN7=lrXpVQY0?=R)g$@^p}q+PE0U&o#S z`TW+gps6cfLM|F(Qr7H4`&R54m*K6ZN&zK55Z;~=* zLmyPdfO`vJATDN*=7>scgW5#gOx0E;y$L z75-W%Z!{2IBT>ovx}c}YWeT@8p4np;&Ih9MAAh~OV1L^BuE5vx;&VB(aj z^3kZt8_Gl&qY=gg1Th66O#5^@On&ACG3ee> zZrbD*qd1JsF!jkcn2rEuJ*|g#K5KwEpY7t0vp(I4km^t^Te(sweGSF$rEB!X(zy30 z3n6fR@4f$aKz=rD3Ej7)$F_b?e6JvoreO$V7>8mAgv#9z>^~y7e^99_m^qcX=`FLM zH+n~&fjTG+QJSLk#9@3^4|5U3{AYW3%)=lsv!3pR8dT1B1V^4isf(^bKGX{@IC)3kU$X#89Mm~Raew^keO3u zMa>@d7UTmJTpjCqs+x+6Jrft5U@Slg3xBg07X4-)EPS>P!R& zKH0>TMgEhIeG5U(d^8urYm06$sn9t7+W=`(CG>aJa(nge{6G4hF9V;mL-bHkC4Lv$ zP{6nrzJ(Rbt(4W0f1M z{PZWr+&W0--SpmAm~pkYyZ5l?Y@Cn)$S+b=)WReQ^oy{p~mK z?CUS!-d}$M!^V!#fiMh@v@qVy7d~DtCNaX&&=WGY?xo_Aiw2Zxs-38=`l} zgPgj0A1{94eY^y`Pn77Ph^b3ZN$bWi9LwHLS`WD~nNM@I3K{g0La3yrD(c2xpFmq5 zjg5_9Zf^bx6jf$86g*r4x%cODh0qir{y_~m7etN|st}W(jkgMjR68fa54(Y3GimX? zj|>LyW5pbb*DB?JXkqD@;`Ak>FY*-HaOsS)zux2vuY>X81qWoPlD2?Qgv`o;jF0DHH8%;m-kboT$IHLOM$zSUDtXg^n1~?} z!$cye#Ke7FuV)0p>rf%64;O-$7K%1?5s)Uq+_h-hC zi*LfDG6|E(q|DS*4E!_w+RUb#*I=K+Mc?@xD*?^Pp%8EydynI#0u-*2QeDNRueOHs z@;6i*pLEfstr~8=WWu!XL5*GI({+%!xtcF*<%kjR{Q2`&Jfx|q32bd`Uxi`9bk&!+ zmjiS@HwvO}jDv{VW5G5vpokYFa#_3arU8-Qic4wn@pqG3m@x}0IkU1>Fl&0WKykR{ z2hH<8S_B%505tUAGZhedp&B}09t+`3Rp6yn$r-&$T2))(2)>i9ADPU{U)l%h%NxWc zF!bpfP^E_I7CA655T@2lh5h^Y!_J*Mp}4ph%*@Q%Rfl1?m34*ayAvS%&RB3LjGV09 zFKI8{93ZF)RD+B_Sjw5DodvUVvSLn3Tc&igW9~`>qE2xui#$>QA%_Ye@WVm~IXMI( z&Q(Hm^Js{>I)U$lN1U(bPz042n0vFJ68(^I6m%gk(ap5Pi7z&ZMW3z!&5$Jh9nXG! z*d+V#gA}2+M}yOdm_^iU(BX*oqCeF6 zc!ZJ#M};VQrff_5D&bHrL?7%A5yy%k5>r)YR7c$9@w!DNlh&LX+FB*&Usj2B&^U$< z8so2vWB8l2V~Cymy#R^%5ZVUk zFl^149jPG@L3HtAUAhOd9@$|mt5*n1A2=uEdcmP|$ZpJpj4$)I`A7R;gaw1szIQ?oE&Lz$2~1CJK}r^ss9{NcB3W)p94oDeXQiXc9kx!|7YCJl zlAy4$C**wC3woRy1l^j-AqBl7^+pY3wagX|B`k!XQ{~`w41t_#TP4~pUH$(07;f@$ zSPGM;kkJ$1oX7Ja<=8l|P&@o$7*zgPk3SH~la>Cor)9Dd*+8^L%T!QSN9V12VFs>E04C9Su0BgAc8{hHb7rzbT_j@g2(caE5^k^33of!yya8Y~V z0`@`g7=Y@aKBDv4k>Gi7AVSghC8e!YVmJlXZ|&+2KSZO^Qzx$l!;c5un+{1=CxfzI z<_>Fihrv4sVqwhDbQp4`00!cs=3#@E zhelp>e=%fSt^w7)d{7@4#2ZEdior-lJDNAxD+v($lMwN|R)qF6<5j_1Xfuo8#J5a_ zgnKpMGcz5emTi~3j``sbc6B6#Tx$(OJNTp>O~0!Z^!eWuAbSc; zm<++Y27_gkz55Oy1@sjKK22*V$*?}t5*&l$1eJ1YR;+sij9LA@*g6RC~d zid6BYl)dC{I{%;&7pto7Llaopy{YU0>|=1J&Jm98@PwoFYB<>71NFND;r+%=u=sE{ zn0}%+j6GWnBe2StLZU?>eR(tCSjy=+RTO zoxC`Nq?uQ+c!n!fti&iH3?lN@I0(B~1)d8tKsi1UeCzTd^v-Aw)t@|r_Voz{O$$(+ zbVJZKfffjb=5`f0j*DB(RYJ#KO@-*llto2_jJk0b8|D(^&VqXcv!101taR&8lO0Xl zTz@#Q(+iI6^n{Z;J>VpQIkLkC4(tqsO^sb)>Cp_BeJT&8;Ns;S9Rk4{(m}HYfo$sw z>ND8i}c~KR1o&c5es)$lf5JoTo!U$;|(K;@p znp#Fd2=*62*Qz)Ou8Q-5f%EH&Fz9B`g3!e!?k8Z8sLm0fbbOV?flycOirsjKiiM_y zvGlS;Rx)qA{h_UU0$zMj?**5)yTY@rHt^*(IsARADLmgKgWs*SgYEm{Va3T@s5vnZ z($=Ry)Vfp%*q9C8n|p)jmR#`I-VZ!?4tP~9hsEizwgNk?9oZuo48LmH4+R`rw@KkhW;`X0)lDv3z@5xoAw}0#{m&4EK_T9 zX6x>sOLRaCP3th?x0zj2A-=kLG@lXxUcI4stpKc^Gj;k zm9I}@S}>T(1ULqO4CA;q#6>?*tlJdhA$kQ@1zn3@w+Q@j!P`@ZE_Ge61jo^_6&4BV z4pWF==yGP^Y>S4jV!=JbSkIC~R=jDfZ1>m4OySuMYdBfw0cUrp;NlKEK3CR%Ia+ z1oOUDEqw&FZ0|3mv4+-Q$YZ$Ad{8J90opiJsE5^7&~p%kx^WQyGybg4C024fOa&(B zXV-oX3LW%Ajwn^cK9TND*7Rk3w6WN8Cz1Zy1uBKv>EiHVTP_P8X^7{vy+@OFCO<7{e>l&(JVd)_(V?;8mK0kq-d$hsk+v8h2;QB^q z_-dsYz#0ZGHZk~qrwM#jZw|lTWed+6&EU%o?5p}AY*$$ltLUj=@ey%$rJ?f@|K_u> zJE#`)1h+-0pj?7bmS+fRS)IjG826Tq2Ht|E@3Esb7~aF|H2}mzTy(?Gf)JmBg~M~p zM0K$ihRn&5zl_=@Cm`GJN=4g#B92t-3d1uy%G7z6PEDb+HF}7W1*ZnGw6Zu>u{xKn zJUHF@;l+*a@V`q<0T9IVT{3vmU=NRWJHyT0*d#Uv!Tmj|7eDTk!rj^IK8;&?1hF1L zj!Ydiw$pjv<*A^W*Bz7yMY$*qp`_`dtTKQi8osKwub>v5#tgvh65)t|I3z<*JcO_D zze6}q6XGvQ?G;SsY{}nXKoRcB%saU;^GKzcdQZV`Y2n*5cIU|nQ#!87!m`&~m}5El zJF|ck4eLH6h7FsM%4Y5uW_sj{CFTID7<^J^i^lE&A2euS|K1?j`#~7gf7l6*H-^A> z`_169MeJE#G%HBdutW_4(Nu&T^;?|*s`))={{dWePz;rl-5QEEg=y8o)0hDmEgZwp zg4!ia1n4>RbDXCneJu}m_LeEFnW?)ClLt64MTiTN`#CW8RaqaBfwu<)f3La@1tLy* z9ef>`UxGJF92CWhCZ@0{XNIy1-z_nLKWwppgIl~|_YQy9yeACaKM)P84#&cZqlvKi zR2noiM*VYXf0JdTj!tUUNo~a(y-Pysecr>ecOin9k3i;YpUJp>VZ` zV6=*%ppv;hPYoF*oK>%vs9%?p`jh5!%@Q$(ObqTHA~#F;sbi<{Oi z5KL!yz0(~DL_$Dp70gy`hmD~Ji|HN0awjFTsW&Rvo$uDL?@w=6!P;#hu&O>B=I!eW zHHVU6;?YzXe=-xspY07Jj`sdKxr=$fP97{m6i#t<9Dw*wokQCo``VvZIsJ4q8I_;(7K2~PT+RcW!V+kIP#++8(g$=LIV|%{c zz`onF-4|xpMMF(PR~WZ92}%!Vz@QU-px|_W7Jx3>l(gc5<#a|ncoRvBCSfeImbYA43z z6Ac463>w9d!kos(fkQ=Sa2$m&rX+G@a2RU@7}S&459_o*=4ioWN-KKZJfBn1o8RE~ zuJ^xJ%}ZTA@kKZ^ipQIv2@3(M4xRRDeT32$`kyM;g@webS$vv5%b1nKrVg%Fe~@<| z9kO?4K(_;ZAnwCF=yJRex-^wS*Op4~86LIF0a`uAI`5`+M2E z+~pM(`Ui)zMCjyQW~DqushVN_luE43tnf~@#Ybz2LT08tWoXkYU?VAlfH+jeaL>@g z$ly}|N^x`}(EN&~zStoCmwicuncd(BW?$Bcna8*bCx8%+RjMCztm6tQM6XcFfb$o_TxV=WY&CFQ1Z-Rhkv4cfH@s zeBd@UvEDLL*^}wNpC82Ly$#mU*4h3UG=svLpBpgs7^)3@_@Yrtq4}0J2o|QTFHBX| zmI$Hs3w*`5$1wAq#sgGcfN^qv;m{=pL4fnm(9D1uq_ z^ySx+U}Ck-31AN82nmhTI#a`_BBQ}#hXFBs6_-Rf&nqJ+q!j#pZS2gM9m284M|-@X zEEV`XGeHFsrvEln~C^34$A+gZq`-~m0f;M=IuN!8DXGjEX~lTDGsAhI8bqR2=6Jd zc-SNlaAb5{9#KjrbuecHo&%|fre={@XZd$L5W^2`>f)!}F?|sjTo;8l=nx%!T~xx$ zM^MF4z6nzVVgrWtJ_31<%#s#IyC*>%H8q({`@X>td7}(*QSydm7zCq@(e>5{6HQ8L9Z$2Ku`rdB9zS3!-l72TO&F@+5>+mI2k)e~r%hmR(fHhn=27CN}prd z>!Ap9;UIJo?#g6t)*Qmy07SRQ1~1exF$D245CMiA|A)#^A=nYydmkD67e6W~>C^`u zVmQ;rwkqv&@a@&2?@<{()GP3`f(uC3u}bx2SkBVhb@0H7ie9mGkUD%mF~(knx^~(_ zp=;8vA>XFuJAf4g=u7;a++~=eFx_ET3E_$*Fa}phW#_jF$ZKELM$(}Lw21X!7N`#M zXg4zSAY7Oqd5up;ap+wg@UEpJKOByB-}|(%^@@M@0`K|*CKjd&o~pz*KckU{O`jmT z9$zpFDL(IG?Ist&AhprP6u*{uq)69w->4*T7qD_O75x9KDQp!pLS zF{MF^t||vCo&UmphvrxNg`=u`Fa0GLhKCpMy4!exAZvYGl)gp=Ps${<&|bPllGob{ zgci%XR{%F#ZCG~qW@xwz{Ms4bwHx#nPB%vY-l=&e^xnL73MRFcGs|w?x}RY?AjB69 z{9Emaou62tLlEbLqp59QSAc>ZRn^v!QSEy}@-e-W1s|=@<68&B40AAcwG5jo;ZY1q zTiEPv*8EZ+;^-R}`x)kUYYqg1N@$yYq`W|8KQtRB%%%-nCtg{0cHe(m)@Yyc~qCK>R zrEMQ-;3$pIK86&VAqg&&ZU2yQyf8RASog}T*TFD6GU{BDyqN>R#_DzP)&QZuvyAaz zc4&sS1!0Uj;8xKu*aZ8GyL7i}2Y0QaxlA7y4L+wcQ_%eP|6*@S(`M*6e&;lZ1{J}BIP3$_j` zr&X8+!zho-+-bK@SRk3JB{TD}cW_^swb<)$(PrH~;_u zTS-JgRO$Nk^XOXMhl@6O)aI^KZRq_jDt47;UH_GiqhreyAubXs&tDhD|2u;5|Bhe` zBM>7HV;F%L!wAF(#27{(Mj*y80x<$Hh7pJnh%t;nj9~=wM#ujL0Nln*tZFGm00000 LNkvXXu0mjf#7@-@ literal 10332 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Fire_9.png b/examples/moving-saw-platformer/assets/GreenHero_Fire_9.png index bdb9763e07a3d6819dd2e69bf278dbdd3be76c7c..99a46d2f3b23401387f09e73336160db1de1eba7 100644 GIT binary patch literal 8260 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 diff --git a/examples/moving-saw-platformer/assets/GreenHero_Pose1.png b/examples/moving-saw-platformer/assets/GreenHero_Pose1.png index 9f370d1f0067edb258ca6384562555d3975cb231..29eb95496d7fac6b0b5e84b0916dbf0d7c42565f 100644 GIT binary patch literal 7647 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 literal 10172 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 literal 8925 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 diff --git a/examples/moving-saw-platformer/assets/Idle41.png b/examples/moving-saw-platformer/assets/Idle41.png index 7884f2293c9090dea2d9f80aaa8590b8366c2a59..1b691f09f8e4cebb198319a16d660715c8d553eb 100644 GIT binary patch literal 4379 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 V38`YFvta-L002ovPDHLkV1fpTPt^bb literal 4684 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 O0000Mj3By{SEX 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 V38`YFvta-L002ovPDHLkV1fpTPt^bb literal 4684 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 O0000Mj3By{SEX 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 V38`YFvta-L002ovPDHLkV1fpTPt^bb literal 4684 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 O0000{Mm9Y6>KNCJc_ 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 Ad;kCd literal 4617 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 Ad;kCd literal 4617 zcmV+k687zhP)Px`!%0LzRCr$PTzhaG)p`Hz>pt}GTee<)+Yq3plNgA>P#(rW!Lc1DkWxwru}w0Q zbTXY5%8WzFwDCYoVhUsD(G+MJ+TaXHOPIJJg$6KIAm!mu2b0+HL-GqrmMrUW@7=q* zr}KU1oV{1FbnmWo?c@)wxV~4??%6%R{e9o}`+jGIfr)KI1dIt>Mn+%)m{FK90n7w2 z@sh>_Vp3~uyltyR`l5Q+)k&BhVEB-L7zRwkgl(9hF9L*K^t13~nJ^s-p68*r ztpmH(eB+#4^I1Jf^FQ7qYA>73On~b%EA-?o!-53^mTAGJ&k7*^IRj(Bgu!353Hrw| zA#4LD_aDQ~HCxZ>wV$=Y7r(S#STzY4Ss#W1geI#euEB5&35*>AMBgjMK!QX62_X+XAP%PvO<;wp3(J;~u2$zU5-_txFK}xm-U& zV7LV9DkK>oL!|%!0U}=nmcy)JfOH}zc$qb_Dg`2d2VaGf1V+EIz6(EP;>5cL@zxzr zjeB0>9$-<+JtD~E`O2C0#1cr6#$T!o>&l~9A;TzvlxZVrCK!+~oEW@9*`^U0m>>XU z8DfkZc+8fpe)%qg@1H&Bd$Z9pU}xWdE0-~a}483rU9xFFV08P5tAuYU9& z#x=JwA3W`|9~RR#UW#DAWl$In&MEY%P@*}%=yGgWJaG+7ia=pN5@#f0nU6>U%5jM@ zR&@eh$2;)efB!GC`5fk5y9DX_Dd_9#lfdvR4=-up_-pTD?-!pP^Zdqq;M^bniLj=o zA^ZT;1P%p8=@wO4w20GTMBt<-w=i2MoOFIsNmwz4#teku@lDgjyFdK}{%iC1FmSAg zOL$GwG_2TiH)dY45WT&<$oUeOoXEqq0<>KE$e8Ch<^vb*+#rHXUV5GbxSb58aODl}pff z`ZTgWC1e*~%D}M~_Ta$%KN-^;$8=EB)>R_4q#nZeM>ILO8kv+l4NylECSH|e2n5ZT z6o(Npg~Cdfa@ww$eleC$y%4o_n!nEuX0UVDPOM+Q0qyPWL(gj&So+{P%>UF!(Rb=J zhm;EsnZXQpuNa#u9uqM0U${#cNsH>|$nK8--*v5cwW2LlBweP97-PsVqV4jj7vR>0 zt5~zB?8PdYwijP~5i3`&Jmb8kZDPp-tI_nykD&i_KU@-iX#;OA9hjjl)=^T{;23%rU`6?|# zp~A0WJ(8|SRn^sKdH9F;zb9V89e4g2zPxD@&OiTrW=&UD7q)NTj!m03acM5M&HBtG zX!!HxaI-GnTOL0F#|NfmqYzoI+;zba5*V$5C3A+AZC1er#hXYt_{p7*P0f-=wj3L#kn#n@GF^h~T*)VbrvK-i!fj92oj-xN^851~W(#C>q zA4mERX2BiELZmJ9Z2uKHAA3F4Tx0D#f5)eVQDu*=U-VQ67}Y8;INWg;HI}Lm($z}a znerffe>s%Hfl_NbXOi-l<99 znEjY3Loe_oQlpD`O^WUsM z5D0jA0)^P3SqlUi4~N(Od*r#sO1=#b-6*QAnFEn2U#jUsKz4yez?gj3LSRBetH>8t zW|Xus3t`7*28AH4My4I~?LCh6Z@h-nI}e8JnY#KyG~IsIMSvltT=LMFS1AVDx^k%8dn;&Z}(9Q z?(2jzvj#O+%waJ6ywB@Sk}0&L5U@Ho91CV`60KLpQ@@c>WMCFYDAj@Bm}aX}F^0k6 z&)VfHc*CK=r50m#l2+E&kh~(Ku?!?E9*8GLBL^5IZk*2W|a-ICV|%F z{~UR)u|kO)JG-vBbdN+1q$l8a4@#yC14go^U~K6X0IjBUC(Re8Y=#gS)q*fMv}!;= z@R#~bIZc5>A*5MjO-{i`*~qnY;>f+vMFuDGjtgG8Tkxc4foHUhe(n13It##1eCq@( zLrdly>G~Cdr5K1aKq)>S&0m8f5n_-eDBOMnzEELg!km@o=_C4s@(h_;Tk#}71 z@@Mt!866nYK+x~P?-(GbN&=!os2Ct!tq2@mfh}AHe^Lp0_=)5_QH+ti37c68BMu>Y z=P(MuY)RTM5+*XQci`Ax{y6e{BkxEaukifRUA1YzKbe8oIRL|v8iusY5P*m=MfoOV zPi&1_bbwsHm7wUPYn!m9Rmtk;nDAQ%ap*JOk38SVJ4O2>O(N1Hk~)xq3Cl_L^B{1M;aVr%d|AJg@LgR_$OQ(x-Gh46&;u;c7tgk z-_{H7&99oq)tcuuDB>uux1}R*Ia;MZ4YH*4ZFO}%D16tY%^C4BRJ{N~podsZ` z_`DP{?!J@oda^Jb8A39QMhGWWwdC?kxacjbQ85_9ff^z4aMI;f|A2wDXI9H_4GAWT z#)0diuW3hSOeA0o1G!&!!0*d3W6rEbvV?2V$B9`dV5M=waMD*+?h0kSmWh{ECuUTI zArxXrr*SN_UKw4>lshetUH8{li%DzFE8Qp2NM3-+~8YB`NBfIq5&9E zx^W1bQrP&_wPu4!F+Y8qzk$e_@XW>o_FmwmhPz%1OgL5N%l=S~5W z*?k-$n=dei*`NT>N?4a`t%UXOmFVN9Q?sQYY(~FlM-arN{^_ zELW8*1AbSAa}0$}xV)k#9WrKk?kSY*A?x5Ol)`Az02S*&bu;K(&g{voa7Qz1sXO0) z`B@01g}XKiksIA|pk$jravHgPCkw)k#1@rO${EE~Ncl6N(9@NPbPq*U@q+?Gn4_hR z!LmP~Tt>m=Sa2F^VGuAQEgRFAwuRQKDx7@jJX!!dZ1W}n6<1{D)h&IN_3Q(OdQJ<<;&v$p1 zJb&Y3H;Ygxl6ux{h5|*l7$(f51;00kw%dPDvH4VNpqUR`EvlEzfls!ka?hk;r2G+j zSGE96);-pT&c7>tCmX+hlOWMXDMR;JVGqV2sea6{_=dzayh{nViUBk0!D~hJRdd;o zVKB7!N=zvNMdv26Fphq{^xq&gZe1npY4VAx(7IqSR31`#h?i*s5!>)SC%`m3aueqm zs#>A%s>~yH)Kmw|&!v(*aiSl`{$fYT8`JRU%_2E>vOHF|6`_rx)v|g|#_NU3$^D8k zrs3fvXrXcr2vL9l9UBWm16LXBk0)tO3CxrKfF?;|FB*r-y)$HelF^#D8yR- z=!uHWr(y%m{n71Ad#*&vQRC#Gx?kzb%1)S6=z;6Ym(RvWZxYFiW^n=!O>|zPVnl}O zDbv7#Yo4swd@453ydU4e8izH6@?r~MC~JWGKmj9Rr zr{7m#7W~iM^jBL2)v1kZHt@r>4=Lek5)l|f5+J>-S*qxwXNgDbhkjpyS@_C&!AW=c z>Pq;%3MEt869;epURky_KK{r2Jh2pqYWGo&itD$Wv*cU0`ws0CWiv(yB|2o$t_>o{ z%0J>LSzePi23y*2JmzySqm5biu9ZWUe&6uOjiPG#oJdbXa46X(yskkUURQoOW6>|} z;YahMY_uwn|DYdj5ymYyUPXXu{>~bayr8c9BWOieLmh8^e-94dS-Rt0^v34|KO_)w zqj7V4I?=xIKgTta{Mm9Y6>KNCJc_ z1jv1GBoH8o5Oa`lBZvg#P(*?tqJpld!H|QHizM8KAp6H|ty`tF|7?|RZ7IBc-}mdD zbV8CD#Yv)@u6i}Yq^GBUpZ>nHTRU~?*gCe3tz+xhI<}6jW9!&DwvMf1>)1NB-^%8( zegb)JoJgkap=8=Hk<8mBlh-R_>Hi9X!@@!2wSPMK6~t4&iewsaZV5eKol1jim($Ri zG#XyFk^*X1(&)NXG`e;bjVMc_K_Aa2pPWg*Pf#9t!PKibp8A|yM13n3k$>4DdiG2* z4J=Ec7tSuBq2)_yc=>V~S+Rm%tXxTBt5(st>U0V^mq8QjvMBg+4h5ahq#-Bf|2_b@ zY@0y6$`i@Aasm04CQ_f0B=Rp^z)%)3l*Kft3{aL)00SA#Kmr*^Q1vS`>0Bm-)MU}* znrxa|!p3UR_JWPAvTG0_ss1Lq1hW)T<<(dKV`Ml)k0&sXs$`j+HX#Y^p$k zO2$;aOygN0020ao!fJDAdfhsjS+}0T>o!pM`3*FS-_PLB@VBX#*3zU)Yshc?l-~{@ zr`#9G=Uftbm&TJ%Q5?Ha0{N9B(lZRDU+F@6j$KH(50sL|uJbahB%Oj8%GBB%S^Vtt z8)@!^%@lcY3q@Ugm7*_h<@c}BJpL@={3Zs*fa-E-%Jp?L(!#W(DSU8!K{`MrXLvmR;LR%dhXF71!USv}i}{IvKoKnuFVxL!eOM!*dfwXBmX5BFGbIZqU^oT0pY<84a+>K)3sd5|)1=JRVl zrQdjmKUZ+zVoB_B2+oK%P##i!;MGj>NFCX>aNLhfC)1f&@+vffiEaP}fwv!nK{gts z1zot&#Oe%*4~P?39MqD`YFTz|AHBqj2b3&^k$v+J<=lLiU*Dz7uktDL_94pn`w?3C zw|q*zv0K~^nF_%h#~fR|nub@UwH=r)(f!C=!D{(3lEFj@oO&>^3QS1?2i_zJyw7Rb z2*n&KThuJmIOW2Pus8%&T`h1MC}qv9cPZ!AVaomb2<6^7LhHZzke1cHK|$+dXw;er ziZ0tg3%=e>bI)(4>9xw8aO_bRR#UGXVQmA){ezjJ6348Zg$P2!?%p_Kna z&MuW~g!mG|@ddGA4hLP`jh0;9!-4iKTK&}lQA-x9B?BtCb%?TWAEvOpWO~f`Ni10G zPu;sv$a_mE?)FY82ysjtJD_p}4L-NLZNR{VJPYP&iczlQ)eM+^rOkk;T_@QHU>0(w zLC}3k0|VQ9`xqViM-d(WS0zPca~tqLCkqta9)A2$3doD5h?`rb9uhE|^@g5bL0;Us zw{m)(NT!ll4aU7@WTbhBWfAQX9ex<*!dPOD*X zH3PN64yhXH7HL2%)Hf@Xg06Bs!@q$- zazJe>*EQzK_~xNlRHHJJ6nNYxp^ibi9$vAW##C`uVlc=gvnBX$mBJ2L397mM{XYpP ze!TmW1ihutt_`74m(!(tf3|iBxvpuYp_gOMiz*vg0b{bb6K5tZ z0P6*ws$=S_USl1Ta(xf|^}pX*6w?^WojZ5P-`~G!Fi_4T50UTd)98h|<_yTXic_^8W3v|ZtbK#F{5R1 zv*$$6^&8hMYWeQF?`X%49rVN#Pc*9*qd7zlAphDF>V3AA0DDZcYmZ(=*kJs8@9>j6)qW zN0TjqSL{obwkmKH&q&B%CD1!5F@0s3gODxHEc<2}EIx(E9GVkii{ z=6%zsPvt`DSr|*+TYU)B?EG80)w@ z97vrXeYi;|e-88}KTgZN&m=OGSOukkRr}doQLg*(aQlIAS{F#B3fsVVd^(3b{t}^7 z!&gm>CK`?<0LMpzBkIurA#1_KaHkTW;A#Uame30q(#ZGl9D011XG5g~_a?vc`P8dS zgTm@Gu?xvX`Ba?)6l^yzuKPJ7or$px%qO$S<72i@TZV&ymhM_e=g3-65L^uX6+juS zA6K%dW=*@NlGC!`A zi{t)Lxcsi^Y^?pjAb?rzk%~~iM3UQk)5-n)84PHq_;*9~sJJ5;3q>HTP#G48Yy#`a zZqdLBmFa(%RLtKMAW#WZ$xu9WDEzzleM}bt#${88ec;HHt|;0%7+$z*ei*sEJ52#P zHd7Sj0YH4ho*aJ!5Uwn;hGr(d+PaxfMKx~)QI`Fn5HAe~jw!JXZVV{=yB;UP<($k_ z@$_`+U^{_9VP_2t?*rFyeQPqgzB5$;I@|;xCK`{26_8o=ESg~?|P+`dG)c$>|60mfx- z2sv&HBxk^REl2}2NdelcD~JIdFaSENAc>L$l);Y8Y}o|J4E6m(>UeTX$LRJNq_zXY zCxBZkj_byd6L+*uTgE9s+k@nD0km5O#P0RB2IwH$Ap<0KM_H%_t3|^;_zr&`pp7nM z%$5iRzy1>qD@IuFlW>K&HgRILIOdF2a5jupfL>)l+gLr@Sv`3SXcqu6oV}ssf(#}K z(%kHzrX(GdHPe9LyKtB0#v-_|ZKD{zN=Ts&48mNwn5|$qWQ|g`#sFvI zSW%9^+13b-t{%9T0Mgw|S5jkGN>%s{)F+B5Y~coAMZCQf(=r(JQSf=da0HCCV?;4f zjs?zo9S&!$#>&xBdqedoIAZ%XCFyEnWeHF=?2GERSyw{vJ!7Xv5|Q78JCKDPax1a4L%?SBgei;)KrIpzR} z+fg-7?YeBJ)D&2RT=g9WKEu^<}In7V~XCSO1kEP5G?{g>F4OYHHh5ur}1Y~s9Q=v+dhwntb;2jX%ts`p8*iu zg=2~YUfvIid2*h=)f1M~t|>|aGk_rIqQ=oXb_}C9zMv@V)E>8P=_6!}AWa;{BdI-f zcR=QVtH90R3jDrny7emw6(QIvAX?#fL~B50LO5H^bqnU%ci??Ln*+-qwS@3*>}x;yR!L10-!|jeTqi=*x%7F&nx~WYa}vdj)e( z)!7)34oO>}tt9|@F#Ud1vryVI7*k0zPeK$nge3R2*)?o(rS0R@G4+S6TWS*RHE(H^ znQ)u|XAB*$`$6j+FaFE9pL<-_y`k*`j;+uB-m?f^G#bfY6O0^}J8VZTINQF4!43bC zpAQBwk>>CF?nHYH#*%_68%X|Ee7W3K^jAQ0V z>W+!rYuxnVrat#gZbxRwJ#4v4m>j8E zkld@nP#vGijr`->hv5bsZujO-rS7}$@Bbk3Kb^JxlP>GpRsaA107*qoM6N<$g23%A Ad;kCd literal 4617 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 Y0v1O<6QEy&IsgCw07*qoM6N<$g03k^$p8QV literal 4761 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 diff --git a/examples/moving-saw-platformer/assets/Idle48.png b/examples/moving-saw-platformer/assets/Idle48.png index 1e503b2b1a73fb146904d6a0433a4c7b90f40a93..d30df15395ed0b1c700fa27f9ae1ce1d45dc732f 100644 GIT binary patch literal 4382 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 Y0v1O<6QEy&IsgCw07*qoM6N<$g03k^$p8QV literal 4761 zcmV;K5@zj*P)Px{Q%OWYRCr$PTYHpM<#qp^$9)Ym!!QF3!+T~()x;oJQ!$_gwbTd2w%RB(5CH*K z5>{$R($$vLmB!^tiS z{=ReWnPKMMbB7DdKjy$)=gysT&-wQ6`|Z7ddw<_(7&!(-KpVkja0Etx8G;!jz>EM> zTF@9_%m`yf7*iSoBaA5xuaOut!k7`pl!m|vV@kv8V-aH}+KNJ;Bbx71#!%W3t=mt#FfKLB(9l8r>9^hFHtj<1U+B@;q+8|+1E52Lp=mH+K-Y8_>P7GQXVZXY=zy*v+u4KTzdeNiUH_AdGUf~V zkn!v1iO~x`fq3mG!1ACwf(r=njE60Ye3w9W!p&adJlWQ zbYWR^!GLLeeyK=It$~(x0T+@PJ_yJIV(LC124dt^A@=B+2Kf*0Am9lPo+f~Vfu61& zY`f-x3pW0;-?(n=RibYB@5Ll&48(sV;RgOVhi&| z(;$R^2M@0B;CL=vUBFH1Xx+9C`~KobWw)cOH>}?)<1vVcAfVPnqONfgaN=6YIX^j ze0(5x@)7BDGl2{{debW z*LmGw;=?zKiaC?vWgOPflJ@e<0ha;t;|gUQ1q!=Q2p9q>42)t7>m8M{Jr#UC&4XuX z9C$Oi3^ERZVlgOL*MeoZID6s@cHeY<@#egMnX&U8;bk3JS@Z+O54;K((kGmb^S~q& zW0HX@5l|F+Vw|b`)a~mSApkvLa$Gsq@)5F*g{o=eU~4XVvwad6&tlhdM(H^G%nlrW z@aMy}Z`fa)y!kc}zqAgpNZYeU%1W9p^E8Rx zR0?hHwqVQOKZB2UybI5AG3|z#Sn$B-VT?(lr>BSAiP-~(nY4TEBg3|D*k5e=#VR2z zav=>gep!!d(Di)q4a6MsLXNTzxslJ5q!CxaS2D)WP9*3E&}y>+sbmVTzpx!Yyzddf zBBb(1&1DmD{icOFO5sPI-;37!w++k2VSQ=hLpO`mXC^^7?m0~knUR#* z0^C{0Ta%H!#$pT>$6E6#bYS((6958Z{@dCllK+szrv zt|+p{0w|?+9EVnOn@U? zRYc}vm*;tyJ$p9x@85qeI8{l^`re(WnmrkP-92!UI!Lp)kWb{9nMO`s$?vI^-Z^B`g8_$IYEP7rS=t8uaOj zah16Iu{#lKu0hVW(bIYoA1o=oMNu*^&9AQ#!trFbC;|+1vN&m38^ObMH zjH9os2cJG%jrB|J<-3zBcjYLh5oT7R1WASMpaf~&tqHg#-lIcTle3Ob?erl zX7p&bo?K|lmMvJbW(_(zIttGUfJtAu7UPy(3EQ#p&YZ_fvQv(~gk#b_Ef&d{;~{c| z-H2~Yf{fajN(KA%Qn=ON>lQ91jX1mBi+4SY&I4&4RsDo|Ts!w#)YjEv&z?QlyLWHo z(bliI8uhEMhU3`ie6zb&V%$YX{YL#)0M&ELNr#@G}b;UV+ENwlr{&ys8{>Eh-ctEH$b zc2F8;V5sviMZGWf!j(1w;+G0^PQ>G|JNxjfwNIhz{bR+RGUV^4fBP0x-`I>?cZOS` z_L)Ak{^@fi*&6xcx-WlLjQR7+;br=ZtHDMmh*3f?W7wTkAt*a}`KCA5L;RvNEt}%W zR1(=^XR-Th&!Kbwk&?j~cjqiLeC;~eJsCKz%UwU1Iu0&)DzdF5#hA&DFBXX_qQw_s zQ!PwECIk$3^Hg!En&NVWAP*F`G@&D&O2FyK;q8qtA^qaHdSxiIDt~VZ8XsH)SM%W5 z4hL+{^`KRlIC$NY7Y3Lq&)zQL(`z7&E)rrWIMXo5jX2KeTu=F#O7>Yo?xorjKBEXg zGiJg_m}q?4 zVbk_62$%-DNWsGspjL!tXtL@KfkR->;jbF_3u}2MNmg;K#nrkFlKR~($8qrCSJAoS z(4db_T`~^SHr@<#LKW=3oLpv6Y!R*pV@wJ?uN*|j-@X>v-pCg={cgL-X z1odbP$(B4gD%J$8&oBu2r4qmS%`FF|CyYdlg7Xu!0Mw?MB+ zz|L3@1PC$36ChBiN;hhf$nHIX_Amc;WP2lD*t~1CV1o-C1WeY2m$jjpa%q(^Qvee8 zYw~rEUy1iWs})Eku>#dgEUGYJo$kfy?eC*^|53yms!)5^Oz2e!xLKQ55f}^tMY$36 zL5$G}*lk^CTl(Y3_C~s}ZrvO)X6el08A;RN^;i%&hcf{)<{aka*NWuB6Yq#!Ert4 zRY_!YXaNC-~eyjUbYHNI#?O_({ydpQ&EE(M=0!CAQ%1!2|o3l{CwNWukU z_&wcQ!XXbI97+cKDFH%>!KFPUg2zCvY}BOqn_A4k!Fm52$==9}nflzHiP+@o;;Gsb zu-m(211sc84B znb1jjO#L{Tx(g^}(U(rxyHria}A}P<$cA zQqZj36+*787tk=e2JdVRR$FH%BPkuDHvfbJF$2Xe zCC>pEkwz54F~pW2zBnGIXr4?pW(wHZT_@50_5X_Wgh&@P{c;tB{K6W>(BK~LlfcA` zyoL#7B|q-?qAvi2!I7*}iK=jr5C2w1V-<91xzb~|G3qM%O(X;J=5e&I`)MSbBVE+I z;~pVww;(WNwAFSNcDf5%Y@o{w5{OCPC{-*0lEC=bj*YJbI1}X& zB(QStpTd!qFGR9A(nT|VvqpHdXkXwU*U0_fNjN9_7?^N5z_DdOi6CPT)dzm2Qj95; zIsF(TVAfSYqkubb1;dc8-n#hTBiS73qUN2e1&g*KNA|5_@VaxHk@~S=paNDPu`1@@ zDNt0r3A9~6A3uT)7yvUuF~$`zsuR#_l7lA+U1Pa%c;UZBvN_U4Gk(2B6zs#$U0i{_ zH_{N)ukkaIA6Nq*RIm-=&H$IA`}pAaiD@7>11Cqt7ri15V{HGp(m&Oa$Pzg82Tw<` zInqT%8AGW$=ODB1C_qIdi7akVDMLf)I-j}+7Mb}h#or4wPG08>N?3Y!uf-`kIcvhu zB2-P@p&QExOi{*AMmm*6?wt-+yR0cFSgVxmSJ}Rn85A6U4V?VScdc-_6lRV;odk;Q zvVL;=Y>c{Uk}L}bo9+t(%xY1nPNKTVPWQlSJp+&wR|8|_sHQlB6l9@Lmg<+8{CLA% zt$Yd}n8g)H3CC~TE?pbgLdyICO96l zZ*>3(otIX4d4)isvcS;g;y=w~IQ9hYF<1tr3cGLT5v0HRKap&XbP@UX4C=>FEfQXuHFOx2F`RyKAB5vz)ZD4E?LaeW zdD5N8UdmE|E2xcn1X7@W)ei8Wv86*dw7gsJDCGpm9Tu9rC+Q^uKTaDAfVL$+)~3I( zM3@t+Au^6EItllr3DN7~;Puh_zL9~Up-p>XiJ<0?Kbu}>7H5C-HcmbHhBoQ3MS{9$ z)TpAtGrQOj0!a0VDH|C&^ppvw*M?3tO=X;CU8A-sX)@Z&my`WkDgwE;Lhk9u4g!Ld zwPGU)IsQ3mqV<+%*`7&{-zwtMYx!B8<-s~|3h8e|V@gn471JhBe^09j`nZ&AYce3J zwMa&haa8rHmVlNpk==h3r=QweaAF!BxmoD6-Na`I0ZU9#pzwQQo+;hw&<+1m(nJ>& ztWgawc3s1R3q|6Raoh-(KoDajIHYl8JAity(zUV&j^os(-xM@t;y>IZbX6e-{T<&0 z6(C%g5(_J0=-%=kj(=xIS->gFO$f9J-?~AhXa^^i4t}#pu|&2TRfkP2#JQ)lNU#4{ z!RL?v=6sR7tX|%a0Z@V3Z-Rx(4AX#h;5d$aaZ6cjD$7j>n2F!LRV1m)m$m!17{l#G z^`2sa)p7<$|N7;E&mXgFmKgoHPsuE&m=UCWKmBvI(l~B)zkCoK-;BOQa#38Ve!~J$ zc~djIUfLlZ>b=r?`maEdOSd}gjvln%Tf7C(xOKVUOc>TXexobYrl8D}c_WSVS4s=A zLxEFP#-wI9aA_dhjIzM<*P{3{RS6Sga{G@V{f)wmp*s*TGBEi~E%irT16C2JqR+l} z67BayUpu-ejG6M}AB*@UW7Xc7P#;#d^Yd!d6P#KzyVE%OSH-uQHf_I~^%LXZ_iY9) ztx(<~#_UNWec#87F;kztL&SJ(TWu-|fx&E11Y*sVFmY&pG_lpV{chT87WB*|Lg&sk zb?7p?K0^BI#lbF?Vg15B%5_DrY23O@XvskuM5<@fubW0o8NVM9n61kND_g%CH-z&u zV|KR}&2&W#Q5Tdg#zbnEtL^WkJE8*9^vd0WyL?5qR}l+)ceLTyUw+IO6KQSRpAA!o zbD|F)-d=o{Q`2iJ*_Dd!vYL;r#2aDkyWY7NtR}gQv2iU6900000NkvXXu0mjfEaDLT diff --git a/examples/moving-saw-platformer/assets/Idle49.png b/examples/moving-saw-platformer/assets/Idle49.png index f185395a2c4d67dd86378b544251aedc78f041e7..058c15d2b1c9a5bf43c4de2228452e8f92c26320 100644 GIT binary patch literal 4452 zcmV-q5u5IbP)Gx zD)JOjL9xsisi>&=$k3EBpPBe7E7MBlCCD2RMboU^nVo58nw{Bpwwaxs-Rif$@9&&* z@41)Pb-U_qhr|5mUM}~Zd;XvE{e6GG|L+`r^{ei!d+Xl1x9+Wb>)yJz?yY<4-nzH$ zt$XX&8&850faQdOr25&!PTxizvKi5e=wbOoMB3X;{rm6j8gBM%FE-F%2szswt16Th`FH zYintA%?b)Xoc#X<$xs+e!I$Pz-?{}9Qk6x|UYbv#mljZ1WeyFfVknoF&>yN_q7gMO z)9Bh26jis1qU&Fw@%5`IwqXrTXjn@Vn|NH^KohQSponuhzidEm%OfbTJe`7TvnaTN z!IWpxGncZcpFqi`fed8`Ly4$nmDDb$$hws@j)6>I7?T?FDWPdSO=;RdQ=1BCYIA`+ z$7}H|1r&FqfCd(4{PF<#9-mIV>gG{UMFs_z&!s*L=9!9l^c<@tta2eMWsyLEQbsY9 zsQOhjzF{@RF_6g&V0!aLO8op)nswz>ntf#pkF7N8^DXoOzc#&jle{OPbt6SL#1yu4VOJy(| zMhvDmLddL^Y*EWlR?Beqlt}iJn0gBoOn6SqHUW}(bth$AdxI9V?&h&a9<#3PVn~Go z4GNmtv{61g@g~FB-E{{e0`$C44d2OetXQsd@kPwV%&8MI>wDPc53Qwy6dGEYL|dP;2GEFpq$na@yi7{C$+vh<66 zwCv^qTJgmJTE=7PjeYWZwhAYuWxD`{=OBYcU(a_QFy6f7-t+|k=n9@=5eUxuu@*+$uIk2KdroZi1Kb7rdMvg zBabU@9+cMsXCa3c)Rn|QVb)O1xW-p#WaEna59jG+!^ppGF8P%tcK`;)Yw?#smz6LY z&0!S7sX3ngVFqUzs0EXRkL2EXi(XcttY#ogW4sW3%bFajfQjGGKRwl(nknjQZQ3d z%XO&bZCcKghf4Ap#`@dEwBhzKTK8o!<$uM`zd1?EZyluEn|o>TANNtlwL($c6jokr z{Tep(l{E5N9vRXG-XAz_1!Krml}3IS=MX#waP(k;^kCF9Jy`XZCIU;xDTLXr#xPRF67fr0Uk5HPC0aEeCF0@Kxp(JJ;637cDr$E^EP zF{OUAo_aj%gUMPA|0x40=_=PYty^WE*mp$DQX1N_?B0Xvxn!_pA>RuM5G|DOXluS& zC<&Nq1vYm92P;UNLG$k~9r4*WZ$i zwE63k^p}7Ajcm6ce)xgX)6?69^F**aMO|1*<9J0L!3Gbb5365vZ^4+V(iPJ!?RW&J zO9CxjhgD_EQUGT&QZ-)~=1ewUr0Oiyd{M+T{r$Fp`1gg%Dn+&k6JV^+6o(O2P_M;A`d;7F}#2r zuc~GSF9}e=&bz&bqKY!f%j82_JJu$Zkx7kvJ*^rg09d@zOjSchXl&R9)9EznmKDG6%`fHp+lUu^YX~g&#zOZ z=!eVX5PG&Tn|jyW12D#qULaFN*I^_zO^M<&TCvwh^_oz%Q6+1pS|y~U*lXTEiLG16 zCCt|@MRYbEc<|R`+7nNGYqBV)YAzXyV(%^-ZL!$Z@I}GLHI7LIgOCbVGnDPR3GD~K ziEUU-ldo>1k;mrKLr*;Vv%t8fgwrz(*%ZXz8^Av2b8On(1LKxAiu`Nr^A|wzJ)fi$ ze5KZva9`b`av;MQ%F01ljo~%UI0h7dVDttCuQH{A8PE*pi&5C=V+R;OOgV2I0$F{Dghz}Ri5m8Z0vPMr?+oDo1OQhpYWyRL59s4&{0$qG1^g|9k}n ztQt!Xxjfdf+5YxH^4SzkA&m^BES&;M7z);LpC-vkGF?t1_rhq$gXx+32mAbm!Qc!b zdl}Epv{sF7ff;BHE5(qtW;p;Myuzz;1QLe$5U-R&KhB^Y<9oMN%A*gF&#U7oq-mkF zQv*s<$#hW(AwV&nWiYICpVNts2V;11lHLAdJi}19Iu_N~hE$2AEuk5*^o7NgGtCOp zAYmZXkmAE?dF|7br;+FO z33TrZJ3cE=hu1p^{Q2`L5U3KK^05VqfYFvHY`})M90=yAlzw)#8K5ZR`-$YWFOIwp#go^O$>d$E z0y@zo~CQ4;cBVFz<3tMkX@m~ac_y{9NiCWrBXWf(gd@}AR*m&ks2e*&NPZ7w+VT}94J9Sq9j z_XP!YSX!uaaZIX4Vb{eK0lWwP;<|PuxfP5iw~b@00D0_SK!vQJT?}VWEP2A9`TYQ7 z&;#PLZH9zVtRGV?;Eq{f$ot+^{7ay8)ueY+q1Uy)B#ZmIZyhUOT=Pef+xk(~fVMKA z?F?s!F1!Q~tLN=Fi-HcuD@OfJf)yzJ@YW4^P4z5%kAW50)$yYAa7^>Ni;M)dcpsZa zF3F+f!IKv_Yetakx=|8ZxW?_KSI=vjdJtZ*mhcillN1F3&>O7fxUL>yt)5Lba9-EoXy%OYvH_%rq#ppK zK6>+j;w;zHlR90#NCjNzfF7`a7gq%!&8J^f?wo{|Kp{{Lq%F#U?{oyGPzOiz9!)(M z`zI+wgQSNAIQ$%+foja10MuPo9Un8Ua<~>mIzTbFD$v<=YF*4CG%#tv0T_4+K)B{J z9E6tMl(%c99HW?WM{xGp0D@BZ5f!$CA^#nj3F<^oESEdQ%rxq8ufA37oel%KHG%>wuEY zP{-i8<@#47`8Q-*XH$Oe-!PYail;knS>Vbh3J6GbSZ~1jK_1z_s&B(t0u#aH5F(hk zK-i?H#}mqUBUUD+RL8NF;%~1~-x&0s!jqNP)P2hP0d2ps%rLLwx$^ZrXT3l)@cwbU zP_(k7Ng>bI$KRd4FV3!%^#|I&;TV;uWC@;}c`^(GpMyd)e=%^HM%Kb-o=gj)r{)i! zr&mUhOYUHLa!#n_%x@X112R!e8Q(AIT3eK!R#xn2emU(8&^SQv6PD6k03pM$BCu|P zkBHfF*Z@RV`*WH9yzIxIE<^>$F%8HJT@!4!RNtQ4qn#5DI&`wIlU43?r8<3ADb*1g z;uHH+L)~Lv(?~#TA#-Y)4G>*dkP`&H$0@;}^b66|+0W`M~seX{dG6ygfkbfFIahBJi@o z53P?*pqRUJTb)obDB7?Sp6WH&=SP)0_*A9DG@_eRo{J6KXQZ zU`O3y@9ndCuR&NlPe!uyHdou#d5`SQ|9u8E&z*pgyV7}O?Yd!<6Z}KhstEh<&$E%f zv5WgwBu$s6+}Xa%6h+>5Fj)K8>jQV%wQo1m*#lidYQp`61H+TPN2Sv36Y1ko`(5h- zRw&Q4zss5B&!OAj(Y^zk=SdlW&uIIRo{%=Qedz`+5CS*~%llu)paHcbnvCyFlQV^T zYu$IokP#Qp4o~Kg;dN3mI{LWqA4lH2X7b~u!X4ef#3g}|7o+az5TXgTJ(>)=Cnz^6 qeZcE6tis>pb=Z*vX?^~j`TQ4pwnGV2RO=A{0000Px{Pf0{URCr$PTzi~U<#~S2ZD#fYEXbYR1$GxSq^1^?iij}+QL+A%AVjdBB4BA7 z+nSo%Cghj2H9!5OX@%BHLZnG8YN94K5RFz!4X7xBrCMxocLnywE-bJxyK_6|eEq%e z_nnzD%gmmcWw8FS2ZyK!_bx!0c{AE+z1Q-lZP2YzzhLXoM;R& zW{5FEj42L*A;uJk*O0~xF=mJ{#UU`nnBwpn(wI*ZV`{!JPeiImAvC%iW>q;%%Yd%w z^5FtbGzmAFKws-g9Qf+b{$Fn1Cw9{6zgZwEJ~t7eF_kb)6S~kC1bQ|!4F(7tdTqea zb?Edk4QRTCWHf=Ek2pw3Cp8Av9L}v2SAEY^oGY|k=;evok2?r_HhON19$_zAZ zdlw(v|3XQ}QqqG>`}G>ZH`sPbMOakn*#joc5*oN}BE-O02;~BY#h6$o83PCg##W3W zU=ps4l(6AenrM1)4?cLHbQ!E;)9)IPgZST!Rc61LO>4;UI4v&Iu!5?Td}W+H5OZ1I4R;1DpL){sbhIwMplc^Z=q zN)mBm4s66><3BF@&N+|koDMMdfw^M%q8V_bNtS`LfsuFJOUoWG1c1ks3}X~96jsC< zmAWM`x=ht9z7A4wktC)#NoERx5_brkBvK)u`(PXPE`9Qx#&%9WuK&+fg6a$Ac`jg> zHC}x}+G0pX7#1Qbg!}-p2rHeD>05>pLE{Pmp#w&liDFDk4Ma)j5!Qqgq z&~b3XzoYesy9YhKLH}_4cNU0>t0zOmZJ9K@N>u@rsbFqc0i5&VPLg`(N0}LVWSkt1)BQT*Trr^d@2w9Ab^`;`FhT*t_tF zL62|HKdgK0PRSO6goQ;8tYAiz_1g~(dVGWW;h3*pDTd!X11&E zoKtmOmSiltkWHaX(K1a_D0x6|I1yufz|i*uca>F%%SJR{Y`6*$GmN*k?ZBfCJ%T;^ z-aX4G71N1GM3R|l z0W!iX+2Pk13MXPwSTi{bjR{v_#iV(d5FVLze8+LHZrwU;+O+Ac^N#q;1YEIk1&p!f ztUFxWSOV|PdSp;z9Mq5McdZd3Wy`87&*pW?UT>5uBgrtz=nXN7*tTNQwU{}gf$J4d ze7!Ot8jWK5^y%p6=s4@l!!8<+OCMbhRD}_X#X#ZI{?s0{|HICr$653b#{9)xF=EkY z;P#~k^a?4LP;)37N7WZ8{qVqu7?M3Kyqd*=OQCh&v@c>qyH;-wXfqEkk9N7X$ z0j5GvYK$!GOb88FTy{C;*UjSE#k)Y+WdmJZU6?Ur2D-buvrn!xjy@c{;6l_rcq5W_ z5{c7&`0)D8MUS)SA2jS-;V>|eHqXE z_-V|Ub7j`xPn|l2l`B_b>(;FU-W2+B%D1mW)xwLAOeS$)&f`Uov#1|Tc=$R|eswKG z%nrOTYW&!qR7GA^^{cWI3$9`hvnCwEuhu+9Eo7bl3Q`roU2e)R))sLMr_%# z1;(}W*M)d<Cmp z$bO00W0wU6U^V2_zlia0Dj~v|{Hyn~~~?1)V1E_v2Pwj&bW|BN^?3 zqXEgIXK?topAp;DUjv*}PbUrjLY3I)N7} zQWRBavK*(IIn~#X{05}X#NoJ-DS|?p7&9V_zP)YexcB9P$6L^jWA3|Jj979}u)fgz zPuzh>IiR@@65ljyh%u_c^uUq6umr+0zWE*ZS@P28wOJWPU&{#`d14oiZ#$3$j$US= z=GzM}d|o}0r{kXf#REW^oN{RC{pn1mI0U=PVGK~uIKh6-qa0iY$e97orUsCC&7*;vO#eL zgTptY%wh&NU0t}VR}g}=PcIc#^{~J;fa({gCr;Cb90JT1#Tt(}{e2s6<|s3Vl<|%I zcg|BbEn;%UvwIVu5TcA@$CGk;B^^F8gphKfg$-yCi=UgW+*Htb3uesJS5^uwZ05BY zBBK0{Os{eEg36nu8~VZCYaY3dCy+#kRi_A7@bQ413@3KQBDjY z8-zud?vUUcX$%WV_J$3_cXy%fzF!msPC+{rRM=@6L@WinyHB!&!SJ35q)e6qea>h0 z*r8lNg>e7I(GLv0CdNnxNubzCWbfGnM}k5dWh6dR*g)ccy3o3|M8J$%^*dtJ+RFoN z2D;Vmi8!2-eSC+QEgl#?5l#c7?9enoigo!wkudoF<~Ir;Wynj$$S@-I>g5*nijV}& z&>;G3e0)P;j$R;R#{cbnQ8}-!fQ+QUZaWPY-?Z>5#^eHsV}@8H`M|z$F`Js5WVqzS zc7`#Okx2hXl}V;5fzm7kO>+w?^a8JD(#9J_ep*G+qfMoMYh@^eCws?%m3MUm> z434^tz^ln|1vF^FM(GPPhS*XWf<8Q)rHdrivDaGB{;gjHo+)sLnx__v(A0odfb=Ed zAn}{y$`Pk*UOMBnwK9K%0j93Ge|a{NY^h}gkgh_kLvewVfRK;h#=OpuW_&_?0ZSU{l{3`|h-NJnr4 zV*hniW+Vnh4mb@EgOQ6ZDy7q|=`7^~K+c(DZT`0^WAkrQEj(Z@eOS z?Oq@-4R5Rw)Gg=Rh%Kr1D0*M{2;qyz!8wyqb%O$e2Is4M8GtO-_^M)+zU7p!)SmQ~ z?@DPOSD1pRh1h{a>`7LE4Kr_g3oIY(twd*XXe1Y`bHMVIYNj&qcBn$2P)1^83&8F4Y@v6ycc@Wj&Q+(`XsVj>G8ut5?sF zF|XgP*1+VMr}o9{q{nU&1P0YK1O~Cm1BeIgw<5CGqI4-2IR23Gw1|qhq$5dV>70p3 z{5!w7U53*;_Xu9hlw+fP8)tn#kPv}8j9Gt;sJi(gIHwb5ordmIoEo!LKbLpw$y+$= zD2%95rfQUoB+?a1rF3`M3ufKPgjUYXK;&)z}5m}w@hU}G0iggSbRM7 zUXNJ#cwweNto}#Y%Fr>{;-t#_{Vufq$+kc;u(S=B^!t4|al=AkR8jE+wA^*}g5$|A z+$Qyifsqe>O@NXZ6ZdruMr9bOt|&U!Z`VeyzD$rHnpF`vu@racCx5h0-udrdFLd%# z7!V1Be5kNwdqciAD#B>Gwzw&hfyQ1GFhL+r*?PMK#$y(PLZ*>)>^;APLWwHnt_NQq z@cbA2(JWCuyOwo|Lx)6M0hIQXmG47IAilR9ZTAKDK|$jvnlV8KB&W{7sRAuxV8L(=Q8Rodm+uCVyk9npMl-BClmdX_n5HlreSN?~=tJw-97TOOGTA z6b>gH&apnUeI+>FiG@5*m1TVSOm=VmUr1-$qvej`*TUpX>p?6i=KH!GcL|YHBFP=E zXE`dr#IqnZ>c$gjxjT3elYhQUc%t2Z*1>cCI2nXZ#NRuLwm&Xz@;-0jTFk(M_T_cI zq$_@pM7>UbrWoV)#IrJ5zGK%uy+jxnl*zO!opQAxGP@$CtQUKy1?_(tY(fQ%qvRUX z@a9@B@I1RQ3k>D7aUBz}5Zlv=j;{?|ebNQi{P;_9Nj{}_e{Ivhxg^HyZ%5l7{<0+U zP?Cet07l<`m8e=gBV(F-t#8`J&)g@y%tX`N!Y02aZd@oLmrMYt9?IeHc}Hb;?#&jo z|M{nkF_Rv@Nkl$3PEP3iw{$0wcCWcLXuhVfnq$Jl3q<*x$(iHkxs}|^?rTN+S3YIw zx@Pkt5t<$_jjJZhXuhfGngSW~z3WBU6*YloJlh{fdT>NFlZEKWCsN?iGBlmsv!G>Y zRBqECjz)20Y49qi>L1-A!VRMfnm3o8ZWM=?1RpmDxRPlMFB73v4gt$&(wb0aA%5^U zS_A5iLYL3_wI;UzDB9MYTiPxeFoiC2_1`J#&QERGkK-Hj|MQv2KU*fu(dEGl3Va7P zhJ|tZ)sN8mb!kHkW*hVm{U;myjn9kWH(nS#TiNdliTX}=42K3-w=(tBI|Oy|`TpHP z&OuXQ9I?rM{g2H*|2JcBh?jyIkF7NV^M_1R>Dm< z(1%$N@f6$?cxAahIs&uILi56>3ciNg&5H!Bz)W;R(^Iqbzeq5~l|wTOh`uBQ*{Nj4 j_omQ#PjL61kBI*V#u$XRBX9Cz00000NkvXXu0mjf5Q6K- diff --git a/examples/moving-saw-platformer/assets/Idle50.png b/examples/moving-saw-platformer/assets/Idle50.png index f185395a2c4d67dd86378b544251aedc78f041e7..058c15d2b1c9a5bf43c4de2228452e8f92c26320 100644 GIT binary patch literal 4452 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 diff --git a/examples/moving-saw-platformer/assets/Idle51.png b/examples/moving-saw-platformer/assets/Idle51.png index 6149c4bd6ae1b5a1daa4f575d808ecd564865fbc..ec508a1e32312a44bed38ecf200755df891e08fa 100644 GIT binary patch literal 4377 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 O0000;WGpQO_SYTlR@xYsec*Gk-K@b!b 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 M07*qoM6N<$g7PwE;s5{u literal 4719 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 xjEN=C3;WGpQO_SYTlR@xYsec*Gk-K@b!b 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 M07*qoM6N<$g7PwE;s5{u literal 4719 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 xjEN=C3p)DR;YP4EH*L=+Wc z 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 z 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 z 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 Ad;kCd literal 4617 zcmV+k687zhP)Px`!%0LzRCr$PTzhaG)p`Hz>pt}GTee<)+Yq3plNgA>P#(rW!Lc1DkWxwru}w0Q zbTXY5%8WzFwDCYoVhUsD(G+MJ+TaXHOPIJJg$6KIAm!mu2b0+HL-GqrmMrUW@7=q* zr}KU1oV{1FbnmWo?c@)wxV~4??%6%R{e9o}`+jGIfr)KI1dIt>Mn+%)m{FK90n7w2 z@sh>_Vp3~uyltyR`l5Q+)k&BhVEB-L7zRwkgl(9hF9L*K^t13~nJ^s-p68*r ztpmH(eB+#4^I1Jf^FQ7qYA>73On~b%EA-?o!-53^mTAGJ&k7*^IRj(Bgu!353Hrw| zA#4LD_aDQ~HCxZ>wV$=Y7r(S#STzY4Ss#W1geI#euEB5&35*>AMBgjMK!QX62_X+XAP%PvO<;wp3(J;~u2$zU5-_txFK}xm-U& zV7LV9DkK>oL!|%!0U}=nmcy)JfOH}zc$qb_Dg`2d2VaGf1V+EIz6(EP;>5cL@zxzr zjeB0>9$-<+JtD~E`O2C0#1cr6#$T!o>&l~9A;TzvlxZVrCK!+~oEW@9*`^U0m>>XU z8DfkZc+8fpe)%qg@1H&Bd$Z9pU}xWdE0-~a}483rU9xFFV08P5tAuYU9& z#x=JwA3W`|9~RR#UW#DAWl$In&MEY%P@*}%=yGgWJaG+7ia=pN5@#f0nU6>U%5jM@ zR&@eh$2;)efB!GC`5fk5y9DX_Dd_9#lfdvR4=-up_-pTD?-!pP^Zdqq;M^bniLj=o zA^ZT;1P%p8=@wO4w20GTMBt<-w=i2MoOFIsNmwz4#teku@lDgjyFdK}{%iC1FmSAg zOL$GwG_2TiH)dY45WT&<$oUeOoXEqq0<>KE$e8Ch<^vb*+#rHXUV5GbxSb58aODl}pff z`ZTgWC1e*~%D}M~_Ta$%KN-^;$8=EB)>R_4q#nZeM>ILO8kv+l4NylECSH|e2n5ZT z6o(Npg~Cdfa@ww$eleC$y%4o_n!nEuX0UVDPOM+Q0qyPWL(gj&So+{P%>UF!(Rb=J zhm;EsnZXQpuNa#u9uqM0U${#cNsH>|$nK8--*v5cwW2LlBweP97-PsVqV4jj7vR>0 zt5~zB?8PdYwijP~5i3`&Jmb8kZDPp-tI_nykD&i_KU@-iX#;OA9hjjl)=^T{;23%rU`6?|# zp~A0WJ(8|SRn^sKdH9F;zb9V89e4g2zPxD@&OiTrW=&UD7q)NTj!m03acM5M&HBtG zX!!HxaI-GnTOL0F#|NfmqYzoI+;zba5*V$5C3A+AZC1er#hXYt_{p7*P0f-=wj3L#kn#n@GF^h~T*)VbrvK-i!fj92oj-xN^851~W(#C>q zA4mERX2BiELZmJ9Z2uKHAA3F4Tx0D#f5)eVQDu*=U-VQ67}Y8;INWg;HI}Lm($z}a znerffe>s%Hfl_NbXOi-l<99 znEjY3Loe_oQlpD`O^WUsM z5D0jA0)^P3SqlUi4~N(Od*r#sO1=#b-6*QAnFEn2U#jUsKz4yez?gj3LSRBetH>8t zW|Xus3t`7*28AH4My4I~?LCh6Z@h-nI}e8JnY#KyG~IsIMSvltT=LMFS1AVDx^k%8dn;&Z}(9Q z?(2jzvj#O+%waJ6ywB@Sk}0&L5U@Ho91CV`60KLpQ@@c>WMCFYDAj@Bm}aX}F^0k6 z&)VfHc*CK=r50m#l2+E&kh~(Ku?!?E9*8GLBL^5IZk*2W|a-ICV|%F z{~UR)u|kO)JG-vBbdN+1q$l8a4@#yC14go^U~K6X0IjBUC(Re8Y=#gS)q*fMv}!;= z@R#~bIZc5>A*5MjO-{i`*~qnY;>f+vMFuDGjtgG8Tkxc4foHUhe(n13It##1eCq@( zLrdly>G~Cdr5K1aKq)>S&0m8f5n_-eDBOMnzEELg!km@o=_C4s@(h_;Tk#}71 z@@Mt!866nYK+x~P?-(GbN&=!os2Ct!tq2@mfh}AHe^Lp0_=)5_QH+ti37c68BMu>Y z=P(MuY)RTM5+*XQci`Ax{y6e{BkxEaukifRUA1YzKbe8oIRL|v8iusY5P*m=MfoOV zPi&1_bbwsHm7wUPYn!m9Rmtk;nDAQ%ap*JOk38SVJ4O2>O(N1Hk~)xq3Cl_L^B{1M;aVr%d|AJg@LgR_$OQ(x-Gh46&;u;c7tgk z-_{H7&99oq)tcuuDB>uux1}R*Ia;MZ4YH*4ZFO}%D16tY%^C4BRJ{N~podsZ` z_`DP{?!J@oda^Jb8A39QMhGWWwdC?kxacjbQ85_9ff^z4aMI;f|A2wDXI9H_4GAWT z#)0diuW3hSOeA0o1G!&!!0*d3W6rEbvV?2V$B9`dV5M=waMD*+?h0kSmWh{ECuUTI zArxXrr*SN_UKw4>lshetUH8{li%DzFE8Qp2NM3-+~8YB`NBfIq5&9E zx^W1bQrP&_wPu4!F+Y8qzk$e_@XW>o_FmwmhPz%1OgL5N%l=S~5W z*?k-$n=dei*`NT>N?4a`t%UXOmFVN9Q?sQYY(~FlM-arN{^_ zELW8*1AbSAa}0$}xV)k#9WrKk?kSY*A?x5Ol)`Az02S*&bu;K(&g{voa7Qz1sXO0) z`B@01g}XKiksIA|pk$jravHgPCkw)k#1@rO${EE~Ncl6N(9@NPbPq*U@q+?Gn4_hR z!LmP~Tt>m=Sa2F^VGuAQEgRFAwuRQKDx7@jJX!!dZ1W}n6<1{D)h&IN_3Q(OdQJ<<;&v$p1 zJb&Y3H;Ygxl6ux{h5|*l7$(f51;00kw%dPDvH4VNpqUR`EvlEzfls!ka?hk;r2G+j zSGE96);-pT&c7>tCmX+hlOWMXDMR;JVGqV2sea6{_=dzayh{nViUBk0!D~hJRdd;o zVKB7!N=zvNMdv26Fphq{^xq&gZe1npY4VAx(7IqSR31`#h?i*s5!>)SC%`m3aueqm zs#>A%s>~yH)Kmw|&!v(*aiSl`{$fYT8`JRU%_2E>vOHF|6`_rx)v|g|#_NU3$^D8k zrs3fvXrXcr2vL9l9UBWm16LXBk0)tO3CxrKfF?;|FB*r-y)$HelF^#D8yR- z=!uHWr(y%m{n71Ad#*&vQRC#Gx?kzb%1)S6=z;6Ym(RvWZxYFiW^n=!O>|zPVnl}O zDbv7#Yo4swd@453ydU4e8izH6@?r~MC~JWGKmj9Rr zr{7m#7W~iM^jBL2)v1kZHt@r>4=Lek5)l|f5+J>-S*qxwXNgDbhkjpyS@_C&!AW=c z>Pq;%3MEt869;epURky_KK{r2Jh2pqYWGo&itD$Wv*cU0`ws0CWiv(yB|2o$t_>o{ z%0J>LSzePi23y*2JmzySqm5biu9ZWUe&6uOjiPG#oJdbXa46X(yskkUURQoOW6>|} z;YahMY_uwn|DYdj5ymYyUPXXu{>~bayr8c9BWOieLmh8^e-94dS-Rt0^v34|KO_)w zqj7V4I?=xIKgTta{Mm9Y6>KNCJc_ z1jv1GBoH8o5Oa`lBZvg#P(*?tqJpld!H|QHizM8KAp6H|ty`tF|7?|RZ7IBc-}mdD zbV8CD#Yv)@u6i}Yq^GBUpZ>nHTRU~?*gCe3tz+xhI<}6jW9!&DwvMf1>)1NB-^%8( zegb)JoJgkap=8=Hk<8mBlh-R_>Hi9X!@@!2wSPMK6~t4&iewsaZV5eKol1jim($Ri zG#XyFk^*X1(&)NXG`e;bjVMc_K_Aa2pPWg*Pf#9t!PKibp8A|yM13n3k$>4DdiG2* z4J=Ec7tSuBq2)_yc=>V~S+Rm%tXxTBt5(st>U0V^mq8QjvMBg+4h5ahq#-Bf|2_b@ zY@0y6$`i@Aasm04CQ_f0B=Rp^z)%)3l*Kft3{aL)00SA#Kmr*^Q1vS`>0Bm-)MU}* znrxa|!p3UR_JWPAvTG0_ss1Lq1hW)T<<(dKV`Ml)k0&sXs$`j+HX#Y^p$k zO2$;aOygN0020ao!fJDAdfhsjS+}0T>o!pM`3*FS-_PLB@VBX#*3zU)Yshc?l-~{@ zr`#9G=Uftbm&TJ%Q5?Ha0{N9B(lZRDU+F@6j$KH(50sL|uJbahB%Oj8%GBB%S^Vtt z8)@!^%@lcY3q@Ugm7*_h<@c}BJpL@={3Zs*fa-E-%Jp?L(!#W(DSU8!K{`MrXLvmR;LR%dhXF71!USv}i}{IvKoKnuFVxL!eOM!*dfwXBmX5BFGbIZqU^oT0pY<84a+>K)3sd5|)1=JRVl zrQdjmKUZ+zVoB_B2+oK%P##i!;MGj>NFCX>aNLhfC)1f&@+vffiEaP}fwv!nK{gts z1zot&#Oe%*4~P?39MqD`YFTz|AHBqj2b3&^k$v+J<=lLiU*Dz7uktDL_94pn`w?3C zw|q*zv0K~^nF_%h#~fR|nub@UwH=r)(f!C=!D{(3lEFj@oO&>^3QS1?2i_zJyw7Rb z2*n&KThuJmIOW2Pus8%&T`h1MC}qv9cPZ!AVaomb2<6^7LhHZzke1cHK|$+dXw;er ziZ0tg3%=e>bI)(4>9xw8aO_bRR#UGXVQmA){ezjJ6348Zg$P2!?%p_Kna z&MuW~g!mG|@ddGA4hLP`jh0;9!-4iKTK&}lQA-x9B?BtCb%?TWAEvOpWO~f`Ni10G zPu;sv$a_mE?)FY82ysjtJD_p}4L-NLZNR{VJPYP&iczlQ)eM+^rOkk;T_@QHU>0(w zLC}3k0|VQ9`xqViM-d(WS0zPca~tqLCkqta9)A2$3doD5h?`rb9uhE|^@g5bL0;Us zw{m)(NT!ll4aU7@WTbhBWfAQX9ex<*!dPOD*X zH3PN64yhXH7HL2%)Hf@Xg06Bs!@q$- zazJe>*EQzK_~xNlRHHJJ6nNYxp^ibi9$vAW##C`uVlc=gvnBX$mBJ2L397mM{XYpP ze!TmW1ihutt_`74m(!(tf3|iBxvpuYp_gOMiz*vg0b{bb6K5tZ z0P6*ws$=S_USl1Ta(xf|^}pX*6w?^WojZ5P-`~G!Fi_4T50UTd)98h|<_yTXic_^8W3v|ZtbK#F{5R1 zv*$$6^&8hMYWeQF?`X%49rVN#Pc*9*qd7zlAphDF>V3AA0DDZcYmZ(=*kJs8@9>j6)qW zN0TjqSL{obwkmKH&q&B%CD1!5F@0s3gODxHEc<2}EIx(E9GVkii{ z=6%zsPvt`DSr|*+TYU)B?EG80)w@ z97vrXeYi;|e-88}KTgZN&m=OGSOukkRr}doQLg*(aQlIAS{F#B3fsVVd^(3b{t}^7 z!&gm>CK`?<0LMpzBkIurA#1_KaHkTW;A#Uame30q(#ZGl9D011XG5g~_a?vc`P8dS zgTm@Gu?xvX`Ba?)6l^yzuKPJ7or$px%qO$S<72i@TZV&ymhM_e=g3-65L^uX6+juS zA6K%dW=*@NlGC!`A zi{t)Lxcsi^Y^?pjAb?rzk%~~iM3UQk)5-n)84PHq_;*9~sJJ5;3q>HTP#G48Yy#`a zZqdLBmFa(%RLtKMAW#WZ$xu9WDEzzleM}bt#${88ec;HHt|;0%7+$z*ei*sEJ52#P zHd7Sj0YH4ho*aJ!5Uwn;hGr(d+PaxfMKx~)QI`Fn5HAe~jw!JXZVV{=yB;UP<($k_ z@$_`+U^{_9VP_2t?*rFyeQPqgzB5$;I@|;xCK`{26_8o=ESg~?|P+`dG)c$>|60mfx- z2sv&HBxk^REl2}2NdelcD~JIdFaSENAc>L$l);Y8Y}o|J4E6m(>UeTX$LRJNq_zXY zCxBZkj_byd6L+*uTgE9s+k@nD0km5O#P0RB2IwH$Ap<0KM_H%_t3|^;_zr&`pp7nM z%$5iRzy1>qD@IuFlW>K&HgRILIOdF2a5jupfL>)l+gLr@Sv`3SXcqu6oV}ssf(#}K z(%kHzrX(GdHPe9LyKtB0#v-_|ZKD{zN=Ts&48mNwn5|$qWQ|g`#sFvI zSW%9^+13b-t{%9T0Mgw|S5jkGN>%s{)F+B5Y~coAMZCQf(=r(JQSf=da0HCCV?;4f zjs?zo9S&!$#>&xBdqedoIAZ%XCFyEnWeHF=?2GERSyw{vJ!7Xv5|Q78JCKDPax1a4L%?SBgei;)KrIpzR} z+fg-7?YeBJ)D&2RT=g9WKEu^<}In7V~XCSO1kEP5G?{g>F4OYHHh5ur}1Y~s9Q=v+dhwntb;2jX%ts`p8*iu zg=2~YUfvIid2*h=)f1M~t|>|aGk_rIqQ=oXb_}C9zMv@V)E>8P=_6!}AWa;{BdI-f zcR=QVtH90R3jDrny7emw6(QIvAX?#fL~B50LO5H^bqnU%ci??Ln*+-qwS@3*>}x;yR!L10-!|jeTqi=*x%7F&nx~WYa}vdj)e( z)!7)34oO>}tt9|@F#Ud1vryVI7*k0zPeK$nge3R2*)?o(rS0R@G4+S6TWS*RHE(H^ znQ)u|XAB*$`$6j+FaFE9pL<-_y`k*`j;+uB-m?f^G#bfY6O0^}J8VZTINQF4!43bC zpAQBwk>>CF?nHYH#*%_68%X|Ee7W3K^jAQ0V z>W+!rYuxnVrat#gZbxRwJ#4v4m>j8E zkld@nP#vGijr`->hv5bsZujO-rS7}$@Bbk3Kb^JxlP>GpRsaA107*qoM6N<$g23%A Ad;kCd literal 4617 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 Ad;kCd literal 4617 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 literal 4883 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 literal 4883 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 TMVrFW00000NkvXXu0mjfm`;gk literal 5091 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 Z{|8*CLbW+easdDU002ovPDHLkV1lLsUNQgx literal 5104 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 diff --git a/examples/moving-saw-platformer/assets/Jump44.png b/examples/moving-saw-platformer/assets/Jump44.png index e94fe4b87ba9f623b815d9ca39e34f307663fdfa..55a4e62c45b8c332b8f5ab4d81360414969ac311 100644 GIT binary patch literal 5024 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 diff --git a/examples/moving-saw-platformer/assets/Jump45.png b/examples/moving-saw-platformer/assets/Jump45.png index 7c2e15d14c68a3be948c49d47bc661222c189d0d..e7eb3e4da6c7a609b0256d5cfb765b60ffd90c72 100644 GIT binary patch literal 5074 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 literal 5127 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 diff --git a/examples/moving-saw-platformer/assets/Jump46.png b/examples/moving-saw-platformer/assets/Jump46.png index 7c2e15d14c68a3be948c49d47bc661222c189d0d..e7eb3e4da6c7a609b0256d5cfb765b60ffd90c72 100644 GIT binary patch literal 5074 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 literal 5127 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 diff --git a/examples/moving-saw-platformer/assets/Jump47.png b/examples/moving-saw-platformer/assets/Jump47.png index d0c38c2b275494345c0128d70c49274a5dd1abe5..b5b515c0ce9844304864cfac6efd28c71347f608 100644 GIT binary patch literal 5019 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 literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI diff --git a/examples/moving-saw-platformer/assets/Jump48.png b/examples/moving-saw-platformer/assets/Jump48.png index d0c38c2b275494345c0128d70c49274a5dd1abe5..b5b515c0ce9844304864cfac6efd28c71347f608 100644 GIT binary patch literal 5019 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 literal 5109 zcmVPx|uSrBfRCr$Pn+udx)p^JNXP?KtcV5B(1H&*Nq6TB*!l(q0i4Rn;XcQl`l_u84 zG?f~~6(`ogc5PUB2@w(q0zxooZ|k20Y(k>Hw+NIFusj4!WHzpqro^4G{G*W9#KLf zkn{-<+7?33!oIh+;*Bpoaa6`o_KP;$d!elQ{IQT3AA&4}wZmd7aI}ut1Ohf3VZ&uG z4#RO74nZOdQs)p<`a@ts8Nx>hKMdd#prk-&+adhhx!*7QILdm##z!udsZ*u_**qXg zE8<$Bti=pG4#gudmIIH#u=Oa5A~5uaj7CZYCLk~}Kt2qR3-j<@Ae~O*mkaJF>sZQm zvBt+&$mGd&K*o<|nZYm&HAtfX)aF7r#Lot?P+=`!W@+(g>0oU#+4!{VIJ8ahisTfP$AI# z%x3JoXZ@JQHl~wjty?Lb`fA90$O6f8%X=M(G#D0B6M?j~C`)mXu=U=5JE(Jzg4Y}05*P8Lc*M2(c@s0Y#SipY)M) z0=$0u=!JOHVCHPPR)*;uiwc8bEwCVj5=&0&W3I%JNQ*1Gk7X>zLsGkw5nr+ta-aG{ zEhc+4NF`Eu;jy3M;al$+TyVPr^H;CH30EybPj4@>3?~miX<^^`_ptrue;L&nM|IMS zM=p`xoLb0ypnxzKV=)9pnLmM1b&<(#Rn#HNh%AP6M!6EfB7g*S>6Fv3aKc>H9Nzp8 zn|}2gR;^lvmX?-5fKI;Q0?hsMbJ5e?!!DJBk8C=Fca}Ufsxgl0q}eZiQ5s#53`D^( zT40I(8Lz2_IJ?!+Cm{$%L1zdQS&Rg5-sE{$UN@g}7A@%vo3@P`H)7ecWys}ngW$}) z=>i=0<;4sq7v|un1m6Da{i7P=s7^X=!!jH@u5 zSTrJ6^4MCGIA1^e3z(Ix<9x-`N=CbgMpIK0HgDcMWFPCqTQ5Mvs`*HF^{_h~cx4NA zuYRfIah7~S-EC*d>cz8Q=OkRmh39$@jzCuWNQZrZu(;7ga8&z1eK_OQE~TQ97iGQ1 za$L%eJr_63xdd~ZshsH+QULX+zVBn+ym@%8~*Y%KaT?NQ-(H&%PDBlgLp1H{stCjk@lX5At4t60+K}sbO zIJmtP&Wn5T)B|f7`oQh3yY9m3)vJf?dWs4cb05AE-rULP>(1bVC6AUo&XP{3|Nc^$ zIIb496i9d;Jo;!buI+$6do%4w2YqmCf>S6WRasDIGjJIYOX>(zWkm`bR{sdwe*Pw! zKHr4fzj-?rE?fxLb+L2jPCW3y16aFuZBeb@sn?u=`oCC&Twf0FFDhMtiw0AF=lRk* zp%w@LFQK3ioP_JawOxinvz`fZ*p+TmTEo5D0dR!PkxA7=R2~!xNwUIUth^tcTlPhR zZ=BJ{_iJr!MJA*2mtwYtThBr5<-Z3%^zp%hqXcHs^$TQW(=6`d3(tn5l?OVniP{gTB;Nhu%lP2I^~H?+h{sf&+JIx%T#Ud95xN#W zT(q`m127jY>V%m;St+F-!g2&`&q0EKBoauH#yCnJs6eEgg|_CdJsOP7Rzo*o5sqcT zCQ_*ugX-R~)p-v7`;OrTTDLs&^0ho1g5+8_PT5yu+8*{}yU{QYt%CM3CD zv0R(o$W6HL*jf@uI4VIip_ro4?yiq!lhh3^a9Mdc}O>b&Sv4xpd11va67eO|U zJ?q}a-lyI|(3Kqoh@dol{Tzl7y=6s)JPOk%95kpAngplv~sn8`OSlBs$1Tscz| zGGMHP2IDFBp&W#&V(Q1V?%N07&nsQgFp7ag15?&vti+Uzx;bU0oAy$&)k*`Jw2w)tha;_szzAN4wp|CdZNv3EWZOE?+j>}86!&8WXi8jX;$lqD^zq75 zv}KsRCNhM*=oM^zKm^A?QIN>B*<$Ejn}iKfo#22F9Li$XisD}-=?7-|eM_a7RH;mu zpu{vrxDLCEn{<)casb)(9*9a$cQkbukLx29g^r{(ktM~NTLp(vkE451LxyJ>yV{J+ zn6(wPCl@mMVoyl1wa|cqo*Z^v^bezRrRi&yO1rjF%_5mU=>|n5SFpPf7^gakEuVYH zs$MZy)+{{{lA;5{AYGzpq#9Q2Lc;)3$)9npnB&kpBg4MWq{(pWQ1elXPLah(KLBOx z_QaH0kg_cV2h-Sf`ALPR7d1Zx$&b&WEt86P&xyceIJ5gPzU1@bN9`nTy%_ z9XRQxMY3|i41oNU9$be-hQeS3-z2x=5O!bvb3S*{b@Qe7sanWvpj^iQifN6>f``m) zV#h~tM$nmoTvS+6D+zD~oXI2yg`-5u#kPf|RoH_F&Rq8glEPk;$C$9K;fSP*z7G$g z<;(vZojc|0P12@flgwDd=~oiO!g!=T#?=OZVcjv-Gt|_^pV$bo&R^(MXG$eoIm6OQ zPTy}oyROtrcRy;naS(K%S5Mm_>Lue1ECpMk=E#O3>;2edyG|t60}^* zQAq2GAxLi2yKx8h-B#M$4}&N+Jan;i>MGSN=(2!knp}zic{YLrz1Vfd;Lt}x9QNio zN^yjsh%jWNiiPum|E|HP72g4H1`0BVYYCb5;WSi3R3!>7q{+~V!L|jZ>C2E7GwIsX zWc7-Zbbb=I7&REW5xdf#DDjPN)7SjIlzqO+C)m7IR%$|dq&r4)Os->cAd(j&;ISwb z-6#%YKyPu8euyenJ^OpR(01p4@Uzw5d!gL-*QGDZ z76pb5ns&$elA6i3XJgOxFN~<_Q*K!-z1fu0P%8kO4{^0?HcqKcJ43ZJc+)QgsAx!9 zM(@N3&SJThkjW!BoPmEZgD{)t-ZN#~45pIcBp`D>T5l+=uREMejX2n1{4svajK^1~ z_hzErh%WNzAPq*O9OQO(AUK@nNJ3GN(g1EF0<}((%+g!`^@5wWmuvY4e$?%C{ryVmGQ#R^v>nK-UY+Xn*j{vW=%~7ot&9 za!5W;brY5Ts?s%GwSw`I+oWG>LHlFFFM>_Ed9mac0!2pMVpVQOP#jnUC#Bj8oi8?{ z{r=a>HlDIwh=x7;<*OwLC53B>AQ2b>r23Cchr)i#7e{UZO#HLcrAx^s2{!eeNpuMY zW#;5cw5JrJ#>0+to-FHF%673Sw=~I`V$?RJ^`)L1b`Fz~7c+)|$Bg)J#a#5bSFV=a92%JA zntrT?#WP_G`1^ZDTx6eo!y;L=fW#eZQm%ZwQ$rkUwTWN zQ-5lS#y1w*LZz*eU&+fZJ?pok?OU%Nabg;ux=iT{UDx!Fj-)NGlGaBL4rlO_S zBhE5G3nX?dDNjCARxt60uD^GgOn#c0M+x5hs3X#*hPogSwH(j)mfx)PZnw3 zeTm(a@|lixzs12dzZ&zn#(aTd#CgV}mq=%N4fjpd>Y>VOD2wg-r}wb`?#)F%N5c;; zlJ2n+VNax2;M6)&luMGowQ^n2*E`blkNE<{faz~Z7fNSp1q(10f88%_!~VPe zeN@je^YInZZmi+V*DTfrZN2ztlwG@idS2?l{;wWi|K0PY+gKef1djDNM>SJpz3Kml z^T)v)VV1_hjDso7fyXUo++xNprZfWM7E>Cpag7iFP XghLOvwn^Dg00000NkvXXu0mjfL#^PI diff --git a/examples/moving-saw-platformer/assets/Jump49.png b/examples/moving-saw-platformer/assets/Jump49.png index d0c38c2b275494345c0128d70c49274a5dd1abe5..b5b515c0ce9844304864cfac6efd28c71347f608 100644 GIT binary patch literal 5019 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 literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI diff --git a/examples/moving-saw-platformer/assets/Jump50.png b/examples/moving-saw-platformer/assets/Jump50.png index d0c38c2b275494345c0128d70c49274a5dd1abe5..b5b515c0ce9844304864cfac6efd28c71347f608 100644 GIT binary patch literal 5019 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 literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI diff --git a/examples/moving-saw-platformer/assets/Jump51.png b/examples/moving-saw-platformer/assets/Jump51.png index d0c38c2b275494345c0128d70c49274a5dd1abe5..b5b515c0ce9844304864cfac6efd28c71347f608 100644 GIT binary patch literal 5019 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 literal 5109 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 XghLOvwn^Dg00000NkvXXu0mjfL#^PI diff --git a/examples/moving-saw-platformer/assets/Punch14.png b/examples/moving-saw-platformer/assets/Punch14.png index f79b4f5c8522d74c0f115c18102f0601c23fc1b9..e62cf671e02d8dfc28c80a3c3964585e11f2c552 100644 GIT binary patch literal 5003 zcmV;66Ljo}P);$#l{t)7@^!z7`;>0&c_&MNvUf6n8|B zeH8(BL{wZ8*SIukSJW7t7-P4)Q5F$pRot_5W;!PyWU!(Gzx#jIx88W8^XNP}kItj>=sY@)&ZG0_JUWlgqx0xII*(t#VVx96 zb_<4)!-62PPa8)6FCp|w2_(bbspNAZk^FCDQvbSa8gy$R4ZgLQhTdL6K@H1jWJ4YW z-(F55s+Q1@3z_8e(X`hWmebCOL-`UQ8x6A9;hOIP*Kbv`LBTc=oH&5&*dm_tD}<2WaV|gC=%>7CqcgIS=;I{0BvHE))c1 z!M!Hcuc7dVYsvS+sT~)N^Vw)}t4v}j@#M~6pcXGpEq?4m1FmO@QbMa&irc_dppJ#S za6riWs+d-Mb=b_7KPr~b7CqWe*$@6m>G$?f;@uq--LP4%0mV(IEuira3(5P#$c_ic z;rMiNtxP1>(l{{%CP@R6N&(k0X)p&`xDS+~Ls|Ur05ATKK*;~iotW=9ygRwa?4B#sOM zrcp6)BLv)mtdKnXgO01f%S`C9T=DLIC8$iP+%Gyg9ZnR@#6S`6dlMVKVraijtQxEcQwYAXQ&0>R)2Gh zioQQj$N#N@;+Lk=@80`uGcd5X-hG>#7mcC;bvYDpGm8sIuBvNu$m8J5_J?D=aSR!* z#gp^p7;^qHMuTGlh82UrtH+ly-2b3zO}n>SGEv?$+z45!_=hX>uYdm!dP0rI_uqd{ z(b3T@!h!Xi=tF+x=@d|%MgIJ~{c5w@AB^+)XmY;9P%h1Fgu|*aTy0d0w*+1-O;_bL z1JjaXprqY@JxhOo{NDoO@slU?#01ad$B!u>AmFKR-s@vcK4;=7pmqWEA&9< z2>nk#W(_dd4)NU4!^Ybk+)Z#EZd#;jzlVKgwTrmFw^MgaU|1Y>?gMn*nWF{aA# ztIQz3+N|~iWBAB15v0D(+TG=bU*@6?ZB# z9X2WGj?#+19Hk964%6TM>u=Q3aqiqXdgq;YeiqC>bnikwmlDapA)74c4{0Ab0_0D# z*`mzgxNyt?7{ir$MlgESi#jHZOLr7_$#-{31&fAJTuOse@Xb+L_1!VD8t6u2L&i{j zeLem7V3ltXoI(xFtXk&NjkPz0#_G{*+QnHq)EG z`L!(W&9~knH+OgP_4TE$UAsOP5ZJHYdXwDtO(VbR`P8>6liZH9Q`&|bIetDjlUw3==xgoS< zJ;J@nza~o_N}tMf^1Kk=_F%dv^b_}SJT+6P1;Ll0An5Aj2G=Xx8hptCxJ0FFRKEi% zvS?`KLQzcwHZBXLFpV+^=u$zrZ>r>pVgS=y)?1YtCKF>8@g z#9xbP_W1&`9_;>q2II6YlmhCrm0AFWzuWtIDyuoBZQ=At(!iY5z#z7;`?z!MqPvbC zLvX(mPj0LnkJ3b=YWhj)&JmXySCdZ>b%k8pY>-i9tju}0%Mc3lmb9;nDEZ+o8d^A$ zx>)`GxuA3p^^n4@Z$-Kh3}!)I{BYc=lgVal8y0(AXZcEOarkToIWiaoVgy?NKtboP zWg+j9WHKiyZh5)PZxI!>RZAO=li!UQYfcX&jj6kl|9SSs+Hd(f5}Ca)9ha<_I7F#oPw%gKoh$mkGEa{tV}! z9(w;~E)A|vO4JRhGbR3dNI^>V9dSxU?ungJWPYhKiRA$Fd+;peQg=WZ zH-Oj@sJRD5m|hnXB&`FSf)gijpd5YY05Em+$W|>Y2$Q%WoYs-r0T~7uh)aQN$ZU83 za7XlEXgU0}VC#D=Rour2g}>8qZmt@Mn1B&D*W%^8Y( znjU<8_sa|g-9KkgHC=3OhKdAw0;f1ms3Qi4q`vN);sEGIld4sXSe3AHc$}3m`-x{BKbST&EmvlOjMwC48OU z98=u*I{?M$bd;19P1Rxs=X!!v?k^0+Zto;=I5w?07`|!9K7@nhxSK1;>G%w?KR%5d zIY>Kkutq!*Kzzfl7h@G5xEBX*cU}w@x&a3N^(|8{yh;@i z#5uSQu8oI)dy^s*T|b8PB~OQgtsl!(!7m2K?$8v%*a2W1wczW;i_yVg<7;HaVzMjd z^NvI+h^#P24%h(X%r~q9GVuQuNbF{A93)|I0o{6E=9u(lykr*7D~ZY&o&Xe>@d_+} z@HNDB_}Wk@pg5eEt`=YRY%pr*7EM-bUtka1-V}_MuJM#1dDJgs7|gJeY_j>|M6x?D zne2^#rfPs#L7&f3F7{^zbT(R^uz(Va5n%FHe=QcPAQ~-3)QZpWf3ZC*6*; z0QzFK!~z6KfWi}hs$slwCc4@C(#%37+}JvvREYtK(eD}6uItStsb5-*GnEOvrWf4z zmc>BY|GzoVAnx5GH`qFQZkao;-TtkAC6S+fNaC^MrDbVt8bNr)a2194#4&wO(3hy z3};7}0MZp?s{=Y{q9C}a4(ZeBjiAg-1JLw+oGbs29~#F%WEiWp3}zR;uN{7pX0d#@ zK*3^g6C!_9x7;kEs6uTaGZ$7(SbYHvI+sS48$-x?^Ek5J7ODX4VnBQNhKo4<>}>+* zaHKgT#G|J6X%oYHd@fwm{>W6aTpdik@`A|v1Lew4V9(5fZ3{;f!#A%|_B3fEr9Qc! zI&2hZdUqXMwUk0@SCVT{Bw214P1YZdB@~A?+ncE8V-3)L&BbtSQ%E`}Q~Sik^ndgD zmiZ&7XU<@x6Gyp72rAIHQ_Hq-_M@fm$;;rgjDSpNuDqH6zJt zC8f0P3|oh|snGKCT6~#D<_XKae&B zgThUoEN%+!bW+WJv3-I{76U4O&832>myqx0^QhM<2D5&&g7bk19No2`o+1Qij_z7|aBc#~P6On?t%g0n58z#+ z`cl`~eFTohqM@9PM#*(?4Y--qN>DVXWt;8e+7=GJu&HYFPTG|#R8KDDeYwX$W9fW& zI$1FYt97Fl9G1B?;2|D`ce0|01mK$ z;zsxt20-KfJV12Q)n z>YQy&z-Z|liVznnjubF(!ESTJcz z5UWFMw+R#|24(!3)^)guEmFGx{J|-bjU;2Dzv8SUzul=!>^MJlMJz$#1$VIJn1RK^ zt&A!Hpq-lG^^Vr1)m}@7E49E45&N_z7cGlyA752NsSX1MMIj17y)cvv!vPga5=dJ7 z(G3f0RoqMNFG1TLLHC$x84<01)Fh+K`1WZLo_o86gEFKo73vYyQb6tkX}?O#q9$Y^ z{;WqvV5@H4Zr>#HKF%b*80Rj0F9`Y_1I%YL)o9=|tpnyKsvxOSUZ#DA6fDeZEI7-w zs*I3Icv@p3IM*0oOovkFs`1)-Q^>0YWW(-(Y~?7!q*={J1!x98(TtU4*TT5qx%RtI zaGucA0yjF}7+;zVsIV(pl_dA_%D^B6;|7r-)UUC$iQ5+%sL%Deib}7oR;E6mIjt&j z`Q6Tym}ky=k*QwFOs2JsC!U)8R*#<|GKGSqjV1r2n_5uocSzNCjl>qCT4GyJi#8zV z{t2yuTSJ;u;O!0uH!EN+YrhM=sQnC4iX&nr& zu>;9&B;So+ZAhCj`PC=}X;PjXX9vt(anl0H6qIH-2U)ANK_1r=cf$6Glm`(~GriH# z4vU4u)Px=qMiA5h>1G6_8-BLNPZ#d@#_N38aRG!+0wn+d002ovPDHLkV1j?`V<`Xt literal 5197 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 LNkvXXu0mjfJZkoY literal 4888 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 KMNUMnLSTZh diff --git a/examples/moving-saw-platformer/assets/Punch18.png b/examples/moving-saw-platformer/assets/Punch18.png index 4523910bc022ae19a006ea823517c49e33294747..b3b27c250a6a68aa8c476757d3cfbe7209970833 100644 GIT binary patch literal 4733 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 LNkvXXu0mjfJZkoY literal 4888 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 KMNUMnLSTZh diff --git a/examples/moving-saw-platformer/assets/Punch19.png b/examples/moving-saw-platformer/assets/Punch19.png index 4523910bc022ae19a006ea823517c49e33294747..b3b27c250a6a68aa8c476757d3cfbe7209970833 100644 GIT binary patch literal 4733 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 LNkvXXu0mjfJZkoY literal 4888 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 KMNUMnLSTZh diff --git a/examples/moving-saw-platformer/assets/Punch20.png b/examples/moving-saw-platformer/assets/Punch20.png index f77e10f942282366effdfbef32ed667eead517e6..bfa604e661acfe71699ecd6de03899d98455ddaa 100644 GIT binary patch literal 4568 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 literal 4389 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 diff --git a/examples/moving-saw-platformer/assets/Punch24.png b/examples/moving-saw-platformer/assets/Punch24.png index e4043706c6a30d7cb4e677a59cf1c6d936f3a773..09ca23525c5529bccab72e2bf4d7e511b4348cf4 100644 GIT binary patch literal 4334 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 literal 4389 zcmV+=5!&vFP)Px_-$_J4RCr$PTMLk6ReApIIrsMM$MnqXV`g@Dc6L}nOQwk_Y7O6YVPc8&vc*Lea?5k@B1I;j)&!=BLdzsE}aor24)Us zECaI)OmC*K%$Q}yEHkDz1eO`o8(zyEv&@)f#`K23GGltfYuRI#8MDlo-Vpfzz?g}T zUT(sXGW>xMDo{WKAZj3*uAn+~3^V|;KhIj zfgphRo`%oB$Rj-`V0nP@paKn}Je)dm90$MmU-;>#zPse>Sn@ZVPvDbZ+-i!O*1)5$ zdIDv^AV3I&fW8$y`UsTIzY|Er7W#6NH86;cL81YZQ#f(t81~%vIQD#Q_mZt=$=+x_ zK*s*$QZsb*>!ExF)S7@WFbsr7PWi~G0C|-|UIz$OzyL8Y9*y+C$QU4DU}8k3fhdX5 zPzmCkho3#Q7e9XY7nWpAOY$c3fiiK&W>dUy0;U?nOGpVK3Gx$?iLZPHp`ddpst`p# zL_viNlmkUz5nzk~Vw0d@fvG1A)RG8w(?Ak>I5GVS9=Y_>i(c2F-(X%)zO>a8HjTnm zVqO>ll9f-+3z!{69b&*QU_j?l&>=#VvmPUmI1w2p46&sN41d;Ngou zwWzf%>g0JrxofM*pF0Xv8}@oTV2CA(WkRwk`FWK60tWpeN;*Fa6q%sMfDkZ=NkCuB z7zRTaQ!@e(F(~nYO0A0TUvyjF>+Ac(`9K-pwZ#-JSPN5W!1GuHHnK?M@fnnWK^gK( z7z&Cg>mol#(sI(FAmk2aixGGToQ6plgu01PP3ow`b&*ukV9*eFs8*`@!6mo%wZ^_q zn%8JQahWM!`C25WBL<`$7>YV1A(GEvP{ay<0E2#sJ%)TmQ{c|bieMG4h`%r})_faD z%wSZKI%eV;W|A8J-XPW(126C6^wd%Oc+0My*V*$43+3BqKYEif^#)*sDYQuO7YfM= zIZw=%GI{^C#vd!gLvA+1!USVe%XDn#hQpSW13`V>2hP=bKMp`pNysjg&C9 z$*38fL{P*M@~QI%Cb2RsqZZfkj~~Ai z_uhFo8n805C;7t#ob%ah5GM(qzo|RcED12pWRmThrg=tFY zRES|>Om2|#m%JBnX<&IaCpn$RP)OcbT!ZV@y^X_t_Sn69H@0uzj-yA9wmh#20Ve62}$`4wnGjHqgkyN2q-iwd5}=b7cl5>oM{!ou}mz zJo2jFIqNEn=7u>7&UzW0ziZbn?A*C?*0hN^jpLQB*4)*gg@Ad@Bfn*mN<$c88AHsW zpNTP49aHs89us;}7nK26DFtZp8v?~w)K}36ZGtCqDl#x+z%de>YE(F#cTFkc15HrsBg5ut6mb0I zX}mVS7H6&BfD`o@VWJA;T&=PDM?b)G&p(e`E(en&Kwa`G1PUtW1HOlRsRTcipLH%k zZdD1V_Z$~HL`;>7%~Pu#Q3=%GB*mSr>x7%L@BeHCd!g_Pv!5M^E9MDJ9iis|SC z*FWi`Y>nkU-R99!cWK3visRVINJ<5Ijnq}h=MjcsQ%d{-|8t6jF^N1u^%uQHX+}Vu zFDuW*!2)df>JHikM0^`EAFH#ao3416qabBY}YLzMy%9c~3wUAhxg%D0!six$!+RRx@u7fkQgOia9 z1LGvcO)!Vo5=d$M@3t5Sum0$&?jtnp;bx9LHPj!LUPaG@z)dKOGg3P=YI=QNby(Q{hE z(_+B%$ns)|Y1EFNMs%_&JJaj;+c$pK&>j-Jo+Db=i(!He2Pap1$nXifpfd!ARV9 zqk$wgNU9O`z4NPGt+}f~-5@t{_g3lPrPZ}?ZvQASyH|qh+QLD6#!+#4Mlce@x-fC;qLgHFq_r8(`Mn{>w&{0-H`)uW{kK z#fTk1!XA=V8p>Vw&y@w44W`zdCKHYpL$wrPlLMwXWidiW$2cV)F85+WBo=#ded`K(6Z9YvZj|=%0902Sz-f4 z+q6I0k0XEC+x>gJd}KGcV8u;uGKKR-K}MWyT&1RL3rq&X`b#tS$+kwVUR)W_!%R7x zQ`64((0I9mmwxwKJ)AAe?D>Rl&>8u|ON>7@(A-YRuqF#aOCo3uTAJw&pmg&)EhcAu zes%>;U#@OzBzW=qf9`9IeVx=5IDhyYcl;}*B))zj%nTo(Ry84ZlYnQWq&zv z!vl-D=!-hJ8|JLqd7%j=hD26w-zgiZQqRfMRy@vD>NG>U2cF(IlNLT5rmsAhnFv!i ze{)f5Thz(j07GMje&ZKRVbfT%4szMBV@W$W8BkKsu>dt&ovqzHW+R2?S_7&a;>CA& zw?{qK8qNqXskHv+twxU&0o$VB7AR4_1t`m$EI4kz%8B2}ifo7gp*rYv1XGXU6$AJq zCG79ACi=Mm#!X_)ZCBXM9P0WtC6tDD2bhac4glvTHp-Da6Vae6a8J^?l-^fcgA2wBIVh*RjEE^>F4Y{bL4iCPK9D z7%z1Co~OK(H@?Z3Ml4l%DF;1}6F>%X(B%+bDS#>l4D#NqzS8&l`aW?nz)ak|OHlHGAHESKsUF z`^0{M8U66vOn%cCl1d~|gjj3F>s zLd29D7mVab6y@j+s>+iu;ovR*($^aMI;mf_(0LoacAcRbi9)LYBL$!I2W&j1dusxX z#?cuZ{QZY!&2jXjzhqcOC6bY4OFj@#e7h}N@NxS4dvWN`{BxlGbZnrknRsdFC(Si|ML zbMhp6kPPd4raSsmxAQ(@z?}2gO>zUHl?*qp9YEPf^4`3UJ(u0xac<*(d$l1iVdJIn z%xr0b!i35Dc;)NQ;>hj2b?vgCoe^L*e&+_>L1@`&%+A8z?#0%t6{4S=z=7*$w+&YP z-bJQx{u+2WB@&|WOl)ztp=20SdGa6*ez3cHdONY`RR?DBfpIlN^O|7Lrg0wzMpc_RD>RSMK|79Qo_VdLltjgS#~@ z8n^nEx0vDU-ymk&=RwSEHt`l z;C;?{!PCxp{AQEPShJ=1Q#hq**+`UD((avN*?&&=mnh26cweFR%wbLdIcK3nE>I#P zH^!cuHnCiUvI!&Y7Elt|OJ378f(s(iHelk5zh;8T6-ems6YB=i{$pGpso@a*U=i{0 zDyH5qGNEJrU0aPV2Z&#(Vd{OI+md4+d%OAHTX%aCU*2w#Q&qgQQ~qjg;w#$>$%`fH fd5da-yZQVds^t41y&9c700000NkvXXu0mjf=MHmT diff --git a/examples/moving-saw-platformer/assets/Punch25.png b/examples/moving-saw-platformer/assets/Punch25.png index e4043706c6a30d7cb4e677a59cf1c6d936f3a773..09ca23525c5529bccab72e2bf4d7e511b4348cf4 100644 GIT binary patch literal 4334 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 literal 4389 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 diff --git a/examples/moving-saw-platformer/assets/Punch26.png b/examples/moving-saw-platformer/assets/Punch26.png index e4043706c6a30d7cb4e677a59cf1c6d936f3a773..09ca23525c5529bccab72e2bf4d7e511b4348cf4 100644 GIT binary patch literal 4334 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 literal 4389 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 diff --git a/examples/moving-saw-platformer/assets/Run29.png b/examples/moving-saw-platformer/assets/Run29.png index c476bea1d80728649e794fa6edc87cf0a84d41f6..f0ff62028db6371d2ff3f44e98646cbea8b65d8f 100644 GIT binary patch literal 4502 zcmV;H5ozv;P)WZ#NS1jHp#P@@u;;0l5o z4I*0s3Pcta1wo9F5KW>c?k0*$o5jR*YeG~+76AcSL|kIheY&Sl&-^v#%*;7GnKNfP z-nrlV-m7|5fTp{(QnBlK?x~`xc+~s6?_GaC2Mux@j>B;{4#(j*9Eam@9FD_rI1b0* zI2?!La2$@~ANlaAoJ~Q;mQvVfDHL%ogT~aXq|wz`H1IRzLxshh|Y@!!$Y^Isr zr8KEJmjX&+9xX_&<8sC&hQOyPPe9KyjZe33^ zT8k;By_Dv(Z=!iu%W3}A&9tE7Rf@f~g<@}3(Cn^FG+FeO6cWN{VRArm+GADp@BAfhrbv zRtSXDo*iVozKgPY-=&qkyG@pP{as4CzLQp5dy|%SRZ;>2T6nvXp08g0H{WItAAo8B8XHHe`tljlG;p6PojB>XjmjX)C3K&aITh7Yi6UH}+EA%>z_$^AHu@ zIz(%3y(fm}cpdL&^}a(XJ#VvuwoyXIR*Jj6m1ee<*gqV<^T`z0l1Tw|X$;25U=+24 zv0C6l|eT0f{S5e7VN5zW2s-pG$+S*(1Q~u3^ z^4ScAxZ>Jd^b-GmT*nrg-~B4Z^px8#9KQ?63Cq)Gl%Nc7nt8W&ccV@>%n%1$we&Bc(jeVjNTy&`p$fi3d#LC2!*EXtf0I`r`P7eQWde1Hn!f((5J|CbU)lXv= zjqWO;3FmTucsS3bj8&nei0Q!~@WPD{TOwI4Gunzd`@Al$0JkXCLD7Kd%^D6qk2nO? zWU*?NbI^|KdX3LpA})&551Z0cLjGIl{;+U- ueJc6YT7ywC5`r!=5xy`2?s87a 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 mB@qnxICOjRRo}w_=KldLTEwUlVUeT&0000%{- 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 literal 4837 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 LNkvXXu0mjf>ytCj diff --git a/examples/moving-saw-platformer/assets/Run32.png b/examples/moving-saw-platformer/assets/Run32.png index 3d2644737f179339e98c3a48d5ed7b894ea14ec2..58793903b8a87eca6570512d69906a14ad71dd14 100644 GIT binary patch literal 4503 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 literal 4736 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 N002ovPDHLkV1lj-l@b5| diff --git a/examples/moving-saw-platformer/assets/Run34.png b/examples/moving-saw-platformer/assets/Run34.png index 31d92d6a68f469120dbf2402d00508cba9df6fe3..cf6c13069cea900dcf256fcc360fb6650fe5f125 100644 GIT binary patch literal 4377 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 N002ovPDHLkV1lj-l@b5| diff --git a/examples/moving-saw-platformer/assets/Run35.png b/examples/moving-saw-platformer/assets/Run35.png index 5dca526c187be32844ff55f924b989e832b6616a..39b6f4e06789f9e4a1db3bebbba1ab6b5d9792d7 100644 GIT binary patch literal 4614 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 Ef)Z&V+yDRo diff --git a/examples/moving-saw-platformer/assets/Run36.png b/examples/moving-saw-platformer/assets/Run36.png index c41dcba481f30005588eccddf4f02562753ff52e..f3009058b9f839fbeba6835e5f14d344d2caed38 100644 GIT binary patch literal 4241 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 Y56n_Cs7&aH^#A|>07*qoM6N<$f(f*Ir2qf` diff --git a/examples/moving-saw-platformer/assets/Run37.png b/examples/moving-saw-platformer/assets/Run37.png index cb91f0c726d038694f94704becf060abaa3ceae1..171e19b266fa18447635410fb2f25ec46e274f9c 100644 GIT binary patch literal 4410 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 AH2?qr literal 4593 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 diff --git a/examples/moving-saw-platformer/assets/Run39.png b/examples/moving-saw-platformer/assets/Run39.png index 66182fd8367714220796270c68598a6443afa782..3f3853c917f633e9ec24b2df6f0c5fdc3cf772a8 100644 GIT binary patch literal 4718 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 Q4FCWD07*qoM6N<$g4A6%mH+?% diff --git a/examples/moving-saw-platformer/assets/Run40.png b/examples/moving-saw-platformer/assets/Run40.png index 66182fd8367714220796270c68598a6443afa782..3f3853c917f633e9ec24b2df6f0c5fdc3cf772a8 100644 GIT binary patch literal 4718 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 Q4FCWD07*qoM6N<$g4A6%mH+?% diff --git a/examples/moving-saw-platformer/assets/Run41.png b/examples/moving-saw-platformer/assets/Run41.png index 41cd645885d9a368d223509ca7667bd7daf374ef..5fbff6923f498677562d77c13f6a2426d5a4a40c 100644 GIT binary patch literal 4559 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 literal 4842 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 Qr~m)}07*qoM6N<$f>KTWp8x;= diff --git a/examples/moving-saw-platformer/assets/Run42.png b/examples/moving-saw-platformer/assets/Run42.png index 41cd645885d9a368d223509ca7667bd7daf374ef..5fbff6923f498677562d77c13f6a2426d5a4a40c 100644 GIT binary patch literal 4559 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 literal 4842 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 Qr~m)}07*qoM6N<$f>KTWp8x;= diff --git a/examples/moving-saw-platformer/assets/Trophy_Idle.png b/examples/moving-saw-platformer/assets/Trophy_Idle.png index 6e67748223af76ed84f5d4ed38fea2ffb1e42f4a..9c4d4a55d37d54e4f54744d99744981b9d52f9ce 100644 GIT binary patch delta 536 zcmV+z0_Xja2eAZ@B!3BTNLh0L01FZT01FZU(%pXi0005wNklM)YM-bw|2YR zK@bE%5ClOG1VIo4K@bF0>hj`h=wV@;|9n0l4j0v@)g9DoP_fW0e>E&!%J3C@j--1$m%fjI!}BB&O~)d4vGb761* z+PSpoFoVF293Lx&ET8|S^SMH)dFO`!w5SMkWq8+4k%Zs@f=68F-k=0wWubb37ERJp zrzdO^)Cx|n!?TGNdhX7!dH|)y>FPp#%KL+E{r+e#P=8hr;FOm4W^zDscoR9GR8y>e z<#8KSR{zu{$Kv<8Y*>u-475haqH@F7D$n^oAUp)mZv_^SC_PKzkiCFj-v))r4QcY* zoBQG6@#$z%e9U9KI{<<}_I3FFXMD_h8~^|y0Dzab_ht^u@stw)AOZkx@)qSeo*>Kx a@CQArezw6vzJ%hVGGW2r5ZV zf&^F+v9LAYp^749MFNHnNT_09WTX zZO6ITv3-|DpI9w7;^F83lc<*%6YZa3bEhcWrtPb(U+Su--SUT z@jT)kDxM+b0e_;&^XzSn0RY8~bpUmlVU-D~<5qi`920wpcML}d@GH$&Mg*lLKrVK1 z@$3<_wqr;HF`u&aDsX#pltFPS{8tY{4qBhH5E1_5A#o~Z5lo#d|5 zwzS%fI1FavL>gCBjZ(pc7tq&T#)d^m3qaJDMdyhyiGO;^*P~GpN?HI_OvM0N2pv)8 zp&SJBKy~6O=Uejt8{`@TRskDJ;8F=-1FHg<&JAp!B!K645C#QQ%Z-?PMCT=2Q))w` zBL@Flx=q_c=LNDz3qVh5(C;D)3dt5&#%S3-5%i?^--bZ}gMJr-ewPtk7Nu-33<}J5 z(f%m_V1IL`B+Lg0CiVpUq+0DMczftR*=$g$n2=TvpuIsPf=TA3;RGx7fJKnX5RGXe zXpb{d4g(Ad09<%TT5QmP+;vlv2Mh~9kS&su%8{tjBf{jw304G1gNVZiFjCmCG08M? zNrptv>p>s5bMJHJwq&X{y)^j3DZLD`^n%PTB!Bb%V413}E-O_Ju#xR8A{PNxDM`vb z2GpL`arEl&-;V(VQBFZn*~6P6w-_J}gxNm^Gpz`v-F*N_tsz5`vfT=cCNIk2>DOH} zmtreS-(}r80RR608~X#}*&x~M*ur$6v=RhK-foBag^*>?QZldq2Jz^4gtiCN>UUA9 zlyj5zr*|)y{s)hrGi}rTex<2qFo(7PM~C0o_OIVedptU^)?d4EUCmel?#)o%2IP(Q z5_tXbEpFecChaE=pE3P!KD=bwCj05wvna4Gg*y2@oe6cto@0UjK7IJj%T-n zAP9mW2!bF8f*=TjAP9mW2!fzyou6GyJuHo*A5W*#{{3?L`G0n;BN^5Cg48j$H1V9T}VGy+wN@l?b10bE( zVw_t1z zfOkDGR0y;t!hhiaw1z+$0Ff}d0I&+7xjJC!&amdQ3ZW1HrHhbffl?J{0ayw{0w~Q@ z+8u5Xq_N|3rLbr9r=7RT=l<)T$uaM7 z004jl0G?mpR&!X7Q%(SY3;?9*M^xlEL0Agl7h~w0s@m^*C;$Ke07*qoM6N<$g2e{o AApigX delta 858 zcmV-g1Eu_!1n~xtB!2;OQb$4nuFf3k0009kNkl-aI>RT^PT+H2?tQ)>Z)2Os5s$ zvuj$z#aaO0>l$xEu>j*yCp4ZbTQ1foQRDw%J05U`K^MN4nOe(wvp(^?>1{HP+tPtN z_*@1Vzi3Rz=Gu|pi??lxD;9wEzX>)L8W+O!p35+f0e@14f%$$U77=?<#2#RZEjQ(2 zNQE&G(3uC=#HB|#^8go^>}@Gd1+bkNy6^-e0rHhi_+AF(VtqoNq;X_8e;lR}BYrP$ z^R@7_Sc+HxZdAY5g70O*>`$_2X_apnu(#@qlFk2R z*1H;xS*8d}`ymRF^A1nhncmVo;Yy03nTd+!)PGsRQuiC*0u%tNFKRg4K8OUu|8ffe zvjZS;6@hT6kHI9vlk#_d(#yFPk3n8Dq^$wsZ-!h1N9&m&MS5456gm=|JOwCccf;%= zXc1B=c~x(PmV+wAADXHnDxY)taw k=TUea4~o3cMSoiU0!hJu*IZz+NdN!<07*qoM6N<$f=o4sa4Gg*y2@oe6cto@0UjK7IJj%T-n zAP9mW2!bF8f*=TjAP9mW2!fzyou6GyJuHo*A5W*#{{3?L`G0n;BN^5Cg48j$H1V9T}VGy+wN@l?b10bE( zVw_t1z zfOkDGR0y;t!hhiaw1z+$0Ff}d0I&+7xjJC!&amdQ3ZW1HrHhbffl?J{0ayw{0w~Q@ z+8u5Xq_N|3rLbr9r=7RT=l<)T$uaM7 z004jl0G?mpR&!X7Q%(SY3;?9*M^xlEL0Agl7h~w0s@m^*C;$Ke07*qoM6N<$g2e{o AApigX delta 858 zcmV-g1Eu_!1n~xtB!2;OQb$4nuFf3k0009kNkl-aI>RT^PT+H2?tQ)>Z)2Os5s$ zvuj$z#aaO0>l$xEu>j*yCp4ZbTQ1foQRDw%J05U`K^MN4nOe(wvp(^?>1{HP+tPtN z_*@1Vzi3Rz=Gu|pi??lxD;9wEzX>)L8W+O!p35+f0e@14f%$$U77=?<#2#RZEjQ(2 zNQE&G(3uC=#HB|#^8go^>}@Gd1+bkNy6^-e0rHhi_+AF(VtqoNq;X_8e;lR}BYrP$ z^R@7_Sc+HxZdAY5g70O*>`$_2X_apnu(#@qlFk2R z*1H;xS*8d}`ymRF^A1nhncmVo;Yy03nTd+!)PGsRQuiC*0u%tNFKRg4K8OUu|8ffe zvjZS;6@hT6kHI9vlk#_d(#yFPk3n8Dq^$wsZ-!h1N9&m&MS5456gm=|JOwCccf;%= zXc1B=c~x(PmV+wAADXHnDxY)taw k=TUea4~o3cMSoiU0!hJu*IZz+NdN!<07*qoM6N<$f=o4sa4Gg*y2@oe6cto@0UjK7IJj%T-n zAP9mW2!bF8f*=TjAP9mW2!fzyou6GyJuHo*A5W*#{{3?L`G0n;BN^5Cg48j$H1V9T}VGy+wN@l?b10bE( zVw_t1z zfOkDGR0y;t!hhiaw1z+$0Ff}d0I&+7xjJC!&amdQ3ZW1HrHhbffl?J{0ayw{0w~Q@ z+8u5Xq_N|3rLbr9r=7RT=l<)T$uaM7 z004jl0G?mpR&!X7Q%(SY3;?9*M^xlEL0Agl7h~w0s@m^*C;$Ke07*qoM6N<$g2e{o AApigX delta 858 zcmV-g1Eu_!1n~xtB!2;OQb$4nuFf3k0009kNkl-aI>RT^PT+H2?tQ)>Z)2Os5s$ zvuj$z#aaO0>l$xEu>j*yCp4ZbTQ1foQRDw%J05U`K^MN4nOe(wvp(^?>1{HP+tPtN z_*@1Vzi3Rz=Gu|pi??lxD;9wEzX>)L8W+O!p35+f0e@14f%$$U77=?<#2#RZEjQ(2 zNQE&G(3uC=#HB|#^8go^>}@Gd1+bkNy6^-e0rHhi_+AF(VtqoNq;X_8e;lR}BYrP$ z^R@7_Sc+HxZdAY5g70O*>`$_2X_apnu(#@qlFk2R z*1H;xS*8d}`ymRF^A1nhncmVo;Yy03nTd+!)PGsRQuiC*0u%tNFKRg4K8OUu|8ffe zvjZS;6@hT6kHI9vlk#_d(#yFPk3n8Dq^$wsZ-!h1N9&m&MS5456gm=|JOwCccf;%= zXc1B=c~x(PmV+wAADXHnDxY)taw k=TUea4~o3cMSoiU0!hJu*IZz+NdN!<07*qoM6N<$f=o4sg>9*j)nq^WABPV@hg_4*X)rT*eLwfhbS z2!bF8f*=TjAP9mW2!bF8f|ls~>|)x&!Z`o&bUGd1FQ=dHM}Jcz@n?EX3IRa^ur_j7 zf=wYe2T&WDFE=MHw&~WOALcOR)u5H zTVf7C_gkPg5q}N`VAw6NGy(u13IImT_^?+6vm;=yO zfgPVKhAf}|wK||?dze9xrU7VC5%Qd+N^z5ZfP~-yLIMxjD$9YevQWK1%g#|(O;9U1 zxem`T?ekK!{@wmjf+oMdx}EOsAO0+r9P=0tQT`GHw$J0&Ka*qD z;{X5v0RTL|zBO|=9jBZC01*I4OOGheae}ZGz%LzkrgQjiIn)3E002ovPDHLkV1mS? B;IaS! delta 842 zcmV-Q1GW5_1mOmdB!2;OQb$4nuFf3k0009UNklq5~lK1EQ$^gS)Y{3nBq2Kd8tM$$OT{4CT3J z*KzNBcTNKDBSp&T?DKnHzk7G@5`bYChG7_nVHk#C7=~dOhJRuH8#YV~QZ3g56XU2d znw)FfuRTDuTn|nTrYP=i!ExKV!$sIE9%Alyuvt6=fXH_Ma4QXM5$@`l7-cr>nj8+! z-!UCwd?)RO3@E858|oh)|IB91Ej<0YEp?qrR7hV~E!TtL_zZKu1K{dy_@@`xJ1zkL zP7bC3fa30!?0=A2G+UPd0IydFryflYm8l^$1(KW>NpjwFJ`kA=yYPC2Pz17vrpIu6 z2Dj1(WJFNT0kdH@d@xW-yoQ{g4ZE3y5R+a~+i}~W)7Q2DUQhjb(gMu=PUyU-Y+7D0 z5d~t_r&U2jw58dq2VPGtQQpa7hzvR_!rbrNaMTvk0)MC)WGV-U&y}@70Hkh~H~cSS0}*w+*jXK($;C z=(FhBG$U0V5SP^Wy`n8*T_B58!H_gK6+-~9cU(#>hD_`U;*K|4m+*Rp#PO4Mtc#G^ z2aG1?8-KLTybb^K;)V#ObHSDH*L6seII`8C(enU`0>X4@EJj=!R?Y)tAc5jSn1UQP zaTZ7z6@XAZIkIumBa0OQ(jajtfe}>K+i)_CT#F$wG6qNeSnqatO`am;_8^(#^DJk2 zx~x<=oYx_U$WjDYr5YjEgd^qvS^;V=b}%^VM}Jm=e=-LEi&p?*87o1q`+y|J#fp&- zkGe(HVjn<-6QExN#eW>Nu{s#v3e!?&3zb4g1}m!o6)kp1FN9RlQgT^;jEJKX5!w+@ z+j)dir5v`ue0Uw{fAZ{Aq;0z2tu)jOj-f5Up#Lq}{`EW3o{lHh`fK;^sTrF9AB!*B zfJ0@YJq6x=evgL_s$u*2{>w=JyH9T-ZIk_C?#T*AfQdoA{}_ee<4IBMv(c~1AGFAi UFZs@Dd;kCd07*qoM6N<$f<&l#V*mgE diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_5.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_5.png index 6e67748223af76ed84f5d4ed38fea2ffb1e42f4a..9c4d4a55d37d54e4f54744d99744981b9d52f9ce 100644 GIT binary patch delta 536 zcmV+z0_Xja2eAZ@B!3BTNLh0L01FZT01FZU(%pXi0005wNklM)YM-bw|2YR zK@bE%5ClOG1VIo4K@bF0>hj`h=wV@;|9n0l4j0v@)g9DoP_fW0e>E&!%J3C@j--1$m%fjI!}BB&O~)d4vGb761* z+PSpoFoVF293Lx&ET8|S^SMH)dFO`!w5SMkWq8+4k%Zs@f=68F-k=0wWubb37ERJp zrzdO^)Cx|n!?TGNdhX7!dH|)y>FPp#%KL+E{r+e#P=8hr;FOm4W^zDscoR9GR8y>e z<#8KSR{zu{$Kv<8Y*>u-475haqH@F7D$n^oAUp)mZv_^SC_PKzkiCFj-v))r4QcY* zoBQG6@#$z%e9U9KI{<<}_I3FFXMD_h8~^|y0Dzab_ht^u@stw)AOZkx@)qSeo*>Kx a@CQArezw6vzJ%hVGGW2r5ZV zf&^F+v9LAYp^749MFNHnNT_09WTX zZO6ITv3-|DpI9w7;^F83lc<*%6YZa3bEhcWrtPb(U+Su--SUT z@jT)kDxM+b0e_;&^XzSn0RY8~bpUmlVU-D~<5qi`920wpcML}d@GH$&Mg*lLKrVK1 z@$3<_wqr;HF`u&aDsX#pltFPS{8tY{4qBhH5E1_5A#o~Z5lo#d|5 zwzS%fI1FavL>gCBjZ(pc7tq&T#)d^m3qaJDMdyhyiGO;^*P~GpN?HI_OvM0N2pv)8 zp&SJBKy~6O=Uejt8{`@TRskDJ;8F=-1FHg<&JAp!B!K645C#QQ%Z-?PMCT=2Q))w` zBL@Flx=q_c=LNDz3qVh5(C;D)3dt5&#%S3-5%i?^--bZ}gMJr-ewPtk7Nu-33<}J5 z(f%m_V1IL`B+Lg0CiVpUq+0DMczftR*=$g$n2=TvpuIsPf=TA3;RGx7fJKnX5RGXe zXpb{d4g(Ad09<%TT5QmP+;vlv2Mh~9kS&su%8{tjBf{jw304G1gNVZiFjCmCG08M? zNrptv>p>s5bMJHJwq&X{y)^j3DZLD`^n%PTB!Bb%V413}E-O_Ju#xR8A{PNxDM`vb z2GpL`arEl&-;V(VQBFZn*~6P6w-_J}gxNm^Gpz`v-F*N_tsz5`vfT=cCNIk2>DOH} zmtreS-(}r80RR608~X#}*&x~M*ur$6v=RhK-foBag^*>?QZldq2Jz^4gtiCN>UUA9 zlyj5zr*|)y{s)hrGi}rTex<2qFo(7PM~C0o_OIVedptU^)?d4EUCmel?#)o%2IP(Q z5_tXbEpFecChaE=pE3P!KD=bwCj05wvnM)YM-bw|2YR zK@bE%5ClOG1VIo4K@bF0>hj`h=wV@;|9n0l4j0v@)g9DoP_fW0e>E&!%J3C@j--1$m%fjI!}BB&O~)d4vGb761* z+PSpoFoVF293Lx&ET8|S^SMH)dFO`!w5SMkWq8+4k%Zs@f=68F-k=0wWubb37ERJp zrzdO^)Cx|n!?TGNdhX7!dH|)y>FPp#%KL+E{r+e#P=8hr;FOm4W^zDscoR9GR8y>e z<#8KSR{zu{$Kv<8Y*>u-475haqH@F7D$n^oAUp)mZv_^SC_PKzkiCFj-v))r4QcY* zoBQG6@#$z%e9U9KI{<<}_I3FFXMD_h8~^|y0Dzab_ht^u@stw)AOZkx@)qSeo*>Kx a@CQArezw6vzJ%hVGGW2r5ZV zf&^F+v9LAYp^749MFNHnNT_09WTX zZO6ITv3-|DpI9w7;^F83lc<*%6YZa3bEhcWrtPb(U+Su--SUT z@jT)kDxM+b0e_;&^XzSn0RY8~bpUmlVU-D~<5qi`920wpcML}d@GH$&Mg*lLKrVK1 z@$3<_wqr;HF`u&aDsX#pltFPS{8tY{4qBhH5E1_5A#o~Z5lo#d|5 zwzS%fI1FavL>gCBjZ(pc7tq&T#)d^m3qaJDMdyhyiGO;^*P~GpN?HI_OvM0N2pv)8 zp&SJBKy~6O=Uejt8{`@TRskDJ;8F=-1FHg<&JAp!B!K645C#QQ%Z-?PMCT=2Q))w` zBL@Flx=q_c=LNDz3qVh5(C;D)3dt5&#%S3-5%i?^--bZ}gMJr-ewPtk7Nu-33<}J5 z(f%m_V1IL`B+Lg0CiVpUq+0DMczftR*=$g$n2=TvpuIsPf=TA3;RGx7fJKnX5RGXe zXpb{d4g(Ad09<%TT5QmP+;vlv2Mh~9kS&su%8{tjBf{jw304G1gNVZiFjCmCG08M? zNrptv>p>s5bMJHJwq&X{y)^j3DZLD`^n%PTB!Bb%V413}E-O_Ju#xR8A{PNxDM`vb z2GpL`arEl&-;V(VQBFZn*~6P6w-_J}gxNm^Gpz`v-F*N_tsz5`vfT=cCNIk2>DOH} zmtreS-(}r80RR608~X#}*&x~M*ur$6v=RhK-foBag^*>?QZldq2Jz^4gtiCN>UUA9 zlyj5zr*|)y{s)hrGi}rTex<2qFo(7PM~C0o_OIVedptU^)?d4EUCmel?#)o%2IP(Q z5_tXbEpFecChaE=pE3P!KD=bwCj05wvn|Ta9WrY5MC=qX)wY7aOdS% z&Ux>8z>PzY_mbugiGZ;Hw45y|emv#m|JGuJ0Vs(8kLsVR`mzpb0IH|Jl-1W@EDnJ8 zeqdE8Ft!k`4u8Pd6hH(3Ko9_JC+NKoC;^b$35EcW&d9@%wG*5g8QS%7_oYRL8w73^ z02v8hks;3m+BsqN#)own^4$MhhoLHslGn%ElR`Mhi7-VT&D~U6j6;Y3k*-^%9afSe z5`>pk>jg$NNv%##6HU-aI9gF#MGIYfG5|pD0Ibe&cYnFAJtnPBXv2Cu!=eqVwuGTcM&iY-f@{|`Onuieivcw_^Wn?d) z$!18cm!q1g4K(@9_1$p)@N_gOJ{B=v9YBJR?ECO@VtmYd8~^~I0RS)WAG0|u$EhX& mKnno4$sI>jhNy> delta 922 zcmV;L17-ZZ1h5B?B!2;OQb$4nuFf3k000AONkl#Vcvh=Jl;GO&}cLojYgxqjQSe^n5PvJ^&GiU6`RLlKr90}79dIC_3~_G17cmnlu%IRJs@ z6eo+N#Q^_6c*gU9u%{2q5~Qf#HHh>q;AgyF6({JdzY=Ew`YDSRLfkJ%sK^hbABRb@ zqkjt7fl^5jB!vq#cwfj6K}gAEy&UC6#3O_~pisPybT(tR-|szj^xxfn;%Lk64|-9G z6=4C64!=3uzyCPe!{ffP{=&rze2evA?dt(+FM#kCc=7Hvu3pL6?T7asJNjR~edcJ( w?5AVTqG%70G0FEIJ^R`n6zM({{i6H>`V-ZbE}{Bq4FCWD07*qoM6N<$f+6v+4gdfE diff --git a/examples/moving-saw-platformer/assets/Trophy_Pressed_8.png b/examples/moving-saw-platformer/assets/Trophy_Pressed_8.png index 29a209013da49b4babfafcb79033b35ae82f73a2..4f53f062a8afc151b72fb1416d8302b856c0e8da 100644 GIT binary patch delta 548 zcmV+<0^9wt2fYN4B!3BTNLh0L01FZT01FZU(%pXi0005+Nkl|Ta9WrY5MC=qX)wY7aOdS% z&Ux>8z>PzY_mbugiGZ;Hw45y|emv#m|JGuJ0Vs(8kLsVR`mzpb0IH|Jl-1W@EDnJ8 zeqdE8Ft!k`4u8Pd6hH(3Ko9_JC+NKoC;^b$35EcW&d9@%wG*5g8QS%7_oYRL8w73^ z02v8hks;3m+BsqN#)own^4$MhhoLHslGn%ElR`Mhi7-VT&D~U6j6;Y3k*-^%9afSe z5`>pk>jg$NNv%##6HU-aI9gF#MGIYfG5|pD0Ibe&cYnFAJtnPBXv2Cu!=eqVwuGTcM&iY-f@{|`Onuieivcw_^Wn?d) z$!18cm!q1g4K(@9_1$p)@N_gOJ{B=v9YBJR?ECO@VtmYd8~^~I0RS)WAG0|u$EhX& mKnno4$sI>jhNy> delta 922 zcmV;L17-ZZ1h5B?B!2;OQb$4nuFf3k000AONkl#Vcvh=Jl;GO&}cLojYgxqjQSe^n5PvJ^&GiU6`RLlKr90}79dIC_3~_G17cmnlu%IRJs@ z6eo+N#Q^_6c*gU9u%{2q5~Qf#HHh>q;AgyF6({JdzY=Ew`YDSRLfkJ%sK^hbABRb@ zqkjt7fl^5jB!vq#cwfj6K}gAEy&UC6#3O_~pisPybT(tR-|szj^xxfn;%Lk64|-9G z6=4C64!=3uzyCPe!{ffP{=&rze2evA?dt(+FM#kCc=7Hvu3pL6?T7asJNjR~edcJ( w?5AVTqG%70G0FEIJ^R`n6zM({{i6H>`V-ZbE}{Bq4FCWD07*qoM6N<$f+6v+4gdfE From 2473fb9a500e0087fd0e44161f2dc547c4e10ce1 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 8 Jun 2023 22:18:59 -0600 Subject: [PATCH 28/33] Added moving platforms and blue flyer. --- .../assets/Blue player_dead.png | Bin 0 -> 1178 bytes .../assets/Blue player_duck.png | Bin 0 -> 951 bytes .../assets/Blue player_fall.png | Bin 0 -> 1024 bytes .../assets/Blue player_hit.png | Bin 0 -> 1069 bytes .../assets/Blue player_roll.png | Bin 0 -> 980 bytes .../assets/Blue player_stand.png | Bin 0 -> 1015 bytes .../assets/Blue player_swim_1.png | Bin 0 -> 1202 bytes .../assets/Blue player_swim_2.png | Bin 0 -> 1112 bytes .../assets/Blue player_switch_1.png | Bin 0 -> 1092 bytes .../assets/Blue player_switch_2.png | Bin 0 -> 1193 bytes .../assets/Blue player_up_1.png | Bin 0 -> 1037 bytes .../assets/Blue player_up_2.png | Bin 0 -> 1230 bytes .../assets/Blue player_up_3.png | Bin 0 -> 1077 bytes .../assets/Blue player_walk_1.png | Bin 0 -> 1009 bytes .../assets/Blue player_walk_2.png | Bin 0 -> 1203 bytes .../assets/Blue player_walk_3.png | Bin 0 -> 1217 bytes .../assets/Blue player_walk_4.png | Bin 0 -> 1097 bytes .../assets/Blue player_walk_5.png | Bin 0 -> 960 bytes .../moving-saw-platformer/assets/Bubble.png | Bin 0 -> 5255 bytes .../assets/Energy Bar.png | Bin 0 -> 3086 bytes .../moving-saw-platformer.json | 4211 ++++++++++++++--- 21 files changed, 3629 insertions(+), 582 deletions(-) create mode 100644 examples/moving-saw-platformer/assets/Blue player_dead.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_duck.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_fall.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_hit.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_roll.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_stand.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_swim_1.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_swim_2.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_switch_1.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_switch_2.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_up_1.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_up_2.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_up_3.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_walk_1.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_walk_2.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_walk_3.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_walk_4.png create mode 100644 examples/moving-saw-platformer/assets/Blue player_walk_5.png create mode 100644 examples/moving-saw-platformer/assets/Bubble.png create mode 100644 examples/moving-saw-platformer/assets/Energy Bar.png diff --git a/examples/moving-saw-platformer/assets/Blue player_dead.png b/examples/moving-saw-platformer/assets/Blue player_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..84a881e0539add766640dfd7c12e2ebb8360224a GIT binary patch literal 1178 zcmV;L1ZDe)P)Px(R7pfZRA_adB@|Q z_m1z~qXA~ja6^Q3;Y7Zcj+l{6uOKk+-JQ837hrOJ(0(~1EApdoIh z%8h4!#`G3`WW`e3Ifn|uMVMWCbQCo=LF&yg+H-ThGs&x2R z)Ae01K005znNKg)j=5rT!uJeW+}WQOD3r2e6vNa!2|6vl3lhI$JV(?Py!t`ZbN5R1 zM;tM^;p>oDD%4iNj2>|LBch{byPNg1!1|gYWN4m;$|#7KiN~VboIbzBw+!JZq)zx* zV13Dut3v8LHTQ~PMp!d%6ki01$D-SanDN6m001IxCQJ1VUwm^rOyp~6w}l%Q8VX;A zBfB7h%@+_esdA&p?U%Kvs;*a5@nfB%b2$RInZ~`dzoB!q4`{|=?*0P+0J!}84toC_ zK{UAx#`jBO{Y-0zs4c`}(aISBTZ@1#L&i0IF8=%tsM7)f04??%003C+)8X;OpPr8O zC2QB~Te*+Ll{a4R0f4E7B=WVi0Q<&-3C;NMx79wqc2oMoUFV=A?NnFNW3SEOBw|L! zu2<&nKLDW{H_jKjF&qlxkhMc0vZ>PHW7)XJ;aQMmslK5hZjE(r#;-l?Nq_fZCs0%t zclPI}job0sULCll>(}>huci9{t9=Sz-@kSAsba^~Nb)2|s@!;nLS&teUw(c!{4I3j z+AtVB#$~5z+V)bRwmLa-XOsn5+}WQOV7opMGqVl=S2q>QK7?5I;V|W+$z^ss0Pibo z<=1Yi+<4_wJHp25_qR@ptFKjTl?35#{BYx?k)$+axEnv*cxfa_XNaGTA9gz3>|f=z zLm3n43=xQ%vNmC184>9$Q5Z7z)LW5Zqf+#x1>x9I2$Dp;mXvy=omd%1qmY;|%L(XAUk7SV3A)yb)L;ypK+@0IG05bbT5Z^!(A zsJ}-fDj$j~zkBh+x-T=SB_R7%;ZmWtN`}7YHW~D?)E@`uHiWAfWZMVFKmYKftlvbw zmNw>$s#|A{Qxuk&YU-Ezuam@RwmM2f>eGw0<7TUqb1UMSuJ7KOt~E8MK1rdW71Evv$0~SGu`ZqSXImH;@CW;NnvdPXONVDDB9G$%qQI%Va s0Ygzn9>RZbufYFNV8)CYGiFTSUmFwe;Z{^m3jhEB07*qoM6N<$f)V>XYybcN literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_duck.png b/examples/moving-saw-platformer/assets/Blue player_duck.png new file mode 100644 index 0000000000000000000000000000000000000000..eef33c99a36306a19ddbdebcc69f430bd8bd0379 GIT binary patch literal 951 zcmV;o14#UdP)Px&aY;l$RA_f0 zgSUPI{Rn;o>ctajXnT>wghEKu^ZTG!>`S(9>XWjxt zL_|bHL_|bHL_|bHMBFw=ST|0W8ad6-ir_dVAx;4Rzya(4WA)QB>%;fAi$B7sD-=Pp z)%GSu+;aP!F}vpgsU4Q{l_2W^2tklswYiNLTlR9T&Di_Ha{i_2nnuAOZ%4J{*}aqgg&9;&3CtmsVof9tk*1PUx@*6YO&|`* zR+=j`7JKg}$NAa7{Q73$Kvqp|D0j%r#?CZBBIJ%ybc6a5)GNvbNlxioh&1Il4`OWj zQKj`lMor^Tx@2a{jd?KQyRz~z#yThcK|y7MRq7C?Q{PKv6ht(WiTJwAoL5oi5E+fs z4V4X6i9;?Msr%O4FS?;gb>1jS1W6|1>xgKo$PEC1h{a5$wWK7s?1br3BRB5gCJTy0 z$#Rq~NMQQ~L^E4$Z_3UqwW*4pS42^9&XMX6RW^15k*1P~xYPzK%^{P9J^%pB8i3X9 zfYsdx008~L6VUI^PRu}-hNT$+S zqKK001z|MYuD&C^znWP}r|7G`-ez6=6YUHg=}(CG?JrS%*v*8`clX^Up=& zg_le+5wG1eF#s+HNq!ovkV9k-eq`fkkR;>~*@GY1_!%T|J4EH+M>+xxmfIl&vB(<} z7PhW&yF_5gIG$fchK<(^<0#yM+{7o#IMSs?j_3M7Uv`Iqfxz_#atp$k-Q$f33&!jo zZ&P)B%A`w;oNj0}AjCvM3jWIrAI64t$056iujgL5UE}Hy&CrU7SiCJ_09@{3DW&V< zcCxO55JI>+^#8)ReUz&px5*hixC+A9FtF))(AbReJLIHq6`AAQ*aMs>j1B9j{ekNa Z_7`NWD4iH~YmEQ^002ovPDHLkV1fd2!#Dr{ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_fall.png b/examples/moving-saw-platformer/assets/Blue player_fall.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd3634f85f080aa578b708d75f8f45d834456aa GIT binary patch literal 1024 zcmV+b1poVqP)Px&x=BPqRA_UM@th&*@0eynfH=rw57Ld4L zC4B>Y1AGE;(XL!5Zkn`-fF>>xp_Z>X(}mU2E6AO>Gb1MVx4XEp0AllV*yHWl#aDfO*hJy8GvSlB3@S3ZY6-PLB&M{0Di zn=kwi%d+Cb+Du|pkcWULhz(B=8=fFGJV9)Dg4pl`vEd0~!xO}YCx{JC5F5m82lJ`o z3Z*1Q0D}Pia}u2(b_)Oi9B2uV=S~x$JvaSH3o^U5KRp!~%TY?BZX8ezBIYj|tynb^ zsma(&FPX`}Sa#IJ005wrMkfPfS!sJ2qlJy)mPKhyc2M0|l*Se|id!cPXva+-t}A8>slyMJ&zBq2j-3|#{`n2C zSqA_B-^_Cue-RnluZ&&uvK5q#9oM)P1OQ+$eYiWQba?sWE3{6J{`+j=^*b1Q_Ug_) zMeP`3va-IE67jnqN^%*7Bsr+f{-po_F2C;%?Nh`Kk)685W9s+VtL!CpTkflNHr6wak#y79tR^}1)khI z`{#l%{_^e6{+!yWJ`X7gs=X|xkB%v&w|`y@FvOhde<~_35HaLNYOa3+sq)jZazRcL zp*@*8geV+HQdJ=BMN0{>-R$%Yu&O}L4=U?RUv%`XMUb=2aG3+qmgg{r+7e4`Mdo^= zmDN#5k}do=MVlZx3Q2AXKTgql4WYV_=twe(q4=RQq4qa+(m#@wd|Z=>~6P`Sl*T?5irE0?m*g$ z(aY|7qZLQa51hV_hY0Cuw literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_hit.png b/examples/moving-saw-platformer/assets/Blue player_hit.png new file mode 100644 index 0000000000000000000000000000000000000000..5a6e2cdbe6dd781fafd6f12f7dc7a73185975b81 GIT binary patch literal 1069 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 Q9smFU07*qoM6N<$g63~crT_o{ literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_swim_2.png b/examples/moving-saw-platformer/assets/Blue player_swim_2.png new file mode 100644 index 0000000000000000000000000000000000000000..728376e0c94cefa5232e1461a5291a822abb3f76 GIT binary patch literal 1112 zcmV-e1gHCnP)Px(5=lfsRA_)o00CSQqS7thS|$20G} znRx;!QO>Kc_dg$Rt^P3yJH#Xg?P_jwcV>Djvm<~a5iJk?KVYs{etYMi?YsM?Y?>I5 zoL67BNK}S_=od@5=b!tff1locZ^EvL0LhnY1$ON!ku@9T^UQqkvDsQXd3Ntqw{4_* zfI*E50|1C<`Q}unqSLOfjLwiaF#7fRQ)^lG(lItelEMH0C+j>=Y11$n0ips100?kV zl}+JeXqGA%T{S+Q&+2rpT4#uA7yvN!gR6CxXak}H1^@^WC6)aRN(&HOFaSUR-_{Jt zdG&Q&Fo27kBwwx-bo31<2D0ewZ#cH44Mtai>u8%L%783-`x};Ro608B4a6i203af5 zjx{k5(=fVP@ap$<^qUCCq+kGm5PFtPY#@__0RTei$wy)VnKTUGBK*!jsx7JR*B-Y) zTo}Rm8P5Oy6SCt20GwOP$S$lVYUgB~5`gF9+H#%70+M8A{QvF^g64m{=T74TC_4@J z$9(K|m*H0_kjP6W35@p1hp)a=SFPi>iQ4H1zmb5X!Doa?b@&|#WNveJMv&M^GKe$x zGblTK<-PmU?ZoX=hu@Jvrl&FwRP0S|-1+sZFPF)!ATxhGkSOg`hu@JWW=q@qzZ2Qo zkM5F4<>9mOYX}{3Tua#x_FVuG3ZqQ~AkS5uzOfudD!U$CFV}*9c^5VorfH4t-h9^10BYsL9r4u0Zu$Mbtv#V ziGQe=nQF9TjhPRaJ5}aDdveFjuT<=3#y/+h9}uEu?4K9E2a%+|eKev^n2C?fy7QFg>L1OLlv0?e`YSi+{rS1BO%InU6`N?5<#Z%Fj@hZf8 zxmG|nvp4vjnO{ku5mvJrCY3ONm`f&!0@o>8L*6sX%F)*9YXF#kR9kXft9Y@CmBnGR ziMdk^SUgc(@oXGO*hO{oli$m2E`86-%Rl7HwL;srdr)+ieVbo0PydpG?^w#c_mA)V zV%nBrGI~H1wndlBsmXke0wEGZmy49?Idd@zBOi?#__t;J6)0000Px&{z*hZRA_W(T&+!~vZ*CdDlddu002;cyFgSu`qtU}@@(;IQn`4Mh#;nAmnGs8x4#oPhYG~{ z{@QFMiF~}!F37aC^9s=@1bNmW+Sp&4eV{uhFHmQ2)3Toj6$1c3A{I@{Ue=kDAKDx; zRcYKw8L}F79FcR_Y@Ou$Ra3M%L`qzbG7eFW=SI@5^+q>Z9AZ{>?n}eih!f-ZTRZ>Z z>8(AkoPxsckcpM;F@YkIJ5H0%%2L%+Ua$y~8_kpuG0zdJ7l^ntRcYMO75~g!aRW@Q)~3Aa?NrX%{-5-T?qW`to&1Uz+iaA7q@m7V)x^70~3QRQy@aKqV13gi%OTXMtMNb+@v z&c;vD5Ou3ciTeKIxrc7g_&P)&F7c+-KM;+Al(OVia{??G75FN0SnzVZuOJ*(3d4lf z%kDwNA&Tx0BIl4do&G}9tsb@7u5Tp6FMtBE2>`w)+d+Wi`;q_-QA6{}<;c}nkc0Bv z77=a6ok%xCw0TgT+lm_}P*H8R+C@@oaJTMC)tjw0%d!q6$d_k}UzU)oF+|)5A z7g{!E0-&dRlu`p z54#`&vG?1DD6vcNIIs#bv9dkpc1_VaasE9)au-rPmkTLX@5e{DQQ%!NF3Uv?$#MZ; z7Q}u30sp2TZr_V=Z?AQty@faot%K9B3gUFT=Z@eGse!)a`kNohetTt{Tb85%0000< KMNUMnLSTaJrV@_; literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_switch_2.png b/examples/moving-saw-platformer/assets/Blue player_switch_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5094d57616a5ccace5488a308eb6ec6406fa2cb7 GIT binary patch literal 1193 zcmV;a1XlZrP)Px(V@X6oRA_)Me8*i}W3F17#`jitwz$k}Ek^HfdlEX&+LK`qlbqWV)2|!5F?l)GA)ywTQZ>&C++O*R%*!X*_S3uf2)^0KgHedBfaQ zxh6N1c}T83+Ky@b(C;`R>-=(jU0ha9QRX3>V<*TsM4m~l>5lnEHA*}r-yXi?n$`_t zWAc7l{NvU06IpBWigXXj)_ZA&ERc8HMo;iif(AvpAgMKd50PiW+CkJRPuimwGS=h= zsUfq`>~BIMK9FUPh>kDE({hvvR;q`P&O?XFZ4j}TO2%t4ZMq@NLu4dUC!$QSQat3} zMCx3chec1sqWqzIBq#%qXJlwr#bMBK@>N876G-3yv(3Z8)?b zQPm5GSj-z{OZ7aVl4{WNN>HLW=Y;Z*sNDDlM4m|{<4O~3U_tVR*;1KEo#2R7l?gVG zAnT2Ofq{s$V7g7vle8BC<&eB#zUGKkxA$l^h1t7fn7um!008~7FG2rw!_~f*an^iZ zJ#B6N5M=#}@GXd+L^^ppg1>+J`OdR=t^|+1_$Kr?RSDL2$oO&B>py?J_iXyRDP^3h zMv^Z<@`kyKjFr8uANOJWMm5m?iOs3@{h!RVWh4vB;AtO9rMJ^jJ)w3I}g2=d1 zh?4b2zYu1;(#!5;py`_D!qE;_L5QsLFcU-#B6RbH*~->?=|JP%UJ$?zf*4*Fh&;m) z_Z}zXgCIA59y~;>#+Lg5h*;D#eo!!mZ~UBhJXNX%!~79fX#2IpBI;g^r!}`~)>Bfw z98aqx#Dgu}y}%KxkCXbb+quV+AZPnq7nfI)ibeF`!p9=&&gNEyXztpyLgX2@Pc?jZ z%$~GIFAzn|&$nYLAetW%vCiApv!Cv+jdk3b-$#wF9RF@LUl1AQF30ks%i1#v2w-S+;6gz^?55v{~_dxKO#?8;(`#Dl)%`jCGB4fBy-UqVx700000NkvXX Hu0mjfQQk!Y literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_up_1.png b/examples/moving-saw-platformer/assets/Blue player_up_1.png new file mode 100644 index 0000000000000000000000000000000000000000..430869432135a7abddd889212fb3d476cfdddea1 GIT binary patch literal 1037 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 P00000NkvXXu0mjfFvAG( literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Blue player_walk_5.png b/examples/moving-saw-platformer/assets/Blue player_walk_5.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d926424e98b84d41073852599ef69ad66c145b GIT binary patch literal 960 zcmV;x13&zUP)Px&dPzh_jJ7<7^ zfPesXSidGtE|t>ZSa=SE$S@`*000Ew0T2~y=gqB?wW+gy#MKu;EZfO*#FcKp6S=1X z*m`AowBTo40DTZ7ZSTE949)cNtV^_6Sss09I;Kw0&&e#?+2~aa0054dvutPHWK37_ zEkja;@^m=Fi?Vh^?rF7tnenTp_?97@x~JM1=eVWP=tG4DxDx=CO#Nl(CPCk#xg`lA?=3A0&65geihR0 zM{}=4VqvYB*NG89;)BrzM9i4*4FG_MbE!gk+K6x64wFlz^i3BxU2tSZmZNq-d^;~7 zW-Qyu>-MX)sH)yqR55YS(V8Kq(zqLlJP{v^>fPFPIkIdgZ?cefgCpj27FaEUB$rBQ z2Eyop=_XWf(*HtB4Y6!zgCpi{dybk7XdWLx^LQTs03wf{LF7^PR{y=&xvf^Nk{^Gg z5`QP21(7MF7l&o|@%jBv_q@r0eCkPuIp8M~)UdU5zA9f>^dQ zkBm+9`n+5Jt~5`tcAWEt>~d*bX_DV43o^X8GsHkhy^&Dj$+fX)YE-M8*Bf@bh9s9t z=}0WR4vb}F-ntCbY{2=)chEdO004kkW(po;r;OR%>X%wYA=qx^_1LRFV{Jh!+nML6 zZ~MAWbnZ~?CBqoIb=&-3>FnFI1u?Zu?i+1Eh+4i~%I+F2(e(_e)|+!Agtmt8eSxS| ztkoOsYlrknHM{yj=ncs%vi(X zHvK{+R)q`^zIMgDpc1RJAV>MJZ6dn!SwcixNBOaBSv#eoTCF#7cX^8@A$F_vhSJGf zNsyDZsk3VBVy5#zb60SQHmkLZ8P!IS=Z@J(p*)Ky7G(ZAW&)yCk%+Ay=EvUlGme0O ifPjF2fPjDiGyDY7+g6D({>%V3I literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/assets/Bubble.png b/examples/moving-saw-platformer/assets/Bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..e8be1b2fcdb36ca0af52b31a4b8c8d80ffd4814c GIT binary patch literal 5255 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 literal 0 HcmV?d00001 diff --git a/examples/moving-saw-platformer/moving-saw-platformer.json b/examples/moving-saw-platformer/moving-saw-platformer.json index 6c3604b80..e6612f991 100644 --- a/examples/moving-saw-platformer/moving-saw-platformer.json +++ b/examples/moving-saw-platformer/moving-saw-platformer.json @@ -1321,6 +1321,266 @@ "name": "Idle60", "smoothed": true, "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_dead.png", + "kind": "image", + "metadata": "", + "name": "Blue player_dead.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/906c71dfc05b7ce84ca9de2c21a8f84151b9708818a49c0e28e01853e68956e0_Blue player_dead.png", + "name": "Blue player_dead.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_duck.png", + "kind": "image", + "metadata": "", + "name": "Blue player_duck.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/5a412597e85b2dfd798d822f050e068b430b3819475a1a47d42685b02a209dd7_Blue player_duck.png", + "name": "Blue player_duck.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_fall.png", + "kind": "image", + "metadata": "", + "name": "Blue player_fall.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/7814d3f8d3acb10b6f03c00fe8a04c1486415d85850a5dc1121bc63c65a4dee7_Blue player_fall.png", + "name": "Blue player_fall.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_hit.png", + "kind": "image", + "metadata": "", + "name": "Blue player_hit.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/93df8d0ffa8ab66999aa72cfa151c8e04afd3d555e5452fd931a4dee0f6ae74d_Blue player_hit.png", + "name": "Blue player_hit.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_roll.png", + "kind": "image", + "metadata": "", + "name": "Blue player_roll.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/1fa88dd585f63bbe2a0abf64896531e1d579dad18567d6b3ae19f557c8c3f438_Blue player_roll.png", + "name": "Blue player_roll.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_stand.png", + "kind": "image", + "metadata": "", + "name": "Blue player_stand.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/16b5cb814580d40456eb79eda21a2809bddd403bf2281c1c7228aed0d3299600_Blue player_stand.png", + "name": "Blue player_stand.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_swim_1.png", + "kind": "image", + "metadata": "", + "name": "Blue player_swim_1.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/8de1841878e6c96dacee8703d3cd012184758f2d6a4e733c21d04f0b7d99c27e_Blue player_swim_1.png", + "name": "Blue player_swim_1.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_swim_2.png", + "kind": "image", + "metadata": "", + "name": "Blue player_swim_2.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/a515b387f4ec0b78c214baaf100651dcb5dc1f7cc42c1f48dd6b6a003f47d331_Blue player_swim_2.png", + "name": "Blue player_swim_2.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_switch_1.png", + "kind": "image", + "metadata": "", + "name": "Blue player_switch_1.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/1c62cecf83f255a43ab89418dea2d10d32f02bbb25e68a60bfd090fa22d32f19_Blue player_switch_1.png", + "name": "Blue player_switch_1.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_switch_2.png", + "kind": "image", + "metadata": "", + "name": "Blue player_switch_2.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/be2a35ed875ef54121034e3dbd1b805181d3aab67e2a2bd152f463ff66ce645c_Blue player_switch_2.png", + "name": "Blue player_switch_2.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_up_1.png", + "kind": "image", + "metadata": "", + "name": "Blue player_up_1.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/8bc569c6baa83426caa84de02480912770e2b2ff335f8e4c6270fcd01bff1175_Blue player_up_1.png", + "name": "Blue player_up_1.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_up_2.png", + "kind": "image", + "metadata": "", + "name": "Blue player_up_2.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/94d5b4b691ff12ec0ac1c7ad9f1325b6ae644751d9559509b8038bf128d90bdd_Blue player_up_2.png", + "name": "Blue player_up_2.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_up_3.png", + "kind": "image", + "metadata": "", + "name": "Blue player_up_3.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/fce285e8d3c3ebd62af3e862ec77fc83d00d917ccd2afb0c86681bca8a9de699_Blue player_up_3.png", + "name": "Blue player_up_3.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_walk_1.png", + "kind": "image", + "metadata": "", + "name": "Blue player_walk_1.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/d96968d16da6e212be2c14eefe14cec18f45274cfc99fde5676875ea477b758b_Blue player_walk_1.png", + "name": "Blue player_walk_1.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_walk_2.png", + "kind": "image", + "metadata": "", + "name": "Blue player_walk_2.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/1f8a502bb00c514fd0e944574280a70a98824ecd6d022f51cca759ef3f645d22_Blue player_walk_2.png", + "name": "Blue player_walk_2.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_walk_3.png", + "kind": "image", + "metadata": "", + "name": "Blue player_walk_3.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/5829812a5c39c05752515d0bcf0371d8d8ddaeceaffe17ddfadbf4c8485ce886_Blue player_walk_3.png", + "name": "Blue player_walk_3.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_walk_4.png", + "kind": "image", + "metadata": "", + "name": "Blue player_walk_4.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/846d9168c14f5a529bf7e5e0a17680b55ec4624dab7fd3119391b65a26aefe82_Blue player_walk_4.png", + "name": "Blue player_walk_4.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Blue player_walk_5.png", + "kind": "image", + "metadata": "", + "name": "Blue player_walk_5.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Abstract Platformer Pack (370 assets)/PNG/Players/Player Blue/555525c9434c8f41c5b7d811fe766f8f1ecc3306c6c409877d7916c11a0c1c31_Blue player_walk_5.png", + "name": "Blue player_walk_5.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Energy Bar.png", + "kind": "image", + "metadata": "", + "name": "Energy Bar.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Hud/Bar/5e8415764fad4e64bf3d6eb76c48ee5a89901545b96795315ec70b17fb0e1f7f_Energy Bar.png", + "name": "Energy Bar.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Bubble.png", + "kind": "image", + "metadata": "", + "name": "Bubble.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Particles/PixiJS/12254a94cf3e8dbc4bcccadf4f2f761ee0736f0abe7405c4a419fab822ba90ca_Bubble.png", + "name": "Bubble.png" + } } ], "resourceFolders": [] @@ -1349,24 +1609,18 @@ "gridColor": 10401023, "gridAlpha": 0.2, "snap": true, - "zoomFactor": 0.4331805881017549, + "zoomFactor": 0.6449197509627761, "windowMask": false }, "objectsGroups": [ { - "name": "Saws", + "name": "Platforms", "objects": [ { - "name": "Saw" - }, - { - "name": "Saw_BottomLeft" - }, - { - "name": "Saw_BottomRight" + "name": "BorderedHud" }, { - "name": "Saw_TopRight" + "name": "MovingBorderedHud" } ] } @@ -1382,27 +1636,12 @@ "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", "width": 0, "x": 781, - "y": 375, + "y": 343, "zOrder": 29, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, - { - "angle": 0, - "customSize": true, - "height": 64, - "layer": "", - "name": "BorderedHud", - "persistentUuid": "83a14713-1a5a-4447-8c1b-ab18e60abcb8", - "width": 160, - "x": 288, - "y": 106, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": true, @@ -1412,7 +1651,7 @@ "persistentUuid": "fe4899a6-6668-4069-826d-c4fa511e0a8b", "width": 230, "x": 564, - "y": 266, + "y": 234, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -1426,8 +1665,8 @@ "name": "Saw", "persistentUuid": "da7b905c-98af-4b17-a585-4bb12938ad13", "width": 0, - "x": 435, - "y": 151, + "x": 275, + "y": 109, "zOrder": 33, "numberProperties": [], "stringProperties": [], @@ -1442,7 +1681,7 @@ "persistentUuid": "bd87b684-8d15-4faf-92bf-3f379044cdf4", "width": 624, "x": 832, - "y": -720, + "y": -752, "zOrder": 34, "numberProperties": [], "stringProperties": [], @@ -1457,8 +1696,8 @@ "persistentUuid": "73810944-9219-486c-bf2e-7c496bec9c67", "width": 1984, "x": -512, - "y": 448, - "zOrder": 34, + "y": 416, + "zOrder": 0, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -1467,32 +1706,17 @@ "angle": 0, "customSize": false, "height": 0, - "layer": "UI", + "layer": "", "name": "Title_Text", "persistentUuid": "fe2f0a17-ae1c-457f-a1e5-7408a87b6970", "width": 0, - "x": 320, - "y": 16, + "x": 176, + "y": -345, "zOrder": 35, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, - { - "angle": 0, - "customSize": true, - "height": 64, - "layer": "", - "name": "BorderedHud", - "persistentUuid": "a0c3d841-0c50-49db-a5f1-f773df663c1a", - "width": 192, - "x": 282, - "y": 330, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": false, @@ -1501,8 +1725,8 @@ "name": "Saw", "persistentUuid": "0e3b5473-0e67-4cbb-a416-cfbc1d0eeacc", "width": 0, - "x": 295, - "y": 349, + "x": 275, + "y": 291, "zOrder": 33, "numberProperties": [], "stringProperties": [], @@ -1517,7 +1741,7 @@ "persistentUuid": "f8393a49-2057-497a-9f1b-96051bc73d1a", "width": 96, "x": 64, - "y": 168, + "y": -32, "zOrder": 36, "numberProperties": [], "stringProperties": [], @@ -1525,14 +1749,14 @@ }, { "angle": 270, - "customSize": false, - "height": 0, + "customSize": true, + "height": 128, "layer": "", "name": "VerticalParticles", "persistentUuid": "0b5b9140-333f-4ee0-bf0b-2cc99ea5e59c", - "width": 0, + "width": 128, "x": 112, - "y": 144, + "y": -62, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -1547,7 +1771,7 @@ "persistentUuid": "5389527b-953f-44c1-b915-e5e951b3ff34", "width": 0, "x": 583, - "y": 381, + "y": 349, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -1562,7 +1786,7 @@ "persistentUuid": "aedee705-179c-43e3-8836-ba4f019d48cc", "width": 0, "x": 775, - "y": 279, + "y": 247, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -1576,8 +1800,8 @@ "name": "GreenHero", "persistentUuid": "b89b6097-1eb3-4d6d-8891-2f03bf48e315", "width": 0, - "x": 64, - "y": 371, + "x": 74, + "y": 339, "zOrder": 37, "numberProperties": [], "stringProperties": [], @@ -1592,7 +1816,7 @@ "persistentUuid": "8b56d4c2-010a-43c3-b10a-68d8d9bc4875", "width": 544, "x": -512, - "y": -640, + "y": -672, "zOrder": 34, "numberProperties": [], "stringProperties": [], @@ -1607,8 +1831,8 @@ "persistentUuid": "ce008221-ff5f-4396-919a-072d53f32b91", "width": 0, "x": 80, - "y": 112, - "zOrder": 39, + "y": -88, + "zOrder": 10, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -1622,7 +1846,7 @@ "persistentUuid": "b699faa9-fbe0-4eac-95d1-edddc03e1d66", "width": 86, "x": 586, - "y": 96, + "y": 64, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -1637,7 +1861,7 @@ "persistentUuid": "72d656cf-d8d8-449f-8e2e-bc81d2fa5dca", "width": 74, "x": 672, - "y": 138, + "y": 106, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -1652,7 +1876,7 @@ "persistentUuid": "eeba8486-97ca-4ab2-aaba-d288e6b7b835", "width": 0, "x": 583, - "y": 285, + "y": 253, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -1667,7 +1891,7 @@ "persistentUuid": "d3bfa2d5-440a-4879-af53-0f0bf0c18d94", "width": 0, "x": 621, - "y": 167, + "y": 135, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -1682,7 +1906,7 @@ "persistentUuid": "e55ba9a4-658b-43b3-83be-e68389c1b754", "width": 0, "x": 695, - "y": 167, + "y": 135, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -1697,7 +1921,7 @@ "persistentUuid": "856c0b3e-9795-44f2-8b09-57d192405efc", "width": 0, "x": 288, - "y": 384, + "y": 103, "zOrder": 40, "numberProperties": [], "stringProperties": [], @@ -1711,8 +1935,8 @@ "name": "Saw", "persistentUuid": "3a531c83-2c7f-4b81-bf26-9f93545dfdbc", "width": 0, - "x": 301, - "y": 119, + "x": 93, + "y": 67, "zOrder": 33, "numberProperties": [], "stringProperties": [], @@ -1726,45 +1950,122 @@ "name": "Timer_Text", "persistentUuid": "67d164e3-101a-481e-937f-e5899a81c384", "width": 0, - "x": 672, - "y": 19, + "x": 32, + "y": 32, "zOrder": 41, "numberProperties": [], "stringProperties": [], "initialVariables": [] - } - ], - "objects": [ + }, { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [ - { - "effectType": "Outline", - "name": "Effect", - "doubleParameters": { - "padding": 1, - "thickness": 1 - }, - "stringParameters": { - "color": "255;255;255" - }, - "booleanParameters": {} - } - ], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, + "angle": 0, + "customSize": true, + "height": 64, + "layer": "", + "name": "MovingBorderedHud", + "persistentUuid": "93cab373-7f4b-4698-9aaa-0719fce5e964", + "width": 224, + "x": 80, + "y": 64, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 128, + "layer": "", + "name": "MovingBorderedHud", + "persistentUuid": "140d1fe3-0dd7-410d-9c96-6f8104246493", + "width": 112, + "x": 272, + "y": 288, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Controls_Text", + "persistentUuid": "283f4738-4d3e-455e-ab7b-e59735aab8f5", + "width": 0, + "x": 32, + "y": 432, + "zOrder": 42, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "BluePlayer", + "persistentUuid": "8274ff04-4da6-439f-9dbd-47655e87b54e", + "width": 0, + "x": 128, + "y": -240, + "zOrder": 43, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 128, + "layer": "", + "name": "HiddenPathMarker", + "persistentUuid": "59f83831-aecf-4640-a135-08ebdf21d6a5", + "width": 576, + "x": 160, + "y": -224, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "FlyerTrail", + "persistentUuid": "da2f65c5-c944-450f-b6a6-d0248b7ab43b", + "width": 0, + "x": 160, + "y": -208, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, @@ -1782,7 +2083,7 @@ "directions": [ { "looping": true, - "timeBetweenFrames": 0.05, + "timeBetweenFrames": 0.035, "sprites": [ { "hasCustomCollisionMask": true, @@ -2154,6 +2455,41 @@ "string": "Moving Saw Platformer", "font": "", "textAlignment": "center", + "characterSize": 50, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Controls_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 2, + "thickness": 2 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], + "behaviors": [], + "string": "Keyboard: Arrow keys to move, spacebar to jump\n\nGamepad: Left-Stick to move, A button (green) to jump", + "font": "", + "textAlignment": "left", "characterSize": 25, "color": { "b": 255, @@ -2224,7 +2560,7 @@ "string": "Press any key", "font": "", "textAlignment": "center", - "characterSize": 50, + "characterSize": 40, "color": { "b": 255, "g": 255, @@ -2256,6 +2592,48 @@ } ] }, + { + "assetStoreId": "afbeb7d1b67ec8b51b3370ddfd8c4aa1bd9b925ee58ead50767f44e2e444d7ba", + "bottomMargin": 32, + "height": 96, + "leftMargin": 32, + "name": "MovingBorderedHud", + "rightMargin": 32, + "tags": "", + "texture": "9patch_Bordered Hud_all_32.png", + "tiled": true, + "topMargin": 32, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Platform", + "type": "PlatformBehavior::PlatformBehavior", + "canBeGrabbed": false, + "platformType": "NormalPlatform", + "yGrabOffset": 0 + }, + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 0, + "Clockwise": true, + "HorizontalEdgeDuration": 4, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "easeInOutSine", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false + } + ] + }, { "additive": false, "assetStoreId": "1c010f733d45fbe792e563d6463f14f4d3d0b48d52de37f51bba3c821b0c7a12", @@ -2290,7 +2668,7 @@ "particleSize2": 0, "particleSizeRandomness1": 0, "particleSizeRandomness2": 0, - "rendererParam1": 8, + "rendererParam1": 7, "rendererParam2": 8, "rendererType": "Point", "tags": "", @@ -2315,6 +2693,71 @@ ], "behaviors": [] }, + { + "additive": false, + "assetStoreId": "1c010f733d45fbe792e563d6463f14f4d3d0b48d52de37f51bba3c821b0c7a12", + "destroyWhenNoParticles": false, + "emitterAngleA": 0, + "emitterAngleB": 0, + "emitterForceMax": 0, + "emitterForceMin": 0, + "flow": 30, + "jumpForwardInTimeOnCreation": 0, + "maxParticleNb": 100, + "name": "FlyerTrail", + "particleAlpha1": 255, + "particleAlpha2": 255, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 226, + "particleBlue2": 226, + "particleGravityX": 0, + "particleGravityY": 0, + "particleGreen1": 144, + "particleGreen2": 144, + "particleLifeTimeMax": 0.5, + "particleLifeTimeMin": 0.25, + "particleRed1": 74, + "particleRed2": 74, + "particleSize1": 100, + "particleSize2": 0, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "rendererParam1": 7, + "rendererParam2": 8, + "rendererType": "Point", + "tags": "", + "tank": -1, + "textureParticleName": "", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 8, + "variables": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 1, + "thickness": 1 + }, + "stringParameters": { + "color": "255;255;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "Sticker", + "type": "Sticker::Sticker", + "OnlyFollowPosition": true + } + ] + }, { "assetStoreId": "f2a545fe86b8cc1509591e310c5b6e497482b05fc54d5e770a57d57c167d45b0", "name": "GreenHero", @@ -2375,12 +2818,12 @@ "DownwardSpeed": 0.9, "FollowOnX": false, "FollowOnY": true, - "FollowFreeAreaLeft": 0, + "FollowFreeAreaLeft": 1, "FollowFreeAreaRight": 0, "FollowFreeAreaTop": 0, "FollowFreeAreaBottom": 0, "CameraOffsetX": 0, - "CameraOffsetY": 0, + "CameraOffsetY": -100, "CameraDelay": 0, "ForecastTime": 0, "ForecastHistoryDuration": 0, @@ -2410,10 +2853,10 @@ "WaitingSpeedYMax": 0, "WaitingEnd": 0, "CameraDelayCatchUpDuration": 0, - "LeftwardSpeedMax": 9000, - "RightwardSpeedMax": 9000, - "UpwardSpeedMax": 9000, - "DownwardSpeedMax": 9000, + "LeftwardSpeedMax": 8000, + "RightwardSpeedMax": 8000, + "UpwardSpeedMax": 8000, + "DownwardSpeedMax": 8000, "OldX": 9000, "OldY": 9000, "IsCalledManually": false @@ -2430,12 +2873,12 @@ "FloorFollowFreeAreaBottom": 0, "AirUpwardSpeed": 0.95, "AirDownwardSpeed": 0.95, - "FloorUpwardSpeed": 0.9, - "FloorDownwardSpeed": 0.9, + "FloorUpwardSpeed": 0.8, + "FloorDownwardSpeed": 0.8, "AirUpwardSpeedMax": 0, - "AirDownwardSpeedMax": 0, - "FloorUpwardSpeedMax": 9000, - "FloorDownwardSpeedMax": 9000 + "AirDownwardSpeedMax": 1000, + "FloorUpwardSpeedMax": 8000, + "FloorDownwardSpeedMax": 8000 } ], "animations": [ @@ -6573,571 +7016,3175 @@ ] } ] - } - ], - "events": [ + }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Game logic", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "assetStoreId": "07851d5ddd8737ffd3f69bcfb6884be8bd69c04e2f4d2aa45cdfcfc15206d49d", + "name": "BluePlayer", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 2, + "thickness": 2 + }, + "stringParameters": { + "color": "176;213;255" + }, + "booleanParameters": {} + } + ], + "behaviors": [ + { + "name": "EllipseMovement", + "type": "EllipseMovement::EllipseMovement", + "RadiusX": 0, + "RadiusY": 200, + "LoopDuration": 1.5, + "InitialTurningLeft": false, + "InitialDirectionAngle": 0, + "ShouldRotate": false, + "RotationOffset": 0, + "CenterX": 0, + "CenterY": 0, + "MovementAngle": 0, + "OldX": 0, + "OldY": 0 + }, + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 4, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "easeInOutSine", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "walk", + "useMultipleDirections": false, + "directions": [ { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } + "looping": true, + "timeBetweenFrames": 0.2, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_walk_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "swim", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.1, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_swim_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_swim_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "stand", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_stand.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "duck", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_duck.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "fall", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_fall.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "hit", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_hit.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "dead", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_dead.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "roll", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_roll.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "switch", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_switch_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_switch_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "up", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Blue player_up_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_up_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Blue player_up_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "603d81772c22a6401f0bb19588cb7bb6f384ae840c9e03391874c15a049ade25", + "bottomMargin": 12, + "height": 26, + "leftMargin": 10, + "name": "HiddenPathMarker", + "rightMargin": 10, + "tags": "", + "texture": "Energy Bar.png", + "tiled": true, + "topMargin": 13, + "type": "PanelSpriteObject::PanelSprite", + "width": 78, + "variables": [], + "effects": [], + "behaviors": [] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Game logic", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "GameOver_Text" + ] + }, + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "0.8", + "", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "HiddenPathMarker" + ] + }, + { + "type": { + "value": "Sticker::Sticker::Stick" + }, + "parameters": [ + "FlyerTrail", + "Sticker", + "BluePlayer", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" + }, + "parameters": [ + "GreenHero", + "PlatformerObject" + ] + }, + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "GameStarted", + "False" + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"Timer\"" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "GameStarted", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "GreenHero", + "Saw", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PauseTimer" + }, + "parameters": [ + "", + "\"Timer\"" + ] + }, + { + "type": { + "value": "AjoutObjConcern" + }, + "parameters": [ + "", + "Saw" + ] + }, + { + "type": { + "value": "PauseAnimation" + }, + "parameters": [ + "Saw" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "GreenHero", + "PlatformerObject", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "MovingBorderedHud", + "RectangleMovement", + "" + ] + }, + { + "type": { + "value": "PauseAnimation" + }, + "parameters": [ + "GreenHero" + ] + }, + { + "type": { + "value": "Tween::TweenCameraPosition" + }, + "parameters": [ + "", + "\"CenterOnHero\"", + "GreenHero.BoundingBoxCenterX()", + "GreenHero.BoundingBoxCenterY()", + "\"\"", + "500", + "\"easeOutQuad\"" + ] + }, + { + "type": { + "value": "Tween::TweenCameraZoom" + }, + "parameters": [ + "", + "\"ZoomIn\"", + "1.5", + "", + "1000", + "\"easeOutQuad\"" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "1" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "GameOver_Text", + "" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "GameOver", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "GreenHero", + "Trophy", + "", + "", + "" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PauseTimer" + }, + "parameters": [ + "", + "\"Timer\"" + ] + }, + { + "type": { + "value": "AjoutObjConcern" + }, + "parameters": [ + "", + "Saw" + ] + }, + { + "type": { + "value": "PauseAnimation" + }, + "parameters": [ + "Saw" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "GreenHero", + "PlatformerObject", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "MovingBorderedHud", + "RectangleMovement", + "" + ] + }, + { + "type": { + "value": "PauseAnimation" + }, + "parameters": [ + "GreenHero" + ] + }, + { + "type": { + "value": "Tween::TweenCameraPosition" + }, + "parameters": [ + "", + "\"CenterOnHero\"", + "GreenHero.BoundingBoxCenterX()", + "GreenHero.BoundingBoxCenterY()", + "\"\"", + "500", + "\"easeOutQuad\"" + ] + }, + { + "type": { + "value": "Tween::TweenCameraZoom" + }, + "parameters": [ + "", + "\"ZoomIn\"", + "1.5", + "", + "1000", + "\"easeOutQuad\"" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "1" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "GameOver_Text", + "=", + "\"You won!\"" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "GameOver_Text", + "" + ] + }, + { + "type": { + "value": "SetSceneVariableAsBoolean" + }, + "parameters": [ + "GameOver", + "True" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move saw around objects", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::SetInitialPositionToNearestCorner" + }, + "parameters": [ + "", + "Saw", + "RectangleMovement", + "Platforms", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::SetInitialPositionToNearestCorner" + }, + "parameters": [ + "", + "BluePlayer", + "RectangleMovement", + "HiddenPathMarker", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::MoveAlongBorderOfObject" + }, + "parameters": [ + "", + "Saw", + "RectangleMovement", + "Platforms", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::MoveAlongBorderOfObject" + }, + "parameters": [ + "", + "BluePlayer", + "RectangleMovement", + "HiddenPathMarker", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "Timer_Text", + "=", + "\"Time: \" + ToString(roundTo(TimerElapsedTime(\"Timer\"),2))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneVariableAsBoolean" + }, + "parameters": [ + "GameOver", + "True" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "AnyKeyReleased" + }, + "parameters": [ + "" + ] + }, + { + "type": { + "value": "Gamepads::C_any_button_released" + }, + "parameters": [ + "", + "1", + "" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "Scene" + }, + "parameters": [ + "", + "\"Moving Saw Platformer\"", + "" + ] + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 0, + "ambientLightColorG": 7893896, + "ambientLightColorR": 16, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + }, + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "UI", + "renderingType": "", + "visibility": true, + "cameras": [], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "EllipseMovement", + "type": "EllipseMovement::EllipseMovement" + }, + { + "name": "Platform", + "type": "PlatformBehavior::PlatformBehavior" + }, + { + "name": "PlatformerCharacterAnimator", + "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator" + }, + { + "name": "PlatformerGamepadMapper", + "type": "Gamepads::PlatformerGamepadMapper" + }, + { + "name": "PlatformerObject", + "type": "PlatformBehavior::PlatformerObjectBehavior" + }, + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement" + }, + { + "name": "SmoothCamera", + "type": "SmoothCamera::SmoothCamera" + }, + { + "name": "SmoothPlatformerCamera", + "type": "SmoothCamera::SmoothPlatformerCamera" + }, + { + "name": "Sticker", + "type": "Sticker::Sticker" + } + ] + } + ], + "externalEvents": [], + "eventsFunctionsExtensions": [ + { + "author": "D8H", + "category": "Movement", + "extensionNamespace": "", + "fullName": "Stick objects to others", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXN0aWNrZXItb3V0bGluZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik01LjUgMkMzLjYgMiAyIDMuNiAyIDUuNVYxOC41QzIgMjAuNCAzLjYgMjIgNS41IDIySDE2TDIyIDE2VjUuNUMyMiAzLjYgMjAuNCAyIDE4LjUgMkg1LjVNNS44IDRIMTguM0MxOS4zIDQgMjAuMSA0LjggMjAuMSA1LjhWMTVIMTguNkMxNi43IDE1IDE1LjEgMTYuNiAxNS4xIDE4LjVWMjBINS44QzQuOCAyMCA0IDE5LjIgNCAxOC4yVjUuOEM0IDQuOCA0LjggNCA1LjggNCIgLz48L3N2Zz4=", + "name": "Sticker", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/sticker-outline.svg", + "shortDescription": "Make objects follow the position and rotation of the object they are stuck to.", + "version": "0.3.5", + "description": [ + "This extension can be useful to:", + "* Stick accessories to moving objects,", + "* Animate a skeleton.", + "", + "An example allows to check it out ([open the project online](https://editor.gdevelop.io/?project=example://stick-objects))." + ], + "origin": { + "identifier": "Sticker", + "name": "gdevelop-extension-store" + }, + "tags": [ + "sticker", + "stick", + "follow", + "skeleton", + "joint", + "pin", + "bind", + "glue", + "tie", + "attach", + "hold", + "paste", + "wear" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Check if the object is stuck to another object.", + "fullName": "Is stuck to another object", + "functionType": "Condition", + "name": "IsStuck", + "sentence": "_PARAM1_ is stuck to _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const stickerBehaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "/** @type {Hashtable} */", + "const stickerObjectsLists = eventsFunctionContext.getObjectsLists(\"Object\");", + "/** @type {Hashtable} */", + "const basisObjectsLists = eventsFunctionContext.getObjectsLists(\"BasisObject\");", + "", + "eventsFunctionContext.returnValue = gdjs.evtTools.object.twoListsTest(", + " (stickerObject, basisObject, stickerBehaviorName) => {", + " const behavior = stickerObject.getBehavior(stickerBehaviorName);", + " return behavior.basisObject === basisObject;", + " },", + " stickerObjectsLists,", + " basisObjectsLists,", + " false,", + " stickerBehaviorName", + ");" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Sticker", + "name": "Object", + "type": "objectList" + }, + { + "description": "Sticker behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + }, + { + "description": "Basis", + "name": "BasisObject", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], + "eventsBasedBehaviors": [ + { + "description": "Stick the object to another. Use the action to stick the object, or unstick it later.", + "fullName": "Sticker", + "name": "Sticker", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "const object = objects[0];", + "const behavior = object.getBehavior(behaviorName);", + "", + "// Set up the scene sticker objects list - if not done already.", + "if (!runtimeScene.__allStickers)", + " runtimeScene.__allStickers = new Set();", + "", + "// Set up the behavior extra methods - if not done already.", + "const prototype = Object.getPrototypeOf(behavior);", + "if (!prototype.updateRelativeCoordinates) {", + " // Unstick from deleted objects.", + " gdjs.registerObjectDeletedFromSceneCallback(function (runtimeScene, deletedObject) {", + " if (!runtimeScene.__allStickers) return;", + "", + " for (const sticker of runtimeScene.__allStickers) {", + " if (sticker.basisObject === deletedObject) {", + " sticker.basisObject = null;", + " }", + " }", + " });", + "", + " /**", + " * Update the coordinates in the basisObject basis.", + " * ", + " * It uses the basisObject coordinates from the previous frame.", + " * This way, the sticker can move relatively to it and still", + " * follow basisObject.", + " * ", + " * @param {gdjs.RuntimeObject} basisObject", + " */", + " prototype.updateRelativeCoordinates = function (basisObject) {", + " const object = this.owner;", + "", + " // Update relative coordinates", + " this.relativeX = object.getX() - this.basisOldX;", + " this.relativeY = object.getY() - this.basisOldY;", + " if (!this._getOnlyFollowPosition()) {", + " this.relativeAngle = object.getAngle() - this.basisOldAngle;", + " this.relativeWidth = object.getWidth() / this.basisOldWidth;", + " this.relativeHeight = object.getHeight() / this.basisOldHeight;", + " const deltaX = object.getCenterXInScene() - this.basisOldCenterXInScene;", + " const deltaY = object.getCenterYInScene() - this.basisOldCenterYInScene;", + " const angle = this.basisOldAngle * Math.PI / 180;", + " this.relativeRotatedX = (deltaX * Math.cos(angle) + deltaY * Math.sin(angle)) / this.basisOldWidth;", + " this.relativeRotatedY = (-deltaX * Math.sin(angle) + deltaY * Math.cos(angle)) / this.basisOldHeight;", + "", + " // Save initial values to avoid calculus and rounding errors", + " this.basisOriginalWidth = basisObject.getWidth();", + " this.basisOriginalHeight = basisObject.getHeight();", + " this.basisOriginalAngle = basisObject.getAngle();", + " }", + " }", + "", + " /**", + " * Copy the coordinates to use it the next frame.", + " * @param basisObject {gdjs.RuntimeObject}", + " */", + " prototype.updateOldCoordinates = function (basisObject) {", + " const object = this.owner;", + "", + " this.ownerOldX = object.getX();", + " this.ownerOldY = object.getY();", + "", + " this.basisOldX = basisObject.getX();", + " this.basisOldY = basisObject.getY();", + "", + " if (!this._getOnlyFollowPosition()) {", + " this.ownerOldAngle = object.getAngle();", + " this.ownerOldWidth = object.getWidth();", + " this.ownerOldHeight = object.getHeight();", + "", + " this.basisOldAngle = basisObject.getAngle();", + " this.basisOldWidth = basisObject.getWidth();", + " this.basisOldHeight = basisObject.getHeight();", + " this.basisOldCenterXInScene = basisObject.getCenterXInScene();", + " this.basisOldCenterYInScene = basisObject.getCenterYInScene();", + " }", + " }", + " /**", + " * Follow the basisObject (called in doStepPostEvents).", + " * ", + " * This method is also called by children to ensure", + " * parents are updated first.", + " */", + " prototype.followBasisObject = function () {", + " if (this.followingDoneThisFrame) {", + " return;", + " }", + " this.followingDoneThisFrame = true;", + " /** @type {gdjs.RuntimeObject} */", + " const basisObject = this.basisObject;", + " if (basisObject) {", + " // If the behavior on the basis object has a different name,", + " // the objects will still follow their basis objects", + " // but frame delays could happen.", + " if (basisObject.hasBehavior(behaviorName)) {", + " const basisBehavior = basisObject.getBehavior(behaviorName);", + " if (basisBehavior.type === this.type) {", + " // Follow parents 1st to avoid frame delays", + " basisBehavior.followBasisObject();", + " }", + " }", + "", + " const object = this.owner;", + "", + " if (this._getOnlyFollowPosition()) {", + " if (object.getX() !== this.ownerOldX", + " || object.getY() !== this.ownerOldY) {", + " this.updateRelativeCoordinates(basisObject);", + " }", + "", + " if (this.basisOldX !== basisObject.getX() ||", + " this.basisOldY !== basisObject.getY()) {", + " object.setPosition(", + " basisObject.getX() + this.relativeX,", + " basisObject.getY() + this.relativeY);", + " }", + " } else {", + " if (object.getX() !== this.ownerOldX", + " || object.getY() !== this.ownerOldY", + " || object.getAngle() !== this.ownerOldAngle", + " || object.getWidth() !== this.ownerOldWidth", + " || object.getHeight() !== this.ownerOldHeight) {", + " this.updateRelativeCoordinates(basisObject);", + " }", + "", + " // Follow basisObject", + " if (basisObject.getAngle() === this.basisOriginalAngle && this.basisOriginalAngle === 0) {", + " if (basisObject.getWidth() === this.basisOriginalWidth ||", + " basisObject.getHeight() === this.basisOriginalHeight) {", + " if (this.basisOldX !== basisObject.getX() ||", + " this.basisOldY !== basisObject.getY()) {", + " object.setPosition(", + " basisObject.getX() + this.relativeX,", + " basisObject.getY() + this.relativeY);", + " }", + " } else {", + " object.setPosition(", + " basisObject.getX() + this.relativeRotatedX * basisObject.getWidth(),", + " basisObject.getY() + this.relativeRotatedY * basisObject.getHeight());", + " }", + " } else {", + " object.setAngle(basisObject.getAngle() + this.relativeAngle);", + "", + " const deltaX = this.relativeRotatedX * basisObject.getWidth();", + " const deltaY = this.relativeRotatedY * basisObject.getHeight();", + " const angle = -basisObject.getAngle() * Math.PI / 180;", + " object.setX(basisObject.getCenterXInScene() + object.getX() - object.getCenterXInScene() + deltaX * Math.cos(angle) + deltaY * Math.sin(angle));", + " object.setY(basisObject.getCenterYInScene() + object.getY() - object.getCenterYInScene() - deltaX * Math.sin(angle) + deltaY * Math.cos(angle));", + " }", + " // Unproportional dimensions changes won't work as expected", + " // if the object angle is not null but nothing more can be done", + " // because there is no full affine transformation on objects.", + " if (basisObject.getWidth() !== this.basisOriginalWidth) {", + " object.setWidth(this.relativeWidth * basisObject.getWidth());", + " }", + " if (basisObject.getHeight() !== this.basisOriginalHeight) {", + " object.setHeight(this.relativeHeight * basisObject.getHeight());", + " }", + " }", + "", + " this.updateOldCoordinates(basisObject);", + " }", + " }", + "}", + "", + "// Register this object as a sticker.", + "runtimeScene.__allStickers.add(behavior);", + "" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "const object = objects[0];", + "const behavior = object.getBehavior(behaviorName);", + "", + "behavior.followingDoneThisFrame = false;" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "const object = objects[0];", + "const behavior = object.getBehavior(behaviorName);", + "", + "behavior.followBasisObject();" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Stick on another object.", + "fullName": "Stick", + "functionType": "Action", + "name": "Stick", + "sentence": "Stick _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const object = objects[0];", + "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "const basisObjects = eventsFunctionContext.getObjects(\"BasisObject\");", + "", + "if (basisObjects.length === 0) return;", + "const basisObject = basisObjects[0];", + "", + "const behavior = object.getBehavior(behaviorName);", + "", + "behavior.basisObject = basisObject;", + "behavior.updateOldCoordinates(basisObject);", + "behavior.updateRelativeCoordinates(basisObject);", + "" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + }, + { + "description": "Object to stick to", + "name": "BasisObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Unstick from the object it was stuck to.", + "fullName": "Unstick", + "functionType": "Action", + "name": "Unstick", + "sentence": "Unstick _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const object = objects[0];", + "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "const behavior = object.getBehavior(behaviorName);", + "", + "behavior.basisObject = null;" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "onDestroy", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const behaviorName = eventsFunctionContext.getBehaviorName(\"Behavior\");", + "const object = objects[0];", + "const behavior = object.getBehavior(behaviorName);", + "", + "if (runtimeScene.__allStickers)", + " runtimeScene.__allStickers.delete(behavior);", + "" + ], + "parameterObjects": "Object", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "Sticker::Sticker", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "", + "type": "Boolean", + "label": "Only follow the position", + "description": "", + "group": "", + "extraInformation": [], + "hidden": false, + "name": "OnlyFollowPosition" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "Movement", + "extensionNamespace": "", + "fullName": "Ellipse movement", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNpbmUtd2F2ZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xNi41LDIxQzEzLjUsMjEgMTIuMzEsMTYuNzYgMTEuMDUsMTIuMjhDMTAuMTQsOS4wNCA5LDUgNy41LDVDNC4xMSw1IDQsMTEuOTMgNCwxMkgyQzIsMTEuNjMgMi4wNiwzIDcuNSwzQzEwLjUsMyAxMS43MSw3LjI1IDEyLjk3LDExLjc0QzEzLjgzLDE0LjggMTUsMTkgMTYuNSwxOUMxOS45NCwxOSAyMC4wMywxMi4wNyAyMC4wMywxMkgyMi4wM0MyMi4wMywxMi4zNyAyMS45NywyMSAxNi41LDIxWiIgLz48L3N2Zz4=", + "name": "EllipseMovement", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/sine-wave.svg", + "shortDescription": "Move objects on ellipses or smoothly back and forth in one direction.", + "version": "1.0.2", + "description": [ + "It allows objects to move:", + "- on an ellipsis or arcs", + "- smoothly vertically or horizontally (by setting one radius to 0)", + "- on a sine wave (by adding a force)", + "", + "It can be used for:", + "- Making objects float, such as powerups or coins", + "- Moving platforms", + "- Enemy movement patterns", + "- Making a player constantly turn right or left ([open the project online](https://editor.gdevelop.io/?project=example://star-seeker))" + ], + "origin": { + "identifier": "EllipseMovement", + "name": "gdevelop-extension-store" + }, + "tags": [ + "sine", + "ellipse", + "movement", + "circular", + "circle", + "floating", + "platform", + "enemy" + ], + "authorIds": [ + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Move objects on ellipses or smoothly back and forth in one direction.", + "fullName": "Ellipse movement", + "name": "EllipseMovement", + "objectType": "", + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyOldX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X()" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyOldY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Evaluate the center of movement from the object position and properties." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyInitialTurningLeft" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "*", + "-1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyInitialDirectionAngle() + 90" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Behavior::PropertyInitialDirectionAngle() - 90" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X() - Object.Behavior::DeltaX()" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y() - Object.Behavior::DeltaY()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPreEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update the center when the object is moved outside of the behavior." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.X() - Object.Behavior::PropertyOldX()" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "Object.Y() - Object.Behavior::PropertyOldY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Place the object according to the movement angle." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyRadiusX" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "MettreX" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyCenterX() + Object.Behavior::DeltaX()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyRadiusY" + }, + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "MettreY" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::PropertyCenterY() + Object.Behavior::DeltaY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyShouldRotate" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "=", + "Object.Behavior::DirectionAngle() + Object.Behavior::PropertyRotationOffset()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the position to detect when the object is moved outside of the behavior." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyOldX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.X()" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyOldY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "Object.Y()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update the movement angle for the next frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "360 * TimeDelta() / Object.Behavior::PropertyLoopDuration()" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the turning direction (left or right).", + "fullName": "Turn the other way", + "functionType": "Action", + "name": "ToggleTurningLeft", + "sentence": "_PARAM0_ turn the other way", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyCenterX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "2 * Object.X() - Object.Behavior::CenterX()" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyCenterY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "2 * Object.Y() - Object.Behavior::CenterY()" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + }, + "parameters": [ + "Object", + "Behavior", + "+", + "180" + ] + }, + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "*", + "-1" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the in which side the object is turning (left or right).", + "fullName": "Turn left or right", + "functionType": "Action", + "name": "SetTurningLeft", + "sentence": "_PARAM0_ turn left: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::IsTurningLeft" + }, + "parameters": [ + "Object", + "Behavior", + "yes", + "" + ] + }, + { + "type": { + "inverted": true, + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"TurnLeft\"" + ] + } + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::And" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "inverted": true, + "value": "EllipseMovement::EllipseMovement::IsTurningLeft" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + }, + { + "type": { + "value": "GetArgumentAsBoolean" + }, + "parameters": [ + "\"TurnLeft\"" + ] + } + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::ToggleTurningLeft" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + }, + { + "description": "Turn left", + "name": "TurnLeft", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is turning left.", + "fullName": "Is turning left", + "functionType": "Condition", + "name": "IsTurningLeft", + "sentence": "_PARAM0_ is turning left", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } ], - "actions": [ + "parameters": [ { - "type": { - "value": "Cache" - }, - "parameters": [ - "GameOver_Text" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "ZoomCamera" - }, - "parameters": [ - "", - "0.8", - "", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" } ], + "objectGroups": [] + }, + { + "description": "Return the movement angle of the object.", + "fullName": "Movement angle", + "functionType": "Expression", + "name": "MovementAngle", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move saw around objects", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::SetInitialPositionToNearestCorner" - }, - "parameters": [ - "", - "Saw", - "RectangleMovement", - "BorderedHud", - "" - ] - } + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyMovementAngle()" ] - }, + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Return the loop duration (in seconds).", + "fullName": "Loop duration", + "functionType": "Expression", + "group": "Configuration", + "name": "LoopDuration", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::MoveAlongBorderOfObject" - }, - "parameters": [ - "", - "Saw", - "RectangleMovement", - "BorderedHud", - "" - ] - } + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "abs(Object.Behavior::PropertyLoopDuration())" ] } - ], - "parameters": [] + ] } - ] + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Return the ellipse radius on X axis.", + "fullName": "Radius X", + "functionType": "Expression", + "group": "Configuration", + "name": "RadiusX", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "PlatformBehavior::PlatformerObjectBehavior::IsMovingEvenALittle" - }, - "parameters": [ - "GreenHero", - "PlatformerObject" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyRadiusX()" + ] + } ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SceneVariableAsBoolean" - }, - "parameters": [ - "GameStarted", - "False" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "Return the ellipse radius on X axis.", + "fullName": "Radius Y", + "functionType": "Expression", + "group": "Configuration", + "name": "RadiusY", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "ResetTimer" - }, - "parameters": [ - "", - "\"Timer\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyRadiusY()" + ] + } ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "SetSceneVariableAsBoolean" - }, - "parameters": [ - "GameStarted", - "True" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Return the movement center position on X axis.", + "fullName": "Movement center X", + "functionType": "Expression", + "group": "Configuration", + "name": "CenterX", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "GreenHero", - "Saw", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyCenterX()" + ] + } ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" } ], - "actions": [ + "objectGroups": [] + }, + { + "description": "Return the movement center position on Y axis.", + "fullName": "Movement center Y", + "functionType": "Expression", + "group": "Configuration", + "name": "CenterY", + "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "PauseTimer" - }, - "parameters": [ - "", - "\"Timer\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyCenterY()" + ] + } ] - }, + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "type": { - "value": "AjoutObjConcern" - }, - "parameters": [ - "", - "Saw" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "PauseAnimation" - }, - "parameters": [ - "Saw" - ] - }, + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change the radius on X axis of the movement.", + "fullName": "Radius X", + "functionType": "Action", + "group": "Elliptical movement configuration", + "name": "SetRadiusX", + "sentence": "Change the radius on X axis of the movement of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "GreenHero", - "PlatformerObject", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyRadiusX" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } ] - }, + } + ], + "parameters": [ { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "PauseAnimation" - }, - "parameters": [ - "GreenHero" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" }, { - "type": { - "value": "Tween::TweenCameraPosition" - }, - "parameters": [ - "", - "\"CenterOnHero\"", - "GreenHero.BoundingBoxCenterX()", - "GreenHero.BoundingBoxCenterY()", - "\"\"", - "500", - "\"easeOutQuad\"" - ] - }, + "description": "Radius X", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the radius on Y axis of the movement.", + "fullName": "Radius Y", + "functionType": "Action", + "group": "Elliptical movement configuration", + "name": "SetRadiusY", + "sentence": "Change the radius on Y axis of the movement of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "Tween::TweenCameraZoom" - }, - "parameters": [ - "", - "\"ZoomIn\"", - "2", - "", - "1000", - "\"easeOutQuad\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyRadiusY" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } ] - }, + } + ], + "parameters": [ { - "type": { - "value": "Wait" - }, - "parameters": [ - "1" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "Montre" - }, - "parameters": [ - "GameOver_Text", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" }, { - "type": { - "value": "SetSceneVariableAsBoolean" - }, - "parameters": [ - "GameOver", - "True" - ] + "description": "Radius Y", + "name": "Value", + "type": "expression" } - ] + ], + "objectGroups": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "description": "Change the loop duration.", + "fullName": "Loop duration", + "functionType": "Action", + "group": "Elliptical movement configuration", + "name": "SetLoopDuration", + "sentence": "Change the loop duration of _PARAM0_ to _PARAM2_", + "events": [ { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "GreenHero", - "Trophy", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::IsTurningLeft" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "-GetArgumentAsNumber(\"Value\")" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "EllipseMovement::EllipseMovement::IsTurningLeft" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] } ], - "actions": [ + "parameters": [ { - "type": { - "value": "PauseTimer" - }, - "parameters": [ - "", - "\"Timer\"" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "AjoutObjConcern" - }, - "parameters": [ - "", - "Saw" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" }, { - "type": { - "value": "PauseAnimation" - }, - "parameters": [ - "Saw" - ] - }, + "description": "Speed (in degrees per second)", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "description": "Change the movement angle. The object is teleported according to the angle.", + "fullName": "Teleport at an angle", + "functionType": "Action", + "name": "SetMovementAngle", + "sentence": "Teleport _PARAM0_ on the ellipse at _PARAM2_°", + "events": [ { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "GreenHero", - "PlatformerObject", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::SetPropertyMovementAngle" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "GetArgumentAsNumber(\"Value\")" + ] + } ] - }, + } + ], + "parameters": [ { - "type": { - "value": "ActivateBehavior" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "PauseAnimation" - }, - "parameters": [ - "GreenHero" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" }, { - "type": { - "value": "Tween::TweenCameraPosition" - }, - "parameters": [ - "", - "\"CenterOnHero\"", - "GreenHero.BoundingBoxCenterX()", - "GreenHero.BoundingBoxCenterY()", - "\"\"", - "500", - "\"easeOutQuad\"" - ] - }, + "description": "Movement angle", + "name": "Value", + "type": "expression" + } + ], + "objectGroups": [] + }, + { + "fullName": "Delta X", + "functionType": "Expression", + "name": "DeltaX", + "private": true, + "sentence": "", + "events": [ { - "type": { - "value": "Tween::TweenCameraZoom" - }, - "parameters": [ - "", - "\"ZoomIn\"", - "2", - "", - "1000", - "\"easeOutQuad\"" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "cos(ToRad(Object.Behavior::PropertyMovementAngle())) * Object.Behavior::PropertyRadiusX()" + ] + } ] - }, + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ { - "type": { - "value": "Wait" - }, - "parameters": [ - "1" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "GameOver_Text", - "=", - "\"You won!\"" + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "Delta Y", + "functionType": "Expression", + "name": "DeltaY", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "sin(ToRad(Object.Behavior::PropertyMovementAngle())) * Object.Behavior::PropertyRadiusY()" + ] + } ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "Montre" - }, - "parameters": [ - "GameOver_Text", - "" + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "Direction angle", + "functionType": "Expression", + "name": "DirectionAngle", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + "<", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyMovementAngle() + 90" + ] + } ] }, { - "type": { - "value": "SetSceneVariableAsBoolean" - }, - "parameters": [ - "GameOver", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "EllipseMovement::EllipseMovement::PropertyLoopDuration" + }, + "parameters": [ + "Object", + "Behavior", + ">=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.Behavior::PropertyMovementAngle() - 90" + ] + } ] } - ] - } - ], - "parameters": [] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "Timer_Text", - "=", - "\"Time: \" + ToString(roundTo(TimerElapsedTime(\"Timer\"),2))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SceneVariableAsBoolean" + ], + "expressionType": { + "type": "expression" }, "parameters": [ - "GameOver", - "True" - ] - }, - { - "type": { - "value": "BuiltinCommonInstructions::Or" - }, - "parameters": [], - "subInstructions": [ { - "type": { - "value": "AnyKeyReleased" - }, - "parameters": [ - "" - ] + "description": "Object", + "name": "Object", + "type": "object" }, { - "type": { - "value": "Gamepads::C_any_button_released" - }, - "parameters": [ - "", - "1", - "" - ] + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "EllipseMovement::EllipseMovement", + "type": "behavior" } - ] + ], + "objectGroups": [] } ], - "actions": [ + "propertyDescriptors": [ { - "type": { - "value": "Scene" - }, - "parameters": [ - "", - "\"Moving Saw Platformer\"", - "" - ] - } - ] - } - ], - "layers": [ - { - "ambientLightColorB": 0, - "ambientLightColorG": 7893896, - "ambientLightColorR": 16, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ + "value": "100", + "type": "Number", + "unit": "Pixel", + "label": "Radius of the movement on X axis", + "description": "", + "group": "Ellipse", + "extraInformation": [], + "hidden": false, + "name": "RadiusX" + }, { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Radius of the movement on Y axis", + "description": "", + "group": "Ellipse", + "extraInformation": [], + "hidden": false, + "name": "RadiusY" + }, + { + "value": "6", + "type": "Number", + "unit": "Second", + "label": "Loop duration", + "description": "", + "group": "Speed", + "extraInformation": [], + "hidden": false, + "name": "LoopDuration" + }, + { + "value": "", + "type": "Boolean", + "label": "Turn left", + "description": "", + "group": "Speed", + "extraInformation": [], + "hidden": false, + "name": "InitialTurningLeft" + }, + { + "value": "0", + "type": "Number", + "unit": "DegreeAngle", + "label": "Initial direction", + "description": "", + "group": "Speed", + "extraInformation": [], + "hidden": false, + "name": "InitialDirectionAngle" + }, + { + "value": "", + "type": "Boolean", + "label": "Rotate", + "description": "", + "group": "Rotation", + "extraInformation": [], + "hidden": false, + "name": "ShouldRotate" + }, + { + "value": "0", + "type": "Number", + "unit": "DegreeAngle", + "label": "Rotation offset", + "description": "", + "group": "Rotation", + "extraInformation": [], + "hidden": false, + "name": "RotationOffset" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CenterX" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "CenterY" + }, + { + "value": "0", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "MovementAngle" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "OldX" + }, + { + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "OldY" } ], - "effects": [] - }, - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "UI", - "renderingType": "", - "visibility": true, - "cameras": [], - "effects": [] + "sharedPropertyDescriptors": [] } ], - "behaviorsSharedData": [ - { - "name": "Platform", - "type": "PlatformBehavior::PlatformBehavior" - }, - { - "name": "PlatformerCharacterAnimator", - "type": "PlatformerCharacterAnimator::PlatformerCharacterAnimator" - }, - { - "name": "PlatformerGamepadMapper", - "type": "Gamepads::PlatformerGamepadMapper" - }, - { - "name": "PlatformerObject", - "type": "PlatformBehavior::PlatformerObjectBehavior" - }, - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement" - }, - { - "name": "SmoothCamera", - "type": "SmoothCamera::SmoothCamera" - }, - { - "name": "SmoothPlatformerCamera", - "type": "SmoothCamera::SmoothPlatformerCamera" - } - ] - } - ], - "externalEvents": [], - "eventsFunctionsExtensions": [ + "eventsBasedObjects": [] + }, { "author": "", "category": "Camera", From b0ef754fcb265909f6a6d5908a36aac3c42650bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 9 Jun 2023 04:23:18 +0000 Subject: [PATCH 29/33] Optimised images with calibre/image-actions --- .../assets/Blue player_dead.png | Bin 1178 -> 714 bytes .../assets/Blue player_duck.png | Bin 951 -> 581 bytes .../assets/Blue player_fall.png | Bin 1024 -> 609 bytes .../assets/Blue player_hit.png | Bin 1069 -> 646 bytes .../assets/Blue player_roll.png | Bin 980 -> 568 bytes .../assets/Blue player_stand.png | Bin 1015 -> 625 bytes .../assets/Blue player_swim_1.png | Bin 1202 -> 654 bytes .../assets/Blue player_swim_2.png | Bin 1112 -> 635 bytes .../assets/Blue player_switch_1.png | Bin 1092 -> 648 bytes .../assets/Blue player_switch_2.png | Bin 1193 -> 687 bytes .../assets/Blue player_up_1.png | Bin 1037 -> 632 bytes .../assets/Blue player_up_2.png | Bin 1230 -> 696 bytes .../assets/Blue player_up_3.png | Bin 1077 -> 634 bytes .../assets/Blue player_walk_1.png | Bin 1009 -> 617 bytes .../assets/Blue player_walk_2.png | Bin 1203 -> 708 bytes .../assets/Blue player_walk_3.png | Bin 1217 -> 699 bytes .../assets/Blue player_walk_4.png | Bin 1097 -> 648 bytes .../assets/Blue player_walk_5.png | Bin 960 -> 589 bytes .../assets/Energy Bar.png | Bin 3086 -> 263 bytes 19 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/moving-saw-platformer/assets/Blue player_dead.png b/examples/moving-saw-platformer/assets/Blue player_dead.png index 84a881e0539add766640dfd7c12e2ebb8360224a..ffccb59a9d792dab94f25f3014741f1348eaf844 100644 GIT binary patch delta 690 zcmV;j0!{sz3CabKB!3BTNLh0L01FZT01FZU(%pXi0007fNklLrAD?b<3Na>NCL8AK&3zyNm#w@(TPkg*-!LEJql7|bdycf)8fY8Sm_SzwI3WH20dT#0PiO&xL>(ELBmouidtb=E8B>l~HBk95;PuprKu0*ID6N5&@wou-~p z4FW@p{(ov3Aj)~fq%8yYn(2fr6;jnL6B?n+n-F@ne!HQCU4niOMQ!QM3uR~=z6~|!TO%~eB>h^`7m{S Y141CGsDCh3nE(I)07*qoM6N<$g4r%O`2YX_ delta 1157 zcmV;01bX|*1)2$vB!2;OQb$4nuFf3k000D3Nkll*e5XbKwDT+oU*hbMo zfg;I3#@bd5Pg$&ffyCb+&Xz6SJg9=A3K=q0-yqJ=UHt@gmUJ-$Tbcp{sOOKk+-JQ837hrOJ(0(~1EApdoIh%8h4!#`G3`WW`e3I zfn|uMVMWCbQGZ*A-!UBP4L5;gNUC)BSkv`gFFrb7x|vTe){ePia>DlvS=`y57bujn zV-&;GJPA52z6%n+V?0OH7QFgF)N}Vr^+y~rx#8=OSt`_4!Hgbo`6HsEX1km9v%vbA zA!KNthsr33n2E=t+nheX#kUOMD5OsKSzvw1kgG!KJbyL!ieW}rGj9}M1c}F@+lZL) z!#4l`B5o#2^$lNqb307rYiYNI8y6Z1Uxp*QAc4&n5HqQAqsZ--wWzADS5)z1ouhL( z0=SvRy|cfebF>d=#$oRM0{{TH{QM4j{~SRyxeUhlOJn^^Ylo;U#ADIQ830?0fGtDD zHGMAr{C^Fo(*ghhE%qG%09ftQ;qk?vo{se;YuD>rxsSz_H(u`nfT@Ng^0l-8`^JO` z&G_)Q)jqv;Q~JVP=b$9*R9Dhtug&2kVn)WUSLW_N0HGT<&KJ5d917!*wL>AYsnX$N z*|^8yS&(F@zM&y*jdgCuuRZNafA?Z1P*fIo_J8N6job0sULCll>(}>huci9{t9=Sz z-@kSAsba^~Nb)2|s@!;nLS&teUw(c!{4I3j+AtVB#$~5z+V)bRwmLa-XOsn5+}WQO zV7opMGqVl=S2q>QK7?5I;V|W+$z^ss0Pibo<=1Yi+<4_wJHp25_qR@ptFKjTl?35# z{C{xcrIDmGWVjnY+<0juNoRW>iZZJBS!{D7#xM^s>|+2j@0~s~BY42gg7E@T08XM81|b=8URaXO2@8mYHhmm-?@h#C~YD zI!Z(8(~Gs^W~-BPE8?22@7|iOJHS;h)9Khi3@_V_gCg!Gia=oL-ue3l5rY^5rV)h$ z7D0&mH#WFA#TeiwiVeuJ$<883v)$VqoxKuKm0OGfLs3Q^!hdhC!2eNT#*7&=W=!B; X8x!y0R#Z+400000NkvXXu0mjfW|}>9 diff --git a/examples/moving-saw-platformer/assets/Blue player_duck.png b/examples/moving-saw-platformer/assets/Blue player_duck.png index eef33c99a36306a19ddbdebcc69f430bd8bd0379..e6aca27db56181887746686fe97bece53c17a02f 100644 GIT binary patch delta 556 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 diff --git a/examples/moving-saw-platformer/assets/Blue player_hit.png b/examples/moving-saw-platformer/assets/Blue player_hit.png index 5a6e2cdbe6dd781fafd6f12f7dc7a73185975b81..88af0b8fe3eb88d638e965e7a626bfa9890e8031 100644 GIT binary patch delta 621 zcmV-z0+Ri$2!;iaB!3BTNLh0L01FZT01FZU(%pXi0006wNkli^_=9^Y0Rxth2V-1eF=e-m9xseBDD6_h*zAVeqA*hTDP>IYZoWQ?07#Dz%rf)A8zTjFpjO1_=rjP49ABVZm z3nSG=H{2E3mw&PPAqxurC0Q{3tYkQve9kNwsq$E`vVv+B6p@-kAPxIGFth++rOt6E zG6HE{fMvnZmabU`#U`;~n71k*2%0PyT7oJ!6bV_SI4sRDWY!j?fng&Q<1o10r_+zt zPoAUIgZo4`&R+QrD6q~N7(7tw$4}AX&gnm0J9=bi5`WHh*1=%4_RD*nse?gTKt$Fl zuQ!VHH(8k_J;=)bU81}|MAm63(`5~Q8W-$z`zDN*82Cf~qauEsts&9J!Esu}8g)okeXw z@4IH@P;87R*ptyg5k66{p|`;vvObp}At50lAt50laZr8%gSQDC`;^?J00000NkvXX Hu0mjfxtSbO delta 1048 zcmV+z1n2vP1+55>B!2;OQb$4nuFf3k000B$NklF?_5>KX%tgoK2IXoCf{@PG1dBOQrHHbICCV2Mu7iFqma4X&xfKHdfFl-D)%K%V`ZS4e5wcQgZA1)Sm$f4@JKf$e<5y1c zEkZcQnu;AFPk$zUh}z~G-S`qAsY-K;8^*quIr^7_%-cWizSiZF9fqvIm*cVs06-+_ zXXUjQ)5b6D94<0sO3`thXq@i@zR$88CzAfvR72~nF`KG+~r+-_&UjP2v9oaRca!6t!wtan3 z003kxe=`xUFYO#IPL9u(8aZ8J001De+T=P`VqE#PQfX~Sui@3ntHrHE`5MA{K*UU9 zA@-lZc4By1LuN3Must>>MM+hfTQW6=TR7t0@@^yTBnFY$`R8(YBs;(KDdTivkPt`1 z&%@1VJbzM0#Ek6xZXluqU@S9D3>=ONGf%2lIEq4M2azXL=JtvgF#tT&Av$Uc-FOuP zz++)HPon4$13*Ki>bQMI0~np3!07xK005#t{|eEcvX1l0*y$1jKvU^HO_ctd7JPp7 z@|$O|l~uTL``*+!-P-9C13*(9a$3$kH;F6-8GpX}`+v^{XKlwh-P$4YAHR7ve1Ghi zM`Z2H@wj+e&OMj$+X~Nus5X9dqpOkRdCTYwS1;&lBzY1fRc$}gd9m^e=X^U`YUI4k zp?@sM($3)`1L0e1&n;eW*vf(=7Gkxa?km$kGzzIob4%4;DXC^ljU2>d(pPK0Afl6Q zZ;)3>uu2i4yYZu&$wrb4+WR4MMSqZ&E$O8rgdtj1r1OXwjYvm{!j=)*+k&&gu6mw^ zv>@|%vP@%nw~>|^@9W3zAc!MK{eaSf5Pz8+S(~6BGCMO*ssh-7tW8j;_^J>g;`=yq zLCsfbLC(r+FNkRFqlAbKoIb=`p_Ej+y+M(LnBUS}h@)9{Z;N diff --git a/examples/moving-saw-platformer/assets/Blue player_roll.png b/examples/moving-saw-platformer/assets/Blue player_roll.png index 1addf49370e21e546cee677d3ad872a1a9707a82..de8bbadbc644413e4d208b4e9ac04e23d3bf3c97 100644 GIT binary patch delta 543 zcmV+)0^t4B2e<@~B!3BTNLh0L01FZT01FZU(%pXi0005%NklP^=S>*&AfrcIm3JN4BDL^SH5F*Qhs1OYm4J92pLN0(7?FQ-`fg_lG2%``ju|M9- z*qJA}i>3Hm&zrHwjfO}h5{X12A2oOSGP540+s&wd5kyIE{D0_o@f-ZsOAu>ex|uET zv332fijE*kKbn{6-O5=UcmX1~dV4Jc!VD+rISB@#fo*RKglWe(1EX~wZ)7kAb-)mOme1jT>&OR(m z7H-c02n#F&tk zj_jg{@*b7tB@xF9BJ_pi3Xw9qaNQ;F4mN#X4p)gJsg_&UZm2TtPJLf@xWCJ`={>2= zzf&&&CKWzxo7`ie$b%VktHP$QeC<5y!pqh{uu2%gD^Tw=d=oN}evMBGNuSLzX3KAlZW{mq002ovPDHLkV1nEf>9zm> delta 958 zcmV;v13~<_1k?wRB!2;OQb$4nuFf3k000AyNkl?-+y2Jna<36`v4LW5)u*;5@JHc`LaT#k$=w(xg~*ORsfYw|0T8+ zKvR)weqJrUi7&&L44J6577#_*K`cj&C6aBWpceGQjV~|fKH13cI93grsJ0dy2RBfN zSq?p-(DQq;Y||Jkh7>A|{AeyyL&QaH?cXbA_gV2Nw>E$UL$0rE-61z!N5pAv?c)%I zUZ)!@?yt`uaDVC|r`Y)N))cuZ&$bx=0Ens5=t$OM*X0r_R2q5rl3Pb~#<(>92MRGe zxwie9Rg+6-G?%GyZJtqZ5X+MlN%Ue^~ zq0A0PGA0nocBku4n{KkkE5yw@HB$`^5S_7+TxP>m$A4&rOjKJ7>6F91)0@yc>Q9?o z+>BNTqKJGIw@o^mer^)4ZAhWg$m`T5wh^F=Hg|19azpMJ)#~6tbjD0h9Bo5{fD35| z0DwUK`;dVlD)vj*c{#h+ayBW0*J>L=K_7x|I}m*P2rBdevm-Ek>mFmAes0=^nA9x( z*Z1(_!++bqo{5wTLpScS#F^yATJ4?}|Lgk`&-#1Y*5aZt5JP15d#rI$7>FUMv8yMZ zWhQ2<#YI8e5F*kp=!S3KhxFw?JtX(a&HwHnQQ}N;GdN{v2SBeghUpCCW*%6K(>FwW zg(xMOy0NxVfZ7G8{vM*##WjTVbJI5D@F=M3#(&y`NVdC2e*7zBe|`Rdh%THd3Pjzc zYi4xpN>auhDsCJQHe(B-?&Z8aJ$r z4cS{QZc3toH<}d)mgxYNtNUTMzeEE(hKZ=YyE0Sd&|)!Ue|`SI|KTqZ$u@^x6iBIN zr+?dL>+P}?cVAx4eL_DhnbZ+cAqu_DVXwqF0l+>EQK&TXqa#_*_IF-MRNGyddCaZL zUjFZ|&mVLSdnH?!HX_-UQf}BV1Hke~)wOEtAtKbcMkGk7CieZZ>0RS2Vi~%dtiF3B z9A`=QZ$uP&lEm}9)#4_1ZvPVNSmyZh);Cl-n=T8W5@PDqPX)hDE8!^sFX#pJIHnI1 g5)u*;5)xwPCzcm$Kj-eNm;e9(07*qoM6N<$f=G|Xz5oCK diff --git a/examples/moving-saw-platformer/assets/Blue player_stand.png b/examples/moving-saw-platformer/assets/Blue player_stand.png index f4da6a050c24498dd2e2cdd90359aa33dce40a03..2ebd04b0665f97bf846f56ca2cc266f686c4c951 100644 GIT binary patch delta 600 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 w#}FNIA@!rtIO?EnA( delta 1091 zcmV-J1ibtE1lS0WB!2;OQb$4nuFf3k000CMNklCRVNhb(Y%-AP9P<*E}V_(Ht) zzDWVL9OK37-I?(wUx{KD&&>13Gw;2bc>*a>&a1EYKOb+c{(mtEJH#Xg?P_jwcV>Dj zvm<~a5iJk?KVYs{etYMi?YsM?Y?>I5oL67BNK}S_=od@5=b!tff1locZ^EvL0LhnY z1$ON!ku@9T^UQqkvDsQXd3Ntqw{4_*fI*E50|1C<`Q}unqSLOfjLwiaF#7fRQ)^lG z(lItelEMH0Cx7caP-)XJ83CdK1^@_fQI$>MV`!Et7+p0!p3mxZu3Be^Y8U`8^@FQ* zmS_W_0|o#H5+#-W4N40TT`&MZ0N>UO$$9m4T`+))oFrea6?F6sCjyVgZ>n4B#UC&OfRxsqWVvw?SMO!TA}^|NaxQ;{yPkTg%8UtR`ybWStU# z=i}OPoyG!^WM=&T?hS(Gf4%2U;{zx=4fn@<>~@#oS1FLlOC|}7_Q{8@zEoGO`iXm z`Sq(Wm&vUlGk-mhDD6~--;pO~OWXUu6WQ92?vhC5;j{5;2pw`udZqfG=L z)KE2;K1p*kL;_V+gXt2HH9J^65WBBYA2@5aQh%9$42lGlESr%)PM+O64VZsZF_=yX zA|=Zv@S5uzOfudD!U$CFV}* z9c^5VorfH4t-h9^10BYsL9r4u0Zu$Mbtv#ViGQe=nQF9TjhPRaJ5}aDdveFjuT<=3 z#(zFSyck?oh_1$cWw^gp+iqz19;Ll(UHeL-UF z^08t0?P}EW$))Z3iOTEFfceQ`dBs!Fm+>mZe7ROYHnTVQo|#`spb=KH8YY!6fS5}r zi2~OtT0`D5%gWK#>T3X)e^gs?T&sAoi+`2HVY7+3Qw>-=QC;zD97xzjb@P+o%WW=w z&&$g{Oj^c(%x&(@km%(tJ+YK~CW`u_${3Ka`qDJ{55ORhu=>(8`8*H6 zB#@9Da+>@HU=WC8TsdtEm@8@WAAsS+Ea%nN`$BKytl3H(kT1Tzl%|5~|E&N3002ov JPDHLkV1jBV7}o#* diff --git a/examples/moving-saw-platformer/assets/Blue player_switch_1.png b/examples/moving-saw-platformer/assets/Blue player_switch_1.png index 65aa6f46c7ba10b23583a6c2b2c641412a6f0a14..757333e8835f716e9772da95f719b528b8cfa41d 100644 GIT binary patch delta 623 zcmV-#0+9X02#5ucB!3BTNLh0L01FZT01FZU(%pXi0006yNklM{sr=ECqp4_UoP5 ztTaU=PvU)L%Tsf3q~Wf! zL`sHW$3&Xtx_$G&OR%E-ig=V*-sk8fQgjl52_i*9 zut20L`W4}$!#Zh{!cWkPi?!32V)@{{wDt4XLX{sBg6N2}b@E)y@0|Uxm7_-`e%25y zkMOg&*ZZ|GFjany3rV1N@|^X*HZ=_(Tz;&>MkD+z?SJ119T^_K#)Kph1s%u{NU_?~ z>hY5nKjQ?eTKLh?=NKhell_YIeU47y$9yCuL+Q)};tUl)lyFXyCAv-%Cscx9%m7g- zAy7LqK&(xv)Ez@&?u?psrXT*5<~AJKjKi1AGF@#uaHw@5;nPKoVVO#L_6Gy=Ppg z5v2F~%xxR}Ez6xVCx8BP?#!7B@Sih?q$ZkNtxc!0sU=VZ9Dia~cJ52V*oYJ3_**;w;pweCuAG9x?vROb5&dOMVMulCF z+(`Nfq8yJK2hk{8tu*d&Dn}=+s&J~Y{cAKsCLXriR)ghFYv6sqe5HX({ z&6GG}`oZQ9jza22k_DE1>MCd0wyxl7Ab`ln^n`5vv!7xHMI1+|d>P z%v^B;Os>|Zy$)_%NEC^@hGPqo)P4aG^QL8&bXwUq4Q}M zI-lMF0DnOG@^wgGn(>VvWSrCO7Wd2ZFQVk{MQB076w>4O4fy`{^_kx?Q?qd4+U?lm zbQRdpOD2q6Pd>gm_gnkGW*MiekrYZ0)3TRQh=rifJFU;*GYTbQkhktGSjNG^jsf&N!%-Q^+Z~X{64$&x> zm7V)x^70~3QRQy@aKqV13gi%OTXMtMNb+@v&c;vD5Ou3ciTeKIxrc7g_&P)&F7c+- zKM;+Al(OVia{??G75FN0SnzVZuOJ*(3d4lf%kDwNA&Tx0BIl4do&G}9tsb@7u5Tp6 zFMognu?YaaC)+`QR%i(i{Z#|5wI+%FuWjposDfvZszx?^^=(zu7HN@2bo(*aSp zN+j0bm*-w`#?|u$k!3GSJl|O(rRsZ+Zhzd=F((&VHf92#r+buA17DoA2!bvLLV3~| zctLzOW?^x=L?Uty_pDnx-1Bk6?hq8v(;dHdyaNxrAOf-X+lMHzOYu0c3No>>J?3^z z(K&JcJwb98QazUoDOK;sN4QboT{14qMGeVv0bmxyeg6UfrXX(Li*RqRb)vn6I4BIQ pgVV4I;&i*`j^GZdfxhJWn;*)4du5zkmZSgx002ovPDHLkV1kSo6Da@y diff --git a/examples/moving-saw-platformer/assets/Blue player_switch_2.png b/examples/moving-saw-platformer/assets/Blue player_switch_2.png index 5094d57616a5ccace5488a308eb6ec6406fa2cb7..f9e10c0c8fbab7fbc1c28f1b6fe2698cee72a6f4 100644 GIT binary patch delta 663 zcmV;I0%-lI39ki^B!3BTNLh0L01FZT01FZU(%pXi0007ENklmI5RpyPo~b z7)w(`%0}LonYZ)aPObL;*m>&bk?)25rgs_N`C;z`LVWIc?SJ0>+}Z0)rN9sy4;t4W z>A3L2_!GWU2{0fNCV?>=kTKjdqcbfSL!dNSg0a?)H)X*n%7-PV_*d_5Du85JB8Zn) zsfd$96^tU_RAK=Jq&uX2SwMh{d1Qx3_p)FVvEGiiNrTb2h&Hgm7-UI5Ax*F{J%_|G z98{J_*%0i2NPqi@E^2aO;(BCQ`irn6fo-(u~ z1S@0w%$)>R2+05MF2o}s4Du5W#IW}8#mC#S9gupQ3zfuE4 z`&|yTk|}0Qv>n4L4Vf#wiI!|JZ4=@HBYG(8%kKE8lW3w;b1Ru;dBMjRQd#jrQOhZ?NPE;yl6nloLY0D2GUq{IQXe!$$r> z8!$|D4v`gmJ;Qu;4@R5cahR@d|6NsGT|EH*a|agHMC*-yA%B*L?SK$P#zYwaKmZ;C z(c#tm*}>WV)2|!5F?l)GA)ywTQZ> z&C++O*R%*!X*_S3uf2)^0KgHedBfaQxh6N1c}T83+Ky@b(C;`R>-=(jU0ha9QRX3> zV<*TsM4m~l>3@#-Mm0)2B;Ovsm(d=(RB0i91kBE*h$J26@30A6ykj_Jg z%54y_m`cWLGHtpc%|m1)QYWHJuu?qa-$d$MnukSC#DAoE-Xf$3l1j#Fh**?i%ML`` z$+bt@s_fsHE3AR_M!&G=;3f->ERt;K{3y4_E8)i%OJfV_m(DO=AqB!S-@{p+9 z_y$CtNhRY-6Kr5X@`l+`nMj@Bh*gydHjp6ejedcFh_qn3P0*9H7XsywykWlPh*h`u zXf}n}yMJSty*mN`0R6KsLH~5a)xMW;)_h()ZEgM#Wc`cqEr_2)I(a*SzkmDr&a-%~ z1dqP>CiFN}3D$SW_;J_kKYzXVZ2G$?Wt^%;k}pB>hPjK3mA$@ijsNn$A|K;8=e3Py ze>2b|4tN$MTkoYA2w(pZE%W)kXYpJ~>Nx2qY=5sWrjqfF-^S0{({Ca6$$vX@qPXRn zKm3kE)GGP*@TH%1Ey7b$mEHJ}jm$=pCl8VBma>uANOJWMm5m?iOs3@{h!RVWh4vB;AtO9rMJ^jJ)w3I}g2=d1h?4b2zYu1;(#!5;py`_D!qE;_L5QsL zFn<$74I*^&hS|#2d+9*q-ChvD4uTk77Kl8<5%(S^-FlOSjN zTNjsClZr+3;KIiu>dxj?g=p^Dv_j+=w|`GHe0R*Av_~%xMa|E*V=5q;9}=<7+t#z6 z?yik>+?wA`<*osVsP^P)2~&`c|*3|OQ(|Y8Us;tDk>KVqNFfm z0Jh#EgiyYPpY3m5oHk4C>&d)q7vk1@zOcMk;vpNaei61mNH~r9CD$HpBeDtrfPWw{ zxE*44NEgJZD^FydpERFkWzQ!Y=^=v*Z0nU(sd%Le!Vv9uAEL-E#ls*~kZiq|cDkmR zU0WZYAgM<&+i)Qv2Fv&eHwbb=#vxq9ii8V*WI>$k5BN9*aVnYJ_Wp;2@)jZyt;BYF ngH%E6%3_PegTCbYkbeLT^O0X)LJm`B00000NkvXXu0mjf;yXqT diff --git a/examples/moving-saw-platformer/assets/Blue player_up_1.png b/examples/moving-saw-platformer/assets/Blue player_up_1.png index 430869432135a7abddd889212fb3d476cfdddea1..75e91e62e4a9e4031699e44c7cee4899b25863bb 100644 GIT binary patch delta 607 zcmV-l0-*hk2>1k$B!3BTNLh0L01FZT01FZU(%pXi0006iNkl~BPrOGw15Ha4sBl-2#B#B-9g&DE{vqM9e)osjNZ`eHw9zfB|(TaL~l~-w^;Gl;B2DCG87>U5PR!GqbY?fcK$6mB?_7bfg-p93h z@kZAH6yuclIaxy5Iem^6chCRS+VNxgPC_|O*@z%dNSF7=|0V`i283mtasmrNn&(%t zCPf2;WgIwZG{Mix!Cj>#!#WNQf+&I?5JwQjWK!!VPk+>+$}&zFfvpq#G`UB_-XzGD=A2-lAsG)I-&)(>EMTl&k-uHBK?Z;K8I)UgHm82oWTM_h|f`R zXDKTFf{F-+ko*-J5bipHY01F7w)#LOMO3Rk)*z#V1xFaRUZMZp#Kuk`+n<%73C~90 z2UXM)xL7BtK@mKnpn|u7dqDTNMA2zd+DX#@F+dCu1H=F^KnxHA!~iis3=jjPJVy!h tQmvx*^zD$L*H7mt;7}8*Ui6;GYX%0OTO@<^U1R_N002ovPDHLkV1lWA5la97 delta 1015 zcmV1Z(+;Jc!6M0&H;?j+r+DXwJ*=UA~5hsY;l zW1)fdMmDZwNPoO^xWWU0Z6_Kx*IM%X=KNP#V;Y3=44GWtA7{vHWk)Ze2zO+tRg@bN z8w+h9@(HIph=J@(>1avDn1-Qr%A^X_If#T0Wa$x6z17w-DhsUA451KrJXLx@#AGZQ z&dJm?qbx&Y6w*PcEU-#4er1(V+XVM|ja&hAdSA5shnMuG$P zD}jk;_l||9(<3!S;*haSymYuSQq%&Di|VMx4|O%T{`>*D7j*yth$I)_QEFkNu4tUB z0_(V_j!IVyh9R1MEvzdVch^X20K65xS+9Y#TDU zzCX^uaILjx6{kCF+lIuV;fjpLk8BVFStkY7R#BDR_>qm1Mv|=zk=^)_jgv-_aE7RC z{7C0U%bb+w4@E+RGlU^7i^h0`9tsL)iH#{^Sbi1hH5_qOG)CBvhxlX}##FwV5V_vf zmw(+}5J3?71BDGC(wm|&UO}Wcl^0b5*p6t7SJ)Y=jSMmVjYlrn8>_G(XT{k)B6{#y zLPR@f#o0a4I9o-v)z((YFdpvG-7pSXZB6)*3t-cb#@51R>*^+}6Fs=;qZ4hnu5Pk+ z8%2&gW;3OuB}5}9^6i)kh;Da@Smj%B_Hexu9aq0XOl^KL`W-*XzhuMCsU6kd{Pznp zQG7#8_=cG94Kd*xV!}7Xgl~um-w+eNAtro7O!$VFaMchZs+*79?U;w1a}!q$!A^I% lw~s<}yL;8va-+_<$uI2qd2*&Aa<>2g002ovPDHLkV1hk0)Sv(W diff --git a/examples/moving-saw-platformer/assets/Blue player_up_2.png b/examples/moving-saw-platformer/assets/Blue player_up_2.png index 3199dee19924e4310e75b650846a45d7dee623e3..8b925863faaac5f2d8e429c3c29be7fe5279a46c 100644 GIT binary patch delta 672 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 delta 1056 zcmV+*1mFAm1hoi|B!2;OQb$4nuFf3k000B;Nkl6vw~w78Y8AZKPIe zDhK03)l0Ey z)B$t-?0kH1`egf65OD<}NV?K4Sw#D@erI;N5~6xs%$64!7Z89T>y@LQh$4A6V;$z& zaWVUi-!V->i<~T7X+L!<1^`$@yXi{%k)JVLXJHw#R&L#oMy$H39kbKz^+%aS)s%&0 zh-Fb#$BxKaO@A)gGwY4lEF?qH<)epIBvLc+F*qM){`mgh?_R|;3*R#&RcNdT5?a|Y zi5<6$1a*t=f+UyheIjes)DKZ4f4AIv;6+UH@O8;-6q{R!#}2*n$IP8xf0*;L!1|gY zY+J@lWfCIFBonbcFMVD|IYVBz+`9n4EbAww&1cibd4EwzXECk7ZWNnaZ(aa(X*Aw{ zUb%Oq>N}z`I8|t@*zef~Bt#AXECSZQ`{l5AHpow=@ns>M-I|+X$D>sMUr)}*F}rpZ z7XWa~&H(sa)wj};NhV@@lam4f36Wb)#_Opbj!+(JYzx{NYqk=MsAuICMXHQEbG>cocd1`>2$pa>?VjP zvz)LyB*fG$o!ROBeLhm&;gpN2YO&<;5aX8}j9)$n0N5XW3j4zi-|T=(F=%v=*D0!6 zeTa%EgBLCQ^V`pFJ&Ubn@%|@Y_+n=w2B6u89DkR#esC@>cHN8}{rT%V&xR*$U+hf9 z01O&4x1u=xzqI_T+Ib-cVA!d;5hb$v@jK6AYuOuptJ+Bjtw!uR#;rR;bmslO^x2n) ze(o&J$vu_-j`;!eMV(nxUz9d~3^I<8kdTm&kdTm&kQtDW aAov$q_=Z?NIxDyU0000H>1tg>emhKh?aTPi567=i?DeP}jDHUn&fn&|CS7degUXKaZ*$KtB-dXAbFQC;dN`N zu$@B|1~1r^oPYuC4sBl*2#B#8-ND+uDhytmLA-++MyDTjRl%5aNs^)#SdlY_z&1Q+ ztdKe*uoEFoQh!}Q*mplW7~P*G|J$|A4b{Q$y2txf1B6(*-NHs92^AE32E#2F`M5${ZT82_e#dq zMqovPpT*tbuZcma8fQI7g1l2?t^YNtS%3(QV-6cl@PD(kcO$iAM8;VQl4KHe5JwP2 zKB?8C2QA}_3#{tkM~BZbDzGN~O6`4)&frIRnGjeAXRrV<;&W^s(Pc`%pdx}{B!9&Q zM7xe)S~762wLFkHEvlwtLKMLfhOO7=e>b_YtMI&si3H7fHUd9bM?HaivKkb@BMNo! zHgFH<9!ZxdJ55?UX%Y|uLO=)z0U;m+gn$qb0zyCt$p1M?IxW>Id(Yht=||mSjsgyq eTlKQ{OkUpr<69(B|Ji>40000g=9x zE?#&Mm*&Myb)#Bfi0l2X6Pa}jw5{WOvgl@903HYuH_Go31F2EwnnXLt`Q#hbG4+CO z-b^>D+oOsB0KgD4x=~$K8Iv8?GGwY)SqcW&9TM*D{1L+!C=vWE0V` zP~UnZ8&@(!FMpO-SRkMS@Z@uNNhPM1RM_Swu{z@C^Wfi0P?fWl4!| z*$!j5QhdyyHBeTFt5hRu?#Wk>$ZkPrkdXl~iDK$hls@n`PGi)Ap+R!wEdDb>#D30qi@=y-UGxA8Of@_#i1AN_qZM-q!e>j$qLVj!g#%PTx_ z^&(VMWjB6giw##ed z6@MbJ3S@}&Z@h9rELLtoP7Aa9M0D@7got)e3$y#Yc0xt9(QIePvhMHJ-LeiF%{KQd z7eG*u^UcMJ#$_vI65YGyV-oE&E?X(lMv>!=*>th8jA&(f{vA^RQFo6>+d3)CzH{Qo z)xQvDHa=Q+jUVM+XoIe)jp`=<{l<(JUsMnqz92SyL2USf*zg6h;R|BJ7sQ4yhz(y5 z8@?bmTor_fYWA@|C+0!d+{9Hu@Vb-k?V}KN_b!|5?67NY@)PwiWLXiN0*C+r002ov JPDHLkV1n!}(NX{a diff --git a/examples/moving-saw-platformer/assets/Blue player_walk_2.png b/examples/moving-saw-platformer/assets/Blue player_walk_2.png index a6a7da2ccb3d5142ed3f1a7fa8226a5cee07c9a3..feafd206f910478244cb0fb201f4cc3daa141040 100644 GIT binary patch delta 684 zcmV;d0#p673B(1EB!3BTNLh0L01FZT01FZU(%pXi0007ZNklcl*=b|%3m6QC);xlbaO^-f!IJ@Y*`3>& z^O7kDEZlxK`|W(+4u!)16~vqTZE ztfiuM4qGsEz^)_$3`loK`&j`2GM14YD&1!VL&s)4-enC&`Kq<$3XDOPbh@kw)}-bz z*oLdQB~md2JAWY3PS+P8>bqY>X%!a%g&rFf>l+MBu(>5twghXdSM0MSaGm3mNZDBg z6hz8~V1YmL|zjO90R*oK> zj0=WfO^lz#z1p9NLAV;1xse2Zr^#9$HK}O;F&d{7Hh&xAXKDY=YRQ<4%gji!anOMr zffV(mR*#>&j3Xyl*T#mL;Bb=5D+-r~pnP^g_wh37nM;x|Z(zBbsu$!UZgTg^0_eS6cL*x^w~xWNcGxC3pM zhSIp&0_qZsN7(-f04ug8r9W20vF8!&X;0D|XeB$igaR%7w5KV>M^&~|wMY*>qF!Yk SW{#Zz0000tZZ@#MTu5N(;aR+Q(FV2+eS$`+x?0^tC#zYa4CQtoR!zBHsb=A10h+z@jYUqFw3(6(cxKn z{Y%p^jRS4I%=24sXC(swfFl+?zxCQ=Op~ytkkxAQg_Gb%vUWtlWv4sH*{Uhl6v8F=-u>lzkI#*v#yw;U|b<9d&f%*nUXrj;ih;j zLT80>LedNF8$`Yw*AHT%@T}T=sUxQQU^Hdc%Jof1B~NtuBcgVv+s~UUutpU^E{~lm z<3Pk*dNH}H)8{0NDMUvhje^MnYeXS`71HRbd0eR8`k2sxYz6(W($rGL8Zw zUrsM3^$zX29C?1LVzQ7%fg=`m7FaEWWJ>ic17UQ+bRSe#(qYh2Lp;CrmLnD)dX9#D z7=CEO@PET8006ije+KT;wFmvrVi$}?#k0!hw<__EBQ_y2g|zp+34i?b!<}o%)pdCC z>GRljx(aOUl#!9^;MX6guJzAbTI_T+l423!`K{N;Sbo;$gYIui@0rz(bH2M)u5T*6 z>k;L*RQ`eHK>ssyNuCSE}Nq;XU4`drZ3!i@h&PV@_%&FY=gY`q! z4lz;is*P7Nag9T%sOoO~=ti7Il9EDnH-2;@P9sTLAtoC?+R^LhPyMZijES^D7~+ns z&Abq}js%K@Mx4PLq52O&JexNiVM8T!3&AdPq zTz?ubssdO|)@EK%iB&-%;=eKEf?BN7gq&A4-VxEGR|yf-&MO=5WbKrSYNy*Tk`Rw~ z>Mq1dr`wkvasdRk5<0nwvNpMdDFbKNVbHi}|*%$`-7FA>GA%-Jy$AQ~MJ zv4i)Ojql?4v3ADH`>Od3=X`1^ecKC-ynk=`B%-y68AA+J(Dlu*1^_?;LJKtmu&O*O zgk(zfY*?$2ggCj)^{5d65p!|df-n`vW(5C&qZhZ45V;Dcc(A!xA&W1Nt+a(y$rWx%FB{?y-U5K%kKkEsJPlYcNy zNL2odhfHI0(YGKZ(NYNJJgd4daA_&0vYB9d(NEc3v{&hq3(1 z-tm&|_@>@t(s@+gPY$=^xY*ymidr}>JaK2oWHy8^VMpzXZASx)GvEMBO0_C*YQIT_1_`b=YMV^>>n;%e9Tn}47Txh z^Y%LtMG(b5@HdqJ12RDdMm8X0e9w$-UNADCw7djkBaF9I!QjWoOHK)HzCLvTNwb6z zuU|)nRSsP+ctBP10t`rZNc*CI02%v{9W338g27`mjCV+C4(Vpf>r4` z6v}YBvP9|)!GDg4bTG692>b3=ue6GZfJTpuinR>}C)mmoDOrNm)hqg0;<(PSNu=Z~ z0t_N0L$E-kCiIH-(P2uOr12AUddb@9OR{`$pT_$6TViS*G=k)aw0`oO%GueCv7SZAWG|)!ha@X{4DL?X&o7rb)^|eIu1IJ zBakBB)avn*m38O@Yufm+p>t3P7E`Y{uXAh~KgI)tV8NWB0tkxEDYHe_3HyXf2n-be zl^P({d4$rDfp>MXA@iD4v28*U#u0_mi+XpH3cCXH9vBW9x;Fwp=pvuMJC$k_!H9wj z+6LZ%#DBPiO#A#LJ(+V)=IT<{L=u%m(cKQ2t4nEi2&RVsBvDHZY47ETrp!c|=2eI| ziS&r3cvI6;Up7HNazs;>_Ib%sMzEwNh-A}4D&3>}dkBqan*7hIlx%moL(tOen!ZK2 z$c^e^_*y_ztx&uUTh*m#OFgNdAv3SaMIR?bQyeBu_9)sEa3jNKR(`gUHY@-D002ov JPDHLkV1hMgHX{H4 delta 1197 zcmV;e1XBCE1;GiBB!2;OQb$4nuFf3k000DgNklcQK`wSQzd7CrA~$P;#vtI38z`&h$mkE6N!!lR%sX07!f8IU8PhBRQ^-!a@i-jf=c;x@qSNh@iF)?Ouc))|JGDYUa+o^t)q(#hD=Kx(}={l zFG81vbwc86krPC|>DLcpDEFw`cw!=^d9XTVc8j$v#G-FZ`6HrMw?EvonP9Cdgd*Jc zRG9`MrsC_-f=QpVu%-|biPQ@=6RZ`5d`zU?TXVmN#DBs@l{XD5gv8gQ1w>5Q@C^Wf zh=)7n#$zkKO*`B^t|jLk+)RNZvoalx6B5{d0Wprt~yyD3Krr&+R@NWH)j^ClCl5kj_)Ye@#u>V|0^bWhT5Fp@(OPV)sv%r6>8 z;~|XSw|`*#{t^HHB42+8k*{_a`d`LQOeXnuDf?0<{%QCoL?w|9t{U+7AHV(Yx9Cn9 zzWDYB-*%=FtnVqKBG=KMzu)<7c-=H&XR46oi;#rVe1?qeEjwQH|I&KSvUZ&F!fvsa z)q2P$XcMw^bg{ueDt(dA<~MhKi|(Y2+W9?UYkw0GUyoK)3qNb${|MnP|67@3se^_2 zL)8v3luMNBPgUZYhE`HFUHCB#KZPVMg_thtHv_B=UFHdV&Y06NNgY1k}Bf^z3g5EVhBnfP?-=S(NVQo z6@Q3C$9htgz|K@{Rt23{H54Kr#*zzqu__aCUCO*BqI<6rB09S+WnQb=X(iQef0!pJ z@9)-K$~WEqP{5ek=sok5w&{#pJ5X}t$ z0fO+!DktCwH1tqV&_O{#0SX-jLP-dS3enRYIpcIM5@vrDC5!GdwH@_8q!w0gD5WqcR4y038Yxqn@0cK7Gb-ew8~hS+$$ zdi|OF=TR&E!gmS*1|ne+7^9Ae@jWuyS-}_qrRF6VYt4956%3g^UUEuw_3^F)NE#)A zc>PKhQ8{$MkdCV41sDi-g#EODfQ-&qk7TVpaNqUCA~gtf>r4` z6v}YDute$&!G8{kwAVKUi1_ViuVxhrN2AAPiZu;}B-p|dDO-Zoomcdu#PK=DB$2X{ z2y7538-fLqQp_vbsUs$7mcmce=p-x0Ps!rmZR)G1FA3E;G=l7iw0!iK%x<0h@TG%$ zl6B4ytcvh6zti}&F*wz_+=V3QohrHh*QT-nqO?v-*nez$W5YT?JkoMV+>ZO$vs&p9TAA9A-run=ds0Agj%$+Jb*ar1=A2n;Lw zD>p!l^9ZMu!GCqKA@iD4ZOeo#gd+~6*Xr4g>Xe%YcUWoN!Pp$yb~*JLtuU0=8f>Qy zd9-9r5onv&De;`FEdcq&y(~uzC~>wmO*}748$kY&CINz6&HG#g&!5C?$B(DGf delta 1076 zcmV-41k3w~1<44IB!2;OQb$4nuFf3k000C7NklIX5_YL$0RW3alLL{C76o}#)Xb&mu zD5`78<}il@DC+P~!?l6gui}SJj$HO}>RmC(7?G>`Rf3$3%Aypl5 z%mPc4P+qhr#9lI+h-@XPAH>}DO|SohikN1hb;_*QyBkojo~iOjM1$dIys1-QwN?n3 zEb&x{gNUwOv}!7SUPoJns1VX==oDBj74l9cK4&ML( zh`3Yo`uDW>R_$=@pj)1Ga8m_CL(6njo{-e`3y7}c2MyJJm5QqDc|{f-=NzRKqN|Lj zfyh?uqNR3eSLMj@gN9Baod!d!suWly30XVnmJNusZkT2vdy@VbN;JgrgC`8JI&U0Z zj^Xmv0DmrDy#N3J^XqTH{Azu!e;&K=>Z*F&*!Wo{{y2#fA|j+0zxUyv-+ukiGpkgA zFK*pUY^O?K6HghDa-ID7{DWuXlR$}`szy?xggAb%hla7qJ3bu!CG{R&JH}XTz24oB zddYjF6SBI0v}`~m^pE6LzWLypRjMepOM1eVPJf79v|6H#pQZ1yB_*5^uv!H+=^alzjgeW`{waE&i z@PACZs77G4MQyS|CRT|GiT)o;F380yoRE{o?WaWa$yW&xwNDzipNiT^iE0FpS|eG8 zcfFCZ@RAE4xKmxPcQ?pnEs@WnvV!QUgOji(DyrNGaUS#^GsZIOo615&?cr!#MBe$lT3MNOU+HP29A;Ej_MR zyy0l#hD1Co3HRoVt3qZ$bkzyTXv!#hQcfRjy*>rFU-J5g45Q{$Z6g}+`sC7()%~O8 z8+M@+@1GLUAR=n2X#K0g@p`)kVl#eWMnvtG^~#UDK7>}8_zl_L=aXkyeUCni)h+#_ uWxHrq;r%puGa9!(#W)u%Sg>Hh=g3>&!hfFctgW^H0000nAP@)$(YXm+$B%l>UHI(!<4*|o_kYmw#wRP+UrSbz!7kqK zKK#Z-;rihpe8vhgAQS#0V>TdTOwWvASu$ow=^07JwioX4l982q*nen@pS7b$p_1V_C(TGoJ4H0A z;(eA8M-avAQX6NlO3#&X;R?%)H~meD+zzEOGcd%W-DfcwxrEfYrD|6)dHYb(H7qO} zNQ6oQ9kvTA_g~Rvf$Bl6$*oqzK+^J+2Cc*ryG@9~ID!#h|8lAEw;SDCG(21F-U$3d z9rXmBsVz~X2wqXpVakPPK>xY~fj}S-2m}IwP>3nPu=>&YDB`{V0000W6z~S{263JMQc)mctP=$tZvc4%@&qwWDrA9AkrF8q#2_UF5nx*cW8Z9w zB$fj)c=vYC5Z$j_-^`BwH#@sKXMli!fBwzUVL1fH!@#WC%@>5sT;;KWO#9Bh#^zTj!q&m?n%&I zF)m1aAhLqU6JGrwhGs?zwc0qhQFCb*cpk*Tx!0jutyzjU-QkShh2dj7{|Vyj%aSG*7Q~ob!e3a%o&?lHVu` zGQ7Am#6U>Bkx=5vwXtYwRI8oW8+N;fB$rC*NPjH64vb}F-ntCbY{2=)chEdO004kk zW(po;r;OR%>X%wYA=qx^_1LRFV{Jh!+nML6Z~MAWbnZ~?CBqoIb=&-3>FnFI1u?Zu z?i+1Eh+4i~%I+F2(e(_e)|+!Agtmt8eSxS|tkoOsYlrknHM{yj=ncs%vi(-?Mv27x{ z^I1YfTSxh^ZCN{|qFSvta(8))CLwmK^@h^PTS<_UwW+ge?P8|$Kyz1ci8iaXiy75M zk>`%tNTEE7C>CV?J7xl+R*{IUALhs2_9HWnfPjF2fPjF2fB-Z61k&49i8B7SC7>5FoIDY`SNkl;NKGAZI`FoaSLcF%y=f_WXn3G?;(^wQHy^YQ?x%~% z8t`;Dt7v<8U*SG47!OBN?co6j9B{yyf|CPWN)B-Uf^$!w1yEc{x&Q|paKM>{lXw=Z znKZ#!#;aMJZ;ui#KGg82KnvNgbMV^G<~=wq!{Ggbw!uj}s<&EYaNxD0#U@_v^^w$+ RV%z`#002ovPDHLkV1hCCVuSzy delta 3060 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 Date: Fri, 9 Jun 2023 19:51:48 -0600 Subject: [PATCH 30/33] Cleaned up extension --- .../moving-saw-platformer.json | 98 +++++-------------- 1 file changed, 25 insertions(+), 73 deletions(-) diff --git a/examples/moving-saw-platformer/moving-saw-platformer.json b/examples/moving-saw-platformer/moving-saw-platformer.json index e6612f991..73b1f31c0 100644 --- a/examples/moving-saw-platformer/moving-saw-platformer.json +++ b/examples/moving-saw-platformer/moving-saw-platformer.json @@ -7998,7 +7998,7 @@ "actions": [ { "type": { - "value": "RectangleMovement::SetInitialPositionToNearestCorner" + "value": "RectangleMovement::MoveToNearestCorner" }, "parameters": [ "", @@ -8010,7 +8010,7 @@ }, { "type": { - "value": "RectangleMovement::SetInitialPositionToNearestCorner" + "value": "RectangleMovement::MoveToNearestCorner" }, "parameters": [ "", @@ -25874,6 +25874,7 @@ "fullName": "Distance from object to the closest edge of second object", "functionType": "Expression", "name": "DistanceToClosestEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { @@ -26330,18 +26331,18 @@ "objectGroups": [] }, { - "description": "Set initial position to the nearest corner of the center object. Creates a link to the center object if a link does not exist.", - "fullName": "Set initial position to the nearest corner of the center object", + "description": "Move to the nearest corner of the center object.", + "fullName": "Move to the nearest corner of the center object", "functionType": "Action", - "name": "SetInitialPositionToNearestCorner", - "sentence": "Set initial position of _PARAM1_ to the nearest corner of _PARAM3_", + "name": "MoveToNearestCorner", + "sentence": "Move _PARAM1_ to the nearest corner of _PARAM3_", "events": [ { "colorB": 228, "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Create object link (if one has not been created)", + "name": "Create a link to the closest object", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -26382,7 +26383,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Find nearest corner", + "name": "Move to nearest corner", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -26438,13 +26439,13 @@ }, { "type": { - "value": "ModVarObjetTxt" + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ "MovingObject", - "__RectangleMovement.ClosestCornerName", - "=", - "\"Top-left corner\"" + "RectangleMovement", + "\"Top-left corner\"", + "" ] } ] @@ -26489,13 +26490,13 @@ }, { "type": { - "value": "ModVarObjetTxt" + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ "MovingObject", - "__RectangleMovement.ClosestCornerName", - "=", - "\"Top-right corner\"" + "RectangleMovement", + "\"Top-right corner\"", + "" ] } ] @@ -26540,13 +26541,13 @@ }, { "type": { - "value": "ModVarObjetTxt" + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ "MovingObject", - "__RectangleMovement.ClosestCornerName", - "=", - "\"Bottom-left corner\"" + "RectangleMovement", + "\"Bottom-left corner\"", + "" ] } ] @@ -26591,13 +26592,13 @@ }, { "type": { - "value": "ModVarObjetTxt" + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ "MovingObject", - "__RectangleMovement.ClosestCornerName", - "=", - "\"Bottom-right corner\"" + "RectangleMovement", + "\"Bottom-right corner\"", + "" ] } ] @@ -26608,55 +26609,6 @@ } ], "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Set initial position based on nearest corner", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "CenterObject", - "MovingObject", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "MovingObject.VariableString(__RectangleMovement.ClosestCornerName)", - "" - ] - } - ] - } - ] - } - ], - "parameters": [] } ], "parameters": [ From bf6a81aabb7c53254efe4fd07602c7dc4d0b46a6 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 9 Jun 2023 20:18:26 -0600 Subject: [PATCH 31/33] Updated README and removed bubble image that is not being used Also renamed objects to move obvious names. --- examples/moving-saw-platformer/README.md | 4 +- .../moving-saw-platformer/assets/Bubble.png | Bin 5255 -> 0 bytes .../moving-saw-platformer.json | 53 +++++++----------- 3 files changed, 23 insertions(+), 34 deletions(-) delete mode 100644 examples/moving-saw-platformer/assets/Bubble.png diff --git a/examples/moving-saw-platformer/README.md b/examples/moving-saw-platformer/README.md index 555aa28f9..eef750d83 100644 --- a/examples/moving-saw-platformer/README.md +++ b/examples/moving-saw-platformer/README.md @@ -1 +1,3 @@ -Show how to use the "Rectangular movement" extension. +Demonstrates how to make an object follow the rectangular border of another object. +This can be used for hazards such as moving saws, or to visually control the movement +paths of NPCs in your game. diff --git a/examples/moving-saw-platformer/assets/Bubble.png b/examples/moving-saw-platformer/assets/Bubble.png deleted file mode 100644 index e8be1b2fcdb36ca0af52b31a4b8c8d80ffd4814c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5255 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 Date: Fri, 9 Jun 2023 20:23:57 -0600 Subject: [PATCH 32/33] Added preview image --- examples/moving-saw-platformer/Preview.png | Bin 0 -> 209525 bytes .../moving-saw-platformer.json | 40 +++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 examples/moving-saw-platformer/Preview.png diff --git a/examples/moving-saw-platformer/Preview.png b/examples/moving-saw-platformer/Preview.png new file mode 100644 index 0000000000000000000000000000000000000000..edce42eeed812054e1ece4c45f2b6df739ba83ad GIT binary patch literal 209525 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