blob: e5c76085b66c77c71163d40105e3861546900e39 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#include "gamebryounmanagedmods.h"
#include "gamegamebryo.h"
#include <pluginsetting.h>
GamebryoUnmangedMods::GamebryoUnmangedMods(const GameGamebryo* game) : m_Game(game) {}
GamebryoUnmangedMods::~GamebryoUnmangedMods() {}
QStringList GamebryoUnmangedMods::mods(bool onlyOfficial) const
{
QStringList result;
QStringList dlcPlugins = m_Game->DLCPlugins();
QStringList mainPlugins = m_Game->primaryPlugins();
QDir dataDir(m_Game->dataDirectory());
for (const QString& fileName : dataDir.entryList({"*.esp", "*.esl", "*.esm"})) {
if (!mainPlugins.contains(fileName, Qt::CaseInsensitive) &&
(!onlyOfficial || dlcPlugins.contains(fileName, Qt::CaseInsensitive))) {
result.append(fileName.chopped(4)); // trims the extension off
}
}
return result;
}
QString GamebryoUnmangedMods::displayName(const QString& modName) const
{
return modName;
}
QFileInfo GamebryoUnmangedMods::referenceFile(const QString& modName) const
{
QFileInfoList files =
m_Game->dataDirectory().entryInfoList(QStringList() << modName + ".es*");
if (files.size() > 0) {
return files.at(0);
} else {
return QFileInfo();
}
}
QStringList GamebryoUnmangedMods::secondaryFiles(const QString& modName) const
{
QStringList archives;
QDir dataDir = m_Game->dataDirectory();
for (const QString& archiveName : dataDir.entryList({modName + "*.bsa"})) {
archives.append(dataDir.absoluteFilePath(archiveName));
}
return archives;
}
|