summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsi29a <psi29a@gmail.com>2023-02-11 10:50:55 +0000
committerpsi29a <psi29a@gmail.com>2023-02-11 10:50:55 +0000
commit5f1da2988165237995818b7382f6244c85cf4cf4 (patch)
tree2460a564a97b24ae285cdbdcf6199dc470355c02
parentf87b9e7bcba52c240b6727564fb571b591f5b598 (diff)
parent536370c76df34330bc7b18a9f589578cb8875bf2 (diff)
Merge branch 'bsapriority' into 'master'7220-lua-add-a-general-purpose-lexical-parser
Files::Collections: prefer files from highest priority folders (bug #7092) Closes #7092 See merge request OpenMW/openmw!2716
-rw-r--r--CHANGELOG.md1
-rw-r--r--components/files/collections.cpp8
2 files changed, 5 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f587fffcc9..9185e2d49e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -35,6 +35,7 @@
Bug #7054: Quests aren't sorted by name
Bug #7084: Resurrecting an actor doesn't take into account base record changes
Bug #7088: Deleting last save game of last character doesn't clear character name/details
+ Bug #7092: BSA archives from higher priority directories don't take priority
Bug #7122: Teleportation to underwater should cancel active water walking effect
Bug #7172: Current music playlist continues playing indefinitely if next playlist is empty
Feature #5492: Let rain and snow collide with statics
diff --git a/components/files/collections.cpp b/components/files/collections.cpp
index b556ab06b0..47734bb084 100644
--- a/components/files/collections.cpp
+++ b/components/files/collections.cpp
@@ -37,9 +37,9 @@ namespace Files
std::filesystem::path Collections::getPath(const std::string& file) const
{
- for (const auto& mDirectorie : mDirectories)
+ for (auto iter = mDirectories.rbegin(); iter != mDirectories.rend(); iter++)
{
- for (const auto& iter2 : std::filesystem::directory_iterator(mDirectorie))
+ for (const auto& iter2 : std::filesystem::directory_iterator(*iter))
{
const auto& path = iter2.path();
const auto str = Files::pathToUnicodeString(path.filename());
@@ -59,9 +59,9 @@ namespace Files
bool Collections::doesExist(const std::string& file) const
{
- for (const auto& mDirectorie : mDirectories)
+ for (auto iter = mDirectories.rbegin(); iter != mDirectories.rend(); iter++)
{
- for (const auto& iter2 : std::filesystem::directory_iterator(mDirectorie))
+ for (const auto& iter2 : std::filesystem::directory_iterator(*iter))
{
const auto& path = iter2.path();
const auto str = Files::pathToUnicodeString(path.filename());