diff --git a/BizHawk.MultiClient/Input/ControllerBinding.cs b/BizHawk.MultiClient/Input/ControllerBinding.cs index d518ee2baa..9f9357ae85 100644 --- a/BizHawk.MultiClient/Input/ControllerBinding.cs +++ b/BizHawk.MultiClient/Input/ControllerBinding.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using System.Linq; namespace BizHawk.MultiClient { @@ -95,7 +96,7 @@ namespace BizHawk.MultiClient private ControllerDefinition type; private WorkingDictionary> bindings = new WorkingDictionary>(); private WorkingDictionary buttons = new WorkingDictionary(); - private WorkingDictionary buttonStarts = new WorkingDictionary(); + public WorkingDictionary buttonStarts = new WorkingDictionary(); private bool autofire = true; public bool Autofire { get { return false; } set { autofire = value; } } @@ -202,5 +203,10 @@ namespace BizHawk.MultiClient foreach (string control in controlbindings) bindings[button].Add(control.Trim()); } + + public void IncrementStarts() + { + foreach (var key in buttonStarts.Keys.ToArray()) buttonStarts[key]++; + } } } \ No newline at end of file diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 30397e4593..b9b6aea030 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -1643,6 +1643,11 @@ namespace BizHawk.MultiClient UpdateTools(); + if (Global.Emulator.IsLagFrame) + { + Global.AutoFireController.IncrementStarts(); + } + } if (genSound)