X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fworldmap%2Fspecial_tile.cpp;h=ccd3ea3aa3f22c8d78503e1112b83d1e8dc51585;hb=b91dbe6bc1d5047a127cdc688dda836c59e8c2d1;hp=ea2bd203284618ad2cabdb56371cd250bf439c4e;hpb=d6c0f1db91b8ff4c3a21d75a8113819afb478fc4;p=supertux.git diff --git a/src/worldmap/special_tile.cpp b/src/worldmap/special_tile.cpp index ea2bd2032..ccd3ea3aa 100644 --- a/src/worldmap/special_tile.cpp +++ b/src/worldmap/special_tile.cpp @@ -1,13 +1,11 @@ -// $Id$ -// // SuperTux -// Copyright (C) 2004 Ingo Ruhnke +// Copyright (C) 2004 Ingo Ruhnke // 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,39 +13,45 @@ // 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 "worldmap/special_tile.hpp" -#include "sprite/sprite_manager.hpp" #include "sprite/sprite.hpp" +#include "sprite/sprite_manager.hpp" +#include "util/reader.hpp" #include "video/drawing_context.hpp" +#include "worldmap/special_tile.hpp" -namespace WorldMapNS -{ +namespace worldmap { -SpecialTile::SpecialTile(const lisp::Lisp* lisp) - : passive_message(false), invisible(false), - apply_action_north(true), apply_action_east(true), - apply_action_south(true), apply_action_west(true) +SpecialTile::SpecialTile(const Reader& lisp) : + pos(), + sprite(), + map_message(), + passive_message(false), + script(), + invisible(false), + apply_action_north(true), + apply_action_east(true), + apply_action_south(true), + apply_action_west(true) { - lisp->get("x", pos.x); - lisp->get("y", pos.y); - lisp->get("invisible-tile", invisible); - + lisp.get("x", pos.x); + lisp.get("y", pos.y); + lisp.get("invisible-tile", invisible); + if(!invisible) { std::string spritefile = ""; - lisp->get("sprite", spritefile); - sprite.reset(sprite_manager->create(spritefile)); + lisp.get("sprite", spritefile); + sprite = SpriteManager::current()->create(spritefile); } - lisp->get("map-message", map_message); - lisp->get("passive-message", passive_message); - lisp->get("script", script); + lisp.get("map-message", map_message); + lisp.get("passive-message", passive_message); + lisp.get("script", script); std::string apply_direction; - lisp->get("apply-to-direction", apply_direction); + lisp.get("apply-to-direction", apply_direction); if(!apply_direction.empty()) { apply_action_north = false; apply_action_south = false; @@ -84,3 +88,4 @@ SpecialTile::update(float ) } +/* EOF */