diff options
| author | Jeremy Rimpo <jeremy.rimpo@servermonkey.com> | 2024-05-19 02:40:47 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-19 09:40:47 +0200 |
| commit | 9ee4c5afe18eb887acf4ea843b56da9a267d34b0 (patch) | |
| tree | 500c2248e40005f3d06291e45d64c397c578c7d5 | |
| parent | a1d199134d819683a9b35cb4802e0c8f4edc4dc2 (diff) | |
Disable ESLs when no ESL support (#2026)
* Show ESL plugins but disable and warn if unsupported
| -rw-r--r-- | src/pluginlist.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp index da63d934..b1fd9757 100644 --- a/src/pluginlist.cpp +++ b/src/pluginlist.cpp @@ -210,6 +210,9 @@ void PluginList::refresh(const QString& profileName, bool forceDisabled = m_GamePlugin->loadOrderMechanism() == IPluginGame::LoadOrderMechanism::None && !forceLoaded && !forceEnabled; + if (!lightPluginsAreSupported && filename.endsWith(".esl")) { + forceDisabled = true; + } bool archive = false; try { @@ -1355,8 +1358,13 @@ QVariant PluginList::tooltipData(const QModelIndex& modelIndex) const } if (esp.forceDisabled) { - toolTip += "<br><br>" + tr("This game does not currently permit custom plugin " - "loading. There may be manual workarounds."); + if (m_GamePlugin->feature<GamePlugins>() && esp.hasLightExtension && + !m_GamePlugin->feature<GamePlugins>()->lightPluginsAreSupported()) { + toolTip += "<br><br>" + tr("Light plugins (ESL) are not supported by this game."); + } else { + toolTip += "<br><br>" + tr("This game does not currently permit custom plugin " + "loading. There may be manual workarounds."); + } } // additional info @@ -1804,7 +1812,7 @@ PluginList::ESPInfo::ESPInfo(const QString& name, bool forceLoaded, bool forceEn ESP::File file(ToWString(fullPath)); auto extension = name.right(3).toLower(); hasMasterExtension = (extension == "esm"); - hasLightExtension = lightSupported && (extension == "esl"); + hasLightExtension = (extension == "esl"); isMasterFlagged = file.isMaster(); isOverlayFlagged = overlaySupported && file.isOverlay(); isLightFlagged = |
