From d06a7efff8dcb3e9e566d0cd7a3d09f786e5c68b Mon Sep 17 00:00:00 2001 From: goaaats <16760685+goaaats@users.noreply.github.com> Date: Sun, 7 Nov 2021 14:33:15 +0100 Subject: [PATCH] feat: add "Load banned plugins" option to dev menu --- Dalamud/Configuration/Internal/DalamudConfiguration.cs | 5 +++++ Dalamud/Interface/Internal/DalamudInterface.cs | 6 ++++++ Dalamud/Plugin/Internal/PluginManager.cs | 3 ++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Dalamud/Configuration/Internal/DalamudConfiguration.cs b/Dalamud/Configuration/Internal/DalamudConfiguration.cs index b67b84034..b4263679e 100644 --- a/Dalamud/Configuration/Internal/DalamudConfiguration.cs +++ b/Dalamud/Configuration/Internal/DalamudConfiguration.cs @@ -207,6 +207,11 @@ namespace Dalamud.Configuration.Internal /// public bool LoadAllApiLevels { get; set; } + /// + /// Gets or sets a value indicating whether or not banned plugins should be loaded. + /// + public bool LoadBannedPlugins { get; set; } + /// /// Gets or sets a value indicating whether or not any plugin should be loaded when the game is started. /// It is reset immediately when read. diff --git a/Dalamud/Interface/Internal/DalamudInterface.cs b/Dalamud/Interface/Internal/DalamudInterface.cs index f781301fe..ece1b4cc6 100644 --- a/Dalamud/Interface/Internal/DalamudInterface.cs +++ b/Dalamud/Interface/Internal/DalamudInterface.cs @@ -624,6 +624,12 @@ namespace Dalamud.Interface.Internal configuration.Save(); } + if (ImGui.MenuItem("Load banned plugins", null, configuration.LoadBannedPlugins)) + { + configuration.LoadBannedPlugins = !configuration.LoadBannedPlugins; + configuration.Save(); + } + ImGui.Separator(); ImGui.MenuItem("API Level:" + PluginManager.DalamudApiLevel, false); ImGui.MenuItem("Loaded plugins:" + pluginManager.InstalledPlugins.Count, false); diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs index 536f9e48e..532a0af2b 100644 --- a/Dalamud/Plugin/Internal/PluginManager.cs +++ b/Dalamud/Plugin/Internal/PluginManager.cs @@ -952,7 +952,8 @@ namespace Dalamud.Plugin.Internal /// A value indicating whether the plugin/manifest has been banned. public bool IsManifestBanned(PluginManifest manifest) { - return this.bannedPlugins.Any(ban => ban.Name == manifest.InternalName && ban.AssemblyVersion >= manifest.AssemblyVersion); + var configuration = Service.Get(); + return configuration.LoadBannedPlugins || this.bannedPlugins.Any(ban => ban.Name == manifest.InternalName && ban.AssemblyVersion >= manifest.AssemblyVersion); } ///