From a18947cc7a6a2ab652dfccc0f357de58f069366f Mon Sep 17 00:00:00 2001 From: Rob Pearce Date: Sun, 16 Nov 2008 21:24:00 +0000 Subject: [PATCH] - Added new powerup: gnome - Redrew explosion sprite --- data/sounds/boom2.wav | Bin 0 -> 14180 bytes data/sprites/exp0.png | Bin 0 -> 303 bytes data/sprites/exp1.png | Bin 0 -> 447 bytes data/sprites/exp2.png | Bin 0 -> 1125 bytes data/sprites/exp3.png | Bin 0 -> 1125 bytes data/sprites/exp4.png | Bin 0 -> 551 bytes data/sprites/exp5.png | Bin 0 -> 430 bytes data/sprites/exp6.png | Bin 0 -> 275 bytes data/sprites/gnome.png | Bin 0 -> 1021 bytes defs.h | 9 +++++-- rc.c | 52 ++++++++++++++++++++++++++++++++++++++++- shared.c | 20 ++++++++++++---- website/img/gnome.png | Bin 0 -> 1502 bytes website/info.html | 1 + 14 files changed, 75 insertions(+), 7 deletions(-) create mode 100644 data/sounds/boom2.wav create mode 100644 data/sprites/exp0.png create mode 100644 data/sprites/exp1.png create mode 100644 data/sprites/exp2.png create mode 100644 data/sprites/exp3.png create mode 100644 data/sprites/exp4.png create mode 100644 data/sprites/exp5.png create mode 100644 data/sprites/exp6.png create mode 100644 data/sprites/gnome.png create mode 100644 website/img/gnome.png diff --git a/data/sounds/boom2.wav b/data/sounds/boom2.wav new file mode 100644 index 0000000000000000000000000000000000000000..3c813a458696565dc8fa8ae77924ddbdeb8778c0 GIT binary patch literal 14180 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 literal 0 HcmV?d00001 diff --git a/data/sprites/exp0.png b/data/sprites/exp0.png new file mode 100644 index 0000000000000000000000000000000000000000..2350af81bbe1dde9620347c07b4bccfc201e994a GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRz!3HFmzMa1bq}Y|gW!U_%O?XxI14-? ziy0WWg+Z8+Vb&Z8pdfpRr>`sf4Q>H(F3l}2)9ZmkvL&t&CC>S|xv6<249-QVi6yBi z3gww4844j8sS56%z5(x3RP%reCwsa$hFF|V{`2`cKeK8>XQPur)`1UZ3ErKD>e7^Y$e7NA*d3m=cy$B)2Pydfi*O%y;wq}FkS?&|t zj13G7G=98MILFPUqZ1K(;9y}(W8=Zr4dQZtejYw?@Zdp?iw6#Tc^xHp?Hkc*e*2Ks#+r}cYHm}$j=sX5bS3j3^P6|gW!U_%O?XxI14-? ziy0WWg+Z8+Vb&Z8pdfpRr>`sf4Q>H(Zk@ZPK^uWWvL&t&CC>S|xv6<249-QVi6yBi z3gww4844j8sS56%z5(x3RPz`Z7?nL;978Nlzn!u$@34W0>w0zO!;K9G4m2KUWIWt- zpsA^`&cV^q(N0-@1HXiZ437kdfrf+z#|w5I78Vf+37eO^KIbN#IlE{o&l@lQX=}ds z)x6c_Ryt(5>)_O1iyNLF??@N!(1^GeweI^YZrz=R-axvOqnqQ-d*Q#~CxTD9`aX*D zs$0D2c0RxV{MXgpyF*o%>6%2FT{~pS``m;5mz7|9;+)?`jFENptl z>Lt0N_@4BSOAWFU8GbZ8({Xk{QrNlj4iWF>9@00YTML_t(I%cYdfZ!$_O^9J5 zE25wgQH;e@q7Y*V#U?^+OFNVf(~tRh-}ktnloHt(&+gtl_sKcWbI&6|5b%G>tv#H2 zqvfc=F@clEPZz)W&ji45$FoBW9Det;sjHv7HTLai%-x!#t+$mzZ*#a*TE70}*}pzN zfA01n5hheQ;{Z+!xFO)y=(L!fu~PT?p}Tu>x%7s%ZO_qIm?oL3;=CaA8)ALCb{8r) zZ_K;#@p4H(A9ir8ePizT^w#x(@%=-U<-5I!oD?NPsbAMCxl?HmJskBLC4%@$!)bnH>hd4fXP9;%P!Q z6NWid9Uv=EMPv!*#>JUyv6-J#Bi73h%#H|Pvq3WZW1ni^d8Y7G{@u;SQs=7(QIP19-Vo(f% z1$?3?w<6El5d?@6MR^e~=etBU2H@uYE|SjH@nR3L2JoM-HUe10G~&1PBTcCXHhy>R zPxf_8(wyo*NUs|6c!h{mfEu-$GWo|8<(aVu1eY#O{?@(w>L%kQl8xztSQp2{l3JnokmjJL$)mqj0Y)r+XP6M0^kssbkE2teK^J zuNYnU;#_IuhigAhO_qk;*E7MVujXA>AvN0@F6Vj{s%~p*YhR{&;6>8y16VH(1c)pW z)k=g5H!5|h{yJ4+Y;_xf4*>h#ha(65AUv_B^_Sj*$1Cx^7nglMl@cRh2&tE+f~DJ+ zZynfYKR$b!^H+i(khPiE)#*Cc`SkB?i8V>S??~OH4m4OvXX8-Fn4qmiMq9h|{bZU8 zTaJEz=UC84KP=qWt-mG4}vtYZHGz5a1c%@vc_00000NkvXXu0mjfqLL4x literal 0 HcmV?d00001 diff --git a/data/sprites/exp3.png b/data/sprites/exp3.png new file mode 100644 index 0000000000000000000000000000000000000000..b05f00ad815f2d0b854fbd3f2d2d28abc6c2198e GIT binary patch literal 1125 zcmV-r1e*JaP)WFU8GbZ8({Xk{QrNlj4iWF>9@00YTML_t(I%cYdfZ!$_O^9J5 zE25wgQH;e@q7Y*V#U?^+OFNVf(~tRh-}ktnloHt(&+gtl_sKcWbI&6|5b%G>tv#H2 zqvfc=F@clEPZz)W&ji45$FoBW9Det;sjHv7HTLai%-x!#t+$mzZ*#a*TE70}*}pzN zfA01n5hheQ;{Z+!xFO)y=(L!fu~PT?p}Tu>x%7s%ZO_qIm?oL3;=CaA8)ALCb{8r) zZ_K;#@p4H(A9ir8ePizT^w#x(@%=-U<-5I!oD?NPsbAMCxl?HmJskBLC4%@$!)bnH>hd4fXP9;%P!Q z6NWid9Uv=EMPv!*#>JUyv6-J#Bi73h%#H|Pvq3WZW1ni^d8Y7G{@u;SQs=7(QIP19-Vo(f% z1$?3?w<6El5d?@6MR^e~=etBU2H@uYE|SjH@nR3L2JoM-HUe10G~&1PBTcCXHhy>R zPxf_8(wyo*NUs|6c!h{mfEu-$GWo|8<(aVu1eY#O{?@(w>L%kQl8xztSQp2{l3JnokmjJL$)mqj0Y)r+XP6M0^kssbkE2teK^J zuNYnU;#_IuhigAhO_qk;*E7MVujXA>AvN0@F6Vj{s%~p*YhR{&;6>8y16VH(1c)pW z)k=g5H!5|h{yJ4+Y;_xf4*>h#ha(65AUv_B^_Sj*$1Cx^7nglMl@cRh2&tE+f~DJ+ zZynfYKR$b!^H+i(khPiE)#*Cc`SkB?i8V>S??~OH4m4OvXX8-Fn4qmiMq9h|{bZU8 zTaJEz=UC84KP=qWt-mG4}vtYZHGz5a1c%@vc_00000NkvXXu0mjfqLL4x literal 0 HcmV?d00001 diff --git a/data/sprites/exp4.png b/data/sprites/exp4.png new file mode 100644 index 0000000000000000000000000000000000000000..72ed7f6c171e0ef7b847d0d608b7b5f9cec89eb9 GIT binary patch literal 551 zcmV+?0@(eDP)WFU8GbZ8({Xk{QrNlj4iWF>9@00E0hL_t(I%hi;jQo}$H zhQBZ;5EUm*RGf&YKvWJ+htzi#I<5C9w%#Y)djFt)q^y~ zi>J)Xwtk>}0%WIPOb0+DM8+D@^AXx=wB5F97ZE>xe%73s*x`U*Bgt7MmWFxvbaA6_>NOs1pESk5&CT%W&c-^J?QtQ|5wO zu9zY0(P3teD;}0H|bF-07f+Nnh2IlXZ)p=Ye4ix8<&QF92Y?>2?WJ p;j8!{;7|gW!U_%O?XxI14-? ziy0WWg+Z8+Vb&Z8pdfpRr>`sf4Q>H(K7Juo?G*%H@?66gHf+|;}h2Ir#G#FEq$ zh4Rdj426)4R0VfW-+=cis(B0yj6$9+jv*GO-%i%eKWre-Hs6Pxn}>;shl!1giHV7u zjftJ@S28;r5O6U8AsY`D4^U30@_^@(ZJxI>n{AU$%fGk%{%cOf`=8!6XL7G7CC>I@ zSmENNS6C-^Qp8bLXrB3@rPC>XS~DvG#({{#k23+%J5a z{NC`|)wkLx#Mw1tYU`QqwSV;Iztk%b|Ka|gW!U_%O?XxI14-? ziy0WWg+Z8+Vb&Z8pdfpRr>`sf4Q>H(KE->VZ+QZRWJ_ElN}Tg^b5rw57@Uhz6H8K4 z6v{J8G895GQWe}ieFNU7sOA9`mV3H5hFF|_J9#5-gMk3^-xu9eG$j<61A+n!#FEoG zrik<;Xz~a=RczsU`0Z=@%}K2)S+hcmRao2DURUxSFw3lCVPGhAxRvOY-R^PfQBFC7 z!0KjeEhUz{WowzD=5sqJrM~GcFk!l<|B?Mq13yDe>bZL}D!mdKI;Vst07{fujsO4v literal 0 HcmV?d00001 diff --git a/data/sprites/gnome.png b/data/sprites/gnome.png new file mode 100644 index 0000000000000000000000000000000000000000..5717a5696af86b49d0d1f2bf7b6c5ed3027162f1 GIT binary patch literal 1021 zcmVfn_lDMU;UtLK)d$P&vX7gUKo>w58ul- z&o6o39$ z{1biirLQnwiE{n% zp`l@Nto%7x^kxLMB49WU!EhM9Q7=~61Y&DZu%6J8OIv=4ZF&10Wq4v@K};miC1VLD zwXlvYUjS9E7og=eNJ|;GJ>$6BcNe+12y!p7ri;;*DfieiJ2*IqGp{u*MtloHbTvA! zHyfW%)gBa9Qjbw2u~=DHz^{S(*g8=RjVODMW(4QV#N_g>lAP^q<%jLbh^$xZRp7wQ zZJ;oiMu<-VvI73WmgmCBHyUns-%tR6dm66Nm1Y7z545CX(E*WVkpqKtDhqQSKvqtd zT5PBP19z3=+SO}lFsaxY9SiGr7P@s2`eY6VvN8mgi8nUXi~nntz_VsflEF|4ssNx0 zAX6w*Nso=X`F-K9KWVz)s1QCsa@YusngM|V1JA-x$ibv0cJgFnxc)_F@h*6DpdXu$ zV&@YZQOD|95^04%qKcA|sKO}19dE)a|LH)m(Pcs8ZTh40$z{RdQ@W!TV|k rav_ns6h*0)0dH2VYn}W1UoHOuqmqpEI+{Aw00000NkvXXu0mjfIFa6j literal 0 HcmV?d00001 diff --git a/defs.h b/defs.h index 84c946a..4eb2405 100644 --- a/defs.h +++ b/defs.h @@ -26,6 +26,9 @@ #define PUFFSPEED 4 // how fast it animates (smaller = faster) #define PUFFAPPEAR 4 // frame at which puff will turn into a gem +// explosion +#define EXPFRAMES 7 + // shuriken #define STARFRAMES 5 #define STARSPEED 3 @@ -249,7 +252,7 @@ /* enums */ /* sounds */ -#define MAXFX 50 +#define MAXFX 51 #define FX_SHOOT 0 #define FX_SLAM 1 #define FX_KILL 2 @@ -300,6 +303,7 @@ #define FX_ZAP 47 #define FX_SNAILPREPARE 48 #define FX_WHOOSH 49 +#define FX_BOOM2 50 // card suits #define CS_HEART 1 @@ -325,7 +329,7 @@ #define S_SLOPE 2 // Sprite types -#define MAXPTYPES 136 +#define MAXPTYPES 137 #define P_PLAYER 0 #define P_RAT 1 #define P_CHEESE 2 @@ -467,6 +471,7 @@ #define P_FLY 133 #define P_PLAYER2 134 #define P_ARMOUR2 135 // player 2 wearing armour +#define P_GNOME 136 #define FLY_FLYTIME 150 diff --git a/rc.c b/rc.c index 03eaca3..f1008fd 100644 --- a/rc.c +++ b/rc.c @@ -2224,7 +2224,40 @@ int movesprite(sprite_t *s) { s->dir = -s->dir; } } - } else if ((s->id == P_PUFF) || (s->id == P_SMASH) || (s->id == P_SPARKLE)) { + } else if (s->id == P_SMASH) { + // still delaying + if (s->timer1 < 0) { + // increment "frame" + s->timer1++; + } else { + // increment frame at a slower pace + if (++s->timer2 >= 10) { + s->timer2 = 0; + } + if (timer % PUFFSPEED == 0) { + s->timer1++; + // finished animating + if (s->timer1 == imageset[s->id].numimages) { + s->timer1 = 999; // for debugging + s->dead = D_FINAL; + } + } + } + } else if (s->id == P_MOVINGCARD) { + // timer1 is the actual cardid + // timer2 is the target x position + // timer3 is the target y position + // + + // move towards end position + moveto(s, s->timer2, s->timer3, CARDSPEED, CARDSPEED); + + // are we there yet? + if ((s->x == s->timer2) && (s->y == s->timer3)) { + gaincard(s->owner, s->timer1); + s->dead = D_FINAL; + } + } else if ((s->id == P_PUFF) || (s->id == P_SPARKLE)) { /* SUMMARY: timer1: indicates current frame. if < 0, don't draw. @@ -6859,6 +6892,22 @@ int dofruiteffect(sprite_t *pp, sprite_t *s) { gunorigx[1] = player2->x; gunorigy[1] = player2->y; } + return B_TRUE; + } else if (s->id == P_GNOME) { + sprite_t *s2; + playfx(FX_BOOM2); + sprintf(tempm, "Exploding Flowers!"); + addoutlinetext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,&black,POINTSDELAY, TT_NORM); + puffin(-1, s->x, s->y, "gnomepuff", 0); + // turn all flowers into explosions + for (s2 = sprite; s2 ; s2 = s2->next) { + if (isflower(s2->id)) { + // replace with an explosion + s2->dead = D_FINAL; + addsprite(P_SMASH, s2->x, s2->y, "gnom_exp"); + } + } + return B_TRUE; } else if (s->id == P_ZAPPOWERUP) { sprite_t *newsp; @@ -7079,6 +7128,7 @@ int initsound(void) { loadfx(FX_ZAP, "zap.wav"); loadfx(FX_SNAILPREPARE, "longdrum.wav"); loadfx(FX_WHOOSH, "whoosh.wav"); + loadfx(FX_BOOM2, "boom2.wav"); // load sound effects for (i = 0; i < MAXFX; i++) { diff --git a/shared.c b/shared.c index a39b189..2e83266 100644 --- a/shared.c +++ b/shared.c @@ -1489,6 +1489,9 @@ int loadimagesets(void) { loadspriteimage(P_GUN,F_WALK1, "sprites/gunner.png"); imageset[P_GUN].numimages = 1; + loadspriteimage(P_GNOME,F_WALK1, "sprites/gnome.png"); + imageset[P_GNOME].numimages = 1; + loadspriteimage(P_ZAPPOWERUP,F_WALK1, "sprites/zapper.png"); imageset[P_ZAPPOWERUP].numimages = 1; @@ -1538,11 +1541,16 @@ int loadimagesets(void) { char name[SMALLBUFLEN]; sprintf(name, "sprites/puff%d.png",i); loadspriteimage(P_PUFF,i, name); - sprintf(name, "sprites/puff%d.png",i); - loadspriteimage(P_SMASH,i, name); } imageset[P_PUFF].numimages = PUFFFRAMES; - imageset[P_SMASH].numimages = PUFFFRAMES; + + for (i = 0; i < EXPFRAMES; i++) { + char name[SMALLBUFLEN]; + sprintf(name, "sprites/exp%d.png",i); + loadspriteimage(P_SMASH,i, name); + } + + imageset[P_SMASH].numimages = EXPFRAMES; // playing card bonuses //loadspriteimage(P_CARDHK,F_WALK1, "sprites/cardhk.png"); @@ -2327,6 +2335,7 @@ int isfruit(int id) { case P_GUN: case P_ZAPPOWERUP: case P_SKULL: + case P_GNOME: case P_RANDOM: return FT_TEMP; /* flowers */ @@ -2958,7 +2967,7 @@ int loadlevellist(void) { int randompowerup(void) { int num; - num = rand() % 34; + num = rand() % 35; switch (num) { case 0: @@ -3035,6 +3044,8 @@ int randompowerup(void) { return P_ZAPPOWERUP; case 33: return P_RANDOM; + case 34: + return P_GNOME; } } @@ -3172,6 +3183,7 @@ void setfruitinfo(void) { setinfo(P_TAP, "Tap", "The leaky tap will flood the level with water for 20 seconds, allowing you to access hard to reach areas.", "tap.png"); setinfo(P_ACCORDION, "Accordion", "Makes your nets enormous", "accordion.png"); setinfo(P_GUN, "Gunner", "Temporarily equips you with a super powerful machine gun!", "gunner.png"); + setinfo(P_GNOME, "Garden Gnome", "This tricky little gnome has rigged explosive devices to all flowers on the level - when collected he will detonate them!", "gnome.png"); setinfo(P_ZAPPOWERUP, "Bug Zapper", "Zaps nearby enemies with miniature bolts of lightning", "zapper.png"); setinfo(P_SKULL, "Skull", "Avoid these at all costs! The skull will cause you to lose all net powerups.", "skull.png"); setinfo(P_CLOVER, "4-Leaf Clover", "Increases your luck...", "clover.png"); diff --git a/website/img/gnome.png b/website/img/gnome.png new file mode 100644 index 0000000000000000000000000000000000000000..72680223d93bd463a8fc4dd59eefb16527ab6520 GIT binary patch literal 1502 zcmV<41tI#0P)Q6jd1h&dls~x7+Tv-O3hv;nGqBg9WWt5NJqHi3X#-h)7~cG{%4-7!!Tq zfrJoaeBi-=Ja|id;f1JRl#rl_ST41IC5s@n^s>E|-R<6Hb}na*FK5Z=FxxJ5l0P%M zduG4?`~UC!|9=P;b`h8F*#CKXzO{3`!%A^LSpXOjOax=4GAAVf7S>4I+(2y(Vsk6z z2mnAX0gwQYeLkP^!H(x2-`!YuBuJF~;p%X7D49q&oGHA=<{~7O04M>FKi~1(-WTd? zx@b1LyDy!)d1+*L7(h7yAAm9d9-b~)AVb{1=gX-CKt8g)v%RgZ>X2nw9?7y$=JVb# zrVYOkQWJn7+zS^iHM}B2<@KkYY;N$#-wwo+4ZU}UF_qO2psdrbsOX!_Wa6BmTqMUR z1$0&(x2|fb4dt}1Q0K-K_F@nGOZ^CUtVhD<_0GiNn^l`$)C|LPfZFo`OT_>IC`{Em z%9mC}Ry1XC@UxS6X47LhaPR~owIBN70m zH*RK?uPUE1OWiEP@rQ9%*V@+p^}n7d?#G68DcgP;<30%jvn9G^(}#EVe)RP*)f3FGf9U}H ziiG$~0^8qy8A-#y`%g#NyyrCA24WW0Z zy=?KwmbLYD^-H!@5kJy~4%_3wt=ItWjt=6=&0f;q9%xS2hWzJ#>c;r>(JMwGGwJ}d z1g3@UH49V%Al>Xw+~}@Qc79*UmMX20w)5wIB^?bdSW*?iaC{t+q98Upife!LU`S3Q zIhKHQVQ@x`4xM3)=?< zZk#=J7Dg%q^o-=}eBc}&BIPX#6z?121M4)HicI;*+Q1xf)}ts#X)yaacrbll5YATl6H5^RYWW0Y$A z&&@dmJ3xE{~`htpSL826t0iX=9C~V8NBtj_9n<3l{7uAZ*-L>x(YNh<~ z8y!2_A6>L3=wqRw2^BMW8)3hU@-i7gk6cz$SzaGk^}i{#QvlN3G61q%NO|tStUOCD z169F0DjUWt`I%JX&{z%{BQPmrs!5r`7^nmQED{U^Y6PX~4yLx-*diAx_ymA_Yr>d_ z4y0>FlSX(lN7b}pe3918zhp%YTQ>8mCLNm2s245EiVF<0091jcda+#22kK->1Sj&s zs3}f^&V6dT)POm|3jxIWS#cS}#4;$dv>)bJ;p{xJaF<=)qXIZ}Df+BbP$xKX8?qef zDCs;y7I<1CMHJ6mJ}>BeN*-cuN$1mtITV+AAfEU75A3zhK(K)K)c^nh07*qoM6N<$ Ef<)lAQ~&?~ literal 0 HcmV?d00001 diff --git a/website/info.html b/website/info.html index f256704..103fa9a 100644 --- a/website/info.html +++ b/website/info.html @@ -70,6 +70,7 @@
GunnerTemporarily equips you with a super powerful machine gun!
Bug ZapperZaps nearby enemies with miniature bolts of lightning ?
RandomGives you a random effect... +
Garden GnomeThis tricky little gnome has rigged explosive devices to all flowers on the level - when collected he will detonate them! Super Powerups
Big Speed UpMakes you walk faster, permenantly!
Big Scuba MaskPermenantly gives you fast underwater movement.