This commit is contained in:
Bitl 2020-07-16 18:05:36 -07:00
parent 5def12095a
commit 28215ca230
30 changed files with 923 additions and 604 deletions

View File

@ -142,10 +142,11 @@ namespace NovetusCMD
static void WriteConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
GlobalFuncs.ReadClientValues();
GlobalFuncs.ConsolePrint("Config Saved.", 3);
}
static void ReadConfigValues()
static void ReadConfigValues(bool initial = false)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
GlobalFuncs.ConsolePrint("Config loaded.", 3);
@ -274,11 +275,11 @@ namespace NovetusCMD
WriteConfigValues();
}
ReadConfigValues();
ReadConfigValues(true);
}
else
{
GlobalFuncs.ReadClientValues();
GlobalFuncs.ReadClientValues(true);
}
InitUPnP();

View File

@ -137,7 +137,7 @@ using System.Windows.Forms;
string mapfile = GlobalPaths.BasePathLauncher + "\\preview\\content\\fonts\\3DView.rbxl";
string rbxexe = GlobalPaths.BasePathLauncher + "\\preview\\3DView.exe";
string quote = "\"";
string args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); _G.CS3DView(0,'Player'," + GlobalVars.Loadout + ");" + quote;
string args = quote + mapfile + "\" -script \" dofile('" + luafile + "'); _G.CS3DView(0,'Player'," + GlobalVars.Loadout + ");" + quote;
try
{
Process client = new Process();

View File

@ -16,7 +16,7 @@ public class FileFormat
ScriptMD5 = "";
Fix2007 = false;
AlreadyHasSecurity = false;
NoGraphicsOptions = false;
ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp;
CommandLineArgs = "";
}
@ -29,7 +29,7 @@ public class FileFormat
public string ScriptMD5 { get; set; }
public bool Fix2007 { get; set; }
public bool AlreadyHasSecurity { get; set; }
public bool NoGraphicsOptions { get; set; }
public Settings.GraphicsOptions.ClientLoadOptions ClientLoadOptions { get; set; }
public string CommandLineArgs { get; set; }
}
#endregion
@ -52,9 +52,9 @@ public class FileFormat
DiscordPresence = true;
MapPath = "";
MapPathSnip = "";
GraphicsMode = Settings.GraphicsOptions.Mode.OpenGL;
GraphicsMode = Settings.GraphicsOptions.Mode.Automatic;
ReShade = false;
QualityLevel = Settings.GraphicsOptions.Level.Ultra;
QualityLevel = Settings.GraphicsOptions.Level.Automatic;
LauncherStyle = Settings.UIOptions.Style.Extended;
ReShadeFPSDisplay = false;
ReShadePerformanceMode = false;

View File

@ -24,6 +24,15 @@ public enum RobloxFileType
}
#endregion
#region XML Types
public enum XMLTypes
{
Token,
Bool,
Float
}
#endregion
#region Roblox Type Definitions
public struct RobloxDefs
{
@ -294,8 +303,8 @@ public struct RobloxDefs
}
#endregion
#region Roblox XML Localizer
public static class RobloxXMLLocalizer
#region Roblox XML Parser
public static class RobloxXML
{
public static void DownloadFromNodes(string filepath, VarStorage.AssetCacheDef assetdef, string name = "", string meshname = "")
{
@ -407,6 +416,39 @@ public static class RobloxXMLLocalizer
}
}
public static string GetStringForXMLType(XMLTypes type)
{
switch (type)
{
case XMLTypes.Bool:
return "bool";
case XMLTypes.Float:
return "float";
case XMLTypes.Token:
default:
return "token";
}
}
public static void EditRenderSettings(XDocument doc, string setting, string value, XMLTypes type)
{
var v = from nodes in doc.Descendants("Item")
where nodes.Attribute("class").Value == "RenderSettings"
select nodes;
foreach (var item in v)
{
var v2 = from nodes in item.Descendants(GetStringForXMLType(type))
where nodes.Attribute("name").Value == setting
select nodes;
foreach (var item2 in v2)
{
item2.Value = value;
}
}
}
private static void DownloadFilesFromNode(string url, string path, string fileext, string id)
{
if (!string.IsNullOrWhiteSpace(id))
@ -424,12 +466,12 @@ public static class RobloxXMLLocalizer
}
}
private static string RemoveInvalidXmlChars(string content)
public static string RemoveInvalidXmlChars(string content)
{
return new string(content.Where(ch => XmlConvert.IsXmlChar(ch)).ToArray());
}
private static string ReplaceHexadecimalSymbols(string txt)
public static string ReplaceHexadecimalSymbols(string txt)
{
string r = "[\x00-\x08\x0B\x0C\x0E-\x1F\x26]";
return Regex.Replace(txt, r, "", RegexOptions.Compiled);

View File

@ -1,4 +1,6 @@
#region Settings
using System;
public class Settings
{
#region Graphics Options
@ -7,13 +9,14 @@ public class Settings
{
public enum Mode
{
None = 0,
Automatic = 0,
OpenGL = 1,
DirectX = 2
}
public enum Level
{
Automatic = 0,
VeryLow = 1,
Low = 2,
Medium = 3,
@ -21,6 +24,18 @@ public class Settings
Ultra = 5
}
public enum ClientLoadOptions
{
Client_2007_NoGraphicsOptions = 0,
Client_2007 = 1,
Client_2008AndUp = 2,
Client_2008AndUp_LegacyOpenGL = 3,
Client_2008AndUp_QualityLevel21 = 4,
Client_2008AndUp_NoGraphicsOptions = 5,
Client_2008AndUp_ForceAutomatic = 6,
Client_2008AndUp_ForceAutomaticQL21 = 7
}
public static Mode GetModeForInt(int level)
{
switch (level)
@ -30,7 +45,7 @@ public class Settings
case 2:
return Mode.DirectX;
default:
return Mode.None;
return Mode.Automatic;
}
}
@ -51,6 +66,8 @@ public class Settings
{
switch (level)
{
case 0:
return Level.Automatic;
case 1:
return Level.VeryLow;
case 2:
@ -69,6 +86,8 @@ public class Settings
{
switch (level)
{
case Level.Automatic:
return 0;
case Level.VeryLow:
return 1;
case Level.Low:
@ -82,6 +101,79 @@ public class Settings
return 5;
}
}
public static ClientLoadOptions GetClientLoadOptionsForInt(int level)
{
switch (level)
{
case 1:
return ClientLoadOptions.Client_2007;
case 2:
return ClientLoadOptions.Client_2008AndUp;
case 3:
return ClientLoadOptions.Client_2008AndUp_LegacyOpenGL;
case 4:
return ClientLoadOptions.Client_2008AndUp_QualityLevel21;
case 5:
return ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions;
case 6:
return ClientLoadOptions.Client_2008AndUp_ForceAutomatic;
case 7:
return ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21;
default:
return ClientLoadOptions.Client_2007_NoGraphicsOptions;
}
}
public static ClientLoadOptions GetClientLoadOptionsForBool(bool level)
{
switch (level)
{
case false:
return ClientLoadOptions.Client_2008AndUp;
default:
return ClientLoadOptions.Client_2007_NoGraphicsOptions;
}
}
public static int GetIntForClientLoadOptions(ClientLoadOptions level)
{
switch (level)
{
case ClientLoadOptions.Client_2007:
return 1;
case ClientLoadOptions.Client_2008AndUp:
return 2;
case ClientLoadOptions.Client_2008AndUp_LegacyOpenGL:
return 3;
case ClientLoadOptions.Client_2008AndUp_QualityLevel21:
return 4;
case ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions:
return 5;
case ClientLoadOptions.Client_2008AndUp_ForceAutomatic:
return 6;
case ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21:
return 7;
default:
return 0;
}
}
public static string GetPathForClientLoadOptions(ClientLoadOptions level)
{
switch (level)
{
case ClientLoadOptions.Client_2008AndUp_QualityLevel21:
case ClientLoadOptions.Client_2008AndUp_LegacyOpenGL:
case ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions:
case ClientLoadOptions.Client_2008AndUp_ForceAutomatic:
case ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21:
case ClientLoadOptions.Client_2008AndUp:
return Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\Roblox";
default:
return Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Roblox";
}
}
}
#endregion

View File

@ -15,11 +15,11 @@
<Compile Include="$(MSBuildThisFileDirectory)Classes\CryptoRandom.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\FileFormat.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\IDiscordRPC.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\RobloxXML.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\Settings.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\SimpleHTTPServer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\TextLineRemover.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SDK\Downloader.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SDK\RobloxXMLLocalizer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SDK\SDKFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\GlobalFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\GlobalPaths.cs" />

View File

@ -64,6 +64,7 @@ partial class ClientinfoEditor
this.soloToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.studioToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.no3dToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.sharedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.variablesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.generalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mapfileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -73,6 +74,8 @@ partial class ClientinfoEditor
this.ipToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.portToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addonscriptpathToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.scripttypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.versionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.serverToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.limitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.securityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -144,16 +147,13 @@ partial class ClientinfoEditor
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.checkBox5 = new System.Windows.Forms.CheckBox();
this.scripttypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.sharedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.versionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// checkBox1
//
this.checkBox1.Location = new System.Drawing.Point(10, 58);
this.checkBox1.Location = new System.Drawing.Point(10, 50);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(210, 24);
this.checkBox1.TabIndex = 0;
@ -163,7 +163,7 @@ partial class ClientinfoEditor
//
// checkBox2
//
this.checkBox2.Location = new System.Drawing.Point(10, 78);
this.checkBox2.Location = new System.Drawing.Point(10, 70);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(210, 20);
this.checkBox2.TabIndex = 1;
@ -191,7 +191,7 @@ partial class ClientinfoEditor
//
// label2
//
this.label2.Location = new System.Drawing.Point(8, 44);
this.label2.Location = new System.Drawing.Point(8, 36);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(80, 17);
this.label2.TabIndex = 6;
@ -199,7 +199,7 @@ partial class ClientinfoEditor
//
// checkBox3
//
this.checkBox3.Location = new System.Drawing.Point(10, 96);
this.checkBox3.Location = new System.Drawing.Point(10, 88);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(211, 20);
this.checkBox3.TabIndex = 13;
@ -209,7 +209,7 @@ partial class ClientinfoEditor
//
// label3
//
this.label3.Location = new System.Drawing.Point(309, 52);
this.label3.Location = new System.Drawing.Point(309, 34);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(92, 13);
this.label3.TabIndex = 14;
@ -218,7 +218,7 @@ partial class ClientinfoEditor
// textBox2
//
this.textBox2.BackColor = System.Drawing.SystemColors.Control;
this.textBox2.Location = new System.Drawing.Point(309, 68);
this.textBox2.Location = new System.Drawing.Point(309, 50);
this.textBox2.Name = "textBox2";
this.textBox2.ReadOnly = true;
this.textBox2.Size = new System.Drawing.Size(311, 20);
@ -227,7 +227,7 @@ partial class ClientinfoEditor
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(309, 107);
this.textBox3.Location = new System.Drawing.Point(309, 89);
this.textBox3.Name = "textBox3";
this.textBox3.ReadOnly = true;
this.textBox3.Size = new System.Drawing.Size(312, 20);
@ -236,7 +236,7 @@ partial class ClientinfoEditor
//
// label4
//
this.label4.Location = new System.Drawing.Point(309, 91);
this.label4.Location = new System.Drawing.Point(309, 73);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(92, 13);
this.label4.TabIndex = 17;
@ -244,7 +244,7 @@ partial class ClientinfoEditor
//
// button4
//
this.button4.Location = new System.Drawing.Point(309, 140);
this.button4.Location = new System.Drawing.Point(309, 122);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(312, 29);
this.button4.TabIndex = 18;
@ -254,7 +254,7 @@ partial class ClientinfoEditor
//
// checkBox4
//
this.checkBox4.Location = new System.Drawing.Point(237, 58);
this.checkBox4.Location = new System.Drawing.Point(237, 50);
this.checkBox4.Name = "checkBox4";
this.checkBox4.Size = new System.Drawing.Size(50, 24);
this.checkBox4.TabIndex = 19;
@ -265,7 +265,7 @@ partial class ClientinfoEditor
//
// checkBox6
//
this.checkBox6.Location = new System.Drawing.Point(10, 114);
this.checkBox6.Location = new System.Drawing.Point(10, 106);
this.checkBox6.Name = "checkBox6";
this.checkBox6.Size = new System.Drawing.Size(262, 21);
this.checkBox6.TabIndex = 20;
@ -275,7 +275,7 @@ partial class ClientinfoEditor
//
// checkBox7
//
this.checkBox7.Location = new System.Drawing.Point(10, 131);
this.checkBox7.Location = new System.Drawing.Point(10, 123);
this.checkBox7.Name = "checkBox7";
this.checkBox7.Size = new System.Drawing.Size(262, 22);
this.checkBox7.TabIndex = 21;
@ -309,28 +309,28 @@ partial class ClientinfoEditor
// newToolStripMenuItem
//
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.newToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.newToolStripMenuItem.Text = "New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItemClick);
//
// loadToolStripMenuItem
//
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
this.loadToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.loadToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.loadToolStripMenuItem.Text = "Load";
this.loadToolStripMenuItem.Click += new System.EventHandler(this.LoadToolStripMenuItemClick);
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// saveAsTextFileToolStripMenuItem
//
this.saveAsTextFileToolStripMenuItem.Name = "saveAsTextFileToolStripMenuItem";
this.saveAsTextFileToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveAsTextFileToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.saveAsTextFileToolStripMenuItem.Text = "Save as Text File";
this.saveAsTextFileToolStripMenuItem.Click += new System.EventHandler(this.saveAsTextFileToolStripMenuItem_Click);
//
@ -354,44 +354,51 @@ partial class ClientinfoEditor
this.no3dToolStripMenuItem,
this.sharedToolStripMenuItem});
this.tagsToolStripMenuItem.Name = "tagsToolStripMenuItem";
this.tagsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.tagsToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.tagsToolStripMenuItem.Text = "Add Tags";
//
// clientToolStripMenuItem
//
this.clientToolStripMenuItem.Name = "clientToolStripMenuItem";
this.clientToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.clientToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.clientToolStripMenuItem.Text = "<client>";
this.clientToolStripMenuItem.Click += new System.EventHandler(this.clientToolStripMenuItem_Click);
//
// serverToolStripMenuItem
//
this.serverToolStripMenuItem.Name = "serverToolStripMenuItem";
this.serverToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.serverToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.serverToolStripMenuItem.Text = "<server>";
this.serverToolStripMenuItem.Click += new System.EventHandler(this.serverToolStripMenuItem_Click);
//
// soloToolStripMenuItem
//
this.soloToolStripMenuItem.Name = "soloToolStripMenuItem";
this.soloToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.soloToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.soloToolStripMenuItem.Text = "<solo>";
this.soloToolStripMenuItem.Click += new System.EventHandler(this.soloToolStripMenuItem_Click);
//
// studioToolStripMenuItem
//
this.studioToolStripMenuItem.Name = "studioToolStripMenuItem";
this.studioToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.studioToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.studioToolStripMenuItem.Text = "<studio>";
this.studioToolStripMenuItem.Click += new System.EventHandler(this.studioToolStripMenuItem_Click);
//
// no3dToolStripMenuItem
//
this.no3dToolStripMenuItem.Name = "no3dToolStripMenuItem";
this.no3dToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.no3dToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.no3dToolStripMenuItem.Text = "<no3d>";
this.no3dToolStripMenuItem.Click += new System.EventHandler(this.no3dToolStripMenuItem_Click);
//
// sharedToolStripMenuItem
//
this.sharedToolStripMenuItem.Name = "sharedToolStripMenuItem";
this.sharedToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.sharedToolStripMenuItem.Text = "<shared>";
this.sharedToolStripMenuItem.Click += new System.EventHandler(this.sharedToolStripMenuItem_Click);
//
// variablesToolStripMenuItem
//
this.variablesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -402,7 +409,7 @@ partial class ClientinfoEditor
this.debuggingToolStripMenuItem,
this.argsToolStripMenuItem});
this.variablesToolStripMenuItem.Name = "variablesToolStripMenuItem";
this.variablesToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.variablesToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.variablesToolStripMenuItem.Text = "Add Variables";
//
// generalToolStripMenuItem
@ -418,7 +425,7 @@ partial class ClientinfoEditor
this.scripttypeToolStripMenuItem,
this.versionToolStripMenuItem});
this.generalToolStripMenuItem.Name = "generalToolStripMenuItem";
this.generalToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.generalToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.generalToolStripMenuItem.Text = "General";
//
// mapfileToolStripMenuItem
@ -470,12 +477,26 @@ partial class ClientinfoEditor
this.addonscriptpathToolStripMenuItem.Text = "%addonscriptpath%";
this.addonscriptpathToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// scripttypeToolStripMenuItem
//
this.scripttypeToolStripMenuItem.Name = "scripttypeToolStripMenuItem";
this.scripttypeToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.scripttypeToolStripMenuItem.Text = "%scripttype%";
this.scripttypeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// versionToolStripMenuItem
//
this.versionToolStripMenuItem.Name = "versionToolStripMenuItem";
this.versionToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.versionToolStripMenuItem.Text = "%version%";
this.versionToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// serverToolStripMenuItem1
//
this.serverToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.limitToolStripMenuItem});
this.serverToolStripMenuItem1.Name = "serverToolStripMenuItem1";
this.serverToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
this.serverToolStripMenuItem1.Size = new System.Drawing.Size(133, 22);
this.serverToolStripMenuItem1.Text = "Server";
//
// limitToolStripMenuItem
@ -494,7 +515,7 @@ partial class ClientinfoEditor
this.md5scriptdToolStripMenuItem,
this.md5exedToolStripMenuItem});
this.securityToolStripMenuItem.Name = "securityToolStripMenuItem";
this.securityToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.securityToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.securityToolStripMenuItem.Text = "Security";
//
// md5launcherToolStripMenuItem
@ -540,7 +561,7 @@ partial class ClientinfoEditor
this.idToolStripMenuItem,
this.tripcodeToolStripMenuItem});
this.playerToolStripMenuItem.Name = "playerToolStripMenuItem";
this.playerToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.playerToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.playerToolStripMenuItem.Text = "Player";
//
// customizationToolStripMenuItem
@ -556,7 +577,7 @@ partial class ClientinfoEditor
this.extraToolStripMenuItem,
this.charappToolStripMenuItem});
this.customizationToolStripMenuItem.Name = "customizationToolStripMenuItem";
this.customizationToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.customizationToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
this.customizationToolStripMenuItem.Text = "Customization";
//
// bodyColorsToolStripMenuItem
@ -569,7 +590,7 @@ partial class ClientinfoEditor
this.rarmcolorToolStripMenuItem,
this.rlegcolorToolStripMenuItem});
this.bodyColorsToolStripMenuItem.Name = "bodyColorsToolStripMenuItem";
this.bodyColorsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.bodyColorsToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.bodyColorsToolStripMenuItem.Text = "Body Colors";
//
// headcolorToolStripMenuItem
@ -627,7 +648,7 @@ partial class ClientinfoEditor
this.hat2wsToolStripMenuItem,
this.hat3wsToolStripMenuItem});
this.hatsToolStripMenuItem.Name = "hatsToolStripMenuItem";
this.hatsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.hatsToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.hatsToolStripMenuItem.Text = "Hats";
//
// hat1ToolStripMenuItem
@ -700,7 +721,7 @@ partial class ClientinfoEditor
this.facedToolStripMenuItem,
this.facewsToolStripMenuItem});
this.facesToolStripMenuItem.Name = "facesToolStripMenuItem";
this.facesToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.facesToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.facesToolStripMenuItem.Text = "Faces";
//
// faceToolStripMenuItem
@ -731,7 +752,7 @@ partial class ClientinfoEditor
this.headdToolStripMenuItem,
this.headwsToolStripMenuItem});
this.headsToolStripMenuItem.Name = "headsToolStripMenuItem";
this.headsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.headsToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.headsToolStripMenuItem.Text = "Heads";
//
// headToolStripMenuItem
@ -762,7 +783,7 @@ partial class ClientinfoEditor
this.tshirtdToolStripMenuItem,
this.tshirtwsToolStripMenuItem});
this.tShirtsToolStripMenuItem.Name = "tShirtsToolStripMenuItem";
this.tShirtsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.tShirtsToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.tShirtsToolStripMenuItem.Text = "T-Shirts";
//
// tshirtToolStripMenuItem
@ -793,7 +814,7 @@ partial class ClientinfoEditor
this.shirtdToolStripMenuItem,
this.shirtwsToolStripMenuItem});
this.shirtsToolStripMenuItem.Name = "shirtsToolStripMenuItem";
this.shirtsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.shirtsToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.shirtsToolStripMenuItem.Text = "Shirts";
//
// shirtToolStripMenuItem
@ -824,7 +845,7 @@ partial class ClientinfoEditor
this.pantsdToolStripMenuItem,
this.pantswsToolStripMenuItem});
this.pantsToolStripMenuItem.Name = "pantsToolStripMenuItem";
this.pantsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.pantsToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.pantsToolStripMenuItem.Text = "Pants";
//
// pantsToolStripMenuItem1
@ -860,90 +881,90 @@ partial class ClientinfoEditor
this.iconeToolStripMenuItem,
this.iconToolStripMenuItem});
this.extraToolStripMenuItem.Name = "extraToolStripMenuItem";
this.extraToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.extraToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.extraToolStripMenuItem.Text = "Extra";
//
// extraToolStripMenuItem1
//
this.extraToolStripMenuItem1.Name = "extraToolStripMenuItem1";
this.extraToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
this.extraToolStripMenuItem1.Size = new System.Drawing.Size(134, 22);
this.extraToolStripMenuItem1.Text = "%extra%";
this.extraToolStripMenuItem1.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// extradToolStripMenuItem
//
this.extradToolStripMenuItem.Name = "extradToolStripMenuItem";
this.extradToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.extradToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.extradToolStripMenuItem.Text = "%extrad%";
this.extradToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// extrawsToolStripMenuItem
//
this.extrawsToolStripMenuItem.Name = "extrawsToolStripMenuItem";
this.extrawsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.extrawsToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.extrawsToolStripMenuItem.Text = "%extraws%";
this.extrawsToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// hat4ToolStripMenuItem
//
this.hat4ToolStripMenuItem.Name = "hat4ToolStripMenuItem";
this.hat4ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.hat4ToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.hat4ToolStripMenuItem.Text = "%hat4%";
this.hat4ToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// hat4dToolStripMenuItem
//
this.hat4dToolStripMenuItem.Name = "hat4dToolStripMenuItem";
this.hat4dToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.hat4dToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.hat4dToolStripMenuItem.Text = "%hat4d%";
this.hat4dToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// hat4wsToolStripMenuItem
//
this.hat4wsToolStripMenuItem.Name = "hat4wsToolStripMenuItem";
this.hat4wsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.hat4wsToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.hat4wsToolStripMenuItem.Text = "%hat4ws%";
this.hat4wsToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// iconeToolStripMenuItem
//
this.iconeToolStripMenuItem.Name = "iconeToolStripMenuItem";
this.iconeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.iconeToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.iconeToolStripMenuItem.Text = "%icone%";
this.iconeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// iconToolStripMenuItem
//
this.iconToolStripMenuItem.Name = "iconToolStripMenuItem";
this.iconToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.iconToolStripMenuItem.Size = new System.Drawing.Size(134, 22);
this.iconToolStripMenuItem.Text = "%icon%";
this.iconToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// charappToolStripMenuItem
//
this.charappToolStripMenuItem.Name = "charappToolStripMenuItem";
this.charappToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.charappToolStripMenuItem.Size = new System.Drawing.Size(138, 22);
this.charappToolStripMenuItem.Text = "%charapp%";
this.charappToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// nameToolStripMenuItem
//
this.nameToolStripMenuItem.Name = "nameToolStripMenuItem";
this.nameToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.nameToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
this.nameToolStripMenuItem.Text = "%name%";
this.nameToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// idToolStripMenuItem
//
this.idToolStripMenuItem.Name = "idToolStripMenuItem";
this.idToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.idToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
this.idToolStripMenuItem.Text = "%id%";
this.idToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// tripcodeToolStripMenuItem
//
this.tripcodeToolStripMenuItem.Name = "tripcodeToolStripMenuItem";
this.tripcodeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.tripcodeToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
this.tripcodeToolStripMenuItem.Text = "%tripcode%";
this.tripcodeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
@ -952,7 +973,7 @@ partial class ClientinfoEditor
this.debuggingToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.donothingToolStripMenuItem});
this.debuggingToolStripMenuItem.Name = "debuggingToolStripMenuItem";
this.debuggingToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.debuggingToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.debuggingToolStripMenuItem.Text = "Debugging";
//
// donothingToolStripMenuItem
@ -965,30 +986,30 @@ partial class ClientinfoEditor
// argsToolStripMenuItem
//
this.argsToolStripMenuItem.Name = "argsToolStripMenuItem";
this.argsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.argsToolStripMenuItem.Size = new System.Drawing.Size(133, 22);
this.argsToolStripMenuItem.Text = "%args%";
this.argsToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// documentationToolStripMenuItem1
//
this.documentationToolStripMenuItem1.Name = "documentationToolStripMenuItem1";
this.documentationToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
this.documentationToolStripMenuItem1.Size = new System.Drawing.Size(157, 22);
this.documentationToolStripMenuItem1.Text = "Documentation";
this.documentationToolStripMenuItem1.Click += new System.EventHandler(this.documentationToolStripMenuItem_Click);
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(309, 204);
this.textBox4.Location = new System.Drawing.Point(309, 173);
this.textBox4.Multiline = true;
this.textBox4.Name = "textBox4";
this.textBox4.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox4.Size = new System.Drawing.Size(311, 125);
this.textBox4.Size = new System.Drawing.Size(311, 156);
this.textBox4.TabIndex = 23;
this.textBox4.TextChanged += new System.EventHandler(this.TextBox4TextChanged);
//
// label5
//
this.label5.Location = new System.Drawing.Point(308, 185);
this.label5.Location = new System.Drawing.Point(309, 154);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(229, 16);
this.label5.TabIndex = 24;
@ -1039,37 +1060,24 @@ partial class ClientinfoEditor
this.label9.TabIndex = 30;
this.label9.Text = "Not Loaded";
//
// checkBox5
// comboBox1
//
this.checkBox5.AutoSize = true;
this.checkBox5.Location = new System.Drawing.Point(10, 152);
this.checkBox5.Name = "checkBox5";
this.checkBox5.Size = new System.Drawing.Size(198, 17);
this.checkBox5.TabIndex = 31;
this.checkBox5.Text = "Doesn\'t have graphics mode options";
this.checkBox5.UseVisualStyleBackColor = true;
this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged);
//
// scripttypeToolStripMenuItem
//
this.scripttypeToolStripMenuItem.Name = "scripttypeToolStripMenuItem";
this.scripttypeToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.scripttypeToolStripMenuItem.Text = "%scripttype%";
this.scripttypeToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
//
// sharedToolStripMenuItem
//
this.sharedToolStripMenuItem.Name = "sharedToolStripMenuItem";
this.sharedToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.sharedToolStripMenuItem.Text = "<shared>";
this.sharedToolStripMenuItem.Click += new System.EventHandler(this.sharedToolStripMenuItem_Click);
//
// versionToolStripMenuItem
//
this.versionToolStripMenuItem.Name = "versionToolStripMenuItem";
this.versionToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.versionToolStripMenuItem.Text = "%version%";
this.versionToolStripMenuItem.Click += new System.EventHandler(this.variableToolStripMenuItem_Click);
this.comboBox1.DropDownWidth = 350;
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)"});
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);
//
// ClientinfoEditor
//
@ -1077,7 +1085,7 @@ partial class ClientinfoEditor
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(632, 336);
this.Controls.Add(this.checkBox5);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.label9);
this.Controls.Add(this.label8);
this.Controls.Add(this.label7);
@ -1218,10 +1226,10 @@ partial class ClientinfoEditor
private System.Windows.Forms.ToolStripMenuItem saveAsTextFileToolStripMenuItem;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.CheckBox checkBox5;
private System.Windows.Forms.ToolStripMenuItem hat4ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mapfilecToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem scripttypeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem sharedToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem versionToolStripMenuItem;
private System.Windows.Forms.ComboBox comboBox1;
}

View File

@ -40,6 +40,7 @@ using System.Globalization;
void ClientinfoCreatorLoad(object sender, EventArgs e)
{
checkBox4.Visible = GlobalVars.AdminMode;
NewClientInfo();
}
void CheckBox3CheckedChanged(object sender, EventArgs e)
@ -132,41 +133,10 @@ using System.Globalization;
SelectedClientInfo.AlreadyHasSecurity = checkBox7.Checked;
}
void checkBox5_CheckedChanged(object sender, EventArgs e)
{
SelectedClientInfo.NoGraphicsOptions = checkBox5.Checked;
}
void NewToolStripMenuItemClick(object sender, EventArgs e)
{
label9.Text = "Not Loaded";
SelectedClientInfo.UsesPlayerName = false;
SelectedClientInfo.UsesID = false;
SelectedClientInfo.Warning = "";
SelectedClientInfo.LegacyMode = false;
SelectedClientInfo.Fix2007 = false;
SelectedClientInfo.AlreadyHasSecurity = false;
SelectedClientInfo.NoGraphicsOptions = false;
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;
checkBox5.Checked = SelectedClientInfo.NoGraphicsOptions;
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;
NewClientInfo();
}
void LoadToolStripMenuItemClick(object sender, EventArgs e)
@ -183,7 +153,7 @@ using System.Globalization;
{
string file, usesplayername, usesid, warning, legacymode, clientmd5,
scriptmd5, desc, locked, fix2007, alreadyhassecurity,
cmdargsornogfxoptions, commandargsver2;
cmdargsorclientoptions, commandargsver2;
using (StreamReader reader = new StreamReader(ofd.FileName))
{
@ -195,12 +165,12 @@ using System.Globalization;
try
{
IsVersion2 = true;
label9.Text = "v2";
label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")";
ConvertedLine = SecurityFuncs.Base64DecodeNew(file);
}
catch (Exception)
{
label9.Text = "v1";
label9.Text = "v1 (v1.1)";
ConvertedLine = SecurityFuncs.Base64DecodeOld(file);
}
@ -215,7 +185,7 @@ using System.Globalization;
locked = SecurityFuncs.Base64Decode(result[7]);
fix2007 = SecurityFuncs.Base64Decode(result[8]);
alreadyhassecurity = SecurityFuncs.Base64Decode(result[9]);
cmdargsornogfxoptions = SecurityFuncs.Base64Decode(result[10]);
cmdargsorclientoptions = SecurityFuncs.Base64Decode(result[10]);
commandargsver2 = "";
try
{
@ -226,9 +196,9 @@ using System.Globalization;
}
catch (Exception)
{
if (!label9.Text.Equals("v1"))
if (!label9.Text.Equals("v1 (v1.1)"))
{
label9.Text = "v2 (DEV)";
label9.Text = "v2 (v1.2 Snapshot 7440)";
IsVersion2 = false;
}
}
@ -238,6 +208,7 @@ using System.Globalization;
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;
}
@ -267,15 +238,23 @@ using System.Globalization;
{
if (IsVersion2)
{
SelectedClientInfo.NoGraphicsOptions = Convert.ToBoolean(cmdargsornogfxoptions);
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;
}
}
catch (Exception)
{
//Again, fake it.
SelectedClientInfo.NoGraphicsOptions = false;
SelectedClientInfo.CommandLineArgs = cmdargsornogfxoptions;
SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp;
SelectedClientInfo.CommandLineArgs = cmdargsorclientoptions;
}
}
@ -287,7 +266,34 @@ using System.Globalization;
checkBox3.Checked = SelectedClientInfo.LegacyMode;
checkBox6.Checked = SelectedClientInfo.Fix2007;
checkBox7.Checked = SelectedClientInfo.AlreadyHasSecurity;
checkBox5.Checked = SelectedClientInfo.NoGraphicsOptions;
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;
@ -321,7 +327,7 @@ using System.Globalization;
SecurityFuncs.Base64Encode(Locked.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.Fix2007.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.AlreadyHasSecurity.ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.NoGraphicsOptions.ToString()),
SecurityFuncs.Base64Encode(Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString()),
SecurityFuncs.Base64Encode(SelectedClientInfo.CommandLineArgs.ToString())
};
File.WriteAllText(sfd.FileName, SecurityFuncs.Base64Encode(string.Join("|", lines)));
@ -329,7 +335,7 @@ using System.Globalization;
}
}
label9.Text = "v2";
label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")";
textBox2.BackColor = System.Drawing.SystemColors.Control;
textBox3.BackColor = System.Drawing.SystemColors.Control;
}
@ -357,7 +363,7 @@ using System.Globalization;
Locked.ToString(),
SelectedClientInfo.Fix2007.ToString(),
SelectedClientInfo.AlreadyHasSecurity.ToString(),
SelectedClientInfo.NoGraphicsOptions.ToString(),
Settings.GraphicsOptions.GetIntForClientLoadOptions(SelectedClientInfo.ClientLoadOptions).ToString(),
SelectedClientInfo.CommandLineArgs.ToString()
};
File.WriteAllLines(sfd.FileName, lines);
@ -418,13 +424,103 @@ using System.Globalization;
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;
default:
SelectedClientInfo.ClientLoadOptions = Settings.GraphicsOptions.ClientLoadOptions.Client_2007_NoGraphicsOptions;
break;
}
}
#endregion
#region Functions
#region Functions
private void AddClientinfoText(string text)
{
textBox4.Paste(text);
}
#endregion
}
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)
{
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;
}
#endregion
}
#endregion

View File

@ -25,6 +25,11 @@ public partial class NovetusSDK : Form
private void NovetusSDK_Close(object sender, CancelEventArgs e)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
#if LAUNCHER
GlobalFuncs.ReadClientValues(null);
#else
GlobalFuncs.ReadClientValues();
#endif
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

View File

@ -267,44 +267,44 @@ class SDKFuncs
}
//meshes
worker.ReportProgress(5);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
//skybox
worker.ReportProgress(10);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
//decal
worker.ReportProgress(15);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Decal);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Decal);
//texture
worker.ReportProgress(20);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Texture);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Texture);
//tools and hopperbin
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Tool);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Tool);
worker.ReportProgress(30);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.HopperBin);
RobloxXML.DownloadFromNodes(path, RobloxDefs.HopperBin);
//sound
worker.ReportProgress(40);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sound);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sound);
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ImageLabel);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ImageLabel);
//clothing
worker.ReportProgress(60);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Shirt);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Shirt);
worker.ReportProgress(65);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
worker.ReportProgress(70);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Pants);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Pants);
//scripts
worker.ReportProgress(80);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Script);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Script);
worker.ReportProgress(90);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.LocalScript);
RobloxXML.DownloadFromNodes(path, RobloxDefs.LocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.RBXM:
@ -325,44 +325,44 @@ class SDKFuncs
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
//skybox
worker.ReportProgress(10);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
//decal
worker.ReportProgress(15);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Decal);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Decal);
//texture
worker.ReportProgress(20);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Texture);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Texture);
//tools and hopperbin
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Tool);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Tool);
worker.ReportProgress(30);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.HopperBin);
RobloxXML.DownloadFromNodes(path, RobloxDefs.HopperBin);
//sound
worker.ReportProgress(40);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sound);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Sound);
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ImageLabel);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ImageLabel);
//clothing
worker.ReportProgress(60);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Shirt);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Shirt);
worker.ReportProgress(65);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
worker.ReportProgress(70);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Pants);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Pants);
//scripts
worker.ReportProgress(80);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Script);
RobloxXML.DownloadFromNodes(path, RobloxDefs.Script);
worker.ReportProgress(90);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.LocalScript);
RobloxXML.DownloadFromNodes(path, RobloxDefs.LocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.Hat:
@ -383,15 +383,15 @@ class SDKFuncs
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, itemname, meshname);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, 1, 1, 1, 1, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, itemname, meshname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, 1, 1, 1, 1, itemname);
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatSound);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHatSound);
//scripts
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatScript);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHatScript);
worker.ReportProgress(75);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatLocalScript);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHatLocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.Head:
@ -412,8 +412,8 @@ class SDKFuncs
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, itemname);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, 1, 1, 1, 1, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, 1, 1, 1, 1, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Face:
@ -434,7 +434,7 @@ class SDKFuncs
worker.ReportProgress(0);
}
//decal
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemFaceTexture, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemFaceTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.TShirt:
@ -455,7 +455,7 @@ class SDKFuncs
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemTShirtTexture, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemTShirtTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Shirt:
@ -476,7 +476,7 @@ class SDKFuncs
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemShirtTexture, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemShirtTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Pants:
@ -497,7 +497,7 @@ class SDKFuncs
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemPantsTexture, itemname);
RobloxXML.DownloadFromNodes(path, RobloxDefs.ItemPantsTexture, itemname);
worker.ReportProgress(100);
break;
default:

View File

@ -2,6 +2,8 @@
using Nini.Config;
using NLog;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
@ -11,6 +13,7 @@ using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
#endregion
#region Global Functions
@ -368,6 +371,60 @@ public class GlobalFuncs
ReloadLoadoutValue();
}
public static void ReShade(string cfgpath, string cfgname, bool write)
{
string fullpath = cfgpath + "\\" + cfgname;
if (!File.Exists(fullpath))
{
File.Copy(GlobalPaths.ConfigDir + "\\ReShade_default.ini", fullpath);
ReShadeValues(fullpath, write, true);
}
else
{
ReShadeValues(fullpath, write, true);
}
string clientdir = GlobalPaths.ClientDir;
DirectoryInfo dinfo = new DirectoryInfo(clientdir);
DirectoryInfo[] Dirs = dinfo.GetDirectories();
foreach (DirectoryInfo dir in Dirs)
{
string fulldirpath = dir.FullName + @"\" + cfgname;
string fulldllpath = dir.FullName + @"\opengl32.dll";
if (GlobalVars.UserConfiguration.ReShade)
{
if (!File.Exists(fulldirpath))
{
File.Copy(fullpath, fulldirpath);
ReShadeValues(fulldirpath, write, false);
}
else
{
ReShadeValues(fulldirpath, write, false);
}
if (!File.Exists(fulldllpath))
{
File.Copy(GlobalPaths.ConfigDirData + "\\opengl32.dll", fulldllpath);
}
}
else
{
if (File.Exists(fulldirpath))
{
File.Delete(fulldirpath);
}
if (File.Exists(fulldllpath))
{
File.Delete(fulldllpath);
}
}
}
}
public static void ReShadeValues(string cfgpath, bool write, bool setglobals)
{
if (write)
@ -433,22 +490,22 @@ public class GlobalFuncs
}
#if LAUNCHER
public static void ReadClientValues(RichTextBox box)
public static void ReadClientValues(RichTextBox box, bool initial = false)
#else
public static void ReadClientValues()
public static void ReadClientValues(bool initial = false)
#endif
{
#if LAUNCHER
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient, box);
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient, box, initial);
#else
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient, initial);
#endif
}
#if LAUNCHER
public static void ReadClientValues(string ClientName, RichTextBox box)
public static void ReadClientValues(string ClientName, RichTextBox box, bool initial = false)
#else
public static void ReadClientValues(string ClientName)
public static void ReadClientValues(string ClientName, bool initial = false)
#endif
{
string name = ClientName;
@ -464,21 +521,43 @@ public class GlobalFuncs
#endif
name = GlobalVars.ProgramInformation.DefaultClient;
#if LAUNCHER
ReadClientValues(name, box);
ReadClientValues(name, box, initial);
#else
ReadClientValues(name);
ReadClientValues(name, initial);
#endif
}
else
{
LoadClientValues(clientpath);
if (initial)
{
#if LAUNCHER
ConsolePrint("Client '" + name + "' successfully loaded.", 3, box);
#elif CMD
GlobalFuncs.ConsolePrint("Client '" + name + "' successfully loaded.", 3);
#elif URI
#endif
}
}
string terms = "_" + ClientName + "_default";
string[] dirs = Directory.GetFiles(GlobalPaths.ConfigDirClients);
foreach (string dir in dirs)
{
if (dir.Contains(terms) && dir.EndsWith(".xml"))
{
string fullpath = dir.Replace("_default", "");
if (!File.Exists(fullpath))
{
File.Copy(dir, fullpath);
}
}
}
ChangeGameSettings(ClientName);
}
public static void FixedFileCopy(string src, string dest, bool overwrite)
@ -518,7 +597,7 @@ public class GlobalFuncs
string file, usesplayername, usesid, warning,
legacymode, clientmd5, scriptmd5,
desc, fix2007, alreadyhassecurity,
nographicsoptions, commandlineargs;
clientloadoptions, commandlineargs;
using (StreamReader reader = new StreamReader(clientpath))
{
@ -536,7 +615,7 @@ public class GlobalFuncs
desc = SecurityFuncs.Base64Decode(result[6]);
fix2007 = SecurityFuncs.Base64Decode(result[8]);
alreadyhassecurity = SecurityFuncs.Base64Decode(result[9]);
nographicsoptions = SecurityFuncs.Base64Decode(result[10]);
clientloadoptions = SecurityFuncs.Base64Decode(result[10]);
try
{
commandlineargs = SecurityFuncs.Base64Decode(result[11]);
@ -544,7 +623,7 @@ public class GlobalFuncs
catch
{
//fake this option until we properly apply it.
nographicsoptions = "False";
clientloadoptions = "2";
commandlineargs = SecurityFuncs.Base64Decode(result[10]);
}
@ -557,62 +636,16 @@ public class GlobalFuncs
info.Description = desc;
info.Fix2007 = Convert.ToBoolean(fix2007);
info.AlreadyHasSecurity = Convert.ToBoolean(alreadyhassecurity);
info.NoGraphicsOptions = Convert.ToBoolean(nographicsoptions);
info.CommandLineArgs = commandlineargs;
}
public static void ReShade(string cfgpath, string cfgname, bool write)
{
string fullpath = cfgpath + "\\" + cfgname;
if (!File.Exists(fullpath))
if (clientloadoptions.Equals("True") || clientloadoptions.Equals("False"))
{
File.Copy(GlobalPaths.ConfigDir + "\\ReShade_default.ini", fullpath);
ReShadeValues(fullpath, write, true);
info.ClientLoadOptions = Settings.GraphicsOptions.GetClientLoadOptionsForBool(Convert.ToBoolean(clientloadoptions));
}
else
{
ReShadeValues(fullpath, write, true);
}
string clientdir = GlobalPaths.ClientDir;
DirectoryInfo dinfo = new DirectoryInfo(clientdir);
DirectoryInfo[] Dirs = dinfo.GetDirectories();
foreach (DirectoryInfo dir in Dirs)
{
string fulldirpath = dir.FullName + @"\" + cfgname;
string fulldllpath = dir.FullName + @"\opengl32.dll";
if (GlobalVars.UserConfiguration.ReShade)
{
if (!File.Exists(fulldirpath))
{
File.Copy(fullpath, fulldirpath);
ReShadeValues(fulldirpath, write, false);
}
else
{
ReShadeValues(fulldirpath, write, false);
}
if (!File.Exists(fulldllpath))
{
File.Copy(GlobalPaths.ConfigDirData + "\\opengl32.dll", fulldllpath);
}
}
else
{
if (File.Exists(fulldirpath))
{
File.Delete(fulldirpath);
}
if (File.Exists(fulldllpath))
{
File.Delete(fulldllpath);
}
}
info.ClientLoadOptions = Settings.GraphicsOptions.GetClientLoadOptionsForInt(Convert.ToInt32(clientloadoptions));
}
info.CommandLineArgs = commandlineargs;
}
public static void ResetConfigValues()
@ -629,9 +662,9 @@ public class GlobalFuncs
GlobalVars.UserConfiguration.DiscordPresence = true;
GlobalVars.UserConfiguration.MapPath = GlobalPaths.MapsDir + @"\\" + GlobalVars.ProgramInformation.DefaultMap;
GlobalVars.UserConfiguration.MapPathSnip = GlobalPaths.MapsDirBase + @"\\" + GlobalVars.ProgramInformation.DefaultMap;
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.OpenGL;
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.Automatic;
GlobalVars.UserConfiguration.ReShade = false;
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Ultra;
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Automatic;
GlobalVars.UserConfiguration.LauncherStyle = Settings.UIOptions.Style.Extended;
ResetCustomizationValues();
}
@ -863,22 +896,47 @@ public class GlobalFuncs
}
}
public static string ChangeGameSettings()
public static void ChangeGameSettings(string ClientName)
{
string result = "";
FileFormat.ClientInfo info = GetClientInfoValues(ClientName);
if (!GlobalVars.SelectedClientInfo.NoGraphicsOptions)
int GraphicsMode = 0;
if (info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21 ||
info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomatic)
{
switch (GlobalVars.UserConfiguration.GraphicsMode)
GraphicsMode = 1;
}
else
{
if (info.ClientLoadOptions != Settings.GraphicsOptions.ClientLoadOptions.Client_2007_NoGraphicsOptions ||
info.ClientLoadOptions != Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_NoGraphicsOptions)
{
case Settings.GraphicsOptions.Mode.OpenGL:
result += "xpcall( function() settings().Rendering.graphicsMode = 2 end, function( err ) settings().Rendering.graphicsMode = 4 end );";
break;
case Settings.GraphicsOptions.Mode.DirectX:
result += "pcall(function() settings().Rendering.graphicsMode = 3 end);";
break;
default:
break;
switch (GlobalVars.UserConfiguration.GraphicsMode)
{
case Settings.GraphicsOptions.Mode.OpenGL:
switch (info.ClientLoadOptions)
{
case Settings.GraphicsOptions.ClientLoadOptions.Client_2007:
case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_LegacyOpenGL:
GraphicsMode = 2;
break;
case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp:
case Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21:
GraphicsMode = 4;
break;
default:
break;
}
break;
case Settings.GraphicsOptions.Mode.DirectX:
GraphicsMode = 3;
break;
default:
GraphicsMode = 1;
break;
}
}
}
@ -886,15 +944,30 @@ public class GlobalFuncs
int MeshDetail = 100;
int ShadingQuality = 100;
int GFXQualityLevel = 19;
if (info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_ForceAutomaticQL21 ||
info.ClientLoadOptions == Settings.GraphicsOptions.ClientLoadOptions.Client_2008AndUp_QualityLevel21)
{
GFXQualityLevel = 21;
}
int MaterialQuality = 3;
int AASamples = 8;
int Bevels = 1;
int Shadows_2008 = 1;
int AA = 1;
bool Shadows_2007 = true;
switch (GlobalVars.UserConfiguration.QualityLevel)
{
case Settings.GraphicsOptions.Level.Automatic:
//set everything to automatic. Some ultra settings will still be enabled.
AA = 0;
Bevels = 0;
Shadows_2008 = 0;
GFXQualityLevel = 0;
MaterialQuality = 0;
break;
case Settings.GraphicsOptions.Level.VeryLow:
AA = 2;
MeshDetail = 50;
ShadingQuality = 50;
GFXQualityLevel = 1;
@ -905,6 +978,7 @@ public class GlobalFuncs
Shadows_2007 = false;
break;
case Settings.GraphicsOptions.Level.Low:
AA = 2;
MeshDetail = 50;
ShadingQuality = 50;
GFXQualityLevel = 5;
@ -934,28 +1008,74 @@ public class GlobalFuncs
break;
}
result += " pcall(function() settings().Rendering.maxMeshDetail = " + MeshDetail.ToString() + " end);"
+ " pcall(function() settings().Rendering.maxShadingQuality = " + ShadingQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.minMeshDetail = " + MeshDetail.ToString() + " end);"
+ " pcall(function() settings().Rendering.minShadingQuality = " + ShadingQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.AluminumQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.CompoundMaterialQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.CorrodedMetalQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.DiamondPlateQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.GrassQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.IceQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.PlasticQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.SlateQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.TrussDetail = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.WoodQuality = " + MaterialQuality.ToString() + " end);"
+ " pcall(function() settings().Rendering.Antialiasing = 1 end);"
+ " pcall(function() settings().Rendering.AASamples = " + AASamples.ToString() + " end);"
+ " pcall(function() settings().Rendering.Bevels = " + Bevels.ToString() + " end);"
+ " pcall(function() settings().Rendering.Shadow = " + Shadows_2008.ToString() + " end);"
+ " pcall(function() settings().Rendering.Shadows = " + Shadows_2007.ToString().ToLower() + " end);"
+ " pcall(function() settings().Rendering.QualityLevel = " + GFXQualityLevel.ToString() + " end);";
try
{
string terms = "_" + ClientName;
string[] dirs = Directory.GetFiles(GlobalPaths.ConfigDirClients);
return result;
foreach (string dir in dirs)
{
if (dir.Contains(terms) && !dir.Contains("_default"))
{
string oldfile = "";
string fixedfile = "";
XDocument doc = null;
try
{
oldfile = File.ReadAllText(dir);
fixedfile = RobloxXML.RemoveInvalidXmlChars(RobloxXML.ReplaceHexadecimalSymbols(oldfile));
doc = XDocument.Parse(fixedfile);
}
catch (Exception)
{
return;
}
try
{
if (GraphicsMode != 0)
{
RobloxXML.EditRenderSettings(doc, "graphicsMode", GraphicsMode.ToString(), XMLTypes.Token);
}
RobloxXML.EditRenderSettings(doc, "maxMeshDetail", MeshDetail.ToString(), XMLTypes.Float);
RobloxXML.EditRenderSettings(doc, "maxShadingQuality", ShadingQuality.ToString(), XMLTypes.Float);
RobloxXML.EditRenderSettings(doc, "minMeshDetail", MeshDetail.ToString(), XMLTypes.Float);
RobloxXML.EditRenderSettings(doc, "minShadingQuality", ShadingQuality.ToString(), XMLTypes.Float);
RobloxXML.EditRenderSettings(doc, "AluminumQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "CompoundMaterialQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "CorrodedMetalQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "DiamondPlateQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "GrassQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "IceQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "PlasticQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "SlateQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "TrussDetail", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "WoodQuality", MaterialQuality.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "Antialiasing", AA.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "AASamples", AASamples.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "Bevels", Bevels.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "Shadow", Shadows_2008.ToString(), XMLTypes.Token);
RobloxXML.EditRenderSettings(doc, "Shadows", Shadows_2007.ToString().ToLower(), XMLTypes.Bool);
RobloxXML.EditRenderSettings(doc, "QualityLevel", GFXQualityLevel.ToString(), XMLTypes.Token);
}
catch (Exception)
{
return;
}
finally
{
doc.Save(dir);
FixedFileCopy(dir, Settings.GraphicsOptions.GetPathForClientLoadOptions(info.ClientLoadOptions) + @"\" + Path.GetFileName(dir).Replace(terms, "").Replace("-Shaders", ""), true);
}
}
}
}
catch (Exception)
{
return;
}
}
public static string GetLuaFileName()
@ -1050,6 +1170,8 @@ public class GlobalFuncs
ReadClientValues(ClientName);
#endif
ChangeGameSettings(ClientName);
string luafile = GetLuaFileName(ClientName);
string rbxexe = GetClientEXEDir(ClientName, type);
string mapfile = type.Equals(ScriptType.EasterEgg) ? GlobalPaths.ConfigDirData + "\\Appreciation.rbxl" : (nomap ? "" : GlobalVars.UserConfiguration.MapPath);
@ -1064,9 +1186,7 @@ public class GlobalFuncs
{
args = quote
+ mapfile
+ "\" -script \""
+ ChangeGameSettings()
+ " dofile('" + luafile + "'); "
+ "\" -script \" dofile('" + luafile + "'); "
+ ScriptFuncs.Generator.GetScriptFuncForType(ClientName, type)
+ "; "
+ (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? " dofile('" + GlobalPaths.AddonScriptPath + "');" : "")

View File

@ -14,6 +14,7 @@ public class GlobalPaths
public static readonly string BasePath = RootPath.Replace(@"\", @"\\");
public static readonly string DataPath = BasePath + @"\\shareddata";
public static readonly string ConfigDir = BasePath + @"\\config";
public static readonly string ConfigDirClients = ConfigDir + @"\\clients";
public static readonly string ConfigDirData = BasePathLauncher + @"\\data";
public static readonly string ClientDir = BasePath + @"\\clients";
public static readonly string MapsDir = BasePath + @"\\maps";

View File

@ -3,6 +3,7 @@
*
* change control names for all forms
* Make launcher form line count smaller
* replace == and != with .equals
*/
#region Global Variables

View File

@ -108,10 +108,11 @@ public class ScriptFuncs
public static void GenerateScriptForClient(string ClientName, ScriptType type)
{
GlobalFuncs.ChangeGameSettings(ClientName);
string code = GlobalFuncs.MultiLine(
"--Load Script",
//scriptcontents,
GlobalFuncs.ChangeGameSettings(),
"dofile('rbxasset://scripts/" + GlobalPaths.ScriptName + ".lua')",
GetScriptFuncForType(type),
!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? "dofile('" + GlobalPaths.AddonScriptPath + "')" : ""
@ -182,8 +183,7 @@ public class ScriptFuncs
switch (type)
{
case ScriptType.Client:
return GlobalFuncs.ChangeGameSettings() +
" dofile('" + luafile + "'); _G.CSConnect("
return "dofile('" + luafile + "'); _G.CSConnect("
+ (GlobalVars.SelectedClientInfo.UsesID ? GlobalVars.UserConfiguration.UserID : 0) + ",'"
+ GlobalVars.IP + "',"
+ GlobalVars.UserConfiguration.RobloxPort + ",'"
@ -192,23 +192,19 @@ public class ScriptFuncs
+ md5s + ",'"
+ GlobalVars.UserConfiguration.PlayerTripcode + "')";
case ScriptType.Server:
return GlobalFuncs.ChangeGameSettings() +
" dofile('" + luafile + "'); _G.CSServer("
return "dofile('" + luafile + "'); _G.CSServer("
+ GlobalVars.UserConfiguration.RobloxPort + ","
+ GlobalVars.UserConfiguration.PlayerLimit + ","
+ md5s + "); "
+ (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? GlobalFuncs.ChangeGameSettings() +
" dofile('" + GlobalPaths.AddonScriptPath + "');" : "");
+ (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? " dofile('" + GlobalPaths.AddonScriptPath + "');" : "");
case ScriptType.Solo:
case ScriptType.EasterEgg:
return GlobalFuncs.ChangeGameSettings()
+ " dofile('" + luafile + "'); _G.CSSolo("
return "dofile('" + luafile + "'); _G.CSSolo("
+ (GlobalVars.SelectedClientInfo.UsesID ? GlobalVars.UserConfiguration.UserID : 0) + ",'"
+ (GlobalVars.SelectedClientInfo.UsesPlayerName ? GlobalVars.UserConfiguration.PlayerName : "Player") + "',"
+ GlobalVars.soloLoadout + ")";
case ScriptType.Studio:
return GlobalFuncs.ChangeGameSettings()
+ " dofile('" + luafile + "');";
return "dofile('" + luafile + "');";
default:
return "";
}
@ -267,6 +263,7 @@ public class ScriptFuncs
string end = endtag;
FileFormat.ClientInfo info = GlobalFuncs.GetClientInfoValues(ClientName);
GlobalFuncs.ChangeGameSettings(ClientName);
ScriptType type = GetTypeFromTag(start);

View File

@ -1199,6 +1199,7 @@ namespace NovetusLauncher
this.checkBox2.Text = "Discord Rich Presence";
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
this.checkBox2.Click += new System.EventHandler(this.CheckBox2Click);
//
// label18
//

View File

@ -442,7 +442,7 @@ namespace NovetusLauncher
label12.Text = SplashReader.GetSplash();
LocalVars.prevsplash = label12.Text;
ReadConfigValues();
ReadConfigValues(true);
InitUPnP();
StartDiscord();
StartWebServer();
@ -464,7 +464,7 @@ namespace NovetusLauncher
}
}
void ReadConfigValues()
void ReadConfigValues(bool initial = false)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
@ -482,6 +482,7 @@ namespace NovetusLauncher
label37.Text = GlobalVars.IP;
label38.Text = GlobalVars.UserConfiguration.RobloxPort.ToString();
checkBox2.Checked = GlobalVars.UserConfiguration.DiscordPresence;
checkBox4.Checked = GlobalVars.UserConfiguration.UPnP;
switch (GlobalVars.UserConfiguration.LauncherStyle)
{
@ -495,12 +496,13 @@ namespace NovetusLauncher
}
GlobalFuncs.ConsolePrint("Config loaded.", 3, richTextBox1);
ReadClientValues();
ReadClientValues(initial);
}
void WriteConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
GlobalFuncs.ReadClientValues(richTextBox1);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
@ -510,9 +512,9 @@ namespace NovetusLauncher
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void ReadClientValues()
void ReadClientValues(bool initial = false)
{
GlobalFuncs.ReadClientValues(richTextBox1);
GlobalFuncs.ReadClientValues(richTextBox1, initial);
switch (GlobalVars.SelectedClientInfo.UsesPlayerName)
{
@ -599,8 +601,16 @@ namespace NovetusLauncher
void ListBox2SelectedIndexChanged(object sender, EventArgs e)
{
string ourselectedclient = GlobalVars.UserConfiguration.SelectedClient;
GlobalVars.UserConfiguration.SelectedClient = listBox2.SelectedItem.ToString();
ReadClientValues();
if (!ourselectedclient.Equals(GlobalVars.UserConfiguration.SelectedClient))
{
ReadClientValues(true);
}
else
{
ReadClientValues();
}
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
}
@ -1030,7 +1040,18 @@ namespace NovetusLauncher
void CheckBox4Click(object sender, EventArgs e)
{
MessageBox.Show("Please restart the Novetus launcher for this option to take effect." + Environment.NewLine + "Make sure to check if your router has UPnP functionality enabled. Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol. This may not work for all users.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
switch (checkBox4.Checked)
{
case false:
MessageBox.Show("Novetus will now restart.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
default:
MessageBox.Show("Novetus will now restart." + Environment.NewLine + "Make sure to check if your router has UPnP functionality enabled. Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol. This may not work for all users.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
WriteConfigValues();
Application.Restart();
}
void Button24Click(object sender, EventArgs e)
@ -1095,47 +1116,22 @@ namespace NovetusLauncher
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
GlobalVars.UserConfiguration.DiscordPresence = checkBox2.Checked;
MessageBox.Show("Restart the launcher to apply changes.");
}
private void button27_Click(object sender, EventArgs e)
void CheckBox2Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage1;
}
switch (checkBox2.Checked)
{
case false:
MessageBox.Show("Novetus will now restart.", "Novetus - Discord Rich Presence", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
default:
MessageBox.Show("Novetus will now restart." + Environment.NewLine + "Make sure the Discord app is open so this change can take effect.", "Novetus - Discord Rich Presence", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
private void button20_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage2;
}
private void button28_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage3;
}
private void button29_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage4;
}
private void button30_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage6;
}
private void button31_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage7;
}
private void button32_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage8;
}
private void button33_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage5;
WriteConfigValues();
Application.Restart();
}
private void button34_Click(object sender, EventArgs e)
@ -1182,9 +1178,15 @@ namespace NovetusLauncher
void SettingsButtonClick(object sender, EventArgs e)
{
LauncherFormCompactSettings im = new LauncherFormCompactSettings();
im.FormClosing += SettingsExited;
im.Show();
}
void SettingsExited(object sender, FormClosingEventArgs e)
{
GlobalFuncs.ReadClientValues(richTextBox1);
}
void Button3Click_legacy(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("If you want to test out your place, you will have to save your place in Novetus's map folder, then launch your place in Play Solo." + Environment.NewLine + Environment.NewLine + "Press Yes to launch Studio with a map, or No to launch Studio without a map.", "Novetus - Launch ROBLOX Studio", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);

View File

@ -57,6 +57,7 @@
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"Automatic",
"Very Low",
"Low",
"Medium",
@ -82,6 +83,7 @@
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"Automatic",
"OpenGL",
"DirectX"});
this.comboBox1.Location = new System.Drawing.Point(129, 12);

View File

@ -19,10 +19,12 @@ namespace NovetusLauncher
switch (GlobalVars.UserConfiguration.GraphicsMode)
{
case Settings.GraphicsOptions.Mode.DirectX:
case Settings.GraphicsOptions.Mode.OpenGL:
comboBox1.SelectedIndex = 1;
break;
case Settings.GraphicsOptions.Mode.OpenGL:
case Settings.GraphicsOptions.Mode.DirectX:
comboBox1.SelectedIndex = 2;
break;
default:
comboBox1.SelectedIndex = 0;
break;
@ -31,21 +33,23 @@ namespace NovetusLauncher
switch (GlobalVars.UserConfiguration.QualityLevel)
{
case Settings.GraphicsOptions.Level.VeryLow:
comboBox2.SelectedIndex = 0;
break;
case Settings.GraphicsOptions.Level.Low:
comboBox2.SelectedIndex = 1;
break;
case Settings.GraphicsOptions.Level.Medium:
case Settings.GraphicsOptions.Level.Low:
comboBox2.SelectedIndex = 2;
break;
case Settings.GraphicsOptions.Level.High:
case Settings.GraphicsOptions.Level.Medium:
comboBox2.SelectedIndex = 3;
break;
case Settings.GraphicsOptions.Level.Ultra:
default:
case Settings.GraphicsOptions.Level.High:
comboBox2.SelectedIndex = 4;
break;
case Settings.GraphicsOptions.Level.Ultra:
comboBox2.SelectedIndex = 5;
break;
default:
comboBox2.SelectedIndex = 0;
break;
}
}
@ -71,9 +75,12 @@ namespace NovetusLauncher
case 1:
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.DirectX;
break;
default:
case 2:
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.OpenGL;
break;
default:
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.Automatic;
break;
}
}
@ -81,22 +88,24 @@ namespace NovetusLauncher
{
switch (comboBox2.SelectedIndex)
{
case 0:
case 1:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.VeryLow;
break;
case 1:
case 2:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Low;
break;
case 2:
case 3:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Medium;
break;
case 3:
case 4:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.High;
break;
case 4:
default:
case 5:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Ultra;
break;
default:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Automatic;
break;
}
}

View File

@ -70,11 +70,6 @@ namespace NovetusLauncher
this.button28 = new System.Windows.Forms.Button();
this.button34 = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.SettingsButton = new System.Windows.Forms.Button();
this.panel3 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.button35 = new System.Windows.Forms.Button();
this.UAButton = new System.Windows.Forms.Button();
this.tabControl1 = new TabControlWithoutHeader();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.label24 = new System.Windows.Forms.Label();
@ -153,11 +148,14 @@ namespace NovetusLauncher
this.label18 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.SettingsButton = new System.Windows.Forms.Button();
this.panel3 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.button35 = new System.Windows.Forms.Button();
this.UAButton = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
this.panel4.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
@ -171,6 +169,8 @@ namespace NovetusLauncher
this.tabPage8.SuspendLayout();
this.tabPage5.SuspendLayout();
this.panel5.SuspendLayout();
this.panel3.SuspendLayout();
this.panel4.SuspendLayout();
this.SuspendLayout();
//
// button25
@ -461,61 +461,6 @@ namespace NovetusLauncher
this.panel2.Size = new System.Drawing.Size(646, 311);
this.panel2.TabIndex = 61;
//
// SettingsButton
//
this.SettingsButton.Location = new System.Drawing.Point(0, 0);
this.SettingsButton.Name = "SettingsButton";
this.SettingsButton.Size = new System.Drawing.Size(75, 23);
this.SettingsButton.TabIndex = 0;
//
// panel3
//
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel3.Controls.Add(this.pictureBox2);
this.panel3.Controls.Add(this.textBox2);
this.panel3.Controls.Add(this.textBox5);
this.panel3.Controls.Add(this.button4);
this.panel3.Controls.Add(this.label16);
this.panel3.Controls.Add(this.label15);
this.panel3.Controls.Add(this.label12);
this.panel3.Controls.Add(this.label13);
this.panel3.Location = new System.Drawing.Point(1, 4);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(229, 69);
this.panel3.TabIndex = 62;
//
// panel4
//
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel4.Controls.Add(this.button35);
this.panel4.Controls.Add(this.button34);
this.panel4.Controls.Add(this.button21);
this.panel4.Controls.Add(this.button8);
this.panel4.Controls.Add(this.button3);
this.panel4.Controls.Add(this.button25);
this.panel4.Location = new System.Drawing.Point(236, 41);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(501, 32);
this.panel4.TabIndex = 63;
//
// button35
//
this.button35.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button35.Location = new System.Drawing.Point(113, 3);
this.button35.Name = "button35";
this.button35.Size = new System.Drawing.Size(41, 20);
this.button35.TabIndex = 61;
this.button35.Text = "Studio";
this.button35.UseVisualStyleBackColor = true;
this.button35.Click += new System.EventHandler(this.button35_Click);
//
// UAButton
//
this.UAButton.Location = new System.Drawing.Point(0, 0);
this.UAButton.Name = "UAButton";
this.UAButton.Size = new System.Drawing.Size(75, 23);
this.UAButton.TabIndex = 0;
//
// tabControl1
//
this.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Bottom;
@ -745,7 +690,7 @@ namespace NovetusLauncher
//
// checkBox4
//
this.checkBox4.Location = new System.Drawing.Point(438, 155);
this.checkBox4.Location = new System.Drawing.Point(321, 180);
this.checkBox4.Name = "checkBox4";
this.checkBox4.Size = new System.Drawing.Size(104, 17);
this.checkBox4.TabIndex = 57;
@ -1236,6 +1181,7 @@ namespace NovetusLauncher
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"Automatic",
"Very Low",
"Low",
"Medium",
@ -1261,6 +1207,7 @@ namespace NovetusLauncher
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"Automatic",
"OpenGL",
"DirectX"});
this.comboBox1.Location = new System.Drawing.Point(90, 108);
@ -1281,6 +1228,7 @@ namespace NovetusLauncher
this.checkBox2.Text = "Discord Rich Presence";
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
this.checkBox2.Click += new System.EventHandler(this.CheckBox2Click);
//
// checkBox6
//
@ -1428,6 +1376,61 @@ namespace NovetusLauncher
this.label7.Text = "PROJECT STARLIGHT";
this.label7.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// SettingsButton
//
this.SettingsButton.Location = new System.Drawing.Point(0, 0);
this.SettingsButton.Name = "SettingsButton";
this.SettingsButton.Size = new System.Drawing.Size(75, 23);
this.SettingsButton.TabIndex = 0;
//
// panel3
//
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel3.Controls.Add(this.pictureBox2);
this.panel3.Controls.Add(this.textBox2);
this.panel3.Controls.Add(this.textBox5);
this.panel3.Controls.Add(this.button4);
this.panel3.Controls.Add(this.label16);
this.panel3.Controls.Add(this.label15);
this.panel3.Controls.Add(this.label12);
this.panel3.Controls.Add(this.label13);
this.panel3.Location = new System.Drawing.Point(1, 4);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(229, 69);
this.panel3.TabIndex = 62;
//
// panel4
//
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel4.Controls.Add(this.button35);
this.panel4.Controls.Add(this.button34);
this.panel4.Controls.Add(this.button21);
this.panel4.Controls.Add(this.button8);
this.panel4.Controls.Add(this.button3);
this.panel4.Controls.Add(this.button25);
this.panel4.Location = new System.Drawing.Point(236, 41);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(501, 32);
this.panel4.TabIndex = 63;
//
// button35
//
this.button35.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button35.Location = new System.Drawing.Point(113, 3);
this.button35.Name = "button35";
this.button35.Size = new System.Drawing.Size(41, 20);
this.button35.TabIndex = 61;
this.button35.Text = "Studio";
this.button35.UseVisualStyleBackColor = true;
this.button35.Click += new System.EventHandler(this.button35_Click);
//
// UAButton
//
this.UAButton.Location = new System.Drawing.Point(0, 0);
this.UAButton.Name = "UAButton";
this.UAButton.Size = new System.Drawing.Size(75, 23);
this.UAButton.TabIndex = 0;
//
// LauncherFormExtended
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -1454,9 +1457,6 @@ namespace NovetusLauncher
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.panel4.ResumeLayout(false);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
@ -1475,6 +1475,9 @@ namespace NovetusLauncher
this.tabPage5.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.panel4.ResumeLayout(false);
this.ResumeLayout(false);
}

View File

@ -446,7 +446,7 @@ namespace NovetusLauncher
label12.Text = SplashReader.GetSplash();
LocalVars.prevsplash = label12.Text;
ReadConfigValues();
ReadConfigValues(true);
InitUPnP();
StartDiscord();
StartWebServer();
@ -467,8 +467,8 @@ namespace NovetusLauncher
StopWebServer();
}
}
void ReadConfigValues()
void ReadConfigValues(bool initial = false)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
@ -489,13 +489,16 @@ namespace NovetusLauncher
checkBox5.Checked = GlobalVars.UserConfiguration.ReShade;
checkBox6.Checked = GlobalVars.UserConfiguration.ReShadeFPSDisplay;
checkBox7.Checked = GlobalVars.UserConfiguration.ReShadePerformanceMode;
checkBox4.Checked = GlobalVars.UserConfiguration.UPnP;
switch (GlobalVars.UserConfiguration.GraphicsMode)
{
case Settings.GraphicsOptions.Mode.DirectX:
case Settings.GraphicsOptions.Mode.OpenGL:
comboBox1.SelectedIndex = 1;
break;
case Settings.GraphicsOptions.Mode.OpenGL:
case Settings.GraphicsOptions.Mode.DirectX:
comboBox1.SelectedIndex = 2;
break;
default:
comboBox1.SelectedIndex = 0;
break;
@ -504,21 +507,23 @@ namespace NovetusLauncher
switch (GlobalVars.UserConfiguration.QualityLevel)
{
case Settings.GraphicsOptions.Level.VeryLow:
comboBox2.SelectedIndex = 0;
break;
case Settings.GraphicsOptions.Level.Low:
comboBox2.SelectedIndex = 1;
break;
case Settings.GraphicsOptions.Level.Medium:
case Settings.GraphicsOptions.Level.Low:
comboBox2.SelectedIndex = 2;
break;
case Settings.GraphicsOptions.Level.High:
case Settings.GraphicsOptions.Level.Medium:
comboBox2.SelectedIndex = 3;
break;
case Settings.GraphicsOptions.Level.Ultra:
default:
case Settings.GraphicsOptions.Level.High:
comboBox2.SelectedIndex = 4;
break;
case Settings.GraphicsOptions.Level.Ultra:
comboBox2.SelectedIndex = 5;
break;
default:
comboBox2.SelectedIndex = 0;
break;
}
switch (GlobalVars.UserConfiguration.LauncherStyle)
@ -533,13 +538,14 @@ namespace NovetusLauncher
}
GlobalFuncs.ConsolePrint("Config loaded.", 3, richTextBox1);
ReadClientValues();
ReadClientValues(initial);
}
void WriteConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
GlobalFuncs.ReadClientValues(richTextBox1);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void WriteCustomizationValues()
@ -548,9 +554,9 @@ namespace NovetusLauncher
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void ReadClientValues()
void ReadClientValues(bool initial = false)
{
GlobalFuncs.ReadClientValues(richTextBox1);
GlobalFuncs.ReadClientValues(richTextBox1, initial);
switch (GlobalVars.SelectedClientInfo.UsesPlayerName)
{
@ -637,9 +643,17 @@ namespace NovetusLauncher
void ListBox2SelectedIndexChanged(object sender, EventArgs e)
{
string ourselectedclient = GlobalVars.UserConfiguration.SelectedClient;
GlobalVars.UserConfiguration.SelectedClient = listBox2.SelectedItem.ToString();
ReadClientValues();
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
if (!ourselectedclient.Equals(GlobalVars.UserConfiguration.SelectedClient))
{
ReadClientValues(true);
}
else
{
ReadClientValues();
}
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
}
void CheckBox3CheckedChanged(object sender, EventArgs e)
@ -1065,12 +1079,23 @@ namespace NovetusLauncher
{
GlobalVars.UserConfiguration.UPnP = checkBox4.Checked;
}
void CheckBox4Click(object sender, EventArgs e)
{
MessageBox.Show("Please restart the Novetus launcher for this option to take effect." + Environment.NewLine + "Make sure to check if your router has UPnP functionality enabled. Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol. This may not work for all users.","Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
switch (checkBox4.Checked)
{
case false:
MessageBox.Show("Novetus will now restart.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
default:
MessageBox.Show("Novetus will now restart." + Environment.NewLine + "Make sure to check if your router has UPnP functionality enabled. Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol. This may not work for all users.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
WriteConfigValues();
Application.Restart();
}
void Button24Click(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
@ -1133,10 +1158,25 @@ namespace NovetusLauncher
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
GlobalVars.UserConfiguration.DiscordPresence = checkBox2.Checked;
MessageBox.Show("Restart the launcher to apply changes.");
}
private void button27_Click(object sender, EventArgs e)
void CheckBox2Click(object sender, EventArgs e)
{
switch (checkBox2.Checked)
{
case false:
MessageBox.Show("Novetus will now restart.", "Novetus - Discord Rich Presence", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
default:
MessageBox.Show("Novetus will now restart." + Environment.NewLine + "Make sure the Discord app is open so this change can take effect.", "Novetus - Discord Rich Presence", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
WriteConfigValues();
Application.Restart();
}
private void button27_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage1;
}
@ -1239,33 +1279,42 @@ namespace NovetusLauncher
case 1:
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.DirectX;
break;
default:
case 2:
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.OpenGL;
break;
default:
GlobalVars.UserConfiguration.GraphicsMode = Settings.GraphicsOptions.Mode.Automatic;
break;
}
GlobalFuncs.ReadClientValues(richTextBox1);
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox2.SelectedIndex)
{
case 0:
case 1:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.VeryLow;
break;
case 1:
case 2:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Low;
break;
case 2:
case 3:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Medium;
break;
case 3:
case 4:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.High;
break;
case 4:
default:
case 5:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Ultra;
break;
default:
GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.Level.Automatic;
break;
}
GlobalFuncs.ReadClientValues(richTextBox1);
}
private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)

View File

@ -91,6 +91,7 @@ namespace NovetusURI
void QuickConfigureClose(object sender, CancelEventArgs e)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
GlobalFuncs.ReadClientValues();
LocalVars.ReadyToLaunch = true;
}
#endregion

View File

@ -118,6 +118,18 @@ del /s /q Novetus\config\ports.txt
del /s /q Novetus\config\ReShade.ini
del /s /q Novetus\config\config.ini
del /s /q Novetus\config\config_customization.ini
del /s /q Novetus\config\clients\GlobalSettings_4_2009E.xml
del /s /q Novetus\config\clients\GlobalSettings_4_2009L.xml
del /s /q Novetus\config\clients\GlobalSettings_4_2010L.xml
del /s /q Novetus\config\clients\GlobalSettings_4_2011E.xml
del /s /q Novetus\config\clients\GlobalSettings_4_2011M.xml
del /s /q Novetus\config\clients\GlobalSettings4_2006S.xml
del /s /q Novetus\config\clients\GlobalSettings4_2006S-Shaders.xml
del /s /q Novetus\config\clients\GlobalSettings4_2007M.xml
del /s /q Novetus\config\clients\GlobalSettings4_2007M-Shaders.xml
del /s /q Novetus\config\clients\GlobalSettings7_2008M.xml
rmdir /s /q Novetus\shareddata\assetcache
echo Junk files cleaned.
@ -166,11 +178,16 @@ rmdir /s /q "Novetus-Lite\clients\2006S"
rmdir /s /q "Novetus-Lite\clients\2006S-Shaders"
rmdir /s /q "Novetus-Lite\clients\2007M-Shaders"
rmdir /s /q "Novetus-Lite\clients\2009E"
del /s /q Novetus-Lite\config\clients\GlobalSettings_4_2009E_default.xml
del /s /q Novetus-Lite\config\clients\GlobalSettings4_2006S_default.xml
del /s /q Novetus-Lite\config\clients\GlobalSettings4_2006S-Shaders_default.xml
del /s /q Novetus-Lite\config\clients\GlobalSettings4_2007M-Shaders_default.xml
rmdir /s /q "Novetus-Lite\shareddata\music\ROBLOX\OldSoundtrack"
rmdir /s /q "Novetus-Lite\bin\data\php"
robocopy litefiles Novetus-lite /E
butler push Novetus-Lite bitl/novetus:windows-lite --if-changed --userversion-file releasenomapsversion.txt
pause
rmdir /s /q "Novetus-Lite"
GOTO MENU
:BETA
@ -193,11 +210,16 @@ rmdir /s /q "Novetus-Lite\clients\2006S"
rmdir /s /q "Novetus-Lite\clients\2006S-Shaders"
rmdir /s /q "Novetus-Lite\clients\2007M-Shaders"
rmdir /s /q "Novetus-Lite\clients\2009E"
del /s /q Novetus-Lite\config\clients\GlobalSettings_4_2009E_default.xml
del /s /q Novetus-Lite\config\clients\GlobalSettings4_2006S_default.xml
del /s /q Novetus-Lite\config\clients\GlobalSettings4_2006S-Shaders_default.xml
del /s /q Novetus-Lite\config\clients\GlobalSettings4_2007M-Shaders_default.xml
rmdir /s /q "Novetus-Lite\shareddata\music\ROBLOX\OldSoundtrack"
rmdir /s /q "Novetus-Lite\bin\data\php"
robocopy litefiles Novetus-lite /E
butler push Novetus-Lite bitl/novetus:windows-lite --if-changed --userversion-file releasenomapsversion.txt --dry-run
pause
rmdir /s /q "Novetus-Lite"
GOTO MENU
:BETA_DRY

View File

@ -1,16 +0,0 @@
<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">
<External>null</External>
<External>nil</External>
<Item class="BodyColors" referent="RBX0">
<Properties>
<int name="HeadColor">{0}</int>
<int name="LeftArmColor">{1}</int>
<int name="LeftLegColor">{2}</int>
<string name="Name">Body Colors</string>
<int name="RightArmColor">{3}</int>
<int name="RightLegColor">{4}</int>
<int name="TorsoColor">{5}</int>
<bool name="archivable">true</bool>
</Properties>
</Item>
</roblox>

View File

@ -1,5 +0,0 @@
@echo off
setlocal
cd /d %~dp0
start "" "%CD%/bin/NovetusURI.exe"
pause

View File

@ -1,55 +0,0 @@
@ECHO OFF
setlocal
cd /d %~dp0
:MENU
CLS
ECHO ---------------------------------------------------------------------------
ECHO NhhhhhhhhhhN hsssoosssd
ECHO NyyyyhhhhyyhdN hoo++++++h
ECHO NyyyyyhhhhyyyhN hoo+++///h
ECHO NssssyyyyyhyyyhdN hoo+++///h
ECHO Nsossssyyyyyyyyyhm hsoo++///h
ECHO NsssssssssyyyyyyyhdN hssoo++//h
ECHO Nsssssssssssyyyyhhhdm hsssoo+++h
ECHO NyssssssssysyyyyhhhhhdN NNNNNmmmmdddddhhysoooo+++ymNN
ECHO Nhyyssssssmdyyyyhhhhhyhyysssssooooooooosssooooo++osssyhdmN
ECHO Nhyyyyssssddhyyyhhyyysssosyyhhhddmmmmmmmyooooo+++yhyssoosydN
ECHO NdhhyyyysssoosyhyyyssooooydN y++++++++hN NNdhsoohN
ECHO NmdhhhyyyysyhddmNmhyssooooooshN s++++++++h doosm
ECHO NNdhysoyyyysssssm NdsoooooooooydN s/////+++h NmyooyN
ECHO Ndysoosyhyysssooosm myooooooososhN s///////+h Ndhsoshm
ECHO mhsoosydmNmysooooooom NdssssssssooydN s////////hdhssosydN
ECHO NhsosydN Nsoooo+++om mhssssssoooohm y++/////+soosyhmN
ECHO NhoosdN Nsooo+++oom NdyssssooooosdN Ny++++oooosydmN
ECHO msood Noooooooosm Nhssooooooooydhysoooo++++hN
ECHO NhooshmN Nsoooooossm Nmhsoooooooooooso++////++h
ECHO Nhysossyhhdddoooooooosdmmmmmdddhhhyysssoooooooooo++ss++//++++h
ECHO Nmhyyssooooooooooooosssooooooossssyyhhdds+++++++++++++++oood
ECHO NNmmmddssooooooohhhhddddmmmNNNN Ny+++++++++++++osssd
ECHO Nyyssssoosm Nds+++++++++oosssyd
ECHO Nhyyysssssm Nho++++++oossssyd
ECHO Nyyyyyssssm ms+++++ooossssd
ECHO Nyyyssssssm Nho+++ooossssd
ECHO Nhyyyyyyyym mysssssyyyyd
ECHO ---------------------------------------------------------------------------
ECHO.
ECHO 1 - Play
ECHO 2 - Novetus SDK
ECHO 3 - Novetus CMD
ECHO 4 - Install URI
ECHO 5 - Exit
ECHO.
SET /P M=Choose an option by typing the number corresponding to which utility you want to launch:
IF %M%==1 CLS
IF %M%==1 start "" "%CD%/bin/Novetus.exe"
IF %M%==1 EXIT
IF %M%==2 CLS
IF %M%==2 start "" "%CD%/bin/Novetus.exe" -sdk
IF %M%==2 EXIT
IF %M%==3 CLS
IF %M%==3 "bin/NovetusCMD.exe"
IF %M%==4 CLS
IF %M%==4 start "" "%CD%/bin/NovetusURI.exe"
IF %M%==4 EXIT
IF %M%==5 EXIT
EXIT

View File

@ -1,18 +0,0 @@
@echo off
:start
cls
ECHO Novetus CMD
ECHO.
ECHO 1 - Launch Normally
ECHO 2 - Launch in No3D mode.
ECHO.
ECHO 0 - Exit
ECHO.
ECHO.
SET /P A=Select a option:
IF "%A%" EQU "1" cls
IF "%A%" EQU "1" NovetusCMD.exe
IF "%A%" EQU "2" cls
IF "%A%" EQU "2" NovetusCMD.exe -no3d
IF "%A%" EQU "0" EXIT
EXIT

View File

@ -1,24 +0,0 @@
@echo off
:start
cls
ECHO Novetus SDK
ECHO.
ECHO 1 - Client SDK
ECHO 2 - ClientScript Documentation
ECHO 3 - Item SDK
ECHO.
ECHO 0 - Exit
ECHO.
ECHO.
SET /P A=Select a option:
IF "%A%" EQU "1" start Novetus.exe -clientinfo
IF "%A%" EQU "1" cls
IF "%A%" EQU "1" goto start
IF "%A%" EQU "2" start Novetus.exe -documentation
IF "%A%" EQU "2" cls
IF "%A%" EQU "2" goto start
IF "%A%" EQU "3" start Novetus.exe -itemmaker
IF "%A%" EQU "3" cls
IF "%A%" EQU "3" goto start
IF "%A%" EQU "0" EXIT
EXIT

View File

@ -1,5 +0,0 @@
@echo off
setlocal
cd /d %~dp0
"bin/NovetusCMD.exe"
pause

View File

@ -1,5 +0,0 @@
@echo off
setlocal
cd /d %~dp0
start "" "%CD%/bin/Novetus.exe" -sdk
exit

View File

@ -1,5 +0,0 @@
@echo off
setlocal
cd /d %~dp0
start "" "%CD%/bin/Novetus.exe"
exit