From f8c508b1a31f31251ffe0404a3eec8c5a4786e1c Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 30 Sep 2012 02:07:14 +0000 Subject: [PATCH] Add a CpuTracingAvailable flag to CoreOutputComm and set to true for NES, set the Trace Logger menu item to be enabled/disabled based on this flag --- BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs | 1 + BizHawk.Emulation/Interfaces/CoreComms.cs | 2 ++ BizHawk.MultiClient/MainForm.MenuItems.cs | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs index 26a6ac38f5..2b232501a2 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/NES.cs @@ -19,6 +19,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo public NES(GameInfo game, byte[] rom) { CoreOutputComm = new CoreOutputComm(); + CoreOutputComm.CpuTraceAvailable = true; BootGodDB.Initialize(); SetPalette(Palettes.FCEUX_Standard); videoProvider = new MyVideoProvider(this); diff --git a/BizHawk.Emulation/Interfaces/CoreComms.cs b/BizHawk.Emulation/Interfaces/CoreComms.cs index ebc4732576..12856d6ee9 100644 --- a/BizHawk.Emulation/Interfaces/CoreComms.cs +++ b/BizHawk.Emulation/Interfaces/CoreComms.cs @@ -35,5 +35,7 @@ public string RomStatusDetails; public int ScreenLogicalOffsetX, ScreenLogicalOffsetY; + + public bool CpuTraceAvailable = false; } } diff --git a/BizHawk.MultiClient/MainForm.MenuItems.cs b/BizHawk.MultiClient/MainForm.MenuItems.cs index 75845f3d58..26154a4aa9 100644 --- a/BizHawk.MultiClient/MainForm.MenuItems.cs +++ b/BizHawk.MultiClient/MainForm.MenuItems.cs @@ -626,13 +626,13 @@ namespace BizHawk.MultiClient cheatsToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.Cheats; tAStudioToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.TASTudio; - if (INTERIM) + if (INTERIM && Global.Emulator.CoreOutputComm.CpuTraceAvailable) { - traceLoggerToolStripMenuItem.Visible = true; + traceLoggerToolStripMenuItem.Enabled = true; } else { - traceLoggerToolStripMenuItem.Visible = false; + traceLoggerToolStripMenuItem.Enabled = false; } }