1.2 stuff! (more redesign, reshade integration, etc).

This commit is contained in:
Bitl 2020-03-26 07:19:36 -07:00
parent 0a188bd6d9
commit 5ff8a21fe6
26 changed files with 1736 additions and 961 deletions

View File

@ -141,7 +141,7 @@ namespace NovetusCMD
static void WriteConfigValues()
{
LauncherFuncs.WriteConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
LauncherFuncs.Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, true);
ConsolePrint("Config Saved.", 3);
}
@ -164,7 +164,7 @@ namespace NovetusCMD
static void ReadConfigValues()
{
LauncherFuncs.ReadConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
LauncherFuncs.Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, false);
ConsolePrint("Config loaded.", 3);
ReadClientValues(GlobalVars.SelectedClient);
}
@ -191,8 +191,23 @@ namespace NovetusCMD
public static void Main(string[] args)
{
string[] lines = File.ReadAllLines(GlobalVars.ConfigDir + "\\info.txt"); //File is in System.IO
string version = lines[0].Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString());
GlobalVars.DefaultClient = lines[1];
GlobalVars.IsSnapshot = Convert.ToBoolean(lines[5]);
if (GlobalVars.IsSnapshot == true)
{
var versionInfo = FileVersionInfo.GetVersionInfo(GlobalVars.BasePath + "\\Novetus.exe");
GlobalVars.Version = lines[6].Replace("%version%", lines[0]).Replace("%build%", versionInfo.ProductBuildPart.ToString()).Replace("%revision%", versionInfo.FilePrivatePart.ToString());
string[] changelogedit = File.ReadAllLines(GlobalVars.BasePath + "\\changelog.txt");
if (!changelogedit[0].Equals(GlobalVars.Version))
{
changelogedit[0] = GlobalVars.Version;
File.WriteAllLines(GlobalVars.BasePath + "\\changelog.txt", changelogedit);
}
}
else
{
GlobalVars.Version = lines[0];
}
GlobalVars.DefaultClient = lines[1];
GlobalVars.DefaultMap = lines[2];
GlobalVars.RegisterClient1 = lines[3];
GlobalVars.RegisterClient2 = lines[4];
@ -200,10 +215,9 @@ namespace NovetusCMD
GlobalVars.Map = GlobalVars.DefaultMap;
GlobalVars.MapPath = GlobalVars.MapsDir + @"\\" + GlobalVars.DefaultMap;
GlobalVars.MapPathSnip = GlobalVars.MapsDirBase + @"\\" + GlobalVars.DefaultMap;
Console.Title = "Novetus " + version + " CMD";
Console.Title = "Novetus " + GlobalVars.Version + " CMD";
ConsolePrint("NovetusCMD version " + version + " loaded.", 1);
GlobalVars.Version = version;
ConsolePrint("NovetusCMD version " + GlobalVars.Version + " loaded.", 1);
if (args.Length == 0)
{

View File

@ -34,6 +34,7 @@ public static class GlobalVars
public static readonly string MapsDirBase = "maps";
public static string MapPath = "";
public static string MapPathSnip = "";
public static bool ReShade = true;
public static readonly string BaseGameDir = "rbxasset://../../../";
public static readonly string SharedDataGameDir = BaseGameDir + "shareddata/";
public static readonly string DirFonts = "\\fonts";
@ -137,6 +138,7 @@ public static class GlobalVars
public static readonly string ScriptGenName = "CSMPBoot";
public static SimpleHTTPServer WebServer = null;
public static bool IsWebServerOn = false;
public static bool IsSnapshot = false;
//vars for loader
public static bool ReadyToLaunch = false;
//server settings.

View File

@ -23,199 +23,540 @@ public class LauncherFuncs
InSoloGame = 2,
InStudio = 3,
InCustomization = 4,
LoadingURI = 5
InEasterEggGame = 5,
LoadingURI = 6
}
public LauncherFuncs()
{
}
public static void ReadConfigValues(string cfgpath)
public static void Config(string cfgpath, bool write)
{
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline9, Decryptline10, Decryptline11, Decryptline12, Decryptline13, Decryptline14, Decryptline15;
IniFile ini = new IniFile(cfgpath);
string section = "Config";
Decryptline1 = ini.IniReadValue(section, "CloseOnLaunch");
if (string.IsNullOrWhiteSpace(Decryptline1)) {
ini.IniWriteValue(section, "CloseOnLaunch", GlobalVars.CloseOnLaunch.ToString());
Decryptline1 = ini.IniReadValue(section, "CloseOnLaunch");
}
Decryptline2 = ini.IniReadValue(section, "UserID");
if (string.IsNullOrWhiteSpace(Decryptline2)) {
if (write)
{
//WRITE
IniFile ini = new IniFile(cfgpath);
string section = "Config";
ini.IniWriteValue(section, "CloseOnLaunch", GlobalVars.CloseOnLaunch.ToString());
ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString());
Decryptline2 = ini.IniReadValue(section, "UserID");
}
Decryptline3 = ini.IniReadValue(section, "PlayerName");
if (string.IsNullOrWhiteSpace(Decryptline3)) {
ini.IniWriteValue(section, "PlayerName", GlobalVars.PlayerName.ToString());
Decryptline3 = ini.IniReadValue(section, "PlayerName");
}
Decryptline4 = ini.IniReadValue(section, "SelectedClient");
if (string.IsNullOrWhiteSpace(Decryptline4)) {
ini.IniWriteValue(section, "SelectedClient", GlobalVars.SelectedClient.ToString());
Decryptline4 = ini.IniReadValue(section, "SelectedClient");
}
Decryptline5 = ini.IniReadValue(section, "Map");
if (string.IsNullOrWhiteSpace(Decryptline5)) {
ini.IniWriteValue(section, "Map", GlobalVars.Map.ToString());
Decryptline5 = ini.IniReadValue(section, "Map");
}
Decryptline6 = ini.IniReadValue(section, "RobloxPort");
if (string.IsNullOrWhiteSpace(Decryptline6)) {
ini.IniWriteValue(section, "RobloxPort", GlobalVars.RobloxPort.ToString());
Decryptline6 = ini.IniReadValue(section, "RobloxPort");
}
Decryptline7 = ini.IniReadValue(section, "PlayerLimit");
if (string.IsNullOrWhiteSpace(Decryptline7)) {
ini.IniWriteValue(section, "PlayerName", GlobalVars.PlayerName.ToString());
ini.IniWriteValue(section, "SelectedClient", GlobalVars.SelectedClient.ToString());
ini.IniWriteValue(section, "Map", GlobalVars.Map.ToString());
ini.IniWriteValue(section, "RobloxPort", GlobalVars.RobloxPort.ToString());
ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString());
Decryptline7 = ini.IniReadValue(section, "PlayerLimit");
}
Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra");
if (string.IsNullOrWhiteSpace(Decryptline9)) {
ini.IniWriteValue(section, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString());
Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra");
}
Decryptline10 = ini.IniReadValue(section, "UPnP");
if (string.IsNullOrWhiteSpace(Decryptline10)) {
ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString());
Decryptline10 = ini.IniReadValue(section, "UPnP");
}
Decryptline11 = ini.IniReadValue(section, "ItemMakerDisableHelpMessage");
if (string.IsNullOrWhiteSpace(Decryptline11)) {
ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString());
Decryptline11 = ini.IniReadValue(section, "ItemMakerDisableHelpMessage");
}
Decryptline12 = ini.IniReadValue(section, "PlayerTripcode");
if (string.IsNullOrWhiteSpace(Decryptline12)) {
ini.IniWriteValue(section, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString());
ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString());
ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString());
ini.IniWriteValue(section, "PlayerTripcode", SecurityFuncs.Base64Encode(GlobalVars.PlayerTripcode.ToString()));
Decryptline12 = ini.IniReadValue(section, "PlayerTripcode");
}
Decryptline13 = ini.IniReadValue(section, "DiscordRichPresence");
if (string.IsNullOrWhiteSpace(Decryptline13)) {
ini.IniWriteValue(section, "DiscordRichPresence", GlobalVars.DiscordPresence.ToString());
Decryptline13 = ini.IniReadValue(section, "DiscordRichPresence");
}
Decryptline14 = ini.IniReadValue(section, "MapPath");
if (string.IsNullOrWhiteSpace(Decryptline14)) {
ini.IniWriteValue(section, "MapPath", GlobalVars.MapPath.ToString());
Decryptline14 = ini.IniReadValue(section, "MapPath");
}
Decryptline15 = ini.IniReadValue(section, "MapPathSnip");
if (string.IsNullOrWhiteSpace(Decryptline15))
{
ini.IniWriteValue(section, "MapPathSnip", GlobalVars.MapPathSnip.ToString());
}
else
{
//READ
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline9, Decryptline10, Decryptline11, Decryptline12, Decryptline13, Decryptline14, Decryptline15;
IniFile ini = new IniFile(cfgpath);
string section = "Config";
Decryptline1 = ini.IniReadValue(section, "CloseOnLaunch");
if (string.IsNullOrWhiteSpace(Decryptline1))
{
ini.IniWriteValue(section, "CloseOnLaunch", GlobalVars.CloseOnLaunch.ToString());
Decryptline1 = ini.IniReadValue(section, "CloseOnLaunch");
}
Decryptline2 = ini.IniReadValue(section, "UserID");
if (string.IsNullOrWhiteSpace(Decryptline2))
{
ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString());
Decryptline2 = ini.IniReadValue(section, "UserID");
}
Decryptline3 = ini.IniReadValue(section, "PlayerName");
if (string.IsNullOrWhiteSpace(Decryptline3))
{
ini.IniWriteValue(section, "PlayerName", GlobalVars.PlayerName.ToString());
Decryptline3 = ini.IniReadValue(section, "PlayerName");
}
Decryptline4 = ini.IniReadValue(section, "SelectedClient");
if (string.IsNullOrWhiteSpace(Decryptline4))
{
ini.IniWriteValue(section, "SelectedClient", GlobalVars.SelectedClient.ToString());
Decryptline4 = ini.IniReadValue(section, "SelectedClient");
}
Decryptline5 = ini.IniReadValue(section, "Map");
if (string.IsNullOrWhiteSpace(Decryptline5))
{
ini.IniWriteValue(section, "Map", GlobalVars.Map.ToString());
Decryptline5 = ini.IniReadValue(section, "Map");
}
Decryptline6 = ini.IniReadValue(section, "RobloxPort");
if (string.IsNullOrWhiteSpace(Decryptline6))
{
ini.IniWriteValue(section, "RobloxPort", GlobalVars.RobloxPort.ToString());
Decryptline6 = ini.IniReadValue(section, "RobloxPort");
}
Decryptline7 = ini.IniReadValue(section, "PlayerLimit");
if (string.IsNullOrWhiteSpace(Decryptline7))
{
ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString());
Decryptline7 = ini.IniReadValue(section, "PlayerLimit");
}
Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra");
if (string.IsNullOrWhiteSpace(Decryptline9))
{
ini.IniWriteValue(section, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString());
Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra");
}
Decryptline10 = ini.IniReadValue(section, "UPnP");
if (string.IsNullOrWhiteSpace(Decryptline10))
{
ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString());
Decryptline10 = ini.IniReadValue(section, "UPnP");
}
Decryptline11 = ini.IniReadValue(section, "ItemMakerDisableHelpMessage");
if (string.IsNullOrWhiteSpace(Decryptline11))
{
ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString());
Decryptline11 = ini.IniReadValue(section, "ItemMakerDisableHelpMessage");
}
Decryptline12 = ini.IniReadValue(section, "PlayerTripcode");
if (string.IsNullOrWhiteSpace(Decryptline12))
{
ini.IniWriteValue(section, "PlayerTripcode", SecurityFuncs.Base64Encode(GlobalVars.PlayerTripcode.ToString()));
Decryptline12 = ini.IniReadValue(section, "PlayerTripcode");
}
Decryptline13 = ini.IniReadValue(section, "DiscordRichPresence");
if (string.IsNullOrWhiteSpace(Decryptline13))
{
ini.IniWriteValue(section, "DiscordRichPresence", GlobalVars.DiscordPresence.ToString());
Decryptline13 = ini.IniReadValue(section, "DiscordRichPresence");
}
Decryptline14 = ini.IniReadValue(section, "MapPath");
if (string.IsNullOrWhiteSpace(Decryptline14))
{
ini.IniWriteValue(section, "MapPath", GlobalVars.MapPath.ToString());
Decryptline14 = ini.IniReadValue(section, "MapPath");
}
Decryptline15 = ini.IniReadValue(section, "MapPathSnip");
if (string.IsNullOrWhiteSpace(Decryptline15))
{
ini.IniWriteValue(section, "MapPathSnip", GlobalVars.MapPathSnip.ToString());
Decryptline15 = ini.IniReadValue(section, "MapPathSnip");
}
bool bline1 = Convert.ToBoolean(Decryptline1);
GlobalVars.CloseOnLaunch = bline1;
if (Decryptline2.Equals("0"))
{
GeneratePlayerID();
Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, true);
}
else
{
int iline2 = Convert.ToInt32(Decryptline2);
GlobalVars.UserID = iline2;
}
GlobalVars.PlayerName = Decryptline3;
GlobalVars.SelectedClient = Decryptline4;
GlobalVars.Map = Decryptline5;
int iline6 = Convert.ToInt32(Decryptline6);
GlobalVars.RobloxPort = iline6;
int iline7 = Convert.ToInt32(Decryptline7);
GlobalVars.PlayerLimit = iline7;
bool bline9 = Convert.ToBoolean(Decryptline9);
GlobalVars.Custom_Extra_ShowHats = bline9;
bool bline10 = Convert.ToBoolean(Decryptline10);
GlobalVars.UPnP = bline10;
bool bline11 = Convert.ToBoolean(Decryptline11);
GlobalVars.DisabledHelp = bline11;
if (string.IsNullOrWhiteSpace(Decryptline12))
{
GenerateTripcode();
Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, true);
}
else
{
string sdecrypt12 = SecurityFuncs.Base64Decode(Decryptline12);
GlobalVars.PlayerTripcode = sdecrypt12;
}
bool bline13 = Convert.ToBoolean(Decryptline13);
GlobalVars.DiscordPresence = bline13;
GlobalVars.MapPath = Decryptline14;
GlobalVars.MapPathSnip = Decryptline15;
}
bool bline1 = Convert.ToBoolean(Decryptline1);
GlobalVars.CloseOnLaunch = bline1;
Customization(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization, write);
ReShade(GlobalVars.ConfigDir + "\\ReShade.ini", write);
}
if (Decryptline2.Equals("0"))
public static void Customization(string cfgpath, bool write)
{
if (write)
{
GeneratePlayerID();
WriteConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
//WRITE
IniFile ini = new IniFile(cfgpath);
string section = "Items";
ini.IniWriteValue(section, "Hat1", GlobalVars.Custom_Hat1ID_Offline.ToString());
ini.IniWriteValue(section, "Hat2", GlobalVars.Custom_Hat2ID_Offline.ToString());
ini.IniWriteValue(section, "Hat3", GlobalVars.Custom_Hat3ID_Offline.ToString());
ini.IniWriteValue(section, "Face", GlobalVars.Custom_Face_Offline.ToString());
ini.IniWriteValue(section, "Head", GlobalVars.Custom_Head_Offline.ToString());
ini.IniWriteValue(section, "TShirt", GlobalVars.Custom_T_Shirt_Offline.ToString());
ini.IniWriteValue(section, "Shirt", GlobalVars.Custom_Shirt_Offline.ToString());
ini.IniWriteValue(section, "Pants", GlobalVars.Custom_Pants_Offline.ToString());
ini.IniWriteValue(section, "Icon", GlobalVars.Custom_Icon_Offline.ToString());
ini.IniWriteValue(section, "Extra", GlobalVars.Custom_Extra.ToString());
string section2 = "Colors";
ini.IniWriteValue(section2, "HeadColorID", GlobalVars.HeadColorID.ToString());
ini.IniWriteValue(section2, "HeadColorString", GlobalVars.ColorMenu_HeadColor.ToString());
ini.IniWriteValue(section2, "TorsoColorID", GlobalVars.TorsoColorID.ToString());
ini.IniWriteValue(section2, "TorsoColorString", GlobalVars.ColorMenu_TorsoColor.ToString());
ini.IniWriteValue(section2, "LeftArmColorID", GlobalVars.LeftArmColorID.ToString());
ini.IniWriteValue(section2, "LeftArmColorString", GlobalVars.ColorMenu_LeftArmColor.ToString());
ini.IniWriteValue(section2, "RightArmColorID", GlobalVars.RightArmColorID.ToString());
ini.IniWriteValue(section2, "RightArmColorString", GlobalVars.ColorMenu_RightArmColor.ToString());
ini.IniWriteValue(section2, "LeftLegColorID", GlobalVars.LeftLegColorID.ToString());
ini.IniWriteValue(section2, "LeftLegColorString", GlobalVars.ColorMenu_LeftLegColor.ToString());
ini.IniWriteValue(section2, "RightLegColorID", GlobalVars.RightLegColorID.ToString());
ini.IniWriteValue(section2, "RightLegColorString", GlobalVars.ColorMenu_RightLegColor.ToString());
string section3 = "Other";
ini.IniWriteValue(section3, "CharacterID", GlobalVars.CharacterID.ToString());
ini.IniWriteValue(section3, "ExtraSelectionIsHat", GlobalVars.Custom_Extra_SelectionIsHat.ToString());
}
else
{
int iline2 = Convert.ToInt32(Decryptline2);
GlobalVars.UserID = iline2;
//READ
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline8, Decryptline9, Decryptline10, Decryptline11, Decryptline12, Decryptline13, Decryptline14, Decryptline15, Decryptline16, Decryptline17, Decryptline18, Decryptline19, Decryptline20, Decryptline21, Decryptline22, Decryptline23, Decryptline24;
IniFile ini = new IniFile(cfgpath);
string section = "Items";
Decryptline1 = ini.IniReadValue(section, "Hat1");
if (string.IsNullOrWhiteSpace(Decryptline1))
{
ini.IniWriteValue(section, "Hat1", GlobalVars.Custom_Hat1ID_Offline.ToString());
}
Decryptline2 = ini.IniReadValue(section, "Hat2");
if (string.IsNullOrWhiteSpace(Decryptline2))
{
ini.IniWriteValue(section, "Hat2", GlobalVars.Custom_Hat2ID_Offline.ToString());
}
Decryptline3 = ini.IniReadValue(section, "Hat3");
if (string.IsNullOrWhiteSpace(Decryptline3))
{
ini.IniWriteValue(section, "Hat3", GlobalVars.Custom_Hat3ID_Offline.ToString());
}
Decryptline16 = ini.IniReadValue(section, "Face");
if (string.IsNullOrWhiteSpace(Decryptline16))
{
ini.IniWriteValue(section, "Face", GlobalVars.Custom_Face_Offline.ToString());
}
Decryptline17 = ini.IniReadValue(section, "Head");
if (string.IsNullOrWhiteSpace(Decryptline17))
{
ini.IniWriteValue(section, "Head", GlobalVars.Custom_Head_Offline.ToString());
}
Decryptline18 = ini.IniReadValue(section, "TShirt");
if (string.IsNullOrWhiteSpace(Decryptline18))
{
ini.IniWriteValue(section, "TShirt", GlobalVars.Custom_T_Shirt_Offline.ToString());
}
Decryptline19 = ini.IniReadValue(section, "Shirt");
if (string.IsNullOrWhiteSpace(Decryptline19))
{
ini.IniWriteValue(section, "Shirt", GlobalVars.Custom_Shirt_Offline.ToString());
}
Decryptline20 = ini.IniReadValue(section, "Pants");
if (string.IsNullOrWhiteSpace(Decryptline20))
{
ini.IniWriteValue(section, "Pants", GlobalVars.Custom_Pants_Offline.ToString());
}
Decryptline21 = ini.IniReadValue(section, "Icon");
if (string.IsNullOrWhiteSpace(Decryptline21))
{
ini.IniWriteValue(section, "Icon", GlobalVars.Custom_Icon_Offline.ToString());
}
Decryptline23 = ini.IniReadValue(section, "Extra");
if (string.IsNullOrWhiteSpace(Decryptline23))
{
ini.IniWriteValue(section, "Extra", GlobalVars.Custom_Extra.ToString());
}
string section2 = "Colors";
Decryptline4 = ini.IniReadValue(section2, "HeadColorID");
if (string.IsNullOrWhiteSpace(Decryptline4))
{
ini.IniWriteValue(section2, "HeadColorID", GlobalVars.HeadColorID.ToString());
}
Decryptline10 = ini.IniReadValue(section2, "HeadColorString");
if (string.IsNullOrWhiteSpace(Decryptline10))
{
ini.IniWriteValue(section2, "HeadColorString", GlobalVars.ColorMenu_HeadColor.ToString());
}
Decryptline5 = ini.IniReadValue(section2, "TorsoColorID");
if (string.IsNullOrWhiteSpace(Decryptline5))
{
ini.IniWriteValue(section2, "TorsoColorID", GlobalVars.TorsoColorID.ToString());
}
Decryptline11 = ini.IniReadValue(section2, "TorsoColorString");
if (string.IsNullOrWhiteSpace(Decryptline11))
{
ini.IniWriteValue(section2, "TorsoColorString", GlobalVars.ColorMenu_TorsoColor.ToString());
}
Decryptline6 = ini.IniReadValue(section2, "LeftArmColorID");
if (string.IsNullOrWhiteSpace(Decryptline6))
{
ini.IniWriteValue(section2, "LeftArmColorID", GlobalVars.LeftArmColorID.ToString());
}
Decryptline12 = ini.IniReadValue(section2, "LeftArmColorString");
if (string.IsNullOrWhiteSpace(Decryptline12))
{
ini.IniWriteValue(section2, "LeftArmColorString", GlobalVars.ColorMenu_LeftArmColor.ToString());
}
Decryptline7 = ini.IniReadValue(section2, "RightArmColorID");
if (string.IsNullOrWhiteSpace(Decryptline7))
{
ini.IniWriteValue(section2, "RightArmColorID", GlobalVars.RightArmColorID.ToString());
}
Decryptline13 = ini.IniReadValue(section2, "RightArmColorString");
if (string.IsNullOrWhiteSpace(Decryptline13))
{
ini.IniWriteValue(section2, "RightArmColorString", GlobalVars.ColorMenu_RightArmColor.ToString());
}
Decryptline8 = ini.IniReadValue(section2, "LeftLegColorID");
if (string.IsNullOrWhiteSpace(Decryptline8))
{
ini.IniWriteValue(section2, "LeftLegColorID", GlobalVars.LeftLegColorID.ToString());
}
Decryptline14 = ini.IniReadValue(section2, "LeftLegColorString");
if (string.IsNullOrWhiteSpace(Decryptline14))
{
ini.IniWriteValue(section2, "LeftLegColorString", GlobalVars.ColorMenu_LeftLegColor.ToString());
}
Decryptline9 = ini.IniReadValue(section2, "RightLegColorID");
if (string.IsNullOrWhiteSpace(Decryptline9))
{
ini.IniWriteValue(section2, "RightLegColorID", GlobalVars.RightLegColorID.ToString());
}
Decryptline15 = ini.IniReadValue(section2, "RightLegColorString");
if (string.IsNullOrWhiteSpace(Decryptline15))
{
ini.IniWriteValue(section2, "RightLegColorString", GlobalVars.ColorMenu_RightLegColor.ToString());
}
string section3 = "Other";
Decryptline22 = ini.IniReadValue(section3, "CharacterID");
if (string.IsNullOrWhiteSpace(Decryptline22))
{
ini.IniWriteValue(section3, "CharacterID", GlobalVars.CharacterID.ToString());
}
Decryptline24 = ini.IniReadValue(section3, "ExtraSelectionIsHat");
if (string.IsNullOrWhiteSpace(Decryptline24))
{
ini.IniWriteValue(section3, "ExtraSelectionIsHat", GlobalVars.Custom_Extra_SelectionIsHat.ToString());
}
GlobalVars.Custom_Hat1ID_Offline = Decryptline1;
GlobalVars.Custom_Hat2ID_Offline = Decryptline2;
GlobalVars.Custom_Hat3ID_Offline = Decryptline3;
int iline4 = Convert.ToInt32(Decryptline4);
GlobalVars.HeadColorID = iline4;
int iline5 = Convert.ToInt32(Decryptline5);
GlobalVars.TorsoColorID = iline5;
int iline6 = Convert.ToInt32(Decryptline6);
GlobalVars.LeftArmColorID = iline6;
int iline7 = Convert.ToInt32(Decryptline7);
GlobalVars.RightArmColorID = iline7;
int iline8 = Convert.ToInt32(Decryptline8);
GlobalVars.LeftLegColorID = iline8;
int iline9 = Convert.ToInt32(Decryptline9);
GlobalVars.RightLegColorID = iline9;
GlobalVars.ColorMenu_HeadColor = Decryptline10;
GlobalVars.ColorMenu_TorsoColor = Decryptline11;
GlobalVars.ColorMenu_LeftArmColor = Decryptline12;
GlobalVars.ColorMenu_RightArmColor = Decryptline13;
GlobalVars.ColorMenu_LeftLegColor = Decryptline14;
GlobalVars.ColorMenu_RightLegColor = Decryptline15;
GlobalVars.Custom_Face_Offline = Decryptline16;
GlobalVars.Custom_Head_Offline = Decryptline17;
GlobalVars.Custom_T_Shirt_Offline = Decryptline18;
GlobalVars.Custom_Shirt_Offline = Decryptline19;
GlobalVars.Custom_Pants_Offline = Decryptline20;
GlobalVars.Custom_Icon_Offline = Decryptline21;
GlobalVars.CharacterID = Decryptline22;
GlobalVars.Custom_Extra = Decryptline23;
bool bline24 = Convert.ToBoolean(Decryptline24);
GlobalVars.Custom_Extra_SelectionIsHat = bline24;
}
GlobalVars.PlayerName = Decryptline3;
GlobalVars.SelectedClient = Decryptline4;
GlobalVars.Map = Decryptline5;
int iline6 = Convert.ToInt32(Decryptline6);
GlobalVars.RobloxPort = iline6;
int iline7 = Convert.ToInt32(Decryptline7);
GlobalVars.PlayerLimit = iline7;
bool bline9 = Convert.ToBoolean(Decryptline9);
GlobalVars.Custom_Extra_ShowHats = bline9;
bool bline10 = Convert.ToBoolean(Decryptline10);
GlobalVars.UPnP = bline10;
bool bline11 = Convert.ToBoolean(Decryptline11);
GlobalVars.DisabledHelp = bline11;
ReloadLoadtextValue();
}
if (string.IsNullOrWhiteSpace(Decryptline12))
public static void ReShadeValues(string cfgpath, bool write)
{
if (write)
{
GenerateTripcode();
WriteConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
//WRITE
IniFile ini = new IniFile(cfgpath);
string section = "GENERAL";
int NoReloadOnInit = GlobalVars.ReShade ? 0 : 1;
ini.IniWriteValue(section, "NoReloadOnInit", NoReloadOnInit.ToString());
}
else
{
string sdecrypt12 = SecurityFuncs.Base64Decode(Decryptline12);
GlobalVars.PlayerTripcode = sdecrypt12;
//READ
string Decryptline1;
IniFile ini = new IniFile(cfgpath);
string section = "GENERAL";
Decryptline1 = ini.IniReadValue(section, "NoReloadOnInit");
if (Convert.ToInt32(Decryptline1) == 0)
{
GlobalVars.ReShade = true;
}
else if (Convert.ToInt32(Decryptline1) == 1)
{
GlobalVars.ReShade = false;
}
}
}
bool bline13 = Convert.ToBoolean(Decryptline13);
GlobalVars.DiscordPresence = bline13;
public static void ReShade(string cfgpath, bool write = false)
{
string clientdir = GlobalVars.ClientDir;
DirectoryInfo dinfo = new DirectoryInfo(clientdir);
DirectoryInfo[] Dirs = dinfo.GetDirectories();
foreach (DirectoryInfo dir in Dirs)
{
if (!File.Exists(dir.FullName + @"\ReShade.ini"))
{
ReShadeValues(cfgpath, write);
File.Copy(cfgpath, dir.FullName + @"\ReShade.ini", true);
}
else
{
ReShadeValues(dir.FullName + @"\ReShade.ini", write);
}
}
}
GlobalVars.MapPath = Decryptline14;
GlobalVars.MapPathSnip = Decryptline15;
ReadCustomizationValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization);
}
public static void WriteConfigValues(string cfgpath)
{
IniFile ini = new IniFile(cfgpath);
string section = "Config";
ini.IniWriteValue(section, "CloseOnLaunch", GlobalVars.CloseOnLaunch.ToString());
ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString());
ini.IniWriteValue(section, "PlayerName", GlobalVars.PlayerName.ToString());
ini.IniWriteValue(section, "SelectedClient", GlobalVars.SelectedClient.ToString());
ini.IniWriteValue(section, "Map", GlobalVars.Map.ToString());
ini.IniWriteValue(section, "RobloxPort", GlobalVars.RobloxPort.ToString());
ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString());
ini.IniWriteValue(section, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString());
ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString());
ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString());
ini.IniWriteValue(section, "PlayerTripcode", SecurityFuncs.Base64Encode(GlobalVars.PlayerTripcode.ToString()));
ini.IniWriteValue(section, "DiscordRichPresence", GlobalVars.DiscordPresence.ToString());
ini.IniWriteValue(section, "MapPath", GlobalVars.MapPath.ToString());
ini.IniWriteValue(section, "MapPathSnip", GlobalVars.MapPathSnip.ToString());
WriteCustomizationValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization);
}
public static void ResetConfigValues()
public static void ResetConfigValues()
{
GlobalVars.SelectedClient = GlobalVars.DefaultClient;
GlobalVars.Map = GlobalVars.DefaultMap;
@ -234,248 +575,6 @@ public class LauncherFuncs
ResetCustomizationValues();
}
public static void ReadCustomizationValues(string cfgpath)
{
string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline8, Decryptline9, Decryptline10, Decryptline11, Decryptline12, Decryptline13, Decryptline14, Decryptline15, Decryptline16, Decryptline17, Decryptline18, Decryptline19, Decryptline20, Decryptline21, Decryptline22, Decryptline23, Decryptline24;
IniFile ini = new IniFile(cfgpath);
string section = "Items";
Decryptline1 = ini.IniReadValue(section, "Hat1");
if (string.IsNullOrWhiteSpace(Decryptline1)) {
ini.IniWriteValue(section, "Hat1", GlobalVars.Custom_Hat1ID_Offline.ToString());
}
Decryptline2 = ini.IniReadValue(section, "Hat2");
if (string.IsNullOrWhiteSpace(Decryptline2)) {
ini.IniWriteValue(section, "Hat2", GlobalVars.Custom_Hat2ID_Offline.ToString());
}
Decryptline3 = ini.IniReadValue(section, "Hat3");
if (string.IsNullOrWhiteSpace(Decryptline3)) {
ini.IniWriteValue(section, "Hat3", GlobalVars.Custom_Hat3ID_Offline.ToString());
}
Decryptline16 = ini.IniReadValue(section, "Face");
if (string.IsNullOrWhiteSpace(Decryptline16)) {
ini.IniWriteValue(section, "Face", GlobalVars.Custom_Face_Offline.ToString());
}
Decryptline17 = ini.IniReadValue(section, "Head");
if (string.IsNullOrWhiteSpace(Decryptline17)) {
ini.IniWriteValue(section, "Head", GlobalVars.Custom_Head_Offline.ToString());
}
Decryptline18 = ini.IniReadValue(section, "TShirt");
if (string.IsNullOrWhiteSpace(Decryptline18)) {
ini.IniWriteValue(section, "TShirt", GlobalVars.Custom_T_Shirt_Offline.ToString());
}
Decryptline19 = ini.IniReadValue(section, "Shirt");
if (string.IsNullOrWhiteSpace(Decryptline19)) {
ini.IniWriteValue(section, "Shirt", GlobalVars.Custom_Shirt_Offline.ToString());
}
Decryptline20 = ini.IniReadValue(section, "Pants");
if (string.IsNullOrWhiteSpace(Decryptline20)) {
ini.IniWriteValue(section, "Pants", GlobalVars.Custom_Pants_Offline.ToString());
}
Decryptline21 = ini.IniReadValue(section, "Icon");
if (string.IsNullOrWhiteSpace(Decryptline21)) {
ini.IniWriteValue(section, "Icon", GlobalVars.Custom_Icon_Offline.ToString());
}
Decryptline23 = ini.IniReadValue(section, "Extra");
if (string.IsNullOrWhiteSpace(Decryptline23)) {
ini.IniWriteValue(section, "Extra", GlobalVars.Custom_Extra.ToString());
}
string section2 = "Colors";
Decryptline4 = ini.IniReadValue(section2, "HeadColorID");
if (string.IsNullOrWhiteSpace(Decryptline4)) {
ini.IniWriteValue(section2, "HeadColorID", GlobalVars.HeadColorID.ToString());
}
Decryptline10 = ini.IniReadValue(section2, "HeadColorString");
if (string.IsNullOrWhiteSpace(Decryptline10)) {
ini.IniWriteValue(section2, "HeadColorString", GlobalVars.ColorMenu_HeadColor.ToString());
}
Decryptline5 = ini.IniReadValue(section2, "TorsoColorID");
if (string.IsNullOrWhiteSpace(Decryptline5)) {
ini.IniWriteValue(section2, "TorsoColorID", GlobalVars.TorsoColorID.ToString());
}
Decryptline11 = ini.IniReadValue(section2, "TorsoColorString");
if (string.IsNullOrWhiteSpace(Decryptline11)) {
ini.IniWriteValue(section2, "TorsoColorString", GlobalVars.ColorMenu_TorsoColor.ToString());
}
Decryptline6 = ini.IniReadValue(section2, "LeftArmColorID");
if (string.IsNullOrWhiteSpace(Decryptline6)) {
ini.IniWriteValue(section2, "LeftArmColorID", GlobalVars.LeftArmColorID.ToString());
}
Decryptline12 = ini.IniReadValue(section2, "LeftArmColorString");
if (string.IsNullOrWhiteSpace(Decryptline12)) {
ini.IniWriteValue(section2, "LeftArmColorString", GlobalVars.ColorMenu_LeftArmColor.ToString());
}
Decryptline7 = ini.IniReadValue(section2, "RightArmColorID");
if (string.IsNullOrWhiteSpace(Decryptline7)) {
ini.IniWriteValue(section2, "RightArmColorID", GlobalVars.RightArmColorID.ToString());
}
Decryptline13 = ini.IniReadValue(section2, "RightArmColorString");
if (string.IsNullOrWhiteSpace(Decryptline13)) {
ini.IniWriteValue(section2, "RightArmColorString", GlobalVars.ColorMenu_RightArmColor.ToString());
}
Decryptline8 = ini.IniReadValue(section2, "LeftLegColorID");
if (string.IsNullOrWhiteSpace(Decryptline8)) {
ini.IniWriteValue(section2, "LeftLegColorID", GlobalVars.LeftLegColorID.ToString());
}
Decryptline14 = ini.IniReadValue(section2, "LeftLegColorString");
if (string.IsNullOrWhiteSpace(Decryptline14)) {
ini.IniWriteValue(section2, "LeftLegColorString", GlobalVars.ColorMenu_LeftLegColor.ToString());
}
Decryptline9 = ini.IniReadValue(section2, "RightLegColorID");
if (string.IsNullOrWhiteSpace(Decryptline9)) {
ini.IniWriteValue(section2, "RightLegColorID", GlobalVars.RightLegColorID.ToString());
}
Decryptline15 = ini.IniReadValue(section2, "RightLegColorString");
if (string.IsNullOrWhiteSpace(Decryptline15)) {
ini.IniWriteValue(section2, "RightLegColorString", GlobalVars.ColorMenu_RightLegColor.ToString());
}
string section3 = "Other";
Decryptline22 = ini.IniReadValue(section3, "CharacterID");
if (string.IsNullOrWhiteSpace(Decryptline22)) {
ini.IniWriteValue(section3, "CharacterID", GlobalVars.CharacterID.ToString());
}
Decryptline24 = ini.IniReadValue(section3, "ExtraSelectionIsHat");
if (string.IsNullOrWhiteSpace(Decryptline24)) {
ini.IniWriteValue(section3, "ExtraSelectionIsHat", GlobalVars.Custom_Extra_SelectionIsHat.ToString());
}
GlobalVars.Custom_Hat1ID_Offline = Decryptline1;
GlobalVars.Custom_Hat2ID_Offline = Decryptline2;
GlobalVars.Custom_Hat3ID_Offline = Decryptline3;
int iline4 = Convert.ToInt32(Decryptline4);
GlobalVars.HeadColorID = iline4;
int iline5 = Convert.ToInt32(Decryptline5);
GlobalVars.TorsoColorID = iline5;
int iline6 = Convert.ToInt32(Decryptline6);
GlobalVars.LeftArmColorID = iline6;
int iline7 = Convert.ToInt32(Decryptline7);
GlobalVars.RightArmColorID = iline7;
int iline8 = Convert.ToInt32(Decryptline8);
GlobalVars.LeftLegColorID = iline8;
int iline9 = Convert.ToInt32(Decryptline9);
GlobalVars.RightLegColorID = iline9;
GlobalVars.ColorMenu_HeadColor = Decryptline10;
GlobalVars.ColorMenu_TorsoColor = Decryptline11;
GlobalVars.ColorMenu_LeftArmColor = Decryptline12;
GlobalVars.ColorMenu_RightArmColor = Decryptline13;
GlobalVars.ColorMenu_LeftLegColor = Decryptline14;
GlobalVars.ColorMenu_RightLegColor = Decryptline15;
GlobalVars.Custom_Face_Offline = Decryptline16;
GlobalVars.Custom_Head_Offline = Decryptline17;
GlobalVars.Custom_T_Shirt_Offline = Decryptline18;
GlobalVars.Custom_Shirt_Offline = Decryptline19;
GlobalVars.Custom_Pants_Offline = Decryptline20;
GlobalVars.Custom_Icon_Offline = Decryptline21;
GlobalVars.CharacterID = Decryptline22;
GlobalVars.Custom_Extra = Decryptline23;
bool bline24 = Convert.ToBoolean(Decryptline24);
GlobalVars.Custom_Extra_SelectionIsHat = bline24;
ReloadLoadtextValue();
}
public static void WriteCustomizationValues(string cfgpath)
{
IniFile ini = new IniFile(cfgpath);
string section = "Items";
ini.IniWriteValue(section, "Hat1", GlobalVars.Custom_Hat1ID_Offline.ToString());
ini.IniWriteValue(section, "Hat2", GlobalVars.Custom_Hat2ID_Offline.ToString());
ini.IniWriteValue(section, "Hat3", GlobalVars.Custom_Hat3ID_Offline.ToString());
ini.IniWriteValue(section, "Face", GlobalVars.Custom_Face_Offline.ToString());
ini.IniWriteValue(section, "Head", GlobalVars.Custom_Head_Offline.ToString());
ini.IniWriteValue(section, "TShirt", GlobalVars.Custom_T_Shirt_Offline.ToString());
ini.IniWriteValue(section, "Shirt", GlobalVars.Custom_Shirt_Offline.ToString());
ini.IniWriteValue(section, "Pants", GlobalVars.Custom_Pants_Offline.ToString());
ini.IniWriteValue(section, "Icon", GlobalVars.Custom_Icon_Offline.ToString());
ini.IniWriteValue(section, "Extra", GlobalVars.Custom_Extra.ToString());
string section2 = "Colors";
ini.IniWriteValue(section2, "HeadColorID", GlobalVars.HeadColorID.ToString());
ini.IniWriteValue(section2, "HeadColorString", GlobalVars.ColorMenu_HeadColor.ToString());
ini.IniWriteValue(section2, "TorsoColorID", GlobalVars.TorsoColorID.ToString());
ini.IniWriteValue(section2, "TorsoColorString", GlobalVars.ColorMenu_TorsoColor.ToString());
ini.IniWriteValue(section2, "LeftArmColorID", GlobalVars.LeftArmColorID.ToString());
ini.IniWriteValue(section2, "LeftArmColorString", GlobalVars.ColorMenu_LeftArmColor.ToString());
ini.IniWriteValue(section2, "RightArmColorID", GlobalVars.RightArmColorID.ToString());
ini.IniWriteValue(section2, "RightArmColorString", GlobalVars.ColorMenu_RightArmColor.ToString());
ini.IniWriteValue(section2, "LeftLegColorID", GlobalVars.LeftLegColorID.ToString());
ini.IniWriteValue(section2, "LeftLegColorString", GlobalVars.ColorMenu_LeftLegColor.ToString());
ini.IniWriteValue(section2, "RightLegColorID", GlobalVars.RightLegColorID.ToString());
ini.IniWriteValue(section2, "RightLegColorString", GlobalVars.ColorMenu_RightLegColor.ToString());
string section3 = "Other";
ini.IniWriteValue(section3, "CharacterID", GlobalVars.CharacterID.ToString());
ini.IniWriteValue(section3, "ExtraSelectionIsHat", GlobalVars.Custom_Extra_SelectionIsHat.ToString());
ReloadLoadtextValue();
}
public static void ResetCustomizationValues()
{
GlobalVars.Custom_Hat1ID_Offline = "NoHat.rbxm";
@ -692,6 +791,13 @@ public class LauncherFuncs
GlobalVars.presence.largeImageText = GlobalVars.PlayerName + " | Novetus " + GlobalVars.Version;
GlobalVars.presence.smallImageText = "In Character Customization";
break;
case LauncherState.InEasterEggGame:
GlobalVars.presence.smallImageKey = GlobalVars.image_ingame;
GlobalVars.presence.details = GlobalVars.Map;
GlobalVars.presence.state = "Reading a message.";
GlobalVars.presence.largeImageText = GlobalVars.PlayerName + " | Novetus " + GlobalVars.Version;
GlobalVars.presence.smallImageText = "Reading a message.";
break;
case LauncherState.LoadingURI:
GlobalVars.presence.smallImageKey = GlobalVars.image_ingame;
GlobalVars.presence.details = "";

View File

@ -32,7 +32,8 @@ public class ScriptGenerator
Server = 1,
Solo = 2,
Studio = 3,
None = 4
EasterEgg = 4,
None = 5
}
public static string GetScriptFuncForType(ScriptType type, string client)
@ -48,33 +49,33 @@ public class ScriptGenerator
string md5script = SecurityFuncs.CalculateMD5(GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\content\\scripts\\" + GlobalVars.ScriptName + ".lua");
string md5exe = SecurityFuncs.CalculateMD5(rbxexe);
string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'";
if (type == ScriptType.Client) {
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) {
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true) {
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false) {
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false) {
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else {
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
}
} else if (type == ScriptType.Server) {
return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")";
} else if (type == ScriptType.Solo) {
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) {
return "_G.CSSolo(" + GlobalVars.UserID + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.sololoadtext + ")";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true) {
return "_G.CSSolo(" + GlobalVars.UserID + ",'Player'," + GlobalVars.sololoadtext + ")";
} else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false) {
return "_G.CSSolo(0,'" + GlobalVars.PlayerName + "'," + GlobalVars.sololoadtext + ")";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false) {
return "_G.CSSolo(0,'Player'," + GlobalVars.sololoadtext + ")";
} else {
return "_G.CSSolo(" + GlobalVars.UserID + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.sololoadtext + ")";
}
} else if (type == ScriptType.Studio) {
if (type == ScriptType.Client) {
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) {
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true) {
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false) {
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false) {
return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
} else {
return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')";
}
} else if (type == ScriptType.Server) {
return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")";
} else if (type == ScriptType.Solo || type == ScriptType.EasterEgg) {
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) {
return "_G.CSSolo(" + GlobalVars.UserID + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.sololoadtext + ")";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true) {
return "_G.CSSolo(" + GlobalVars.UserID + ",'Player'," + GlobalVars.sololoadtext + ")";
} else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false) {
return "_G.CSSolo(0,'" + GlobalVars.PlayerName + "'," + GlobalVars.sololoadtext + ")";
} else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false) {
return "_G.CSSolo(0,'Player'," + GlobalVars.sololoadtext + ")";
} else {
return "_G.CSSolo(" + GlobalVars.UserID + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.sololoadtext + ")";
}
} else if (type == ScriptType.Studio) {
return "_G.CSStudio()";
} else {
return "";
@ -83,14 +84,16 @@ public class ScriptGenerator
public static string GetNameForType(ScriptType type)
{
if (type == ScriptType.Client) {
return "Client";
} else if (type == ScriptType.Server) {
return "Server";
} else if (type == ScriptType.Solo) {
return "Play Solo";
} else if (type == ScriptType.Studio) {
return "Studio";
if (type == ScriptType.Client) {
return "Client";
} else if (type == ScriptType.Server) {
return "Server";
} else if (type == ScriptType.Solo) {
return "Play Solo";
} else if (type == ScriptType.Studio) {
return "Studio";
} else if (type == ScriptType.EasterEgg) {
return "Message";
} else {
return "";
}

View File

@ -175,6 +175,8 @@ public class SecurityFuncs
SetWindowText(exe.MainWindowHandle, "Novetus " + GlobalVars.Version + " - " + clientname + " " + ScriptGenerator.GetNameForType(type) + " [" + GlobalVars.IP + ":" + GlobalVars.RobloxPort + "]" + RandomStringTitle());
} else if (type == ScriptGenerator.ScriptType.Server || type == ScriptGenerator.ScriptType.Solo || type == ScriptGenerator.ScriptType.Studio) {
SetWindowText(exe.MainWindowHandle, "Novetus " + GlobalVars.Version + " - " + clientname + " " + ScriptGenerator.GetNameForType(type) + " [" + GlobalVars.Map + "]" + RandomStringTitle());
}else if (type == ScriptGenerator.ScriptType.EasterEgg) {
SetWindowText(exe.MainWindowHandle, ScriptGenerator.GetNameForType(type) + RandomStringTitle());
}
Thread.Sleep(time);
}

File diff suppressed because it is too large Load Diff

View File

@ -33,11 +33,14 @@ namespace NovetusLauncher
InitializeComponent();
InitColors();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
Size = new Size(681, 347);
panel2.Size = new Size(568, 302);
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void InitColors()
{
@ -144,6 +147,7 @@ namespace NovetusLauncher
{
if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage1"])//your specific tabname
{
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
@ -156,6 +160,7 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage7"])
{
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
@ -179,8 +184,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage2"])//your specific tabname
{
//hats
listBox4.Items.Clear();
//hats
panel3.Location = new Point(110, 239);
listBox4.Items.Clear();
listBox5.Items.Clear();
listBox6.Items.Clear();
listBox7.Items.Clear();
@ -244,8 +250,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage3"])//your specific tabname
{
//faces
listBox1.Items.Clear();
//faces
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox5.Items.Clear();
@ -284,8 +291,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage4"])//your specific tabname
{
//faces
listBox1.Items.Clear();
//faces
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox4.Items.Clear();
@ -324,8 +332,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage5"])//your specific tabname
{
//faces
listBox1.Items.Clear();
//faces
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox4.Items.Clear();
@ -364,8 +373,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage6"])//your specific tabname
{
//faces
listBox1.Items.Clear();
//faces
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox4.Items.Clear();
@ -404,8 +414,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage8"])//your specific tabname
{
//faces
listBox1.Items.Clear();
//faces
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox4.Items.Clear();
@ -444,8 +455,9 @@ namespace NovetusLauncher
}
else if (tabControl1.SelectedTab == tabControl1.TabPages["tabPage9"])//your specific tabname
{
//faces
listBox1.Items.Clear();
//faces
panel3.Location = new Point(110, 359);
listBox1.Items.Clear();
listBox2.Items.Clear();
listBox3.Items.Clear();
listBox4.Items.Clear();
@ -1706,8 +1718,68 @@ namespace NovetusLauncher
private void button71_Click(object sender, EventArgs e)
{
LauncherFuncs.WriteCustomizationValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization);
LauncherFuncs.Customization(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization, true);
MessageBox.Show("Outfit Saved!");
}
private void button72_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage1;
}
private void button73_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage2;
}
private void button74_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage8;
}
private void button75_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage3;
}
private void button76_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage4;
}
private void button77_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage5;
}
private void button78_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage6;
}
private void button79_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage9;
}
private void button80_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabPage7;
}
private void button81_Click(object sender, EventArgs e)
{
tabControl2.SelectedTab = tabPage10;
}
private void button82_Click(object sender, EventArgs e)
{
tabControl2.SelectedTab = tabPage11;
}
private void button83_Click(object sender, EventArgs e)
{
tabControl2.SelectedTab = tabPage12;
}
}
}

View File

@ -117,159 +117,259 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="label4.Text" xml:space="preserve">
<value>NOTE: The icon will only function in a client with a custom scoreboard (I.E Early 2011). You will have to have UPnP or ports forwarded for the Web Server if you want other players to see your body colors.</value>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACe
OAAAAk1TRnQBSQFMAgEBAwEAAVgBAAFYAQABQAEAAUABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
BAABAQIAAUADAAEBAQABCAYAAUAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/2AAAv8B8wHwAQcB7wH3
Ae8BvAHzAv/zAAH/AfMBBwFtAREEDgEQARIB9wHyBP/uAAH/AfMB7AERAQ4BAAEOARABEQEQAw4BEgEH
AfIB8QHzAf/tAAH/AfABQwEOAREBbQHvAfAB8QHwAfcBEgEOAQABEAESARMB6wG8Af/sAAH/AfQB7AET
Ae8B9AX/AQcBFQEOARABEwESAkQBHAH0Af8dAAH/AfIB8AIHAfAB8gH/DQAB/wHzAfECBwG8AfEB9G4A
Af8B9AG8Ae8CbQHqAW0B7AEHAbwC/zIAAv8B8gG8Ae8B7AFtAZIB7wEHAbwB8gH0AfMB7QFEAREBEwHr
AewB6wEUASMB7QH0Af8aAAH0AewBEAEOAQABDgMPAREB7QHyAf8HAAH/AfMB7wETBA4DDwFtAfIB/2kA
Af8B8QHqAQ4BAAEOARUBbAGuApEB6wESARUB7QH0AQAB/wH0A7wD9CUAAv8B9AEHAewBEwEVARMBEgHq
AW0E7AH3AewBRAEkASoBMQEwARIB6wHqAUMBIwHtAfQB/xgAAfIBEQIAAQ8BEgFtAuwB6wFtARQBEQET
AQcB/wMAAf8B8gHrAQ8BAAEOAREB6gFtAuwB6wFtARQBEAHvAf9mAAH0Ae8BEgIAARUBkQG6AtsF2gHb
AZEBFQHsAREBDgFDBWwB7AHzIQAC/wHzAe8BEgEQAUMB6gLsAesBbQLrAm0D7AFKASoBMQI4AQMBFAHq
ARMBEQEjARwB9AH/FgAB8gEPAQABDgEUAewBkgUHAe8B7AFtAUMBEwHwAf8B8wHsAQ4BAAEOARQBbQHt
Ae8BvAQHAe0B6wERAZIB/2EAAv8B8gGSARECAAEVAbQBugHbBegB2wTaAboBiwEAAZEF6AHhAZEB7x4A
Av8B9AHxAZIBFAIOARMC6wFtA+sEbQLqAesB7AHqAUQBMQE4ATcBKQEVARMBQwEiASQBHAH0Af8UAAH0
ARECAAETAewBBwH3ARMBEQEQAUMB6gH3AbwB7wHsAW0BEQFtARABAAEOAUMB6wHtAgcB7QETAUMBEAFD
AW0C7wHsAREBB18AAfQBvAHsARACAAEOAQ0BbAGLArMBkAG6A+gC2wPaAdkB0wHUAbQBQwGzAtoB2wLo
AWwBbQH/GgAC/wHzAbwB7QHqARACDgEQARUBFAETARUBFAESA+sEbQHqARIB6gFtARIBQwExATgBNwEi
AREBQwEPASIBJAEcAfQB/xIAAf8B7AIAAUMBkgEHAeoBbQG8AQcB7QEVAQ4BAAERAewBBwHvAewBEwIO
AW0B7AHvAQcBbQEVAewBvAHwAewBDgEAAQ4B7AEHAe0BFAH0WwAB/wHyAe0BDwIAAQ8BFQFsAYsEkAEV
AhEBQwFsAboC2wPaAtkC0wGzAQ0BswLbAegB4QFlAYsB7xgAAv8B8QHtARQBDwEOAQ8BEAFDBBUBEQEP
AQsBEAFDARQBbQHrAm0C6gESAhMB6gETAUQBMQE4ATADDwEAASIBKgEcAfQSAAHzAQ4BAAEOAfcB8QLs
Af8DAAH/AfABEgIAARAB7AEHAe0BbQEQARIBBwHrARQBBwH0AwAB/wG8AQ4BAAEOAe8B8QHsAe9ZAAH/
AfQBbQEOAQABDgEVAYsDkAGLAWwBFAEVARABHgFNASwBKwFLAZEB6AHbA9oC2QPTAbMBDQG6AugBugFr
AbkBbAH/FQAC/wHwAewBEAEOAQ8BEQFDARUCQwQRAQ4BHgMlAQsBEgHrAm0C6gISAhMB6gETASMBNwE4
AQMBDgMAASIBKgHvAf8RAAHvAgABQwG8AewBQwH0BgAB/wEHARACAAETAQcBkgHsAhEBkgH0BgAB/wHr
AgABFQGSAe8BEgH/VwAB/wGSAQ4BAAEOARQBiwKQAWwBEQEQAUQCSwFSAUUBHwMsAUwBDwFsAbkD2gLZ
A9MBzQGQAWwC6AGLAYoB2gFsAfIUAAH/AfMB7QERAQ4BDwEQARUBFAERARABIgEjAiQBJQEkAQsBAQMm
ASMBEQEUARIBbQLqAxICEwESARQBKgI4ASkEAAEjAUwBvAH/EAABbQIAAesB7wHqAewB/wcAAfEBEAEA
AQ4BQwEQAZIB7wHsARAB7AEHAewB6wFtAesB7AHtAQcB7QIAAQ4B6wEHARMB81YAAfMBEgIAAhQBIgER
ARUBIgFLAVIBUwQyAUsBJAFTAlkBUgFLAUwBFQFsAbkB2gLZA9MBzQGtAWYBugHhAWYBswHaAWwB8hMA
Af8BvAESAg4BEAEPAQsBEAERASMBJAIrAywBKwELAUUCdQFSASMCJAFEARQBEgHqBBIBEwESARMBRAFY
ATgBNwEjAwABDgEkAUsB8wH/DgAB/wFDAgAB9wGSARUBvAcAAfABDwEAAQ4BEgLsAQ8BbQEVAQ4BAAEP
ARUBSgFzAnQCcwFLARQBDgEAAeoB7wFtAbxUAAH/AfABDwEAAQ4BbAFDAUUBJgEBAUQBUwIyAVMCMgJT
AUwBIwF6AaABmQFDAVIBMgFTAUsBQwG5AtkE0wHNAYYBkQG6AWUB0wHaAWwB9BIAAf8B7wERAQ4CEAEe
ASABAQELASQHLAErASMBSwGaARsBcwEkASsBLAElASMBFQcSARMBFAF0AeUBOAE3ASIDAAEiASoBHAH/
DgAB9AEPAQABDgHvAe0BEQHzBgAB8gEPAQABDgESAewB7wETAwABFQFzAXkDegJZA3oBmgGZAUoBEQHs
AvdUAAHwAQ4BAAERAZEBEQErASwBJgEfAUUBUwEyB1MBSwFEAXkBIgFSAVMBMgJTAVIBEQGzBNMCzQGm
ApEBigHTAdoBbRIAAf8B7wEPAQ4CFQEBASUB+QEfAQsBJQgsASsBIwFLAW4BJAErBCwBIwERARQGEgFD
AUsBGgF6AfsBMQEiAQABDgEQASMBSwHxAf8NAAHzAQ4BAAEQAQcB7AEUAfQFAAHzARECAAETAesBEgEQ
AgABSgF0CXoBWQNYAXoBHAETAeoB7FMAAfEBDgEAARUBtAGzAUQCLAFTAUwBRQpTAUsBIgFSBFMCMgFL
AQ0BigGyAtMBzQGsAQ0BugFsAbMB2QGzAQcRAAH/Ae8BDwEOARQBEgFEASUBJgFNAUwBHgElBywCMgEr
AiQBKwUsASsBIwEPAUMBEwMSARQB6wHsAXQBWQL7ATABDgEQARQBFQEjARwB/w0AAfIBDgEAAREBvAHs
ARQB/wQAAfQBFAIAAQ4BEQEOAQABDgEiAUsEWAF6AZoHegJZAlgBeQFKARIB/1EAAf8BEwEAAREBtAG5
ARQBIwFZAnoBRAFSA1MKWQVTATIBUwEiAQsBDQHTAc0BrAFlAZAB3AFlAdMB2QFsAfMQAAH/AfABEQEO
ARIBbQEVASIBTAKaAUwBJAErAiwMMgUsASUCAAERAhIBEwFtAfAB7wExATgC+wE4ASkBEAESAW0BSgFL
AbwC/wsAAfIBDgEAAREBvAHsARMC/wHzAfEBBwESBAABDgEiAUoCUQIwATEBSwEpAUoBUQF5BnoBWQRY
AXoBUQHsAf9PAAH/AewBAAEOAbQBuQFsAUsBRAGZAaABUQFLAVMPWQVTAUUBAQFDAdMBrAFlAZAB6AG6
AWsB0wHaAWYB/xAAAfMB6gEOARIB6wETASIBIwFLARoBmQEjASsDMgtTAzIDLAErAQsBAAEQARIBEwFt
AfEB8wFzATEC+wM3ASMBEwLsAUoBSwG8AfIB9AH/CQAB8wEOAQABEAEHAewBFQFtAUMBDgQAAQ4BIwED
AVEBMAJRA1IBSwEiASkDIwFKBHoHWAF6AVEB7QH/TgAB9AEOAQABiwG6AZABRAFTAVIBIwFLAUQMWQF6
BlkDUwFLAR8BDAGmAWUBugLoAYsBrQHTAbMB7QH/DwAB/wHvAQ4BFQHrARIBQwElASsBJAJEASQCMg9T
AjICLAErAR4BCwEQARQB7AHzAf8B7wFLAVkBXgE3AiIBAwExAQMBbQHvAe0DSwEcAfMJAAH0AQ4BAAEP
AQcBbQIOAwABDgEiAUsCUgNRAQMBKQMiAQ4BSgNYAVIBIgF5A3oCWQZYAXoBSwEHTgABkgEAAQ8CugEV
BFMBSwFSBFkKegZZAlMBSwEkAQsBbAG6A+gBZQHUAdkBiwHwEAAB9AHqAQ8CbQEVASQDLAIrATIEUwF1
CXoBdQNTAjIBLAErASMBCwEVAe8B9AH/AfMBbgFZAeUBWQEpAgABDgFKAVgBUQHtAfEBHAFzAUsBTAG8
CAAB/wG8AQ4CAAEQAUMBFAEPAgABIgEpAVEBUgEwAUsBKQEiAQ8FDgEPAUsCWAE4AVEBDgEiAUoBdAF6
AlkHWAF5AUoB9E0AARMBAAFsAdoBiwFLATIDUwRZD3oDWQJTAUsBRQFmAdoB2wLoAboBZQHTAdoBbAH0
DwAB/wHxARABQwFtARIBIwErAywCMgNTAXUNegF1AlMCMgEsASQBRAEHAf8BAAH/AfIBSwF6AeUBUQEO
AQABDgETAZIBcwFYAXMB8wH/AfABSwFzAfQGAAH/AfIB6gEOAQABDgEUAW0BEgEOAQABDwFLAUoCIgFK
ASIKDgFRA1kBUgMAAQ4BSgFYAVkGWAE3AVgBUQHvTAAB9AEPAQABtAHbARQEUwNZE3oCWQFTAUsBDQG5
AdoB2wLoAZABiwHTAbMB7BAAAf8B7wEOARQBbQEUASQDLAEyA1MBdQR6CpoDegJTATIBLAEkAfcB/wIA
Af8BvAFLAeUBeQEUAQ4BAAFDAZIB8AEcAVIBHAH0Af8BHAFLAfEB/wUAAfQB7AEOAQABDgEUAesB7QET
AgABFQFRAUQBKQFYAQMEDgYPAg4BSwF6AaABmQEUAQACDgIAAUQBWAFZCFgBbgH/SwAB8wIOAboBtAFE
A1MDWQR6C+UBegF5AVEBSwF5AlkBUwFLAYsC2gHbAugBbAGzAdkBkAEHEAAB/wHsAQ4BEgHqAUMBJQMs
ATICUwN6DZoBegJ0AlMBMgEsAUsB8wIAAf8B8gFzAVgBeQFzAW0BEAEOAesBvAGZAVgBcwHwAf8BvAFL
AZMB/wQAAf8B8AERAgABQwHrAZIB7wESAgABSgFSASMBUgFYATcBUQEPAQ4LDwEVARQBDwYOAQABIwFS
AlgBNwVYASIB7QH/SgAB8wIOAZABDgFLA1MCWQR6AeUGoAHlAaABeQNRARQBZQGLAREBUgFZAVMBSwGQ
AtoB2wHoAdsBZQHTAdoBbAHzEAAB/wHsAQ8BEwFDAQsBKwIsATICUwN6A5oHGgGaAnkBdAFKARUBEwFL
AVMBMgEsAUwB8wEAAf8B9AEcAVIB5QFRAeoBEgEPARQCBwF5AVEB7wH/AfQBcwFLAfMB/wMAAf8B7wEO
AQABDgESAewCBwETAgABSwFYATABUQFZAlgBUgEiBA8HEAIPCQ4BAAEiATAFWAFZAVEBQwEUAW0B9EkA
AfMBDgEAAWwBCwFLAlMCWQN6AeUJoAF5A1EBSgENAawB2wG6AUMCUwFLAZAB2gHbAugBtAGLAdMB2gFs
EQAB/wHsAQ4BQwELAR4CLAEyAlMCegKaAhoHwwGaA3QBSwFDAeoB6wEUASoBMgEsAUwB8wEAAf8BBwFL
AVkBUgEiARABDgEPAZIBvAF5AVEBHAH0Af8B7wFEAW0B9AMAAf8B7wEOAQABDgHqAZIBvAHsAQ4CAAFL
AVkBWAFLAVEBWAJ6AVgBEAEPDBADDwYOAQACDgEiAVICWAE3AVgBIwGSAe0CEgH0SAAB/wFDAQABEwEL
AUsCUwJZAnoB5QOgA8MEoANRAVABEAHHAc0B2gHbAZABUgFTAUsBZgLbAugBbAGyAdkBswEHEQAB/wHv
Ag4BHgEjAiwBMgJTAXoCmgEaAsME9gLDARoDdAFLAUMBEwFtAewBbQFEASsBLAFvAfQB/wHxAW4BNwFY
ASICAAEOAW0BvAEcAVgBcwHxAf8B8QFLASIBEgH0AwABvAEOAQABDgHqAfcBBwETAUMBDgEAAUoBeQFY
AVEBDgFRAXoBmgF5AUQBDgQQCREBEAMPBg4BAAEiAUQBKQJYAVIBIgEAARIBvAHtARIB6wH/SAAB7AEA
AQ4BHgFLAlMBWQJ6AeUCoAbDAqABcwNRAREBpgLNAtoBbAFSAVMBJAEjAREBugLoAQ0BswHZAYsB8REA
Af8B8gERAQABHgEBAiwBMgFTAnoBmgEaAcMH9gHDAZkCdAFLARUBEwLqAW0B6gFEAisBcwH/AfQB7QEx
ATgBAwMAARUCBwFYAXMBBwH/AfQBHAFLAW4B7AH0AgAB9AEQAgABEgGSAQcBFAG8ARQBAAFDAXkBWAFR
Ag4BIgFzAZoBUQEOAxALEQIQAw8EDgIAASIBSwEpAVgBMAFKARQCAAEUAbwB7AERAQdIAAHzAQ8BAAEP
ASQBUwJZAnoB5QGgA8MC9gPDAXkDUQFDAaYBQgHNAtoB2QFsAVIBUwIjAUwBDwFsAboBZQHTAdoBZgH/
EgAB/wHtAQABCwEjASsBMgJTAXoCmgHDA/YB/wP2AcMBmQJ0AVIBRAEUAeoCbQHqARMBIwIrAe8B/wEH
AUsCOAEDAQ4BAAERAfcBvAF5AVEBHAH0Af8BBwFLAXMB7AG8Af8CAAHvAgABEAHsAQcBEwG8AfABAAEO
AXQBWQFYASIEDgFDASIBEAURBkMEEQIQAg8EDgEAAQ4BIwFLASkBSgHrAvQBFQIAAesBBwHrARQB/0cA
Af8B8QEOAQABIgFTAlkBegHlAqADwwP2AcMBmQNRAUMBBAFCAc0B2wLoAdoBFAFTAVIBIwErASUBRQEj
AQ8BigHUAbMB9wH/EgAB/wHzARIBAAEOASsBMgFTAXUBegGaARoBwwL2BP8B9gEaA3QBRAEVARIBbQLs
AesBEwEkASwBTAHxAfIBbgEyATgB+wE4ATABIgFtAbwBHAFYAXMB8gH/AfMBcwFLAesB9wH/AwABFAIA
ARIB9wGSAewB/wHqAQABRAJ6AUoBAAMOAw8EEQlDAxEDEAIPBQ4BIwFRARABBwH/AgAB8AEOAQABDwEH
Ae0BQwHwSQABvAIAAVICWQF6AeUCoAPDA/YBGgFzAlEBFQEEAUIBzgHbA+gBkQFKAVMBJAElAiwBKwEk
AUUBEAFmAWwBvBQAAf8B8QEUAQABJAEyAVMBegKaAsMC9gT/ARoBkwJ0AUQBFQESAW0E7AEUASQBLAFu
AfQBvAErAjgD+wE3AVEBcwFYAXMBvAH/AfQBHAFLAW4B7AHzAf8DAAFDAQABDgFtAQcBEgHyAfQBDwEA
AVEBWQFSBQ4CDwIQAhEFQwQVAkMDEQIQAg8EDgEPASMBSgEHBAAB/wETAgAB7AHvAeoB7UkAAf8BEgEA
AUQCWQF6AeUCoAPDAvYBGwNzARUBBAFCAc4B2wPoAZEBSgFTAVIBRAUsASQBTAEjAQ8B8BUAAf8BBwEQ
AQsBKwFTAXoCmgHDA/YD/wEbARwBdAFzAUQBFQESAW0D7AHrARQBIwIrAQcB/wEHASsCOAT7AVgBeQFz
Ae8C/wG8AksBbQHwAf8EAAERAQABDwHsAQcBEgH/AbwBAAEPAXkBWQFKAQADDgIPAhADEQNDBxUCQwMR
ARADDwMOAgABbQH/BQABkgIAARQBBwHqAW1KAAHxAgABUgFZAXoB5QOgA8MBGgJzAesBEQGFAaEBzgLo
AtsBbAFKAlMBIwFKAVMFLAErASUBIwFEAewB/xQAAfQBbQEAASQBUwF6ApoBGgHDAvYB/wH2ARoBkwF0
AW4CFQHqAW0D7AFtARUBIwIrAW4B9AH/AbwBKwI4A/sBXgLlAXMB9wH0AfMBcwEqARQB9wH/BQABEQEA
AQ8B7AEHARIB/wH3AQABFQJ6ARUBAAMOAg8CEAIRA0MDFQEUBBUDQwMRARACDwQOAQAB7AH/BQABkgIA
ARUBBwHqAW1KAAH/AQ4BAAEPAXkCegHlA6ABwwGZAnMBEgEKAaEBxwHUAegB2wHaAbkBFAFLAlMBSwIA
AXkHLAElAUYBIwFEAfAB/xIAAf8B7wIOASoBUwF6AZoBGgHDA/YBGgGTAXQBSwEVARQB6gHrAuwB6wES
AUMBJAIsAUUBvAL/AfABSwI4A/sBXgHlAaABmQFzAfcBHAFLASMB6wH0Af8FAAFDAQABDgFtAQcBEgHy
Ae0BAAFKAXkBSgEPBA4CDwIQAhECQwQVAxQDFQNDAREBDwEiAQ8FDgEPAUMB9AQAAf8BEwIAAewB7wHq
Ae1KAAH/Ae0BAAEQAREBdAF6AeUCoAF5AXMBUQFKAUMBBAGhAccC2wLaAZABFAFSAlMBSwFDARUBAAFK
AVMHLAElAUwBIwFEAfcB9BEAAf8B8QEQAQABDwFLAXoCmgMaAZkBdAFuAUQBFQETAW0B6wLsAW0BFAEi
ASsCLAEkARwB/wIAAfIBSwI4AvsBXgHlAqABwwEbARwCUgEHAfMB/wYAARMCAAESAZIB9wLsAQABRAFL
AiIEDgIPAhACEQJDAxUEFAMVA0MBEAEjAVgBeQEVBA4BEAEUAQcEAAHwAQ4BAAEPAQcBkgFDAfBLAAHy
Ag4BiwFlARQCUQFLAUoBEwFDAV8BoQHHAdQB2wLaAbkBbAFLAlMBUgEjAQ0BuQGzAQABDgF5CSwBJQIk
AUQB8AH/EAAB/wHrAQABEAEVAUoBUgF0AXkCdAFLAUQBFQEUAeoBbQHrAewB6wESAUMBIwErASwBKwEk
Ae0B9AMAAfQBcwEyATgB+wFeAeUCoAHDAvYBmgFSAfAB/wgAAe8CAAEQAu8BFQFDAQABIgFLAiIBAAMO
Ag8CEAIRAkMDFQQUAxUCQwERASIBUgFZAXoBeQEiAw4BEQJtAf8CAAH0AUMCAAETAbwB7wEUAf9LAAH/
Ae0BAAENAbMBxwEEAl8BBAGFAaEBxwHOA9oBuQGLARQBUgJTAUsBDgFsA9oBZgEAAUoDUwIsAUwBdQMs
AisBJAEjAesB9A8AAf8B8AERAQ4CFAEVA0QCFQEUARIBbQLrAW0BEgEVASIBJAIsASUBRAH3AfQEAAH/
Ae8BKwEyATgB5QKgAsMB9gGaAXQB8AH/CQAB9AFDAgAB7AEHAesBEAIAASMBKQEQBA4CDwIQAhECQwQV
AxQDFQJDASIBUgFYAlkBegFRAw4BFAHsARUB9AEAAfMBEwIAAREB7AG8ARIBB00AAf8B7AEAAQ0BswHT
Ac0CQgHNAdQC2gHZAbMBiwEVAUsBUwFSAUsBIgEAAWwE2gG6AgABeQF1AXoBUwEsAUsBEQF0AVMELAEk
AUUBQwG8Af8OAAH/Ae8BEAEPARMCEgITARIB6gRtARIBFQFDASQBKwEsASsBIwESAQcB/wUAAf8B8QES
ASIBKQF5AaACwwL2AXkB7wH/CwAB8AEOAQABDgGSAQcB6wEOAQABDgFKASIEDgIPAhACEQNDCRUBQwEQ
AVEEWAFZAVECDgEAAesB7QEVAbwBBwEQAgABFQHsAQcB7AHrAf9OAAH/AewBAAENAYoBswLTAtkCsgFr
AREBSgFLAUoBIgEAAQ4CAAG6BNoB2wFmAQABSgR6AVMBIgEAAUoBdAFNAywBJQFGAUQB/w8AAf8B9wEP
AQ4BQwESA+oBbQHqARIBEwFDAREBIwEkASUBJAEjAUQBkgHzAf8FAAH/AfQBkgIPARQBFQF5AcMB9gH/
AcMBdAHwAf8MAAHvAQ4BAAEOAZIBBwHqAgACIgUOAg8BEAMRA0MHFQFDAREBAwFYATcEWAEpAg4BAAHs
Ae8B6gEPAgABDwHqAe0BvAHsAeoB/1AAAf8B8AESAQABDgQNAQ4EAAEOARQBkgHwAewBAAEQAdsE2gHb
AboBAAEOAXkEegFLARQBDwEOAW4BUwQsAUQB/w0AAf8B8wG8AewBQwEOAQABDgEQA0MBEQEQAQ4BAAEL
ASMBRAEUAesB7wHyAv8GAAH/AbwBQwEOAW0BEwERAUoBcwEbAfYBegGZAf8NAAH/AQcBDgEAAQ4B7AHw
ARMEAAQOAg8CEAIRBEMFFQJDASkDWAF6AZoBegFYASIBDgIAARQBBwFtAg4BFAHsAe8BvAJtAfRRAAP/
AfIBBwPvAQcE8AH0Av8BAAH/AREBAAFsAdsE2gHbAegBFAEAAUoEegF1AUQBBwIAAXQDLAFMAfcB/wsA
Af8B9AHvAm0C6wFtARIBFAEQAQ4BEAFtAewBkgH3AZIB9wHvAbwB8gH0Av8HAAH/AfMB7AEOARUB6gER
AesBEwEUARwBeQF0AfQB/w4AAf8B8QFDAgABEwHvARMDAAQOAw8CEAMRB0MBEQEpAlgBWQF6ApoBegF0
Aw4BAAERAQcB7AEQAeoB9wG8AfcBFQGSAf9UAAH/DgAB8QIAAbQF2gHbAegBugEAAQ4BmQR6AUsBFAEA
AREBUwMsASQB8gsAAf8B8wLsAe8BBwHvAfcBkgP3AewBEgG8B/8KAAH/AfQBkgEQAQ4BEwERARIB6wET
AfcBbQFzAfMD/w8AAfQB7AEOAQABDwHqAQ8CAAQOAw8DEAMRBUMBEAEpAlgFegF5ARABDgIAAQ8BDgH3
Ae0BEAHtAQcCEwHyZQAB7wEAAQ4B2wTaAtsB6AG6AgABSgV6AQsBAAFKAXoBdQFTASwBRAH0CgAB/wHz
AewB7wHyAQcB9wGSAe0B7AHtAfcB7wG8Ae8B7AHyAf8PAAH/AQcBEQEAAQ4BEgHrARIBFQHtAewB6gHv
AQcB7wEHAfIC/w4AAf8B8gFtAQ4FAAQOAg8EEAQRAkMBEAEDAlgFegFSASICDgEAAREB7QERAe0BkgEV
AREBEwEHAf9lAAH/ARQBAAEUAdsE2gHbAugBiwFsAQABDgGZBHoBSwEAAVEDegFSAewB/wkAAf8B8wHs
AQcB9AG8Ae8C9wHtAuwB7QGSAe8B8QEHAewB8gH/BgAG/wH0AfMBBwESAQ4CDwEQAhIBQwHqAUMBFAHq
Am0B6gESAewB8AH/DwAB/wHwAQ8EAAUOAw8DEAQRASIBAwJYBHoBWAFLBA4BDwHvAfABEwHrAfcB6gHs
Af9nAAHzAQ4BAAGQBdoB2wLoAWUBswFlAQABbQR6AXkBCwF5A3oBSwG8CgAB/wHvAW0B8wHyAbwCBwLv
Ae0C7AHtAfcBBwHzAQcB6wHzAf8D9AHzAfEB8AEHAe8B9wHtAewB6wESARABAAEPARUBQwEQAQ8CDgEV
AewBvAHwAfEB8gHxAbwB7QHqAe8B/w8AAfQBDgQABg4DDwQQAREBIgFRAVgBWQR6AVIBIwQOAQABEwHq
AUMBDgETAe8B6gHtaAAB8AIAAboF2gHbAegBugFlAdoBswEAAQ4BmQJ6AZoBegFSBHoBSgHyCgAB/wHx
ARMBbQHsBOsBBwG8Ae0C7AHtAfcBvAHzAewBbQGSAewB6wFtAeoDEgHqAW0B6wHsAe0B6wEPAQABDgER
ARUBQwEQAQABFQEHA/MD8gLzAbwB7AHvAf8OAAHzAQ4EAAFKASIBAAQOBg8BKQFSAVgBWQN6AVgBSwEi
BA4BAAEPAewBbQIAARUBBwHqAexoAAHrAQABDQHbBNoB2wLoAZEBiwHaAbMBDgEAAesBegOaAnoBmgJ6
AUQB/wsAAf8BvASSAfcBbQHsAfMB9wPsAZIB7wHxAbwBbQHqAesD7AGSAfcD7wMHAewBEwHqAREBDgEQ
AUMCDwGSAfQB8gHxAfABvAHvAQcB8AHzAfQB8gHrAQcB/w0AAfMBDgEAAQ4BDwEAASMBUgEjBw4BIgEp
AVICWAJ6AVgBWQFSASMHDgG8AQAB8AIAARUBBwHqAexnAAH0AUMBAAFsAegC2gLbA+gBbAGzAdoBiwH3
Ag4BmQaaAXoBdAEcDQAG/wHwAW0B8QHvBOwB9wG8AfIB7AESAW0B6wLsAe0B9wLvAgcB8AHvAeoB9wHy
Ae8BFAEPAg4BbQLwArwB7wFtARMBEgHrAbwB8wEZAe8BbQHzDQAB8wEOAQABDwESAgABAwFYAVEBKQMj
ASkBUQFSAVgCWQFYAlkBUgFKAQ8GDgEPAW0B/wEAAQcCAAEVAQcB6gHsZwAB8wIAAZEBtAKQAWwBiwGQ
AZEBugFlAtoBbAH0AewBAAHrB5oBSwHwEwAB8QFtAfEB7wLsAesB7AHtAe8B8AHrAREBEwFtAesB7AH3
Ae8CBwO8AfcB6gG8Av8B8QFtAQ4BQwH3AQcD7wHsAW0B8QHyAe0B6wG8AfMBvAESAfENAAHzAQ4BAAEO
AesBEwEAAQ4BSwJZBVgFWQFSAUsBIgYOAQABDgFtAfQCAAGSAgABEwEHAeoB7GcAAZICAAENAWYBbAG6
AZEBbAEQAQ4BZQGzAdoBuQHrAf8B8wIOARoGmgFEAf8TAAHxAW0B8QHvAuwBbQHrAewB9wG8AesBEQES
AW0C7AHtBPcCkgHsARQB7AHzAf8B9AHsARUBbQXtAesBEgG8AfEB7AHqAe8B8gEHARIB8g0AAfQBEAIA
AeoBBwEVAQABDgEpAVIBWAFZAlgCWQJYAVIBSwEiBQ4BAAEPAewBBwHxAf8DAAFtAgAB7AHvARIB72YA
Af8BEwEAAQ4BugFsAboE4QG0AWYBkAHaAZABBwEAAf8B7AEAAesFmgF5AW0B/xMAAfEBbQHxAe8C7AHr
AW0B6wH3AQcBbQERARMB6gHrAuwBkgX3AewCDwHsAQcB9wHrAuwD6wNtARIBFQFDARMB7AEHAfMB7QFt
AfQNAAH/ARUCAAHqAQcB6wETAREBAAEOASkBSwFRAVIBUQFLASkBIgUOAQABDgEAAesB9AYAAfQBEAIA
AvcBFQHwZgAB9AEPAQABbAG5AQ0B9wGRAbsBCQLhAegBbAGQAWwB8wIAAfIBAAEOAZkEmgFRAe8RAAP/
AfEBbQHxAe8B7QHsAesCbQGSAe8BbQEUAeoB6wHsAe0BkgH3A+8BBwHvAeoBDwEAAQ8BbQHsAe8BBwLv
AvcC7QTsAZIBvAHzAQcB6gHwAf8OAAFtAgABFAH3Ae8B7AH0AZIBEQEOAQACDgEAAg4DAAEOAQ8BFAFt
AQ8BkgH/BwAB8AIAARABBwHtAUMB82YAAfQBDwEAAWsBswENAWwBigGLAmwBkQLhAUMBbQH/AgAB/wHq
AQAB6wSaAUoB8w0AAf8C9AHzAfACvAHtAW0B8wHvAe0C7AJtAfcB7AEUARUBFAISAeoBbQHrAuwB7QGS
AesBEwESAQ4BEgHvAQcDvALwBPIB8QHwAfEC8gH3AeoBvAH/DwABBwIAAQ8B7AG8ARQB8wEAAf8B8AHv
AvcB7wHqAQ4CAAFDAW0B7wG8ARQBDgHtAfQGAAH/AW0CAAFtAQcBbQESAf9mAAH/AesBAAEOAbQBFAG6
AdoB2wG6AYsBkAFmAZIB6wHtBAAB8QEAAQ4BmQOaAW0B/wwAAf8B8QFtAesB7ARtAe8B8gH3Ae0C7AFt
AewBkgESAesBBwHvAfcB7QLsAm0B6gESARMBEAHsAW0BDwEUA+oCbQHrAuwB7QH3Au8BBwHvAewB6gFt
AfAB/xAAAfQBDwIAAW0B7wHtAesB/wMAAf8B8AESAQ4BAAEPARIB7AEHAe8BEQESAewBEwFDAe8B9AMA
Af8BBwEOAQABDgEHAZIBFAEHaAAB8wEUAQABEAGRAmwBugGQAboB2wHaAWwBQwHxBAAB/wFtAQAB6wKa
AXkB7A0AAf8BvAETAe8B8AO8AgcB7wH3Ae0C7AHtAe8B7AHqAfIF/wT0AfMB7AEQAuwBBwG8Au8B9wHt
AuwB6wFtAeoBEgITARQBEwHrAe8B8wH/EQAB/wHtAgABEAHsAQcBbQHqAbwB8QGSARUCAAEPARMB7AHv
AbwB7AIOAZIBvAGSAW0BFQERAewBvAEHAesBDgEAAQ4B7QHvAesBFQH0aQAB9AHsAQABDgFsAboBkAFs
AegC2gGzARUB/wUAAfEBAAEOAZkBmgFRAfEOAAH/Ae8B7QHzAfIBvAIHAe8C9wLtAe8BvAHtAW0B8AH/
CAAB/wHxARIBQwETAfAJ/wL0AvMC8gHzA/8TAAH0ARUCAAEUAewBBwHvARIBQwIQARUBbQHsAZIBvAHv
ARUBEwEQAQABDgESAgcB7QHrAeoBEQIQARUBbQLvAewBEQG8awAB/wHxAewBDwEAARUBbAGQAYsBbAHr
AfQGAAH/AW0BAAHrAZoBSgH0DwAB/wGSAe0B8wHxAgcC7wH3Ae8BvAHzAe8BbQHwAf8IAAH/AfMC7AEV
AZIB/w0AAv8YAAHyARACAAEUAewBkgIHAe8B7AHtAe8BBwHvARMBFQG8Af8B8wFtAQ4BAAEPAW0B7wEH
AfcC7QMHAe0B6wERAfcB/2sAAf8CAAL0AfADvAH0Af8IAAHxAg4BmQHqAf8QAAH0Ae0B7AHyAfMB8gLx
AfIB8wHxAfcBbQHwAf8JAAH0AewBbQHsAesB9CkAAfMBEwIAAQ8BEgFtAesBBwHvAfcB7AIVAQcB/wMA
Af8B8QFtAQ4BAAEOARQB7AH3AQcB9wHrAeoBFAEQAQcB/38AAf8B7wLqAfIRAAH/AfQB9wFtAe0E7wHt
AeoB6wHwAf8JAAH/AfMBEwEUAesB8QH/KgAB/wEHARIBDwIOAQ8BEAIPAW0BvAH/BwAB/wHzAe8BFAMO
AQ8BEAEOARAB6wHymQAB/wG8Ae0C7ALrAewBBwH0Af8LAAH/AfEB7AEHAf8tAAH/AfQB8QG8AQcB8AHx
AfQB/wwAAf8B9AHxAbwBBwG8AfIB9JwAAv8E9AL/DgAD//8A/wD/AKEAAUIBTQE+BwABPgMAASgEAAEB
AgABQAMAAQEBAAEBBgABCBYAA/8BAAv/Af4BAAEfCv8IAAv/AfwBAAEBCv8IAAv/AfgCAAr/CAAL/wH4
AgABfwn/CAAL/wH4AgABHwP/AQAB/wH4AQcC/wgAA/8B4AEABv8BwAIAAQ8C/wH8AQABHwHAAQAC/wgA
A/8BgAEAAUABPwP/Af4DAAEHAv8B+AEAAQcCAAF/Af8IAAL/Af4DAAEPA/8B+AMAAQMC/wHwBAABPwH/
CAAC/wHgAwABDwP/AcADAAEBAv8B4AQAAT8B/wgAAv8BgAMAAQcC/wH+BQAC/wHABAABHwH/CAAB/wH8
BAABBwL/AfgFAAL/AcABHAEAAQEBwAEfAf8IAAH/AfAEAAEDAv8B4AUAAX8B/wHAAT8BAAEHAeABDwH/
CAAB/wHgBAABAwL/AcAFAAE/Af8BwAE/AYACAAEPAf8IAAH/AcAEAAEDAv8BgAUAAR8B/wGAAX8DAAEP
Af8IAAH/BQABAwL/BgABHwH/AYABfgMAAQ8B/wgAAf8FAAEHAf8B/gYAAQ8B/wGAAXwDAAEPAf8IAAH+
BQABBwH/AfwGAAEPAf8BgAF4AwABBwH/CAAB/AUAAQcB/wH4BgABAwH/AYAEAAEDAf8IAAH4BQABBwH/
AfgHAAH/AYAEAAEBAf8IAAH4BQABBwH/AfAHAAH/AYAEAAEBAf8IAAH4BQABDwH/AfAHAAH/BgAB/wgA
AfgFAAEPAf8B4AQAARACAAH8BgAB/wgAAfAFAAEfAf8B4AQAATACAAH4BgABfwgAAfAFAAEfAf8B4AQA
AWABAAEBAeAGAAE/CAAB8AUAAR8B/wHgBAABQAEAAQEBwAYAAR8IAAHwBQABPwH/AeAEAAFAAQABAwGA
BgABDwgAAfAFAAE/Af8B4AYAAQMBgAYAAQcIAAH4BQABPwH/AeAGAAEDBwABBwgAAfgFAAE/Af8B8AYA
AQMHAAEDCAAB+AUAAT8B/wHwBgABBwYAAQwBAwgAAf4FAAF/Af8B+AYAAQcGAAE8AQMIAAH+BQABfwH/
AfwGAAEPBgABPgEDCAAB/wUAAR8B/wH+BgABHwYAAT4BAwgAAf8FAAEHAf8B/gYAAR8GAAE8AQMIAAH/
BQABAwH/Af4DAAEDAgABPwYAATwBAwgAAf8BgAUAAv8DAAEHAgAB/wYAARgBAwgAAf8BgAUAAX8B/wMA
AQ8BAAEBAf8GAAEQAQcIAAH/AcAFAAEfAf8BgAIAAR8BAAEDAf8BgAYAAQcIAAH/AeAFAAEfAf8BwAIA
AT4BAAEDAf8BwAYAAQ8IAAH/AfAFAAEfAf8DAAF+AQABBwH/AcAGAAEfCAAB/wHwAQABCAMAAR8B/AIA
AQEB/AEAAQcB/wHgBgABPwgAAf8B/QH/AfgDAAE/AfgCAAEfAfgBAAEDAf8B+AYAAf8IAAP/AfgDAAE/
AfABAAEDAf8B+AIAAf8B/AUAAQEB/wgAA/8B8AMAAT8B4AEAAQEB+AMAAX8B/wUAAQcB/wgAA/8B8AMA
AX8B4AYAAT8B/wGABAABDwH/CAAD/wHwAwABfwHgBgABHwH/AYAEAAEPAf8IAAP/AfADAAF/AfAGAAEP
Af8BgAMAAQgBDwH/CAAD/wHgAwAB/wH4BgABDwH/AYADAAEIAQ8B/wgAA/8B4AMAAv8B4AUAAQ8B/wGA
AwABGAEPAf8IAAP/AeADAAL/AeAFAAEPAf8BgAMAATgBDwH/CAAD/wHAAQABEAEAAv8B4AUAAQ8B/wGA
AgABAwHwAQ8B/wgAA/8BwAEAARgBAQL/BgABDwH/AcACAAEHAfABDwH/CAAD/wHAAQABGAEBAf8B8AYA
AR8B/wHAASABAAEHAeABDwH/CAAD/wHAAQABPAEBAf8B4AYAAT8B/wHAARwBAAEBAcABHwH/CAAD/wHg
AQABPAEDAf8B4AYAAX8B/wHABAABHwH/CAAD/wHwAQABPgEDAf8B8AEAAQEB/gMAAv8B4AQAAT8B/wgA
A/8B+AEAAX4BAwH/AfgBAAEDAfwBBwH/Ac8C/wHwBAABPwH/CAAD/wH7AQAB/wEDAf8B/AEAAQcB/AEP
BP8B+AEAAQcCAAF/Af8IAAb/AQcB/wH8AQABDwH4AQ8E/wH8AQABHwHAAQEC/wgACf8BAAEfAfwBHwX/
AQABfwH4AQcC/wgACf8BgAF/Af4BPwv/CAAY/wgAGP8IABj/CAAL
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="button54.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
YII=
</value>
</data>
<data name="button53.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
8VQhBns3AAAAAElFTkSuQmCC
</value>
</data>
<data name="button52.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
kl4EAAAAAElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAAAAAAAEAIADtggAAZgAAAICAAAABACAAKAgBAFODAABAQAAAAQAgAChCAAB7iwEAMDAAAAEA

View File

@ -8,5 +8,6 @@ namespace NovetusLauncher
{
class LocalVars
{
public static int Clicks = 0;
}
}

View File

@ -67,6 +67,7 @@ namespace NovetusLauncher
this.panel2 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.button35 = new System.Windows.Forms.Button();
this.tabControl1 = new TabControlWithoutHeader();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.label2 = new System.Windows.Forms.Label();
@ -121,12 +122,14 @@ namespace NovetusLauncher
this.tabPage8 = new System.Windows.Forms.TabPage();
this.richTextBox2 = new System.Windows.Forms.RichTextBox();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.checkBox5 = new System.Windows.Forms.CheckBox();
this.label3 = new System.Windows.Forms.Label();
this.richTextBox3 = new System.Windows.Forms.RichTextBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.label18 = new System.Windows.Forms.Label();
this.button26 = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
@ -156,7 +159,7 @@ namespace NovetusLauncher
// button25
//
this.button25.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button25.Location = new System.Drawing.Point(285, 3);
this.button25.Location = new System.Drawing.Point(278, 3);
this.button25.Name = "button25";
this.button25.Size = new System.Drawing.Size(75, 20);
this.button25.TabIndex = 56;
@ -167,7 +170,7 @@ namespace NovetusLauncher
// button21
//
this.button21.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button21.Location = new System.Drawing.Point(366, 3);
this.button21.Location = new System.Drawing.Point(356, 3);
this.button21.Name = "button21";
this.button21.Size = new System.Drawing.Size(128, 20);
this.button21.TabIndex = 44;
@ -238,7 +241,7 @@ namespace NovetusLauncher
this.button8.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button8.Location = new System.Drawing.Point(3, 3);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(102, 20);
this.button8.Size = new System.Drawing.Size(104, 20);
this.button8.TabIndex = 35;
this.button8.Text = "Customize Character";
this.button8.UseVisualStyleBackColor = true;
@ -247,11 +250,11 @@ namespace NovetusLauncher
// button3
//
this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button3.Location = new System.Drawing.Point(111, 3);
this.button3.Location = new System.Drawing.Point(113, 3);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(94, 20);
this.button3.Size = new System.Drawing.Size(81, 20);
this.button3.TabIndex = 6;
this.button3.Text = "Launch Studio";
this.button3.Text = "Studio with Map";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.Button3Click);
//
@ -267,7 +270,7 @@ namespace NovetusLauncher
//
this.label26.Location = new System.Drawing.Point(341, 10);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(396, 13);
this.label26.Size = new System.Drawing.Size(391, 13);
this.label26.TabIndex = 17;
this.label26.Text = "2009E";
//
@ -284,7 +287,7 @@ namespace NovetusLauncher
this.label28.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label28.Location = new System.Drawing.Point(329, 25);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(408, 11);
this.label28.Size = new System.Drawing.Size(403, 11);
this.label28.TabIndex = 19;
this.label28.Text = "Baseplate.rbxl";
//
@ -424,11 +427,11 @@ namespace NovetusLauncher
// button34
//
this.button34.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button34.Location = new System.Drawing.Point(211, 3);
this.button34.Location = new System.Drawing.Point(241, 3);
this.button34.Name = "button34";
this.button34.Size = new System.Drawing.Size(68, 20);
this.button34.Size = new System.Drawing.Size(34, 20);
this.button34.TabIndex = 60;
this.button34.Text = "Launch SDK";
this.button34.Text = "SDK";
this.button34.UseVisualStyleBackColor = true;
this.button34.Click += new System.EventHandler(this.button34_Click);
//
@ -460,6 +463,7 @@ namespace NovetusLauncher
// 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);
@ -470,6 +474,17 @@ namespace NovetusLauncher
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(197, 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);
//
// tabControl1
//
this.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Bottom;
@ -1056,15 +1071,14 @@ namespace NovetusLauncher
//
// richTextBox1
//
this.richTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
this.richTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.richTextBox1.BackColor = System.Drawing.SystemColors.ControlText;
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.richTextBox1.ForeColor = System.Drawing.Color.White;
this.richTextBox1.Location = new System.Drawing.Point(3, 3);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(638, 262);
this.richTextBox1.Size = new System.Drawing.Size(616, 256);
this.richTextBox1.TabIndex = 2;
this.richTextBox1.Text = "";
this.richTextBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.richTextBox1_KeyDown);
@ -1082,26 +1096,27 @@ namespace NovetusLauncher
//
// richTextBox2
//
this.richTextBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
this.richTextBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.richTextBox2.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.richTextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.richTextBox2.Location = new System.Drawing.Point(3, 3);
this.richTextBox2.Name = "richTextBox2";
this.richTextBox2.ReadOnly = true;
this.richTextBox2.Size = new System.Drawing.Size(619, 259);
this.richTextBox2.Size = new System.Drawing.Size(616, 256);
this.richTextBox2.TabIndex = 2;
this.richTextBox2.Text = "";
//
// tabPage5
//
this.tabPage5.Controls.Add(this.checkBox5);
this.tabPage5.Controls.Add(this.label3);
this.tabPage5.Controls.Add(this.richTextBox3);
this.tabPage5.Controls.Add(this.checkBox2);
this.tabPage5.Controls.Add(this.label18);
this.tabPage5.Controls.Add(this.button26);
this.tabPage5.Controls.Add(this.label7);
this.tabPage5.Controls.Add(this.label10);
this.tabPage5.Controls.Add(this.label9);
this.tabPage5.Controls.Add(this.label6);
this.tabPage5.Controls.Add(this.label5);
this.tabPage5.Controls.Add(this.label8);
@ -1116,12 +1131,44 @@ namespace NovetusLauncher
this.tabPage5.Text = "SETTINGS";
this.tabPage5.UseVisualStyleBackColor = true;
//
// checkBox5
//
this.checkBox5.AutoSize = true;
this.checkBox5.Checked = true;
this.checkBox5.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox5.Location = new System.Drawing.Point(429, 7);
this.checkBox5.Name = "checkBox5";
this.checkBox5.Size = new System.Drawing.Size(107, 17);
this.checkBox5.TabIndex = 62;
this.checkBox5.Text = "Toggle ReShade";
this.checkBox5.UseVisualStyleBackColor = true;
this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged);
//
// label3
//
this.label3.Location = new System.Drawing.Point(119, 228);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(98, 32);
this.label3.TabIndex = 61;
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// richTextBox3
//
this.richTextBox3.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.richTextBox3.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.richTextBox3.Location = new System.Drawing.Point(6, 129);
this.richTextBox3.Name = "richTextBox3";
this.richTextBox3.ReadOnly = true;
this.richTextBox3.Size = new System.Drawing.Size(611, 96);
this.richTextBox3.TabIndex = 60;
this.richTextBox3.Text = "";
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Checked = true;
this.checkBox2.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox2.Location = new System.Drawing.Point(251, 7);
this.checkBox2.Location = new System.Drawing.Point(204, 7);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(135, 17);
this.checkBox2.TabIndex = 59;
@ -1140,21 +1187,22 @@ namespace NovetusLauncher
//
// button26
//
this.button26.Location = new System.Drawing.Point(251, 28);
this.button26.Location = new System.Drawing.Point(204, 27);
this.button26.Name = "button26";
this.button26.Size = new System.Drawing.Size(77, 21);
this.button26.Size = new System.Drawing.Size(124, 21);
this.button26.TabIndex = 57;
this.button26.Text = "Clear Cache";
this.button26.Text = "Clear Asset Cache";
this.button26.UseVisualStyleBackColor = true;
this.button26.Click += new System.EventHandler(this.button26_Click);
//
// label7
//
this.label7.Location = new System.Drawing.Point(497, 237);
this.label7.Location = new System.Drawing.Point(464, 237);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(121, 16);
this.label7.Size = new System.Drawing.Size(153, 16);
this.label7.TabIndex = 54;
this.label7.Text = "PROJECT STARLIGHT";
this.label7.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label10
//
@ -1164,16 +1212,6 @@ namespace NovetusLauncher
this.label10.Size = new System.Drawing.Size(612, 2);
this.label10.TabIndex = 53;
//
// label9
//
this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label9.Location = new System.Drawing.Point(6, 112);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(612, 125);
this.label9.TabIndex = 51;
this.label9.Text = resources.GetString("label9.Text");
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.Location = new System.Drawing.Point(266, 57);
@ -1196,15 +1234,16 @@ namespace NovetusLauncher
//
this.label8.Location = new System.Drawing.Point(8, 237);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(99, 16);
this.label8.Size = new System.Drawing.Size(122, 16);
this.label8.TabIndex = 48;
this.label8.Text = "0.13333337";
this.label8.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.label8.Click += new System.EventHandler(this.label8_Click);
//
// button9
//
this.button9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button9.Location = new System.Drawing.Point(152, 28);
this.button9.Location = new System.Drawing.Point(105, 27);
this.button9.Name = "button9";
this.button9.Size = new System.Drawing.Size(93, 21);
this.button9.TabIndex = 37;
@ -1214,7 +1253,7 @@ namespace NovetusLauncher
//
// checkBox3
//
this.checkBox3.Location = new System.Drawing.Point(392, 6);
this.checkBox3.Location = new System.Drawing.Point(345, 6);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(77, 19);
this.checkBox3.TabIndex = 22;
@ -1238,7 +1277,7 @@ namespace NovetusLauncher
// button5
//
this.button5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button5.Location = new System.Drawing.Point(152, 3);
this.button5.Location = new System.Drawing.Point(105, 3);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(93, 22);
this.button5.TabIndex = 10;
@ -1358,7 +1397,6 @@ namespace NovetusLauncher
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
@ -1393,5 +1431,9 @@ namespace NovetusLauncher
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.RichTextBox richTextBox3;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button button35;
private System.Windows.Forms.CheckBox checkBox5;
}
}

View File

@ -355,7 +355,7 @@ namespace NovetusLauncher
return;
WriteConfigValues();
StartStudio();
StartStudio(false);
if (GlobalVars.CloseOnLaunch == true)
{
this.Visible = false;
@ -365,7 +365,21 @@ namespace NovetusLauncher
void MainFormLoad(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(GlobalVars.ConfigDir + "\\info.txt"); //File is in System.IO
string version = lines[0].Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString());
GlobalVars.IsSnapshot = Convert.ToBoolean(lines[5]);
if (GlobalVars.IsSnapshot == true)
{
GlobalVars.Version = lines[6].Replace("%version%", lines[0]).Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString()).Replace("%revision%", Assembly.GetExecutingAssembly().GetName().Version.Revision.ToString());
string[] changelogedit = File.ReadAllLines(GlobalVars.BasePath + "\\changelog.txt");
if (!changelogedit[0].Equals(GlobalVars.Version))
{
changelogedit[0] = GlobalVars.Version;
File.WriteAllLines(GlobalVars.BasePath + "\\changelog.txt", changelogedit);
}
}
else
{
GlobalVars.Version = lines[0];
}
GlobalVars.DefaultClient = lines[1];
GlobalVars.DefaultMap = lines[2];
GlobalVars.RegisterClient1 = lines[3];
@ -374,8 +388,8 @@ namespace NovetusLauncher
GlobalVars.Map = GlobalVars.DefaultMap;
GlobalVars.MapPath = GlobalVars.MapsDir + @"\\" + GlobalVars.DefaultMap;
GlobalVars.MapPathSnip = GlobalVars.MapsDirBase + @"\\" + GlobalVars.DefaultMap;
this.Text = "Novetus " + version;
ConsolePrint("Novetus version " + version + " loaded. Initializing config.", 4);
this.Text = "Novetus " + GlobalVars.Version;
ConsolePrint("Novetus version " + GlobalVars.Version + " loaded. Initializing config.", 4);
if (File.Exists("changelog.txt"))
{
richTextBox2.Text = File.ReadAllText("changelog.txt");
@ -384,24 +398,33 @@ namespace NovetusLauncher
{
ConsolePrint("ERROR 4 - changelog.txt not found.", 2);
}
if (!File.Exists(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName))
if (File.Exists("credits.txt"))
{
richTextBox3.Text = File.ReadAllText("credits.txt");
}
else
{
ConsolePrint("ERROR - credits.txt not found.", 2);
}
if (!File.Exists(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName))
{
ConsolePrint("WARNING 1 - " + GlobalVars.ConfigName + " not found. Creating one with default values.", 5);
ConsolePrint("WARNING - " + GlobalVars.ConfigName + " not found. Creating one with default values.", 5);
WriteConfigValues();
}
if (!File.Exists(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization))
{
ConsolePrint("WARNING 2 - " + GlobalVars.ConfigNameCustomization + " not found. Creating one with default values.", 5);
ConsolePrint("WARNING - " + GlobalVars.ConfigNameCustomization + " not found. Creating one with default values.", 5);
WriteCustomizationValues();
}
if (!File.Exists(GlobalVars.ConfigDir + "\\servers.txt"))
{
ConsolePrint("WARNING 3 - servers.txt not found. Creating empty file.", 5);
ConsolePrint("WARNING - servers.txt not found. Creating empty file.", 5);
File.Create(GlobalVars.ConfigDir + "\\servers.txt").Dispose();
}
if (!File.Exists(GlobalVars.ConfigDir + "\\ports.txt"))
{
ConsolePrint("WARNING 4 - ports.txt not found. Creating empty file.", 5);
ConsolePrint("WARNING - ports.txt not found. Creating empty file.", 5);
File.Create(GlobalVars.ConfigDir + "\\ports.txt").Dispose();
}
@ -433,8 +456,7 @@ namespace NovetusLauncher
label5.Text = GlobalVars.BasePath;
label8.Text = Application.ProductVersion;
GlobalVars.important = SecurityFuncs.CalculateMD5(Assembly.GetExecutingAssembly().Location);
label11.Text = version;
GlobalVars.Version = version;
label11.Text = GlobalVars.Version;
label12.Text = SplashReader.GetSplash();
@ -462,7 +484,7 @@ namespace NovetusLauncher
void ReadConfigValues()
{
LauncherFuncs.ReadConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
LauncherFuncs.Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, false);
checkBox1.Checked = GlobalVars.CloseOnLaunch;
textBox5.Text = GlobalVars.UserID.ToString();
@ -481,19 +503,20 @@ namespace NovetusLauncher
label38.Text = GlobalVars.RobloxPort.ToString();
checkBox4.Checked = GlobalVars.UPnP;
checkBox2.Checked = GlobalVars.DiscordPresence;
ConsolePrint("Config loaded.", 3);
checkBox5.Checked = GlobalVars.ReShade;
ConsolePrint("Config loaded.", 3);
ReadClientValues(GlobalVars.SelectedClient);
}
void WriteConfigValues()
{
LauncherFuncs.WriteConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
ConsolePrint("Config Saved.", 3);
LauncherFuncs.Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, true);
ConsolePrint("Config Saved.", 3);
}
void WriteCustomizationValues()
{
LauncherFuncs.WriteCustomizationValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization);
LauncherFuncs.Customization(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigNameCustomization, true);
ConsolePrint("Config Saved.", 3);
}
@ -813,8 +836,12 @@ namespace NovetusLauncher
{
richTextBox1.AppendText(text, Color.Yellow);
}
richTextBox1.AppendText(Environment.NewLine);
else if (type == 6)
{
richTextBox1.AppendText(text, Color.Salmon);
}
richTextBox1.AppendText(Environment.NewLine);
}
string GetLuaFileName()
@ -854,6 +881,7 @@ namespace NovetusLauncher
rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp_studio.exe";
break;
case ScriptGenerator.ScriptType.Solo:
case ScriptGenerator.ScriptType.EasterEgg:
rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp_solo.exe";
break;
case ScriptGenerator.ScriptType.None:
@ -1057,11 +1085,11 @@ namespace NovetusLauncher
}
}
void StartStudio()
void StartStudio(bool nomap)
{
string luafile = GetLuaFileName();
string rbxexe = GetClientEXEDir(ScriptGenerator.ScriptType.Studio);
string mapfile = GlobalVars.MapPath;
string mapfile = (nomap ? "" : GlobalVars.MapPath);
string quote = "\"";
string args = "";
if (GlobalVars.CustomArgs.Equals("%args%"))
@ -1138,9 +1166,17 @@ namespace NovetusLauncher
}
else if (string.Compare(command,"studio",true, CultureInfo.InvariantCulture) == 0)
{
StartStudio();
StartStudio(false);
}
else if (string.Compare(command,"config save",true, CultureInfo.InvariantCulture) == 0)
else if (string.Compare(command, "studio map", true, CultureInfo.InvariantCulture) == 0)
{
StartStudio(false);
}
else if (string.Compare(command, "studio nomap", true, CultureInfo.InvariantCulture) == 0)
{
StartStudio(true);
}
else if (string.Compare(command,"config save",true, CultureInfo.InvariantCulture) == 0)
{
WriteConfigValues();
}
@ -1658,5 +1694,116 @@ namespace NovetusLauncher
{
LoadLauncher();
}
private void label8_Click(object sender, EventArgs e)
{
if (LocalVars.Clicks < 10)
{
LocalVars.Clicks += 1;
if (LocalVars.Clicks == 1)
{
label3.Text = "Hi!";
}
else if (LocalVars.Clicks == 3)
{
label3.Text = "How are you doing today?";
}
else if (LocalVars.Clicks == 6)
{
label3.Text = "I just wanted to say something.";
}
else if (LocalVars.Clicks == 9)
{
label3.Text = "Just wait a little on the last click, OK?";
}
else if (LocalVars.Clicks == 10)
{
//EASTER EGG owo
StartEasterEgg();
}
}
}
void StartEasterEgg()
{
label3.Text = "<3";
string luafile = GetLuaFileName();
string rbxexe = GetClientEXEDir(ScriptGenerator.ScriptType.EasterEgg);
string mapfile = GlobalVars.ConfigDir + "\\Appreciation.rbxl";
string quote = "\"";
string args = "";
if (GlobalVars.CustomArgs.Equals("%args%"))
{
if (!GlobalVars.FixScriptMapMode)
{
args = quote + mapfile + "\" -script \"dofile('" + luafile + "'); " + ScriptGenerator.GetScriptFuncForType(ScriptGenerator.ScriptType.EasterEgg, GlobalVars.SelectedClient) + quote;
}
else
{
ScriptGenerator.GenerateScriptForClient(ScriptGenerator.ScriptType.EasterEgg, GlobalVars.SelectedClient);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ClientScript.CompileScript(GlobalVars.CustomArgs, "<solo>", "</solo>", mapfile, luafile, rbxexe);
}
try
{
ConsolePrint("Easter Egg Loaded.", 6);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.SelectedClient);
client.Exited += new EventHandler(EasterEggExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptGenerator.ScriptType.EasterEgg);
LauncherFuncs.UpdateRichPresence(LauncherFuncs.LauncherState.InEasterEggGame);
}
catch (Exception ex) when (!Env.Debugging)
{
ConsolePrint("ERROR 2 - Failed to launch Easter Egg. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Easter Egg. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void EasterEggExited(object sender, EventArgs e)
{
LauncherFuncs.UpdateRichPresence(LauncherFuncs.LauncherState.InLauncher);
label3.Text = "";
if (GlobalVars.CloseOnLaunch == true)
{
this.Visible = true;
}
}
private void button35_Click(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.", "Novetus - Launch ROBLOX Studio", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (result == DialogResult.Cancel)
return;
WriteConfigValues();
StartStudio(true);
if (GlobalVars.CloseOnLaunch == true)
{
this.Visible = false;
}
}
private void checkBox5_CheckedChanged(object sender, EventArgs e)
{
if (checkBox5.Checked == true)
{
GlobalVars.ReShade = true;
}
else if (checkBox5.Checked == false)
{
GlobalVars.ReShade = false;
}
}
}
}

View File

@ -19624,10 +19624,6 @@
</value>
</data>
<data name="label9.Text" xml:space="preserve">
<value>ROBLOX and the ROBLOX Clients were made by the ROBLOX Corporation. The ROBLOX Corporation does not support or endorse the creation of Novetus. Bitl is not affiliated with the ROBLOX Corporation or its subsidiaries. Bitl does not own any of the content included with Novetus. LUA scripts were used to build a client that can connect to LAN and the Internet. The LUA scripts used were borrowed from the RBXPri client and modified for this project. All credit for the LUA code included with the RBXPri client goes to the RBXPri team. All credit for the LUA code used with "non-modern" clients goes to Scripter John and EnergyCell. All credit for the LUA code used for character customization goes to RBXBanLand.
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -24,4 +24,4 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion ("1.0.*")]
[assembly: AssemblyVersion ("2.0.*")]

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -78,11 +78,11 @@ namespace NovetusLauncher
string cfgpath = GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName;
if (!File.Exists(cfgpath))
{
LauncherFuncs.WriteConfigValues(cfgpath);
LauncherFuncs.Config(cfgpath, true);
}
else
{
LauncherFuncs.ReadConfigValues(cfgpath);
LauncherFuncs.Config(cfgpath, false);
}
if (GlobalVars.AdminMode == true)

View File

@ -111,11 +111,11 @@ namespace NovetusLauncher
string cfgpath = GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName;
if (!File.Exists(cfgpath))
{
LauncherFuncs.WriteConfigValues(cfgpath);
LauncherFuncs.Config(cfgpath, true);
}
else
{
LauncherFuncs.ReadConfigValues(cfgpath);
LauncherFuncs.Config(cfgpath, false);
}
comboBox1.SelectedItem = "http://www.roblox.com/";
@ -133,7 +133,7 @@ namespace NovetusLauncher
void ItemMakerClose(object sender, CancelEventArgs e)
{
LauncherFuncs.WriteConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
LauncherFuncs.Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, true);
}
void CheckBox1CheckedChanged(object sender, EventArgs e)

View File

@ -34,10 +34,23 @@ namespace NovetusLauncher
private void NovetusSDK_Load(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(GlobalVars.ConfigDir + "\\info.txt"); //File is in System.IO
string version = lines[0].Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString());
Text = "Novetus SDK " + version;
label1.Text = version;
GlobalVars.Version = version;
GlobalVars.IsSnapshot = Convert.ToBoolean(lines[5]);
if (GlobalVars.IsSnapshot == true)
{
GlobalVars.Version = lines[6].Replace("%version%", lines[0]).Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString()).Replace("%revision%", Assembly.GetExecutingAssembly().GetName().Version.Revision.ToString());
string[] changelogedit = File.ReadAllLines(GlobalVars.BasePath + "\\changelog.txt");
if (!changelogedit[0].Equals(GlobalVars.Version))
{
changelogedit[0] = GlobalVars.Version;
File.WriteAllLines(GlobalVars.BasePath + "\\changelog.txt", changelogedit);
}
}
else
{
GlobalVars.Version = lines[0];
}
Text = "Novetus SDK " + GlobalVars.Version;
label1.Text = GlobalVars.Version;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

View File

@ -33,6 +33,7 @@
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label4 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
@ -49,7 +50,7 @@
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(47, 60);
this.label1.Location = new System.Drawing.Point(48, 74);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(167, 13);
this.label1.TabIndex = 1;
@ -86,11 +87,21 @@
0,
0});
//
// label4
//
this.label4.Location = new System.Drawing.Point(12, 60);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(239, 14);
this.label4.TabIndex = 5;
this.label4.Text = "Ready";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// Obj2MeshV1GUI
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(263, 82);
this.ClientSize = new System.Drawing.Size(263, 92);
this.Controls.Add(this.label4);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
@ -112,5 +123,6 @@
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label4;
}
}

View File

@ -31,18 +31,21 @@ namespace NovetusLauncher
private void ProcessOBJ(string EXEName, string FileName)
{
label4.Text = "Loading utility...";
Process proc = new Process();
proc.StartInfo.FileName = EXEName;
proc.StartInfo.Arguments = "-f " + FileName + " -v " + numericUpDown1.Value;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.EnableRaisingEvents = true;
proc.Exited += new EventHandler(OBJ2MeshV1Exited);
proc.Start();
label4.Text = "Converting OBJ to ROBLOX Mesh v" + numericUpDown1.Value + "...";
}
void OBJ2MeshV1Exited(object sender, EventArgs e)
{
label4.Text = "Ready";
string properName = Path.GetFileName(openFileDialog1.FileName) + ".mesh";
MessageBox.Show("File " + properName + " created!");
}

View File

@ -62,7 +62,21 @@ namespace NovetusLauncher
void LoaderFormLoad(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(GlobalVars.ConfigDir + "\\info.txt");
GlobalVars.Version = lines[0].Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString());
GlobalVars.IsSnapshot = Convert.ToBoolean(lines[5]);
if (GlobalVars.IsSnapshot == true)
{
GlobalVars.Version = lines[6].Replace("%version%", lines[0]).Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString()).Replace("%revision%", Assembly.GetExecutingAssembly().GetName().Version.Revision.ToString());
string[] changelogedit = File.ReadAllLines(GlobalVars.BasePath + "\\changelog.txt");
if (!changelogedit[0].Equals(GlobalVars.Version))
{
changelogedit[0] = GlobalVars.Version;
File.WriteAllLines(GlobalVars.BasePath + "\\changelog.txt", changelogedit);
}
}
else
{
GlobalVars.Version = lines[0];
}
GlobalVars.DefaultClient = lines[1];
GlobalVars.DefaultMap = lines[2];
GlobalVars.RegisterClient1 = lines[3];

View File

@ -36,7 +36,7 @@ namespace NovetusLauncher
string cfgpath = GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName;
if (!File.Exists(cfgpath))
{
LauncherFuncs.WriteConfigValues(cfgpath);
LauncherFuncs.Config(cfgpath, true);
}
else
{
@ -51,7 +51,7 @@ namespace NovetusLauncher
void ReadConfigValues(string cfgpath)
{
LauncherFuncs.ReadConfigValues(cfgpath);
LauncherFuncs.Config(cfgpath, false);
textBox2.Text = GlobalVars.UserID.ToString();
label3.Text = GlobalVars.PlayerTripcode.ToString();
textBox1.Text = GlobalVars.PlayerName;
@ -101,7 +101,7 @@ namespace NovetusLauncher
void QuickConfigureClose(object sender, CancelEventArgs e)
{
LauncherFuncs.WriteConfigValues(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName);
LauncherFuncs.Config(GlobalVars.ConfigDir + "\\" + GlobalVars.ConfigName, true);
GlobalVars.ReadyToLaunch = true;
}
}