diff --git a/loader/src/ui/mods/sources/InstalledModListSource.cpp b/loader/src/ui/mods/sources/InstalledModListSource.cpp index bf3d9f24..f1f7e4dc 100644 --- a/loader/src/ui/mods/sources/InstalledModListSource.cpp +++ b/loader/src/ui/mods/sources/InstalledModListSource.cpp @@ -18,9 +18,12 @@ bool InstalledModsQuery::preCheck(ModSource const& src) const { return true; } bool InstalledModsQuery::queryCheck(ModSource const& src, double& weighted) const { - auto addToList = modFuzzyMatch(src.asMod()->getMetadata(), *query, weighted); + bool addToList = true; + if (query) { + addToList = modFuzzyMatch(src.asMod()->getMetadata(), *query, weighted); + } // Loader gets boost to ensure it's normally always top of the list - if (addToList && src.asMod()->getID() == "geode.loader") { + if (addToList && src.asMod()->isInternal()) { weighted += 5; } // todo: favorites diff --git a/loader/src/ui/mods/sources/ModListSource.hpp b/loader/src/ui/mods/sources/ModListSource.hpp index 9d25a220..75e2a476 100644 --- a/loader/src/ui/mods/sources/ModListSource.hpp +++ b/loader/src/ui/mods/sources/ModListSource.hpp @@ -223,7 +223,7 @@ void filterModsWithLocalQuery(ModListSource::ProvidedMods& mods, Query const& qu } } // Don't bother with unnecessary fuzzy match calculations if this mod isn't going to be added anyway - if (addToList && query.query) { + if (addToList) { addToList = query.queryCheck(src, weighted); } if (addToList) { diff --git a/loader/src/ui/mods/sources/SuggestedModListSource.cpp b/loader/src/ui/mods/sources/SuggestedModListSource.cpp index 49f3bca0..56c35af4 100644 --- a/loader/src/ui/mods/sources/SuggestedModListSource.cpp +++ b/loader/src/ui/mods/sources/SuggestedModListSource.cpp @@ -5,10 +5,13 @@ bool SuggestedModsQuery::preCheck(ModSource const& src) const { return true; } bool SuggestedModsQuery::queryCheck(ModSource const& src, double& weighted) const { - if (!modFuzzyMatch(src.asSuggestion()->suggestion, *query, weighted)) { - return false; + if (query) { + if (!modFuzzyMatch(src.asSuggestion()->suggestion, *query, weighted)) { + return false; + } + return modFuzzyMatch(src.asSuggestion()->forMod->getMetadata(), *query, weighted); } - return modFuzzyMatch(src.asSuggestion()->forMod->getMetadata(), *query, weighted); + return true; } void SuggestedModListSource::resetQuery() {