add a IMovieSession property to ToolFormBase and use it
This commit is contained in:
parent
fa1c494ad8
commit
3f1ef8dd4d
|
@ -221,7 +221,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
_throttle = new Throttle();
|
||||
|
||||
Emulator = new NullEmulator();
|
||||
GlobalWin.Tools = new ToolManager(this, Config, Emulator);
|
||||
GlobalWin.Tools = new ToolManager(this, Config, Emulator, MovieSession);
|
||||
CheatList.Changed += Tools.UpdateCheatRelatedTools;
|
||||
|
||||
UpdateStatusSlots();
|
||||
|
|
|
@ -779,7 +779,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
if (index < _bestBotAttempt.Log.Count)
|
||||
{
|
||||
var logEntry = _bestBotAttempt.Log[index];
|
||||
var controller = Global.MovieSession.GenerateMovieController();
|
||||
var controller = MovieSession.GenerateMovieController();
|
||||
controller.SetFromMnemonic(logEntry);
|
||||
|
||||
foreach (var button in controller.Definition.BoolButtons)
|
||||
|
@ -946,10 +946,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
GoalGroupBox.Enabled = false;
|
||||
_currentBotAttempt = new BotAttempt { Attempt = Attempts };
|
||||
|
||||
if (Global.MovieSession.Movie.IsRecording())
|
||||
if (MovieSession.Movie.IsRecording())
|
||||
{
|
||||
_oldCountingSetting = Global.MovieSession.Movie.IsCountingRerecords;
|
||||
Global.MovieSession.Movie.IsCountingRerecords = false;
|
||||
_oldCountingSetting = MovieSession.Movie.IsCountingRerecords;
|
||||
MovieSession.Movie.IsCountingRerecords = false;
|
||||
}
|
||||
|
||||
_doNotUpdateValues = true;
|
||||
|
@ -976,7 +976,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
UpdateBotStatusIcon();
|
||||
MessageLabel.Text = "Running...";
|
||||
_cachedControlProbabilities = ControlProbabilities;
|
||||
_logGenerator = Global.MovieSession.Movie.LogGeneratorInstance(Global.InputManager.ClickyVirtualPadController);
|
||||
_logGenerator = MovieSession.Movie.LogGeneratorInstance(Global.InputManager.ClickyVirtualPadController);
|
||||
}
|
||||
|
||||
private string CanStart()
|
||||
|
@ -1011,9 +1011,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
_currentBotAttempt = null;
|
||||
GoalGroupBox.Enabled = true;
|
||||
|
||||
if (Global.MovieSession.Movie.IsRecording())
|
||||
if (MovieSession.Movie.IsRecording())
|
||||
{
|
||||
Global.MovieSession.Movie.IsCountingRerecords = _oldCountingSetting;
|
||||
MovieSession.Movie.IsCountingRerecords = _oldCountingSetting;
|
||||
}
|
||||
|
||||
Config.DisplayMessages = _previousDisplayMessage;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -48,7 +47,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
s.Refresh();
|
||||
|
||||
// Update the selected zone's key
|
||||
var lg = Global.MovieSession.Movie.LogGeneratorInstance(Global.MovieSession.MovieController);
|
||||
var lg = MovieSession.Movie.LogGeneratorInstance(MovieSession.MovieController);
|
||||
string key = lg.GenerateLogKey();
|
||||
key = key.Replace("LogKey:", "").Replace("#", "");
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ using System.IO;
|
|||
using BizHawk.Emulation.Common;
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Client.EmuHawk.ToolExtensions;
|
||||
using BizHawk.Common.PathExtensions;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -22,7 +21,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private readonly List<int> _unsavedZones = new List<int>();
|
||||
private bool _selecting;
|
||||
|
||||
private IMovie CurrentMovie => Global.MovieSession.Movie;
|
||||
private IMovie CurrentMovie => MovieSession.Movie;
|
||||
|
||||
// Still need to make sure the user can't load and use macros that
|
||||
// have options only available for TasMovie
|
||||
|
@ -50,7 +49,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
OverlayBox.Enabled = CurrentMovie is TasMovie;
|
||||
PlaceNum.Enabled = CurrentMovie is TasMovie;
|
||||
|
||||
var main = new MovieZone(CurrentMovie, Emulator, Tools, 0, CurrentMovie.InputLogLength)
|
||||
var main = new MovieZone(CurrentMovie, Emulator, Tools, MovieSession, 0, CurrentMovie.InputLogLength)
|
||||
{
|
||||
Name = "Entire Movie"
|
||||
};
|
||||
|
@ -144,7 +143,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
return;
|
||||
}
|
||||
|
||||
var newZone = new MovieZone(CurrentMovie, Emulator, Tools, (int) StartNum.Value, (int) (EndNum.Value - StartNum.Value + 1))
|
||||
var newZone = new MovieZone(CurrentMovie, Emulator, Tools, MovieSession, (int) StartNum.Value, (int) (EndNum.Value - StartNum.Value + 1))
|
||||
{
|
||||
Name = $"Zone {_zones.Count}"
|
||||
};
|
||||
|
|
|
@ -11,17 +11,19 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
private readonly IEmulator _emulator;
|
||||
private readonly ToolManager _tools;
|
||||
private readonly IMovieSession _movieSession;
|
||||
private readonly string[] _log;
|
||||
private readonly IMovieController _targetController;
|
||||
private string _inputKey;
|
||||
private IMovieController _controller;
|
||||
|
||||
public MovieZone(IMovie movie, IEmulator emulator, ToolManager tools, int start, int length, string key = "")
|
||||
public MovieZone(IMovie movie, IEmulator emulator, ToolManager tools, IMovieSession movieSession, int start, int length, string key = "")
|
||||
{
|
||||
_emulator = emulator;
|
||||
_tools = tools;
|
||||
var lg = movie.LogGeneratorInstance(Global.MovieSession.MovieController);
|
||||
_targetController = Global.MovieSession.GenerateMovieController();
|
||||
_movieSession = movieSession;
|
||||
var lg = movie.LogGeneratorInstance(movieSession.MovieController);
|
||||
_targetController = movieSession.GenerateMovieController();
|
||||
_targetController.SetFrom(_targetController); // Reference and create all buttons
|
||||
|
||||
if (key == "")
|
||||
|
@ -53,8 +55,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
_controller = Global.MovieSession.GenerateMovieController(d);
|
||||
var logGenerator = Global.MovieSession.Movie.LogGeneratorInstance(_controller);
|
||||
_controller = movieSession.GenerateMovieController(d);
|
||||
var logGenerator = movieSession.Movie.LogGeneratorInstance(_controller);
|
||||
logGenerator.GenerateLogEntry(); // Reference and create all buttons.
|
||||
|
||||
string movieKey = logGenerator.GenerateLogKey().Replace("LogKey:", "").Replace("#", "");
|
||||
|
@ -106,12 +108,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
var newController = Global.MovieSession.GenerateMovieController(d);
|
||||
var logGenerator = Global.MovieSession.Movie.LogGeneratorInstance(newController);
|
||||
var newController = _movieSession.GenerateMovieController(d);
|
||||
var logGenerator = _movieSession.Movie.LogGeneratorInstance(newController);
|
||||
logGenerator.GenerateLogEntry(); // Reference and create all buttons.
|
||||
|
||||
// Reset all buttons in targetController (it may still have buttons that aren't being set here set true)
|
||||
var tC = Global.MovieSession.Movie.LogGeneratorInstance(_targetController);
|
||||
var tC = _movieSession.Movie.LogGeneratorInstance(_targetController);
|
||||
_targetController.SetFromMnemonic(tC.EmptyEntry);
|
||||
for (int i = 0; i < Length; i++)
|
||||
{
|
||||
|
@ -224,7 +226,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
// If the LogKey contains buttons/controls not accepted by the emulator,
|
||||
// tell the user and display the macro's controller name and player count
|
||||
_inputKey = readText[0];
|
||||
var lg = Global.MovieSession.Movie.LogGeneratorInstance(Global.MovieSession.MovieController);
|
||||
var lg = _movieSession.Movie.LogGeneratorInstance(_movieSession.MovieController);
|
||||
string key = lg.GenerateLogKey();
|
||||
key = key.Replace("LogKey:", "").Replace("#", "");
|
||||
key = key.Substring(0, key.Length - 1);
|
||||
|
@ -252,7 +254,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
Name = Path.GetFileNameWithoutExtension(fileName);
|
||||
|
||||
// Adapters
|
||||
_targetController = Global.MovieSession.GenerateMovieController();
|
||||
_targetController = _movieSession.GenerateMovieController();
|
||||
_targetController.SetFrom(_targetController); // Reference and create all buttons
|
||||
string[] keys = _inputKey.Split('|');
|
||||
var d = new ControllerDefinition(_emulator.ControllerDefinition);
|
||||
|
@ -268,7 +270,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
_controller = Global.MovieSession.GenerateMovieController(d);
|
||||
_controller = _movieSession.GenerateMovieController(d);
|
||||
}
|
||||
|
||||
#region Custom Latch
|
||||
|
|
|
@ -17,19 +17,20 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private string SelectedButton => ButtonBox.Text;
|
||||
|
||||
private bool IsBool => SelectedButton == "Default bool Auto-Fire" || Global.MovieSession.MovieController.Definition.BoolButtons.Contains(SelectedButton);
|
||||
private bool IsBool => SelectedButton == "Default bool Auto-Fire" || _tastudio.MovieSession.MovieController.Definition.BoolButtons.Contains(SelectedButton);
|
||||
|
||||
public PatternsForm(TAStudio owner)
|
||||
{
|
||||
InitializeComponent();
|
||||
_tastudio = owner;
|
||||
|
||||
foreach (var button in Global.MovieSession.MovieController.Definition.BoolButtons)
|
||||
|
||||
foreach (var button in _tastudio.MovieSession.MovieController.Definition.BoolButtons)
|
||||
{
|
||||
ButtonBox.Items.Add(button);
|
||||
}
|
||||
|
||||
foreach (var button in Global.MovieSession.MovieController.Definition.AxisControls)
|
||||
foreach (var button in _tastudio.MovieSession.MovieController.Definition.AxisControls)
|
||||
{
|
||||
ButtonBox.Items.Add(button);
|
||||
}
|
||||
|
@ -182,7 +183,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (PatternList.SelectedIndex != -1 && PatternList.SelectedIndex < _values.Count)
|
||||
{
|
||||
index = Global.MovieSession.MovieController.Definition.BoolButtons.IndexOf(SelectedButton);
|
||||
index = _tastudio.MovieSession.MovieController.Definition.BoolButtons.IndexOf(SelectedButton);
|
||||
if (SelectedButton == "Default bool Auto-Fire")
|
||||
{
|
||||
index = _tastudio.BoolPatterns.Length - 1;
|
||||
|
@ -202,7 +203,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
else
|
||||
{
|
||||
index = Global.MovieSession.MovieController.Definition.AxisControls.IndexOf(SelectedButton);
|
||||
index = _tastudio.MovieSession.MovieController.Definition.AxisControls.IndexOf(SelectedButton);
|
||||
}
|
||||
|
||||
LagBox.Checked = _tastudio.FloatPatterns[index].SkipsLag;
|
||||
|
@ -221,7 +222,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void UpdatePattern()
|
||||
{
|
||||
int index = Global.MovieSession.MovieController.Definition.BoolButtons.IndexOf(SelectedButton);
|
||||
int index = _tastudio.MovieSession.MovieController.Definition.BoolButtons.IndexOf(SelectedButton);
|
||||
if (SelectedButton == "Default bool Auto-Fire")
|
||||
{
|
||||
index = _tastudio.BoolPatterns.Length - 1;
|
||||
|
@ -229,7 +230,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (index != -1)
|
||||
{
|
||||
List<bool> p = new List<bool>();
|
||||
var p = new List<bool>();
|
||||
for (int i = 0; i < _counts.Count; i++)
|
||||
{
|
||||
for (int c = 0; c < _counts[i]; c++)
|
||||
|
@ -248,7 +249,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
else
|
||||
{
|
||||
index = Global.MovieSession.MovieController.Definition.AxisControls.IndexOf(SelectedButton);
|
||||
index = _tastudio.MovieSession.MovieController.Definition.AxisControls.IndexOf(SelectedButton);
|
||||
}
|
||||
|
||||
List<float> p = new List<float>();
|
||||
|
@ -300,7 +301,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
_loopAt = _tastudio.BoolPatterns[index].Loop;
|
||||
_loopAt = _tastudio.BoolPatterns[index].Loop;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -310,7 +311,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
else
|
||||
{
|
||||
index = Global.MovieSession.MovieController.Definition.AxisControls.IndexOf(SelectedButton);
|
||||
index = _tastudio.MovieSession.MovieController.Definition.AxisControls.IndexOf(SelectedButton);
|
||||
}
|
||||
|
||||
float[] p = _tastudio.FloatPatterns[index].Pattern;
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private int? _seekStartFrame;
|
||||
private bool _unpauseAfterSeeking;
|
||||
|
||||
private ControllerDefinition ControllerType => Global.MovieSession.MovieController.Definition;
|
||||
private ControllerDefinition ControllerType => MovieSession.MovieController.Definition;
|
||||
|
||||
public bool WasRecording { get; set; }
|
||||
public AutoPatternBool[] BoolPatterns;
|
||||
|
|
|
@ -216,6 +216,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
CurrentTasMovie,
|
||||
Emulator,
|
||||
Tools,
|
||||
MovieSession,
|
||||
TasView.FirstSelectedIndex ?? 0,
|
||||
TasView.LastSelectedIndex ?? 0 - TasView.FirstSelectedIndex ?? 0 + 1);
|
||||
|
||||
|
|
|
@ -5,12 +5,10 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.ComponentModel;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Client.Common.MovieConversionExtensions;
|
||||
using BizHawk.Client.EmuHawk.ToolExtensions;
|
||||
using BizHawk.Emulation.Common;
|
||||
using BizHawk.Emulation.Cores.Nintendo.N64;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
|
@ -18,7 +16,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
public partial class TAStudio : ToolFormBase, IToolFormAutoConfig, IControlMainform
|
||||
{
|
||||
// TODO: UI flow that conveniently allows to start from savestate
|
||||
public TasMovie CurrentTasMovie => Global.MovieSession.Movie as TasMovie;
|
||||
public TasMovie CurrentTasMovie => MovieSession.Movie as TasMovie;
|
||||
|
||||
public bool IsInMenuLoop { get; private set; }
|
||||
public string StatesPath => Config.PathEntries.TastudioStatesAbsolutePath();
|
||||
|
@ -325,7 +323,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
// Start Scenario 1: A regular movie is active
|
||||
if (Global.MovieSession.Movie.IsActive() && !(Global.MovieSession.Movie is TasMovie))
|
||||
if (MovieSession.Movie.IsActive() && !(MovieSession.Movie is TasMovie))
|
||||
{
|
||||
var result = MessageBox.Show("In order to use Tastudio, a new project must be created from the current movie\nThe current movie will be saved and closed, and a new project file will be created\nProceed?", "Convert movie", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
|
||||
if (result == DialogResult.OK)
|
||||
|
@ -341,7 +339,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
// Start Scenario 2: A tasproj is already active
|
||||
else if (Global.MovieSession.Movie.IsActive() && Global.MovieSession.Movie is TasMovie)
|
||||
else if (MovieSession.Movie.IsActive() && MovieSession.Movie is TasMovie)
|
||||
{
|
||||
bool result = LoadFile(new FileInfo(CurrentTasMovie.Filename), gotoFrame: Emulator.Frame);
|
||||
if (!result)
|
||||
|
@ -380,11 +378,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void SetTasMovieCallbacks(TasMovie movie = null)
|
||||
{
|
||||
if (movie == null)
|
||||
{
|
||||
movie = CurrentTasMovie;
|
||||
}
|
||||
|
||||
movie ??= CurrentTasMovie;
|
||||
movie.ClientSettingsForSave = ClientSettingsForSave;
|
||||
movie.GetClientSettingsOnLoad = GetClientSettingsOnLoad;
|
||||
}
|
||||
|
@ -413,8 +407,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
Rotatable = true
|
||||
});
|
||||
|
||||
var columnNames = Global.MovieSession.Movie
|
||||
.LogGeneratorInstance(Global.MovieSession.MovieController)
|
||||
var columnNames = MovieSession.Movie
|
||||
.LogGeneratorInstance(MovieSession.MovieController)
|
||||
.Map();
|
||||
|
||||
foreach (var kvp in columnNames)
|
||||
|
@ -580,7 +574,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
get
|
||||
{
|
||||
var lg = CurrentTasMovie.LogGeneratorInstance(Global.MovieSession.MovieController);
|
||||
var lg = CurrentTasMovie.LogGeneratorInstance(MovieSession.MovieController);
|
||||
var empty = lg.EmptyEntry;
|
||||
foreach (var row in TasView.SelectedRows)
|
||||
{
|
||||
|
@ -612,7 +606,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
MainForm.ClearRewindData();
|
||||
Config.MovieEndAction = MovieEndAction.Record;
|
||||
MainForm.SetMainformMovieInfo();
|
||||
Global.MovieSession.ReadOnly = true;
|
||||
MovieSession.ReadOnly = true;
|
||||
SetSplicer();
|
||||
SetupBoolPatterns();
|
||||
}
|
||||
|
@ -623,11 +617,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void ConvertCurrentMovieToTasproj()
|
||||
{
|
||||
Global.MovieSession.Movie.Save();
|
||||
Global.MovieSession.Movie = Global.MovieSession.Movie.ToTasMovie();
|
||||
Global.MovieSession.Movie.Save();
|
||||
Global.MovieSession.Movie.SwitchToPlay();
|
||||
Settings.RecentTas.Add(Global.MovieSession.Movie.Filename);
|
||||
MovieSession.Movie.Save();
|
||||
MovieSession.Movie = MovieSession.Movie.ToTasMovie();
|
||||
MovieSession.Movie.Save();
|
||||
MovieSession.Movie.SwitchToPlay();
|
||||
Settings.RecentTas.Add(MovieSession.Movie.Filename);
|
||||
}
|
||||
|
||||
private bool LoadFile(FileInfo file, bool startsFromSavestate = false, int gotoFrame = 0)
|
||||
|
@ -693,10 +687,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
Global.MovieSession.Movie = new TasMovie();
|
||||
MovieSession.Movie = new TasMovie();
|
||||
CurrentTasMovie.BindMarkersToInput = Settings.BindMarkersToInput;
|
||||
|
||||
var stateManager = ((TasMovie)Global.MovieSession.Movie).TasStateManager;
|
||||
var stateManager = ((TasMovie)MovieSession.Movie).TasStateManager;
|
||||
stateManager.InvalidateCallback = GreenzoneInvalidated;
|
||||
|
||||
BookMarkControl.LoadedCallback = BranchLoaded;
|
||||
|
@ -831,7 +825,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void TastudioStopMovie()
|
||||
{
|
||||
Global.MovieSession.StopMovie(false);
|
||||
MovieSession.StopMovie(false);
|
||||
MainForm.SetMainformMovieInfo();
|
||||
}
|
||||
|
||||
|
@ -839,7 +833,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
MainForm.PauseOnFrame = null;
|
||||
MainForm.AddOnScreenMessage("TAStudio disengaged");
|
||||
Global.MovieSession.Movie = MovieService.DefaultInstance;
|
||||
MovieSession.Movie = MovieService.DefaultInstance;
|
||||
MainForm.TakeBackControl();
|
||||
Config.MovieEndAction = _originalEndAction;
|
||||
MainForm.SetMainformMovieInfo();
|
||||
|
|
|
@ -14,6 +14,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
public Config Config { get; set; }
|
||||
public MainForm MainForm { get; set; }
|
||||
|
||||
public IMovieSession MovieSession { get; set; }
|
||||
|
||||
public static FileInfo OpenFileDialog(string currentFile, string path, string fileType, string fileExt)
|
||||
{
|
||||
if (!Directory.Exists(path))
|
||||
|
|
|
@ -11,7 +11,6 @@ using System.Windows.Forms;
|
|||
using BizHawk.Client.Common;
|
||||
using BizHawk.Client.EmuHawk.CoreExtensions;
|
||||
using BizHawk.Common;
|
||||
using BizHawk.Common.PathExtensions;
|
||||
using BizHawk.Common.ReflectionExtensions;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
|
@ -23,6 +22,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private readonly Config _config;
|
||||
private IExternalApiProvider _apiProvider;
|
||||
private IEmulator _emulator;
|
||||
private IMovieSession _movieSession;
|
||||
|
||||
// TODO: merge ToolHelper code where logical
|
||||
// For instance, add an IToolForm property called UsesCheats, so that a UpdateCheatRelatedTools() method can update all tools of this type
|
||||
|
@ -32,11 +32,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ToolManager"/> class.
|
||||
/// </summary>
|
||||
public ToolManager(MainForm owner, Config config, IEmulator emulator)
|
||||
public ToolManager(
|
||||
MainForm owner,
|
||||
Config config,
|
||||
IEmulator emulator,
|
||||
IMovieSession movieSession)
|
||||
{
|
||||
_owner = owner;
|
||||
_config = config;
|
||||
_emulator = emulator;
|
||||
_movieSession = movieSession;
|
||||
_apiProvider = ApiManager.Restart(_emulator.ServiceProvider);
|
||||
}
|
||||
|
||||
|
@ -68,6 +73,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
tool.Tools = this;
|
||||
tool.Config = _config;
|
||||
tool.MainForm = _owner;
|
||||
tool.MovieSession = _movieSession;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue