X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fflame.cpp;h=8f035a7f436cc1dc192c87f4a88e2e8019c85c87;hb=13c84268f16872f9b442251c4175a3a1a7a7899a;hp=19211d2a805b40c646d37057710b3f72f44ad131;hpb=b4868c421ba670cd6301394558f1034e38a0c7b3;p=supertux.git diff --git a/src/badguy/flame.cpp b/src/badguy/flame.cpp index 19211d2a8..8f035a7f4 100644 --- a/src/badguy/flame.cpp +++ b/src/badguy/flame.cpp @@ -25,7 +25,7 @@ static const std::string SOUNDFILE = "sounds/flame.wav"; Flame::Flame(const lisp::Lisp& reader) - : BadGuy(reader, "images/creatures/flame/flame.sprite", LAYER_FLOATINGOBJECTS), angle(0), radius(100), speed(2), sound_source(0) + : BadGuy(reader, "images/creatures/flame/flame.sprite", LAYER_FLOATINGOBJECTS), angle(0), radius(100), speed(2) { reader.get("radius", radius); reader.get("speed", speed); @@ -33,6 +33,8 @@ Flame::Flame(const lisp::Lisp& reader) start_position.y + sin(angle) * radius)); countMe = false; sound_manager->preload(SOUNDFILE); + + set_colgroup_active(COLGROUP_TOUCHABLE); } void @@ -51,7 +53,7 @@ Flame::write(lisp::Writer& writer) void Flame::active_update(float elapsed_time) { - angle = fmodf(angle + elapsed_time * speed, 2*M_PI); + angle = fmodf(angle + elapsed_time * speed, (float) (2*M_PI)); Vector newpos(start_position.x + cos(angle) * radius, start_position.y + sin(angle) * radius); movement = newpos - get_pos(); @@ -62,8 +64,6 @@ Flame::active_update(float elapsed_time) void Flame::activate() { - set_group(COLGROUP_TOUCHABLE); - sound_source.reset(sound_manager->create_sound_source(SOUNDFILE)); sound_source->set_position(get_pos()); sound_source->set_looping(true); @@ -75,7 +75,7 @@ Flame::activate() void Flame::deactivate() { - sound_source.release(); + sound_source.reset(); } void @@ -84,4 +84,3 @@ Flame::kill_fall() } IMPLEMENT_FACTORY(Flame, "flame") -