diff --git a/.global.editorconfig.ini b/.global.editorconfig.ini index 4af46f526e..321b5b618e 100644 --- a/.global.editorconfig.ini +++ b/.global.editorconfig.ini @@ -22,6 +22,8 @@ dotnet_diagnostic.BHI1101.severity = error dotnet_diagnostic.BHI1102.severity = error # Don't call typeof(T).ToString(), use nameof operator or typeof(T).FullName dotnet_diagnostic.BHI1103.severity = error +# Don't use ^= (XOR-assign) for inverting the value of booleans +dotnet_diagnostic.BHI1104.severity = error # Brackets of collection expression should be separated with spaces dotnet_diagnostic.BHI1110.severity = warning # Expression-bodied member should be flowed to next line correctly diff --git a/ExternalProjects/BizHawk.Analyzer/UseSimplerBoolFlipAnalyzer.cs b/ExternalProjects/BizHawk.Analyzer/UseSimplerBoolFlipAnalyzer.cs new file mode 100644 index 0000000000..32b83543eb --- /dev/null +++ b/ExternalProjects/BizHawk.Analyzer/UseSimplerBoolFlipAnalyzer.cs @@ -0,0 +1,79 @@ +namespace BizHawk.Analyzers; + +using System.Collections.Immutable; + +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Diagnostics; +using Microsoft.CodeAnalysis.Operations; + +/// shoutouts to SimpleFlips +[DiagnosticAnalyzer(LanguageNames.CSharp)] +public sealed class UseSimplerBoolFlipAnalyzer : DiagnosticAnalyzer +{ + private const string ERR_MSG_SIMPLE = "Use e.g. `b = !b;` instead of `b ^= true;`"; + + private const string ERR_MSG_COMPLEX = $"{ERR_MSG_SIMPLE} (you may want to store part of the expression in a local variable to avoid repeated side-effects or computation)"; + + private static readonly DiagnosticDescriptor DiagUseSimplerBoolFlip = new( + id: "BHI1104", + title: "Don't use ^= (XOR-assign) for inverting the value of booleans", + messageFormat: "{0}", + category: "Usage", + defaultSeverity: DiagnosticSeverity.Error, + isEnabledByDefault: true); + + public override ImmutableArray SupportedDiagnostics { get; } = ImmutableArray.Create(DiagUseSimplerBoolFlip); + + public override void Initialize(AnalysisContext context) + { + context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); + context.EnableConcurrentExecution(); + ISymbol? boolSym = null; + context.RegisterOperationAction( + oac => + { + static bool IsZeroWorkLocalOrFieldRef(IOperation trunk) + { + while (trunk.Kind is OperationKind.FieldReference) + { + if (trunk.ChildOperations.Count is 0) return true; // in the unit test, the node(s) for the implicit `this.` are missing for some reason + trunk = trunk.ChildOperations.First(); + } + return trunk.Kind is OperationKind.InstanceReference or OperationKind.LocalReference; + } + var operation = (ICompoundAssignmentOperation) oac.Operation; + if (operation.OperatorKind is not BinaryOperatorKind.ExclusiveOr) return; + boolSym ??= oac.Compilation.GetTypeByMetadataName("System.Boolean")!; + if (!boolSym.Matches(operation.Type)) return; + if (operation.Value.Kind is not OperationKind.Literal) return; + var lhsOp = operation.Target; + bool lhsIsSimpleExpr; + switch (lhsOp.Kind) + { + case OperationKind.PropertyReference: + lhsIsSimpleExpr = false; + break; + case OperationKind.FieldReference: + lhsIsSimpleExpr = IsZeroWorkLocalOrFieldRef(lhsOp); + break; + case OperationKind.LocalReference: + lhsIsSimpleExpr = true; + break; + case OperationKind.ArrayElementReference: + lhsIsSimpleExpr = false; + break; + default: + oac.ReportDiagnostic(Diagnostic.Create(DiagUseSimplerBoolFlip, operation.Syntax.GetLocation(), $"Left-hand side of XOR-assign was of an unexpected kind: {lhsOp.GetType().FullName}")); + return; + } + oac.ReportDiagnostic(Diagnostic.Create( + DiagUseSimplerBoolFlip, + operation.Syntax.GetLocation(), + lhsIsSimpleExpr ? DiagnosticSeverity.Error : DiagnosticSeverity.Warning, + additionalLocations: null, + properties: null, + lhsIsSimpleExpr ? ERR_MSG_SIMPLE : ERR_MSG_COMPLEX)); + }, + OperationKind.CompoundAssignment); + } +} diff --git a/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/UseSimplerBoolFlipAnalyzerTests.cs b/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/UseSimplerBoolFlipAnalyzerTests.cs new file mode 100644 index 0000000000..9caf862c97 --- /dev/null +++ b/ExternalProjects/BizHawk.AnalyzersTests/BizHawk.Analyzer/UseSimplerBoolFlipAnalyzerTests.cs @@ -0,0 +1,40 @@ +namespace BizHawk.Tests.Analyzers; + +using System.Threading.Tasks; + +using Microsoft.VisualStudio.TestTools.UnitTesting; + +using Verify = Microsoft.CodeAnalysis.CSharp.Testing.CSharpAnalyzerVerifier< + BizHawk.Analyzers.UseSimplerBoolFlipAnalyzer, + Microsoft.CodeAnalysis.Testing.DefaultVerifier>; + +[TestClass] +public sealed class UseSimplerBoolFlipAnalyzerTests +{ + [TestMethod] + public Task CheckMisuseOfXORAssignment() + => Verify.VerifyAnalyzerAsync(""" + public static class Cases { + private static int _z = default; + private static bool _a = default; + private static void CasesMethod() { + _z ^= 0xA5A5; + _a ^= DummyMethod(); + {|BHI1104:_a ^= true|}; + var b = false; + {|BHI1104:b ^= true|}; + bool c = default; + {|BHI1104:c ^= false|}; // this is effectively a no-op so there's no reason it would be used in the first place, but it was easier to flag both + {|BHI1104:AnotherClass.GetInstance().Prop ^= true|}; // care needs to be taken with non-trivial expressions like this; a different message will be given + } + private static bool DummyMethod() + => default; + } + public sealed class AnotherClass { + public static AnotherClass GetInstance() + => new(); + public bool Prop { get; set; } + private AnotherClass() {} + } + """); +} diff --git a/References/BizHawk.Analyzer.dll b/References/BizHawk.Analyzer.dll index 7ab18256e5..c72f054f26 100644 Binary files a/References/BizHawk.Analyzer.dll and b/References/BizHawk.Analyzer.dll differ diff --git a/src/BizHawk.Client.Common/Controller.cs b/src/BizHawk.Client.Common/Controller.cs index 506a456072..e359e2349a 100644 --- a/src/BizHawk.Client.Common/Controller.cs +++ b/src/BizHawk.Client.Common/Controller.cs @@ -147,10 +147,7 @@ namespace BizHawk.Client.Common _axes[button] = controller.AxisValue(button); } - foreach (var button in controller.InversedButtons) - { - _buttons[button] ^= true; - } + foreach (var button in controller.InversedButtons) _buttons[button] = !_buttons[button]; } public void BindMulti(string button, string controlString) diff --git a/src/BizHawk.Client.Common/RecentFiles.cs b/src/BizHawk.Client.Common/RecentFiles.cs index 741a973883..5f37582d1b 100644 --- a/src/BizHawk.Client.Common/RecentFiles.cs +++ b/src/BizHawk.Client.Common/RecentFiles.cs @@ -74,8 +74,6 @@ namespace BizHawk.Client.Common } public void ToggleAutoLoad() - { - AutoLoad ^= true; - } + => AutoLoad = !AutoLoad; } } diff --git a/src/BizHawk.Client.Common/SaveSlotManager.cs b/src/BizHawk.Client.Common/SaveSlotManager.cs index 0d396f73d6..5760e21801 100644 --- a/src/BizHawk.Client.Common/SaveSlotManager.cs +++ b/src/BizHawk.Client.Common/SaveSlotManager.cs @@ -67,7 +67,7 @@ namespace BizHawk.Client.Common public void ToggleRedo(IMovie movie, int slot) { - if (slot is >= 1 and <= 10 && movie is not ITasMovie) _redo[slot - 1] ^= true; + if (slot is >= 1 and <= 10 && movie is not ITasMovie) _redo[slot - 1] = !_redo[slot - 1]; } public bool IsRedo(IMovie movie, int slot) diff --git a/src/BizHawk.Client.Common/tools/Cheat.cs b/src/BizHawk.Client.Common/tools/Cheat.cs index e91f720b02..fc64c3242b 100644 --- a/src/BizHawk.Client.Common/tools/Cheat.cs +++ b/src/BizHawk.Client.Common/tools/Cheat.cs @@ -149,7 +149,7 @@ namespace BizHawk.Client.Common { if (!IsSeparator) { - _enabled ^= true; + _enabled = !_enabled; if (handleChange) { Changes(); diff --git a/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs b/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs index 75a5fe6736..ede55f46d6 100644 --- a/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs +++ b/src/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs @@ -988,7 +988,7 @@ namespace BizHawk.Client.EmuHawk ShortcutKeyDisplayString = RotateHotkeyStr }; - rotate.Click += (o, ev) => { HorizontalOrientation ^= true; }; + rotate.Click += (_, _) => HorizontalOrientation = !HorizontalOrientation; yield return rotate; } @@ -1372,10 +1372,7 @@ namespace BizHawk.Client.EmuHawk } else if (e.IsCtrlShift(Keys.F)) { - if (Rotatable) - { - HorizontalOrientation ^= true; - } + if (Rotatable) HorizontalOrientation = !HorizontalOrientation; } // Scroll else if (e.IsPressed(Keys.PageUp)) diff --git a/src/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs b/src/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs index a765b61d8e..c5b2399847 100644 --- a/src/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs +++ b/src/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs @@ -189,7 +189,7 @@ namespace BizHawk.Client.EmuHawk.ToolExtensions Text = recent.Frozen ? "&Unfreeze" : "&Freeze", Image = recent.Frozen ? Properties.Resources.Unfreeze : Properties.Resources.Freeze }; - freezeItem.Click += (o, ev) => recent.Frozen ^= true; + freezeItem.Click += (_, _) => recent.Frozen = !recent.Frozen; items.Add(freezeItem); if (!noAutoload) diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Events.cs b/src/BizHawk.Client.EmuHawk/MainForm.Events.cs index 5c03d6e7f4..b33ee1f654 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -359,13 +359,10 @@ namespace BizHawk.Client.EmuHawk private void LoadNamedStateMenuItem_Click(object sender, EventArgs e) => LoadStateAs(); private void AutoloadLastSlotMenuItem_Click(object sender, EventArgs e) - { - Config.AutoLoadLastSaveSlot ^= true; - } + => Config.AutoLoadLastSaveSlot = !Config.AutoLoadLastSaveSlot; + private void AutosaveLastSlotMenuItem_Click(object sender, EventArgs e) - { - Config.AutoSaveLastSaveSlot ^= true; - } + => Config.AutoSaveLastSaveSlot = !Config.AutoSaveLastSaveSlot; private void SelectSlotMenuItems_Click(object sender, EventArgs e) { @@ -510,14 +507,10 @@ namespace BizHawk.Client.EmuHawk } private void AutomaticMovieBackupMenuItem_Click(object sender, EventArgs e) - { - Config.Movies.EnableBackupMovies ^= true; - } + => Config.Movies.EnableBackupMovies = !Config.Movies.EnableBackupMovies; private void FullMovieLoadstatesMenuItem_Click(object sender, EventArgs e) - { - Config.Movies.VBAStyleMovieLoadState ^= true; - } + => Config.Movies.VBAStyleMovieLoadState = !Config.Movies.VBAStyleMovieLoadState; private void MovieEndFinishMenuItem_Click(object sender, EventArgs e) { @@ -601,9 +594,7 @@ namespace BizHawk.Client.EmuHawk } private void ScreenshotCaptureOSDMenuItem_Click(object sender, EventArgs e) - { - Config.ScreenshotCaptureOsd ^= true; - } + => Config.ScreenshotCaptureOsd = !Config.ScreenshotCaptureOsd; private void ExitMenuItem_Click(object sender, EventArgs e) { @@ -728,25 +719,19 @@ namespace BizHawk.Client.EmuHawk } private void DisplayRerecordsMenuItem_Click(object sender, EventArgs e) - { - Config.DisplayRerecordCount ^= true; - } + => Config.DisplayRerecordCount = !Config.DisplayRerecordCount; private void DisplaySubtitlesMenuItem_Click(object sender, EventArgs e) - { - Config.DisplaySubtitles ^= true; - } + => Config.DisplaySubtitles = !Config.DisplaySubtitles; private void DisplayStatusBarMenuItem_Click(object sender, EventArgs e) { - Config.DispChromeStatusBarWindowed ^= true; + Config.DispChromeStatusBarWindowed = !Config.DispChromeStatusBarWindowed; SetStatusBar(); } private void DisplayMessagesMenuItem_Click(object sender, EventArgs e) - { - Config.DisplayMessages ^= true; - } + => Config.DisplayMessages = !Config.DisplayMessages; private void DisplayLogWindowMenuItem_Click(object sender, EventArgs e) { @@ -959,7 +944,7 @@ namespace BizHawk.Client.EmuHawk private void ClockThrottleMenuItem_Click(object sender, EventArgs e) { - Config.ClockThrottle ^= true; + Config.ClockThrottle = !Config.ClockThrottle; if (Config.ClockThrottle) { var old = Config.SoundThrottle; @@ -982,7 +967,7 @@ namespace BizHawk.Client.EmuHawk private void AudioThrottleMenuItem_Click(object sender, EventArgs e) { - Config.SoundThrottle ^= true; + Config.SoundThrottle = !Config.SoundThrottle; RewireSound(); if (Config.SoundThrottle) { @@ -1000,7 +985,7 @@ namespace BizHawk.Client.EmuHawk private void VsyncThrottleMenuItem_Click(object sender, EventArgs e) { - Config.VSyncThrottle ^= true; + Config.VSyncThrottle = !Config.VSyncThrottle; _presentationPanel.Resized = true; if (Config.VSyncThrottle) { @@ -1024,7 +1009,7 @@ namespace BizHawk.Client.EmuHawk private void VsyncEnabledMenuItem_Click(object sender, EventArgs e) { - Config.VSync ^= true; + Config.VSync = !Config.VSync; if (!Config.VSyncThrottle) // when vsync throttle is on, vsync is forced to on, so no change to make here { _presentationPanel.Resized = true; @@ -1038,14 +1023,12 @@ namespace BizHawk.Client.EmuHawk private void ToggleUnthrottled() { - Config.Unthrottled ^= true; + Config.Unthrottled = !Config.Unthrottled; ThrottleMessage(); } private void MinimizeSkippingMenuItem_Click(object sender, EventArgs e) - { - Config.AutoMinimizeSkipping ^= true; - } + => Config.AutoMinimizeSkipping = !Config.AutoMinimizeSkipping; private void NeverSkipMenuItem_Click(object sender, EventArgs e) { Config.FrameSkip = 0; FrameSkipMessage(); } private void Frameskip1MenuItem_Click(object sender, EventArgs e) { Config.FrameSkip = 1; FrameSkipMessage(); } @@ -1781,9 +1764,7 @@ namespace BizHawk.Client.EmuHawk } private void N64CircularAnalogRangeMenuItem_Click(object sender, EventArgs e) - { - Config.N64UseCircularAnalogConstraint ^= true; - } + => Config.N64UseCircularAnalogConstraint = !Config.N64UseCircularAnalogConstraint; private static void Mupen64PlusSetMupenStyleLag(bool newValue, ISettingsAdapter settable) { @@ -2450,7 +2431,7 @@ namespace BizHawk.Client.EmuHawk private void ShowMenuContextMenuItem_Click(object sender, EventArgs e) { - MainMenuStrip.Visible ^= true; + MainMenuStrip.Visible = !MainMenuStrip.Visible; FrameBufferResized(); } @@ -2558,8 +2539,9 @@ namespace BizHawk.Client.EmuHawk // toggle Link status (only outside of a movie session) if (!MovieSession.Movie.IsPlaying()) { - Emulator.AsLinkable().LinkConnected ^= true; - Console.WriteLine("Cable connect status to {0}", Emulator.AsLinkable().LinkConnected); + var core = Emulator.AsLinkable(); + core.LinkConnected = !core.LinkConnected; + Console.WriteLine($"Cable connect status to {core.LinkConnected}"); } } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs b/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs index 071c942098..9df8e26fc4 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs @@ -151,7 +151,7 @@ namespace BizHawk.Client.EmuHawk RebootCore(); break; case "Toggle Skip Lag Frame": - Config.SkipLagFrame ^= true; + Config.SkipLagFrame = !Config.SkipLagFrame; AddOnScreenMessage($"Skip Lag Frames toggled {(Config.SkipLagFrame ? "On" : "Off")}"); break; case "Toggle Key Priority": @@ -382,15 +382,18 @@ namespace BizHawk.Client.EmuHawk break; case "Toggle Follow Cursor": if (!Tools.IsLoaded()) return false; - Tools.TAStudio.TasPlaybackBox.FollowCursor ^= true; + var playbackBox = Tools.TAStudio.TasPlaybackBox; + playbackBox.FollowCursor = !playbackBox.FollowCursor; break; case "Toggle Auto-Restore": if (!Tools.IsLoaded()) return false; - Tools.TAStudio.TasPlaybackBox.AutoRestore ^= true; + var playbackBox1 = Tools.TAStudio.TasPlaybackBox; + playbackBox1.AutoRestore = !playbackBox1.AutoRestore; break; case "Toggle Turbo Seek": if (!Tools.IsLoaded()) return false; - Tools.TAStudio.TasPlaybackBox.TurboSeek ^= true; + var playbackBox2 = Tools.TAStudio.TasPlaybackBox; + playbackBox2.TurboSeek = !playbackBox2.TurboSeek; break; case "Undo": if (!Tools.IsLoaded()) return false; diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs b/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs index ff10c7230d..a4e8564e7b 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs @@ -129,7 +129,7 @@ namespace BizHawk.Client.EmuHawk { if (MovieSession.Movie.IsActive()) { - MovieSession.ReadOnly ^= true; + MovieSession.ReadOnly = !MovieSession.ReadOnly; AddOnScreenMessage(MovieSession.ReadOnly ? "Movie read-only mode" : "Movie read+write mode"); } else diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 868585eba8..9a747a827d 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -120,7 +120,7 @@ namespace BizHawk.Client.EmuHawk var GBInSGBMenuItem = new ToolStripMenuItem { Text = "GB in SGB" }; GBInSGBMenuItem.Click += (_, _) => { - Config.GbAsSgb ^= true; + Config.GbAsSgb = !Config.GbAsSgb; if (Emulator.SystemId is VSystemID.Raw.GB or VSystemID.Raw.GBC or VSystemID.Raw.SGB) FlagNeedsReboot(); }; CoresSubMenu.DropDownItems.Add(GBInSGBMenuItem); @@ -1298,7 +1298,7 @@ namespace BizHawk.Client.EmuHawk public void TogglePause() { - EmulatorPaused ^= true; + EmulatorPaused = !EmulatorPaused; SetPauseStatusBarIcon(); // TODO: have tastudio set a pause status change callback, or take control over pause @@ -1626,16 +1626,16 @@ namespace BizHawk.Client.EmuHawk switch (layer) { case 1: - result = s.ShowBG1_0 = s.ShowBG1_1 ^= true; + result = s.ShowBG1_0 = s.ShowBG1_1 = !s.ShowBG1_1; break; case 2: - result = s.ShowBG2_0 = s.ShowBG2_1 ^= true; + result = s.ShowBG2_0 = s.ShowBG2_1 = !s.ShowBG2_1; break; case 3: - result = s.ShowBG3_0 = s.ShowBG3_1 ^= true; + result = s.ShowBG3_0 = s.ShowBG3_1 = !s.ShowBG3_1; break; case 4: - result = s.ShowBG4_0 = s.ShowBG4_1 ^= true; + result = s.ShowBG4_0 = s.ShowBG4_1 = !s.ShowBG4_1; break; } @@ -1648,16 +1648,16 @@ namespace BizHawk.Client.EmuHawk switch (layer) { case 1: - result = s.ShowBG1_0 = s.ShowBG1_1 ^= true; + result = s.ShowBG1_0 = s.ShowBG1_1 = !s.ShowBG1_1; break; case 2: - result = s.ShowBG2_0 = s.ShowBG2_1 ^= true; + result = s.ShowBG2_0 = s.ShowBG2_1 = !s.ShowBG2_1; break; case 3: - result = s.ShowBG3_0 = s.ShowBG3_1 ^= true; + result = s.ShowBG3_0 = s.ShowBG3_1 = !s.ShowBG3_1; break; case 4: - result = s.ShowBG4_0 = s.ShowBG4_1 ^= true; + result = s.ShowBG4_0 = s.ShowBG4_1 = !s.ShowBG4_1; break; } @@ -1670,16 +1670,16 @@ namespace BizHawk.Client.EmuHawk switch (layer) { case 1: - result = s.ShowBg0 ^= true; + result = s.ShowBg0 = !s.ShowBg0; break; case 2: - result = s.ShowBg1 ^= true; + result = s.ShowBg1 = !s.ShowBg1; break; case 3: - result = s.ShowBg2 ^= true; + result = s.ShowBg2 = !s.ShowBg2; break; case 4: - result = s.ShowBg3 ^= true; + result = s.ShowBg3 = !s.ShowBg3; break; } @@ -1704,10 +1704,10 @@ namespace BizHawk.Client.EmuHawk var s = bsnes.GetSettings(); result = layer switch { - 1 => (s.ShowOBJ_0 ^= true), - 2 => (s.ShowOBJ_1 ^= true), - 3 => (s.ShowOBJ_2 ^= true), - 4 => (s.ShowOBJ_3 ^= true), + 1 => s.ShowOBJ_0 = !s.ShowOBJ_0, + 2 => s.ShowOBJ_1 = !s.ShowOBJ_1, + 3 => s.ShowOBJ_2 = !s.ShowOBJ_2, + 4 => s.ShowOBJ_3 = !s.ShowOBJ_3, _ => result }; @@ -1719,10 +1719,10 @@ namespace BizHawk.Client.EmuHawk var s = snes9X.GetSettings(); result = layer switch { - 1 => (s.ShowSprites0 ^= true), - 2 => (s.ShowSprites1 ^= true), - 3 => (s.ShowSprites2 ^= true), - 4 => (s.ShowSprites3 ^= true), + 1 => s.ShowSprites0 = !s.ShowSprites0, + 2 => s.ShowSprites1 = !s.ShowSprites1, + 3 => s.ShowSprites2 = !s.ShowSprites2, + 4 => s.ShowSprites3 = !s.ShowSprites3, _ => result }; @@ -2646,28 +2646,20 @@ namespace BizHawk.Client.EmuHawk } private void ToggleFps() - { - Config.DisplayFps ^= true; - } + => Config.DisplayFps = !Config.DisplayFps; private void ToggleFrameCounter() - { - Config.DisplayFrameCounter ^= true; - } + => Config.DisplayFrameCounter = !Config.DisplayFrameCounter; private void ToggleLagCounter() - { - Config.DisplayLagCounter ^= true; - } + => Config.DisplayLagCounter = !Config.DisplayLagCounter; private void ToggleInputDisplay() - { - Config.DisplayInput ^= true; - } + => Config.DisplayInput = !Config.DisplayInput; public void ToggleSound() { - Config.SoundEnabled ^= true; + Config.SoundEnabled = !Config.SoundEnabled; Sound.StopSound(); Sound.StartSound(); } @@ -2945,7 +2937,7 @@ namespace BizHawk.Client.EmuHawk private void ToggleBackgroundInput() { - Config.AcceptBackgroundInput ^= true; + Config.AcceptBackgroundInput = !Config.AcceptBackgroundInput; AddOnScreenMessage($"Background Input {(Config.AcceptBackgroundInput ? "enabled" : "disabled")}"); } diff --git a/src/BizHawk.Client.EmuHawk/PlatformChooser.cs b/src/BizHawk.Client.EmuHawk/PlatformChooser.cs index 6ee4734236..5a47d7b5eb 100644 --- a/src/BizHawk.Client.EmuHawk/PlatformChooser.cs +++ b/src/BizHawk.Client.EmuHawk/PlatformChooser.cs @@ -73,8 +73,6 @@ namespace BizHawk.Client.EmuHawk } private void label4_Click(object sender, EventArgs e) - { - AlwaysCheckbox.Checked ^= true; - } + => AlwaysCheckbox.Checked = !AlwaysCheckbox.Checked; } } diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs index 1d34cdccd5..6ece2ed1c6 100644 --- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs +++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RAIntegration.cs @@ -67,7 +67,11 @@ namespace BizHawk.Client.EmuHawk Checked = _getConfig().RAAutostart, CheckOnClick = true, }; - tsi.CheckedChanged += (_, _) => _getConfig().RAAutostart ^= true; + tsi.CheckedChanged += (_, _) => + { + var config = _getConfig(); + config.RAAutostart = !config.RAAutostart; + }; _raDropDownItems.Add(tsi); var tss = new ToolStripSeparator(); diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.Achievements.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.Achievements.cs index 5823a37598..bd4fe51082 100644 --- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.Achievements.cs +++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.Achievements.cs @@ -147,14 +147,14 @@ namespace BizHawk.Client.EmuHawk { if (_gameData.GameID == 0) { - AllowUnofficialCheevos ^= true; + AllowUnofficialCheevos = !AllowUnofficialCheevos; return; } _activeModeUnlocksRequest.Wait(); DeactivateCheevos(HardcoreMode); - AllowUnofficialCheevos ^= true; + AllowUnofficialCheevos = !AllowUnofficialCheevos; ActivateCheevos(HardcoreMode); } diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.cs index bb08325a64..a386aa4258 100644 --- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.cs +++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RCheevos.cs @@ -72,7 +72,11 @@ namespace BizHawk.Client.EmuHawk Checked = _getConfig().RAAutostart, CheckOnClick = true, }; - autoStartRAItem.CheckedChanged += (_, _) => _getConfig().RAAutostart ^= true; + autoStartRAItem.CheckedChanged += (_, _) => + { + var config = _getConfig(); + config.RAAutostart = !config.RAAutostart; + }; raDropDownItems.Add(autoStartRAItem); var loginItem = new ToolStripMenuItem("Login") @@ -110,7 +114,7 @@ namespace BizHawk.Client.EmuHawk Checked = CheevosActive, CheckOnClick = true }; - enableCheevosItem.CheckedChanged += (_, _) => CheevosActive ^= true; + enableCheevosItem.CheckedChanged += (_, _) => CheevosActive = !CheevosActive; raDropDownItems.Add(enableCheevosItem); var enableLboardsItem = new ToolStripMenuItem("Enable Leaderboards") @@ -119,7 +123,7 @@ namespace BizHawk.Client.EmuHawk CheckOnClick = true, Enabled = HardcoreMode }; - enableLboardsItem.CheckedChanged += (_, _) => LBoardsActive ^= true; + enableLboardsItem.CheckedChanged += (_, _) => LBoardsActive = !LBoardsActive; raDropDownItems.Add(enableLboardsItem); var enableRichPresenceItem = new ToolStripMenuItem("Enable Rich Presence") @@ -127,7 +131,7 @@ namespace BizHawk.Client.EmuHawk Checked = RichPresenceActive, CheckOnClick = true }; - enableRichPresenceItem.CheckedChanged += (_, _) => RichPresenceActive ^= true; + enableRichPresenceItem.CheckedChanged += (_, _) => RichPresenceActive = !RichPresenceActive; raDropDownItems.Add(enableRichPresenceItem); var enableHardcoreItem = new ToolStripMenuItem("Enable Hardcore Mode") @@ -137,8 +141,7 @@ namespace BizHawk.Client.EmuHawk }; enableHardcoreItem.CheckedChanged += (_, _) => { - _hardcoreMode ^= true; - + _hardcoreMode = !_hardcoreMode; if (HardcoreMode) { _hardcoreMode = _mainForm.RebootCore(); // unset hardcore mode if we fail to reboot core somehow @@ -159,7 +162,7 @@ namespace BizHawk.Client.EmuHawk Checked = EnableSoundEffects, CheckOnClick = true }; - enableSoundEffectsItem.CheckedChanged += (_, _) => EnableSoundEffects ^= true; + enableSoundEffectsItem.CheckedChanged += (_, _) => EnableSoundEffects = !EnableSoundEffects; raDropDownItems.Add(enableSoundEffectsItem); var enableUnofficialCheevosItem = new ToolStripMenuItem("Test Unofficial Achievements") diff --git a/src/BizHawk.Client.EmuHawk/config/AnalogRangeConfig.cs b/src/BizHawk.Client.EmuHawk/config/AnalogRangeConfig.cs index 9a0aa23098..c9a4e222c8 100644 --- a/src/BizHawk.Client.EmuHawk/config/AnalogRangeConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/AnalogRangeConfig.cs @@ -121,7 +121,7 @@ namespace BizHawk.Client.EmuHawk } else if (e.Button == MouseButtons.Right) { - Radial ^= true; + Radial = !Radial; } base.OnMouseDown(e); diff --git a/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs b/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs index 121c2c0475..587cc15070 100755 --- a/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs @@ -366,9 +366,7 @@ namespace BizHawk.Client.EmuHawk } private void Label13_Click(object sender, EventArgs e) - { - cbAllowTearing.Checked ^= true; - } + => cbAllowTearing.Checked = !cbAllowTearing.Checked; private void BtnDefaults_Click(object sender, EventArgs e) { diff --git a/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs b/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs index 5a4396de13..bb9a77c051 100644 --- a/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs +++ b/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs @@ -387,9 +387,7 @@ namespace BizHawk.Client.EmuHawk => MemoryDomainsMenuItem.ReplaceDropDownItems(MemoryDomains.MenuItems(SetMemoryDomain, _currentDomain.Name).ToArray()); private void BigEndianMenuItem_Click(object sender, EventArgs e) - { - _bigEndian ^= true; - } + => _bigEndian = !_bigEndian; private void DataSizeMenuItem_DropDownOpened(object sender, EventArgs e) { @@ -414,9 +412,7 @@ namespace BizHawk.Client.EmuHawk } private void TurboWhileBottingMenuItem_Click(object sender, EventArgs e) - { - Settings.TurboWhenBotting ^= true; - } + => Settings.TurboWhenBotting = !Settings.TurboWhenBotting; private void RunBtn_Click(object sender, EventArgs e) { @@ -1300,9 +1296,7 @@ namespace BizHawk.Client.EmuHawk } private void InvisibleEmulationCheckBox_CheckedChanged(object sender, EventArgs e) - { - Settings.InvisibleEmulation ^= true; - } + => Settings.InvisibleEmulation = !Settings.InvisibleEmulation; private void MaximizeAddressBox_TextChanged(object sender, EventArgs e) { diff --git a/src/BizHawk.Client.EmuHawk/tools/CDL.cs b/src/BizHawk.Client.EmuHawk/tools/CDL.cs index 9b8a5e3b2e..1f05455270 100644 --- a/src/BizHawk.Client.EmuHawk/tools/CDL.cs +++ b/src/BizHawk.Client.EmuHawk/tools/CDL.cs @@ -575,18 +575,12 @@ namespace BizHawk.Client.EmuHawk } private void MiAutoSave_Click(object sender, EventArgs e) - { - CDLAutoSave ^= true; - } + => CDLAutoSave = !CDLAutoSave; private void MiAutoStart_Click(object sender, EventArgs e) - { - CDLAutoStart ^= true; - } + => CDLAutoStart = !CDLAutoStart; private void MiAutoResume_Click(object sender, EventArgs e) - { - CDLAutoResume ^= true; - } + => CDLAutoResume = !CDLAutoResume; } } diff --git a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs index 40fc5346be..0c6ed44be9 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs @@ -505,19 +505,13 @@ namespace BizHawk.Client.EmuHawk } private void AlwaysLoadCheatsMenuItem_Click(object sender, EventArgs e) - { - Config.Cheats.LoadFileByGame ^= true; - } + => Config.Cheats.LoadFileByGame = !Config.Cheats.LoadFileByGame; private void AutoSaveCheatsMenuItem_Click(object sender, EventArgs e) - { - Config.Cheats.AutoSaveOnClose ^= true; - } + => Config.Cheats.AutoSaveOnClose = !Config.Cheats.AutoSaveOnClose; private void CheatsOnOffLoadMenuItem_Click(object sender, EventArgs e) - { - Config.Cheats.DisableOnLoad ^= true; - } + => Config.Cheats.DisableOnLoad = !Config.Cheats.DisableOnLoad; [RestoreDefaults] private void RestoreDefaults() @@ -574,7 +568,7 @@ namespace BizHawk.Client.EmuHawk MainForm.CheatList.Sort(column.Name, _sortReverse); _sortedColumn = column.Name; - _sortReverse ^= true; + _sortReverse = !_sortReverse; GeneralUpdate(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs b/src/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs index a54330acdb..cf35200233 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs @@ -218,11 +218,7 @@ namespace BizHawk.Client.EmuHawk var items = EditableItems.ToList(); if (items.Any()) { - foreach (var item in items) - { - item.Active ^= true; - } - + foreach (var item in items) item.Active = !item.Active; BreakpointView.VirtualListSize = _breakpoints.Count; UpdateBreakpointRemoveButton(); UpdateStatsLabel(); @@ -245,11 +241,7 @@ namespace BizHawk.Client.EmuHawk private void ToggleButton_Click(object sender, EventArgs e) { - foreach (var item in SelectedItems) - { - item.Active ^= true; - } - + foreach (var item in SelectedItems) item.Active = !item.Active; BreakpointView.VirtualListSize = _breakpoints.Count; UpdateStatsLabel(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs index 5cc1ef9247..03a06fdaa3 100644 --- a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs +++ b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs @@ -1574,7 +1574,7 @@ namespace BizHawk.Client.EmuHawk private void BigEndianMenuItem_Click(object sender, EventArgs e) { - BigEndian ^= true; + BigEndian = !BigEndian; GeneralUpdate(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index 7cff5ff83b..099183583a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -1094,19 +1094,14 @@ namespace BizHawk.Client.EmuHawk } private void DisableScriptsOnLoadMenuItem_Click(object sender, EventArgs e) - { - Settings.DisableLuaScriptsOnLoad ^= true; - } + => Settings.DisableLuaScriptsOnLoad = !Settings.DisableLuaScriptsOnLoad; private void ToggleAllIfNoneSelectedMenuItem_Click(object sender, EventArgs e) - { - Settings.ToggleAllIfNoneSelected ^= true; - } + => Settings.ToggleAllIfNoneSelected = !Settings.ToggleAllIfNoneSelected; private void ReloadWhenScriptFileChangesMenuItem_Click(object sender, EventArgs e) { - Settings.ReloadOnScriptFileChange ^= true; - + Settings.ReloadOnScriptFileChange = !Settings.ReloadOnScriptFileChange; if (Settings.ReloadOnScriptFileChange) { AddFileWatches(); diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaFunctionsForm.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaFunctionsForm.cs index 921de8263f..aa379733b9 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaFunctionsForm.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaFunctionsForm.cs @@ -99,11 +99,7 @@ namespace BizHawk.Client.EmuHawk get => _column; set { - if (_column == value) - { - Descending ^= true; - } - + if (_column == value) Descending = !Descending; _column = value; } } diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs index 9a6443fc25..5918435672 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs @@ -804,9 +804,7 @@ namespace BizHawk.Client.EmuHawk private readonly byte[] _chrRomCache = new byte[8192]; private void ChrROMTileViewerToolStripMenuItem_Click(object sender, EventArgs e) - { - ChrRomView ^= true; - } + => ChrRomView = !ChrRomView; private void CalculateFormSize() { diff --git a/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs b/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs index 0d893ad13c..71858075f2 100644 --- a/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs +++ b/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs @@ -1376,14 +1376,10 @@ namespace BizHawk.Client.EmuHawk } private void lblEnPrio2_Click(object sender, EventArgs e) - { - checkEN2_OBJ.Checked ^= true; - } + => checkEN2_OBJ.Checked = !checkEN2_OBJ.Checked; private void lblEnPrio3_Click(object sender, EventArgs e) - { - checkEN3_OBJ.Checked ^= true; - } + => checkEN3_OBJ.Checked = !checkEN3_OBJ.Checked; } //class SNESGraphicsDebugger } //namespace BizHawk.Client.EmuHawk diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/PlaybackBox.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/PlaybackBox.cs index 6e96b576f1..defe37d029 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/PlaybackBox.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/PlaybackBox.cs @@ -95,26 +95,19 @@ namespace BizHawk.Client.EmuHawk private void TurboSeekCheckbox_CheckedChanged(object sender, EventArgs e) { - if (!_loading) - { - Tastudio.Config.TurboSeek ^= true; - } + if (!_loading) Tastudio.Config.TurboSeek = !Tastudio.Config.TurboSeek; } private void AutoRestoreCheckbox_CheckedChanged(object sender, EventArgs e) { - if (!_loading) - { - Tastudio.Settings.AutoRestoreLastPosition ^= true; - } + if (!_loading) Tastudio.Settings.AutoRestoreLastPosition = !Tastudio.Settings.AutoRestoreLastPosition; } private void FollowCursorCheckbox_CheckedChanged(object sender, EventArgs e) { if (!_loading) { - Tastudio.Settings.FollowCursor ^= true; - + Tastudio.Settings.FollowCursor = !Tastudio.Settings.FollowCursor; if (Tastudio.Settings.FollowCursor) { Tastudio.SetVisibleFrame(); @@ -125,7 +118,7 @@ namespace BizHawk.Client.EmuHawk private void RecordingModeCheckbox_MouseClick(object sender, MouseEventArgs e) { - RecordingMode ^= true; + RecordingMode = !RecordingMode; Tastudio.WasRecording = RecordingMode; // hard reset at manual click and hotkey } diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs index 4d2e9d8fea..7304fb8d4a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs @@ -868,9 +868,7 @@ namespace BizHawk.Client.EmuHawk } private void CopyIncludesFrameNoMenuItem_Click(object sender, EventArgs e) - { - Settings.CopyIncludesFrameNo ^= true; - } + => Settings.CopyIncludesFrameNo = !Settings.CopyIncludesFrameNo; private void SetAutosaveIntervalMenuItem_Click(object sender, EventArgs e) { @@ -895,19 +893,13 @@ namespace BizHawk.Client.EmuHawk } private void AutosaveAsBk2MenuItem_Click(object sender, EventArgs e) - { - Settings.AutosaveAsBk2 ^= true; - } + => Settings.AutosaveAsBk2 = !Settings.AutosaveAsBk2; private void AutosaveAsBackupFileMenuItem_Click(object sender, EventArgs e) - { - Settings.AutosaveAsBackupFile ^= true; - } + => Settings.AutosaveAsBackupFile = !Settings.AutosaveAsBackupFile; private void BackupPerFileSaveMenuItem_Click(object sender, EventArgs e) - { - Settings.BackupPerFileSave ^= true; - } + => Settings.BackupPerFileSave = !Settings.BackupPerFileSave; private void ApplyPatternToPaintedInputMenuItem_CheckedChanged(object sender, EventArgs e) { @@ -915,9 +907,7 @@ namespace BizHawk.Client.EmuHawk } private void SingleClickAxisEditMenuItem_Click(object sender, EventArgs e) - { - Settings.SingleClickAxisEdit ^= true; - } + => Settings.SingleClickAxisEdit = !Settings.SingleClickAxisEdit; private void BindMarkersToInputMenuItem_Click(object sender, EventArgs e) { @@ -925,14 +915,10 @@ namespace BizHawk.Client.EmuHawk } private void EmptyNewMarkerNotesMenuItem_Click(object sender, EventArgs e) - { - Settings.EmptyMarkers ^= true; - } + => Settings.EmptyMarkers = !Settings.EmptyMarkers; private void AutoPauseAtEndMenuItem_Click(object sender, EventArgs e) - { - Settings.AutoPause ^= true; - } + => Settings.AutoPause = !Settings.AutoPause; private void AutoHoldMenuItem_CheckedChanged(object sender, EventArgs e) { @@ -985,14 +971,10 @@ namespace BizHawk.Client.EmuHawk } private void OldControlSchemeForBranchesMenuItem_Click(object sender, EventArgs e) - { - Settings.OldControlSchemeForBranches ^= true; - } + => Settings.OldControlSchemeForBranches = !Settings.OldControlSchemeForBranches; private void LoadBranchOnDoubleClickMenuItem_Click(object sender, EventArgs e) - { - Settings.LoadBranchOnDoubleClick ^= true; - } + => Settings.LoadBranchOnDoubleClick = !Settings.LoadBranchOnDoubleClick; private void HeaderMenuItem_Click(object sender, EventArgs e) { @@ -1090,7 +1072,7 @@ namespace BizHawk.Client.EmuHawk private void RotateMenuItem_Click(object sender, EventArgs e) { - TasView.HorizontalOrientation ^= true; + TasView.HorizontalOrientation = !TasView.HorizontalOrientation; CurrentTasMovie.FlagChanges(); } @@ -1102,9 +1084,7 @@ namespace BizHawk.Client.EmuHawk } private void HideWasLagFramesMenuItem_Click(object sender, EventArgs e) - { - TasView.HideWasLagFrames ^= true; - } + => TasView.HideWasLagFrames = !TasView.HideWasLagFrames; private void AlwaysScrollMenuItem_Click(object sender, EventArgs e) { @@ -1287,7 +1267,7 @@ namespace BizHawk.Client.EmuHawk { foreach (ToolStripMenuItem menuItem in dummyObject1.DropDownItems) { - menuItem.Checked ^= true; + menuItem.Checked = !menuItem.Checked; } CurrentTasMovie.FlagChanges(); diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index 239bbaa10e..69e31a5dde 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -703,7 +703,7 @@ namespace BizHawk.Client.EmuHawk private void TastudioToggleReadOnly() { - TasPlaybackBox.RecordingMode ^= true; + TasPlaybackBox.RecordingMode = !TasPlaybackBox.RecordingMode; WasRecording = TasPlaybackBox.RecordingMode; // hard reset at manual click and hotkey } diff --git a/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs b/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs index bc47f27430..7facceb6e1 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs @@ -114,8 +114,7 @@ namespace BizHawk.Client.EmuHawk private void ShowHotkeysMenuItem_Click(object sender, EventArgs e) { - TI83ToolTips ^= true; - + TI83ToolTips = !TI83ToolTips; if (TI83ToolTips) { SetToolTips(); diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs index fc12bd66ff..06a05a219d 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs @@ -224,9 +224,7 @@ namespace BizHawk.Client.EmuHawk } private void StickyMenuItem_Click(object sender, EventArgs e) - { - StickyPads ^= true; - } + => StickyPads = !StickyPads; private void PadBoxContextMenu_Opening(object sender, System.ComponentModel.CancelEventArgs e) { @@ -244,8 +242,6 @@ namespace BizHawk.Client.EmuHawk } private void ClearClearsAnalogInputMenuItem_Click(object sender, EventArgs e) - { - ClearAlsoClearsAnalog ^= true; - } + => ClearAlsoClearsAnalog = !ClearAlsoClearsAnalog; } } diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs index ea421ed657..7d620da1a4 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/controls/VirtualPadButton.cs @@ -82,7 +82,7 @@ namespace BizHawk.Client.EmuHawk if (!ReadOnly) { RightClicked = true; - Checked ^= true; + Checked = !Checked; } return; case 0x0205: // WM_RBUTTONUP diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs index 3d766ea733..f6166455af 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs @@ -1125,7 +1125,7 @@ namespace BizHawk.Client.EmuHawk private void CheckMisalignedMenuItem_Click(object sender, EventArgs e) { - _settings.CheckMisAligned ^= true; + _settings.CheckMisAligned = !_settings.CheckMisAligned; SetReboot(true); } @@ -1146,7 +1146,7 @@ namespace BizHawk.Client.EmuHawk private void BigEndianMenuItem_Click(object sender, EventArgs e) { - _settings.BigEndian ^= true; + _settings.BigEndian = !_settings.BigEndian; _searches.SetEndian(_settings.BigEndian); } @@ -1268,13 +1268,11 @@ namespace BizHawk.Client.EmuHawk } private void PreviewModeMenuItem_Click(object sender, EventArgs e) - { - Settings.PreviewMode ^= true; - } + => Settings.PreviewMode = !Settings.PreviewMode; private void AutoSearchMenuItem_Click(object sender, EventArgs e) { - _autoSearch ^= true; + _autoSearch = !_autoSearch; AutoSearchCheckBox.Checked = _autoSearch; DoSearchToolButton.Enabled = SearchButton.Enabled = @@ -1282,13 +1280,11 @@ namespace BizHawk.Client.EmuHawk } private void AutoSearchAccountForLagMenuItem_Click(object sender, EventArgs e) - { - Settings.AutoSearchTakeLagFramesIntoAccount ^= true; - } + => Settings.AutoSearchTakeLagFramesIntoAccount = !Settings.AutoSearchTakeLagFramesIntoAccount; private void ExcludeRamWatchMenuItem_Click(object sender, EventArgs e) { - Settings.AlwaysExcludeRamWatch ^= true; + Settings.AlwaysExcludeRamWatch = !Settings.AlwaysExcludeRamWatch; if (Settings.AlwaysExcludeRamWatch) { RemoveRamWatchesFromList(); @@ -1297,7 +1293,7 @@ namespace BizHawk.Client.EmuHawk private void UseUndoHistoryMenuItem_Click(object sender, EventArgs e) { - _searches.UndoEnabled ^= true; + _searches.UndoEnabled = !_searches.UndoEnabled; Settings.UseUndoHistory = _searches.UndoEnabled; } @@ -1626,7 +1622,7 @@ namespace BizHawk.Client.EmuHawk _searches.Sort(column.Name, _sortReverse); _sortedColumn = column.Name; - _sortReverse ^= true; + _sortReverse = !_sortReverse; WatchListView.Refresh(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs index 1a0bd4d6be..4a994474ab 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs @@ -580,7 +580,7 @@ namespace BizHawk.Client.EmuHawk _watches.OrderWatches(column.Name, _sortReverse); _sortedColumn = column.Name; - _sortReverse ^= true; + _sortReverse = !_sortReverse; WatchListView.Refresh(); } @@ -1041,8 +1041,7 @@ namespace BizHawk.Client.EmuHawk private void WatchesOnScreenMenuItem_Click(object sender, EventArgs e) { - Config.DisplayRamWatch ^= true; - + Config.DisplayRamWatch = !Config.DisplayRamWatch; if (!Config.DisplayRamWatch) { DisplayManager.OSD.ClearRamWatches(); diff --git a/src/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj b/src/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj index 3d97f35cd7..d7b08cadde 100644 --- a/src/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj +++ b/src/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj @@ -5,7 +5,7 @@ true - $(NoWarn);CA1806;CA1825;CA2214;MA0060;MA0084;MA0090;MA0140;SA1100;SA1120;SA1129;SA1137;SA1205;SA1208;SA1400;SA1514;SA1517 + $(NoWarn);BHI1104;CA1806;CA1825;CA2214;MA0060;MA0084;MA0090;MA0140;SA1100;SA1120;SA1129;SA1137;SA1205;SA1208;SA1400;SA1514;SA1517 disable