From 7452df8bbb5ef5f2326cb34a0e115e30b27b2e3f Mon Sep 17 00:00:00 2001 From: Jeremy Rimpo Date: Mon, 2 Oct 2023 15:27:12 -0500 Subject: [PATCH] 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/mobase/wrappers/pyplugins.cpp | 1 + src/mobase/wrappers/pyplugins.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/mobase/wrappers/pyplugins.cpp b/src/mobase/wrappers/pyplugins.cpp index 2aae21b..01465ea 100644 --- a/src/mobase/wrappers/pyplugins.cpp +++ b/src/mobase/wrappers/pyplugins.cpp @@ -76,6 +76,7 @@ namespace mo2::python { .def("executableForcedLoads", &IPluginGame::executableForcedLoads) .def("steamAPPId", &IPluginGame::steamAPPId) .def("primaryPlugins", &IPluginGame::primaryPlugins) + .def("enabledPlugins", &IPluginGame::enabledPlugins) .def("gameVariants", &IPluginGame::gameVariants) .def("setGameVariant", &IPluginGame::setGameVariant, "variant"_a) .def("binaryName", &IPluginGame::binaryName) diff --git a/src/mobase/wrappers/pyplugins.h b/src/mobase/wrappers/pyplugins.h index 496414c..f667cde 100644 --- a/src/mobase/wrappers/pyplugins.h +++ b/src/mobase/wrappers/pyplugins.h @@ -416,6 +416,10 @@ namespace mo2::python { { PYBIND11_OVERRIDE_PURE(QStringList, IPluginGame, primaryPlugins, ); } + QStringList enabledPlugins() const override + { + PYBIND11_OVERRIDE_PURE(QStringList, IPluginGame, enabledPlugins, ); + } QStringList gameVariants() const override { PYBIND11_OVERRIDE_PURE(QStringList, IPluginGame, gameVariants, );