From cc5e0a9c0eac1990074cce52b6472d559ea9eb8d Mon Sep 17 00:00:00 2001 From: Jeremy Rimpo Date: Tue, 1 Oct 2024 02:40:37 -0500 Subject: [PATCH 1/2] Add blueprint plugin support --- src/game_features/gameplugins.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/game_features/gameplugins.h b/src/game_features/gameplugins.h index f6382490..3406d91b 100644 --- a/src/game_features/gameplugins.h +++ b/src/game_features/gameplugins.h @@ -15,8 +15,9 @@ class GamePlugins : public details::GameFeatureCRTP virtual void writePluginLists(const MOBase::IPluginList* pluginList) = 0; virtual void readPluginLists(MOBase::IPluginList* pluginList) = 0; virtual QStringList getLoadOrder() = 0; - virtual bool lightPluginsAreSupported() = 0; - virtual bool mediumPluginsAreSupported() = 0; + virtual bool lightPluginsAreSupported() { return false; } + virtual bool mediumPluginsAreSupported() { return false; } + virtual bool blueprintPluginsAreSupported() { return false; } }; } // namespace MOBase From 32fa346820fa6cef970d5175044a31e14eccf25e Mon Sep 17 00:00:00 2001 From: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com> Date: Wed, 2 Oct 2024 17:28:37 +0200 Subject: [PATCH 2/2] Add `isBlueprintFlagged` to `IPluginList` (#163) --- src/ipluginlist.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ipluginlist.h b/src/ipluginlist.h index 246209ba..28b13f2a 100644 --- a/src/ipluginlist.h +++ b/src/ipluginlist.h @@ -213,6 +213,16 @@ class IPluginList */ virtual bool isLightFlagged(const QString& name) const = 0; + /** + * @brief determine if a plugin is flagged as blueprint + * @param name filename of the plugin (without path but with file extension) + * @return true if the file is flagged as blueprint, false if it isn't OR if the file + * doesn't exist. + * @note this plugin flag was added in Starfield and signifies plugins that are + * hidden in the Creation Kit and removed from Plugins.txt when the game loads a save + */ + virtual bool isBlueprintFlagged(const QString& name) const = 0; + /** * @brief determine if a plugin has no records * @param name filename of the plugin (without path but with file extension)