From 549a899a4d3c9295216a68b3541e145b79d11142 Mon Sep 17 00:00:00 2001 From: Bitl Date: Fri, 17 Jul 2020 13:33:00 -0700 Subject: [PATCH] added new setting for 2009e --- Novetus/NovetusCore/Classes/Settings.cs | 8 +- .../SDK/Forms/ClientinfoCreator.Designer.cs | 104 +- .../SDK/Forms/ClientinfoCreator.cs | 949 +++++++++--------- .../StorageAndFunctions/GlobalFuncs.cs | 12 +- .../Compact/LauncherFormCompact.cs | 6 +- .../Extended/LauncherFormExtended.cs | 6 +- 6 files changed, 569 insertions(+), 516 deletions(-) diff --git a/Novetus/NovetusCore/Classes/Settings.cs b/Novetus/NovetusCore/Classes/Settings.cs index 6067b8c..cbade21 100644 --- a/Novetus/NovetusCore/Classes/Settings.cs +++ b/Novetus/NovetusCore/Classes/Settings.cs @@ -34,7 +34,8 @@ public class Settings Client_2008AndUp_QualityLevel21 = 4, Client_2008AndUp_NoGraphicsOptions = 5, Client_2008AndUp_ForceAutomatic = 6, - Client_2008AndUp_ForceAutomaticQL21 = 7 + Client_2008AndUp_ForceAutomaticQL21 = 7, + Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL = 8 } public static Mode GetModeForInt(int level) @@ -121,6 +122,8 @@ public class Settings return ClientLoadOptions.Client_2008AndUp_ForceAutomatic; case 7: return ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21; + case 8: + return ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL; default: return ClientLoadOptions.Client_2007_NoGraphicsOptions; } @@ -155,6 +158,8 @@ public class Settings return 6; case ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21: return 7; + case ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL: + return 8; default: return 0; } @@ -182,6 +187,7 @@ public class Settings case ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions: case ClientLoadOptions.Client_2008AndUp_ForceAutomatic: case ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21: + case ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL: case ClientLoadOptions.Client_2008AndUp: return localAppdataRobloxPath; default: diff --git a/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.Designer.cs b/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.Designer.cs index 9a63a85..df91148 100644 --- a/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.Designer.cs +++ b/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.Designer.cs @@ -148,6 +148,7 @@ partial class ClientinfoEditor this.label8 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.label10 = new System.Windows.Forms.Label(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // @@ -155,19 +156,19 @@ partial class ClientinfoEditor // this.checkBox1.Location = new System.Drawing.Point(10, 50); this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(210, 24); + this.checkBox1.Size = new System.Drawing.Size(98, 24); this.checkBox1.TabIndex = 0; - this.checkBox1.Text = "Allows players to set custom names"; + this.checkBox1.Text = "Custom Names"; this.checkBox1.UseVisualStyleBackColor = true; this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged); // // checkBox2 // - this.checkBox2.Location = new System.Drawing.Point(10, 70); + this.checkBox2.Location = new System.Drawing.Point(114, 52); this.checkBox2.Name = "checkBox2"; - this.checkBox2.Size = new System.Drawing.Size(210, 20); + this.checkBox2.Size = new System.Drawing.Size(117, 20); this.checkBox2.TabIndex = 1; - this.checkBox2.Text = "Allows the launcher to set custom IDs"; + this.checkBox2.Text = "Custom Player IDs"; this.checkBox2.UseVisualStyleBackColor = true; this.checkBox2.CheckedChanged += new System.EventHandler(this.CheckBox2CheckedChanged); // @@ -183,11 +184,12 @@ partial class ClientinfoEditor // // label1 // - this.label1.Location = new System.Drawing.Point(10, 168); + this.label1.Location = new System.Drawing.Point(8, 168); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(92, 16); + this.label1.Size = new System.Drawing.Size(281, 16); this.label1.TabIndex = 5; this.label1.Text = "Client Description"; + this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // label2 // @@ -199,11 +201,11 @@ partial class ClientinfoEditor // // checkBox3 // - this.checkBox3.Location = new System.Drawing.Point(10, 88); + this.checkBox3.Location = new System.Drawing.Point(10, 70); this.checkBox3.Name = "checkBox3"; - this.checkBox3.Size = new System.Drawing.Size(211, 20); + this.checkBox3.Size = new System.Drawing.Size(262, 20); this.checkBox3.TabIndex = 13; - this.checkBox3.Text = "Client uses a single EXE to run"; + this.checkBox3.Text = "Legacy Mode (uses one EXE file, RobloxApp.exe)"; this.checkBox3.UseVisualStyleBackColor = true; this.checkBox3.CheckedChanged += new System.EventHandler(this.CheckBox3CheckedChanged); // @@ -211,9 +213,10 @@ partial class ClientinfoEditor // this.label3.Location = new System.Drawing.Point(309, 34); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(92, 13); + this.label3.Size = new System.Drawing.Size(311, 13); this.label3.TabIndex = 14; this.label3.Text = "Client EXE MD5"; + this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // textBox2 // @@ -238,44 +241,47 @@ partial class ClientinfoEditor // this.label4.Location = new System.Drawing.Point(309, 73); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(92, 13); + this.label4.Size = new System.Drawing.Size(311, 13); this.label4.TabIndex = 17; this.label4.Text = "Client Script MD5"; + this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // button4 // - this.button4.Location = new System.Drawing.Point(309, 122); + this.button4.Location = new System.Drawing.Point(383, 115); this.button4.Name = "button4"; - this.button4.Size = new System.Drawing.Size(312, 29); + this.button4.Size = new System.Drawing.Size(168, 29); this.button4.TabIndex = 18; - this.button4.Text = "Get MD5s from client directory"; + this.button4.Text = "Load MD5s from client directory"; this.button4.UseVisualStyleBackColor = true; this.button4.Click += new System.EventHandler(this.Button4Click); // // checkBox4 // - this.checkBox4.Location = new System.Drawing.Point(237, 50); + this.checkBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.checkBox4.ForeColor = System.Drawing.Color.Red; + this.checkBox4.Location = new System.Drawing.Point(445, 330); this.checkBox4.Name = "checkBox4"; - this.checkBox4.Size = new System.Drawing.Size(50, 24); + this.checkBox4.Size = new System.Drawing.Size(187, 19); this.checkBox4.TabIndex = 19; - this.checkBox4.Text = "Lock"; + this.checkBox4.Text = "Lock Client (prevent editing)"; this.checkBox4.UseVisualStyleBackColor = true; this.checkBox4.Visible = false; this.checkBox4.CheckedChanged += new System.EventHandler(this.CheckBox4CheckedChanged); // // checkBox6 // - this.checkBox6.Location = new System.Drawing.Point(10, 106); + this.checkBox6.Location = new System.Drawing.Point(10, 88); this.checkBox6.Name = "checkBox6"; this.checkBox6.Size = new System.Drawing.Size(262, 21); this.checkBox6.TabIndex = 20; - this.checkBox6.Text = "Fix Scripts and Map Loading for 2007-Early 2008"; + this.checkBox6.Text = "Fix scripts and map loading for 2007-Early 2008"; this.checkBox6.UseVisualStyleBackColor = true; this.checkBox6.CheckedChanged += new System.EventHandler(this.CheckBox6CheckedChanged); // // checkBox7 // - this.checkBox7.Location = new System.Drawing.Point(10, 123); + this.checkBox7.Location = new System.Drawing.Point(10, 106); this.checkBox7.Name = "checkBox7"; this.checkBox7.Size = new System.Drawing.Size(262, 22); this.checkBox7.TabIndex = 21; @@ -291,7 +297,7 @@ partial class ClientinfoEditor this.addToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(632, 24); + this.menuStrip1.Size = new System.Drawing.Size(632, 22); this.menuStrip1.TabIndex = 22; this.menuStrip1.Text = "menuStrip1"; // @@ -1011,9 +1017,10 @@ partial class ClientinfoEditor // this.label5.Location = new System.Drawing.Point(309, 154); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(229, 16); + this.label5.Size = new System.Drawing.Size(311, 16); this.label5.TabIndex = 24; this.label5.Text = "Client Command Arguments (Uses ClientScript)"; + this.label5.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // label6 // @@ -1026,6 +1033,8 @@ partial class ClientinfoEditor // // textBox5 // + this.textBox5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.textBox5.ForeColor = System.Drawing.Color.Red; this.textBox5.Location = new System.Drawing.Point(10, 269); this.textBox5.Multiline = true; this.textBox5.Name = "textBox5"; @@ -1036,16 +1045,19 @@ partial class ClientinfoEditor // // label7 // - this.label7.Location = new System.Drawing.Point(10, 250); + this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label7.ForeColor = System.Drawing.Color.Red; + this.label7.Location = new System.Drawing.Point(7, 250); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(100, 16); + this.label7.Size = new System.Drawing.Size(282, 16); this.label7.TabIndex = 28; - this.label7.Text = "Warning (if needed)"; + this.label7.Text = "Warning (If needed. Displays in bold red)"; + this.label7.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(466, 5); + this.label8.Location = new System.Drawing.Point(8, 332); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(92, 13); this.label8.TabIndex = 29; @@ -1054,7 +1066,7 @@ partial class ClientinfoEditor // label9 // this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(559, 5); + this.label9.Location = new System.Drawing.Point(101, 332); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(63, 13); this.label9.TabIndex = 30; @@ -1062,29 +1074,44 @@ partial class ClientinfoEditor // // comboBox1 // - this.comboBox1.DropDownWidth = 350; + this.comboBox1.DropDownWidth = 650; this.comboBox1.FormattingEnabled = true; this.comboBox1.Items.AddRange(new object[] { - "No Graphics Mode (2007 Only)", - "Use Graphics Mode (2007-Early 2008 Only)", - "Use Graphics Mode (Mid 2008+ Only)", - "Use Graphics Mode (Mid 2008+ Only, Force Legacy OpenGL)", - "Use Graphics Mode (Mid 2008+ Only, Uses Quality Level 21)", - "No Graphics Mode (Mid 2008+ Only)", - "Force Automatic Graphics Mode (Mid 2008+ Only)", - "Force Automatic Graphics Mode (Mid 2008+ Only, Uses Quality Level 21)"}); + "Don\'t use the graphics mode option. (2007 Only)", + "Use the graphics mode option. (2007-Early 2008 Only)", + "Use the graphics mode option. (Mid 2008+ Only)", + "Use the graphics mode option. Force OpenGL Legacy to be enabled. (Mid 2008+ Only)" + + "", + "Use the graphics mode option. Use quality level 21 as the maximum quality level. " + + "(Mid 2008+ Only)", + "Don\'t use the graphics mode option. (Mid 2008+ Only)", + "Force the Automatic graphics mode option. (Mid 2008+ Only)", + "Force the Automatic graphics mode option. Use quality level 21 as the maximum qua" + + "lity level. (Mid 2008+ Only)", + "Use the graphics mode option. Force OpenGL Legacy to be enabled. Use character-on" + + "ly shadows when possible. (Mid 2008+ Only)"}); this.comboBox1.Location = new System.Drawing.Point(10, 144); this.comboBox1.Name = "comboBox1"; this.comboBox1.Size = new System.Drawing.Size(279, 21); this.comboBox1.TabIndex = 32; this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(8, 128); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(138, 13); + this.label10.TabIndex = 33; + this.label10.Text = "When applying the settings:"; + // // ClientinfoEditor // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.ClientSize = new System.Drawing.Size(632, 336); + this.ClientSize = new System.Drawing.Size(632, 351); + this.Controls.Add(this.label10); this.Controls.Add(this.comboBox1); this.Controls.Add(this.label9); this.Controls.Add(this.label8); @@ -1232,4 +1259,5 @@ partial class ClientinfoEditor private System.Windows.Forms.ToolStripMenuItem sharedToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem versionToolStripMenuItem; private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.Label label10; } diff --git a/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.cs b/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.cs index 1190c03..ccc4006 100644 --- a/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.cs +++ b/Novetus/NovetusCore/SDK/Forms/ClientinfoCreator.cs @@ -6,520 +6,531 @@ using System.Globalization; #endregion #region Client SDK - public partial class ClientinfoEditor : Form +public partial class ClientinfoEditor : Form +{ + #region Private Variables + private FileFormat.ClientInfo SelectedClientInfo = new FileFormat.ClientInfo(); + private string SelectedClientInfoPath = ""; + private bool Locked = false; + #endregion + + #region Constructor + public ClientinfoEditor() { - #region Private Variables - private FileFormat.ClientInfo SelectedClientInfo = new FileFormat.ClientInfo(); - private string SelectedClientInfoPath = ""; - private bool Locked = false; - #endregion + InitializeComponent(); + } + #endregion - #region Constructor - public ClientinfoEditor() - { - InitializeComponent(); - } - #endregion - - #region Form Events - void CheckBox1CheckedChanged(object sender, EventArgs e) - { - SelectedClientInfo.UsesPlayerName = checkBox1.Checked; - } + #region Form Events + void CheckBox1CheckedChanged(object sender, EventArgs e) + { + SelectedClientInfo.UsesPlayerName = checkBox1.Checked; + } - void CheckBox2CheckedChanged(object sender, EventArgs e) - { - SelectedClientInfo.UsesID = checkBox2.Checked; - } + void CheckBox2CheckedChanged(object sender, EventArgs e) + { + SelectedClientInfo.UsesID = checkBox2.Checked; + } - void TextBox1TextChanged(object sender, EventArgs e) - { - SelectedClientInfo.Description = textBox1.Text; - } + void TextBox1TextChanged(object sender, EventArgs e) + { + SelectedClientInfo.Description = textBox1.Text; + } - void ClientinfoCreatorLoad(object sender, EventArgs e) - { - checkBox4.Visible = GlobalVars.AdminMode; - NewClientInfo(); - } + void ClientinfoCreatorLoad(object sender, EventArgs e) + { + checkBox4.Visible = GlobalVars.AdminMode; + NewClientInfo(); + } - void CheckBox3CheckedChanged(object sender, EventArgs e) - { - SelectedClientInfo.LegacyMode = checkBox3.Checked; - } + void CheckBox3CheckedChanged(object sender, EventArgs e) + { + SelectedClientInfo.LegacyMode = checkBox3.Checked; + } - void TextBox2TextChanged(object sender, EventArgs e) + void TextBox2TextChanged(object sender, EventArgs e) + { + textBox2.Text = textBox2.Text.ToUpper(CultureInfo.InvariantCulture); + SelectedClientInfo.ClientMD5 = textBox2.Text.ToUpper(CultureInfo.InvariantCulture); + } + + void TextBox3TextChanged(object sender, EventArgs e) + { + textBox3.Text = textBox3.Text.ToUpper(CultureInfo.InvariantCulture); + SelectedClientInfo.ScriptMD5 = textBox3.Text.ToUpper(CultureInfo.InvariantCulture); + } + + void Button4Click(object sender, EventArgs e) + { + if (string.IsNullOrWhiteSpace(SelectedClientInfoPath)) { - textBox2.Text = textBox2.Text.ToUpper(CultureInfo.InvariantCulture); + FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog(); + if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) + { + SelectedClientInfoPath = folderBrowserDialog1.SelectedPath; + } + } + + string ClientName = ""; + + if (!SelectedClientInfo.LegacyMode) + { + ClientName = "\\RobloxApp_client.exe"; + } + else + { + ClientName = "\\RobloxApp.exe"; + } + + string ClientMD5 = File.Exists(SelectedClientInfoPath + ClientName) ? SecurityFuncs.GenerateMD5(SelectedClientInfoPath + ClientName) : ""; + + if (!string.IsNullOrWhiteSpace(ClientMD5)) + { + textBox2.Text = ClientMD5.ToUpper(CultureInfo.InvariantCulture); + textBox2.BackColor = System.Drawing.Color.Lime; SelectedClientInfo.ClientMD5 = textBox2.Text.ToUpper(CultureInfo.InvariantCulture); - } - - void TextBox3TextChanged(object sender, EventArgs e) - { - textBox3.Text = textBox3.Text.ToUpper(CultureInfo.InvariantCulture); + } + else + { + MessageBox.Show("Cannot load '" + ClientName.Trim('/') + "'. Please make sure you selected the directory","Novetus Launcher - Error while generating MD5 for client", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + string ClientScriptMD5 = File.Exists(SelectedClientInfoPath + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua") ? SecurityFuncs.GenerateMD5(SelectedClientInfoPath + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua") : ""; + + if (!string.IsNullOrWhiteSpace(ClientScriptMD5)) + { + textBox3.Text = ClientScriptMD5.ToUpper(CultureInfo.InvariantCulture); + textBox3.BackColor = System.Drawing.Color.Lime; SelectedClientInfo.ScriptMD5 = textBox3.Text.ToUpper(CultureInfo.InvariantCulture); } + else + { + MessageBox.Show("Cannot load '" + GlobalPaths.ScriptName + ".lua'. Please make sure you selected the directory","Novetus Launcher - Error while generating MD5 for script", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + MessageBox.Show("MD5s generated.","Novetus Launcher - Novetus Client SDK", MessageBoxButtons.OK, MessageBoxIcon.Information); + } - void Button4Click(object sender, EventArgs e) + void CheckBox4CheckedChanged(object sender, EventArgs e) + { + if (checkBox4.Checked == true) { - if (string.IsNullOrWhiteSpace(SelectedClientInfoPath)) + Locked = true; + } + else if (checkBox4.Checked == false && Locked == true) + { + Locked = true; + } + } + + void CheckBox6CheckedChanged(object sender, EventArgs e) + { + SelectedClientInfo.Fix2007 = checkBox6.Checked; + } + + void CheckBox7CheckedChanged(object sender, EventArgs e) + { + SelectedClientInfo.AlreadyHasSecurity = checkBox7.Checked; + } + + void NewToolStripMenuItemClick(object sender, EventArgs e) + { + label9.Text = "Not Loaded"; + NewClientInfo(); + } + + void LoadToolStripMenuItemClick(object sender, EventArgs e) + { + bool IsVersion2 = false; + + using (var ofd = new OpenFileDialog()) + { + ofd.Filter = "Novetus Clientinfo files (*.nov)|*.nov"; + ofd.FilterIndex = 1; + ofd.FileName = "clientinfo.nov"; + ofd.Title = "Load clientinfo.nov"; + if (ofd.ShowDialog() == DialogResult.OK) { - FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog(); - if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) + string file, usesplayername, usesid, warning, legacymode, clientmd5, + scriptmd5, desc, locked, fix2007, alreadyhassecurity, + cmdargsorclientoptions, commandargsver2; + + using (StreamReader reader = new StreamReader(ofd.FileName)) { - SelectedClientInfoPath = folderBrowserDialog1.SelectedPath; + file = reader.ReadLine(); } - } - - string ClientName = ""; - - if (!SelectedClientInfo.LegacyMode) - { - ClientName = "\\RobloxApp_client.exe"; - } - else - { - ClientName = "\\RobloxApp.exe"; - } - - string ClientMD5 = File.Exists(SelectedClientInfoPath + ClientName) ? SecurityFuncs.GenerateMD5(SelectedClientInfoPath + ClientName) : ""; - - if (!string.IsNullOrWhiteSpace(ClientMD5)) - { - textBox2.Text = ClientMD5.ToUpper(CultureInfo.InvariantCulture); - textBox2.BackColor = System.Drawing.Color.Lime; - SelectedClientInfo.ClientMD5 = textBox2.Text.ToUpper(CultureInfo.InvariantCulture); - } - else - { - MessageBox.Show("Cannot load '" + ClientName.Trim('/') + "'. Please make sure you selected the directory","Novetus Launcher - Error while generating MD5 for client", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - - string ClientScriptMD5 = File.Exists(SelectedClientInfoPath + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua") ? SecurityFuncs.GenerateMD5(SelectedClientInfoPath + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua") : ""; - - if (!string.IsNullOrWhiteSpace(ClientScriptMD5)) - { - textBox3.Text = ClientScriptMD5.ToUpper(CultureInfo.InvariantCulture); - textBox3.BackColor = System.Drawing.Color.Lime; - SelectedClientInfo.ScriptMD5 = textBox3.Text.ToUpper(CultureInfo.InvariantCulture); - } - else - { - MessageBox.Show("Cannot load '" + GlobalPaths.ScriptName + ".lua'. Please make sure you selected the directory","Novetus Launcher - Error while generating MD5 for script", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - - MessageBox.Show("MD5s generated.","Novetus Launcher - Novetus Client SDK", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - - void CheckBox4CheckedChanged(object sender, EventArgs e) - { - if (checkBox4.Checked == true) - { - Locked = true; - } - else if (checkBox4.Checked == false && Locked == true) - { - Locked = true; - } - } - - void CheckBox6CheckedChanged(object sender, EventArgs e) - { - SelectedClientInfo.Fix2007 = checkBox6.Checked; - } - - void CheckBox7CheckedChanged(object sender, EventArgs e) - { - SelectedClientInfo.AlreadyHasSecurity = checkBox7.Checked; - } - void NewToolStripMenuItemClick(object sender, EventArgs e) - { - label9.Text = "Not Loaded"; - NewClientInfo(); - } - - void LoadToolStripMenuItemClick(object sender, EventArgs e) - { - bool IsVersion2 = false; + string ConvertedLine = ""; - using (var ofd = new OpenFileDialog()) - { - ofd.Filter = "Novetus Clientinfo files (*.nov)|*.nov"; - ofd.FilterIndex = 1; - ofd.FileName = "clientinfo.nov"; - ofd.Title = "Load clientinfo.nov"; - if (ofd.ShowDialog() == DialogResult.OK) + try { - string file, usesplayername, usesid, warning, legacymode, clientmd5, - scriptmd5, desc, locked, fix2007, alreadyhassecurity, - cmdargsorclientoptions, commandargsver2; + IsVersion2 = true; + label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")"; + ConvertedLine = SecurityFuncs.Base64DecodeNew(file); + } + catch (Exception) + { + label9.Text = "v1 (v1.1)"; + ConvertedLine = SecurityFuncs.Base64DecodeOld(file); + } - using (StreamReader reader = new StreamReader(ofd.FileName)) + string[] result = ConvertedLine.Split('|'); + usesplayername = SecurityFuncs.Base64Decode(result[0]); + usesid = SecurityFuncs.Base64Decode(result[1]); + warning = SecurityFuncs.Base64Decode(result[2]); + legacymode = SecurityFuncs.Base64Decode(result[3]); + clientmd5 = SecurityFuncs.Base64Decode(result[4]); + scriptmd5 = SecurityFuncs.Base64Decode(result[5]); + desc = SecurityFuncs.Base64Decode(result[6]); + locked = SecurityFuncs.Base64Decode(result[7]); + fix2007 = SecurityFuncs.Base64Decode(result[8]); + alreadyhassecurity = SecurityFuncs.Base64Decode(result[9]); + cmdargsorclientoptions = SecurityFuncs.Base64Decode(result[10]); + commandargsver2 = ""; + try + { + if (IsVersion2) { - file = reader.ReadLine(); + commandargsver2 = SecurityFuncs.Base64Decode(result[11]); } + } + catch (Exception) + { + if (!label9.Text.Equals("v1 (v1.1)")) + { + label9.Text = "v2 (v1.2 Snapshot 7440)"; + IsVersion2 = false; + } + } - string ConvertedLine = ""; - - try + if (!GlobalVars.AdminMode) + { + bool lockcheck = Convert.ToBoolean(locked); + if (lockcheck) { - IsVersion2 = true; - label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")"; - ConvertedLine = SecurityFuncs.Base64DecodeNew(file); - } - catch (Exception) - { - label9.Text = "v1 (v1.1)"; - ConvertedLine = SecurityFuncs.Base64DecodeOld(file); - } - - string[] result = ConvertedLine.Split('|'); - usesplayername = SecurityFuncs.Base64Decode(result[0]); - usesid = SecurityFuncs.Base64Decode(result[1]); - warning = SecurityFuncs.Base64Decode(result[2]); - legacymode = SecurityFuncs.Base64Decode(result[3]); - clientmd5 = SecurityFuncs.Base64Decode(result[4]); - scriptmd5 = SecurityFuncs.Base64Decode(result[5]); - desc = SecurityFuncs.Base64Decode(result[6]); - locked = SecurityFuncs.Base64Decode(result[7]); - fix2007 = SecurityFuncs.Base64Decode(result[8]); - alreadyhassecurity = SecurityFuncs.Base64Decode(result[9]); - cmdargsorclientoptions = SecurityFuncs.Base64Decode(result[10]); - commandargsver2 = ""; - try - { - if (IsVersion2) - { - commandargsver2 = SecurityFuncs.Base64Decode(result[11]); - } - } - catch (Exception) - { - if (!label9.Text.Equals("v1 (v1.1)")) - { - label9.Text = "v2 (v1.2 Snapshot 7440)"; - IsVersion2 = false; - } - } - - if (!GlobalVars.AdminMode) - { - bool lockcheck = Convert.ToBoolean(locked); - if (lockcheck) - { - NewClientInfo(); - MessageBox.Show("This client is locked and therefore it cannot be loaded.", "Novetus Launcher - Error when loading client", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; - } - else - { - Locked = lockcheck; - checkBox4.Checked = Locked; - } + NewClientInfo(); + MessageBox.Show("This client is locked and therefore it cannot be loaded.", "Novetus Launcher - Error when loading client", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; } else { - Locked = Convert.ToBoolean(locked); + Locked = lockcheck; checkBox4.Checked = Locked; } + } + else + { + Locked = Convert.ToBoolean(locked); + checkBox4.Checked = Locked; + } - SelectedClientInfo.UsesPlayerName = Convert.ToBoolean(usesplayername); - SelectedClientInfo.UsesID = Convert.ToBoolean(usesid); - SelectedClientInfo.Warning = warning; - SelectedClientInfo.LegacyMode = Convert.ToBoolean(legacymode); - SelectedClientInfo.ClientMD5 = clientmd5; - SelectedClientInfo.ScriptMD5 = scriptmd5; - SelectedClientInfo.Description = desc; - SelectedClientInfo.Fix2007 = Convert.ToBoolean(fix2007); - SelectedClientInfo.AlreadyHasSecurity = Convert.ToBoolean(alreadyhassecurity); + SelectedClientInfo.UsesPlayerName = Convert.ToBoolean(usesplayername); + SelectedClientInfo.UsesID = Convert.ToBoolean(usesid); + SelectedClientInfo.Warning = warning; + SelectedClientInfo.LegacyMode = Convert.ToBoolean(legacymode); + SelectedClientInfo.ClientMD5 = clientmd5; + SelectedClientInfo.ScriptMD5 = scriptmd5; + SelectedClientInfo.Description = desc; + SelectedClientInfo.Fix2007 = Convert.ToBoolean(fix2007); + SelectedClientInfo.AlreadyHasSecurity = Convert.ToBoolean(alreadyhassecurity); - try + try + { + if (IsVersion2) { - if (IsVersion2) + if (cmdargsorclientoptions.Equals("True") || cmdargsorclientoptions.Equals("False")) { - if (cmdargsorclientoptions.Equals("True") || cmdargsorclientoptions.Equals("False")) - { - label9.Text = "v2 (v1.2.3)"; - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.GetClientLoadOptionsForBool(Convert.ToBoolean(cmdargsorclientoptions)); - } - else - { - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.GetClientLoadOptionsForInt(Convert.ToInt32(cmdargsorclientoptions)); - } - SelectedClientInfo.CommandLineArgs = commandargsver2; + label9.Text = "v2 (v1.2.3)"; + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.GetClientLoadOptionsForBool(Convert.ToBoolean(cmdargsorclientoptions)); } - } - catch (Exception) - { - //Again, fake it. - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp; - SelectedClientInfo.CommandLineArgs = cmdargsorclientoptions; + else + { + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.GetClientLoadOptionsForInt(Convert.ToInt32(cmdargsorclientoptions)); + } + SelectedClientInfo.CommandLineArgs = commandargsver2; } } - - SelectedClientInfoPath = Path.GetDirectoryName(ofd.FileName); - } - - checkBox1.Checked = SelectedClientInfo.UsesPlayerName; - checkBox2.Checked = SelectedClientInfo.UsesID; - checkBox3.Checked = SelectedClientInfo.LegacyMode; - checkBox6.Checked = SelectedClientInfo.Fix2007; - checkBox7.Checked = SelectedClientInfo.AlreadyHasSecurity; - - switch (SelectedClientInfo.ClientLoadOptions) - { - case Settings.GraphicsOptions.ClientLoadOptions.Client_2007: - comboBox1.SelectedIndex = 1; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp: - comboBox1.SelectedIndex = 2; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL: - comboBox1.SelectedIndex = 3; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21: - comboBox1.SelectedIndex = 4; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions: - comboBox1.SelectedIndex = 5; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic: - comboBox1.SelectedIndex = 6; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21: - comboBox1.SelectedIndex = 7; - break; - default: - comboBox1.SelectedIndex = 0; - break; - } - textBox3.Text = SelectedClientInfo.ScriptMD5.ToUpper(CultureInfo.InvariantCulture); - textBox2.Text = SelectedClientInfo.ClientMD5.ToUpper(CultureInfo.InvariantCulture); - textBox1.Text = SelectedClientInfo.Description; - textBox4.Text = SelectedClientInfo.CommandLineArgs; - textBox5.Text = SelectedClientInfo.Warning; - - textBox2.BackColor = System.Drawing.SystemColors.Control; - textBox3.BackColor = System.Drawing.SystemColors.Control; - } - - void SaveToolStripMenuItemClick(object sender, EventArgs e) - { - using (var sfd = new SaveFileDialog()) - { - sfd.Filter = "Novetus Clientinfo files (*.nov)|*.nov"; - sfd.FilterIndex = 1; - string filename = "clientinfo.nov"; - sfd.FileName = filename; - sfd.Title = "Save " + filename; - - if (sfd.ShowDialog() == DialogResult.OK) + catch (Exception) { - string[] lines = { - SecurityFuncs.Base64Encode(SelectedClientInfo.UsesPlayerName.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.UsesID.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.Warning.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.LegacyMode.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.ClientMD5.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.ScriptMD5.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.Description.ToString()), - SecurityFuncs.Base64Encode(Locked.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.Fix2007.ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.AlreadyHasSecurity.ToString()), - SecurityFuncs.Base64Encode(Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString()), - SecurityFuncs.Base64Encode(SelectedClientInfo.CommandLineArgs.ToString()) - }; - File.WriteAllText(sfd.FileName, SecurityFuncs.Base64Encode(string.Join("|", lines))); - SelectedClientInfoPath = Path.GetDirectoryName(sfd.FileName); - } - } - - label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")"; - textBox2.BackColor = System.Drawing.SystemColors.Control; - textBox3.BackColor = System.Drawing.SystemColors.Control; - } - - private void saveAsTextFileToolStripMenuItem_Click(object sender, EventArgs e) - { - using (var sfd = new SaveFileDialog()) - { - sfd.Filter = "Text file (*.txt)|*.txt"; - sfd.FilterIndex = 1; - string filename = "clientinfo.txt"; - sfd.FileName = filename; - sfd.Title = "Save " + filename; - - if (sfd.ShowDialog() == DialogResult.OK) - { - string[] lines = { - SelectedClientInfo.UsesPlayerName.ToString(), - SelectedClientInfo.UsesID.ToString(), - SelectedClientInfo.Warning.ToString(), - SelectedClientInfo.LegacyMode.ToString(), - SelectedClientInfo.ClientMD5.ToString(), - SelectedClientInfo.ScriptMD5.ToString(), - SelectedClientInfo.Description.ToString(), - Locked.ToString(), - SelectedClientInfo.Fix2007.ToString(), - SelectedClientInfo.AlreadyHasSecurity.ToString(), - Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString(), - SelectedClientInfo.CommandLineArgs.ToString() - }; - File.WriteAllLines(sfd.FileName, lines); - SelectedClientInfoPath = Path.GetDirectoryName(sfd.FileName); - } - } - } - - void TextBox4TextChanged(object sender, EventArgs e) - { - SelectedClientInfo.CommandLineArgs = textBox4.Text; - } - - void TextBox5TextChanged(object sender, EventArgs e) - { - SelectedClientInfo.Warning = textBox5.Text; - } - - private void documentationToolStripMenuItem_Click(object sender, EventArgs e) - { - ClientScriptDocumentation csd = new ClientScriptDocumentation(); - csd.Show(); - } - - //tags - private void clientToolStripMenuItem_Click(object sender, EventArgs e) - { - AddClientinfoText(""); - } - - private void serverToolStripMenuItem_Click(object sender, EventArgs e) - { - AddClientinfoText(""); - } - - private void soloToolStripMenuItem_Click(object sender, EventArgs e) - { - AddClientinfoText(""); - } - - private void studioToolStripMenuItem_Click(object sender, EventArgs e) - { - AddClientinfoText(""); - } - - private void no3dToolStripMenuItem_Click(object sender, EventArgs e) - { - AddClientinfoText(""); - } - - private void sharedToolStripMenuItem_Click(object sender, EventArgs e) - { - AddClientinfoText(""); - } - - private void variableToolStripMenuItem_Click(object sender, EventArgs e) - { - ToolStripMenuItem senderitem = (ToolStripMenuItem)sender; - AddClientinfoText(senderitem.Text); - } - - private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) - { - switch (comboBox1.SelectedIndex) - { - case 1: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2007; - break; - case 2: + //Again, fake it. SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp; - break; - case 3: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL; - break; - case 4: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21; - break; - case 5: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions; - break; - case 6: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic; - break; - case 7: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21; - break; - default: - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2007_NoGraphicsOptions; - break; + SelectedClientInfo.CommandLineArgs = cmdargsorclientoptions; + } + } + + SelectedClientInfoPath = Path.GetDirectoryName(ofd.FileName); + } + + checkBox1.Checked = SelectedClientInfo.UsesPlayerName; + checkBox2.Checked = SelectedClientInfo.UsesID; + checkBox3.Checked = SelectedClientInfo.LegacyMode; + checkBox6.Checked = SelectedClientInfo.Fix2007; + checkBox7.Checked = SelectedClientInfo.AlreadyHasSecurity; + + switch (SelectedClientInfo.ClientLoadOptions) + { + case Settings.GraphicsOptions.ClientLoadOptions.Client_2007: + comboBox1.SelectedIndex = 1; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp: + comboBox1.SelectedIndex = 2; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL: + comboBox1.SelectedIndex = 3; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21: + comboBox1.SelectedIndex = 4; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions: + comboBox1.SelectedIndex = 5; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic: + comboBox1.SelectedIndex = 6; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21: + comboBox1.SelectedIndex = 7; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL: + comboBox1.SelectedIndex = 8; + break; + default: + comboBox1.SelectedIndex = 0; + break; + } + textBox3.Text = SelectedClientInfo.ScriptMD5.ToUpper(CultureInfo.InvariantCulture); + textBox2.Text = SelectedClientInfo.ClientMD5.ToUpper(CultureInfo.InvariantCulture); + textBox1.Text = SelectedClientInfo.Description; + textBox4.Text = SelectedClientInfo.CommandLineArgs; + textBox5.Text = SelectedClientInfo.Warning; + + textBox2.BackColor = System.Drawing.SystemColors.Control; + textBox3.BackColor = System.Drawing.SystemColors.Control; + } + + void SaveToolStripMenuItemClick(object sender, EventArgs e) + { + using (var sfd = new SaveFileDialog()) + { + sfd.Filter = "Novetus Clientinfo files (*.nov)|*.nov"; + sfd.FilterIndex = 1; + string filename = "clientinfo.nov"; + sfd.FileName = filename; + sfd.Title = "Save " + filename; + + if (sfd.ShowDialog() == DialogResult.OK) + { + string[] lines = { + SecurityFuncs.Base64Encode(SelectedClientInfo.UsesPlayerName.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.UsesID.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.Warning.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.LegacyMode.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.ClientMD5.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.ScriptMD5.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.Description.ToString()), + SecurityFuncs.Base64Encode(Locked.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.Fix2007.ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.AlreadyHasSecurity.ToString()), + SecurityFuncs.Base64Encode(Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString()), + SecurityFuncs.Base64Encode(SelectedClientInfo.CommandLineArgs.ToString()) + }; + File.WriteAllText(sfd.FileName, SecurityFuncs.Base64Encode(string.Join("|", lines))); + SelectedClientInfoPath = Path.GetDirectoryName(sfd.FileName); } } - #endregion + + label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")"; + textBox2.BackColor = System.Drawing.SystemColors.Control; + textBox3.BackColor = System.Drawing.SystemColors.Control; + } + + private void saveAsTextFileToolStripMenuItem_Click(object sender, EventArgs e) + { + using (var sfd = new SaveFileDialog()) + { + sfd.Filter = "Text file (*.txt)|*.txt"; + sfd.FilterIndex = 1; + string filename = "clientinfo.txt"; + sfd.FileName = filename; + sfd.Title = "Save " + filename; + + if (sfd.ShowDialog() == DialogResult.OK) + { + string[] lines = { + SelectedClientInfo.UsesPlayerName.ToString(), + SelectedClientInfo.UsesID.ToString(), + SelectedClientInfo.Warning.ToString(), + SelectedClientInfo.LegacyMode.ToString(), + SelectedClientInfo.ClientMD5.ToString(), + SelectedClientInfo.ScriptMD5.ToString(), + SelectedClientInfo.Description.ToString(), + Locked.ToString(), + SelectedClientInfo.Fix2007.ToString(), + SelectedClientInfo.AlreadyHasSecurity.ToString(), + Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString(), + SelectedClientInfo.CommandLineArgs.ToString() + }; + File.WriteAllLines(sfd.FileName, lines); + SelectedClientInfoPath = Path.GetDirectoryName(sfd.FileName); + } + } + } + + void TextBox4TextChanged(object sender, EventArgs e) + { + SelectedClientInfo.CommandLineArgs = textBox4.Text; + } + + void TextBox5TextChanged(object sender, EventArgs e) + { + SelectedClientInfo.Warning = textBox5.Text; + } + + private void documentationToolStripMenuItem_Click(object sender, EventArgs e) + { + ClientScriptDocumentation csd = new ClientScriptDocumentation(); + csd.Show(); + } + + //tags + private void clientToolStripMenuItem_Click(object sender, EventArgs e) + { + AddClientinfoText(""); + } + + private void serverToolStripMenuItem_Click(object sender, EventArgs e) + { + AddClientinfoText(""); + } + + private void soloToolStripMenuItem_Click(object sender, EventArgs e) + { + AddClientinfoText(""); + } + + private void studioToolStripMenuItem_Click(object sender, EventArgs e) + { + AddClientinfoText(""); + } + + private void no3dToolStripMenuItem_Click(object sender, EventArgs e) + { + AddClientinfoText(""); + } + + private void sharedToolStripMenuItem_Click(object sender, EventArgs e) + { + AddClientinfoText(""); + } + + private void variableToolStripMenuItem_Click(object sender, EventArgs e) + { + ToolStripMenuItem senderitem = (ToolStripMenuItem)sender; + AddClientinfoText(senderitem.Text); + } + + private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) + { + switch (comboBox1.SelectedIndex) + { + case 1: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2007; + break; + case 2: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp; + break; + case 3: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL; + break; + case 4: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21; + break; + case 5: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions; + break; + case 6: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic; + break; + case 7: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21; + break; + case 8: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL; + break; + default: + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2007_NoGraphicsOptions; + break; + } + + BeginInvoke(new Action(() => { comboBox1.Select(0, 0); })); + } + #endregion #region Functions - private void AddClientinfoText(string text) - { - textBox4.Paste(text); - } + private void AddClientinfoText(string text) + { + textBox4.Paste(text); + } - void NewClientInfo() + void NewClientInfo() + { + label9.Text = "Not Loaded"; + SelectedClientInfo.UsesPlayerName = false; + SelectedClientInfo.UsesID = false; + SelectedClientInfo.Warning = ""; + SelectedClientInfo.LegacyMode = false; + SelectedClientInfo.Fix2007 = false; + SelectedClientInfo.AlreadyHasSecurity = false; + SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp; + SelectedClientInfo.Description = ""; + SelectedClientInfo.ClientMD5 = ""; + SelectedClientInfo.ScriptMD5 = ""; + SelectedClientInfo.CommandLineArgs = ""; + Locked = false; + SelectedClientInfoPath = ""; + checkBox1.Checked = SelectedClientInfo.UsesPlayerName; + checkBox2.Checked = SelectedClientInfo.UsesID; + checkBox3.Checked = SelectedClientInfo.LegacyMode; + checkBox4.Checked = Locked; + checkBox6.Checked = SelectedClientInfo.Fix2007; + checkBox7.Checked = SelectedClientInfo.AlreadyHasSecurity; + switch (SelectedClientInfo.ClientLoadOptions) { - label9.Text = "Not Loaded"; - SelectedClientInfo.UsesPlayerName = false; - SelectedClientInfo.UsesID = false; - SelectedClientInfo.Warning = ""; - SelectedClientInfo.LegacyMode = false; - SelectedClientInfo.Fix2007 = false; - SelectedClientInfo.AlreadyHasSecurity = false; - SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp; - SelectedClientInfo.Description = ""; - SelectedClientInfo.ClientMD5 = ""; - SelectedClientInfo.ScriptMD5 = ""; - SelectedClientInfo.CommandLineArgs = ""; - Locked = false; - SelectedClientInfoPath = ""; - checkBox1.Checked = SelectedClientInfo.UsesPlayerName; - checkBox2.Checked = SelectedClientInfo.UsesID; - checkBox3.Checked = SelectedClientInfo.LegacyMode; - checkBox4.Checked = Locked; - checkBox6.Checked = SelectedClientInfo.Fix2007; - checkBox7.Checked = SelectedClientInfo.AlreadyHasSecurity; - switch (SelectedClientInfo.ClientLoadOptions) - { - case Settings.GraphicsOptions.ClientLoadOptions.Client_2007: - comboBox1.SelectedIndex = 1; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp: - comboBox1.SelectedIndex = 2; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL: - comboBox1.SelectedIndex = 3; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21: - comboBox1.SelectedIndex = 4; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions: - comboBox1.SelectedIndex = 5; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic: - comboBox1.SelectedIndex = 6; - break; - case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21: - comboBox1.SelectedIndex = 7; - break; - default: - comboBox1.SelectedIndex = 0; - break; - } - textBox3.Text = SelectedClientInfo.ScriptMD5.ToUpper(CultureInfo.InvariantCulture); - textBox2.Text = SelectedClientInfo.ClientMD5.ToUpper(CultureInfo.InvariantCulture); - textBox1.Text = SelectedClientInfo.Description; - textBox4.Text = SelectedClientInfo.CommandLineArgs; - textBox5.Text = SelectedClientInfo.Warning; - textBox2.BackColor = System.Drawing.SystemColors.Control; - textBox3.BackColor = System.Drawing.SystemColors.Control; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2007: + comboBox1.SelectedIndex = 1; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp: + comboBox1.SelectedIndex = 2; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL: + comboBox1.SelectedIndex = 3; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21: + comboBox1.SelectedIndex = 4; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions: + comboBox1.SelectedIndex = 5; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic: + comboBox1.SelectedIndex = 6; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21: + comboBox1.SelectedIndex = 7; + break; + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL: + comboBox1.SelectedIndex = 8; + break; + default: + comboBox1.SelectedIndex = 0; + break; } + textBox3.Text = SelectedClientInfo.ScriptMD5.ToUpper(CultureInfo.InvariantCulture); + textBox2.Text = SelectedClientInfo.ClientMD5.ToUpper(CultureInfo.InvariantCulture); + textBox1.Text = SelectedClientInfo.Description; + textBox4.Text = SelectedClientInfo.CommandLineArgs; + textBox5.Text = SelectedClientInfo.Warning; + textBox2.BackColor = System.Drawing.SystemColors.Control; + textBox3.BackColor = System.Drawing.SystemColors.Control; + } #endregion } #endregion diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs index 801dfb5..9430942 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs @@ -920,6 +920,7 @@ public class GlobalFuncs { case Settings.GraphicsOptions.ClientLoadOptions.Client_2007: case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL: + case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL: GraphicsMode = 2; break; case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp: @@ -989,12 +990,19 @@ public class GlobalFuncs Shadows_2007 = false; break; case Settings.GraphicsOptions.Level.Medium: - MeshDetail = 50; - ShadingQuality = 50; + MeshDetail = 75; + ShadingQuality = 75; GFXQualityLevel = 10; MaterialQuality = 2; AASamples = 4; Bevels = 2; + if (info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic || + info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21 || + info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21 || + info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_HasCharacterOnlyShadowsLegacyOpenGL) + { + Shadows_2008 = 3; + } Shadows_2007 = false; break; case Settings.GraphicsOptions.Level.High: diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs index e168733..47f598c 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs @@ -403,13 +403,13 @@ namespace NovetusLauncher GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\changelog.txt not found.", 2, richTextBox1); } - if (File.Exists(GlobalPaths.RootPath + "\\credits.txt")) + if (File.Exists(GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT")) { - richTextBox3.Text = File.ReadAllText(GlobalPaths.RootPath + "\\credits.txt"); + richTextBox3.Text = File.ReadAllText(GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT"); } else { - GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\credits.txt not found.", 2, richTextBox1); + GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT not found.", 2, richTextBox1); } if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName)) diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs index 29cb166..79bf761 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs @@ -407,13 +407,13 @@ namespace NovetusLauncher GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\changelog.txt not found.", 2, richTextBox1); } - if (File.Exists(GlobalPaths.RootPath + "\\credits.txt")) + if (File.Exists(GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT")) { - richTextBox3.Text = File.ReadAllText(GlobalPaths.RootPath + "\\credits.txt"); + richTextBox3.Text = File.ReadAllText(GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT"); } else { - GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\credits.txt not found.", 2, richTextBox1); + GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT not found.", 2, richTextBox1); } if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName))