Pass the core instance to the record movie dialog

This commit is contained in:
adelikat 2016-12-04 12:51:48 -06:00
parent 9ae3916166
commit 117e0b07e7
2 changed files with 15 additions and 11 deletions

View File

@ -495,7 +495,7 @@ namespace BizHawk.Client.EmuHawk
}
}
new RecordMovie().ShowDialog();
new RecordMovie(Emulator).ShowDialog();
}
private void PlayMovieMenuItem_Click(object sender, EventArgs e)

View File

@ -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();