X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fendsequence.cpp;h=23c530fbecf8d33c5bdb41c81bdc09542ce3e46d;hb=9bf5386f1d1b84b5290bb015e1ede6d1745d5e61;hp=dac0b8f5ca34248f752a15aef14cf3244c881654;hpb=a1bbd50a338ffcda9933848e20bb1de344f25104;p=supertux.git diff --git a/src/object/endsequence.cpp b/src/object/endsequence.cpp index dac0b8f5c..23c530fbe 100644 --- a/src/object/endsequence.cpp +++ b/src/object/endsequence.cpp @@ -51,7 +51,7 @@ void EndSequence::update(float elapsed_time) { if (!isrunning) return; - running(elapsed_time); + running(elapsed_time); } void @@ -60,17 +60,19 @@ EndSequence::draw(DrawingContext& /*context*/) } void -EndSequence::start() +EndSequence::start(Direction dir) { if (isrunning) return; isrunning = true; isdone = false; - + Player& tux = *Sector::current()->player; end_sequence_controller = new CodeController(); tux.set_controller(end_sequence_controller); tux.set_speedlimit(230); //MAX_WALK_XM + walk_dir = dir; + starting(); } @@ -100,12 +102,12 @@ EndSequence::is_done() { return isdone; } - + void EndSequence::starting() { last_x_pos = -1; - endsequence_timer.start(7.3); + endsequence_timer.start(7.3f); } void @@ -114,7 +116,7 @@ EndSequence::running(float /*elapsed_time*/) Player& tux = *Sector::current()->player; if (tux_may_walk) { - end_sequence_controller->press(Controller::RIGHT); + end_sequence_controller->press((walk_dir == RIGHT) ? Controller::RIGHT : Controller::LEFT); if (int(last_x_pos) == int(tux.get_pos().x)) { end_sequence_controller->press(Controller::JUMP); } @@ -129,4 +131,3 @@ void EndSequence::stopping() { } -