Switch Bizhawk Client from console to winforms application; make "Show Log Window" a user-togglable option
This commit is contained in:
parent
b25193ef84
commit
1496c9eb1d
|
@ -6,7 +6,7 @@
|
||||||
<ProductVersion>9.0.30729</ProductVersion>
|
<ProductVersion>9.0.30729</ProductVersion>
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
<ProjectGuid>{DD448B37-BA3F-4544-9754-5406E8094723}</ProjectGuid>
|
<ProjectGuid>{DD448B37-BA3F-4544-9754-5406E8094723}</ProjectGuid>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>BizHawk.MultiClient</RootNamespace>
|
<RootNamespace>BizHawk.MultiClient</RootNamespace>
|
||||||
<AssemblyName>BizHawk.MultiClient</AssemblyName>
|
<AssemblyName>BizHawk.MultiClient</AssemblyName>
|
||||||
|
@ -138,6 +138,7 @@
|
||||||
<Compile Include="Input\ControllerBinding.cs" />
|
<Compile Include="Input\ControllerBinding.cs" />
|
||||||
<Compile Include="Input\GamePad.cs" />
|
<Compile Include="Input\GamePad.cs" />
|
||||||
<Compile Include="Input\Input.cs" />
|
<Compile Include="Input\Input.cs" />
|
||||||
|
<Compile Include="LogConsole.cs" />
|
||||||
<Compile Include="movie\EditCommentsForm.cs">
|
<Compile Include="movie\EditCommentsForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
|
@ -105,6 +105,7 @@
|
||||||
public bool EnableBackupMovies = true;
|
public bool EnableBackupMovies = true;
|
||||||
public bool HotkeyConfigAutoTab = true;
|
public bool HotkeyConfigAutoTab = true;
|
||||||
public bool InputConfigAutoTab = true;
|
public bool InputConfigAutoTab = true;
|
||||||
|
public bool ShowLogWindow = false;
|
||||||
|
|
||||||
// Run-Control settings
|
// Run-Control settings
|
||||||
public int FrameProgressDelayMs = 500; //how long until a frame advance hold turns into a frame progress?
|
public int FrameProgressDelayMs = 500; //how long until a frame advance hold turns into a frame progress?
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace BizHawk.MultiClient
|
||||||
|
{
|
||||||
|
static class LogConsole
|
||||||
|
{
|
||||||
|
[DllImport("kernel32.dll", SetLastError = true)]
|
||||||
|
static extern bool AllocConsole();
|
||||||
|
|
||||||
|
[DllImport("kernel32.dll", SetLastError = true)]
|
||||||
|
static extern bool FreeConsole();
|
||||||
|
|
||||||
|
public static bool ConsoleVisible { get; private set; }
|
||||||
|
|
||||||
|
public static void ShowConsole()
|
||||||
|
{
|
||||||
|
if (ConsoleVisible) return;
|
||||||
|
AllocConsole();
|
||||||
|
ConsoleVisible = true;
|
||||||
|
var sout = new StreamWriter(Console.OpenStandardOutput());
|
||||||
|
sout.AutoFlush = true;
|
||||||
|
Console.SetOut(sout);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void HideConsole()
|
||||||
|
{
|
||||||
|
if (ConsoleVisible == false) return;
|
||||||
|
FreeConsole();
|
||||||
|
Console.SetOut(TextWriter.Null);
|
||||||
|
ConsoleVisible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,16 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Threading;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Imaging;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using BizHawk.Core;
|
|
||||||
using BizHawk.Emulation.Consoles.Sega;
|
|
||||||
using BizHawk.Emulation.Consoles.TurboGrafx;
|
|
||||||
using BizHawk.Emulation.Consoles.Calculator;
|
using BizHawk.Emulation.Consoles.Calculator;
|
||||||
using BizHawk.Emulation.Consoles.Gameboy;
|
|
||||||
using BizHawk.Emulation.Consoles.Nintendo;
|
|
||||||
|
|
||||||
namespace BizHawk.MultiClient
|
namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
|
@ -915,5 +907,15 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
StopUserMovie();
|
StopUserMovie();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void displayLogWindowToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Global.Config.ShowLogWindow ^= true;
|
||||||
|
displayLogWindowToolStripMenuItem.Checked = Global.Config.ShowLogWindow;
|
||||||
|
if (Global.Config.ShowLogWindow)
|
||||||
|
LogConsole.ShowConsole();
|
||||||
|
else
|
||||||
|
LogConsole.HideConsole();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -69,6 +69,12 @@ namespace BizHawk.MultiClient
|
||||||
public MainForm(string[] args)
|
public MainForm(string[] args)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
if (Global.Config.ShowLogWindow)
|
||||||
|
{
|
||||||
|
LogConsole.ShowConsole();
|
||||||
|
displayLogWindowToolStripMenuItem.Checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateStatusSlots();
|
UpdateStatusSlots();
|
||||||
//in order to allow late construction of this database, we hook up a delegate here to dearchive the data and provide it on demand
|
//in order to allow late construction of this database, we hook up a delegate here to dearchive the data and provide it on demand
|
||||||
//we could background thread this later instead if we wanted to be real clever
|
//we could background thread this later instead if we wanted to be real clever
|
||||||
|
|
Loading…
Reference in New Issue