From 117e0b07e7edbd908fb4fee149cbc99ce4a8092b Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 4 Dec 2016 12:51:48 -0600 Subject: [PATCH] Pass the core instance to the record movie dialog --- BizHawk.Client.EmuHawk/MainForm.Events.cs | 2 +- BizHawk.Client.EmuHawk/movie/RecordMovie.cs | 24 ++++++++++++--------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index a412f4381b..8d6b8acd9c 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -495,7 +495,7 @@ namespace BizHawk.Client.EmuHawk } } - new RecordMovie().ShowDialog(); + new RecordMovie(Emulator).ShowDialog(); } private void PlayMovieMenuItem_Click(object sender, EventArgs e) diff --git a/BizHawk.Client.EmuHawk/movie/RecordMovie.cs b/BizHawk.Client.EmuHawk/movie/RecordMovie.cs index 47bd57628c..0aa3c20487 100644 --- a/BizHawk.Client.EmuHawk/movie/RecordMovie.cs +++ b/BizHawk.Client.EmuHawk/movie/RecordMovie.cs @@ -13,14 +13,18 @@ using BizHawk.Client.EmuHawk.WinFormExtensions; namespace BizHawk.Client.EmuHawk { + // TODO - Allow relative paths in record textbox public partial class RecordMovie : Form { - // TODO - Allow relative paths in record textbox - public RecordMovie() + private IEmulator Emulator; + + public RecordMovie(IEmulator core) { InitializeComponent(); - if (!Global.Emulator.HasSavestates()) + Emulator = core; + + if (!Emulator.HasSavestates()) { StartFromCombo.Items.Remove( StartFromCombo.Items @@ -29,7 +33,7 @@ namespace BizHawk.Client.EmuHawk .ToLower() == "now")); } - if (!Global.Emulator.HasSaveRam()) + if (!Emulator.HasSaveRam()) { StartFromCombo.Items.Remove( StartFromCombo.Items @@ -88,9 +92,9 @@ namespace BizHawk.Client.EmuHawk Directory.CreateDirectory(fileInfo.DirectoryName); } - if (StartFromCombo.SelectedItem.ToString() == "Now" && Global.Emulator.HasSavestates()) + if (StartFromCombo.SelectedItem.ToString() == "Now" && Emulator.HasSavestates()) { - var core = Global.Emulator.AsStatable(); + var core = Emulator.AsStatable(); movieToRecord.StartsFromSavestate = true; movieToRecord.StartsFromSaveRam = false; @@ -112,15 +116,15 @@ namespace BizHawk.Client.EmuHawk { // hack: some IMovies eat the framebuffer, so don't bother with them movieToRecord.SavestateFramebuffer = new int[0]; - if (movieToRecord.SavestateFramebuffer != null && Global.Emulator.HasVideoProvider()) + if (movieToRecord.SavestateFramebuffer != null && Emulator.HasVideoProvider()) { - movieToRecord.SavestateFramebuffer = (int[])Global.Emulator.AsVideoProvider().GetVideoBuffer().Clone(); + movieToRecord.SavestateFramebuffer = (int[])Emulator.AsVideoProvider().GetVideoBuffer().Clone(); } } } - else if (StartFromCombo.SelectedItem.ToString() == "SaveRam" && Global.Emulator.HasSaveRam()) + else if (StartFromCombo.SelectedItem.ToString() == "SaveRam" && Emulator.HasSaveRam()) { - var core = Global.Emulator.AsSaveRam(); + var core = Emulator.AsSaveRam(); movieToRecord.StartsFromSavestate = false; movieToRecord.StartsFromSaveRam = true; movieToRecord.SaveRam = core.CloneSaveRam();