From ed60bdc333fca55c9004758d470090882c39d22c Mon Sep 17 00:00:00 2001 From: MihailRis Date: Tue, 23 Jul 2024 16:41:37 +0300 Subject: [PATCH] fix: base packs initializing in menu --- src/engine.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/engine.cpp b/src/engine.cpp index 354cb745..741339bf 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -278,14 +278,16 @@ static void load_configs(const fs::path& root) { void Engine::loadContent() { auto resdir = paths->getResources(); - ContentBuilder contentBuilder; - corecontent::setup(paths, &contentBuilder); - paths->setContentPacks(&contentPacks); std::vector names; for (auto& pack : contentPacks) { names.push_back(pack.id); } + + ContentBuilder contentBuilder; + corecontent::setup(paths, &contentBuilder); + + paths->setContentPacks(&contentPacks); PacksManager manager = createPacksManager(paths->getWorldFolder()); manager.scan(); names = manager.assembly(names); @@ -308,10 +310,18 @@ void Engine::loadContent() { } void Engine::resetContent() { + auto resdir = paths->getResources(); + resPaths = std::make_unique(resdir, std::vector()); + contentPacks.clear(); + content.reset(); + + langs::setup(resdir, langs::current->getId(), contentPacks); + loadAssets(); + onAssetsLoaded(); + auto manager = createPacksManager(fs::path()); manager.scan(); contentPacks = manager.getAll(basePacks); - loadContent(); } void Engine::loadWorldContent(const fs::path& folder) {