More robust way of calculating the falling layer
[supertux.git] / src / badguy / haywire.cpp
index d1bfa58..01a4b91 100644 (file)
@@ -42,7 +42,7 @@ Haywire::Haywire(const Reader& reader) :
   max_drop_height = 16;
 
   //Prevent stutter when Tux jumps on Mr Bomb
-  sound_manager->preload("sounds/explosion.wav");
+  SoundManager::current()->preload("sounds/explosion.wav");
 
   //Check if we need another sprite
   if( !reader.get( "sprite", sprite_name ) ){
@@ -53,7 +53,7 @@ Haywire::Haywire(const Reader& reader) :
     return;
   }
   //Replace sprite
-  sprite = sprite_manager->create( sprite_name );
+  sprite = SpriteManager::current()->create( sprite_name );
 }
 
 HitResponse
@@ -83,7 +83,7 @@ Haywire::collision_squished(GameObject& object)
       player->bounce (*this);
     return true;
   }
-  
+
   if(WalkingBadguy::is_frozen()) {
     WalkingBadguy::unfreeze();
   }
@@ -96,16 +96,16 @@ Haywire::collision_squished(GameObject& object)
     time_until_explosion = TIME_EXPLOSION;
     is_exploding = true;
 
-    ticking.reset(sound_manager->create_sound_source("sounds/fizz.wav"));
+    ticking = SoundManager::current()->create_sound_source("sounds/fizz.wav");
     ticking->set_position(get_pos());
     ticking->set_looping(true);
     ticking->set_reference_distance(32);
     ticking->play();
-    grunting.reset(sound_manager->create_sound_source("sounds/grunts.ogg"));
+    grunting = SoundManager::current()->create_sound_source("sounds/grunts.ogg");
     grunting->set_position(get_pos());
     grunting->set_looping(true);
     grunting->set_reference_distance(32);
-    grunting->play();    
+    grunting->play();
   }
 
   time_stunned = TIME_STUNNED;
@@ -173,7 +173,7 @@ Haywire::kill_fall()
   }
   if(is_valid()) {
     remove_me();
-    Explosion* explosion = new Explosion(get_bbox().get_middle());
+    auto explosion = std::make_shared<Explosion>(get_bbox().get_middle());
     Sector::current()->add_object(explosion);
   }