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