Version Update: 0.1.3
-Fixed a number of startup bugs -Packaged MSVC DLLs
This commit is contained in:
parent
93b0faa2a6
commit
db9d88e582
19 changed files with 60 additions and 70 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -158,7 +158,6 @@ $RECYCLE.BIN/
|
|||
*.sav
|
||||
*.svs
|
||||
*.trt
|
||||
*.zip
|
||||
*.rar
|
||||
|
||||
*.VC.opendb
|
|
@ -2,10 +2,10 @@
|
|||
#include "EmulationSettings.h"
|
||||
#include "VsControlManager.h"
|
||||
|
||||
//Version 0.1.2
|
||||
//Version 0.1.3
|
||||
uint16_t EmulationSettings::_versionMajor = 0;
|
||||
uint8_t EmulationSettings::_versionMinor = 1;
|
||||
uint8_t EmulationSettings::_versionRevision = 2;
|
||||
uint8_t EmulationSettings::_versionRevision = 3;
|
||||
|
||||
Language EmulationSettings::_displayLanguage = Language::English;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace Mesen.GUI.Config
|
|||
{
|
||||
private const int MaxRecentFiles = 10;
|
||||
|
||||
public string MesenVersion;
|
||||
public string MesenVersion = "0.1.3";
|
||||
public PreferenceInfo PreferenceInfo;
|
||||
public AudioInfo AudioInfo;
|
||||
public VideoInfo VideoInfo;
|
||||
|
@ -28,7 +28,6 @@ namespace Mesen.GUI.Config
|
|||
|
||||
public Configuration()
|
||||
{
|
||||
MesenVersion = InteropEmu.GetMesenVersion();
|
||||
Profile = new PlayerProfile();
|
||||
ClientConnectionInfo = new ClientConnectionInfo();
|
||||
ServerInfo = new ServerInfo();
|
||||
|
@ -38,6 +37,7 @@ namespace Mesen.GUI.Config
|
|||
RecentFiles = new List<string>();
|
||||
InputInfo = new InputInfo();
|
||||
Cheats = new List<CheatInfo>();
|
||||
VsConfig = new List<VsConfigInfo>();
|
||||
}
|
||||
|
||||
public void ApplyConfig()
|
||||
|
|
BIN
GUI.NET/Dependencies/MSVCx64.zip
Normal file
BIN
GUI.NET/Dependencies/MSVCx64.zip
Normal file
Binary file not shown.
BIN
GUI.NET/Dependencies/MSVCx86.zip
Normal file
BIN
GUI.NET/Dependencies/MSVCx86.zip
Normal file
Binary file not shown.
|
@ -34,6 +34,7 @@
|
|||
<Message ID="UpdateDownloadFailed">Download failed - the file appears to be corrupted. Please visit the Mesen website to download the latest version manually.</Message>
|
||||
<Message ID="UpgradeSuccess">Upgrade completed successfully.</Message>
|
||||
<Message ID="UpdaterNotFound">The update process could not be started due to missing files.</Message>
|
||||
<Message ID="Net45NotFound">The Microsoft .NET Framework 4.5 could not be found. Please download and install the latest version of the .NET Framework from Microsoft's website and try again.</Message>
|
||||
</Messages>
|
||||
<Enums>
|
||||
<Enum ID="ControllerType">
|
||||
|
|
|
@ -254,10 +254,8 @@
|
|||
<Control ID="labelCopyright">© 2016 M. Bibaud (aka Sour)</Control>
|
||||
<Control ID="lblWebsite">Site web:</Control>
|
||||
<Control ID="lblLink">www.mesen.ca</Control>
|
||||
<Control ID="labelVersion">Version: 0.1.2 (Beta)</Control>
|
||||
<Control ID="labelVersion">Version: 0.1.3 (Beta)</Control>
|
||||
<Control ID="okButton">&OK</Control>
|
||||
<Control ID="lblDonate">Mesen est gratuit. Par contre, si vous voulez supporter son dévelopement, cliquez sur le lien ci-dessous pour plus d'information. Thank you!</Control>
|
||||
<Control ID="lnkDonate">Pour plus d'information, cliquez ici.</Control>
|
||||
</Form>
|
||||
<Form ID="frmVsGameConfig" Title="Configuration du jeu VS">
|
||||
<Control ID="lblGame">Jeu</Control>
|
||||
|
@ -299,6 +297,8 @@
|
|||
<Message ID="UpdateDownloadFailed">Le téléchargement a échoué - le fichier semble être corrompu. Veuillez visiter le site de Mesen pour télécharger manuellement la version la plus récente.</Message>
|
||||
<Message ID="UpgradeSuccess">La mise-à-jour s'est faite avec succès.</Message>
|
||||
<Message ID="UpdaterNotFound">Le processus de mise-à-jour ne peut être démarré puisque certains fichiers sont manquants.</Message>
|
||||
|
||||
<Message ID="Net45NotFound">Le .NET Framework 4.5 de Microsoft n'a pas été trouvé. Veuillez télécharger la plus récente version du .NET Framework à partir du site de Microsoft et essayer à nouveau.</Message>
|
||||
</Messages>
|
||||
<Enums>
|
||||
<Enum ID="ControllerType">
|
||||
|
|
|
@ -252,10 +252,8 @@
|
|||
<Control ID="labelCopyright">© 2016 M. Bibaud (aka Sour)</Control>
|
||||
<Control ID="lblWebsite">サイト:</Control>
|
||||
<Control ID="lblLink">www.mesen.ca</Control>
|
||||
<Control ID="labelVersion">バージョン: 0.1.2 (Beta)</Control>
|
||||
<Control ID="labelVersion">バージョン: 0.1.3 (Beta)</Control>
|
||||
<Control ID="okButton">&OK</Control>
|
||||
<Control ID="lblDonate">Mesen est gratuit. Par contre, si vous voulez supporter son dévelopement, cliquez sur le lien ci-dessous pour plus d'information. Thank you!</Control>
|
||||
<Control ID="lnkDonate">Pour plus d'information, cliquez ici.</Control>
|
||||
</Form>
|
||||
</Forms>
|
||||
<Messages>
|
||||
|
@ -292,6 +290,8 @@
|
|||
<Message ID="UpdateDownloadFailed">ダウンロードは失敗しました。 Mesenのサイトに行って、新しいバージョンをダウンロードしてください。</Message>
|
||||
<Message ID="UpdaterNotFound">必要不可欠なファイルがないため、アップデートは出来なかった。</Message>
|
||||
<Message ID="UpgradeSuccess">アップデートは完了しました。</Message>
|
||||
|
||||
<Message ID="Net45NotFound">Microsoft .NET Framework 4.5はインストールされていないため、Mesenは起動できません。Microsoft .NET Frameworkの最新版をMicrosoftのサイトからダウンロードして、インストールしてください。</Message>
|
||||
</Messages>
|
||||
<Enums>
|
||||
<Enum ID="ControllerType">
|
||||
|
|
|
@ -11,7 +11,13 @@ namespace Mesen.GUI.Forms
|
|||
{
|
||||
public static DialogResult Show(string text, MessageBoxButtons buttons, MessageBoxIcon icon, params string[] args)
|
||||
{
|
||||
return MessageBox.Show(ResourceHelper.GetMessage(text, args), "Mesen", buttons, icon);
|
||||
string resourceText = ResourceHelper.GetMessage(text, args);
|
||||
|
||||
if(resourceText.StartsWith("[[")) {
|
||||
return MessageBox.Show(string.Format("Critical error (" + text + ") {0}", args), "Mesen", buttons, icon);
|
||||
} else {
|
||||
return MessageBox.Show(ResourceHelper.GetMessage(text, args), "Mesen", buttons, icon);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,11 @@ namespace Mesen.GUI.Forms
|
|||
return _language;
|
||||
}
|
||||
|
||||
public static void UpdateEmuLanguage()
|
||||
{
|
||||
InteropEmu.SetDisplayLanguage(_language);
|
||||
}
|
||||
|
||||
public static void LoadResources(Language language)
|
||||
{
|
||||
if(language == Language.SystemDefault) {
|
||||
|
@ -53,7 +58,6 @@ namespace Mesen.GUI.Forms
|
|||
}
|
||||
|
||||
_language = language;
|
||||
InteropEmu.SetDisplayLanguage(language);
|
||||
|
||||
using(Stream stream = ResourceManager.GetZippedResource(filename)) {
|
||||
_resources.Load(stream);
|
||||
|
|
46
GUI.NET/Forms/frmAbout.Designer.cs
generated
46
GUI.NET/Forms/frmAbout.Designer.cs
generated
|
@ -36,8 +36,6 @@
|
|||
this.labelVersion = new System.Windows.Forms.Label();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.lblDonate = new System.Windows.Forms.Label();
|
||||
this.lnkDonate = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
|
@ -145,7 +143,7 @@
|
|||
this.labelVersion.Name = "labelVersion";
|
||||
this.labelVersion.Size = new System.Drawing.Size(146, 17);
|
||||
this.labelVersion.TabIndex = 0;
|
||||
this.labelVersion.Text = "Version: 0.1.2 (Beta)";
|
||||
this.labelVersion.Text = "Version: 0.1.3 (Beta)";
|
||||
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// okButton
|
||||
|
@ -158,46 +156,6 @@
|
|||
this.okButton.TabIndex = 24;
|
||||
this.okButton.Text = "&OK";
|
||||
//
|
||||
// flowLayoutPanel2
|
||||
//
|
||||
this.tableLayoutPanel.SetColumnSpan(this.flowLayoutPanel2, 2);
|
||||
this.flowLayoutPanel2.Controls.Add(this.lblDonate);
|
||||
this.flowLayoutPanel2.Controls.Add(this.lnkDonate);
|
||||
this.flowLayoutPanel2.Location = new System.Drawing.Point(0, 81);
|
||||
this.flowLayoutPanel2.Margin = new System.Windows.Forms.Padding(0, 10, 0, 0);
|
||||
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||
this.flowLayoutPanel2.Size = new System.Drawing.Size(337, 1);
|
||||
this.flowLayoutPanel2.TabIndex = 27;
|
||||
//
|
||||
// lblDonate
|
||||
//
|
||||
this.lblDonate.AutoSize = true;
|
||||
this.lblDonate.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblDonate.Location = new System.Drawing.Point(6, 0);
|
||||
this.lblDonate.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.lblDonate.Name = "lblDonate";
|
||||
this.lblDonate.Size = new System.Drawing.Size(330, 48);
|
||||
this.lblDonate.TabIndex = 25;
|
||||
this.lblDonate.Text = "Mesen is free. However, if you would like to show your support, click on the lin" +
|
||||
"k below for more information on how you can donate. Thank you!";
|
||||
this.lblDonate.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.lblDonate.Visible = false;
|
||||
//
|
||||
// lnkDonate
|
||||
//
|
||||
this.lnkDonate.AutoSize = true;
|
||||
this.lnkDonate.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.lnkDonate.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lnkDonate.ForeColor = System.Drawing.Color.Blue;
|
||||
this.lnkDonate.Location = new System.Drawing.Point(20, 50);
|
||||
this.lnkDonate.Margin = new System.Windows.Forms.Padding(20, 2, 3, 0);
|
||||
this.lnkDonate.Name = "lnkDonate";
|
||||
this.lnkDonate.Size = new System.Drawing.Size(157, 13);
|
||||
this.lnkDonate.TabIndex = 26;
|
||||
this.lnkDonate.Text = "For more information, click here.";
|
||||
this.lnkDonate.Visible = false;
|
||||
this.lnkDonate.Click += new System.EventHandler(this.lnkDonate_Click);
|
||||
//
|
||||
// frmAbout
|
||||
//
|
||||
this.AcceptButton = this.okButton;
|
||||
|
@ -236,7 +194,5 @@
|
|||
private System.Windows.Forms.Label lblWebsite;
|
||||
private System.Windows.Forms.Label lblLink;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||
private System.Windows.Forms.Label lblDonate;
|
||||
private System.Windows.Forms.Label lnkDonate;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,10 +20,5 @@ namespace Mesen.GUI.Forms
|
|||
{
|
||||
System.Diagnostics.Process.Start("http://www.mesen.ca");
|
||||
}
|
||||
|
||||
private void lnkDonate_Click(object sender, EventArgs e)
|
||||
{
|
||||
System.Diagnostics.Process.Start("http://www.mesen.ca/index.php#Donate");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,8 +36,6 @@ namespace Mesen.GUI.Forms
|
|||
_romToLoad = args[0];
|
||||
}
|
||||
|
||||
ResourceHelper.LoadResources(ConfigManager.Config.PreferenceInfo.DisplayLanguage);
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
@ -856,6 +854,7 @@ namespace Mesen.GUI.Forms
|
|||
{
|
||||
new frmPreferences().ShowDialog(sender);
|
||||
ResourceHelper.LoadResources(ConfigManager.Config.PreferenceInfo.DisplayLanguage);
|
||||
ResourceHelper.UpdateEmuLanguage();
|
||||
ResourceHelper.ApplyResources(this);
|
||||
UpdateMenus();
|
||||
InitializeFdsDiskMenu();
|
||||
|
|
|
@ -567,6 +567,12 @@
|
|||
<None Include="Dependencies\Font.64.spritefont">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Dependencies\MSVCx64.zip">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Dependencies\MSVCx86.zip">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
|
|
@ -43,12 +43,20 @@ namespace Mesen.GUI
|
|||
|
||||
Directory.CreateDirectory(ConfigManager.HomeFolder);
|
||||
Directory.SetCurrentDirectory(ConfigManager.HomeFolder);
|
||||
ResourceManager.ExtractResources();
|
||||
ResourceHelper.LoadResources(ConfigManager.Config.PreferenceInfo.DisplayLanguage);
|
||||
try {
|
||||
ResourceManager.ExtractResources();
|
||||
} catch {
|
||||
MesenMsgBox.Show("Net45NotFound", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!RuntimeChecker.TestDll()) {
|
||||
return;
|
||||
}
|
||||
|
||||
ResourceHelper.UpdateEmuLanguage();
|
||||
|
||||
Guid guid = new Guid("{A46606B7-2D1C-4CC5-A52F-43BCAF094AED}");
|
||||
using(SingleInstance singleInstance = new SingleInstance(guid)) {
|
||||
if(singleInstance.FirstInstance || !Config.ConfigManager.Config.PreferenceInfo.SingleInstance) {
|
||||
|
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// 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("0.1.2.0")]
|
||||
[assembly: AssemblyFileVersion("0.1.2.0")]
|
||||
[assembly: AssemblyVersion("0.1.3.0")]
|
||||
[assembly: AssemblyFileVersion("0.1.3.0")]
|
||||
|
|
|
@ -55,13 +55,24 @@ namespace Mesen.GUI
|
|||
public static void ExtractResources()
|
||||
{
|
||||
Directory.CreateDirectory(Path.Combine(ConfigManager.HomeFolder, "Resources"));
|
||||
Directory.CreateDirectory(Path.Combine(ConfigManager.HomeFolder, "WinMesen"));
|
||||
|
||||
ZipArchive zip = new ZipArchive(Assembly.GetExecutingAssembly().GetManifestResourceStream("Mesen.GUI.Dependencies.Dependencies.zip"));
|
||||
|
||||
//Extract all needed files
|
||||
string suffix = IntPtr.Size == 4 ? ".x86" : ".x64";
|
||||
foreach(ZipArchiveEntry entry in zip.Entries) {
|
||||
if(entry.Name.Contains(suffix) || entry.Name == "MesenUpdater.exe") {
|
||||
if(entry.Name == "MSVCx64.zip" && IntPtr.Size == 8 || entry.Name == "MSVCx86.zip" && IntPtr.Size == 4) {
|
||||
using(Stream stream = entry.Open()) {
|
||||
ZipArchive msvcZip = new ZipArchive(stream);
|
||||
foreach(ZipArchiveEntry msvcEntry in msvcZip.Entries) {
|
||||
ExtractFile(msvcEntry, Path.Combine(ConfigManager.HomeFolder, "WinMesen", msvcEntry.Name));
|
||||
}
|
||||
}
|
||||
} else if(entry.Name.Contains(suffix)) {
|
||||
string outputFilename = Path.Combine(ConfigManager.HomeFolder, "WinMesen", entry.Name.Replace(suffix, ""));
|
||||
ExtractFile(entry, outputFilename);
|
||||
} else if(entry.Name == "MesenUpdater.exe") {
|
||||
string outputFilename = Path.Combine(ConfigManager.HomeFolder, entry.Name.Replace(suffix, ""));
|
||||
ExtractFile(entry, outputFilename);
|
||||
} else if(entry.Name == "Font.24.spritefont" || entry.Name == "Font.64.spritefont" || entry.Name == "LICENSE.txt") {
|
||||
|
|
|
@ -7,6 +7,7 @@ using System.Net;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Mesen.GUI.Config;
|
||||
using Mesen.GUI.Forms;
|
||||
|
||||
namespace Mesen.GUI
|
||||
|
@ -16,8 +17,12 @@ namespace Mesen.GUI
|
|||
public static bool TestDll()
|
||||
{
|
||||
try {
|
||||
Directory.SetCurrentDirectory(Path.Combine(ConfigManager.HomeFolder, "WinMesen"));
|
||||
return InteropEmu.TestDll();
|
||||
} catch { }
|
||||
} catch {
|
||||
} finally {
|
||||
Directory.SetCurrentDirectory(Path.Combine(ConfigManager.HomeFolder));
|
||||
}
|
||||
|
||||
if(!File.Exists("WinMesen.dll")) {
|
||||
MesenMsgBox.Show("UnableToStartMissingFiles", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
|
|
BIN
NES.VC.db
Normal file
BIN
NES.VC.db
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue