<MatzeB> -cleanup in resource management functions
[supertux.git] / src / badguy.cpp
index ac03707..6e60bbf 100644 (file)
@@ -481,6 +481,15 @@ BadGuy::action_bomb(float frame_ratio)
       set_sprite(img_mrbomb_explosion, img_mrbomb_explosion);
       dying = DYING_NOT; // now the bomb hurts
       timer.start(EXPLODETIME);
+
+      /* play explosion sound */  // FIXME: is the stereo all right? maybe we should use player cordinates...
+      if (base.x < scroll_x + screen->w/2 - 10)
+        play_sound(sounds[SND_EXPLODE], SOUND_LEFT_SPEAKER);
+      else if (base.x > scroll_x + screen->w/2 + 10)
+        play_sound(sounds[SND_EXPLODE], SOUND_RIGHT_SPEAKER);
+      else
+        play_sound(sounds[SND_EXPLODE], SOUND_CENTER_SPEAKER);
+
     } else if(mode == BOMB_EXPLODE) {
       remove_me();
       return;
@@ -1106,181 +1115,6 @@ void load_badguy_gfx()
   img_snowball_right = sprite_manager->load("snowball-right");
   img_snowball_squished_left = sprite_manager->load("snowball-squished-left");
   img_snowball_squished_right = sprite_manager->load("snowball-squished-right");
-#if 0
-  /* (BSOD) */
-  img_bsod_left[0] = new Surface(datadir + "/images/shared/bsod-left-0.png", USE_ALPHA);
-
-  img_bsod_left[1] = new Surface(datadir +
-                                 "/images/shared/bsod-left-1.png",
-                                 USE_ALPHA);
-
-  img_bsod_left[2] = new Surface(datadir +
-                                 "/images/shared/bsod-left-2.png",
-                                 USE_ALPHA);
-
-  img_bsod_left[3] = new Surface(datadir +
-                                 "/images/shared/bsod-left-3.png",
-                                 USE_ALPHA);
-
-  img_bsod_right[0] = new Surface(datadir +
-                                  "/images/shared/bsod-right-0.png",
-                                  USE_ALPHA);
-
-  img_bsod_right[1] = new Surface(datadir +
-                                  "/images/shared/bsod-right-1.png",
-                                  USE_ALPHA);
-
-  img_bsod_right[2] = new Surface(datadir +
-                                  "/images/shared/bsod-right-2.png",
-                                  USE_ALPHA);
-
-  img_bsod_right[3] = new Surface(datadir +
-                                  "/images/shared/bsod-right-3.png",
-                                  USE_ALPHA);
-
-  img_bsod_squished_left[0] = new Surface(datadir +
-                                          "/images/shared/bsod-squished-left.png",
-                                          USE_ALPHA);
-
-  img_bsod_squished_right[0] = new Surface(datadir +
-                                           "/images/shared/bsod-squished-right.png",
-                                           USE_ALPHA);
-
-  img_bsod_falling_left[0] = new Surface(datadir +
-                                         "/images/shared/bsod-falling-left.png",
-                                         USE_ALPHA);
-
-  img_bsod_falling_right[0] = new Surface(datadir +
-                                          "/images/shared/bsod-falling-right.png",
-                                          USE_ALPHA);
-
-
-  /* (Laptop) */
-
-  img_laptop_left[0] = new Surface(datadir + "/images/shared/mriceblock-left-0.png", USE_ALPHA);
-  img_laptop_left[1] = new Surface(datadir + "/images/shared/mriceblock-left-1.png", USE_ALPHA);
-  img_laptop_left[2] = new Surface(datadir + "/images/shared/mriceblock-left-2.png", USE_ALPHA);
-  img_laptop_left[3] = new Surface(datadir + "/images/shared/mriceblock-left-1.png", USE_ALPHA);
-
-  img_laptop_right[0] = new Surface(datadir + "/images/shared/mriceblock-right-0.png", USE_ALPHA);
-  img_laptop_right[1] = new Surface(datadir + "/images/shared/mriceblock-right-1.png", USE_ALPHA);
-  img_laptop_right[2] = new Surface(datadir + "/images/shared/mriceblock-right-2.png", USE_ALPHA);
-  img_laptop_right[3] = new Surface(datadir + "/images/shared/mriceblock-right-1.png", USE_ALPHA);
-  
-  img_laptop_flat_left[0] = new Surface(
-                                        datadir + "/images/shared/laptop-flat-left.png",
-                                        USE_ALPHA);
-
-  img_laptop_flat_right[0] = new Surface(datadir +
-                                         "/images/shared/laptop-flat-right.png",
-                                         USE_ALPHA);
-
-  img_laptop_falling_left[0] = new Surface(datadir +
-                                           "/images/shared/laptop-falling-left.png",
-                                           USE_ALPHA);
-
-  img_laptop_falling_right[0] = new Surface(datadir +
-                                            "/images/shared/laptop-falling-right.png",
-                                            USE_ALPHA);
-
-
-  /* (Money) */
-  img_jumpy_left_up   = new Surface(datadir +
-                                    "/images/shared/jumpy-left-up-0.png",
-                                    USE_ALPHA);
-  img_jumpy_left_down = new Surface(datadir +
-                                    "/images/shared/jumpy-left-down-0.png",
-                                    USE_ALPHA);
-  img_jumpy_left_middle = new Surface(datadir +
-                                      "/images/shared/jumpy-left-middle-0.png",
-                                      USE_ALPHA);
-
-  /* Mr. Bomb */
-  for(int i=0; i<4; ++i) {
-    char num[4];
-    snprintf(num, 4, "%d", i);
-    img_mrbomb_left[i] = new Surface(
-                                     datadir + "/images/shared/mrbomb-left-" + num + ".png", USE_ALPHA);
-    img_mrbomb_right[i] = new Surface(
-                                      datadir + "/images/shared/mrbomb-right-" + num + ".png", USE_ALPHA);
-  }
-  img_mrbomb_ticking_left[0] = new Surface(
-                                           datadir + "/images/shared/mrbombx-left-0.png", USE_ALPHA);
-  img_mrbomb_ticking_right[0] = new Surface(
-                                            datadir + "/images/shared/mrbombx-right-0.png", USE_ALPHA);
-  img_mrbomb_explosion[0] = new Surface(
-                                        datadir + "/images/shared/mrbomb-explosion.png", USE_ALPHA);
-
-  /* stalactite */
-  img_stalactite[0] = new Surface(
-                                  datadir + "/images/shared/stalactite.png", USE_ALPHA);
-  img_stalactite_broken[0] = new Surface(
-                                         datadir + "/images/shared/stalactite-broken.png", USE_ALPHA);
-
-  /* flame */
-  img_flame[0] = new Surface(
-                             datadir + "/images/shared/flame-0.png", USE_ALPHA);
-  img_flame[1] = new Surface(
-                             datadir + "/images/shared/flame-1.png", USE_ALPHA);  
-
-  /* fish */
-  img_fish[0] = new Surface(
-                            datadir + "/images/shared/fish-left-0.png", USE_ALPHA);
-  img_fish[1] = new Surface(
-                            datadir + "/images/shared/fish-left-1.png", USE_ALPHA);
-  img_fish_down[0] = new Surface(
-                                 datadir + "/images/shared/fish-down-0.png", USE_ALPHA);
-
-  /* bouncing snowball */
-  for(int i=0; i<6; ++i) {
-    char num[4];
-    snprintf(num, 4, "%d", i);
-    img_bouncingsnowball_left[i] = new Surface(
-                                               datadir + "/images/shared/bouncingsnowball-left-" + num + ".png",
-                                               USE_ALPHA);
-    img_bouncingsnowball_right[i] = new Surface(
-                                                datadir + "/images/shared/bouncingsnowball-right-" + num + ".png",
-                                                USE_ALPHA);
-  } 
-  img_bouncingsnowball_squished[0] = new Surface(
-                                                 datadir + "/images/shared/bsod-squished-left.png", USE_ALPHA);
-
-  /* flying snowball */
-  img_flyingsnowball[0] = new Surface(
-                                      datadir + "/images/shared/flyingsnowball-left-0.png", USE_ALPHA);
-  img_flyingsnowball[1] = new Surface(
-                                      datadir + "/images/shared/flyingsnowball-left-1.png", USE_ALPHA);  
-  img_flyingsnowball_squished[0] = new Surface(
-                                               datadir + "/images/shared/bsod-squished-left.png", USE_ALPHA);
-
-  /* spiky */
-  for(int i = 0; i < 3; ++i) {
-    char num[4];
-    snprintf(num, 4, "%d", i);
-    img_spiky_left[i] = new Surface(                                
-                                    datadir + "/images/shared/spiky-left-" + num + ".png",   
-                                    USE_ALPHA);
-    img_spiky_right[i] = new Surface(
-                                     datadir + "/images/shared/spiky-right-" + num + ".png",
-                                     USE_ALPHA);
-  }
-
-  /** snowball */
-  img_snowball_left[0] = new Surface(datadir + "/images/shared/snowball-left-0.png", USE_ALPHA);
-  img_snowball_left[1] = new Surface(datadir + "/images/shared/snowball-left-1.png", USE_ALPHA);
-  img_snowball_left[2] = new Surface(datadir + "/images/shared/snowball-left-2.png", USE_ALPHA);
-  img_snowball_left[3] = new Surface(datadir + "/images/shared/snowball-left-1.png", USE_ALPHA);
-
-  img_snowball_right[0] = new Surface(datadir + "/images/shared/snowball-right-0.png", USE_ALPHA);
-  img_snowball_right[1] = new Surface(datadir + "/images/shared/snowball-right-1.png", USE_ALPHA);
-  img_snowball_right[2] = new Surface(datadir + "/images/shared/snowball-right-2.png", USE_ALPHA);
-  img_snowball_right[3] = new Surface(datadir + "/images/shared/snowball-right-1.png", USE_ALPHA);
-
-  img_snowball_squished_left[0] = new Surface(
-                                              datadir + "/images/shared/bsod-squished-left.png", USE_ALPHA);
-  img_snowball_squished_right[0] = new Surface(
-                                               datadir + "/images/shared/bsod-squished-right.png", USE_ALPHA);  
-#endif
 }
 
 void free_badguy_gfx()