mirror of
https://github.com/ModOrganizer2/modorganizer.git
synced 2026-07-27 13:58:24 -07:00
Map multiple data directories to USVFS
This commit is contained in:
+18
-10
@@ -1984,8 +1984,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;
|
||||
|
||||
@@ -2002,8 +2006,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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2024,12 +2030,14 @@ 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>()) {
|
||||
|
||||
Reference in New Issue
Block a user