From 0db0c4eccf8c9b7ff2cbcbac237e490236c9422a Mon Sep 17 00:00:00 2001 From: shanehoman Date: Sun, 2 Apr 2017 23:08:47 -0700 Subject: [PATCH 1/2] bind a hotkey to flush sram --- BizHawk.Client.Common/config/Binding.cs | 1 + BizHawk.Client.EmuHawk/MainForm.Designer.cs | 1 + BizHawk.Client.EmuHawk/MainForm.Events.cs | 5 +++++ BizHawk.Client.EmuHawk/MainForm.Hotkey.cs | 3 +++ 4 files changed, 10 insertions(+) diff --git a/BizHawk.Client.Common/config/Binding.cs b/BizHawk.Client.Common/config/Binding.cs index ceb8e0d99a..d7929747a6 100644 --- a/BizHawk.Client.Common/config/Binding.cs +++ b/BizHawk.Client.Common/config/Binding.cs @@ -132,6 +132,7 @@ namespace BizHawk.Client.Common Bind("General", "Open ROM", "Ctrl+O"), Bind("General", "Close ROM", "Ctrl+W"), Bind("General", "Load Last ROM"), + Bind("General", "Flush SRAM", "Ctrl+S"), Bind("General", "Display FPS"), Bind("General", "Frame Counter"), Bind("General", "Lag Counter"), diff --git a/BizHawk.Client.EmuHawk/MainForm.Designer.cs b/BizHawk.Client.EmuHawk/MainForm.Designer.cs index d47c43dbb3..4e0a0aca88 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Designer.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Designer.cs @@ -894,6 +894,7 @@ this.SaveRAMSubMenu.Name = "SaveRAMSubMenu"; this.SaveRAMSubMenu.Size = new System.Drawing.Size(159, 22); this.SaveRAMSubMenu.Text = "Save &RAM"; + this.SaveRAMSubMenu.DropDownOpened += new System.EventHandler(this.SaveRAMSubMenu_DropDownOpened); // // FlushSaveRAMMenuItem // diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index 9331b3bf46..dec8b5ee61 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -2178,6 +2178,11 @@ namespace BizHawk.Client.EmuHawk SaveRam(); } + private void SaveRAMSubMenu_DropDownOpened(object sender, EventArgs e) + { + this.FlushSaveRAMMenuItem.ShortcutKeyDisplayString = Global.Config.HotkeyBindings["Save SRAM"].Bindings; + } + #endregion #region Coleco diff --git a/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs b/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs index 45dc14748d..3a1587eeac 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs @@ -63,6 +63,9 @@ namespace BizHawk.Client.EmuHawk case "Load Last ROM": LoadRomFromRecent(Global.Config.RecentRoms.MostRecent); break; + case "Flush SRAM": + SaveRam(); + break; case "Display FPS": ToggleFPS(); break; From 58e1b523697a05d5c9c44c17bbf2136a195e5088 Mon Sep 17 00:00:00 2001 From: shanehoman Date: Sun, 2 Apr 2017 23:12:38 -0700 Subject: [PATCH 2/2] expose MainForm.SaveRam() method to lua --- BizHawk.Client.EmuHawk/MainForm.cs | 2 +- .../tools/Lua/Libraries/EmuLuaLibrary.Client.cs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index f5295f2f4d..3c0773835c 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -1592,7 +1592,7 @@ namespace BizHawk.Client.EmuHawk } } - private void SaveRam() + public void SaveRam() { if (Emulator.HasSaveRam()) { diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Client.cs b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Client.cs index 9e1033c7ab..32894c5c75 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Client.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Client.cs @@ -533,5 +533,14 @@ namespace BizHawk.Client.EmuHawk { Global.Config.DisplayMessages = value; } + + [LuaMethodAttributes( + "saveram", + "flushes save ram to disk" + )] + public void SaveRam() + { + GlobalWin.MainForm.SaveRam(); + } } }