X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Froot.cpp;h=8e5423df0ee25367ae2ce8b3428887cf4e1c219f;hb=4e70d578de5d05a2bbc945f1d3853db758161f8f;hp=cad33cbc064fadc8beff10dfb0a8f28c1ce16a2e;hpb=aec9bf199857d0ae1a5dc54cd96ae37177493deb;p=supertux.git diff --git a/src/badguy/root.cpp b/src/badguy/root.cpp index cad33cbc0..8e5423df0 100644 --- a/src/badguy/root.cpp +++ b/src/badguy/root.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux - "Will-O-Wisp" Badguy // 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,27 +12,28 @@ // 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 "root.hpp" +#include "badguy/root.hpp" +#include "sprite/sprite.hpp" #include "sprite/sprite_manager.hpp" -#include "timer.hpp" static const float SPEED_GROW = 256; static const float SPEED_SHRINK = 128; static const float HATCH_TIME = 0.75; -Root::Root(const Vector& pos) - : BadGuy(pos, "images/creatures/ghosttree/root.sprite", LAYER_TILES-1), - mystate(STATE_APPEARING), offset_y(0) +Root::Root(const Vector& pos) : + BadGuy(pos, "images/creatures/ghosttree/root.sprite", LAYER_TILES-1), + mystate(STATE_APPEARING), + base_sprite(), + offset_y(0), + hatch_timer() { - base_sprite.reset(sprite_manager->create("images/creatures/ghosttree/root-base.sprite")); + base_sprite = SpriteManager::current()->create("images/creatures/ghosttree/root-base.sprite"); base_sprite->set_action("appearing", 1); base_sprite->set_animation_loops(1); // TODO: necessary because set_action ignores loops for default action physic.enable_gravity(false); + set_colgroup_active(COLGROUP_TOUCHABLE); } Root::~Root() @@ -42,21 +41,16 @@ Root::~Root() } void -Root::activate() -{ - set_group(COLGROUP_TOUCHABLE); -} - -void Root::deactivate() { - remove_me(); + remove_me(); + //no dead script } void Root::active_update(float elapsed_time) { - if (mystate == STATE_APPEARING) { + if (mystate == STATE_APPEARING) { if (base_sprite->animation_done()) { hatch_timer.start(HATCH_TIME); mystate = STATE_HATCHING; @@ -79,7 +73,7 @@ Root::active_update(float elapsed_time) offset_y = 0; mystate = STATE_VANISHING; base_sprite->set_action("vanishing", 2); - base_sprite->set_animation_loops(2); // TODO: doesn't seem to work for loops=1 + base_sprite->set_animation_loops(2); // TODO: doesn't seem to work for loops=1 } set_pos(start_position + Vector(0, offset_y)); } @@ -96,3 +90,4 @@ Root::draw(DrawingContext& context) if ((mystate != STATE_APPEARING) && (mystate != STATE_VANISHING)) BadGuy::draw(context); } +/* EOF */