diff --git a/loader/src/loader/LoaderImpl.cpp b/loader/src/loader/LoaderImpl.cpp index 0f25ff12..22e514cd 100644 --- a/loader/src/loader/LoaderImpl.cpp +++ b/loader/src/loader/LoaderImpl.cpp @@ -218,6 +218,12 @@ Mod* Loader::Impl::getLoadedMod(std::string const& id) const { void Loader::Impl::updateModResources(Mod* mod) { if (mod->getMetadata().getSpritesheets().empty()) return; + + if (mod != Mod::get()) { + // geode.loader resource is stored somewhere else, which is already added anyway + auto searchPathRoot = dirs::getModRuntimeDir() / mod->getID() / "resources"; + CCFileUtils::get()->addSearchPath(searchPathRoot.string().c_str()); + } auto searchPath = mod->getResourcesDir(); @@ -347,12 +353,6 @@ void Loader::Impl::populateModList(std::vector& modQueue) { m_mods.insert({metadata.getID(), mod}); - queueInMainThread([this, mod]() { - auto searchPath = dirs::getModRuntimeDir() / mod->getID() / "resources"; - CCFileUtils::get()->addSearchPath(searchPath.string().c_str()); - updateModResources(mod); - }); - log::popNest(); } }