emuhawk - add a main menu item for Save RAM and bold it if it is dirty; allow it to be manually flushed, instead of having to wait for the client or core to close
This commit is contained in:
parent
536964bac2
commit
b16497ad24
|
@ -70,6 +70,8 @@
|
|||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.SaveToCurrentSlotMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.LoadCurrentSlotMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SaveRAMSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.FlushSaveRAMMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.MovieSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ReadonlyMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -428,6 +430,7 @@
|
|||
this.SaveStateSubMenu,
|
||||
this.LoadStateSubMenu,
|
||||
this.SaveSlotSubMenu,
|
||||
this.SaveRAMSubMenu,
|
||||
this.toolStripMenuItem2,
|
||||
this.MovieSubMenu,
|
||||
this.AVSubMenu,
|
||||
|
@ -443,7 +446,7 @@
|
|||
//
|
||||
this.OpenRomMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.OpenFile;
|
||||
this.OpenRomMenuItem.Name = "OpenRomMenuItem";
|
||||
this.OpenRomMenuItem.Size = new System.Drawing.Size(134, 22);
|
||||
this.OpenRomMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.OpenRomMenuItem.Text = "Open ROM";
|
||||
this.OpenRomMenuItem.Click += new System.EventHandler(this.OpenRomMenuItem_Click);
|
||||
//
|
||||
|
@ -453,7 +456,7 @@
|
|||
this.toolStripSeparator3});
|
||||
this.RecentRomSubMenu.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent;
|
||||
this.RecentRomSubMenu.Name = "RecentRomSubMenu";
|
||||
this.RecentRomSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.RecentRomSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.RecentRomSubMenu.Text = "Recent ROM";
|
||||
this.RecentRomSubMenu.DropDownOpened += new System.EventHandler(this.RecentRomMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -466,14 +469,14 @@
|
|||
//
|
||||
this.CloseRomMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Close;
|
||||
this.CloseRomMenuItem.Name = "CloseRomMenuItem";
|
||||
this.CloseRomMenuItem.Size = new System.Drawing.Size(134, 22);
|
||||
this.CloseRomMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.CloseRomMenuItem.Text = "&Close ROM";
|
||||
this.CloseRomMenuItem.Click += new System.EventHandler(this.CloseRomMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(131, 6);
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// SaveStateSubMenu
|
||||
//
|
||||
|
@ -491,7 +494,7 @@
|
|||
this.toolStripSeparator6,
|
||||
this.SaveNamedStateMenuItem});
|
||||
this.SaveStateSubMenu.Name = "SaveStateSubMenu";
|
||||
this.SaveStateSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.SaveStateSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.SaveStateSubMenu.Text = "Save State";
|
||||
this.SaveStateSubMenu.DropDownOpened += new System.EventHandler(this.SaveStateSubMenu_DropDownOpened);
|
||||
//
|
||||
|
@ -595,7 +598,7 @@
|
|||
this.toolStripSeparator21,
|
||||
this.AutoloadLastSlotMenuItem});
|
||||
this.LoadStateSubMenu.Name = "LoadStateSubMenu";
|
||||
this.LoadStateSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.LoadStateSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.LoadStateSubMenu.Text = "Load State";
|
||||
this.LoadStateSubMenu.DropDownOpened += new System.EventHandler(this.LoadStateSubMenu_DropDownOpened);
|
||||
//
|
||||
|
@ -712,8 +715,8 @@
|
|||
this.SaveToCurrentSlotMenuItem,
|
||||
this.LoadCurrentSlotMenuItem});
|
||||
this.SaveSlotSubMenu.Name = "SaveSlotSubMenu";
|
||||
this.SaveSlotSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.SaveSlotSubMenu.Text = "SaveSlot";
|
||||
this.SaveSlotSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.SaveSlotSubMenu.Text = "Save Slot";
|
||||
this.SaveSlotSubMenu.DropDownOpened += new System.EventHandler(this.SaveSlotSubMenu_DropDownOpened);
|
||||
//
|
||||
// SelectSlot0MenuItem
|
||||
|
@ -821,10 +824,27 @@
|
|||
this.LoadCurrentSlotMenuItem.Text = "Load Current Slot";
|
||||
this.LoadCurrentSlotMenuItem.Click += new System.EventHandler(this.LoadCurrentSlotMenuItem_Click);
|
||||
//
|
||||
// SaveRAMSubMenu
|
||||
//
|
||||
this.SaveRAMSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.FlushSaveRAMMenuItem});
|
||||
this.SaveRAMSubMenu.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold);
|
||||
this.SaveRAMSubMenu.Name = "SaveRAMSubMenu";
|
||||
this.SaveRAMSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.SaveRAMSubMenu.Text = "Save RAM";
|
||||
//
|
||||
// FlushSaveRAMMenuItem
|
||||
//
|
||||
this.FlushSaveRAMMenuItem.Font = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
this.FlushSaveRAMMenuItem.Name = "FlushSaveRAMMenuItem";
|
||||
this.FlushSaveRAMMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.FlushSaveRAMMenuItem.Text = "&Flush Save Ram";
|
||||
this.FlushSaveRAMMenuItem.Click += new System.EventHandler(this.FlushSaveRAMMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem2
|
||||
//
|
||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(131, 6);
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// MovieSubMenu
|
||||
//
|
||||
|
@ -844,7 +864,7 @@
|
|||
this.FullMovieLoadstatesMenuItem,
|
||||
this.MovieEndSubMenu});
|
||||
this.MovieSubMenu.Name = "MovieSubMenu";
|
||||
this.MovieSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.MovieSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.MovieSubMenu.Text = "Movie";
|
||||
this.MovieSubMenu.DropDownOpened += new System.EventHandler(this.MovieSubMenu_DropDownOpened);
|
||||
//
|
||||
|
@ -1000,7 +1020,7 @@
|
|||
this.CaptureOSDMenuItem,
|
||||
this.SynclessRecordingMenuItem});
|
||||
this.AVSubMenu.Name = "AVSubMenu";
|
||||
this.AVSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.AVSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.AVSubMenu.Text = "AVI/WAV";
|
||||
this.AVSubMenu.DropDownOpened += new System.EventHandler(this.AVSubMenu_DropDownOpened);
|
||||
//
|
||||
|
@ -1049,7 +1069,7 @@
|
|||
this.toolStripSeparator20,
|
||||
this.ScreenshotCaptureOSDMenuItem1});
|
||||
this.ScreenshotSubMenu.Name = "ScreenshotSubMenu";
|
||||
this.ScreenshotSubMenu.Size = new System.Drawing.Size(134, 22);
|
||||
this.ScreenshotSubMenu.Size = new System.Drawing.Size(152, 22);
|
||||
this.ScreenshotSubMenu.Text = "Screenshot";
|
||||
this.ScreenshotSubMenu.DropDownOpening += new System.EventHandler(this.ScreenshotSubMenu_DropDownOpening);
|
||||
//
|
||||
|
@ -1100,13 +1120,13 @@
|
|||
// toolStripSeparator4
|
||||
//
|
||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||
this.toolStripSeparator4.Size = new System.Drawing.Size(131, 6);
|
||||
this.toolStripSeparator4.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// ExitMenuItem
|
||||
//
|
||||
this.ExitMenuItem.Name = "ExitMenuItem";
|
||||
this.ExitMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
|
||||
this.ExitMenuItem.Size = new System.Drawing.Size(134, 22);
|
||||
this.ExitMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.ExitMenuItem.Text = "Exit";
|
||||
this.ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItem_Click);
|
||||
//
|
||||
|
@ -2399,7 +2419,7 @@
|
|||
// PSXOptionsMenuItem
|
||||
//
|
||||
this.PSXOptionsMenuItem.Name = "PSXOptionsMenuItem";
|
||||
this.PSXOptionsMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.PSXOptionsMenuItem.Size = new System.Drawing.Size(111, 22);
|
||||
this.PSXOptionsMenuItem.Text = "&Options";
|
||||
this.PSXOptionsMenuItem.Click += new System.EventHandler(this.PSXOptionsMenuItem_Click);
|
||||
//
|
||||
|
@ -3715,6 +3735,8 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem DebuggerMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem PSXSubMenu;
|
||||
private System.Windows.Forms.ToolStripMenuItem PSXOptionsMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem SaveRAMSubMenu;
|
||||
private System.Windows.Forms.ToolStripMenuItem FlushSaveRAMMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,6 +43,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
// ScreenshotSubMenu.Enabled =
|
||||
CloseRomMenuItem.Enabled =
|
||||
!Global.Emulator.IsNull();
|
||||
|
||||
SaveRAMSubMenu.Enabled = Global.Emulator.HasSaveRam();
|
||||
bool needBold = Global.Emulator.AsSaveRam().SaveRamModified;
|
||||
if (SaveRAMSubMenu.Font.Bold != needBold)
|
||||
{
|
||||
var font = new System.Drawing.Font(SaveRAMSubMenu.Font, needBold ? FontStyle.Bold : FontStyle.Regular);
|
||||
SaveRAMSubMenu.Font.Dispose();
|
||||
SaveRAMSubMenu.Font = font;
|
||||
}
|
||||
}
|
||||
|
||||
private void RecentRomMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||
|
@ -1782,6 +1791,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
new PSXOptions().ShowDialog();
|
||||
}
|
||||
|
||||
private void FlushSaveRAMMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveRam();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Coleco
|
||||
|
|
Loading…
Reference in New Issue