lazily load tile images to speedup startup times
[supertux.git] / src / resources.cpp
index d6e7364..5267f4b 100644 (file)
 #include "gui/menu.h"
 #include "gui/button.h"
 #include "scene.h"
-#include "player.h"
-#include "badguy.h"
-#include "gameobjs.h"
 #include "resources.h"
-#include "badguy_specs.h"
+#include "object/gameobjs.h"
+#include "object/player.h"
 
 Surface* img_waves[3]; 
 Surface* img_water;
@@ -157,9 +155,6 @@ void loadshared()
   ice_tux->arms = sprite_manager->create("big-tux-arms");
   ice_tux->feet = sprite_manager->create("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);
 
@@ -254,7 +249,7 @@ void loadshared()
 
   /* Herring song */
   herring_song = SoundManager::get
-                   ()->load_music(datadir + "/music/SALCON.MOD");
+                   ()->load_music(datadir + "/music/salcon.mod");
   level_end_song = SoundManager::get
                      ()->load_music(datadir + "/music/leveldone.mod");
 }
@@ -309,3 +304,16 @@ void unloadshared(void)
   sprite_manager = 0;
 }
 
+std::string get_resource_filename(const std::string& resource)
+{
+  std::string filepath = st_dir + resource;
+  if(access(filepath.c_str(), R_OK) == 0)
+    return filepath;
+  
+  filepath = datadir + resource;
+  if(access(filepath.c_str(), R_OK) == 0)
+    return filepath;
+
+  std::cerr << "Couldn't find resource: '" << resource  << "'." << std::endl;
+  return "";
+}