Removed trailing whitespace from all *.?pp files
[supertux.git] / src / object / explosion.cpp
index 3af1c15..12d164e 100644 (file)
@@ -38,6 +38,7 @@ Explosion::Explosion(const Vector& pos) :
   lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-large.sprite"))
 {
   sound_manager->preload("sounds/explosion.wav");
+  sound_manager->preload("sounds/firecracker.ogg");
   set_pos(get_pos() - (get_bbox().get_middle() - get_pos()));
   lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
   lightsprite->set_color(Color(0.6f, 0.6f, 0.6f));
@@ -52,6 +53,7 @@ Explosion::Explosion(const Reader& reader) :
   lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-large.sprite"))
 {
   sound_manager->preload("sounds/explosion.wav");
+  sound_manager->preload("sounds/firecracker.ogg");
   lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
   lightsprite->set_color(Color(0.6f, 0.6f, 0.6f));
 }
@@ -63,9 +65,10 @@ Explosion::explode()
     return;
   state = STATE_EXPLODING;
 
-  set_action("default", 1);
+  set_action(hurt ? "default" : "pop", 1);
   sprite->set_animation_loops(1); //TODO: this is necessary because set_action will not set "loops" when "action" is the default action
-  sound_manager->play("sounds/explosion.wav", get_pos());
+  sprite->set_angle(graphicsRandom.randf(0, 360)); // a random rotation on the sprite to make explosions appear more random
+  sound_manager->play(hurt ? "sounds/explosion.wav" : "sounds/firecracker.ogg", get_pos());
 
 #if 0
   // spawn some particles
@@ -118,7 +121,7 @@ Explosion::explode()
   } /* if (push) */
 }
 
-void 
+void
 Explosion::update(float )
 {
   switch(state) {