From b190b1597483fe76b98b6fcda1ba8f2d037dd8ed Mon Sep 17 00:00:00 2001 From: Christoph Sommer Date: Wed, 13 Jun 2007 20:18:42 +0000 Subject: [PATCH] Moved Explosion object to foreground, changed Mr. Rocket to use Explosion object, too. Cleaned up code. SVN-Revision: 5105 --- data/images/creatures/mr_bomb/bomb.sprite | 6 -- data/images/creatures/mr_bomb/explosion-0.png | Bin 11549 -> 0 bytes data/images/creatures/mr_bomb/explosion-1.png | Bin 5941 -> 0 bytes data/images/creatures/mr_bomb/mr_bomb.sprite | 12 ---- data/images/creatures/mr_rocket/explosion-0.png | Bin 11774 -> 0 bytes data/images/creatures/mr_rocket/explosion-1.png | Bin 6173 -> 0 bytes data/images/creatures/mr_rocket/explosion.sprite | 15 ----- src/badguy/bomb.cpp | 28 ++------- src/badguy/bomb.hpp | 3 +- src/badguy/mrrocket.cpp | 3 +- src/badguy/mrrocket.hpp | 1 - src/badguy/rocketexplosion.cpp | 72 ----------------------- src/badguy/rocketexplosion.hpp | 43 -------------- src/object/explosion.cpp | 18 +----- 14 files changed, 11 insertions(+), 190 deletions(-) delete mode 100644 data/images/creatures/mr_bomb/explosion-0.png delete mode 100644 data/images/creatures/mr_bomb/explosion-1.png delete mode 100644 data/images/creatures/mr_rocket/explosion-0.png delete mode 100644 data/images/creatures/mr_rocket/explosion-1.png delete mode 100644 data/images/creatures/mr_rocket/explosion.sprite delete mode 100644 src/badguy/rocketexplosion.cpp delete mode 100644 src/badguy/rocketexplosion.hpp diff --git a/data/images/creatures/mr_bomb/bomb.sprite b/data/images/creatures/mr_bomb/bomb.sprite index 7832f81fb..08d5873d7 100644 --- a/data/images/creatures/mr_bomb/bomb.sprite +++ b/data/images/creatures/mr_bomb/bomb.sprite @@ -13,11 +13,5 @@ (hitbox 10 8 31.8 31.8) (mirror-action "ticking-left")) - (action - (name "explosion") - (fps 8.0) - (hitbox 18 17 71 47) - (images "explosion-0.png" - "explosion-1.png")) ) diff --git a/data/images/creatures/mr_bomb/explosion-0.png b/data/images/creatures/mr_bomb/explosion-0.png deleted file mode 100644 index b4137ca6961e326bbb66cf42e4c9ebc2f9a4aea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11549 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 P00000NkvXXu0mjfpI*TZ diff --git a/data/images/creatures/mr_bomb/explosion-1.png b/data/images/creatures/mr_bomb/explosion-1.png deleted file mode 100644 index fef8c7779142939c46c32ba756e20d94118482ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5941 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 Xky{D4^04-ukL_t(|+U333kEO?z zANV^F@vV2?bI+{3idDr`6xnJ@v|GK{7#M>AEX|wY7rz*Azs-{|V+ruf0P|$~FK8Hp z83;3;_JWqX+buOMxg}BDimWQu!m7$WZ{B_T_AkynWRyCa!=*@(Z1nU8T-?g6x|wlK zoaJ|Z=R_1SvjETp@Em}10Nw=f3jj<+jQ^iM0ssN90n`Dk0O$aa_*?RbQ|~qa7eK@O z`EQj12!JvQr~~l-Hkkj1Ex-j(0?;z=e=QF)6Eh2Drmr#v2;=t-fEs|N365X2@De}~ zKpBAbRlC4rjXw^E>MIsrnD}!J!1`Aeh{Y-434k`=uRduYG$yOe>(?>cDuAm1t{dT# zufi3?hlEefdl`WLguCXMoofOpd>+?fW)HyA0Gz$j^i3LM;~K` z!lcVJgCOUh13)zad>g=dvzFVZ%s=}|g5b@YH|1b3aFQfZi^YN#i-n%eX4Ysls^7kS zd*i#`{chP(`edWxe0;=gPM2Fpg_?-+!Nvj*grl z2#!o(8UYyZ?(T+rdwcce<>fUgW!1!vA%NKvT0j-RZ=0N7HiG}exDmce7_Mr&yH|oc zcP>rJ7;2i z0NfGKh=4YfYDp<4lgXqJMbV~|(icKxM)>5T1UQuy1b|B>@O6wE?F0C++5NAagHY$P z>?tdXI{s`{$@5Hk-EL0(o`!8}>+k?h9PzTC$p=y__B4BGp-}2H8epv(VHkFlQaLjx zL^QW7EB&wlMtEr~qh(Bg!s;HM_~|FsY>YK8K$)RFDvfn_avRY9P_)5xQ90Um`Nwo9le~zySArF`_X2$>YFa8DX z?(SOa>+6}>?Uw*tHo`jqwgLQClL7u(9@Qvh8ucJo%|OUj$HntY7P5r&-~jn{&gsKN zdAXa{Hz!&9Vr)TgJyZfl(#x~@LD zbxZ#5fA9x6OBwwB@BjWq-}hfKeqS{1^52Z_|7!P5MfkW7%f4(dq`XQ(I5z=3HJ5Vh zDND4TwMi8P$3t-MjLx@z4*&jbtN20BsdSxUr_hYEW)(KG%4ahjOs84*7r!`r^q>E8 zIPZ2Zdq7+!ij?oCYBs~*{{7igFTIpaCzI!;l&h9ym4y%zz#Ra83}AXnc*kIis&SbC zGmnWV{n8X*$;9K%5ZKz!#p+N~fr(T_5SPIXk7%RJ;&Kh@;SFIuN|ZbAxN)O|I8QmA zP4#?l5B;0(T^=6puLhK-x#G+bDzZz(v{oviv$mEjH=BAsnYfPQ*o9)TB&7@i{6b3k z;BnS4!mk3jW-vkk;0AzO%$$8$@j;1kYV%|ouy`0|;mnrlAT&r~qfK-c&;-ZyvkGrA&*N&6 z4Y<-Dt$-OReuGpF*80p;qdeCdkF>~q7HE;Etud{12yIE^mNcaniRlb>Ki1CCAT952 zhpQL|;zDM-SGa5~`O2+tD8F?{Sj7%Vl_8vxvVG4I%<1^>aPi>%_vbg>etZ7Y8#nO3 z{hNPNH5K7w;Rz>z>!GoL@JY?z2wpVlc51MN`lKwQIEBLp)XYL@XE&&tTiW9^vh_4j z$R+}%Ba-WNwq9I^b^RI%3K_d|mfaBk;W66%eqNPvXssh~p0SjDwrSg~E0*-n6YDzi z$VHwjf+UJ&Q{B6H6Zik@&+z`we&$^L`q%5VTCHMA=}iNaW&rj8+y~JA48@ggsI-d) zTpgHzI{zdEDlpkdP|`zK*%(%)A(B*!DARJzF~!FTaGX*xDe6ixB2O(~ZTBFD3u%w1 zs@(6p?4+I=$+?Z%!m3>@$@U9?a|X;dNcpR3)b)s2Wn`qWRnhk7>2X^~J|qfXfy<&dBCWXe?x+S!ivs z1VRDym@&yC);ot>PMI5!+!{@(9z^hx#IlmO0E-MQgxk(j29Sdc4jEqCVHePFpE;XpNx__j{^2mQkzLGu4u+Okt_gAS~ysg zG}3bfeNG{-0_*{z0FoJmGlKGt;5cuKYIWPCRlQVLt)HzHJx6LSwboN1ga(l2dEU>m z?AURf;Nup}%$D)XmtzSxyj; zo2FcxgUVwTq8Dd3`)Rfp5)CpE5lg`&cvA=zEQhJyVrp#&*d-uK7@8T z!nqyU`NqU6mAtw`SoLPTaX#qp!M0~PQ6))|ynA#s|IwfRDgQ6u``%-ADP`uzJ}d!L z44l4Xm?+B#|6{``=u)8SD(4kh=UgPI!00YS?;+X!1ce^R zKZ57(>De0(MRqiRdOywKFyKMxwMrrLF05+WXh=AbhL~y4lK4x`RY5p5IjaKoSX+fW z_36%0g>L>_&$Qhgu5N~*5O%lQl|OmywfZ0Zr~h;@84T)0VDPnXesliAAN~-pzWS=| zd0yRckeh~%QzmZw48Z$FczNnQHB8kf;D7`Yxghe|M6180sP@|uq`~u_fR6to)ZSf` z9;UDrlxw3Pb534Qq4!4+w=>N(N9ua3mU$O9v{){Jim`^R0U=MNZwZnsu!>tm?T4^h zGb_7wScu>Hsk?i-OYfE%&S9F$z2oE3&G+B0j=J3ozGcm;jmF^e*4Dh>x>g*=Ri%_? zSr$&^_uP=EH%zvWrz{};f=V_>#TMr~$IN#k;=L@z zqv<#=?>&gBhy7eiWm%QTvI{AQ zz;VQ+(ZHgMIk#e(l!Q4q|cFr1bu6{lLQ3L(U?q0z>t5%- zDDef0DgeRI3j#R+*?>F)@?Qd$kAQ9l1UiJubgD{0+O->PZN!U@!a-r1~hm?wzh>wZjTBZ-E8F> z^XbORuTD#Kt7u!>MH&Cn%J1*c^!=2_hd>sQQ?FLN+A~i}>+(fMbn1#a4Z-EANR=xR z%jLv&bdbax&t@`+a@87(6^X^-3zy0WY-}_$v>yoI7I|SZRK$Qr(&m7!m&c;Ok zI>9*u5P_UcaB~iHQt%?lMRAmtJPzv;y3g#0j2(B97b;`e2}n*wg2M-)+Pyi>Z~Vy{ z<7&r=I`v7`^m>KDaBju-mro zw8+x@u-nal`PN&LKl#y*CVPW{1%ST){qO5vuNqv@Kx+!{ZSZ2o9CdR{j|6HfidwG# z_9Z~nL51_+RtOA-BXtuT!&Khq44TLYX0Q=26b`DEG$Q`SiVay7zwi zlgVUvw-`oI;rrkJ{`A-FAt>F^Ky?D7HwdGVm2C!Bqkx7%+h0#N5~Ky z9clm8FAu8U?66hayiSF-2VqO-#6lh@p(kT2+nM^0em*F@`{r?Re`}BRA1{vmv_cMfz6Ie3 z2vV z%ejNtDy5p5UBSh-K=~ZR%fNU9Ob#HUSXe$=t`DndgSZNmFG8y`#3(Dp6;Fs}ncPB2 z*pcSa`H`qPqhdp+viDHOS#q-AKuJrrYW337PhF7pwKlAh4|+VZpag`cV7U&J!rUqj zl7<^#!-mxqaC=N8m)VO>%ID9ofVb`gG6VbuP)$J1U3m2_sL}@ek3!hBeOS>H7JP_7 z3fiBLoX6}fgQ|7VdI50i;N?wdXIUn2Ye4O?MfJ->?s*a{NH%V=qMryadgM34)J+a_ zG|efTR%$MuzSda&`Zr5f`D_)k=z|3P3d)lu$ZGqdd9|cA-WV3@L%Hmxc1M!Eo3rl{ z`8Z*bKernwIRZ}!)IB_@oc$qWBZAw?L9HEdt(H(V9HE2>ykmyi(@-f>VGUT?0*V#D ztpc?Mu~qR?$g@(EU$x-B1hUSZpi1jS!t(_H!kaez)=qn&FskAZR*uu6c_02(czQU+87P*tU6u??cDfb%R!T>(TJ zAP2CU5N%ER#Y3jvkkn`)tvkZCl+uY%h{GsN<5{R&OA$HBzR_FKfy-vD;*gZeq8vk|&C zZ>M?F?YZSiuu{Cb3gL7B*EB}r447vSkW{D^RK4gF3QBI&i@07}5%s0z!nej zSHkan=R1GJ3Z4`hs_GSm%B3PVSAAMRf{oq`JC9<$y$gLf1dooP!$Zh0gvuk3?Srf( zaA5(KQ!q`yJO`sJVibhWDi`26kcR-3K*9{6P#IMC8hGm}>#KW|--!^sH{jhj-;DMq z`v>Lf{-gFfg|Z}lhbc8cI~+l@^I-o*`@PB0M!iIe3riyLV{my;*+yO^)BchwOL&J6OQWQ&1rX z6^0Pb5lCn-a%i~7K}iX;lX30m8bu{YRS8@MvjUMiu>`pU)UF`k`WZ*75k@h!-u3J2e!YI) zvaIM7>k}JR=%%68f={jm&Mt#4d>hnx1rP~D@&@X)|0o^z4NHX+&ic^vL+EJ=?c`9$ z5%Tsixb^|0HGvQgNwg$kY7rm9f?5D}1b7D#}YMR$&pSx6lCo~)LNzE>)>Y}>8~ zA?#Cwm5C8NHLbPiliWcuI}E1@I2(X0fb2CWSX5jY%eA$4t*o9RwxI7ZIA&m$AfNXU zqzsRbVbMA;3XlX?100)mg>0+4C&Jiu_8A+Z7!+zM5M zl0_;N1eMPTDnAFfn}DpGtbucYLokmRn3L8SBCQZgL6!sAmVgaP7op>Ra96ZM7+0~g z=UBA^x10-6nlP(`V-oDEHkIr+cGK{FwDabVdR#6aZawp2R4P}Ll+rT7#{jy9ELnV7 zdQ_Z58hONEO}|o}7C8P6@-u$ESqk~5WyL(l~>N7=v?tJ^ihntbgI` zQ2CX&T?mUP*gsKXG6eJiGme;L6vsk|-k@jg-9Hr5ehM!ECz>#DomN~cFImg=^Y)qY zlDi>%Zz)oiH)N3o1(BB>;jS(Or;gWusEY9(#9)7PaO22*{g;0+|AQa=-+Mp!!#_IR zLwMq869t+v&)(JCe@(*a0MQP(|Hn*+4^kYZA$mwDg+KuU0v0zG%3*?k+9Nbcc?GFdG&+oA&?DIzN&C3lC!s|~gNXE)-{r-0);;aWc@ zcS1gT<0(a4&Qqqu?Uv+5XoJGraj@9=fx^pX&#{>3tiq`O(Ot2D#G;k@4Nwm(9JQ`hH$ZuoVtjz6qCss1%pkwl~;kX{Y$D_Tp1mDLku| zlrRkzkh?MbM#yY2vZM^eMN9HhMbx&|sI*yislkQH2WhdT=b2Y!$v&*Y3~oOZrRm6V zXTw6ln?gBiOv)!Fy9kmlfpY>90%@sp;w-VW5H2e1Rj;*nX0ueO3Nux5U|Qqd$BOtg zs$6lGvTTGP&=7Hq94W}vAkTxF)zQ%nz^X#ETEt5o$)!RGQdEIjk82y#d?V2D@g%_g z9^3l@YQ+L-3by6v@a&LOF@dvM7Pi+AswrxADYESGc9Wer_671%3SSR&`S@Yr>{Jdc z77t`)BZb#$!YUMDxkV!w4zZ(fH0hRnS9 zI7O&9X3Q7t4Kj9T4BG~H#f7x1@Z~a=t4#(irLNNn(JaQW$pTRmTzr=7&4z61_pP|j5rQGAryL8eO<$V#=E?oQ-h z{2pcFAxc{<_{%jeH!69#RM7>unkp&{rR!y0p_JQ>D@h3N)X9}qGk!lX zHNlQ~b(wi;;>52Mp$>BG9_6~$)hKAd>L^gB2&NS%wT^PF11c>!!fLh2_0K|xvw-Xn ziswPASEPqFwI4*PS_s6BAJeb_5nL8rTXorKRzMpKLbVPmw@+v%oe8$b0>g!}hGX^% z3|}(hFedw;3o9RU+_f=uoE)~3G#o!%c8b%os?FwU(b-GgV$UvWZ)xqwas2zVb>_%G z;i8!{@J!>hV;ZSfjB9M0!HGR)9zIrty2b4Em{kr~O$F47;L(E3YK zRQ`@2`zk@U2`m7c0Vje?5>YC@O?B@P_6o6HG(q7xoA~k)sC^C8xS-*c2+|=^9=LNA z#6z$gfRd1u8^MuaH)mAC3~QV*%@#OJNbg6q=%+N9WNO+WCmO-l9|)Vqu0OA}+c*6n z{PD_#3p;2uY%?QJF;>trUzg1HR*Y4g1Ms$i$w$n*Py=QQ1l@6=&s31EtwEQbRzkg4 zAUu76)aJJpRew*wK2IPI%qgG~fKRdwX@(OgDCj(q5}Zn5Wy&KiEQ8wD81+kuzZHs~$QP>2sq9$3@P%e-r z1RW4m1ytMuw|)aOI08hFb2uW3AP|FvLhjn2dI2Kvzy~>TFDEV5|f%$P;o+X8AYkf`lT zX&;hHhwQ36mqp~LL5dZ?0l2h)wg$*VDzciE^EJ!r)|A@unFlgSlFEGki8X*xPX2fZ z%P8bm4OQiwVOLydg$u$%(^YWGC)UlA6C#6b1_BSUPu}JMz0ILiv>D&Uy z>yqWVf;bRdC=`QAquHyjtPDh>5mCFH;a~sj&xHLyj0F^(Wfz-Z)N>2YfH;2>h!cQ1 z47JJ-O8^xJoDuW_tS5k;0LcL`c?diha{e&YJY^~nQ!xpk`a1+W0cR7Ud@i|m5oA{Y zO<*Qw7w7!1{?+WW;{U&@fOWR03c$%E&?h8+K^#8-)Mdc=4M4d7WhVhp&wy+I zqyu1dA9&{>^B)f>e=~(jShot0E#z?Z1T>6*qbc}kM6@yn+RqUD4j@&orA%^y4O)FxufyN+Zlc`BiYj^+mLPo zRBR9mj8sOfk}l*tBJR!^otUxy0`u}#j*7^kG6m^Wuv!bviY2oK=(VJOB@vc|b(TXP*z4|LU|ZLo$PN4Lbzd zM;fhL3}+^g6C;`skB@=Plx!Ws&Ici~?J4Nq z9QOSXYBv@%(?V*H3ur;mWP^`<@X&$qY;fiPjWV>~0Es0J)GjlcB;jaDmMuxzfKVqL zB(edXBB!a=*(BG~IOhQcGN2=`P`T6j`pd_)>(|SwT&@^_AG5&A2LCqzyv@uzpJl>a z;dM%pGZ2IF7-^Cth@DJYm9a1DbD1eA771f9(cn>z(j-SYU@aL83j_@k8p1jmt%5C2 zWQqV9r+~wPt$LB2^XCZdrv-VNHe``tdFB(Aq0SR#PBe6$bAXJy6v!TR{eW(GRrR{t zXpW`tuaFSyX6I|CPOmPR6L0K%7FPIg+79IwvkzGB2=|i-{l% zm?_JFdIoqBnhID@0U8Pgq!2U*LJWAHw|(fWH86 z-<&u4lu6MAg~-XynC0{YLwZAo2ZoFZnA(g?ftw2OeXv)>LT#Z-9Z_HnA5+b=5705l zN`cZCEGE#p3^7VUi>bzBq*xL``)k~!G@9)KNY{>bTb1>cu?Hj}Z| zatQDdppFPsbb!?+u(1YgG(bxdT&f_mzE-s9+T|iD*9wSJfrsya=^n@lfkOydAXf{- zu0(7*s7@u+bO5UEGI?ntL~#V3CY9rhE$3O!>^pS^JEkmdtso_$yeikeMJ#IYmeSh~!* z08q&SwJP9Co4}bfK*I$*4HnBnVzW}l((@M8{=P(-gUJWdG1%K9YHRQjl-P%F4UyUc zI(2|Wresp76H2R+5}UYpl=Jp+lIbhetfWKM-dp4lby5xL%b!e+5E3Lqgmz z=YQglfVKKBj}R~$%eZYU^E0Bq+8$qCw$bk^KaSA>XiWmz0h%>nc^z4+ zjoh1oMFPRDA}&>Jcq>HCI$&EsdjK8Z0o)Va@I>^wNB`2Q2_k2 zp!yXsZ-c!^gECEzAc!F_1tmFIo^;;?$#=!d`cRxd zzY5Q*lMrI!KPkV|V9(M5Cj`#mga`yP)x{Z^ax0q5Y5k(ZUG$x>@kHS@b>Q z+xjz>z1o~8BSV^e%$XtA)ez!Wk(4zk(-ML_kXr;dG+56SajHNIU~~usT|nA^@=j*! zXavv<&>EP7d4f2MFz;#v$4aGzMq_TDIkTWfGuBBur8G-KrvuS!`f%M2dEWM82FFw; z3zO@mNq3XaGZXwoCq|&u>8rG$a{}iUT-AiMnpr%858Ecypx{xCwcM?h{_S*6jKm#0N8s8(Ir_A;atX4i`b+s{u? z);YeSN5OG4gy4jT#%2X^nlbgJIo&&EYOYFZv<3Q`%*R6@j2K86loRqC6oGh%JndmV z7*Ox_n2!EypvQ0LI-LN+W*FX_jmLMT=VhW;JPXgeKtepGs>eoH&lER90Ao|cd^Hy- zvFj#UN}2-BA%H#+h*>+c#Z>O}23Q@}Vb>~@Zb}^VK#wNG(+LPHIEUsKd6Hn!Pw4PQ zLOZWzy8m;{i!SqsneSyu^7j3moo&mqG(7K+gczH1z8wQnBIE1J2D(lRii^Gy1?XZi zn0sEjEhRn>LPeH^rVwFO>$_??e~*uc=X7V~X;J7@P`gNcrw4RH%~6~&BTkqmeNgvZ zh=czE^nRiBc#rvb4&2L`?+k(6;NW2Xzy967`xux!hNIU_v!ZaSqjS#u-GrHMeI=Kv z#qD-}c)Dxd`EW_fTXvE>%*PXn;kbiZLtuSNV)r2B{xra%7v#*7 z8PUN5Ar4<>9=*#vJ7yj%fJYPN4>I5w%t4P?6A_p>G-)n<+?q1Qi`=Hu+dl;aN#FtaIVkIdgq4dOd*T%c~;;w6(6 z{)6H9zO;CtM5kkwuU=KF$Hy~&J|AyYtApmohUYe$=eSad$hP}@e7wh&b%?F43Y|Y6 z(8|jDT&cX1zV_PwcsiZ#=Xu)IT925+K64nK2$y|A(UO=BO=5h0Vh%)~W_Z3~u)q&L zZQl3SQh;<_6l=9?eQ9almU7tH+gn(>yAripNo;MEs9q2F_;{OYwF9xXR-n)dSwVrtX`MS7#S>W2WBBaz*E+4>kK|q!2^|rgV zcH^7>{GZ34_m><0j+pt-q{N=d#Me!1Xao37)BHI6GU9XbgaIUrQ-_W|axuow?*aG^rt{J_pFa!WADG6( z7y6u{!1?4$`ob?=d|Z-#B<=h$LFzt$KQsX4o{0x90{BhiE?>A3i0DhZSMV{>ID1S$ ze42)hnIGchF2Fy;$;CwpPA*AZ{;K|8fG;uzgeJ9RpV2>u0A4e``H~5WD<*m;f0Gn& zc&b9<&*-0XW`4sIH?>nd-rpz-c+-rIelCDvNX$p33&Z$|?galL^X;?DT>G2myI-UN gieE!?5nr2XFTIAwh0a-Mj{LF06ZZh%rioQhe$~9fP@f_ zBtke3pa^(_2t^@M7C{z465=>3-W}tK$K#pt%(TZd-P2XQRo8M45BL9dow{A!T{F|u zQAkNw)m43~>YnqR<$wO?d^ea`0_*`E1&#qP06zpQgkbzXe z+;asO26pT3pDP6fAe91k0V6*T=3lgcVPG8CtLLA}!_0!2C1w_OG6p2_`ypT&*rVXM z)54d4F<=5H@3ad+JWawEd0`uqog!@wnAUM`sJgbO74u>drIwgSnXl=c}U*_2|vuh!QWeK=yW*r5|y;2lF4X6X{tu9_Jau4t;`ke~!CNNXTMmwT_ z12W@-5~iaIng&d(|E>blbv>`>+#?E@O<)dK7|;TyfR8HYPe}0Z$c@-Z7@h(rffEvD zT*9OhK7sZyyw(2r$9c9~rt|sFbH7$-k6dINxTe)#*=qG<`o9ePqLf?)egwQ8PuWQT zmWl^BAyXWZ0^)@T15dQd`aK8SEe6> zYa4h@(f_AHz@)m6iY~I^BE9nbNE7ZJBe6+H6F4;rye$Qc$oHEHkeJ8tx$tEPIs!Za z-0w2WdEi-PfS<}EqOFcAiOWt21|@^hj#hY8$07NCqSqsGiNlz+n4D}=t7TGZ2UrG< zO99hLn@!-m^8K~dS49{LvG(l-L#Y$CB;hL#B4_S7D(O%`d2OY%6|L?nwOYf0s+bub z6V#p1Z=D9d4%D6SLsI0FzI)cp=0gar+o^!6{*JyM3T3jn02XmW43ben_e;2zg!Kw& z>bzkocU;Q)A#gT+hlD>2JSc@O1FrzDn_2sI#fKC^1#DR+KI~#a;;f@s6q$}7U*4l2 zTGMl>aBfoq#o&5Dm?D+%72%Laf%i)h?+F%H3JbCA7LY=ygSC5opRy~KHoAc50-1zQ zos|r^&vj%GEuFXE0$(Zxo>E15hu&M!IjtKNUYRGls0mzU8!2EPR99fB0i#)Wl{y9u z2{0U>6r79T_=6R#Zh+PuP+oQM#Q#oN=P$|H79A?Q&j}xZS!J5bz{;TJFTux@ZtMDu zbh9jzu*80N-zj+Opf08g3l&Jq@K+`HbP29{*2oGg(vcEYp?pymQ7JG@iK{r{W5^X; z4+&HyvW|r!a$A_eZMFrGNNtKj~bT~1RKxeFL_7f%Ero_Ha<_3G{z5u_S z6{^9KGxw@~u%q{U5cTjjDr8*Qq$PhpA#Pz=xZ<3Yu(*-w7C40|kt)aaxwj&%<}7Uk z1)QJ`-)+Dt4`qkATW5>{95uJ{<^(J2jNk+h1(LO>h>8&8aeelno>z2SRgj!>nPf96 z?Jfn+JM`I?m4#AS5N4Ka76aN)Zo<$iOtzqIS|JCB9?QU@a{LOHT*a66jyPfHLBk|F5A7ogsT$utiR>r!FK<@zFa@NP3AK{DWqOh48mQ@}1l zSTv|&7OyAvEACdn9M|=*R z2NYw+uv@8;gnAe_irE>5B`Vzvwe}kkU%V#7*mlAPk*e7sK&X_jbYH|*R6@De#3v1E zQ2{NTRQ3R*Ab2qr_>y`|mNBY;_IQD|L%85=`S-BuiRWZN9;{`9Vu!R(;ln0Mhyr%< zU^!t93pDgxc8V(XNr})qlWy28FYjV9%;i^!^MtrpI%=KXa}T#%w?Hq38PX#A`9EC!1ogg|L&Sb2Qc>y z6ku$SyEn|f$_UMT!S5M{)^2#zpq)ULz%xzwXiF1!ipbYP+d^%cm<%(PN=k&wNZf36LTf2;yF?$TQ97mP{?=HkYR z&Ks9SRQ3Oco?~q3=&0!^=dy=eqR`WB6}x8R9asBr5XoymXhEaH!5)O@tSOXXVoI1{ zLFoz?$(uSB9OmDpBavbnPVhyg%qtNmgbnrImH=gt&(c{-F$K5@=WGw&I5h97Ne!ORb9zuinY^@)(~u z6F&3waoad`53T^eVoBFWH}x%lfoU%yv@F*{&1Dx$z~bo3IP-rv3ZEWk> z8xg5S>U|t`{T|c1pQ6*Kl0ID84htx*ZnbOPVFL?TgU3lPL1L@&WgidR9MWnPs4ztb z{=Ng%NP?bHhj^qQP@?z7yQy?IgR%X*^?HfF{6c5&?6q+gus(JEa5pQ2(2b9ia>u?u z7$bI(4RYsKl5QrsmO{ld&{c;Od?t!8_-bAvmtKPDH~HNU!%JsNmQz)oo8=7qMbYBQ zy0`0_;e)NBu@q`j@VKb-M`Z;iWrKaZ_~PT3-A&F3+>!-!3MsEhdD+HM zehoV`l{wNvV`Zaa$p78a>MpB9-tQYDuE-g6MbnTVG{B0Pt?Nq;iVq?ZEVx0)TvX2- z{Z-@z{SiAvTSaB-mf02o&t)OI6@AB8K>-vh)kv!y(d!8*FaoTGnJog1tx#gxpT4pH zp(CLp$yx0~d70}Pjk~fq*}^QP@DOrTS(_CJ+EAc5>R9Bqgj=FJ!xU!}c;na&yRs zLNtu^Hc!Cey)ao5MRrbYv(q9x-jW4GQYHeV2EB7ho`z3uBnb8^gL~cLAp#8odoY$M zF+w}X@DszXWKFg<`)-(8dmYH&6J_|*y-ImQj+*oFWnAw!6gX!b0~~|zs_KQ)Qrea= zAlpCz<|2F(7-NwVDKJjL5(%SR(nTI~^f()|(5yE$M3RSV-1V97!LL=t@ZKpU47+M_ zR-Ye}65{)pRT?koz2L~11z>fMAee2@_lx5%u!oVgigA?r+&}A?s=3qwsD6rEbr3qq zOM5K;j;CAV_wN-!GUD(-On*y`GeAM}RVkrS#1J<^iTPAlKy@L4lf;&6(-*hI7>p{W*H&G?(}eS1|j-V zsz_Vz6J*Nyh1ajaGtHDGd82X-Rb2oKw0iFHF0P zQz``1P;jqUADjgK0QeH{12s>Yn>9f;Qou4yHlV(w96am-NiF}s-PIr5tdXQunROGY za*=O0;mNkEH{z-;=xBAR@rgL7HR{~bdX?RSM&r(sL#iYj%KfuuHZKI&8B_r)P#k*$y@~) z+vKZ^G^8-5)tS>50(O}0HX7gQZRb86aFv}db`)3)g{-nF zpI=st(aiD01k{H5(C48~Mv8ri1+Drym8lJV_f;w3l5oOYq}}@|B89~S{`Cky;a=`$ zgfkc?*SPtE6q0ryYOI`(*Q}8wvWTUm59+LTn;zCy(G{Sc_Cb&la>uUmvTLhF<#$}e zHSSzFtaLi7n&5(tD`r+#oG@nr&z|M%lLxqyVOD^#H4|Iy`k^I#`iOpIRR9H7DcS(N zhEQmqnJ>R%pj^=kFGzV~`n?(Q3Db9_+%ea0jQD270jBfH7#C#~%@Bg6@ZCxFuLUo_K1~QVbZi`_OK61oQO=5^(nC% zP+!e^3~MvTtLh8Bp|0>dZt^5{oA#=~dZ&cnEtkGauCW~H{}g_6nFB0!1CovOLe_zV zw;Tfy9A5D5!Nyil>&SHy=lA}#!9>MjmL&;&RspZ>J`=6yqAX;L?yipr0pOh0v z`BtQmwT5cyqGojihRC)M!nznfD6sX=+G(HkW`(*!{l-aEbak9rm(^s6@cgQTA9#aS zABFe`J~`}4&d>+x*%lVz5uv6=)$EVQTVpY`LB@gE1VaqJF1nRcD;cE)fX$lYbfbHu;|782kJ@BBD>LfaW%R-S^6|RM5bL0| z7d$I8Oy42jSM{%3Z1G<`Sg-X+2x4n%xsnJVAWaR8_qHw zkU~yM0lU;$x?pC@{ZL~H_hrnIF-D2q1V#wVQ@nLT=mHq4xY|1@SbQP{#6hd6LIbuq zP2O=ef84Vi8R9)!(Q+Ro*9Pk90Q>mz9mR-8$akMTPIr^$SuFc% zfN@~BFBq`y3{bzx&){Q3>?a7tS>}2V!3iEaIPbbpdQ^&=Bi~o}&%mo8gw;(Ene`Ab z@q13v-GTNpaG{tcQy445V|k1n!>}F#tnGS-iSl`619F4HXuXHlNx{FD#5lhv|NgN| zeJ}aW^84jtCv}|HJq&CMjBirJs@&tU%MJ#V%q;ltkx$kVrWO3k>&nVyU2JgCHf%g5 z6SDQeZV4ET?XeZD`V9HD*%#E}n$v2GtSc+>fl&b| zWPt=|Vp2fj{y&;uxGl5!Fp?GGMXrF07)M@c!;|p_48F8|N4(x?DSE*v`MBO|JLEVJ z*Doc6LUXt8ohi~a3r)x~L9a|nZpvY=n_&5})a;2}O>EHEbw0CKw}#lMZHfeBNs?+c{md`_S_ z59cyiF*tS!#x6(^yOm@Q(%l6zCTzdxDC-V8^ibz^!8oGJYXfiojls)tLqpb!-b`?} zZaL`@B1B$ zSKyBia_wseIYfm;u5zA#;WVEogjw85K1vMqO+;7UvSo?Dd_xnOX-X7T`D9 zIV${ETT%Ko@;!PbrK;E?Y{7VoAA||+w+d&%9FKqLhwx8(SoqojW_gR3`93rJ$5UV8 zxzBx$c_1SMG}C)Yt`!TWqf%}huX!M55;MDWt9yb5Q9v9(j>Kc!olzy9#Wf+erp}#* z``_h>FErrUl*d2x68ys3@ca?3V_f1Ze3mbSf8-qsTW^HW;wWpx1johj##?#qQBA)D zd|5o-ZM(lv&?JQkZCzF*uF5nU0wUMx?(mrGoTi9-g2pBAc`0XF^>w@#$VELH-(RxH zr#N5Vc(%NQLbH&khy7vs(ublKGaLLSGxLvo>N$HNQ#Bq})ze9yX6i?Wb*!2 zdR2P&?%u2-I>4fty(yQwsFZk@e&;dZn`XAO-SHq=z*X{T3xDs8pn!Bz^wK^lBo-z| zfCoiXY>Rnn#_y`)(wpM<9#V|B0Q}g@wzV!uU1M`Wiing|CcnI{fb@idR7L+ECchKx zn`U-?n^&eS<~jEE?^jG1W%G?ox1@l0qa$;^);6=tQp{E0*JTZHNBAi4tH5X3VrRyU zwy*_rlY&fZr0KxxFBzOM&Mzx%qY2b}Jz6^Ish>NSy(`2z*rv z>5$(5?Sr>EtgwmlZ`*wZBheT)ByD*!0-5=YIQuUO5jM$hl6r6_OWEy;0V_&v?HlyZ zIW;cll_AP%s9o79HfOsOFyksTyFve4G_&Vb+)O(j?`O&aUJx&TQvgFG<~hM+V~6eu vzHJXPd!Lz2|E&4$b}C@(c0})=mB;@9msFH5edK-200000NkvXXu0mjf?#8mW diff --git a/data/images/creatures/mr_rocket/explosion.sprite b/data/images/creatures/mr_rocket/explosion.sprite deleted file mode 100644 index 3d1a9c163..000000000 --- a/data/images/creatures/mr_rocket/explosion.sprite +++ /dev/null @@ -1,15 +0,0 @@ -(supertux-sprite - (action - (name "explosion-left") - (fps 15.0) - (hitbox 0 32 31.8 31.8) - (images "explosion-0.png" - "explosion-1.png") - ) - (action - (name "explosion-right") - (fps 15.0) - (hitbox 0 32 31.8 31.8) - (mirror-action "explosion-left") - ) -) diff --git a/src/badguy/bomb.cpp b/src/badguy/bomb.cpp index 38ec13b42..cbc96c0a0 100644 --- a/src/badguy/bomb.cpp +++ b/src/badguy/bomb.cpp @@ -21,7 +21,6 @@ #include "bomb.hpp" #include "random_generator.hpp" -#include "object/sprite_particle.hpp" #include "object/explosion.hpp" Bomb::Bomb(const Vector& pos, Direction dir, std::string custom_sprite /*= "images/creatures/mr_bomb/mr_bomb.sprite"*/ ) @@ -66,37 +65,23 @@ Bomb::collision_solid(const CollisionHit& hit) } HitResponse -Bomb::collision_player(Player& player, const CollisionHit& ) +Bomb::collision_player(Player& , const CollisionHit& ) { - if(state == STATE_EXPLODING) { - player.kill(false); - } return ABORT_MOVE; } HitResponse -Bomb::collision_badguy(BadGuy& badguy, const CollisionHit& ) +Bomb::collision_badguy(BadGuy& , const CollisionHit& ) { - if(state == STATE_EXPLODING) - badguy.kill_fall(); return ABORT_MOVE; } void Bomb::active_update(float ) { - switch(state) { - case STATE_TICKING: - ticking->set_position(get_pos()); - if(sprite->animation_done()) { - explode(); - } - break; - case STATE_EXPLODING: - if(sprite->animation_done()) { - remove_me(); - } - break; + ticking->set_position(get_pos()); + if(sprite->animation_done()) { + explode(); } } @@ -115,6 +100,5 @@ Bomb::explode() void Bomb::kill_fall() { - if (state != STATE_EXPLODING) // we don't want it exploding again - explode(); + explode(); } diff --git a/src/badguy/bomb.hpp b/src/badguy/bomb.hpp index efce65357..e75a32f80 100644 --- a/src/badguy/bomb.hpp +++ b/src/badguy/bomb.hpp @@ -38,8 +38,7 @@ public: private: enum State { - STATE_TICKING, - STATE_EXPLODING + STATE_TICKING }; State state; diff --git a/src/badguy/mrrocket.cpp b/src/badguy/mrrocket.cpp index 410cc835f..4ac7045a0 100644 --- a/src/badguy/mrrocket.cpp +++ b/src/badguy/mrrocket.cpp @@ -20,6 +20,7 @@ #include #include "mrrocket.hpp" +#include "object/explosion.hpp" static const float SPEED = 200; @@ -56,7 +57,7 @@ void MrRocket::active_update(float elapsed_time) { if (collision_timer.check()) { - Sector::current()->add_object(new RocketExplosion(get_pos(), dir)); + Sector::current()->add_object(new Explosion(get_bbox().get_middle())); remove_me(); } else if (!collision_timer.started()) { diff --git a/src/badguy/mrrocket.hpp b/src/badguy/mrrocket.hpp index bb95805ba..628df377d 100644 --- a/src/badguy/mrrocket.hpp +++ b/src/badguy/mrrocket.hpp @@ -22,7 +22,6 @@ #include "badguy.hpp" #include "timer.hpp" -#include "rocketexplosion.hpp" class MrRocket : public BadGuy { diff --git a/src/badguy/rocketexplosion.cpp b/src/badguy/rocketexplosion.cpp deleted file mode 100644 index 2c24ccb34..000000000 --- a/src/badguy/rocketexplosion.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// $Id$ -// -// SuperTux -// Copyright (C) 2006 Matthias Braun -// -// 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 "rocketexplosion.hpp" - -static const float EXPLOSIONTIME = 1; - -RocketExplosion::RocketExplosion(const Vector& pos, Direction dir) - : BadGuy(pos, dir, "images/creatures/mr_rocket/explosion.sprite") -{ - countMe = false; - explode(); -} - -void -RocketExplosion::write(lisp::Writer& ) -{ - // rocket explosions are only temporarily so don't write them out... -} - -HitResponse -RocketExplosion::collision_player(Player& player, const CollisionHit& ) -{ - player.kill(false); - return ABORT_MOVE; -} - -HitResponse -RocketExplosion::collision_badguy(BadGuy& badguy, const CollisionHit& ) -{ - badguy.kill_fall(); - return ABORT_MOVE; -} - -void -RocketExplosion::active_update(float ) -{ - if(timer.check()) { - remove_me(); - } -} - -void -RocketExplosion::explode() -{ - sprite->set_action(dir == LEFT ? "explosion-left" : "explosion-right"); - sound_manager->play("sounds/explosion.wav", get_pos()); - timer.start(EXPLOSIONTIME, true); -} - -void -RocketExplosion::kill_fall() -{ -} diff --git a/src/badguy/rocketexplosion.hpp b/src/badguy/rocketexplosion.hpp deleted file mode 100644 index e334dc830..000000000 --- a/src/badguy/rocketexplosion.hpp +++ /dev/null @@ -1,43 +0,0 @@ -// $Id$ -// -// SuperTux -// Copyright (C) 2006 Matthias Braun -// -// 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 __ROCKETEXPLOSION_H__ -#define __ROCKETEXPLOSION_H__ - -#include "badguy.hpp" - -class RocketExplosion : public BadGuy -{ -public: - RocketExplosion(const Vector& pos, Direction dir); - - void write(lisp::Writer& writer); - HitResponse collision_player(Player& player, const CollisionHit& hit); - HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit); - void active_update(float elapsed_time); - void kill_fall(); - void explode(); - - virtual RocketExplosion* clone() const { return new RocketExplosion(*this); } - -private: - Timer timer; -}; - -#endif diff --git a/src/object/explosion.cpp b/src/object/explosion.cpp index 5d64ca2a9..c172e11ed 100644 --- a/src/object/explosion.cpp +++ b/src/object/explosion.cpp @@ -22,31 +22,17 @@ #include "explosion.hpp" #include "badguy/badguy.hpp" #include "object/sprite_particle.hpp" - -#include "resources.hpp" -#include "video/drawing_context.hpp" -#include "sprite/sprite_manager.hpp" -#include "player.hpp" -#include "sector.hpp" -#include "player_status.hpp" -#include "gameobjs.hpp" -#include "statistics.hpp" -#include "object_factory.hpp" -#include "level.hpp" #include "random_generator.hpp" -#include "audio/sound_source.hpp" -#include "audio/sound_manager.hpp" -#include "timer.hpp" Explosion::Explosion(const Vector& pos) - : MovingSprite(pos, "images/objects/explosion/explosion.sprite", LAYER_BACKGROUNDTILES+10, COLGROUP_TOUCHABLE), state(STATE_WAITING) + : MovingSprite(pos, "images/objects/explosion/explosion.sprite", LAYER_OBJECTS+40, COLGROUP_TOUCHABLE), state(STATE_WAITING) { sound_manager->preload("sounds/explosion.wav"); set_pos(get_pos() - (get_bbox().get_middle() - get_pos())); } Explosion::Explosion(const lisp::Lisp& reader) - : MovingSprite(reader, "images/objects/explosion/explosion.sprite", LAYER_BACKGROUNDTILES+10, COLGROUP_TOUCHABLE), state(STATE_WAITING) + : MovingSprite(reader, "images/objects/explosion/explosion.sprite", LAYER_OBJECTS+40, COLGROUP_TOUCHABLE), state(STATE_WAITING) { sound_manager->preload("sounds/explosion.wav"); } -- 2.11.0