#include <config.h>
#include <stddef.h>
-//#include <physfs.h>
-#include <unison/vfs/FileSystem.hpp>
+#include <physfs.h>
#include <stdexcept>
#include "world.hpp"
void
World::set_savegame_filename(const std::string& filename)
{
- Unison::VFS::FileSystem &fs = Unison::VFS::FileSystem::get();
this->savegame_filename = filename;
// make sure the savegame directory exists
std::string dirname = FileSystem::dirname(filename);
- if(!fs.exists(dirname)) {
- fs.mkdir(dirname);
- /*if(PHYSFS_mkdir(dirname.c_str())) {
+ if(!PHYSFS_exists(dirname.c_str())) {
+ if(PHYSFS_mkdir(dirname.c_str())) {
std::ostringstream msg;
msg << "Couldn't create directory for savegames '"
<< dirname << "': " <<PHYSFS_getLastError();
throw std::runtime_error(msg.str());
- }*/
+ }
}
- if(!fs.is_dir(dirname)) {
+ if(!PHYSFS_isDirectory(dirname.c_str())) {
std::ostringstream msg;
msg << "Savegame path '" << dirname << "' is not a directory";
throw std::runtime_error(msg.str());
// directory to see what we can find
std::string path = basedir;
- std::vector<std::string> files = Unison::VFS::FileSystem::get().ls(path);
- for(std::vector<std::string>::iterator iter = files.begin();iter != files.end();++iter)
- {
- if(has_suffix(iter->c_str(), ".stl")) {
- levels.push_back(path + *iter);
- }
- }
- /*char** files = PHYSFS_enumerateFiles(path.c_str());
+ char** files = PHYSFS_enumerateFiles(path.c_str());
if(!files) {
log_warning << "Couldn't read subset dir '" << path << "'" << std::endl;
return;
levels.push_back(path + *filename);
}
}
- PHYSFS_freeList(files);*/
+ PHYSFS_freeList(files);
}
void