break AnalogBind out of Config.cs into its own file
This commit is contained in:
parent
2182b6b35d
commit
04a5db6214
|
@ -35,7 +35,7 @@ namespace BizHawk.Client.Common
|
|||
private readonly WorkingDictionary<string, bool> _buttons = new WorkingDictionary<string, bool>();
|
||||
private readonly WorkingDictionary<string, float> _floatButtons = new WorkingDictionary<string, float>();
|
||||
private readonly Dictionary<string, ControllerDefinition.FloatRange> _floatRanges = new WorkingDictionary<string, ControllerDefinition.FloatRange>();
|
||||
private readonly Dictionary<string, Config.AnalogBind> _floatBinds = new Dictionary<string, Config.AnalogBind>();
|
||||
private readonly Dictionary<string, AnalogBind> _floatBinds = new Dictionary<string, AnalogBind>();
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public struct AnalogBind
|
||||
{
|
||||
/// <summary>the physical stick that we're bound to</summary>
|
||||
public string Value;
|
||||
|
||||
/// <summary>sensitivity and flip</summary>
|
||||
public float Mult;
|
||||
|
||||
/// <summary>portion of axis to ignore</summary>
|
||||
public float Deadzone;
|
||||
|
||||
public AnalogBind(string value, float mult, float deadzone)
|
||||
{
|
||||
Value = value;
|
||||
Mult = mult;
|
||||
Deadzone = deadzone;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -382,24 +382,7 @@ namespace BizHawk.Client.Common
|
|||
public int Analog_LargeChange = 10;
|
||||
public int Analog_SmallChange = 1;
|
||||
|
||||
public struct AnalogBind
|
||||
{
|
||||
/// <summary>the physical stick that we're bound to</summary>
|
||||
public string Value;
|
||||
|
||||
/// <summary>sensitivity and flip</summary>
|
||||
public float Mult;
|
||||
|
||||
/// <summary>portion of axis to ignore</summary>
|
||||
public float Deadzone;
|
||||
|
||||
public AnalogBind(string value, float mult, float deadzone)
|
||||
{
|
||||
Value = value;
|
||||
Mult = mult;
|
||||
Deadzone = deadzone;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// [ControllerType][ButtonName] => Physical Bind
|
||||
public Dictionary<string, Dictionary<string, string>> AllTrollers = new Dictionary<string, Dictionary<string, string>>();
|
||||
|
@ -428,6 +411,6 @@ namespace BizHawk.Client.Common
|
|||
{
|
||||
public Dictionary<string, Dictionary<string, string>> AllTrollers = new Dictionary<string, Dictionary<string, string>>();
|
||||
public Dictionary<string, Dictionary<string, string>> AllTrollersAutoFire = new Dictionary<string, Dictionary<string, string>>();
|
||||
public Dictionary<string, Dictionary<string, Config.AnalogBind>> AllTrollersAnalog = new Dictionary<string, Dictionary<string, Config.AnalogBind>>();
|
||||
public Dictionary<string, Dictionary<string, AnalogBind>> AllTrollersAnalog = new Dictionary<string, Dictionary<string, AnalogBind>>();
|
||||
}
|
||||
}
|
|
@ -49,7 +49,7 @@ namespace BizHawk.Client.Common
|
|||
RewireInputChain();
|
||||
}
|
||||
|
||||
private static Controller BindToDefinition(ControllerDefinition def, IDictionary<string, Dictionary<string, string>> allBinds, IDictionary<string, Dictionary<string, Config.AnalogBind>> analogBinds)
|
||||
private static Controller BindToDefinition(ControllerDefinition def, IDictionary<string, Dictionary<string, string>> allBinds, IDictionary<string, Dictionary<string, AnalogBind>> analogBinds)
|
||||
{
|
||||
var ret = new Controller(def);
|
||||
if (allBinds.TryGetValue(def.Name, out var binds))
|
||||
|
|
|
@ -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<string, Config.AnalogBind> settings, List<string> buttons, Size size)
|
||||
private static Control CreateAnalogPanel(Dictionary<string, AnalogBind> settings, List<string> 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<string, Dictionary<string, string>> normal,
|
||||
IDictionary<string, Dictionary<string, string>> autofire,
|
||||
IDictionary<string, Dictionary<string, Config.AnalogBind>> analog)
|
||||
IDictionary<string, Dictionary<string, AnalogBind>> 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<ControlDefaults>(Config.ControlDefaultPath);
|
||||
cd.AllTrollers[_emulator.ControllerDefinition.Name] = new Dictionary<string, string>();
|
||||
cd.AllTrollersAutoFire[_emulator.ControllerDefinition.Name] = new Dictionary<string, string>();
|
||||
cd.AllTrollersAnalog[_emulator.ControllerDefinition.Name] = new Dictionary<string, Config.AnalogBind>();
|
||||
cd.AllTrollersAnalog[_emulator.ControllerDefinition.Name] = new Dictionary<string, AnalogBind>();
|
||||
|
||||
SaveToDefaults(cd);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -8,9 +8,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
public class AnalogBindPanel : UserControl
|
||||
{
|
||||
private readonly Dictionary<string, Config.AnalogBind> _realConfigObject;
|
||||
private readonly Dictionary<string, AnalogBind> _realConfigObject;
|
||||
|
||||
public AnalogBindPanel(Dictionary<string, Config.AnalogBind> realConfigObject, List<string> realConfigButtons = null)
|
||||
public AnalogBindPanel(Dictionary<string, AnalogBind> realConfigObject, List<string> realConfigButtons = null)
|
||||
{
|
||||
_realConfigObject = realConfigObject;
|
||||
LoadSettings(realConfigButtons ?? (IEnumerable<string>)realConfigObject.Keys);
|
||||
|
@ -39,7 +39,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
/// save to config
|
||||
/// </summary>
|
||||
/// <param name="saveConfigObject">if non-null, save to possibly different config object than originally initialized from</param>
|
||||
public void Save(Dictionary<string, Config.AnalogBind> saveConfigObject = null)
|
||||
public void Save(Dictionary<string, AnalogBind> saveConfigObject = null)
|
||||
{
|
||||
var saveTo = saveConfigObject ?? _realConfigObject;
|
||||
foreach (Control c in Controls)
|
||||
|
|
Loading…
Reference in New Issue