X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Fcaptainsnowball.cpp;h=0ce2c0c06aab5ea35b7b557c17a721eee582027f;hb=7e413dc6f0aa8315b97b1b433e38613308e1ccbd;hp=f1b433fc1bd42595659f227bcf499d8b3607d5e7;hpb=70ccb6ffc50120ae9d4c11807b568bc9ac46e680;p=supertux.git diff --git a/src/badguy/captainsnowball.cpp b/src/badguy/captainsnowball.cpp index f1b433fc1..0ce2c0c06 100644 --- a/src/badguy/captainsnowball.cpp +++ b/src/badguy/captainsnowball.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux // 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 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,28 +12,29 @@ // 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. +// along with this program. If not, see . -#include +#include "badguy/captainsnowball.hpp" -#include "captainsnowball.hpp" +#include "sprite/sprite.hpp" +#include "supertux/object_factory.hpp" +#include "supertux/sector.hpp" namespace{ - static const float WALK_SPEED = 100; + static const float CAPTAIN_WALK_SPEED = 100; static const float BOARDING_SPEED = 200; } - -CaptainSnowball::CaptainSnowball(const lisp::Lisp& reader) - : WalkingBadguy(reader, "images/creatures/snowball/cpt-snowball.sprite", "left", "right") +CaptainSnowball::CaptainSnowball(const Reader& reader) + : WalkingBadguy(reader, "images/creatures/snowball/cpt-snowball.sprite", "left", "right") { - walk_speed = WALK_SPEED; // peg leg - max_drop_height = -1;// eye patch + walk_speed = BOARDING_SPEED; + max_drop_height = -1; + physic.set_velocity_y(-400); } CaptainSnowball::CaptainSnowball(const Vector& pos, Direction d) - : WalkingBadguy(pos, d, "images/creatures/snowball/cpt-snowball.sprite", "left", "right") + : WalkingBadguy(pos, d, "images/creatures/snowball/cpt-snowball.sprite", "left", "right") { // Created during game eg. by dispencer. Board the enemy! walk_speed = BOARDING_SPEED; @@ -62,7 +61,8 @@ CaptainSnowball::might_climb(int width, int height) x1 = bbox.p2.x + 1; x2 = bbox.p2.x + width; } - return ((!Sector::current()->is_free_of_statics(Rect(x1, y1a, x2, y2a))) && (Sector::current()->is_free_of_statics(Rect(x1, y1b, x2, y2b)))); + return ((!Sector::current()->is_free_of_statics(Rectf(x1, y1a, x2, y2a))) && + (Sector::current()->is_free_of_statics(Rectf(x1, y1b, x2, y2b)))); } void @@ -82,7 +82,7 @@ void CaptainSnowball::collision_solid(const CollisionHit& hit) { if (is_active() && (walk_speed == BOARDING_SPEED)) { - walk_speed = WALK_SPEED; + walk_speed = CAPTAIN_WALK_SPEED; physic.set_velocity_x(dir == LEFT ? -walk_speed : walk_speed); } WalkingBadguy::collision_solid(hit); @@ -96,4 +96,4 @@ CaptainSnowball::collision_squished(GameObject& object) return true; } -IMPLEMENT_FACTORY(CaptainSnowball, "captainsnowball") +/* EOF */