From 5f828224f53e057bc43d7e275b631c2c187e5c5c Mon Sep 17 00:00:00 2001 From: LMH Date: Tue, 24 Jan 2012 12:04:20 -1000 Subject: [PATCH] New Object: rusty trampoline code by rgcjonas, graphics by ctdabomb, see test level for use (bug 833) --- .../objects/rusty-trampoline/half-bottom.png | Bin 0 -> 3233 bytes data/images/objects/rusty-trampoline/half-top.png | Bin 0 -> 2214 bytes .../rusty-trampoline/rusty-trampoline.sprite | 23 +++ .../objects/rusty-trampoline/trampoline1-0.png | Bin 0 -> 3010 bytes .../objects/rusty-trampoline/trampoline1-1.png | Bin 0 -> 2917 bytes .../objects/rusty-trampoline/trampoline1-2.png | Bin 0 -> 2643 bytes .../objects/rusty-trampoline/trampoline1-3.png | Bin 0 -> 2349 bytes .../objects/rusty-trampoline/trampoline2-1.png | Bin 0 -> 3404 bytes .../objects/rusty-trampoline/trampoline2-2.png | Bin 0 -> 3478 bytes .../objects/rusty-trampoline/trampoline2-3.png | Bin 0 -> 3484 bytes .../objects/rusty-trampoline/trampoline2-4.png | Bin 0 -> 3430 bytes .../objects/rusty-trampoline/trampoline2-5.png | Bin 0 -> 3418 bytes data/levels/test/rusty_trampoline.stl | 175 +++++++++++++++++++++ src/object/rusty_trampoline.cpp | 136 ++++++++++++++++ src/object/rusty_trampoline.hpp | 49 ++++++ src/supertux/object_factory.cpp | 2 + 16 files changed, 385 insertions(+) create mode 100755 data/images/objects/rusty-trampoline/half-bottom.png create mode 100755 data/images/objects/rusty-trampoline/half-top.png create mode 100644 data/images/objects/rusty-trampoline/rusty-trampoline.sprite create mode 100755 data/images/objects/rusty-trampoline/trampoline1-0.png create mode 100755 data/images/objects/rusty-trampoline/trampoline1-1.png create mode 100755 data/images/objects/rusty-trampoline/trampoline1-2.png create mode 100755 data/images/objects/rusty-trampoline/trampoline1-3.png create mode 100755 data/images/objects/rusty-trampoline/trampoline2-1.png create mode 100755 data/images/objects/rusty-trampoline/trampoline2-2.png create mode 100755 data/images/objects/rusty-trampoline/trampoline2-3.png create mode 100755 data/images/objects/rusty-trampoline/trampoline2-4.png create mode 100755 data/images/objects/rusty-trampoline/trampoline2-5.png create mode 100644 data/levels/test/rusty_trampoline.stl create mode 100644 src/object/rusty_trampoline.cpp create mode 100644 src/object/rusty_trampoline.hpp diff --git a/data/images/objects/rusty-trampoline/half-bottom.png b/data/images/objects/rusty-trampoline/half-bottom.png new file mode 100755 index 0000000000000000000000000000000000000000..a8b1b763e8105fcc1b9769a11b83f9f4b930cc4c GIT binary patch literal 3233 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 TTtn@A00000NkvXXu0mjfWaml8 literal 0 HcmV?d00001 diff --git a/data/images/objects/rusty-trampoline/half-top.png b/data/images/objects/rusty-trampoline/half-top.png new file mode 100755 index 0000000000000000000000000000000000000000..87c37cf5b00521c2493acb4fa159e56e57a6870c GIT binary patch literal 2214 zcmV;X2wC@uP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iph< z4i*UEh*IbP0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z000O5 zNklY!>eL&@x!CL7^;dF8|MR}lrIGzwN`a!3XmV3#G5QNu6+Nt9%Pr(q&AOlG7~3;;Yz3R%OtLl}7sS*g-op;-k@@kkSs zQHD^3Dcy}Uj5N?yS&G2WxL_iZJzT;EkY(n1oCbgZC;$>dFcGB_9A{&N05H{UgaAuj zGl`Uphp88(X|gFHaslARq6*8L?V5Mrb>~O%zWF0?;mT>_0(%mm;ekP25I%Rr$#lGDse# zi-#2<7KCxf=z1$W$s(#?tX(fh@f!y=Etndn?Xfoigc!`!>XNd&%En3wnSdw{Wb6!8 z>Wo0Mh0?>i;lNHSC&NNfn@r7ehKUm=7*DggijbYd#o$N@$MC;YRcP8q(`5|N3au_D}`{Qma&V)=7Uga7^mU59SjD>D9p;KgH228LxP%_}k zjwm9`Acj@ZbXx_YkHQc@Qb*_zF|6UxuIIN1rWBz9LP$^rdZa;O3(jFO)|V$E@h7F! z%8o=YwO@$8{Dp7-ZgGDuDB!C{`|ak!{_1dgl%n}oiu6{^Og0&(HjUAYVa3~fDnW!D zoS$Z(7nSSc9@yY0pc%3ZqAWA!HswPw%WE2Sx^bH7g>t=xw9#n%&kOY)vuIhj~|HOaj5^DeY*wQ#stE9!ycj-XA)`3X*(GGIJQk*Oyo zH%u!zN3)$;oLV)Rp@oW%Zrjs^y~QD#cEq; zwZ6d$Ge=%O@%67g{r!g@^xv-FleZLBgybXN{Z?zMD^CenurMb7z|q)kGq!itO=hu^ z?(N4;iZT~hZ0X#(4*(Gi(Kv@T23Q3lgN=!k`l;#XEFnQDU16$KtW3W$qE^h1U}-9g zR_0@ooPX)H&R>797T@U~j>p3+h5Vi#j{8nYI+*L&_#tjszg{nqg zxY|(Xu2d7Aj>?`F9Br;-x7>3$b?-fv)f=S&mUuXrzrVS3&tmzeuiTXtPCPn!bw`&e zOt&CRTk2W?zyC#`nrEe%49I>Fmatu(UQ^q(7QTGbx+RKdn2%eEsOip}BN!jZ+|rS-M>Ei~Leh@%e$NJWJ_4@{bu z2y5d!P2uvy$ag0EMT+^SF8A@O-Tvu^FY)PLfBF%K-&Ny$J(N<&?}C2i$|fBB$eaQI zx%zS&yfnjm7N+!HKK4Yu*-k9VJBHs`Q$m3~Rki{tA?}aDTRX$l`OSULJl_wr2mC}k z_23^4y?ASi)Iy}T5?r(cnOC&!N;w+JBzL8J?D9Y3pFh_|>}%-KwEzGB07*qoM6N<$f*aBc_5c6? literal 0 HcmV?d00001 diff --git a/data/images/objects/rusty-trampoline/rusty-trampoline.sprite b/data/images/objects/rusty-trampoline/rusty-trampoline.sprite new file mode 100644 index 000000000..7fc9376f2 --- /dev/null +++ b/data/images/objects/rusty-trampoline/rusty-trampoline.sprite @@ -0,0 +1,23 @@ +(supertux-sprite + (action + (name "normal") + (hitbox 0 0 0 0) + (images "trampoline1-0.png") + ) + (action + (name "swinging") + (images "trampoline1-0.png" + "trampoline1-1.png" + "trampoline1-2.png" + "trampoline1-3.png") + ) + (action + (name "breaking") + (hitbox 0 10 0 0) + (images "trampoline2-1.png" + "trampoline2-2.png" + "trampoline2-3.png" + "trampoline2-4.png" + "trampoline2-5.png") + ) +) diff --git a/data/images/objects/rusty-trampoline/trampoline1-0.png b/data/images/objects/rusty-trampoline/trampoline1-0.png new file mode 100755 index 0000000000000000000000000000000000000000..4f3d11da340834e91eecaa030f17f9a2096ee2bd GIT binary patch literal 3010 zcmV;z3qACSP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipf1 z06Gc|zrq~=0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z000Xa zNkl6TWoyMPY&b!?E-hH!ueO+fyZ6|ipCdEsZE=d!nOIkJwO)G{1LuZ;W z1ql#S3IiSH0|+Wr0;&<3X^VnNGYlPdfCSpqq;3+&p&^dbIPsczx9{q^y!(63e25aY zr48_D&ZqO~JU{)<|9_tIkeJ%K%@gL`_2%aP;GtGY7FOUjPjo01KiLISV@7g3Q800Dyo$3Yu6( zEZm4QmtID$JbnFeN+@EH6eOl%ZTb$Vau8$ly)f-%0D$f4aD@dyoB*lwZ@n*+#4D+~ zIEjSgAk>9v>o9Z+^!C$0K*!jbpjg#jB}QI?dvc3Vt*8wUChhH&%#$17=KNq(hAL~< zAq-PTO}{G0!Qs<9L=!-NFzSYNJZH@Brwb5@1?7`~e4nBm<=q zC?n7UDj+z702-yRJ#~p5oUfkw5xGWuthaw(Qh%Kf3{7P6#qpjIZf>sg$BaQ-Xjm#3 zK9yzaHPVVhhCVU&Nh9lqo4^w*}1%jA;kulB&>Hh zcGO?4fA&{z)Kfx18N~ywHv#dp_-K0$gb)xyAcO!BZp+Q}cE_`C#wxQF>H>s4wxbw4 zG#s{0oJi!lx_W+geH5>4ZojkZ^q#vOd?JzB`0=6B!gX9Lw!~-Lz=qR%dC>NmmDSZ3 z7MCJjU0n!=VyKkM7%hyTP{?C=DF{L+1UMunfk{l6(d+PV`*^5t@g@ie=j_r*IUYuB z(k}YLS(?UO-De$wrx0$<8sca>$;Unr4sY|{Z~3VHa+))AAG<6 zPb%<^N-U=QTQ<;O>G5YCt*Ji&;79`dR#(VTn+nylZ3veV?z*1m@M5u8du;P$j1s1; z-)!ujE=tamuOza%MJW-&yRZ=8zuSK$eQs72U;bs2+0oJQ&+pVD@ApKe13Mx+?p^;w z8Y+KiCViwCN>w37{2W}GZ}Z*Fp>+zvdu?2CUVgMXY(4Tf-UrJ$gbY%7Z?RgMF@OQUNV5|_qfx|s; z91C-Eb8B>6|0hP77AJgd~tLz46Cy&o5wdT zSb3Bj({+T<#gC8IDFlSPIT;LpbN6^!a1XX^BN~lv4F-cy6d#WN!a6x-)rA~>RWT~YsohP7&eMOq#EBE`$jC@E zm&>hmT{od9iVuM2IL@G^X+LhtG@rL@Bkwql=eeH9=Ci9Jk;vls_&B}m&b^@z{1e;= z;BND=r@nDCQyk8Q7$L;0R;z?_&JXXOmB*J@<(b#isWVfO%Q^2*6s1d+WlfSK|Ka`f z8GsO(x@2hHCtmE8p9b*NzZ&52SMU9f62$7Zlni?Km}mlkt7m7v_6v2A5JCXZ^-cctJsWCjDg;dk0pdYF@Ip277ggY6pSXW?VBo}0 zn-iCIu1gWw_DF4C+e|A5l?0&@B@|De+xtda!{xQI#M*UTM@Pf!rSHBCDm3RpNkVYCZJlT&lqv0vR{Y2X&8)h~%KiiUJO2LjkJx{51;={( zDS#b>Qc2gV*)MDvY@md@SHIDOPUK|c-;c-VFXe3`9#3Y%!Ehr0eEshE)k5%96M3Ke zAE)B(WGTeB=W!-U+PCjJPXNyUXDD7_jL}+Ud2D2Kxb^wx4!-^AM;>st;b!@{hYeh!XI>uyw zFsy1Gw}`28P{?pS8;)y%5$#dQ;k7oVP_nc8UOf7_0~o(@0Wbghd2DRG75D9Z2&&@8 zABT?PH?RI2yLaqDO5P5}WB@?TDB{%HFJXG&5>}+TQ$c?c06{TdidvSP1^|!Sm@D_g z<3MA0I}{dz%S~J^9)ZjC2Fise2`q75JOopM+1&%%{K%QPc>$eh$o{T=nJ05v0N~~J^HS=Y1<|YQ^&O=Dgbzn2iNm%9F2tl1pB%~ ziSoK9OqR=*u;tdSTbeQ}dmP6u&CE^qUzwViava+cLSVU6MX6XtI245}Dd3#LaV=D< zWe6eOeJ%uK>W>n_6b^gY^K1)*fDnLl0pMyvmWa~(f2%BdLTR0@l>h($07*qoM6N<$ Ef~_{4SO5S3 literal 0 HcmV?d00001 diff --git a/data/images/objects/rusty-trampoline/trampoline1-1.png b/data/images/objects/rusty-trampoline/trampoline1-1.png new file mode 100755 index 0000000000000000000000000000000000000000..687e9258abd1d74eb635edbb37724c1423e6dcbc GIT binary patch literal 2917 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 P00000NkvXXu0mjf37B(u literal 0 HcmV?d00001 diff --git a/data/images/objects/rusty-trampoline/trampoline1-2.png b/data/images/objects/rusty-trampoline/trampoline1-2.png new file mode 100755 index 0000000000000000000000000000000000000000..9e1bb973cf553f69b46b36a17ea504a78b4dd23b GIT binary patch literal 2643 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 TYJAJQ00000NkvXXu0mjfHZn+q literal 0 HcmV?d00001 diff --git a/data/images/objects/rusty-trampoline/trampoline2-1.png b/data/images/objects/rusty-trampoline/trampoline2-1.png new file mode 100755 index 0000000000000000000000000000000000000000..48cc0d68490502ead46ef02ce1d947699e01daf1 GIT binary patch literal 3404 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 KMNUMnLSTZ7)~Zba literal 0 HcmV?d00001 diff --git a/data/images/objects/rusty-trampoline/trampoline2-4.png b/data/images/objects/rusty-trampoline/trampoline2-4.png new file mode 100755 index 0000000000000000000000000000000000000000..22c96be39f8f3a449a8536948240b7df9409db1e GIT binary patch literal 3430 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 literal 0 HcmV?d00001 diff --git a/data/levels/test/rusty_trampoline.stl b/data/levels/test/rusty_trampoline.stl new file mode 100644 index 000000000..8ab70cbf2 --- /dev/null +++ b/data/levels/test/rusty_trampoline.stl @@ -0,0 +1,175 @@ +(supertux-level + (version 2) + (name (_ "rusty trampoline test (C++ implementation)")) + (author "Jonas Kuemmerlin") + (contact "rgcjonas@googlemail.com") + (license "GPLv2+") + (sector + (name "main") + (ambient-light 1 1 1) + (background + (speed 0.5) + (image-top "images/background/BlueRock_Forest/blue-top.jpg") + (image "images/background/BlueRock_Forest/blue-middle.jpg") + (image-bottom "images/background/BlueRock_Forest/blue-bottom.jpg") + ) + (camera + (mode "normal") + ) + (spawnpoint + (name "main") + (x 96) + (y 96) + ) + (tilemap + (solid #f) + (z-pos -100) + (name "Background") + (width 100) + (height 35) + (tiles + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + ) + ) + (tilemap + (solid #t) + (z-pos 0) + (name "Interactive") + (width 100) + (height 35) + (tiles + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + ) + ) + (tilemap + (solid #f) + (z-pos 100) + (name "Foreground") + (width 100) + (height 35) + (tiles + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + ) + ) + + (rustytrampoline + (x 160) + (y 256) + (counter 5) + ) + + (rustytrampoline + (x 190) + (y 256) + (counter 2) + ) + + (rustytrampoline + (x 210) + (y 256) + (portable #f) + ) + ) +) diff --git a/src/object/rusty_trampoline.cpp b/src/object/rusty_trampoline.cpp new file mode 100644 index 000000000..120405f37 --- /dev/null +++ b/src/object/rusty_trampoline.cpp @@ -0,0 +1,136 @@ +// SuperTux - Rusty Trampoline +// Copyright (C) 2006 Wolfgang Becker +// Copyright (C) 2011 Jonas Kuemmerlin +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include "audio/sound_manager.hpp" +#include "badguy/walking_badguy.hpp" +#include "control/controller.hpp" +#include "object/player.hpp" +#include "object/rusty_trampoline.hpp" +#include "sprite/sprite.hpp" +#include "sprite/sprite_manager.hpp" +#include "supertux/object_factory.hpp" +#include "util/reader.hpp" + +/* Trampoline will accelerate player to to VY_INITIAL, if + * he jumps on it to VY_MIN. */ +namespace { +const std::string TRAMPOLINE_SOUND = "sounds/trampoline.wav"; +const float VY_MIN = -900; //negative, upwards +const float VY_INITIAL = -500; +} + +RustyTrampoline::RustyTrampoline(const Reader& lisp) : + Rock(lisp, "images/objects/rusty-trampoline/rusty-trampoline.sprite"), + portable(true), counter(3) +{ + sound_manager->preload(TRAMPOLINE_SOUND); + + lisp.get("counter", counter); + lisp.get("portable", portable); //do we really need this? +} + +void +RustyTrampoline::update(float elapsed_time) +{ + if(sprite->animation_done()) { + if (counter < 1) { + remove_me(); + } else { + sprite->set_action("normal"); + } + + } + + Rock::update(elapsed_time); +} + +HitResponse +RustyTrampoline::collision(GameObject& other, const CollisionHit& hit) +{ + + //Trampoline has to be on ground to work. + if(on_ground) { + Player* player = dynamic_cast (&other); + //Trampoline works for player + if(player) { + float vy = player->get_physic().get_velocity_y(); + //player is falling down on trampoline + if(hit.top && vy >= 0) { + if(player->get_controller()->hold(Controller::JUMP)) { + vy = VY_MIN; + } else { + vy = VY_INITIAL; + } + player->get_physic().set_velocity_y(vy); + sound_manager->play(TRAMPOLINE_SOUND); + counter--; + if (counter > 0) { + sprite->set_action("swinging", 1); + } else { + sprite->set_action("breaking", 1); + } + + return FORCE_MOVE; + } + } + WalkingBadguy* walking_badguy = dynamic_cast (&other); + //Trampoline also works for WalkingBadguy + if(walking_badguy) { + float vy = walking_badguy->get_velocity_y(); + //walking_badguy is falling down on trampoline + if(hit.top && vy >= 0) { + vy = VY_INITIAL; + walking_badguy->set_velocity_y(vy); + sound_manager->play(TRAMPOLINE_SOUND); + counter--; + if (counter > 0) { + sprite->set_action("swinging", 1); + } else { + sprite->set_action("breaking", 1); + } + return FORCE_MOVE; + } + } + } + + return Rock::collision(other, hit); +} + +void +RustyTrampoline::collision_solid(const CollisionHit& hit) { + Rock::collision_solid(hit); +} + +void +RustyTrampoline::grab(MovingObject& object, const Vector& pos, Direction dir) { + Rock::grab(object, pos, dir); +} + +void +RustyTrampoline::ungrab(MovingObject& object, Direction dir) { + Rock::ungrab(object, dir); + sprite->set_action("breaking", 1); + counter = 0; //remove in update() +} + +bool +RustyTrampoline::is_portable() const +{ + return Rock::is_portable() && portable; +} + +/* EOF */ diff --git a/src/object/rusty_trampoline.hpp b/src/object/rusty_trampoline.hpp new file mode 100644 index 000000000..31df80a36 --- /dev/null +++ b/src/object/rusty_trampoline.hpp @@ -0,0 +1,49 @@ +// SuperTux - Rusty Trampoline +// Copyright (C) 2006 Wolfgang Becker +// Copyright (C) 2011 Jonas Kuemmerlin +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#ifndef HEADER_SUPERTUX_OBJECT_RUSTY_TRAMPOLINE_HPP +#define HEADER_SUPERTUX_OBJECT_RUSTY_TRAMPOLINE_HPP + +#include "object/rock.hpp" + +/** + * Jumping on a trampoline makes tux jump higher. + * After 3 jumps, it breaks (configurable) + * It cannot be carried (breaks on ungrab) + */ +class RustyTrampoline : public Rock +{ +public: + RustyTrampoline(const Reader& reader); + + HitResponse collision(GameObject& other, const CollisionHit& hit); + void collision_solid(const CollisionHit& hit); + void update(float elapsed_time); + + void grab(MovingObject&, const Vector& pos, Direction); + void ungrab(MovingObject&, Direction); + bool is_portable() const; + +private: + bool portable; + int counter; + +}; + +#endif + +/* EOF */ diff --git a/src/supertux/object_factory.cpp b/src/supertux/object_factory.cpp index 15a730e73..71c177c93 100644 --- a/src/supertux/object_factory.cpp +++ b/src/supertux/object_factory.cpp @@ -131,6 +131,7 @@ #include "object/rain_particle_system.hpp" #include "object/rainsplash.hpp" #include "object/rock.hpp" +#include "object/rusty_trampoline.hpp" #include "object/scripted_object.hpp" #include "object/skull_tile.hpp" #include "object/smoke_cloud.hpp" @@ -249,6 +250,7 @@ ObjectFactory::init_factories() add_factory("thunderstorm"); add_factory("tilemap"); add_factory("trampoline"); + add_factory("rustytrampoline"); add_factory("unstable_tile"); add_factory("weak_block"); add_factory("wind"); -- 2.11.0