X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Figel.cpp;h=857023d8395a042ba39ddf40dc26951d4c9a1e30;hb=35f17b8b7e5e0bafca3a34550fa300db704aedaa;hp=6a4e477723d2781af2919340f96bb181e7376949;hpb=ab215c41de1a14f594221e8b43a442d607b6a775;p=supertux.git diff --git a/src/badguy/igel.cpp b/src/badguy/igel.cpp index 6a4e47772..857023d83 100644 --- a/src/badguy/igel.cpp +++ b/src/badguy/igel.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux - Badguy "Igel" // Copyright (C) 2006 Christoph Sommer // -// 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 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 3 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 @@ -14,48 +12,42 @@ // 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 +// along with this program. If not, see . -#include "igel.hpp" -#include "object/block.hpp" -#include "sector.hpp" +#include "badguy/igel.hpp" #include "object/bullet.hpp" +#include "supertux/sector.hpp" + +#include "supertux/object_factory.hpp" namespace { - const float WALKSPEED = 80; /**< speed at which we walk around */ - const float TURN_RECOVER_TIME = 0.5; /**< seconds before we will again turn around when shot at */ - const float RANGE_OF_VISION = 256; /**< range in px at which we can see bullets */ -} -Igel::Igel(const lisp::Lisp& reader) - : WalkingBadguy(reader, "images/creatures/igel/igel.sprite", "walking-left", "walking-right") -{ - walk_speed = WALKSPEED; - max_drop_height = 0; -} +const float IGEL_SPEED = 80; /**< speed at which we walk around */ +const float TURN_RECOVER_TIME = 0.5; /**< seconds before we will again turn around when shot at */ +const float RANGE_OF_VISION = 256; /**< range in px at which we can see bullets */ -Igel::Igel(const Vector& pos, Direction d) - : WalkingBadguy(pos, d, "images/creatures/igel/igel.sprite", "walking-left", "walking-right") +} // namespace + +Igel::Igel(const Reader& reader) : + WalkingBadguy(reader, "images/creatures/igel/igel.sprite", "walking-left", "walking-right"), + turn_recover_timer() { - walk_speed = WALKSPEED; - max_drop_height = 0; + walk_speed = IGEL_SPEED; + max_drop_height = 16; } -void -Igel::write(lisp::Writer& writer) +Igel::Igel(const Vector& pos, Direction d) : + WalkingBadguy(pos, d, "images/creatures/igel/igel.sprite", "walking-left", "walking-right"), + turn_recover_timer() { - writer.start_list("igel"); - WalkingBadguy::write(writer); - writer.end_list("igel"); + walk_speed = IGEL_SPEED; + max_drop_height = 16; } void Igel::be_normal() { - activate(); + initialize(); } void @@ -68,8 +60,8 @@ Igel::turn_around() bool Igel::can_see(const MovingObject& o) { - Rect mb = get_bbox(); - Rect ob = o.get_bbox(); + Rectf mb = get_bbox(); + Rectf ob = o.get_bbox(); bool inReach_left = ((ob.p2.x < mb.p1.x) && (ob.p2.x >= mb.p1.x-((dir == LEFT) ? RANGE_OF_VISION : 0))); bool inReach_right = ((ob.p1.x > mb.p2.x) && (ob.p1.x <= mb.p2.x+((dir == RIGHT) ? RANGE_OF_VISION : 0))); @@ -118,10 +110,10 @@ Igel::collision_bullet(Bullet& bullet, const CollisionHit& hit) } bool -Igel::collision_squished(Player& ) +Igel::collision_squished(GameObject& ) { // this will hurt return false; } -IMPLEMENT_FACTORY(Igel, "igel") +/* EOF */