FS::Path data_dir = FS::get_sys_data_dir()/"data";
#ifdef DEBUG
if(FS::exists(data_dir))
- dir_src.add_directory(data_dir);
+ add_dir(data_dir);
add_source(dir_src);
#endif
add_source(pack_src);
}
+void ApplicationResources::add_dir(const FS::Path &path)
+{
+ dir_src.add_directory(path);
+ for(const string &f: FS::list_files(path))
+ {
+ FS::Path p = path/f;
+ if(FS::is_dir(p))
+ add_dir(p);
+ }
+}
+
} // namespace Msp::Game
#include <msp/datafile/collection.h>
#include <msp/datafile/directorysource.h>
#include <msp/datafile/packsource.h>
+#include <msp/fs/path.h>
namespace Msp::Game {
public:
ApplicationResources();
+
+private:
+ void add_dir(const FS::Path &);
};
} // namespace Msp::Game