Version Update: 0.1.3

-Fixed a number of startup bugs
-Packaged MSVC DLLs
This commit is contained in:
Souryo 2016-05-02 20:22:17 -04:00
parent 93b0faa2a6
commit db9d88e582
19 changed files with 60 additions and 70 deletions

1
.gitignore vendored
View file

@ -158,7 +158,6 @@ $RECYCLE.BIN/
*.sav
*.svs
*.trt
*.zip
*.rar
*.VC.opendb

View file

@ -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;

View file

@ -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()

Binary file not shown.

Binary file not shown.

View file

@ -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">

View file

@ -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">&amp;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">

View file

@ -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">&amp;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">

View file

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

View file

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

View file

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

View file

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

View file

@ -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();

View file

@ -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>

View file

@ -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) {

View file

@ -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")]

View file

@ -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") {

View file

@ -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

Binary file not shown.