missing assert
[supertux.git] / src / level_subset.cpp
index 5cd4fc9..aa096cb 100644 (file)
@@ -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<std::string> 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
 {