X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Funstable_tile.cpp;h=de55c337b0eb14f8b90aeffef90f0fc6eb59ffd9;hb=84abfaeb33c5bf8dac0cfd9499d9d4c3e7d39881;hp=f9e05ce3aced9fa292a76d015d3f9238a9199ef1;hpb=714a30abd887def6331a193216387e66cbfbd1bb;p=supertux.git diff --git a/src/object/unstable_tile.cpp b/src/object/unstable_tile.cpp index f9e05ce3a..de55c337b 100644 --- a/src/object/unstable_tile.cpp +++ b/src/object/unstable_tile.cpp @@ -1,13 +1,11 @@ -// $Id$ -// // SuperTux - Unstable Tile // Copyright (C) 2006 Matthias Braun // 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 @@ -15,23 +13,19 @@ // 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 "object/unstable_tile.hpp" -#include "unstable_tile.hpp" -#include "lisp/lisp.hpp" -#include "object_factory.hpp" -#include "player.hpp" -#include "sector.hpp" -#include "resources.hpp" +#include "object/player.hpp" #include "sprite/sprite.hpp" -#include "random_generator.hpp" -#include "object/bullet.hpp" +#include "supertux/constants.hpp" +#include "supertux/object_factory.hpp" -UnstableTile::UnstableTile(const lisp::Lisp& lisp) - : MovingSprite(lisp, LAYER_TILES, COLGROUP_STATIC), state(STATE_NORMAL) +UnstableTile::UnstableTile(const Reader& lisp) : + MovingSprite(lisp, LAYER_TILES, COLGROUP_STATIC), + physic(), + state(STATE_NORMAL) { sprite->set_action("normal"); } @@ -42,7 +36,7 @@ UnstableTile::collision(GameObject& other, const CollisionHit& ) if(state == STATE_NORMAL) { Player* player = dynamic_cast (&other); if(player != NULL && - player->get_bbox().get_bottom() < get_bbox().get_top() + 7.0) { + player->get_bbox().get_bottom() < get_bbox().get_top() + SHIFT_DELTA) { state = STATE_CRUMBLING; sprite->set_action("crumbling", 1); } @@ -63,18 +57,20 @@ UnstableTile::update(float elapsed_time) state = STATE_DISINTEGRATING; sprite->set_action("disintegrating", 1); set_group(COLGROUP_DISABLED); - physic.gravity_enabled = true; + physic.enable_gravity(true); } break; case STATE_DISINTEGRATING: movement = physic.get_movement(elapsed_time); if (sprite->animation_done()) { - remove_me(); - return; + remove_me(); + return; } break; } } IMPLEMENT_FACTORY(UnstableTile, "unstable_tile"); + +/* EOF */