X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fresources.cpp;h=07e0b0471e09081dca80f2348116d947eaf19c9d;hb=42fb8d56e45ca60bc85dde797eb5816569977c9c;hp=6dbe55d194816552fc8fdcb71df761190529b3b8;hpb=fcae2511a70217bb8ca6e7fb13e0dab639a062f1;p=supertux.git diff --git a/src/resources.cpp b/src/resources.cpp index 6dbe55d19..07e0b0471 100644 --- a/src/resources.cpp +++ b/src/resources.cpp @@ -25,9 +25,10 @@ #include "gui/menu.h" #include "gui/button.h" #include "scene.h" -#include "player.h" -#include "gameobjs.h" #include "resources.h" +#include "tile_manager.h" +#include "object/gameobjs.h" +#include "object/player.h" Surface* img_waves[3]; Surface* img_water; @@ -52,6 +53,7 @@ MusicRef herring_song; MusicRef level_end_song; SpriteManager* sprite_manager = 0; +TileManager* tile_manager = 0; char * soundfilenames[NUM_SOUNDS] = { "/sounds/jump.wav", @@ -114,7 +116,9 @@ void loadshared() int i; - sprite_manager = new SpriteManager(datadir + "/images/supertux.strf"); + sprite_manager = new SpriteManager( + get_resource_filename("/images/supertux.strf")); + tile_manager = new TileManager("/images/tilesets/supertux.stgt"); /* Tuxes: */ smalltux_star = sprite_manager->create("smalltux-star"); @@ -249,7 +253,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"); } @@ -302,5 +306,20 @@ void unloadshared(void) delete sprite_manager; sprite_manager = 0; + delete tile_manager; + tile_manager = 0; } +std::string get_resource_filename(const std::string& resource) +{ + std::string filepath = st_dir + resource; + if(FileSystem::faccessible(filepath)) + return filepath; + + filepath = datadir + resource; + if(FileSystem::faccessible(filepath)) + return filepath; + + std::cerr << "Couldn't find resource: '" << resource << "'." << std::endl; + return ""; +}