From aba919874d6b21974ca9a10523f9ede1a9fded55 Mon Sep 17 00:00:00 2001 From: "andres.delikat" Date: Mon, 29 Aug 2011 03:28:34 +0000 Subject: [PATCH] Autofire - take lag frames into account --- BizHawk.MultiClient/Input/ControllerBinding.cs | 8 +++++++- BizHawk.MultiClient/MainForm.cs | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) 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)