summaryrefslogtreecommitdiff
path: root/src/organizercore.cpp
diff options
context:
space:
mode:
authorJeremy Rimpo <jeremy.rimpo@servermonkey.com>2023-09-17 16:13:26 -0500
committerGitHub <noreply@github.com>2023-09-17 16:13:26 -0500
commita6879e2c63755c3f2254101cc48566e1e4611332 (patch)
treeab7eef4922ac8c8adf6b95051c8e534a68ef23fc /src/organizercore.cpp
parent1387f6aefef7b3abb84166793ced8c38b1e12890 (diff)
parentf2a784ed70ef75954a4b9ba5b317794532116619 (diff)
Merge pull request #1863 from ModOrganizer2/starfield
Starfield Support
Diffstat (limited to 'src/organizercore.cpp')
-rw-r--r--src/organizercore.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp
index e7b0c748..e3d1ff29 100644
--- a/src/organizercore.cpp
+++ b/src/organizercore.cpp
@@ -1992,7 +1992,12 @@ std::vector<Mapping> OrganizerCore::fileMapping(const QString& profileName,
MappingType result;
- QString dataPath = QDir::toNativeSeparators(game->dataDirectory().absolutePath());
+ QStringList dataPaths;
+ dataPaths.append(QDir::toNativeSeparators(game->dataDirectory().absolutePath()));
+
+ for (auto directory : game->secondaryDataDirectories()) {
+ dataPaths.append(directory.absolutePath());
+ }
bool overwriteActive = false;
@@ -2009,8 +2014,10 @@ std::vector<Mapping> OrganizerCore::fileMapping(const QString& profileName,
overwriteActive |= createTarget;
if (modPtr->isRegular()) {
- result.insert(result.end(), {QDir::toNativeSeparators(std::get<1>(mod)), dataPath,
- true, createTarget});
+ for (auto dataPath : dataPaths) {
+ result.insert(result.end(), {QDir::toNativeSeparators(std::get<1>(mod)),
+ dataPath, true, createTarget});
+ }
}
}
@@ -2031,8 +2038,11 @@ std::vector<Mapping> OrganizerCore::fileMapping(const QString& profileName,
}
}
- result.insert(result.end(), {QDir::toNativeSeparators(m_Settings.paths().overwrite()),
- dataPath, true, customOverwrite.isEmpty()});
+ for (auto dataPath : dataPaths) {
+ result.insert(result.end(),
+ {QDir::toNativeSeparators(m_Settings.paths().overwrite()), dataPath,
+ true, customOverwrite.isEmpty()});
+ }
for (MOBase::IPluginFileMapper* mapper :
m_PluginContainer->plugins<MOBase::IPluginFileMapper>()) {