- data/levels/default/ moved to data/levels/worldmap/
[supertux.git] / src / resources.cpp
index 3d1c391..a36825a 100644 (file)
@@ -25,6 +25,7 @@
 #include "special.h"
 #include "resources.h"
 #include "sprite_manager.h"
+#include "sound_manager.h"
 #include "setup.h"
 
 Surface* img_waves[3]; 
@@ -33,12 +34,13 @@ Surface* img_pole;
 Surface* img_poletop;
 Surface* img_flag[2];
 Surface* img_cloud[2][4];
+Surface* img_distro[4];
 
 MusicRef herring_song;
 MusicRef level_end_song;
 
 SpriteManager* sprite_manager = 0;
-MusicManager* music_manager = 0;
+SoundManager* sound_manager = 0;
 
 /* Load graphics/sounds shared between all levels: */
 void loadshared()
@@ -46,14 +48,24 @@ void loadshared()
   int i;
 
   sprite_manager = new SpriteManager(datadir + "/supertux.strf");
-  music_manager = new MusicManager();
-  music_manager->enable_music(use_music);
+  sound_manager = new SoundManager();
+  sound_manager->enable_music(use_music);
 
   /* Tuxes: */
   smalltux_star = sprite_manager->load("smalltux-star");
   largetux_star = sprite_manager->load("largetux-star");
   smalltux_gameover = sprite_manager->load("smalltux-gameover");
 
+  char img_name[1024];
+  for (int i = 0; i < GROWING_FRAMES; i++)
+  {
+    sprintf(img_name, "%s/images/shared/tux-grow-left-%i.png", datadir.c_str(), i+1);
+    growingtux_left[i] = new Surface(img_name, false);
+
+    sprintf(img_name, "%s/images/shared/tux-grow-right-%i.png", datadir.c_str(), i+1);
+    growingtux_right[i] = new Surface(img_name, false);
+  }
+
   smalltux.stand_left  = sprite_manager->load("smalltux-stand-left");
   smalltux.stand_right = sprite_manager->load("smalltux-stand-right");
   smalltux.walk_left   = sprite_manager->load("smalltux-walk-left");
@@ -66,6 +78,7 @@ void loadshared()
   smalltux.skid_right  = sprite_manager->load("smalltux-skid-right");
   smalltux.grab_left   = sprite_manager->load("smalltux-grab-left");
   smalltux.grab_right  = sprite_manager->load("smalltux-grab-right");
+  smalltux.stomp       = sprite_manager->load("stomp");
 
   largetux.stand_left  = sprite_manager->load("largetux-stand-left");
   largetux.stand_right = sprite_manager->load("largetux-stand-right");
@@ -81,6 +94,7 @@ void loadshared()
   largetux.grab_right  = sprite_manager->load("largetux-grab-right");
   largetux.duck_left   = sprite_manager->load("largetux-duck-left");
   largetux.duck_right  = sprite_manager->load("largetux-duck-right");
+  largetux.stomp       = sprite_manager->load("stomp");
 
   firetux.stand_left  = sprite_manager->load("firetux-stand-left");
   firetux.stand_right = sprite_manager->load("firetux-stand-right");
@@ -96,6 +110,7 @@ void loadshared()
   firetux.grab_right  = sprite_manager->load("firetux-grab-right");
   firetux.duck_left   = sprite_manager->load("firetux-duck-left");
   firetux.duck_right  = sprite_manager->load("firetux-duck-right");
+  firetux.stomp       = sprite_manager->load("stomp");
 
   icetux.stand_left  = sprite_manager->load("icetux-stand-left");
   icetux.stand_right = sprite_manager->load("icetux-stand-right");
@@ -111,6 +126,7 @@ void loadshared()
   icetux.grab_right  = sprite_manager->load("icetux-grab-right");
   icetux.duck_left   = sprite_manager->load("icetux-duck-left");
   icetux.duck_right  = sprite_manager->load("icetux-duck-right");
+  icetux.stomp       = sprite_manager->load("stomp");
 
 
   /* Water: */
@@ -210,8 +226,8 @@ void loadshared()
     sounds[i] = load_sound(datadir + soundfilenames[i]);
 
   /* Herring song */
-  herring_song = music_manager->load_music(datadir + "/music/SALCON.MOD");
-  level_end_song = music_manager->load_music(datadir + "/music/tux-leveldone.mod");
+  herring_song = sound_manager->load_music(datadir + "/music/SALCON.MOD");
+  level_end_song = sound_manager->load_music(datadir + "/music/leveldone.mod");
 }
 
 
@@ -242,13 +258,19 @@ void unloadshared(void)
 
   delete tux_life;
 
+  for (int i = 0; i < GROWING_FRAMES; i++)
+  {
+    delete growingtux_left[i];
+    delete growingtux_right[i];
+  }
+
   for (i = 0; i < NUM_SOUNDS; i++)
     free_chunk(sounds[i]);
 
   delete sprite_manager;
   sprite_manager = 0;
-  delete music_manager;
-  music_manager = 0;
+  delete sound_manager;
+  sound_manager = 0;
 }
 
 /* EOF */