From a41d15d43a6a1dcd6dc1a5a63b485f89b33e1444 Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 15 Jan 2025 17:47:33 +0000 Subject: [PATCH] fix: not loading iwds from search-path in Unlinker --- src/Unlinker/UnlinkerPaths.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Unlinker/UnlinkerPaths.cpp b/src/Unlinker/UnlinkerPaths.cpp index 781a1842..91d235a7 100644 --- a/src/Unlinker/UnlinkerPaths.cpp +++ b/src/Unlinker/UnlinkerPaths.cpp @@ -25,6 +25,23 @@ bool UnlinkerPaths::LoadUserPaths(const UnlinkerArgs& args) auto searchPathName = absolutePath.string(); m_user_paths.CommitSearchPath(std::make_unique(searchPathName)); m_specified_user_paths.emplace(std::move(searchPathName)); + + std::filesystem::directory_iterator iterator(absolutePath); + const auto end = fs::end(iterator); + for (auto i = fs::begin(iterator); i != end; ++i) + { + if (!i->is_regular_file()) + continue; + + auto extension = i->path().extension().string(); + utils::MakeStringLowerCase(extension); + if (extension == ".iwd") + { + auto iwd = iwd::LoadFromFile(i->path().string()); + if (iwd) + m_user_paths.CommitSearchPath(std::move(iwd)); + } + } } std::cout << std::format("{} SearchPaths{}\n", m_specified_user_paths.size(), !m_specified_user_paths.empty() ? ":" : "");