From c19fbb6818be3c99dcd402f41fd11baf7496e6a5 Mon Sep 17 00:00:00 2001 From: Jeremy Rimpo Date: Mon, 2 Oct 2023 15:27:14 -0500 Subject: 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 --- src/pluginlist.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') 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 layoutChange(this); QStringList primaryPlugins = m_GamePlugin->primaryPlugins(); + QStringList enabledPlugins = m_GamePlugin->enabledPlugins(); GamePlugins* gamePlugins = m_GamePlugin->feature(); 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; -- cgit v1.3.1