diff --git a/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs b/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs index 1068b92ca7..bb06dacc10 100644 --- a/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs +++ b/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs @@ -268,7 +268,7 @@ namespace BizHawk.Client.EmuHawk private void DummyLoadMacro(string path) { - MovieZone loadZone = new MovieZone(path); + MovieZone loadZone = new MovieZone(path, Emulator, Tools); _zones.Add(loadZone); ZonesList.Items.Add($"{loadZone.Name} - length: {loadZone.Length}"); } @@ -316,7 +316,7 @@ namespace BizHawk.Client.EmuHawk return true; } - public MovieZone LoadMacro() + public MovieZone LoadMacro(IEmulator emulator = null, ToolManager tools = null) { using var dialog = new OpenFileDialog { @@ -331,7 +331,7 @@ namespace BizHawk.Client.EmuHawk } Config.RecentMacros.Add(dialog.FileName); - return new MovieZone(dialog.FileName); + return new MovieZone(dialog.FileName, emulator ?? Emulator, tools ?? Tools); } } } diff --git a/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs b/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs index 904e1ddee9..1f3525f9e8 100644 --- a/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs +++ b/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs @@ -49,6 +49,8 @@ namespace BizHawk.Client.EmuHawk else { d.FloatControls.Add(k); + int rangeIndex = _emulator.ControllerDefinition.FloatControls.IndexOf(k); + d.FloatRanges.Add(_emulator.ControllerDefinition.FloatRanges[rangeIndex]); } } @@ -212,13 +214,16 @@ namespace BizHawk.Client.EmuHawk File.AppendAllLines(fileName, _log); } - public MovieZone(string fileName) + public MovieZone(string fileName, IEmulator emulator, ToolManager tools) { if (!File.Exists(fileName)) { return; } + _emulator = emulator; + _tools = tools; + string[] readText = File.ReadAllLines(fileName); // If the LogKey contains buttons/controls not accepted by the emulator, diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs index 3bc86e3f55..43a9ce9df8 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using System.Text; @@ -218,7 +218,9 @@ namespace BizHawk.Client.EmuHawk TasView.FirstSelectedIndex ?? 0, TasView.LastSelectedIndex ?? 0 - TasView.FirstSelectedIndex ?? 0 + 1); - new MacroInputTool().SaveMacroAs(macro); + //var macroTool = Tools.Load(false); + var macroTool = new MacroInputTool() { Config = Global.Config }; + macroTool.SaveMacroAs(macro); } private void PlaceMacroAtSelectionMenuItem_Click(object sender, EventArgs e) @@ -228,7 +230,9 @@ namespace BizHawk.Client.EmuHawk return; } - var macro = new MacroInputTool().LoadMacro(); + //var macroTool = Tools.Load(false); + var macroTool = new MacroInputTool() { Config = Global.Config }; + var macro = macroTool.LoadMacro(Emulator, Tools); if (macro != null) { macro.Start = TasView.FirstSelectedIndex ?? 0; diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index 01024f97f0..6d82a16483 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -787,7 +787,7 @@ namespace BizHawk.Client.EmuHawk return; } - var loadZone = new MovieZone(path) + var loadZone = new MovieZone(path, Emulator, Tools) { Start = TasView.FirstSelectedIndex ?? 0 };