moved my personal scons todo to the global one, so that someone else can work on...
[supertux.git] / src / resources.cpp
index efa7f31..a39da2a 100644 (file)
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "app/globals.h"
+#include "special/sprite_manager.h"
+#include "audio/sound_manager.h"
+#include "app/setup.h"
+#include "gui/button.h"
 #include "scene.h"
 #include "player.h"
 #include "badguy.h"
 #include "gameobjs.h"
 #include "special.h"
 #include "resources.h"
-#include "special/sprite_manager.h"
-#include "audio/sound_manager.h"
-#include "app/setup.h"
 #include "door.h"
-#include "gui/button.h"
+#include "badguy_specs.h"
 
 Surface* img_waves[3]; 
 Surface* img_water;
@@ -74,7 +75,9 @@ char * soundfilenames[NUM_SOUNDS] = {
                                        "/sounds/lifeup.wav",
                                        "/sounds/stomp.wav",
                                        "/sounds/kick.wav",
-                                       "/sounds/explosion.wav"
+                                       "/sounds/explosion.wav",
+                                       "/sounds/warp.wav",
+                                       "/sounds/fireworks.wav"
                                     };
 
 
@@ -114,11 +117,11 @@ void loadshared()
 
   int i;
 
-  sprite_manager = new SpriteManager(datadir + "/supertux.strf");
+  sprite_manager = new SpriteManager(datadir + "/images/supertux.strf");
 
   /* Tuxes: */
   smalltux_star = sprite_manager->load("smalltux-star");
-  largetux_star = sprite_manager->load("bigtux-star");
+  bigtux_star = sprite_manager->load("bigtux-star");
   smalltux_gameover = sprite_manager->load("smalltux-gameover");
 
   char img_name[1024];
@@ -131,12 +134,32 @@ void loadshared()
       growingtux_right[i] = new Surface(img_name, true);
     }
 
-  small_tux = sprite_manager->load("small-tux");
-  big_tux   = sprite_manager->load("big-tux");
-  ice_tux   = sprite_manager->load("ice-tux");
-  fire_tux  = sprite_manager->load("fire-tux");
-
-  tux_arm = sprite_manager->load("tux-arm");
+  small_tux = new TuxBodyParts();
+  small_tux->head = NULL;
+  small_tux->body = sprite_manager->load("small-tux-body");
+  small_tux->arms = sprite_manager->load("small-tux-arms");
+  small_tux->feet = NULL;
+
+  big_tux = new TuxBodyParts();
+  big_tux->head = sprite_manager->load("big-tux-head");
+  big_tux->body = sprite_manager->load("big-tux-body");
+  big_tux->arms = sprite_manager->load("big-tux-arms");
+  big_tux->feet = sprite_manager->load("big-tux-feet");
+
+  fire_tux = new TuxBodyParts();
+  fire_tux->head = sprite_manager->load("big-fire-tux-head");
+  fire_tux->body = sprite_manager->load("big-tux-body");
+  fire_tux->arms = sprite_manager->load("big-tux-arms");
+  fire_tux->feet = sprite_manager->load("big-tux-feet");
+
+  ice_tux = new TuxBodyParts();
+  ice_tux->head = sprite_manager->load("big-tux-head");
+  ice_tux->body = sprite_manager->load("big-tux-body");
+  ice_tux->arms = sprite_manager->load("big-tux-arms");
+  ice_tux->feet = sprite_manager->load("big-tux-feet");
+
+  /* Load Bad Guys resources */
+  badguyspecs_manager = new BadGuySpecsManager(datadir + "/badguys.strf");
 
   /* Water: */
   img_water = new Surface(datadir + "/images/shared/water.png", false);
@@ -194,10 +217,6 @@ void loadshared()
   img_cloud[1][3] = new Surface(datadir + "/images/shared/cloud-13.png",
                                 true);
 
-
-  /* Bad guys: */
-  load_badguy_gfx();
-
   /* Upgrades: */
   load_special_gfx();
 
@@ -267,7 +286,6 @@ void unloadshared(void)
   int i;
 
   free_special_gfx();
-  free_badguy_gfx();
 
   delete img_water;
   for (i = 0; i < 3; i++)
@@ -288,6 +306,11 @@ void unloadshared(void)
 
   delete tux_life;
 
+  delete small_tux;
+  delete big_tux;
+  delete fire_tux;
+  delete ice_tux;
+
   for (int i = 0; i < GROWING_FRAMES; i++)
   {
     delete growingtux_left[i];