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_IgnoreVersion = "";
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
private bool _turboSeek;

View File

@ -62,16 +62,21 @@
this.label4 = new System.Windows.Forms.Label();
this.LogWindowAsConsoleCheckbox = new System.Windows.Forms.CheckBox();
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.tabPage1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.tabPage3.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// OkBtn
//
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.Size = new System.Drawing.Size(60, 23);
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.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.Size = new System.Drawing.Size(60, 23);
this.CancelBtn.TabIndex = 1;
@ -101,7 +106,7 @@
this.tabControl1.Location = new System.Drawing.Point(12, 12);
this.tabControl1.Name = "tabControl1";
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;
//
// tabPage1
@ -118,7 +123,7 @@
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
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.Text = "General";
this.tabPage1.UseVisualStyleBackColor = true;
@ -130,7 +135,7 @@
this.groupBox1.Controls.Add(this.StartFullScreenCheckbox);
this.groupBox1.Controls.Add(this.label3);
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.Size = new System.Drawing.Size(369, 140);
this.groupBox1.TabIndex = 13;
@ -265,6 +270,7 @@
//
// tabPage3
//
this.tabPage3.Controls.Add(this.panel1);
this.tabPage3.Controls.Add(this.label6);
this.tabPage3.Controls.Add(this.cbMoviesInAWE);
this.tabPage3.Controls.Add(this.label5);
@ -280,7 +286,7 @@
this.tabPage3.Controls.Add(this.LogWindowAsConsoleCheckbox);
this.tabPage3.Location = new System.Drawing.Point(4, 22);
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.Text = "Advanced";
this.tabPage3.UseVisualStyleBackColor = true;
@ -411,13 +417,54 @@
this.LogWindowAsConsoleCheckbox.Text = "Create the log window as a console window";
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
//
this.AcceptButton = this.OkBtn;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
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.CancelBtn);
this.Controls.Add(this.OkBtn);
@ -433,6 +480,8 @@
this.groupBox1.PerformLayout();
this.tabPage3.ResumeLayout(false);
this.tabPage3.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
@ -472,5 +521,9 @@
private System.Windows.Forms.CheckBox cbMoviesOnDisk;
private System.Windows.Forms.Label label6;
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;
cbMoviesInAWE.Checked = Global.Config.MoviesInAWE;
NLuaRadio.Checked = Global.Config.UseNLua;
LuaInterfaceRadio.Checked = !Global.Config.UseNLua;
if (LogConsole.ConsoleVisible)
{
LogWindowAsConsoleCheckbox.Enabled = false;
@ -58,6 +61,7 @@ namespace BizHawk.Client.EmuHawk
Global.Config.RunLuaDuringTurbo = LuaDuringTurboCheckbox.Checked;
Global.Config.MoviesOnDisk = cbMoviesOnDisk.Checked;
Global.Config.MoviesInAWE = cbMoviesInAWE.Checked;
Global.Config.UseNLua = NLuaRadio.Checked;
Close();
DialogResult = DialogResult.OK;