diff --git a/loader/src/loader/Index.cpp b/loader/src/loader/Index.cpp index 1f61124d..0ccfc6c9 100644 --- a/loader/src/loader/Index.cpp +++ b/loader/src/loader/Index.cpp @@ -651,20 +651,8 @@ void Index::Impl::installNext(size_t index, IndexInstallList const& list) { item->getMetadata().getID(), res.unwrapErr() )); } - - // If the mod is already loaded, enable it - if (mod->isLoaded()) { - res = mod->enable(); - if (!res) { - return postError(fmt::format( - "Unable to enable {}: {}", - item->getMetadata().getID(), res.unwrapErr() - )); - } - } } - // Move the temp file try { ghc::filesystem::rename( diff --git a/loader/src/loader/LoaderImpl.cpp b/loader/src/loader/LoaderImpl.cpp index 4eea6377..d0471ab4 100644 --- a/loader/src/loader/LoaderImpl.cpp +++ b/loader/src/loader/LoaderImpl.cpp @@ -202,13 +202,13 @@ Mod* Loader::Impl::getInstalledMod(std::string const& id) const { } bool Loader::Impl::isModLoaded(std::string const& id) const { - return m_mods.count(id) && m_mods.at(id)->isLoaded() && m_mods.at(id)->isEnabled(); + return m_mods.count(id) && m_mods.at(id)->isLoaded(); } Mod* Loader::Impl::getLoadedMod(std::string const& id) const { if (m_mods.count(id)) { auto mod = m_mods.at(id); - if (mod->isLoaded() && mod->isEnabled()) { + if (mod->isLoaded()) { return mod; } } diff --git a/loader/src/ui/internal/list/ModListLayer.cpp b/loader/src/ui/internal/list/ModListLayer.cpp index b12a5bed..4c29c4cf 100644 --- a/loader/src/ui/internal/list/ModListLayer.cpp +++ b/loader/src/ui/internal/list/ModListLayer.cpp @@ -172,7 +172,8 @@ CCArray* ModListLayer::createModCells(ModListType type, ModListQuery const& quer // newly installed for (auto const& item : Index::get()->getItems()) { if (!item->isInstalled() || - Loader::get()->isModInstalled(item->getMetadata().getID())) + Loader::get()->isModInstalled(item->getMetadata().getID()) || + Loader::get()->isModLoaded(item->getMetadata().getID())) continue; // match the same as other installed mods if (auto match = queryMatchKeywords(query, item->getMetadata())) {