Make an option for emulation to pause automatically when the menu is activated, and make an option to toggle this feature (on by default)
This commit is contained in:
parent
9f681559f7
commit
3fdd1b2ee4
|
@ -8,6 +8,7 @@
|
||||||
public string LastRomPath = ".";
|
public string LastRomPath = ".";
|
||||||
public bool AutoLoadMostRecentRom = false; //TODO: eventually make a class or struct for all the auto-loads, which will include recent roms, movies, etc, as well as autoloading any modeless dialog
|
public bool AutoLoadMostRecentRom = false; //TODO: eventually make a class or struct for all the auto-loads, which will include recent roms, movies, etc, as well as autoloading any modeless dialog
|
||||||
public RecentFiles RecentRoms = new RecentFiles(8);
|
public RecentFiles RecentRoms = new RecentFiles(8);
|
||||||
|
public bool PauseWhenMenuActivated = true;
|
||||||
|
|
||||||
// Display options
|
// Display options
|
||||||
public bool DisplayFPS = false;
|
public bool DisplayFPS = false;
|
||||||
|
|
|
@ -111,11 +111,14 @@
|
||||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.displayFPSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.displayFPSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.displayFrameCounterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.displayFrameCounterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.displayInputToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.displayLagCounterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.displayLagCounterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.displayInputToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.configToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.configToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.controllersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.controllersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.hotkeysToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.hotkeysToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
this.gUIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.pauseWhenMenuActivatedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.rAMWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.rAMWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.rAMSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.rAMSearchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -125,9 +128,6 @@
|
||||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
|
||||||
this.gUIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.pauseWhenMenuActivatedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -145,6 +145,8 @@
|
||||||
this.menuStrip1.Size = new System.Drawing.Size(470, 24);
|
this.menuStrip1.Size = new System.Drawing.Size(470, 24);
|
||||||
this.menuStrip1.TabIndex = 0;
|
this.menuStrip1.TabIndex = 0;
|
||||||
this.menuStrip1.Text = "menuStrip1";
|
this.menuStrip1.Text = "menuStrip1";
|
||||||
|
this.menuStrip1.MenuDeactivate += new System.EventHandler(this.menuStrip1_MenuDeactivate);
|
||||||
|
this.menuStrip1.MenuActivate += new System.EventHandler(this.menuStrip1_MenuActivate);
|
||||||
//
|
//
|
||||||
// fileToolStripMenuItem
|
// fileToolStripMenuItem
|
||||||
//
|
//
|
||||||
|
@ -806,13 +808,6 @@
|
||||||
this.displayFrameCounterToolStripMenuItem.Text = "Display FrameCounter";
|
this.displayFrameCounterToolStripMenuItem.Text = "Display FrameCounter";
|
||||||
this.displayFrameCounterToolStripMenuItem.Click += new System.EventHandler(this.displayFrameCounterToolStripMenuItem_Click);
|
this.displayFrameCounterToolStripMenuItem.Click += new System.EventHandler(this.displayFrameCounterToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// displayInputToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.displayInputToolStripMenuItem.Name = "displayInputToolStripMenuItem";
|
|
||||||
this.displayInputToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
|
|
||||||
this.displayInputToolStripMenuItem.Text = "Display Input";
|
|
||||||
this.displayInputToolStripMenuItem.Click += new System.EventHandler(this.displayInputToolStripMenuItem_Click);
|
|
||||||
//
|
|
||||||
// displayLagCounterToolStripMenuItem
|
// displayLagCounterToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.displayLagCounterToolStripMenuItem.Name = "displayLagCounterToolStripMenuItem";
|
this.displayLagCounterToolStripMenuItem.Name = "displayLagCounterToolStripMenuItem";
|
||||||
|
@ -820,6 +815,13 @@
|
||||||
this.displayLagCounterToolStripMenuItem.Text = "Display Lag Counter";
|
this.displayLagCounterToolStripMenuItem.Text = "Display Lag Counter";
|
||||||
this.displayLagCounterToolStripMenuItem.Click += new System.EventHandler(this.displayLagCounterToolStripMenuItem_Click);
|
this.displayLagCounterToolStripMenuItem.Click += new System.EventHandler(this.displayLagCounterToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
// displayInputToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.displayInputToolStripMenuItem.Name = "displayInputToolStripMenuItem";
|
||||||
|
this.displayInputToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
|
||||||
|
this.displayInputToolStripMenuItem.Text = "Display Input";
|
||||||
|
this.displayInputToolStripMenuItem.Click += new System.EventHandler(this.displayInputToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// configToolStripMenuItem
|
// configToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.configToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.configToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
@ -834,7 +836,7 @@
|
||||||
// controllersToolStripMenuItem
|
// controllersToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.controllersToolStripMenuItem.Name = "controllersToolStripMenuItem";
|
this.controllersToolStripMenuItem.Name = "controllersToolStripMenuItem";
|
||||||
this.controllersToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
this.controllersToolStripMenuItem.Size = new System.Drawing.Size(137, 22);
|
||||||
this.controllersToolStripMenuItem.Text = "&Controllers";
|
this.controllersToolStripMenuItem.Text = "&Controllers";
|
||||||
this.controllersToolStripMenuItem.Click += new System.EventHandler(this.controllersToolStripMenuItem_Click);
|
this.controllersToolStripMenuItem.Click += new System.EventHandler(this.controllersToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
@ -842,10 +844,31 @@
|
||||||
//
|
//
|
||||||
this.hotkeysToolStripMenuItem.Enabled = false;
|
this.hotkeysToolStripMenuItem.Enabled = false;
|
||||||
this.hotkeysToolStripMenuItem.Name = "hotkeysToolStripMenuItem";
|
this.hotkeysToolStripMenuItem.Name = "hotkeysToolStripMenuItem";
|
||||||
this.hotkeysToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
this.hotkeysToolStripMenuItem.Size = new System.Drawing.Size(137, 22);
|
||||||
this.hotkeysToolStripMenuItem.Text = "&Hotkeys";
|
this.hotkeysToolStripMenuItem.Text = "&Hotkeys";
|
||||||
this.hotkeysToolStripMenuItem.Click += new System.EventHandler(this.hotkeysToolStripMenuItem_Click);
|
this.hotkeysToolStripMenuItem.Click += new System.EventHandler(this.hotkeysToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
// toolStripSeparator9
|
||||||
|
//
|
||||||
|
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
||||||
|
this.toolStripSeparator9.Size = new System.Drawing.Size(134, 6);
|
||||||
|
//
|
||||||
|
// gUIToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.gUIToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.pauseWhenMenuActivatedToolStripMenuItem});
|
||||||
|
this.gUIToolStripMenuItem.Name = "gUIToolStripMenuItem";
|
||||||
|
this.gUIToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||||
|
this.gUIToolStripMenuItem.Text = "GUI";
|
||||||
|
this.gUIToolStripMenuItem.DropDownOpened += new System.EventHandler(this.gUIToolStripMenuItem_DropDownOpened);
|
||||||
|
//
|
||||||
|
// pauseWhenMenuActivatedToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.pauseWhenMenuActivatedToolStripMenuItem.Name = "pauseWhenMenuActivatedToolStripMenuItem";
|
||||||
|
this.pauseWhenMenuActivatedToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
|
||||||
|
this.pauseWhenMenuActivatedToolStripMenuItem.Text = "Pause when menu activated";
|
||||||
|
this.pauseWhenMenuActivatedToolStripMenuItem.Click += new System.EventHandler(this.pauseWhenMenuActivatedToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// toolsToolStripMenuItem
|
// toolsToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
@ -918,25 +941,6 @@
|
||||||
this.aboutToolStripMenuItem.Text = "&About";
|
this.aboutToolStripMenuItem.Text = "&About";
|
||||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
|
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator9
|
|
||||||
//
|
|
||||||
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
|
||||||
this.toolStripSeparator9.Size = new System.Drawing.Size(149, 6);
|
|
||||||
//
|
|
||||||
// gUIToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.gUIToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.pauseWhenMenuActivatedToolStripMenuItem});
|
|
||||||
this.gUIToolStripMenuItem.Name = "gUIToolStripMenuItem";
|
|
||||||
this.gUIToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
|
||||||
this.gUIToolStripMenuItem.Text = "GUI";
|
|
||||||
//
|
|
||||||
// pauseWhenMenuActivatedToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.pauseWhenMenuActivatedToolStripMenuItem.Name = "pauseWhenMenuActivatedToolStripMenuItem";
|
|
||||||
this.pauseWhenMenuActivatedToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
|
|
||||||
this.pauseWhenMenuActivatedToolStripMenuItem.Text = "Pause when menu activated";
|
|
||||||
//
|
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
|
|
@ -18,6 +18,7 @@ namespace BizHawk.MultiClient
|
||||||
private RetainedViewportPanel retainedPanel;
|
private RetainedViewportPanel retainedPanel;
|
||||||
private string CurrentlyOpenRom;
|
private string CurrentlyOpenRom;
|
||||||
private int SaveSlot = 0; //Saveslot sytem
|
private int SaveSlot = 0; //Saveslot sytem
|
||||||
|
private bool wasPaused = false; //For handling automatic pausing when entering the menu
|
||||||
|
|
||||||
private bool EmulatorPaused = false;
|
private bool EmulatorPaused = false;
|
||||||
RamWatch RamWatch1 = new RamWatch();
|
RamWatch RamWatch1 = new RamWatch();
|
||||||
|
@ -535,13 +536,11 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
Global.Sound.StartSound();
|
Global.Sound.StartSound();
|
||||||
EmulatorPaused = false;
|
EmulatorPaused = false;
|
||||||
pauseToolStripMenuItem.Checked = false;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Global.Sound.StopSound();
|
Global.Sound.StopSound();
|
||||||
EmulatorPaused = true;
|
EmulatorPaused = true;
|
||||||
pauseToolStripMenuItem.Checked = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -708,6 +707,7 @@ namespace BizHawk.MultiClient
|
||||||
enableFMChipToolStripMenuItem.Checked = Global.Config.SmsEnableFM;
|
enableFMChipToolStripMenuItem.Checked = Global.Config.SmsEnableFM;
|
||||||
overclockWhenKnownSafeToolStripMenuItem.Checked = Global.Config.SmsAllowOverlock;
|
overclockWhenKnownSafeToolStripMenuItem.Checked = Global.Config.SmsAllowOverlock;
|
||||||
forceStereoSeparationToolStripMenuItem.Checked = Global.Config.SmsForceStereoSeparation;
|
forceStereoSeparationToolStripMenuItem.Checked = Global.Config.SmsForceStereoSeparation;
|
||||||
|
pauseToolStripMenuItem.Checked = EmulatorPaused;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clearToolStripMenuItem_Click(object sender, EventArgs e)
|
private void clearToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
@ -1006,26 +1006,11 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void viewToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
private void viewToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (Global.Config.DisplayFPS == true)
|
displayFPSToolStripMenuItem.Checked = Global.Config.DisplayFPS;
|
||||||
displayFPSToolStripMenuItem.Checked = true;
|
displayFrameCounterToolStripMenuItem.Checked = Global.Config.DisplayFrameCounter;
|
||||||
else
|
displayLagCounterToolStripMenuItem.Checked = Global.Config.DisplayLagCounter;
|
||||||
displayFPSToolStripMenuItem.Checked = false;
|
displayInputToolStripMenuItem.Checked = Global.Config.DisplayInput;
|
||||||
|
|
||||||
if (Global.Config.DisplayFrameCounter == true)
|
|
||||||
displayFrameCounterToolStripMenuItem.Checked = true;
|
|
||||||
else
|
|
||||||
displayFrameCounterToolStripMenuItem.Checked = false;
|
|
||||||
|
|
||||||
if (Global.Config.DisplayLagCounter == true)
|
|
||||||
displayLagCounterToolStripMenuItem.Checked = true;
|
|
||||||
else
|
|
||||||
displayLagCounterToolStripMenuItem.Checked = false;
|
|
||||||
|
|
||||||
if (Global.Config.DisplayInput == true)
|
|
||||||
displayInputToolStripMenuItem.Checked = true;
|
|
||||||
else
|
|
||||||
displayInputToolStripMenuItem.Checked = false;
|
|
||||||
|
|
||||||
x1MenuItem.Checked = false;
|
x1MenuItem.Checked = false;
|
||||||
x2MenuItem.Checked = false;
|
x2MenuItem.Checked = false;
|
||||||
x3MenuItem.Checked = false;
|
x3MenuItem.Checked = false;
|
||||||
|
@ -1041,5 +1026,40 @@ namespace BizHawk.MultiClient
|
||||||
case 10: mzMenuItem.Checked = true; break;
|
case 10: mzMenuItem.Checked = true; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void menuStrip1_MenuActivate(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Global.Config.PauseWhenMenuActivated)
|
||||||
|
{
|
||||||
|
Global.Sound.StopSound();
|
||||||
|
if (EmulatorPaused)
|
||||||
|
wasPaused = true;
|
||||||
|
else
|
||||||
|
wasPaused = false;
|
||||||
|
EmulatorPaused = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void menuStrip1_MenuDeactivate(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!wasPaused)
|
||||||
|
{
|
||||||
|
Global.Sound.StartSound();
|
||||||
|
EmulatorPaused = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void gUIToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
pauseWhenMenuActivatedToolStripMenuItem.Checked = Global.Config.PauseWhenMenuActivated;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void pauseWhenMenuActivatedToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Global.Config.PauseWhenMenuActivated == true)
|
||||||
|
Global.Config.PauseWhenMenuActivated = false;
|
||||||
|
else
|
||||||
|
Global.Config.PauseWhenMenuActivated = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue