Tastudio - add menu items for created Savestate-anchored and SaveRam-anchored movies instead of them only appearing in the context menu under narrow conditions
This commit is contained in:
parent
4f58ec09fd
commit
30f170312d
|
@ -35,6 +35,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.TASMenu = new MenuStripEx();
|
||||
this.FileSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.NewTASMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.NewFromSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.NewFromNowMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.NewFromCurrentSaveRamMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.OpenTASMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SaveTASMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SaveAsTASMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -218,6 +221,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.FileSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.NewTASMenuItem,
|
||||
this.NewFromSubMenu,
|
||||
this.OpenTASMenuItem,
|
||||
this.SaveTASMenuItem,
|
||||
this.SaveAsTASMenuItem,
|
||||
|
@ -243,6 +247,30 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.NewTASMenuItem.Text = "&New";
|
||||
this.NewTASMenuItem.Click += new System.EventHandler(this.NewTasMenuItem_Click);
|
||||
//
|
||||
// NewFromSubMenu
|
||||
//
|
||||
this.NewFromSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.NewFromNowMenuItem,
|
||||
this.NewFromCurrentSaveRamMenuItem});
|
||||
this.NewFromSubMenu.Name = "NewFromSubMenu";
|
||||
this.NewFromSubMenu.Size = new System.Drawing.Size(203, 22);
|
||||
this.NewFromSubMenu.Text = "New From";
|
||||
this.NewFromSubMenu.DropDownOpened += new System.EventHandler(this.NewFromSubMenu_DropDownOpened);
|
||||
//
|
||||
// NewFromNowMenuItem
|
||||
//
|
||||
this.NewFromNowMenuItem.Name = "NewFromNowMenuItem";
|
||||
this.NewFromNowMenuItem.Size = new System.Drawing.Size(165, 22);
|
||||
this.NewFromNowMenuItem.Text = "&Now";
|
||||
this.NewFromNowMenuItem.Click += new System.EventHandler(this.StartNewProjectFromNowMenuItem_Click);
|
||||
//
|
||||
// NewFromCurrentSaveRamMenuItem
|
||||
//
|
||||
this.NewFromCurrentSaveRamMenuItem.Name = "NewFromCurrentSaveRamMenuItem";
|
||||
this.NewFromCurrentSaveRamMenuItem.Size = new System.Drawing.Size(165, 22);
|
||||
this.NewFromCurrentSaveRamMenuItem.Text = "&Current SaveRam";
|
||||
this.NewFromCurrentSaveRamMenuItem.Click += new System.EventHandler(this.StartANewProjectFromSaveRamMenuItem_Click);
|
||||
//
|
||||
// OpenTASMenuItem
|
||||
//
|
||||
this.OpenTASMenuItem.Name = "OpenTASMenuItem";
|
||||
|
@ -1249,7 +1277,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.StartNewProjectFromNowMenuItem,
|
||||
this.StartANewProjectFromSaveRamMenuItem});
|
||||
this.RightClickMenu.Name = "RightClickMenu";
|
||||
this.RightClickMenu.Size = new System.Drawing.Size(273, 480);
|
||||
this.RightClickMenu.Size = new System.Drawing.Size(273, 458);
|
||||
this.RightClickMenu.Opened += new System.EventHandler(this.RightClickMenu_Opened);
|
||||
//
|
||||
// SetMarkersContextMenuItem
|
||||
|
@ -1688,5 +1716,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
private System.Windows.Forms.ToolStripMenuItem denoteStatesWithBGColorToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem denoteMarkersWithIconsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem denoteMarkersWithBGColorToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem NewFromSubMenu;
|
||||
private System.Windows.Forms.ToolStripMenuItem NewFromNowMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem NewFromCurrentSaveRamMenuItem;
|
||||
}
|
||||
}
|
|
@ -1046,39 +1046,30 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void StartNewProjectFromNowMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (TasView.SelectedRows.Count() == 1 &&
|
||||
!CurrentTasMovie.StartsFromSaveRam)
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
int index = Emulator.Frame;
|
||||
int index = Emulator.Frame;
|
||||
|
||||
TasMovie newProject = CurrentTasMovie.ConvertToSavestateAnchoredMovie(
|
||||
index, (byte[])StatableEmulator.SaveStateBinary().Clone());
|
||||
TasMovie newProject = CurrentTasMovie.ConvertToSavestateAnchoredMovie(
|
||||
index, (byte[])StatableEmulator.SaveStateBinary().Clone());
|
||||
|
||||
GlobalWin.MainForm.PauseEmulator();
|
||||
LoadFile(new FileInfo(newProject.Filename));
|
||||
}
|
||||
GlobalWin.MainForm.PauseEmulator();
|
||||
LoadFile(new FileInfo(newProject.Filename));
|
||||
}
|
||||
}
|
||||
|
||||
private void StartANewProjectFromSaveRamMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (TasView.SelectedRows.Count() == 1 &&
|
||||
!CurrentTasMovie.StartsFromSavestate &&
|
||||
SaveRamEmulator != null)
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
int index = TasView.SelectedRows.First();
|
||||
GoToFrame(index);
|
||||
int index = TasView.SelectedRows.First();
|
||||
GoToFrame(index);
|
||||
|
||||
TasMovie newProject = CurrentTasMovie.ConvertToSaveRamAnchoredMovie(
|
||||
SaveRamEmulator.CloneSaveRam());
|
||||
TasMovie newProject = CurrentTasMovie.ConvertToSaveRamAnchoredMovie(
|
||||
SaveRamEmulator.CloneSaveRam());
|
||||
|
||||
GlobalWin.MainForm.PauseEmulator();
|
||||
LoadFile(new FileInfo(newProject.Filename));
|
||||
}
|
||||
GlobalWin.MainForm.PauseEmulator();
|
||||
LoadFile(new FileInfo(newProject.Filename));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -927,5 +927,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
RefreshDialog();
|
||||
}
|
||||
}
|
||||
|
||||
private void NewFromSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
NewFromNowMenuItem.Enabled =
|
||||
CurrentTasMovie.InputLogLength > 0
|
||||
&& !CurrentTasMovie.StartsFromSaveRam;
|
||||
|
||||
NewFromCurrentSaveRamMenuItem.Enabled =
|
||||
CurrentTasMovie.InputLogLength > 0
|
||||
&& SaveRamEmulator != null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue