diff --git a/BizHawk.Client.Common/ControllerBinding.cs b/BizHawk.Client.Common/ControllerBinding.cs index e57012ee4d..e33b81a528 100644 --- a/BizHawk.Client.Common/ControllerBinding.cs +++ b/BizHawk.Client.Common/ControllerBinding.cs @@ -35,7 +35,7 @@ namespace BizHawk.Client.Common private readonly WorkingDictionary _buttons = new WorkingDictionary(); private readonly WorkingDictionary _floatButtons = new WorkingDictionary(); private readonly Dictionary _floatRanges = new WorkingDictionary(); - private readonly Dictionary _floatBinds = new Dictionary(); + private readonly Dictionary _floatBinds = new Dictionary(); private ControllerDefinition _type; @@ -209,7 +209,7 @@ namespace BizHawk.Client.Common } } - public void BindFloat(string button, Config.AnalogBind bind) + public void BindFloat(string button, AnalogBind bind) { _floatBinds[button] = bind; } diff --git a/BizHawk.Client.Common/config/AnalogBind.cs b/BizHawk.Client.Common/config/AnalogBind.cs new file mode 100644 index 0000000000..ef9edc511a --- /dev/null +++ b/BizHawk.Client.Common/config/AnalogBind.cs @@ -0,0 +1,21 @@ +namespace BizHawk.Client.Common +{ + public struct AnalogBind + { + /// the physical stick that we're bound to + public string Value; + + /// sensitivity and flip + public float Mult; + + /// portion of axis to ignore + public float Deadzone; + + public AnalogBind(string value, float mult, float deadzone) + { + Value = value; + Mult = mult; + Deadzone = deadzone; + } + } +} diff --git a/BizHawk.Client.Common/config/Config.cs b/BizHawk.Client.Common/config/Config.cs index bf1d7e51ca..51ed7063cd 100644 --- a/BizHawk.Client.Common/config/Config.cs +++ b/BizHawk.Client.Common/config/Config.cs @@ -382,24 +382,7 @@ namespace BizHawk.Client.Common public int Analog_LargeChange = 10; public int Analog_SmallChange = 1; - public struct AnalogBind - { - /// the physical stick that we're bound to - public string Value; - - /// sensitivity and flip - public float Mult; - - /// portion of axis to ignore - public float Deadzone; - - public AnalogBind(string value, float mult, float deadzone) - { - Value = value; - Mult = mult; - Deadzone = deadzone; - } - } + // [ControllerType][ButtonName] => Physical Bind public Dictionary> AllTrollers = new Dictionary>(); @@ -428,6 +411,6 @@ namespace BizHawk.Client.Common { public Dictionary> AllTrollers = new Dictionary>(); public Dictionary> AllTrollersAutoFire = new Dictionary>(); - public Dictionary> AllTrollersAnalog = new Dictionary>(); + public Dictionary> AllTrollersAnalog = new Dictionary>(); } } \ No newline at end of file diff --git a/BizHawk.Client.Common/inputAdapters/InputManager.cs b/BizHawk.Client.Common/inputAdapters/InputManager.cs index 374679fe51..a11cb88420 100644 --- a/BizHawk.Client.Common/inputAdapters/InputManager.cs +++ b/BizHawk.Client.Common/inputAdapters/InputManager.cs @@ -49,7 +49,7 @@ namespace BizHawk.Client.Common RewireInputChain(); } - private static Controller BindToDefinition(ControllerDefinition def, IDictionary> allBinds, IDictionary> analogBinds) + private static Controller BindToDefinition(ControllerDefinition def, IDictionary> allBinds, IDictionary> analogBinds) { var ret = new Controller(def); if (allBinds.TryGetValue(def.Name, out var binds)) diff --git a/BizHawk.Client.EmuHawk/config/ControllerConfig.cs b/BizHawk.Client.EmuHawk/config/ControllerConfig.cs index 18414b76d5..ff946337f1 100644 --- a/BizHawk.Client.EmuHawk/config/ControllerConfig.cs +++ b/BizHawk.Client.EmuHawk/config/ControllerConfig.cs @@ -50,7 +50,7 @@ namespace BizHawk.Client.EmuHawk ControllerImages.Add("Apple IIe Keyboard", Properties.Resources.AppleIIKeyboard); ControllerImages.Add("VirtualBoy Controller", Properties.Resources.VBoyController); ControllerImages.Add("NeoGeo Portable Controller", Properties.Resources.NGPController); - ControllerImages.Add("MAME Controller", Properties.Resources.ArcadeController); + ControllerImages.Add("MAME Controller", Properties.Resources.ArcadeController); } protected override void OnActivated(EventArgs e) @@ -84,7 +84,7 @@ namespace BizHawk.Client.EmuHawk return cp; } - private static Control CreateAnalogPanel(Dictionary settings, List buttons, Size size) + private static Control CreateAnalogPanel(Dictionary settings, List buttons, Size size) { return new AnalogBindPanel(settings, buttons) { Dock = DockStyle.Fill, AutoScroll = true }; } @@ -225,11 +225,11 @@ namespace BizHawk.Client.EmuHawk private void LoadPanels( IDictionary> normal, IDictionary> autofire, - IDictionary> analog) + IDictionary> analog) { LoadToPanel(NormalControlsTab, _emulator.ControllerDefinition.Name, _emulator.ControllerDefinition.BoolButtons, _emulator.ControllerDefinition.CategoryLabels, normal, "", CreateNormalPanel); LoadToPanel(AutofireControlsTab, _emulator.ControllerDefinition.Name, _emulator.ControllerDefinition.BoolButtons, _emulator.ControllerDefinition.CategoryLabels, autofire, "", CreateNormalPanel); - LoadToPanel(AnalogControlsTab, _emulator.ControllerDefinition.Name, _emulator.ControllerDefinition.FloatControls, _emulator.ControllerDefinition.CategoryLabels, analog, new Config.AnalogBind("", 1.0f, 0.1f), CreateAnalogPanel); + LoadToPanel(AnalogControlsTab, _emulator.ControllerDefinition.Name, _emulator.ControllerDefinition.FloatControls, _emulator.ControllerDefinition.CategoryLabels, analog, new AnalogBind("", 1.0f, 0.1f), CreateAnalogPanel); if (AnalogControlsTab.Controls.Count == 0) { @@ -434,7 +434,7 @@ namespace BizHawk.Client.EmuHawk var cd = ConfigService.Load(Config.ControlDefaultPath); cd.AllTrollers[_emulator.ControllerDefinition.Name] = new Dictionary(); cd.AllTrollersAutoFire[_emulator.ControllerDefinition.Name] = new Dictionary(); - cd.AllTrollersAnalog[_emulator.ControllerDefinition.Name] = new Dictionary(); + cd.AllTrollersAnalog[_emulator.ControllerDefinition.Name] = new Dictionary(); SaveToDefaults(cd); diff --git a/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindControl.cs b/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindControl.cs index aeaf06fc08..5caa46fbab 100644 --- a/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindControl.cs +++ b/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindControl.cs @@ -12,7 +12,7 @@ namespace BizHawk.Client.EmuHawk InitializeComponent(); } - public AnalogBindControl(string buttonName, Config.AnalogBind bind) + public AnalogBindControl(string buttonName, AnalogBind bind) : this() { _bind = bind; @@ -26,9 +26,9 @@ namespace BizHawk.Client.EmuHawk } public string ButtonName { get; } - public Config.AnalogBind Bind => _bind; + public AnalogBind Bind => _bind; - private Config.AnalogBind _bind; + private AnalogBind _bind; private bool _listening; private void Timer1_Tick(object sender, EventArgs e) diff --git a/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindPanel.cs b/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindPanel.cs index 91b288a5b2..adfaf32931 100644 --- a/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindPanel.cs +++ b/BizHawk.Client.EmuHawk/config/ControllerConfig/AnalogBindPanel.cs @@ -8,9 +8,9 @@ namespace BizHawk.Client.EmuHawk { public class AnalogBindPanel : UserControl { - private readonly Dictionary _realConfigObject; + private readonly Dictionary _realConfigObject; - public AnalogBindPanel(Dictionary realConfigObject, List realConfigButtons = null) + public AnalogBindPanel(Dictionary realConfigObject, List realConfigButtons = null) { _realConfigObject = realConfigObject; LoadSettings(realConfigButtons ?? (IEnumerable)realConfigObject.Keys); @@ -39,7 +39,7 @@ namespace BizHawk.Client.EmuHawk /// save to config /// /// if non-null, save to possibly different config object than originally initialized from - public void Save(Dictionary saveConfigObject = null) + public void Save(Dictionary saveConfigObject = null) { var saveTo = saveConfigObject ?? _realConfigObject; foreach (Control c in Controls)