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