From acd5c7f93af6d450c8ad97cd8a882019885e2e1b Mon Sep 17 00:00:00 2001 From: Cara Date: Sun, 19 Sep 2021 15:24:25 +0930 Subject: [PATCH] feat: add an option to disable RMT Filtering --- .../Internal/DalamudConfiguration.cs | 5 +++++ Dalamud/Game/ChatHandlers.cs | 15 +++++++++------ .../Interface/Internal/Windows/SettingsWindow.cs | 6 ++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/Dalamud/Configuration/Internal/DalamudConfiguration.cs b/Dalamud/Configuration/Internal/DalamudConfiguration.cs index 4f3e4e59c..4b36b8288 100644 --- a/Dalamud/Configuration/Internal/DalamudConfiguration.cs +++ b/Dalamud/Configuration/Internal/DalamudConfiguration.cs @@ -195,6 +195,11 @@ namespace Dalamud.Configuration.Internal /// public bool PluginSafeMode { get; set; } + /// + /// Gets or sets a value indicating whether or not Dalamud RMT filtering should be disabled. + /// + public bool DisableRmtFiltering { get; set; } + /// /// Load a configuration from the provided path. /// diff --git a/Dalamud/Game/ChatHandlers.cs b/Dalamud/Game/ChatHandlers.cs index a1d936fc5..06349b3d0 100644 --- a/Dalamud/Game/ChatHandlers.cs +++ b/Dalamud/Game/ChatHandlers.cs @@ -151,13 +151,16 @@ namespace Dalamud.Game var textVal = message.TextValue; - var matched = this.rmtRegex.IsMatch(textVal); - if (matched) + if (!configuration.DisableRmtFiltering) { - // This seems to be a RMT ad - let's not show it - Log.Debug("Handled RMT ad: " + message.TextValue); - isHandled = true; - return; + var matched = this.rmtRegex.IsMatch(textVal); + if (matched) + { + // This seems to be a RMT ad - let's not show it + Log.Debug("Handled RMT ad: " + message.TextValue); + isHandled = true; + return; + } } if (configuration.BadWords != null && diff --git a/Dalamud/Interface/Internal/Windows/SettingsWindow.cs b/Dalamud/Interface/Internal/Windows/SettingsWindow.cs index ba67fd203..b40971eb3 100644 --- a/Dalamud/Interface/Internal/Windows/SettingsWindow.cs +++ b/Dalamud/Interface/Internal/Windows/SettingsWindow.cs @@ -59,6 +59,7 @@ namespace Dalamud.Interface.Internal.Windows private bool printPluginsWelcomeMsg; private bool autoUpdatePlugins; private bool doButtonsSystemMenu; + private bool disableRmtFiltering; #region Experimental @@ -99,6 +100,7 @@ namespace Dalamud.Interface.Internal.Windows this.printPluginsWelcomeMsg = configuration.PrintPluginsWelcomeMsg; this.autoUpdatePlugins = configuration.AutoUpdatePlugins; this.doButtonsSystemMenu = configuration.DoButtonsSystemMenu; + this.disableRmtFiltering = configuration.DisableRmtFiltering; this.languages = Localization.ApplicableLangCodes.Prepend("en").ToArray(); try @@ -238,6 +240,9 @@ namespace Dalamud.Interface.Internal.Windows ImGui.Checkbox(Loc.Localize("DalamudSettingsSystemMenu", "Dalamud buttons in system menu"), ref this.doButtonsSystemMenu); ImGui.TextColored(this.hintTextColor, Loc.Localize("DalamudSettingsSystemMenuMsgHint", "Add buttons for Dalamud plugins and settings to the system menu.")); + + ImGui.Checkbox(Loc.Localize("DalamudSettingsDisableRmtFiltering", "Disable RMT Filtering"), ref this.disableRmtFiltering); + ImGui.TextColored(this.hintTextColor, Loc.Localize("DalamudSettingsDisableRmtFilteringMsgHint", "Disable dalamud's built-in RMT ad filtering.")); } private void DrawLookAndFeelTab() @@ -689,6 +694,7 @@ namespace Dalamud.Interface.Internal.Windows configuration.PrintPluginsWelcomeMsg = this.printPluginsWelcomeMsg; configuration.AutoUpdatePlugins = this.autoUpdatePlugins; configuration.DoButtonsSystemMenu = this.doButtonsSystemMenu; + configuration.DisableRmtFiltering = this.disableRmtFiltering; configuration.Save();