Tastudio - starts movie from saveram - allow saveram-anchored movies since they are supported on the backend, but do not allow savestate-anchored mvoies

This commit is contained in:
adelikat 2015-09-05 19:06:13 -04:00
parent 45db096154
commit 4f58ec09fd
2 changed files with 26 additions and 22 deletions

View File

@ -1021,7 +1021,12 @@ namespace BizHawk.Client.EmuHawk
TasView.SelectedRows.Count() == 1
&& TasView.SelectedRows.Contains(Emulator.Frame)
&& !CurrentTasMovie.StartsFromSaveRam;
StartANewProjectFromSaveRamMenuItem.Visible = TasView.SelectedRows.Count() == 1 && SaveRamEmulator != null;
StartANewProjectFromSaveRamMenuItem.Visible =
TasView.SelectedRows.Count() == 1
&& SaveRamEmulator != null
&& !CurrentTasMovie.StartsFromSavestate;
StartFromNowSeparator.Visible =StartNewProjectFromNowMenuItem.Visible || StartANewProjectFromSaveRamMenuItem.Visible;
RemoveMarkersContextMenuItem.Enabled = CurrentTasMovie.Markers.Any(m => TasView.SelectedRows.Contains(m.Frame)); // Disable the option to remove markers if no markers are selected (FCEUX does this).
CancelSeekContextMenuItem.Enabled = GlobalWin.MainForm.PauseOnFrame.HasValue;
@ -1057,6 +1062,26 @@ namespace BizHawk.Client.EmuHawk
}
}
private void StartANewProjectFromSaveRamMenuItem_Click(object sender, EventArgs e)
{
if (TasView.SelectedRows.Count() == 1 &&
!CurrentTasMovie.StartsFromSavestate &&
SaveRamEmulator != null)
{
if (AskSaveChanges())
{
int index = TasView.SelectedRows.First();
GoToFrame(index);
TasMovie newProject = CurrentTasMovie.ConvertToSaveRamAnchoredMovie(
SaveRamEmulator.CloneSaveRam());
GlobalWin.MainForm.PauseEmulator();
LoadFile(new FileInfo(newProject.Filename));
}
}
}
#endregion
}
}

View File

@ -914,27 +914,6 @@ namespace BizHawk.Client.EmuHawk
Settings.BranchMarkerSplitDistance = BranchesMarkersSplit.SplitterDistance;
}
private void StartANewProjectFromSaveRamMenuItem_Click(object sender, EventArgs e)
{
if (TasView.SelectedRows.Count() == 1 &&
!CurrentTasMovie.StartsFromSavestate &&
!CurrentTasMovie.StartsFromSaveRam &&
SaveRamEmulator != null)
{
if (AskSaveChanges())
{
int index = TasView.SelectedRows.First();
GoToFrame(index);
TasMovie newProject = CurrentTasMovie.ConvertToSaveRamAnchoredMovie(
(byte[])SaveRamEmulator.CloneSaveRam());
GlobalWin.MainForm.PauseEmulator();
LoadFile(new FileInfo(newProject.Filename));
}
}
}
private void TasView_CellDropped(object sender, InputRoll.CellEventArgs e)
{
if (e.NewCell != null && e.NewCell.RowIndex.HasValue &&