X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Ftrigger%2Fclimbable.cpp;h=416fb005c99bbd6522226558452076d888982ccc;hb=91039bc631c44989f2e967cc2309d0858503385d;hp=7ec2af1a0441b86fdeead5bd59ca2059085c066e;hpb=e2a10b84ae5293958639295b7002b081984dd0f9;p=supertux.git diff --git a/src/trigger/climbable.cpp b/src/trigger/climbable.cpp index 7ec2af1a0..416fb005c 100644 --- a/src/trigger/climbable.cpp +++ b/src/trigger/climbable.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux - Climbable area // Copyright (C) 2007 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,32 +12,27 @@ // 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 "trigger/climbable.hpp" -#include "climbable.hpp" -#include "game_session.hpp" -#include "lisp/lisp.hpp" -#include "lisp/writer.hpp" -#include "object_factory.hpp" -#include "main.hpp" -#include "sector.hpp" -#include "level.hpp" -#include "gettext.hpp" -#include "object/tilemap.hpp" +#include "object/player.hpp" +#include "supertux/main.hpp" +#include "supertux/object_factory.hpp" +#include "util/gettext.hpp" +#include "util/reader.hpp" namespace { - const float GRACE_DX = 8; // how far off may the player's bounding-box be x-wise - const float GRACE_DY = 8; // how far off may the player's bounding-box be y-wise - const float ACTIVATE_TRY_FOR = 1; // how long to try correcting mis-alignment of player and climbable before giving up - const float POSITION_FIX_AX = 50; // x-wise acceleration applied to player when trying to align player and Climbable - const float POSITION_FIX_AY = 50; // y-wise acceleration applied to player when trying to align player and Climbable +const float GRACE_DX = 8; // how far off may the player's bounding-box be x-wise +const float GRACE_DY = 8; // how far off may the player's bounding-box be y-wise +const float ACTIVATE_TRY_FOR = 1; // how long to try correcting mis-alignment of player and climbable before giving up +const float POSITION_FIX_AX = 50; // x-wise acceleration applied to player when trying to align player and Climbable +const float POSITION_FIX_AY = 50; // y-wise acceleration applied to player when trying to align player and Climbable } -Climbable::Climbable(const lisp::Lisp& reader) - : climbed_by(0) +Climbable::Climbable(const Reader& reader) : + climbed_by(0), + activate_try_timer() { reader.get("x", bbox.p1.x); reader.get("y", bbox.p1.y); @@ -49,8 +42,9 @@ Climbable::Climbable(const lisp::Lisp& reader) bbox.set_size(w, h); } -Climbable::Climbable(const Rect& area) - : climbed_by(0) +Climbable::Climbable(const Rect& area) : + climbed_by(0), + activate_try_timer() { bbox = area; } @@ -63,19 +57,6 @@ Climbable::~Climbable() } } -void -Climbable::write(lisp::Writer& writer) -{ - writer.start_list("climbable"); - - writer.write_float("x", bbox.p1.x); - writer.write_float("y", bbox.p1.y); - writer.write_float("width", bbox.get_width()); - writer.write_float("height", bbox.get_height()); - - writer.end_list("climbable"); -} - void Climbable::update(float /*elapsed_time*/) { @@ -135,3 +116,4 @@ Climbable::may_climb(Player& player) IMPLEMENT_FACTORY(Climbable, "climbable"); +/* EOF */