From 1a494bee8b3089a2e032488897ef6bac575bb32b Mon Sep 17 00:00:00 2001 From: Wolfgang Becker Date: Thu, 28 Aug 2008 21:13:03 +0000 Subject: [PATCH] Crystallo, a basic badguy who patrols around a fixed position. SVN-Revision: 5754 --- .../creatures/crystallo/crystallo-left-0.png | Bin 0 -> 2850 bytes .../creatures/crystallo/crystallo-left-1.png | Bin 0 -> 2744 bytes .../creatures/crystallo/crystallo-left-2.png | Bin 0 -> 2908 bytes data/images/creatures/crystallo/crystallo.sprite | 23 +++ data/images/creatures/crystallo/shattered-left.png | Bin 0 -> 3386 bytes data/levels/test/crystallo.stl | 176 +++++++++++++++++++++ src/badguy/crystallo.cpp | 65 ++++++++ src/badguy/crystallo.hpp | 45 ++++++ 8 files changed, 309 insertions(+) create mode 100644 data/images/creatures/crystallo/crystallo-left-0.png create mode 100644 data/images/creatures/crystallo/crystallo-left-1.png create mode 100644 data/images/creatures/crystallo/crystallo-left-2.png create mode 100644 data/images/creatures/crystallo/crystallo.sprite create mode 100644 data/images/creatures/crystallo/shattered-left.png create mode 100644 data/levels/test/crystallo.stl create mode 100644 src/badguy/crystallo.cpp create mode 100644 src/badguy/crystallo.hpp diff --git a/data/images/creatures/crystallo/crystallo-left-0.png b/data/images/creatures/crystallo/crystallo-left-0.png new file mode 100644 index 0000000000000000000000000000000000000000..96d676c1b1dba14f66f000431a74725922b864dc GIT binary patch literal 2850 zcmV+-3*GdIP)>5D-cX2@nVf5`k=-2!jQP zAOgt;{2`tgq&Sfb64f~H?RNX*Uw-)3gKvdHy;a~N_Z*wK;=sP+zjySS zJww%4J1>+Yv$2Gr)W%W*0(cRe7sNx)dR99*-PEynETYkMpfw_bM(C$Goz!t|rN`_- zYq_HBZ~XqzcRl+52LHJ~dgSo79lO5s>xU2M%eRf-1iS|;V4aXVA#;LOf_0!2WFC|V zaj40i(90YO#aPu4N1A>v^mC8ViuGQ`;#!Y1%_zqqy<9p$w*JmLuiroWdQ8EaLBH>T zM?SD)X3tmec*i#OP7RY;VJ-2jCl2cb+1Py?Y9gcXBDDIRcH;0NSSPd+M`#q2gCSl# z`^IB32TmYTP%Z`3hbkm#!17v$A75zJ7FX9#z7d~(Bk1?u_weBzJ9d8cJy%V0+m+kN ztgz6wbh84y(Q|Y&Phvf}E1s=(9gVJ|*|W^9B%EAISnXPrg4`8<$%~NWj!L9iXy=?> zNx9f|v@%U24H&MK(HiryWB+pMZG*q(zK0L*-Fw-0uiZ1wjr%6?qG+X_+zZXFrO~yl zCzewy3Aq&-J;!?LX=jdBVp;B5dYRyS;n_|q^fHe|ky@x%12XFwC>e%ggF??>W7iveLCQx{gq5 zJOx~mdwQ9tojUq?0Ua7eWE4t4sG$-Ws*xcK6b2|qn#4lpJ*B`fIT(U6Bob1N0+OVE z<-uFux9f+;zxI!p^1WsZef;5nm7m&K=jQ!Wl%jyst0`-Jp>G|X#ACgXhMr2>v?{9rruOhq-R=7+VI*oM~h%cO19x8`_-n>Ejpa=N{*U+zS27^T|85ZrVTf z&vV#fA2{y`4Fp;fiNbjy*?6ZGYvNFIwwa-U%sB?*fJWB>ptNChbQGf%zx}!6a_02u zt>5{~M=!!FV*J-W`)K>X_EGgShqhB6s> z=dSr9_a58-GVl-l#WyS*Sg@{lIHIsu8wNikfhy%@7HJ}`6lmbKu!hrGm zC_8pcvvqp+a{$2|_Z-_&E=8y6!?o&g=olL)lUgD7iiukEvM{>omRmOOtC1$qPzuzm zY%h)Jk%-~4X1Hu9N18a$Xr<6f5rq(k2BTrya6~04!lRWK=GSuCsl$n)6e!A}hO%KG z9wUwd^^2eS=F}+xO~t{ApdBea5UVmWz!fm5f?{%@^v z^!_hQO>EzJVYFiO)%$0d938@=$gCg;hxd64a*tK_k2=DAqhgvH!5vfzuN=5m)*tInJ9xISqPpCE4 zLpv=LbAH{DSiuX0$E5hUR)8w9O>TuPRgF@LC^VdJW+YCE8mH$twUS{ySPvo|?K9dd z7nz?s&sRSA{!K@}=IOipGv9ttkYBy-;I7)%@i7u#obKT`*i^>E3hSw(mwDnq(M~)7 zfl=g6IN!`r3gSRh2^B^wv=SQ%|0IQ}CC@(FeYq-f-pK=E?~pDTo)ky*{hW7XS3vak`BKdd&sA+i0UiQXr)` zi%q4}^CzBq^4)J4yzu_9uhhpTK6u4t(}Yo(g=UA`7XaRa62Bq&MGu-J3Ef^FP%J+G zG^;;)f(QQi0fvVLu+}nvae*|+=q7ziQADrXAXBZnFqqVk%Qc$hd z+N&$ep;Bt*#8Xc$y=8EKU59QMZp@!v`SgQ-Yla4@ym0mcQ5cZrcGKr;YisJlg$s<2 zkNc&S6%CqiJp5OD`R~8Yc)gB@@E`yE6R~-wqA)-yB`8Ibq$b1$3~=Os%rTUuIaI%}Szht<}-*uzzbvsfW-AdZ)VxowFk#QvmrBazR?X!ID z1vfA{!R)_3{#*6&$7 zo$oj9Q=q$XrI$Rn8}Fnqy*oWKliqmK%^|@50E^zsQ!5N&F8}}l07*qoM6N<$g2z>% literal 0 HcmV?d00001 diff --git a/data/images/creatures/crystallo/crystallo-left-1.png b/data/images/creatures/crystallo/crystallo-left-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a2fdc4d87c93ffd347558d631c3f934821bd44 GIT binary patch literal 2744 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 +// +// 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 "crystallo.hpp" + +Crystallo::Crystallo(const lisp::Lisp& reader) + : WalkingBadguy(reader, "images/creatures/crystallo/crystallo.sprite", "left", "right") +{ + walk_speed = 80; + max_drop_height = 16; + radius = 100; + reader.get("radius", radius); +} + +Crystallo::Crystallo(const Vector& pos, Direction d) + : WalkingBadguy(pos, d, "images/creatures/crystallo/crystallo.sprite", "left", "right") +{ + walk_speed = 80; + max_drop_height = 16; + radius = 100; +} + +void +Crystallo::active_update(float elapsed_time) +{ + if(get_pos().x > (start_position.x + radius)){ + if(dir != LEFT){ + turn_around(); + } + } + if( get_pos().x < (start_position.x - radius)){ + if(dir != RIGHT){ + turn_around(); + } + } + BadGuy::active_update(elapsed_time); +} + +bool +Crystallo::collision_squished(GameObject& object) +{ + sprite->set_action(dir == LEFT ? "shattered-left" : "shattered-right"); + kill_squished(object); + return true; +} + +IMPLEMENT_FACTORY(Crystallo, "crystallo") diff --git a/src/badguy/crystallo.hpp b/src/badguy/crystallo.hpp new file mode 100644 index 000000000..ed32e1a05 --- /dev/null +++ b/src/badguy/crystallo.hpp @@ -0,0 +1,45 @@ +// $Id$ +// +// SuperTux - Crystallo +// Copyright (C) 2008 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 __CRYSTALLO_H__ +#define __CRSYTALLO_H__ + +#include "walking_badguy.hpp" + +/* + * Basic badguy, patrols around a fixed position. + */ +class Crystallo : public WalkingBadguy +{ +public: + Crystallo(const lisp::Lisp& reader); + Crystallo(const Vector& pos, Direction d); + + virtual Crystallo* clone() const { return new Crystallo(*this); } + + void active_update(float elapsed_time); + +protected: + bool collision_squished(GameObject& object); + +private: + float radius; +}; + +#endif -- 2.11.0