diff --git a/BizHawk.Client.Common/config/Config.cs b/BizHawk.Client.Common/config/Config.cs index 0142ba184d..806b5d9258 100644 --- a/BizHawk.Client.Common/config/Config.cs +++ b/BizHawk.Client.Common/config/Config.cs @@ -105,7 +105,6 @@ namespace BizHawk.Client.Common public bool MoviesInAWE = false; public bool HotkeyConfigAutoTab = true; public bool InputConfigAutoTab = true; - public bool ShowLogWindow = false; public bool BackupSavestates = true; public bool SaveScreenshotWithStates = true; public int BigScreenshotSize = 128 * 1024; @@ -115,7 +114,6 @@ namespace BizHawk.Client.Common public bool AutofireLagFrames = true; public int SaveSlot = 0; // currently selected savestate slot public bool AutoLoadLastSaveSlot = false; - public bool WIN32_CONSOLE = true; public bool SkipLagFrame = false; public bool SuppressAskSave = false; public bool AVI_CaptureOSD = false; @@ -313,13 +311,6 @@ namespace BizHawk.Client.Common public string SoundDevice = ""; public int SoundBufferSizeMs = 100; - // Log Window - public bool LogWindowSaveWindowPosition = true; - public int LogWindowWndx = -1; - public int LogWindowWndy = -1; - public int LogWindowWidth = -1; - public int LogWindowHeight = -1; - // Lua public RecentFiles RecentLua = new RecentFiles(8); public RecentFiles RecentLuaSession = new RecentFiles(8); diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj index 49f8792bc1..3a97da79d2 100644 --- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj +++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj @@ -658,7 +658,6 @@ - Form diff --git a/BizHawk.Client.EmuHawk/LogConsole.cs b/BizHawk.Client.EmuHawk/LogConsole.cs deleted file mode 100644 index 16299af22f..0000000000 --- a/BizHawk.Client.EmuHawk/LogConsole.cs +++ /dev/null @@ -1,290 +0,0 @@ -using System; -using System.Text; -using System.IO; -using System.Runtime.InteropServices; -using System.Windows.Forms; - -using BizHawk.Common; -using BizHawk.Client.Common; - -// thanks! - http://sharp-developer.net/ru/CodeBank/WinForms/GuiConsole.aspx -// todo - quit using Console.WriteLine (well, we can leave it hooked up as a backstop) -// use a different method instead, so we can collect unicode data -// also, collect log data independently of whether the log window is open -// we also need to dice it into lines so that we can have a backlog policy - -namespace BizHawk.Client.EmuHawk -{ - internal static class LogConsole - { - public static bool ConsoleVisible { get; private set; } - - private static LogWindow _window; - private static LogStream _logStream; - private static bool _needToRelease; - - private class LogStream : Stream - { - public override bool CanRead => false; - public override bool CanSeek => false; - public override bool CanWrite => true; - - public override void Flush() - { - //TODO - maybe this will help with decoding - } - - public override long Length => throw new NotImplementedException(); - - public override long Position - { - get => throw new NotImplementedException(); - set => throw new NotImplementedException(); - } - - public override int Read(byte[] buffer, int offset, int count) - { - throw new NotImplementedException(); - } - - public override long Seek(long offset, SeekOrigin origin) - { - throw new NotImplementedException(); - } - - public override void SetLength(long value) - { - throw new NotImplementedException(); - } - - public override void Write(byte[] buffer, int offset, int count) - { - // TODO - buffer undecoded characters (this may be important) - //(use decoder = System.Text.Encoding.Unicode.GetDecoder()) - string str = Encoding.ASCII.GetString(buffer, offset, count); - Emit?.Invoke(str); - } - - public Action Emit; - } - - internal static string SkipEverythingButProgramInCommandLine(string cmdLine) - { - // skip past the program name. can anyone think of a better way to do this? - // we could use CommandLineToArgvW (commented out below) but then we would just have to re-assemble and potentially re-quote it - int childCmdLine = 0; - int lastSlash = 0; - int lastGood = 0; - bool quote = false; - for (; ; ) - { - char cur = cmdLine[childCmdLine]; - childCmdLine++; - if (childCmdLine == cmdLine.Length) break; - bool thisIsQuote = (cur == '\"'); - if (cur == '\\' || cur == '/') - { - lastSlash = childCmdLine; - } - - if (quote) - { - if (thisIsQuote) - quote = false; - else lastGood = childCmdLine; - } - else - { - if (cur == ' ' || cur == '\t') - break; - if (thisIsQuote) - quote = true; - lastGood = childCmdLine; - } - } - string remainder = cmdLine.Substring(childCmdLine); - string path = cmdLine.Substring(lastSlash, lastGood - lastSlash); - return $"{path} {remainder}"; - } - - private static IntPtr _oldOut, _conOut; - private static bool _hasConsole; - private static bool _attachedConsole; - private static bool _shouldRedirectStdout; - public static void CreateConsole() - { - // (see desmume for the basis of some of this logic) - if (_hasConsole) - { - return; - } - - if (_oldOut == IntPtr.Zero) - { - _oldOut = ConsoleImports.GetStdHandle( -11 ); // STD_OUTPUT_HANDLE - } - - var fileType = ConsoleImports.GetFileType(_oldOut); - - // stdout is already connected to something. keep using it and don't let the console interfere - _shouldRedirectStdout = (fileType == ConsoleImports.FileType.FileTypeUnknown || fileType == ConsoleImports.FileType.FileTypePipe); - - // attach to an existing console - _attachedConsole = false; - - // ever since a recent KB, XP-based systems glitch out when AttachConsole is called and there's no console to attach to. - if (Environment.OSVersion.Version.Major != 5) - { - if (ConsoleImports.AttachConsole(-1)) - { - _hasConsole = true; - _attachedConsole = true; - } - } - - if (!_attachedConsole) - { - ConsoleImports.FreeConsole(); - if (ConsoleImports.AllocConsole()) - { - //set icons for the console so we can tell them apart from the main window - Win32Imports.SendMessage(ConsoleImports.GetConsoleWindow(), 0x0080/*WM_SETICON*/, (IntPtr)0/*ICON_SMALL*/, Properties.Resources.console16x16.GetHicon()); - Win32Imports.SendMessage(ConsoleImports.GetConsoleWindow(), 0x0080/*WM_SETICON*/, (IntPtr)1/*ICON_LARGE*/, Properties.Resources.console32x32.GetHicon()); - _hasConsole = true; - } - else - { - MessageBox.Show($"Couldn't allocate win32 console: {Marshal.GetLastWin32Error()}"); - } - } - - if (_hasConsole) - { - IntPtr ptr = ConsoleImports.GetCommandLine(); - string commandLine = Marshal.PtrToStringAuto(ptr); - Console.Title = SkipEverythingButProgramInCommandLine(commandLine); - } - - if (_shouldRedirectStdout) - { - _conOut = ConsoleImports.CreateFile("CONOUT$", 0x40000000, 2, IntPtr.Zero, 3, 0, IntPtr.Zero); - - if (!ConsoleImports.SetStdHandle(-11, _conOut)) - throw new Exception($"{nameof(ConsoleImports.SetStdHandle)}() failed"); - } - - //DotNetRewireConout(); - _hasConsole = true; - - if (_attachedConsole) - { - Console.WriteLine(); - Console.WriteLine("use cmd /c {0} to get more sensible console behaviour", Path.GetFileName(PathManager.GetGlobalBasePathAbsolute())); - } - } - - static void ReleaseConsole() - { - if (!_hasConsole) - { - return; - } - - if (_shouldRedirectStdout) - { - ConsoleImports.CloseHandle(_conOut); - } - - if (!_attachedConsole) - { - ConsoleImports.FreeConsole(); - } - - ConsoleImports.SetStdHandle(-11, _oldOut); - - _conOut = IntPtr.Zero; - _hasConsole = false; - } - - /// - /// pops the console in front of the main window (where it should probably go after booting up the game). - /// maybe this should be optional, or maybe we can somehow position the console sensibly. - /// sometimes it annoys me, but i really need it on top while debugging or else i will be annoyed. - /// best of all would be to position it beneath the BizHawk main window somehow. - /// - public static void PositionConsole() - { - if (ConsoleVisible == false) - { - return; - } - - if (Global.Config.WIN32_CONSOLE) - { - IntPtr x = ConsoleImports.GetConsoleWindow(); - ConsoleImports.SetForegroundWindow(x); - } - } - - public static void ShowConsole(MainForm parent) - { - if (ConsoleVisible) return; - ConsoleVisible = true; - - if (Global.Config.WIN32_CONSOLE) - { - _needToRelease = true; - CreateConsole(); - } - else - { - _logStream = new LogStream(); - Log.HACK_LOG_STREAM = _logStream; - Console.SetOut(new StreamWriter(_logStream) { AutoFlush = true }); - _window = new LogWindow(parent); - _window.Show(); - _logStream.Emit = str => { _window.Append(str); }; - } - } - - public static void HideConsole() - { - if (ConsoleVisible == false) - { - return; - } - - Console.SetOut(TextWriter.Null); - ConsoleVisible = false; - if (_needToRelease) - { - ReleaseConsole(); - _needToRelease = false; - } - else - { - _logStream.Close(); - _logStream = null; - Log.HACK_LOG_STREAM = null; - _window.Close(); - _window = null; - } - } - - public static void NotifyLogWindowClosing() - { - Console.SetOut(TextWriter.Null); - ConsoleVisible = false; - _logStream?.Close(); - Log.HACK_LOG_STREAM = null; - } - - public static void SaveConfigSettings() - { - if (_window != null && _window.IsHandleCreated) - { - _window.SaveConfigSettings(); - } - } - } -} diff --git a/BizHawk.Client.EmuHawk/LogWindow.Designer.cs b/BizHawk.Client.EmuHawk/LogWindow.Designer.cs index f01459b842..17a6733663 100644 --- a/BizHawk.Client.EmuHawk/LogWindow.Designer.cs +++ b/BizHawk.Client.EmuHawk/LogWindow.Designer.cs @@ -1,6 +1,4 @@ -using System.Windows.Forms; - -namespace BizHawk.Client.EmuHawk +namespace BizHawk.Client.EmuHawk { partial class LogWindow { @@ -38,6 +36,7 @@ namespace BizHawk.Client.EmuHawk this.AddToGameDbBtn = new System.Windows.Forms.Button(); this.virtualListView1 = new System.Windows.Forms.ListView(); this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.MenuStrip = new MenuStripEx(); this.tableLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // @@ -107,7 +106,6 @@ namespace BizHawk.Client.EmuHawk // // AddToGameDbBtn // - this.AddToGameDbBtn.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.RetroQuestion; this.AddToGameDbBtn.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.AddToGameDbBtn.Location = new System.Drawing.Point(246, 3); this.AddToGameDbBtn.Name = "AddToGameDbBtn"; @@ -125,18 +123,26 @@ namespace BizHawk.Client.EmuHawk this.virtualListView1.Dock = System.Windows.Forms.DockStyle.Fill; this.virtualListView1.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.virtualListView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; - this.virtualListView1.VirtualListSize = 0; - this.virtualListView1.Location = new System.Drawing.Point(0, 0); + this.virtualListView1.HideSelection = false; + this.virtualListView1.Location = new System.Drawing.Point(0, 24); this.virtualListView1.Name = "virtualListView1"; - this.virtualListView1.Size = new System.Drawing.Size(675, 367); + this.virtualListView1.Size = new System.Drawing.Size(675, 343); this.virtualListView1.TabIndex = 8; this.virtualListView1.UseCompatibleStateImageBehavior = false; this.virtualListView1.View = System.Windows.Forms.View.Details; this.virtualListView1.VirtualMode = true; - this.virtualListView1.RetrieveVirtualItem += new RetrieveVirtualItemEventHandler(this.ListView_QueryItemText); + this.virtualListView1.RetrieveVirtualItem += new System.Windows.Forms.RetrieveVirtualItemEventHandler(this.ListView_QueryItemText); this.virtualListView1.ClientSizeChanged += new System.EventHandler(this.ListView_ClientSizeChanged); this.virtualListView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ListView_KeyDown); // + // MenuStrip + // + this.MenuStrip.Location = new System.Drawing.Point(0, 0); + this.MenuStrip.Name = "MenuStrip"; + this.MenuStrip.Size = new System.Drawing.Size(675, 24); + this.MenuStrip.TabIndex = 9; + this.MenuStrip.Text = "menuStrip1"; + // // LogWindow // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -145,6 +151,8 @@ namespace BizHawk.Client.EmuHawk this.ClientSize = new System.Drawing.Size(675, 397); this.Controls.Add(this.virtualListView1); this.Controls.Add(this.tableLayoutPanel1); + this.Controls.Add(this.MenuStrip); + this.MainMenuStrip = this.MenuStrip; this.MinimumSize = new System.Drawing.Size(171, 97); this.Name = "LogWindow"; this.ShowIcon = false; @@ -167,5 +175,6 @@ namespace BizHawk.Client.EmuHawk private System.Windows.Forms.Button buttonCopy; private System.Windows.Forms.Button buttonCopyAll; private System.Windows.Forms.Button AddToGameDbBtn; + private MenuStripEx MenuStrip; } } \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/LogWindow.cs b/BizHawk.Client.EmuHawk/LogWindow.cs index b2996fd0de..cabeec6c97 100644 --- a/BizHawk.Client.EmuHawk/LogWindow.cs +++ b/BizHawk.Client.EmuHawk/LogWindow.cs @@ -1,52 +1,81 @@ using System; using System.Collections.Generic; -using System.Drawing; using System.IO; using System.Text; using System.Windows.Forms; +using BizHawk.Common; using BizHawk.Emulation.Common; using BizHawk.Emulation.Common.IEmulatorExtensions; using BizHawk.Client.Common; +using BizHawk.Client.EmuHawk.WinFormExtensions; -//todo - perks - pause, copy to clipboard, backlog length limiting +// todo - perks - pause, copy to clipboard, backlog length limiting namespace BizHawk.Client.EmuHawk { - public partial class LogWindow : Form + public partial class LogWindow : ToolFormBase, IToolFormAutoConfig { - //TODO: only show add to game db when this is a Rom details dialog - //Let user decide what type (instead of always adding it as a good dump) + // TODO: only show add to game db when this is a Rom details dialog + // Let user decide what type (instead of always adding it as a good dump) private readonly List _lines = new List(); - private readonly MainForm _mainForm; + private LogStream _logStream; - public LogWindow(MainForm mainForm) + [RequiredService] + private IEmulator Emulator { get; set; } + + public LogWindow() { - _mainForm = mainForm; InitializeComponent(); Closing += (o, e) => { - Global.Config.ShowLogWindow = false; - mainForm.NotifyLogWindowClosing(); - LogConsole.NotifyLogWindowClosing(); - SaveConfigSettings(); + Detach(); }; ListView_ClientSizeChanged(null, null); + Attach(); } - public static void ShowReport(string title, string report, MainForm parent) + public void UpdateValues() { } // TODO + + public void NewUpdate(ToolFormUpdateType type) { } + + public void FastUpdate() { } + + public void Restart() { } + + public bool AskSaveChanges() => true; + public bool UpdateBefore => true; + + private void Attach() + { + _logStream = new LogStream(); + Log.HACK_LOG_STREAM = _logStream; + Console.SetOut(new StreamWriter(_logStream) { AutoFlush = true }); + _logStream.Emit = Append; + } + + private void Detach() + { + Console.SetOut(new StreamWriter(Console.OpenStandardOutput()) + { + AutoFlush = true + }); + _logStream.Close(); + _logStream = null; + Log.HACK_LOG_STREAM = null; + } + + public void ShowReport(string title, string report) { - using var dlg = new LogWindow(parent); var ss = report.Split('\n'); foreach (var s in ss) { - dlg._lines.Add(s.TrimEnd('\r')); + _lines.Add(s.TrimEnd('\r')); } - dlg.virtualListView1.VirtualListSize = ss.Length; - dlg.Text = title; - dlg.btnClear.Visible = false; - dlg.ShowDialog(parent); + virtualListView1.VirtualListSize = ss.Length; + Text = title; + btnClear.Visible = false; } public void Append(string str) @@ -76,31 +105,9 @@ namespace BizHawk.Client.EmuHawk private void LogWindow_Load(object sender, EventArgs e) { - if (Global.Config.LogWindowSaveWindowPosition) - { - if (Global.Config.LogWindowSaveWindowPosition && Global.Config.LogWindowWndx >= 0 && Global.Config.LogWindowWndy >= 0) - Location = new Point(Global.Config.LogWindowWndx, Global.Config.LogWindowWndy); - - if (Global.Config.LogWindowWidth >= 0 && Global.Config.LogWindowHeight >= 0) - { - Size = new Size(Global.Config.LogWindowWidth, Global.Config.LogWindowHeight); - } - } - HideShowGameDbButton(); } - public void SaveConfigSettings() - { - if (Global.Config.LogWindowSaveWindowPosition) - { - Global.Config.LogWindowWndx = Location.X; - Global.Config.LogWindowWndy = Location.Y; - Global.Config.LogWindowWidth = Right - Left; - Global.Config.LogWindowHeight = Bottom - Top; - } - } - private void ListView_QueryItemText(object sender, RetrieveVirtualItemEventArgs e) { e.Item = new ListViewItem(_lines[e.ItemIndex]); @@ -139,7 +146,7 @@ namespace BizHawk.Client.EmuHawk private void HideShowGameDbButton() { - AddToGameDbBtn.Visible = Global.Emulator.CanGenerateGameDBEntries() + AddToGameDbBtn.Visible = Emulator.CanGenerateGameDBEntries() && (Global.Game.Status == RomStatus.Unknown || Global.Game.Status == RomStatus.NotInDatabase); } @@ -147,15 +154,60 @@ namespace BizHawk.Client.EmuHawk { using var picker = new RomStatusPicker(); var result = picker.ShowDialog(); - if (result == DialogResult.OK) + if (result.IsOk()) { - var gameDbEntry = Global.Emulator.AsGameDBEntryGenerator().GenerateGameDbEntry(); + var gameDbEntry = Emulator.AsGameDBEntryGenerator().GenerateGameDbEntry(); var userDb = Path.Combine(PathManager.GetExeDirectoryAbsolute(), "gamedb", "gamedb_user.txt"); Global.Game.Status = gameDbEntry.Status = picker.PickedStatus; Database.SaveDatabaseEntry(userDb, gameDbEntry); - _mainForm.UpdateDumpIcon(); + MainForm.UpdateDumpIcon(); HideShowGameDbButton(); } } + + private class LogStream : Stream + { + public override bool CanRead => false; + public override bool CanSeek => false; + public override bool CanWrite => true; + + public override void Flush() + { + //TODO - maybe this will help with decoding + } + + public override long Length => throw new NotImplementedException(); + + public override long Position + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + + public override int Read(byte[] buffer, int offset, int count) + { + throw new NotImplementedException(); + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + + public override void SetLength(long value) + { + throw new NotImplementedException(); + } + + public override void Write(byte[] buffer, int offset, int count) + { + // TODO - buffer undecoded characters (this may be important) + //(use decoder = System.Text.Encoding.Unicode.GetDecoder()) + string str = Encoding.ASCII.GetString(buffer, offset, count); + Emit?.Invoke(str); + } + + public Action Emit; + } } } diff --git a/BizHawk.Client.EmuHawk/LogWindow.resx b/BizHawk.Client.EmuHawk/LogWindow.resx index c7e0d4bdf1..2d477aa0a4 100644 --- a/BizHawk.Client.EmuHawk/LogWindow.resx +++ b/BizHawk.Client.EmuHawk/LogWindow.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index 98f594f7c8..e94eb8bd5d 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -747,13 +747,11 @@ namespace BizHawk.Client.EmuHawk SwitchToFullscreenMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Full Screen"].Bindings; DisplayStatusBarMenuItem.Checked = Config.DispChrome_StatusBarWindowed; - DisplayLogWindowMenuItem.Checked = Config.ShowLogWindow; + DisplayLogWindowMenuItem.Checked = Tools.IsLoaded(); DisplayLagCounterMenuItem.Enabled = Emulator.CanPollInput(); DisplayMessagesMenuItem.Checked = Config.DisplayMessages; - - DisplayLogWindowMenuItem.Enabled = !OSTailoredCode.IsUnixHost; } private void WindowSizeSubMenu_DropDownOpened(object sender, EventArgs e) @@ -847,16 +845,7 @@ namespace BizHawk.Client.EmuHawk private void DisplayLogWindowMenuItem_Click(object sender, EventArgs e) { - Config.ShowLogWindow ^= true; - - if (Config.ShowLogWindow) - { - LogConsole.ShowConsole(this); - } - else - { - LogConsole.HideConsole(); - } + Tools.Load(); } #endregion @@ -3194,7 +3183,8 @@ namespace BizHawk.Client.EmuHawk if (!string.IsNullOrEmpty(details)) { Sound.StopSound(); - LogWindow.ShowReport("Dump Status Report", details, this); + Tools.Load(); + ((LogWindow) Tools.Get()).ShowReport("Dump Status Report", details); Sound.StartSound(); } } diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index b69119c835..6d1e43592c 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -223,11 +223,6 @@ namespace BizHawk.Client.EmuHawk InitializeComponent(); SetImages(); Game = GameInfo.NullInstance; - if (Config.ShowLogWindow && !OSTailoredCode.IsUnixHost) - { - LogConsole.ShowConsole(this); - DisplayLogWindowMenuItem.Checked = true; - } _throttle = new Throttle(); @@ -512,7 +507,6 @@ namespace BizHawk.Client.EmuHawk public int ProgramRunLoop() { CheckMessages(); // can someone leave a note about why this is needed? - if (!OSTailoredCode.IsUnixHost) LogConsole.PositionConsole(); // needs to be done late, after the log console snaps on top // fullscreen should snap on top even harder! @@ -1220,11 +1214,6 @@ namespace BizHawk.Client.EmuHawk Tools.Load(); } - public void NotifyLogWindowClosing() - { - DisplayLogWindowMenuItem.Checked = false; - } - public void ClickSpeedItem(int num) { if ((ModifierKeys & Keys.Control) != 0) @@ -2407,11 +2396,6 @@ namespace BizHawk.Client.EmuHawk Config.MainWndy = -1; } - if (Config.ShowLogWindow) - { - LogConsole.SaveConfigSettings(); - } - if (string.IsNullOrEmpty(path)) { path = PathManager.DefaultIniPath; diff --git a/BizHawk.Client.EmuHawk/config/EmuHawkOptions.Designer.cs b/BizHawk.Client.EmuHawk/config/EmuHawkOptions.Designer.cs index a57da09b0a..0c700e63c6 100644 --- a/BizHawk.Client.EmuHawk/config/EmuHawkOptions.Designer.cs +++ b/BizHawk.Client.EmuHawk/config/EmuHawkOptions.Designer.cs @@ -28,580 +28,557 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.OkBtn = new System.Windows.Forms.Button(); - this.CancelBtn = new System.Windows.Forms.Button(); - this.tabControl1 = new System.Windows.Forms.TabControl(); - this.tabPage1 = new System.Windows.Forms.TabPage(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.StartPausedCheckbox = new System.Windows.Forms.CheckBox(); - this.label14 = new System.Windows.Forms.Label(); - this.StartFullScreenCheckbox = new System.Windows.Forms.CheckBox(); - this.label3 = new System.Windows.Forms.Label(); - this.SingleInstanceModeCheckbox = new System.Windows.Forms.CheckBox(); - this.NeverAskSaveCheckbox = new System.Windows.Forms.CheckBox(); - this.label2 = new System.Windows.Forms.Label(); - this.AcceptBackgroundInputCheckbox = new System.Windows.Forms.CheckBox(); - this.AcceptBackgroundInputControllerOnlyCheckBox = new System.Windows.Forms.CheckBox(); - this.label1 = new System.Windows.Forms.Label(); - this.RunInBackgroundCheckbox = new System.Windows.Forms.CheckBox(); - this.SaveWindowPositionCheckbox = new System.Windows.Forms.CheckBox(); - this.EnableContextMenuCheckbox = new System.Windows.Forms.CheckBox(); - this.PauseWhenMenuActivatedCheckbox = new System.Windows.Forms.CheckBox(); - this.tabPage3 = new System.Windows.Forms.TabPage(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.AutosaveSRAMtextBox = new System.Windows.Forms.NumericUpDown(); - this.AutosaveSRAMradioButton1 = new System.Windows.Forms.RadioButton(); - this.label8 = new System.Windows.Forms.Label(); - this.AutosaveSRAMradioButton2 = new System.Windows.Forms.RadioButton(); - this.AutosaveSRAMradioButton3 = new System.Windows.Forms.RadioButton(); - this.AutosaveSRAMCheckbox = new System.Windows.Forms.CheckBox(); - this.panel1 = new System.Windows.Forms.Panel(); - this.label7 = new System.Windows.Forms.Label(); - this.LuaInterfaceRadio = new System.Windows.Forms.RadioButton(); - this.NLuaRadio = new System.Windows.Forms.RadioButton(); - this.label6 = new System.Windows.Forms.Label(); - this.cbMoviesInAWE = new System.Windows.Forms.CheckBox(); - this.label5 = new System.Windows.Forms.Label(); - this.cbMoviesOnDisk = new System.Windows.Forms.CheckBox(); - this.LuaDuringTurboCheckbox = new System.Windows.Forms.CheckBox(); - this.label12 = new System.Windows.Forms.Label(); - this.label13 = new System.Windows.Forms.Label(); - this.FrameAdvSkipLagCheckbox = new System.Windows.Forms.CheckBox(); - this.BackupSRamCheckbox = new System.Windows.Forms.CheckBox(); - this.label4 = new System.Windows.Forms.Label(); - this.LogWindowAsConsoleCheckbox = new System.Windows.Forms.CheckBox(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.label9 = new System.Windows.Forms.Label(); - this.label10 = new System.Windows.Forms.Label(); - this.HandleAlternateKeyboardLayoutsCheckBox = new System.Windows.Forms.CheckBox(); - this.tabControl1.SuspendLayout(); - this.tabPage1.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.tabPage3.SuspendLayout(); - this.groupBox2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.AutosaveSRAMtextBox)).BeginInit(); - this.panel1.SuspendLayout(); - this.SuspendLayout(); - // - // OkBtn - // - this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.OkBtn.Location = new System.Drawing.Point(280, 425); - this.OkBtn.Name = "OkBtn"; - this.OkBtn.Size = new System.Drawing.Size(60, 23); - this.OkBtn.TabIndex = 0; - this.OkBtn.Text = "&OK"; - this.OkBtn.UseVisualStyleBackColor = true; - this.OkBtn.Click += new System.EventHandler(this.OkBtn_Click); - // - // CancelBtn - // - this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.CancelBtn.Location = new System.Drawing.Point(346, 425); - this.CancelBtn.Name = "CancelBtn"; - this.CancelBtn.Size = new System.Drawing.Size(60, 23); - this.CancelBtn.TabIndex = 1; - this.CancelBtn.Text = "&Cancel"; - this.CancelBtn.UseVisualStyleBackColor = true; - this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click); - // - // tabControl1 - // - this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.components = new System.ComponentModel.Container(); + this.OkBtn = new System.Windows.Forms.Button(); + this.CancelBtn = new System.Windows.Forms.Button(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.HandleAlternateKeyboardLayoutsCheckBox = new System.Windows.Forms.CheckBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.StartPausedCheckbox = new System.Windows.Forms.CheckBox(); + this.label14 = new System.Windows.Forms.Label(); + this.StartFullScreenCheckbox = new System.Windows.Forms.CheckBox(); + this.label3 = new System.Windows.Forms.Label(); + this.SingleInstanceModeCheckbox = new System.Windows.Forms.CheckBox(); + this.NeverAskSaveCheckbox = new System.Windows.Forms.CheckBox(); + this.label2 = new System.Windows.Forms.Label(); + this.AcceptBackgroundInputCheckbox = new System.Windows.Forms.CheckBox(); + this.AcceptBackgroundInputControllerOnlyCheckBox = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.RunInBackgroundCheckbox = new System.Windows.Forms.CheckBox(); + this.SaveWindowPositionCheckbox = new System.Windows.Forms.CheckBox(); + this.EnableContextMenuCheckbox = new System.Windows.Forms.CheckBox(); + this.PauseWhenMenuActivatedCheckbox = new System.Windows.Forms.CheckBox(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label10 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.AutosaveSRAMtextBox = new System.Windows.Forms.NumericUpDown(); + this.AutosaveSRAMradioButton1 = new System.Windows.Forms.RadioButton(); + this.label8 = new System.Windows.Forms.Label(); + this.AutosaveSRAMradioButton2 = new System.Windows.Forms.RadioButton(); + this.AutosaveSRAMradioButton3 = new System.Windows.Forms.RadioButton(); + this.AutosaveSRAMCheckbox = new System.Windows.Forms.CheckBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label7 = new System.Windows.Forms.Label(); + this.LuaInterfaceRadio = new System.Windows.Forms.RadioButton(); + this.NLuaRadio = new System.Windows.Forms.RadioButton(); + this.label6 = new System.Windows.Forms.Label(); + this.cbMoviesInAWE = new System.Windows.Forms.CheckBox(); + this.label5 = new System.Windows.Forms.Label(); + this.cbMoviesOnDisk = new System.Windows.Forms.CheckBox(); + this.LuaDuringTurboCheckbox = new System.Windows.Forms.CheckBox(); + this.label12 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.FrameAdvSkipLagCheckbox = new System.Windows.Forms.CheckBox(); + this.BackupSRamCheckbox = new System.Windows.Forms.CheckBox(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.AutosaveSRAMtextBox)).BeginInit(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // OkBtn + // + this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.OkBtn.Location = new System.Drawing.Point(280, 425); + this.OkBtn.Name = "OkBtn"; + this.OkBtn.Size = new System.Drawing.Size(60, 23); + this.OkBtn.TabIndex = 0; + this.OkBtn.Text = "&OK"; + this.OkBtn.UseVisualStyleBackColor = true; + this.OkBtn.Click += new System.EventHandler(this.OkBtn_Click); + // + // CancelBtn + // + this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.CancelBtn.Location = new System.Drawing.Point(346, 425); + this.CancelBtn.Name = "CancelBtn"; + this.CancelBtn.Size = new System.Drawing.Size(60, 23); + this.CancelBtn.TabIndex = 1; + this.CancelBtn.Text = "&Cancel"; + this.CancelBtn.UseVisualStyleBackColor = true; + this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click); + // + // tabControl1 + // + this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.tabControl1.Controls.Add(this.tabPage1); - this.tabControl1.Controls.Add(this.tabPage3); - this.tabControl1.Location = new System.Drawing.Point(12, 12); - this.tabControl1.Name = "tabControl1"; - this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(394, 402); - this.tabControl1.TabIndex = 2; - // - // tabPage1 - // - this.tabPage1.Controls.Add(this.HandleAlternateKeyboardLayoutsCheckBox); - this.tabPage1.Controls.Add(this.groupBox1); - this.tabPage1.Controls.Add(this.NeverAskSaveCheckbox); - this.tabPage1.Controls.Add(this.label2); - this.tabPage1.Controls.Add(this.AcceptBackgroundInputCheckbox); - this.tabPage1.Controls.Add(this.AcceptBackgroundInputControllerOnlyCheckBox); - this.tabPage1.Controls.Add(this.label1); - this.tabPage1.Controls.Add(this.RunInBackgroundCheckbox); - this.tabPage1.Controls.Add(this.SaveWindowPositionCheckbox); - this.tabPage1.Controls.Add(this.EnableContextMenuCheckbox); - this.tabPage1.Controls.Add(this.PauseWhenMenuActivatedCheckbox); - this.tabPage1.Location = new System.Drawing.Point(4, 22); - this.tabPage1.Name = "tabPage1"; - this.tabPage1.Padding = new System.Windows.Forms.Padding(3); - this.tabPage1.Size = new System.Drawing.Size(386, 376); - this.tabPage1.TabIndex = 0; - this.tabPage1.Text = "General"; - this.tabPage1.UseVisualStyleBackColor = true; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.StartPausedCheckbox); - this.groupBox1.Controls.Add(this.label14); - this.groupBox1.Controls.Add(this.StartFullScreenCheckbox); - this.groupBox1.Controls.Add(this.label3); - this.groupBox1.Controls.Add(this.SingleInstanceModeCheckbox); - this.groupBox1.Location = new System.Drawing.Point(6, 205); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(369, 140); - this.groupBox1.TabIndex = 13; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Startup Options"; - // - // StartPausedCheckbox - // - this.StartPausedCheckbox.AutoSize = true; - this.StartPausedCheckbox.Location = new System.Drawing.Point(6, 19); - this.StartPausedCheckbox.Name = "StartPausedCheckbox"; - this.StartPausedCheckbox.Size = new System.Drawing.Size(86, 17); - this.StartPausedCheckbox.TabIndex = 2; - this.StartPausedCheckbox.Text = "Start paused"; - this.StartPausedCheckbox.UseVisualStyleBackColor = true; - // - // label14 - // - this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(26, 99); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(306, 13); - this.label14.TabIndex = 12; - this.label14.Text = "Note: Requires closing and reopening EmuHawk to take effect."; - // - // StartFullScreenCheckbox - // - this.StartFullScreenCheckbox.AutoSize = true; - this.StartFullScreenCheckbox.Location = new System.Drawing.Point(6, 42); - this.StartFullScreenCheckbox.Name = "StartFullScreenCheckbox"; - this.StartFullScreenCheckbox.Size = new System.Drawing.Size(110, 17); - this.StartFullScreenCheckbox.TabIndex = 3; - this.StartFullScreenCheckbox.Text = "Start in Fullscreen"; - this.StartFullScreenCheckbox.UseVisualStyleBackColor = true; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(26, 85); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(275, 13); - this.label3.TabIndex = 11; - this.label3.Text = "Enable to force only one instance of EmuHawk at a time."; - // - // SingleInstanceModeCheckbox - // - this.SingleInstanceModeCheckbox.AutoSize = true; - this.SingleInstanceModeCheckbox.Location = new System.Drawing.Point(6, 65); - this.SingleInstanceModeCheckbox.Name = "SingleInstanceModeCheckbox"; - this.SingleInstanceModeCheckbox.Size = new System.Drawing.Size(127, 17); - this.SingleInstanceModeCheckbox.TabIndex = 10; - this.SingleInstanceModeCheckbox.Text = "Single instance mode"; - this.SingleInstanceModeCheckbox.UseVisualStyleBackColor = true; - // - // NeverAskSaveCheckbox - // - this.NeverAskSaveCheckbox.AutoSize = true; - this.NeverAskSaveCheckbox.Location = new System.Drawing.Point(6, 72); - this.NeverAskSaveCheckbox.Name = "NeverAskSaveCheckbox"; - this.NeverAskSaveCheckbox.Size = new System.Drawing.Size(184, 17); - this.NeverAskSaveCheckbox.TabIndex = 5; - this.NeverAskSaveCheckbox.Text = "Never be asked to save changes"; - this.NeverAskSaveCheckbox.UseVisualStyleBackColor = true; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(26, 155); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(349, 13); - this.label2.TabIndex = 10; - this.label2.Text = "When this is set, the client will receive user input even when focus is lost"; - // - // AcceptBackgroundInputCheckbox - // - this.AcceptBackgroundInputCheckbox.AutoSize = true; - this.AcceptBackgroundInputCheckbox.Location = new System.Drawing.Point(6, 135); - this.AcceptBackgroundInputCheckbox.Name = "AcceptBackgroundInputCheckbox"; - this.AcceptBackgroundInputCheckbox.Size = new System.Drawing.Size(146, 17); - this.AcceptBackgroundInputCheckbox.TabIndex = 8; - this.AcceptBackgroundInputCheckbox.Text = "Accept background input"; - this.AcceptBackgroundInputCheckbox.UseVisualStyleBackColor = true; - this.AcceptBackgroundInputCheckbox.CheckedChanged += new System.EventHandler(this.AcceptBackgroundInputCheckbox_CheckedChanged); - // - // AcceptBackgroundInputControllerOnlyCheckBox - // - this.AcceptBackgroundInputControllerOnlyCheckBox.AutoSize = true; - this.AcceptBackgroundInputControllerOnlyCheckBox.Enabled = false; - this.AcceptBackgroundInputControllerOnlyCheckBox.Location = new System.Drawing.Point(156, 135); - this.AcceptBackgroundInputControllerOnlyCheckBox.Name = "AcceptBackgroundInputControllerOnlyCheckBox"; - this.AcceptBackgroundInputControllerOnlyCheckBox.Size = new System.Drawing.Size(117, 17); - this.AcceptBackgroundInputControllerOnlyCheckBox.TabIndex = 9; - this.AcceptBackgroundInputControllerOnlyCheckBox.Text = "From controller only"; - this.AcceptBackgroundInputControllerOnlyCheckBox.UseVisualStyleBackColor = true; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(26, 115); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(315, 13); - this.label1.TabIndex = 7; - this.label1.Text = "When this is set, the client will continue to run when it loses focus"; - // - // RunInBackgroundCheckbox - // - this.RunInBackgroundCheckbox.AutoSize = true; - this.RunInBackgroundCheckbox.Location = new System.Drawing.Point(6, 95); - this.RunInBackgroundCheckbox.Name = "RunInBackgroundCheckbox"; - this.RunInBackgroundCheckbox.Size = new System.Drawing.Size(117, 17); - this.RunInBackgroundCheckbox.TabIndex = 6; - this.RunInBackgroundCheckbox.Text = "Run in background"; - this.RunInBackgroundCheckbox.UseVisualStyleBackColor = true; - // - // SaveWindowPositionCheckbox - // - this.SaveWindowPositionCheckbox.AutoSize = true; - this.SaveWindowPositionCheckbox.Location = new System.Drawing.Point(6, 49); - this.SaveWindowPositionCheckbox.Name = "SaveWindowPositionCheckbox"; - this.SaveWindowPositionCheckbox.Size = new System.Drawing.Size(133, 17); - this.SaveWindowPositionCheckbox.TabIndex = 4; - this.SaveWindowPositionCheckbox.Text = "Save Window Position"; - this.SaveWindowPositionCheckbox.UseVisualStyleBackColor = true; - // - // EnableContextMenuCheckbox - // - this.EnableContextMenuCheckbox.AutoSize = true; - this.EnableContextMenuCheckbox.Location = new System.Drawing.Point(6, 26); - this.EnableContextMenuCheckbox.Name = "EnableContextMenuCheckbox"; - this.EnableContextMenuCheckbox.Size = new System.Drawing.Size(128, 17); - this.EnableContextMenuCheckbox.TabIndex = 1; - this.EnableContextMenuCheckbox.Text = "Enable Context Menu"; - this.EnableContextMenuCheckbox.UseVisualStyleBackColor = true; - // - // PauseWhenMenuActivatedCheckbox - // - this.PauseWhenMenuActivatedCheckbox.AutoSize = true; - this.PauseWhenMenuActivatedCheckbox.Location = new System.Drawing.Point(6, 3); - this.PauseWhenMenuActivatedCheckbox.Name = "PauseWhenMenuActivatedCheckbox"; - this.PauseWhenMenuActivatedCheckbox.Size = new System.Drawing.Size(161, 17); - this.PauseWhenMenuActivatedCheckbox.TabIndex = 0; - this.PauseWhenMenuActivatedCheckbox.Text = "Pause when menu activated"; - this.PauseWhenMenuActivatedCheckbox.UseVisualStyleBackColor = true; - // - // tabPage3 - // - this.tabPage3.Controls.Add(this.groupBox2); - this.tabPage3.Controls.Add(this.AutosaveSRAMCheckbox); - this.tabPage3.Controls.Add(this.panel1); - this.tabPage3.Controls.Add(this.label6); - this.tabPage3.Controls.Add(this.cbMoviesInAWE); - this.tabPage3.Controls.Add(this.label5); - this.tabPage3.Controls.Add(this.cbMoviesOnDisk); - this.tabPage3.Controls.Add(this.LuaDuringTurboCheckbox); - this.tabPage3.Controls.Add(this.label12); - this.tabPage3.Controls.Add(this.label13); - this.tabPage3.Controls.Add(this.FrameAdvSkipLagCheckbox); - this.tabPage3.Controls.Add(this.BackupSRamCheckbox); - this.tabPage3.Controls.Add(this.label4); - this.tabPage3.Controls.Add(this.LogWindowAsConsoleCheckbox); - this.tabPage3.Location = new System.Drawing.Point(4, 22); - this.tabPage3.Name = "tabPage3"; - this.tabPage3.Size = new System.Drawing.Size(386, 376); - this.tabPage3.TabIndex = 2; - this.tabPage3.Text = "Advanced"; - this.tabPage3.UseVisualStyleBackColor = true; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.label10); - this.groupBox2.Controls.Add(this.label9); - this.groupBox2.Controls.Add(this.AutosaveSRAMtextBox); - this.groupBox2.Controls.Add(this.AutosaveSRAMradioButton1); - this.groupBox2.Controls.Add(this.label8); - this.groupBox2.Controls.Add(this.AutosaveSRAMradioButton2); - this.groupBox2.Controls.Add(this.AutosaveSRAMradioButton3); - this.groupBox2.Location = new System.Drawing.Point(27, 59); - this.groupBox2.Margin = new System.Windows.Forms.Padding(0); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(265, 60); - this.groupBox2.TabIndex = 5; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "AutoSaveRAM"; - // - // AutosaveSRAMtextBox - // - this.AutosaveSRAMtextBox.Location = new System.Drawing.Point(151, 33); - this.AutosaveSRAMtextBox.Maximum = new decimal(new int[] { + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(394, 402); + this.tabControl1.TabIndex = 2; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.HandleAlternateKeyboardLayoutsCheckBox); + this.tabPage1.Controls.Add(this.groupBox1); + this.tabPage1.Controls.Add(this.NeverAskSaveCheckbox); + this.tabPage1.Controls.Add(this.label2); + this.tabPage1.Controls.Add(this.AcceptBackgroundInputCheckbox); + this.tabPage1.Controls.Add(this.AcceptBackgroundInputControllerOnlyCheckBox); + this.tabPage1.Controls.Add(this.label1); + this.tabPage1.Controls.Add(this.RunInBackgroundCheckbox); + this.tabPage1.Controls.Add(this.SaveWindowPositionCheckbox); + this.tabPage1.Controls.Add(this.EnableContextMenuCheckbox); + this.tabPage1.Controls.Add(this.PauseWhenMenuActivatedCheckbox); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(386, 376); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "General"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // HandleAlternateKeyboardLayoutsCheckBox + // + this.HandleAlternateKeyboardLayoutsCheckBox.AutoSize = true; + this.HandleAlternateKeyboardLayoutsCheckBox.Location = new System.Drawing.Point(6, 175); + this.HandleAlternateKeyboardLayoutsCheckBox.Name = "HandleAlternateKeyboardLayoutsCheckBox"; + this.HandleAlternateKeyboardLayoutsCheckBox.Size = new System.Drawing.Size(320, 17); + this.HandleAlternateKeyboardLayoutsCheckBox.TabIndex = 11; + this.HandleAlternateKeyboardLayoutsCheckBox.Text = "Handle alternate keyboard layouts (e.g. Dvorak) [experimental]"; + this.HandleAlternateKeyboardLayoutsCheckBox.UseVisualStyleBackColor = true; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.StartPausedCheckbox); + this.groupBox1.Controls.Add(this.label14); + this.groupBox1.Controls.Add(this.StartFullScreenCheckbox); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.SingleInstanceModeCheckbox); + this.groupBox1.Location = new System.Drawing.Point(6, 205); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(369, 140); + this.groupBox1.TabIndex = 13; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Startup Options"; + // + // StartPausedCheckbox + // + this.StartPausedCheckbox.AutoSize = true; + this.StartPausedCheckbox.Location = new System.Drawing.Point(6, 19); + this.StartPausedCheckbox.Name = "StartPausedCheckbox"; + this.StartPausedCheckbox.Size = new System.Drawing.Size(86, 17); + this.StartPausedCheckbox.TabIndex = 2; + this.StartPausedCheckbox.Text = "Start paused"; + this.StartPausedCheckbox.UseVisualStyleBackColor = true; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(26, 99); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(306, 13); + this.label14.TabIndex = 12; + this.label14.Text = "Note: Requires closing and reopening EmuHawk to take effect."; + // + // StartFullScreenCheckbox + // + this.StartFullScreenCheckbox.AutoSize = true; + this.StartFullScreenCheckbox.Location = new System.Drawing.Point(6, 42); + this.StartFullScreenCheckbox.Name = "StartFullScreenCheckbox"; + this.StartFullScreenCheckbox.Size = new System.Drawing.Size(110, 17); + this.StartFullScreenCheckbox.TabIndex = 3; + this.StartFullScreenCheckbox.Text = "Start in Fullscreen"; + this.StartFullScreenCheckbox.UseVisualStyleBackColor = true; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(26, 85); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(275, 13); + this.label3.TabIndex = 11; + this.label3.Text = "Enable to force only one instance of EmuHawk at a time."; + // + // SingleInstanceModeCheckbox + // + this.SingleInstanceModeCheckbox.AutoSize = true; + this.SingleInstanceModeCheckbox.Location = new System.Drawing.Point(6, 65); + this.SingleInstanceModeCheckbox.Name = "SingleInstanceModeCheckbox"; + this.SingleInstanceModeCheckbox.Size = new System.Drawing.Size(127, 17); + this.SingleInstanceModeCheckbox.TabIndex = 10; + this.SingleInstanceModeCheckbox.Text = "Single instance mode"; + this.SingleInstanceModeCheckbox.UseVisualStyleBackColor = true; + // + // NeverAskSaveCheckbox + // + this.NeverAskSaveCheckbox.AutoSize = true; + this.NeverAskSaveCheckbox.Location = new System.Drawing.Point(6, 72); + this.NeverAskSaveCheckbox.Name = "NeverAskSaveCheckbox"; + this.NeverAskSaveCheckbox.Size = new System.Drawing.Size(184, 17); + this.NeverAskSaveCheckbox.TabIndex = 5; + this.NeverAskSaveCheckbox.Text = "Never be asked to save changes"; + this.NeverAskSaveCheckbox.UseVisualStyleBackColor = true; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(26, 155); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(349, 13); + this.label2.TabIndex = 10; + this.label2.Text = "When this is set, the client will receive user input even when focus is lost"; + // + // AcceptBackgroundInputCheckbox + // + this.AcceptBackgroundInputCheckbox.AutoSize = true; + this.AcceptBackgroundInputCheckbox.Location = new System.Drawing.Point(6, 135); + this.AcceptBackgroundInputCheckbox.Name = "AcceptBackgroundInputCheckbox"; + this.AcceptBackgroundInputCheckbox.Size = new System.Drawing.Size(146, 17); + this.AcceptBackgroundInputCheckbox.TabIndex = 8; + this.AcceptBackgroundInputCheckbox.Text = "Accept background input"; + this.AcceptBackgroundInputCheckbox.UseVisualStyleBackColor = true; + this.AcceptBackgroundInputCheckbox.CheckedChanged += new System.EventHandler(this.AcceptBackgroundInputCheckbox_CheckedChanged); + // + // AcceptBackgroundInputControllerOnlyCheckBox + // + this.AcceptBackgroundInputControllerOnlyCheckBox.AutoSize = true; + this.AcceptBackgroundInputControllerOnlyCheckBox.Enabled = false; + this.AcceptBackgroundInputControllerOnlyCheckBox.Location = new System.Drawing.Point(156, 135); + this.AcceptBackgroundInputControllerOnlyCheckBox.Name = "AcceptBackgroundInputControllerOnlyCheckBox"; + this.AcceptBackgroundInputControllerOnlyCheckBox.Size = new System.Drawing.Size(117, 17); + this.AcceptBackgroundInputControllerOnlyCheckBox.TabIndex = 9; + this.AcceptBackgroundInputControllerOnlyCheckBox.Text = "From controller only"; + this.AcceptBackgroundInputControllerOnlyCheckBox.UseVisualStyleBackColor = true; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(26, 115); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(315, 13); + this.label1.TabIndex = 7; + this.label1.Text = "When this is set, the client will continue to run when it loses focus"; + // + // RunInBackgroundCheckbox + // + this.RunInBackgroundCheckbox.AutoSize = true; + this.RunInBackgroundCheckbox.Location = new System.Drawing.Point(6, 95); + this.RunInBackgroundCheckbox.Name = "RunInBackgroundCheckbox"; + this.RunInBackgroundCheckbox.Size = new System.Drawing.Size(117, 17); + this.RunInBackgroundCheckbox.TabIndex = 6; + this.RunInBackgroundCheckbox.Text = "Run in background"; + this.RunInBackgroundCheckbox.UseVisualStyleBackColor = true; + // + // SaveWindowPositionCheckbox + // + this.SaveWindowPositionCheckbox.AutoSize = true; + this.SaveWindowPositionCheckbox.Location = new System.Drawing.Point(6, 49); + this.SaveWindowPositionCheckbox.Name = "SaveWindowPositionCheckbox"; + this.SaveWindowPositionCheckbox.Size = new System.Drawing.Size(133, 17); + this.SaveWindowPositionCheckbox.TabIndex = 4; + this.SaveWindowPositionCheckbox.Text = "Save Window Position"; + this.SaveWindowPositionCheckbox.UseVisualStyleBackColor = true; + // + // EnableContextMenuCheckbox + // + this.EnableContextMenuCheckbox.AutoSize = true; + this.EnableContextMenuCheckbox.Location = new System.Drawing.Point(6, 26); + this.EnableContextMenuCheckbox.Name = "EnableContextMenuCheckbox"; + this.EnableContextMenuCheckbox.Size = new System.Drawing.Size(128, 17); + this.EnableContextMenuCheckbox.TabIndex = 1; + this.EnableContextMenuCheckbox.Text = "Enable Context Menu"; + this.EnableContextMenuCheckbox.UseVisualStyleBackColor = true; + // + // PauseWhenMenuActivatedCheckbox + // + this.PauseWhenMenuActivatedCheckbox.AutoSize = true; + this.PauseWhenMenuActivatedCheckbox.Location = new System.Drawing.Point(6, 3); + this.PauseWhenMenuActivatedCheckbox.Name = "PauseWhenMenuActivatedCheckbox"; + this.PauseWhenMenuActivatedCheckbox.Size = new System.Drawing.Size(161, 17); + this.PauseWhenMenuActivatedCheckbox.TabIndex = 0; + this.PauseWhenMenuActivatedCheckbox.Text = "Pause when menu activated"; + this.PauseWhenMenuActivatedCheckbox.UseVisualStyleBackColor = true; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.groupBox2); + this.tabPage3.Controls.Add(this.AutosaveSRAMCheckbox); + this.tabPage3.Controls.Add(this.panel1); + this.tabPage3.Controls.Add(this.label6); + this.tabPage3.Controls.Add(this.cbMoviesInAWE); + this.tabPage3.Controls.Add(this.label5); + this.tabPage3.Controls.Add(this.cbMoviesOnDisk); + this.tabPage3.Controls.Add(this.LuaDuringTurboCheckbox); + this.tabPage3.Controls.Add(this.label12); + this.tabPage3.Controls.Add(this.label13); + this.tabPage3.Controls.Add(this.FrameAdvSkipLagCheckbox); + this.tabPage3.Controls.Add(this.BackupSRamCheckbox); + this.tabPage3.Location = new System.Drawing.Point(4, 22); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Size = new System.Drawing.Size(386, 376); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "Advanced"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.label10); + this.groupBox2.Controls.Add(this.label9); + this.groupBox2.Controls.Add(this.AutosaveSRAMtextBox); + this.groupBox2.Controls.Add(this.AutosaveSRAMradioButton1); + this.groupBox2.Controls.Add(this.label8); + this.groupBox2.Controls.Add(this.AutosaveSRAMradioButton2); + this.groupBox2.Controls.Add(this.AutosaveSRAMradioButton3); + this.groupBox2.Location = new System.Drawing.Point(27, 32); + this.groupBox2.Margin = new System.Windows.Forms.Padding(0); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(265, 60); + this.groupBox2.TabIndex = 5; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "AutoSaveRAM"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(9, 34); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(33, 13); + this.label10.TabIndex = 1; + this.label10.Text = "every"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(6, 16); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(225, 13); + this.label9.TabIndex = 0; + this.label9.Text = "Save SaveRAM to .AutoSaveRAM.SaveRAM"; + // + // AutosaveSRAMtextBox + // + this.AutosaveSRAMtextBox.Location = new System.Drawing.Point(151, 33); + this.AutosaveSRAMtextBox.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); - this.AutosaveSRAMtextBox.Name = "AutosaveSRAMtextBox"; - this.AutosaveSRAMtextBox.Size = new System.Drawing.Size(50, 20); - this.AutosaveSRAMtextBox.TabIndex = 5; - // - // AutosaveSRAMradioButton1 - // - this.AutosaveSRAMradioButton1.AutoSize = true; - this.AutosaveSRAMradioButton1.Location = new System.Drawing.Point(48, 33); - this.AutosaveSRAMradioButton1.Name = "AutosaveSRAMradioButton1"; - this.AutosaveSRAMradioButton1.Size = new System.Drawing.Size(36, 17); - this.AutosaveSRAMradioButton1.TabIndex = 2; - this.AutosaveSRAMradioButton1.TabStop = true; - this.AutosaveSRAMradioButton1.Text = "5s"; - this.AutosaveSRAMradioButton1.UseVisualStyleBackColor = true; - // - // label8 - // - this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(202, 35); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(12, 13); - this.label8.TabIndex = 6; - this.label8.Text = "s"; - // - // AutosaveSRAMradioButton2 - // - this.AutosaveSRAMradioButton2.AutoSize = true; - this.AutosaveSRAMradioButton2.Location = new System.Drawing.Point(90, 34); - this.AutosaveSRAMradioButton2.Name = "AutosaveSRAMradioButton2"; - this.AutosaveSRAMradioButton2.Size = new System.Drawing.Size(39, 17); - this.AutosaveSRAMradioButton2.TabIndex = 3; - this.AutosaveSRAMradioButton2.TabStop = true; - this.AutosaveSRAMradioButton2.Text = "5m"; - this.AutosaveSRAMradioButton2.UseVisualStyleBackColor = true; - // - // AutosaveSRAMradioButton3 - // - this.AutosaveSRAMradioButton3.AutoSize = true; - this.AutosaveSRAMradioButton3.Location = new System.Drawing.Point(131, 35); - this.AutosaveSRAMradioButton3.Name = "AutosaveSRAMradioButton3"; - this.AutosaveSRAMradioButton3.Size = new System.Drawing.Size(14, 13); - this.AutosaveSRAMradioButton3.TabIndex = 4; - this.AutosaveSRAMradioButton3.TabStop = true; - this.AutosaveSRAMradioButton3.UseVisualStyleBackColor = true; - this.AutosaveSRAMradioButton3.CheckedChanged += new System.EventHandler(this.AutosaveSRAMRadioButton3_CheckedChanged); - // - // AutosaveSRAMCheckbox - // - this.AutosaveSRAMCheckbox.AutoSize = true; - this.AutosaveSRAMCheckbox.Location = new System.Drawing.Point(6, 62); - this.AutosaveSRAMCheckbox.Name = "AutosaveSRAMCheckbox"; - this.AutosaveSRAMCheckbox.Size = new System.Drawing.Size(15, 14); - this.AutosaveSRAMCheckbox.TabIndex = 4; - this.AutosaveSRAMCheckbox.UseVisualStyleBackColor = true; - this.AutosaveSRAMCheckbox.CheckedChanged += new System.EventHandler(this.AutosaveSRAMCheckbox_CheckedChanged); - // - // panel1 - // - this.panel1.Controls.Add(this.label7); - this.panel1.Controls.Add(this.LuaInterfaceRadio); - this.panel1.Controls.Add(this.NLuaRadio); - this.panel1.Location = new System.Drawing.Point(6, 312); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(377, 61); - this.panel1.TabIndex = 20; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(3, 1); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(50, 13); - this.label7.TabIndex = 0; - this.label7.Text = "Lua Core"; - // - // LuaInterfaceRadio - // - this.LuaInterfaceRadio.AutoSize = true; - this.LuaInterfaceRadio.Location = new System.Drawing.Point(4, 36); - this.LuaInterfaceRadio.Name = "LuaInterfaceRadio"; - this.LuaInterfaceRadio.Size = new System.Drawing.Size(338, 17); - this.LuaInterfaceRadio.TabIndex = 2; - this.LuaInterfaceRadio.TabStop = true; - this.LuaInterfaceRadio.Text = "Lua+LuaInterface - Faster but memory leaks, use at your own risk!"; - this.LuaInterfaceRadio.UseVisualStyleBackColor = true; - // - // NLuaRadio - // - this.NLuaRadio.AutoSize = true; - this.NLuaRadio.Location = new System.Drawing.Point(4, 17); - this.NLuaRadio.Name = "NLuaRadio"; - this.NLuaRadio.Size = new System.Drawing.Size(194, 17); - this.NLuaRadio.TabIndex = 1; - this.NLuaRadio.TabStop = true; - this.NLuaRadio.Text = "NLua+KopiLua - Reliable but slower"; - this.NLuaRadio.UseVisualStyleBackColor = true; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(27, 270); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(296, 39); - this.label6.TabIndex = 19; - this.label6.Text = "Will reduce many Out Of Memory crashes during long movies.\r\nThis is experimental;" + + this.AutosaveSRAMtextBox.Name = "AutosaveSRAMtextBox"; + this.AutosaveSRAMtextBox.Size = new System.Drawing.Size(50, 20); + this.AutosaveSRAMtextBox.TabIndex = 5; + // + // AutosaveSRAMradioButton1 + // + this.AutosaveSRAMradioButton1.AutoSize = true; + this.AutosaveSRAMradioButton1.Location = new System.Drawing.Point(48, 33); + this.AutosaveSRAMradioButton1.Name = "AutosaveSRAMradioButton1"; + this.AutosaveSRAMradioButton1.Size = new System.Drawing.Size(36, 17); + this.AutosaveSRAMradioButton1.TabIndex = 2; + this.AutosaveSRAMradioButton1.TabStop = true; + this.AutosaveSRAMradioButton1.Text = "5s"; + this.AutosaveSRAMradioButton1.UseVisualStyleBackColor = true; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(202, 35); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(12, 13); + this.label8.TabIndex = 6; + this.label8.Text = "s"; + // + // AutosaveSRAMradioButton2 + // + this.AutosaveSRAMradioButton2.AutoSize = true; + this.AutosaveSRAMradioButton2.Location = new System.Drawing.Point(90, 34); + this.AutosaveSRAMradioButton2.Name = "AutosaveSRAMradioButton2"; + this.AutosaveSRAMradioButton2.Size = new System.Drawing.Size(39, 17); + this.AutosaveSRAMradioButton2.TabIndex = 3; + this.AutosaveSRAMradioButton2.TabStop = true; + this.AutosaveSRAMradioButton2.Text = "5m"; + this.AutosaveSRAMradioButton2.UseVisualStyleBackColor = true; + // + // AutosaveSRAMradioButton3 + // + this.AutosaveSRAMradioButton3.AutoSize = true; + this.AutosaveSRAMradioButton3.Location = new System.Drawing.Point(131, 35); + this.AutosaveSRAMradioButton3.Name = "AutosaveSRAMradioButton3"; + this.AutosaveSRAMradioButton3.Size = new System.Drawing.Size(14, 13); + this.AutosaveSRAMradioButton3.TabIndex = 4; + this.AutosaveSRAMradioButton3.TabStop = true; + this.AutosaveSRAMradioButton3.UseVisualStyleBackColor = true; + this.AutosaveSRAMradioButton3.CheckedChanged += new System.EventHandler(this.AutosaveSRAMRadioButton3_CheckedChanged); + // + // AutosaveSRAMCheckbox + // + this.AutosaveSRAMCheckbox.AutoSize = true; + this.AutosaveSRAMCheckbox.Location = new System.Drawing.Point(6, 35); + this.AutosaveSRAMCheckbox.Name = "AutosaveSRAMCheckbox"; + this.AutosaveSRAMCheckbox.Size = new System.Drawing.Size(15, 14); + this.AutosaveSRAMCheckbox.TabIndex = 4; + this.AutosaveSRAMCheckbox.UseVisualStyleBackColor = true; + this.AutosaveSRAMCheckbox.CheckedChanged += new System.EventHandler(this.AutosaveSRAMCheckbox_CheckedChanged); + // + // panel1 + // + this.panel1.Controls.Add(this.label7); + this.panel1.Controls.Add(this.LuaInterfaceRadio); + this.panel1.Controls.Add(this.NLuaRadio); + this.panel1.Location = new System.Drawing.Point(6, 312); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(377, 61); + this.panel1.TabIndex = 20; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(3, 1); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(50, 13); + this.label7.TabIndex = 0; + this.label7.Text = "Lua Core"; + // + // LuaInterfaceRadio + // + this.LuaInterfaceRadio.AutoSize = true; + this.LuaInterfaceRadio.Location = new System.Drawing.Point(4, 36); + this.LuaInterfaceRadio.Name = "LuaInterfaceRadio"; + this.LuaInterfaceRadio.Size = new System.Drawing.Size(338, 17); + this.LuaInterfaceRadio.TabIndex = 2; + this.LuaInterfaceRadio.TabStop = true; + this.LuaInterfaceRadio.Text = "Lua+LuaInterface - Faster but memory leaks, use at your own risk!"; + this.LuaInterfaceRadio.UseVisualStyleBackColor = true; + // + // NLuaRadio + // + this.NLuaRadio.AutoSize = true; + this.NLuaRadio.Location = new System.Drawing.Point(4, 17); + this.NLuaRadio.Name = "NLuaRadio"; + this.NLuaRadio.Size = new System.Drawing.Size(194, 17); + this.NLuaRadio.TabIndex = 1; + this.NLuaRadio.TabStop = true; + this.NLuaRadio.Text = "NLua+KopiLua - Reliable but slower"; + this.NLuaRadio.UseVisualStyleBackColor = true; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(27, 243); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(296, 39); + this.label6.TabIndex = 19; + this.label6.Text = "Will reduce many Out Of Memory crashes during long movies.\r\nThis is experimental;" + " it may require admin permissions.\r\nYou must restart the program after changing " + "this."; - // - // cbMoviesInAWE - // - this.cbMoviesInAWE.AutoSize = true; - this.cbMoviesInAWE.Location = new System.Drawing.Point(6, 250); - this.cbMoviesInAWE.Name = "cbMoviesInAWE"; - this.cbMoviesInAWE.Size = new System.Drawing.Size(262, 17); - this.cbMoviesInAWE.TabIndex = 18; - this.cbMoviesInAWE.Text = "Store movie working data in extended > 1GB Ram"; - this.cbMoviesInAWE.UseVisualStyleBackColor = true; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(27, 221); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(299, 26); - this.label5.TabIndex = 17; - this.label5.Text = "Will prevent many Out Of Memory crashes during long movies.\r\nYou must restart the" + + // + // cbMoviesInAWE + // + this.cbMoviesInAWE.AutoSize = true; + this.cbMoviesInAWE.Location = new System.Drawing.Point(6, 223); + this.cbMoviesInAWE.Name = "cbMoviesInAWE"; + this.cbMoviesInAWE.Size = new System.Drawing.Size(262, 17); + this.cbMoviesInAWE.TabIndex = 18; + this.cbMoviesInAWE.Text = "Store movie working data in extended > 1GB Ram"; + this.cbMoviesInAWE.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(27, 194); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(299, 26); + this.label5.TabIndex = 17; + this.label5.Text = "Will prevent many Out Of Memory crashes during long movies.\r\nYou must restart the" + " program after changing this."; - // - // cbMoviesOnDisk - // - this.cbMoviesOnDisk.AutoSize = true; - this.cbMoviesOnDisk.Location = new System.Drawing.Point(6, 201); - this.cbMoviesOnDisk.Name = "cbMoviesOnDisk"; - this.cbMoviesOnDisk.Size = new System.Drawing.Size(259, 17); - this.cbMoviesOnDisk.TabIndex = 16; - this.cbMoviesOnDisk.Text = "Store movie working data on disk instead of RAM"; - this.cbMoviesOnDisk.UseVisualStyleBackColor = true; - // - // LuaDuringTurboCheckbox - // - this.LuaDuringTurboCheckbox.AutoSize = true; - this.LuaDuringTurboCheckbox.Location = new System.Drawing.Point(6, 178); - this.LuaDuringTurboCheckbox.Name = "LuaDuringTurboCheckbox"; - this.LuaDuringTurboCheckbox.Size = new System.Drawing.Size(166, 17); - this.LuaDuringTurboCheckbox.TabIndex = 15; - this.LuaDuringTurboCheckbox.Text = "Run lua scripts when turboing"; - this.LuaDuringTurboCheckbox.UseVisualStyleBackColor = true; - // - // label12 - // - this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(24, 162); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(231, 13); - this.label12.TabIndex = 14; - this.label12.Text = "frames in which no input was polled (lag frames)"; - // - // label13 - // - this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(24, 149); - this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(268, 13); - this.label13.TabIndex = 13; - this.label13.Text = "When enabled, the frame advance button will skip over"; - // - // FrameAdvSkipLagCheckbox - // - this.FrameAdvSkipLagCheckbox.AutoSize = true; - this.FrameAdvSkipLagCheckbox.Location = new System.Drawing.Point(6, 129); - this.FrameAdvSkipLagCheckbox.Name = "FrameAdvSkipLagCheckbox"; - this.FrameAdvSkipLagCheckbox.Size = new System.Drawing.Size(241, 17); - this.FrameAdvSkipLagCheckbox.TabIndex = 12; - this.FrameAdvSkipLagCheckbox.Text = "Frame advance button skips non-input frames"; - this.FrameAdvSkipLagCheckbox.UseVisualStyleBackColor = true; - // - // BackupSRamCheckbox - // - this.BackupSRamCheckbox.AutoSize = true; - this.BackupSRamCheckbox.Location = new System.Drawing.Point(6, 39); - this.BackupSRamCheckbox.Name = "BackupSRamCheckbox"; - this.BackupSRamCheckbox.Size = new System.Drawing.Size(203, 17); - this.BackupSRamCheckbox.TabIndex = 3; - this.BackupSRamCheckbox.Text = "Backup SaveRAM to .SaveRAM.bak"; - this.BackupSRamCheckbox.UseVisualStyleBackColor = true; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(24, 23); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(234, 13); - this.label4.TabIndex = 2; - this.label4.Text = "If off, the log window will be a dialog box instead"; - // - // LogWindowAsConsoleCheckbox - // - this.LogWindowAsConsoleCheckbox.AutoSize = true; - this.LogWindowAsConsoleCheckbox.Location = new System.Drawing.Point(6, 3); - this.LogWindowAsConsoleCheckbox.Name = "LogWindowAsConsoleCheckbox"; - this.LogWindowAsConsoleCheckbox.Size = new System.Drawing.Size(233, 17); - this.LogWindowAsConsoleCheckbox.TabIndex = 1; - this.LogWindowAsConsoleCheckbox.Text = "Create the log window as a console window"; - this.LogWindowAsConsoleCheckbox.UseVisualStyleBackColor = true; - // - // label9 - // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(6, 16); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(225, 13); - this.label9.TabIndex = 0; - this.label9.Text = "Save SaveRAM to .AutoSaveRAM.SaveRAM"; - // - // label10 - // - this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(9, 34); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(33, 13); - this.label10.TabIndex = 1; - this.label10.Text = "every"; - // - // HandleAlternateKeyboardLayoutsCheckBox - // - this.HandleAlternateKeyboardLayoutsCheckBox.AutoSize = true; - this.HandleAlternateKeyboardLayoutsCheckBox.Location = new System.Drawing.Point(6, 175); - this.HandleAlternateKeyboardLayoutsCheckBox.Name = "HandleAlternateKeyboardLayoutsCheckBox"; - this.HandleAlternateKeyboardLayoutsCheckBox.Size = new System.Drawing.Size(255, 17); - this.HandleAlternateKeyboardLayoutsCheckBox.TabIndex = 11; - this.HandleAlternateKeyboardLayoutsCheckBox.Text = "Handle alternate keyboard layouts (e.g. Dvorak) [experimental]"; - this.HandleAlternateKeyboardLayoutsCheckBox.UseVisualStyleBackColor = true; - // - // EmuHawkOptions - // - this.AcceptButton = this.OkBtn; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.CancelBtn; - this.ClientSize = new System.Drawing.Size(418, 455); - this.Controls.Add(this.tabControl1); - this.Controls.Add(this.CancelBtn); - this.Controls.Add(this.OkBtn); - this.Name = "EmuHawkOptions"; - this.ShowIcon = false; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Customization Options"; - this.Load += new System.EventHandler(this.GuiOptions_Load); - this.tabControl1.ResumeLayout(false); - this.tabPage1.ResumeLayout(false); - this.tabPage1.PerformLayout(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.tabPage3.ResumeLayout(false); - this.tabPage3.PerformLayout(); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.AutosaveSRAMtextBox)).EndInit(); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - this.ResumeLayout(false); + // + // cbMoviesOnDisk + // + this.cbMoviesOnDisk.AutoSize = true; + this.cbMoviesOnDisk.Location = new System.Drawing.Point(6, 174); + this.cbMoviesOnDisk.Name = "cbMoviesOnDisk"; + this.cbMoviesOnDisk.Size = new System.Drawing.Size(259, 17); + this.cbMoviesOnDisk.TabIndex = 16; + this.cbMoviesOnDisk.Text = "Store movie working data on disk instead of RAM"; + this.cbMoviesOnDisk.UseVisualStyleBackColor = true; + // + // LuaDuringTurboCheckbox + // + this.LuaDuringTurboCheckbox.AutoSize = true; + this.LuaDuringTurboCheckbox.Location = new System.Drawing.Point(6, 151); + this.LuaDuringTurboCheckbox.Name = "LuaDuringTurboCheckbox"; + this.LuaDuringTurboCheckbox.Size = new System.Drawing.Size(166, 17); + this.LuaDuringTurboCheckbox.TabIndex = 15; + this.LuaDuringTurboCheckbox.Text = "Run lua scripts when turboing"; + this.LuaDuringTurboCheckbox.UseVisualStyleBackColor = true; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(24, 135); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(231, 13); + this.label12.TabIndex = 14; + this.label12.Text = "frames in which no input was polled (lag frames)"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(24, 149); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(268, 13); + this.label13.TabIndex = 13; + this.label13.Text = "When enabled, the frame advance button will skip over"; + // + // FrameAdvSkipLagCheckbox + // + this.FrameAdvSkipLagCheckbox.AutoSize = true; + this.FrameAdvSkipLagCheckbox.Location = new System.Drawing.Point(6, 102); + this.FrameAdvSkipLagCheckbox.Name = "FrameAdvSkipLagCheckbox"; + this.FrameAdvSkipLagCheckbox.Size = new System.Drawing.Size(241, 17); + this.FrameAdvSkipLagCheckbox.TabIndex = 12; + this.FrameAdvSkipLagCheckbox.Text = "Frame advance button skips non-input frames"; + this.FrameAdvSkipLagCheckbox.UseVisualStyleBackColor = true; + // + // BackupSRamCheckbox + // + this.BackupSRamCheckbox.AutoSize = true; + this.BackupSRamCheckbox.Location = new System.Drawing.Point(6, 12); + this.BackupSRamCheckbox.Name = "BackupSRamCheckbox"; + this.BackupSRamCheckbox.Size = new System.Drawing.Size(203, 17); + this.BackupSRamCheckbox.TabIndex = 3; + this.BackupSRamCheckbox.Text = "Backup SaveRAM to .SaveRAM.bak"; + this.BackupSRamCheckbox.UseVisualStyleBackColor = true; + // + // EmuHawkOptions + // + this.AcceptButton = this.OkBtn; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.CancelBtn; + this.ClientSize = new System.Drawing.Size(418, 455); + this.Controls.Add(this.tabControl1); + this.Controls.Add(this.CancelBtn); + this.Controls.Add(this.OkBtn); + this.Name = "EmuHawkOptions"; + this.ShowIcon = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Customization Options"; + this.Load += new System.EventHandler(this.GuiOptions_Load); + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.tabPage3.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.AutosaveSRAMtextBox)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); } @@ -624,8 +601,6 @@ private System.Windows.Forms.Label label3; private System.Windows.Forms.CheckBox SingleInstanceModeCheckbox; private System.Windows.Forms.TabPage tabPage3; - private System.Windows.Forms.CheckBox LogWindowAsConsoleCheckbox; - private System.Windows.Forms.Label label4; private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.CheckBox BackupSRamCheckbox; private System.Windows.Forms.CheckBox FrameAdvSkipLagCheckbox; diff --git a/BizHawk.Client.EmuHawk/config/EmuHawkOptions.cs b/BizHawk.Client.EmuHawk/config/EmuHawkOptions.cs index a8514a3368..2b3ef770a5 100644 --- a/BizHawk.Client.EmuHawk/config/EmuHawkOptions.cs +++ b/BizHawk.Client.EmuHawk/config/EmuHawkOptions.cs @@ -63,7 +63,6 @@ namespace BizHawk.Client.EmuHawk groupBox2.Enabled = AutosaveSRAMCheckbox.Checked; AutosaveSaveRAMSeconds = _config.FlushSaveRamFrames / 60; FrameAdvSkipLagCheckbox.Checked = _config.SkipLagFrame; - LogWindowAsConsoleCheckbox.Checked = _config.WIN32_CONSOLE; LuaDuringTurboCheckbox.Checked = _config.RunLuaDuringTurbo; cbMoviesOnDisk.Checked = _config.MoviesOnDisk; cbMoviesInAWE.Checked = _config.MoviesInAWE; @@ -79,14 +78,6 @@ namespace BizHawk.Client.EmuHawk default: throw new ArgumentOutOfRangeException(); } - - if (LogConsole.ConsoleVisible) - { - LogWindowAsConsoleCheckbox.Enabled = false; - toolTip1.SetToolTip( - LogWindowAsConsoleCheckbox, - "This can not be changed while the log window is open. I know, it's annoying."); - } } private void OkBtn_Click(object sender, EventArgs e) @@ -109,7 +100,6 @@ namespace BizHawk.Client.EmuHawk if (_mainForm.AutoFlushSaveRamIn > _config.FlushSaveRamFrames) _mainForm.AutoFlushSaveRamIn = _config.FlushSaveRamFrames; _config.SkipLagFrame = FrameAdvSkipLagCheckbox.Checked; - _config.WIN32_CONSOLE = LogWindowAsConsoleCheckbox.Checked; _config.RunLuaDuringTurbo = LuaDuringTurboCheckbox.Checked; _config.MoviesOnDisk = cbMoviesOnDisk.Checked; _config.MoviesInAWE = cbMoviesInAWE.Checked; diff --git a/BizHawk.Common/BizHawk.Common.csproj b/BizHawk.Common/BizHawk.Common.csproj index fe0063c2a9..30e8052490 100644 --- a/BizHawk.Common/BizHawk.Common.csproj +++ b/BizHawk.Common/BizHawk.Common.csproj @@ -101,7 +101,6 @@ - diff --git a/BizHawk.Common/Win32/ConsoleImports.cs b/BizHawk.Common/Win32/ConsoleImports.cs deleted file mode 100644 index 76204f0db9..0000000000 --- a/BizHawk.Common/Win32/ConsoleImports.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace BizHawk.Common -{ - public static class ConsoleImports - { - public enum FileType : uint - { - FileTypeUnknown = 0, - FileTypeDisk = 1, - FileTypeChar = 2, - FileTypePipe = 3, - FileTypeRemote = 0x8000 - } - - [DllImport("kernel32.dll")] - public static extern FileType GetFileType(IntPtr hFile); - - [DllImport("kernel32.dll", CharSet = CharSet.Auto)] - public static extern IntPtr GetCommandLine(); - - [DllImport("kernel32.dll", SetLastError = true)] - public static extern IntPtr GetConsoleWindow(); - - [DllImport("user32.dll", SetLastError = true)] - public static extern bool SetForegroundWindow(IntPtr hWnd); - - [DllImport("kernel32.dll", SetLastError = true)] - public static extern bool AttachConsole(int dwProcessId); - - [DllImport("kernel32.dll", SetLastError = true)] - public static extern bool AllocConsole(); - - [DllImport("kernel32.dll", SetLastError = false)] - public static extern bool FreeConsole(); - - [DllImport("kernel32.dll", SetLastError = true)] - public static extern IntPtr GetStdHandle(int nStdHandle); - - [DllImport("kernel32.dll", SetLastError = true)] - public static extern bool SetStdHandle(int nStdHandle, IntPtr hConsoleOutput); - - [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] - public static extern IntPtr CreateFile(string fileName, int desiredAccess, int shareMode, IntPtr securityAttributes, int creationDisposition, int flagsAndAttributes, IntPtr templateFile); - - [DllImport("kernel32.dll", ExactSpelling = true, SetLastError = true)] - public static extern bool CloseHandle(IntPtr handle); - } -}