X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flevel_subset.cpp;h=aa096cb0b034638c08e095fb3859c63d2e29ed16;hb=0df5885ece3a2a64bffc73c536296ad47ce1a1d6;hp=5cd4fc9d1d7123bb086b1012300eff4da43ca974;hpb=ef57479f613b900b73eba8e8f4d026aae0de25cc;p=supertux.git diff --git a/src/level_subset.cpp b/src/level_subset.cpp index 5cd4fc9d1..aa096cb0b 100644 --- a/src/level_subset.cpp +++ b/src/level_subset.cpp @@ -102,6 +102,14 @@ void LevelSubset::load(const std::string& subset) throw new std::runtime_error(msg.str()); } + // test is a worldmap exists + has_worldmap = false; + std::string worldmap = get_resource_filename( + std::string("levels/") + subset + "/worldmap.stwm"); + if(worldmap != "") { + has_worldmap = true; + } + if (levels.empty()) { // Level info file doesn't define any levels, so read the // directory to see what we can find @@ -110,7 +118,7 @@ void LevelSubset::load(const std::string& subset) filename = datadir + "/levels/" + subset + "/"; files = FileSystem::read_directory(filename); - filename = st_dir + "/levels/" + subset + "/"; + filename = user_dir + "/levels/" + subset + "/"; std::set user_files = FileSystem::read_directory(filename); files.insert(user_files.begin(), user_files.end()); @@ -133,7 +141,7 @@ LevelSubset::save() filename = "/levels/" + name + "/"; FileSystem::fcreatedir(filename.c_str()); - filename = std::string(st_dir) + "/levels/" + name + "/info"; + filename = std::string(user_dir) + "/levels/" + name + "/info"; if(!FileSystem::fwriteable(filename.c_str())) filename = datadir + "/levels/" + name + "/info"; if(FileSystem::fwriteable(filename.c_str())) @@ -175,6 +183,12 @@ LevelSubset::get_level_filename(unsigned int num) return levels[num]; } +std::string +LevelSubset::get_worldmap_filename() +{ + return std::string("/levels/" + name + "/worldmap.stwm"); +} + int LevelSubset::get_num_levels() const {