Replaced Ref and RefCounter with std::shared_ptr<>
[supertux.git] / src / badguy / short_fuse.cpp
index 127691f..f92ec48 100644 (file)
@@ -15,7 +15,6 @@
 //  You should have received a copy of the GNU General Public License
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-#include "audio/sound_manager.hpp"
 #include "badguy/bomb.hpp"
 #include "badguy/short_fuse.hpp"
 #include "object/bullet.hpp"
@@ -36,9 +35,6 @@ ShortFuse::ShortFuse(const Reader& reader) :
   walk_speed = 100;
   max_drop_height = -1;
 
-  //Prevent stutter when Tux jumps on Mr Bomb
-  sound_manager->preload("sounds/explosion.wav");
-
   //Check if we need another sprite
   if( !reader.get( "sprite", sprite_name ) ){
     return;
@@ -48,23 +44,23 @@ ShortFuse::ShortFuse(const Reader& reader) :
     return;
   }
   //Replace sprite
-  sprite = sprite_manager->create( sprite_name );
+  sprite = SpriteManager::current()->create( sprite_name );
 }
 
 void
-ShortFuse::explode (void)
+ShortFuse::explode()
 {
-  if (!is_valid ())
+  if (!is_valid())
     return;
 
-  Explosion *explosion = new Explosion (get_bbox ().get_middle ());
+  auto explosion = std::make_shared<Explosion>(get_bbox ().get_middle());
 
-  explosion->hurts (false);
-  explosion->pushes (true);
-  Sector::current()->add_object (explosion);
+  explosion->hurts(false);
+  explosion->pushes(true);
+  Sector::current()->add_object(explosion);
 
-  run_dead_script ();
-  remove_me ();
+  run_dead_script();
+  remove_me();
 }
 
 bool