diff --git a/BizHawk.Client.Common/config/Binding.cs b/BizHawk.Client.Common/config/Binding.cs index c319ab5251..0d506633c5 100644 --- a/BizHawk.Client.Common/config/Binding.cs +++ b/BizHawk.Client.Common/config/Binding.cs @@ -64,6 +64,13 @@ namespace BizHawk.Client.Common } } + private static Binding Bind(string tabGroup, string displayName, string bindings = "", string defaultBinding = "", string toolTip = "") + { + if (string.IsNullOrEmpty(defaultBinding)) + defaultBinding = bindings; + return new Binding { DisplayName = displayName, Bindings = bindings, TabGroup = tabGroup, DefaultBinding = defaultBinding, ToolTip = toolTip }; + } + public void ResolveWithDefaults() { //TODO - this method is potentially disastrously O(N^2) slow due to linear search nested in loop @@ -107,134 +114,131 @@ namespace BizHawk.Client.Common if (s_DefaultValues == null) { s_DefaultValues = new List - { - //General - new Binding { DisplayName = "Frame Advance", Bindings = "F", TabGroup = "General", DefaultBinding = "F" }, - new Binding { DisplayName = "Rewind", Bindings = "Shift+R, J1 B7, X1 LeftTrigger", TabGroup = "General", DefaultBinding = "Shift+R, J1 B7, X1 Left Trigger" }, - new Binding { DisplayName = "Pause", Bindings = "Pause", TabGroup = "General", DefaultBinding = "Pause" }, - new Binding { DisplayName = "Fast Forward", Bindings = "Tab, J1 B8, X1 RightTrigger", TabGroup = "General", DefaultBinding = "Tab, J1 B8, X1 Right Trigger" }, - new Binding { DisplayName = "Turbo", Bindings = "Shift+Tab", TabGroup = "General", DefaultBinding = "Shift+Tab" }, - new Binding { DisplayName = "Toggle Throttle", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Soft Reset", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Hard Reset", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Quick Load", Bindings = "P", TabGroup = "General", DefaultBinding = "P" }, - new Binding { DisplayName = "Quick Save", Bindings = "I", TabGroup = "General", DefaultBinding = "I" }, - new Binding { DisplayName = "Autohold", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Clear Autohold", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Screenshot", Bindings = "F12", TabGroup = "General", DefaultBinding = "F12" }, - new Binding { DisplayName = "Full Screen", Bindings = "Alt+Return", TabGroup = "General", DefaultBinding = "Alt+Return" }, - new Binding { DisplayName = "Open ROM", Bindings = "Ctrl+O", TabGroup = "General", DefaultBinding = "Ctrl+O" }, - new Binding { DisplayName = "Close ROM", Bindings = "Ctrl+W", TabGroup = "General", DefaultBinding = "Ctrl+W" }, - new Binding { DisplayName = "Load Last ROM", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Display FPS", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Frame Counter", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Lag Counter", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Input Display", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle BG Input", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle Menu", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Volume Up", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Volume Down", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Record A/V", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Stop A/V", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Larger Window", Bindings = "Alt+UpArrow", TabGroup = "General", DefaultBinding = "Alt+UpArrow" }, - new Binding { DisplayName = "Smaller Window", Bindings = "Alt+DownArrow", TabGroup = "General", DefaultBinding = "Alt+DownArrow" }, - new Binding { DisplayName = "Increase Speed", Bindings = "Equals", TabGroup = "General", DefaultBinding = "Equals" }, - new Binding { DisplayName = "Decrease Speed", Bindings = "Minus", TabGroup = "General", DefaultBinding = "Minus" }, - new Binding { DisplayName = "Reboot Core", Bindings = "Ctrl+R", TabGroup = "General", DefaultBinding = "Ctrl+R" }, - new Binding { DisplayName = "Autofire", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle Sound", Bindings = "", TabGroup = "General", DefaultBinding = "" }, - new Binding { DisplayName = "Exit Program", Bindings = "", TabGroup = "General", DefaultBinding = "" }, + { + Bind("General", "Frame Advance", "F"), + Bind("General", "Rewind", "Shift+R, J1 B7, X1 LeftTrigger"), + Bind("General", "Pause", "Pause"), + Bind("General", "Fast Forward", "Tab, J1 B8, X1 RightTrigger"), + Bind("General", "Turbo", "Shift+Tab"), + Bind("General", "Toggle Throttle"), + Bind("General", "Soft Reset"), + Bind("General", "Hard Reset"), + Bind("General", "Quick Load", "P"), + Bind("General", "Quick Save", "I"), + Bind("General", "Autohold"), + Bind("General", "Clear Autohold"), + Bind("General", "Screenshot", "F12"), + Bind("General", "Full Screen", "Alt+Return"), + Bind("General", "Open ROM", "Ctrl+O"), + Bind("General", "Close ROM", "Ctrl+W"), + Bind("General", "Load Last ROM"), + Bind("General", "Display FPS"), + Bind("General", "Frame Counter"), + Bind("General", "Lag Counter"), + Bind("General", "Input Display"), + Bind("General", "Toggle BG Input"), + Bind("General", "Toggle Menu"), + Bind("General", "Volume Up"), + Bind("General", "Volume Down"), + Bind("General", "Record A/V"), + Bind("General", "Stop A/V"), + Bind("General", "Larger Window", "Alt+UpArrow"), + Bind("General", "Smaller Window", "Alt+DownArrow"), + Bind("General", "Increase Speed", "Equals"), + Bind("General", "Decrease Speed", "Minus"), + Bind("General", "Reboot Core", "Ctrl+R"), + Bind("General", "Autofire"), + Bind("General", "Toggle Sound"), + Bind("General", "Exit Program"), - //Save States - new Binding { DisplayName = "Save State 0", Bindings = "Shift+F10", TabGroup = "Save States", DefaultBinding = "Shift+F10" }, - new Binding { DisplayName = "Save State 1", Bindings = "Shift+F1", TabGroup = "Save States", DefaultBinding = "Shift+F1" }, - new Binding { DisplayName = "Save State 2", Bindings = "Shift+F2", TabGroup = "Save States", DefaultBinding = "Shift+F2" }, - new Binding { DisplayName = "Save State 3", Bindings = "Shift+F3", TabGroup = "Save States", DefaultBinding = "Shift+F3" }, - new Binding { DisplayName = "Save State 4", Bindings = "Shift+F4", TabGroup = "Save States", DefaultBinding = "Shift+F4" }, - new Binding { DisplayName = "Save State 5", Bindings = "Shift+F5", TabGroup = "Save States", DefaultBinding = "Shift+F5" }, - new Binding { DisplayName = "Save State 6", Bindings = "Shift+F6", TabGroup = "Save States", DefaultBinding = "Shift+F6" }, - new Binding { DisplayName = "Save State 7", Bindings = "Shift+F7", TabGroup = "Save States", DefaultBinding = "Shift+F7" }, - new Binding { DisplayName = "Save State 8", Bindings = "Shift+F8", TabGroup = "Save States", DefaultBinding = "Shift+F8" }, - new Binding { DisplayName = "Save State 9", Bindings = "Shift+F9", TabGroup = "Save States", DefaultBinding = "Shift+F9" }, - new Binding { DisplayName = "Load State 0", Bindings = "F10", TabGroup = "Save States", DefaultBinding = "F10" }, - new Binding { DisplayName = "Load State 1", Bindings = "F1", TabGroup = "Save States", DefaultBinding = "F1" }, - new Binding { DisplayName = "Load State 2", Bindings = "F2", TabGroup = "Save States", DefaultBinding = "F2" }, - new Binding { DisplayName = "Load State 3", Bindings = "F3", TabGroup = "Save States", DefaultBinding = "F3" }, - new Binding { DisplayName = "Load State 4", Bindings = "F4", TabGroup = "Save States", DefaultBinding = "F4" }, - new Binding { DisplayName = "Load State 5", Bindings = "F5", TabGroup = "Save States", DefaultBinding = "F5" }, - new Binding { DisplayName = "Load State 6", Bindings = "F6", TabGroup = "Save States", DefaultBinding = "F6" }, - new Binding { DisplayName = "Load State 7", Bindings = "F7", TabGroup = "Save States", DefaultBinding = "F7" }, - new Binding { DisplayName = "Load State 8", Bindings = "F8", TabGroup = "Save States", DefaultBinding = "F8" }, - new Binding { DisplayName = "Load State 9", Bindings = "F9", TabGroup = "Save States", DefaultBinding = "F9" }, - new Binding { DisplayName = "Select State 0", Bindings = "D0", TabGroup = "Save States", DefaultBinding = "D0" }, - new Binding { DisplayName = "Select State 1", Bindings = "D1", TabGroup = "Save States", DefaultBinding = "D1" }, - new Binding { DisplayName = "Select State 2", Bindings = "D2", TabGroup = "Save States", DefaultBinding = "D2" }, - new Binding { DisplayName = "Select State 3", Bindings = "D3", TabGroup = "Save States", DefaultBinding = "D3" }, - new Binding { DisplayName = "Select State 4", Bindings = "D4", TabGroup = "Save States", DefaultBinding = "D4" }, - new Binding { DisplayName = "Select State 5", Bindings = "D5", TabGroup = "Save States", DefaultBinding = "D5" }, - new Binding { DisplayName = "Select State 6", Bindings = "D6", TabGroup = "Save States", DefaultBinding = "D6" }, - new Binding { DisplayName = "Select State 7", Bindings = "D7", TabGroup = "Save States", DefaultBinding = "D7" }, - new Binding { DisplayName = "Select State 8", Bindings = "D8", TabGroup = "Save States", DefaultBinding = "D8" }, - new Binding { DisplayName = "Select State 9", Bindings = "D9", TabGroup = "Save States", DefaultBinding = "D9" }, - new Binding { DisplayName = "Save Named State", Bindings = "", TabGroup = "Save States", DefaultBinding = "" }, - new Binding { DisplayName = "Load Named State", Bindings = "", TabGroup = "Save States", DefaultBinding = "" }, - new Binding { DisplayName = "Previous Slot", Bindings = "", TabGroup = "Save States", DefaultBinding = "" }, - new Binding { DisplayName = "Next Slot", Bindings = "", TabGroup = "Save States", DefaultBinding = "" }, + Bind("Save States", "Save State 0", "Shift+F10"), + Bind("Save States", "Save State 1", "Shift+F1"), + Bind("Save States", "Save State 2", "Shift+F2"), + Bind("Save States", "Save State 3", "Shift+F3"), + Bind("Save States", "Save State 4", "Shift+F4"), + Bind("Save States", "Save State 5", "Shift+F5"), + Bind("Save States", "Save State 6", "Shift+F6"), + Bind("Save States", "Save State 7", "Shift+F7"), + Bind("Save States", "Save State 8", "Shift+F8"), + Bind("Save States", "Save State 9", "Shift+F9"), + Bind("Save States", "Load State 0", "F10"), + Bind("Save States", "Load State 1", "F1"), + Bind("Save States", "Load State 2", "F2"), + Bind("Save States", "Load State 3", "F3"), + Bind("Save States", "Load State 4", "F4"), + Bind("Save States", "Load State 5", "F5"), + Bind("Save States", "Load State 6", "F6"), + Bind("Save States", "Load State 7", "F7"), + Bind("Save States", "Load State 8", "F8"), + Bind("Save States", "Load State 9", "F9"), + Bind("Save States", "Select State 0", "D0"), + Bind("Save States", "Select State 1", "D1"), + Bind("Save States", "Select State 2", "D2"), + Bind("Save States", "Select State 3", "D3"), + Bind("Save States", "Select State 4", "D4"), + Bind("Save States", "Select State 5", "D5"), + Bind("Save States", "Select State 6", "D6"), + Bind("Save States", "Select State 7", "D7"), + Bind("Save States", "Select State 8", "D8"), + Bind("Save States", "Select State 9", "D9"), + Bind("Save States", "Save Named State"), + Bind("Save States", "Load Named State"), + Bind("Save States", "Previous Slot"), + Bind("Save States", "Next Slot"), - //Movie - new Binding { DisplayName = "Toggle read-only", Bindings = "Q", TabGroup = "Movie", DefaultBinding = "Q" }, - new Binding { DisplayName = "Play Movie", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Record Movie", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Stop Movie", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Play from beginning", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Save Movie", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle MultiTrack", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "MT Select All", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "MT Select None", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "MT Increment Player", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "MT Decrement Player", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Movie Poke", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, - new Binding { DisplayName = "Scrub Input", Bindings = "", TabGroup = "Movie", DefaultBinding = "" }, + Bind("Movie", "Toggle read-only", "Q"), + Bind("Movie", "Play Movie"), + Bind("Movie", "Record Movie"), + Bind("Movie", "Stop Movie"), + Bind("Movie", "Play from beginning"), + Bind("Movie", "Save Movie"), + Bind("Movie", "Toggle MultiTrack"), + Bind("Movie", "MT Select All"), + Bind("Movie", "MT Select None"), + Bind("Movie", "MT Increment Player"), + Bind("Movie", "MT Decrement Player"), + Bind("Movie", "Movie Poke"), + Bind("Movie", "Scrub Input"), - //Tools - new Binding { DisplayName = "Ram Watch", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "Ram Search", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "Hex Editor", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "Trace Logger", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "Lua Console", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "Cheats", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "TAStudio", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "ToolBox", Bindings = "Shift+T", TabGroup = "Tools", DefaultBinding = "" }, - new Binding { DisplayName = "Virtual Pad", Bindings = "", TabGroup = "Tools", DefaultBinding = "" }, + Bind("Tools", "Ram Watch"), + Bind("Tools", "Ram Search"), + Bind("Tools", "Hex Editor"), + Bind("Tools", "Trace Logger"), + Bind("Tools", "Lua Console"), + Bind("Tools", "Cheats"), + Bind("Tools", "TAStudio"), + Bind("Tools", "ToolBox", "Shift+T"), + Bind("Tools", "Virtual Pad"), - new Binding { DisplayName = "New Search", Bindings = "", TabGroup = "Ram Search", DefaultBinding = "" }, - new Binding { DisplayName = "Do Search", Bindings = "", TabGroup = "Ram Search", DefaultBinding = "" }, - new Binding { DisplayName = "Previous Compare To", Bindings = "", TabGroup = "Ram Search", DefaultBinding = "" }, - new Binding { DisplayName = "Next Compare To", Bindings = "", TabGroup = "Ram Search", DefaultBinding = "" }, - new Binding { DisplayName = "Previous Operator", Bindings = "", TabGroup = "Ram Search", DefaultBinding = "" }, - new Binding { DisplayName = "Next Operator", Bindings = "", TabGroup = "Ram Search", DefaultBinding = "" }, + Bind("Ram Search", "New Search"), + Bind("Ram Search", "Do Search"), + Bind("Ram Search", "Previous Compare To"), + Bind("Ram Search", "Next Compare To"), + Bind("Ram Search", "Previous Operator"), + Bind("Ram Search", "Next Operator"), - //SNES - new Binding { DisplayName = "Toggle BG 1", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle BG 2", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle BG 3", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle BG 4", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle OBJ 1", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle OBJ 2", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle OBJ 3", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, - new Binding { DisplayName = "Toggle OBJ 4", Bindings = "", TabGroup = "SNES", DefaultBinding = "" }, + Bind("TAStudio", "Add Branch"), + Bind("TAStudio", "Delete Branch"), - //Analog - new Binding { DisplayName = "Y Up Small", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "Y Up Large", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "Y Down Small", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "Y Down Large", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "X Up Small", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "X Up Large", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "X Down Small", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, - new Binding { DisplayName = "X Down Large", Bindings = "", TabGroup = "Analog", DefaultBinding = "", ToolTip = "For Virtual Pad" }, + Bind("SNES", "Toggle BG 1"), + Bind("SNES", "Toggle BG 2"), + Bind("SNES", "Toggle BG 3"), + Bind("SNES", "Toggle BG 4"), + Bind("SNES", "Toggle OBJ 1"), + Bind("SNES", "Toggle OBJ 2"), + Bind("SNES", "Toggle OBJ 3"), + Bind("SNES", "Toggle OBJ 4"), + + Bind("Analog", "Y Up Small", toolTip: "For Virtual Pad"), + Bind("Analog", "Y Up Large", toolTip: "For Virtual Pad"), + Bind("Analog", "Y Down Small", toolTip: "For Virtual Pad"), + Bind("Analog", "Y Down Large", toolTip: "For Virtual Pad"), + Bind("Analog", "X Up Small", toolTip: "For Virtual Pad"), + Bind("Analog", "X Up Large", toolTip: "For Virtual Pad"), + Bind("Analog", "X Down Small", toolTip: "For Virtual Pad"), + Bind("Analog", "X Down Large", toolTip: "For Virtual Pad"), - }; + }; //set ordinals based on order in list for (int i = 0; i < s_DefaultValues.Count; i++) diff --git a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs index cb2eaa8a4c..baf6c23acc 100644 --- a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs +++ b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs @@ -88,6 +88,7 @@ namespace BizHawk.Client.Common public string NewBranchText = ""; public int CurrentBranch { get; set; } public int BranchCount { get { return Branches.Count; } } + public TasBranch GetBranch(int index) { if (index >= Branches.Count) diff --git a/BizHawk.Client.Common/tools/Watch/WatchList/WatchList.cs b/BizHawk.Client.Common/tools/Watch/WatchList/WatchList.cs index d333e787f5..cb96859d9e 100644 --- a/BizHawk.Client.Common/tools/Watch/WatchList/WatchList.cs +++ b/BizHawk.Client.Common/tools/Watch/WatchList/WatchList.cs @@ -590,7 +590,6 @@ namespace BizHawk.Client.Common sw.WriteLine(sb.ToString()); } - Global.Config.RecentWatches.Add(CurrentFileName); Changes = false; return true; } @@ -734,7 +733,6 @@ namespace BizHawk.Client.Common if (!append) { - Global.Config.RecentWatches.Add(path); Changes = false; } else diff --git a/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs b/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs index 6c0c1853d0..26ae9ff81c 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Hotkey.cs @@ -93,7 +93,7 @@ namespace BizHawk.Client.EmuHawk IncreaseWindowSize(); break; case "Smaller Window": - DecreaseWIndowSize(); + DecreaseWindowSize(); break; case "Increase Speed": IncreaseSpeed(); diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index 53539b4375..962794e399 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -1567,6 +1567,11 @@ namespace BizHawk.Client.EmuHawk { if (Global.Emulator.HasSavestates()) { + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + Global.Config.SaveSlot = num; SaveSlotSelectedMessage(); UpdateStatusSlots(); @@ -1882,6 +1887,11 @@ namespace BizHawk.Client.EmuHawk return; } + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + var path = PathManager.GetSaveStatePath(Global.Game); var file = new FileInfo(path); @@ -1913,6 +1923,11 @@ namespace BizHawk.Client.EmuHawk return; } + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + var ofd = new OpenFileDialog { InitialDirectory = PathManager.GetSaveStatePath(Global.Game), @@ -2177,6 +2192,11 @@ namespace BizHawk.Client.EmuHawk { if (Global.Emulator.HasSavestates()) { + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + if (Global.Config.SaveSlot == 0) { Global.Config.SaveSlot = 9; // Wrap to end of slot list @@ -2199,6 +2219,11 @@ namespace BizHawk.Client.EmuHawk { if (Global.Emulator.HasSavestates()) { + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + if (Global.Config.SaveSlot >= 9) { Global.Config.SaveSlot = 0; // Wrap to beginning of slot list @@ -2368,7 +2393,7 @@ namespace BizHawk.Client.EmuHawk FrameBufferResized(); } - private void DecreaseWIndowSize() + private void DecreaseWindowSize() { switch (Global.Config.TargetZoomFactor) { @@ -2680,6 +2705,11 @@ namespace BizHawk.Client.EmuHawk return; } + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + // If from lua, disable counting rerecords bool wasCountingRerecords = Global.MovieSession.Movie.IsCountingRerecords; @@ -2722,6 +2752,11 @@ namespace BizHawk.Client.EmuHawk return; } + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + var path = PathManager.SaveStatePrefix(Global.Game) + "." + quickSlotName + ".State"; if (File.Exists(path) == false) { @@ -2740,6 +2775,11 @@ namespace BizHawk.Client.EmuHawk return; } + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + try { SavestateManager.SaveStateFile(path, userFriendlyStateName); @@ -3675,6 +3715,11 @@ namespace BizHawk.Client.EmuHawk return; } + if (GlobalWin.Tools.TAStudio != null) + { + return; + } + var path = PathManager.SaveStatePrefix(Global.Game) + "." + quickSlotName + ".State"; var file = new FileInfo(path); diff --git a/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs b/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs index e40e5be15b..bbe2c9bc45 100644 --- a/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs +++ b/BizHawk.Client.EmuHawk/config/HotkeyConfig.cs @@ -118,7 +118,7 @@ namespace BizHawk.Client.EmuHawk foreach (var b in bindings) { var l = new Label - { + { Text = b.DisplayName, Location = new Point(_x, _y), Size = new Size(iwOffsetX - UIHelper.ScaleX(2), UIHelper.ScaleY(15)), @@ -148,6 +148,16 @@ namespace BizHawk.Client.EmuHawk } } + if (tab == "TAStudio") + { + tb.Controls.Add(new Label + { + Text = "Save States hotkeys operate with branches when TAStudio is engaged.", + Location = new Point(_x, _y), + Size = new Size(iwWidth + iwOffsetX, HotkeyTabControl.Height - _y), + }); + } + HotkeyTabControl.TabPages.Add(tb); } } diff --git a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs index 53c434725a..d963c86926 100644 --- a/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs +++ b/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs @@ -60,8 +60,8 @@ namespace BizHawk.Client.EmuHawk this.SelectionRedoMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this.DeselectMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SelectAllMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SelectBetweenMarkersMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SelectAllMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ReselectClipboardMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); this.CopyMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -70,9 +70,9 @@ namespace BizHawk.Client.EmuHawk this.CutMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); this.ClearMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.InsertFrameMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.DeleteFramesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.CloneMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.InsertFrameMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.InsertNumFramesMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.TruncateMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -376,8 +376,8 @@ namespace BizHawk.Client.EmuHawk this.SelectionRedoMenuItem, this.toolStripSeparator5, this.DeselectMenuItem, - this.SelectAllMenuItem, this.SelectBetweenMarkersMenuItem, + this.SelectAllMenuItem, this.ReselectClipboardMenuItem, this.toolStripSeparator7, this.CopyMenuItem, @@ -386,9 +386,9 @@ namespace BizHawk.Client.EmuHawk this.CutMenuItem, this.toolStripSeparator8, this.ClearMenuItem, + this.InsertFrameMenuItem, this.DeleteFramesMenuItem, this.CloneMenuItem, - this.InsertFrameMenuItem, this.InsertNumFramesMenuItem, this.toolStripSeparator6, this.TruncateMenuItem, @@ -452,24 +452,24 @@ namespace BizHawk.Client.EmuHawk this.DeselectMenuItem.Text = "Deselect"; this.DeselectMenuItem.Click += new System.EventHandler(this.DeselectMenuItem_Click); // + // SelectBetweenMarkersMenuItem + // + this.SelectBetweenMarkersMenuItem.Name = "SelectBetweenMarkersMenuItem"; + this.SelectBetweenMarkersMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); + this.SelectBetweenMarkersMenuItem.Size = new System.Drawing.Size(291, 22); + this.SelectBetweenMarkersMenuItem.Text = "Select between Markers"; + this.SelectBetweenMarkersMenuItem.Click += new System.EventHandler(this.SelectBetweenMarkersMenuItem_Click); + // // SelectAllMenuItem // this.SelectAllMenuItem.Name = "SelectAllMenuItem"; this.SelectAllMenuItem.ShortcutKeyDisplayString = ""; - this.SelectAllMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); + this.SelectAllMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.A))); this.SelectAllMenuItem.Size = new System.Drawing.Size(291, 22); this.SelectAllMenuItem.Text = "Select &All"; this.SelectAllMenuItem.Click += new System.EventHandler(this.SelectAllMenuItem_Click); // - // SelectBetweenMarkersMenuItem - // - this.SelectBetweenMarkersMenuItem.Name = "SelectBetweenMarkersMenuItem"; - this.SelectBetweenMarkersMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.A))); - this.SelectBetweenMarkersMenuItem.Size = new System.Drawing.Size(291, 22); - this.SelectBetweenMarkersMenuItem.Text = "Select between Markers"; - this.SelectBetweenMarkersMenuItem.Click += new System.EventHandler(this.SelectBetweenMarkersMenuItem_Click); - // // ReselectClipboardMenuItem // this.ReselectClipboardMenuItem.Name = "ReselectClipboardMenuItem"; @@ -525,15 +525,23 @@ namespace BizHawk.Client.EmuHawk // this.ClearMenuItem.Name = "ClearMenuItem"; this.ClearMenuItem.ShortcutKeyDisplayString = ""; - this.ClearMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete))); + this.ClearMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete; this.ClearMenuItem.Size = new System.Drawing.Size(291, 22); this.ClearMenuItem.Text = "Clear"; this.ClearMenuItem.Click += new System.EventHandler(this.ClearMenuItem_Click); // + // InsertFrameMenuItem + // + this.InsertFrameMenuItem.Name = "InsertFrameMenuItem"; + this.InsertFrameMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Insert; + this.InsertFrameMenuItem.Size = new System.Drawing.Size(291, 22); + this.InsertFrameMenuItem.Text = "&Insert"; + this.InsertFrameMenuItem.Click += new System.EventHandler(this.InsertFrameMenuItem_Click); + // // DeleteFramesMenuItem // this.DeleteFramesMenuItem.Name = "DeleteFramesMenuItem"; - this.DeleteFramesMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete; + this.DeleteFramesMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete))); this.DeleteFramesMenuItem.Size = new System.Drawing.Size(291, 22); this.DeleteFramesMenuItem.Text = "&Delete"; this.DeleteFramesMenuItem.Click += new System.EventHandler(this.DeleteFramesMenuItem_Click); @@ -546,20 +554,12 @@ namespace BizHawk.Client.EmuHawk this.CloneMenuItem.Text = "&Clone"; this.CloneMenuItem.Click += new System.EventHandler(this.CloneMenuItem_Click); // - // InsertFrameMenuItem - // - this.InsertFrameMenuItem.Name = "InsertFrameMenuItem"; - this.InsertFrameMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.Insert))); - this.InsertFrameMenuItem.Size = new System.Drawing.Size(291, 22); - this.InsertFrameMenuItem.Text = "&Insert"; - this.InsertFrameMenuItem.Click += new System.EventHandler(this.InsertFrameMenuItem_Click); - // // InsertNumFramesMenuItem // this.InsertNumFramesMenuItem.Name = "InsertNumFramesMenuItem"; this.InsertNumFramesMenuItem.ShortcutKeyDisplayString = ""; - this.InsertNumFramesMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Insert; + this.InsertNumFramesMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.Insert))); this.InsertNumFramesMenuItem.Size = new System.Drawing.Size(291, 22); this.InsertNumFramesMenuItem.Text = "Insert # of Frames"; this.InsertNumFramesMenuItem.Click += new System.EventHandler(this.InsertNumFramesMenuItem_Click); @@ -1116,6 +1116,7 @@ namespace BizHawk.Client.EmuHawk // this.TasView.AllowColumnReorder = false; this.TasView.AllowColumnResize = false; + this.TasView.allowRightClickSelecton = false; this.TasView.AlwaysScroll = false; this.TasView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) @@ -1125,13 +1126,12 @@ namespace BizHawk.Client.EmuHawk this.TasView.denoteMarkersWithIcons = false; this.TasView.denoteStatesWithBGColor = false; this.TasView.denoteStatesWithIcons = false; - this.TasView.allowRightClickSelecton = false; - this.TasView.letKeysModifySelection = true; this.TasView.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.TasView.FullRowSelect = true; this.TasView.HideWasLagFrames = false; this.TasView.HorizontalOrientation = false; this.TasView.LagFramesToHide = 0; + this.TasView.letKeysModifySelection = true; this.TasView.Location = new System.Drawing.Point(3, 0); this.TasView.MaxCharactersInHorizontal = 1; this.TasView.MultiSelect = false; @@ -1233,9 +1233,9 @@ namespace BizHawk.Client.EmuHawk this.cutToolStripMenuItem, this.separateToolStripMenuItem, this.ClearContextMenuItem, + this.InsertFrameContextMenuItem, this.DeleteFramesContextMenuItem, this.CloneContextMenuItem, - this.InsertFrameContextMenuItem, this.InsertNumFramesContextMenuItem, this.toolStripSeparator18, this.TruncateContextMenuItem, @@ -1244,80 +1244,79 @@ namespace BizHawk.Client.EmuHawk this.StartNewProjectFromNowMenuItem, this.StartANewProjectFromSaveRamMenuItem}); this.RightClickMenu.Name = "RightClickMenu"; - this.RightClickMenu.Size = new System.Drawing.Size(270, 502); + this.RightClickMenu.Size = new System.Drawing.Size(254, 502); this.RightClickMenu.Opened += new System.EventHandler(this.RightClickMenu_Opened); // // SetMarkersContextMenuItem // this.SetMarkersContextMenuItem.Name = "SetMarkersContextMenuItem"; - this.SetMarkersContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.SetMarkersContextMenuItem.Size = new System.Drawing.Size(253, 22); this.SetMarkersContextMenuItem.Text = "Set Markers"; this.SetMarkersContextMenuItem.Click += new System.EventHandler(this.SetMarkersMenuItem_Click); // // SetMarkerWithTextContextMenuItem // this.SetMarkerWithTextContextMenuItem.Name = "SetMarkerWithTextContextMenuItem"; - this.SetMarkerWithTextContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.SetMarkerWithTextContextMenuItem.Size = new System.Drawing.Size(253, 22); this.SetMarkerWithTextContextMenuItem.Text = "Set Marker with Text"; this.SetMarkerWithTextContextMenuItem.Click += new System.EventHandler(this.SetMarkerWithTextMenuItem_Click); // // RemoveMarkersContextMenuItem // this.RemoveMarkersContextMenuItem.Name = "RemoveMarkersContextMenuItem"; - this.RemoveMarkersContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.RemoveMarkersContextMenuItem.Size = new System.Drawing.Size(253, 22); this.RemoveMarkersContextMenuItem.Text = "Remove Markers"; this.RemoveMarkersContextMenuItem.Click += new System.EventHandler(this.RemoveMarkersMenuItem_Click); // // toolStripSeparator15 // this.toolStripSeparator15.Name = "toolStripSeparator15"; - this.toolStripSeparator15.Size = new System.Drawing.Size(266, 6); + this.toolStripSeparator15.Size = new System.Drawing.Size(250, 6); // // DeselectContextMenuItem // this.DeselectContextMenuItem.Name = "DeselectContextMenuItem"; - this.DeselectContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.DeselectContextMenuItem.Size = new System.Drawing.Size(253, 22); this.DeselectContextMenuItem.Text = "Deselect"; this.DeselectContextMenuItem.Click += new System.EventHandler(this.DeselectMenuItem_Click); // // SelectBetweenMarkersContextMenuItem // this.SelectBetweenMarkersContextMenuItem.Name = "SelectBetweenMarkersContextMenuItem"; - this.SelectBetweenMarkersContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.A))); - this.SelectBetweenMarkersContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.SelectBetweenMarkersContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); + this.SelectBetweenMarkersContextMenuItem.Size = new System.Drawing.Size(253, 22); this.SelectBetweenMarkersContextMenuItem.Text = "Select between Markers"; this.SelectBetweenMarkersContextMenuItem.Click += new System.EventHandler(this.SelectBetweenMarkersMenuItem_Click); // // toolStripSeparator16 // this.toolStripSeparator16.Name = "toolStripSeparator16"; - this.toolStripSeparator16.Size = new System.Drawing.Size(266, 6); + this.toolStripSeparator16.Size = new System.Drawing.Size(250, 6); // // UngreenzoneContextMenuItem // this.UngreenzoneContextMenuItem.Name = "UngreenzoneContextMenuItem"; - this.UngreenzoneContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.UngreenzoneContextMenuItem.Size = new System.Drawing.Size(253, 22); this.UngreenzoneContextMenuItem.Text = "Clear Greenzone"; this.UngreenzoneContextMenuItem.Click += new System.EventHandler(this.ClearGreenzoneMenuItem_Click); // // CancelSeekContextMenuItem // this.CancelSeekContextMenuItem.Name = "CancelSeekContextMenuItem"; - this.CancelSeekContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.CancelSeekContextMenuItem.Size = new System.Drawing.Size(253, 22); this.CancelSeekContextMenuItem.Text = "Cancel Seek"; this.CancelSeekContextMenuItem.Click += new System.EventHandler(this.CancelSeekContextMenuItem_Click); // // toolStripSeparator17 // this.toolStripSeparator17.Name = "toolStripSeparator17"; - this.toolStripSeparator17.Size = new System.Drawing.Size(266, 6); + this.toolStripSeparator17.Size = new System.Drawing.Size(250, 6); // // copyToolStripMenuItem // this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; this.copyToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+C"; - this.copyToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.copyToolStripMenuItem.Size = new System.Drawing.Size(253, 22); this.copyToolStripMenuItem.Text = "Copy"; this.copyToolStripMenuItem.Click += new System.EventHandler(this.CopyMenuItem_Click); // @@ -1325,7 +1324,7 @@ namespace BizHawk.Client.EmuHawk // this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem"; this.pasteToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+V"; - this.pasteToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.pasteToolStripMenuItem.Size = new System.Drawing.Size(253, 22); this.pasteToolStripMenuItem.Text = "Paste"; this.pasteToolStripMenuItem.Click += new System.EventHandler(this.PasteMenuItem_Click); // @@ -1333,7 +1332,7 @@ namespace BizHawk.Client.EmuHawk // this.pasteInsertToolStripMenuItem.Name = "pasteInsertToolStripMenuItem"; this.pasteInsertToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Shift+V"; - this.pasteInsertToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.pasteInsertToolStripMenuItem.Size = new System.Drawing.Size(253, 22); this.pasteInsertToolStripMenuItem.Text = "Paste Insert"; this.pasteInsertToolStripMenuItem.Click += new System.EventHandler(this.PasteInsertMenuItem_Click); // @@ -1341,28 +1340,28 @@ namespace BizHawk.Client.EmuHawk // this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; this.cutToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+X"; - this.cutToolStripMenuItem.Size = new System.Drawing.Size(269, 22); + this.cutToolStripMenuItem.Size = new System.Drawing.Size(253, 22); this.cutToolStripMenuItem.Text = "Cut"; this.cutToolStripMenuItem.Click += new System.EventHandler(this.CutMenuItem_Click); // // separateToolStripMenuItem // this.separateToolStripMenuItem.Name = "separateToolStripMenuItem"; - this.separateToolStripMenuItem.Size = new System.Drawing.Size(266, 6); + this.separateToolStripMenuItem.Size = new System.Drawing.Size(250, 6); // // ClearContextMenuItem // this.ClearContextMenuItem.Name = "ClearContextMenuItem"; - this.ClearContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete))); - this.ClearContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.ClearContextMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete; + this.ClearContextMenuItem.Size = new System.Drawing.Size(253, 22); this.ClearContextMenuItem.Text = "Clear"; this.ClearContextMenuItem.Click += new System.EventHandler(this.ClearMenuItem_Click); // // DeleteFramesContextMenuItem // this.DeleteFramesContextMenuItem.Name = "DeleteFramesContextMenuItem"; - this.DeleteFramesContextMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete; - this.DeleteFramesContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.DeleteFramesContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete))); + this.DeleteFramesContextMenuItem.Size = new System.Drawing.Size(253, 22); this.DeleteFramesContextMenuItem.Text = "Delete"; this.DeleteFramesContextMenuItem.Click += new System.EventHandler(this.DeleteFramesMenuItem_Click); // @@ -1370,62 +1369,62 @@ namespace BizHawk.Client.EmuHawk // this.CloneContextMenuItem.Name = "CloneContextMenuItem"; this.CloneContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert))); - this.CloneContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.CloneContextMenuItem.Size = new System.Drawing.Size(253, 22); this.CloneContextMenuItem.Text = "Clone"; this.CloneContextMenuItem.Click += new System.EventHandler(this.CloneMenuItem_Click); // // InsertFrameContextMenuItem // this.InsertFrameContextMenuItem.Name = "InsertFrameContextMenuItem"; - this.InsertFrameContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.Insert))); - this.InsertFrameContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.InsertFrameContextMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Insert; + this.InsertFrameContextMenuItem.Size = new System.Drawing.Size(253, 22); this.InsertFrameContextMenuItem.Text = "Insert"; this.InsertFrameContextMenuItem.Click += new System.EventHandler(this.InsertFrameMenuItem_Click); // // InsertNumFramesContextMenuItem // this.InsertNumFramesContextMenuItem.Name = "InsertNumFramesContextMenuItem"; - this.InsertNumFramesContextMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Insert; - this.InsertNumFramesContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.InsertNumFramesContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.Insert))); + this.InsertNumFramesContextMenuItem.Size = new System.Drawing.Size(253, 22); this.InsertNumFramesContextMenuItem.Text = "Insert # of Frames"; this.InsertNumFramesContextMenuItem.Click += new System.EventHandler(this.InsertNumFramesMenuItem_Click); // // toolStripSeparator18 // this.toolStripSeparator18.Name = "toolStripSeparator18"; - this.toolStripSeparator18.Size = new System.Drawing.Size(266, 6); + this.toolStripSeparator18.Size = new System.Drawing.Size(250, 6); // // TruncateContextMenuItem // this.TruncateContextMenuItem.Name = "TruncateContextMenuItem"; - this.TruncateContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.TruncateContextMenuItem.Size = new System.Drawing.Size(253, 22); this.TruncateContextMenuItem.Text = "Truncate Movie"; this.TruncateContextMenuItem.Click += new System.EventHandler(this.TruncateMenuItem_Click); // // BranchContextMenuItem // this.BranchContextMenuItem.Name = "BranchContextMenuItem"; - this.BranchContextMenuItem.Size = new System.Drawing.Size(269, 22); + this.BranchContextMenuItem.Size = new System.Drawing.Size(253, 22); this.BranchContextMenuItem.Text = "&Branch"; this.BranchContextMenuItem.Click += new System.EventHandler(this.BranchContextMenuItem_Click); // // StartFromNowSeparator // this.StartFromNowSeparator.Name = "StartFromNowSeparator"; - this.StartFromNowSeparator.Size = new System.Drawing.Size(266, 6); + this.StartFromNowSeparator.Size = new System.Drawing.Size(250, 6); // // StartNewProjectFromNowMenuItem // this.StartNewProjectFromNowMenuItem.Name = "StartNewProjectFromNowMenuItem"; - this.StartNewProjectFromNowMenuItem.Size = new System.Drawing.Size(269, 22); + this.StartNewProjectFromNowMenuItem.Size = new System.Drawing.Size(253, 22); this.StartNewProjectFromNowMenuItem.Text = "Start a new project from Now"; this.StartNewProjectFromNowMenuItem.Click += new System.EventHandler(this.StartNewProjectFromNowMenuItem_Click); // // StartANewProjectFromSaveRamMenuItem // this.StartANewProjectFromSaveRamMenuItem.Name = "StartANewProjectFromSaveRamMenuItem"; - this.StartANewProjectFromSaveRamMenuItem.Size = new System.Drawing.Size(269, 22); + this.StartANewProjectFromSaveRamMenuItem.Size = new System.Drawing.Size(253, 22); this.StartANewProjectFromSaveRamMenuItem.Text = "Start a new project from SaveRam"; this.StartANewProjectFromSaveRamMenuItem.Click += new System.EventHandler(this.StartANewProjectFromSaveRamMenuItem_Click); // diff --git a/BizHawk.Client.EmuHawk/tools/ToolManager.cs b/BizHawk.Client.EmuHawk/tools/ToolManager.cs index 74e7fdaf9a..36b22a5379 100644 --- a/BizHawk.Client.EmuHawk/tools/ToolManager.cs +++ b/BizHawk.Client.EmuHawk/tools/ToolManager.cs @@ -63,7 +63,7 @@ namespace BizHawk.Client.EmuHawk } /// - /// Loads the tool dialog T (T must implemants ) , if it does not exist it will be created, if it is already open, it will be focused + /// Loads the tool dialog T (T must implement ) , if it does not exist it will be created, if it is already open, it will be focused /// /// Type of tool you want to load /// Define if the tool form has to get the focus or not (Default is true) @@ -75,7 +75,7 @@ namespace BizHawk.Client.EmuHawk } /// - /// Loads the tool dialog T (T must implemants ) , if it does not exist it will be created, if it is already open, it will be focused + /// Loads the tool dialog T (T must implement ) , if it does not exist it will be created, if it is already open, it will be focused /// /// Type of tool you want to load /// Define if the tool form has to get the focus or not (Default is true) @@ -888,6 +888,29 @@ namespace BizHawk.Client.EmuHawk } } + public TAStudio TAStudio + { + get + { + var tool = _tools.FirstOrDefault(x => x is TAStudio); + if (tool != null) + { + if (tool.IsDisposed) + { + _tools.Remove(tool); + } + else + { + return tool as TAStudio; + } + } + + var newTool = new TAStudio(); + _tools.Add(newTool); + return newTool; + } + } + #endregion #region Specialized Tool Loading Logic diff --git a/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs b/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs index 64bee85ee6..e9c54c1f8d 100644 --- a/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs +++ b/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs @@ -850,6 +850,7 @@ namespace BizHawk.Client.EmuHawk var watches = new WatchList(MemoryDomains, _settings.Domain, Emu.SystemId); watches.Load(file.FullName, append); + Settings.RecentSearches.Add(watches.CurrentFileName); var watchList = watches.Where(x => !x.IsSeparator); var addresses = watchList.Select(x => x.Address).ToList(); @@ -1041,6 +1042,7 @@ namespace BizHawk.Client.EmuHawk { _currentFileName = watches.CurrentFileName; MessageLabel.Text = Path.GetFileName(_currentFileName) + " saved"; + Settings.RecentSearches.Add(watches.CurrentFileName); } } else diff --git a/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs b/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs index fa6438be1a..5c5e24b938 100644 --- a/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs +++ b/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs @@ -141,6 +141,7 @@ namespace BizHawk.Client.EmuHawk else { _watches.Save(); + Global.Config.RecentWatches.Add(_watches.CurrentFileName); } } else if (result == DialogResult.No) @@ -693,6 +694,7 @@ namespace BizHawk.Client.EmuHawk { if (_watches.Save()) { + Global.Config.RecentWatches.Add(_watches.CurrentFileName); UpdateStatusBar(saved: true); } } @@ -1034,6 +1036,7 @@ namespace BizHawk.Client.EmuHawk if (Path.GetExtension(filePaths[0]) == ".wch") { _watches.Load(filePaths[0], append: false); + Global.Config.RecentWatches.Add(_watches.CurrentFileName); WatchListView.ItemCount = _watches.ItemCount; } }