summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Rimpo <jrim@rimpo.org>2023-10-02 15:27:14 -0500
committerJeremy Rimpo <jrim@rimpo.org>2023-10-02 15:27:14 -0500
commitc19fbb6818be3c99dcd402f41fd11baf7496e6a5 (patch)
tree3b3c137ed8b35f59c7cd93230422d61b4d1c3f65 /src
parent34ad5d85eda2aa8f7df3113a5d24ec05dbbd846f (diff)
Plugin sorting updates
- Add enabledPlugins for core plugins which are enabled but NOT auto-loaded (may need to be written to plugins.txt or have an ambiguous load order position) - General Starfield updates - Add enabledPlugins for "BlueprintShips-Starfield.esm" - Disable plugin management if sTestFile is in use (also applies to FO4) - Write the enabledPlugins to plugins.txt to enforce base game load order - Allow for LOOT sorting (dynamic based on settings) - Incorporate enabledPlugins into force enabled plugins in plugin list - Update various interface layers TODO: Fix sort button to dynamically update if status changes TODO: Auto refresh lists if the INI Editor is closed
Diffstat (limited to 'src')
-rw-r--r--src/pluginlist.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index efa51ac7..91352167 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -176,6 +176,7 @@ void PluginList::refresh(const QString& profileName,
ChangeBracket<PluginList> layoutChange(this);
QStringList primaryPlugins = m_GamePlugin->primaryPlugins();
+ QStringList enabledPlugins = m_GamePlugin->enabledPlugins();
GamePlugins* gamePlugins = m_GamePlugin->feature<GamePlugins>();
const bool lightPluginsAreSupported =
gamePlugins ? gamePlugins->lightPluginsAreSupported() : false;
@@ -204,7 +205,8 @@ void PluginList::refresh(const QString& profileName,
}
bool forceEnabled = Settings::instance().game().forceEnableCoreFiles() &&
- primaryPlugins.contains(filename, Qt::CaseInsensitive);
+ (primaryPlugins.contains(filename, Qt::CaseInsensitive) ||
+ enabledPlugins.contains(filename, Qt::CaseInsensitive));
bool forceDisabled =
m_GamePlugin->loadOrderMechanism() == IPluginGame::LoadOrderMechanism::None &&
!forceEnabled;