Option to pick the lua core in the customize dialog

This commit is contained in:
adelikat 2017-07-13 21:05:02 -05:00
parent 4a33ed219c
commit 9efa5a01b0
3 changed files with 459 additions and 402 deletions

View File

@ -133,7 +133,7 @@ namespace BizHawk.Client.Common
public string Update_LatestVersion = ""; public string Update_LatestVersion = "";
public string Update_IgnoreVersion = ""; public string Update_IgnoreVersion = "";
public bool CDLAutoSave = true, CDLAutoStart = true; public bool CDLAutoSave = true, CDLAutoStart = true;
public bool UseNLua = true; // Whether or not to use a good, reliable, memory-leak-free lua interface that is slower than the original luainterface
////public bool TurboSeek = true; // When PauseOnFrame is set, this will decide whether the client goes into turbo mode or not ////public bool TurboSeek = true; // When PauseOnFrame is set, this will decide whether the client goes into turbo mode or not
private bool _turboSeek; private bool _turboSeek;

View File

@ -62,16 +62,21 @@
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
this.LogWindowAsConsoleCheckbox = new System.Windows.Forms.CheckBox(); this.LogWindowAsConsoleCheckbox = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.NLuaRadio = new System.Windows.Forms.RadioButton();
this.LuaInterfaceRadio = new System.Windows.Forms.RadioButton();
this.label7 = new System.Windows.Forms.Label();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.tabPage3.SuspendLayout(); this.tabPage3.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// OkBtn // OkBtn
// //
this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.OkBtn.Location = new System.Drawing.Point(280, 372); this.OkBtn.Location = new System.Drawing.Point(280, 425);
this.OkBtn.Name = "OkBtn"; this.OkBtn.Name = "OkBtn";
this.OkBtn.Size = new System.Drawing.Size(60, 23); this.OkBtn.Size = new System.Drawing.Size(60, 23);
this.OkBtn.TabIndex = 0; this.OkBtn.TabIndex = 0;
@ -83,7 +88,7 @@
// //
this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CancelBtn.Location = new System.Drawing.Point(346, 372); this.CancelBtn.Location = new System.Drawing.Point(346, 425);
this.CancelBtn.Name = "CancelBtn"; this.CancelBtn.Name = "CancelBtn";
this.CancelBtn.Size = new System.Drawing.Size(60, 23); this.CancelBtn.Size = new System.Drawing.Size(60, 23);
this.CancelBtn.TabIndex = 1; this.CancelBtn.TabIndex = 1;
@ -101,7 +106,7 @@
this.tabControl1.Location = new System.Drawing.Point(12, 12); this.tabControl1.Location = new System.Drawing.Point(12, 12);
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(394, 349); this.tabControl1.Size = new System.Drawing.Size(394, 402);
this.tabControl1.TabIndex = 2; this.tabControl1.TabIndex = 2;
// //
// tabPage1 // tabPage1
@ -118,7 +123,7 @@
this.tabPage1.Location = new System.Drawing.Point(4, 22); this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(386, 323); this.tabPage1.Size = new System.Drawing.Size(386, 368);
this.tabPage1.TabIndex = 0; this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "General"; this.tabPage1.Text = "General";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.UseVisualStyleBackColor = true;
@ -130,7 +135,7 @@
this.groupBox1.Controls.Add(this.StartFullScreenCheckbox); this.groupBox1.Controls.Add(this.StartFullScreenCheckbox);
this.groupBox1.Controls.Add(this.label3); this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.SingleInstanceModeCheckbox); this.groupBox1.Controls.Add(this.SingleInstanceModeCheckbox);
this.groupBox1.Location = new System.Drawing.Point(6, 177); this.groupBox1.Location = new System.Drawing.Point(6, 182);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(369, 140); this.groupBox1.Size = new System.Drawing.Size(369, 140);
this.groupBox1.TabIndex = 13; this.groupBox1.TabIndex = 13;
@ -265,6 +270,7 @@
// //
// tabPage3 // tabPage3
// //
this.tabPage3.Controls.Add(this.panel1);
this.tabPage3.Controls.Add(this.label6); this.tabPage3.Controls.Add(this.label6);
this.tabPage3.Controls.Add(this.cbMoviesInAWE); this.tabPage3.Controls.Add(this.cbMoviesInAWE);
this.tabPage3.Controls.Add(this.label5); this.tabPage3.Controls.Add(this.label5);
@ -280,7 +286,7 @@
this.tabPage3.Controls.Add(this.LogWindowAsConsoleCheckbox); this.tabPage3.Controls.Add(this.LogWindowAsConsoleCheckbox);
this.tabPage3.Location = new System.Drawing.Point(4, 22); this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Name = "tabPage3"; this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(386, 323); this.tabPage3.Size = new System.Drawing.Size(386, 376);
this.tabPage3.TabIndex = 2; this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "Advanced"; this.tabPage3.Text = "Advanced";
this.tabPage3.UseVisualStyleBackColor = true; this.tabPage3.UseVisualStyleBackColor = true;
@ -411,13 +417,54 @@
this.LogWindowAsConsoleCheckbox.Text = "Create the log window as a console window"; this.LogWindowAsConsoleCheckbox.Text = "Create the log window as a console window";
this.LogWindowAsConsoleCheckbox.UseVisualStyleBackColor = true; this.LogWindowAsConsoleCheckbox.UseVisualStyleBackColor = true;
// //
// panel1
//
this.panel1.Controls.Add(this.label7);
this.panel1.Controls.Add(this.LuaInterfaceRadio);
this.panel1.Controls.Add(this.NLuaRadio);
this.panel1.Location = new System.Drawing.Point(6, 312);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(377, 61);
this.panel1.TabIndex = 20;
//
// NLuaRadio
//
this.NLuaRadio.AutoSize = true;
this.NLuaRadio.Location = new System.Drawing.Point(4, 17);
this.NLuaRadio.Name = "NLuaRadio";
this.NLuaRadio.Size = new System.Drawing.Size(194, 17);
this.NLuaRadio.TabIndex = 0;
this.NLuaRadio.TabStop = true;
this.NLuaRadio.Text = "NLua+KopiLua - Reliable but slower";
this.NLuaRadio.UseVisualStyleBackColor = true;
//
// LuaInterfaceRadio
//
this.LuaInterfaceRadio.AutoSize = true;
this.LuaInterfaceRadio.Location = new System.Drawing.Point(4, 36);
this.LuaInterfaceRadio.Name = "LuaInterfaceRadio";
this.LuaInterfaceRadio.Size = new System.Drawing.Size(338, 17);
this.LuaInterfaceRadio.TabIndex = 1;
this.LuaInterfaceRadio.TabStop = true;
this.LuaInterfaceRadio.Text = "Lua+LuaInterface - Faster but memory leaks, use at your own risk!";
this.LuaInterfaceRadio.UseVisualStyleBackColor = true;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(3, 1);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(50, 13);
this.label7.TabIndex = 2;
this.label7.Text = "Lua Core";
//
// EmuHawkOptions // EmuHawkOptions
// //
this.AcceptButton = this.OkBtn; this.AcceptButton = this.OkBtn;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.CancelBtn; this.CancelButton = this.CancelBtn;
this.ClientSize = new System.Drawing.Size(418, 402); this.ClientSize = new System.Drawing.Size(418, 455);
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
this.Controls.Add(this.CancelBtn); this.Controls.Add(this.CancelBtn);
this.Controls.Add(this.OkBtn); this.Controls.Add(this.OkBtn);
@ -433,6 +480,8 @@
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();
this.tabPage3.ResumeLayout(false); this.tabPage3.ResumeLayout(false);
this.tabPage3.PerformLayout(); this.tabPage3.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -472,5 +521,9 @@
private System.Windows.Forms.CheckBox cbMoviesOnDisk; private System.Windows.Forms.CheckBox cbMoviesOnDisk;
private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label6;
private System.Windows.Forms.CheckBox cbMoviesInAWE; private System.Windows.Forms.CheckBox cbMoviesInAWE;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.RadioButton LuaInterfaceRadio;
private System.Windows.Forms.RadioButton NLuaRadio;
} }
} }

View File

@ -31,6 +31,9 @@ namespace BizHawk.Client.EmuHawk
cbMoviesOnDisk.Checked = Global.Config.MoviesOnDisk; cbMoviesOnDisk.Checked = Global.Config.MoviesOnDisk;
cbMoviesInAWE.Checked = Global.Config.MoviesInAWE; cbMoviesInAWE.Checked = Global.Config.MoviesInAWE;
NLuaRadio.Checked = Global.Config.UseNLua;
LuaInterfaceRadio.Checked = !Global.Config.UseNLua;
if (LogConsole.ConsoleVisible) if (LogConsole.ConsoleVisible)
{ {
LogWindowAsConsoleCheckbox.Enabled = false; LogWindowAsConsoleCheckbox.Enabled = false;
@ -58,6 +61,7 @@ namespace BizHawk.Client.EmuHawk
Global.Config.RunLuaDuringTurbo = LuaDuringTurboCheckbox.Checked; Global.Config.RunLuaDuringTurbo = LuaDuringTurboCheckbox.Checked;
Global.Config.MoviesOnDisk = cbMoviesOnDisk.Checked; Global.Config.MoviesOnDisk = cbMoviesOnDisk.Checked;
Global.Config.MoviesInAWE = cbMoviesInAWE.Checked; Global.Config.MoviesInAWE = cbMoviesInAWE.Checked;
Global.Config.UseNLua = NLuaRadio.Checked;
Close(); Close();
DialogResult = DialogResult.OK; DialogResult = DialogResult.OK;