X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fmole.cpp;h=96d585ff23ce61adb3a1960404180c9147f00aa6;hb=013a5ca196545a094f27c1b708facd0084d58d55;hp=635e08492920d6211492b989a12c3549616a30cc;hpb=714a30abd887def6331a193216387e66cbfbd1bb;p=supertux.git diff --git a/src/badguy/mole.cpp b/src/badguy/mole.cpp index 635e08492..96d585ff2 100644 --- a/src/badguy/mole.cpp +++ b/src/badguy/mole.cpp @@ -27,21 +27,27 @@ #include "log.hpp" #include "level.hpp" -static const float IDLE_TIME = 0.2; /**< time to wait before and after throwing */ -static const float THROW_TIME = 4.6; /**< time to spend throwing */ +static const float IDLE_TIME = 0.2f; /**< time to wait before and after throwing */ +static const float THROW_TIME = 4.6f; /**< time to spend throwing */ static const float THROW_INTERVAL = 1; /**< time between two thrown rocks */ static const float THROW_VELOCITY = 400; /**< initial velocity of thrown rocks */ Mole::Mole(const lisp::Lisp& reader) : BadGuy(reader, "images/creatures/mole/mole.sprite", LAYER_TILES-1), state(PRE_THROWING) { - physic.gravity_enabled = false; + physic.enable_gravity(false); + sound_manager->preload("sounds/fall.wav"); + sound_manager->preload("sounds/squish.wav"); + sound_manager->preload("sounds/dartfire.wav"); } Mole::Mole(const Vector& pos) : BadGuy(pos, "images/creatures/mole/mole.sprite", LAYER_TILES-1), state(PRE_THROWING) { - physic.gravity_enabled = false; + physic.enable_gravity(false); + sound_manager->preload("sounds/fall.wav"); + sound_manager->preload("sounds/squish.wav"); + sound_manager->preload("sounds/dartfire.wav"); } void @@ -132,33 +138,33 @@ Mole::active_update(float elapsed_time) } -void +void Mole::set_state(MoleState new_state) { switch (new_state) { case PRE_THROWING: sprite->set_action("idle"); - set_group(COLGROUP_DISABLED); + set_colgroup_active(COLGROUP_DISABLED); timer.start(IDLE_TIME); break; case THROWING: sprite->set_action("idle"); - set_group(COLGROUP_DISABLED); + set_colgroup_active(COLGROUP_DISABLED); timer.start(THROW_TIME); throw_timer.start(THROW_INTERVAL); break; case POST_THROWING: sprite->set_action("idle"); - set_group(COLGROUP_DISABLED); + set_colgroup_active(COLGROUP_DISABLED); timer.start(IDLE_TIME); break; case PEEKING: sprite->set_action("peeking", 1); - set_group(COLGROUP_STATIC); + set_colgroup_active(COLGROUP_STATIC); break; case DEAD: sprite->set_action("idle"); - set_group(COLGROUP_DISABLED); + set_colgroup_active(COLGROUP_DISABLED); break; } @@ -166,4 +172,3 @@ Mole::set_state(MoleState new_state) } IMPLEMENT_FACTORY(Mole, "mole") -