feat: projects & replace builtins.list with 'base_packs' project property

This commit is contained in:
MihailRis
2025-04-22 21:46:10 +03:00
parent 1bdb5c3145
commit 6164374666
10 changed files with 89 additions and 14 deletions
+6
View File
@@ -46,6 +46,7 @@ void EnginePaths::prepare() {
}
logger.info() << "resources folder: " << fs::canonical(resourcesFolder).u8string();
logger.info() << "user files folder: " << fs::canonical(userFilesFolder).u8string();
logger.info() << "project folder: " << fs::canonical(projectFolder).u8string();
if (!io::is_directory(CONTENT_FOLDER)) {
io::create_directories(CONTENT_FOLDER);
@@ -142,6 +143,11 @@ void EnginePaths::setScriptFolder(std::filesystem::path folder) {
this->scriptFolder = std::move(folder);
}
void EnginePaths::setProjectFolder(std::filesystem::path folder) {
io::set_device("project", std::make_shared<io::StdfsDevice>(folder));
this->projectFolder = std::move(folder);
}
void EnginePaths::setCurrentWorldFolder(io::path folder) {
this->currentWorldFolder = std::move(folder);
io::create_subdevice("world", "user", currentWorldFolder);
+3
View File
@@ -56,6 +56,8 @@ public:
void setScriptFolder(std::filesystem::path folder);
void setProjectFolder(std::filesystem::path folder);
io::path getWorldFolderByName(const std::string& name);
io::path getWorldsFolder() const;
@@ -80,6 +82,7 @@ public:
private:
std::filesystem::path userFilesFolder {"."};
std::filesystem::path resourcesFolder {"res"};
std::filesystem::path projectFolder = resourcesFolder;
io::path currentWorldFolder;
std::optional<std::filesystem::path> scriptFolder;
std::vector<PathsRoot> entryPoints;