Add project files.

This commit is contained in:
2025-07-29 08:39:37 -06:00
commit ca9056613f
89 changed files with 9598 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

BIN
DeheadEmAll-GUI/App.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FCEBBE29-8A30-4E30-9EEE-DF5F44922223}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>DeheadEmAll_GUI</RootNamespace>
<AssemblyName>DeheadEmAll-GUI</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Debug\DeheadEmAll-GUI.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<NoWin32Manifest>true</NoWin32Manifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>App.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.2.12.0\lib\net47\Serilog.dll</HintPath>
</Reference>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.7\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="FrmDeheadEmAll.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmDeheadEmAll.Designer.cs">
<DependentUpon>FrmDeheadEmAll.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="FrmDeheadEmAll.resx">
<DependentUpon>FrmDeheadEmAll.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="App.ico" />
<None Include="Resources\Images\Cancel_16x16.png" />
<None Include="Resources\Images\Toolbar_32x32.png" />
<None Include="Resources\Images\SaveOptions_32x32.png" />
<None Include="Resources\Images\SaveLog_32x32.png" />
<None Include="Resources\Images\Options_32x32.png" />
<None Include="Resources\Images\Log_32x32.png" />
<None Include="Resources\Images\LoadOptions_32x32.png" />
<None Include="Resources\Images\License_32x32.png" />
<None Include="Resources\Images\Help_32x32.png" />
<None Include="Resources\Images\Exit_32x32.png" />
<None Include="Resources\Images\DeheadROMs_32x32.png" />
<None Include="Resources\Images\ChangeOption_16x16.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\DeheadEmAll\DeheadEmAll.csproj">
<Project>{06f4a6d4-ee7f-47d3-947c-a259f1fc3d84}</Project>
<Name>DeheadEmAll</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Resources\Images\Donate_32x32.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

733
DeheadEmAll-GUI/FrmDeheadEmAll.Designer.cs generated Normal file
View File

@@ -0,0 +1,733 @@
namespace DeheadEmAll_GUI
{
partial class FrmDeheadEmAll
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmDeheadEmAll));
this.msMain = new System.Windows.Forms.MenuStrip();
this.tsmiCommand = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiView = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiLog = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiOptions = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiHelp = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiLicense = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiDonations = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiToolba = new System.Windows.Forms.ToolStripMenuItem();
this.tsMain = new System.Windows.Forms.ToolStrip();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.ssMain = new System.Windows.Forms.StatusStrip();
this.tspbDeheaderProgress = new System.Windows.Forms.ToolStripProgressBar();
this.tsslStatusMessage = new System.Windows.Forms.ToolStripStatusLabel();
this.tsslSpring = new System.Windows.Forms.ToolStripStatusLabel();
this.tcMain = new System.Windows.Forms.TabControl();
this.tabLog = new System.Windows.Forms.TabPage();
this.rtblLog = new Serilog.Sinks.LogEmAll.RichTextBoxLog();
this.tabOptions = new System.Windows.Forms.TabPage();
this.gbOptionsInfo = new System.Windows.Forms.GroupBox();
this.lblOptionsInfo1 = new System.Windows.Forms.Label();
this.gbSystem = new System.Windows.Forms.GroupBox();
this.lblLogLevel = new System.Windows.Forms.Label();
this.lblLanguage = new System.Windows.Forms.Label();
this.cbLogLevel = new System.Windows.Forms.ComboBox();
this.cbLanguage = new System.Windows.Forms.ComboBox();
this.gbROMs = new System.Windows.Forms.GroupBox();
this.chkA7800 = new System.Windows.Forms.CheckBox();
this.chkLynx = new System.Windows.Forms.CheckBox();
this.chkNES = new System.Windows.Forms.CheckBox();
this.chkFDS = new System.Windows.Forms.CheckBox();
this.gbPaths = new System.Windows.Forms.GroupBox();
this.txtPathROMsDeheaderedDir = new System.Windows.Forms.TextBox();
this.txtPathROMsDir = new System.Windows.Forms.TextBox();
this.lblROMsDeheaderedDir = new System.Windows.Forms.Label();
this.lblROMsDir = new System.Windows.Forms.Label();
this.tabHelp = new System.Windows.Forms.TabPage();
this.rtbHelp = new System.Windows.Forms.RichTextBox();
this.tabLicense = new System.Windows.Forms.TabPage();
this.rtbLicense = new System.Windows.Forms.RichTextBox();
this.tabDonations = new System.Windows.Forms.TabPage();
this.rtbDonations = new System.Windows.Forms.RichTextBox();
this.bgwStartupTasks = new System.ComponentModel.BackgroundWorker();
this.bgwDeheaderROMs = new System.ComponentModel.BackgroundWorker();
this.tsmiDeheaderROMs = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiLoadOptions = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiSaveOptions = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiSaveLog = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiExit = new System.Windows.Forms.ToolStripMenuItem();
this.tsbDeheaderROMs = new System.Windows.Forms.ToolStripButton();
this.tsbLoadOptions = new System.Windows.Forms.ToolStripButton();
this.tsbSaveOptions = new System.Windows.Forms.ToolStripButton();
this.tsbSaveLog = new System.Windows.Forms.ToolStripButton();
this.tsbViewLog = new System.Windows.Forms.ToolStripButton();
this.tsbViewOptions = new System.Windows.Forms.ToolStripButton();
this.tsbViewHelp = new System.Windows.Forms.ToolStripButton();
this.tsbViewLicense = new System.Windows.Forms.ToolStripButton();
this.tsbDonations = new System.Windows.Forms.ToolStripButton();
this.tsbViewToolbar = new System.Windows.Forms.ToolStripButton();
this.tsddbCancel = new System.Windows.Forms.ToolStripDropDownButton();
this.msMain.SuspendLayout();
this.tsMain.SuspendLayout();
this.ssMain.SuspendLayout();
this.tcMain.SuspendLayout();
this.tabLog.SuspendLayout();
this.tabOptions.SuspendLayout();
this.gbOptionsInfo.SuspendLayout();
this.gbSystem.SuspendLayout();
this.gbROMs.SuspendLayout();
this.gbPaths.SuspendLayout();
this.tabHelp.SuspendLayout();
this.tabLicense.SuspendLayout();
this.tabDonations.SuspendLayout();
this.SuspendLayout();
//
// msMain
//
this.msMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsmiCommand,
this.tsmiView});
resources.ApplyResources(this.msMain, "msMain");
this.msMain.Name = "msMain";
//
// tsmiCommand
//
this.tsmiCommand.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsmiDeheaderROMs,
this.toolStripSeparator8,
this.tsmiLoadOptions,
this.tsmiSaveOptions,
this.toolStripSeparator9,
this.tsmiSaveLog,
this.toolStripSeparator10,
this.tsmiExit});
this.tsmiCommand.Name = "tsmiCommand";
resources.ApplyResources(this.tsmiCommand, "tsmiCommand");
//
// toolStripSeparator8
//
this.toolStripSeparator8.Name = "toolStripSeparator8";
resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
//
// toolStripSeparator10
//
this.toolStripSeparator10.Name = "toolStripSeparator10";
resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
//
// tsmiView
//
this.tsmiView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsmiLog,
this.toolStripSeparator4,
this.tsmiOptions,
this.toolStripSeparator5,
this.tsmiHelp,
this.toolStripSeparator6,
this.tsmiLicense,
this.toolStripSeparator7,
this.tsmiDonations,
this.toolStripSeparator11,
this.tsmiToolba});
this.tsmiView.Name = "tsmiView";
resources.ApplyResources(this.tsmiView, "tsmiView");
//
// tsmiLog
//
this.tsmiLog.Checked = true;
this.tsmiLog.CheckState = System.Windows.Forms.CheckState.Checked;
this.tsmiLog.Name = "tsmiLog";
resources.ApplyResources(this.tsmiLog, "tsmiLog");
this.tsmiLog.Click += new System.EventHandler(this.ViewLog_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
//
// tsmiOptions
//
this.tsmiOptions.Checked = true;
this.tsmiOptions.CheckState = System.Windows.Forms.CheckState.Checked;
this.tsmiOptions.Name = "tsmiOptions";
resources.ApplyResources(this.tsmiOptions, "tsmiOptions");
this.tsmiOptions.Click += new System.EventHandler(this.ViewOptions_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
//
// tsmiHelp
//
this.tsmiHelp.Name = "tsmiHelp";
resources.ApplyResources(this.tsmiHelp, "tsmiHelp");
this.tsmiHelp.Click += new System.EventHandler(this.ViewHelp_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
//
// tsmiLicense
//
this.tsmiLicense.Name = "tsmiLicense";
resources.ApplyResources(this.tsmiLicense, "tsmiLicense");
this.tsmiLicense.Click += new System.EventHandler(this.ViewLicense_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
//
// tsmiDonations
//
this.tsmiDonations.Name = "tsmiDonations";
resources.ApplyResources(this.tsmiDonations, "tsmiDonations");
this.tsmiDonations.Click += new System.EventHandler(this.ViewDonations_Click);
//
// toolStripSeparator11
//
this.toolStripSeparator11.Name = "toolStripSeparator11";
resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
//
// tsmiToolba
//
this.tsmiToolba.Checked = true;
this.tsmiToolba.CheckState = System.Windows.Forms.CheckState.Checked;
this.tsmiToolba.Name = "tsmiToolba";
resources.ApplyResources(this.tsmiToolba, "tsmiToolba");
this.tsmiToolba.Click += new System.EventHandler(this.ViewToolbar_Click);
//
// tsMain
//
this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbDeheaderROMs,
this.toolStripSeparator1,
this.tsbLoadOptions,
this.tsbSaveOptions,
this.toolStripSeparator2,
this.tsbSaveLog,
this.toolStripSeparator3,
this.tsbViewLog,
this.tsbViewOptions,
this.tsbViewHelp,
this.tsbViewLicense,
this.tsbDonations,
this.tsbViewToolbar});
resources.ApplyResources(this.tsMain, "tsMain");
this.tsMain.Name = "tsMain";
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
//
// ssMain
//
this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsddbCancel,
this.tspbDeheaderProgress,
this.tsslStatusMessage,
this.tsslSpring});
resources.ApplyResources(this.ssMain, "ssMain");
this.ssMain.Name = "ssMain";
//
// tspbDeheaderProgress
//
this.tspbDeheaderProgress.Name = "tspbDeheaderProgress";
resources.ApplyResources(this.tspbDeheaderProgress, "tspbDeheaderProgress");
//
// tsslStatusMessage
//
this.tsslStatusMessage.Name = "tsslStatusMessage";
resources.ApplyResources(this.tsslStatusMessage, "tsslStatusMessage");
//
// tsslSpring
//
this.tsslSpring.Name = "tsslSpring";
resources.ApplyResources(this.tsslSpring, "tsslSpring");
this.tsslSpring.Spring = true;
//
// tcMain
//
this.tcMain.Controls.Add(this.tabLog);
this.tcMain.Controls.Add(this.tabOptions);
this.tcMain.Controls.Add(this.tabHelp);
this.tcMain.Controls.Add(this.tabLicense);
this.tcMain.Controls.Add(this.tabDonations);
resources.ApplyResources(this.tcMain, "tcMain");
this.tcMain.Name = "tcMain";
this.tcMain.SelectedIndex = 0;
//
// tabLog
//
this.tabLog.Controls.Add(this.rtblLog);
resources.ApplyResources(this.tabLog, "tabLog");
this.tabLog.Name = "tabLog";
this.tabLog.UseVisualStyleBackColor = true;
//
// rtblLog
//
resources.ApplyResources(this.rtblLog, "rtblLog");
this.rtblLog.Name = "rtblLog";
this.rtblLog.ReadOnly = true;
//
// tabOptions
//
this.tabOptions.Controls.Add(this.gbOptionsInfo);
this.tabOptions.Controls.Add(this.gbSystem);
this.tabOptions.Controls.Add(this.gbROMs);
this.tabOptions.Controls.Add(this.gbPaths);
resources.ApplyResources(this.tabOptions, "tabOptions");
this.tabOptions.Name = "tabOptions";
this.tabOptions.UseVisualStyleBackColor = true;
//
// gbOptionsInfo
//
resources.ApplyResources(this.gbOptionsInfo, "gbOptionsInfo");
this.gbOptionsInfo.Controls.Add(this.lblOptionsInfo1);
this.gbOptionsInfo.Name = "gbOptionsInfo";
this.gbOptionsInfo.TabStop = false;
//
// lblOptionsInfo1
//
resources.ApplyResources(this.lblOptionsInfo1, "lblOptionsInfo1");
this.lblOptionsInfo1.Name = "lblOptionsInfo1";
//
// gbSystem
//
resources.ApplyResources(this.gbSystem, "gbSystem");
this.gbSystem.Controls.Add(this.lblLogLevel);
this.gbSystem.Controls.Add(this.lblLanguage);
this.gbSystem.Controls.Add(this.cbLogLevel);
this.gbSystem.Controls.Add(this.cbLanguage);
this.gbSystem.Name = "gbSystem";
this.gbSystem.TabStop = false;
//
// lblLogLevel
//
resources.ApplyResources(this.lblLogLevel, "lblLogLevel");
this.lblLogLevel.Name = "lblLogLevel";
//
// lblLanguage
//
resources.ApplyResources(this.lblLanguage, "lblLanguage");
this.lblLanguage.Name = "lblLanguage";
//
// cbLogLevel
//
resources.ApplyResources(this.cbLogLevel, "cbLogLevel");
this.cbLogLevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbLogLevel.FormattingEnabled = true;
this.cbLogLevel.Items.AddRange(new object[] {
resources.GetString("cbLogLevel.Items")});
this.cbLogLevel.Name = "cbLogLevel";
//
// cbLanguage
//
resources.ApplyResources(this.cbLanguage, "cbLanguage");
this.cbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbLanguage.FormattingEnabled = true;
this.cbLanguage.Items.AddRange(new object[] {
resources.GetString("cbLanguage.Items")});
this.cbLanguage.Name = "cbLanguage";
//
// gbROMs
//
resources.ApplyResources(this.gbROMs, "gbROMs");
this.gbROMs.Controls.Add(this.chkA7800);
this.gbROMs.Controls.Add(this.chkLynx);
this.gbROMs.Controls.Add(this.chkNES);
this.gbROMs.Controls.Add(this.chkFDS);
this.gbROMs.Name = "gbROMs";
this.gbROMs.TabStop = false;
//
// chkA7800
//
resources.ApplyResources(this.chkA7800, "chkA7800");
this.chkA7800.Checked = true;
this.chkA7800.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkA7800.Name = "chkA7800";
this.chkA7800.UseVisualStyleBackColor = true;
//
// chkLynx
//
resources.ApplyResources(this.chkLynx, "chkLynx");
this.chkLynx.Checked = true;
this.chkLynx.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkLynx.Name = "chkLynx";
this.chkLynx.UseVisualStyleBackColor = true;
//
// chkNES
//
resources.ApplyResources(this.chkNES, "chkNES");
this.chkNES.Checked = true;
this.chkNES.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkNES.Name = "chkNES";
this.chkNES.UseVisualStyleBackColor = true;
//
// chkFDS
//
resources.ApplyResources(this.chkFDS, "chkFDS");
this.chkFDS.Checked = true;
this.chkFDS.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkFDS.Name = "chkFDS";
this.chkFDS.UseVisualStyleBackColor = true;
//
// gbPaths
//
resources.ApplyResources(this.gbPaths, "gbPaths");
this.gbPaths.Controls.Add(this.txtPathROMsDeheaderedDir);
this.gbPaths.Controls.Add(this.txtPathROMsDir);
this.gbPaths.Controls.Add(this.lblROMsDeheaderedDir);
this.gbPaths.Controls.Add(this.lblROMsDir);
this.gbPaths.Name = "gbPaths";
this.gbPaths.TabStop = false;
//
// txtPathROMsDeheaderedDir
//
resources.ApplyResources(this.txtPathROMsDeheaderedDir, "txtPathROMsDeheaderedDir");
this.txtPathROMsDeheaderedDir.Name = "txtPathROMsDeheaderedDir";
this.txtPathROMsDeheaderedDir.ReadOnly = true;
this.txtPathROMsDeheaderedDir.Click += new System.EventHandler(this.ChangeROMsDeheaderedDir_Click);
//
// txtPathROMsDir
//
resources.ApplyResources(this.txtPathROMsDir, "txtPathROMsDir");
this.txtPathROMsDir.Name = "txtPathROMsDir";
this.txtPathROMsDir.ReadOnly = true;
this.txtPathROMsDir.Click += new System.EventHandler(this.ChangeROMsDir_Click);
//
// lblROMsDeheaderedDir
//
resources.ApplyResources(this.lblROMsDeheaderedDir, "lblROMsDeheaderedDir");
this.lblROMsDeheaderedDir.Name = "lblROMsDeheaderedDir";
//
// lblROMsDir
//
resources.ApplyResources(this.lblROMsDir, "lblROMsDir");
this.lblROMsDir.Name = "lblROMsDir";
//
// tabHelp
//
this.tabHelp.Controls.Add(this.rtbHelp);
resources.ApplyResources(this.tabHelp, "tabHelp");
this.tabHelp.Name = "tabHelp";
this.tabHelp.UseVisualStyleBackColor = true;
//
// rtbHelp
//
resources.ApplyResources(this.rtbHelp, "rtbHelp");
this.rtbHelp.Name = "rtbHelp";
this.rtbHelp.ReadOnly = true;
//
// tabLicense
//
this.tabLicense.Controls.Add(this.rtbLicense);
resources.ApplyResources(this.tabLicense, "tabLicense");
this.tabLicense.Name = "tabLicense";
this.tabLicense.UseVisualStyleBackColor = true;
//
// rtbLicense
//
resources.ApplyResources(this.rtbLicense, "rtbLicense");
this.rtbLicense.Name = "rtbLicense";
this.rtbLicense.ReadOnly = true;
//
// tabDonations
//
this.tabDonations.Controls.Add(this.rtbDonations);
resources.ApplyResources(this.tabDonations, "tabDonations");
this.tabDonations.Name = "tabDonations";
this.tabDonations.UseVisualStyleBackColor = true;
//
// rtbDonations
//
resources.ApplyResources(this.rtbDonations, "rtbDonations");
this.rtbDonations.Name = "rtbDonations";
this.rtbDonations.ReadOnly = true;
//
// bgwStartupTasks
//
this.bgwStartupTasks.DoWork += new System.ComponentModel.DoWorkEventHandler(this.StartupTasks_DoWork);
this.bgwStartupTasks.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.StartupTasks_RunWorkerCompleted);
//
// bgwDeheaderROMs
//
this.bgwDeheaderROMs.WorkerReportsProgress = true;
this.bgwDeheaderROMs.WorkerSupportsCancellation = true;
this.bgwDeheaderROMs.DoWork += new System.ComponentModel.DoWorkEventHandler(this.DeheaderROMs_DoWork);
this.bgwDeheaderROMs.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.DeheaderROMs_ProgressChanged);
this.bgwDeheaderROMs.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.DeheaderROMs_RunWorkerCompleted);
//
// tsmiDeheaderROMs
//
resources.ApplyResources(this.tsmiDeheaderROMs, "tsmiDeheaderROMs");
this.tsmiDeheaderROMs.Name = "tsmiDeheaderROMs";
this.tsmiDeheaderROMs.Click += new System.EventHandler(this.DeheadROMs_Click);
//
// tsmiLoadOptions
//
resources.ApplyResources(this.tsmiLoadOptions, "tsmiLoadOptions");
this.tsmiLoadOptions.Name = "tsmiLoadOptions";
this.tsmiLoadOptions.Click += new System.EventHandler(this.LoadOptions_Click);
//
// tsmiSaveOptions
//
resources.ApplyResources(this.tsmiSaveOptions, "tsmiSaveOptions");
this.tsmiSaveOptions.Name = "tsmiSaveOptions";
this.tsmiSaveOptions.Click += new System.EventHandler(this.SaveOptions_Click);
//
// tsmiSaveLog
//
resources.ApplyResources(this.tsmiSaveLog, "tsmiSaveLog");
this.tsmiSaveLog.Name = "tsmiSaveLog";
this.tsmiSaveLog.Click += new System.EventHandler(this.SaveLog_Click);
//
// tsmiExit
//
resources.ApplyResources(this.tsmiExit, "tsmiExit");
this.tsmiExit.Name = "tsmiExit";
this.tsmiExit.Click += new System.EventHandler(this.Exit_Click);
//
// tsbDeheaderROMs
//
this.tsbDeheaderROMs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbDeheaderROMs, "tsbDeheaderROMs");
this.tsbDeheaderROMs.Name = "tsbDeheaderROMs";
this.tsbDeheaderROMs.Click += new System.EventHandler(this.DeheadROMs_Click);
//
// tsbLoadOptions
//
this.tsbLoadOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbLoadOptions, "tsbLoadOptions");
this.tsbLoadOptions.Name = "tsbLoadOptions";
this.tsbLoadOptions.Click += new System.EventHandler(this.LoadOptions_Click);
//
// tsbSaveOptions
//
this.tsbSaveOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbSaveOptions, "tsbSaveOptions");
this.tsbSaveOptions.Name = "tsbSaveOptions";
this.tsbSaveOptions.Click += new System.EventHandler(this.SaveOptions_Click);
//
// tsbSaveLog
//
this.tsbSaveLog.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbSaveLog, "tsbSaveLog");
this.tsbSaveLog.Name = "tsbSaveLog";
this.tsbSaveLog.Click += new System.EventHandler(this.SaveLog_Click);
//
// tsbViewLog
//
this.tsbViewLog.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbViewLog, "tsbViewLog");
this.tsbViewLog.Name = "tsbViewLog";
this.tsbViewLog.Click += new System.EventHandler(this.ViewLog_Click);
//
// tsbViewOptions
//
this.tsbViewOptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbViewOptions, "tsbViewOptions");
this.tsbViewOptions.Name = "tsbViewOptions";
this.tsbViewOptions.Click += new System.EventHandler(this.ViewOptions_Click);
//
// tsbViewHelp
//
this.tsbViewHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbViewHelp, "tsbViewHelp");
this.tsbViewHelp.Name = "tsbViewHelp";
this.tsbViewHelp.Click += new System.EventHandler(this.ViewHelp_Click);
//
// tsbViewLicense
//
this.tsbViewLicense.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbViewLicense, "tsbViewLicense");
this.tsbViewLicense.Name = "tsbViewLicense";
this.tsbViewLicense.Click += new System.EventHandler(this.ViewLicense_Click);
//
// tsbDonations
//
this.tsbDonations.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.tsbDonations.Image = global::DeheadEmAll_GUI.Properties.Resources.Donate_32x32;
resources.ApplyResources(this.tsbDonations, "tsbDonations");
this.tsbDonations.Name = "tsbDonations";
this.tsbDonations.Click += new System.EventHandler(this.ViewDonations_Click);
//
// tsbViewToolbar
//
this.tsbViewToolbar.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsbViewToolbar, "tsbViewToolbar");
this.tsbViewToolbar.Name = "tsbViewToolbar";
this.tsbViewToolbar.Click += new System.EventHandler(this.ViewToolbar_Click);
//
// tsddbCancel
//
this.tsddbCancel.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
resources.ApplyResources(this.tsddbCancel, "tsddbCancel");
this.tsddbCancel.Image = global::DeheadEmAll_GUI.Properties.Resources.Cancel_16x16;
this.tsddbCancel.Name = "tsddbCancel";
this.tsddbCancel.ShowDropDownArrow = false;
this.tsddbCancel.Click += new System.EventHandler(this.Cancel_Click);
//
// FrmDeheadEmAll
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.tcMain);
this.Controls.Add(this.ssMain);
this.Controls.Add(this.tsMain);
this.Controls.Add(this.msMain);
this.MainMenuStrip = this.msMain;
this.Name = "FrmDeheadEmAll";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form_FormClosing);
this.Shown += new System.EventHandler(this.Fprm_Shown);
this.msMain.ResumeLayout(false);
this.msMain.PerformLayout();
this.tsMain.ResumeLayout(false);
this.tsMain.PerformLayout();
this.ssMain.ResumeLayout(false);
this.ssMain.PerformLayout();
this.tcMain.ResumeLayout(false);
this.tabLog.ResumeLayout(false);
this.tabOptions.ResumeLayout(false);
this.gbOptionsInfo.ResumeLayout(false);
this.gbOptionsInfo.PerformLayout();
this.gbSystem.ResumeLayout(false);
this.gbSystem.PerformLayout();
this.gbROMs.ResumeLayout(false);
this.gbROMs.PerformLayout();
this.gbPaths.ResumeLayout(false);
this.gbPaths.PerformLayout();
this.tabHelp.ResumeLayout(false);
this.tabLicense.ResumeLayout(false);
this.tabDonations.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.MenuStrip msMain;
private System.Windows.Forms.ToolStrip tsMain;
private System.Windows.Forms.StatusStrip ssMain;
private System.Windows.Forms.ToolStripMenuItem tsmiCommand;
private System.Windows.Forms.ToolStripMenuItem tsmiView;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton tsbLoadOptions;
private System.Windows.Forms.ToolStripButton tsbSaveOptions;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripButton tsbSaveLog;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripButton tsbViewLog;
private System.Windows.Forms.ToolStripButton tsbViewOptions;
private System.Windows.Forms.ToolStripButton tsbViewHelp;
private System.Windows.Forms.ToolStripButton tsbViewLicense;
private System.Windows.Forms.TabControl tcMain;
private System.Windows.Forms.TabPage tabLog;
private System.Windows.Forms.TabPage tabOptions;
private System.Windows.Forms.TabPage tabHelp;
private System.Windows.Forms.TabPage tabLicense;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
private System.Windows.Forms.ToolStripMenuItem tsmiExit;
private System.Windows.Forms.ToolStripMenuItem tsmiLog;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripMenuItem tsmiOptions;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripMenuItem tsmiHelp;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripMenuItem tsmiLicense;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
private System.Windows.Forms.ToolStripMenuItem tsmiToolba;
private System.Windows.Forms.ToolStripStatusLabel tsslStatusMessage;
private System.Windows.Forms.RichTextBox rtbHelp;
private System.Windows.Forms.RichTextBox rtbLicense;
private System.Windows.Forms.ToolStripMenuItem tsmiLoadOptions;
private System.Windows.Forms.ToolStripMenuItem tsmiSaveOptions;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
private System.Windows.Forms.ToolStripMenuItem tsmiSaveLog;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
private System.Windows.Forms.ToolStripButton tsbViewToolbar;
private System.ComponentModel.BackgroundWorker bgwStartupTasks;
private System.ComponentModel.BackgroundWorker bgwDeheaderROMs;
private System.Windows.Forms.GroupBox gbPaths;
private System.Windows.Forms.TextBox txtPathROMsDeheaderedDir;
private System.Windows.Forms.TextBox txtPathROMsDir;
private System.Windows.Forms.Label lblROMsDeheaderedDir;
private System.Windows.Forms.Label lblROMsDir;
private System.Windows.Forms.GroupBox gbROMs;
private System.Windows.Forms.CheckBox chkA7800;
private System.Windows.Forms.CheckBox chkLynx;
private System.Windows.Forms.CheckBox chkNES;
private System.Windows.Forms.CheckBox chkFDS;
private System.Windows.Forms.ToolStripMenuItem tsmiDeheaderROMs;
private System.Windows.Forms.ToolStripButton tsbDeheaderROMs;
private System.Windows.Forms.ToolStripDropDownButton tsddbCancel;
private System.Windows.Forms.ToolStripStatusLabel tsslSpring;
private Serilog.Sinks.LogEmAll.RichTextBoxLog rtblLog;
private System.Windows.Forms.ToolStripProgressBar tspbDeheaderProgress;
private System.Windows.Forms.GroupBox gbSystem;
private System.Windows.Forms.Label lblLogLevel;
private System.Windows.Forms.Label lblLanguage;
private System.Windows.Forms.ComboBox cbLogLevel;
private System.Windows.Forms.ComboBox cbLanguage;
private System.Windows.Forms.GroupBox gbOptionsInfo;
private System.Windows.Forms.Label lblOptionsInfo1;
private System.Windows.Forms.ToolStripButton tsbDonations;
private System.Windows.Forms.ToolStripMenuItem tsmiDonations;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator11;
private System.Windows.Forms.TabPage tabDonations;
private System.Windows.Forms.RichTextBox rtbDonations;
}
}

View File

@@ -0,0 +1,896 @@
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using Serilog;
namespace DeheadEmAll_GUI
{
/// <summary>
/// The DeheadEmAll Class which interacts with the Main Program Class.
/// </summary>
public partial class FrmDeheadEmAll : Form
{
#region Constructors
DeheadEmAll.DeheadEmAll DHEA = new DeheadEmAll.DeheadEmAll();
/// <summary>
/// Constructor
/// </summary>
public FrmDeheadEmAll()
{
InitializeComponent();
// Print the version.
DHEA.PrintVersion();
// Load the options passed from the command line arguments.
DHEA.LoadOptionsFromCLI(Environment.GetCommandLineArgs());
// Load the options passed from the default options file.
DHEA.LoadOptionsFromFile();
// Add data bindings.
chkA7800.DataBindings.Add("Checked", DHEA, "A7800");
chkNES.DataBindings.Add("Checked", DHEA, "NES");
chkLynx.DataBindings.Add("Checked", DHEA, "Lynx");
chkFDS.DataBindings.Add("Checked", DHEA, "FDS");
txtPathROMsDir.DataBindings.Add("Text", DHEA, "PathROMsDir");
txtPathROMsDeheaderedDir.DataBindings.Add("Text", DHEA, "PathROMsDeheadedDir");
cbLanguage.DataBindings.Add("SelectedItem", DHEA, "Language");
cbLogLevel.DataBindings.Add("SelectedItem", DHEA, "LogLevel");
// Update the title.
UpdateTitle();
// Hide the Help and License tabs.
tcMain.TabPages.Remove(tabHelp);
tcMain.TabPages.Remove(tabLicense);
tcMain.TabPages.Remove(tabDonations);
// Load the GUI RichTextBoxes from resources.
rtbHelp.Text = DeheadEmAll.Properties.Resources.DeheadEmAll_HELP;
rtbLicense.Text = DeheadEmAll.Properties.Resources.DeheadEmAll_LICENSE;
rtbDonations.Text = DeheadEmAll.Properties.Resources.DeheadEmAll_DONATIONS;
}
#endregion
#region Getters/Setters Public Accessors
/// LogLines
public string[] LogLines
{
get { return rtblLog.Lines; }
set { rtblLog.Lines = value; }
}
#endregion
#region Log
/// <summary>
/// Saves the log to a text file.
/// </summary>
/// <param name="strPath"></param>
/// <returns></returns>
private bool SaveLogToFile(string strPath = null)
{
try
{
if (strPath != null)
{
DHEA.PathLogFile = strPath;
}
// Determine if the user selected a log filename.
if (DHEA.PathLogFile.Length == 0)
{
// Return a bool value.
return false;
}
else
{
// Print to screen
Log.Information("Saving log file ...");
// Create log file directory if it doesn't exist.
if (Directory.Exists(Path.GetDirectoryName(DHEA.PathLogFile)) == false) Directory.CreateDirectory(Path.GetDirectoryName(DHEA.PathLogFile));
// Save the contents of the log to a text file.
File.WriteAllLines(DHEA.PathLogFile, LogLines);
// Print to screen
Log.Information("Log file saved (" + DHEA.PathLogFile + ")");
// Return a bool value.
return true;
}
}
catch (Exception ex)
{
// Print to screen
Log.Error("Saving log file failed");
Log.Error(ex.Message);
// Return a bool value.
return false;
}
}
#endregion
#region Startup Tasks
/// <summary>
/// Performs the startup tasks BGW DoWork.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void StartupTasks_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
// Run startup tasks.
DHEA.StartupTasks();
}
/// <summary>
/// Startup tasks BGW RunWorkerCompleted.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void StartupTasks_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{
Log.Warning("Startup tasks canceled");
Log.Information("Ready");
}
else if (e.Error != null)
{
Log.Error("Startup tasks failed");
Log.Error(e.Error.Message);
Log.Information("Ready");
}
else
{
Log.Information("Ready");
}
// Update the status message label.
UpdateStatusMessage("Ready");
// Enable buttons.
EnableAllButtons();
}
#endregion
#region GUI Methods
/// <summary>
/// Changes the path to the ROMs directory.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChangeROMsDir_Click(object sender, EventArgs e)
{
// Disable all buttons.
DisableAllButtons();
// Create and initialize a FolderBrowserDialog for the ROMs directory.
FolderBrowserDialog fbdPathRomsDir = new FolderBrowserDialog
{
ShowNewFolderButton = true,
Description = "Please enter a path to the ROMs directory: ",
SelectedPath = Path.GetFullPath(DHEA.PathROMsDir)
};
// Determine if the user selected a folder name from the FolderBrowserDialog.
if (fbdPathRomsDir.ShowDialog() == DialogResult.OK)
{
// Set both variables for compatibility for Windows .Net and Mono.
this.DHEA.PathROMsDir = fbdPathRomsDir.SelectedPath;
txtPathROMsDir.Text = fbdPathRomsDir.SelectedPath;
}
// Dispose of the FolderBrowserDialog.
fbdPathRomsDir.Dispose();
// Enable all buttons.
EnableAllButtons();
}
/// <summary>
/// Changes the path to the ROMs deheadered directory.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChangeROMsDeheaderedDir_Click(object sender, EventArgs e)
{
// Disable all buttons.
DisableAllButtons();
// Create and initialize a FolderBrowserDialog for the ROMs deheadered directory.
FolderBrowserDialog fbdPathRomsDeheadedDir = new FolderBrowserDialog
{
ShowNewFolderButton = true,
Description = "Please enter a path to the ROMs deheadered directory: ",
SelectedPath = Path.GetFullPath(DHEA.PathROMsDeheadedDir)
};
// Determine if the user selected a folder name from the FolderBrowserDialog.
if (fbdPathRomsDeheadedDir.ShowDialog() == DialogResult.OK)
{
// Set both variables for compatibility for Windows .Net and Mono.
this.DHEA.PathROMsDeheadedDir = fbdPathRomsDeheadedDir.SelectedPath;
txtPathROMsDeheaderedDir.Text = fbdPathRomsDeheadedDir.SelectedPath;
}
// Dispose of the FolderBrowserDialog.
fbdPathRomsDeheadedDir.Dispose();
// Enable all buttons.
EnableAllButtons();
}
/// <summary>
/// Cancels the current backgroundworker.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Cancel_Click(object sender, EventArgs e)
{
if (bgwDeheaderROMs.WorkerSupportsCancellation == true)
{
// Print to screen
Log.Information("Cancellation pending after current operation ...");
// Update the status message label.
UpdateStatusMessage("Cancellation Pending ...");
// Disable the cancel button.
tsddbCancel.Enabled = false;
// Cancel the asynchronous operation.
bgwDeheaderROMs.CancelAsync();
}
}
/// <summary>
/// Loads an options file.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void LoadOptions_Click(object sender, EventArgs e)
{
try
{
// Disable all buttons.
DisableAllButtons();
// Create and initialize an OpenFileDialog for the options file.
OpenFileDialog ofdOptions = new OpenFileDialog
{
DefaultExt = "*.xml",
Filter = "XML Files|*.xml",
Title = "Please enter a path to the options file: ",
InitialDirectory = Path.GetDirectoryName(DHEA.PathOptionsFile)
};
// Determine if the user selected a file name from the OpenFileDialog.
if (ofdOptions.ShowDialog() == DialogResult.OK && ofdOptions.FileName.Length > 0)
{
// Set the options file path.
DHEA.PathOptionsFile = ofdOptions.FileName;
// Select the Log tab.
if (tcMain.TabPages.Contains(tabLog)) { tcMain.SelectTab(tabLog); }
// Load the options.
DHEA.LoadOptionsFromFile();
// Print to screen
Log.Information("Ready");
}
// Dispose of the OpenFileDialog.
ofdOptions.Dispose();
// Enable all buttons.
EnableAllButtons();
}
catch (Exception ex)
{
// Print to screen
Log.Error("Loading options failed");
Log.Error(ex.Message);
Log.Information("Ready");
}
}
/// <summary>
/// Saves an options file.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SaveOptions_Click(object sender, EventArgs e)
{
try
{
// Disable all buttons.
DisableAllButtons();
// Create and initialize a SaveFileDialog for the options file.
SaveFileDialog sfdOptions = new SaveFileDialog
{
DefaultExt = "*.xml",
Filter = "XML Files|*.xml",
FileName = "Options - DeheadEmAll.xml",
Title = "Please enter a path to the options file: ",
InitialDirectory = Path.GetDirectoryName(DHEA.PathOptionsFile)
};
// Determine if the user selected a file name from the SaveFileDialog.
if (sfdOptions.ShowDialog() == DialogResult.OK && sfdOptions.FileName.Length > 0)
{
// Set the options file path.
DHEA.PathOptionsFile = sfdOptions.FileName;
// Select the Log tab.
if (tcMain.TabPages.Contains(tabLog)) { tcMain.SelectTab(tabLog); }
// Save the options.
DHEA.SaveOptionsToFile();
// Print to screen
Log.Information("Ready");
}
// Dispose of the SaveFileDialog.
sfdOptions.Dispose();
// Enable all buttons.
EnableAllButtons();
}
catch (Exception ex)
{
// Print to screen
Log.Error("Saving options failed");
Log.Error(ex.Message);
Log.Information("Ready");
}
}
/// <summary>
/// Saves a log file.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SaveLog_Click(object sender, EventArgs e)
{
try
{
// Disable all buttons.
DisableAllButtons();
// Create and initialize a SaveFileDialog for the log file.
SaveFileDialog sfdLog = new SaveFileDialog
{
DefaultExt = "*.txt",
Filter = "TXT Files|*.txt",
FileName = "DeheadEmAll-Log-" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".txt",
Title = "Please enter a path to the log file: ",
InitialDirectory = Path.Combine(Application.StartupPath, "Logs")
};
// Determine if the user selected a log filename.
if (sfdLog.ShowDialog() == DialogResult.OK && sfdLog.FileName.Length > 0)
{
// Set the log file path.
DHEA.PathLogFile = sfdLog.FileName;
// Select the Log tab.
if (tcMain.TabPages.Contains(tabLog)) { tcMain.SelectTab(tabLog); }
// Save the log.
SaveLogToFile(DHEA.PathLogFile);
// Print to screen
Log.Information("Ready");
}
// Dispose of the SaveFileDialog.
sfdLog.Dispose();
// Enable all buttons.
EnableAllButtons();
}
catch (Exception ex)
{
// Print to screen
Log.Error("Saving log file failed");
Log.Error(ex.Message);
Log.Information("Ready");
}
}
/// <summary>
/// Toggles the visibility of the log.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ViewLog_Click(object sender, EventArgs e)
{
if (tsmiLog.Checked)
{
tsmiLog.Checked = false;
tcMain.TabPages.Remove(tabLog);
}
else
{
tsmiLog.Checked = true;
tcMain.TabPages.Add(tabLog);
tcMain.SelectTab(tabLog);
}
}
/// <summary>
/// Toggles the visibility of the options.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ViewOptions_Click(object sender, EventArgs e)
{
if (tsmiOptions.Checked)
{
tsmiOptions.Checked = false;
tcMain.TabPages.Remove(tabOptions);
}
else
{
tsmiOptions.Checked = true;
tcMain.TabPages.Add(tabOptions);
tcMain.SelectTab(tabOptions);
}
}
/// <summary>
/// Toggles the visibility of the help.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ViewHelp_Click(object sender, EventArgs e)
{
if (tsmiHelp.Checked)
{
tsmiHelp.Checked = false;
tcMain.TabPages.Remove(tabHelp);
}
else
{
tsmiHelp.Checked = true;
tcMain.TabPages.Add(tabHelp);
tcMain.SelectTab(tabHelp);
}
}
/// <summary>
/// Toggles the visibility of the license.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ViewLicense_Click(object sender, EventArgs e)
{
if (tsmiLicense.Checked)
{
tsmiLicense.Checked = false;
tcMain.TabPages.Remove(tabLicense);
}
else
{
tsmiLicense.Checked = true;
tcMain.TabPages.Add(tabLicense);
tcMain.SelectTab(tabLicense);
}
}
/// <summary>
/// Toggles the visibility of the Donations.
/// </summary>
private void ViewDonations_Click(object sender, EventArgs e)
{
if (tsmiDonations.Checked)
{
tsmiDonations.Checked = false;
tsmiDonations.CheckState = CheckState.Unchecked;
tcMain.TabPages.Remove(tabDonations);
}
else
{
tsmiDonations.Checked = true;
tsmiDonations.CheckState = CheckState.Checked;
tcMain.TabPages.Add(tabDonations);
tcMain.SelectTab(tabDonations);
}
}
/// <summary>
/// Toggles the visibility of the toolbar.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ViewToolbar_Click(object sender, EventArgs e)
{
if (tsMain.Visible)
{
tsMain.Visible = false;
tsmiToolba.Checked = false;
}
else
{
tsMain.Visible = true;
tsmiToolba.Checked = true;
}
}
/// <summary>
/// After the form is shown, performs the startup tasks.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Fprm_Shown(object sender, EventArgs e)
{
// Perform the application startup tasks.
bgwStartupTasks.RunWorkerAsync();
}
/// <summary>
/// Exits the WinForms app.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}
/// <summary>
/// Check some things to make sure it is safe to exit the WinForms application.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
if (bgwDeheaderROMs.IsBusy == true)
{
if (MessageBox.Show("The ROMs deheaderer is currently running. Exiting now may cause corrupt or incomplete files! Are you sure you want to exit now?", "Confirm Exit", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
{
e.Cancel = true;
}
}
}
/// <summary>
/// Enables all of the buttons.
/// </summary>
private void EnableAllButtons()
{
// Enable all Menu Item buttons.
tsmiCommand.Enabled = true;
tsmiExit.Enabled = true;
tsmiDeheaderROMs.Enabled = true;
tsmiLoadOptions.Enabled = true;
tsmiSaveOptions.Enabled = true;
tsmiSaveLog.Enabled = true;
// Enable all Toolbar buttons.
tsbDeheaderROMs.Enabled = true;
tsbLoadOptions.Enabled = true;
tsbSaveOptions.Enabled = true;
tsbSaveLog.Enabled = true;
// Enable all Options buttons.
txtPathROMsDir.Enabled = true;
txtPathROMsDeheaderedDir.Enabled = true;
// Enable all Options checkboxes.
chkA7800.Enabled = true;
chkFDS.Enabled = true;
chkLynx.Enabled = true;
chkNES.Enabled = true;
// Disable all Options comboboxes.
cbLanguage.Enabled = true;
cbLogLevel.Enabled = true;
}
/// <summary>
/// Disables all of the buttons.
/// </summary>
private void DisableAllButtons()
{
// Disable all Menu Item buttons.
tsmiCommand.Enabled = false;
tsmiExit.Enabled = false;
tsmiDeheaderROMs.Enabled = false;
tsmiLoadOptions.Enabled = false;
tsmiSaveOptions.Enabled = false;
tsmiSaveLog.Enabled = false;
// Disable all Toolbar buttons.
tsbDeheaderROMs.Enabled = false;
tsbLoadOptions.Enabled = false;
tsbSaveOptions.Enabled = false;
tsbSaveLog.Enabled = false;
// Disable all Options buttons.
txtPathROMsDir.Enabled = false;
txtPathROMsDeheaderedDir.Enabled = false;
// Disable all Options checkboxes.
chkA7800.Enabled = false;
chkFDS.Enabled = false;
chkLynx.Enabled = false;
chkNES.Enabled = false;
// Disable all Options comboboxes.
cbLanguage.Enabled = false;
cbLogLevel.Enabled = false;
}
/// <summary>
/// Updates the application title.
/// </summary>
/// <param name="strTitle"></param>
/// <returns></returns>
public bool UpdateTitle(string strTitle = "")
{
try
{
if (this.InvokeRequired && !this.IsDisposed)
{
Invoke(new MethodInvoker(delegate ()
{
// Update the application title.
this.Text = DHEA.AppName + " v" + DHEA.AppVersion + strTitle;
}));
}
else if (!this.IsDisposed)
{
// Update the application title.
this.Text = DHEA.AppName + " v" + DHEA.AppVersion + strTitle;
}
return true;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// Updates the progress status message label.
/// </summary>
/// <param name="strMsg"></param>
private void UpdateStatusMessage(string strMsg)
{
// Update the status message label.
tsslStatusMessage.Text = strMsg;
}
/// <summary>
/// Updates the deheader progress bar.
/// </summary>
/// <param name="intPercentage"></param>
private void UpdateDeheaderProgress(int intPercentage)
{
// Update the build progress status progress bar.
tspbDeheaderProgress.Value = intPercentage;
}
#endregion
#region Deheader ROMs
/// <summary>
/// Deheaders all of the selected ROMs.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeheadROMs_Click(object sender, EventArgs e)
{
// Select the Log tab.
if (tcMain.TabPages.Contains(tabLog)) { tcMain.SelectTab(tabLog); }
// Disable all buttons.
DisableAllButtons();
// Enable the cancel button.
tsddbCancel.Enabled = true;
// Change the log background color.
// rtblLog.BackColor = Color.LightGreen;
// Update the status message label.
UpdateStatusMessage("Deheadering ROMs ...");
// Print to screen
Log.Information("Deheadering all selected ROMs ...");
// Deheader ROMs.
bgwDeheaderROMs.RunWorkerAsync();
}
/// <summary>
/// Deheaders all of the selected ROMs.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeheaderROMs_DoWork(object sender, DoWorkEventArgs e)
{
try
{
// Declarations
BackgroundWorker worker = sender as BackgroundWorker; // Background worker
int intProgress = 0; // Background worker progress
int intCountTotalFilesProcessed = 0; // Total files processed
int intCounterTotalDeheaded = 0; // Total deheadered counter
int intCountArrDirFiles = 0; // Total loop count
string strPathROMsDir = DHEA.PathROMsDir; // Path to the ROMs directory
string strPathROMsDeheadedDir = DHEA.PathROMsDeheadedDir; // Path to the deheadered ROMs directory
// Checkers
bool boolPathROMsDirCheck = DHEA.PathROMsDirCheck();
bool boolPathROMsDeheadedDirCheck = DHEA.PathROMsDeheadedDirCheck();
// Check the paths and directories.
if (boolPathROMsDirCheck != false && boolPathROMsDeheadedDirCheck != false)
{
// Print to screen
Log.Information("Options: ROMs Directory (" + strPathROMsDir + ")");
Log.Information("Options: ROMsDeheaded Directory (" + strPathROMsDeheadedDir + ")");
// Get the directory files array and count.
string[] arrDirFiles = Directory.GetFiles(strPathROMsDir, "*.*", SearchOption.AllDirectories);
intCountArrDirFiles = arrDirFiles.Count();
// Create and start a stopwatch.
var stopWatch = new Stopwatch();
stopWatch.Start();
// Main loop - Deheader all of the ROMs.
foreach (string strPathFile in arrDirFiles)
{
FileInfo fiInputFile = new FileInfo(strPathFile);
if ((fiInputFile.Extension == ".fds" || fiInputFile.Extension == ".nes") && (DHEA.FDS == true || DHEA.NES == true) && fiInputFile.Length > 16)
{
Log.Information("Deheadering: " + fiInputFile.FullName);
// UpdateStatusMessage("Deheadering " + (intCountTotalFilesProcessed + 1) + " of " + intCountArrDirFiles + " ROMs ...");
int intOutputFileLength = (int)(fiInputFile.Length - 16);
byte[] arrOutputFileBytes = new byte[intOutputFileLength];
using (BinaryReader reader = new BinaryReader(new FileStream(fiInputFile.FullName, FileMode.Open)))
{
reader.BaseStream.Seek(16, SeekOrigin.Begin);
reader.Read(arrOutputFileBytes, 0, intOutputFileLength);
}
File.WriteAllBytes(Path.Combine(strPathROMsDeheadedDir, fiInputFile.Name), arrOutputFileBytes);
intCounterTotalDeheaded++;
}
else if (fiInputFile.Extension == ".lnx" && DHEA.Lynx == true && fiInputFile.Length > 64)
{
Log.Information("Deheadering: " + fiInputFile.FullName);
// UpdateStatusMessage("Deheadering " + (intCountTotalFilesProcessed + 1) + " of " + intCountArrDirFiles + " ROMs ...");
int intOutputFileLength = (int)(fiInputFile.Length - 64);
byte[] arrOutputFileBytes = new byte[intOutputFileLength];
using (BinaryReader reader = new BinaryReader(new FileStream(fiInputFile.FullName, FileMode.Open)))
{
reader.BaseStream.Seek(64, SeekOrigin.Begin);
reader.Read(arrOutputFileBytes, 0, intOutputFileLength);
}
File.WriteAllBytes(Path.Combine(strPathROMsDeheadedDir, fiInputFile.Name), arrOutputFileBytes);
intCounterTotalDeheaded++;
}
else if (fiInputFile.Extension == ".a78" && DHEA.A7800 == true && fiInputFile.Length > 128)
{
Log.Information("Deheadering: " + fiInputFile.FullName);
// UpdateStatusMessage("Deheadering " + (intCountTotalFilesProcessed + 1) + " of " + intCountArrDirFiles + " ROMs ...");
int intOutputFileLength = (int)(fiInputFile.Length - 128);
byte[] arrOutputFileBytes = new byte[intOutputFileLength];
using (BinaryReader reader = new BinaryReader(new FileStream(fiInputFile.FullName, FileMode.Open)))
{
reader.BaseStream.Seek(128, SeekOrigin.Begin);
reader.Read(arrOutputFileBytes, 0, intOutputFileLength);
}
File.WriteAllBytes(Path.Combine(strPathROMsDeheadedDir, fiInputFile.Name), arrOutputFileBytes);
intCounterTotalDeheaded++;
}
else
{
Log.Information("Skipping: " + fiInputFile.FullName);
// UpdateStatusMessage("Skipping " + (intCountTotalFilesProcessed + 1) + " of " + intCountArrDirFiles + " ROMs ...");
}
// Increment the progress bar.
intCountTotalFilesProcessed++;
intProgress = (int)((double)intCountTotalFilesProcessed / (double)intCountArrDirFiles * 100);
worker.ReportProgress(intProgress);
// Check if the background worker is pending cancellation.
if (worker.CancellationPending == true)
{
e.Cancel = true;
break;
}
}
// Stop the stopwatch.
stopWatch.Stop();
// Print to screen
Log.Information("Deheadered " + intCounterTotalDeheaded + " ROMs in " + stopWatch.Elapsed);
}
}
catch (Exception ex)
{
// Print to screen
Log.Error("Error: " + ex.Message);
}
}
/// <summary>
/// DeheaderROMs ProgressChanged.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeheaderROMs_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// Display the changed progress status.
UpdateDeheaderProgress(e.ProgressPercentage);
}
/// <summary>
/// DeheaderROMs RunWorkerCompleted
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeheaderROMs_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{
Log.Warning("Deheadering all selected ROMs canceled");
Log.Information("Ready");
}
else if (e.Error != null)
{
Log.Error("Deheadering all selected ROMs failed");
Log.Error(e.Error.Message);
Log.Information("Ready");
}
else
{
Log.Information("Deheadering all selected ROMs completed");
Log.Information("Ready");
}
// Reset the log background color.
// rtblLog.BackColor = SystemColors.Control;
// Reset the progress bar.
UpdateDeheaderProgress(0);
// Update the status message label.
UpdateStatusMessage("Ready");
// Disable the cancel button.
tsddbCancel.Enabled = false;
// Enable all buttons.
EnableAllButtons();
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Serilog;
using Serilog.Formatting.Display;
using Serilog.Sinks.LogEmAll;
namespace DeheadEmAll_GUI
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
ConfigureSerilog();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmDeheadEmAll());
}
/// <summary>
/// Configure the logger.
/// </summary>
public static void ConfigureSerilog()
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteToRichTextBox(new MessageTemplateTextFormatter("{Level:u4}: {Message:lj}{NewLine}{Exception}"))
.CreateLogger();
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DeheadEmAll-GUI")]
[assembly: AssemblyDescription("The Original Automated ROM Deheaderer")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("DeheadEmAll")]
[assembly: AssemblyProduct("DeheadEmAll-GUI")]
[assembly: AssemblyCopyright("Copyright (c) 2016-2025 DeheadEmAll - All Rights Reserved")]
[assembly: AssemblyTrademark("DeheadEmAll - The Original Automated ROM Deheaderer")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("fcebbe29-8a30-4e30-9eee-df5f44922223")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.5.8")]
[assembly: AssemblyFileVersion("1.5.8")]

View File

@@ -0,0 +1,193 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DeheadEmAll_GUI.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DeheadEmAll_GUI.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Cancel_16x16 {
get {
object obj = ResourceManager.GetObject("Cancel_16x16", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap ChangeOption_16x16 {
get {
object obj = ResourceManager.GetObject("ChangeOption_16x16", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap DeheadROMs_32x32 {
get {
object obj = ResourceManager.GetObject("DeheadROMs_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Donate_32x32 {
get {
object obj = ResourceManager.GetObject("Donate_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Exit_32x32 {
get {
object obj = ResourceManager.GetObject("Exit_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Help_32x32 {
get {
object obj = ResourceManager.GetObject("Help_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap License_32x32 {
get {
object obj = ResourceManager.GetObject("License_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap LoadOptions_32x32 {
get {
object obj = ResourceManager.GetObject("LoadOptions_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Log_32x32 {
get {
object obj = ResourceManager.GetObject("Log_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Options_32x32 {
get {
object obj = ResourceManager.GetObject("Options_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap SaveLog_32x32 {
get {
object obj = ResourceManager.GetObject("SaveLog_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap SaveOptions_32x32 {
get {
object obj = ResourceManager.GetObject("SaveOptions_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Toolbar_32x32 {
get {
object obj = ResourceManager.GetObject("Toolbar_32x32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Cancel_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Cancel_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ChangeOption_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\ChangeOption_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DeheadROMs_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\DeheadROMs_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Donate_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Donate_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Exit_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Exit_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Help_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Help_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="License_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\License_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LoadOptions_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\LoadOptions_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Log_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Log_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Options_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Options_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SaveLog_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\SaveLog_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SaveOptions_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\SaveOptions_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Toolbar_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\Toolbar_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DeheadEmAll_GUI.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Serilog" version="2.12.0" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.7" targetFramework="net48" />
</packages>