refactor io/engine_paths

This commit is contained in:
MihailRis
2025-04-02 14:55:53 +03:00
parent 611c6fa444
commit dbe9ca5efe
4 changed files with 51 additions and 34 deletions
+15 -5
View File
@@ -346,15 +346,20 @@ void Engine::loadContent() {
names.push_back(pack.id);
}
ContentBuilder contentBuilder;
corecontent::setup(*input, contentBuilder);
paths.setContentPacks(&contentPacks);
PacksManager manager = createPacksManager(paths.getCurrentWorldFolder());
manager.scan();
names = manager.assemble(names);
contentPacks = manager.getAll(names);
std::vector<PathsRoot> entryPoints;
for (auto& pack : contentPacks) {
entryPoints.emplace_back(pack.id, pack.folder);
}
paths.setEntryPoints(std::move(entryPoints));
ContentBuilder contentBuilder;
corecontent::setup(*input, contentBuilder);
auto corePack = ContentPack::createCore(paths);
// Setup filesystem entry points
@@ -443,7 +448,12 @@ void Engine::setScreen(std::shared_ptr<Screen> screen) {
}
void Engine::setLanguage(std::string locale) {
langs::setup("res:", std::move(locale), resPaths->collectRoots());
langs::setup(
"res:",
std::move(locale),
resPaths ? resPaths->collectRoots()
: std::vector<io::path> {{"core", "res:"}}
);
}
void Engine::onWorldOpen(std::unique_ptr<Level> level, int64_t localPlayer) {