X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fskullyhop.cpp;h=258adec212d30fe56a16e1a4bcad557694f2ec2a;hb=788a9153f60fb3d25a52fd184387ebbde7636719;hp=8d2dbca60b807d3cb04b84929880d3e653d362cc;hpb=77d1f9df76daf2e6eefba86d7232c2bfdefe6245;p=supertux.git diff --git a/src/badguy/skullyhop.cpp b/src/badguy/skullyhop.cpp index 8d2dbca60..258adec21 100644 --- a/src/badguy/skullyhop.cpp +++ b/src/badguy/skullyhop.cpp @@ -1,7 +1,7 @@ // $Id$ // // SkullyHop - A Hopping Skull -// Copyright (C) 2006 Christoph Sommer +// 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 @@ -21,23 +21,27 @@ #include "skullyhop.hpp" #include "random_generator.hpp" +#include "lisp/writer.hpp" +#include "object_factory.hpp" +#include "audio/sound_manager.hpp" +#include "sprite/sprite.hpp" namespace { const float VERTICAL_SPEED = -450; /**< y-speed when jumping */ const float HORIZONTAL_SPEED = 220; /**< x-speed when jumping */ - const float MIN_RECOVER_TIME = 0.1; /**< minimum time to stand still before starting a (new) jump */ - const float MAX_RECOVER_TIME = 1.0; /**< maximum time to stand still before starting a (new) jump */ + const float MIN_RECOVER_TIME = 0.1f; /**< minimum time to stand still before starting a (new) jump */ + const float MAX_RECOVER_TIME = 1.0f; /**< maximum time to stand still before starting a (new) jump */ static const std::string HOP_SOUND = "sounds/hop.ogg"; } SkullyHop::SkullyHop(const lisp::Lisp& reader) - : BadGuy(reader, "images/creatures/skullyhop/skullyhop.sprite") + : BadGuy(reader, "images/creatures/skullyhop/skullyhop.sprite") { sound_manager->preload( HOP_SOUND ); } SkullyHop::SkullyHop(const Vector& pos, Direction d) - : BadGuy(pos, d, "images/creatures/skullyhop/skullyhop.sprite") + : BadGuy(pos, d, "images/creatures/skullyhop/skullyhop.sprite") { sound_manager->preload( HOP_SOUND ); } @@ -46,13 +50,13 @@ void SkullyHop::write(lisp::Writer& writer) { writer.start_list("skullyhop"); - writer.write_float("x", start_position.x); - writer.write_float("y", start_position.y); + writer.write("x", start_position.x); + writer.write("y", start_position.y); writer.end_list("skullyhop"); } void -SkullyHop::activate() +SkullyHop::initialize() { // initial state is JUMPING, because we might start airborne state = JUMPING; @@ -84,10 +88,10 @@ SkullyHop::set_state(SkullyHopState newState) } bool -SkullyHop::collision_squished(Player& player) +SkullyHop::collision_squished(GameObject& object) { sprite->set_action(dir == LEFT ? "squished-left" : "squished-right"); - kill_squished(player); + kill_squished(object); return true; }