Fix issue 1527
[oweals/minetest.git] / src / subgame.cpp
index cdb5466197554cab4f411f1901536a8822ad6c09..1030d535a7b51613c3e1bd2350b4edb939153c92 100644 (file)
@@ -91,9 +91,9 @@ SubgameSpec findSubgame(const std::string &id)
        // Find mod directories
        std::set<std::string> mods_paths;
        if(!user_game)
-               mods_paths.insert(share + DIR_DELIM + "mods" + DIR_DELIM + id);
+               mods_paths.insert(share + DIR_DELIM + "mods");
        if(user != share || user_game)
-               mods_paths.insert(user + DIR_DELIM + "mods" + DIR_DELIM + id);
+               mods_paths.insert(user + DIR_DELIM + "mods");
        std::string game_name = getGameName(game_path);
        if(game_name == "")
                game_name = id;
@@ -241,8 +241,14 @@ bool initializeWorld(const std::string &path, const std::string &gameid)
        if(!fs::PathExists(worldmt_path)){
                infostream<<"Creating world.mt ("<<worldmt_path<<")"<<std::endl;
                fs::CreateAllDirs(path);
-               std::ofstream of(worldmt_path.c_str(), std::ios::binary);
-               of<<"gameid = "<<gameid<<"\n";
+               std::ostringstream ss(std::ios_base::binary);
+               ss<<"gameid = "<<gameid<<
+#ifdef __ANDROID__
+                               "\nbackend = leveldb\n";
+#else
+                               "\nbackend = sqlite3\n";
+#endif
+               fs::safeWriteToFile(worldmt_path, ss.str());
        }
        return true;
 }