aboutsummaryrefslogtreecommitdiff
path: root/libs/game_bethesda/src/games/skyrimvr/skyrimvrunmanagedmods.cpp
blob: dd6a158809c0067093e73c20d68479e6a661f191 (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
#include "skyrimvrunmanagedmods.h"

SkyrimVRUnmangedMods::SkyrimVRUnmangedMods(const GameGamebryo* game)
    : GamebryoUnmangedMods(game)
{}

SkyrimVRUnmangedMods::~SkyrimVRUnmangedMods() {}

QStringList SkyrimVRUnmangedMods::mods(bool onlyOfficial) const
{
  QStringList result;

  QStringList pluginList   = game()->primaryPlugins();
  QStringList otherPlugins = game()->DLCPlugins();
  otherPlugins.append(game()->CCPlugins());
  for (QString plugin : otherPlugins) {
    pluginList.removeAll(plugin);
  }
  QDir dataDir(game()->dataDirectory());
  for (const QString& fileName : dataDir.entryList({"*.esp", "*.esl", "*.esm"})) {
    if (!pluginList.contains(fileName, Qt::CaseInsensitive)) {
      if (!onlyOfficial || pluginList.contains(fileName, Qt::CaseInsensitive)) {
        result.append(fileName.chopped(4));  // trims the extension off
      }
    }
  }

  return result;
}