From 85016783ff1628b7de20e0c106cf55563aa77bed Mon Sep 17 00:00:00 2001 From: Wolfgang Becker Date: Sun, 17 Sep 2006 14:56:30 +0000 Subject: [PATCH] Lantern. A portable Light Source. Demo in 'data/levels/test/magicblocks.stl' SVN-Revision: 4237 --- data/credits.txt | 4 + data/images/creatures/colorlamp/lantern.xcf | Bin 0 -> 9402 bytes data/images/objects/lantern/lantern-1.png | Bin 0 -> 4483 bytes data/images/objects/lantern/lantern-2.png | Bin 0 -> 4467 bytes data/images/objects/lantern/lantern-3.png | Bin 0 -> 4483 bytes data/images/objects/lantern/lantern-4.png | Bin 0 -> 4494 bytes data/images/objects/lantern/lantern.sprite | 12 +++ data/images/objects/lantern/lantern.xcf | Bin 0 -> 15965 bytes data/levels/test/magicblocks.stl | 138 ++++++++++++++++++++++------ src/object/lantern.cpp | 58 ++++++++++++ src/object/lantern.hpp | 41 +++++++++ src/object/rock.cpp | 9 ++ src/object/rock.hpp | 1 + src/video/drawing_context.cpp | 5 +- 14 files changed, 234 insertions(+), 34 deletions(-) create mode 100644 data/images/creatures/colorlamp/lantern.xcf create mode 100644 data/images/objects/lantern/lantern-1.png create mode 100644 data/images/objects/lantern/lantern-2.png create mode 100644 data/images/objects/lantern/lantern-3.png create mode 100644 data/images/objects/lantern/lantern-4.png create mode 100644 data/images/objects/lantern/lantern.sprite create mode 100644 data/images/objects/lantern/lantern.xcf create mode 100644 src/object/lantern.cpp create mode 100644 src/object/lantern.hpp diff --git a/data/credits.txt b/data/credits.txt index 33a9ad55e..0ee5e82c4 100644 --- a/data/credits.txt +++ b/data/credits.txt @@ -37,6 +37,8 @@ Ondra \"Ravu al Hemio\" Hosek !images/credits/ondra.jpg + Wolfgang Becker + -Contrib Programming @@ -69,6 +71,8 @@ Arvid \"AnMaster\" Norlander + Wolfgang Becker + -Story Christopher A. \"paroneayea\" Webber diff --git a/data/images/creatures/colorlamp/lantern.xcf b/data/images/creatures/colorlamp/lantern.xcf new file mode 100644 index 0000000000000000000000000000000000000000..abab205760e0c642ba26e8bb17a954c59aca0665 GIT binary patch literal 9402 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 literal 0 HcmV?d00001 diff --git a/data/images/objects/lantern/lantern-1.png b/data/images/objects/lantern/lantern-1.png new file mode 100644 index 0000000000000000000000000000000000000000..99067dba5485602c5289d9c691ee0263188ec2bc GIT binary patch literal 4483 zcmV-}5q$26P)1jc&Y#Z03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@01)R%L_t(|+U=TYjAU1J z$A9;}tzK1ibyaoGOwV+WXY8@ZV~_DZ25dqS$Htb~iGZ+$I1x)EBC{wqQKSTef}IdA zBqE9uBnYbrh=er?`{IC+83*BIJho@X)6;ubS697#yZ7cpwFmJjk{!1p>i@U*;agBJo{no$cuuaC@>g=khqQmfH4N!wkgXJgg~i^v(7q;PP;>+ z(coS0dAInLA>gh%?li9JqLd=bGODUNZI~2-iEfuH&lwB{q;ZVn)o>gKDdjIN*@zDY zbNaK$a~#LPaU6tzPNz$=*(A#{mX?-A1_;3iZ@*1E>rY_s-o5PDzJu}hI8{|K(VZYm zQ!s*h!>1?;)&}bY!vL)m?RJM|vkpKMh75v$FbK%=f;`VC%aXxhh?Ih&EXlHre!owz z*FzgamZsEvANi{g1Ck_RFc@&)zyXX>toC{=E-f)PcZwn_sdP2+iY%kZ3#4t)@arh8 zu%v}$StzX-A0NkPjo$EvMzcYl=jc4ADocu@7(JsXBF}T|Ai!@n`SUyf-u%_O|3qv$ z0e|-1_sTR$+&GRoeE2X63kxhREfPmD!{LxHO)0fTN{JQ%3xVS}cwP+)jnI0O8U<*j zQA#1DL<)gd^Ke}k+qTKG9If>)(qvVVBnhtT0?>Z8JRr|=Pg<7#uOml3+ML+_=Evvm zbHe60&F(nsQ#-ll{qK8a2mBhy3{)SI43gszej5g>fBn~zFMUaJ|NWYm-gpVZOp~Q! ztS*4oEwY5ae8r1y>UO(KPEImAJIl%0S>iY*GVsNFe)t-emOc+3e|88M3bb$jbbfHkxw7{l}VPc&h)PW+^m{3E%f(J5~FFEm_tE*qRuG{?@ zfAO&wL@B8%oeNc+$pRxU>A3yw)o7}cKP;T)$Q(@8tWDrHP^;PV*tnZF{8VUfC_Y_ zO^(tDS|?KL$kHlyP?4imTsJyxyE@x_ebw84=(e}i#*cqzoyJ&zWry?@=Pb*jzrIeI zrgS)p*G;Hs-G(l7q~izg?#SIwNWpCZq3Yc(9#!S-t0 zaOs7g(vVlCiYlFFO2;`mE>J;*3Y1U*s7MGESV9FBI<_p8)*B{o?>2hstd}41FS>HO zkYyS%)&?QSvXuVX8m{LdrKCMRj%^gQI^Z|pyvz15J$?1&5YX@MsrMI|n3)mzV4ZfW zg}~s}e5y*Jq0lfiIt#UmVxxl8RD;Z@fzoP-RsmWKEnNk+QK2PNYzdv%zA2kysP2I= zzq9AyWUa0HDXk7z7C{iQvbsuDRk)6WWm%)XL0aI}KnTe51DisC==Zzr<3A6SZL?!y z0<9E&twvE4WL1TR(CB=qRWuZ8J(g8JNA;Dc23l4DLJe(E4Xkf`^ZpAK7Z=Bk3T<>^ zyE?D=x@dGTt%>c9*OIX#vq-R^50rUMl8oAD%d(KtV&~k$e}m(Ws*Nn`YzhHpFtEnP z$9Ktk9Rp}%h?9g$DUvM1z(DJKU{sLGYM7g9P|C8ePy=JsKuQ%^z15ZG$)is^=l;V- z_oE{zbRr#7IKC;|y3T9u$(kc)&g!_77M4v`sE>_r z4gqJJb3kdW%RI-a)u^;a19?%RA<{6^I!=_13#EcWRzW3HSfLYLW<&ACuRVIjE3Z3u z+gZ;!lNanQ>Rkfsp6DUd4GB8jbHY)4DFjzCB(%SK~}V}@+d0uFl2Fcl{iTdVkBH>$d! z&1r@_Pi5VyRvH9^NkXSq!x-}<0fm8F3ldAm6*_T*&OBi%*BIrz>UYL|_IDru+4xt# zvU-K(`eL_PG~YW>UwzZ7J4aASWT{{{QT5_#5LRh@qEV@V#+Z?g;MeGMI-_O?kV2wM z1zL|{fNkq1GsZJYfUehr!mHbP5Rhq2t`xGWr~n0MVGAK@nKrth8VX@@iP2yxq!6mv zu$Goio;*6+WB2`jEglv|{@~tYW3Rbx$Ahw%Tkd9$556&ZDEh+R#pU* zD;lJh!q!??<%5sKyRN(O7EV; z3olPTbKSK@bP_Iuf2v`jQ-hcN;{xJoa3CB(SgLdAyxcn#mQumX^bLB&2C;q@^ z!`IySwm+W8%akL>kMPf*`wsV=s6^InJ@MZ~J9&}#?0Jh%44oi0xl!7n6)#K{Z*mDs1qL%G&JoD5S(&Klpy#?*PO>3!C)?D6oa74z6iC=R3z2BIcD!7HX$A3p9a=$-8< zIj%@Th=$m<#l++Utyb%o=7*K-;MD3+EJ3aI1)^wk(%|-q332K4^oqOu_z#s*q^C|X zoIAx@6tOy3=cll83c?{&v3Bi0J?90dzU;hg{B!2|ZO4k}AKrKShfJz%>~jv9iHk4e z*yM9r*neH~k;4mPbBkrW>h~JVpMYT>Y^UXU9)7Kc=Xn@2nljbvKGL?anqv^IJwUH_ zY|}iT*=*`gyREL;x9=Ov{r(#}S{+=DLRy_Q3T3$IUGI_{IuzTle|>0dtCXMov{&Bo zp?l>!?mowQ-K}FM9{j%g#*(y;A6t||Wl>*TB{*K_c-`_zq9&^gQ0CJZ!!_B`O@6CI zqtQU?k#w%L!gd@?%|}`m42O4ZswgUiQ0;a*kK(vAuKV3tSwG)dI3Y}uAj*n!7nkol z`l(O7y1M!10a<2LnkqU|=%0M+Tx~m3!b(gqdy+Pa9iCzBA~7}D$Ym|a*zxDHrPOV@pR!_jxX^PM~9=jJB!qWFAN zl;<6roufWBMy3sD&52?1Vf;GyO>jL>%3|)=xlPx)U~2E4)^KgDsD$m5c`Tzs{2af2 z1g#;7g6l6h=cZj7fp6#3PU`hKK@cz;4mo!07)R#j8BXqE{y+ZhY1#0!=)3pcd*f@b zy*66!_do5~cC*tSKeW8K$o{GAtcDT8G&@37dSr=5S$O2x?tN$OdEup(U(xNhyY9B_ zQ@$z-w<@($WJybV^&<#))1eFAKC@#7?RJN5w@a;7BZ?xHmzU}H`z$Rl6Dp1FY-jk$ z1GheF9`M$;zSYE0gp`u=4<2N!*(6C4W>1}>H8zIld84v5jw$jSq$J%?bj(J5FN8o! zNm-WIwvBDsShhu{-ND(TG8v9P$v&OLjXk5kIE9zVV32jW>F0N}lArT7)2y;%+77wa2$tnV~!t&A*-va1VKPi6a>L&|4A!F7>49U zfs_*8_i=0+V+>VUjUvA>EG;duFh5VJD#pjh35G+;vgAiU{_(Rzz}w&UHnY64!sVA= z&g#-KODoIRwvFp~Xr)GFsxi2(i!lb@_pxpJ^bSy76vT0iQi>#wM`LoO@VwDvxGYQb z#spbwO&rC{FU-?uHnA*=JkPN#i^GQxKRX26`o3GuMHgO3yVW5tQ;Y%6b?J0EtoPPg z4+pIG*KoZWYb!mHJY%rlA8nH4Icb)XXE|}2V2r^SLzx$7qY(&%5GbQ5^8#tfk>ae? zNc%7bX-QnyrBSc*<*$5Y^Y;Uk8qMm{H0IIAAIBI?o@W$A#b7Yt=%Yt57~&}2aQmF1 zC`R&@RwHHCvPhGZyvRpJZ5WRHg*}#(*tU)5d80UC+ejgimZZoF*8A&E*@mY@z(Wr{ z#G{WKB~B88D8wj@uq0(sk|Z%gN-WDFP1BLv8-q3mU5#A3QVPc&?f*EAgHj4rRwIpH z8ywrgb{&i!oy)R}n(vQ-r<5qA5mI0~&&aad7Phd3Eo@;6TiC)Dwy=dQY~lYc{s&_Q V_4DG%C-DFP002ovPDHLkV1lw+wkZGr literal 0 HcmV?d00001 diff --git a/data/images/objects/lantern/lantern-2.png b/data/images/objects/lantern/lantern-2.png new file mode 100644 index 0000000000000000000000000000000000000000..599eee6661f9219ee0ec639f768d5715c17b926a GIT binary patch literal 4467 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 FV1g&0idz5x literal 0 HcmV?d00001 diff --git a/data/images/objects/lantern/lantern-3.png b/data/images/objects/lantern/lantern-3.png new file mode 100644 index 0000000000000000000000000000000000000000..0a8a026aadfced975e6a95b2f66cb6871d7a1423 GIT binary patch literal 4483 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 V_vwL(Q0xEz002ovPDHLkV1l}-pl|>H literal 0 HcmV?d00001 diff --git a/data/images/objects/lantern/lantern-4.png b/data/images/objects/lantern/lantern-4.png new file mode 100644 index 0000000000000000000000000000000000000000..21a65eb69e8a5515feedcc5c4f2881de8d06453b GIT binary patch literal 4494 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 KzJr2l;{N~&&c_}A literal 0 HcmV?d00001 diff --git a/data/levels/test/magicblocks.stl b/data/levels/test/magicblocks.stl index f6d03e9d4..4f200d300 100644 --- a/data/levels/test/magicblocks.stl +++ b/data/levels/test/magicblocks.stl @@ -5,36 +5,6 @@ (sector (name "main") (ambient-light 0.1451591 0.1451591 0.1451591) - (background - (speed 0.5) - (image-top "images/background/arctis_top.jpg") - (image "images/background/arctis.jpg") - (image-bottom "images/background/arctis_bottom.jpg") - ) - (tilemap - (z-pos -100) - (solid #f) - (speed 1) - (width 50) - (height 20) - (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) - ) - (tilemap - (z-pos 0) - (solid #t) - (speed 1) - (width 50) - (height 20) - (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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) - ) - (tilemap - (z-pos 100) - (solid #f) - (speed 1) - (width 50) - (height 20) - (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) - ) (camera (mode "normal") ) @@ -115,6 +85,21 @@ (y 512) (color 1 0 0) ) + (lantern + (x 1312) + (y 480) + (color 0 0 0) + ) + (lantern + (x 1472) + (y 448) + (color 1 1 1) + ) + (lantern + (x 1408) + (y 448) + (color 1 1 0) + ) (switch (script "//green 0.14 if(settings.get_ambient_green() !=1){ @@ -180,5 +165,98 @@ if(settings.get_ambient_red() !=1){ (x 768) (y 576) ) + (tilemap + (z-pos -100) + (solid #f) + (speed 1) + (width 50) + (height 20) + (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 + ) + ) + (tilemap + (z-pos 0) + (solid #t) + (speed 1) + (width 50) + (height 20) + (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 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 + 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 + 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + ) + ) + (tilemap + (z-pos 100) + (solid #f) + (speed 1) + (width 50) + (height 20) + (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 + ) + ) + (background + (speed 0.5) + (image-top "images/background/arctis_top.jpg") + (image "images/background/arctis.jpg") + (image-bottom "images/background/arctis_bottom.jpg") + ) ) ) diff --git a/src/object/lantern.cpp b/src/object/lantern.cpp new file mode 100644 index 000000000..41c04f0a8 --- /dev/null +++ b/src/object/lantern.cpp @@ -0,0 +1,58 @@ +// $Id$ +// +// SuperTux - Lantern +// Copyright (C) 2006 Wolfgang Becker +// +// 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 2 +// 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, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#include + +#include "lantern.hpp" +#include "sprite/sprite_manager.hpp" +#include "object_factory.hpp" + +Lantern::Lantern(const lisp::Lisp& reader) + : Rock(reader, "images/objects/lantern/lantern.sprite"), + lightcolor(1.0f, 1.0f, 1.0f) +{ + //get color from lisp + std::vector vColor; + reader.get_vector("color", vColor ); + lightcolor = Color( vColor ); + + lightsprite = sprite_manager->create("images/objects/lightmap_light/lightmap_light.sprite"); + lightsprite->set_color(lightcolor); + lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); +} + +Lantern::~Lantern() +{ + delete lightsprite; +} + +void +Lantern::draw(DrawingContext& context){ + //Draw the Sprite. + MovingSprite::draw(context); + //Let there be light. + context.push_target(); + context.set_target(DrawingContext::LIGHTMAP); + + lightsprite->draw(context, get_bbox().get_middle(), 0); + + context.pop_target(); +} + +IMPLEMENT_FACTORY(Lantern, "lantern"); diff --git a/src/object/lantern.hpp b/src/object/lantern.hpp new file mode 100644 index 000000000..13356cd85 --- /dev/null +++ b/src/object/lantern.hpp @@ -0,0 +1,41 @@ +// $Id$ +// +// SuperTux - Lantern +// Copyright (C) 2006 Wolfgang Becker +// +// 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 2 +// 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, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#ifndef __SUPERTUX_LANTERN_H__ +#define __SUPERTUX_LANTERN_H___ + +#include "object/moving_sprite.hpp" +#include "object/rock.hpp" + +/** + * Lantern. A portable Light Source. + */ +class Lantern : public Rock +{ +public: + Lantern(const lisp::Lisp& reader); + void draw(DrawingContext& context); + ~Lantern(); + +private: + Color lightcolor; + Sprite* lightsprite; +}; + +#endif diff --git a/src/object/rock.cpp b/src/object/rock.cpp index 716ae69fc..472e3967a 100644 --- a/src/object/rock.cpp +++ b/src/object/rock.cpp @@ -38,6 +38,15 @@ Rock::Rock(const lisp::Lisp& reader) set_group(COLGROUP_MOVING_STATIC); } +Rock::Rock(const lisp::Lisp& reader, std::string spritename) + : MovingSprite(reader, spritename) +{ + sound_manager->preload(ROCK_SOUND); + on_ground = false; + grabbed = false; + set_group(COLGROUP_MOVING_STATIC); +} + void Rock::write(lisp::Writer& writer) { diff --git a/src/object/rock.hpp b/src/object/rock.hpp index 8ce1cb40b..5bbc5143b 100644 --- a/src/object/rock.hpp +++ b/src/object/rock.hpp @@ -32,6 +32,7 @@ class Rock : public MovingSprite, public Portable, public Serializable { public: Rock(const lisp::Lisp& reader); + Rock(const lisp::Lisp& reader, std::string spritename); virtual Rock* clone() const { return new Rock(*this); } void collision_solid(const CollisionHit& hit); diff --git a/src/video/drawing_context.cpp b/src/video/drawing_context.cpp index dfd0f4e97..aeac3fe8d 100644 --- a/src/video/drawing_context.cpp +++ b/src/video/drawing_context.cpp @@ -440,10 +440,7 @@ DrawingContext::handle_drawing_requests(DrawingRequests& requests) case SURFACE: { const Surface* surface = (const Surface*) i->request_data; - if (i->angle == 0.0f) - surface->draw(i->pos.x, i->pos.y, i->alpha, i->drawing_effect); - else - surface->draw(i->pos.x, i->pos.y, i->alpha, i->angle, i->color, i->blend, i->drawing_effect); + surface->draw(i->pos.x, i->pos.y, i->alpha, i->angle, i->color, i->blend, i->drawing_effect); break; } case SURFACE_PART: -- 2.11.0