diff options
| author | Jeremy Rimpo <jeremy.rimpo@servermonkey.com> | 2023-09-17 16:13:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-17 16:13:26 -0500 |
| commit | a6879e2c63755c3f2254101cc48566e1e4611332 (patch) | |
| tree | ab7eef4922ac8c8adf6b95051c8e534a68ef23fc /src/organizercore.cpp | |
| parent | 1387f6aefef7b3abb84166793ced8c38b1e12890 (diff) | |
| parent | f2a784ed70ef75954a4b9ba5b317794532116619 (diff) | |
Merge pull request #1863 from ModOrganizer2/starfield
Starfield Support
Diffstat (limited to 'src/organizercore.cpp')
| -rw-r--r-- | src/organizercore.cpp | 20 |
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>()) { |
