From 3dd252d40f9d0e213c8ddbad989cd24cf5f0a9b5 Mon Sep 17 00:00:00 2001 From: Marek Moeckel Date: Sat, 17 Sep 2005 22:07:35 +0000 Subject: [PATCH] removed some duplicate code SVN-Revision: 2769 --- data/credits.txt | 42 ++++++++++---------- src/badguy/fluffy.cpp | 99 ----------------------------------------------- src/badguy/fluffy.hpp | 44 --------------------- src/badguy/kugelblitz.cpp | 3 +- src/badguy/snowball.cpp | 6 ++- 5 files changed, 29 insertions(+), 165 deletions(-) delete mode 100644 src/badguy/fluffy.cpp delete mode 100644 src/badguy/fluffy.hpp diff --git a/data/credits.txt b/data/credits.txt index db1ad41d4..0f8057633 100644 --- a/data/credits.txt +++ b/data/credits.txt @@ -15,54 +15,56 @@ -Programming - Tobias (tobgle) Glaesser + Matthias \"MatzeB\" Braun - Ricardo (blacksheep) Cruz - - Ingo (grumbel) Ruhnke - - Matthias (MatzeB) Braun + Tobias \"tobgle\" Glaesser - Ryan (sik0fewl) Flegel + Ricardo \"blacksheep\" Cruz - Bastiaan (basti_) Zapf + Ingo \"grumbel\" Ruhnke + + Ryan \"sik0fewl\" Flegel + + Bastiaan \"basti_\" Zapf + + Marek \"Wansti\" Moeckel -Contrib Programming - Duong-Khang (neoneurone) NGUYEN + Duong-Khang \"neoneurone\" NGUYEN Richard Smith - Ondra (Ravu al Hemio) Hosek + Ondra \"Ravu al Hemio\" Hosek -Graphics - Ingo (grumbel) Ruhnke - - Christopher A. (paroneayea) Webber + Ingo \"grumbel\" Ruhnke - Benjamin P. (litespeed) Jung + Christopher A. \"paroneayea\" Webber + + Benjamin P. \"litespeed\" Jung Stephen Groundwater -Level Design - Marek (Wansti) Moeckel - - Ingo (grumbel) Ruhnke + Marek \"Wansti\" Moeckel + + Ingo \"grumbel\" Ruhnke -Story - Christopher A. (paroneayea) Webber + Christopher A. \"paroneayea\" Webber -Music - Marek (Wansti) Moeckel + Marek \"Wansti\" Moeckel Mystical @@ -123,5 +125,5 @@ - See you soon in Milestone 3!")) + Penny awaits you in Milestone 3!")) ) diff --git a/src/badguy/fluffy.cpp b/src/badguy/fluffy.cpp deleted file mode 100644 index 48e007ad5..000000000 --- a/src/badguy/fluffy.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// $Id: Fluffy.cpp 2642 2005-06-26 13:38:53Z matzebraun $ -// -// SuperTux -// Copyright (C) 2005 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 "fluffy.hpp" - -static const float WALKSPEED = 80; - -Fluffy::Fluffy(const lisp::Lisp& reader) -{ - reader.get("x", start_position.x); - reader.get("y", start_position.y); - bbox.set_size(31.8, 31.8); - sprite = sprite_manager->create("fluffy"); - set_direction = false; -} - -Fluffy::Fluffy(float pos_x, float pos_y, Direction d) -{ - start_position.x = pos_x; - start_position.y = pos_y; - bbox.set_size(31.8, 31.8); - sprite = sprite_manager->create("fluffy"); - set_direction = true; - initial_direction = d; -} - -void -Fluffy::write(lisp::Writer& writer) -{ - writer.start_list("fluffy"); - - writer.write_float("x", start_position.x); - writer.write_float("y", start_position.y); - - writer.end_list("fluffy"); -} - -void -Fluffy::activate() -{ - if (set_direction) {dir = initial_direction;} - physic.set_velocity_x(dir == LEFT ? -WALKSPEED : WALKSPEED); - sprite->set_action(dir == LEFT ? "left" : "right"); -} - -bool -Fluffy::collision_squished(Player& player) -{ - sprite->set_action(dir == LEFT ? "squished-left" : "squished-right"); - kill_squished(player); - return true; -} - -HitResponse -Fluffy::collision_solid(GameObject& , const CollisionHit& hit) -{ - if(fabsf(hit.normal.y) > .5) { // hit floor or roof? - physic.set_velocity_y(0); - } else { // hit right or left - dir = dir == LEFT ? RIGHT : LEFT; - sprite->set_action(dir == LEFT ? "left" : "right"); - physic.set_velocity_x(-physic.get_velocity_x()); - } - - return CONTINUE; -} - -HitResponse -Fluffy::collision_badguy(BadGuy& , const CollisionHit& hit) -{ - if(fabsf(hit.normal.x) > .8) { // left or right hit - dir = dir == LEFT ? RIGHT : LEFT; - sprite->set_action(dir == LEFT ? "left" : "right"); - physic.set_velocity_x(-physic.get_velocity_x()); - } - - return CONTINUE; -} - -IMPLEMENT_FACTORY(Fluffy, "fluffy") diff --git a/src/badguy/fluffy.hpp b/src/badguy/fluffy.hpp deleted file mode 100644 index f26f0a1a2..000000000 --- a/src/badguy/fluffy.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// $Id: snowball.hpp 2642 2005-06-26 13:38:53Z matzebraun $ -// -// SuperTux -// Copyright (C) 2005 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 __FLUFFY_H__ -#define __FLUFFY_H__ - -#include "badguy.hpp" - -class Fluffy : public BadGuy -{ -public: - Fluffy(const lisp::Lisp& reader); - Fluffy(float pos_x, float pos_y, Direction d); - - void activate(); - void write(lisp::Writer& writer); - HitResponse collision_solid(GameObject& other, const CollisionHit& hit); - HitResponse collision_badguy(BadGuy& other, const CollisionHit& hit); - -protected: - bool collision_squished(Player& player); - bool set_direction; - Direction initial_direction; -}; - -#endif - diff --git a/src/badguy/kugelblitz.cpp b/src/badguy/kugelblitz.cpp index 6c5824c9b..be289ffce 100644 --- a/src/badguy/kugelblitz.cpp +++ b/src/badguy/kugelblitz.cpp @@ -90,7 +90,8 @@ Kugelblitz::collision_player(Player& player, const CollisionHit& ) HitResponse Kugelblitz::collision_badguy(BadGuy& other , const CollisionHit& chit) { - //Let the Kugelblitz explode, too? + //Let the Kugelblitz explode, too? The problem with that is that + //two Kugelblitzes would cancel each other out on contact... other.kill_fall(); return hit(chit); } diff --git a/src/badguy/snowball.cpp b/src/badguy/snowball.cpp index 66ac4311b..e7f049dc6 100644 --- a/src/badguy/snowball.cpp +++ b/src/badguy/snowball.cpp @@ -28,8 +28,12 @@ SnowBall::SnowBall(const lisp::Lisp& reader) { reader.get("x", start_position.x); reader.get("y", start_position.y); + //This is for a hidden badguy :) + bool fluffy = false; + reader.get("fluffy",fluffy); bbox.set_size(31.8, 31.8); - sprite = sprite_manager->create("snowball"); + if (fluffy) sprite = sprite_manager->create("fluffy"); + else sprite = sprite_manager->create("snowball"); set_direction = false; } -- 2.11.0