From a056e7e839ff15cec3739be60eca1fbe6f363baf Mon Sep 17 00:00:00 2001 From: Souryo Date: Fri, 26 Aug 2016 17:52:30 -0400 Subject: [PATCH] NSF: Disable movie/netplay menus while playing NSFs --- GUI.NET/Forms/frmMain.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/GUI.NET/Forms/frmMain.cs b/GUI.NET/Forms/frmMain.cs index b2e4bcef..db1461b2 100644 --- a/GUI.NET/Forms/frmMain.cs +++ b/GUI.NET/Forms/frmMain.cs @@ -623,6 +623,11 @@ namespace Mesen.GUI.Forms mnuDebugger.Enabled = !netPlay && _emuThread != null; mnuTakeScreenshot.Enabled = _emuThread != null && !InteropEmu.IsNsf(); + mnuNetPlay.Enabled = !InteropEmu.IsNsf(); + if(_emuThread != null && InteropEmu.IsNsf()) { + mnuStop.Enabled = false; + mnuMovies.Enabled = mnuPlayMovie.Enabled = mnuStopMovie.Enabled = mnuRecordFrom.Enabled = mnuRecordFromStart.Enabled = mnuRecordFromNow.Enabled = false; + } mnuRegionAuto.Checked = ConfigManager.Config.Region == NesModel.Auto; mnuRegionNtsc.Checked = ConfigManager.Config.Region == NesModel.NTSC; @@ -1499,6 +1504,12 @@ namespace Mesen.GUI.Forms private void InitializeNsfMode(bool updateTextOnly = false, bool gameLoaded = false) { if(this.InvokeRequired) { + if(InteropEmu.IsConnected()) { + InteropEmu.Disconnect(); + } + if(InteropEmu.IsServerRunning()) { + InteropEmu.StopServer(); + } this.BeginInvoke((MethodInvoker)(() => this.InitializeNsfMode(updateTextOnly, gameLoaded))); } else { if(InteropEmu.IsNsf()) {