-// $Id$
-//
// SuperTux - End Sequence
// Copyright (C) 2007 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
//
-// 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
// 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 <config.h>
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
-#include "endsequence.hpp"
+#include "object/endsequence.hpp"
-#include <stdexcept>
-#include <iostream>
-#include <sstream>
-#include "main.hpp"
-#include "resources.hpp"
-#include "sector.hpp"
-#include "gettext.hpp"
-#include "object_factory.hpp"
#include "object/player.hpp"
-#include "video/drawing_context.hpp"
-#include "lisp/list_iterator.hpp"
-#include "log.hpp"
-#include "scripting/level_time.hpp"
-#include "scripting/squirrel_util.hpp"
-
-EndSequence::EndSequence()
-: isrunning(false), isdone(false), tux_may_walk(true)
+#include "supertux/sector.hpp"
+
+EndSequence::EndSequence() :
+ isrunning(false),
+ isdone(false),
+ tux_may_walk(true),
+ end_sequence_controller(0)
{
- end_sequence_controller = 0;
}
EndSequence::~EndSequence()
return !tux_may_walk;
}
- bool
+bool
EndSequence::is_done()
{
return isdone;
void
EndSequence::starting()
{
- last_x_pos = -1;
- endsequence_timer.start(7.3f);
}
void
EndSequence::running(float /*elapsed_time*/)
{
- Player& tux = *Sector::current()->player;
-
- if (tux_may_walk) {
- end_sequence_controller->press(Controller::RIGHT);
- if (int(last_x_pos) == int(tux.get_pos().x)) {
- end_sequence_controller->press(Controller::JUMP);
- }
- }
-
- last_x_pos = tux.get_pos().x;
-
- if (endsequence_timer.check()) isdone = true;
+ end_sequence_controller->update();
}
void
EndSequence::stopping()
{
}
+
+/* EOF */