From b1eebd9abbbec73c40531b9d0aad3a3d5e8f1731 Mon Sep 17 00:00:00 2001 From: Morilli <35152647+Morilli@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:06:31 +0200 Subject: [PATCH] make virtual pad control clearing autoholds ClearStickies clears buttons and axes, but the virtualpad tool wants to control whether only buttons are cleared. also contains minor cleanups regarding related function calls. --- src/BizHawk.Client.EmuHawk/MainForm.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 2d9ccd8ec2..1e4fe18a5c 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -571,8 +571,6 @@ namespace BizHawk.Client.EmuHawk ); InitControls(); - InputManager.ResetMainControllers(_autofireNullControls); - InputManager.AutofireStickyXorAdapter.SetOnOffPatternFromConfig(Config.AutofireOn, Config.AutofireOff); var savedOutputMethod = Config.SoundOutputMethod; if (savedOutputMethod is ESoundOutputMethod.Dummy) Config.SoundOutputMethod = HostCapabilityDetector.HasXAudio2 ? ESoundOutputMethod.XAudio2 : ESoundOutputMethod.OpenAL; try @@ -594,6 +592,7 @@ namespace BizHawk.Client.EmuHawk } Sound.StartSound(); + InputManager.AutofireStickyXorAdapter.SetOnOffPatternFromConfig(Config.AutofireOn, Config.AutofireOff); InputManager.SyncControls(Emulator, MovieSession, Config); CheatList = new CheatCollection(this, Config.Cheats); CheatList.Changed += Tools.UpdateCheatRelatedTools; @@ -1032,13 +1031,15 @@ namespace BizHawk.Client.EmuHawk public void ClearHolds() { - InputManager.StickyXorAdapter.ClearStickies(); - InputManager.AutofireStickyXorAdapter.ClearStickies(); - if (Tools.Has()) { Tools.VirtualPad.ClearVirtualPadHolds(); } + else + { + InputManager.StickyXorAdapter.ClearStickies(); + InputManager.AutofireStickyXorAdapter.ClearStickies(); + } } public void FlagNeedsReboot() @@ -3822,9 +3823,7 @@ namespace BizHawk.Client.EmuHawk DisplayManager.Blank(); CreateRewinder(); - InputManager.StickyXorAdapter.ClearStickies(); - InputManager.StickyXorAdapter.ClearStickyAxes(); - InputManager.AutofireStickyXorAdapter.ClearStickies(); + ClearHolds(); RewireSound(); Tools.UpdateCheatRelatedTools(null, null);