This commit is contained in:
hegyak 2015-12-05 04:29:46 -08:00
commit 0e0877aa4d
10 changed files with 276 additions and 191 deletions

View File

@ -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<Binding>
{
//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++)

View File

@ -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)

View File

@ -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

View File

@ -93,7 +93,7 @@ namespace BizHawk.Client.EmuHawk
IncreaseWindowSize();
break;
case "Smaller Window":
DecreaseWIndowSize();
DecreaseWindowSize();
break;
case "Increase Speed":
IncreaseSpeed();

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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);
//

View File

@ -63,7 +63,7 @@ namespace BizHawk.Client.EmuHawk
}
/// <summary>
/// Loads the tool dialog T (T must implemants <see cref="IToolForm"/>) , 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 <see cref="IToolForm"/>) , if it does not exist it will be created, if it is already open, it will be focused
/// </summary>
/// <typeparam name="T">Type of tool you want to load</typeparam>
/// <param name="focus">Define if the tool form has to get the focus or not (Default is true)</param>
@ -75,7 +75,7 @@ namespace BizHawk.Client.EmuHawk
}
/// <summary>
/// Loads the tool dialog T (T must implemants <see cref="IToolForm"/>) , 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 <see cref="IToolForm"/>) , if it does not exist it will be created, if it is already open, it will be focused
/// </summary>
/// <typeparam name="T">Type of tool you want to load</typeparam>
/// <param name="focus">Define if the tool form has to get the focus or not (Default is true)</param>
@ -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

View File

@ -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

View File

@ -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;
}
}