diff --git a/ChatTwo/Configuration.cs b/ChatTwo/Configuration.cs index 1a51b0f..41558e4 100755 --- a/ChatTwo/Configuration.cs +++ b/ChatTwo/Configuration.cs @@ -8,7 +8,7 @@ namespace ChatTwo; [Serializable] internal class Configuration : IPluginConfiguration { - private const int LatestVersion = 3; + private const int LatestVersion = 4; public int Version { get; set; } = LatestVersion; @@ -40,7 +40,7 @@ internal class Configuration : IPluginConfiguration { public string GlobalFont = Fonts.GlobalFonts[0].Name; public string JapaneseFont = Fonts.JapaneseFonts[0].Item1; - public float WindowAlpha = 1f; + public float WindowAlpha = 100f; public Dictionary ChatColours = new(); public List Tabs = new(); @@ -97,6 +97,11 @@ internal class Configuration : IPluginConfiguration { this.JapaneseFontSize = this.FontSize; this.SymbolsFontSize = this.FontSize; break; + case 3: + this.Version = 4; + + this.WindowAlpha *= 100f; + break; default: PluginLog.Warning($"Couldn't migrate config version {this.Version}"); loop = false; diff --git a/ChatTwo/Ui/ChatLog.cs b/ChatTwo/Ui/ChatLog.cs index 356e637..a27f37f 100755 --- a/ChatTwo/Ui/ChatLog.cs +++ b/ChatTwo/Ui/ChatLog.cs @@ -369,7 +369,7 @@ internal sealed class ChatLog : IUiComponent { } if (this._lastViewport == ImGuiHelpers.MainViewport.NativePtr) { - ImGui.SetNextWindowBgAlpha(this.Ui.Plugin.Config.WindowAlpha); + ImGui.SetNextWindowBgAlpha(this.Ui.Plugin.Config.WindowAlpha / 100f); } ImGui.SetNextWindowSize(new Vector2(500, 250) * ImGuiHelpers.GlobalScale, ImGuiCond.FirstUseEver); @@ -880,8 +880,8 @@ internal sealed class ChatLog : IUiComponent { flags |= ImGuiWindowFlags.NoTitleBar; } - var alpha = tab.IndependentOpacity ? tab.Opacity / 100f : this.Ui.Plugin.Config.WindowAlpha; - ImGui.SetNextWindowBgAlpha(alpha); + var alpha = tab.IndependentOpacity ? tab.Opacity : this.Ui.Plugin.Config.WindowAlpha; + ImGui.SetNextWindowBgAlpha(alpha / 100f); ImGui.SetNextWindowSize(new Vector2(350, 350) * ImGuiHelpers.GlobalScale, ImGuiCond.FirstUseEver); if (!ImGui.Begin($"{tab.Name}##popout", ref tab.PopOut, flags)) { goto End; diff --git a/ChatTwo/Ui/SettingsTabs/Display.cs b/ChatTwo/Ui/SettingsTabs/Display.cs index 8fc6327..02a6e24 100755 --- a/ChatTwo/Ui/SettingsTabs/Display.cs +++ b/ChatTwo/Ui/SettingsTabs/Display.cs @@ -68,16 +68,8 @@ internal sealed class Display : ISettingsTab { ImGuiUtil.OptionCheckbox(ref this.Mutable.ShowNoviceNetwork, Language.Options_ShowNoviceNetwork_Name, Language.Options_ShowNoviceNetwork_Description); ImGui.Spacing(); - if (ImGuiUtil.DragFloatVertical(Language.Options_WindowOpacity_Name, ref this.Mutable.WindowAlpha, .0025f, 0f, 1f, $"{this.Mutable.WindowAlpha * 100f:N2}%%")) { - switch (this.Mutable.WindowAlpha) { - case > 1f and <= 100f: - this.Mutable.WindowAlpha /= 100f; - break; - case < 0f or > 100f: - this.Mutable.WindowAlpha = 1f; - break; - } - } + ImGuiUtil.DragFloatVertical(Language.Options_WindowOpacity_Name, ref this.Mutable.WindowAlpha, .25f, 0f, 100f, $"{this.Mutable.WindowAlpha:N2}%%", ImGuiSliderFlags.AlwaysClamp); + ImGui.Spacing(); ImGuiUtil.OptionCheckbox(ref this.Mutable.CanMove, Language.Options_CanMove_Name); ImGui.Spacing(); diff --git a/ChatTwo/Ui/SettingsTabs/Tabs.cs b/ChatTwo/Ui/SettingsTabs/Tabs.cs index e60e2e9..a0e070a 100755 --- a/ChatTwo/Ui/SettingsTabs/Tabs.cs +++ b/ChatTwo/Ui/SettingsTabs/Tabs.cs @@ -79,7 +79,7 @@ internal sealed class Tabs : ISettingsTab { if (tab.PopOut) { ImGui.Checkbox(Language.Options_Tabs_IndependentOpacity, ref tab.IndependentOpacity); if (tab.IndependentOpacity) { - ImGuiUtil.DragFloatVertical(Language.Options_Tabs_Opacity, ref tab.Opacity, 0.1f, 0f, 100f); + ImGuiUtil.DragFloatVertical(Language.Options_Tabs_Opacity, ref tab.Opacity, 0.25f, 0f, 100f, $"{tab.Opacity:N2}%%", ImGuiSliderFlags.AlwaysClamp); } }